이하, 본 발명의 실시 형태에 대하여 도면을 사용하여 설명한다. 또한, 이하에서는, 작업 장치의 선단의 작업구(어태치먼트)로서 버킷(10)을 구비하는 유압 셔블을 예시하지만, 버킷 이외의 어태치먼트를 구비하는 작업 기계에서 본 발명을 적용해도 상관없다. 또한, 복수의 프론트 부재(어태치먼트, 암, 붐 등)를 연결하여 구성되는 다관절형 작업 장치를 갖는 것이라면 유압 셔블 이외의 작업 기계로의 적용도 가능하다.
또한, 본고에서는, 어떠한 형상을 나타내는 용어(예를 들어, 목표면, 설계면 등)와 함께 사용되는 「상」, 「상방」 또는 「하방」이라고 하는 단어의 의미에 관하여, 「상」은 당해 어떠한 형상의 「표면」을 의미하고, 「상방」은 당해 어떠한 형상의 「표면보다 높은 위치」를 의미하고, 「하방」은 당해 어떠한 형상의 「표면보다 낮은 위치」를 의미하는 것으로 한다. 또한, 이하의 설명에서는, 동일한 구성 요소가 복수 존재하는 경우, 부호(숫자)의 말미에 알파벳을 부여하는 경우가 있는데, 당해 알파벳을 생략하고 당해 복수의 구성 요소를 통합하여 표기하는 경우가 있다. 예를 들어, 2개의 펌프(2a, 2b)가 존재할 때, 이들을 통합하여 펌프(2)라고 표기하는 경우가 있다.
<기본 구성>
도 1은, 본 발명의 실시 형태에 관한 유압 셔블의 구성도이고, 도 2는, 본 발명의 실시 형태에 관한 유압 셔블의 제어 컨트롤러를 유압 구동 장치와 함께 도시하는 도면이고, 도 3은, 도 2 중의 프론트 제어용 유압 유닛(160)의 상세도이다.
도 1에 있어서, 유압 셔블(1)은, 다관절형 프론트 작업 장치(1A)와, 차체(1B)로 구성되어 있다. 차체(1B)는, 좌우의 주행 유압 모터(3a(도 2 참조), 3b)에 의해 주행하는 하부 주행체(11)와, 하부 주행체(11) 상에 설치되고, 선회 유압 모터(4)에 의해 선회하는 상부 선회체(12)로 이루어진다.
프론트 작업 장치(1A)는, 수직 방향으로 각각 회동하는 복수의 프론트 부재(붐(8), 암(9) 및 버킷(10))를 연결하여 구성되어 있다. 붐(8)의 기단부는 상부 선회체(12)의 전방부에 있어서 붐 핀을 통하여 회동 가능하게 지지되어 있다. 붐(8)의 선단에는 암 핀을 통하여 암(9)이 회동 가능하게 연결되어 있고, 암(9)의 선단에는 버킷 핀을 통하여 버킷(10)이 회동 가능하게 연결되어 있다. 이들 복수의 프론트 부재(8, 9, 10)는 복수의 유압 액추에이터인 유압 실린더(5, 6, 7)에 의해 구동된다. 구체적으로는, 붐(8)은 붐 실린더(5)에 의해 구동되고, 암(9)은 암 실린더(6)에 의해 구동되고, 버킷(10)은 버킷 실린더(7)에 의해 구동된다.
붐(8), 암(9), 버킷(10)의 자세에 관한 물리량인 회동 각도 α, β, γ(도 5 참조)를 측정 가능하도록, 붐 핀에 붐 각도 센서(30), 암 핀에 암 각도 센서(31), 버킷 링크(13)에 버킷 각도 센서(32)가 설치되고, 상부 선회체(12)에는 기준면(예를 들어 수평면)에 대한 상부 선회체(12)(차체(1B))의 경사각 θ(도 5 참조)를 검출하는 차체 경사각 센서(33)가 설치되어 있다. 또한, 본 실시 형태의 각도 센서(30, 31, 32)는 로터리 포텐시오미터이지만, 각각 기준면(예를 들어 수평면)에 대한 경사각 센서나 관성 계측 장치(IMU) 등으로 대체 가능하다.
상부 선회체(12)에 마련된 운전실 내에는, 주행 우 레버(23a)(도 1)를 갖고 주행 우 유압 모터(3a)(하부 주행체(11))를 조작하기 위한 조작 장치(47a)(도 2)와, 주행 좌 레버(23b)(도 1)를 갖고 주행 좌 유압 모터(3b)(하부 주행체(11))를 조작하기 위한 조작 장치(47b)(도 2)와, 조작 우 레버(1a)(도 1)를 공유하고 붐 실린더(5)(붐(8)) 및 버킷 실린더(7)(버킷(10))를 조작하기 위한 조작 장치(45a, 46a)(도 2)와, 조작 좌 레버(1b)(도 1)를 공유하고 암 실린더(6)(암(9)) 및 선회 유압 모터(4)(상부 선회체(12))를 조작하기 위한 조작 장치(45b, 46b)(도 2)가 설치되어 있다. 이하에서는, 주행 우 레버(23a), 주행 좌 레버(23b), 조작 우 레버(1a) 및 조작 좌 레버(1b)를 조작 레버(1, 23)라고 총칭하는 경우가 있다.
상부 선회체(12)에 탑재된 원동기인 엔진(18)은, 유압 펌프(2a, 2b)와 파일럿 펌프(48)를 구동한다. 유압 펌프(2a, 2b)는 레귤레이터(2aa, 2ba)에 의해 용량이 제어되는 가변 용량형 펌프이며, 파일럿 펌프(48)는 고정 용량형 펌프이다. 유압 펌프(2) 및 파일럿 펌프(48)는 탱크(200)로부터 작동유를 흡인한다. 본 실시 형태에 있어서는, 도 2에 도시하는 바와 같이, 파일럿 라인(144, 145, 146, 147, 148, 149)의 도중에 셔틀 블록(162)이 마련되어 있다. 조작 장치(45, 46, 47)로부터 출력된 유압 신호가, 이 셔틀 블록(162)을 통하여 레귤레이터(2aa, 2ba)에도 입력된다. 셔틀 블록(162)의 상세 구성은 생략하지만, 유압 신호가 셔틀 블록(162)을 통하여 레귤레이터(2aa, 2ba)에 입력되고, 유압 펌프(2a, 2b)의 토출 유량이 당해 유압 신호에 따라 제어된다.
파일럿 펌프(48)의 토출 배관인 펌프 라인(48a)은 로크 밸브(39)를 통한 후, 복수로 분기되어 조작 장치(45, 46, 47), 프론트 제어용 유압 유닛(160) 내의 각 밸브에 접속되어 있다. 로크 밸브(39)는 본 예에서는 전자 전환 밸브이며, 그 전자 구동부는 운전실(도 1)에 배치된 게이트 로크 레버(도시하지 않음)의 위치 검출기와 전기적으로 접속되어 있다. 게이트 로크 레버의 포지션은 위치 검출기에서 검출되고, 그 위치 검출기로부터 로크 밸브(39)에 대하여 게이트 로크 레버의 포지션에 따른 신호가 입력된다. 게이트 로크 레버의 포지션이 로크 위치에 있으면 로크 밸브(39)가 폐쇄되어 펌프 라인(48a)이 차단되고, 로크 해제 위치에 있으면 로크 밸브(39)가 개방되어 펌프 라인(48a)이 개통된다. 즉, 펌프 라인(48a)이 차단된 상태에서는 조작 장치(45, 46, 47)에 의한 조작이 무효화되고, 선회, 굴삭 등의 동작이 금지된다.
조작 장치(45, 46, 47)는, 유압 파일럿 방식의 조작 장치이며, 파일럿 펌프(48)로부터 토출되는 압유를 바탕으로, 각각 오퍼레이터에 의해 조작되는 조작 레버(1, 23)의 조작량(예를 들어, 레버 스트로크)과 조작 방향에 따른 파일럿압(조작압이라고 칭하는 경우도 있음)을 발생시킨다. 이와 같이 발생한 파일럿압은, 대응하는 유량 제어 밸브(15a 내지 15f)(도 2 또는 도 3)의 유압 구동부(150a 내지 155b)에 파일럿 라인(144a 내지 149b)(도 3 참조)을 통하여 공급되고, 이들 유량 제어 밸브(15a 내지 15f)를 구동하는 제어 신호로서 이용된다.
유압 펌프(2)로부터 토출된 압유는, 유량 제어 밸브(15a, 15b, 15c, 15d, 15e, 15f)(도 2 참조)를 통하여 주행 우 유압 모터(3a), 주행 좌 유압 모터(3b), 선회 유압 모터(4), 붐 실린더(5), 암 실린더(6), 버킷 실린더(7)에 공급된다. 공급된 압유에 의해 붐 실린더(5), 암 실린더(6), 버킷 실린더(7)가 신축하여, 붐(8), 암(9), 버킷(10)이 각각 회동하고, 버킷(10)의 위치 및 자세가 변화한다. 또한, 공급된 압유에 의해 선회 유압 모터(4)가 회전하여, 하부 주행체(11)에 대하여 상부 선회체(12)가 선회한다. 그리고, 공급된 압유에 의해 주행 우 유압 모터(3a), 주행 좌 유압 모터(3b)가 회전하여, 하부 주행체(11)가 주행한다.
유량 제어 밸브(15a, 15b, 15c, 15d, 15e, 15f)는, 각각 오픈 센터 바이패스 방식의 유량 제어 밸브이며, 스풀이 중립 위치에 있는 경우에는 작동유는 센터 바이패스 유로를 경유하여 전부 탱크(200)로 흐른다. 조작 레버(1, 23)를 조작하여 스풀을 변위시키면, 도 16에 도시하는 바와 같이 센터 바이패스 유로(블리드 오프 개구)가 조여지고 액추에이터로 통하는 유로(미터 인 개구 및 미터 아웃 개구)가 개방된다. 더 조작량을 증가시키면 센터 바이패스 유로를 경유하는 블리드 오프 유량(즉 블리드 오프 개구)이 감소함과 동시에 액추에이터로의 유량(즉 미터 인 개구 및 미터 아웃 개구)이 증가하고, 조작량에 따른 액추에이터 속도가 얻어진다. 더 조작량을 증가시키면 어떤 조작량(완전 폐쇄점 SX에 상당하는 조작량)에서 센터 바이패스 유로(블리드 오프 개구)가 완전히 폐쇄되고, 유량 제어 밸브(15)에 공급되는 작동유는 전부 대응하는 액추에이터로 흐른다. 또한, 도 2는 실제 시스템을 간략하게 표기하였으므로, 도시상 블리드 오프 유로가 탱크(200)에 접속하지 않은 유량 제어 밸브(15)도 존재하지만, 실제는 전부 오픈 센터 바이패스식 유량 제어 밸브(15)로 한다.
탱크(200)는 유압 액추에이터를 구동하기 위한 작동유의 유온을 검출하기 위한 작동 유온 검출 장치(210)를 구비하고 있다. 작동 유온 검출 장치(210)는 탱크(200) 밖에도 설치할 수 있고, 예를 들어 탱크(200)의 입구 관로 또는 출구 관로에 설치해도 된다.
도 4는, 본 실시 형태에 관한 유압 셔블이 구비하는 머신 컨트롤(MC) 시스템의 구성도이다. 도 4의 시스템은, MC로서, 조작 장치(45, 46)가 오퍼레이터에 의해 조작되었을 때, 각 유압 실린더(5, 6, 7)의 속도와 프론트 작업 장치(1A)를 미리 정해진 조건에 기초하여 제어하는 처리를 실행한다. 본고에서는 머신 컨트롤(MC)을, 조작 장치(45, 46)의 비조작 시에 작업 장치(1A)의 동작을 컴퓨터에 의해 제어하는 「자동 제어」에 대하여, 조작 장치(45, 46)의 조작 시에만 작업 장치(1A)의 동작을 컴퓨터에 의해 제어하는 「반자동 제어」라고 칭하는 경우가 있다. 다음으로 본 실시 형태에 있어서의 MC의 상세를 설명한다.
프론트 작업 장치(1A)의 MC로서는, 조작 장치(45b, 46a)를 통하여 굴삭 조작(구체적으로는, 암 크라우드, 버킷 크라우드 및 버킷 덤프 중 적어도 하나의 지시)이 입력된 경우, 목표면(60)(도 5 참조)과 작업 장치(1A)의 선단(본 실시 형태에서는 버킷(10)의 클로 끝이라고 함)의 위치 관계에 기초하여, 작업 장치(1A)의 선단의 위치가 목표면(60) 상 및 그 상방의 영역 내에 보유 지지되도록 유압 액추에이터(5, 6, 7) 중 적어도 하나를 강제적으로 동작시키는 제어 신호(예를 들어, 붐 실린더(5)를 신장해서 강제적으로 붐 상승 동작을 행함)를 해당되는 유량 제어 밸브(15a, 15b, 15c)에 출력한다.
이 MC에 의해 버킷(10)의 클로 끝이 목표면(60)의 하방에 침입하는 것이 방지되므로, 오퍼레이터의 기량 정도에 상관없이 목표면(60)을 따른 굴삭이 가능하게 된다. 또한, 본 실시 형태에서는, MC 시의 프론트 작업 장치(1A)의 제어점을, 유압 셔블의 버킷(10)의 클로 끝(작업 장치(1A)의 선단)으로 설정하고 있지만, 제어점은 작업 장치(1A)의 선단 부분의 점이라면 버킷 클로 끝 이외로도 변경 가능하다. 예를 들어, 버킷(10)의 저면이나, 버킷 링크(13)의 최외부도 선택 가능하다.
도 4의 시스템은, 작업 장치 자세 검출 장치(50)와, 목표면 설정 장치(51)와, 오퍼레이터 조작량 검출 장치(52a)와, 운전실 내에 설치되고, 목표면(60)과 작업 장치(1A)의 위치 관계가 표시 가능한 표시 장치(예를 들어 액정 디스플레이)(53)와, MC 제어를 담당하는 제어 컨트롤러(제어 장치)(40)를 구비하고 있다.
작업 장치 자세 검출 장치(자세 검출 장치)(50)는, 붐 각도 센서(30), 암 각도 센서(31), 버킷 각도 센서(32), 차체 경사각 센서(33)로 구성된다. 이들 각도 센서(30, 31, 32, 33)는 복수의 프론트 부재인 붐(8), 암(9), 버킷(10)의 자세에 관한 물리량을 검출하는 자세 센서로서 기능하고 있다.
목표면 설정 장치(51)는, 목표면(60)에 관한 정보(각 목표면의 위치 정보나 경사 각도 정보를 포함함)를 입력 가능한 인터페이스이다. 목표면 설정 장치(51)는, 글로벌 좌표계(절대 좌표계) 상에 규정된 목표면의 3차원 데이터를 저장한 외부 단말기(도시하지 않음)와 접속되어 있다. 또한, 목표면 설정 장치(51)를 통한 목표면의 입력은, 오퍼레이터가 수동으로 행해도 된다.
오퍼레이터 조작량 검출 장치(조작량 검출 장치)(52a)는, 오퍼레이터에 의한 조작 레버(1a, 1b)(조작 장치(45a, 45b, 46a))의 조작에 의해 파일럿 라인(144, 145, 146)에 생기는 조작압(제1 제어 신호)을 취득하는 압력 센서(70a, 70b, 71a, 71b, 72a, 72b)로 구성된다. 이들 압력 센서(70a, 70b, 71a, 71b, 72a, 72b)는, 붐(7)(붐 실린더(5)), 암(8)(암 실린더(6)), 버킷(9)(버킷 실린더(7))에 대한 조작 장치(45a, 45b, 46a)를 통한 오퍼레이터의 조작량에 관한 물리량을 검출하는 조작량 센서로서 기능하고 있다.
<프론트 제어용 유압 유닛(160)>
도 3에 도시하는 바와 같이, 프론트 제어용 유압 유닛(160)은, 붐(8)용 조작 장치(45a)의 파일럿 라인(144a, 144b)에 마련되고, 조작 레버(1a)의 조작량으로서 파일럿압(제1 제어 신호)을 검출하는 압력 센서(70a, 70b)와, 1차 포트측이 펌프 라인(148a)을 통하여 파일럿 펌프(48)에 접속되고 파일럿 펌프(48)로부터의 파일럿압을 감압하여 출력하는 전자 비례 밸브(54a)와, 붐(8)용 조작 장치(45a)의 파일럿 라인(144a)과 전자 비례 밸브(54a)의 2차 포트측에 접속되고, 파일럿 라인(144a) 내의 파일럿압과 전자 비례 밸브(54a)로부터 출력되는 제어압(제2 제어 신호)의 고압측을 선택하고, 유량 제어 밸브(15a)의 유압 구동부(150a)로 유도하는 셔틀 밸브(82a)와, 붐(8)용 조작 장치(45a)의 파일럿 라인(144b)에 설치되고, 제어 컨트롤러(40)로부터의 제어 신호를 기초로 파일럿 라인(144b) 내의 파일럿압(제1 제어 신호)을 저감하여 출력하는 전자 비례 밸브(54b)를 구비하고 있다.
또한, 프론트 제어용 유압 유닛(160)은, 암(9)용 파일럿 라인(145a, 145b)에 설치되고, 조작 레버(1b)의 조작량으로서 파일럿압(제1 제어 신호)을 검출하여 제어 컨트롤러(40)에 출력하는 압력 센서(71a, 71b)와, 파일럿 라인(145b)에 설치되고, 제어 컨트롤러(40)로부터의 제어 신호를 기초로 파일럿압(제1 제어 신호)을 저감하여 출력하는 전자 비례 밸브(55b)와, 파일럿 라인(145a)에 설치되고, 제어 컨트롤러(40)로부터의 제어 신호를 기초로 파일럿 라인(145a) 내의 파일럿압(제1 제어 신호)을 저감하여 출력하는 전자 비례 밸브(55a)가 마련되어 있다.
또한, 프론트 제어용 유압 유닛(160)은, 버킷(10)용 파일럿 라인(146a, 146b)에는, 조작 레버(1a)의 조작량으로서 파일럿압(제1 제어 신호)을 검출하여 제어 컨트롤러(40)에 출력하는 압력 센서(72a, 72b)와, 제어 컨트롤러(40)로부터의 제어 신호를 기초로 파일럿압(제1 제어 신호)을 저감하여 출력하는 전자 비례 밸브(56a, 56b)와, 1차 포트측이 파일럿 펌프(48)에 접속되고 파일럿 펌프(48)로부터의 파일럿압을 감압하여 출력하는 전자 비례 밸브(56c, 56d)와, 파일럿 라인(146a, 146b) 내의 파일럿압과 전자 비례 밸브(56c, 56d)로부터 출력되는 제어압의 고압측을 선택하고, 유량 제어 밸브(15c)의 유압 구동부(152a, 152b)로 유도하는 셔틀 밸브(83a, 83b)가 각각 마련되어 있다. 또한, 도 3에서는, 압력 센서(70, 71, 72)와 제어 컨트롤러(40)의 접속선은 지면 사정상 생략되어 있다.
전자 비례 밸브(54b, 55a, 55b, 56a, 56b)는, 비통전 시에는 개방도가 최대이고, 제어 컨트롤러(40)로부터의 제어 신호인 전류를 증대시킬수록 개방도는 작아진다. 한편, 전자 비례 밸브(54a, 56c, 56d)는, 비통전 시에는 개방도를 제로, 통전 시에 개방도를 갖고, 제어 컨트롤러(40)로부터의 전류(제어 신호)를 증대시킬수록 개방도는 커진다. 이와 같이 각 전자 비례 밸브의 개방도(54, 55, 56)는 제어 컨트롤러(40)로부터의 제어 신호에 따른 것으로 된다.
상기와 같이 구성되는 제어용 유압 유닛(160)에 있어서, 제어 컨트롤러(40)로부터 제어 신호를 출력하여 전자 비례 밸브(54a, 56c, 56d)를 구동하면, 대응하는 조작 장치(45a, 46a)의 오퍼레이터 조작이 없는 경우에도 파일럿압(제2 제어 신호)을 발생시킬 수 있으므로, 붐 상승 동작, 버킷 크라우드 동작, 버킷 덤프 동작을 강제적으로 발생시킬 수 있다. 또한, 이와 마찬가지로 제어 컨트롤러(40)에 의해 전자 비례 밸브(54b, 55a, 55b, 56a, 56b)를 구동하면, 조작 장치(45a, 45b, 46a)의 오퍼레이터 조작에 의해 발생한 파일럿압(제1 제어 신호)을 줄인 파일럿압(제2 제어 신호)을 발생시킬 수 있어, 붐 하강 동작, 암 크라우드/덤프 동작, 버킷 크라우드/덤프 동작의 속도를 오퍼레이터 조작값으로부터 강제적으로 저감할 수 있다.
본고에서는, 유량 제어 밸브(15a 내지 15c)에 대한 제어 신호 중, 조작 장치(45a, 45b, 46a)의 조작에 의해 발생한 파일럿압을 「제1 제어 신호」라고 칭한다. 그리고, 유량 제어 밸브(15a 내지 15c)에 대한 제어 신호 중, 제어 컨트롤러(40)로 전자 비례 밸브(54b, 55a, 55b, 56a, 56b)를 구동하여 제1 제어 신호를 보정(저감)하여 생성한 파일럿압과, 제어 컨트롤러(40)로 전자 비례 밸브(54a, 56c, 56d)를 구동하여 제1 제어 신호와는 별도로 새롭게 생성한 파일럿압을 「제2 제어 신호」라고 칭한다.
제2 제어 신호는, 제1 제어 신호에 의해 발생되는 작업 장치(1A)의 제어점의 속도 벡터가 소정의 조건에 반할 때 생성되며, 당해 소정의 조건에 적합한 작업 장치(1A)의 제어점의 속도 벡터를 발생시키는 제어 신호로서 생성된다. 또한, 동일한 유량 제어 밸브(15a 내지 15c)에 있어서의 한쪽의 유압 구동부에 대하여 제1 제어 신호가, 다른 쪽의 유압 구동부에 대하여 제2 제어 신호가 생성되는 경우에는, 제2 제어 신호를 우선적으로 유압 구동부에 작용시키는 것으로 하여, 제1 제어 신호를 전자 비례 밸브로 차단하고, 제2 제어 신호를 당해 다른 쪽의 유압 구동부에 입력한다. 따라서, 유량 제어 밸브(15a 내지 15c) 중 제2 제어 신호가 연산된 것에 대해서는 제2 제어 신호를 기초로 제어되고, 제2 제어 신호가 연산되지 않은 것에 대해서는 제1 제어 신호를 기초로 제어되고, 제1 및 제2 제어 신호의 양쪽이 발생하지 않은 것에 대해서는 제어(구동)되지 않게 된다. 상기와 같이 제1 제어 신호와 제2 제어 신호를 정의하면, MC는, 제2 제어 신호에 기초하는 유량 제어 밸브(15a 내지 15c)의 제어라고 할 수도 있다.
<제어 컨트롤러(40)>
도 4에 있어서 제어 컨트롤러(40)는, 입력부(91)와, 프로세서인 중앙 처리 장치(CPU)(92)와, 기억 장치인 리드 온리 메모리(ROM)(93) 및 랜덤 액세스 메모리(RAM)(94)와, 출력부(95)를 갖고 있다. 입력부(91)는, 작업 장치 자세 검출 장치(50)인 각도 센서(30 내지 32) 및 경사각 센서(33)로부터의 신호와, 목표면(60)을 설정하기 위한 장치인 목표면 설정 장치(51)로부터의 신호와, 조작 장치(45a, 45b, 46a)로부터의 조작량을 검출하는 압력 센서(압력 센서(70, 71, 72)를 포함함)인 오퍼레이터 조작량 검출 장치(52a)로부터의 신호를 입력하고, CPU(92)가 연산 가능하도록 변환한다. ROM(93)은, 후술하는 흐름도에 관한 처리를 포함시켜 MC를 실행하기 위한 제어 프로그램과, 당해 흐름도의 실행에 필요한 각종 정보 등이 기억된 기록 매체이며, CPU(92)는, ROM(93)에 기억된 제어 프로그램에 따라 입력부(91) 및 메모리(93, 94)로부터 도입한 신호에 대하여 소정의 연산 처리를 행한다. 출력부(95)는, CPU(92)에서의 연산 결과에 따른 출력용 신호를 작성하고, 그 신호를 전자 비례 밸브(54 내지 56) 또는 표시 장치(53)에 출력함으로써, 유압 액추에이터(5 내지 7)를 구동ㆍ제어하거나, 차체(1B), 버킷(10) 및 목표면(60) 등의 화상을 표시 장치(53)의 화면 상에 표시시키거나 한다.
또한, 도 4의 제어 컨트롤러(40)는, 기억 장치로서 ROM(93) 및 RAM(94)이라고 하는 반도체 메모리를 구비하고 있지만, 기억 장치이면 특히 대체 가능하며, 예를 들어 하드 디스크 드라이브 등의 자기 기억 장치를 구비해도 된다.
도 6은, 제어 컨트롤러(40)의 기능 블록도이다. 제어 컨트롤러(40)는, MC 제어부(43)와, 전자 비례 밸브 제어부(44)와, 표시 제어부(374)를 구비하고 있다.
표시 제어부(374)는, MC 제어부(43)로부터 출력되는 작업 장치 자세 및 목표면을 기초로 표시 장치(53)를 제어하는 부분이다. 표시 제어부(374)에는, 작업 장치(1A)의 화상 및 아이콘을 포함하는 표시 관련 데이터가 다수 저장되어 있는 표시 ROM이 구비되어 있고, 표시 제어부(374)가, 입력 정보에 포함되는 플래그에 기초하여 소정의 프로그램을 판독함과 함께, 표시 장치(53)에 있어서의 표시 제어를 행한다.
도 7은, 도 6 중의 MC 제어부(43)의 기능 블록도이다. MC 제어부(43)는, 조작량 연산부(43a)와, 자세 연산부(43b)와, 목표면 연산부(43c)와, 암 실린더 속도 연산부(49)와, 액추에이터 제어부(81)(붐 제어부(81a) 및 버킷 제어부(81b))를 구비하고 있다.
조작량 연산부(43a)는, 오퍼레이터 조작량 검출 장치(52a)의 검출값을 기초로 조작 장치(45a, 45b, 46a)(조작 레버(1a, 1b))의 조작량을 산출한다. 즉, 조작 장치(45a, 45b, 46a)의 조작량은 압력 센서(70, 71, 72)의 검출값으로부터 산출할 수 있다.
또한, 조작량의 산출에 압력 센서(70, 71, 72)를 이용하는 것은 일례에 지나지 않으며, 예를 들어 각 조작 장치(45a, 45b, 46a)의 조작 레버의 회전 변위를 검출하는 위치 센서(예를 들어, 로터리 인코더)로 당해 조작 레버의 조작량을 검출해도 된다.
자세 연산부(43b)는, 작업 장치 자세 검출 장치(50)의 검출값에 기초하여, 로컬 좌표계에 있어서의 붐(8), 암(9) 및 버킷(10)의 자세와, 프론트 작업 장치(1A)의 자세와, 버킷(10)의 클로 끝의 위치를 연산한다. 또한, 자세 연산부(43b)는, 암 회동 중심(암 핀)을 통과하는 수평면과 암(9)이 이루는 각(「암 수평 각도 φ」(도 5 참조)라고 칭하는 경우가 있음)을 연산한다.
붐(8), 암(9) 및 버킷(10)의 자세와 프론트 작업 장치(1A)의 자세는 도 5의 셔블 좌표계(로컬 좌표계) 상에 정의할 수 있다. 도 5의 셔블 좌표계(XZ 좌표계)는, 상부 선회체(12)에 설정된 좌표계이며, 상부 선회체(12)에 회동 가능하게 지지되어 있는 붐(8)의 기저부를 원점으로 하여, 상부 선회체(12)에 있어서의 수직 방향에 Z축, 수평 방향에 X축을 설정하였다. X축에 대한 붐(8)의 경사각을 붐 각 α, 붐(8)에 대한 암(9)의 경사각을 암 각 β, 암(9)에 대한 버킷 클로 끝의 경사각을 버킷각 γ로 하였다. 수평면(기준면)에 대한 차체(1B)(상부 선회체(12))의 경사각을 경사각 θ로 하였다. 붐 각 α는 붐 각도 센서(30)에 의해, 암 각 β는 암 각도 센서(31)에 의해, 버킷각 γ는 버킷 각도 센서(32)에 의해, 경사각 θ는 차체 경사각 센서(33)에 의해 검출된다. 도 5 중에 규정한 바와 같이 붐(8), 암(9), 버킷(10)의 길이를 각각 L1, L2, L3이라고 하면, 셔블 좌표계에 있어서의 버킷 클로 끝 위치의 좌표, 붐(8), 암(9) 및 버킷(10)의 자세 및 작업 장치(1A)의 자세는 L1, L2, L3, α, β, γ로 표현할 수 있다.
또한, 도 5에 있어서, 암 회동 중심(암 핀)을 통과하는 수평면과 암(9)이 이루는 각인 암 수평 각도 φ는, 예를 들어 경사각 θ, 붐 각 α 및 암 각 β로부터 산출할 수 있다. 본 실시 형태에서는, 도 5에 도시하는 바와 같이 글로벌 좌표계에서 암 회동 중심(암 핀)을 통과하는 수평면 상에 U축을 설정하고, 암 회동 중심과 버킷 회동 중심을 접속한 직선(길이 L2의 직선)이 U축과 이루는 각을 φ라고 한다. U축을 0도로 하여 반시계 방향을 정의 각도로 하고 시계 방향을 부의 각도로 한다. 도 5의 φ는 정으로 된다. 또한, 기준면(예를 들어 수평면)에 대한 경사각 센서나 관성 계측 장치(IMU) 등을 암(9)에 설치하여 암 수평 각도 φ를 검출할 수도 있다.
목표면 연산부(43c)는, 목표면 설정 장치(51)로부터의 정보에 기초하여 목표면(60)의 위치 정보를 연산하고, 이것을 ROM(93) 내에 기억한다. 본 실시 형태에서는, 도 5에 도시하는 바와 같이, 3차원 목표면을 작업 장치(1A)가 이동하는 평면(작업기의 동작 평면)으로 절단한 단면 형상을 목표면(60)(2차원 목표면)으로서 이용한다.
또한, 도 5의 예에서는 목표면(60)은 1개이지만, 목표면이 복수 존재하는 경우도 있다. 목표면이 복수 존재하는 경우에는, 예를 들어 작업 장치(1A)로부터 가장 가까운 것을 목표면으로 설정하는 방법이나, 버킷 클로 끝의 하방에 위치하는 것을 목표면으로 하는 방법이나, 임의로 선택한 것을 목표면으로 하는 방법 등이 있다.
암 실린더 속도 연산부(49)는, 액추에이터 제어부(81)가 MC를 실행할 때 암 실린더(6)의 속도로서 이용되는 속도(암 실린더 속도)를 산출하고, 그 연산 결과를 액추에이터 제어부(81)에 출력하는 부분이다.
도 8은, 암 실린더 속도 연산부(49)의 기능 블록도이다. 암 실린더 속도 연산부(49)는, 제1 속도 연산부(49a)와, 제2 속도 연산부(49b)와, 제3 속도 연산부(49c)와, 속도 선택부(49d)를 구비하고 있다.
제1 속도 연산부(49a)는, 오퍼레이터 조작량 검출 장치(52a)의 검출값 중 암(9)에 대한 조작량의 검출값으로부터 암 실린더(6)의 속도(Vamt1)를 연산하는 부분이다. 본고에서는 제1 속도 연산부(49a)에서 연산된 암 실린더(6)의 속도(Vamt1)를 「제1 속도」나 「제1 암 실린더 속도」라고 칭하는 경우가 있다. 본 실시 형태에서는, 조작량 연산부(43a)가 오퍼레이터 조작량 검출 장치(52a)에 의한 암 조작량의 검출값으로부터 암 조작량을 산출하고 있고, 제1 속도 연산부(49a)는, 조작량 연산부(43a)가 산출한 암 조작량과, 암 조작량과 암 실린더 속도의 상관 관계가 일대일로서 규정된 도 9의 테이블을 기초로 암 실린더(6)의 속도(Vamt1)를 산출하고 있다. 도 9의 테이블에서는, 미리 실험이나 시뮬레이션으로 구한 조작량에 대한 실린더 속도에 기초하여, 암 조작량의 증가와 함께 암 실린더 속도가 단조롭게 증가하도록 조작량과 속도의 상관 관계가 규정되어 있다. 제1 속도 연산부(49a)에서 연산된 제1 암 실린더 속도는 속도 선택부(49d)에 출력된다.
제2 속도 연산부(49b)는, 암 실린더(6)의 구동 대상물(암(9) 및 버킷(10) 및 버킷 실린더(7)를 포함하는 암(9)보다 버킷(10)측에 위치하는 각종 부재의 집합체)의 자중을 고려하여, 제1 속도 연산부(49a)에서 산출된 제1 암 실린더 속도(Vamt1)보다 작은 속도(제2 속도 또는 제2 암 실린더 속도라고 칭하는 경우가 있음)를 암 실린더(6)의 속도(Vamt2)로서 산출하는 부분이다. 구체예는 후술하지만, 본 실시 형태의 제2 암 실린더 속도(Vamt2)는, 암 실린더(6)의 구동 대상물의 자중이 암 실린더(6)에 부여하는 하중의 방향이 암 실린더의 구동 방향과 반대인 장면, 즉 구동 대상물의 자중에 의해 실제의 암 실린더(6)의 속도가 제1 속도(Vamt1)보다 감속되는 장면을 상정하여, 암 조작량과 암 수평 각도 φ로 규정되는 소정의 보정량을 제1 암 실린더 속도(Vamt1)로부터 감한 값으로 정의되어 있다. 당해 소정의 보정량(즉 제1 속도와 제2 속도의 차분의 크기)은, 구동 대상물의 자중의 영향으로 제1 속도가 감속될 수 있는 속도값의 최댓값 이하로 설정하는 것이 바람직하다. 제2 속도 연산부(49b)에서 연산된 제2 암 실린더 속도(Vamt2)는 속도 선택부(49d)에 출력된다.
제3 속도 연산부(49c)는, 암 실린더(6)의 구동 대상물의 자중을 고려하여, 제1 속도 연산부(49a)에서 산출된 제1 암 실린더 속도(Vamt1)보다 큰 속도(제3 속도 또는 제3 암 실린더 속도라고 칭하는 경우가 있음)를 암 실린더(6)의 속도(Vamt3)로서 산출하는 부분이다. 구체예는 후술하지만, 본 실시 형태의 제3 암 실린더 속도(Vamt3)는, 암 실린더(6)의 구동 대상물의 자중이 암 실린더(6)에 부여하는 하중의 방향이 암 실린더의 구동 방향과 동일한 장면, 즉 구동 대상물의 자중에 의해 암 실린더(6)의 속도가 제1 속도(Vamt1)보다 가속되는 장면을 상정하여, 암 조작량과 암 수평 각도 φ로 규정되는 소정의 보정량을 제1 암 실린더 속도(Vamt1)에 더한 값으로 정의되어 있다. 당해 소정의 보정량(즉 제1 속도와 제3 속도의 차분의 크기)은, 구동 대상물의 자중의 영향으로 제1 속도가 가속될 수 있는 속도값의 최댓값 이하로 설정하는 것이 바람직하다. 제3 속도 연산부(49c)에서 연산된 제3 암 실린더 속도(Vamt3)는 속도 선택부(49d)에 출력된다.
속도 선택부(49d)는, 암(9)을 포함하는 암 실린더(6)의 구동 대상물의 자중이 암 실린더(6)에 부여하는 하중의 방향(이하 「구동 대상물의 하중 방향」이라고 칭하는 경우가 있음)을 자세 검출 장치(43b)의 검출값(구체적으로는 암 수평 각도 φ)에 기초하여 판정하고, 그 판정 결과에 기초하여, 액추에이터 제어부(81)에 출력하는 암 실린더 속도 Vam을 제1 속도(Vamt1), 제2 속도(Vamt2) 및 제3 속도(Vamt3) 중 어느 하나로 선택하는 부분이다. 상세는 후술하지만, 속도 선택부(49d)는, 구동 대상물의 하중 방향이 암 실린더(6)의 구동 방향과 반대라고 판정하였을 때 제2 속도(Vamt2)를 액추에이터 제어부(81)에 출력할 수 있고, 구동 대상물의 하중 방향이 암 실린더(6)의 구동 방향과 동일하다고 판정하였을 때 제3 속도(Vamt3)를 액추에이터 제어부(81)에 출력할 수 있다.
붐 제어부(81a)와 버킷 제어부(81b)는, 조작 장치(45a, 45b, 46a)의 조작 시에, 미리 정한 조건에 따라 복수의 유압 액추에이터(5, 6, 7) 중 적어도 하나를 제어하는 액추에이터 제어부(81)를 구성한다. 액추에이터 제어부(81)는, 각 유압 실린더(5, 6, 7)의 유량 제어 밸브(15a, 15b, 15c)의 목표 파일럿압을 연산하고, 그 연산한 목표 파일럿압을 전자 비례 밸브 제어부(44)에 출력한다.
붐 제어부(81a)는, 조작 장치(45a, 45b, 46a)의 조작 시에, 목표면(60)의 위치와, 프론트 작업 장치(1A)의 자세 및 버킷(10)의 클로 끝의 위치와, 각 유압 실린더(5, 6, 7)의 속도에 기초하여, 목표면(60) 상 또는 그 상방에 버킷(10)의 클로 끝(제어점)이 위치하도록 붐 실린더(5)(붐(8))의 동작을 제어하는 MC를 실행하기 위한 부분이다. 붐 제어부(81a)에서는, 붐 실린더(5)의 유량 제어 밸브(15a)의 목표 파일럿압이 연산된다. 붐 제어부(81a)에 의한 MC의 상세는 도 13을 사용하여 후술한다.
버킷 제어부(81b)는, 조작 장치(45a, 45b, 46a)의 조작 시에, MC에 의한 버킷 각도 제어를 실행하기 위한 부분이다. 구체적으로는, 목표면(60)과 버킷(10)의 클로 끝의 거리가 소정값 이하일 때, 목표면(60)에 대한 버킷(10)의 각도 θ가 미리 설정한 대(對)목표면 버킷 각도 θTGT로 되도록 버킷 실린더(7)(버킷(10))의 동작을 제어하는 MC(버킷 각도 제어)가 실행된다. 버킷 제어부(81b)에서는, 버킷 실린더(7)의 유량 제어 밸브(15c)의 목표 파일럿압이 연산된다.
전자 비례 밸브 제어부(44)는, 액추에이터 제어부(81)로부터 출력되는 각 유량 제어 밸브(15a, 15b, 15c)에 대한 목표 파일럿압을 기초로, 각 전자 비례 밸브(54 내지 56)에 대한 명령을 연산한다. 또한, 오퍼레이터 조작에 기초하는 파일럿압(제1 제어 신호)과, 액추에이터 제어부(81)에서 산출된 목표 파일럿압이 일치하는 경우에는, 해당되는 전자 비례 밸브(54 내지 56)에 대한 전류값(명령값)은 제로로 되고, 해당되는 전자 비례 밸브(54 내지 56)의 동작은 행해지지 않는다.
<암 실린더 속도 연산부(49)에 의한 암 실린더 속도 산출의 플로>
도 10에 암 실린더 속도 연산부(49)가 액추에이터 제어부(81)에 출력하는 암 실린더(6)의 속도 Vam을 산출하는 흐름도를 도시한다. 암 실린더 속도 연산부(49)는 도 10의 플로를 소정의 제어 주기로 반복 실행한다. 또한, 하기에서 설명하는 플로에서는 속도 선택부(49d)에 의한 속도 선택이 행해진 후에 출력 대상의 속도(Vamt1, Vamt2, Vamt3)를 연산하고 있지만, 속도 선택부(49d)에 의한 속도 선택 전에 제1 속도 연산부(49a), 제2 속도 연산부(49b) 및 제3 속도 연산부(49c)에서 암 실린더 속도(Vamt1, Vamt2, Vamt3)를 각각 연산해 두고, 속도 선택부(49d)의 판정 처리 종료 후에 그 판정 결과에 대응한 암 실린더 속도만을 액추에이터 제어부(81)에 출력하도록 플로를 구성해도 되는 것은 말할 필요도 없다.
S600에서는, 속도 선택부(49d)는 자세 연산부(43b)로부터 암 수평 각도 φ(도 5 참조)를 취득한다.
S610에서는, 속도 선택부(49d)는 S600에서 취득한 암 각도 φ가 -90도 이상 또한 90도 이하인지를 판정한다.
S610에서 "예"라고 판정한 경우(즉 φ가 -90도 이상 또한 90도 이하인 경우), 구동 대상물의 자중이 암 실린더(6)에 부여하는 하중의 방향이 암 실린더(6)의 구동 방향과 동일하다고 판정하고, 속도 선택부(49d)는 제3 속도(Vamt3)를 암 실린더 속도 Vam으로서 액추에이터 제어부(81)에 출력할 것을 결정하고, S620으로 진행한다.
S620에서는, 제3 속도 연산부(49c)는, 조작량 연산부(43a)에서 연산되는 암 조작량 amlever에 기초하여 암 실린더 속도 Vamt3에 관한 보정 게인 k를 산출한다. 여기서, S620에서 제3 속도 연산부가 보정 게인 k를 산출하기 위한 함수 kmo는, 암 실린더(6)의 구동 대상물의 자중의 영향은 유량 제어 밸브(15b)에 관한 암 스풀의 미터 아웃 개구 면적으로부터 유래하는 것으로서, 암 스풀의 미터 아웃 개구 면적과 상관이 있는 함수로 한다.
본 실시 형태에서는, 암 스풀의 미터 아웃 개구 면적을 그에 상당하는 암 조작량(amlever)으로 변환할 것을 전제로 하고 있으며, 제3 속도 연산부(49c)는, 조작량 연산부(43a)가 산출한 암 조작량(amlever)과, 암 조작량(amlever)과 보정 게인 k(함수 kmo)의 상관 관계가 일대일로서 규정된 도 11의 테이블에 기초하여 보정 게인 k를 산출하고 있다. 도 11의 테이블에서는, 미리 실험이나 시뮬레이션으로 구한 조작량에 대한 실린더 속도에 기초하여, 암 조작량의 증가와 함께 보정 게인 k가 단조롭게 증가하도록 조작량과 보정 게인 k의 상관 관계가 규정되어 있다.
S660에서는, 제3 속도 연산부(49c)는, S620에서 구한 보정 게인 k를 사용하여 암 실린더 속도 Vamt3에 관한 보정량(k×cosφ)을 연산한다.
S670에서는, 제3 속도 연산부(49c)는, 암 실린더(6)의 추정 속도(제3 속도(Vamt3))를 제1 속도 연산부(49a)에서 구해지는 제1 속도 Vamt1에 대하여 보정량 k×cosφ를 가산한 값으로 한다. S620을 통과하는 경우, φ는 -90도 이상 또한 90도 이하이므로 cosφ는 0 이상의 값으로 되고, 보정량 k×cosφ도 0 이상의 값으로 된다. 즉, 제3 속도 Vamt3은 제1 속도 Vamt1 이상의 값으로 된다.
이에 의해, 암 실린더 속도 연산부(49)는 암 실린더 속도 Vam으로서 제3 속도 Vam3을 액추에이터 제어부(81)에 출력하고, 암 실린더 속도 연산부(49)는 다음 제어 주기까지 대기한다.
S610에서 "아니오"라고 판정된 경우, 속도 선택부(49d)는 S630에서 암 조작량 amlever이 소정의 역치 levert보다 작은지 여부를 판정한다. 여기서, 역치 levert(예를 들어 도 11, 12 참조)는 암 스풀의 블리드 오프 개구가 폐쇄되는(즉 블리드 오프 개구 면적(센터 바이패스 개구 면적)이 제로로 되는) 스트로크양 SX에 상당하는 암 조작량이다.
S630에서 "예"라고 판정된 경우(즉 블리드 오프 개구 면적이 0보다 큰 경우), 속도 선택부(49d)는, 구동 대상물의 자중이 암 실린더(6)에 부여하는 하중의 방향이 암 실린더(6)의 구동 방향과 반대라고 판정하고, 제2 속도(Vamt2)를 암 실린더 속도 Vam으로서 액추에이터 제어부(81)에 출력할 것을 결정하고, S640으로 진행한다.
S640에서는, 제2 속도 연산부(49b)는, 조작량 연산부(43a)에서 연산되는 암 조작량 amlever에 기초하여 암 실린더 속도 Vamt2에 관한 보정 게인 k를 산출한다. 여기서, S640에서 제2 속도 연산부(49b)가 보정 게인 k를 산출하기 위한 함수 kmi는, 암 실린더(6)의 구동 대상물의 자중의 영향은 유량 제어 밸브(15b)에 관한 암 스풀의 미터 인 개구 면적 및 블리드 오프 개구 면적으로부터 유래하는 것으로서, 암 스풀의 미터 인 개구 면적 및 블리드 오프 개구 면적과 상관이 있는 함수로 한다.
본 실시 형태에서는, 암 스풀의 미터 아웃 개구 면적 및 블리드 오프 개구 면적을 그것에 상당하는 암 조작량(amlever)으로 변환할 것을 전제로 하고 있으며, 제2 속도 연산부(49b)는, 조작량 연산부(43a)가 산출한 암 조작량(amlever)과, 암 조작량(amlever)과 보정 게인 k(함수 kmi)의 상관 관계가 일대일로서 규정된 도 12의 테이블에 기초하여 보정 게인 k를 산출하고 있다. 도 12의 테이블에서는, 미리 실험이나 시뮬레이션으로 구한 조작량에 대한 실린더 속도에 기초하여, 암 조작량의 증가와 함께 보정 게인 k가 단조롭게 감소하도록 조작량과 보정 게인 k의 상관 관계가 규정되어 있다.
S680에서는, 제2 속도 연산부(49b)는, S640에서 구한 보정 게인 k를 사용하여 암 실린더 속도 Vamt2에 관한 보정량(k×cosφ)을 연산한다.
S690에서는, 제2 속도 연산부(49b)는, 암 실린더(6)의 추정 속도(제2 속도(Vamt2))를 제1 속도 연산부(49a)에서 구해지는 제1 속도 Vamt1에 대하여 보정량 k×cosφ를 가산한 값으로 한다. S640을 통과하는 경우, φ는 -90도 미만 또는 90도보다 크므로 cosφ는 음의 값으로 되고, 보정량 k×cosφ도 음의 값으로 된다. 즉, 제2 속도 Vamt2는 제1 속도 Vamt1보다 작은 값으로 된다.
이에 의해, 암 실린더 속도 연산부(49)는 암 실린더 속도 Vam으로서 제2 속도 Vam2를 액추에이터 제어부(81)에 출력하고, 암 실린더 속도 연산부(49)는 다음 제어 주기까지 대기한다.
S630에서 "아니오"라고 판정된 경우(즉 블리드 오프 개구 면적이 0인 경우), 유량 제어 밸브(15b)에 관한 암 스풀의 블리드 오프 개구가 폐쇄되어 있으므로, 펌프(2b)로부터 유량 제어 밸브(15b)로 공급되는 압유는 전체 유량 암 실린더(6)로 흐른다. 즉, 이때의 암 실린더 속도는 공급되는 유량에 의해 결정되므로, 암 실린더(6)의 구동 대상물의 자중이 암 실린더 속도에 대하여 끼치는 영향은 거의 없다. 그래서 속도 선택부(49d)는 제1 속도(Vamt1)를 암 실린더 속도 Vam으로서 액추에이터 제어부(81)에 출력할 것을 결정하고 S650으로 진행한다.
S650에서는, 제1 속도 연산부(49a)는, 암 실린더(6)의 구동 대상물의 자중이 암 실린더 속도에 대하여 끼치는 영향은 거의 없는 것으로 간주하여 보정 게인 k를 0으로 한다.
S700에서는, 제1 속도 연산부(49a)는, 도 9의 상관 관계와 암 조작량(amlever)으로부터 결정되는 속도를 제1 속도 Vamt1이라고 한다.
이에 의해, 암 실린더 속도 연산부(49)는 암 실린더 속도 Vam으로서 제1 속도 Vam1을 액추에이터 제어부(81)에 출력하고, 암 실린더 속도 연산부(49)는 다음 제어 주기까지 대기한다.
<붐 제어부(81a)에 의한 붐 상승 제어의 플로>
본 실시 형태의 제어 컨트롤러(40)는, 붐 제어부(81a)에 의한 붐 상승 제어를 MC로서 실행한다. 이 붐 제어부(81a)에 의한 붐 상승 제어의 플로를 도 13에 도시한다. 도 13은, 붐 제어부(81a)에서 실행되는 MC의 흐름도이며, 조작 장치(45a, 45b, 46a)가 오퍼레이터에 의해 조작되면 처리가 개시된다.
S410에서는, 붐 제어부(81a)는 각 유압 실린더(5, 6, 7)의 속도를 취득한다. 우선, 붐 실린더(5)와 버킷 실린더(7)의 속도에 대해서는, 조작량 연산부(43a)에서 연산된 붐(8)과 버킷(10)에 대한 조작량을 기초로 붐 실린더(5)와 버킷 실린더(7)의 속도를 연산하여 취득한다. 구체적으로는, 전술한 도 9와 마찬가지로 미리 실험이나 시뮬레이션으로 구한 조작량에 대한 실린더 속도를 테이블로서 설정하고, 이에 수반하여 붐 실린더(5)와 버킷 실린더(7)의 속도를 산출한다. 한편, 암 실린더(6)의 속도에 대해서는, 암 실린더 속도 연산부(49)가 전술한 도 10의 플로에 기초하여 출력하는 속도 Vam(즉, 제1 속도 Vamt1, 제2 속도 Vamt2, 제3 속도 Vamt3 중 어느 것)을 암 실린더(6)의 속도로서 취득한다.
S420에서는, 붐 제어부(81a)는, S410에서 취득한 각 유압 실린더(5, 6, 7)의 동작 속도와, 자세 연산부(43b)에서 연산된 작업 장치(1A)의 자세를 기초로, 오퍼레이터 조작에 의한 버킷 선단(클로 끝)의 속도 벡터 B를 연산한다.
S430에서는, 붐 제어부(81a)는, 자세 연산부(43b)에서 연산한 버킷(10)의 클로 끝의 위치(좌표)와, ROM(93)에 기억된 목표면(60)을 포함하는 직선의 거리로부터, 버킷 선단에서부터 제어 대상의 목표면(60)까지의 거리 D(도 5 참조)를 산출한다. 그리고, 거리 D와 도 14의 그래프를 기초로 버킷 선단의 속도 벡터의 목표면(60)에 수직인 성분의 하한측의 제한값 ay를 산출한다.
S440에서는, 붐 제어부(81a)는, S420에서 산출한 오퍼레이터 조작에 의한 버킷 선단의 속도 벡터 B에 있어서, 목표면(60)에 수직인 성분 by를 취득한다.
S450에서는, 붐 제어부(81a)는, S430에서 산출한 제한값 ay가 0 이상인지 여부를 판정한다. 또한, 도 13의 우측 상단에 도시한 바와 같이 xy 좌표를 설정한다. 당해 xy 좌표에서는, x축은 목표면(60)과 평행이며 도면 중 우측 방향을 정으로 하고, y축은 목표면(60)에 수직이며 도면 중 상측 방향을 정으로 한다. 도 13 중의 범례에서는 수직 성분 by 및 제한값 ay는 부이고, 수평 성분 bx 및 수평 성분 cx 및 수직 성분 cy는 정이다. 그리고, 도 14로부터 명확하지만, 제한값 ay가 0일 때에는 거리 D가 0, 즉 클로 끝이 목표면(60) 상에 위치하는 경우이며, 제한값 ay가 정일 때에는 거리 D가 부, 즉 클로 끝이 목표면(60)보다 하방에 위치하는 경우이며, 제한값 ay가 부일 때에는 거리 D가 정, 즉 클로 끝이 목표면(60)보다 상방에 위치하는 경우이다. S450에서 제한값 ay가 0 이상이라고 판정된 경우(즉, 클로 끝이 목표면(60) 상 또는 그 하방에 위치하는 경우)에는 S460으로 진행하고, 제한값 ay가 0 미만인 경우에는 S480으로 진행한다.
S460에서는, 붐 제어부(81a)는, 오퍼레이터 조작에 의한 클로 끝의 속도 벡터 B의 수직 성분 by가 0 이상인지 여부를 판정한다. by가 정인 경우에는 속도 벡터 B의 수직 성분 by가 상향임을 나타내고, by가 부인 경우에는 속도 벡터 B의 수직 성분 by가 하향임을 나타낸다. S460에서 수직 성분 by가 0 이상이라고 판정된 경우(즉, 수직 성분 by가 상향인 경우)에는 S470으로 진행하고, 수직 성분 by가 0 미만인 경우에는 S500으로 진행한다.
S470에서는, 붐 제어부(81a)는, 제한값 ay와 수직 성분 by의 절댓값을 비교하여, 제한값 ay의 절댓값이 수직 성분 by의 절댓값 이상인 경우에는 S500으로 진행한다. 한편, 제한값 ay의 절댓값이 수직 성분 by의 절댓값 미만인 경우에는 S530으로 진행한다.
S500에서는, 붐 제어부(81a)는, 머신 컨트롤에 의한 붐(8)의 동작으로 발생해야 할 버킷 선단의 속도 벡터 C의 목표면(60)에 수직인 성분 cy를 산출하는 식으로서 「cy=ay-by」를 선택하고, 그 식과 S430의 제한값 ay와 S440의 수직 성분 by를 기초로 수직 성분 cy를 산출한다. 그리고, 산출한 수직 성분 cy를 출력 가능한 속도 벡터 C를 산출하고, 그의 수평 성분을 cx라고 한다(S510).
S520에서는, 목표 속도 벡터 T를 산출한다. 목표 속도 벡터 T의 목표면(60)에 수직인 성분을 ty, 수평인 성분을 tx라고 하면, 각각 「ty=by+cy, tx=bx+cx」로 나타낼 수 있다. 여기에 S500의 식(cy=ay-by)을 대입하면 목표 속도 벡터 T는 결국 「ty=ay, tx=bx+cx」로 된다. 즉, S520에 이른 경우의 목표 속도 벡터의 수직 성분 ty는 제한값 ay로 제한되고, 머신 컨트롤에 의한 강제 붐 상승이 발동된다.
S480에서는, 붐 제어부(81a)는, 오퍼레이터 조작에 의한 클로 끝의 속도 벡터 B의 수직 성분 by가 0 이상인지 여부를 판정한다. S480에서 수직 성분 by가 0 이상이라고 판정된 경우(즉, 수직 성분 by가 상향인 경우)에는 S530으로 진행하고, 수직 성분 by가 0 미만인 경우에는 S490으로 진행한다.
S490에서는, 붐 제어부(81a)는, 제한값 ay와 수직 성분 by의 절댓값을 비교하여, 제한값 ay의 절댓값이 수직 성분 by의 절댓값 이상인 경우에는 S530으로 진행한다. 한편, 제한값 ay의 절댓값이 수직 성분 by의 절댓값 미만인 경우에는 S500으로 진행한다.
S530에 이른 경우, 머신 컨트롤로 붐(8)을 동작시킬 필요가 없으므로, 붐 제어부(81a)는, 속도 벡터 C를 제로로 한다. 이 경우, 목표 속도 벡터 T는, S520에서 이용한 식(ty=by+cy, tx=bx+cx)에 기초하면 「ty=by, tx=bx」로 되어, 오퍼레이터 조작에 의한 속도 벡터 B와 일치한다(S540).
S550에서는, 붐 제어부(81a)는, S520 또는 S540에서 결정한 목표 속도 벡터 T(ty, tx)를 기초로 각 유압 실린더(5, 6, 7)의 목표 속도를 연산한다. 또한, 상기 설명으로부터 명확하지만, 도 13의 경우에 목표 속도 벡터 T가 속도 벡터 B에 일치하지 않을 때에는, 머신 컨트롤에 의한 붐(8)의 동작으로 발생하는 속도 벡터 C를 속도 벡터 B에 더함으로써 목표 속도 벡터 T를 실현한다.
S560에서는, 붐 제어부(81a)는, S550에서 산출된 각 실린더(5, 6, 7)의 목표 속도를 기초로 각 유압 실린더(5, 6, 7)의 유량 제어 밸브(15a, 15b, 15c)에 대한 목표 파일럿압을 연산한다.
S590에서는, 붐 제어부(81a)는, 각 유압 실린더(5, 6, 7)의 유량 제어 밸브(15a, 15b, 15c)에 대한 목표 파일럿압을 전자 비례 밸브 제어부(44)에 출력한다.
전자 비례 밸브 제어부(44)는, 각 유압 실린더(5, 6, 7)의 유량 제어 밸브(15a, 15b, 15c)에 목표 파일럿압이 작용하도록 전자 비례 밸브(54, 55, 56)를 제어하고, 이에 의해 작업 장치(1A)에 의한 굴삭이 행해진다. 예를 들어, 오퍼레이터가 조작 장치(45b)를 조작하여, 암 크라우드 동작에 의해 수평 굴삭을 행하는 경우에는, 버킷(10)의 선단이 목표면(60)에 침입하지 않도록 전자 비례 밸브(55c)가 제어되고, 붐(8)의 상승 동작이 자동적으로 행해진다.
또한, 본 실시 형태에서는, 붐 제어부(81a)에 의한 붐 제어(강제 붐 상승 제어)와, 버킷 제어부(81b)에 의한 버킷 제어(버킷 각도 제어)가 MC로서 실행되지만, 버킷(10)과 목표면(60)의 거리 D에 따른 붐 제어를 MC로서 실행해도 된다.
<동작ㆍ효과>
상기와 같이 구성되는 유압 셔블에 있어서, 도 15의 상태 S1(암 수평 각도 φ1≤90도)로부터 상태 S2(암 수평 각도 φ2>90도)로 천이하는 경우의 오퍼레이터 조작과, 제어 컨트롤러(40)(붐 제어부(81a))에 의한 MC에 대하여 설명한다.
도 15의 상태 S1로부터 상태 S2로 천이할 때, 오퍼레이터는 암(9)의 크라우드 조작을 행한다. 그리고, 암(9)의 크라우드 조작에 의해 버킷(10)이 목표면(60)에 침입한다고 판단할 때에는, 붐 제어부(81a)로부터 전자 밸브(54a)로 명령을 내려, 붐(8)을 상승시키는 제어(MC)가 실행된다.
상태 S1과 같이 암 수평 각도 φ가 90도 이하로 MC가 실행될 때, 암(9)보다 앞선 프론트 작업 장치(암(9) 및 버킷(10))의 자중이 암 실린더 속도를 가속하는 방향으로 작용하기 때문에, 그때의 암 조작량(amlever)으로부터 상정되는 값(제1 속도 Vamt1)보다 실제의 암 실린더 속도는 커지는 경향이 있다. 그러나, 본 실시 형태에서는 도 10의 제어 플로에 의해 암 수평 각도 φ가 90도 이하인 경우, 제1 속도 Vamt1보다 큰 제3 속도 Vamt3이 암 실린더 속도 Vam으로서 액추에이터 제어부(81)에 대하여 출력된다. 이에 의해 액추에이터 제어부(81)에 입력되어 MC에 이용되는 암 실린더 속도 Vam(=Vamt3)과 실제의 암 실린더 속도의 편차가, MC의 암 실린더 속도로서 암 수평 각도 φ의 대소에 상관없이 제1 속도 Vamt1을 항상 이용하고 있던 종전의 방법보다 작아진다. 그 결과, MC에 의한 붐 상승 조작량을 보다 적확하게 산출할 수 있기 때문에, MC가 안정화됨과 함께 목표면(60)의 시공 정밀도가 향상된다. 특히 본 실시 형태에서는 암 수평 각도 φ(도 10 참조)와 암 조작량(도 11 참조)의 변화에 따라 보정량(즉 제1 속도 Vamt1과 제3 속도 Vamt3의 편차인 k×cosφ)을 변화시키고 있으므로 MC의 안정도와 시공 정밀도를 더 향상시킬 수 있다.
다음으로 상태 S2와 같이 암 수평 각도 φ가 90도를 초과한 상태에서, 오퍼레이터의 암 조작량(amlever)이 역치 levert 미만으로 MC가 실행될 때, 암(9)보다 앞선 프론트 작업 장치(암(9) 및 버킷(10))의 자중이 암 실린더 속도를 감속하는 방향으로 작용하기 때문에, 그때의 암 조작량(amlever)으로부터 상정되는 값(제1 속도 Vamt1)보다 실제의 암 실린더 속도는 작아지는 경향이 있다. 그러나, 본 실시 형태에서는 도 10의 제어 플로에 의해 제1 속도 Vamt1보다 작은 제2 속도 Vamt2가 암 실린더 속도 Vam으로서 액추에이터 제어부(81)에 대하여 출력된다. 이에 의해 액추에이터 제어부(81)에 입력되어 MC에 이용되는 암 실린더 속도 Vam(=Vamt2)과 실제의 암 실린더 속도의 편차가, MC의 암 실린더 속도로서 암 수평 각도 φ의 대소에 상관없이 제1 속도 Vamt1을 항상 이용하고 있던 종전의 방법보다 작아진다. 그 결과, MC에 의한 붐 상승 조작량을 보다 적확하게 산출할 수 있기 때문에, MC가 안정화됨과 함께 목표면(60)의 시공 정밀도가 향상된다. 특히 본 실시 형태에서는 암 수평 각도 φ(도 10 참조)와 암 조작량(도 12 참조)의 변화에 따라 보정량(즉 제1 속도 Vamt1과 제2 속도 Vamt2의 편차인 k×cosφ)을 변화시키고 있으므로 MC의 안정도와 시공 정밀도를 더 향상시킬 수 있다.
다음으로 상태 S2와 같이 암 수평 각도 φ가 90도를 초과한 상태에서, 오퍼레이터의 암 조작량(amlever)이 역치 levert 이상으로 MC가 실행될 때, 유량 제어 밸브(15b)에 관한 암 스풀의 블리드 오프 개구는 폐쇄되어 있고, 유량 제어 밸브(15b)에 공급되는 압유는 암 실린더(6)로 전부 흐른다. 그 때문에, 암 실린더 속도에 대한 암(9)보다 앞선 프론트 작업 장치(암(9), 버킷(10))의 자중의 영향은 거의 없어, 종전대로 암 조작량(amlever)으로부터 상정되는 암 실린더 속도(제1 속도 Vamt1)를 액추에이터 제어부(81)에 출력하여 MC를 실행한다. 이에 의해 블리드 오프 개구가 폐쇄된 경우에는 종래대로의 MC의 안정도와 시공 정밀도를 유지할 수 있다.
따라서, 본 실시 형태에서는, 상기와 같이 암(9)보다 앞선 프론트 작업 장치(암(9), 버킷(10))의 자중의 영향을 고려하여, 암 조작량(amlever)으로부터 상정되는 암 실린더 속도(제1 속도 Vamt1)에 대하여 적절한 보정량을 가산함으로써 실제의 암 실린더 속도와의 괴리가 작아진다. 이에 의해 적절한 붐 상승 조작량(즉 각 유압 실린더(5, 6, 7)의 목표 속도)을 산출할 수 있게 되어 MC에 있어서의 버킷 선단의 거동을 안정화할 수 있다.
<기타>
상기 실시 형태에서는, 암 수평 각도 φ가 90도를 초과하였을 때, 또한 암 조작량이 역치 levert 이상일 때에는 암 실린더 속도를 보정하지 않는 제어로 하였지만, 이 경우에도 제2 속도를 액추에이터 제어부(81)에 출력하도록 시스템을 구성해도 된다. 즉 도 10에 있어서 S610에서 "아니오"라고 판정된 경우에는 S640으로 진행하도록 시스템을 구성해도 된다.
도 10에서는, S610에서 "아니오"라고 판정된 경우에 S630으로 진행하도록 시스템을 구성하였지만, S610보다 먼저 S630의 판정 처리를 실행하도록 시스템을 구성해도 된다.
상기 실시 형태에서는 붐(8), 암(9), 버킷(10)의 각도를 검출하는 각도 센서를 사용하였지만, 각도 센서가 아니라 실린더 스트로크 센서에 의해 셔블의 자세 정보를 산출하는 것으로 해도 된다. 또한, 유압 파일럿식 셔블을 예로서 설명하였지만, 전기 레버식 셔블이라면 전기 레버로부터 생성되는 명령 전류를 제어하는 구성으로 해도 된다. 프론트 작업 장치(1A)의 속도 벡터의 산출 방법에 대하여, 오퍼레이터 조작에 의한 파일럿압이 아니라, 붐(8), 암(9), 버킷(10)의 각도를 미분함으로써 산출되는 각속도로부터 구해도 된다.
상기 제어 컨트롤러(40)에 관한 각 구성이나 당해 각 구성의 기능 및 실행 처리 등은, 그것들의 일부 또는 전부를 하드웨어(예를 들어 각 기능을 실행하는 로직을 집적 회로로 설계하는 등)로 실현해도 된다. 또한, 상기 제어 컨트롤러(40)에 관한 구성은, 연산 처리 장치(예를 들어 CPU)에 의해 판독ㆍ실행됨으로써 당해 제어 컨트롤러(40)의 구성에 관한 각 기능이 실현되는 프로그램(소프트웨어)으로 해도 된다. 당해 프로그램에 관한 정보는, 예를 들어 반도체 메모리(플래시 메모리, SSD 등), 자기 기억 장치(하드 디스크 드라이브 등) 및 기록 매체(자기 디스크, 광 디스크 등) 등에 기억할 수 있다.
본 발명은 상기 실시 형태에 한정되는 것은 아니며, 그 요지를 일탈하지 않는 범위 내의 여러 가지 변형예가 포함된다. 예를 들어, 본 발명은 상기 실시 형태에서 설명한 모든 구성을 구비하는 것에 한정되지 않고, 그 구성의 일부를 삭제한 것도 포함된다. 또한, 실시 형태에 관한 구성의 일부를 다른 구성으로 치환, 또는 다른 구성을 추가하는 것도 가능하다.