KR20110047842A - 로봇 및 그 제어방법 - Google Patents

로봇 및 그 제어방법 Download PDF

Info

Publication number
KR20110047842A
KR20110047842A KR1020090104625A KR20090104625A KR20110047842A KR 20110047842 A KR20110047842 A KR 20110047842A KR 1020090104625 A KR1020090104625 A KR 1020090104625A KR 20090104625 A KR20090104625 A KR 20090104625A KR 20110047842 A KR20110047842 A KR 20110047842A
Authority
KR
South Korea
Prior art keywords
robot
joint
value
motion
objective function
Prior art date
Application number
KR1020090104625A
Other languages
English (en)
Other versions
KR101691940B1 (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 KR1020090104625A priority Critical patent/KR101691940B1/ko
Priority to US12/926,078 priority patent/US9037292B2/en
Publication of KR20110047842A publication Critical patent/KR20110047842A/ko
Application granted granted Critical
Publication of KR101691940B1 publication Critical patent/KR101691940B1/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • 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/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33116Configuration of motion 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/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35585Motion command profile
    • 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/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36171Edit velocity, motion profile, graphic plot of speed as function of time, position

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Manipulator (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)

Abstract

로봇의 엑츄에이터 스펙 및 동역학을 고려하여 최대 동적 수행 능력을 끌어낼 수 있는 로봇 및 그 제어방법을 개시한다. 로봇은 모션 커맨드가 입력되는 입력부와, 모션의 시작시간 및 종료시간에 따라 벨타입 속도 프로파일을 형성하고, 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하여 그 값이 최소가 되는 벨타입 속도 프로파일에 따라 관절을 구동하는 제어부를 포함한다.

Description

로봇 및 그 제어방법{ROBOT AND CONTROL METHOD THEREOF}
휴머노이드 로봇의 최대 동적 수행 능력을 끌어낼 수 있는 로봇 및 그 제어방법에 관한 것이다.
일반적으로 전기적 또는 자기적인 작용을 이용하여 인간의 동작과 닮은 운동을 행하는 기계 장치를 "로봇"이라고 한다. 로봇의 어원은 슬라브어의 ROBOTA(노예 기계)에서 유래한다고 전해지고 있다. 종래에 보급되는 로봇의 대부분은 공장에 있어서의 생산 작업의 자동화, 무인화 등을 목적으로 한 매니퓰레이터나 반송 로봇 등의 산업용 로봇(industrial robot)이었다.
최근에는 인간이나 원숭이 등의 2족 직립 보행을 행하는 동물의 신체 메카니즘과 동작을 모방한 보행 로봇에 관한 연구 개발이 진전되어 실용화로의 기대도 높아져 오고 있다. 2족 직립에 의한 보행은 크롤러식이나, 4족 또는 6족식 등에 비해 불안정하고 자세 제어나 보행 제어가 어려워지지만, 고르지 못한 지면이나 장해물 등 작업 경로상에 요철이 있는 보행면이나, 계단과 사다리의 승강 등 불연속적인 보행면에 대응할 수 있는 등, 유연한 이동 작업을 실현할 수 있다는 점에서 우수하다.
인간의 생체 메카니즘과 동작을 모방한 보행 로봇의 것을, 특히 "인간형태" 또는 "인간형"의 로봇(humanoid robot)이라고 부른다. 인간형 로봇은 예를 들어 생활 지원, 즉 주거 환경 그 밖의 일상 생활상의 다양한 장면에 있어서의 인적 활동의 지원 등을 행할 수 있다.
인간 형태 또는 인간형이라고 불리는 로봇을 연구, 개발하는 의의를, 예를 들어 이하의 두 가지 관점으로 파악할 수 있다.
하나는 인간 과학적인 관점이다. 즉, 인간의 다리 및/또는 팔과 닮은 구조의 로봇을 만들고, 그 제어방법을 고안하여 인간의 보행 동작을 시뮬레이트하는 과정을 통하여, 보행을 비롯한 인간의 자연스러운 동작의 메카니즘을 공학적으로 해명할 수 있다. 이러한 연구 성과는 인간 공학, 리허빌리테이션 공학, 또는 스포츠 과학 등, 인간의 메카니즘을 다루는 이외의 다양한 연구 분야의 진전에 크게 환원할 수 있다.
다른 하나는 인간의 파트너로서 생활을 지원하는, 즉 주거환경 그 밖의 일상 생활상의 다양한 장면에 있어서의 인적 활동의 지원을 행하는 로봇의 개발이다. 이러한 종류의 로봇은 인간의 생활 환경의 다양한 국면에 있어서, 인간으로부터 배웃면서 각각 개성이 다른 인간 또는 환경에의 적응 방법을 학습하여, 기능면에서 더욱 성장시켜 갈 필요가 있다. 이 때, 로봇이 "인간 형태" 즉, 인간과 같은 형태 또는 같은 구조를 하고 있는 쪽이, 인간과 로봇의 순조로운 대화를 행하는 면에서 유효하게 기능할 수 있다.
한편, 인간형 로봇이 인간과 상호 작용을 하기 위해서는 동적인 모션의 수행이 가 능해야 한다(예를 들면, 공 던지기,공 차기). 그러나, 인간형 로봇이 인간과 유사하게 빠르고 동적인 모션을 수행하기는 쉽지 않다. 사람의 공 던지기, 공 차기 등의 빠르고 동적인 모션은 오랜 기간의 반복 연습과 학습을 통해 이루어진다. 이러한 과정을 자세히 살펴보면, 사람은 수많은 관절로 이루어진 자유도를 효과적으로 다루지 못하다가 점차 모든 관절들을 효과적으로 조화롭게 제어함으로써 특정 물리 범위에 관한 최적화를 이루게 된다. 이를 제어 관점에서 보면, 초기에 비주얼 등의 센서의 피드백에 의해 수행되는 느린 모션이 학습을 통해 미리 최적화된 모션으로 진화되는 것을 볼 수 있다. 특정 목적함수의 선정을 통한 모션 최적화는 오랜 기간의 동작에 대한 학습을 단기간에 이루는 과정으로 볼 수 있으며, 인간의 모션도 목적에 맞게 최적화가 이루어진다는 사실은 많은 생체공학 연구 문헌에 의해서도 뒷받침되고 있다. 이에 따라, 로봇이 동적인 모션을 수행하기 위해서는 로봇의 기구학과 동역학에 맞게 최적의 모션 커맨드가 입력되어야 한다.
로봇의 엑츄에이터 스펙 및 동역학을 이용하여 최대 동적 수행 능력을 끌어낼 수 있는 로봇 및 그 제어방법을 제공한다.
이를 위한 본 발명의 일실시예에 의한 로봇의 제어방법은 모션의 시작시간과 종료시간에 따른 벨타입 속도 프로파일을 형성하고, 상기 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하며, 상기 제한조건이 있는 목적함수의 값이 최소가 되는 벨타입 속도 프로파일에 따라 관절을 구동하는 것이 바람직하다.
상기 모션의 시작시간과 종료시간에 따른 벨타입 속도 프로파일을 형성하는 것은, 상기 모션의 시작시간과 종료시간에 따라 상기 로봇의 모션에 필요한 관절 또는 무게 중심의 트라젝터리(trajectory)를 형성하는 것이 바람직하다.
상기 트라젝터리는 상기 모션을 수행하기 위한 관절 각도, 속도 및 가속도에 대한 정보를 포함하는 것이 바람직하다.
상기 제한조건이 있는 목적함수는 다음 식에 따라 값(Jmin)을 확인할 수 있는 것이 바람직하다.
Figure 112009067030324-PAT00001
= Jmin
여기서, "
Figure 112009067030324-PAT00002
"는 엔드이펙터의 속도를 최대화하기 위한 목적함수의 값이고, "
Figure 112009067030324-PAT00003
"는 관절의 속도 제한을 주기 위한 목적 함수의 값이며, "
Figure 112009067030324-PAT00004
"는 관절의 토크 제한을 주기 위한 목적함수의 값이며, "
Figure 112009067030324-PAT00005
"는 로봇의 ZMP가 특정 범위 안에 있게 하기 위한 목적함수의 값이며, w1, w2, w3 및 w4는 상수이고,
Figure 112009067030324-PAT00006
는 로봇 전체 무게 중심의 위치이고, q는 관절 각도이다.
상기 벨타입 속도 프로파일은 로봇의 프로파일 형태를 벨 형태로 하여 시간에 따른 속도변화를 나타내는 것이 바람직하다.
상기 모션의 시작시간과 종료시간에 따른 벨타입 속도 프로파일을 형성하는 것은, 임의의 시작시간과 종료시간에 따라 복수 개의 벨타입 속도 프로파일을 형성하는 것이 바람직하다.
상기 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하는 것은, 상기 복수 개의 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 복수 회 확인하는 것이 바람직하다.
그리고, 본 발명의 일실시예에 의한 로봇은 로봇의 모션 커맨드가 입력되는 입력부;와 상기 모션의 시작시간 및 종료시간에 따라 벨타입 속도 프로파일을 형성하고, 상기 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하여 그 값이 최소가 되는 벨타입 속도 프로파일에 따라 관절을 구동하는 제어부;를 포함하는 것이 바람직하다.
상기 제어부는 상기 모션을 수행하는데 사용되는 각 관절 또는 무게 중심에 대한 벨타입 속도 프로파일을 형성하는 것이 바람직하다.
상기 제어부는 다음 식에 의해 상기 제한조건이 있는 목적함수의 값을 확인하는 것이 바람직하다.
Figure 112009067030324-PAT00007
= Jmin
여기서, "
Figure 112009067030324-PAT00008
"는 엔드이펙터의 속도를 최대화하기 위한 목적함수의 값이고, "
Figure 112009067030324-PAT00009
"는 관절의 속도 제한을 주기 위한 목적 함수의 값이며, "
Figure 112009067030324-PAT00010
"는 관절의 토크 제한을 주기 위한 목적함수의 값이며, "
Figure 112009067030324-PAT00011
"는 로봇의 ZMP가 특정 범위 안에 있게 하기 위한 목적함수의 값이며, w1, w2, w3 및 w4는 상수이고,
Figure 112009067030324-PAT00012
는 로봇 전체 무게 중심의 위치이고, q는 관절 각도이다.
상기 제어부는 복수의 시작시간 및 종료시간에 따라 벨타입 속도 프로파일을 복수 개 형성하는 것이 바람직하다.
상기 제어부는 상기 복수개의 벨타입의 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하며, 복수 개의 목적함수의 값 중 최소가 되는 값의 벨타입 속도 프로파일에 따라 관절을 구동하는 것이 바람직하다.
상기 제어부는 상기 목적함수의 값이 최소가 되는 벨타입 속도 프로파일에 따라 상기 모션에 필요한 각 관절 또는 무게중심을 구동하는 것이 바람직하다.
상기 제어부는 상기 모션의 시작시간 및 종료시간을 임의로 설정하며, 상기 모션에 필요한 관절 또는 무게중심에 대한 벨타입 프로파일을 각각 형성하는 것이 바람직하다.
로봇의 엑츄에이터 스펙을 최대한 활용하고 동역학을 고려하여 로봇의 최대 동적 능력을 끌어낼 수 있다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.
도 1은 본 발명의 일실시예에 의한 로봇의 외관도이다.
도 1에 도시한 바와 같이, 로봇(100)은 인간과 마찬가지로 두 개의 다리(110R,110L)에 의해 직립 이동하는 이족 보행 로봇으로, 몸통(120)과, 몸통(120)의 상부에 두 개의 팔(130R,130L)과 머리(140)를 구비하며, 두 개의 다리(110R,110L)와 팔(130R,130L) 선단에는 각각 발(111R,111L)과, 핸드(131R,131L)를 구비한다.
참조 부호에서 R과 L은 로봇(100)의 오른쪽(Right)과 왼쪽(left)을 나타낸다.
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면이다.
도 2에 도시한 바와 같이, 머리(140)를 지지하는 목 관절은 목 관절 롤축(2),목 관절 피치축(3) 및 목 관절 요우축(4)으로 구성되어 x축(roll axis)과 y축(pitch axis)과 z축(yaw axis)으로 움직임이 가능하다.
두 개의 팔(130R,130L)은 로봇(100)의 어깨, 팔꿈치, 손목에 해당하는 부분이 회전할 수 있도록 어깨 관절, 팔꿈치 관절 및 손목 관절을 각각 구비한다.
두 개의 팔(130R,130L)의 어깨 관절은 어깨 관절 롤축(8R,8L)과, 어깨 관절 피치축(9R,9L)과, 어깨 관절 요우축(10R,10L)로 구성되어 x축(roll axis)과 y축(pitch axis)과 z축(yaw axis)으로 움직임이 가능하다.
두 개의 팔(130R,130L)의 팔꿈치 관절은 팔꿈치 관절 피치축(11R,11L)과 팔꿈치 관절 요우축(12R,12L)으로 구성되어 y축(pitch axis)과 z축(yaw axis)으로 움직임이 가능하다.
두 개의 팔(130R,130L)의 손목 관절은 손목 관절 롤축(13R,13L)과, 손목 관절 피치축(14R,14L)과, 손목 관절 요우축(15R,15L)으로 구성되어 x축(roll axis)과 y축(pitch axis)과 z축(yaw axis)으로 움직임이 가능하다.
몸통(120)은 몸체부 롤축(5)과, 몸체부 피치축(6)과, 몸체부 요우축(7)으로 구성되어 x축(roll axis)과 y축(pitch axis)과 z축(yaw axis)으로 움직임이 가능하다.
두 개의 다리(110R,110L)는 다리 관절 롤축(16R,16L)과, 다리 관절 피치축(17R,17L)과, 다리 관절 요우축(18R,18L)으로 구성되어 x축(roll axis)과 y축(pitch axis)과 z축(yaw axis)으로 움직임이 가능하며, 무릎 관절 피치축(19R,19L)으로 구성되어 y축(pitch axis)으로 움직임이 가능하며, 발목 관절 롤축(20R,20L)과, 발목 관절 피치축(21R,21L)으로 구성되어 x축(roll axis)과 y축(pitch axis)방향으로 움직임이 가능하다.
한편, 상술한 인간형 로봇(100)이 갖는 각 자유도는 실제로는 작동기를 이용하여 장착된다. 외관상에서 여분의 팽창을 배제하여 인간의 자연체 형상에 근사시키고, 불안정 구조체에 대해 자세 제어를 행하는 등의 요구에 기인하면 작동기는 소형 또는 경량인 것이 바람직하다.
도 3은 본 발명의 일실시예에 의한 로봇의 제어블록도이다.
도 3에 도시한 바와 같이, 로봇(100)은 사용자에 의해 모션 커맨드 등이 입력되는 입력부(200)와, 입력된 모션 커맨드를 해석하고 로봇 관절 궤도의 시작점과 종점 간의 중간경로계획을 생성하는 커맨드 해석부(214) 및 커맨드 해석부(214)에 연결되어 모션 명령을 생성하는 커맨드 생성부(218)를 포함하는 제어부(210)와, 제어부(210)의 제어에 의해 로봇(100)의 각 관절을 구동하는 구동부(220)를 포함한다.
제어부(210)는 모션(예를 들면, 공차기 또는 공던지기)의 시작 자세와 마지막 자세가 주어지면 엔드 이펙터(end-effecter, 예를 들면, 손끝과 발끝)가 최대속도가 나올 수 있도록 관절 트라젝터리(joint trajectory)를 최적화한다. 관절 트라젝터리를 최적화한다는 것은 엔드 이펙터가 최대 속도가 나올 수 있도록 각 관절의 각도, 속도 및 가속도를 최적화하는 것을 의미한다. 이를 위해, 제어부(210)는 다음과 같은 동작을 한다.
첫째로, 제어부(210)는 모션의 시작시간과 종료시간이 임의로 주어지면, 모션의 시작시간 및 종료시간에 따라 각 관절 및 무게 중심(CoG : Center of Gravity))의 트라젝터리(trajectory)를 형성한다. 트라젝터리를 형성하면 시간에 따른 로봇(100)의 관절 각도, 속도 및 가속도값을 추출할 수 있으므로, 로봇(100)은 추출된 관절 각도, 속도 및 가속도값에 따라 모션을 수행할 수 있게 된다. 한편, 제어부(210)는 벨타입(bell type) 속도 프로파일을 작업공간 또는 관절공간 상의 속도 프로파일로 사용하며, 관절 각각의 속도파일을 시작시간과 종료시간으로 매개화해서 각 관절의 최적제어타이밍을 결정할 수 있다. 벨타입 속도 프로파일은 프로파일의 형태를 벨 형태로 하여 시간에 따른 속도변화를 나타내는 프로파일이다. 트라젝터리 형성에 대해서는 도 4에서 구체적으로 후술하기로 한다.
둘째로, 제어부(210)는 모션 수행 시 엔드 이펙터의 속도를 최대화하기 위해 다음과 같은 식 1로 제한조건이 있는 목적함수의 최소값(Jmin)을 추출한다.
(식 1)
Figure 112009067030324-PAT00013
= Jmin
이하, 식 1의 미지수에 대해 순차적으로 설명한다.(w1 내지 w4는 상수)
"
Figure 112009067030324-PAT00014
"는 엔드이펙터의 속도를 최대화하기 위한 목적함수의 값으로서 다음과 같은 식으로 구할 수 있다.
(식 2)
Figure 112009067030324-PAT00015
여기서, "VEnd_x,max"는 엔드 이펙터의 x방향의 최대 속도를 의미하고, "VEnd_y,max"는 엔드 이펙터의 y방향의 최대 속도를 의미하며, "VEnd_z,max"는 엔드 이펙터의 z방향의 최대 속도를 의미하며, "c"는 모션의 방향의 높이를 결정하는 상수이다. 한편, "
Figure 112009067030324-PAT00016
"를 구하기 위한 각 관절의 x,y,z 방향의 최대 속도는 시간에 따라 형성된 속도 트라젝터리에 따라 알 수 있으므로 상술한 식의 계산이 가능하게 된다.
"
Figure 112009067030324-PAT00017
"는 관절의 속도 제한을 주기 위한 목적 함수의 값으로서 다음과 같은 식으로 구할 수 있다.
(식 3)
Figure 112009067030324-PAT00018
여기서,
Figure 112009067030324-PAT00019
은 모션을 수행하는데 필요한 로봇(100)의 각 관절 및 무게중심의 각도를 의미하며,
Figure 112009067030324-PAT00020
는 로봇(100)의 각 관절 및 무게중심의 각도의 하한값이며,
Figure 112009067030324-PAT00021
는 로봇(100)의 각 관절 및 무게중심의 각도의 상한값이다. 여기서, 로봇(100)의 각 관절 및 무게중심의 각도의 상한값 및 하한값은 로봇(100)의 엑츄에이터 스펙에 따라 로봇(100)의 관절이 회전할 수 있는 각도의 상한 및 하한의 경계값을 의미한다. 한편, T는 행렬을 전치시키는 기호이고, W1은 상수이며, tinitial과 tfinal은 모션의 시작시간 및 종료시간을 의미한다.
"
Figure 112009067030324-PAT00022
"는 관절의 토크 제한을 주기 위한 목적함수의 값으로서 다음과 같은 식으로 구할 수 있다.
(식 4)
Figure 112009067030324-PAT00023
여기서,
Figure 112009067030324-PAT00024
는 로봇의 모션의 동작에 필요한 각 관절 및 무게 중심의 토크를 의미하고,
Figure 112009067030324-PAT00025
은 로봇(100)의 엑츄에이터의 스펙에 따른 각 관절 및 무게 중심의 토크 상한값을 의미하며,
Figure 112009067030324-PAT00026
는 각 관절 및 무게 중심의 토크 하한값을 의미한다. 한편, T는 행렬을 전치시키는 기호이고, W2는 상수이며, tinitial과 tfinal은 모션의 시작시간 및 종료시간을 의미한다. 그리고, 토크는 다음과 같은 공지된 역동역학(Inverse Dynamics) 알고리즘에 의해 구해질 수 있다.
(식 5)
Figure 112009067030324-PAT00027
여기서,
Figure 112009067030324-PAT00028
는 모션의 시작시간 및 종료시간에 따라 형성된 트라젝터리에서 추출이 가능하며, 각각 로봇 관절 및 무게중심의 각도, 속도 및 가속도를 의미한다. 한편,
Figure 112009067030324-PAT00029
는 로봇(100) 골반의 속도를 의미하며,
Figure 112009067030324-PAT00030
는 다음과 같은 모멘텀 방정식에 의해 구할 수 있다.
(식 6)
Figure 112009067030324-PAT00031
여기서, L과 P는 회전모멘텀 및 선형모멘텀으로 로봇 전체 무게 중심의 위치인
Figure 112009067030324-PAT00032
에 의해 구할 수 있고, Ic는 로봇(100) 전체의 이너셜(inertial) 메트릭스로 제어부(210)에 의해 결정되며, H는 관절 공간과 모멘텀의 관계를 나타내는 이너셜 메트릭스이며,
Figure 112009067030324-PAT00033
는 관절 속도를 의미한다. 이 때,
Figure 112009067030324-PAT00034
Figure 112009067030324-PAT00035
는 시간에 따라 형성된 속도 트라젝터리에 의해 구할 수 있으므로 식 6에서
Figure 112009067030324-PAT00036
를 구할 수 있다.
"
Figure 112009067030324-PAT00037
"는 로봇(100)의 ZMP가 특정 범위 안에 있게 하기 위한 목적함수의 값으로서 다음과 같은 식에 의해 구할 수 있다.
(식 7)
Figure 112009067030324-PAT00038
여기서,
Figure 112009067030324-PAT00039
는 "Zero Moment Point"를 의미하며,
Figure 112009067030324-PAT00040
Figure 112009067030324-PAT00041
는 "Zero Moment Point"의 상한값 및 하한값을 의미한다. 한편,
Figure 112009067030324-PAT00042
는 다음과 같은 식에 의해 구할 수 있다.
(식 8)
Figure 112009067030324-PAT00043
(식 9)
Figure 112009067030324-PAT00044
(식 10)
Figure 112009067030324-PAT00045
여기서, M은 로봇(100)의 전체 무게를 의미하고, g는 중력가속도를 의미하며, Cx, Cy 및 Cz는 무게중심(Center of Gravity)의 x성분, y성분 및 z성분을 의미하며, Px, Py 및 Pz는 선형모멘텀의 x성분, y성분 및 z성분을 의미하며, Lx, Ly 및 Lz는 회전모멘텀의 x성분, y성분 및 z성분을 의미한다. 한편,
Figure 112009067030324-PAT00046
,
Figure 112009067030324-PAT00047
Figure 112009067030324-PAT00048
는 선형모멘텀의 x성분, y성분 및 Z성분의 미분값을 의미하며,
Figure 112009067030324-PAT00049
Figure 112009067030324-PAT00050
는 회전모멘텀의 x성분 및 y성분의 미분값을 의미한다.
제어부(210)는 식 1의 목적 함수값을 계산하고, 최적화를 위한 수렴조건을 만족하면 최적화 반복(iteration) 동작을 중지한다. 이 때, 목적함수의 값의 변화량이 임의의 값 이하인 경우에 최적함수 수렴조건이 만족된다.
도 4a는 본 발명의 일실시예에 의한 로봇의 모션을 최적화시키기 전 팔 관절의 속도 프로파일을 벨 타입으로 도시한 그래프이며, 도 4b는 본 발명의 일실시예에 의한 로봇의 모션을 최적화시킨 후 팔 관절의 속도 프로파일을 벨 타입으로 도시한 그래프이다.
로봇(100)의 공 던지기 모션의 경우, 로봇(100)의 오른쪽 어깨 관절의 롤축(8R)과, 어깨 관절 피치축(9R)과, 어깨 관절 요우축(10R)을 사용하고, 로봇의 팔꿈치 관절 요우축(12R)과, 팔꿈치 관절 피치축(11R)을 사용하며, 손목 관절 롤축(13R)과, 손목 관절 피치축(14R)과, 손목 관절 요우축(15R)을 사용하여 공을 원하는 방향으로 던지게 된다.
도 4a에 도시한 바와 같이, 제어부(210)는 던지기 모션을 수행하는데 필요한 팔에 대한 관절의 속도 프로파일을 각각의 모션의 시작시간과 종료시간을 나타내는 매개변수로 매개화하여 나타낼 수 있다. 도 4a는 로봇의 모션을 최적화하기 전의 팔 관절의 프로파일로서 각 관절의 시작시간 및 종료시간이 동일하고, 각 관절의 각도, 속도 및 가속도의 최고값이 다른 것을 알 수 있다. 한편, 벨타입의 속도 프로파일에 대한 함수(g'(t))를 미분하면 가속도 프로파일에 대한 함수(g"(t))를 생성할 수 있으며, 속도 프로파일에 대한 함수를 적분하면 관절 각도에 대한 프로파일에 대한 함수(g(t))를 생성할 수 있다.
도 4b에 도시한 바와 같이, 제어부(210)는 던지기 모션을 수행하는데 필요한 팔에 대한 관절의 속도 프로파일을 최적화하여 각각의 모션의 시작시간과 종료시간을 타내는 매개변수로 매개화할 수 있다. 도 4b는 로봇(100)의 최대 동적 수행 능력을 끌어내기 위해 모션을 최적화한 속도 프로파일로서, 로봇(100)이 던지기 모션을 수행할 때, 무거운 어깨 관절부터 엔드 이펙터 즉, 손 끝까지 에너지 손실을 극소화한 채 에너지 및 모멘텀 전이가 이루어져 손끝에서 적절한 타이밍에 최대 속도를 달성할 수 있게 된다.
도 5a는 본 발명의 일실시예에 의한 로봇 관절의 최적화 기법을 적용하기 전에 던지기 모션을 도시한 것이며, 도 5b는 본 발명의 일실시예에 의한 로봇 관절의 최적화 기법을 적용한 후 던지기 모션을 도시한 것이다.
도 5a 및 도 5b에 도시한 바와 같이, 로봇(100)의 관절 제어 입력 타이밍이 최적화되면 제한된 사이즈의 엑츄에이터를 구비한 로봇(100)의 최대 동적 수행 능력을 끌어내어 공을 더 멀리 던질 수 있게 된다.
도 6a 및 도 6b는 본 발명의 일실시예에 의한 로봇의 최적화된 모션 수행 동작을 도시한 도면이다.
도 6a에 도시한 바와 같이, 로봇(100)이 공 던지기 동작을 수행하는 경우, 로봇(100)이 최대 속도로 공을 던지기 위해서는 어깨 관절(8,9,10)이 움직이면서 팔꿈치 관절(11,12)이 움직인 후 손목관절(13,14,15)이 순차적으로 동작하여 최적화된 타이밍에 모터 구동이 이루어져야 한다. 모션 수행을 위한 각 관절이 최적화된 트라젝터리에 따라 순차적으로 동작하면 어깨부터 손끝까지 에너지 손실을 극소화한 채 에너지 및 모멘텀 전이가 이루어져 엔드이펙터(예를 들면, 손끝)에서 적절한 타이밍에 최대 속도를 달성할 수 있게 된다.
도 6b에 도시한 바와 같이, 로봇(100)이 공 차기 동작을 수행하는 경우, 로봇(100)이 최대 속도로 공을 차기 위해서는 다리 관절(16,17,18)이 움직이면서 무릎 관절(19)이 움직인 후 발목 관절(20,21)이 순차적으로 동작하여 최적화된 타이밍으로 모터를 구동시켜야 한다.
도 7은 본 발명의 일실시예에 의한 로봇의 제어흐름도이다.
도 7에 도시한 바와 같이, 제어부(210)는 모션을 수행하기 위한 관절과 로봇(100) 무게 중심 속도 프로파일을 시작 시간과 종료 시간을 나타내는 매개변수로 매개화한다.(s10)
다음으로, 제어부(210)는 임의의 초기값에 의한 트라젝터리를 형성한다. 즉, 모션의 시작시간 및 종료시간이 임의적으로 설정되면, 설정된 시작시간 및 종료시간에 따라 각 관절 및 무게 중심의 트라젝터리를 형성한다.(s20)
다음으로, 제어부(210)는 제한조건이 있는 목적함수의 값을 계산한다. 제한조건이 있는 목적함수는 다음과 같은 식 1을 의미한다.
(식 1)
Figure 112009067030324-PAT00051
= Jmin
여기서,
Figure 112009067030324-PAT00052
는 실질적인 목적함수로 사용되며,
Figure 112009067030324-PAT00053
,
Figure 112009067030324-PAT00054
Figure 112009067030324-PAT00055
는 실질적인 목적함수의 제한조건으로 사용된다.(s30)
다음으로, 제어부(210)는 목적함수 계산 루틴의 수렴조건이 만족되는지 확인한다. 수렴조건은 제한조건이 있는 목적함수의 값이 이전 루틴에서 구해진 목적함수의 값과 일정 크기 이하로 차이나는 경우에 만족하게 된다.(s40)
다음으로, 제어부(210)는 목적함수 계산 루틴의 수렴조건이 만족되는 것으로 확인되면 제한조건이 있는 목적함수의 값이 최소값이 되게 하는 시작시간(t0) 및 종료시간(tf)을 확인한다.(s50)
다음으로, 제어부(210)는 제한조건이 있는 목적함수의 값이 최소값이 되게 하는 시작시간(t0) 및 종료시간(tf)으로 형성된 트라젝터리를 모션을 형성하는데 필요한 관절 및 무게중심의 속도 프로파일로 선정한다.(s60)
한편, 상술한 s40단계에서 수렴 조건이 만족되지 않은 것으로 확인되면 s20단계로 피드백하여 다른 초기값에 의한 트라젝터리를 형성하여 목적함수의 값을 계산하게 된다.(s70)
도 1은 본 발명의 일실시예에 의한 로봇의 외관도
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면
도 3은 본 발명의 일실시예에 의한 로봇의 제어블록도
도 4a는 본 발명의 일실시예에 의한 로봇의 모션을 최적화시키기 전 팔 관절의 속도 프로파일을 벨 타입으로 도시한 그래프
도 4b는 본 발명의 일실시예에 의한 로봇의 모션을 최적화시킨 후 팔 관절의 속도 프로파일을 벨 타입으로 도시한 그래프
도 5a는 본 발명의 일실시예에 의한 로봇 관절의 최적화 기법을 적용하기 전에 던지기 모션을 도시한 도면
도 5b는 본 발명의 일실시예에 의한 로봇 관절의 최적화 기법을 적용한 후 던지기 모션을 도시한 도면
도 6은 본 발명의 일실시예에 의한 로봇의 제어흐름도

Claims (14)

  1. 모션의 시작시간과 종료시간에 따른 벨타입 속도 프로파일을 형성하고,
    상기 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하며,
    상기 제한조건이 있는 목적함수의 값이 최소가 되는 벨타입 속도 프로파일에 따라 관절을 구동하는 로봇의 제어방법.
  2. 제 1 항에 있어서,
    상기 모션의 시작시간과 종료시간에 따른 벨타입 속도 프로파일을 형성하는 것은,
    상기 모션의 시작시간과 종료시간에 따라 상기 로봇의 모션에 필요한 관절 또는 무게 중심의 트라젝터리(trajectory)를 형성하는 것인 로봇의 제어방법.
  3. 제 2 항에 있어서,
    상기 트라젝터리는 상기 모션을 수행하기 위한 관절 각도, 속도 및 가속도에 대한 정보를 포함하는 로봇의 제어방법.
  4. 제 1 항에 있어서,
    상기 제한조건이 있는 목적함수는 다음 식에 따라 값(Jmin)을 확인할 수 있 는 것인 로봇의 제어방법.
    Figure 112009067030324-PAT00056
    = Jmin
    여기서, "
    Figure 112009067030324-PAT00057
    "는 엔드이펙터의 속도를 최대화하기 위한 목적함수의 값이고, "
    Figure 112009067030324-PAT00058
    "는 관절의 속도 제한을 주기 위한 목적 함수의 값이며, "
    Figure 112009067030324-PAT00059
    "는 관절의 토크 제한을 주기 위한 목적함수의 값이며, "
    Figure 112009067030324-PAT00060
    "는 로봇의 ZMP가 특정 범위 안에 있게 하기 위한 목적함수의 값이며, w1, w2, w3 및 w4는 상수이고,
    Figure 112009067030324-PAT00061
    는 로봇 전체 무게 중심의 위치이고, q는 관절 각도이다.
  5. 제 1 항에 있어서,
    상기 벨타입 속도 프로파일은 로봇의 프로파일 형태를 벨 형태로 하여 시간에 따른 속도변화를 나타내는 것인 로봇의 제어방법.
  6. 제 1 항에 있어서,
    상기 모션의 시작시간과 종료시간에 따른 벨타입 속도 프로파일을 형성하는 것은, 임의의 시작시간과 종료시간에 따라 복수 개의 벨타입 속도 프로파일을 형성하는 것인 로봇의 제어방법.
  7. 제 6 항에 있어서,
    상기 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하는 것은,
    상기 복수 개의 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 복수 회 확인하는 로봇의 제어방법.
  8. 로봇의 모션 커맨드가 입력되는 입력부;
    상기 모션의 시작시간 및 종료시간에 따라 벨타입 속도 프로파일을 형성하고, 상기 벨타입 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하여 그 값이 최소가 되는 벨타입 속도 프로파일에 따라 관절을 구동하는 제어부;를 포함하는 로봇.
  9. 제 8 항에 있어서,
    상기 제어부는 상기 모션을 수행하는데 사용되는 각 관절 또는 무게 중심에 대한 벨타입 속도 프로파일을 형성하는 로봇.
  10. 제 8 항에 있어서,
    상기 제어부는 다음 식에 의해 상기 제한조건이 있는 목적함수의 값을 확인하는 것인 로봇.
    Figure 112009067030324-PAT00062
    = Jmin
    여기서, "
    Figure 112009067030324-PAT00063
    "는 엔드이펙터의 속도를 최대화하기 위한 목적함수의 값이고, "
    Figure 112009067030324-PAT00064
    "는 관절의 속도 제한을 주기 위한 목적 함수의 값이며, "
    Figure 112009067030324-PAT00065
    "는 관절의 토크 제한을 주기 위한 목적함수의 값이며, "
    Figure 112009067030324-PAT00066
    "는 로봇의 ZMP가 특정 범위 안에 있게 하기 위한 목적함수의 값이며, w1, w2, w3 및 w4는 상수이고,
    Figure 112009067030324-PAT00067
    는 로봇 전체 무게 중심의 위치이고, q는 관절 각도이다.
  11. 제 8 항에 있어서,
    상기 제어부는 복수의 시작시간 및 종료시간에 따라 벨타입 속도 프로파일을 복수 개 형성하는 것인 로봇.
  12. 제 11 항에 있어서,
    상기 제어부는 상기 복수개의 벨타입의 속도 프로파일에 따라 제한조건이 있는 목적함수의 값을 확인하며, 복수 개의 목적함수의 값 중 최소가 되는 값의 벨타입 속도 프로파일에 따라 관절을 구동하는 것인 로봇.
  13. 제 11 항에 있어서,
    상기 제어부는 상기 목적함수의 값이 최소가 되는 벨타입 속도 프로파일에 따라 상기 모션에 필요한 각 관절 또는 무게중심을 구동하는 것인 로봇.
  14. 제 8 항에 있어서,
    상기 제어부는 상기 모션의 시작시간 및 종료시간을 임의로 설정하며, 상기 모션에 필요한 관절 또는 무게중심에 대한 벨타입 프로파일을 각각 형성하는 것인 로봇.
KR1020090104625A 2009-10-30 2009-10-30 로봇 및 그 제어방법 KR101691940B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090104625A KR101691940B1 (ko) 2009-10-30 2009-10-30 로봇 및 그 제어방법
US12/926,078 US9037292B2 (en) 2009-10-30 2010-10-25 Robot and control method of optimizing robot motion performance thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090104625A KR101691940B1 (ko) 2009-10-30 2009-10-30 로봇 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20110047842A true KR20110047842A (ko) 2011-05-09
KR101691940B1 KR101691940B1 (ko) 2017-01-02

Family

ID=43926255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090104625A KR101691940B1 (ko) 2009-10-30 2009-10-30 로봇 및 그 제어방법

Country Status (2)

Country Link
US (1) US9037292B2 (ko)
KR (1) KR101691940B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170048164A (ko) 2015-10-26 2017-05-08 한화테크윈 주식회사 로봇 제어 시스템 및 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3061576B1 (de) * 2015-02-26 2021-03-31 Siemens Aktiengesellschaft Verfahren zur optimierung eines bewegungsprofils, computerprogramm, steuereinrichtung und technisches system
JP6421683B2 (ja) * 2015-04-14 2018-11-14 トヨタ自動車株式会社 最適制御装置、最適制御方法及び最適制御プログラム
US10248085B2 (en) * 2016-10-13 2019-04-02 Disney Enterprises, Inc. Computational design of robots from high-level task specifications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000066834A (ko) * 1999-04-21 2000-11-15 장병우 서보 모터의 가감속 제어 방법
KR100818059B1 (ko) * 2006-10-09 2008-03-31 한국과학기술연구원 인간형 로봇의 인간 팔 동작 재현을 제어하는 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829219A (en) * 1986-11-20 1989-05-09 Unimation Inc. Multiaxis robot having improved motion control through variable acceleration/deceleration profiling
JP2676397B2 (ja) * 1989-01-05 1997-11-12 株式会社エイ・ティ・アール視聴覚機構研究所 動的システムの運動軌道生成方法
CA2081519C (en) * 1992-10-27 2000-09-05 The University Of Toronto Parametric control device
US5499320A (en) * 1993-03-24 1996-03-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Extended task space control for robotic manipulators
US6224312B1 (en) * 1996-11-18 2001-05-01 Applied Materials, Inc. Optimal trajectory robot motion
JP4364634B2 (ja) * 2001-07-13 2009-11-18 ブルックス オートメーション インコーポレイテッド 二次元3自由度ロボットアームの軌道プラニング及び移動制御戦略
EP2065774B1 (en) * 2005-12-02 2013-10-23 iRobot Corporation Autonomous coverage robot navigation system
JP4591419B2 (ja) * 2006-07-18 2010-12-01 トヨタ自動車株式会社 ロボットとその制御方法
JP4692443B2 (ja) * 2006-09-06 2011-06-01 トヨタ自動車株式会社 脚式ロボット
KR100856824B1 (ko) * 2007-07-23 2008-09-05 재단법인서울대학교산학협력재단 캐릭터 시뮬레이션 방법 및 시스템
JP4392037B2 (ja) * 2007-09-12 2009-12-24 トヨタ自動車株式会社 脚式ロボット、及びその制御方法
JP4440956B2 (ja) * 2007-09-12 2010-03-24 トヨタ自動車株式会社 脚式ロボット、及びその制御方法
KR100995933B1 (ko) * 2008-09-01 2010-11-22 한국과학기술연구원 진화 알고리즘과 모방학습에 기초한 로봇의 동작 제어 방법
JP2012501739A (ja) * 2008-09-04 2012-01-26 アイウォーク・インコーポレーテッド ハイブリッド型地形適応下肢システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000066834A (ko) * 1999-04-21 2000-11-15 장병우 서보 모터의 가감속 제어 방법
KR100818059B1 (ko) * 2006-10-09 2008-03-31 한국과학기술연구원 인간형 로봇의 인간 팔 동작 재현을 제어하는 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
2004 IEEE International Conference on Systems, Man and Cybernetics 722-727 (2004. 10.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170048164A (ko) 2015-10-26 2017-05-08 한화테크윈 주식회사 로봇 제어 시스템 및 방법

Also Published As

Publication number Publication date
US9037292B2 (en) 2015-05-19
US20110106303A1 (en) 2011-05-05
KR101691940B1 (ko) 2017-01-02

Similar Documents

Publication Publication Date Title
KR100937268B1 (ko) 다리식 이동 로봇 및 그 동작 제어 방법
JP3443077B2 (ja) ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
KR100977348B1 (ko) 다리식 이동 로봇의 동작 제어 장치 및 동작 제어 방법 및 로봇 장치
KR100959472B1 (ko) 로봇 장치 및 로봇 장치의 제어 방법
JP3615702B2 (ja) 脚式移動ロボットの動作制御装置及び動作制御方法、並びに、脚式移動ロボット
KR100837988B1 (ko) 각식 이동 로봇을 위한 동작 제어 장치 및 동작 제어방법, 및 로봇 장치
KR100695355B1 (ko) 보행 로봇 및 보행 로봇의 동작 제어 방법
JP3972854B2 (ja) ロボットの運動制御装置
KR100824179B1 (ko) 보행식 이동 로봇의 동작 제어 장치 및 동작 제어 방법,및 보행식 이동 로봇을 위한 동작 유닛 생성 방법
US8271137B2 (en) Robot and method of controlling the same
WO2002040223A1 (fr) Robot mobile a deux jambes et son procede de commande, sa structure jambes, et unite jambe mobile destinee a ce robot
JP2001150371A (ja) ロボット、及びロボット用の関節装置
KR20110047842A (ko) 로봇 및 그 제어방법
KR20110047847A (ko) 휴머노이드 로봇 및 그 제어방법
JP4475708B2 (ja) 脚式移動ロボット及びその動作制御方法
JP4660870B2 (ja) 脚式移動ロボット及びその制御方法
JP3674779B2 (ja) 脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置
JP2003117858A (ja) ロボットの歩行制御装置及び歩行制御方法
JP4770990B2 (ja) 脚式移動ロボット及びその制御方法
JP4289446B2 (ja) 脚式移動ロボット
Verrelst et al. Motion generation and control for the pneumatic biped" lucy"
JP2004181613A (ja) ロボット装置、脚式移動ロボットの動作制御装置及び動作制御方法、脚式移動ロボットのためのセンサ・システム、並びに移動体装置
JP3568527B2 (ja) 移動体装置
Han et al. Gait planning and simulation analysis of a new amphibious quadruped robots
Choi et al. The Study on the Energy Efficiency of the Bipedal-Walking Pattern of a Humanoid Robot Using Four-Bar-Linkage Toe Joints

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant