KR101778027B1 - 보행 로봇 및 그 자세 제어 방법 - Google Patents

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

Info

Publication number
KR101778027B1
KR101778027B1 KR1020100131262A KR20100131262A KR101778027B1 KR 101778027 B1 KR101778027 B1 KR 101778027B1 KR 1020100131262 A KR1020100131262 A KR 1020100131262A KR 20100131262 A KR20100131262 A KR 20100131262A KR 101778027 B1 KR101778027 B1 KR 101778027B1
Authority
KR
South Korea
Prior art keywords
gravity
robot
torque
calculated
center
Prior art date
Application number
KR1020100131262A
Other languages
English (en)
Other versions
KR20120069923A (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 KR1020100131262A priority Critical patent/KR101778027B1/ko
Priority to US13/280,583 priority patent/US8868240B2/en
Publication of KR20120069923A publication Critical patent/KR20120069923A/ko
Application granted granted Critical
Publication of KR101778027B1 publication Critical patent/KR101778027B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • 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/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Manipulator (AREA)

Abstract

토크 서보로 각 관절이 동작하는 보행 로봇의 안정적인 자세 제어를 위한 보행 로봇 및 그 자세 제어 방법을 제안한다.
로봇의 무게중심을 이용하여 가상 중력 가속도를 계산하고, 계산된 가상 중력 가속도로부터 링크에 힘을 인가하기 위한 중력 보상 토크를 계산하여 외부에서 작용하는 어떠한 힘이나 지면의 경사도 등을 포함한 외부의 변화에도 직립 자세와 목표한 상체 각도를 안정적으로 유지할 수 있다. 또한, 로봇이 지면의 경사 방향과 경사도에 대해 정보가 주어지지 않은 상황에서도 중력 방향에 대해 직립 자세를 유지할 수 있고, 서 있는 면이 서서히 기울어질 경우에도 그에 맞추어 발목 관절 각도가 바뀌면서 상체와 다리는 변함없는 자세를 유지할 수 있다.

Description

보행 로봇 및 그 자세 제어 방법{WALKING ROBOT AND METHOD FOR CONTROLLING BALANCING THE SAME}
토크 서보로 각 관절이 동작하는 보행 로봇의 안정적인 자세 제어를 위한 보행 로봇 및 그 자세 제어 방법에 관한 것이다.
인간과 유사한 관절 체계를 가지고 인간의 작업 및 생활 공간에서 인간과 공존하며 보행하는 로봇의 연구 개발이 활발하게 진행되고 있다. 보행 로봇은 이족 또는 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)을 피해야 하므로 보행 중 무릎을 항상 굽힌 자세를 유지하게 되어 인간과 다른 부자연스러운 보행을 하게 된다.
외력의 작용이나 지면의 경사 변화에도 직립 자세와 밸런싱 유지가 가능하게상체 각도를 안정적으로 유지하는 보행 로봇 및 그 자세 제어 방법을 제안하고자 한다.
이를 위해 본 발명의 일 측면은 상체와, 상체의 하측에 연결된 펠비스 링크와, 펠비스 링크의 하측에 연결된 복수의 힙 관절부와, 복수의 힙 관절부에 각각 연결된 복수의 다리와, 복수의 다리에 각각 마련된 발을 구비한 보행 로봇의 자세 제어 방법에 있어서, 로봇의 현재 무게중심의 위치를 계산하고 계산된 현재 무게중심의 위치와 목표 무게중심의 위치 간의 에러를 계산하여 로봇의 균형을 잡기 위해 보상해야 하는 힘을 계산하고 계산된 보상 힘을 가상 중력 가속도로 변환하고 펠비스 링크의 실제 회전 각도를 측정하고 측정된 실제 회전 각도와 목표 회전 각도와의 에러를 계산하여 로봇의 균형을 잡기 위해 보상해야 하는 모멘트를 계산하고 계산된 보상 모멘트와 가상 중력 가속도를 이용하여 복수의 다리의 자세를 제어하기 위한 관절 토크를 계산하고 계산된 관절 토크를 이용하여 토크 서보 제어를 수행하는 것을 포함한다.
목표 무게중심의 위치는, 지면과 접촉된 복수의 발 사이의 중점에서 지면과 수직인 위치로 설정한다.
목표 무게중심의 위치는, 지면과 접촉된 복수의 발 내의 임의의 점에서 지면과 수직인 위치로 설정한다.
계산된 보상 모멘트를 복수의 다리에 분배하는 것은, 로봇의 무게중심이 지면에 투영된 점과 복수의 발 간의 거리 비율을 계산하고 계산된 거리 비율을 이용하여 로봇의 무게중심이 지면에 투영된 점으로부터 가까운 다리가 더 큰 값을 갖도록 한다.
관절 토크를 계산하는 것은, 로봇의 발을 베이스 링크로 보는 자코비언을 이용하여 복수의 다리에 분배한 보상 모멘트를 복수의 다리의 관절 토크로 변환하는 것이다.
가상 중력 가속도로 변환하는 것은, 로봇의 질량을 m이라고 하고, 지구 중력 가속도를 g라고할 때, 아래의 [수학식 3]을 이용하여 보상 힘 f으로부터 가상 중력 가속도를 구하는 것이다.
[수학식 3]
Figure 112010084272873-pat00001
또한, 본 발명의 일 측면에 의한 보행 로봇의 자세 제어 방법은, 가상 중력 가속도를 이용하여 복수의 다리의 각 관절에 필요한 가상 중력 보상 토크를 계산하는 것을 더 포함하고, 관절 토크를 계산하는 것은, 중력 보상 토크에 계산된 관절 토크를 더하여 보상하는 것이다.
가상 중력 보상 토크는 가상 중력 가속도 gf와각 다리에 속한 모든 관절의 각도 q와, 각 다리에 속한 모든 링크의 질량및 무게중심의 위치와 복수의 다리에 배분된 상체의 질량 및 무게중심 위치로부터 계산한다.
상체의 질량을 복수의 다리에 배분하는 것은,로봇의 무게중심이 지면에 투영된 점과 복수의 발 간의 거리 비율을 계산하고 계산된 거리 비율을 이용하여 로봇의 무게중심이 지면에 투영된 점으로부터 가까운 다리에 더 큰 비율의 상체의 질량을 할당하는것이다.
각 다리에 대한 중력 보상 토크를 계산하는 것은, 복수의 다리 상태에 따라 반대쪽 다리의 무게를 고려하여 중력 보상을 실시하는 것이다.
복수의 다리 상태는 복수의 다리에 각각 마련된 발의 지면 접촉 여부에 따라 상체를 지지하는 상태 또는 스윙하는 상태로 분리한다.
또한, 본 발명의 일 측면에 의한 보행 로봇의 자세 제어 방법은, 각 다리에 대한 댐핑 토크를 계산하는 것을 더 포함하고, 관절 토크를 계산하는 것은, 댐핑 토크를 이용하여 계산된 각 다리의 관절 토크를 보상하는 것이다.
펠비스 링크의 실제 회전 각도를 측정하는 것은, IMU를 이용하여 몸통의 기울어짐에 대한 요우 방향(Z축 주위의 회전), 피치 방향(Y축 주위의 회전), 롤 방향(X축 주위의 회전)의 회전 각도를 측정하는 것이다.
그리고, 본 발명의 일 측면은 상체와, 상체의 하측에 연결된 펠비스 링크와, 펠비스 링크의 하측에 연결된복수의 힙 관절부와, 복수의 힙 관절부에 각각 연결된 복수의 다리와, 복수의 다리에 각각 마련된 발을 구비한 보행 로봇에 있어서, 로봇의 현재 무게중심의 위치를 계산하는 계산부 로봇의 목표 무게중심의 위치를 설정하는 설정부 설정된 목표 무게중심의 위치와 계산된 현재 무게중심의 위치 간의 에러를 계산하여 로봇의 균형을 잡기 위해 보상해야 하는 힘을 계산하고, 계산된 보상 힘을 가상 중력 가속도로 변환하고, 펠비스 링크의 실제 회전 각도와 목표 회전 각도와의 에러를 계산하여 로봇의 균형을 잡기 위해 보상해야 하는 모멘트를 계산하고, 계산된 보상 모멘트와 가상 중력 가속도를 이용하여 복수의 다리의 자세를 제어하기 위한 관절 토크를 계산하는 자세 제어부 계산된 관절 토크를 각 다리의 관절에 전달하여 토크 서보 제어를 수행하는 서보 제어부를 포함한다.
자세 제어부는,로봇의 무게중심이 지면에 투영된 점과 복수의 발 간의 거리 비율을 계산하고, 계산된 거리 비율을 이용하여 로봇의 무게중심이 지면에 투영된 점으로부터 가까운 다리가 더 큰 값을 가지도록 계산된 보상 모멘트를 복수의 다리에 분배한다.
그리고, 본 발명의 일 측면에 의한 보행 로봇은, 펠비스 링크의 실제 회전 각도를 관성계에 대해 측정하는 IMU를 더 포함하고,자세 제어부는,IMU를 이용하여 몸통의 기울어짐에 의한 펠비스 링크의 롤 방향(roll, X축 주위의 회전), 피치 방향(pitch, Y축 주위의 회전), 요우 방향(yaw, Z축 주위의 회전)의 실제 회전 각도를 측정한다.
자세 제어부는, 가상 중력 가속도를 이용하여 각 다리에 대한 중력 보상 토크를 계산하고, 계산된 중력 보상 토크를 이용하여 계산된 각 다리의 관절 토크를 보상한다.
자세 제어부는, 각 다리에 대한 댐핑 토크를 계산하고, 계산된 댐핑 토크를 이용하여 각 다리의 관절 토크를 보상한다.
제안된 보행 로봇 및 그 자세 제어 방법에 의하면, 로봇의 무게중심을 이용하여 가상 중력 가속도를 계산하고, 계산된 가상 중력 가속도로부터 링크에 힘을 인가하기 위한 중력 보상 토크를 계산하여 외부에서 작용하는 어떠한 힘이나 지면의 경사도 등을 포함한 외부의 변화에 능동적으로 대응함으로써 직립 자세와 목표한 상체 각도를 안정적으로 유지할 수 있다.
또한, 로봇이 평지와 경사면에 대해 사전 정보가 주어지지 않은 상황에서도 지구 중력 방향에 대해 직립 자세를 유지할 수 있고, 서 있는 면이 서서히 기울어 질 경우에도 능동적으로 발목 관절 각도를바꾸면서 상체와 다리는 변함없는 자세를 유지하는 것도 가능하다.
또한, 상체와 다리의 자세를 유지할 때 로봇의 무게중심을 발 가운데 둔 자세도 가능하고, 로봇의 무게중심을 한 쪽 발 위로 오게끔 지정하면 한 쪽 발로 치우친 자세를 취하게 되며, 발 앞쪽이나 뒤쪽으로 치우친 자세 역시 마찬가지 방법으로 가능하게 된다. 이 변경은 실시간으로 가능하다.
또한, 로봇의 무게중심의 목표높이(Z 성분)를 줄일 경우 힙, 무릎, 발목의 관절 토크가 변하고 그 결과 관절 각도가 변하여상체를 목표높이로 낮추는 것이 실시간으로 가능하다.
또한, 펠비스 링크의 목표 회전 각도(roll, pitch, yaw)를 모두 0으로 세팅한다면 곧게 선 자세가 되고, 그 외 값으로 세팅하면 임의의 방향으로 숙인 자세가 가능하다. 특히 요우(yaw) 값을 바꿀 경우 몸통(pelvis)이 수직축에 대해 트위스트(twist)된 자세를 만들 수 있다. 이 변경은 실시간으로 가능하다.
또한, 외력이 주어질 경우, 정의된 스프링 상수에 해당하는 강성(stiffness)을 가지고 버티며, 계속해서 밀면 마치 사람처럼 발의 앞이나 뒤가 들린 상태가 되는데 여전히 밸런싱 기능이 수행된다. 결과적으로 기존 방법보다 더 증가된 힘에 대해서도 넘어지지 않고 서 있는 것이 가능하게 되었다.
도 1은 본 발명의 일 실시예에 의한 보행 로봇의 외관 구성도이다.
도 2는 도 1에 나타낸 보행 로봇의 주요 관절 구조를 나타낸 도면이다.
도 3은본 발명의 일 실시예에 의한 보행 로봇의 자세 제어 블록도이다.
도 4는 본 발명의 일 실시예에 의한 보행 로봇의 링크 구성을 나타낸 사시도이다.
도 5는 본 발명의 일 실시예에 의한 보행 로봇의 링크 구성을 나타낸 정면도이다.
도 6은 본 발명의 일 실시예에 의한 보행 로봇의 자세 제어 방법을 나타낸 동작 순서도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 의한 보행 로봇의 외관 구성도이고, 도 2는 도 1에 나타낸 보행 로봇의 주요 관절 구조를 나타낸 도면이다.
도 1 및 도 2에서, 로봇(100)은 인간과 마찬가지로 두 개의 다리(110)에 의해 직립 이동하는 이족 보행 로봇으로, 몸통(102), 머리(104), 팔(106)로 이루어진 상체(101)와, 두 개의 다리(110)로 이루어진 하체(103)를 가진다.
로봇(100)의 상체(101)는 몸통(102)과, 몸통(102)의 상부에 목(120)을 통해 연결된 머리(104)와, 몸통(102)의 상부 양측에 어깨(114L, 114R)를 통해 연결된 두 개의 팔(106L, 106R)과, 이 두 개의 팔(106L, 106R)의 말단에 각각 연결된 손(108L, 108R)으로 이루어진다.
로봇(100)의 몸통(102)에는 상체(101)가 회전할 수 있도록 요우 방향의 1 자유도를 가지는 허리 관절부(15)가 설치된다.
로봇(100)의 하체(103)는 허리 관절부(15)의하측에 연결된 펠비스 링크(16)와, 펠비스 링크(16)의 하부 양측에 연결된 두 개의 다리(110L, 110R)와, 두 개의 다리(110L, 110R) 말단에 각각 연결된 발(112L, 112R)로 이루어진다.
참조 부호에서, "R"과 "L"는 각각 로봇(100)의 오른쪽(right)과 왼쪽(left)을 나타내고, COG(Center Of Gravity)는 로봇(100)의 무게 중심을 나타낸다.
또한, 로봇(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)의 움직임에 연동하여 물건을 파지하거나 특정 방향을 가리키는 것과 같은 다양한 동작을 실행한다.
그리고, 몸통(102)의 하측에는 두 개의 힙 관절부(210)을 가지는 펠비스(pelvis) 링크(16)가 연결된다. 펠비스 링크(16)는 인간의 골반에 해당하는 부분으로 힙 관절부(210)를 통해 상체(101)의 몸통(102)에 연결된다. 펠비스 링크(16)에는 IMU(Inertial Measurement Unit; 17)가 설치된다. IMU(17)는 중력 방향과 관성계에 대해 펠비스 링크(16)의 상대적 각도를 검출하여 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 자세 정보를 발생시킨다.
그리고, 로봇(100)의 두 개의 다리(110L, 110R)는 각각 대퇴 링크(21)와 하퇴 링크(22), 발(112L, 112R)을 가진다.
대퇴 링크(21)는 인간의 허벅다리(허벅지)에 해당하는 부분으로 힙 관절부(210)를 통해 펠비스 링크(16)에 연결되고, 대퇴 링크(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)의 다양한 동작을 구현할 수 있다.
로봇(100)은 제어 동작(Control Action)의 실행을 위해 각 제어 동작(Control Action)에 대응하여 각 관절의 토크 지령을 계산하고, 계산된 토크 지령을 각 관절에 설치된 모터 등의 액츄에이터에 출력하여 액츄에이터를구동시킨다.
본 발명의 일 실시예에서는 로봇(100)의 무게중심 위치와 펠비스 링크(16)의 관성계에서 본각도를 이용하여 로봇(100)이 실시간으로 균형을 잡기 위해 보상해야 하는 힘과 모멘트를 계산한다. 그리고 계산된 보상 힘으로부터 가상 중력 가속도를 계산하고, 이를 이용하여 두 개의 다리(110L, 110R)에 대한 중력 보상 토크를 계산한다. 또한 계산된 보상 모멘트를 두 개의 다리(110L, 110R)에 분배하여 각 다리(110L, 110R)의자세를 제어하기 위한 관절 토크를 계산한다. 따라서 계산된 중력 보상 토크와 관절 토크를 이용하여 두 개의 다리(110L, 110R)에대한 토크 서보 제어를 수행한다. 이에 따라 중력 보상 토크와 관절 토크는 상체(101) 각도를 안정적으로 유지하게 되므로 로봇(100)의 직립 자세와 밸런싱 유지가 가능하다. 또한, IMU(17)로부터 로봇(100)과 중력 방향의 상대적 기울어짐을 알 수 있기 때문에지면이 어떤 방향으로기울어져 있더라도 능동적으로 힙 관절부(210), 무릎 관절부(220), 발목 관절부(230)의 토크를제어하면서 상체(101)와 다리(110L, 110R)는 변함없는 자세를 유지할 수 있도록 한다. 이를 도 3을 참조하여 구체적으로 설명한다.
도 3은 본 발명의 일 실시예에 의한 보행 로봇의 자세 제어 블록도이고, 도 4는 본 발명의 일 실시예에 의한 보행 로봇의 링크 구성을 나타낸 사시도이며, 도 5는 본 발명의 일 실시예에 의한 보행 로봇의 링크 구성을 나타낸 정면도이다.
도 3에서, 본 발명의 일 실시예에 의한 로봇(100)의 자세 제어 시스템은 센서부(300), 설정부(310), 자세 제어부(320) 및 서보 제어부(340)를 포함한다.
센서부(300)는펠비스 링크(16)의 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 기울기 및 회전 각도를 측정하는 IMU(17)와, 로봇(100)의 발(112)과 발목 관절부(230)의 사이에 설치되어 발(112)의 지면 접촉 여부를 검출하는 F/T 센서(24)를 포함한다.
여기서, 상체(101)의 자세를 검출하는 센서로는 IMU(17)외에도 Tilting Detection, Gyro Sensor 등을 사용할 수 있으며, 발(112)의 지면 접촉 여부를 검출하는 센서로는 F/T 센서(24) 외에도 접촉 센서 또는 이와 상응하는 센서를 사용할 수 있다.
설정부(310)는 로봇(100)이 직립 자세를 유지하면서 실시간으로 균형을 잡을 수 있도록 로봇(100)이 지면과 접촉된 두 발(110L, 110R) 사이의 중점에서 지면과 수직인 위치로 로봇(100)의 목표 무게중심(COG) C´(x, y, z)의 위치를 설정하는 것으로, 도 5에 도시한 바와 같이, 로봇(100)의 균형을 잡기 위해 로봇(100)의 상태(State)에 부합하는 목표 무게중심(COG) C´(x, y, z)의 위치를 설정한다.
자세 제어부(320)는 설정부(310)로부터 설정된 로봇(100)의 목표 무게중심(COG)과 센서부(300)로부터 검출된 센서 정보를 바탕으로 로봇(100)의 자세를 제어하는 PD(Proportional-Derivative) 또는PID(Proportional-Integral-Derivative) Controller로, 무게중심 계산부(321), 무게중심 에러 계산부(322), 보상 힘 계산부(323), 가상 중력 계산부(324), 중력 보상 토크 계산부(325), 회전 각도 에러 계산부(326), 보상 모멘트 계산부(327), 다리 분배부(328), 관절 토크 계산부(329), 연산부(330) 및 토크 보상부(330)를 포함한다.
무게중심 계산부(321)는 IMU(17)와 순기구학 계산(Forward Kinematics)에 의하여 로봇(100)의 현재 무게중심(COG) C(x, y, z)의 위치를 계산한다. 로봇(100)의 현재 무게중심(COG) C(x, y, z)의 위치는 도 5에 도시한 바와 같이, 몸통(102)에 마련되며, 이때 현재 무게중심(COG) C(x, y, z)의 방향은 중력(Gravity)의 방향에 고정된 관성계의 방향(Orientation)에 따른다.
무게중심 에러 계산부(322)는 계산된 현재 무게중심(COG) C(x, y, z)의 위치와 설정된 목표 무게중심(COG) C´(x, y, z)의 위치 간의 에러 e를 아래의 [수학식 1]과 같이, 계산한다.
[수학식 1]
e = C´- C
보상 힘 계산부(323)는 계산된 현재 무게중심(COG) C(x, y, z)의 위치와 설정된 목표 무게중심(COG) C´(x, y, z)의 위치 사이에 가상의 스프링(105; 상수 kp)이 있다고 할 때, 무게중심 에러 계산부(322)에서 계산된 무게중심 에러 e를 이용하여 로봇(100)의 균형을 잡기 위해 보상해야 하는 힘 f(fx, fy, fz)을 아래의 [수학식 2]와 같이, 계산한다.
[수학식 2]
Figure 112010084272873-pat00002
가상 중력 계산부(324)는 무게중심 에러 e를 이용하여 계산된 보상 힘 f(fx, fy, fz)으로부터 가상 중력 가속도 gf를 아래의 [수학식 3]과 같이, 계산한다.
[수학식 3]
Figure 112010084272873-pat00003
[수학식 3]에서, m은 로봇(100)의 질량이고, g 는 지구 중력 가속도(0, 0, -9.8 )m/s2이다.
중력 보상 토크 계산부(325)는 [수학식 3]을 이용하여 계산된 가상 중력 가속도 gf로부터 중력 보상을 위한 토크 G(q)를 계산한다. 두 다리(110L, 110R)의 가상 중력 보상 토크 계산에 사용되는 상체(102)와 펠비스 링크(16)의 질량은 다음과 같이 좌우 다리(110L, 110R)에 대해 분배한다. 도 5에 도시한 바와 같이, 로봇(100)의 무게중심(COG)이 지면에 투영된 점과 두 발(112L, 112R) 간의 거리 비율 dL, dR을 이용하여 로봇(100)의 무게중심(COG)이 지면에 투영된 점으로부터 가까운 다리(예를 들어, 110L)가 아래의 [수학식 4]과 같이, 더 큰 값을 갖도록 한다.
[수학식 4]
Figure 112010084272873-pat00004
,
Figure 112010084272873-pat00005
회전 각도 에러 계산부(326)는 IMU(17)로부터 측정된 펠비스 링크(16)의 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 회전 각도와 목표 회전 각도와의 에러 e1를 계산한다.
보상 모멘트 계산부(327)는 펠비스 링크(16)의 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 세 축에 대해 가상의 스프링(상수 k1)이 있다고 가정했을 때, 회전 각도 에러 계산부(326)에서 계산된 회전 각도 에러 e1를 이용하여 로봇(100)의 균형을 잡기 위해 보상해야 하는 모멘트 M(Mx, My, Mz)을 아래의 [수학식 5]와 같이, 계산한다.
[수학식 5]
Figure 112010084272873-pat00006
다리 분배부(328)는 회전 각도 에러 e1를 이용하여 계산된 보상 모멘트 M(Mx, My, Mz)을 아래의 [수학식 6]과 같이, 두 다리(110L, 110R)에 분배한다.
[수학식 6]
Figure 112010084272873-pat00007
[수학식 6]에서, WL,WR은 [수학식 4]에 정의하였다.
관절 토크 계산부(329)는 보상 모멘트 계산부(327)에서 계산된 보상 모멘트 M과 중력 보상 토크 계산부(325)에서 계산된 중력 보상 토크 G(q)로부터자세 제어를 위한 관절 토크 τ를 두 다리(110L, 110R)에 대하여 아래의 [수학식 7]과 같이, 각각 계산한다.
[수학식 7]
Figure 112010084272873-pat00008
이때 는 좌우 다리(110L, 110R)로부터 로봇(100)의 무게중심(COG) 위치에 대한 자코비언(Jacobian) 행렬이며, 데카르트 공간(Cartesian Space) 상의 모멘트를 관절 토크로 변환하기 위해 사용하였다.
[수학식 7]에서, 중력 보상 토크 G(q)는 각 다리(110R, 110L)에 속한 모든 관절(210, 220, 230)의 각도 q와, 각 다리(110R, 110L)에 속한 모든 링크 (21, 22)의 질량및 무게중심의 위치와 상체(101)의 총질량 및 무게중심 위치로부터 계산이 가능하다. qLeft는 왼쪽 다리(110L)에 속한 모든 관절(210, 220, 230)의 각도, qRight는 오른쪽 다리(110R)에 속한 모든 관절(210, 220, 230)의 각도이다. 관절 토크는 왼쪽 다리(110L)의 토크
Figure 112010084272873-pat00009
와 오른쪽 다리(110R)의 토크
Figure 112010084272873-pat00010
에 대해 이하에서 동일한 계산 과정을 거치므로 τ1이라고 통칭한다.
토크 보상부(330)는 시스템의 passivity를 구현하여 안정성을 더하기 위해 각 관절(210, 220, 230)에 댐핑(속도에 비례하여 저항하는) 토크 dw를 더하여 아래의 [수학식 8]과 같이, 보상된 관절 토크 τ2를 계산한다.
[수학식 8]
Figure 112010084272873-pat00011
[수학식 8]에서, d는 적절히 설정한 댐핑 계수이고, w는 측정한 관절 각속도이다.
서보 제어부(340)는 토크 보상부(330)에서 최종적으로 보상된 관절 토크 τ2를 두 다리(110L 또는 110R)의 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 각각 제공하여 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 설치된 모터 등의 액츄에이터를구동시키도록 보상된 관절 토크 τ2에 대응하는 토크 제어 신호를 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 출력한다.
따라서, 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)는 서보 제어부(330)로부터 토크 제어 신호를 입력받아 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 설치된 모터 등의 액츄에이터를구동시킴으로써 지면이 기울어져 있더라도 로봇(100)이 직립 자세를 유지하면서 실시간으로 균형을 유지할 수 있도록 한다.
이하, 상기와 같이 구성된 보행 로봇 및 그 자세 제어 방법의 동작과정 및 작용효과를 설명한다.
도 6은 본 발명의 일 실시예에 의한 보행 로봇의 자세 제어 방법을 나타낸 동작 순서도이다.
도 6에서, 사용자 인터페이스를 통해 로봇(100)의 자세 제어를지시하기 위한 사용자 명령을 입력한다(400).
자세 제어 명령이 입력되면, 로봇(100)의 펠비스 링크(16)에 설치된 IMU(17)는 펠비스와 몸통(102)을 포함한 상체(101)의 기울기와 방향을 관성계에 대한 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 회전 각도로 측정하여 자세 제어부(320)의 무게중심 계산부(321)에 전송한다(402).
따라서, 무게중심 계산부(321)는 IMU(17)와 순기구학 계산(Forward Kinematics)에 의하여 로봇(100)의 현재 무게중심(COG) C(x, y, z)의 위치를 계산하여 무게중심 에러 계산부(322)에 전송한다(404).
그리고, 설정부(310)는 로봇(100)이 지면과 접촉된 두 발(110L, 110R) 사이의 중점에서 지면과 수직인 위치로 로봇(100)의 목표 무게중심(COG) C´(x, y, z)의 위치를 설정하여 무게중심 에러 계산부(322)에 전송한다(406).
이에 따라, 무게중심 에러 계산부(322)는 무게중심 계산부(321)에서 계산된 현재 무게중심(COG) C(x, y, z)의 위치와 설정부(310)에서 설정된 목표 무게중심(COG) C´(x, y, z)의 위치 간의 에러 e를 아래의 [수학식 1]과 같이, 계산하여 보상 힘 계산부(323)에 전송한다(408).
[수학식 1]
e = C´- C
보상 힘 계산부(323)는 무게중심 에러 계산부(322)에서 계산된 무게중심 에러 e를 이용하여 로봇(100)의 균형을 잡기 위해 보상해야 하는 힘 f(fx, fy, fz)을 아래의 [수학식 2]와 같이, 계산하여 가상 중력 계산부(324)에 전송한다(409).
[수학식 2]
Figure 112010084272873-pat00012
따라서, 가상 중력 계산부(324)는 무게중심 에러 e를 이용하여 계산된 보상 힘 f(fx, fy, fz)으로부터 가상 중력 가속도 gf를 아래의 [수학식 3]과 같이, 계산하여 중력 보상 토크 계산부(325)에 전송한다(410).
[수학식 3]
Figure 112010084272873-pat00013
[수학식 3]에서, m은 로봇(100)의 질량이고, g 는 지구 중력 가속도(0, 0, -9.8 )m/s2이다.
중력 보상 토크 계산부(325)는 [수학식 3]을 이용하여 계산된 가상 중력 가속도 gf로부터 중력 보상을 위한 토크 G(q)를 계산하여 관절 토크 계산부(329)에 전송한다(412). 두 다리(110L, 110R)의 가상 중력 보상 토크 계산에 사용되는 상체(102)와 펠비스 링크(16)의 질량은 다음과 같이 좌우 다리(110L, 110R)에 대해 분배한다. 도 5에 도시한 바와 같이, 로봇(100)의 무게중심(COG)이 지면에 투영된 점과 두 발(112L, 112R) 간의 거리 비율 dL, dR을 이용하여 로봇(100)의 무게중심(COG)이 지면에 투영된 점으로부터 가까운 다리(예를 들어, 110L)가 아래의 [수학식 4]과 같이, 더 큰 값을 갖도록 한다.
[수학식 4]
Figure 112010084272873-pat00014
,
Figure 112010084272873-pat00015
[수학식 3]을 이용하여 계산된 가상 중력 가속도 gf의 개념은 다음과 같다. 지구의 중력 가속도는 x, y, z 좌표계에서 g = (0, 0, -9.8)m/s2이며, 중력 보상식은 각 링크구체적으로, 각 다리(110R, 110L)에 속한 모든 링크(21, 22)에 지구 중력 가속도 g에 해당하는 힘이 나타나도록 하는 관절 토크를 계산하는 것이다. 이때 중력 보상식에 사용하는 g에 다른 값 g'을 사용한다면, 예를 들어, g' = 2g로 실제 중력의 두 배로 보상을 한다면, 지구 중력을 보상하고 힘이 남아서 링크구체적으로, 각 다리(110R, 110L)에 속한 모든 링크(21, 22)를 위로 가속시키는 힘을 각 관절구체적으로, 각 다리(110R, 110L)에 속한 모든 관절(210, 220, 230))이 발생하게 되는 것이다. 다른 예로, g' = g + (-3, 0, 0) 이라면, 중력을 보상하고, 남은 힘은 마치 x방향으로 3이라는 크기의 중력이 작용한다는 것처럼 보상을 하므로, x방향으로 링크구체적으로, 각 다리(110R, 110L)에 속한 모든 링크(21, 22)를 가속하게 된다. 이와 같이 가상 중력 가속도 gf를 이용하면, 실제 중력을 보상하는 것 외에 x, y, z 좌표로 나타난 임의의 방향으로 링크구체적으로, 각 다리(110R, 110L)에 속한 모든 링크(21, 22)에 힘을 인가하기 위한 토크를 계산할 수가 있다.
이와 같이, 가상 중력을 이용한 보상 방식은 각 링크{구체적으로, 각 다리(110R, 110L)에속한 모든 링크(21, 22)}에 대해 힘이 작용한다는 것을 상정하는 것이므로 각 링크{구체적으로, 각 다리(110R, 110L)에 속한 모든 링크(21, 22)}의 무게가 고려된다는 장점이 있다.
그리고, 회전 각도 에러 계산부(326)는 IMU(17)로부터 측정된 펠비스 링크(16)의 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 회전 각도와 목표 회전 각도와의 에러 e1를 계산하여 보상 모멘트 계산부(326)에 전송한다(414).
따라서, 보상 모멘트 계산부(327)는 회전 각도 에러 계산부(326)에서 계산된 회전 각도 에러 e1를 이용하여 로봇(100)의 균형을 잡기 위해 보상해야 하는 모멘트 M(Mx, My, Mz)을 아래의 [수학식 5]와 같이, 계산하여 다리 분배부(324)에 전송한다.
[수학식 5]
Figure 112010084272873-pat00016
따라서, 다리 분배부(328)는 회전 각도 에러 e1를 이용하여 계산된 보상 모멘트 M(Mx, My, Mz)을 아래의 [수학식 6]과 같이, 두 다리(110L, 110R)에 분배한다(416).
[수학식 6]
Figure 112010084272873-pat00017
[수학식 6]에서, wL,wR은 [수학식 4]에 정의하였다.
이에, 관절 토크 계산부(329)는 보상 모멘트 계산부(327)에서 계산된 보상 모멘트 M과 중력 보상 토크 계산부(325)에서 계산된 중력 보상 토크 G(q)로부터 자세 제어를 위한 관절 토크 τ를 두 다리(110L, 110R)에대하여 아래의 [수학식 7]과 같이, 각각 계산하여 토크 보상부(330)에 전송한다(418).
[수학식 7]
Figure 112010084272873-pat00018
[수학식 7]에서, 관절 토크 τ는 6-벡터이다.
[수학식 7]에서, J는 발(112)을 로봇(100)의 베이스 링크라고 보고, 무게중심(COG)을 펠비스 링크(16) 상에 존재하는 엔드 이펙터(end effector)라고 볼 때의 6-by-6 자코비안(jacobian) 행렬이다. 자코비안은 관절 공간의 속도를 작업 공간의 속도로 변환할 수 있는 행렬이며, 순기구학 계산(Forward Kinematics)으로부터 유도된다. 데카르트 공간 (Cartesian Space) 상의 모멘트를 관절 토크로 변환하기 위해 자코비안을 사용하였다.
[수학식 7]에서, 중력 보상 토크 G(q)는 각 다리(110R, 110L)에 속한 모든 관절(210, 220, 230)의 각도 q와, 각 다리(110R, 110L)에 속한 모든 링크(21, 22)의 질량및 무게중심의 위치와 상체(101)의 총질량 및 무게중심 위치로부터 계산이 가능하다. qLeft는 왼쪽 다리(110L)에 속한 모든 관절(210, 220, 230)의 각도, qRight는 오른쪽 다리(110R)에 속한 모든 관절(210, 220, 230)의 각도이다. 관절 토크는 왼쪽 다리(110L)의 토크
Figure 112010084272873-pat00019
와 오른쪽 다리(110R)의 토크
Figure 112010084272873-pat00020
에 대해 이하에서 동일한 계산 과정을 거치므로 τ1이라고 통칭한다.
그리고, 토크 보상부(330)는 시스템의 passivity를 구현하여 안정성을 더하기 위해 각 관절(210, 220, 230)에 댐핑(속도에 비례하여 저항하는) 토크 dw를 더하여 아래의 [수학식 8]와 같이, 보상된 관절 토크 τ2를 계산한다(420).
[수학식 8]
Figure 112010084272873-pat00021
[수학식 8]에서, d는 댐핑 계수이고, w는 관절 각속도이다.
이후, 서보 제어부(340)는 토크 보상부(330)에서 최종적으로 보상된 관절 토크 τ2를 두 다리(110L 또는 110R)의 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 각각 제공하여 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 설치된 모터 등의 액츄에이터를구동시킴으로써(422), 지면이 기울어져 있더라도 로봇(100)이 직립 자세를 유지하면서 실시간으로 균형을 유지할 수 있도록 한다.
따라서, 지면의 각도가 수평이 아니어도 로봇(100)의 균형을 잡을 수 있으며, 로봇(100)이 천천히 움직일 때나 빠르게 움직일 때 모두 균형을 잡을 수 있다.
또한, 지면이 기울어져 있더라도 몸통(102)을 지지하는 두 다리(110L, 110R)의관절을 이용하여 로봇(100)의 균형을 유지하기 때문에, 그 방법이 간단하여 6 자유도의 관절을 가진 로봇(100)에 적용할 수 있다.
16 : 펠비스 링크 17 : IMU
100: 로봇 101: 상체
102 : 몸통 110L, 110R : 다리
112L, 112R : 발 210 : 힙 관절부
220 : 무릎 관절부 230 : 발목 관절부
300 : 센서부 310 : 설정부
320 : 자세 제어부 321 : 무게중심 계산부
322 : 무게중심 에러 계산부 323 : 보상 힘 계산부
324 : 가상 중력 계산부 325 : 중력 보상 토크 계산부
326 : 회전 각도 에러 계산부 327 : 보상 모멘트 계산부
328 : 다리 분배부 329 : 관절 토크 계산부
330 : 토크 보상부 340 : 서보 제어부

Claims (18)

  1. 상체와, 상기 상체의 하측에 연결된 펠비스 링크와, 상기 펠비스 링크의 하측에 연결된 복수의 힙 관절부와, 상기 복수의 힙 관절부에 각각 연결된 복수의 다리와, 상기 복수의 다리에 각각 마련된 발을 구비한 보행 로봇의 자세 제어 방법에 있어서,
    상기 로봇의 현재 무게중심의 위치를 계산하고;
    상기 계산된 현재 무게중심의 위치와 목표 무게중심의 위치 간의 에러를 계산하여 상기 로봇의 균형을 잡기 위해 보상해야 하는 힘을 계산하고;
    상기 계산된 보상 힘을 가상 중력 가속도로 변환하고;
    상기 펠비스 링크의 실제 회전 각도를 측정하고;
    상기 측정된 실제 회전 각도와 목표 회전 각도와의 에러를 계산하여 상기 로봇의 균형을 잡기 위해 보상해야 하는 모멘트를 계산하고;
    상기 계산된 보상 모멘트와 가상 중력 가속도를 이용하여 상기 복수의 다리의 자세를 제어하기 위한 관절 토크를 계산하고;
    상기 계산된 관절 토크를 이용하여 토크 서보 제어를 수행하는 보행 로봇의 자세 제어 방법.
  2. 제1항에 있어서,
    상기 목표 무게중심의 위치는,
    지면과 접촉된 상기 복수의 발 사이의 중점에서 상기 지면과 수직인 위치로 설정하는 보행 로봇의 자세 제어 방법.
  3. 제1항에 있어서,
    상기 목표 무게중심의 위치는,
    지면과 접촉된 상기 복수의 발 내의 임의의 점에서 상기 지면과 수직인 위치로 설정하는 보행 로봇의 자세 제어 방법.
  4. 제1항에 있어서,
    상기 계산된 보상 모멘트를 상기 복수의 다리에 분배하는 것은,
    상기 로봇의 무게중심이 지면에 투영된 점과 상기 복수의 발 간의 거리 비율을 계산하고;
    상기 계산된 거리 비율을 이용하여 상기 로봇의 무게중심이 상기 지면에 투영된 점으로부터 가까운 다리가 더 큰 값을 갖는 보행 로봇의 자세 제어 방법.
  5. 제4항에 있어서,
    상기 관절 토크를 계산하는 것은,
    상기 로봇의 발을 베이스 링크로 보는 자코비언을 이용하여 상기 복수의 다리에 분배한 보상 모멘트를 상기 복수의 다리의 관절 토크로 변환하는 보행 로봇의 자세 제어 방법.
  6. 제5항에 있어서,
    상기 가상 중력 가속도로 변환하는 것은,
    상기 가상 중력 가속도를 gf라고 하고, 상기 계산된 보상 힘을 f라고 하고, 상기 로봇의 질량을 m이라고 하고, 지구 중력 가속도를 g라고 할 때, 아래의 [수학식 3]을 이용하여 상기 보상 힘으로부터 상기 가상 중력 가속도를 구하는 보행 로봇의 자세 제어 방법.
    [수학식 3]
    Figure 112017056267086-pat00022
  7. 제6항에 있어서,
    상기 가상 중력 가속도를 이용하여 상기 복수의 다리의 각 관절에 필요한 가상 중력 보상 토크를 계산하는 것을 더 포함하고,
    상기 관절 토크를 계산하는 것은,
    상기 중력 보상 토크에 상기 계산된 관절 토크를 더하여 보상하는 보행 로봇의 자세 제어 방법.
  8. 제7항에 있어서,
    상기 가상 중력 보상 토크는 상기 가상 중력 가속도 gf와 각 다리에 속한 모든 관절의 각도 q와, 각 다리에 속한 모든 링크의 질량 및 무게중심의 위치와 상기 복수의 다리에 배분된 상체의 질량 및 무게중심 위치로부터 계산하는 보행 로봇의 자세 제어 방법.
  9. 제8항에 있어서,
    상기 상체의 질량을 복수의 다리에 배분하는 것은,
    상기 로봇의 무게중심이 상기 지면에 투영된 점과 상기 복수의 발 간의 거리 비율을 계산하고;
    상기 계산된 거리 비율을 이용하여 상기 로봇의 무게중심이 상기 지면에 투영된 점으로부터 가까운 다리에 더 큰 비율의 상체의 질량을 할당하는 보행 로봇의 자세 제어 방법.
  10. 제7항에 있어서,
    상기 각 다리에 대한 중력 보상 토크를 계산하는 것은,
    상기 복수의 다리 상태에 따라 반대쪽 다리의 무게를 고려하여 중력 보상을 실시하는 보행 로봇의 자세 제어 방법.
  11. 제10항에 있어서,
    상기 복수의 다리 상태는 상기 복수의 다리에 각각 마련된 발의 지면 접촉 여부에 따라 상기 상체를 지지하는 상태 또는 스윙하는 상태로 분리하는 보행 로봇의 자세 제어 방법.
  12. 제7항에 있어서,
    상기 각 다리에 대한 댐핑 토크를 계산하는 것을 더 포함하고,
    상기 관절 토크를 계산하는 것은,
    상기 댐핑 토크를 이용하여 상기 계산된 각 다리의 관절 토크를 보상하는 보행 로봇의 자세 제어 방법.
  13. 제1항에 있어서,
    상기 펠비스 링크의 실제 회전 각도를 측정하는 것은,
    IMU를 이용하여 몸통의 기울어짐에 대한 요우 방향(Z축 주위의 회전), 피치 방향(Y축 주위의 회전), 롤 방향(X축 주위의 회전)의 회전 각도를 측정하는 보행 로봇의 자세 제어 방법.
  14. 상체와, 상기 상체의 하측에 연결된 펠비스 링크와, 상기 펠비스 링크의 하측에 연결된 복수의 힙 관절부와, 상기 복수의 힙 관절부에 각각 연결된 복수의 다리와, 상기 복수의 다리에 각각 마련된 발을 구비한 보행 로봇에 있어서,
    상기 로봇의 현재 무게중심의 위치를 계산하는 계산부;
    상기 로봇의 목표 무게중심의 위치를 설정하는 설정부;
    상기 설정된 목표 무게중심의 위치와 상기 계산된 현재 무게중심의 위치 간의 에러를 계산하여 상기 로봇의 균형을 잡기 위해 보상해야 하는 힘을 계산하고, 상기 계산된 보상 힘을 가상 중력 가속도로 변환하고, 상기 펠비스 링크의 실제 회전 각도와 목표 회전 각도와의 에러를 계산하여 상기 로봇의 균형을 잡기 위해 보상해야 하는 모멘트를 계산하고, 상기 계산된 보상 모멘트와 가상 중력 가속도를 이용하여 상기 복수의 다리의 자세를 제어하기 위한 관절 토크를 계산하는 자세 제어부; 및
    상기 계산된 관절 토크를 상기 각 다리의 관절에 전달하여 토크 서보 제어를 수행하는 서보 제어부를 포함하는 보행 로봇.
  15. 제14항에 있어서,
    상기 자세 제어부는,
    상기 로봇의 무게중심이 지면에 투영된 점과 상기 복수의 발 간의 거리 비율을 계산하고, 상기 계산된 거리 비율을 이용하여 상기 로봇의 무게중심이 상기 지면에 투영된 점으로부터 가까운 다리가 더 큰 값을 가지도록 상기 계산된 보상 모멘트를 상기 복수의 다리에 분배하는 보행 로봇.
  16. 제14항에 있어서,
    상기 펠비스 링크의 실제 회전 각도를 관성계에 대해 측정하는 IMU를 더 포함하고,
    상기 자세 제어부는,
    상기 IMU를 이용하여 몸통의 기울어짐에 의한 상기 펠비스 링크의 롤 방향(roll, X축 주위의 회전), 피치 방향(pitch, Y축 주위의 회전), 요우 방향(yaw, Z축 주위의 회전)의 실제 회전 각도를 측정하는 보행 로봇.
  17. 제14항에 있어서,
    상기 자세 제어부는,
    상기 가상 중력 가속도를 이용하여 상기 각 다리에 대한 중력 보상 토크를 계산하고, 상기 계산된 중력 보상 토크를 이용하여 상기 계산된 각 다리의 관절 토크를 보상하는 보행 로봇.
  18. 제17항에 있어서,
    상기 자세 제어부는, 상기 각 다리에 대한 댐핑 토크를 계산하고, 상기 계산된 댐핑 토크를 이용하여 상기 각 다리의 관절 토크를 보상하는 보행 로봇.
KR1020100131262A 2010-12-21 2010-12-21 보행 로봇 및 그 자세 제어 방법 KR101778027B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100131262A KR101778027B1 (ko) 2010-12-21 2010-12-21 보행 로봇 및 그 자세 제어 방법
US13/280,583 US8868240B2 (en) 2010-12-21 2011-10-25 Walking robot and pose control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100131262A KR101778027B1 (ko) 2010-12-21 2010-12-21 보행 로봇 및 그 자세 제어 방법

Publications (2)

Publication Number Publication Date
KR20120069923A KR20120069923A (ko) 2012-06-29
KR101778027B1 true KR101778027B1 (ko) 2017-09-13

Family

ID=46235421

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100131262A KR101778027B1 (ko) 2010-12-21 2010-12-21 보행 로봇 및 그 자세 제어 방법

Country Status (2)

Country Link
US (1) US8868240B2 (ko)
KR (1) KR101778027B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11426875B2 (en) * 2014-08-25 2022-08-30 Boston Dynamics, Inc. Natural pitch and roll
KR20240012749A (ko) 2022-07-21 2024-01-30 한국로봇융합연구원 로봇 매니퓰레이터의 다중 회전을 지원하는 제어장치 및 방법

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4821865B2 (ja) * 2009-02-18 2011-11-24 ソニー株式会社 ロボット装置及びその制御方法、並びにコンピューター・プログラム
KR101732901B1 (ko) * 2010-10-05 2017-05-08 삼성전자주식회사 보행 로봇 및 그 제어방법
KR101357208B1 (ko) * 2012-07-03 2014-02-03 현대로템 주식회사 보행형 로봇
JP5727103B2 (ja) * 2012-08-02 2015-06-03 東芝機械株式会社 ロボット装置およびその制御方法
KR101438968B1 (ko) * 2012-12-27 2014-09-15 현대자동차주식회사 로봇의 보행제어방법 및 시스템
KR101481241B1 (ko) * 2012-12-27 2015-01-12 현대자동차주식회사 로봇의 보행제어방법 및 시스템
KR101438971B1 (ko) 2012-12-27 2014-09-15 현대자동차주식회사 로봇그리퍼 및 그 제어방법
KR101428328B1 (ko) * 2012-12-27 2014-08-08 현대자동차주식회사 로봇의 보행제어방법 및 시스템
WO2014110682A1 (en) * 2013-01-18 2014-07-24 Robotiq Inc. Force/torque sensor, apparatus and method for robot teaching and operation
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
WO2016061471A1 (en) * 2014-10-17 2016-04-21 Hitachi High Technologies America, Inc. Interactive laboratory robotic system
US9352470B1 (en) 2014-11-11 2016-05-31 Google Inc. Yaw slip handling in a robotic device
US10471610B2 (en) 2015-06-16 2019-11-12 Samsung Electronics Co., Ltd. Robot arm having weight compensation mechanism
JP6715952B2 (ja) * 2016-04-29 2020-07-01 ソフトバンク・ロボティクス・ヨーロッパSoftbank Robotics Europe バランスのとれた運動および行動能力が向上した移動型ロボット
KR20180094576A (ko) * 2017-02-16 2018-08-24 삼성전자주식회사 운동 보조 장치
CN109634100B (zh) * 2018-12-30 2021-11-02 深圳市优必选科技有限公司 仿人机器人行走加速度补偿方法、装置及仿人机器人
CN113126638B (zh) * 2019-12-30 2023-07-21 深圳市优必选科技股份有限公司 姿态控制方法、装置、双足机器人及可读存储介质
CN111037569B (zh) * 2019-12-31 2021-06-22 达闼机器人有限公司 机器人平衡控制方法、装置、存储介质及机器人
CN113485398B (zh) * 2021-07-19 2024-02-09 北京理工大学 一种轮式双足机器人姿态控制方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3599244B2 (ja) * 2002-11-06 2004-12-08 ソニー株式会社 ロボット装置、ロボット装置の運動制御装置並びに運動制御方法
JP4971977B2 (ja) * 2004-03-31 2012-07-11 本田技研工業株式会社 角運動量の変化率に基づいて脚式ロボットを制御する方法
US7313463B2 (en) * 2005-03-31 2007-12-25 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
KR100709556B1 (ko) * 2005-10-19 2007-04-20 한국과학기술연구원 인간형 로봇의 보행 제어 방법
JP5034235B2 (ja) * 2006-01-16 2012-09-26 ソニー株式会社 制御システム及び制御方法、並びにコンピュータ・プログラム
JP4392037B2 (ja) * 2007-09-12 2009-12-24 トヨタ自動車株式会社 脚式ロボット、及びその制御方法
KR20100001567A (ko) * 2008-06-27 2010-01-06 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR101487783B1 (ko) * 2008-12-22 2015-01-29 삼성전자 주식회사 로봇 및 그 제어방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11426875B2 (en) * 2014-08-25 2022-08-30 Boston Dynamics, Inc. Natural pitch and roll
US11911916B2 (en) 2014-08-25 2024-02-27 Boston Dynamics, Inc. Natural pitch and roll
KR20240012749A (ko) 2022-07-21 2024-01-30 한국로봇융합연구원 로봇 매니퓰레이터의 다중 회전을 지원하는 제어장치 및 방법

Also Published As

Publication number Publication date
KR20120069923A (ko) 2012-06-29
US8868240B2 (en) 2014-10-21
US20120158181A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
KR101778027B1 (ko) 보행 로봇 및 그 자세 제어 방법
KR102044437B1 (ko) 로봇의 균형 제어 장치 및 그 제어 방법
KR101953113B1 (ko) 로봇 및 그 제어방법
JP5991857B2 (ja) ロボットの均衡制御装置及びその制御方法
KR20120060578A (ko) 보행 로봇 및 그 자세 제어 방법
KR101687631B1 (ko) 로봇의 보행 제어 장치 및 그 제어 방법
KR101004820B1 (ko) 이동체 장치, 이동체 장치의 제어 방법, 로봇 장치, 로봇 장치의 동작 제어 방법
KR101772974B1 (ko) 휴머노이드 로봇의 인간 유사 동작 생성 방법
US6505096B2 (en) Posture control system of legged mobile robot
JP4126063B2 (ja) 移動体の制御装置
KR101687630B1 (ko) 보행 로봇 및 그 균형 제어 방법
US7873436B2 (en) Gait generator for mobile robot
KR101732901B1 (ko) 보행 로봇 및 그 제어방법
KR101687629B1 (ko) 인간형 로봇 및 그 보행 제어방법
US20130079929A1 (en) Robot and control method thereof
KR20110082394A (ko) 보행 로봇 및 그 제어 방법
KR20130095973A (ko) 보행 로봇 및 그 제어 방법
KR20100086355A (ko) 로봇의 보행 제어장치 및 그 방법
KR20120024098A (ko) 보행 로봇 및 그 제어방법
WO2004033160A1 (ja) ロボット装置の動作制御装置及び動作制御方法
KR20180004397A (ko) 보행 로봇 및 그 자세 제어 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant