KR20110084630A - 인간형 로봇 및 그 보행 제어방법 - Google Patents
인간형 로봇 및 그 보행 제어방법 Download PDFInfo
- Publication number
- KR20110084630A KR20110084630A KR1020100004285A KR20100004285A KR20110084630A KR 20110084630 A KR20110084630 A KR 20110084630A KR 1020100004285 A KR1020100004285 A KR 1020100004285A KR 20100004285 A KR20100004285 A KR 20100004285A KR 20110084630 A KR20110084630 A KR 20110084630A
- Authority
- KR
- South Korea
- Prior art keywords
- joint
- robot
- torque
- position trajectory
- compensation value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000005484 gravity Effects 0.000 claims description 32
- 230000005021 gait Effects 0.000 claims description 4
- 210000002683 foot Anatomy 0.000 description 34
- 210000002414 leg Anatomy 0.000 description 13
- 210000001503 joint Anatomy 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 210000000544 articulatio talocruralis Anatomy 0.000 description 6
- 210000000629 knee joint Anatomy 0.000 description 3
- 210000002310 elbow joint Anatomy 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 210000000323 shoulder joint Anatomy 0.000 description 2
- 210000003857 wrist joint Anatomy 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Robotics (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
관절 토크의 서보 제어에 기반하여 안정적인 보행을 구현하는 인간형 로봇과 그 보행 제어방법을 개시한다. 인간형 로봇은 센서의 측정값으로 관절 위치 궤적 보상값과 관절 토크 보상값을 각각 계산하고, 계산된 보상값들을 이용하여 관절 위치 궤적과 관절 토크를 보상하고, 보상된 관절 토크에 따라 관절에 설치된 모터를 구동시킬 수 있다.
Description
관절에 설치된 모터의 토크를 서보 제어하여 안정적인 보행을 구현하는 인간형 로봇 및 그 보행 제어방법에 관한 것이다.
인간과 유사한 관절 체계를 가지고 인간의 작업 및 생활공간에 용이하게 적용될 수 있는 두 발로 걷는 보행 로봇의 연구 개발이 활발하게 진행되고 있다.
이족 로봇의 보행 제어 방법으로는 위치 기반의 Zero Moment Point(이하, ZMP라 한다) 보행 제어방법과 토크 기반의 동적 보행 제어방법 또는 Finite State Machine(이하, FSM라 한다) 보행 제어방법이 있다.
ZMP 기반 보행 제어방법은 보행 방향, 보행 폭, 보행 속도 등을 미리 설정하고, 이 설정에 대응하는 양발과 몸통의 보행 패턴을 ZMP 구속조건에 의해 생성하며, 그 보행 패턴의 역기구학(Inverse Kinematics) 계산을 통해 각 다리의 관절 위치 궤적을 계산한다. 또한, 각 다리의 관절이 계산된 관절 위치 궤적을 추종하도록 하는 위치 서보 제어(position servo control)를 통해 구현된다. 보행 시 각 다리의 관절은 보행패턴으로부터 구한 관절 위치의 궤적을 정확히 추종하도록 제어한다.
ZMP 기반 보행 제어방법은 역기구학으로부터 각 관절의 각도를 계산할 때 기구학적 특이점(kinematic singularity)을 피해야 하므로 보행 중 무릎을 항상 굽힌 자세를 유지해야 하기 때문에 인간과 다른 부자연스러운 보행을 할 수 있다.
ZMP 기반 보행 제어 방법은 ZMP를 제어하기 위해 각 관절의 정확한 위치 제어를 수행해야 하므로 높은 위치 서보 제어 게인(gain)을 필요로 한다. 그 결과 모터에서 높은 전류를 필요로 하기 때문에 에너지 비효율적이고, 관절의 강성이 커져서 주위환경에의 충돌 시 큰 충격을 줄 수 있다.
FSM 기반 보행 제어방법은 보행 로봇의 각 동작의 상태(여기서 상태라 함은 FSM에서의 상태(state)를 의미한다)를 미리 정의해 두고, 보행 시 각 동작의 상태(state)를 참조하여 각 관절의 토크를 제어하여 적절히 보행하는 방식이다.
FSM 기반 보행 제어방법은 보행 시 동작 상태를 바꿈으로써 로봇이 다양한 포즈를 취할 수 있으나 한정된 동작 상태에서 선정해야 하는 제약으로 인하여 임무 수행을 위한 보행 동작과 관계 없이 로봇의 균형을 잡기 위한 별도의 동작을 하게 된다. 이러한 밸런싱 동작은 로봇의 발을 구르는 스텝 모션이 대표적이며, 이러한 불필요한 동작으로 인하여 시간 지연이 발생하고 에너지가 낭비된다.
4족 보행 로봇에 비하여 로봇의 균형 유지가 어려운 이족 로봇과 같은 인간형 로봇에 FSM 기반 보행을 적용하기 위해서는 인간형 로봇이 주위 환경과 상호 작용하는 것을 감안할 필요가 있다. 즉 주위 환경에 따라 로봇의 동작 상태를 피드백하여 보행 동작을 제어하는 것이 요구된다.
FSM 기반 보행 제어 시 각 관절에 설치된 모터의 토크를 서보 제어하여 안정적인 보행을 구현하는 인간형 로봇 및 그 보행 제어방법을 개시한다.
본 발명의 실시예에 따른 인간형 로봇은, 로봇 보행 시 움직일 수 있는 관절들을 포함하는 로봇 관절부; 상기 로봇의 착지 정보와 자세 정보를 측정하는 센서부; 상기 로봇의 착지 정보와 자세 정보를 이용하여 상기 각 관절의 위치 궤적을 발생하는 관절 위치 궤적 발생부; 상기 각 관절의 위치 궤적을 보상하기 위한 관절 위치 궤적 보상값을 계산하는 관절 위치 궤적 보상값 계산부; 상기 관절 위치 궤적 보상값을 이용하여 상기 각 관절의 위치 궤적을 보상하고, 보상된 각 관절의 위치 궤적에 따라 각 관절의 관절 토크를 계산하는 관절 토크 계산부; 상기 각 관절의 관절 토크를 보상하기 위한 관절 토크 보상값을 계산하는 관절 토크 보상값 계산부; 상기 관절 토크 보상값을 이용하여 상기 각 관절의 토크 명령을 보상하고, 보상된 각 관절의 토크 명령을 추종하도록 모터 전류를 계산하고, 계산된 모터 전류에 따라 상기 각 관절에 설치된 모터의 토크를 서보 제어하는 관절 토크 서보 제어부;를 포함한다.
상기 센서부가 로봇의 착지 상태를 측정하기 위한 다축 F/T 센서와 상기 로봇의 자세를 측정하기 위한 포즈 센서를 포함한다.
상기 관절 위치 궤적 발생부가 왼발 또는 오른발이 지면에 착지할 경우 서로 스위칭하는 복수의 상태 머신과, 상기 복수의 상태 머신의 스위칭에 따라 왼발 또는 오른발의 착지 상태를 판단하여 상기 각 관절의 관절 위치 궤적 명령을 계산하는 관절 위치 궤적 계산부를 포함한다.
상기 제1위치 연산기는 관절 위치 궤적 명령 ()과 상기 모터로부터 피드백되는 현재 관절 위치 ()의 감산값 (-)을 출력하고, 상기 비례 게인 제어기는 상기 감산값 (-)과 비례 게인()의 곱셈값()을 상기 제2위치 연산기에 출력하고, 상기 제3위치 연산기는 미분된 관절 위치 궤적 명령()과 미분된 현재 관절 위치()의 감산값(- )을 상기 미분 게인 제어기에 출력하고, 상기 미분 게인 제어기는 상기 감산값(- )과 미분 게인()의 곱셈값((- ))을 상기 제2위치 연산기에 출력하며, 상기 제2위치 연산기는 두 곱셈값()((- ))들과 역 운동학 방정식을 이용하여 미리 계산된 피드포워드 파라미터()를 가산하여 상기 각 관절의 관절 토크 명령()을 출력한다.
상기 관절 토크 서보 제어부는 모터 제어기와 상기 모터의 토크를 측정하는 토크 센서를 포함하고, 상기 모터 제어기는 상기 토크 센서에 의해 측정된 관절 토크값을 피드백받아 상기 각 관절의 토크 명령을 추종하도록 상기 모터를 구동시킨다.
상기 제1토크 연산기는 관절 토크 명령 ()과 상기 토크 센서로부터 피드백되는 현재 모터 토크()의 감산값 ()을 출력하고, 상기 비례 게인 제어기가 상기 감산값 ()과 비례 게인()의 곱셈값()을 상기 제2토크 연산기에 출력하고, 상기 적분기가 상기 감산값 ()을 적분하여 상기 적분 게인 제어기에 출력하고, 상기 적분 게인 제어기가 적분한 감산값()과 적분 게인()의 곱셈값()을 상기 제2토크 연산기에 출력하고, 상기 제3토크 연산기가 미분된 관절 토크 명령()과 미분된 현재 모터 토크()의 감산값()을 상기 미분 게인 제어기에 출력하고, 상기 미분 게인 제어기가 상기 감산값()과 미분 게인()의 곱셈값()을 상기 제2토크 연산기에 출력하고, 상기 제2토크 연산기가 상기 곱셈값()()()들과 역 운동학 방정식을 이용하여 미리 계산된 피드포워드 파라미터()을 가산하여 모터 전류()를 출력한다.
상기 센서부가 상기 로봇의 착지 상태를 측정하기 위한 다축 F/T 센서와 상기 로봇의 자세를 측정하기 위한 포즈 센서를 포함하고, 상기 관절 위치 궤적 보상값 계산부가 로봇의 발이 지면에 접촉 시 상기 다축 F/T 센서로부터 힘과 모멘트 정보를 입력받고, 상기 포즈 센서로부터 로봇의 자세 정보를 입력받아 관절 위치 궤적 보상값()을 계산하며, 상기 관절 토크 계산부가 상기 관절 위치 궤적 보상값()을 이용하여 식 3과 같은 보상된 관절 위치 궤적 명령()에 따라 관절 토크를 계산한다.
여기서 는 원래 관절 위치 궤적 명령이고, 상기 관절 위치 궤적 보상값()은 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 중 어느 하나의 파라미터의 함수로 계산된다.
상기 관절 위치 궤적 보상값은 식 4와 같이 계산된다.
여기서, 는 로봇의 무게 중심 명령값이고, 는 로봇 무게 중심의 실제값이고, 는 비례 게인이고, 는 로봇의 무게중심 속도이고, 는 로봇 무게 중심 속도의 실제값이고, 는 미분 게인이다.
상기 센서부가 상기 로봇의 착지 상태를 측정하기 위한 다축 F/T 센서와 상기 로봇의 자세를 측정하기 위한 포즈 센서를 포함하고, 상기 관절 토크 보상값 계산부가 로봇의 발이 지면에 접촉 시 상기 다축 F/T 센서로부터 힘과 모멘트 정보를 입력받고, 상기 포즈 센서로부터 로봇의 자세 정보를 입력받아 관절 토크 보상값()을 계산하며, 상기 관절 토크 서보 제어부가 식 5와 같은 보상된 관절 토크 명령()에 따라 관절 토크를 계산한다.
여기서 는 원래 관절 토크 명령이고, 상기 관절 토크 보상값( )은 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 중 어느 하나의 파라미터의 함수로 계산된다.
상기 관절 토크 보상값은 식 6과 같이 계산된다.
여기서 는 로봇의 무게 중심 명령값이고, 는 로봇 무게 중심의 실제값이고, 는 비례 게인이고, 는 로봇의 무게중심 속도이고, 는 로봇 무게 중심 속도의 실제값이고, 는 미분 게인이다.
본 발명의 실시예에 따른 인간형 로봇의 보행 제어방법은, 로봇의 보행을 위해 각 관절의 관절 위치 궤적을 계산하고; 상기 로봇에 설치된 센서로 측정한 상기 로봇의 착지 정보와 자세 정보를 이용하여 상기 각 관절의 위치 궤적을 보상하기 위한 관절 위치 궤적 보상값을 계산하고; 상기 관절 위치 궤적 보상값을 이용하여 보상한 관절 위치 궤적에 따라 상기 각 관절의 토크를 계산하고; 상기 로봇에 설치된 센서로 측정한 상기 로봇의 착지 정보와 자세 정보를 이용하여 상기 각 관절의 관절 토크를 보상하기 위한 관절 토크 보상값을 계산하고; 상기 관절 토크 보상값을 이용하여 보상한 관절 토크 명령을 추종하도록 모터 전류를 계산하고, 계산된 모터 전류에 따라 각 관절에 설치된 모터의 토크를 서보 제어하는 것;을 포함한다.
상기 관절 위치 궤적을 계산하는 것은 왼발 또는 오른발이 지면에 착지한 상태를 판단하여 상기 각 관절의 관절 위치 궤적 명령을 계산하는 것을 포함한다.
상기 각 관절의 토크를 계산하는 것은 각 관절의 관절 위치 궤적 명령 ()과 현재 관절 위치 ()의 감산값 (-)을 출력하고, 상기 감산값 (-)과 비례 게인()의 곱셈값()을 출력하고, 미분된 관절 위치 궤적 명령()과 미분된 현재 관절 위치()의 감산값(- )을 출력하고, 상기 감산값(- )과 미분 게인()의 곱셈값((- ))을 출력하고, 상기 두 곱셈값()((- ))들과 역 운동학 방정식을 이용하여 미리 계산된 피드포워드 파라미터()를 가산하여 상기 각 관절의 관절 토크 명령()을 출력하는 것을 포함한다.
상기 모터 전류를 계산하는 것은 관절 토크 명령 ()과 현재 모터 토크()의 감산값 ()을 출력하고, 상기 감산값 ()과 비례 게인()의 곱셈값()을 출력하고, 상기 감산값 ()을 적분하고, 상기 적분한 감산값()과 적분 게인()의 곱셈값()을 출력하고, 미분된 관절 토크 명령()과 미분된 현재 모터 토크()의 감산값()을 출력하고, 상기 감산값()과 미분 게인()의 곱셈값()을 출력하고, 상기 곱셈값()()()들과 역 운동학 방정식을 이용하여 미리 계산된 피드포워드 파라미터()을 가산하여 모터 전류()를 출력하는 것을 포함한다.
상기 로봇의 착지 상태를 측정하기 위한 다축 F/T 센서로부터 힘과 모멘트 정보를 입력받고, 상기 로봇의 자세를 측정하기 위한 포즈 센서로부터 로봇의 자세 정보를 입력받아 상기 관절 위치 궤적 보상값을 계산하되, 상기 관절 위치 궤적 보상값()은 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 중 어느 하나의 파라미터의 함수로 계산되고, 상기 보상된 관절 위치 궤적 명령()은 원래 관절 위치 궤적 명령()과 계산된 관절 위치 궤적 보상값()을 더하여 구한다.
이상과 같이 실시예에 의한 인간형 로봇 및 그 보행 제어방법은, FSM 기반 보행 제어에 의해 모터 토크를 서보 제어하므로 기존의 보행 방법보다 다음과 같은 장점을 가질 수 있다. 먼저 보행 중 각 관절의 위치를 정확하게 제어할 필요가 없으므로 낮은 서보 게인으로 보행이 가능하여 에너지 소비를 줄일 수 있다. 또한 보행 중 각 관절의 저강성을 가짐으로써 주위 환경과의 충돌 시 충격을 적게할 수 있어 안전하며, 역기구학을 풀어야 하는 기존의 보행 방법에서 실행하기 어려운 무릎 펴기 보행을 할 수 있어 인간 친화적인 보행을 구현할 수 있고 무릎을 굽히는데 필요한 에너지를 절약할 수 있다. 또한 복잡한 동역학 방정식을 풀지 않아도 되므로 6자유도의 관절을 가진 로봇에 적용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 인간형 로봇의 외관을 나타낸 도면이다.
도 2는 도 1의 인간형 로봇의 관절 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 FSM 기반 보행 시 적용하는 로봇 동작 상태 및 제어 동작을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 인간형 로봇의 제어 블록도이다.
도 5는 도 4의 관절 위치 궤적 발생부의 상세 구성도이다.
도 6은 본 발명의 일 실시예에 따른 관절 위치 궤적 명령을 이용하여 계산된 관절 토크 명령에 따라 모터를 구동하는 동작을 설명하는 블록선도이다.
도 7은 도 4의 관절 토크 서보 제어부의 상세 구성도이다.
도 8은 본 발명의 일 실시예에 따른 관절 토크 명령에 따라 구동하는 모터를 서보 제어하는 동작을 설명하는 블록선도이다.
도 9는 본 발명의 일 실시예에 따른 인간형 로봇의 보행 제어방법을 나타낸 흐름도이다.
도 2는 도 1의 인간형 로봇의 관절 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 FSM 기반 보행 시 적용하는 로봇 동작 상태 및 제어 동작을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 인간형 로봇의 제어 블록도이다.
도 5는 도 4의 관절 위치 궤적 발생부의 상세 구성도이다.
도 6은 본 발명의 일 실시예에 따른 관절 위치 궤적 명령을 이용하여 계산된 관절 토크 명령에 따라 모터를 구동하는 동작을 설명하는 블록선도이다.
도 7은 도 4의 관절 토크 서보 제어부의 상세 구성도이다.
도 8은 본 발명의 일 실시예에 따른 관절 토크 명령에 따라 구동하는 모터를 서보 제어하는 동작을 설명하는 블록선도이다.
도 9는 본 발명의 일 실시예에 따른 인간형 로봇의 보행 제어방법을 나타낸 흐름도이다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.
도 1에 도시한 바와 같이, 인간형 로봇(100)의 상체(102) 상부에는 목(120)을 통해 머리(104)가 연결된다. 상체(102) 상부 양측에는 어깨(114L, 114R)를 통해 두 개의 팔(106L, 106R)이 연결된다. 두 개의 팔(106L, 106R) 각각의 말단에는 손(33L, 33R)이 연결된다. 상체(102)의 하부 양측에는 두 개의 다리(110L, 110R)가 연결된다. 두 개의 다리(110L, 110R) 각각의 말단에는 발(112L, 112R)이 연결된다.
머리(104)와 두 개의 팔(106L, 106R), 두 개의 다리(110L, 110R), 각각 두 개씩의 손(33L, 33R)과 발(112L, 112R) 각각은 관절을 통해 일정 수준의 자유도를 갖는다. 상체(102)의 내부는 커버(116)에 의해 보호된다. 참조 부호에서 "R"과 "L"는 각각 로봇(100)의 우측(right)과 좌측(left)을 나타낸다.
도 2는 도 1에 나타난 로봇의 관절 구조를 나타낸 도면이다. 도 2에 나타낸 바와 같이, 인간형 로봇(100)의 두 개의 다리(110L, 110R)는 각각 대퇴 링크(21)와 하퇴 링크(22), 발(112L, 112R)을 구비한다. 대퇴 링크(21)는 대퇴 관절부(210)를 통해 상체(102)에 연결된다. 대퇴 링크(21)와 하퇴 링크(22)는 무릎 관절부(220)를 통해 서로 연결되고, 하퇴 링크(22)와 발(112L, 112R)은 발목 관절부(230)를 통해 서로 연결된다.
대퇴 관절부(210)는 3 자유도를 갖는다. 구체적으로 대퇴 관절부(210)는 요유 방향(yaw, Z축 주위의 회전)의 회전 관절(211)과, 피치 방향(pitch, Y축 주위의 회전)의 회전 관절(212), 롤 방향(roll, X축 주위의 회전)의 회전 관절(213)을 갖는다.
무릎 관절부(220)는 피치 방향의 회전 관절(221)을 포함하여 1 자유도를 가진다. 발목 관절부(230)는 피치 방향의 회전 관절(231)과 롤 방향의 회전 관절(232)을 포함하여 2 자유도를 가진다.
두 개의 다리(110L, 110R) 각각에는 세 관절부(210, 220, 230)에 대해 6개의 회전 관절이 마련되므로, 두 개의 다리(110L, 110R) 전체에 대해서는 12개의 회전 관절이 마련된다.
한편 두 개의 다리(110L, 110R)에서 발(112L, 112R)과 발목 관절부(230)의 사이에는 다축 F/T센서(Multi-Axis Force and Torque Sensor)(24)가 각각 설치된다. 다축 F/T 센서(24)는 발(112L, 112R)로부터 전달되는 힘의 3방향 성분(Fx, Fy, Fz)과 모멘트의 3방향 성분(Mx, My, Mz)을 측정함으로써 발(112L, 112R)의 착지여부 및 발(112L, 112R)에 가해지는 하중을 검출할 수 있다.
머리(104)에는 주위를 촬영하는 카메라(41)와, 사용자 음성을 입력하는 마이크로폰(42)이 설치된다.
머리(104)는 목 관절부(280)를 통해 상체(102)와 연결된다. 목 관절부(280)는 요우 방향의 회전 관절(281), 피치 방향의 회전 관절(282) 및 롤 방향의 회전 관절(283)을 포함하여 3 자유도를 가질 수 있다.
목 관절부(280)의 각각의 회전 관절(281, 282, 283)에는 머리 회전용 모터들(미도시)이 연결된다.
어깨 관절 어셈블리(250L, 250R)는 상체(102)의 양측에 장착되어 두 개의 팔(106L, 106R)을 상체(102)에 연결한다.
두 개의 팔(106L, 106R)은 상박 링크(31), 하박 링크(32) 및 손(33)을 구비한다. 상박 링크(31)는 어깨 관절 어셈블리(250L. 250R)를 통해 상체(102)에 연결된다. 상박 링크(31)와 하박 링크(32)는 팔꿈치 관절부(260)를 통해 서로 연결되고, 하박 링크(32)와 손(33)은 손목 관절부(270)를 통해 서로 연결된다.
팔꿈치 관절부(260)는 피치 방향의 회전 관절(261)과, 요우 방향의 회전 관절(262)를 포함하여 2 자유도를 가지고, 손목 관절부(270)는 피치 방향의 회전 관절(271)과 롤 방향의 회전 관절(272)을 포함하여 2 자유도를 가질 수 있다.
손(33)에는 5개의 손가락(33a)이 설치된다. 각각의 손(33a)에는 모터에 의해 구동되는 다수의 관절(미도시)들이 설치될 수 있다. 손가락(33a)은 팔(106)의 움직임에 연동하여 물건을 파지하거나 특정 방향을 가리키는 것과 같은 다양한 동작을 실행한다.
상체(102)에는 포즈 센서(pose sensor)(14)가 설치된다. 포즈 센서(14)는 연직축에 대한 상체(102)의 경사 각도와 그 각속도 등을 검출하여 자세 정보를 발생시킨다. 이 포즈 센서(14)는 상체(102) 뿐만 아니라 머리(104)에 설치해도 좋다. 또한 상체(102)를 구성하는 가슴(102a)과 허리(102b) 사이에는 가슴(102a)이 허리(102b)에 대해 회전할 수 있도록 요우 방향의 회전 관절(15)이 설치된다.
인간형 로봇(100)에는 각 회전 관절을 구동하는 모터(405; 도 6 참조) 등과 같은 액츄에이터가 설치된다. 이 모터(405)를 적절히 제어함으로써 인간형 로봇(100)의 다양한 동작을 구현할 수 있다.
FSM 기반 보행 제어방법은, 도 3에 예시한 바와 같이, 로봇의 동작 상태를 미리 정의된 6개(S1, S2, S3, S4, S5, S6)로 구분할 수 있다. 각각의 동작 상태는 보행 시 로봇이 취하는 포즈를 의미한다.
제1상태(flight)(S1)는 다리를 스윙하는 포즈이고, 제2상태(loading)(S2)는 발을 지면에 내려 놓는 포즈이며, 제3상태(heel contact)(S3)는 발 뒤쪽(heel)을 지면에 접촉시키는 포즈이고, 제4상태(heel and toe contact)(S4)는 발 뒤쪽(heel)과 앞쪽(toe)을 동시에 지면에 접촉시키는 포즈이며, 제5상태(toe contact)(S5)는 발 앞쪽(toe)을 접촉시키는 포즈이고, 제6상태(unloading)(S6)는 발을 지면에서 떼어 내는 포즈에 해당한다.
도 4는 본 발명의 일 실시예에 따른 인간형 로봇의 제어 블록도이고, 도 5는 도 4의 관절 위치 궤적 발생부의 상세 구성도이다.
도 4에 도시한 바와 같이, 인간형 로봇(100)은 관절 위치 궤적 발생부(300), 관절 토크 계산부(310), 관절 토크 서보 제어부(320), 관절부(101), 센서부(330), 관절 위치 궤적 보상값 계산부(340), 관절 토크 보상값 계산부(350)를 포함한다.
로봇 관절부(101)는 로봇 보행을 위한 두 개의 다리(110L, 110R)의 대퇴 관절부(210), 무릎 관절부(220), 발목 관절부(230) 전체에 대해 12개의 회전 관절을 포함하는 것으로, 이때 두 개의 다리에 속하는 관절만으로 한정되는 것은 아니고 안정적인 보행을 위해 상체와 팔 등 인간형 로봇(100)의 모든 관절을 포함할 수 있다.
센서부(330)는 상체(102)에 설치된 포즈 센서(14)와 발목 관절부(230)에 설치된 다축 F/T 센서(24)와, 로봇 관절부(101)의 각 관절에 설치된 모터(405)의 회전을 측정하는 엔코더(405b)를 포함한다.
도 5에서 관절 위치 궤적 발생부(300)는 상태 머신 1(301), 상태 머신 2(302), 관절 위치 궤적 계산부(303)를 포함한다.
상태 머신 1(301)과 상태 머신(302)는 오른발 또는 왼발이 지면에 착지할 경우 발목 관절부(230)에 설치된 F/T 센서(24)의 착지 신호에 따라 서로 스위칭을 한다. 왼발이 스윙하고 오른발이 착지 상태이면 상태 머신 2(302)에서 상태 머신 1(301)로 스위칭하고, 오른발이 스윙하고 왼발이 착지 상태이면 상태 머신 1(301)에서 상태 머신 2(302)로 스위칭한다.
관절 위치 궤적 계산부(303)는 상태 머신 1(301)과 상태 머신2(302)의 스위칭에 따라 왼발과 오른발의 착지 상태를 판단하여 로봇 관절부(101)의 각 관절의 위치 궤적 명령 ()을 계산한다.
관절 위치 궤적 명령()을 생성하는 다른 실시예로는, 사람의 모션을 캡쳐하고 한 주기내에서 각 관절의 움직임을 추출한 후 이 추출 정보를 바탕으로 인간형 로봇의 관절 위치에 매칭시켜서 관절 위치 궤적 명령을 계산할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 관절 위치 궤적 명령을 이용하여 계산된 관절 토크 명령에 따라 모터를 구동하는 동작을 설명하는 블록선도이다.
도 6에서, 제1위치 연산기(401)가 관절 위치 궤적 명령 ()과 모터(405)로부터 피드백되는 현재 관절 위치 ()의 감산값 (-)을 비례 게인 제어기(402)에 출력한다. 여기서 현재 관절 위치 ()는 모터(405)에 설치된 엔코더(405a)에 의해 측정될 수 있다.
제3위치 연산기(408)가 미분 제어기(407)에 의해 미분된 관절 위치 궤적 명령()과 미분 제어기(406)에 의해 미분된 현재 관절 위치()의 감산값(- )을 미분 게인 제어기(409)에 출력한다. 미분 게인 제어기(409)는 감산값(- )과 미분 게인()의 곱셈값((- ))을 제2위치 연산기(403)에 출력한다.
제2위치 연산기(403)는 두 곱셈값()((- ))들과 역 운동학 방정식(Inverse Dynamics)을 이용하여 미리 계산된 피드포워드(feedforward) 파라미터()을 가산하고, 그 가산값()을 출력한다. 여기서 가산값()은 관절 토크 계산부(310)에서 계산된 각 관절의 관절 토크 명령()를 의미하며, 그러한 하나의 예는 식1과 같이 나타낼 수 있다.
식 1은 비례 미분(PD) 제어기와 피드 포워드(FF) 제어기를 이용한 것이나, 이에 한정하는 것은 아니며 각 관절의 위치()가 관절 위치 궤적 명령()을 추종할 수 있는 어떠한 제어기도 이용할 수 있다. 식 1에서 비례 게인, 미분 게인, 피드포워드 파라미터는 안정적인 보행을 위해 반복적인 튜닝 작업을 통해 구할 수 있다.
관절 토크 명령()은 감쇠 제어기(404)에서 모터 토크상수(1/Kt)와 곱해지고, 그 곱셈값인 모터 전류()에 따라 로봇 관절부(101)의 각 관절에 설치된 모터(405)를 구동시킬 수 있다. 이때, 관절 토크 계산부(310)에 의해 계산된 각 관절의 관절 토크 명령()이 관절 토크 서보 제어부(320)에 제공된다.
도 7에서, 관절 토크 서보 제어부(320)는 모터 제어기(321)를 포함한다. 모터 제어기(321)는 토크 센서(405b)에 의해 측정된 관절 토크값을 피드백받아 관절 토크 명령()을 추종하도록 모터(405)를 구동시킨다. 이때 모터 제어기(321)는 토크 센서(405b)에 의해 측정된 관절 토크값을 피드백받는 것으로 한정되지 않고 모터(405)의 전류를 측정하는 전류 센서로부터 측정된 전류로부터 추정된 관절 토크값을 이용할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 관절 토크 명령에 따라 구동하는 모터를 서보 제어하는 동작을 설명하는 블록선도이다.
도 8에서, 제1토크 연산기(501)가 상기 각 관절의 토크 명령 ()과 토크 센서(405b)로부터 피드백되는 현재 모터 토크()의 감산값 ()을 비례 게인 제어기(502)에 출력한다. 비례 게인 제어기(502)가 감산값 ()과 비례 게인()의 곱셈값()을 제2토크 연산기(505)에 출력한다.
적분기(503)는 감산값 ()을 적분하여 적분 게인 제어기(504)에 출력하고, 적분 게인 제어기(504)는 적분한 감산값()과 적분 게인()의 곱셈값()을 제2토크 연산기(505)에 출력한다.
제3토크 연산기(508)가 미분 제어기(507)에 의해 미분된 관절 토크 명령()과 미분 제어기(506)에 의해 미분된 현재 모터 토크()의 감산값()을 미분 게인 제어기(509)에 출력한다. 미분 게인 제어기(509)는 감산값()과 미분 게인()의 곱셈값()을 제2토크 연산기(505)에 출력한다.
제2토크 연산기(505)는 세 곱셈값()()()들과 역 운동학 방정식(Inverse Dynamics)을 이용하여 미리 계산된 피드포워드(feedforward) 파라미터()을 가산하고, 그 가산값을 출력한다. 여기서 가산값은 모터(405)에 인가되는 모터 전류()로서 그러한 하나의 예는 식 2와 같이 나타낼 수 있다.
식 2은 비례 적분 미분(PID) 제어기와 피드 포워드(FF) 제어기를 이용한 것이나, 이에 한정하는 것은 아니며 각 관절의 위치()가 관절 위치 궤적 명령()을 추종할 수 있는 어떠한 제어기도 이용할 수 있다. 식 2에서 비례 게인, 미분 게인, 적분 게인, 피드포워드 파라미터는 안정적인 보행을 위해 반복적인 튜닝 작업을 통해 구할 수 있다.
이와 같이 관절 토크 서보 제어부(320)에 의해 로봇 관절부(101)가 토크 서보 제어에 기반하여 보행 동작을 실행할 수 있다.
로봇의 포즈를 전환하여 보행 시 보행면의 상태, 장애물의 출현 등 주위 환경에 따라 보행 제어가 부적절하여 로봇이 균형을 잃을 수 있기 때문에, 인간형 로봇에 있어서는 주위 환경과 상호 작용하는 정보와 로봇의 자세 정보를 피드백 받아서 관절 위치 궤적 명령과 관절 토크 명령을 보상하여 보행 동작을 안정적으로 제어할 필요가 있다.
도 4에서 관절 위치 궤적 보상값 계산부(340)가 센서부(330)에 의해 측정된 값을 이용하여 관절 위치 궤적 명령을 보상하기 위한 관절 위치 궤적 보상값을 생성하여 관절 토크 계산부(310)에 제공한다. 즉, 로봇의 발이 지면에 접촉 시 관절 위치 궤적 보상값 계산부(340)가 다축 F/T 센서(24)로부터 힘과 모멘트 정보를 입력받고, 포즈 센서(14)로부터 로봇의 자세 정보를 입력받아 관절 위치 궤적 보상값()을 계산할 수 있다.
여기서 는 원래 관절 위치 궤적 명령이고, 는 관절 위치 궤적 보상값으로 여러 가지 파라미터의 함수로부터 계산될 수 있으며, 여러 가지 파라미터는 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 이 될 수 있다.
관절 위치 궤적 보상값()은 로봇의 무게 중심 명령값()과 실제값()의 차이() 에 비례 게인()을 곱하고, 로봇의 무게중심 속도()와 실제값()의 차이()에 미분 게인()을 곱한 후 두 곱셈값()()을 가산하여 얻는다.
관절 토크 보상값 계산부(350)는 센서부(330)에 의해 측정된 값을 이용하여 관절 토크 명령을 보상하기 위한 관절 토크 보상값을 생성하여 관절 토크 서보 제어부(320)에 제공한다. 즉, 로봇의 발이 지면에 접촉 시 관절 토크 보상값 계산부(350)가 다축 F/T 센서(24)로부터 힘과 모멘트 정보를 입력받고, 포즈 센서(14)로부터 로봇의 자세 정보를 입력받아 관절 토크 보상값()을 계산할 수 있다.
여기서 는 원래 관절 토크 명령이고, 는 관절 토크 보상값으로 여러 가지 파라미터의 함수로부터 계산될 수 있으며, 여러 가지 파라미터는 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 이 될 수 있다.
관절 토크 보상값()은 로봇의 무게 중심 명령값()과 실제값()의 차이() 에 비례 게인()을 곱하고, 로봇의 무게중심 속도()와 실제값()의 차이()에 미분 게인()을 곱한 후 두 곱셈값()()을 가산하여 얻는다.
실시예에서는 관절 위치 궤적 명령과 관절 토크 명령을 모두 보상하였으나, 관절 위치 궤적 명령과 관절 토크 명령 중 어느 하나를 보상하는 방식을 적용하여 인간형 로봇의 안정적인 보행 동작을 구현할 수도 있다.
이하에서는 본 발명의 일 실시예에 따른 인간형 로봇의 보행 제어방법을 설명한다.
기본적으로 FSM에 기반하여 인간형 로봇(100)이 보행한다. 보행 동작을 실행하려면 관절 위치 궤적 계산부(303)가 센서부(300)의 측정값을 이용하여 왼발과 오른발의 착지 상태를 판단하여 로봇 관절부(101)의 각 관절의 위치 궤적 명령 ()을 계산한다(601). 여기서 관절 위치 궤적 명령()을 생성하는 다른 예로는, 사람의 모션을 캡쳐하고 한 주기내에서 각 관절의 움직임을 추출한 후 이 추출 정보를 바탕으로 인간형 로봇의 관절 위치에 매칭시켜서 관절 위치 궤적 명령을 계산할 수도 있다.
관절 위치 궤적 보상부(340)가 다축 F/T 센서(24)로부터 힘과 모멘트 정보를 입력받고, 포즈 센서(14)로부터 로봇의 자세 정보를 입력받아 관절 위치 궤적 보상값()을 계산한다(603). 여기서 관절 위치 궤적 보상값()은 여러 가지 파라미터의 함수로부터 계산될 수 있으며, 여러 가지 파라미터는 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 이 될 수 있다.
계산된 관절 위치 궤적 보상값()은 관절 토크 계산부(310)에 제공된다. 그러면 관절 토크 계산부(310)는 원래 관절 위치 궤적 명령()에 관절 위치 궤적 보상값()을 더하여 보상하고(605), 식3과 같이 보상된 관절 위치 궤적 명령()에 따라 관절 토크를 계산할 수 있다(607).
관절 토크 보상값 계산부(350)가 다축 F/T 센서(24)로부터 힘과 모멘트 정보를 입력받고, 포즈 센서(14)로부터 로봇의 자세 정보를 입력받아 관절 토크 보상값()을 계산한다(609). 여기서 관절 토크 보상값()은 여러 가지 파라미터의 함수로부터 계산될 수 있으며, 여러 가지 파라미터는 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 이 될 수 있다.
계산된 관절 토크 보상값()은 관절 토크 서보 제어부(320)에 제공된다. 그러면 관절 토크 서보 제어부(320)가 원래 관절 토크 명령()에 관절 토크 보상값()을 더하여 보상하고(611), 도 5와 같이 보상된 관절 토크 명령()에 따라 로봇 관절부(101)의 각 관절에 설치된 모터(405)를 구동한다(613).
300 : 관절 위치 궤적 발생부
310 : 관절 토크 계산부
320 : 관절 토크 서보 제어부
330 : 센서부
340 : 관절 위치 궤적 보상값 계산부
350 : 관절 토크 보상값 계산부
310 : 관절 토크 계산부
320 : 관절 토크 서보 제어부
330 : 센서부
340 : 관절 위치 궤적 보상값 계산부
350 : 관절 토크 보상값 계산부
Claims (17)
- 로봇 보행 시 움직일 수 있는 관절들을 포함하는 로봇 관절부;
상기 로봇의 착지 정보와 자세 정보를 측정하는 센서부;
상기 로봇의 착지 정보와 자세 정보를 이용하여 상기 각 관절의 위치 궤적을 발생하는 관절 위치 궤적 발생부;
상기 각 관절의 위치 궤적을 보상하기 위한 관절 위치 궤적 보상값을 계산하는 관절 위치 궤적 보상값 계산부;
상기 관절 위치 궤적 보상값을 이용하여 상기 각 관절의 위치 궤적을 보상하고, 보상된 각 관절의 위치 궤적에 따라 각 관절의 관절 토크를 계산하는 관절 토크 계산부;
상기 각 관절의 관절 토크를 보상하기 위한 관절 토크 보상값을 계산하는 관절 토크 보상값 계산부;
상기 관절 토크 보상값을 이용하여 상기 각 관절의 토크 명령을 보상하고, 보상된 각 관절의 토크 명령을 추종하도록 모터 전류를 계산하고, 계산된 모터 전류에 따라 상기 각 관절에 설치된 모터의 토크를 서보 제어하는 관절 토크 서보 제어부;를 포함하는 인간형 로봇.
- 제1항에 있어서,
상기 센서부가 로봇의 착지 상태를 측정하기 위한 다축 F/T 센서와 상기 로봇의 자세를 측정하기 위한 포즈 센서를 포함하는 인간형 로봇.
- 제1항에 있어서,
상기 관절 위치 궤적 발생부가 왼발 또는 오른발이 지면에 착지할 경우 서로 스위칭하는 복수의 상태 머신과, 상기 복수의 상태 머신의 스위칭에 따라 왼발 또는 오른발의 착지 상태를 판단하여 상기 각 관절의 관절 위치 궤적 명령을 계산하는 관절 위치 궤적 계산부를 포함하는 인간형 로봇.
- 제1항에 있어서,
상기 관절 토크 계산부가 제1 내지 제3위치 연산기, 비례 게인 제어기, 미분 게인 제어기를 포함하여 식 1과 같이 상기 각 관절의 관절 토크 명령()을 계산하며,
(- ) 식1
상기 제1위치 연산기는 관절 위치 궤적 명령 ()과 상기 모터로부터 피드백되는 현재 관절 위치 ()의 감산값 (-)을 출력하고,
상기 비례 게인 제어기는 상기 감산값 (-)과 비례 게인()의 곱셈값()을 상기 제2위치 연산기에 출력하고,
상기 제3위치 연산기는 미분된 관절 위치 궤적 명령()과 미분된 현재 관절 위치()의 감산값(- )을 상기 미분 게인 제어기에 출력하고,
상기 미분 게인 제어기는 상기 감산값(- )과 미분 게인()의 곱셈값((- ))을 상기 제2위치 연산기에 출력하며,
상기 제2위치 연산기는 두 곱셈값()((- ))들과 역 운동학 방정식을 이용하여 미리 계산된 피드포워드 파라미터()를 가산하여 상기 각 관절의 관절 토크 명령()을 출력하는 인간형 로봇.
- 제1항에 있어서,
상기 관절 토크 서보 제어부는 모터 제어기와 상기 모터의 토크를 측정하는 토크 센서를 포함하고,
상기 모터 제어기는 상기 토크 센서에 의해 측정된 관절 토크값을 피드백받아 상기 각 관절의 토크 명령을 추종하도록 상기 모터를 구동시키는 인간형 로봇.
- 제6항에 있어서,
상기 모터 제어기는 제1 내지 제3토크 연산기, 비례 게인 제어기, 적분기, 적분 게인 제어기, 미분 게인 제어기를 포함하여 식 2와 같이 모터 전류()를 계산하며,
식2
상기 제1토크 연산기는 관절 토크 명령 ()과 상기 토크 센서로부터 피드백되는 현재 모터 토크()의 감산값 ()을 출력하고,
상기 비례 게인 제어기가 상기 감산값 ()과 비례 게인()의 곱셈값()을 상기 제2토크 연산기에 출력하고,
상기 적분기가 상기 감산값 ()을 적분하여 상기 적분 게인 제어기에 출력하고,
상기 적분 게인 제어기가 적분한 감산값()과 적분 게인()의 곱셈값()을 상기 제2토크 연산기에 출력하고,
상기 제3토크 연산기가 미분된 관절 토크 명령()과 미분된 현재 모터 토크()의 감산값()을 상기 미분 게인 제어기에 출력하고,
상기 미분 게인 제어기가 상기 감산값()과 미분 게인()의 곱셈값()을 상기 제2토크 연산기에 출력하고,
상기 제2토크 연산기가 상기 곱셈값()()()들과 역 운동학 방정식을 이용하여 미리 계산된 피드포워드 파라미터()을 가산하여 모터 전류()를 출력하는 인간형 로봇.
- 제1항에 있어서,
상기 센서부가 상기 로봇의 착지 상태를 측정하기 위한 다축 F/T 센서와 상기 로봇의 자세를 측정하기 위한 포즈 센서를 포함하고,
상기 관절 위치 궤적 보상값 계산부가 로봇의 발이 지면에 접촉 시 상기 다축 F/T 센서로부터 힘과 모멘트 정보를 입력받고, 상기 포즈 센서로부터 로봇의 자세 정보를 입력받아 관절 위치 궤적 보상값()을 계산하며,
상기 관절 토크 계산부가 상기 관절 위치 궤적 보상값()을 이용하여 식 3과 같은 보상된 관절 위치 궤적 명령()에 따라 관절 토크를 계산하는 인간형 로봇.
식3
여기서 는 원래 관절 위치 궤적 명령이고, 상기 관절 위치 궤적 보상값()은 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 중 어느 하나의 파라미터의 함수로 계산된다.
- 제1항에 있어서,
상기 센서부가 상기 로봇의 착지 상태를 측정하기 위한 다축 F/T 센서와 상기 로봇의 자세를 측정하기 위한 포즈 센서를 포함하고,
상기 관절 토크 보상값 계산부가 로봇의 발이 지면에 접촉 시 상기 다축 F/T 센서로부터 힘과 모멘트 정보를 입력받고, 상기 포즈 센서로부터 로봇의 자세 정보를 입력받아 관절 토크 보상값()을 계산하며,
상기 관절 토크 서보 제어부가 식 5와 같은 보상된 관절 토크 명령()에 따라 관절 토크를 계산하는 인간형 로봇.
식5
여기서 는 원래 관절 토크 명령이고, 상기 관절 토크 보상값( )은 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 중 어느 하나의 파라미터의 함수로 계산된다.
- 로봇의 보행을 위해 각 관절의 관절 위치 궤적을 계산하고;
상기 로봇에 설치된 센서로 측정한 상기 로봇의 착지 정보와 자세 정보를 이용하여 상기 각 관절의 위치 궤적을 보상하기 위한 관절 위치 궤적 보상값을 계산하고;
상기 관절 위치 궤적 보상값을 이용하여 보상한 관절 위치 궤적에 따라 상기 각 관절의 토크를 계산하고;
상기 로봇에 설치된 센서로 측정한 상기 로봇의 착지 정보와 자세 정보를 이용하여 상기 각 관절의 관절 토크를 보상하기 위한 관절 토크 보상값을 계산하고;
상기 관절 토크 보상값을 이용하여 보상한 관절 토크 명령을 추종하도록 모터 전류를 계산하고, 계산된 모터 전류에 따라 각 관절에 설치된 모터의 토크를 서보 제어하는 것;을
포함하는 인간형 로봇의 보행 제어방법.
- 제12항에 있어서,
상기 관절 위치 궤적을 계산하는 것은 왼발 또는 오른발이 지면에 착지한 상태를 판단하여 상기 각 관절의 관절 위치 궤적 명령을 계산하는 것을 포함하는 인간형 로봇의 보행 제어방법.
- 제12항에 있어서,
상기 각 관절의 토크를 계산하는 것은
각 관절의 관절 위치 궤적 명령 ()과 현재 관절 위치 ()의 감산값 (-)을 출력하고, 상기 감산값 (-)과 비례 게인()의 곱셈값()을 출력하고, 미분된 관절 위치 궤적 명령()과 미분된 현재 관절 위치()의 감산값(- )을 출력하고, 상기 감산값(- )과 미분 게인()의 곱셈값((- ))을 출력하고, 상기 두 곱셈값()((- ))들과 역 운동학 방정식을 이용하여 미리 계산된 피드포워드 파라미터()를 가산하여 상기 각 관절의 관절 토크 명령()을 출력하는 것을 포함하는 인간형 로봇의 보행 제어방법.
- 제12항에 있어서,
상기 모터 전류를 계산하는 것은
관절 토크 명령 ()과 현재 모터 토크()의 감산값 ()을 출력하고, 상기 감산값 ()과 비례 게인()의 곱셈값()을 출력하고, 상기 감산값 ()을 적분하고, 상기 적분한 감산값()과 적분 게인()의 곱셈값()을 출력하고, 미분된 관절 토크 명령()과 미분된 현재 모터 토크()의 감산값()을 출력하고, 상기 감산값()과 미분 게인()의 곱셈값()을 출력하고, 상기 곱셈값()()()들과 역 운동학 방정식을 이용하여 미리 계산된 피드포워드 파라미터()을 가산하여 모터 전류()를 출력하는 것을 포함하는 인간형 로봇의 보행 제어방법.
- 제12항에 있어서,
상기 로봇의 착지 상태를 측정하기 위한 다축 F/T 센서로부터 힘과 모멘트 정보를 입력받고, 상기 로봇의 자세를 측정하기 위한 포즈 센서로부터 로봇의 자세 정보를 입력받아 상기 관절 위치 궤적 보상값을 계산하되,
상기 관절 위치 궤적 보상값()은 로봇의 무게중심 , 지면과의 힘 , 지면과의 모멘트 , 로봇의 , 로봇의 경사각 중 어느 하나의 파라미터의 함수로 계산되고,
상기 보상된 관절 위치 궤적 명령()은 원래 관절 위치 궤적 명령()과 계산된 관절 위치 궤적 보상값()을 더하여 구하는 인간형 로봇의 보행 제어방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100004285A KR101633362B1 (ko) | 2010-01-18 | 2010-01-18 | 인간형 로봇 및 그 보행 제어방법 |
CN201110021731.0A CN102139714B (zh) | 2010-01-18 | 2011-01-14 | 仿人机器人及其步行控制方法 |
US13/006,782 US8676381B2 (en) | 2010-01-18 | 2011-01-14 | Humanoid robot and walking control method thereof |
JP2011007244A JP5916998B2 (ja) | 2010-01-18 | 2011-01-17 | 人間型ロボット及びその歩行制御方法 |
EP11151201A EP2347868B1 (en) | 2010-01-18 | 2011-01-18 | Humanoid robot and walking control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100004285A KR101633362B1 (ko) | 2010-01-18 | 2010-01-18 | 인간형 로봇 및 그 보행 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110084630A true KR20110084630A (ko) | 2011-07-26 |
KR101633362B1 KR101633362B1 (ko) | 2016-06-28 |
Family
ID=43859720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100004285A KR101633362B1 (ko) | 2010-01-18 | 2010-01-18 | 인간형 로봇 및 그 보행 제어방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8676381B2 (ko) |
EP (1) | EP2347868B1 (ko) |
JP (1) | JP5916998B2 (ko) |
KR (1) | KR101633362B1 (ko) |
CN (1) | CN102139714B (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101288149B1 (ko) * | 2011-11-02 | 2013-07-18 | 명지대학교 산학협력단 | 이족 보행 로봇의 균형 제어 장치 및 방법 |
KR20130095973A (ko) * | 2012-02-21 | 2013-08-29 | 삼성전자주식회사 | 보행 로봇 및 그 제어 방법 |
KR101326957B1 (ko) * | 2012-05-15 | 2013-11-13 | 현대자동차주식회사 | 보행 로봇의 발목제어 방법 |
KR20150127129A (ko) * | 2013-03-15 | 2015-11-16 | 스트리커 코포레이션 | 다중 모드로 수술 기구를 제어할 수 있는 수술 조작기 |
CN111891253A (zh) * | 2020-09-02 | 2020-11-06 | 上海微电机研究所(中国电子科技集团公司第二十一研究所) | 四足机器人 |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110082394A (ko) * | 2010-01-11 | 2011-07-19 | 삼성전자주식회사 | 보행 로봇 및 그 제어 방법 |
WO2012153629A1 (ja) * | 2011-05-12 | 2012-11-15 | 株式会社Ihi | 運動予測制御装置と方法 |
FR2978844B1 (fr) * | 2011-08-04 | 2014-03-21 | Aldebaran Robotics | Robot a articulations de rigidite variable et methode de calcul de ladite rigidite optimisee |
CN102426391B (zh) * | 2011-09-05 | 2014-06-11 | 华南理工大学 | 一种判断机器人运行是否发生碰撞的方法 |
JP6305673B2 (ja) * | 2011-11-07 | 2018-04-04 | セイコーエプソン株式会社 | ロボット制御システム、ロボットシステム及びロボット |
CN103197671A (zh) * | 2012-01-04 | 2013-07-10 | 中国人民解放军第二炮兵工程学院 | 一种仿人机器人步态规划及合成方法 |
CN102658548A (zh) * | 2012-05-04 | 2012-09-12 | 北京理工大学 | 防止仿人机器人前后倾斜的腰部运动规划方法和装置 |
US9226796B2 (en) * | 2012-08-03 | 2016-01-05 | Stryker Corporation | Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path |
KR20240093729A (ko) | 2012-08-03 | 2024-06-24 | 스트리커 코포레이션 | 로봇 수술을 위한 시스템 및 방법 |
CN103279967B (zh) * | 2013-05-09 | 2016-02-24 | 四三九九网络股份有限公司 | 移动端上应用逆向动力学模拟真人动作的方法和装置 |
JP6330287B2 (ja) * | 2013-10-29 | 2018-05-30 | セイコーエプソン株式会社 | ロボット、ロボット用当接部材 |
CN104260107B (zh) * | 2014-09-04 | 2016-03-30 | 北京邮电大学 | 一种实现空间机械臂柔性关节齿隙补偿的方法 |
KR102365191B1 (ko) | 2014-10-20 | 2022-02-18 | 삼성전자주식회사 | 사용자의 동작을 인식하기 위한 장치 및 방법 |
US10576619B2 (en) | 2014-12-26 | 2020-03-03 | Samsung Electronics Co., Ltd. | Assisting torque setting method and apparatus |
US9594377B1 (en) * | 2015-05-12 | 2017-03-14 | Google Inc. | Auto-height swing adjustment |
CN104793621B (zh) * | 2015-05-12 | 2017-11-14 | 北京理工大学 | 一种模仿肌肉粘弹特性的仿人机器人行走稳定控制方法 |
CN104950888B (zh) * | 2015-06-19 | 2017-10-24 | 武汉理工大学 | 十七自由度人形机器人及其控制方法 |
CN105446345A (zh) * | 2015-07-02 | 2016-03-30 | 浙江大学 | 仿人双足机器人控制*** |
JP6332197B2 (ja) * | 2015-08-11 | 2018-05-30 | トヨタ自動車株式会社 | モータの制御装置 |
CN105033997B (zh) * | 2015-09-15 | 2017-06-13 | 北京理工大学 | 一种仿人机器人快速作业全身规划及控制方法 |
CN105329333B (zh) * | 2015-11-20 | 2017-09-26 | 清华大学 | 基于延迟反馈的双足机器人行走非单周期步态控制方法 |
JP2017144512A (ja) * | 2016-02-17 | 2017-08-24 | 国立大学法人 東京大学 | Zmpの算出方法及び装置 |
CN109310913B (zh) * | 2016-08-09 | 2021-07-06 | 株式会社比弗雷斯 | 三维模拟方法及装置 |
CN106625665B (zh) * | 2016-12-15 | 2019-03-12 | 北京卫星制造厂 | 一种可移动式自动寻址的钻铣机器人*** |
US11202682B2 (en) | 2016-12-16 | 2021-12-21 | Mako Surgical Corp. | Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site |
EP3424650B1 (en) | 2017-07-07 | 2022-12-21 | Siemens Aktiengesellschaft | A method and apparatus for performing control of a movement of a robot arm |
CN109693235B (zh) * | 2017-10-23 | 2020-11-20 | 中国科学院沈阳自动化研究所 | 一种仿人眼视觉跟踪装置及其控制方法 |
CN110053039B (zh) * | 2018-01-17 | 2021-10-29 | 深圳市优必选科技有限公司 | 一种机器人行走中重力补偿的方法、装置及机器人 |
CN108333971B (zh) * | 2018-02-28 | 2020-06-12 | 清华大学 | 仿人机器人的结构与运动的协同优化方法 |
US11691293B2 (en) * | 2018-08-31 | 2023-07-04 | Fanuc Corporation | Robot |
CN109176596B (zh) * | 2018-11-16 | 2024-04-19 | 上海岭先机器人科技股份有限公司 | 一种带弹性力矩补偿元件的一体化关节 |
CN109850293A (zh) * | 2018-12-12 | 2019-06-07 | 楚天科技股份有限公司 | 一种机器人切膜装置及柔性切膜的方法 |
CN111377004B (zh) * | 2018-12-28 | 2021-11-16 | 深圳市优必选科技有限公司 | 一种双足机器人步态控制方法以及双足机器人 |
CN109634100B (zh) * | 2018-12-30 | 2021-11-02 | 深圳市优必选科技有限公司 | 仿人机器人行走加速度补偿方法、装置及仿人机器人 |
CN110053043B (zh) * | 2019-03-05 | 2021-10-26 | 华南理工大学 | 一种工业机器人碰撞检测方法、装置、电子设备及介质 |
US11745902B1 (en) * | 2019-12-11 | 2023-09-05 | Government Of The United States As Represented By The Secretary Of The Air Force | Systems, methods and apparatus for multifunctional central pattern generator |
CN110936393B (zh) * | 2019-12-23 | 2020-09-04 | 山东省产品质量检验研究院 | 一种篮球运动姿态学习机器人 |
CN113050409B (zh) * | 2019-12-28 | 2023-12-01 | 深圳市优必选科技股份有限公司 | 仿人机器人及其控制方法以及计算机可读存储介质 |
CN113156926B (zh) * | 2020-01-22 | 2024-05-17 | 深圳市优必选科技股份有限公司 | 机器人的有限状态机的建立方法、有限状态机和机器人 |
CN111358377B (zh) * | 2020-04-28 | 2021-06-01 | 安徽省春谷3D打印智能装备产业技术研究院有限公司 | 一种可改变气流方向来清理死角处的扫地机器人辅助装置 |
CN111504682B (zh) * | 2020-05-15 | 2022-05-24 | 深圳国信泰富科技有限公司 | 一种机器人关节扭矩可行性检测方法及*** |
CN111558941B (zh) * | 2020-07-14 | 2020-09-29 | 深圳市优必选科技股份有限公司 | 浮动基动力学前馈控制方法、装置和多足机器人 |
CN114425770B (zh) * | 2020-10-29 | 2024-07-16 | 北京配天技术有限公司 | 一种工业机器人示教控制方法、电子设备和存储介质 |
US11712804B2 (en) | 2021-03-29 | 2023-08-01 | Samsung Electronics Co., Ltd. | Systems and methods for adaptive robotic motion control |
US11724390B2 (en) | 2021-03-29 | 2023-08-15 | Samsung Electronics Co., Ltd. | Systems and methods for automated preloading of actuators |
US11731279B2 (en) | 2021-04-13 | 2023-08-22 | Samsung Electronics Co., Ltd. | Systems and methods for automated tuning of robotics systems |
CN114227658A (zh) * | 2021-12-15 | 2022-03-25 | 北京哈崎机器人科技有限公司 | 一种机器人的控制方法、***、终端及介质 |
CN114571475B (zh) * | 2022-02-24 | 2024-07-16 | 中山市鸿之远工业机器人有限公司 | 一种操控记忆编程方法及喷涂装置、控制装置、存储介质 |
CN114516052B (zh) * | 2022-03-23 | 2023-12-22 | 杭州湖西云百生科技有限公司 | 并行实时高性能多轴机械臂的动力学控制方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003236783A (ja) * | 2002-02-18 | 2003-08-26 | Japan Science & Technology Corp | 二脚歩行式移動装置 |
KR20040089632A (ko) * | 2002-02-18 | 2004-10-21 | 도꾸리쯔교세이호징 가가꾸 기쥬쯔 신꼬 기꼬 | 2각 보행식 이동 장치 및 그 보행 제어 장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0104995D0 (en) | 2001-02-28 | 2001-04-18 | Isis Innovation | Artificial morpho-functional multiped and motion controller therefor |
JP4188607B2 (ja) * | 2001-06-27 | 2008-11-26 | 本田技研工業株式会社 | 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法 |
KR100977348B1 (ko) | 2002-03-15 | 2010-08-20 | 소니 주식회사 | 다리식 이동 로봇의 동작 제어 장치 및 동작 제어 방법 및 로봇 장치 |
JP4587738B2 (ja) * | 2003-08-25 | 2010-11-24 | ソニー株式会社 | ロボット装置及びロボットの姿勢制御方法 |
US7313463B2 (en) * | 2005-03-31 | 2007-12-25 | Massachusetts Institute Of Technology | Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics |
US7211979B2 (en) * | 2005-04-13 | 2007-05-01 | The Broad Of Trustees Of The Leland Stanford Junior University | Torque-position transformer for task control of position controlled robots |
JP4840239B2 (ja) * | 2007-04-20 | 2011-12-21 | トヨタ自動車株式会社 | 脚式移動ロボットの制御方法及び脚式移動ロボット |
US7986118B2 (en) * | 2007-04-23 | 2011-07-26 | Honda Motor Co., Ltd. | Open-loop torque control on joint position-controlled robots |
CN101298260B (zh) * | 2008-06-11 | 2010-06-02 | 清华大学 | 低功耗双足步行移动***及其步行控制方法 |
-
2010
- 2010-01-18 KR KR1020100004285A patent/KR101633362B1/ko active IP Right Grant
-
2011
- 2011-01-14 US US13/006,782 patent/US8676381B2/en active Active
- 2011-01-14 CN CN201110021731.0A patent/CN102139714B/zh active Active
- 2011-01-17 JP JP2011007244A patent/JP5916998B2/ja active Active
- 2011-01-18 EP EP11151201A patent/EP2347868B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003236783A (ja) * | 2002-02-18 | 2003-08-26 | Japan Science & Technology Corp | 二脚歩行式移動装置 |
KR20040089632A (ko) * | 2002-02-18 | 2004-10-21 | 도꾸리쯔교세이호징 가가꾸 기쥬쯔 신꼬 기꼬 | 2각 보행식 이동 장치 및 그 보행 제어 장치 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101288149B1 (ko) * | 2011-11-02 | 2013-07-18 | 명지대학교 산학협력단 | 이족 보행 로봇의 균형 제어 장치 및 방법 |
KR20130095973A (ko) * | 2012-02-21 | 2013-08-29 | 삼성전자주식회사 | 보행 로봇 및 그 제어 방법 |
KR101326957B1 (ko) * | 2012-05-15 | 2013-11-13 | 현대자동차주식회사 | 보행 로봇의 발목제어 방법 |
US9067326B2 (en) | 2012-05-15 | 2015-06-30 | Hyundai Motor Company | System and method of controlling ankles of walking robot |
KR20150127129A (ko) * | 2013-03-15 | 2015-11-16 | 스트리커 코포레이션 | 다중 모드로 수술 기구를 제어할 수 있는 수술 조작기 |
KR20210062719A (ko) * | 2013-03-15 | 2021-05-31 | 스트리커 코포레이션 | 다중 모드로 수술 기구를 제어할 수 있는 수술 조작기 |
CN111891253A (zh) * | 2020-09-02 | 2020-11-06 | 上海微电机研究所(中国电子科技集团公司第二十一研究所) | 四足机器人 |
CN111891253B (zh) * | 2020-09-02 | 2023-12-15 | 上海微电机研究所(中国电子科技集团公司第二十一研究所) | 四足机器人 |
Also Published As
Publication number | Publication date |
---|---|
EP2347868A1 (en) | 2011-07-27 |
CN102139714A (zh) | 2011-08-03 |
JP2011143536A (ja) | 2011-07-28 |
US8676381B2 (en) | 2014-03-18 |
CN102139714B (zh) | 2014-11-05 |
EP2347868B1 (en) | 2012-09-19 |
JP5916998B2 (ja) | 2016-05-11 |
KR101633362B1 (ko) | 2016-06-28 |
US20110178639A1 (en) | 2011-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101633362B1 (ko) | 인간형 로봇 및 그 보행 제어방법 | |
KR101687629B1 (ko) | 인간형 로봇 및 그 보행 제어방법 | |
EP2347867B1 (en) | Walking control apparatus of robot and method of controlling the same | |
KR101985790B1 (ko) | 보행 로봇 및 그 제어 방법 | |
JP5607886B2 (ja) | 歩行ロボット及びその制御方法 | |
KR101549817B1 (ko) | 로봇의 보행 제어장치 및 그 방법 | |
EP1825967B1 (en) | Gait generator of legged mobile robot | |
KR101687628B1 (ko) | 로봇의 보행 제어 장치 및 그 제어 방법 | |
KR101809972B1 (ko) | 보행 로봇 및 그 제어방법 | |
KR101766755B1 (ko) | 보행 로봇 및 그 제어방법 | |
KR101732901B1 (ko) | 보행 로봇 및 그 제어방법 | |
EP2343163B1 (en) | Walking robot and method of controlling balance thereof | |
KR20130068694A (ko) | 보행 로봇 및 그 제어 방법 | |
KR20120069333A (ko) | 로봇의 보행 제어 장치 및 그 제어 방법 | |
KR20130049029A (ko) | 보행 로봇 및 그 제어 방법 | |
KR20110017500A (ko) | 다리식 이동 로봇의 제어장치 및 그 제어방법 | |
KR20110082394A (ko) | 보행 로봇 및 그 제어 방법 | |
WO2007139135A1 (ja) | ロボット及び制御装置 | |
KR20120024098A (ko) | 보행 로봇 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190520 Year of fee payment: 4 |