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

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

Info

Publication number
KR20120071599A
KR20120071599A KR1020100133210A KR20100133210A KR20120071599A KR 20120071599 A KR20120071599 A KR 20120071599A KR 1020100133210 A KR1020100133210 A KR 1020100133210A KR 20100133210 A KR20100133210 A KR 20100133210A KR 20120071599 A KR20120071599 A KR 20120071599A
Authority
KR
South Korea
Prior art keywords
gravity
joint
robot
walking
legs
Prior art date
Application number
KR1020100133210A
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 KR1020100133210A priority Critical patent/KR20120071599A/ko
Priority to US13/308,842 priority patent/US9104207B2/en
Publication of KR20120071599A publication Critical patent/KR20120071599A/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/1602Programme controls characterised by the control system, structure, architecture
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0891Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for land vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Automation & Control Theory (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Chemical & Material Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Manipulator (AREA)

Abstract

보행 로봇 및 그 제어 방법을 개시한다. 두 개의 다리를 이용하여 보행하는 보행 로봇의 제어 방법은, 보행하는 동안 두 개의 다리 중 지지하는 다리의 각 관절에 반중력 방향 벡터 성분을 포함하는 제 1 가상 중력 토크를 인가하며; 보행하는 동안 두 개의 다리 중 뻗는 다리의 각 관절에 중력 방향 벡터 성분을 포함하는 제 2 가상 중력 토크를 인가한다. 이로써 에너지 소모가 적고 자연스러운 보행 모션을 구현할 수 있도록 한다.

Description

보행 로봇 및 그 제어 방법{WALKING ROBOT AND CONTROL METHOD THEREOF}
로봇에 관한 것으로서, 보행 로봇 및 그 보행 제어 방법에 관한 것이다.
보행 로봇이 보행할 때 거친 평면이나 계단과 같은 경사면, 장애물이 있는 경우, 두발 로봇의 보행은 바퀴달린 로봇에 비해 더 큰 이동도를 가진다. 특히 균형을 잃고 넘어지는 경우가 많기 때문에 로봇의 보행 패턴을 정해줄 때 안정성 측면을 고려해주는 것이 필수적이다.
보행 로봇의 동적 안정성을 보장하기 위하여 ZMP(Zero Moment Point)를 고려한 보행 패턴을 생성하는 연구가 제안되고 있다.
ZMP는 발바닥에서 발생하는 힘으로 인한 모든 모멘트들의 합이 0이 되는 지점을 의미한다. 즉 ZMP는 로봇의 발과 지면의 접촉면이 이루는 면에서 발과 지면사이의 반작용의 크기가 0 이 되는 점이다. 그리고, ZMP가 발바닥과 지면이 접촉해 있는 지지면 내에 있다면 로봇은 넘어지지 않고 걸을 수 있다.
보행 로봇의 행동 패턴을 생성할 때 움직이는 매 순간마다 ZMP가 항상 발바닥과 지면의 접촉면 내에 있을 때, 로봇은 안정하게 유지된다.
최근의 보행 로봇의 균형을 잡는 방법들은 ZMP가 지지면내에 위치하도록 관절 움직임에 대한 전략을 세우고, 제한 조건식들을 만족시키는 최적화 문제를 푸는 기술이 대부분이다.
이러한 방법들은 최적화 문제를 푸는데 있어서 지역 해(Local Minima)에 빠지거나 연산 시간(Computation Time)이 오래 걸리는 문제 등이 수반된다. 또한, 로봇 모델에 따라 균형 잡는 제어 전략을 설계해야 한다. 이러한 전략은 제어하고자 하는 대상 로봇 시스템에 따라 달라지므로 일반적인 방법으로 정리되기 어렵다.
일 측면에 따르면, 에너지 소모가 적고 자연스러운 보행 모션을 구현할 수 있도록 하는데 그 목적이 있다.
본 발명에 따른 두 개의 다리를 이용하여 보행하는 보행 로봇의 제어 방법은, 보행하는 동안 두 개의 다리 중 지지하는 다리의 각 관절에 반중력 방향 벡터 성분을 포함하는 제 1 가상 중력 토크를 인가하며; 보행하는 동안 두 개의 다리 중 뻗는 다리의 각 관절에 중력 방향 벡터 성분을 포함하는 제 2 가상 중력 토크를 인가한다.
상술한 보행 로봇의 제어 방법은, 제 1 가상 중력 토크는, 진행 방향 벡터와 반중력 방향 벡터의 합 방향으로 가해지고; 제 2 가상 중력 토크는, 진행 방향 벡터와 중력 방향 벡터의 합 방향으로 가해진다.
상술한 보행 로봇의 제어 방법은, 제 1 가상 중력 토크 및 제 2 가상 중력 토크는, 중력 크기이다.
상술한 보행 로봇의 제어 방법은, 보행을 시작하기 전에 두 개의 다리의 각 관절들에 중력 보상 토크를 인가하는 것을 더 포함한다.
상술한 보행 로봇의 제어 방법은, 두 개의 다리의 각 관절들에 중력 보상 토크를 인가한 후 뻗는 다리를 들어올리는 것을 더 포함한다.
상술한 보행 로봇의 제어 방법은, 뻗는 다리가 지면에 닿으면, 뻗는 다리와 지지하는 다리의 역할을 상호 전환하는 것을 더 포함한다.
본 발명에 따른 보행 로봇은, 보행을 위한 두 개의 다리와; 보행하는 동안 두 개의 다리 중 지지하는 다리의 각 관절에 반중력 방향 벡터 성분을 포함하는 제 1 가상 중력 토크를 인가하며, 보행하는 동안 두 개의 다리 중 뻗는 다리의 각 관절에 중력 방향 벡터 성분을 포함하는 제 2 가상 중력 토크를 인가하는 제어부를 포함한다.
상술한 보행 로봇은, 제 1 가상 중력 토크는, 진행 방향 벡터와 반중력 방향 벡터의 합 방향으로 가해지고; 제 2 가상 중력 토크는, 진행 방향 벡터와 중력 방향 벡터의 합 방향으로 가해진다.
상술한 보행 로봇은, 제 1 가상 중력 토크 및 제 2 가상 중력 토크는, 중력 크기이다.
상술한 보행 로봇은, 제어부는, 보행을 시작하기 전에 두 개의 다리의 각 관절들에 중력 보상 토크를 인가하는 것을 더 포함한다.
상술한 보행 로봇은, 제어부는, 두 개의 다리의 각 관절들에 중력 보상 토크를 인가한 후 뻗는 다리를 들어올리는 것을 더 포함한다.
상술한 보행 로봇은, 제어부는, 뻗는 다리가 지면에 닿으면, 뻗는 다리와 지지하는 다리의 역할을 상호 전환하는 것을 더 포함한다.
본 발명에 따른 두 개의 다리를 이용하여 보행하는 보행 로봇의 또 다른 제어 방법은, 보행을 시작하기 전에 두 개의 다리의 각 관절들에 중력 보상 토크를 인가하고; 보행하는 동안 두 개의 다리 중 지지하는 다리의 각 관절에 진행 방향 벡터와 반중력 방향 벡터의 합 방향으로 중력 크기의 제 1 가상 중력 토크를 인가하며; 보행하는 동안 두 개의 다리 중 뻗는 다리의 각 관절에 진행 방향 벡터와 중력 방향 벡터의 합 방향으로 중력 크기의 제 2 가상 중력 토크를 인가한다.
상술한 본 발명에 따른 보행 로봇의 또 다른 제어 방법은, 두 개의 다리의 각 관절들에 중력 보상 토크를 인가한 후 뻗는 다리를 들어올리는 것을 더 포함한다.
상술한 본 발명에 따른 보행 로봇의 또 다른 제어 방법은, 뻗는 다리가 지면에 닿으면, 뻗는 다리와 지지하는 다리의 역할을 상호 전환하는 것을 더 포함한다.
일 측면에 따르면, 에너지 소모가 적고 자연스러운 보행 모션을 구현할 수 있도록 한다.
도 1은 본 발명의 실시 예에 따른 다리식 이동 로봇의 외관 구성도이다.
도 2는 도 1에 나타낸 다리식 이동 로봇의 주요 관절 구조를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 다리식 이동 로봇의 제어 장치의 제어블록도이다.
도 4는 도 3에 도시된 제어부의 구체적인 제어방식을 설명하기 위한 도면이다.
도 5a 내지 도 5c는 로봇 관절에 작용하는 마찰력과 ZMP 위치간의 상관관계를 설명하기 위한 도면이다.
도 6a는 본 발명의 실시 예에서 다리식 이동 로봇에 중력이 중력 방향으로 작용하는 것을 설명하기 위한 도면이다.
도 6b는 본 발명의 실시 예에서 다리식 이동 로봇에 (N-1) 배의 중력이 반 중력 방향으로 작용하는 것을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 다리식 이동 로봇의 제어 방법에 대한 제어흐름도이다.
도 8은 본 발명의 일 실시 예에 따른 보행 로봇의 보행 제어에서 다리에 가해지는 가상 중력을 나타낸 도면이다.
도 9는 본 발명의 일 실시 예에 따른 보행 로봇의 제어 방법을 나타낸 순서도이다.
도 1은 본 발명의 실시 예에 의한 로봇의 외관 구성을 나타내고 있다. 도 1에 도시된 바와 같이, 로봇(10)은 인간과 마찬가지로 두 개의 다리(11R, 11L)에 의해 직립 이동하는 이족 보행 로봇으로, 몸통(12)과, 몸통(12)의 상부에 두 개의 팔(13R, 13L)과 머리(14)를 구비하며, 두 개의 다리(11R, 11L)와 팔(13R, 13L) 선단에는 각각 발(15R, 15L)과 손(16R, 16L)을 구비한다. 참조부호에서 R과 L은 로봇(10)의 오른쪽(Right)과 왼쪽(Left)을 나타내고, COG는 로봇(10)의 무게 중심 위치를 나타내며, ZMP는 로봇(10)과 바닥의 접촉면에서 롤 방향(roll; 로봇의 보행 진행방향인 x축 방향)과 피치 방향(pitch; 로봇의 좌우 보폭 방향인 y축 방향)의 모멘트가 0이 되는 점을 나타낸다.
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타내고 있다. 도 2에 도시된 바와 같이, 두 개의 다리(11R, 11L)는 로봇(10)의 발목, 무릎, 힙에 해당하는 부분이 회전할 수 있도록 발목 관절(17R, 17L), 무릎 관절(18R, 18L), 힙 관절(19R, 19L)을 각각 구비하고, 힙 관절(19R, 19L)은 두 개의 다리(11R, 11L)와 연결되는 몸통(12) 아래의 양 쪽 끝에 위치한다.
각 다리(11R, 11L)의 발목 관절(17R, 17L)은 x축(roll axis;로봇의 보행 진행방향)과 y축(pitch axis;좌우 보폭 방향)으로 움직임이 가능하고, 무릎 관절(18R, 18L)은 y축(pitch axis)으로 움직임이 가능하며, 힙 관절(19R, 19L)은 x축(roll axis)과 y축(pitch axis), z축(yaw axis)으로 움직임이 가능하다.
또한, 두 개의 다리(11R, 11L)에는 힙 관절(19R, 19L)과 무릎 관절(18R, 18L)을 연결하는 상부 링크(20R, 20L)와, 무릎 관절(18R, 18L)과 발목 관절(17R, 17L)을 연결하는 하부 링크(21R, 21L)를 각각 포함하여 각 관절((17R, 17L), (18R, 18L), (19R, 19L), 22)의 움직임에 따라 일정 수준의 자유도를 가지고 보행이 가능하도록 하며, 각 다리(11R, 11L)의 발목에는 힘/토크 측정센서(22R, 22L;Force and Torque sensor;이하 F/T센서라 한다)가 설치되어 발(15R, 15L)로부터 전달되는 힘의 3방향 성분(Fx, Fy, Fz)과 모멘트의 3방향 성분(Mx, My, Mz)을 측정하여 ZMP 정보를 제공한다.
그리고, 두 개의 다리(11R, 11L)와 연결되는 몸통(12)에는 로봇(10)의 허리에 해당하는 부분이 회전할 수 있도록 허리 관절(23)을 구비하며, 허리 관절(23)은 몸통(12) 아래의 양 쪽 끝에 위치한 힙 관절(19R, 19L)을 연결하는 힙 링크(24)의 중심 위치(24G)와 동일 축 선상에 위치한다. 도면에 나타내지는 않았지만, 로봇(10)의 모든 관절((17R, 17L), (18R, 18L), (19R, 19L), 22)은 구동을 위한 액추에이터(예를 들어, 모터와 같은 전동장치)를 각각 포함하고 있다.
도 3은 본 발명의 실시 예에 따른 보행 로봇의 제어 장치의 제어블록을 나타내고 있다. 도 3에 도시된 바와 같이, 본 발명의 실시 예에 따른 보행 로봇의 제어 장치는 제어부(40) 이외에 로봇을 제어하기 위한 사용자 명령을 입력하는 사용자 인터페이스(30)와, 로봇의 각 관절에 설치된 모터 등의 액추에이터를 구동하는 관절부(60)와, 로봇에 설치되어 각 관절에 가해지는 힘 또는 로봇의 자세 정보를 측정하는 센서부(50)를 구비한다.
제어부(40)는 사용자 인터페이스(30)를 통하여 입력된 사용자 명령과 센서부(50)로부터 제공된 정보를 바탕으로 로봇의 동작을 제어한다.
제어부(40)는 관절 제어부(41)와, 마찰력 보상부(42)와, 반중력 보상부(43)를 구비한다. 관절 제어부(41)는 제어 입력인 로봇 관절에 대한 목표 관절 각도와, 센서부(12)를 통해 입력된 현재 관절 각도를 이용하여 관절부(60)의 움직임을 제어하기 위한 관절신호를 생성하여 관절부(60)에 출력함으로서 관절부(60)의 움직임을 제어한다.
마찰력 보상부(42)는 제어 입력인 로봇 관절에 대한 목표 관절 각속도를 입력받아 각 관절의 마찰력을 모델링하고, 각 관절의 마찰력에 상응하는 보상 신호를 생성하고, 이 보상 신호를 관절 제어부(41)에 의해 관절부(60)에 출력되는 관절 신호에 부가하는 방식으로 로봇 각 관절의 움직임을 조절함으로서 각 관절의 기구적인 마찰력을 상쇄시키는 방식으로 각 관절의 마찰력을 보상한다. 즉, 마찰력 보상부(42)는 로봇 각 관절이 기구적인 마찰력이 없는 것처럼 작동하게 한다. 이에 따라, ZMP 위치변화가 최소화되어 로봇의 발바닥이 바닥면에 붙어 있게 된다. 이 때, 로봇 관절의 마찰력을 마찰력 추정기 또는 별도의 가속도센서를 이용하여 검출할 수 있다. 이들 방법은 로봇 관절의 정확한 파라미터를 알고 마찰력에 의한 가속도의 변화를 추정하거나 측정함으로써 마찰력을 추정하게 된다.
반중력 보상부(43)는 제어 입력인 로봇 관절에 대한 목표 관절 각도를 입력받아 각 관절의 반중력을 모델링하고, 각 관절의 반중력에 상응하는 보상 신호를 생성하고, 이 보상 신호를 관절 제어부(41)에 의해 관절부(60)에 출력되는 관절 신호에 부가하는 방식으로 로봇 각 관절의 움직임을 조절함으로서 로봇 각 관절에 있어서 로봇 각 관절에 작용하는 중력이 중력 방향과 반대 방향인 반 중력 방향으로 작용하는 것처럼 동작하도록 만들어 각 관절의 반중력을 보상한다. 즉, 반중력 보상부(43)는 로봇 각 관절에 중력이 거꾸로 작용하는 것처럼 로봇 각 관절의 움직임을 조절하여 로봇이 직립 상태를 유지하게 한다.
상기한 마찰력 보상과 반중력 보상에 의해 로봇은 외력이 들어와도 넘어지지 않고 직립상태를 유지하며 균형을 잡을 수 있다.
도 4는 도 3에 도시된 제어부의 구체적인 제어방식을 나타내고 있다. 도 4에 도시된 바와 같이, 본 발명의 실시 예에 따른 보행 로봇의 제어 장치는 일반적인 로봇 관절을 제어하는 방식인 관절 제어부(41)에 의해 수행되는 센서 피드백을 이용한 제어루프를 구비하고, 여기에 두 가지 피드포워드(Feed Forward) 제어루프가 추가되어 구성된다. 두 가지 피드포워드 제어루프는 마찰력 보상부(42)에 의해 수행되는 마찰력 보상을 위한 피드포워드 제어루프와 반중력 보상부(43)에 의해 수행되는 반중력 보상을 위한 피드포워드 제어루프이다. 이때, 반중력 보상을 위한 피드포워드 제어루프 대신에 피드백 제어루프를 사용하여도 반중력 보상이 가능하다.
마찰력 보상을 위한 피드포워드 제어루프에서 사용되는 로봇 관절의 마찰력은 로봇 관절의 각속도로 표현되는 함수이고, 반중력 보상을 위한 피드포워드 제어루프에 사용되는 관절에 작용하는 중력은 로봇 관절의 각도로 표현되는 함수이다. 이 함수들은 로봇 설계 단계에서 주어진 물리적인 모델링을 기반으로 얻어질 수 있으며, 실험이나 시뮬레이션을 통해 검증할 수 있다.
센서 피드백을 이용한 제어루프에 이용되는 관절 제어부(41)는 비례제어기(Proportional controller ; P 제어기), 비례적분제어기(Proportional Integral controller ; PI 제어기), 비례미분제어기(Proportional Differential controller ; PD 제어기), 비례적분미분제어기(Proportional Integral Differential controller ; PID 제어기) 중 어느 하나일 수 있다.
마찰력 보상을 위한 피드포워드 제어루프는 제어입력인 로봇 관절에 대한 목표 관절 각속도를 입력받아 로봇 관절의 마찰력을 모델링하고, 로봇 관절의 마찰력에 상응하는 보상 신호를 생성하고, 이 보상 신호를 로봇 관절에 제공함으로서 로봇 관절의 마찰력을 보상한다. 이에 따라, 로봇 관절의 기구적인 마찰력이 상쇄되어 로봇 관절이 기구적인 마찰력이 없는 것처럼 작동한다.
반중력 보상을 위한 피드포워드 제어루프는 제어입력인 로봇 관절에 대한 목표 관절 각도를 입력받아 로봇 관절의 반중력을 모델링하고, 로봇 관절의 반중력에 상응하는 보상 신호를 생성하고, 이 보상 신호를 로봇 관절에 제공함으로서 로봇 관절의 반중력을 보상한다. 이에 따라, 로봇 관절이 로봇 관절에 중력이 거꾸로 작용하는 것처럼 움직여 로봇이 직립 상태를 유지한다.
이하에서는 본 발명의 동작을 설명하기 위해 보행 로봇에서 로봇 각 관절의 마찰력이 ZMP에 미치는 영향에 대해 설명한다.
도 5a 내지 도 5c는 하나의 관절을 가진 보행 로봇 모델이 직립해 있다가 화살표와 같은 외력이 작용하여 자유 낙하할 때 어떻게 동작하는가를 나타내고 있다. 이 때, 참조부호 A는 로봇 관절의 운동을 진자 운동으로 나타낸 경우의 진자를, 참조부호 B는 진자 축을 나타낸다.
도 5a는 마찰력이 없는 경우이고, 도 3b는 마찰력이 약하게 작용하는 경우이며, 도 3c는 마찰력이 매우 큰 경우를 나타내고 있다.
마찰이 없는 이상적인 기구에 중력이 작용한다고 가정하면 그 기구는 자연스럽게 기구학적 구속조건을 만족하는 궤적을 따라서 자유 낙하하게 된다. 그러나 실제로는 기구적인 마찰력이 관절에 존재하여 기구를 자유 낙하 속도보다 느리게 움직이게 하거나 정지시켜 버리게 된다.
도 5a에 도시된 바와 같이, 마찰력이 없는 경우에는 ZMP의 위치(아래에서 발바닥으로 향한 화살표)가 항상 관절 바로 밑에 존재한다.
하지만, 도 5b에 도시된 바와 같이, 마찰력이 약하게 작용하는 경우에는 ZMP가 이동하기는 하지만 지지면인 발바닥 밖으로 바로 나가지는 않는다.
한편, 도 5c에 도시된 바와 같이, 마찰력이 매우 큰 경우에는 로봇 관절이 큰 마찰력에 의해 움직이지 않았기 때문에 외력의 영향이 발바닥의 한쪽 모서리를 축으로 움직이는 것으로 나타난다. 이 때는 ZMP가 축이 되는 모서리에 위치한다.
도 5a 내지 도 5c에서 알 수 있듯이, 자유 낙하하는 경우에는 마찰력이 작을수록 ZMP의 위치 변화가 작다. ZMP가 지지면 내에 존재하고 위치 변화가 작은 상태가 로봇이 균형을 잘 잡고 있는 상태이므로 마찰력을 보상하면 균형을 잡는데 도움이 된다.
로봇 관절의 마찰력만 보상된다고 해서 로봇이 균형을 잡고 서 있는 것은 아니다. 균형을 잡기 위해서는 직립 상태를 유지하고 있어야 한다. 본 발명의 실시 예에서는 직립상태를 유지하려는 제어 방법으로 제시한 것이 로봇의 중력 방향이 거꾸로 되도록 로봇 관절의 움직임을 제어하는 것이다.
이하에서는 로봇 관절에 중력이 거꾸로 작용하도록 만드는 것을 설명한다.
도 6a는 본 발명의 실시 예에서 로봇 관절에 중력이 중력 방향으로 작용하는 것을 나타내고, 도 6b는 본 발명의 실시 예에서 로봇에 (N-1) 배의 중력이 반 중력 방향으로 작용하는 것을 나타내고 있다.
도 6a에 도시된 바와 같이, 진자(A)가 중력 방향으로 매달려 있다.
제어를 위한 입력 토크나 외부로부터 작용하는 힘이 없는 상태에서의 이러한 진자(A)의 움직임은 다음의 동역학 수식으로 나타낼 수 있다.
Figure pat00001
여기서,
Figure pat00002
는 관절의 n × 1 위치 벡터이며, 행렬
Figure pat00003
는 n × n 관성행렬이고,
Figure pat00004
는 구심력과 코리올리스(Coriolis) 힘을 나타내는 n × 1 벡터이고,
Figure pat00005
는 n × 1의 중력 벡터이다.
도 6a에 도시된 진자는 중력으로 인해 계속해서 아래쪽을 향해 진자 운동을 하게 된다.
도 6b에 도시된 바와 같이, 이 모델을 뒤집어서 중력 방향이 위쪽을 향한다고 가정하면, 계속해서 위쪽을 향해 진자 운동을 하는 모델이 된다. 이렇게 중력 방향을 뒤집어서 위쪽으로 향할 수 있도록 N 배의 중력 벡터(
Figure pat00006
)인 입력 토크(
Figure pat00007
)를 인가하면 로봇 관절의 동력학식은 다음의 식 [2]와 같이 나타낼 수 있다.
Figure pat00008
정리하면, 다음의 식 [3]과 같이 나타낼 수 있다.
Figure pat00009
여기서, N은 상수이다.
도 6b와 같이, 로봇 관절에 (N-1)배의 중력이 위쪽 방향으로 작용하는 것처럼 동작하도록 로봇 관절의 움직임을 제어한다. 이 때, N이 증가할수록 로봇 관절이 목표치에 빨리 수렴하게 되어 로봇 관절의 흔들림 폭이 적어진다.
도 7은 본 발명의 실시 예에 따른 보행 로봇의 제어 장치에서 로봇 관절의 마찰력과 반중력을 보상하는 것을 나타내고 있다.
도 7을 살펴보면, 제어부(40)는 로봇 관절을 움직이기 위해 제어 입력인 목표로 하는 로봇 관절의 관절각도와 관절각속도를 입력받는다(100).
그리고, 제어부(40)는 로봇 관절의 관절 각속도에 기초하여 로봇 관절의 마찰력을 모델링한다(110). 이 때, 로봇 관절의 관절 각속도를 근거로 하여 마찰력을 추정하고, 이 마찰력을 보상하도록 이 마찰력에 상응하는 보상 신호를 생성한다.
로봇 관절의 마찰력을 모델링한 후 제어부(40)는 로봇 관절의 마찰력에 상응하는 보상 신호를 피드포워드 제어로 관절부(60)에 제공하여 로봇 관절의 움직임을 제어함으로서 로봇 관절의 마찰력을 보상한다(120). 이에 따라, 로봇 관절의 기구적인 마찰력이 상쇄되어 로봇 관절이 기구적인 마찰력이 없는 것처럼 작동한다. 즉, 로봇 관절이 기구적인 마찰력이 없는 것처럼 작동하기 때문에 ZMP 위치변화가 최소화되어 로봇의 발바닥이 바닥면에 붙어 있게 된다.
로봇 관절의 마찰력을 보상한 후 제어부(40)는 로봇 관절의 관절 각도에 기초하여 로봇 관절의 반중력을 모델링한다(130). 이 때, 로봇 관절의 관절 각도를 근거로 하여 로봇의 반중력을 추정하고, 이 반중력을 보상하도록 이 반중력에 상응하는 보상 신호를 생성한다.
로봇 관절의 반중력을 모델링한 후 제어부(40)는 로봇 관절의 반중력에 상응하는 보상 신호를 피드포워드 제어로 관절부(60)에 제공하여 로봇 관절의 움직임을 제어함으로서 로봇 관절의 반중력을 보상한다(140). 이에 따라, 로봇 관절이 로봇 관절에 중력이 거꾸로 작용하는 것처럼 움직여 로봇이 직립 상태를 유지한다.
더 나아가 본 발명에서는, 기존의 피동 보행(Passive Dynamic Walking)의 단점인 모델과 환경에 따라 특정 한계 괘도(Limit Cycle)에서만 안정적으로 보행이 가능하여, 외력이 인가되거나 보폭, 속도를 변경할 때 안정성을 유지하기 쉽지 않은 단점을 보완하기 위해 보행 로봇의 두 다리에 중력의 반대 방향으로 가상 중력을 인가하는 제어 방법을 제안한다.
도 8은 본 발명의 일 실시 예에 따른 보행 로봇의 보행 제어에서 다리에 가해지는 가상 중력을 나타낸 도면이다. 도 8의 (A)와 (B)는, 2개의 링크와 3개의 점 질량을 가진 이족 보행 로봇을 제어하는 두 가지 방법이 나타나 있다. 도 8의 (A)는 기존의 피동 보행 방법을 이용한 보행에서의 가상 중력 제어 방법을 나타낸 것으로서, 이 방법은 보행 로봇이 경사면에서 아무런 동력을 인가하지 않아도 특정 경사각을 내려 올 수 있는 현상을 이용한 것이다. 따라서 도 8의 (A)의 경우 보행 로봇 전체에 작용하는 중력의 방향이 특정 각도(φ)만큼 기울어져 있는 것처럼 동작하도록 가상 중력을 인가한다. 이를 다음의 식 4와 같이 나타낼 수 있다.
Figure pat00010
위의 식 4에서, 좌변은 로봇을 모델링하여 동작을 나타내는 동역학 수식이며, 우변은 각 관절에 인가되는 토크 입력을 나타낸다. 기존의 피동 보행은 시스템에 작용하는 중력(
Figure pat00011
)을 보상하고 특정 각도로 가상 중력(
Figure pat00012
)이 있는 것처럼 제어 입력을 가하면 된다. 즉, 아래의 식 5와 같은 토크 입력을 위의 식 4에 인가하면 아래의 식 6과 같고, 이를 정리하면 식 7과 같은 결과를 얻을 수 있다.
Figure pat00013
즉, 위의 식 5와 같은 토크 입력을 가함으로써, 보행 로봇은 특정 각도의 경사면 위에서의 보행이 구현된다.
본 발명의 일 실시 예에서는, 이와 같은 기존의 피동 보행과는 다른 가상 중력을 보행 로봇의 두 다리에 각각 인가하여 보행 로봇의 보행을 구현한다. 즉, 아래의 식 8과 같은 입력을 수식 1에 인가하면 아래의 식 9와 같고, 이를 정리하면 식 10과 같은 결과를 얻을 수 있다.
Figure pat00014
이와 같이 하면, 도 8의 (B)에 나타낸 것처럼, 두 다리에 각각 다른 가상 중력이 작용하는 것처럼 제어할 수 있다.
위 식에서,
Figure pat00015
은 지지하는 다리(802)에 작용하는 제 1 가상 중력이고,
Figure pat00016
는 뻗는 다리(804)에 작용하는 제 2 가상 중력으로서, 이 두 가상 중력에 따라 보행 형태가 결정된다. 기본적으로 지지하는 다리(802)에 작용하는 제 1 가상 중력(
Figure pat00017
)은 반중력을 기본으로 하여 진행 방향과 속도 등에 따라 기울기(φ1)가 결정된다. 뻗는 다리(804)는 아래로 작용하는 원래의 중력에 진행 방향과 속도에 따라 기울기(φ2)가 결정된다. 따라서 기울기 φ1과 φ2를 어떻게 정하느냐에 따라 보행의 방향이나 속도가 달라진다.
도 9는 본 발명의 일 실시 예에 따른 보행 로봇의 제어 방법을 나타낸 순서도이다. 도 9에 나타낸 보행 로봇의 제어 방법은, 지지하는 다리에는 반중력 방향의 가상 중력을 가하고, 뻗는 다리에는 중력 방향의 가상 중력을 가함으로써, 보행 로봇의 보폭과 속도를 변경할 때, 또는 보행 중인 로봇에 외력이 가해질 때 더욱 안정성을 유지할 수 있도록 한다.
도 9에 나타낸 바와 같이, 보행 명령이 입력되면(902), 지지하는 다리(802)와 뻗는 다리(804)를 결정한다(904). 즉, 두 개의 다리 가운데 어느 다리를 지지하고 어느 다리를 뻗을 것인지를 결정한다. 뻗는 다리(804)가 결정되면, 두 다리(802)(804)에 중력이 작용하지 않는 것처럼 동작하도록 하기 위해 두 다리(802)(804)의 각 관절들에 중력 보상 토크를 인가한다(906). 실질적인 보행은 뻗는 다리(804)를 들어 올리는 동작으로 시작한다(908). 이 들어올리는 동작은, 로봇에 따라 발의 크기와 모양 등이 다르기 때문에, 필요하지 않을 수도 있다. 그 후, 지지하는 다리(802)의 각 관절에는 진행 방향 벡터와 반중력 방향 벡터의 합 방향으로 작용하는 제 1 가상 중력 토크를 더한다(910). 이와 동시에 뻗는 다리(804)에는 보행의 속도, 보폭 등에 의해 결정되는 진행 방향 벡터와 중력 벡터의 벡터 합 방향으로 중력 크기의 제 2 가상 중력 토크를 더한다(912). 이렇게 되면 지지하는 다리(802)는 진행 방향으로 기울고 뻗는 다리(804)는 진행 방향으로 다리를 뻗게 된다. 이와 같은 제어를 뻗는 다리(804)가 지면에 닿기 전까지 유지하다가(914의 예), 뻗는 다리(804)가 지면에 닿게 되면 두 다리의 역할을 상호 전환한다(916). 즉, 현재까지의 뻗는 다리(804)는 다음 걸음의 지지하는 다리가 되고, 현재까지의 지지하는 다리(802)는 다음 걸음의 뻗는 다리가 되어 들어 올려지게 된다. 이와 같은 보행을 통해 목표 위치에 도착하게 되면 보행을 종료한다(918의 예).

Claims (15)

  1. 두 개의 다리를 이용하여 보행하는 보행 로봇의 제어 방법에 있어서,
    보행하는 동안 상기 두 개의 다리 중 지지하는 다리의 각 관절에 반중력 방향 벡터 성분을 포함하는 제 1 가상 중력 토크를 인가하며;
    보행하는 동안 상기 두 개의 다리 중 뻗는 다리의 각 관절에 중력 방향 벡터 성분을 포함하는 제 2 가상 중력 토크를 인가하는 보행 로봇의 제어 방법.
  2. 제 1 항에 있어서,
    상기 제 1 가상 중력 토크는, 진행 방향 벡터와 상기 반중력 방향 벡터의 합 방향으로 가해지고;
    상기 제 2 가상 중력 토크는, 상기 진행 방향 벡터와 상기 중력 방향 벡터의 합 방향으로 가해지는 보행 로봇의 제어 방법.
  3. 제 2 항에 있어서,
    상기 제 1 가상 중력 토크 및 상기 제 2 가상 중력 토크는, 중력 크기인 보행 로봇의 제어 방법.
  4. 제 1 항에 있어서,
    보행을 시작하기 전에 상기 두 개의 다리의 각 관절들에 중력 보상 토크를 인가하는 것을 더 포함하는 보행 로봇의 제어 방법.
  5. 제 1 항에 있어서,
    상기 두 개의 다리의 각 관절들에 중력 보상 토크를 인가한 후 상기 뻗는 다리를 들어올리는 것을 더 포함하는 보행 로봇의 제어 방법.
  6. 제 1 항에 있어서,
    상기 뻗는 다리가 지면에 닿으면, 상기 뻗는 다리와 상기 지지하는 다리의 역할을 상호 전환하는 것을 더 포함하는 보행 로봇의 제어 방법.
  7. 보행을 위한 두 개의 다리와;
    보행하는 동안 상기 두 개의 다리 중 지지하는 다리의 각 관절에 반중력 방향 벡터 성분을 포함하는 제 1 가상 중력 토크를 인가하며, 보행하는 동안 상기 두 개의 다리 중 뻗는 다리의 각 관절에 중력 방향 벡터 성분을 포함하는 제 2 가상 중력 토크를 인가하는 제어부를 포함하는 보행 로봇.
  8. 제 7 항에 있어서,
    상기 제 1 가상 중력 토크는, 진행 방향 벡터와 상기 반중력 방향 벡터의 합 방향으로 가해지고;
    상기 제 2 가상 중력 토크는, 상기 진행 방향 벡터와 상기 중력 방향 벡터의 합 방향으로 가해지는 보행 로봇.
  9. 제 8 항에 있어서,
    상기 제 1 가상 중력 토크 및 상기 제 2 가상 중력 토크는, 중력 크기인 보행 로봇.
  10. 제 7 항에 있어서, 상기 제어부는,
    보행을 시작하기 전에 상기 두 개의 다리의 각 관절들에 중력 보상 토크를 인가하는 것을 더 포함하는 보행 로봇.
  11. 제 7 항에 있어서, 상기 제어부는,
    상기 두 개의 다리의 각 관절들에 중력 보상 토크를 인가한 후 상기 뻗는 다리를 들어올리는 것을 더 포함하는 보행 로봇.
  12. 제 7 항에 있어서, 상기 제어부는,
    상기 뻗는 다리가 지면에 닿으면, 상기 뻗는 다리와 상기 지지하는 다리의 역할을 상호 전환하는 것을 더 포함하는 보행 로봇.
  13. 두 개의 다리를 이용하여 보행하는 보행 로봇의 제어 방법에 있어서,
    보행을 시작하기 전에 상기 두 개의 다리의 각 관절들에 중력 보상 토크를 인가하고;
    보행하는 동안 상기 두 개의 다리 중 지지하는 다리의 각 관절에 진행 방향 벡터와 반중력 방향 벡터의 합 방향으로 중력 크기의 제 1 가상 중력 토크를 인가하며;
    보행하는 동안 상기 두 개의 다리 중 뻗는 다리의 각 관절에 상기 진행 방향 벡터와 중력 방향 벡터의 합 방향으로 상기 중력 크기의 제 2 가상 중력 토크를 인가하는 보행 로봇의 제어 방법.
  14. 제 13 항에 있어서,
    상기 두 개의 다리의 각 관절들에 중력 보상 토크를 인가한 후 상기 뻗는 다리를 들어올리는 것을 더 포함하는 보행 로봇의 제어 방법.
  15. 제 13 항에 있어서,
    상기 뻗는 다리가 지면에 닿으면, 상기 뻗는 다리와 상기 지지하는 다리의 역할을 상호 전환하는 것을 더 포함하는 보행 로봇의 제어 방법.
KR1020100133210A 2010-12-23 2010-12-23 보행 로봇 및 그 제어 방법 KR20120071599A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100133210A KR20120071599A (ko) 2010-12-23 2010-12-23 보행 로봇 및 그 제어 방법
US13/308,842 US9104207B2 (en) 2010-12-23 2011-12-01 Walking robot and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100133210A KR20120071599A (ko) 2010-12-23 2010-12-23 보행 로봇 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20120071599A true KR20120071599A (ko) 2012-07-03

Family

ID=46318041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100133210A KR20120071599A (ko) 2010-12-23 2010-12-23 보행 로봇 및 그 제어 방법

Country Status (2)

Country Link
US (1) US9104207B2 (ko)
KR (1) KR20120071599A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097419A3 (ko) * 2016-11-22 2018-08-02 한국과학기술연구원 이족 보행 로봇의 안정된 보행 제어를 위해 단순화된 로봇의 모델링 방법
US10471610B2 (en) 2015-06-16 2019-11-12 Samsung Electronics Co., Ltd. Robot arm having weight compensation mechanism

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5661023B2 (ja) * 2011-12-02 2015-01-28 本田技研工業株式会社 脚式移動ロボットの歩容生成装置及びロボットの動作目標生成装置
KR20150094427A (ko) * 2014-02-11 2015-08-19 삼성전자주식회사 착용형 로봇 및 그 제어 방법
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
CN105799806B (zh) * 2016-03-18 2017-11-10 重庆邮电大学 一种三维仿人行走器及其控制方法
US11014247B2 (en) * 2016-04-29 2021-05-25 Softbank Robotics Europe Mobile robot with enhanced balanced motion and behavior capabilities
CN107444515A (zh) * 2017-09-15 2017-12-08 吴兰岸 一种新型教育机器人的腿部结构
CN109991989B (zh) * 2017-12-29 2021-12-17 深圳市优必选科技有限公司 机器人空闲状态下的动态平衡方法、装置及存储介质
CN110053039B (zh) * 2018-01-17 2021-10-29 深圳市优必选科技有限公司 一种机器人行走中重力补偿的方法、装置及机器人
JP7077348B2 (ja) * 2020-02-21 2022-05-30 株式会社ソニー・インタラクティブエンタテインメント 検出装置
CN114179088B (zh) * 2021-12-27 2024-01-19 优必康(青岛)科技有限公司 机器人负载补偿实现方法、装置及机器人

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7217247B2 (en) * 2002-09-23 2007-05-15 Honda Giken Kogyo Kabushiki Kaisha Gravity compensation method in a human assist system and a human assist system with gravity compensation control
JP3569764B2 (ja) * 2001-11-19 2004-09-29 独立行政法人 科学技術振興機構 二脚歩行式移動装置およびその歩行制御装置並びに歩行制御方法
US7664569B2 (en) * 2002-10-10 2010-02-16 Sony Corporation Robot device operation control device and operation control method
EP1642687B9 (en) * 2003-06-27 2011-04-20 Honda Motor Co., Ltd. Control device for legged mobile robot
JP4587738B2 (ja) * 2003-08-25 2010-11-24 ソニー株式会社 ロボット装置及びロボットの姿勢制御方法
US7873436B2 (en) * 2004-01-13 2011-01-18 Honda Motor Co., Ltd. Gait generator for mobile robot
KR101131773B1 (ko) * 2004-02-06 2012-04-05 혼다 기켄 고교 가부시키가이샤 이동 로봇의 보용생성장치
US7835822B2 (en) * 2005-03-30 2010-11-16 Honda Motor Co., Ltd. Systems and methods for controlling a legged robot using a two-phase disturbance response strategy
KR20090126038A (ko) * 2008-06-03 2009-12-08 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR101474765B1 (ko) * 2008-12-05 2014-12-22 삼성전자 주식회사 로봇 팔 및 그 제어방법
KR20100073438A (ko) * 2008-12-23 2010-07-01 삼성전자주식회사 로봇 및 그 제어방법
KR101549817B1 (ko) * 2009-01-22 2015-09-04 삼성전자 주식회사 로봇의 보행 제어장치 및 그 방법
KR20110017500A (ko) 2009-08-14 2011-02-22 삼성전자주식회사 다리식 이동 로봇의 제어장치 및 그 제어방법
US8942848B2 (en) * 2011-07-06 2015-01-27 Florida Institute for Human and Machine Cognition Humanoid robot that can dynamically walk with limited available footholds in the presence of disturbances

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10471610B2 (en) 2015-06-16 2019-11-12 Samsung Electronics Co., Ltd. Robot arm having weight compensation mechanism
WO2018097419A3 (ko) * 2016-11-22 2018-08-02 한국과학기술연구원 이족 보행 로봇의 안정된 보행 제어를 위해 단순화된 로봇의 모델링 방법
US11253993B2 (en) 2016-11-22 2022-02-22 Korea Institute Of Science And Technology Method for modeling robot simplified for stable walking control of bipedal robot

Also Published As

Publication number Publication date
US9104207B2 (en) 2015-08-11
US20120165987A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
KR20120071599A (ko) 보행 로봇 및 그 제어 방법
KR20110017500A (ko) 다리식 이동 로봇의 제어장치 및 그 제어방법
KR101131775B1 (ko) 다리식 이동 로봇의 제어장치
KR101131776B1 (ko) 다리식 이동 로봇의 보용 생성장치
US9079624B2 (en) Walking robot and method of controlling balance thereof
KR100515277B1 (ko) 2각 보행식 이동 장치, 그 보행 제어 장치 및 보행 제어방법
KR20120134036A (ko) 로봇 및 그 제어방법
WO2011119599A2 (en) In-line legged robot vehicle and method for operating
KR20120069923A (ko) 보행 로봇 및 그 자세 제어 방법
KR20120060578A (ko) 보행 로봇 및 그 자세 제어 방법
KR20110084632A (ko) 로봇의 보행 제어 장치 및 그 제어 방법
JP2004167676A (ja) ロボット装置、ロボット装置の運動制御装置並びに運動制御方法
JP2010253585A (ja) ロボット制御装置、ロボット制御方法、及び脚式ロボット
KR20130049029A (ko) 보행 로봇 및 그 제어 방법
US20110172824A1 (en) Walking robot and method of controlling the same
KR20100072587A (ko) 로봇 및 그 균형 제어방법
KR20110084631A (ko) 인간형 로봇 및 그 보행 제어방법
KR20100086355A (ko) 로봇의 보행 제어장치 및 그 방법
KR20100078248A (ko) 보행 로봇 및 그 제어방법
EP2343230A1 (en) Robot and control method thereof
KR101487783B1 (ko) 로봇 및 그 제어방법
JP2009154256A (ja) 車輪付脚式移動装置
JP5639342B2 (ja) ロボット及びその歩行制御方法
Doi et al. Passive dynamic autonomous control of bipedal walking
JP6407409B2 (ja) 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment