KR20110082394A - 보행 로봇 및 그 제어 방법 - Google Patents

보행 로봇 및 그 제어 방법 Download PDF

Info

Publication number
KR20110082394A
KR20110082394A KR1020100002354A KR20100002354A KR20110082394A KR 20110082394 A KR20110082394 A KR 20110082394A KR 1020100002354 A KR1020100002354 A KR 1020100002354A KR 20100002354 A KR20100002354 A KR 20100002354A KR 20110082394 A KR20110082394 A KR 20110082394A
Authority
KR
South Korea
Prior art keywords
torque
target
upper body
legs
walking
Prior art date
Application number
KR1020100002354A
Other languages
English (en)
Inventor
박중경
노경식
권웅
이민형
곽호성
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100002354A priority Critical patent/KR20110082394A/ko
Priority to US12/979,436 priority patent/US20110172824A1/en
Priority to EP11150390A priority patent/EP2343161A1/en
Publication of KR20110082394A publication Critical patent/KR20110082394A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles 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/02Vehicles 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/032Vehicles 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1648Programme controls characterised by the control loop non-linear control combined or not with linear control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23289State logic control, finite state, tasks, machine, fsm

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)

Abstract

토크 기반에 따라 보행하는 로봇의 안정적인 보행 제어를 위한 로봇의 보행 제어 장치 및 그 방법을 개시한다. 복잡한 동적 방정식(Dynamics Equation)을 풀지 않고 FSM을 이용하여 힙 관절부의 토크를 제어함으로써 안정적인 보행을 구현하는 방법에 있어서, 상체의 자세 제어 토크와 들고 있는 다리의 자세 제어 토크, 몸통을 지지하는 다리의 초기 자세 제어 토크를 사용하여 지지하는 다리의 토크를 최종적으로 계산하게 되므로 토크의 평형을 이루어 안정적으로 보행할 수 있다. 또한 중력에 의한 토크를 보상하는 부분이 작용하므로 보행 시, 몸통이 기울어지지 않고 자세를 안정되게 유지할 수 있도록 한다.

Description

보행 로봇 및 그 제어 방법{WALKING ROBOT AND CONTROL METHOD THEREOF}
토크 기반에 따라 보행하는 로봇의 안정적인 보행 제어를 위한 보행 로봇 및 그 제어 방법에 관한 것이다.
인간과 유사한 관절 체계를 가지고 인간의 작업 및 생활 공간에서 인간과 공존하며 보행하는 로봇의 연구 개발이 활발하게 진행되고 있다. 보행 로봇은 이족 또는 3족 이상의 복수의 다리를 가지는 다족 보행 로봇으로 구성되며, 안정적인 보행을 위해 각 관절에 위치한 전기 모터, 유압 모터 등의 액츄에이터를 구동해야 한다. 액츄에이터의 구동 방식은 각 관절의 지령(command) 각도, 즉 지령(command) 위치를 주고 그것을 추종 제어하는 위치 기반의 ZMP(Zero Moment Point) 제어 방식과, 각 관절의 지령(command) 토크를 주고 그것을 추종 제어하는 토크 기반의 FSM(Finite State Machine) 제어 방식을 들 수 있다.
ZMP 제어 방식은 ZMP 구속 조건, 즉 ZMP가 지지하는 다리로 이루어진 지지다각형 내의 안전 영역(한발로 지지하고 있을 경우에는 그 발의 영역, 양발로 지지하고 있을 경우에는 양발의 영역을 포함하는 convex polygon 내에서 안전을 고려하여 작게 설정한 영역을 의미한다)에 존재해야 한다는 조건을 만족하도록 보행 방향, 보행 폭, 보행 속도 등을 미리 설정하고, 이 설정에 대응하는 각 다리의 보행 패턴을 생성하며, 그 보행 패턴에 따라 각 다리의 보행 궤적을 계산한다. 또한 계산된 보행 궤적의 역기구학(Inverse Kinematics) 계산을 통해 각 다리의 관절의 각도를 계산하고, 각 관절의 현재 각도와 목표 각도에 기초하여 각 관절의 목표 제어 값을 계산한다. 또한 매 제어시간마다 각각의 다리가 계산된 보행 궤적을 추종하도록 하는 서보 제어(servo control)를 통해 구현된다. 즉, 보행 시 각 다리의 위치가 보행 패턴에 따른 보행 궤적을 정확히 추종하는지 검출하고, 각 다리가 보행 궤적을 이탈하면 모터의 토크를 조절하여 각 다리가 보행 궤적을 정확히 추종하도록 제어하여 보행하는 방식이다.
그러나, ZMP 제어 방식은 위치 기반의 제어 방법이기 때문에 정확한 위치 제어가 가능한 반면, ZMP를 제어하기 위해 각 관절의 정확한 각도 제어를 수행해야 하므로 높은 서보 게인을 필요로 한다. 이로 인해 높은 전류를 필요로 하기 때문에 에너지 효율이 낮고 관절의 강성이 커서 주위 환경에 큰 충격을 줄 수 있다. 또한 각 관절의 각도를 계산하기 위해선 기구학적 특이점(Kinematic Singularity)을 피해야 하므로 보행 중 무릎을 항상 굽힌 자세를 유지하게 되어 인간과 다른 부자연스러운 보행을 하게 된다.
이에 반해, FSM 제어 방식은 매 제어 시간마다 위치를 추종하여 보행하는 방식이 아니라 로봇의 각 동작 상태(State)를 미리 정의해 두고(Finite State), 보행 시 각 동작 상태(State)를 참조하여 각 관절의 목표 토크를 계산하고 이를 추종하도록 제어하여 보행하는 방식으로, 보행 중 각 관절의 토크를 제어하므로 낮은 서보 게인이 가능하여 에너지 효율이 높고 강성이 낮아서 주위 환경에 대해 안전하다. 또한 기구학적 특이점(Kinematic Singularity)을 피할 필요가 없으므로 인간과 같이 무릎을 편 상태의 자연스러운 보행이 가능하다.
그러나, FSM 제어 방식은 미리 정의된 동작 상태(State)에 의존하여 로봇의 보행을 제어하므로 보행 제어가 부적절하여 로봇이 균형을 잃을 수 있다. 따라서 보행 동작과 관계 없이 로봇의 균형을 잡기 위한 별도의 밸런싱(Balancing) 동작을 하게 된다. 로봇의 밸런싱 동작을 위해 안정적인 균형을 구현할 수 있는 지령 토크를 구해야 하는데, 지령 토크를 구하기 위해서는 매우 복잡한 동적 방정식(Dynamics Equation)을 풀어야 하므로 현재까지 6자유도 관절 구조의 다리를 가진 로봇에서 구현되지 못하였다.
복잡한 동적 방정식(Dynamics Equation)을 풀지 않고 FSM을 이용하여 각 관절의 토크를 제어함으로써 안정적인 보행을 구현하는 보행 로봇 및 그 제어 방법을 개시한다.
이를 위해 본 발명의 일 측면에 의한 보행 로봇은, 상체; 상체에 연결되어 보행하는 복수의 다리; 보행 시 복수의 다리 상태를 판단하여 목표 궤적을 생성하는 목표 궤적 생성부; 생성된 목표 궤적을 추종하는 상체와 복수의 다리의 자세 제어 토크를 계산하고, 계산된 자세 제어 토크를 이용하여 상체를 지지하는 다리의 목표 토크를 계산하는 목표 토크 계산부; 계산된 목표 토크를 지지하는 다리의 힙 관절에 전달하여 보행을 제어하는 서보 제어부를 포함한다.
보행 로봇은 토크 기반에 따라 보행하는 이족 이상의 보행 로봇이다.
복수의 다리 상태는 복수의 다리에 각각 마련된 발의 지면 접촉 여부에 따라 상체를 지지하는 상태 또는 스윙하는 상태로 분리한다.
목표 궤적 생성부는 복수의 다리 상태에 따라 상체와 복수의 다리의 허벅지의 지면에 대한목표 각도를 생성하고, 생성된 지면에 대한 목표 각도에 따라 지지하는 다리의 허벅지의 지면에 대한 기울어짐 각도 궤적을 생성한다.
상체와 복수의 다리의 자세 제어 토크는 상체의 자세 제어 토크, 스윙하는 다리의 자세 제어 토크, 지지하는 다리의 초기 자세 제어 토크를 포함한다.
목표 토크 계산부는 상체의 자세 제어 토크, 스윙하는 다리의 자세 제어 토크, 지지하는 다리의 초기 자세 제어 토크를 이용하여 지지하는 다리의 힙 관절의 목표 토크를 계산한다.
목표 토크 계산부는 보행 로봇의 중력에 대한 보상 토크를 계산한다.
목표 토크 계산부는 중력에 대한 보상 토크를 이용하여 계산된 힙 관절의 목표 토크를 보상한다.
목표 토크 계산부는 상체와 복수의 다리의 자세 제어를 위해 상체와 복수의 다리의 토크 비율을 분배하는 것이 바람직하다.
또한, 본 발명의 일 측면에 의한 보행 로봇의 제어 방법은, 상체와, 상체에 연결된 복수의 다리를 구비한 보행 로봇의 제어 방법에 있어서, 보행 로봇의 보행 시, 복수의 다리 상태를 판단하여 목표 궤적을 생성하고; 생성된 목표 궤적을 추종하는 상체와 복수의 다리의 자세 제어 토크를 계산하여 상체를 지지하는 다리의 목표 토크를 계산하고; 계산된 목표 토크를 지지하는 다리의 힙 관절에 전달하여 보행 로봇의 보행을 제어한다.
목표 궤적을 생성하는 것은, 복수의 다리 상태에 따라 상체와 복수의 다리의 허벅지의 지면에 대한 목표 각도를 생성하고, 생성된 지면에 대한 목표 각도에 따라 지지하는 다리의 허벅지의 지면에 대한 기울어짐 각도 궤적을 생성하는 것이다.
지지하는 다리의 목표 토크를 계산하는 것은, 상체의 자세 제어 토크, 스윙하는 다리의 자세 제어 토크, 지지하는 다리의 초기 자세 제어 토크를 이용하여 지지하는 다리의 힙 관절의 목표 토크를 계산하는 것이다.
계산된 힙 관절의 목표 토크는 지지하는 다리의 토크 평형을 유지하는 것이다.
또한, 본 발명의 일 측면에 의한 보행 로봇의 제어 방법은, 보행 로봇의 중력에 대한 보상 토크를 계산하는 것을 더 포함하고, 지지하는 다리의 목표 토크를 계산하는 것은, 중력에 대한 보상 토크를 이용하여 계산된 힙 관절의 목표 토크를 보상하는 것이다.
지지하는 다리의 목표 토크를 계산하는 것은, 상체와 복수의 다리의 자세 제어를 위해 상체와 복수의 다리의 토크 비율을 분배하는 것이 바람직하다.
개시된 보행 로봇 및 그 제어 방법에 의하면, 복잡한 동적 방정식(Dynamics Equation)을 풀지 않고 FSM을 이용하여 힙 관절부의 토크를 제어함으로써 안정적인 보행을 구현할 수 있다.
또한, 상체의 자세 제어 토크와 들고 있는 다리의 자세 제어 토크, 몸통을 지지하는 다리의 초기 자세 제어 토크를 사용하여 지지하는 다리의 토크를 최종적으로 계산하게 되므로 토크의 평형을 이루어 안정적으로 보행할 수 있다.
또한, 중력에 의한 토크를 보상하는 부분이 작용하므로 보행 시, 발을 드는 순간 몸통이 기울어지지 않고 자세를 안정되게 유지할 수 있다.
또한, 지지하는 다리의 토크에 기초하여 로봇의 균형을 유지하기 때문에 그 방법이 간단하여 6 자유도의 관절 구조를 가진 로봇에 적용할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 외관 구성도이다.
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 의한 FSM 기반 보행 시, 로봇의 동작 상태와 각 동작 상태의 제어 동작을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 의한 로봇의 보행 시, 다리 상태를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 의한 로봇의 보행 제어 블록도이다.
도 6은 본 발명의 일 실시예에 의한 로봇의 보행 시, 다리 상태를 나타낸 측면도이다.
도 7은 본 발명의 일 실시예에 의한 로봇의 보행 시, 다리 상태를 나타낸 정면도이다.
도 8은 본 발명의 일 실시예에 의한 로봇의 보행 제어 방법을 나타낸 동작 순서도이다.
이하, 본 발명의 일 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 의한 로봇의 외관 구성도이다.
도 1에서, 로봇(100)은 인간과 마찬가지로 두 개의 다리(110)에 의해 직립 이동하는 이족 보행 로봇으로, 몸통(102), 머리(104), 팔(106)로 이루어진 상체(101)와, 두 개의 다리(110)로 이루어진 하체(103)를 가진다.
로봇(100)의 상체(101)는 몸통(102)과, 몸통(102)의 상부에 목(120)을 통해 연결된 머리(104)와, 몸통(102)의 상부 양측에 어깨(114L, 114R)를 통해 연결된 두 개의 팔(106L, 106R)과, 이 두 개의 팔(106L, 106R)의 말단에 각각 연결된 손(108L, 108R)으로 이루어진다.
로봇(100)의 하체(103)는 상체(101)의 몸통(102) 하부 양측에 연결된 두 개의 다리(110L, 110R)와, 두 개의 다리(110L, 110R) 말단에 각각 연결된 발(112L, 112R)로 이루어진다.
참조 부호에서, "R"과 "L"는 각각 로봇(100)의 오른쪽(right)과 왼쪽(left)을 나타내고, COG(Center Of Gravity)는 로봇(100)의 무게 중심을 나타낸다.
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면이다.
도 2에서, 로봇(100)의 몸통(102)에는 포즈 센서(pose sensor; 14)가 설치된다. 포즈 센서(14)는 연직축에 대한 상체(101)의 기울기인 경사 각도와 그 각속도를 검출하여 자세 정보를 발생시킨다. 이 포즈 센서(14)는 몸통(102) 뿐만 아니라 머리(104)에 설치해도 좋다.
몸통(102)에는 상체(101)가 회전할 수 있도록 요우 방향의 1 자유도를 가지는 허리 관절부(15)가 설치된다.
또한, 로봇(100)의 머리(104)에는 주위를 촬영하는 카메라(41)와, 사용자 음성을 입력하는 마이크로폰(42)이 설치된다.
머리(104)는 목 관절부(280)를 통해 상체(101)의 몸통(102)과 연결된다. 목 관절부(280)는 요우 방향(yaw, Z축 회전)의 회전 관절(281)과, 피치 방향(pitch, Y축 회전)의 회전 관절(282) 및 롤 방향(roll, X축 회전)의 회전 관절(283)을 포함하여 3 자유도를 가진다.
목 관절부(280)의 각각의 회전 관절(281, 282, 283)에는 머리(104)의 회전을 위한 모터들(예를 들어, 전기 모터, 유압 모터 등의 액츄에이터)이 연결된다.
로봇(100)의 두 개의 팔(106L, 106R)은 각각 상박 링크(31), 하박 링크(32) 및 손(33)을 가진다.
상박 링크(31)는 어깨 관절부(250L, 250R)를 통해 상체(101)에 연결되고, 상박 링크(31)와 하박 링크(32)는 팔꿈치 관절부(260)를 통해 서로 연결되며, 하박 링크(32)와 손(33)은 손목 관절부(270)를 통해 서로 연결된다.
어깨 관절부(250L, 250R)는 상체(101)의 몸통(102)의 양측에 설치되어 두 개의 팔(106L, 106R)을 상체(101)의 몸통(102)에 연결한다.
팔꿈치 관절부(260)는 피치 방향의 회전 관절(261)과, 요우 방향의 회전 관절(262)를 포함하여 2 자유도를 가진다.
손목 관절부(270)는 피치 방향의 회전 관절(271)과, 롤 방향의 회전 관절(272)을 포함하여 2 자유도를 가진다.
손(33)에는 5개의 손가락(33a)이 설치된다. 각각의 손(33a)에는 모터에 의해 구동되는 다수의 관절(미도시)들이 설치될 수 있다. 손가락(33a)은 팔(106)의 움직임에 연동하여 물건을 파지하거나 특정 방향을 가리키는 것과 같은 다양한 동작을 실행한다.
그리고, 로봇(100)의 두 개의 다리(110L, 110R)는 각각 대퇴 링크(21)와 하퇴 링크(22), 발(112L, 112R)을 가진다.
대퇴 링크(21)는 인간의 허벅다리(허벅지)에 해당하는 부분으로 힙 관절부(210)를 통해 상체(101)의 몸통(102)에 연결되고, 대퇴 링크(21)와 하퇴 링크(22)는 무릎 관절부(220)를 통해 서로 연결되며, 하퇴 링크(22)와 발(112L, 112R)은 발목 관절부(230)를 통해 서로 연결된다.
힙 관절부(210)는 요우 방향(yaw, Z축 주위의 회전)의 회전 관절(211; 힙 요우 조인트)과, 피치 방향(pitch, Y축 주위의 회전)의 회전 관절(212; 힙 피치 조인트)과, 롤 방향(roll, X축 주위의 회전)의 회전 관절(213; 힙 롤 조인트)을 포함하여 3 자유도를 가진다.
무릎 관절부(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)에 가해지는 하중을 검출한다.
도면에 도시되어 있지 않지만, 로봇(100)에는 각 회전 관절을 구동하는 모터 등과 같은 액츄에이터가 설치된다. 로봇(100)의 동작 전반을 제어하는 보행 제어부는 이 모터를 적절히 제어함으로써 로봇(100)의 다양한 동작을 구현할 수 있다.
도 3은 본 발명의 일 실시예에 의한 FSM 기반 보행 시, 로봇의 동작 상태와 각 동작 상태의 제어 동작을 나타낸 도면이다.
도 3에서, 토크 기반의 FSM 제어 방식은 로봇(100)의 동작 상태를 미리 정의된 복수 개의 동작 상태(예를 들어, S1, S2, S3, S4, S5, S6의 6개 상태)로 구분한다. 각각의 동작 상태(S1, S2, S3, S4, S5, S6)는 보행 시 로봇(100)의 한 다리(110L 또는 110R)가 취하는 포즈를 의미하며, 이러한 로봇(100)의 포즈를 적절하게 전환함으로서 안정적인 보행이 이루어지도록 한다.
제1동작 상태(S1; flight)는 다리(110L 또는 110R)를 스윙(Swing)하는 포즈이고, 제2동작 상태(S2; loading)는 발(112)을 지면에 내려 놓는 포즈이며, 제3동작 상태(S3; heel contact)는 발(112) 뒤쪽(heel)을 지면에 접촉시키는 포즈이고, 제4동작 상태(S4; heel and toe contact)는 발(112) 뒤쪽(heel)과 앞쪽(toe)을 동시에 지면에 접촉시키는 포즈이며, 제5동작 상태(S5; toe contact)는 발(112) 앞쪽(toe)을 접촉시키는 포즈이고, 제6동작 상태(S6; unloading)는 발(112)을 지면에서 떼어 내는 포즈에 해당한다.
각각의 동작 상태에서 다른 동작 상태로 전환하기 위해서는 그 동작 상태의 전환을 위한 제어 동작(Control Action)이 요구된다.
보다 구체적으로 설명하면, 제1동작 상태(S1)에서 제2동작 상태(S2)로 전환하는 경우(S1→S2), 발(112) 뒤쪽(heel)이 지면에 닿게 하는 제어 동작(heel touches ground)이 요구된다.
제2동작 상태(S2)에서 제3동작 상태(S3)로 전환하는 경우(S2→S3), 지면에 닿은 발(112)에 연결된 무릎(구체적으로, 무릎 관절부)를 구부리는 제어 동작(knee bends)이 요구된다.
제3동작 상태(S3)에서 제4동작 상태(S4)로 전환하는 경우(S3→S4), 발(112) 앞쪽(toe)이 지면에 닿게 하는 제어 동작(ball of foot touches ground)이 요구된다.
제4동작 상태(S4)에서 제5동작 상태(S5)로 전환하는 경우(S4→S5), 지면에 닿은 발(112)에 연결된 무릎을 펴는 제어 동작(knee extends)이 요구된다.
제5동작 상태(S5)에서 제6동작 상태(S6)로 전환하는 경우(S5→S6), 지면에 닿은 발(112)에 연결된 무릎을 완전하게 펴는 제어 동작(knee fully extended)이 요구된다.
제6동작 상태(S6)에서 제1동작 상태(S1)로 전환하는 경우(S6→S1), 발(112) 앞쪽(toe)을 지면에서 떼어 내는 제어 동작(ball of foot leaves ground)이 요구된다.
따라서, 로봇(100)은 제어 동작(Control Action)의 실행을 위해 각 제어 동작(Control Action)에 대응하여 각 관절의 토크 지령을 계산하고, 계산된 토크 지령을 각 관절에 설치된 모터 등의 액츄에이터에 출력하여 액츄에이터를 구동시킨다.
이러한 토크 기반의 FSM 제어 방식은, 미리 정의된 각 동작 상태(S1, S2, S3, S4, S5, S6)에 의존하여 로봇(100)의 보행을 제어한다. 하지만, 로봇(100)의 동작 상태(S1, S2, S3, S4, S5, S6)를 바꾸는 것만으로는 보행 제어가 부적절하여 로봇(100)이 균형을 잃을 수 있다.
따라서, 본 발명의 일 실시예에 의한 토크 기반의 FSM 제어 방식에서는 로봇(100)이 균형을 잃지 않도록 두 다리(110L, 110R)의 상태(State)에 따라 로봇(100)의 몸통(102)을 지지하고 있는 다리(110L 또는 110R)의 목표 토크(힙 토크)를 계산하고, 계산된 목표 토크를 힙 관절부(210)에 설치된 모터 등의 액츄에이터에 출력하여 로봇(100)이 균형을 유지하면서 안정적이고 자연스러운 보행을 수행할 수 있도록 한다.
여기서, 두 다리(110L, 110R)의 상태(State)는 발(112L, 112R)과 발목 관절부(230) 사이에 설치된 F/T 센서(24)에서 검출된 센서 정보를 바탕으로 어느 발(112L, 112R)이 지지(Supporting) 상태인지 또는 스윙(Swing) 상태인지에 따라 판단할 수 있다. 이를 도 4를 참조하여 구체적으로 설명한다.
도 4는 본 발명의 일 실시예에 의한 로봇의 보행 시, 다리 상태를 나타낸 도면으로서, 피치 방향(Y축)과 요우 방향(Z축)에 대한 Y-Z 평면상(2D 공간상)에서 로봇(100)의 몸통(102)과 좌우 다리(110L, 110R)를 나타낸 것으로 인간이 앞으로 보행 시 양쪽 발(112L, 112R)을 번갈아 가며 걷는 모습을 Y-Z 평면에서 간략화한 것과 같다.
도 4에서, 로봇(100)의 다리 상태(State)는 양발 지지(DS;Double Support), 오른발 지지[SS(R);Single Support Right], 왼발 지지[SS(L);Single Support Left] 상태의 총 3개로 구성된다.
본 발명의 일 실시예는 한 발 지지[SS(L) 또는 SS(R)] 상태에서 몸통(102)을 지지하고 있는 다리(110L 또는 110R)의 목표 토크(힙 토크)를 계산하여 로봇(100)의 안정적인 보행을 구현하는 것이므로, 한 발 지지[SS(L) 또는 SS(R)] 상태만을 예로 들어 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 의한 로봇의 보행 제어 블록도로서, 사용자 인터페이스부(310), 센서부(320), 보행 제어부(330) 및 힙 관절부(210)를 포함한다.
사용자 인터페이스부(310)는 로봇(100)의 보행을 지시하기 위한 사용자 명령을 입력한다.
센서부(320)는 로봇(100)의 몸통(102)에 설치되어 상체(101)의 기울기나 자세를 검출하는 포즈 센서(14)와, 로봇(100)의 발(112)과 발목 관절부(230)의 사이에 설치되어 발(112)의 지면 접촉 여부를 검출하는 F/T 센서(24)를 포함한다.
보행 제어부(330)는 사용자 인터페이스부(310)로부터 입력된 보행 명령과 센서부(320)로부터 검출된 센서 정보를 바탕으로 로봇(100)의 보행을 제어하는 PD(Proportional-Derivative) Controller로, 상태 데이터베이스부(331), 목표 궤적 생성부(332), 목표 토크 계산부(333), 서보 제어부(334) 및 목표 궤적 보상부(335)를 포함한다.
상태 데이터베이스부(331)는 보행 시, FSM(Finite State Machine)에 기반을 둔 로봇(100)의 다리 상태 데이터와, 로봇(100)의 다리 상태에 대응하는 각 관절부(15, 210)의 동작 상태 데이터를 저장한다.
여기서, FSM은 몸통(102)과 다리(110L, 110R)의 제한된 동작 상태 변화를 순차적으로 나타낸 것이다. 다리(110L, 110R)의 제한된 동작 상태는 어느 발(112L 또는 112R)이 지지(Stance) 상태인지 또는 스윙(Swing) 상태인지에 따라 결정된다.
목표 궤적 생성부(332)는 로봇(100)의 몸통(102)과 다리(110L, 110R)가 지면과 이루는 각도의 목표 궤적을 생성하는 것으로, 상태 데이터베이스부(331)에 저장된 로봇(100)의 다리 상태에 따라 몸통(102)에 마련된 몸통(102)과 허벅지 부분의 목표 각도(θd)를 각각 생성하고, 이 목표 각도(θd)의 시간에 대한 변화를 곡선으로 연결한 몸통(102)과 허벅지 부분의 목표 궤적을 생성한다.
목표 각도(θd)는 몸통(102)과 허벅지의 동작 상태에 대응하는 몸통(102)과 허벅지의 지면에 대한 기울어진 정도를 나타내는 각도이다.
목표 궤적은 시간에 따른 목표 각도(θd)의 변화를 나타낸 것이다.
목표 토크 계산부(333)는 목표 궤적 생성부(332)에서 생성된 몸통(102) 및 허벅지의 목표 궤적을 추종하기 위한 자세 제어 토크(τTorso, τSwingHip)를 계산하고, 계산된 자세 제어 토크(τTorso, τSwingHip)를 기반으로 몸통(102)을 지지하는 다리(110L 또는 110R)의 힙 조인트(구체적으로, 힙 피치 조인트와 힙 롤 조인트)에 사용될 목표 토크(τA)를 계산한다.
목표 토크 계산부(333)는 몸통(102)을 지지하는 다리(110L 또는 110R)의 힙 관절부(210)에 인가될 목표 토크(τA)를 아래의 [수학식 1]을 이용하여 계산한다.
[수학식 1]
τA = - τTorso - τSwingHip + τStanceHip - τGravity
[수학식 1]에서, τA는 몸통(102)을 지지하는 다리(110L 또는 110R)의 힙 조인트에 사용될 목표 토크이고, τTorso는 몸통(102)의 회전을 위하여 결정된 상체(101)의 자세 제어 토크이고, τSwingHip은 공중에서 스윙하는 다리(110R 또는 110L)를 움직이기 위하여 결정된 토크이고, τStanceHip은 지지하는 다리(110L 또는 110R)의 기본 자세 제어를 위한 기본 목표 토크이고, τGravity는 로봇(100)의 중력(Gravity)에 대한 보상을 하는 토크이다.
[수학식 1]에서, τStanceHip은 지지하는 다리(110L 또는 110R)와 방향이 같으며, τTorso, τSwingHip, τGravity는 지지하는 다리(110L 또는 110R)에 반작용력으로 작용하므로 "-"부호를 붙인다.
또한, 목표 토크 계산부(333)는 로봇(100)의 몸통(102)을 지지하는 다리(110L 또는 110R)의 힙 관절부(210)에 인가될 목표 토크(τA)를 계산하는 [수학식 1]을 [수학식 2]로 변형하여 계산할 수도 있다.
[수학식 2]
τA = - K1*τTorso - K2*τSwingHip + K3*τStanceHip - τGravity
[수학식 2]에서, K1, K2, K3는 로봇(100)의 동작에 따라 다리(110L, 110R)와 상체(101)의 자세를 제어하기 위한 변수이다.
예를 들어, K1를 크게 하고, K2, K3를 작게 하면 다리(110L, 110R)의 자세 제어보다 상대적으로 상체(101)의 자세 제어가 더 원활하게 이루어진다. 이 경우는 상체(101)를 사용하여 물건을 들고 간다든지 걸어가면서 머리(104)에 있는 카메라(41)로 촬영을 할 때 상체(101)가 흔들리지 않게 하는데 유리하다.
또한, K2, K3를 크게 하고, K1를 작게 하면 상체(101)에 비하여 들고 있는 다리(110L, 110R)의 자세 제어가 원활하게 이루어진다. 이 경우는 로봇(100)이 원하는 위치에 발(112L, 112R)을 내디딜 때 유리하다.
이와 같이, 토크 제어 방식에서 지지하는 다리(110L 또는 110R)의 토크는 상체(101)의 자세 제어 토크(τTorso), 공중에서 스윙하는 다리(110R 또는 110L)의 자세 제어 토크(τSwingHip), 지지하는 다리(110L 또는 110R)의 기본 자세 제어 토크(τStanceHip), 중력에 의한 토크(τGravity)의 4개의 토크로 분리될 수 있으며, 4개의 토크(τTorso, τSwingHip, τStanceHip, τGravity)가 힘의 평형을 이루어 최종적으로 목표 토크(τA)를 계산하게 된다.
상체(101)의 자세 제어 토크(τTorso), 공중에서 스윙하는 다리(110R 또는 110L)의 토크(τSwingHip), 지지하는 다리(110L 또는 110R)의 기본 자세 제어 토크(τStanceHip)는 PD(Proportional-Derivative) 제어를 이용하여 [수학식 3] 내지 [수학식 5]와 같이 각각 계산한다.
[수학식 3]
τTorso = kpd_Torsoc_Torso) + kd(dθd_Torso/dt - dθc_Torso/dt)
[수학식 3]에서, kp는 PD제어의 P게인(gain)이고, kd는 PD제어의 D게인(gain)이고, θd_Torso는 상체(101)의 목표 각도(예를 들어, 0)이고, θc_Torso는 상체(101)가 지면과 이루는 실제 각도이고, dθd_Torso/dt는 상체(101)의 목표 각도를 미분하여 산출한 목표 각속도이고, dθc_Torso/dt는 상체(101)의 실제 각도를 미분하여 산출한 실제 각속도이다.
[수학식 4]
τSwingHip=kpd_SwingHipc_SwingHip) + kd(dθd_SwingHip/dt - dθc_SwingHip/dt)
[수학식 4]에서, kp는 PD제어의 P게인(gain)이고, kd는 PD제어의 D게인(gain)이고, θd_SwingHip은 스윙하는 다리(110R 또는 110L)의 허벅지의 목표 각도이고, θc_SwingHip은 보행 시 공중으로 스윙하는 다리(110R 또는 110L의 허벅지가 지면과 이루는 실제 각도이고, dθd_SwingHip/dt는 스윙하는 다리(110R 또는 110L)의 허벅지의 목표 각도를 미분하여 산출한 목표 각속도이고, dθc_SwingHip/dt는 스윙하는 다리(110R 또는 110L)의 허벅지의 실제 각도를 미분하여 산출한 실제 각속도이다.
[수학식 5]
τStanceHip=kpd_StanceHipc_StanceHip)+kd(dθd_StanceHip/dt-dθc_StanceHip/dt)
[수학식 5]에서, kp는 PD제어의 P게인(gain)이고, kd는 PD제어의 D게인(gain)이고, θd_StanceHip은 지지하는 다리(110L 또는 110R)의 허벅지의 기본 자세 제어를 위한 초기 목표 각도이고, θc_StanceHip은 지지하는 다리(110L 또는 110R)의 허벅지가 초기에 지면과 이루는 실제 각도이고, dθd_StanceHip/dt는 지지하는 다리(110L 또는 110R)의 허벅지의 초기 목표 각도를 미분하여 산출한 초기 목표 각속도이고, dθc_StanceHip/dt는 지지하는 다리(110L 또는 110R)의 허벅지의 초기 실제 각도를 미분하여 산출한 초기 실제 각속도이다.
이와 같이, [수학식 3] 내지 [수학식 5]를 이용하는 방법 이외에도, 상체(101)의 자세 제어 토크(τTorso), 공중에서 스윙하는 다리(110R 또는 110L)의 토크(τSwingHip), 지지하는 다리(110L 또는 110R)의 기본 자세 제어 토크(τStanceHip)는 일정한 토크를 실험에 의하여 시간에 대한 토크 궤적의 적절한 값을 결정하여 사용할 수도 있다.
또한, 목표 토크(τA)를 계산하는데 사용될 중력에 의한 토크(τGravity)는 지지하는 다리(110L 또는 110R) 이외의 상체(101)와 공중으로 스윙하는 다리(110R 또는 110L)의 무게를 합한 부분의 무게중심(COG)에 대한 보상 토크이며, 지지하는 다리(110L 또는 110R)의 힙 조인트에서 무게중심(COG)까지의 수평 거리를 모멘트 암으로 하여 토크를 계산한다.
서보 제어부(334)는 목표 토크 계산부(333)에서 계산된 목표 토크(τA)를 지지하는 다리(110L 또는 110R)의 힙 관절부(210)에 제공하여 힙 관절부(210)에 설치된 모터 등의 액츄에이터를 구동시키도록 계산된 목표 토크(τA)에 대응하는 토크 제어 신호를 힙 관절부(210)에 출력한다.
따라서, 힙 관절부(210)는 서보 제어부(334)로부터 토크 제어 신호를 입력받아 힙 관절부(210)에 설치된 모터 등의 액츄에이터를 구동시킴으로써 힙 조인트의 목표 궤적에 따라 로봇(100)이 균형을 유지하면서 안정적인 보행을 구현할 수 있도록 한다.
목표 궤적 보상부(335)는 센서부(320)로부터 검출된 센서 정보를 바탕으로 힙 관절부(210)의 목표 궤적을 보상한다. 보상된 목표 궤적은 목표 토크 계산부(333)에 전송되고, 목표 토크 계산부(333)는 보상된 목표 궤적을 추종하기 위한 목표 토크(τA)를 다시 계산한다.
도 6은 본 발명의 일 실시예에 의한 로봇의 보행 시, 다리 상태를 나타낸 측면도로서, 롤 방향(X축)과 요우 방향(Z축)에 대한 X-Z 평면상(2D 공간상)에서 로봇(100)의 몸통(102)과 좌우 다리(110L, 110R)를 나타낸 것으로 인간이 앞으로 보행 시 양쪽 발(112L, 112R)을 번갈아 가며 걷는 모습을 X-Z 평면에서 간략화한 것과 같다.
도 7은 본 발명의 일 실시예에 의한 로봇의 보행 시, 다리 상태를 나타낸 정면도로서, 피치 방향(Y축)과 요우 방향(Z축)에 대한 Y-Z 평면상(2D 공간상)에서 로봇(100)의 몸통(102)과 좌우 다리(110L, 110R)를 나타낸 것으로 인간이 앞으로 보행 시 양쪽 발(112L, 112R)을 번갈아 가며 걷는 모습을 Y-Z 평면에서 간략화한 것과 같다.이다.
도 6 및 도 7에서 알 수 있듯이, 로봇(100)에서 몸통(102)을 지지하는 다리(110R)의 힙 관절부(210)에서는 몸통(102)을 포함하는 상체(101)의 자세 제어와 공중에서 스윙하는 다리(110L)의 자세 제어와, 지지하는 다리(110R)의 초기 자세 제어를 동시에 수행하여야 한다.
따라서, 로봇(100)의 몸통(102)을 지지하는 다리(110R)의 토크는 상체(101)의 자세 제어 토크(τTorso), 공중에서 스윙하는 다리(110L)의 토크(τSwingHip), 지지하는 다리(110R)의 초기 자세 제어 토크(τStanceHip), 중력에 의한 토크(τGravity)의 4개의 토크로 분리될 수 있으며, 4개의 토크(τTorso, τSwingHip, τStanceHip, τGravity)가 힘의 평형을 이루어 최종적으로 지지하는 다리(110R)의 목표 토크(τA)를 계산하게 되는 것이다.
도 7에서는 로봇(100)의 무게 중심(COG)의 위치가 토크의 작용점과의 수평 거리가 작으나, 도 6에서는 로봇(100)의 무게 중심(COG)의 위치가 토크의 작용점과의 수평 거리가 크므로 중력에 대한 일정한 보상 토크(τGravity)의 영향이 더 크다. 따라서 로봇(100)이 기울어지지 않도록 하는데 매우 중요한 역할을 하게 된다.
이하, 상기와 같이 구성된 보행 로봇 및 그 제어 방법의 동작과정 및 작용효과를 설명한다.
도 8은 본 발명의 일 실시예에 의한 로봇의 보행 제어 방법을 나타낸 동작 순서도이다.
도 8에서, 사용자 인터페이스부(310)를 통해 로봇(100)의 보행을 지시하기 위한 사용자 명령을 입력한다(400).
보행 명령이 입력되면, 로봇(100)의 몸통(102)에 설치된 포즈 센서(14)에서는 상체(101)의 기울기나 자세를 검출하고, 로봇(100)의 발(112)에 설치된 F/T 센서(24)에서는 발(112)의 지면 접촉 여부를 검출하여 보행 제어부(330)의 목표 궤적 생성부(332)와 목표 궤적 보상부(335)에 전송한다(402).
따라서, 목표 궤적 생성부(332)에서는 어느 발(112L, 112R)이 지지(Stance) 상태인지 또는 스윙(Swing) 상태인지에 따라 로봇(100)의 다리 상태(State)를 판단하고(404), 상태 데이터베이스부(331)로부터 판단된 다리 상태에 대응하는 각 관절부(15, 210)의 동작 상태 데이터를 추출한다.
이어서, 목표 궤적 생성부(332)는 추출된 각 관절부(15, 210)의 동작 상태 데이터에 따라 몸통(102)에 마련된 몸통(102)과 허벅지의 목표 각도(θd)를 생성하고, 이 목표 각도(θd)를 바탕으로 로봇(100)의 몸통(102)과 허벅지가 지면과 이루는 각도의 목표 궤적을 생성하여 목표 토크 계산부(333)에 전송한다(406).
따라서, 목표 토크 계산부(333)는 목표 궤적 생성부(332)에서 생성된 몸통(102)과 허벅지의 목표 궤적을 추종하기 위한 자세 제어 토크(τTorso, τSwingHip)를 각각 계산하여 최종적으로 몸통(102)을 지지하는 다리(110L 또는 110R)의 힙 관절부(210)에 인가될 목표 토크(τA)를 계산한다(408).
몸통(102)을 지지하는 다리(110L 또는 110R)의 힙 관절부(210)에 인가될 목표 토크(τA)는 아래의 [수학식 1]을 이용하여 계산한다.
[수학식 1]
τA = - τTorso - τSwingHip + τStanceHip - τGravity
토크 제어 방식에서 지지하는 다리(110L 또는 110R)의 토크는 몸통(102)의 회전을 위하여 결정된 상체(101)의 자세 제어 토크(τTorso), 공중에서 스윙하는 다리(110R 또는 110L)를 움직이기 위하여 결정된 자세 제어 토크(τSwingHip), 지지하는 다리(110L 또는 110R)의 기본 자세 제어를 위한 초기 목표 토크(τStanceHip), 중력에 대한 보상 토크(τGravity)의 4개의 토크로 분리될 수 있으며, 4개의 토크(τTorso, τSwingHip, τStanceHip, τGravity)가 힘의 평형을 이루어 최종적으로 지지하는 다리(110L 또는 110R)의 목표 토크(τA)를 계산하게 된다.
여기에서, 몸통(102)의 회전을 위하여 결정된 상체(101)의 자세 제어 토크(τTorso), 공중에서 스윙하는 다리(110R 또는 110L)를 움직이기 위하여 결정된 자세 제어 토크(τSwingHip), 지지하는 다리(110L 또는 110R)의 기본 자세 제어를 위한 초기 목표 토크(τStanceHip)는 PD(Proportional-Derivative) 제어를 이용하여 [수학식 3] 내지 [수학식 5]와 같이 각각 계산한다.
[수학식 3]
τTorso = kpd_Torsoc_Torso) + kd(dθd_Torso/dt - dθc_Torso/dt)
[수학식 4]
τSwingHip=kpd_SwingHipc_SwingHip) + kd(dθd_SwingHip/dt - dθc_SwingHip/dt)
[수학식 5]
τStanceHip=kpd_StanceHipc_StanceHip)+kd(dθd_StanceHip/dt-dθc_StanceHip/dt)
이후, 서보 제어부(334)는 목표 토크 계산부(333)에서 계산된 목표 토크(τA)를 지지하는 다리(110L 또는 110R)의 힙 관절부(210)에 제공하여 힙 관절부(210)에 설치된 모터 등의 액츄에이터를 구동시킴으로써(410), 힙 조인트의 목표 궤적에 따라 로봇(100)이 균형을 유지하면서 안정적인 보행을 구현할 수 있게 된다.
이와 같이, 상체(101)의 자세 제어 토크(τTorso), 들고 있는 다리(110R 또는 110L)의 토크(τSwingHip), 지지하는 다리(110L 또는 110R)의 기본 자세 제어 토크(τStanceHip)를 사용하여 지지하는 다리(110L 또는 110R)의 토크를 최종적으로 계산하게 되므로 토크의 평형을 이루어 안정적으로 보행할 수 있다.
또한, 중력에 의한 토크(τGravity)를 보상하는 부분이 작용하므로 보행 시, 발(112L 또는 112R)을 드는 순간 몸통(102)이 기울어지지 않고 자세를 유지할 수 있게 된다.
또한, 토크의 균형을 이루기 때문에 낮은 서보 게인을 사용하더라도 원하는 동작을 수행할 수 있고, 이로 인해 에너지 소비를 줄일 수 있다.
또한, 낮은 서보 게인을 사용하여 각 관절이 저강성을 가지므로 주위 환경과 충돌 시 충격을 작게 할 수 있어 안전하다.
또한, 지지하는 다리(110L 또는 110R)의 토크에 기초하여 로봇(100)의 균형을 유지하기 때문에, 그 방법이 간단하여 6 자유도의 관절을 가진 로봇(100)에 적용할 수 있다.
100 : 로봇 101 : 상체
102 : 몸통 110L, 110R : 다리
112L, 112R : 발 210 : 힙 관절부
320 : 센서부 330 : 보행 제어부
331 : 상태 데이터베이스부 332 : 목표 궤적 생성부
333 : 목표 토크 계산부 334 : 서보 제어부
335 : 목표 궤적 보상부

Claims (17)

  1. 상체;
    상기 상체에 연결되어 보행하는 복수의 다리;
    상기 보행 시 상기 복수의 다리 상태를 판단하여 목표 궤적을 생성하는 목표 궤적 생성부;
    상기 생성된 목표 궤적을 추종하는 상기 상체와 복수의 다리의 자세 제어 토크를 계산하고, 상기 계산된 자세 제어 토크를 이용하여 상기 상체를 지지하는 다리의 목표 토크를 계산하는 목표 토크 계산부;
    상기 계산된 목표 토크를 상기 지지하는 다리의 힙 관절에 전달하여 상기 보행을 제어하는 서보 제어부를 포함하는 보행 로봇.
  2. 제1항에 있어서,
    상기 보행 로봇은 토크 기반에 따라 보행하는 이족 이상의 보행 로봇.
  3. 제1항에 있어서,
    상기 복수의 다리 상태는 상기 복수의 다리에 각각 마련된 발의 지면 접촉 여부에 따라 상기 상체를 지지하는 상태 또는 스윙하는 상태로 분리하는 보행 로봇.
  4. 제3항에 있어서,
    상기 목표 궤적 생성부는 상기 복수의 다리 상태에 따라 상기 상체와 상기 복수의 다리의 허벅지의 지면에 대한 목표 각도를 생성하고, 상기 생성된 지면에 대한 목표 각도에 따라 상기 지지하는 다리의 허벅지의 지면에 대한 기울어짐 각도 궤적을 생성하는 보행 로봇.
  5. 제3항에 있어서,
    상기 상체와 복수의 다리의 자세 제어 토크는 상기 상체의 자세 제어 토크, 상기 스윙하는 다리의 자세 제어 토크, 상기 지지하는 다리의 초기 자세 제어 토크를 포함하는 보행 로봇.
  6. 제5항에 있어서,
    상기 목표 토크 계산부는 상기 상체의 자세 제어 토크, 상기 스윙하는 다리의 자세 제어 토크, 상기 지지하는 다리의 초기 자세 제어 토크를 이용하여 상기 지지하는 다리의 힙 관절의 목표 토크를 계산하는 보행 로봇.
  7. 제6항에 있어서,
    상기 목표 토크 계산부는 상기 보행 로봇의 중력에 대한 보상 토크를 계산하는 보행 로봇.
  8. 제7항에 있어서,
    상기 목표 토크 계산부는 상기 중력에 대한 보상 토크를 이용하여 상기 계산된 힙 관절의 목표 토크를 보상하는 보행 로봇.
  9. 제6항에 있어서,
    상기 목표 토크 계산부는 상기 상체와 복수의 다리의 자세 제어를 위해 상기 상체와 복수의 다리의 토크 비율을 분배하는 보행 로봇.
  10. 상체와, 상기 상체에 연결된 복수의 다리를 구비한 보행 로봇의 제어 방법에 있어서,
    상기 보행 로봇의 보행 시, 상기 복수의 다리 상태를 판단하여 목표 궤적을 생성하고;
    상기 생성된 목표 궤적을 추종하는 상기 상체와 복수의 다리의 자세 제어 토크를 계산하여 상기 상체를 지지하는 다리의 목표 토크를 계산하고;
    상기 계산된 목표 토크를 상기 지지하는 다리의 힙 관절에 전달하여 상기 보행 로봇의 보행을 제어하는 보행 로봇의 제어 방법.
  11. 제10항에 있어서,
    상기 복수의 다리 상태는 상기 복수의 다리에 각각 마련된 발의 지면 접촉 여부에 따라 상기 상체를 지지하는 상태 또는 스윙하는 상태로 분리하는 보행 로봇의 제어 방법.
  12. 제11항에 있어서,
    상기 목표 궤적을 생성하는 것은,
    상기 복수의 다리 상태에 따라 상기 상체와 상기 복수의 다리의 허벅지의 지면에 대한 목표 각도를 생성하고, 상기 생성된 지면에 대한 목표 각도에 따라 상기 지지하는 다리의 허벅지의 지면에 대한 기울어짐 각도 궤적을 생성하는 보행 로봇.
  13. 제11항에 있어서,
    상기 상체와 복수의 다리의 자세 제어 토크는 상기 상체의 자세 제어 토크, 상기 스윙하는 다리의 자세 제어 토크, 상기 지지하는 다리의 초기 자세 제어 토크를 포함하는 보행 로봇의 제어 방법.
  14. 제13항에 있어서,
    상기 지지하는 다리의 목표 토크를 계산하는 것은,
    상기 상체의 자세 제어 토크, 상기 스윙하는 다리의 자세 제어 토크, 상기 지지하는 다리의 초기 자세 제어 토크를 이용하여 상기 지지하는 다리의 힙 관절의 목표 토크를 계산하는 보행 로봇의 제어 방법.
  15. 제14항에 있어서,
    상기 계산된 힙 관절의 목표 토크는 상기 지지하는 다리의 토크 평형을 유지하는 보행 로봇의 제어 방법.
  16. 제14항에 있어서,
    상기 보행 로봇의 중력에 대한 보상 토크를 계산하는 것을 더 포함하고,
    상기 지지하는 다리의 목표 토크를 계산하는 것은,
    상기 중력에 대한 보상 토크를 이용하여 상기 계산된 힙 관절의 목표 토크를 보상하는 보행 로봇의 제어 방법.
  17. 제16항에 있어서,
    상기 지지하는 다리의 목표 토크를 계산하는 것은,
    상기 상체와 복수의 다리의 자세 제어를 위해 상기 상체와 복수의 다리의 토크 비율을 분배하는 보행 로봇의 제어 방법.
KR1020100002354A 2010-01-11 2010-01-11 보행 로봇 및 그 제어 방법 KR20110082394A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020100002354A KR20110082394A (ko) 2010-01-11 2010-01-11 보행 로봇 및 그 제어 방법
US12/979,436 US20110172824A1 (en) 2010-01-11 2010-12-28 Walking robot and method of controlling the same
EP11150390A EP2343161A1 (en) 2010-01-11 2011-01-07 Walking robot and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100002354A KR20110082394A (ko) 2010-01-11 2010-01-11 보행 로봇 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20110082394A true KR20110082394A (ko) 2011-07-19

Family

ID=43836735

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100002354A KR20110082394A (ko) 2010-01-11 2010-01-11 보행 로봇 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20110172824A1 (ko)
EP (1) EP2343161A1 (ko)
KR (1) KR20110082394A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140065405A (ko) * 2011-08-04 2014-05-29 알데바란 로보틱스 가변 강성의 관절을 갖는 로봇 및 상기 최적화된 강성을 계산하기 위한 방법
US10575761B2 (en) 2014-10-07 2020-03-03 Samsung Electronics Co., Ltd. Method and apparatus for recognizing gait motion

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101732901B1 (ko) * 2010-10-05 2017-05-08 삼성전자주식회사 보행 로봇 및 그 제어방법
KR101985790B1 (ko) * 2012-02-21 2019-06-04 삼성전자주식회사 보행 로봇 및 그 제어 방법
US9183346B2 (en) 2012-03-12 2015-11-10 Empire Technology Development Llc Robotic appendages
JP6330287B2 (ja) * 2013-10-29 2018-05-30 セイコーエプソン株式会社 ロボット、ロボット用当接部材
JP6414664B2 (ja) * 2014-06-13 2018-10-31 国立大学法人 筑波大学 義肢装着式動作補助装置
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
WO2017187235A1 (en) * 2016-04-29 2017-11-02 Softbank Robotics Europe A mobile robot with enhanced balanced motion and behavior capabilities
US10065311B1 (en) * 2016-06-08 2018-09-04 X Development Llc Singularity handling for robot jogging
US10351189B2 (en) * 2016-12-13 2019-07-16 Boston Dynamics, Inc. Whole body manipulation on a legged robot using dynamic balance
CN111309039B (zh) * 2020-02-27 2023-08-22 杭州云深处科技有限公司 一种四足机器人姿态控制方法和装置
CN113290559B (zh) * 2021-05-26 2022-11-11 深圳市优必选科技股份有限公司 机器人平衡控制方法、装置、机器人控制设备及存储介质
US20230137427A1 (en) 2021-10-28 2023-05-04 Toyota Research Institute, Inc. Lifting robots

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002045913A1 (fr) * 2000-11-20 2002-06-13 Sony Corporation Dispositif et procede permettant de commander le fonctionnement d'un robot a jambes et ensemble robot
JP4188607B2 (ja) * 2001-06-27 2008-11-26 本田技研工業株式会社 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法
JP4246535B2 (ja) * 2003-04-17 2009-04-02 本田技研工業株式会社 二足歩行移動体の床反力作用点推定方法及び二足歩行移動体の関節モーメント推定方法
KR101466312B1 (ko) * 2008-06-11 2014-11-27 삼성전자 주식회사 보행 로봇 및 그 제어 방법
KR20100001567A (ko) * 2008-06-27 2010-01-06 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR20100073438A (ko) * 2008-12-23 2010-07-01 삼성전자주식회사 로봇 및 그 제어방법
KR101633362B1 (ko) * 2010-01-18 2016-06-28 삼성전자 주식회사 인간형 로봇 및 그 보행 제어방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140065405A (ko) * 2011-08-04 2014-05-29 알데바란 로보틱스 가변 강성의 관절을 갖는 로봇 및 상기 최적화된 강성을 계산하기 위한 방법
US10575761B2 (en) 2014-10-07 2020-03-03 Samsung Electronics Co., Ltd. Method and apparatus for recognizing gait motion

Also Published As

Publication number Publication date
US20110172824A1 (en) 2011-07-14
EP2343161A1 (en) 2011-07-13

Similar Documents

Publication Publication Date Title
KR20110082394A (ko) 보행 로봇 및 그 제어 방법
EP2347867B1 (en) Walking control apparatus of robot and method of controlling the same
KR101985790B1 (ko) 보행 로봇 및 그 제어 방법
KR101687630B1 (ko) 보행 로봇 및 그 균형 제어 방법
KR101633362B1 (ko) 인간형 로봇 및 그 보행 제어방법
KR101778027B1 (ko) 보행 로봇 및 그 자세 제어 방법
KR101687628B1 (ko) 로봇의 보행 제어 장치 및 그 제어 방법
KR101687629B1 (ko) 인간형 로봇 및 그 보행 제어방법
KR101809972B1 (ko) 보행 로봇 및 그 제어방법
KR101732901B1 (ko) 보행 로봇 및 그 제어방법
KR101549817B1 (ko) 로봇의 보행 제어장치 및 그 방법
KR101766755B1 (ko) 보행 로봇 및 그 제어방법
KR20120060578A (ko) 보행 로봇 및 그 자세 제어 방법
KR20130049029A (ko) 보행 로봇 및 그 제어 방법
KR20120069333A (ko) 로봇의 보행 제어 장치 및 그 제어 방법
KR20130068694A (ko) 보행 로봇 및 그 제어 방법
KR20120134036A (ko) 로봇 및 그 제어방법
KR20100001567A (ko) 보행 로봇 및 그 제어 방법
KR20120024098A (ko) 보행 로봇 및 그 제어방법
KR101760883B1 (ko) 로봇 및 그 제어방법
KR20180004397A (ko) 보행 로봇 및 그 자세 제어 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid