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

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

Info

Publication number
KR101766755B1
KR101766755B1 KR1020100079428A KR20100079428A KR101766755B1 KR 101766755 B1 KR101766755 B1 KR 101766755B1 KR 1020100079428 A KR1020100079428 A KR 1020100079428A KR 20100079428 A KR20100079428 A KR 20100079428A KR 101766755 B1 KR101766755 B1 KR 101766755B1
Authority
KR
South Korea
Prior art keywords
torque
control
measured
actuators
target
Prior art date
Application number
KR1020100079428A
Other languages
English (en)
Other versions
KR20120016902A (ko
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 KR1020100079428A priority Critical patent/KR101766755B1/ko
Priority to US13/210,466 priority patent/US8781628B2/en
Publication of KR20120016902A publication Critical patent/KR20120016902A/ko
Application granted granted Critical
Publication of KR101766755B1 publication Critical patent/KR101766755B1/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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile 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

보행 로봇 및 그 제어방법{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를 제어하기 위해 각 관절의 정확한 각도 제어를 수행해야 하므로 높은 서보 게인을 필요로 한다. 이로 인해 높은 전류를 필요로 하기 때문에 에너지 효율이 낮고 관절의 강성이 크다.
이에 반해, FSM 제어 방식은 매 제어 시간마다 위치를 추종하여 보행하는 방식이 아니라 로봇의 각 동작 상태(State)를 미리 정의해 두고(Finite State), 보행 시 각 동작 상태(State)를 참조하여 각 관절의 목표 토크를 계산하고 이를 추종하도록 제어하여 보행하는 방식으로, 보행 중 각 관절의 토크를 제어하므로 낮은 서보 게인이 가능하여 에너지 효율이 높고 강성이 낮다. 또한 기구학적 특이점(Kinematic Singularity)을 피할 필요가 없으므로 인간과 같이 무릎을 편 상태의 자연스러운 보행이 가능하다.
로봇의 동작 중에 전술한 위치 기반의 ZMP 제어 방식 및 토크 기반의 FSM 제어 방식 간에 스위칭이 필요한 경우가 있다. 하지만 로봇의 동작 중에 제어방식의 스위칭이 일어나면 전류, 전압이 순간적으로 크게 변하는 불안정한 모습을 보인다.이로 인해 센서들이 불안정한 데이터를 갖게 되어 제어가 불안정해지고 하드웨어의 파손이 발생할 수 있다.
토크 기반 제어의 단일 제어방식을 유지하면서 위치 기반 제어의 고강성의 성능도 구현할 수 있는 보행로봇의 제어방법 및 보행로봇을 제시한다.
본 발명의 일 측면에 따르면, 토크기반의 보행로봇의 제어방법에 있어서, 토크센서에서 각 액츄에이터의 토크를 측정하고; 목표토크를 산출하고; 상기 토크센서에서 측정된 각 액츄에이터의 토크에 가산할 특정값을 설정하여 상기 각 액츄에이터의 측정토크에 상기 설정된 특정값을 가산하고, 상기 특정값을 가산한 상기 각 액츄에이터의 측정토크와 상기 목표토크를 이용한 제어를 통해 상기 특정값을 도입하지 않았을 때 보다 증가된 크기의 전압을 산출하고; 상기 산출한 전압을 상기 액츄에이터에 인가하는 보행로봇의 제어방법을 제공한다.
특정값을 설정하는 것은, 상기 토크센서가 측정할 수 있는 토크범위를 한정하고, 상기 측정범위가 한정된 토크센서가 측정한 토크와 목표토크 사이의 차이를 상기 특정값으로 설정할 수 있다.
토크의 범위를 한정하는 것은, 상기 토크센서가 측정할 수 있는 토크 범위의 최대값과 최소값의 설정을 통해 이루어질 수 있다.
토크 범위의 최대값과 최소값을 조절하여 상기 특정값을 조절함으로써, 상기 액츄에이터에 인가할 전압을 제어할 수 있다.
목표토크를 산출하는 것은, 엔코더의 목표각도와 상기 엔코더의 실제각도 사이의 편차를 산출하고, 상기 편차를 최소화하는 제어를 통해 이루어질 수 있다.
보행로봇의 제어는 비례게인제어, 적분게인제어 및 미분게인제어의 조합으로 이루어질 수 있다.
본 발명의 다른 측면에 따르면, 다족 보행로봇으로서, 각 액츄에이터의 토크를 측정하는 토크센서; 목표토크를 산출하고, 상기 토크센서가 측정한 각 액츄에이터의 토크와 상기 목표토크를 이용한 제어를 통해 상기 액츄에이터에 인가할 전압을 산출하여, 상기 로봇의 강성을 조절할 수 있도록 상기 산출한 전압을 상기 액츄에이터에 인가하는 제어부;를 포함하는 보행로봇을 제공한다.
액츄에이터에 인가되는 전압은, 상기 제어부가, 상기 토크센서가 측정한 각 액츄에이터의 토크에 가산할 특정값을 설정하고, 상기 각 액츄에이터의 측정토크에 상기 설정된 특정값을 가산하고, 상기 특정값을 가산한 상기 각 액츄에이터의 측정토크와 상기 목표토크를 이용한 제어를 통해 산출한 전압으로, 상기 특정값을 도입하지 않았을 때 보다 증가된 크기일 수 있다.
특정값은, 상기 제어부가, 상기 토크센서가 측정할 수 있는 토크범위를 한정하고, 상기 측정범위가 한정된 토크센서가 측정한 토크와 목표토크 사이의 차이로 설정할 수 있다.
토크범위는 상기 토크센서가 측정할 수 있는 토크의 최대값과 최소값의 설정을 통해 한정될 수 있다.
목표토크는, 상기 제어부가 엔코더의 목표각도와 상기 엔코더의 실제각도 사이의 편차를 산출하고, 상기 편차를 최소화하는 제어를 통해 얻어질 수 있다.
제어부는 비례게인제어, 적분게인제어 및 미분게인제어의 조합으로 상기 로봇의 보행을 제어할 수 있다.
토크 기반의 단일 제어방식을 유지하면서 위치 기반의 제어방식의 고강성의 성능까지도 구현하여 제어방식의 스위칭으로 인한 불안정한 제어 및 하드웨어의 파손 등을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇의 외관 구성도이다.
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 FSM 기반의 보행 시, 로봇의 동작 상태와 각 동작 상태의 제어동작을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 로봇의 보행 제어 블록도이다.
도 5a는 본 발명의 일 실시예에 따른 토크센서의 한정된 측정범위를 나타낸 그래프이다.
도 5b는 본 발명의 일 실시예에 따른 도 5a의 토크센서가 측정한 토크와 목표토크 사이의 오차를 나타낸 그래프이다.
도 6은 본 발명의 일 실시예에 따른 로봇의 보행제어방법의 순서도이다.
이하, 본 발명의 일 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
이하 다족보행로봇 중 이족보행로봇을 예로 들어 설명한다.
도 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)의 보행을 제어한다.
도 4는 본 발명의 일 실시예에 따른 로봇의 보행 제어블록도로서 사용자 인터페이스부(310), 센서부(320), 보행 제어부(330) 및 액츄에이터(340)를 포함한다.
사용자 인터페이스부(310)는 로봇(100)의 보행을 지시하기 위한 사용자 명령을 입력한다. 센서부(320)는 로봇(100)의 몸통(102)에 설치되어 상체(101)의 기울기나 자세를 검출하는 포즈 센서(14), 로봇(100)의 발(112)과 발목 관절부(230)의 사이에 설치되어 발(112)의 지면 접촉 여부를 검출하는 F/T센서(24) 및 각 액츄에이터의 토크를 검출하는 토크센서를 포함할 수 있다.
보행 제어부(330)는 사용자 인터페이스부(310)로부터 입력된 보행명령과 센서부(320)로부터 검출된 센서정보를 바탕으로 로봇(100)의 보행을 제어하는 PID(Propotional Integral Derivative) Controller로 상태 데이터베이스부(331), 목표토크 산출부(332) 및 서보 제어부(333)를 포함한다.
상태 데이터베이스부(331)는 보행 시, FSM(Finite State Machine)에 기반을 둔 로봇(100)의 다리 상태 데이터와, 로봇(100)의 다리 상태에 대응하는 각 관절부(15, 210)의 동작 상태 데이터를 저장한다.
여기서, FSM은 몸통(102)과 다리(110L, 110R)의 제한된 동작 상태 변화를 순차적으로 나타낸 것이다. 다리(110L, 110R)의 제한된 동작 상태는 어느 발(112L 또는 112R)이 지지(Stance)상태인지 또는 스윙(Swing)상태인지에 따라 결정된다.
목표토크 산출부(332)는 PID제어를 이용하여 수학식 1과 같은 계산과정을 통해 각 액츄에이터가 추종해야 할 목표토크를 산출한다. 
[수학식1]
Figure 112010052930611-pat00001
[수학식1]에서 τd는 목표토크이고, kp1은 PID제어의 P게인(gain)이고, kd1은  PID제어의 D게인(gain)이며, ki1은 PID제어의 I게인(gain)이다. ep는 엔코더의 에러(error) 즉, 목표 엔코더 각도와 실제 엔코더의 각도 사이의 차이이고, ev는 목표 엔코더 각도를 미분한 목표 엔코더 각속도와 실제 엔코더의 각도를 미분한 실제 엔코더 각속도 사이의 차이이다.
서보 제어부(333)는 각 액츄에이터에 인가할 전압을 PI제어를 이용하여 [수학식2]와 같이 계산한다.  
[수학식2]
Figure 112010052930611-pat00002
Figure 112010052930611-pat00003

[수학식2]에서 V는 액츄에이터에 인가되는 전압이고, kp2는 PI제어의 P게인(gain)이고, ki2는 PI제어의 I게인(gain)이다. et는 토크의 에러(error) 즉, 목표토크 산출부(332)가 산출한 목표토크(τd)와 토크센서가 측정한 각 액츄에이터의 실제 토크(τ)사이의 차이이다.
토크 기반의 FSM 제어방식은 보행 중 각 관절의 토크를 제어하므로 낮은 서보게인이 가능하여 에너지 효율이 높지만 강성이 낮다. 본 발명에 따른 보행 제어부(330)는 토크 기반의 FSM제어의 단일 제어방식으로 로봇의 보행을 제어하면서도 위치 기반의 제어가 가지는 고강성의 성능을 구현하는 제어방식을 제시한다.
서보 제어부(333)는 강제적으로 토크 에러를 발생시켜 액츄에이터에 인가되는 전압을 증가시킴으로써, 위치 기반의 제어방식이 가지는 고강성의 성능을 구현한다.
이하 상세하게 설명한다.
도 5a는 본 발명의 일 실시예에 따른 토크센서의 한정된 측정범위를 나타낸 그래프이고, 도 5b는 도 5a의 토크센서가 측정한 토크와 목표토크 사이의 오차를 나타낸 그래프이다. 도 5b에서 점선은 목표토크를 나타내고 실선은 도 5a의 한정된 측정범위를 가진 토크센서에 의해 측정된 토크를 나타낸다.  
서보 제어부(333)는 토크센서가 측정할 수 있는 토크의 범위의 최대값과 최소값을 설정하여 최대값 이상의 토크는 설정된 최대값으로, 최소값 이하의 토크는 설정된 최소값으로 측정되도록 한다. 이하 최대값 및 최소값의 절대값을 a라고 한다(도 5a). 이렇게 되면 목표토크가 토크센서의 한정된 범위를 초과할 경우, 목표토크와 토크센서가 측정한 토크 사이에 오차가 발생하게 된다(도 5b). 이하 목표토크와 토크센서가 측정한 토크 사이의 오차를 α라고 한다.
서보 제어부(333)는 전술한 수학식2의 τ 즉, 각 액츄에이터의 실제 토크 대신, 측정범위가 한정된 토크센서가 측정한 토크(이하 τa라고 함.)에 토크센서의 측정범위의 한정으로 발생한 목표토크와 토크센서의 측정토크 간의 오차(α)를 더한 데이터를 사용한다. 따라서 [수학식2]는 다음과 같아지고 이를 [수학식3]이라고 한다.
[수학식3]    
    
Figure 112010052930611-pat00004
 
[수학식4]
Figure 112010052930611-pat00005
 
[수학식5]
Figure 112010052930611-pat00006
[수학식3]의 우변을 크게 둘로 나누면, 토크센서가 측정한 값(τa)에 대한 일반적인 PI제어를 나타내는 항 즉, [수학식4]와 토크센서의 측정범위를 한정함으로 인해 발생한 목표토크와의 오차로 인해 발생한 항 즉, [수학식5]로 표현되는 항으로 나눌 수 있다.
여기서 [수학식5]로 표현되는 항이 액츄에이터에 추가적으로 인가되는 전압으로 작용하여 엑츄에이터의 강성을 증가시키게 된다. 즉 일반 토크제어에 인가할 전압, 즉 [수학식4]에 해당하는 전압에 토크센서의 측정범위를 한정함으로써 발생한 목표토크와의 오차로 인해 얻어지는 추가전압이 합산되므로 모터의 강성이 증가되는 것이다.    
서보 제어부(333)는 토크센서 측정범위의 최대값과 최소값을 조절함으로써, 목표토크와의 오차를 조절할 수 있게 되고, 따라서 액츄에이터의 강성을 조절할 수 있게 된다.
이로 인해, 토크 기반의 단일 제어방식만으로 제어방식의 스위칭 없이 위치기반 제어의 고강성의 성능을 구현할 수 있게 된다.
도 6은 본 발명의 일 실시예에 따른 로봇의 보행제어방법의 순서도이다.
도 6에서 보행 제어부(330)의 목표토크 산출부(332)는 엔코더의 에러 즉, 목표 엔코터 각도와 실제 엔코더 각도 사이의 차이를 최소화 하는 PID제어를 통해 각 액츄에이터가 추종해야 할 목표토크를 산출한다(400).
이어서, 서보 제어부(333)는 토크센서가 측정할 수 있는 토크범위의 최대값과 최소값을 설정하여 최대값 이상의 토크는 설정된 최대값으로, 최소값 이하의 토크는 설정된 최소값으로 측정되도록 한다(402).
이어서, 서보 제어부(333)는 측정범위가 한정된 토크센서에 의해 측정된 토크(τa)와 목표토크 사이의 오차(α)를 토크센서가 측정한 측정한 토크(τa)에 더한 데이터를 사용하여 PI제어를 통해 액츄에이터에 인가할 전압을 산출한다(404). 이렇게 산출된 전압은 전술한 오차(α)를 도입하지 않았을 경우에 산출된 전압보다 크기가 증가하게 되어 모터의 강성이 증가된다. 즉, 전술한 오차(α)를 피드백 형식으로 강제적으로 인가시켜 추가적인 전압을 발생시키는 것이다. 
이어서, 서보 제어부(333)는 산출된 전압을 액츄에이터에 인가하여 각 관절을 구동시킨다(406).
100 : 로봇                  101 : 상체
102 : 몸통                  110L, 110R : 다리
112L, 112R : 발             210 : 힙 관절부
320 : 센서부                330 : 보행 제어부
331 : 상태 데이터베이스부   332 : 목표토크 산출부
333 : 서보 제어부

Claims (12)

  1. 토크기반의 보행로봇의 제어방법에 있어서,
    토크센서를 통해 각 액츄에이터의 토크를 측정하고;
    상기 각 액츄에이터의 목표토크를 산출하고;
    상기 토크센서에 의해 측정된 상기 각 액츄에이터의 토크에 가산될 특정값을 설정하고, 상기 설정된 특정값을 상기 측정된 토크에 가산하고, 상기 특정값이 가산된 상기 측정된 토크와 상기 산출된 목표토크를 이용하여 상기 각 액츄에이터에 인가될 전압을 산출하고;
    상기 산출된 전압을 상기 각 액츄에이터에 인가하되,
    상기 특정값을 설정하는 것은:
    상기 토크센서에 의해 측정할 수 있는 토크범위를 한정하고;
    상기 한정된 측정할 수 있는 토크범위를 가지는 상기 토크센서에 의해 측정된 토크와 상기 목표토크 사이의 차이를 상기 특정값으로 설정하는 것을 포함하는 보행로봇의 제어방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 토크범위를 한정하는 것은,
    상기 토크센서가 측정할 수 있는 토크의 최대값과 최소값의 설정을 통해 이루어지는 보행로봇의 제어방법.
  4. 제3항에 있어서,
    상기 토크범위의 상기 최대값과 상기 최소값을 조절하여 상기 특정값을 조절함으로써, 상기 각 액츄에이터에 인가할 전압을 제어하는 보행로봇의 제어방법.
  5. 제1항에 있어서,
    상기 목표토크를 산출하는 것은,
    엔코더의 목표각도와 상기 엔코더의 실제각도 사이의 차이를 산출하고;
    상기 차이를 최소화하는 제어를 통해 이루어지는 보행로봇의 제어방법.
  6. 제1항에 있어서,
    상기 보행로봇의 제어는 비례게인제어, 적분게인제어 및 미분게인제어의 조합으로 이루어지는 보행로봇의 제어방법.
  7. 각 액츄에이터의 토크를 측정하는 토크센서; 및
    상기 각 액츄에이터의 목표토크를 산출하고, 상기 토크센서에 의해 측정된 상기 각 액츄에이터의 토크와 상기 산출된 목표토크를 이용하여 상기 각 액츄에이터에 인가될 전압을 산출하고, 상기 산출된 전압을 상기 각 액츄에이터에 인가하여 상기 각 액츄에이터를 제어하는 제어부를 포함하되,
    상기 제어부는 상기 토크센서에 의해 측정된 상기 토크에 가산될 특정값을 설정하고, 상기 설정된 특정값을 상기 측정된 토크에 가산하고, 상기 특정값이 가산된 상기 측정된 토크를 이용하여 상기 각 액츄에이터에 인가될 상기 전압을 산출하고,
    상기 제어부는 상기 토크센서에 의해 측정할 수 있는 토크범위를 한정하고, 상기 한정된 측정할 수 있는 토크범위를 가지는 상기 토크센서에 의해 측정된 토크와 상기 목표토크 사이의 차이를 상기 특정값으로 설정하는 보행로봇.
  8. 삭제
  9. 삭제
  10. 제7항에 있어서,
    상기 제어부는 상기 토크센서가 측정할 수 있는 토크의 최대값과 최소값의 설정을 통해 상기 토크범위를 한정하는 보행로봇.
  11. 제7항에 있어서,
    상기 제어부는 엔코더의 목표각도와 상기 엔코더의 실제각도 사이의 차이를 산출하고, 상기 차이를 최소화하는 제어를 통해 상기 목표토크를 산출하는 보행로봇.
  12. 제7항에 있어서,
    상기 제어부는 비례게인제어, 적분게인제어 및 미분게인제어의 조합으로 상기 보행로봇의 보행을 제어하는 보행로봇.
KR1020100079428A 2010-08-17 2010-08-17 보행 로봇 및 그 제어방법 KR101766755B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100079428A KR101766755B1 (ko) 2010-08-17 2010-08-17 보행 로봇 및 그 제어방법
US13/210,466 US8781628B2 (en) 2010-08-17 2011-08-16 Walking robot and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100079428A KR101766755B1 (ko) 2010-08-17 2010-08-17 보행 로봇 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20120016902A KR20120016902A (ko) 2012-02-27
KR101766755B1 true KR101766755B1 (ko) 2017-08-10

Family

ID=45594693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100079428A KR101766755B1 (ko) 2010-08-17 2010-08-17 보행 로봇 및 그 제어방법

Country Status (2)

Country Link
US (1) US8781628B2 (ko)
KR (1) KR101766755B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101766755B1 (ko) * 2010-08-17 2017-08-10 삼성전자주식회사 보행 로봇 및 그 제어방법
KR101985790B1 (ko) * 2012-02-21 2019-06-04 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR101326957B1 (ko) * 2012-05-15 2013-11-13 현대자동차주식회사 보행 로봇의 발목제어 방법
JP5869991B2 (ja) * 2012-08-31 2016-02-24 本田技研工業株式会社 駆動装置
US9308648B2 (en) * 2014-07-24 2016-04-12 Google Inc. Systems and methods for robotic self-right
US9594377B1 (en) * 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
US9561592B1 (en) * 2015-05-15 2017-02-07 Google Inc. Ground plane compensation for legged robots
US11383381B2 (en) * 2019-08-06 2022-07-12 Boston Dynamics, Inc. Footstep contact detection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009269102A (ja) * 2008-05-01 2009-11-19 Sony Corp アクチュエータ制御装置及びアクチュエータ制御方法、アクチュエータ、ロボット装置、並びにコンピュータ・プログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2770982B2 (ja) * 1989-05-25 1998-07-02 株式会社豊田中央研究所 マニピユレータの位置と力の協調制御装置
US5355064A (en) * 1992-03-04 1994-10-11 Honda Giken Kogyo Kabushiki Kaisha Control system for legged mobile robot
JP3269852B2 (ja) * 1992-05-29 2002-04-02 本田技研工業株式会社 脚式移動ロボットの姿勢安定化制御装置
JP3674778B2 (ja) * 2001-09-27 2005-07-20 本田技研工業株式会社 脚式移動ロボットの脚体関節アシスト装置
US7236852B2 (en) * 2002-10-11 2007-06-26 Sony Corporation Motion controlling apparatus and method and remote controlling apparatus and method for legged mobile robot
US7366587B2 (en) * 2002-12-05 2008-04-29 Sony Corporation Legged mobile robot
US7072740B2 (en) * 2002-12-16 2006-07-04 Sony Corporation Legged mobile robot
DE602004031526D1 (de) * 2003-06-27 2011-04-07 Honda Motor Co Ltd Steuervorrichtung für mobilen schreitroboter
EP2380711A1 (en) * 2003-07-29 2011-10-26 Panasonic Corporation Robot arm control method
JP4587738B2 (ja) * 2003-08-25 2010-11-24 ソニー株式会社 ロボット装置及びロボットの姿勢制御方法
WO2005028166A1 (ja) * 2003-09-22 2005-03-31 Matsushita Electric Industrial Co., Ltd. 弾性体アクチュエータの制御装置及び制御方法
JP4305323B2 (ja) * 2004-08-11 2009-07-29 ソニー株式会社 ロボット装置の動作制御装置及び動作制御方法
US8864846B2 (en) * 2005-03-31 2014-10-21 Massachusetts Institute Of Technology Model-based neuromechanical controller for a robotic leg
US7313463B2 (en) * 2005-03-31 2007-12-25 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
JP4836592B2 (ja) * 2006-02-09 2011-12-14 ソニー株式会社 ロボット装置及びその制御方法
JP5109573B2 (ja) * 2007-10-19 2012-12-26 ソニー株式会社 制御システム及び制御方法、並びにロボット装置
WO2010027968A2 (en) * 2008-09-04 2010-03-11 Iwalk, Inc. Hybrid terrain-adaptive lower-extremity systems
JP5242342B2 (ja) * 2008-10-31 2013-07-24 株式会社東芝 ロボット制御装置
KR101493384B1 (ko) * 2008-12-22 2015-02-13 삼성전자 주식회사 로봇 및 그 균형 제어방법
KR101549817B1 (ko) * 2009-01-22 2015-09-04 삼성전자 주식회사 로봇의 보행 제어장치 및 그 방법
JP5284923B2 (ja) * 2009-10-28 2013-09-11 本田技研工業株式会社 脚式移動ロボットの制御装置
KR101766755B1 (ko) * 2010-08-17 2017-08-10 삼성전자주식회사 보행 로봇 및 그 제어방법
KR20120024098A (ko) * 2010-09-06 2012-03-14 삼성전자주식회사 보행 로봇 및 그 제어방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009269102A (ja) * 2008-05-01 2009-11-19 Sony Corp アクチュエータ制御装置及びアクチュエータ制御方法、アクチュエータ、ロボット装置、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
US20120046789A1 (en) 2012-02-23
KR20120016902A (ko) 2012-02-27
US8781628B2 (en) 2014-07-15

Similar Documents

Publication Publication Date Title
KR101985790B1 (ko) 보행 로봇 및 그 제어 방법
JP5916998B2 (ja) 人間型ロボット及びその歩行制御方法
EP2347867B1 (en) Walking control apparatus of robot and method of controlling the same
KR101766755B1 (ko) 보행 로봇 및 그 제어방법
KR101687630B1 (ko) 보행 로봇 및 그 균형 제어 방법
KR101732901B1 (ko) 보행 로봇 및 그 제어방법
KR101687628B1 (ko) 로봇의 보행 제어 장치 및 그 제어 방법
JP5607886B2 (ja) 歩行ロボット及びその制御方法
KR101809972B1 (ko) 보행 로봇 및 그 제어방법
KR101687629B1 (ko) 인간형 로봇 및 그 보행 제어방법
KR101549817B1 (ko) 로봇의 보행 제어장치 및 그 방법
KR20130068694A (ko) 보행 로봇 및 그 제어 방법
KR20110082394A (ko) 보행 로봇 및 그 제어 방법
KR20130049029A (ko) 보행 로봇 및 그 제어 방법
KR20120069333A (ko) 로봇의 보행 제어 장치 및 그 제어 방법
KR20120024098A (ko) 보행 로봇 및 그 제어방법
US20090308668A1 (en) Walking robot and method of controlling the same
KR101760883B1 (ko) 로봇 및 그 제어방법

Legal Events

Date Code Title Description
A201 Request for examination
GRNT Written decision to grant