KR20190008530A - 향상되고 균형 있는 모션과 행동 능력을 가진 모바일 로봇 - Google Patents

향상되고 균형 있는 모션과 행동 능력을 가진 모바일 로봇 Download PDF

Info

Publication number
KR20190008530A
KR20190008530A KR1020187032930A KR20187032930A KR20190008530A KR 20190008530 A KR20190008530 A KR 20190008530A KR 1020187032930 A KR1020187032930 A KR 1020187032930A KR 20187032930 A KR20187032930 A KR 20187032930A KR 20190008530 A KR20190008530 A KR 20190008530A
Authority
KR
South Korea
Prior art keywords
mobile robot
robot
mass
center
predicted
Prior art date
Application number
KR1020187032930A
Other languages
English (en)
Other versions
KR102199608B1 (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 소프트뱅크 로보틱스 유럽
Publication of KR20190008530A publication Critical patent/KR20190008530A/ko
Application granted granted Critical
Publication of KR102199608B1 publication Critical patent/KR102199608B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/003Manipulators for entertainment
    • B25J11/0035Dancing, executing a choreography
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0008Balancing devices
    • 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
    • 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
    • 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
    • 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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 로봇의 관절식 팔다리의 움직임에 의해 정의될 수 있는 궤적을 따르고, 행동을 채택할 수 있는 모바일 로봇에 관한 것이다. 모바일 로봇은, 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어에 기초하여, 모바일 로봇의 질량 중심의 타겟 궤적을 계산하고; 모바일 로봇의 질량 중심의 타겟 궤적 및 모바일 로봇의 동적 제약에 기초하여, 시계열에 따라 모바일 로봇의 질량 중심의 예측된 궤적(350)을 계산하고; 및 모바일 로봇의 질량 중심의 예측된 궤적 및 모바일 로봇의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임을 계산하도록 구성된 프로세서를 구비한다.

Description

향상되고 균형 있는 모션과 행동 능력을 가진 모바일 로봇
본 발명은 로봇 분야에 관한 것이다. 좀 더 구체적으로, 본 발명은 모바일 로봇에 의해, 변위 및 관절식 팔다리의 움직임의 조합을 포함하는 복잡한 모션의 실행과 관련된다.
로봇이 사람의 외관 속성, 머리, 몸통, 두 팔, 두 손등과 같이 사람의 외관 속성을 가질 때, 그 때부터 그 로봇은 휴머노이드라는 자격을 얻을 수 있다. 그러나, 휴머노이드 로봇은 거의 세련될 수 있다. 휴머노이드 로봇의 팔다리는 관절보다 많거나 적을 수 있다. 휴머노이드 로봇은 자체적으로 균형을 잡고, 및/또는 두 개의 팔다리로 걷거나, 가능하면 3차원으로 베이스 위에서 구른다. 휴머노이드 로봇은 환경으로부터 신호를 알게되어서("듣고", "보고", "터치하고, "감지하는" 등), 거의 세련된 행동에 따라 반응할 수 있고, 다른 로봇이나 사람과 말이나 행동으로 상호작용할 수 있다. 균형과 변위의 문제가 휴머노이드 로봇에 대해 좀 더 구체적으로 발생하더라도, 휴머노이드 로봇은, 준-휴머노이드 외관, 애완 로봇 또는 모바일 산업용 로봇을 가질 수 있는, 모바일 로봇에 대해 좀 더 일반적으로 발생한다.
모바일 로봇의 움직임은 로봇의 관절의 작동기로 커맨드를 전송함에 의해 관리된다. 역동력학을 사용하여, 로봇의 균형을 유지하면서, 원하는 행동을 로봇에게 맡길 수 있다. Kajita, Shuuji, et al. "Biped walking pattern generation by using preview control of zero-moment point." Robotics and Automation, 2003. Proceedings. ICRA'03. IEEE International Conference on. Vol. 2. IEEE, 2003은, 제로-모멘트 포인트를 제어함에 의해, 넘어지지 않으면서 궤적으로 따르는 두 발의 휴머노이드 로봇을 제조하기 위한 방법을 개시한다. 제로-모멘트 포인트(ZMP)는 가상의 포인트인데, 이 포인트의 위치는 로봇의 가속도와 중력에 의존하고, 수평 관성과 중력 힘의 전체가 0인 포인트에 해당한다. 로봇이 균형 있게 유지하기 위해, ZMP는 안정 영역에서 유지되어야 한다. Kajita에 의해 개시된 두 발의 로봇의 동적 모델은 ZMP는 물론 로봇의 질량 중심(CoM)이 안정 영역에 유지되도록 하여, 로봇이 넘어지는 위험 없이 궤적을 따라 걷도록 허용한다.
Kajita에서, 로봇으로 전송된 모든 커맨드는 로봇이 평형을 유지하면서, 로봇이 걷도록 하는 것을 목적으로 한다. 그래서, 로봇의 걷는 것에 의한 CoM 또는 ZMP의 고유한 균형은 로봇의 다른 관절식 팔다리의 움직임에 의해 보상될 수 있다. 예를 들어, 로봇의 팔의 위치와 가속도는 로봇의 ZMP 또는 CoM의 과도한 움직임을 보상하는데 사용될 수 있다.
한편, 여러 응용예에서, 가령, 상호작용을 정의하기 위해, 로봇이 관절식 팔다리의 움직임을 실행하도록 하는 것이 바람직하다. 관절식 팔다리의 이러한 움직임은 춤 또는 안무를 정의할 수 있고, 또는 악수와 같은 사람 행동에 해당할 수 있다. 관절의 이러한 움직임과 로봇의 발의 변위의 조합은 로봇의 ZMP 또는 CoM이 그 안전 영역에서 떠나도록 하여, 로봇이 넘어질 수 있다.
궤적으로 따르면서, 춤 동작에 가능한 가까운 움직임을 수행하기 위해, 로봇의 모든 관절의 커맨드를 결정할 수 있다. 타겟 움직임에 가능한 가까운 움직임을 수행하기 위해, 로봇의 각각의 관절에 커맨드를 할당하여 역동력학을 주로 사용할 수 있다. 그러나, 로봇이 많은 수의 관절을 가질 때, 역동력학은 많은 수의 자유도를 가지고, 이러한 해결책은 매우 연산적으로 강력하게 된다. 다리, 팔 등에 많은 관절을 가진 가장 최근의 로봇의 경우이다. 이러한 경우, 역동력학은, 로봇에 온보드된 제한된 연산 자원에 실시간으로 계산하기에 너무 복잡하다.
Ramos, O., et al. "Dynamic whole body motion generation for the dance of a humanoid robot." IEEE Robotics & Automation Magazine (RAM) (2015) 는 춤 동작을 재생하는 로봇을 제조하기 위한 방법을 개시한다. 궤적의 더 빠른 연산을 가지기 위해, Ramos는, 역동력학을 사용하여 로봇의 모션을 생성하기 위한 커맨드, 역운동학을 사용하여 춤 동작을 위한 커맨드의 분리된 계산 및 임무의 스택에 대해 임무와 병행하여 실행되는 이들 커맨드의 생성을 개시한다.
Ramos에서, 역동력학은, 인간 연기자의 궤적을 추적하기 위해 전송될 커맨드를 동적으로 계산함은 물론 로봇의 CoM의 결과로 나온 예측된 궤적을 동적으로 계산하는데 사용된다. 이와 병행하여, 역운동학은, 로봇의 균형을 유지하면서, 로봇이 댄서의 춤 동작에 가능한 근접한 댄스 동작을 수행하도록 하는데 사용될 커맨드를 계산하는데 사용된다. 이러한 방법은 로봇이 궤적을 따르고, 동시에 춤 동작을 수행하도록 하는 이점을 가진다. 실제로, 역동력학은 제한된 수의 자유도로 수행되어서, 지나치게 연산적으로 강력하지 않다.
그러나, 로봇의 CoM의 궤적이 역동력학에 의해 계산되었으면, Ramos의 방법은 춤 동작을 따르는데 제한된다. 실제로, 역동력학을 사용하여 다른 팔다리의 움직임을 계산할 때, Ramos에 의해 개시된 방법은 로봇의 균형을, 특히 CoM과 ZMP의 위치를 유지해야 한다. 따라서, 로봇의 관절식 팔다리의 많은 움직임은 수행하는 것이 불가능한데, 왜냐하면, 이들은 로봇을 균형 잃게 하여서, 넘어지게 하기 때문이다. 그래서, Ramos의 방법은 오직 댄서의 춤 동작의 제한된 모방만 가능하다.
그러므로, 로봇이 궤적을 따라가고, 행동의 일부인 관절식 팔다리의 과도한 움직임을 수행할 수 있도록 하는 커맨드를 실시간으로 계산할 수 있는 로봇이 필요하다. 이러한 문제는 댄스 연기에 제한되지 않고, 로봇의 베이스로 궤적으로 따라가면서, 악수하거나, 가령 팔이나 몸통이 예상치 못한 장애물을 피하는 것과 같은 이벤트를 다루는 움직임을 수행하려고 할 때에도, 발생한다.
이를 위해, 본 발명은 복수의 관절식 팔다리; 프로세서를 가진 모바일 로봇을 개시하는데, 상기 프로세서는, 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어를 입력으로서 수신하고; 입력에 기초하여, 모바일 로봇의 질량 중심의 타겟 궤적을 계산하고, 모바일 로봇의 질량 중심의 타겟 궤적 및 모바일 로봇의 동적 제약에 기초하여, 시계열(time horizon)에 걸쳐 모바일 로봇의 질량 중심의 예측된 궤적을 계산하고; 모바일 로봇의 질량 중심의 예측된 궤적 및 모바일 로봇의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임을 계산하도록 한다.
바람직하게는, 프로세서는, 모바일 로봇의 관절식 팔다리의 질량 중심의 위치; 모바일 로봇의 타겟 위치에 기초하여, 모바일 로봇의 질량 중심의 위치, 모바일 로봇의 관절식 팔다리의 질량 및 질량 중심의 위치를 연속적인 시간 단계로 계산함에 의해, 모바일 로봇의 질량 중심의 타겟 궤적을 계산하도록 구성된다.
바람직하게는, 프로세서는 모바일 로봇의 동적 모델을 사용하여, 모바일 로봇의 질량 중심의 예측된 궤적을 계산하도록 구성된다.
바람직하게는, 프로세서는 모바일 로봇의 베이스의 질량 중심 및 로봇의 상측 바디의 질량 중심인 두 개의 질량을 각각 포함하는 더블 인버티드 펜줄럼으로 모바일 로봇을 모델링하고, 모바일 로봇의 제로 모멘트 포인트가 모바일 로봇의 베이스에 대해 정의된 위치를 가진 다각형을 떠나지 않고, 모바일 로봇의 베이스가 최대 가속도와 속도를 가지도록 하는 제약을 만들어 내고, 비용 함수를 최소화하기 위해 더블 인버티드 펜줄럼의 제어 문제를 해결함 - 상기 비용 함수는 타겟 궤적 내의 모바일 로봇의 질량 중심의 위치와 예측된 궤적 내의 모바일 로봇의 질량 중심의 위치의 차이 및 타겟 궤적에서 모바일 로봇의 질량 중심의 속도와 예측된 궤적에서 모바일 로봇의 질량 중심의 속도의 차이 중 적어도 하나에 기초함 - 에 의해, 모바일 로봇의 질량 중심의 예측된 궤적을 계산(340)하도록 구성된다.
바람직하게는, 프로세서는 비용 함수를 최소화하기 위해, 모바일 로봇의 동적 제약에 대해 관절식 팔다리의 예측된 움직임을 계산하도록 구성된다.
바람직하게는, 비용 함수는 연속적인 시간 단계에서, 모바일 로봇의 질량 중심의 예측된 위치들 간의 거리, 관절식 팔다리의 타겟 속도와 관절식 팔다리의 예측된 속도 간의 차이 및 관절식 팔다리의 타겟 위치와 관절식 팔다리의 예측된 위치 간의 거리 중 적어도 두 개의 가중화된 평균이다.
바람직하게는, 프로세서는, 조인트 각도, 조인트 속도 및 조인트 가속도의 한계 제약 하에서, 관절식 팔다리의 예측된 움직임을 계산하도록 구성된다.
바람직하게는, 모바일 로봇의 행동을 정의하는 명령어는 도달하기 위해 적어도 하나의 시간 정해진 자세에 의해 정의되고, 상기 프로세서는 모바일 로봇의 상기 적어도 하나의 시간 정해진 자세에서 모바일 로봇에 대해 관절식 팔다리의 타겟 궤적으로 전환하도록 더욱 구성된다.
바람직하게는, 모바일 로봇의 질량 중심의 예측된 궤적은 시간 윈도우에 걸쳐 연속적인 시간 단계에서, 모바일 로봇의 질량 중심의 예측된 위치와 속도의 값에 의해 정의된다.
바람직하게는, 관절식 팔다리의 예측된 움직임은, 관절식 팔다리들 간의 각도 및 상기 연속적인 시간 단계에서 관절식 팔다리들 간의 각속도 중 하나 이상의 값에 의해 정의되고, 상기 관절식 팔다리들 간의 각도 및 상기 연속적인 시간 단계에서 관절식 팔다리들 간의 각속도 중 하나 이상의 값은 모터의 세트포인트 커맨드로 전환되어야 한다.
바람직하게는, 미리정의된 시간 단계는 20 ms이고, 시간 윈도우는 1.6 s의 구간을 가진다.
바람직하게는, 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어는, 사용자에 의해, 사용자 인터페이스상에서 정의된다.
바람직하게는, 모바일 로봇의 모션을 정의하는 명령어는 미리정의된 궤적에 해당하고, 상기 프로세서는, 예상하지 못한 이벤트가 발생하면, 모바일 로봇의 행동을 정의하는 명령어를 계산하도록 구성된다.
본 발명은 복수의 관절식 팔다리를 가진 모바일 로봇의 모션과 행동을 정의하기 위한 사용자 인터페이스도 개시하는데, 상기 사용자 인터페이스는, 사용자가, 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어를 입력으로 정의하고; 입력에 기초하여, 모바일 로봇의 질량 중심의 타겟 궤적을 계산하고; 모바일 로봇의 질량 중심의 타겟 궤적 및 모바일 로봇의 동적 제약에 기초하여, 시계열에 따라 모바일 로봇의 질량 중심의 예측된 궤적을 계산하고; 모바일 로봇의 질량 중심의 예측된 궤적 및 모바일 로봇의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임을 계산하기 위한, 컴퓨터 코드 명령어를 포함한다.
본 발명은 복수의 관절식 팔다리를 가진 모바일 로봇의 예측된 움직임을 계산하기 위한 방법도 개시하는데, 상기 방법은, 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어를 입력으로서 수신하는 단계; 입력에 기초하여, 모바일 로봇의 질량 중심의 타겟 궤적을 계산하는 단계; 모바일 로봇의 질량 중심의 타겟 궤적 및 모바일 로봇의 동적 제약에 기초하여, 시계열에 따라 모바일 로봇의 질량 중심의 예측된 궤적을 계산하는 단계; 모바일 로봇의 질량 중심의 예측된 궤적 및 모바일 로봇의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임을 계산하는 단계를 포함한다.
본 발명에 의해, 모바일 로봇은 균형 잃지 않고 타겟 궤적을 따르며, 행동을 실행할 수 있다.
본 발명에 의해, 모바일 로봇은, 심지어 모바일 로봇이 적은 수의 자유도를 가지거나 관절식 팔다리의 타겟 궤적이 많은 제약을 받더라도, 균형 잃지 않고 관절식 팔다리의 타겟 궤적을 근접하게 따를 수 있다.
본 발명에 의해, 사용자는 좀 더 자유롭게 모바일 로봇의 행동을 정의할 수 있다.
본 발명에 의해, 사용자는 로봇에 의해 수행될 수 있는 움직임을 정의할 수 있고, 이는 종래 기술에서 수행되지 않았던 것이다.
본 발명은 제한된 컴퓨팅 능력으로 모바일 로봇에 내장될 수 있다.
본 발명에 의해, 가령, 예상치 못한 장애물을 피하거나, 상호작용할 수 있는 사람이나 로봇을 볼 때, 행동을 채택하는 것과 같이, 예상치 못한 제약이나 상호작용을 고려하기 위해, 로봇이 궤적을 따를 때, 실시간으로 로봇의 행동을 조정할 수 있다.
본 발명은 로봇의 펌웨어의 간단한 업데이트에 의해 로봇 내에서 실행될 수 있다.
본 발명은 더 잘 이해될 것이고, 본 발명의 다양한 특징과 이점은 여러 예시적인 실시예의 이하 설명과 첨부된 도면으로부터 나타날 것이다.
도 1은 본 발명의 여러 실시예에서 모바일 로봇의 물리적 아키텍쳐를 디스플레이한다.
도 2는 본 발명의 여러 실시예에서 로봇의 소프트웨어 모듈의 기능적 아키텍쳐를 디스플레이한다.
도 3은 본 발명에 따른 로봇의 관절의 질량 중심의 궤적과 각속도를 계산하기 위한 소프트웨어 모듈의 아키텍쳐를 디스플레이한다.
도 4는 본 발명의 여러 실시예에서 모바일 로봇의 질량 중심의 예측된 궤적을 계산할 때, 동적 제약의 공식에 사용되는 지지 다각형의 예시를 디스플레이한다.
도 5a, 5b, 5c, 5d, 5e 및 5f는, 본 발명에 따른 로봇의 움직임을 정의하기 위한 사용자 인터페이스의 예시의 두 개의 뷰, 종래의 로봇의 궤적의 예시, 종래의 로봇의 위치 및 로봇의 관절의 각위치, 본 발명에 따른 로봇의 궤적의 예시, 본 발명에 따른 로봇의 위치 및 로봇의 관절의 각위치를 각각 디스플레이한다.
도 6a 및 6b는 종래의 방법 및 본 발명의 실시예의 방법을 각각 디스플레이한다.
도 1은 본 발명의 여러 실시예에서 휴머노이드 로봇의 물리적 아키텍쳐를 디스플레이한다.
도면 상의 특정 로봇(100)은 단지, 본 발명이 실행될 수 있는 휴머노이드 로봇의 예시로서 취한다. 도면상의 로봇의 하측 팔다리는 걷는 것을 위해 기능적이지 않지만, 베이스가 놓인 표면 상을 구르는 베이스(140) 상에서 임의의 방향으로 움직일 수 있다. 본 발명은 걷기 위해 맞춤된 로봇에서 용이하게 실행될 수 있다. 예를 들어, 이러한 로봇은, 약 120 cm일 수 있는 높이(110), 약 65 cm의 깊이(120) 및 약 40 cm의 너비(130)를 가진다. 구체적인 실시예에서, 본 발명의 로봇은 태블릿(150)을 가지는데, 이를 통해 로봇의 환경으로 메시지(오디오, 비디오, 웹 페이지)를 통신하거나, 태블릿의 촉각 인터페이스를 통해 사용자로부터 엔트리를 수신할 수 있다. 태블릿의 프로세서에 추가하여, 본 발명의 로봇은 또한, 자체 마더보드의 프로세스를 사용하는데, 이는 예를 들어, Intel™의 ATOM ™ Z530일 수 있다. 또한, 본 발명의 로봇은 프로세서를 바람직하게 포함하는데, 이는, 본 발명의 구체적인 실시예에서, 주로 자기 회전 인코더(MRE)를 가진 보드인 마더보드와 팔다리의 조인트의 모터와 로봇이 휠로서 사용하는 볼을 제어하는 센서 사이의 데이터 흐름의 핸들링에 전용적이다. 모터는 확정된 조인트에 필요한 최대 토크의 크기에 의존하여 다양한 타입일 수 있다. 예를 들어, e-minebea™ (가령, SE24P2CTCA)의 브러쉬 DC 코어리스 모터가 사용될 수 있고, 또는 Maxon™ (가령, EC45_70W)의 브러쉬리스 DC 모터가 사용될 수 있다. MRE는 12 또는 14 비트 정확도를 가진 홀 효과를 사용하는 타입이 바람직하다.
본 발명의 실시예에서, 도 1에 디스플레이된 로봇은 다양한 종류의 센서도 포함한다. 센서들 중 일부는 로봇의 위치와 움직임을 제어하는데 사용된다. 이는 가령, 로봇의 몸통에 위치되는 3-축 자이로스코프 및 3-축 가속도계를 포함하는 관성 유닛의 경우이다. 또한, 로봇은 로봇의 이마(상부 및 하부) 상에, 초당 5 프레임의 5 메가픽셀 해상도와 수평 약 57°와 수직 44°의 시계(FOV)를 가진, Shenzen V-Vision Technology Ltd™ (OV5640)와 같은 시스템 온 칩(SOC) 타입의 두 개의 2D 컬러 RGB 카메라(160)를 포함할 수 있다. 또한, 초당 20 프레임의 0.3 메가픽셀의 해상도와 2D 카메라와 거의 같은 FOV를 가진 ASUS XTION™ SOC 센서와 같은 하나의 3D 센서(170)가 로봇의 눈 뒤에 포함될 수 있다. 본 발명의 로봇은 또한 레이져 라인 생성기가 구비될 수 있는데, 가령, 머리(180a)에 3개와 베이스(180b)에 3개가 구비되어서, 로봇의 환경에서 물체/사람에 대한 로봇의 상대적 위치를 센싱할 수 있다. 본 발명의 다른 실시예에서, 로봇은 베이스에만 레이져 라인 생성기를 가진다. 본 발명의 로봇은, 로봇의 환경에서의 소리를 센싱할 수 있는 마이크로폰도 포함할 수 있다. 실시예에서, 1kHz에서 300mV/Pa +/-3dB의 민감도 및 300Hz 내지 12kHz(1kHz에 대해 -10dB)의 주파수 범위를 가진 4개의 마이크로폰이 로봇의 머리에 내장될 수 있다. 또한, 본 발명의 로봇은 로봇의 베이스의 전면과 후면에 위치될 수 있는 2개의 소나 센서(190)를 포함하여, 로봇의 환경에서 물체/사람에 대한 거리를 측정할 수 있다.
또한, 로봇은, 로봇의 머리와 손에 촉각 센서(1AO)를 포함하여, 사람과 상호작용할 수 있다. 또한, 로봇의 베이스에 범퍼(1BO)를 포함하여, 로봇이 루트 상에서 마주치는 장애물을 센싱할 수 있다.
또한, 로봇은 계획된 궤적과 실제 궤적 사이의 차이를 계산함에 의해, 로봇이 터치하는 장애물과 로봇의 상부 부재의 접촉을 센싱할 수 있다. 이러한 효과를 위한 방법이 동일한 출원인에 의해 동일한 날짜에 출원된 유럽 특허 출원 n°EP14305848.5에 의해 개시된다.
로봇의 감정을 번역하고, 로봇의 환경에서 사람과 통신하기 위해, 본 발명의 로봇은,
가령, 로봇의 눈, 귀 및 어깨에 LED와,
가령, 로봇의 귀에 위치된 두 개의 라우드스피커도 포함할 수 있다.
본 발명의 로봇은 이더넷 RJ45 또는 WiFi 802.11 연결을 통해 기지국이나 다른 로봇과 통신할 수 있다.
본 발명의 로봇은 약 400 Wh의 에너지로 리튬 철 포스페이트 배터리에 의해 전력공급될 수 있다. 로봇은 로봇이 포함하는 배터리 타입에 맞는 충전 스테이션에 액세스할 수 있다.
로봇의 위치/움직임은, 각각의 팔다리에 의해 형성된 체인 및 각각의 팔다리의 말단부에 형성된 이펙터(effector)를 활성화시키는 알고리즘을 센서의 측정을 고려하면서 사용하여, 로봇의 모터에 의해 제어된다.
센서(160, 170, 180, 190, 1A0 또는 1B0)로부터 또는 로봇의 상부 부재와 물체와의 접촉의 평가 결과로부터, 로봇의 컴퓨팅 모듈은, n°EP14305849.3하에서 출원된 유럽 특허 출원에 의해 개시된 바와 같이, 로봇의 환경 내의 장애물의 로컬 맵을 컴퓨팅한다.
도 2는 본 발명의 여러 실시예에서 로봇의 소프트웨어 모듈의 기능적 아키텍쳐를 디스플레이한다.
도 2는 여러 실시예에서 본 발명을 실행할 수 있는 물리적 및 기능적 아키텍쳐의 다이어그램이다. 이러한 타입의 로봇에는, 본 발명의 실시예에서 로봇의 기능의 조종을 허용하는 고차원 소프트웨어가 부여되는 것이 바람직하다. NAOQI라고 하는 이러한 타입의 소프트웨어 아키텍쳐는 2009년 10월 10일에 간행된 특허 출원 WO2009/124955에서 주로 개시되었다. 그 출원은 로봇과 PC나 원격지 간의 통신을 관리하고, 본 발명의 실행을 위해 필요한 소프트웨어 인프라구조를 제공하는 소프트웨어를 교환하기 위한 기본적인 기능을 포함한다. 또한, 유럽 특허 출원 n°EP14305578.8은 진보된 상호작용/대화 능력을 로봇을 작동시키기 위해 설계된 운영 시스템을 개시한다.
NAOQI는 로봇식 응용예에 최적화된 프레임워크인데, 이는 여러가지 언어, 특히 C++, Python 및 Urbi를 지원한다. 본 발명의 맥락 내에서, NAOQI의 다음 모듈이 특히 유용하다.
모듈 ALMemory(210)는 NAOQI의 다양한 모듈 간에 공유된 메모리를 관리한다.
모듈 DCM(220)은 물리적 로봇(모터, 센서)와의 통신을 관리한다.
모듈 ALRobotPose(230)는 기준 자세와 비교함에 의해, 로봇의 현재 자세를 컴퓨트한다.
ALMotion 모듈(240)은 로봇의 움직임을 관리한다.
이들 4개의 모듈은 C++로 코딩되는 것이 바람직하다. 또한, 도면은 모듈들 간에 데이터 흐름을 표시한다. 특히, 넘어짐 방지와 충돌 방지 기능의 실행에 필요한 입력은,
센서(카메라, 레이져 라인 생성기, 소나, 촉각 센서 등)의 값과,
로봇의 자세 이다.
가능한 충돌을 검출하는 경우, 본 발명을 실행하기 위해 설계된 특정한 기능은 로봇의 궤적을 업데이트하기 위해 커맨드를 보낸다.
또한, 순전히 설명에 의해 도면에서 표시된 것은 각각의 모듈에 의해 프로세스되는 데이터에 대한 리프레쉬 사이클의 값인데, 로봇의 자세와 넘어짐 관리 데이터의 업데이트를 위해 20 ms; 일부 센서의 값에 대한 10 ms이다. 로봇의 환경 내에 장애물의 맵은 매 100 ms 마다 리프레쉬될 수 있고, 이는 단지 예시로서 3D 카메라에 의해 획득되는 이미지를 프로세싱하기 위한 전형적인 사이클 시간이다.
도 3은 본 발명에 따른 로봇의 관절의 질량 중심의 궤적과 각속도를 계산하기 위한 소프트웨어 모듈의 아키텍쳐를 디스플레이한다.
이러한 아키텍쳐(300)의 모듈은 C++ 또는 프로세서에 의해 고유하게 실행될 수 있는 가령 C 언어와 같은 언어, 가상 머신으로 실행될 수 있는 가령 Java와 같은 해석된 언어 또는 Python과 같은 임의의 스크립트 언어로 코딩될 수 있다.
본 발명의 로봇은, 아키텍쳐(300)의 모듈과 같은 소프트웨어 모듈을 로딩할 때, 로봇의 질량 중심(CoM)의 예측된 궤적 및 관절식 팔다리의 예측된 움직임을 계산하도록 구성된 프로세서를 가진다.
아키텍쳐(300)의 소프트웨어 모듈을 실행하기 위해 구성된 프로세서는 입력으로서, 모바일 로봇의 모션을 정의하는 명령어(310)와 모바일 로봇의 행동을 정의하는 명령어(311)를 수신한다.
본 발명의 바람직한 실시예에서, 모바일 로봇의 모션을 정의하는 명령어(310)는 모바일 로봇의 타겟 궤적이다. 명령어(310)는 가령 모바일 로봇의 연속적인 위치, 연속적인 시간 단계 및 시간 윈도우에 걸쳐 정의될 수 있다. 로봇이 도 1에 디스플레이된 로봇과 같이 휠이 있는 로봇일 때, 명령어는 모바일 로봇의 베이스의 연속적인 위치에 해당한다. 본 발명의 여러 실시예에서, 명령어(310)는 로봇의 미리정의된 포인트의 위치 또는 로봇의 바디에 강성하게 부착된 프레임을 말한다.
여러 다양한 실시예는 명령어(310)가 적용하기 위한 포인트를 결정하기 위해 가능하다. 로봇은 휠이 있는 로봇인 실시예에서, 명령어(310)는 가령, 모바일 로봇의 베이스의 질량 중심의 연속적인 위치를 정의할 수 있다. 로봇이 걷는 로봇인 실시예에서, 명령어(310)는 가령, 로봇의 발의 중심에서의 포인트의 연속적인 위치를 정의할 수 있다.
본 발명의 다양한 실시예에 따르면, 모바일 로봇의 행동을 정의하는 명령어(311)는 다양한 방법으로 표현될 수 있다. 가령, 그것은 연속적인 시간 단계에서, 로봇의 조인트의 모든 관절의 각값 및 각속도를 포함할 수 있다. 로봇의 행동을 정의하는 명령어(311)는 또한, 뻗기 위해 하나 이상의 시간 정해진 자세를 포함할 수 있다. 가령, 로봇이 악수를 하도록 명령받는 경우, 로봇의 행동을 정의하는 명령어(311)는 시간(t)에 악수할 때, 로봇의 자세의 설명을 포함하고, 프로세서는, 로봇의 운동학적 및 기계적 제약하에 있으면서, 위치를 달성하기 위해 가장 효율적인 방법을 결정하기 위해 더 많은 자유를 가진다.
본 발명의 여러 실시예에서, 모바일 로봇의 행동을 정의하는 명령어(311)는 미리-계산된다. 가령, 로봇의 행동이 미리 계획되는 경우이다. 로봇이 미리 준비되었던 댄스 안무를 실행하는 경우이다. 본 발명의 다른 실시예에서, 모바일 로봇의 행동을 정의하는 명령어(311)는 즉흥적으로 계산된다. 로봇이 센서로부터의 입력에 기초하여, 실시간으로 채택하기 위해 행동을 결정하는 경우이다. 예를 들어, 로봇은, 사람을 볼 때, 전진하고 악수하기로 결정하여, 도달하기 위해 타겟 자세를 생성하고, 사람과 악수하기 위해 궤적을 따른다. 또 다른 시나리오에서, 로봇은 궤적을 따를 수 있다. 그리고 나서, 예상치 못한 장애물이 궤적에 나타나면, 로봇이 피할 수 있다. 그리고 나서, 장애물을 피하기 위해, 도달해야하는 시간 정해진 자세를 즉흥적으로 생성하고, 장애물을 피하기 위해 도달해야 하는 타겟 궤적과 시간 정해진 자세에 기초하여, 관절식 팔다리의 예측된 움직임을 계산한다.
아키텍쳐(300)는 입력에 기초하여, 모바일 로봇의 질량 중심의 타겟 궤적(330)을 계산하기 위해 소프트웨어 모듈(320)을 포함한다. 소프트웨어 모듈(320)을 로딩하고 실행할 때, 로봇의 프로세서는, 로봇의 타겟 궤적 및 모바일 로봇의 행동을 정의하는 명령어에 기초하여, 로봇의 질량 중심의 타겟 궤적을 계산하도록 구성된다.
본 발명의 여러 실시예에서, 모바일 로봇의 모션을 정의하는 명령어(310)가 연속적이고 시간 정해진 위치에 의해 형성된 로봇의 타겟 궤적이 아니라면, 프로세서는 모바일 로봇의 모션을 정의하는 명령어(310)를 연속적이고 시간 정해진 위치에 의해 형성된 로봇의 타겟 궤적으로 변환하도록 구성된다.
마찬가지로, 본 발명의 여러 실시예에서, 모바일 로봇의 행동을 정의하는 명령어(311)가 로봇의 관절식 팔다리의 타겟 궤적이 아니라면, 모바일 로봇의 행동을 정의하는 명령어(311)를 로봇의 관절식 팔다리의 타겟 궤적으로 변환하도록 프로세서가 구성된다.
본 발명의 여러 실시예에서, 프로세서는, 연속적이고 시간 정해진 위치에 의해 형성된 로봇의 타겟 궤적과 로봇의 관절식 팔다리의 타겟 궤적에 기초하여, 로봇의 질량 중심의 타겟 궤적(330)를 계산하도록 구성된다. 본 발명의 여러 실시예에서, 프로세서는, 시간 윈도우에 걸쳐 연속적인 시간 단계로, 로봇의 위치에 기초한 로봇의 질량 중심의 위치 및 연속적인 시간 단계로 로봇의 관절식 팔다리의 위치와 질량을 계산함에 의해, 간단한 방식으로 이러한 계산을 수행하도록 구성된다. 이러한 방법은, 제한된 컴퓨팅 능력을 사용하여, 빠르고 간단한 방법으로, 로봇의 질량 중심의 타겟 궤적을 바람직하게 계산하도록 한다.
아키텍쳐(300)는 소프트웨어 모듈(340)을 더 포함하고, 프로세서는, 소프트웨어 모듈(340)을 로딩하고 실행할 때, 모바일 로봇의 질량 중심의 타겟 궤적(330) 및 모바일 로봇의 동적 제약에 기초하여, 시계열에 걸쳐 모바일 로봇의 질량 중심의 예측된 궤적(350)을 계산하도록 구성된다.
본 발명의 여러 실시예에서, 프로세서는, 제2 모듈(340)을 로딩할 때, 모바일 로봇의 동적 모델을 사용하여, 로봇의 질량 중심의 예측된 궤적을 계산하도록 구성된다. 본 발명의 여러 실시예에서, 동적 모델은 모바일 로봇의 예측적인 제어의 선형 모델이다.
본 발명의 여러 실시예에서, 모델은 인버티드 펜줄럼 모델이다. 이는, 가령, 로봇이 두 발로 걷는 로봇인 경우이고, 프로세서는,
로봇의 질량 중심인 하나의 질량을 포함하는 인버티드 펜줄럼으로, 모바일 로봇을 모델링하고,
모바일 로봇의 제로 모멘트 포인트가 로봇에 대해 정의된 위치를 가진 다각형을 떠나지 않는 제약 하에서, 인버티드 펜줄럼의 제어의 문제를 해결하도록 구성된다.
본 발명의 여러 실시예에서, 모바일 로봇은 휠이 있는 모바일 로봇이고, 모델은 더블 인버티드 펜줄럼 모델이며, 프로세서는,
각각 모바일 로봇의 베이스의 질량 중심과 로봇의 상부 부분의 질량 중심인 두 개의 질량을 포함하는 더블 인버티드 펜줄럼으로, 모바일 로봇을 모델링하고,
모바일 로봇의 제로 모멘트 포인트가 모바일 로봇에 대해 정의된 위치를 가진 다각형을 떠나지 않고, 모바일 로봇의 베이스가 최대 가속도와 속도를 가지는 제약 하에서, 더블 인버티드 펜줄럼의 제어의 문제를 해결하도록 구성된다.
예측적인 제어의 이러한 선형 모델의 예시는 J. Lafaye et al., Linear Model Predictive Control of the Locomotion of Pepper, a humanoid robot with omnidirectional wheels, 2014 14th IEEE-RAS International Conference on Humanoid Robots (Humanoids), November 18-20, 2014. Madrid, Spain에서 개시된다.
좀 더 구체적으로, 로봇이 도 1에 디스플레이된 로봇과 같은 휠이 있는 로봇인 실시예에서, 프로세서는, 모바일 베이스의 질량 중심(CoM)의 위치(b)와 상측 바디의 CoM의 위치(c)를 가진 두 개의 포인트-질량 모델을 사용하여, 로봇의 질량 중심의 예측된 궤적을 계산하도록 구성될 수 있다. 이러한 두 개의 질량 포인트 모델에 대한 뉴톤 및 오일러 방정식은,
Figure pct00001
으로 기술될 수 있는데, F는 지면과의 접촉력이고, p는 압력의 중심(CoP)에 대응되며, mb 및 mc는 모바일 베이스 및 상부-바디의 질량이다.
로봇이 수평인 지면 상에서 움직인다는 가정 하에, 다음 가정과 관례 하에서, 이들 방정식을 간단하게 할 수 있다.
어깨글자 x, y, z는 각각 두 개의 수평축과 수직 축과 관련되고,
중력 벡터는 gx = gy = 0; gz = g에 의해 정의된다.
로봇이 수평 지면 상에서 움직인다면, ZMP의 높이는 일정하여, pz = 0이다.
모바일 베이스의 높이는 일정하여, bz = l이다.
상측 바디의 수직 모션의 효과를 무시하고, 그 높이도 일정하여, cz = h이다.
본 발명의 다른 실시예에서, 등식은 비-수평적인 지면에 적용되거나, 수평적인 지변과 비-수평적인 지면 사이의 천이구간에 대해 적용된다. 본 명세서에서, 제어 문제는 수평적인 지면 상에서 움직이는 로봇을 위해 예시화될 것이다. 그러나, 당업자는 알려진 종래의 방법을 사용하여 다른 경우에서의 궤적의 계산에 적용할 수 있다. 예를 들어, Lafaye, J. (2015). Commande des mouvements et de l'equilibre d'un tobot humanoide a roues omnidirectionnelles (Doctoral dissertation, Universite Grenoble Alpes)는, 더블 인버티드 펜줄럼을 사용하여, 특히 오직 두 개의 휠만 지면에 접촉하는 경우에 비-수평적인 지면 상에 움직이는 로봇과 같이 복잡한 경우와 같이, 도 1에 개시된 로봇과 유사한 휠이 있는 로봇의 궤적의 계산을 개시한다.
이러한 가정하에서, 뉴톤 및 오일러 등식은 두 개의 포인트 질량의 모션에 대해 선형인 등식으로 간단화될 수 있다.
Figure pct00002
ZMP의 위치는 등식 (3)에 의해 직접 얻을 수 있다.
Figure pct00003
한편, 로봇의 CoM의 위치는, 모바일 베이스의 질량 중심의 위치(bxy), 모바일 베이스의 질량(mb), 상측 바디의 위치(cxy) 및 상측 바디의 질량(mc)에 기초하여 직접 얻을 수 있다.
따라서, 로봇의 질량 중심의 위치는 언제라도,
Figure pct00004
으로 정의된다.
연속적인 위치로서 정의된 모바일 베이스의 CoM의 예측된 궤적, 상측 바디의 CoM 및 로봇의 CoM은 각각 Bxy, Cxy 및 Axy으로 표시된다. 위치와 가속도의 연속적인 쌍으로 정의된 모바일 베이스의 예측된 궤적, 상측 바디의 CoM 및 로봇의 CoM은 각각
Figure pct00005
으로 표시된다.
본 발명의 여러 실시예에서, 자연스러운 접촉력 프로필을 가지고 로봇의 자연스러운 모션을 생성하기 위해, 두 개의 포인트 질량은 샘플링 주기(T)를 가지고 제3의 동력학을 따르는 것으로 가정하면, 프로세서는 로봇의 CoM의 예측된 궤적을 계산하도록 구성된다.
본 발명의 여러 실시예에서, 프로세서는, 모바일 로봇의 질량 중심의 타겟 궤적(330)
Figure pct00006
을 따르기 위해, 모바일 로봇의 질량 중심의 예측된 궤적(350)
Figure pct00007
을 계산하도록 구성된다. 본 발명의 다른 실시예에서, 예측된 궤적과 타겟 궤적은 오로지 로봇의 질량 중심의 예측된 위치와 타겟 위치(
Figure pct00008
)에 의해 각각 정의되거나, 오로지 로봇의 질량 중심의 예측된 속도와 타겟 속도(
Figure pct00009
)에 의해 각각 정의된다.
본 발명의 여러 실시예에서, 프로세서는 궤적에 대한 비용 함수(the function of cost)를 최소로하도록 구성된다. 예를 들어, 프로세서는 질량 중심 모바일 로봇의 예측된 궤적(350)
Figure pct00010
을 계산하도록 구성될 수 있는데, 이는,
Figure pct00011
을 최소로 한다.
본 발명의 다른 실시예에서, 비용 함수는 로봇의 질량 중심의 위치, 2 이외의 거듭제곱을 사용하여, 위치와 속도간의 차이의 가중화된 평균 등에 의존할 수 있다. 비용 함수의 다른 예시는,
Figure pct00012
Figure pct00013
일 수 있다.
좀 더 일반적으로, 기준 위치에 대해 모바일 로봇의 위치의 거리에 따라, 모바일 로봇의 속도와 기준 속도 간의 차이가 증가하거나, 및/또는 이들의 도함수가 증가함에 따라, 비용이 증가하는 임의의 비용 함수가 사용될 수 있다.
비용 함수(01)의 최소화는 모바일 로봇의 CoM이 가능한 근접하게 타겟 궤적을 따르도록 한다. 본 발명의 다양한 실시예에서, 비용 함수의 최소화가 로봇이 타겟 궤적을 가능한 근접하게 궤적을 따르자 마자, 다른 비용 함수도 가능하다.
본 발명의 여러 실시예에서, 프로세서는, 모바일 로봇의 궤적에 대한 비용 함수에 더하여, 모션의 자연스러움이나 교란에 대한 강건성과 같이, 궤적의 다른 특징을 개선하는 비용 함수를 최소화하도록 구성될 수 있다.
로봇의 안정성이 중요시되는 것을 보장하기 위해, 프로세서는, 복수의 서로 다른 제약하에서 예측된 궤적을 계산하도록 구성된다. 로봇의 넘어짐을 방지하기 위해, 지지 다각형 내의 ZMP를 유지하는데 하나의 동적 제약이 구성된다.
도 4는 본 발명의 여러 실시예에서, 모바일 로봇의 질량 중심의 예측된 궤적을 계산할 때, 동적 제약의 공식에 사용되는 지지 다각형의 예시를 디스플레이한다.
도 4는 축(402 및 403)에 의해 정의된 좌표계(x, y)에서, 모바일 로봇의 베이스의 질량 중심(401)에 대한 위치를 디스플레이한다. 직사각형(420)은 물론 지지 다각형(410, 430, 440)은 모바일 로봇의 베이스의 질량 중심(401)에 대해 고정된 위치를 가지고, 이들의 방향은 로봇의 배향에 따라 가변한다.
모션의 동적인 균형은, 로봇이 균형있도록 하기 위해, 상기 pxy와 같이 정의된 모바일 로봇의 ZMP가 지지 다각형 내에 유지하도록 한다. 본 발명의 여러 실시예에서, 로봇이 도 1에서 디스플레이된 로봇과 같이, 대략 삼각형 베이스를 가진 휠이 있는 로봇이다. 그리고 나서, 지지 다각형은, 로봇의 베이스를 나타내는, 로봇의 중심인 삼각형(D)(410)에 의해 표현될 수 있다.
본 발명의 여러 실시예에서, 로봇의 배향에 대해 변함없는 제약을 유지하기 위하여, 지지 다각형은 지지 삼각형에 내접하는 원(D')(430)이다. 본 발명의 다른 실시예에서, 제약을 선형으로 유지하기 위하여, 지지 다각형은 원에 내접하는 팔각형(D")(440)이다. 팔각형(D")(440)의 치수는, 팔각형 내의 임의의 점이 원(D')(430) 내부에 위치되고, 원의 우수한 근사치를 가지도록 계산된다. 바람직하게는, 다각형의 사용은, 오직 선형 부등식을 계산하는 동안, 원 내의 포인트의 내접보다 훨씬 더 빠르게 계산하는, ZMP가 원 내에 유지되는지를 테스트하도록 한다. 팔각형(D")(440)은 계산 복잡성과 계산의 정확성 간의 우수한 타협안이다.
좀 더 일반적으로, 다각형이 더 많은 변을 가질수록, 더 정확하나, 더 많은 계산을 해야 한다. 그러므로, 원의 더 우수한 근사치를 가지기 위해, 더 많은 변을 가진 다각형을 사용할 수 있다. 다른 한 편으로, 훨씬 감소된 복잡성을 가지고 ZMP가 원 내에 있는지를 결정하기 위해, 사각형과 같이 더 적은 변을 가진 다각형을 사용할 수도 있다.
그리고 나서, ZMP는 다음과 같이 공식화될 수 있다.
Figure pct00014
ZMP의 연속적인 위치(pxy)와 함께, Pxy는 로봇의 ZMP의 궤적을 나타내고, 모바일 로봇의 질량 중심의 연속적인 위치(bxy)와 함께, Bxy는 모바일 로봇의 질량 중심의 예측된 궤적을 나타낸다.
본 발명의 다른 실시예에서, 지지 다각형은 서로 다른 형상과 크기를 가질 수 있다. 통상의 기술자는 창의적인 기술 없이, 주어진 로봇에 대해, 적절한 지지 다각형을 형성할 수 있을 것이다.
또한, 제약은 로봇의 질량 중심의 최대 속도와 가속도에 대해 정의될 수 있는데, 이는 가령,
Figure pct00015
와 같이 정의될 수 있다.
등식 (8) 및 (9)에서, 값
Figure pct00016
은 각각 로봇의 모바일 베이스의 최대 속도와 가속도이다. 이들은, 로봇의 기계적 능력에 기초하여 결정되는 미리정의된 값일 수 있다. 본 발명의 다른 실시예에서, 최대 속도와 가속도의 제약은 전체 모바일 로봇의 질량 중심에 대해, 값
Figure pct00017
으로 공식화될 수 있다. 본 발명의 다른 실시예에서, 가령, 로봇이 두 발의 로봇인 실시예에서, 최대 속도와 가속도는 가령, 모바일 로봇의 걷는 능력과 같은, 동적 능력에 따라 정의될 수 있다.
본 발명의 여러 실시예에서, 프로세서는 또한, 로봇의 관절에 기초하여, 상측 바디와 로봇의 베이스의 질량 중심의 상대적 위치에 대한 제약을 공식화하도록 구성된다. 예를 들어, 도 1에 디스플레이된 로봇의 조인트 한계에 기초하여, 상측 바디의 질량 중심이 로봇의 베이스의 질량 중심 주위의 직사각형 존(H)(420) 내에 머무르는지를 결정할 수 있다. 따라서, 상측 바디의 최대 도달의 제약은,
Figure pct00018
와 같이 공식화될 수 있다.
본 발명은 상기 예시로 제한되지 않는다. 예를 들어, 다른 간단화 또는 가정이, 다른 타입의 로봇, 가령 두 발의 로봇에 대해 수행될 수 있다. 바람직하게는, 상기 개시된 바와 같은 동적 모델의 사용은 로봇으로 하여금, 로봇의 질량 중심의 예측된 궤적을 계산하도록 하고, 이는 제한된 컴퓨팅 능력으로, 모바일 로봇의 동적 특징을 정확하게 고려한다.
본 발명의 여러 실시예에서, 로봇의 동적 모델은 매우 다양할 수도 있다. 예를 들어, 로봇의 질량 중심을 나타내는 단일 포인트-질량으로, 단일 인버티드 펜줄럼으로 로봇을 모델링하고, 이러한 포인트-질량의 최대 속도와 가속도에 대한 제약을 공식화할 수 있다.
도 3으로 되돌아와 서, 아키텍쳐(300)는 소프트웨어 모듈(360)을 더 포함하고, 소프트웨어 모듈(360)을 로딩하고 실행할 때, 프로세서는, 모바일 로봇의 질량 중심의 예측된 궤적(350)과 모바일 로봇(311)의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임(370)을 계산하도록 구성된다.
모바일의 행동을 정의하는 명령어(311)의 가능한 형태는 이미 논의되었다. 본 발명의 여러 실시예에서, 프로세서는, 모듈(320)을 실행할 때, 모바일 로봇의 행동을 정의하는 명령어(311)를 로봇의 관절식 팔다리의 타겟 궤적으로 변환하도록 구성되고, 로봇의 관절식 팔다리의 타겟 궤적은 입력 대신에 모바일 로봇의 행동을 정의하는 명령어(311)가 사용될 수 있다.
본 발명의 여러 실시예에서, 프로세서는 Generalized Inverse Kinematics를 사용하여 관절식 팔다리의 예측된 움직임(370)을 계산하도록 구성된다. 본 발명의 여러 실시예에서, 이는, 벡터(Y)와 관절식 팔다리의 적어도 타겟 궤적을 가진 기준 벡터(Yref) 간의 비용 함수를 최소화하기 위해, 관절식 팔다리의 적어도 타겟 궤적을 정의하는 벡터(Y)를 계산하는 것으로 구성된다. 예를 들어, 벡터(Y)는,
로봇의 몸통의 속도;
관절식 조인트의 속도로 구성될 수 있다.
본 발명의 여러 실시예에서, 손의 관절식 조인트와 같이, 운동학적 체인의 일부가 아닌 관절식 조인트는 고려되지 않는다. 동일한 작동기에 의해 제어되는 관절식 조인트는 벡터(Y) 내의 단일 변수로 맵핑될 수 있다.
프로세서는 Generalized Inverse Kinematics에 대한 제약을 만들도록 구성된다. 본 발명의 여러 실시예에서, 이들 제약은,
- 각도 및/또는 속도에 대한 조인트 한계이다. 이러한 제약은 행렬 A 및 b에 의해 정의되는 다음 등식에 의해 표현된다.
Figure pct00019
- 로봇의 균형이다. CoM은 MPC에 의해 출력된 궤적을 정확하게 따르도록 제약된다. 로봇의 질량 중심을 만드는 지지 다각형에 관하여 이전에 계산되었던 CoM의 궤적은, 이러한 궤적을 따라서, 로봇이 균형 있게 유지되도록 보장한다. 이러한 제약은 행렬 C 및 d에 의해 정의된 다음 등식에 의해 표현된다.
Figure pct00020
다른 제약들이 관절식 조인트의 기계적 한계와 로봇의 균형을 표현한다면, 다른 제약도 가능하다.
프로세서는, (11) 및 (12)에서 정의된 것과 같은 제약 하에서, 벡터(Y)와 기준 벡터(Yref) 간의 비용 함수를 최소화함에 의해, 가령,
Figure pct00021
관절식 팔다리의 움직임을 계산하도록 구성될 수 있다.
여기서, Q는 쿼드러틱 놈(quadratic norm)이다. 본 발명의 다른 실시예에서, 다른 비용 함수가 관절식 조인트의 타겟 움직임에 비해, 관절식 조인트의 속도와 위치의 최소화가 가능하자마자, 가능하다.
Generalized Inverse Kinematics를 사용하여 최적화된 벡터(Y)는, 로봇의 모든 관절을 적절하게 나타내기 위해, 고차원일 수 있다. 따라서, 전체 벡터(Y)에 대해 역동력학을 적용함에 의해, 로봇의 전체 궤적을 결정하는 것은 엄청난 컴퓨팅 비용을 야기할 것이다. 이에 반해, Generalized Inverse Kinematics는 역동력학보다 훨씬 더 낮은 컴퓨팅 비용을 가진다. 그러므로, 역동력학을 사용하여, 더 적은 수의 자유도를 가지고 로봇의 동적 모델에 대해 모바일 로봇의 예측된 궤적을 컴퓨팅하는 것과 더 많은 수의 자유도를 가지고 Generalized Inverse Kinematics을 사용하여 관절식 팔다리의 움직임을 컴퓨팅하는 것은 모바일 로봇의 궤적과 관절식 팔다리의 움직임을 합리적인 컴퓨팅 비용으로 적절히 계산하도록 한다.
본 발명의 여러 실시예에서, 프로세서는, 동일한 시간 윈도우에 걸쳐, 단일 시간 단계로 궤적, 속도 등의 모든 계산을 수행하도록 구성된다. 예를 들어, 프로세서는, 관절식 팔다리(370)의 예측된 움직임을 매 20 ms마다 계산할 수 있고, 2s의 시계열에 걸쳐, 및 20 ms의 샘플을 사용하여, 각각의 궤적을 계산할 수 있다.
관절식 팔다리(370)의 예측된 움직임이 계산되면, 예측된 움직임은 로봇의 움직임을 실제로 수행하기 위해, 모터 및/또는 작동기에 의해 판독 및 사용될 수 있다.
본 발명은 상기에서 개시된 예시에만 적용가능한 것은 아니다. 특히, 휴머노이드 로봇뿐만 아니라, 모바일 베이스와 관절식 팔을 가진 산업용 로봇에도 적용가능하다.
도 5a, 5b, 5c, 5d, 5e 및 5f는, 본 발명에 따른 로봇의 움직임을 정의하기 위한 사용자 인터페이스의 두 개의 뷰, 종래의 로봇의 궤적의 예시, 종래의 로봇의 위치 및 로봇의 관절의 각위치, 본 발명에 따른 로봇의 궤적의 예시, 본 발명에 따른 로봇의 위치 및 로봇의 관절의 각위치를 각각 디스플레이한다.
도 5a는 본 발명에 따른 로봇의 움직임을 정의하기 위한 사용자 인터페이스의 예시를 디스플레이한다. 인터페이스는 복수의 서브-윈도우를 포함하는 윈도우(500a)를 포함한다.
제1 서브-윈도우(510)는 행동을 생성, 선택 및 편집하는데 사용된다. 제2 서브-윈도우(520)는 수행할 움직임의 타입을 선택하는데 사용된다. 도 5에 디스플레이된 예시에서, 움직임은 "따라 움직이는" 것이고, 궤적 상에서 로봇의 변위를 정의한다.
제3 서브-윈도우(530a)는 사용자가 로봇의 타겟 궤적을 정의하도록 한다. 사용자는 시점(531a) 및 종점(532a) 및 중간 궤적(533a)을 주로 정의할 수 있다. 이러한 예시에서, 궤적은 시점과 종점 간에 직선을 정의한다. 서브-윈도우(534a)는 사용자가 움직임의 특징, 주로 구간(535a)을 정의하는데 사용된다.
서브-윈도우(540)는 움직임의 미리 보기 및 로봇의 자세를 제공한다.
도 5b는 본 발명에 따른 로봇의 움직임을 정의하기 위해, 사용자 인터페이스의 제2 뷰를 디스플레이한다.
이러한 제2 뷰는 윈도우(500b)를 정의하는데, 이는 또한 서브-윈도우(510, 520 및 540)도 가진다.
윈도우(500b)는 관절의 타겟 움직임을 정의하기 위해, 서브-윈도우(550b)도 포함한다. 사용자는 가령, "힙롤(HipRoll)" 움직임(558b)과 같은 미리-정의된 타입의 움직임을 선택할 수 있다. 이러한 예시에서, "힙롤" 움직임은 로봇의 엉덩이 주위에서 로봇의 상측 바디의 왼쪽-및-오른쪽 움직임에 해당한다.
사용자는 로봇의 움직임의 특징을 더욱 정의할 수 있다. "힙롤" 움직임의 예시에서, 사용자는 시간 축(552b) 상에서 정의된 시간에 대해, 진폭(551b)의 축 상에서 정의된 엉덩이의 움직임의 진폭을 정의할 수 있다. 움직임은 (시간, 진폭) 스플라인(553b)에 의해 정의되는데, 이는 본 예시에서, 기준 포인트(554b, 555b, 556b 및 557b)에 기초하여 구축된다.
도 5b는 로봇의 행동의 낮은-레벨 커맨드의 예시를 디스플레이한다. 본 발명의 다른 실시예에서, 도달하기 위한 자세와 같은 더 높은-레벨 커맨드를 사용할 수 있다. 예를 들어, "위치에 도달해라" 또는 "주어진 위치/시간에 손을 두어라"와 같은 높은 레벨 커맨드를 사용할 수 있다. 그리고 나서, 이러한 높은-레벨 커맨드에 기초하여, 로봇의 시간 정해진 일련의 자세를 결정할 수 있는데, 이는 로봇의 CoM의 궤적 및 로봇이 도달할 자세를 결정하는데 사용될 수 있다.
도 5c는 종래의 로봇의 궤적의 예시를 디스플레이한다. 좀 더 구체적으로, 도 5c는 종래 기술에서 계산된 바와 같이, 윈도우(500a)에서 정의된 타겟 궤적 및 윈도우(500b)에서 정의된 관절의 타겟 움직임에 기초하여, 로봇의 궤적과 행동을 디스플레이한다.
이러한 예시에서, 로봇은, 윈도우(500a)에서 정의된 궤적 및 윈도우(500b)에서 정의된 행동 "힙롤"(558b)에 가능한 근접하게 따르기 위해, 로봇은 궤적을 따르고, 관절식 팔다리의 움직임을 수행한다. 좀 더 구체적으로, 로봇에 의해 채택된 궤적 및 몸통의 위치는 궤적(533a) 및 553b에서 정의된 위치에 가능한 근접하다.
종래 기술에서, 그러므로 로봇은 시점(531c)과 종점(532c) 간에 직선 궤적(533c)을 따른다. 한 편, 관절(553b)의 움직임에 의해 정의된 행동 "힙롤"(558b)에 가능한 근접한 행동을 채택하기 위해, 로봇은 몸통의 움직임을 수행한다. 종래 기술에서, 로봇은 오직 관절식 움직임(554c)을 수행할 있다.
도 5d는 종래 기술에서, 로봇의 위치 및 로봇의 관절의 각위치의 예시를 디스플레이한다.
도 5d는, 시간 축(552d)에 대해, 축(551b)과 동일한 축(551d)상에 표현된 로봇의 엉덩이 주위에 로봇의 상측 바디의 움직임의 진폭을 나타낸다. 곡선(553d)은 로봇의 관절의 움직임의 목표를 나타내고, 곡선(554d)은 로봇의 관절의 실제 움직임을 나타낸다.
도 5c 및 5d에서 볼 수 있는 바와 같이, 종래의 로봇은 도 5a 및 5b에서 계획된 움직임을 수행할 수 없다. 주요 이유는, 관절의 움직임을 계산하는 것이 스플라인(553b)에 의해 정의된 명령어를 따를 때, 종래의 로봇은 운동학적 제약, 주로 로봇의 균형에 의해 제한될 것이기 때문이다.
도 5e는 본 발명의 실시예에서, 로봇의 궤적의 예시를 디스플레이한다.
좀 더 구체적으로, 도 5e는 본 발명의 실시예에서 계산된 바와 같이, 윈도우(500a)에서 정의된 타겟 궤적 및 윈도우(500b)에서 정의된 관절의 타겟 움직임에 기초하여, 로봇의 궤적과 행동을 디스플레이한다.
이러한 예시에서, 로봇은, 윈도우(500a)에서 정의된 궤적 및 윈도우(500b)에서 정의된 행동 "힙롤"(558b)을 가능한 근접하게 따르기 위해, 궤적을 따르고, 관절식 팔다리의 움직임을 수행한다. 좀 더 구체적으로, 로봇에 의해 채택된 궤적 및 몸통의 위치는 궤적(533a) 및 553b에서 정의된 위치에 가능한 근접하다.
그러므로, 종래 기술에서, 로봇은 시점(531e)과 종점(532e) 사이의 궤적(533e)을 따른다. 한편, 로봇은, 관절(553b)의 움직임에 의해 정의된 행동 "힙롤" (551b)에 가능한 근접한 행동을 채택하기 위해, 몸통의 움직임을 수행한다. 본 발명에서, 로봇은, 로봇의 질량 중심의 위치에 몸통의 움직임의 효과를 고려하기 위하여, 정확하게 직선이 아닌 궤적(533e)을 계산한다. 로봇의 베이스의 궤적의 이러한 수정은 로봇으로 하여금, 훨씬 더 풍부하고, 사용자에 의해 계획된 움직임에 더 가까운 몸통(554e)의 움직임을 수행하도록 할 수 있다.
도 5f는 본 발명의 실시예에서, 로봇의 위치 및 로봇의 관절의 각위치의 예시를 디스플레이한다.
도 5f는 로봇의 엉덩이 주위에 로봇의 몸통의 움직임의 진폭을 나타내는데, 시간 축(552f)에 대해, 축(551b)과 동일한 축(551f) 상에서 나타난다. 곡선(553f)은 로봇의 관절의 움직임의 목표를 나타내고, 곡선(554f)은 로봇의 관절의 실제 움직임을 나타내고, 도 5e에서 디스플레이된 움직임에 해당한다.
도 5e 및 5f에서 볼 수 있는 바와 같이, 본 발명의 로봇은 도 5a 및 5b에서 계획된 움직임과 매우 근접한 움직임을 수행할 수 있다. 좀 더 구체적으로, 로봇의 질량 중심의 궤적을 계산하기 위해 관절의 움직임의 사용은, 종래 기술에서 계산된 움직임보다 사용자에 의해 계획된 움직임에 훨씬 더 근접한 관절식 kf다리의 움직임을 계산할 수 있도록 한다.
도 6a 및 6b는 종래의 방법 및 본 발명의 실시예의 방법을 각각 디스플레이한다.
도 6a는 종래 기술에서, 복수의 관절식 팔다리를 가진 모바일 로봇의 예측된 움직임을 계산하기 위한 방법(600a)을 디스플레이한다.
본 방법(600a)은 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어를 입력(610, 611)으로서 수신하는 단계를 포함한다.
본 방법(600a)은 모바일 로봇의 모션을 정의하는 명령어(611)에 기초하여, 시계열에 따라 모바일 로봇의 예측된 궤적(631a)을 계산하는 단계(630a)를 더 포함한다. 이러한 궤적은, 가령, 표준 자세에 기초하고, 관절의 실제 움직임에 기초하지 않는, 모바일 로봇의 질량 중심의 궤적일 수 있다.
본 방법(600a)은, 모바일 로봇의 예측된 궤적(631a) 및 모바일 로봇(611)의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임(641a)을 계산하는 단계(640a)를 더 포함한다.
그러므로, 본 방법(600a)은 궤적 및 로봇의 관절의 예측된 움직임 모두를 계산할 수 있다. 그러나, 로봇의 동적 제약은 도 5c 및 5d에서 개시된 바와 같이, 단계(640a)에서 관절의 움직임을 계산하는 능력을 제한할 수 있다.
도 6b는 본 발명의 실시예에서, 복수의 관절식 팔다리를 가진 모바일 로봇의 예측된 움직임을 계산하기 위한 방법(600b)을 디스플레이한다.
본 방법(600b)은 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어를 입력(610, 611)으로서 수신하는 단계를 포함한다.
본 방법(600b)은 입력(610, 611)에 기초하여, 모바일 로봇(621b)의 질량 중심의 타겟 궤적을 계산하는 단계(620b)를 더 포함한다.
본 방법(600b)은 모바일 로봇의 질량 중심의 타겟 궤적(621b) 및 모바일 로봇의 동적 제약을 기초로 하여, 시계열에 따라 모바일 로봇의 질량 중심의 예측된 궤적(631b)을 계산하는 단계(630b)를 더 포함한다.
본 방법(600b)은, 모바일 로봇의 질량 중심의 예측된 궤적(631b) 및 모바일 로봇(611)의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임(641b)을 계산하는 단계(640b)를 더 포함한다.
본 발명의 방법(600b)은, 로봇의 질량 중심의 예측된 궤적을 계산하기 위하여 관절식 팔다리의 움직임을 고려함에 의해, 종래 방법의 한계를 극복할 수 있다. 좀 더 구체적으로, 본 방법은 로봇으로 하여금, 행동을 채택하도록 하고, 종래의 방법보다 모바일 로봇의 행동을 정의하는 명령어(611)에 훨씬 더 근접한, 관절식 팔다리의 움직임을 실행할 수 있도록 한다.
본 방법(600b)은 많은 방법으로 실행될 수 있다. 예를 들어, 아키텍쳐(300)와 같은 소프트웨어 아키텍쳐로 실행될 수 있다. 본 발명의 로봇의 온보드 프로세서에 의해 실행될 수 있다. 도 5a 및 5b에 디스플레이된 사용자 인터페이스와 같이, 로봇의 움직임의 편집자로 실행될 수도 있다. 그러므로, 로봇의 움직임의 미리 보기를 얻기 위해 사용될 수 있다. 심지어, 본 발명의 방법을 사용하여도 로봇이 행동을 채택할 수 없을 때, 사용자는 로봇이 수행할 수 있는 행동을 정의하기 위해, 로봇의 행동을 수정할 수 있다.
상기 기술된 예시는 본 발명의 실시예의 설명으로서 주어진다. 이들은 이하의 청구항에 의해 정의된 봉 발명의 범위를 임의의 방법으로 제한하지 않는다.

Claims (15)

  1. 복수의 관절식 팔다리;
    프로세서(300)를 포함하되, 상기 프로세서는,
    모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어를 입력(310, 311)으로서 수신하고,
    입력에 기초하여, 모바일 로봇의 질량 중심의 타겟 궤적(330)을 계산(320)하고,
    모바일 로봇의 질량 중심의 타겟 궤적(330) 및 모바일 로봇의 동적 제약에 기초하여, 시계열(time horizon)에 걸쳐 모바일 로봇의 질량 중심의 예측된 궤적(350)을 계산(340)하고,
    모바일 로봇의 질량 중심의 예측된 궤적(350) 및 모바일 로봇(311)의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임(370)을 계산(360)하도록 하는, 모바일 로봇.
  2. 제 1 항에 있어서, 상기 프로세서는,
    모바일 로봇의 관절식 팔다리의 질량 중심의 위치와
    모바일 로봇의 타겟 위치에 기초하여, 모바일 로봇의 질량 중심의 위치, 모바일 로봇의 관절식 팔다리의 질량 및 질량 중심의 위치를 연속적인 시간 단계로 계산함에 의해, 모바일 로봇의 질량 중심의 타겟 궤적(330)을 계산(320)하도록 구성되는, 모바일 로봇.
  3. 제 1 항 내지 제 2 항 중 어느 한 항에 있어서, 상기 프로세서는 모바일 로봇의 동적 모델을 사용하여, 모바일 로봇(330)의 질량 중심의 예측된 궤적을 계산(340)하도록 구성되는, 모바일 로봇.
  4. 제 3 항에 있어서, 상기 프로세서는,
    모바일 로봇의 베이스의 질량 중심 및 로봇의 상측 바디의 질량 중심인 두 개의 질량을 각각 포함하는 더블 인버티드 펜줄럼으로 모바일 로봇을 모델링하고,
    모바일 로봇의 제로 모멘트 포인트가 모바일 로봇의 베이스에 대해 정의된 위치를 가진 다각형을 떠나지 않고, 모바일 로봇의 베이스가 최대 가속도와 속도를 가지도록 하는 제약을 만들어 내고,
    비용 함수를 최소화하기 위해 더블 인버티드 펜줄럼의 제어 문제를 해결함 - 상기 비용 함수는 타겟 궤적(330) 내의 모바일 로봇의 질량 중심의 위치와 예측된 궤적(350) 내의 모바일 로봇의 질량 중심의 위치의 차이 및 타겟 궤적(330)에서 모바일 로봇의 질량 중심의 속도와 예측된 궤적에서 모바일 로봇의 질량 중심의 속도의 차이 중 적어도 하나에 기초함 - 에 의해, 모바일 로봇(330)의 질량 중심의 예측된 궤적을 계산(340)하도록 구성되는, 모바일 로봇.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 상기 프로세서는, 비용 함수를 최소화하기 위해, 모바일 로봇의 동적 제약에 대해 관절식 팔다리(370)의 예측된 움직임을 계산(360)하도록 구성되는, 모바일 로봇.
  6. 제 5 항에 있어서, 비용 함수는 연속적인 시간 단계에서, 모바일 로봇의 질량 중심의 예측된 위치들 간의 거리, 관절식 팔다리의 타겟 속도와 관절식 팔다리의 예측된 속도 간의 차이 및 관절식 팔다리의 타겟 위치와 관절식 팔다리의 예측된 위치 간의 거리 중 적어도 두 개의 가중화된 평균인, 모바일 로봇.
  7. 제 5 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 프로세서는, 조인트 각도, 조인트 속도 및 조인트 가속도의 한계 제약 하에서, 관절식 팔다리의 예측된 움직임을 계산하도록 구성되는, 모바일 로봇.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서, 모바일 로봇의 행동을 정의하는 명령어는 도달하기 위해 적어도 하나의 시간 정해진 자세에 의해 정의되고, 상기 프로세서는 모바일 로봇의 상기 적어도 하나의 시간 정해진 자세에서 모바일 로봇에 대해 관절식 팔다리의 타겟 궤적으로 전환하도록 더욱 구성되는, 모바일 로봇.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서, 모바일 로봇의 질량 중심의 예측된 궤적은 시간 윈도우에 걸쳐 연속적인 시간 단계에서, 모바일 로봇의 질량 중심의 예측된 위치와 속도의 값에 의해 정의되는, 모바일 로봇.
  10. 제 9 항에 있어서, 관절식 팔다리의 예측된 움직임은, 관절식 팔다리들 간의 각도 및 상기 연속적인 시간 단계에서 관절식 팔다리들 간의 각속도 중 하나 이상의 값에 의해 정의되고, 상기 관절식 팔다리들 간의 각도 및 상기 연속적인 시간 단계에서 관절식 팔다리들 간의 각속도 중 하나 이상의 값은 모터의 세트포인트 커맨드로 전환되어야 하는, 모바일 로봇.
  11. 제 9 항 내지 제 10 항 중 어느 한 항에 있어서, 미리정의된 시간 단계는 20 ms이고, 시간 윈도우는 1.6 s의 구간을 가지는, 모바일 로봇.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 있어서, 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어는, 사용자에 의해, 사용자 인터페이스상에서 정의되는, 모바일 로봇.
  13. 제 1 항 내지 제 11 항 중 어느 한 항에 있어서, 모바일 로봇의 모션을 정의하는 명령어는 미리정의된 궤적에 해당하고, 상기 프로세서는, 예상하지 못한 이벤트가 발생하면, 모바일 로봇의 행동을 정의하는 명령어를 계산하도록 구성되는, 모바일 로봇.
  14. 복수의 관절식 팔다리를 가진 모바일 로봇의 모션과 행동을 정의하기 위한 사용자 인터페이스(400a, 400b)에 있어서, 상기 사용자 인터페이스는,
    사용자가, 모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어를 입력으로 정의하고;
    입력에 기초하여, 모바일 로봇의 질량 중심의 타겟 궤적을 계산하고;
    모바일 로봇의 질량 중심의 타겟 궤적 및 모바일 로봇의 동적 제약에 기초하여, 시계열에 따라 모바일 로봇의 질량 중심의 예측된 궤적을 계산하고;
    모바일 로봇의 질량 중심의 예측된 궤적 및 모바일 로봇의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임을 계산하기 위한, 컴퓨터 코드 명령어를 포함하는, 복수의 관절식 팔다리를 가진 모바일 로봇의 모션과 행동을 정의하기 위한 사용자 인터페이스.
  15. 복수의 관절식 팔다리를 가진 모바일 로봇의 예측된 움직임을 계산하기 위한 방법에 있어서, 상기 방법은,
    모바일 로봇의 모션을 정의하는 명령어 및 모바일 로봇의 행동을 정의하는 명령어를 입력(610, 611)으로서 수신하는 단계;
    입력(610, 611)에 기초하여, 모바일 로봇(621b)의 질량 중심의 타겟 궤적을 계산하는 단계(620b);
    모바일 로봇의 질량 중심의 타겟 궤적(621b) 및 모바일 로봇의 동적 제약에 기초하여, 시계열에 따라 모바일 로봇의 질량 중심의 예측된 궤적(631b)을 계산하는 단계(630b);
    모바일 로봇의 질량 중심의 예측된 궤적(631b) 및 모바일 로봇(611)의 행동을 정의하는 명령어에 기초하여, 관절식 팔다리의 예측된 움직임(641b)을 계산하는 단계(640b)를 포함하는, 복수의 관절식 팔다리를 가진 모바일 로봇의 예측된 움직임을 계산하기 위한 방법.
KR1020187032930A 2016-04-29 2016-04-29 향상되고 균형 있는 모션과 행동 능력을 가진 모바일 로봇 KR102199608B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/052452 WO2017187235A1 (en) 2016-04-29 2016-04-29 A mobile robot with enhanced balanced motion and behavior capabilities

Publications (2)

Publication Number Publication Date
KR20190008530A true KR20190008530A (ko) 2019-01-24
KR102199608B1 KR102199608B1 (ko) 2021-01-07

Family

ID=56101759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187032930A KR102199608B1 (ko) 2016-04-29 2016-04-29 향상되고 균형 있는 모션과 행동 능력을 가진 모바일 로봇

Country Status (10)

Country Link
US (1) US11014247B2 (ko)
EP (1) EP3448629A1 (ko)
JP (1) JP6715952B2 (ko)
KR (1) KR102199608B1 (ko)
CN (1) CN109311159B (ko)
AU (1) AU2016404622B2 (ko)
BR (1) BR112018071792A2 (ko)
CA (1) CA3022383A1 (ko)
SG (1) SG11201808977RA (ko)
WO (1) WO2017187235A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10493617B1 (en) * 2016-10-21 2019-12-03 X Development Llc Robot control
DE102017129665B3 (de) * 2017-12-12 2019-01-24 Pilz Gmbh & Co. Kg Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
US10780578B2 (en) * 2018-02-22 2020-09-22 Boston Dynamics, Inc. Reaching mobile robots
US20190314983A1 (en) * 2018-04-17 2019-10-17 Sony Corporation Recording medium, information processing apparatus, and information processing method
US11833681B2 (en) * 2018-08-24 2023-12-05 Nvidia Corporation Robotic control system
WO2020145403A1 (ja) * 2019-01-11 2020-07-16 オムロン株式会社 制御装置
CN110039544A (zh) * 2019-04-28 2019-07-23 南京邮电大学 基于三次样条插值的仿人足球机器人步态规划
CN110244791B (zh) * 2019-07-11 2020-05-15 北京理工大学 一种双足机器人足部力和力矩跟随控制方法
CN111506094A (zh) * 2020-04-14 2020-08-07 腾讯科技(深圳)有限公司 质心位置确定方法、装置、足式机器人及存储介质
CN112356029A (zh) * 2020-10-29 2021-02-12 中国科学院软件研究所 一种工业机器人控制器软件的实现方法和系统
CN112650234B (zh) * 2020-12-16 2022-05-17 浙江大学 一种双足机器人的路径规划方法
CN112783175B (zh) * 2021-01-04 2022-09-16 腾讯科技(深圳)有限公司 质心轨迹确定方法、装置、足式机器人、设备及介质
CN113580146B (zh) * 2021-08-29 2022-08-05 浙江工业大学 一种融合动态系统与模型预测控制的机械臂实时避障方法
CN116184837B (zh) * 2023-04-27 2023-07-07 北京鹏骋科技有限公司 基于野外复杂条件的自适应平衡控制方法、系统及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015150678A (ja) * 2014-02-19 2015-08-24 トヨタ自動車株式会社 移動ロボットの移動制御方法
EP2933068A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics Omnidirectional wheeled humanoid robot based on a linear predictive position and velocity controller

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3443077B2 (ja) * 1999-09-20 2003-09-02 ソニー株式会社 ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
JP4188607B2 (ja) * 2001-06-27 2008-11-26 本田技研工業株式会社 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法
US7719222B2 (en) * 2006-03-30 2010-05-18 Vecna Technologies, Inc. Mobile extraction-assist robot
JP4961860B2 (ja) * 2006-06-27 2012-06-27 トヨタ自動車株式会社 ロボット装置及びロボット装置の制御方法
FR2930108B1 (fr) 2008-04-09 2010-07-30 Aldebaran Robotics Systeme et procede de communication distribue comprenant au moins un serveur, au moins un terminal distant, et au moins un terminal mobile capable de communiquer avec le terminal distant relie en reseau audit serveur
KR20100028358A (ko) * 2008-09-04 2010-03-12 삼성전자주식회사 로봇 및 그 안전제어방법
CN101726296B (zh) * 2009-12-22 2013-10-09 哈尔滨工业大学 空间机器人视觉测量、路径规划、gnc一体化仿真系统
KR20110082394A (ko) * 2010-01-11 2011-07-19 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR101687630B1 (ko) * 2010-01-11 2016-12-20 삼성전자주식회사 보행 로봇 및 그 균형 제어 방법
KR101687628B1 (ko) * 2010-01-12 2016-12-21 삼성전자주식회사 로봇의 보행 제어 장치 및 그 제어 방법
KR101687631B1 (ko) * 2010-01-18 2016-12-20 삼성전자주식회사 로봇의 보행 제어 장치 및 그 제어 방법
JP5392125B2 (ja) 2010-02-05 2014-01-22 トヨタ自動車株式会社 2脚歩行ロボット及びそのための歩容データ生成方法
KR20120060578A (ko) * 2010-12-02 2012-06-12 삼성전자주식회사 보행 로봇 및 그 자세 제어 방법
KR20120069333A (ko) * 2010-12-20 2012-06-28 삼성전자주식회사 로봇의 보행 제어 장치 및 그 제어 방법
KR20120069924A (ko) * 2010-12-21 2012-06-29 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR101809972B1 (ko) * 2010-12-21 2017-12-18 삼성전자주식회사 보행 로봇 및 그 제어방법
KR101778027B1 (ko) * 2010-12-21 2017-09-13 삼성전자주식회사 보행 로봇 및 그 자세 제어 방법
KR20120071599A (ko) * 2010-12-23 2012-07-03 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR101953113B1 (ko) * 2011-05-30 2019-03-05 삼성전자주식회사 로봇 및 그 제어방법
KR20130049029A (ko) * 2011-11-03 2013-05-13 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR20130063230A (ko) * 2011-12-06 2013-06-14 삼성전자주식회사 보행 로봇 및 그 제어 방법
EP2933065A1 (en) 2014-04-17 2015-10-21 Aldebaran Robotics Humanoid robot with an autonomous life capability
ES2675363T3 (es) 2014-06-05 2018-07-10 Softbank Robotics Europe Procedimiento de construcción de un mapa de probabilidad entre la ausencia y la presencia de obstáculos para un robot autónomo
US10248085B2 (en) * 2016-10-13 2019-04-02 Disney Enterprises, Inc. Computational design of robots from high-level task specifications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015150678A (ja) * 2014-02-19 2015-08-24 トヨタ自動車株式会社 移動ロボットの移動制御方法
EP2933068A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics Omnidirectional wheeled humanoid robot based on a linear predictive position and velocity controller

Also Published As

Publication number Publication date
BR112018071792A2 (pt) 2019-02-19
JP2019514713A (ja) 2019-06-06
JP6715952B2 (ja) 2020-07-01
KR102199608B1 (ko) 2021-01-07
CN109311159B (zh) 2022-03-25
SG11201808977RA (en) 2018-11-29
CA3022383A1 (en) 2017-11-02
WO2017187235A1 (en) 2017-11-02
CN109311159A (zh) 2019-02-05
US20190118384A1 (en) 2019-04-25
EP3448629A1 (en) 2019-03-06
US11014247B2 (en) 2021-05-25
AU2016404622B2 (en) 2020-05-14
AU2016404622A1 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
KR102199608B1 (ko) 향상되고 균형 있는 모션과 행동 능력을 가진 모바일 로봇
Wiedebach et al. Walking on partial footholds including line contacts with the humanoid robot atlas
JP6904992B2 (ja) 自然なピッチとロール
CN106573377B (zh) 具有冲突避免和轨迹恢复能力的类人机器人
Penco et al. Robust real-time whole-body motion retargeting from human to humanoid
KR101004820B1 (ko) 이동체 장치, 이동체 장치의 제어 방법, 로봇 장치, 로봇 장치의 동작 제어 방법
JP2018024082A (ja) 多軸運動制御デバイス、ロボットアームシステム、ロボットアームシステムの動きを制御する方法及び多軸運動駆動デバイスの動きを制御するための方法
Friedmann et al. Versatile, high-quality motions and behavior control of a humanoid soccer robot
Inaba et al. Real-time vision plus remote-brained design opens a new world for experimental robotics
Saputra et al. Combining pose control and angular velocity control for motion balance of humanoid robot soccer EROS
Yi et al. Active stabilization of a humanoid robot for real-time imitation of a human operator
Wasielica et al. Interactive programming of a mechatronic system: A small humanoid robot example
Sulistijono et al. Fuzzy walking and turning tap movement for humanoid soccer robot EFuRIO
Kim et al. Assessing whole-body operational space control in a point-foot series elastic biped: Balance on split terrain and undirected walking
Kung Design of agile two-wheeled robot with machine vision
Behnke et al. Toni: A soccer playing humanoid robot
JP2002210681A (ja) 脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置
Wang et al. Intuitive and versatile full-body teleoperation of a humanoid robot
Xiao et al. NuBot team description paper 2015
Wasielica et al. Active stabilization of a humanoid robot base on inertial measurement unit data
Wasielica In-motion balance recovery of a humanoid robot under severe external disturbances
Zhou et al. Design and control of a modular actuator driven humanoid robot
Hoseinifard et al. Analysis of Stability and Horizontal Motion of a Single Leg Hopping Robot
Gerecke et al. Vision Guided Biped Walking–Trajectories an Communication
Gabriel et al. Control of a humanoid robot based on the ZMP method

Legal Events

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