KR20240039182A - 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품 - Google Patents

다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20240039182A
KR20240039182A KR1020247006998A KR20247006998A KR20240039182A KR 20240039182 A KR20240039182 A KR 20240039182A KR 1020247006998 A KR1020247006998 A KR 1020247006998A KR 20247006998 A KR20247006998 A KR 20247006998A KR 20240039182 A KR20240039182 A KR 20240039182A
Authority
KR
South Korea
Prior art keywords
legged robot
robotic
lag
toe
plane
Prior art date
Application number
KR1020247006998A
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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20240039182A publication Critical patent/KR20240039182A/ko

Links

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/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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

본 출원의 실시예는 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품을 제공한다. 다리식 로봇은 베이스와 적어도 두 개의 로보틱 래그를 포함하고, 각 로보틱 래그는 적어도 하나의 관절을 포함하며, 상기 다리식 로봇을 제어하는 방법은, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하는 단계 - 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치의 변화의 예상 궤적을 나타내고, 상기 제2 예상 궤적은 각 로보틱 래그의 발끝의 예상 궤적을 나타냄 - ; 및 상기 다리식 로봇에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하는 단계를 포함한다.

Description

다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품
본 출원은 출원 번호가 202210878214.3이고, 출원일이 2022년 7월 25일인 중국 특허 출원에 기반하여 제출하였으며, 상기 중국 특허 출원의 우선권을 주장하는 바, 상기 중국 특허 출원의 모든 내용은 참조로서 본 출원에 인용된다.
본 출원은 다리식 로봇 기술 분야에 관한 것이고, 구체적으로 다리식 로봇의 계획 제어 분야에 관한 것이며, 특히 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품에 관한 것이다.
인공 지능 및 다리식 로봇 기술이 민간 및 상업 분야에서 광범하게 적용됨에 따라, 인공 지능 및 다리식 로봇 기술에 기반한 다리식 로봇은 스마트 교통, 스마트 홈 등 분야에서 나날이 중요한 역할을 하며, 더욱 높은 요구에 직면해 있다.
현재, 다리식 로봇(예를 들어, 4족 다리식 로봇)은 이미 점프, 공중 회전 등과 같은 다양한 상이한 동작을 실행할 수 있다. 이러한 동작을 실행한 다리식 로봇이 착지되는 과정에 있어서, 종종 효과적인 제어 방안의 부족함으로 인해, 다리식 로봇이 착지되는 과정에서 동작이 경직되고, 각 관절에 과도한 충격이 가해지며, 몸체 리바운드가 비교적 큰 것을 초래한다. 심지어 착지될 때 가해지는 충격이 과도하여, 다리식 로봇이 파손된다.
특히 공중 회전 동작을 실행한 다리식 로봇의 경우, 다리식 로봇이 평면에 접촉되는 시각에, 몸체는 하나의 비교적 큰 피치를 가질 수 있으며, 앞다리와 뒷다리가 평면에 접촉되는 시각이 종종 일정한 차이가 발생되므로, 더욱 쉽게 넘어진다. 착지되는 과정에서의 다리식 로봇의 안정을 보장하기 위해, 공중 회전 동작을 실행하는 다리식 로봇은 자유 착지 동작을 실행하는 다리식 로봇에 비해 효과적인 제어 방안이 더욱 수요된다.
상기의 문제의 경우, 본 출원의 실시예는 다리식 로봇을 제어하는 방법, 장치, 기기. 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품을 제공한다.
본 출원의 실시예는 다리식 로봇을 제어하는 방법을 제공하며, 상기 다리식 로봇은, 베이스와 적어도 두 개의 로보틱 래그를 포함하고, 상기 각 로보틱 래그는 적어도 하나의 관절을 포함하며, 상기 방법은, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하는 단계 - 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치의 변화의 예상 궤적을 나타내고, 상기 제2 예상 궤적은 각 로보틱 래그의 발끝의 예상 궤적을 나타내며, 상기 발끝은 상기 베이스에서 멀리 떨어진 한 끝임 - ; 및 상기 다리식 로봇에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇의 베이스의 높이가 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하는 단계를 포함한다.
본 출원의 실시예는 다리식 로봇을 제어하는 장치를 제어하고, 상기 다리식 로봇은 베이스와 적어도 두 개의 로보틱 래그를 포함하며, 상기 각 로보틱 래그는 적어도 하나의 관절을 포함하고, 상기 다리식 로봇을 제어하는 장치는, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하도록 구성된 계획 계산 기기 - 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치의 변화의 예상 궤적을 나타내고, 상기 제2 예상 궤적은 각 로보틱 래그의 발끝의 예상 궤적을 나타내며, 상기 발끝은 상기 베이스에서 멀리 떨어진 한 끝임 - ; 및 상기 다리식 로봇의 질량 중심에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇의 베이스의 높이가 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하도록 구성된 제어 모터를 포함한다.
본 출원의 실시예는 다리식 로봇을 제공하고, 다리식 로봇은, 베이스부; 상기 베이스부에 연결된 하지부 - 상기 하지부는 네 개의 하지를 포함하고, 그 중 각 하지는 고관절의 두 개의 자유도와 무릎 관절의 1개의 자유도를 포함함 - ; 및 상기 다리식 로봇에 설치되고, 상기 다리식 로봇을 제어하는 방법을 실행 가능한 제어기를 포함한다.
본 출원의 실시예는 다리식 로봇을 제어하는 기기를 제어하고, 상기 기기는, 프로세서; 및 메모리를 포함하며, 상기 메모리에는 컴퓨터 실행 가능한 코드가 저장되어 있고, 상기 컴퓨터 실행 가능한 코드가 상기 프로세서에 의해 작동될 때, 상기 다리식 로봇을 제어하는 방법을 실행한다.
본 출원의 실시예는 비휘발성 컴퓨터 판독 가능한 저장 매체를 제공하고, 비휘발성 컴퓨터 판독 가능한 저장 매체에는 실행 가능한 코드가 저장되어 있으며, 상기 실행 가능한 코드가 프로세서에 의해 실행될 때, 상기 프로세서가 상기 다리식 로봇을 제어하는 방법을 실행하도록 한다.
본 출원의 실시예는 컴퓨터 프로그램 제품을 제공하고, 컴퓨터 실행 가능한 명령어 또는 컴퓨터 프로그램을 포함하며, 상기 컴퓨터 실행 가능한 명령어 또는 컴퓨터 프로그램이 프로세서에 의해 실행될 때 본 출원의 실시예에서 제공하는 다리식 로봇을 제어하는 방법을 구현한다.
본 출원의 실시예는, 자유 낙하 운동에서의 다리식 로봇에 대한 동역학 모델을 구축하고, 상기 동역학 모델에 기반하여, 다리식 로봇이 착지된 후의 질량 중심 운동 궤적과 발끝 위치 궤적을 계획하였으며, 계획된 질량 중심 운동 궤적과 발끝 위치 궤적에 기반하여, 각 모터의 제어 모멘트의 해를 구하고, 다리식 로봇을 제어한다. 이로써, 다리식 로봇이 착지되는 과정에 있어서, 각 관절이 비교적 작은 충격력만 받고, 몸체의 리바운드가 비교적 작으며, 피치 변화가 비교적 작은 것을 보장하고, 착지 기능을 보장함과 동시에 다리식 로봇에 우수한 항충격 보호 효과를 형성한다.
본 출원의 실시예의 기술방안을 더욱 명확하게 설명하기 위해, 실시예의 설명에 사용되어야 할 도면을 간단하게 소개한다. 명백하게, 아래의 설명에서의 도면은 본 출원의 일부 예시적인 실시예일 뿐, 본 기술분야의 기술자는 창조적 작업이 없이도 이들 도면에 따라 다른 도면을 획득할 수 있다. 아래의 첨부 도면은 본 출원의 취지를 보여주는데 중점을 두고, 실제 크기와 같은 비율로 의도적으로 축소되지 않았다.
도 1은 본 출원의 실시예에 따라 제공된 다리식 로봇의 예시도를 도시한다.
도 2는 본 출원의 실시예에 따라 제공된 다리식 로봇을 제어하는 방법의 흐름도를 도시한다.
도 3a는 본 출원의 실시예에서 제공한 다리식 로봇을 간략화하여 얻은 2차원 평면 모델에서의 가상 로봇의 예시도이다.
도 3b는 본 출원의 실시예에서 제공한 다리식 로봇의 공중 회전 과정에서의 각 단계의 예시도이다.
도 3c는 본 출원의 실시예에서 제공한 다리식 로봇이 평면에 접촉된 순간의 예시도이다.
도 4는 본 출원의 실시예에 따른 착지 과정에서의 다리식 로봇의 질량 중심의 위치 포즈의 변화 및 다리식 로봇의 간략화 모델에서 앞다리, 뒷다리의 힘을 받는 경우의 예시도를 도시한다.
도 5는 본 출원의 실시예에 따른 착지 과정에서의 다리식 로봇의 로보틱 래그가 평면에 접촉되는 예시도를 도시한다.
도 6은 본 출원의 실시예에 따라 제공된 3차 스플라인 보간의 계산 원리 예시도를 도시한다.
도 7a는 본 출원의 실시예에 따른 다리식 로봇이 공중 회전을 실행한 후 착지된 제1 동작의 예시도를 도시한다.
도 7b는 본 출원의 실시예에 따른 다리식 로봇이 공중 회전을 실행한 후 착지된 제2 동작의 예시도를 도시한다.
도 8은 본 출원의 실시예에 따라 제공된 다리식 로봇의 제어 시스템 아키텍처 예시도를 도시한다.
도 9는 본 출원의 실시예에 따른 다리식 로봇의 예시적 블록도를 도시한다.
본 출원의 실시예의 목적, 기술 방안과 장점이 더욱 명확하도록 하기 위해, 아래에 도면을 참조하여 본 출원에 따른 예시적 실시예를 상세하게 설명한다. 자명한 것은, 설명된 실시예는 다만 본 출원의 부분 실시예일 뿐이고, 본 출원의 전부의 실시예가 아니며, 본 출원은 여기에 설명된 예시적 실시예에 한정되지 않는 것을 이해해야 한다.
본 출원의 실시예와 청구범위에 나타낸 바와 같이, 상하 문맥에서 예외 경우가 명확하게 명시되지 않는 한, “하나”, “한 개”, “한 가지” 및 “상기” 등 중 적어도 하나의 단어는 특별한 단수를 지칭하는 것이 아니며, 복수를 포함할 수도 있다. 일반적으로, 용어 “포함하는”과 “포함됨”은 다만 명확하게 식별된 단계와 요소를 포함하는 것을 나타내며, 이러한 단계와 요소는 하나의 배타적인 나열을 구성하지 않으며, 방법 또는 기기도 다른 단계와 요소를 포함할 수 있다.
비록 본 출원의 실시예는 다리식 로봇을 제어하는 장치 중의 특정 일부 모듈을 다양하게 인용하였지만, 다양한 개수의 상이한 모듈은 사용자 단말 및 서버 중 적어도 하나에서 사용되거나 작동될 수 있다. 상기 모듈은 다만 설명적인 것이고, 상기 장치와 방법의 상이한 측면은 상이한 모듈을 사용할 수 있다.
본 출원의 실시예에서는 흐름도를 사용하여 다리식 로봇을 제어하는 방법과 장치에 의해 실행되는 조작을 설명한다. 이해해야 할 것은, 상기 또는 아래의 조작은 순서에 따라 정확하게 실행되는 것이 아닐 수 있다. 반대로, 수요에 따라, 거꾸로 또는 동시에 각 단계를 처리할 수 있다. 동시에, 다른 조작을 이러한 과정에 추가할 수 있고, 또는 이러한 과정에서 특정된 하나 또는 여러 단계 조작을 제거할 수 있다.
본 출원의 실시예에서 제공하는 다리식 로봇을 제어하는 방법과 장치를 용이하게 설명하기 위해, 아래에 본 출원의 실시예와 관련된 개념을 설명한다.
본 출원의 실시예에서 제공하는 다리식 로봇은 다리를 사용하여 이동하는 로봇이고, 동물을 생체 모방 대상으로 하며, 목적은 공학 기술과 과학 연구 성과에 의거하여 동물의 운동 형태를 시뮬레이션하고 동물의 운동 능력을 복제하는 것이다. 다리식 로봇은 다양한 환경(구조화 환경(예를 들어 도로, 철도, 처리된 평평한 노면 등)과 비구조화 환경(예를 들어 산지, 늪, 울퉁불퉁한 노면 등)을 포함함)에 대한 아주 강한 적응 능력을 구비하며, 지형의 다양한 변화에 적응할 수 있고, 비교적 높은 장애물을 넘을 수 있으며, 하중을 효과적으로 줄일 수 있고, 시스템의 에너지 이용 효율을 향상시킬 수 있다. 다리식 로봇은 발의 개수에 따라 단족, 2족, 4족, 6족 ,8족 등으로 나눌수 있으며, 그 중, 4족 다리식 로봇은 뛰어난 운동 능력을 가지고, 2족 다리식 로봇에 비해 정적 안정성이 좋고, 6족, 8족 다리식 로봇에 비해 운동이 간단하고 유연하므로, 4족 다리식 로봇은 다리식 로봇 연구의 흔한 선택이다. 4족 다리식 로봇의 걸음 걸이는 4족 다리식 로봇이 연속적으로 이동 가능하게 하기 위한, 시간과 공간에서의 4개의 다리의 조화로운 관계이다. 4족 다리식 로봇의 걸음 걸이는 4족 포유류의 걸음 걸이로부터 온 것이고, 걷기(walk), 트로트(trot)와 점프(bound)인 간략화된 세 가지 형태를 포함할 수 있지만 이에 한정되지 않는다.
본 출원의 실시예에서 제공한 다리식 로봇을 제어하는 방법은 인공지능(Artificial intelligence, AI)에 기반하여 구현된 것일 수 있다. 인공지능은 디지털 컴퓨터 또는 디지털 컴퓨터가 제어하는 머신을 이용하여 시뮬레이션하고, 사람의 지능을 연장 및 확장하며, 환경을 감지하고, 지식을 획득하며 지식을 사용하여 최적의 결과를 획득하는 이론, 방법, 기술 및 응용 시스템이다. 다시 말해, 인공지능은 컴퓨터 과학의 종합 기술이고, 이는 지능의 본질을 이해하며, 인류 지능과 유사한 방식으로 반응할 수 있는 새로운 스마트 머신을 생성하려는 것이다. 예를 들어, 인공지능에 기반한 다리식 로봇을 제어하는 방법의 경우, 인류가 살아있는 동물의 운동을 인도하는 것과 유사한 방식으로 다리식 로봇의 운동 궤적과 걸음 걸이를 계획할 수 있으므로, 다리식 로봇의 운동이 더욱 유연하게 모방할 수 있도록 한다. 인공지능은 다양한 스마트 머신의 설계 원리와 구현 방법을 연구하는 것을 통해, 본 출원의 실시예에서 제공하는 다리식 로봇을 제어하는 방법이 다리식 로봇의 현재 운동 상태에 기반한 다리식 로봇의 향후 운동 궤적과 걸음 걸이를 자동적이고 효율적으로 설계하는 기능을 가지도록 한다.
요약하면, 본 출원의 실시예에서 제공하는 방안은 인공지능, 머신 학습 등 기술에 관한 것이고, 아래에 도면을 결합하여 본 출원의 실시예에서 제공하는 다리식 로봇을 제어하는 방법 및 장치를 추가로 설명한다.
도 1은 본 출원의 실시예에 따라 제공된 다리식 로봇의 예시도를 도시하고, 도 1에 도시된 바와 같이, 4족 다리식 로봇을 예로 들면, 도 1에서의 왼쪽 도면은 예시 다리식 로봇의 내부 투시도를 도시하고, 오른쪽 도면은 예시 다리식 로봇의 외부 구조도를 도시한다.
상기 예시 다리식 로봇은 4개의 로보틱 래그에 기반하여 이동할 수 있다. 여기서, 각 로보틱 래그는 허벅지와 종아리를 포함할 수 있고, 각 로보틱 래그는 적어도 하나의 관절을 포함할 수 있다. 예를 들어, 각 로보틱 래그에는 복수 개의 하지 관절이 포함될 수 있고, 예를 들어, 고관절의 두 개의 자유도와 무릎 관절의 하나의 자유도이다.
이외에도, 각 로보틱 래그에는 또한 복수 개의 모터가 구성될 수 있고, 이러한 모터는 4족 다리식 로봇의 고관절의 두 개의 자유도와 무릎 관절의 하나의 자유도를 각각 제어하거나 조합하여 제어하는데 사용될 수 있다. 설명해야 할 것은, 다리식 로봇에는 또한 다양한 센서가 구성될 수 있고, 예를 들어, 관성 측정 유닛(Inertial Measurement Unit, IMU) 센서와 관절각 인코더 등이며; 여기서, IMU 센서는 다리식 로봇의 가속도와 포즈 정보를 실시간으로 제공할 수 있고, 관절각 인코더는 다리식 로봇의 각 관절의 관절각 정보(예를 들어, 관절각의 각도, 가속도 피드백 값 등)를 실시간으로 제공할 수 있다.
예시 다리식 로봇은 상기에서 언급된 복수 개의 모터의 제어 하에서, 공중 회전 또는 점프 등 동작을 실행할 수 있다. 그러나 이러한 동작을 실행하는 다리식 로봇은 최종적으로 모두 자유 착지의 형태로 평면에 떨어진다. 다리식 로봇의 자유 착지 과정 및 다리식 로봇이 평면에 접촉되는 과정에서 다리식 로봇을 제어하지 않으면, 다리식 로봇이 착지되는 과정에서 동작이 경직되고, 각 관절에 과도한 충격이 가해지며, 몸체의 리바운드가 비교적 큰 것을 초래할 수 있다. 심지어 일부 극단적인 경우, 다리식 로봇이 착지할 때 받는 충격이 과도하여, 다리식 로봇이 파손된다.
현재 산업계와 학계에서는 이미 다리식 로봇의 자유 낙하 과정을 제어하는 일부 제어 방안을 제안하였다. 예를 들어, 4족 다리식 로봇의 각 발끝이 평면에 접촉되는 과정을 x축과 z축 방향에서의 두 개의 가상 스프링의 작용 과정과 동등하게 하고, 비례-미분(Proportion Differentiation, PD) 제어 방안을 이용하여 가상 스프링의 강성과 댐핑 파라미터를 조절하면, 각 관절 모터의 출력 모멘트를 동등하게 도출할 수 있음으로써, 다리식 로봇이 유연하게 착지하도록 할 수 있다. 또한 로보틱 래그와 환경을 두 개의 상이한 RLC 모델에 각각 동등하게 할 수 있고, 이 두 개의 RLC 모델에 기반하여, 머신 학습 제어 방안 데이터 구동(data-driven)을 사용하여, 각 관절 모터의 출력 모멘트를 도출함으로써, 다리식 로봇이 유연하게 착지하도록 할 수 있다.
그러나 이러한 방안은, 모두 다리식 로봇의 로보틱 래그 모델 또는 환경 모델의 기초 위에 스프링 댐핑 모델을 구축하는 것만 고려하였으며, 다리식 로봇의 온라인 속도에서의 변화를 고려하지 않았을 뿐만 아니라, 다리식 로봇의 질량 중심이 각 속도에서의 변화도 고려하지 않음으로써, 제어 효과가 모두 한정적이다.
따라서, 상기 문제에 대해, 일 측면에 있어서, 본 출원의 실시예는 다리식 로봇을 제어하는 방법을 제공하며, 상기 다리식 로봇은 베이스와 적어도 두 개의 로보틱 래그를 포함하고, 상기 각 로보틱 래그는 적어도 하나의 관절응 포함하며, 상기 다리식 로봇을 제어하는 방법은, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하는 단계 - 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치의 변화의 예상 궤적을 나타내고, 상기 제2 예상 궤적은 각 로보틱 래그의 발끝의 예상 궤적을 나타냄 - ; 상기 다리식 로봇의 질량 중심에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇의 베이스의 높이가 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지, 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하는 단계를 포함한다.
다른 일 측면에 있어서, 본 출원의 실시예는 다리식 로봇을 제어하는 장치를 더 제공하고, 상기 다리식 로봇은 베이스와 적어도 두 개의 로보틱 래그를 포함하며, 상기 각 로보틱 래그는 적어도 하나의 관절을 포함하고, 상기 다리식 로봇을 제어하는 장치는, 상기 다리식 로봇이 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하도록 구성된 계획 계산 기기 - 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치의 변화의 예상 궤적을 나타내고, 상기 제2 예상 궤적은 각 로보틱 래그의 발끝의 예상 궤적을 나타냄 - ; 및 상기 다리식 로봇의 질량 중심에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇의 베이스의 높이가 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지, 상기 다리식 로봇 평면에 접촉된 후 각 관절의 동작을 제어하도록 구성된 제어 모터를 포함한다.
또 다른 일 측면에 있어서, 본 출원의 실시예는 다리식 로봇을 더 제공하고, 베이스부; 상기 베이스부에 연결된 하지부 - 상기 하지부는 네 개의 하지를 포함하고, 각 하지는 고관절의 두 개의 자유도와 무릎 관절의 하나의 자유도를 포함함 - ; 및 상기 다리식 로봇에 설치되고 상기 다리식 로봇을 제어하는 방법을 실행 가능한 제어기를 포함한다.
다리식 로봇에 사용되는 운동 제어 방안에 비해, 본 출원의 실시예에서 제공하는 다리식 로봇을 제어하는 방법은 다리식 로봇의 궤적과 걸음 걸이에 대한 계획을 자동적으로 구현할 수 있을 뿐만 아니라, 다리식 로봇이 착지하는 과정에서 각 관절이 받는 충격력을 줄일 수 있으며, 몸체 리바운드 폭 및 피치 변화 폭을 줄일 수 있고, 착지 기능을 보장함과 동시에, 다리식 로봇에 대한 우수한 항충격 보호 효과를 형성한다. 또한, 본 출원의 실시예에 있어서, 질량 중심의 피치 변화를 추가로 고려하였으므로, 공중 회전 동작을 실행하는 다리식 로봇의 착지 제어에 더욱 적합하다.
도 2는 본 출원의 실시예에서 제공하는 다리식 로봇에 사용되는 제어 방법(20)의 흐름도이다. 본 출원의 실시예에서 제공하는 다리식 로봇에 사용되는 제어 방법(200)은 도 2에 도시된 바와 같이, 단계 S201 내지 단계 S202를 포함할 수 있다. 전술한 바와 같이, 상기 다리식 로봇은 베이스와 적어도 두 개의 로보틱 래그를 포함하고, 상기 각 로보틱 래그는 적어도 하나의 관절을 포함한다.
단계 S201에 있어서, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하며, 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치의 변화의 예상 궤적을 나타내고, 상기 제2 예상 궤적은 각 로보틱 래그의 발끝의 예상 궤적을 나타낸다.
하나의 예로서, 단계 S201은 임의의 컴퓨터 기기에 의해 실행될 수 있다. 이 곳의 컴퓨터 기기는 단말 또는 서버일 수 있고; 또는, 이 곳의 컴퓨터 기기는 단말과 서버 공동에 의해 실행될 수도 있으며, 이에 대해 한정하지 않는다. 여기서, 단말은 스마트 폰, 컴퓨터(예를 들어, 테블릿 pc, 노트북, 데스크톱 컴퓨터 등), 스마트 웨어러블 기기(예를 들어, 스마트 워치, 스마트 안경), 스마트 음성 인터랙션 기기, 스마트 가전제품(예를 들어, 스마트 tv), 차량용 단말 또는 항공기 등일 수 있고; 서버는 독립적인 물리적 서버일 수 있으며, 복수 개의 물리적 서버로 구성된 서버 클러스터 또는 분산 시스템일 수도 있고, 또한 클라우드 서비스, 클라우드 데이터 베이스, 클라우드 컴퓨팅, 클라우드 함수, 클라우드 스토리지, 네트워크 서비스, 클라우드 통신, 미들웨어 서비스, 도메인 네임 서비스, 시큐리티 서비스, CDN(Content Delivery Network, 컨텐츠 전송 네트워크), 및 빅데이터와 인공지능 플랫폼 등 기본 클라우드 컴퓨팅 서비스를 제공하는 클라우드 서버 등일 수 있다. 나아가, 단말과 서버는 블록체인 네트워크 내 또는 블록체인 네트워크 밖에 위치할 수 있고, 이에 대해 한정하지 않으며; 더 나아가, 단말과 서버는 또한, 내부에 저장된 데이터가 변조되는 것을 방지하고, 데이터 안전성을 향상시키기 위해 내부에 저장된 어느 하나의 데이터를 블록체인 네트워크에 업로드하여 저장할 수 있다.
예를 들어, 다리식 로봇의 낙하 과정에서, 다리식 로봇의 각 로보틱 래그와 평면(예를 들어, 지면, 테이블 표면 등) 사이의 접촉 경우는 변화가 발생될 수 있으므로, 다리식 로봇이 평면에 접촉되는 과정에서 다양한 운동 형태를 가질 수 있도록 한다. 특히 공중 회전 동작을 실행하는 다리식 로봇이 낙하되는 과정에서, 다리식 로봇이 평면에 접촉될 때 통상적으로 일정한 피치를 가지므로, 다리식 로봇에 앞, 뒤 경사의 각 속도와 좌측, 우측 경사의 각 속도가 존재할 수 있다. 이 때, 다리식 로봇이 넘어지지 않도록 각 로보틱 래그의 관절 모멘트를 동적으로 조절해야 한다.
이를 위해, 다리식 로봇이 평면에 접촉되는 접촉 정보를 결정하고, 각 로보틱 래그가 모두 평면에 접촉되는 시각의 로봇의 포즈와 상태 정보에 기반하여 제1 예상 궤적과 제2 예상 궤적을 결정해야 한다. 다음 도 3a 내지 도 3c를 참조하여 다리식 로봇이 평면에 접촉되는 접촉 정보를 결정하는 방법의 실시예를 설명한다.
전술한 바와 같이, 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치의 변화의 예상 궤적을 나타낸다. 예를 들어, 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 각 타임 스텝에서 예상하는 위치 정보, 속도 정보, 가속도 정보, 각 속도 정보, 각 가속도 정보 등을 포함할 수 있다. 제1 예상 궤적은 각 타임 스텝에 대응되는 질량 중심의 관련 정보로 구성된 타이밍 값 시퀀스로 나타낼 수 있다. 일부 실시예에 있어서, 상기 타이밍 값 시퀀스에서의 각 요소는 6 개의 차원을 가질 수 있고, 특정된 타임 스텝에 대응되는 질량 중심의 x축 방향에서의 위치, 질량 중심의 y축 방향에서의 위치, 질량 중심의 z방향(중력 방향)에서의 위치, 다리식 로봇의 피치(pitch), 다리식 로봇의 요(yaw) 및 다리식 로봇의 롤(roll) 등을 각각 나타낸다. 물론 제1 예상 궤적은 다른 데이터 구조로 나타낼 수도 있으며, 본 출원의 실시예는 이에 대해 한정하지 않는다. 다음, 도 4를 참조하여 제1 예상 궤적을 결정하는 예의 방안을 설명한다.
각 로보틱 래그의 발끝은, 상기 베이스에서 멀리 떨어진 한 끝이며, 제2 예상 궤적은 각 로보틱 래그의 발끝의 예상 궤적을 나타낸다. 예를 들어, 제2 예상 궤적은 상기 각 로보틱 래그의 발끝의 각 타임 스텝에서 예상하는 위치 정보, 속도 정보, 가속도 정보, 각 속도 정보, 각 가속도 정보 등을 포함할 수 있다. 또 예를 들어, 제2 예상 궤적은 또한, 상기 각 로보틱 래그의 각 관절의 각 타임 스텝에서 예상하는 위치 정보, 속도 정보, 가속도 정보, 각 속도 정보, 각 가속도 정보 등을 포함할 수 있다. 유사하게, 제2 예상 궤적은 각 타임 스텝에 대응되는 각 로보틱 래그의 관련 정보로 구성된 타이밍 시퀀스로 나타낼 수 있다. 물론, 제2 예상 궤적은 또한, 다른 데이터 구조로 나타낼 수 있으며, 본 출원의 실시예는 이에 대해 한정하지 않는다. 다음, 도 5 내지 도 6을 참조하여 제2 예상 궤적을 결정하는 예의 방안을 설명한다.
여기서, 하나의 타임 스텝은 또한 하나의 프레임으로 지칭될 수 있다. 인접된 타임 스텝 사이의 시간차는 동일할 수 있고, 상이할 수도 있다. 예를 들어, 다리식 로봇이 방금 평면에 접촉된 일정한 시간 동안에, 다리식 로봇의 동작과 다리식 로봇이 받는 힘이 모두 급격히 변화되므로, 타임 스텝 사이의 차이도 하나의 차이 임계값보다 작은 비교적 작은 값으로 설정될 수 있음으로써, 이전의 다리식 로봇의 동작 제어가 충분히 유연하도록 보장하는 것을 구현한다. 반면, 다리식 로봇이 점차 안정된 상태에 도달하는 과정에서, 연산력을 절약하기 위해 타임 스텝 사이의 차이는 상기 차이 임계값보다 큰 비교적 큰 값으로 설정될 수 있다. 본 출원의 실시예는 인접된 타임 스텝 사이의 시간차에 대해 한정하지 않는다.
단계 S202에 있어서, 상기 다리식 로봇에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇의 베이스의 높이가 변하지 않고 상기 다리식 로봇의 경사각 방향의 회전각이 0이 될 때까지, 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어한다.
상기 다리식 로봇에 대응되는 동역학 모델은 상기 다리식 로봇 운동 과정에서의 각 관절과 질량 중심 각도, 각 속도, 각 가속도와 관절 모멘트 및 외계 접촉력과의 변화 관계를 나타내기 위한 것이다. 예를 들어, 상기 동역학 모델은 에너지 변화의 관점으로 상기 변화 관계를 설명할 수 있다. 상기 동역학 모델은 또한 운동량 변화 또는 힘을 받는 변화의 관점으로 상기 변화 관계를 설명할 수 있다. 본 출원의 실시예는 이에 대해 한정하지 않는다.
상기 다리식 로봇이 평면에 접촉되게 낙하되는 순간으로부터, 상기 다리식 로봇이 평면 위에 안정하게 서 있을 때까지의 과정에서, 다리식 로봇이 받는 작용력에는 중력, 각 관절 모터의 구동력 및 평면이 상기 다리식 로봇을 향해 제공한 접촉력(또는 지탱력으로 지칭됨)이 포함된다. 이 세 개의 힘 및 다리식 로봇 본체의 각 부분의 사이즈, 질량, 관성 모멘트, 관절 연결 방식 등 정보에 기반하여, 상기 다리식 로봇에 대응되는 동역학 모델을 설정한다. 상이한 포즈의 다리식 로봇이 받는 접촉력과 구동력은 상이하다. 상기 다리식 로봇에 대응되는 동역학 모델에 기반하여, 각 타임 스텝에서의 상기 다리식 로봇과 상기 평면 사이의 접촉력을 결정하여, 상기 다리식 로봇의 질량 중심의 실제 궤적이 상기 제1 예상 궤적에 부합되도록 한다.
일부 실시예에 있어서, 상기 다리식 로봇에 대응되는 동역학 모델 및 각 타임 스텝에서의 상기 평면과 상기 다리식 로봇 사이의 접촉력에 기반하여, 또한 각 관절 모터가 각 타임 스텝에서 제공하는 모터 모멘트를 결정할 수 있으므로, 상기 각 로보틱 래그의 발끝의 궤적이 상기 제2 예상 궤적에 부합되도록 한다.
유의해야 할 것은, 본 출원의 실시예에서 상기의 “부합”은 실제 기계가 실제로 테스트할 때, 상기 다리식 로봇의 질량 중심의 실제 궤적과 상기 제1 예상 궤적이 아주 근접하거나 동일하며, 상기 각 로보틱 래그의 발끝의 궤적과 상기 제2 예상 궤적이 아주 근접하거나 심지어 동일한 것을 가리킨다. 관절 모터 성능의 한정으로 인해, 관절 모터는 종종 이상적인 모멘트를 출력할 수 없다. 동시에, 외계 환경의 변화(예를 들어, 갑자기 바람이 발생하는 등 다른 소동)를 고려하여, 종종 제1 예상 궤적과 제2 예상 궤적에 완전히 부합되도록 다리식 로봇을 제어하기 어렵다. 따라서, 본 출원의 실시예는 다만 실제 궤적과 예상 궤적 사이의 차이가 충분히 작으면 된다.
일부 실시예에 있어서, 상기 다리식 로봇에 대응되는 동역학 모델에 기반하여, 상기 다리식 로봇의 질량 중심이 각 타임 스텝에서 상기 제1 예상 궤적이 나타내는 위치, 속도, 가속도, 각 속도, 각 가속도에 도달하는데 수요되는 접촉력을 결정할 수 있고, 상기 접촉력은 평면이 각 로보틱 래그의 발끝을 향해 제공하는 지탱력이다. 또한, 상기 다리식 로봇에 대응되는 동역학 모델 및 상기 접촉력에 기반하여, 상기 다리식 로봇의 로보틱 래그가 각 타임 스텝에서 상기 제2 예상 궤적이 나타내는 포즈에 도달하는데 수요되는 관절 제어 정보를 추가로 결정할 수 있다.
일부 실시예에 있어서, 상기 관절 제어 정보는 각 관절 모터의 가속도일 수 있고, 관절 모터의 모멘트일 수도 있다. 수학적 의미로부터 보면, 이 두 개의 물리량은 관절 모터 회전을 제어하는 제어 정보로서 큰 구별점이 없지만, 실제 물리 시스템에서, 이 두 개의 물리량이 모두 정확하게 측정될 수 있는 것은 아니다. 따라서, 구체적 경우에 따라, 데이터 테스트 효과가 비교적 좋고, 모델에 비교적 부합되는 물리량을 선택하여 향후 계산할 수 있다.
관련 기술에 있어서, 다리식 로봇에 대한 제어 방안은 모두 다리식 로봇의 질량 중심 궤적의 계획을 고려하지 않고, 스프링 모델만을 고려하였으므로, 착지 과정에서 정확한 제어를 구현하기 어렵다. 이에 비해, 본 출원의 실시예에서 제공하는 다리식 로봇의 제어 방법은 다리식 로봇의 궤적과 걸음 걸이에 대한 계획을 자동적으로 구현할 수 있을 뿐만 아니라, 다리식 로봇이 착지되는 과정에서, 각 관절이 받는 충격력을 줄이고, 기계 몸체 리바운드 폭 및 피치 변화 폭을 줄일 수 있으며, 착지 기능을 보장함과 동시에 다리식 로봇에 우수한 항충격 보호 효과를 형성할 수 있다. 또한, 본 출원의 실시예에서, 질량 중심의 피치의 변화를 고려하였으며, 공중 회전 동작을 실행하는 다리식 로봇의 착지의 제어에 더욱 적합하다.
도 3a는 본 출원의 실시예에서 제공한 다리식 로봇을 간략화하여 얻은 2차원 평면 모델에서의 가상 로봇의 예시도이다. 도 3b는 본 출원의 실시예에서 제공한 다리식 로봇이 공중 회전 과정에서의 각 단계의 예시도이다. 도 3c는 본 출원의 실시예에서 제공한 다리식 로봇이 평면에 접촉된 순간의 예시도이다.
도 3a를 참조하면, 다리식 로봇은 하나의 2차원 평면(x축(수평축)과 z축(세로축)에 구성된 평면) 내에서의 운동과 근사할 수 있으므로; 다리식 로봇의 자체 질량, 형태의 비대칭 및 모터의 제어 착오 등을 고려하지 않으면, 다리식 로봇을 2차원 평면 모델에서의 가상 로봇으로 간략화 함으로써, 상기 가상 로봇에 대한 제어 및 상태 추정을 수행할 수 있다. 가상 로봇은 하나의 가상 앞다리와 하나의 가상 뒷다리를 포함할 수 있다. 여기서, 가상 앞다리는 도 1에서의 다리식 로봇의 두 개의 앞다리를 동등 처리하여 얻은 것이고, 상기 가상 앞다리는 4족 로봇의 좌, 우 양측의 앞 로보틱 래그를 중합하여 얻은 것일 수 있으며; 가상 뒷다리는 다리식 로봇의 두 개의 뒷다리를 동등 처리하여 얻은 것이고, 상기 가상 뒷다리는 다리식 로봇의 좌, 우 양측의 뒷다리를 중합하여 얻은 것일 수 있다.
도 3b를 참조하면, 다리식 로봇이 뒤로의 공중 회전 동작을 수행하는 중의 네 개의 단계를 도시한다.
제1 단계에 있어서, 가상 로봇의 가상 앞다리와 가상 뒷다리는 동시에 평면에 접촉되고, 전체 과정은 가상 로봇이 가상 뒷다리를 위치점으로 사용하여, 가상 앞다리가 힘을 내어 땅을 미는 과정을 포함하며, 가상 로봇은 평면의 반작용력을 받고, 이어지는 단계에서 가상 앞다리는 평면을 떠나며, 가상 뒷다리만 평면에 접촉된다. 상기 단계는 가상 앞다리가 평면을 떠나는 순간 종료된다. 제1 단계에 있어서, 2차원 평면 모델에서의 가상 로봇과 평면의 가상 접촉 포인트 개수(contact point)는 2개이며, 즉 가상 앞다리와 평면의 가상 접촉 포인트 및 가상 뒷다리와 평면의 가상 접촉 포인트를 포함한다.
제2 단계에 있어서, 가상 로봇의 가상 앞다리가 평면을 떠나는 순간으로부터 시작하여, 가상 로봇의 가상 앞다리와 가상 뒷다리가 동시에 평면을 떠날 때까지의 과정이다. 전체 과정은 가상 로봇이 가상 뒷다리와 평면 사이의 접촉 포인트를 원심으로 하여 회전하는 과정을 포함하고, 제2 단계에서, 2차원 평면 모델에서의 가상 로봇과 평면의 가상 접촉 포인트의 개수는 1개이며, 즉 가상 뒷다리와 평면의 가상 접촉 포인트를 포함한다.
제3 단계에 있어서, 가상 로봇의 가상 앞다리와 가상 뒷다리가 동시에 평면을 떠난 때로부터 시작하여, 가상 로봇의 특정 하나의 다리 또는 복수 개의 다리가 평면에 접촉될 때까지이다. 가상 로봇이 공중 질량 중심의 포즈에서 360도 가까이 회전하는 과정을 포함하고, 제3 단계에 있어서, 2차원 평면 모델에서의 가상 로봇과 평면의 가상 접촉 포인트의 개수는 0이다.
제4 단계에 있어서, 가상 로봇의 가상 앞다리가 평면에 접촉될 때부터 시작하여, 가상 로봇의 가상 앞다리와 가상 뒷다리가 모두 평면에 낙하된 다음, 점차 안정될 때까지이다. 제4 단계에 있어서, 가상 앞다리와 가상 뒷다리가 모두 착지된 후, 2차원 평면 모델에서의 가상 로봇과 평면의 가상 접촉 포인트의 개수는 2개이며, 즉 가상 앞다리와 평면의 가상 접촉 포인트 및 가상 뒷다리와 평면의 가상 접촉 포인트를 포함한다.
본 출원의 실시예에서 제공하는 다리식 로봇을 제어하는 방법은, 제4 단계에서 가상 앞다리와 가상 뒷다리가 평면에 낙하된 다음 점차 안정되는 과정에 주로 적용된다. 도 3c를 참조하면, 착지 완충을 하려면, 현재 시각에서의 각 로보틱 래그와 평면 사이의 정보를 결정하고, 상기 접촉 정보에 기반하여 제1 예상 궤적과 제2 예상 궤적의 계산을 시작하였는지 여부를 판단해야 한다. 현재 시각은, 다리식 로봇이 착지되는 과정에서, 시간이 지남에 따라, 가장 최근에 도달하는 시스템 시각을 가리킨다. 예를 들어, 현재 시각에서의 각 로보틱 래그와 평면 사이의 접촉 정보는, 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되었는지 여부, 각 로보틱 래그와 평면으로 이루어진 협각, 각 로보틱 래그와 평면의 접촉 포인트의 개수, 각 접촉 포인트의 위치, 가상 로봇과 평면의 가상 접촉 포인트 개수, 가상 접촉 포인트의 위치 등 정보 중의 적어도 하나를 포함하여, 상기 다리식 로봇의 제1 예상 궤적과 제2 예상 궤적을 결정한다.
일부 실시예에 있어서, 상기 접촉 정보는 현재 시각에서의 상기 다리식 로봇에 대응되는 현재 상태 정보를 통해 결정된다.
일부 실시예에 있어서, 도 8을 참조하면, 다리식 로봇에서의 IMU 센서(801)를 호출하여 상기 다리식 로봇의 현재 상태 정보를 결정할 수 있다. 예를 들어, IMU 센서(801)를 통해 현재 시각에서의 다리식 로봇의 가속도 정보(가속도 정보는 복수 개의 방향(예를 들어 세로 수직 방향, 수평 방향)에서의 다리식 로봇의 가속도를 포함할 수 있음)과 현재 포즈 정보를 수집할 수있고, 관절각 인코더(802)를 호출하여 현재 시각에서의 다리식 로봇의 각 관절의 관절각 정보(예를 들어, 관절각의 각도, 각 속도 피드백 값 등)를 결정할 수 있다. 다음, 현재 포즈 정보와 관절각 정보(예를 들어, 관절각의 각도, 각 속도 피드백 값)를 다리부 오도메트리(Leg odometry)(803)에 입력하여 위치 정보를 계산할 수 있다. 상기 위치 정보는, 현재 시각에서의 다리식 로봇의 각 로보틱 래그의 위치를 포함할 수 있다. 또한, 가속도 정보를 상태 공간 관측기(804)에 입력할 수 있고, 상태 공간 관측기(804)는 가속도 정보와 과거에 얻은 현재 시각에서의 다리식 로봇의 상태 추정 결과에 기반하여, 위치 관측 결과를 출력할 수 있다. 상기 위치 관측 결과는, 현재 시각에서의 관측된 다리식 로봇의 각 로보틱 래그의 위치를 포함할 수 있고; 여기서, 현재 시각에서의 다리식 로봇의 상태 추정 결과는, 현재 시각에서의 이전 시각에 도달하였을 때, 현재 시각에서의 다리식 로봇의 상태를 추정하여 얻은 것일 수 있으며, 얻은 추정 결과는 벡터 또는 다른 데이터 구조에 저장될 수 있고, 이에 대해 한정하지 않는다. 다음, 위치 정보와 위치 관측 결과에 따라, 현재 시각에서의 다음 시각에서의 다리식 로봇의 상태를 추정할 수 있다.
예를 들어, 위치 정보와 위치 관측 결과를 확장 칼만 필터(Extended Kalman Filter, EKF) 유닛(805)의 입력 데이터로 사용하여, 상기 EKF 유닛을 통해 상태 추정을 수행함으로써, 다음 시각에서의 다리식 로봇의 상태 추정 결과를 얻을 수도 있다. 소위 확장 칼만 필터는 표준 칼만 필터(칼만 필터로 약칭함)가 비선형 경우에서의 확장 형태이며, 이는 비선형 함수를 테일러 전개하고, 고차항을 생략하며, 전개항의 1차항을 유지하여, 비선형 함수의 선형화를 구현할 수 있다. 일부 실시예에 있어서, 위치 정보와 위치 관측 결과를 칼만 필터 유닛의 입력 데이터로 사용하거나 머신 학습에 기반하여 얻은 상태 추정 모델의 입력 데이터로도 사용할 수 있으며, 칼만 필터 유닛 또는 상태 추정 모델을 통해 상태 추정을 수행하여, 다음 시각에서의 다리식 로봇의 상태 추정 결과를 얻는다. 여기서, 다음 시각에서의 다리식 로봇의 상태 추정 결과는, 다리식 로봇의 제어와 다음 상태를 추정할 때의 상태 공간 관측기의 입력에 동시에 사용될 수 있고; 다시 말해, 상태 추정을 통해 얻은 상태 추정 결과는 다리식 로봇의 피드백 제어를 위한 것일 수 있음으로써, 폐쇄 루프를 형성한다.
이상은 다만 현재 상태 정보를 획득하는 일부 예일 뿐, 본 출원의 실시예에 있어서, 도 8을 더 참조하여 현재 상태 정보를 획득하는 방안을 설명한다. 아래에 상기 다리식 로봇의 현재 상태 정보에 따라 접촉 정보를 결정하는 방법의 몇 가지의 실시형태를 설명한다.
임의의 로보틱 래그와 평면 사이의 접촉 정보에 변화가 발생될 때, 로보틱 래그에 대응되는 어느 한 항의 상태값에 돌변이 발생될 수 있으므로, 로보틱 래그의 현재 상태값을 통해 현재 시각에서의 로보틱 래그와 평면 사이의 접촉 정보를 판단할 수 있다. 일부 실시예에 있어서, 현재 상태 정보에 따라 접촉 정보를 결정하는 방식은, 현재 시각의 이전 시각에서의 어느 하나의 로보틱 래그의 과거 상태 값을 획득하고, 현재 상태 정보로부터 어느 하나의 로보틱 래그의 현재 상태값을 결정함으로써, 과거 상태값에 따라, 어느 하나의 로보틱 래그의 현재 상태값에 돌변이 존재하는지 여부를 판단할 수 있다.
본 출원의 실시예에 있어서, 현재 상태값에 돌변이 존재한 것은 현재 상태값과 과거 상태값 사이의 차이값이 기설정된 차이값보다 큰 것을 가리킨다. 이에 기반하여, 과거 상태값과 어느 한 항의 현재 상태값 사이의 차이값을 계산할 수 있고; 계산된 차이값이 기설정된 차이값보다 크면, 현재 상태값에 돌변이 존재한 것으로 판정하고; 계산된 차이값이 기설정된 차이값보다 크지 않으면, 현재 상태값에 돌변이 존재하지 않은 것으로 판정한다. 예를 들어, 과거 상태값을 20으로, 기설정된 차이값을 50으로 설정하고; 현재 상태값이 100이면, 100에서 20을 감하면 80이고, 80은 50보다 크므로, 현재 상태값에 돌변이 존재하는 것으로 간주할 수 있고; 현재 상태값이 30이면, 30에서 20을 감하면 10이고, 10은 50보다 작으므로, 현재 상태값에 돌변이 존재하지 않은 것으로 간주할 수 있다.
과거 상태값에 따라 어느 하나의 로보틱 래그의 현재 상태값에 돌변이 존재하는 것으로 판정하고, 상기 로보틱 래그의 현재 상태값이 과거 상태값보다 크면, 현재 시각에서 상기 로보틱 래그는 평면에 접촉된 것으로 결정한다. 과거 상태값에 따라 어느 하나의 로보틱 래그의 현재 상태값에 돌변이 존재하지 않은 것으로 판정하면, 이전 시각에서의 상기 로보틱 래그와 평면 사이의 접촉 정보를 현재 시각의 접촉 정보로 사용한다. 즉, 이전 시각에서 어느 하나의 로보틱 래그가 평면에 접촉되면, 현재 시각에서의 상기 로보틱 래그도 평면에 접촉된 것으로 결정하며; 이전 시각에서의 어느 하나의 로보틱 래그가 평면에 접촉되지 않으면, 현재 시각에서의 상기 로보틱 래그도 평면에 접촉되지 않은 것으로 결정한다.
예를 들어, 일부 실시예에 있어서, 상기 현재 상태 정보는, 각 로보틱 래그의 관절 모터 모멘트 또는 전류값 또는 전압값을 포함할 수 있다.
일반적으로, 다리식 로봇의 로보틱 래그가 평면(예를 들어, 땅에 닿지 않음)에 접촉되지 않고 허공에 뜰 때, 로보틱 래그의 하중은 다만 로보틱 래그의 질량이고, 다리식 로봇의 로보틱 래그 질량이 전체의 질량에 비해 무시될 수 있으므로, 하중이 비교적 작고, 각 관절의 피드백 전류값 및 관절 모터 모멘트는 상대적으로 비교적 작다. 반면, 다리식 로봇의 로보틱 래그가 평면(예를 들어, 땅에 닿음)에 접촉될 때, 다리식 로봇의 하중은 자신 전부의 질량에 자신의 관성을 추가한 작용 하에서 아래로 이동하는 동등 관성력으로 변하므로, 하중이 비교적 크고, 각 관절의 피드백 전류값 및 관절 모터 모멘트가 상대적으로 비교적 크다. 이에 기반하여, 관절 모터 모멘트 또는 피드백 전류값이 비교적 작은 값으로부터 갑자기 커진 것으로 측정될 때, 다리식 로봇이 공중으로부터 평면(예를 들어 평면)을 향해 착지한 것으로 간주한다.
또 예를 들어, 일부 실시예에 있어서, 상기 현재 상태 정보는 다리식 로봇의 질량 중심 높이, 질량 중심 포즈, 각 로보틱 래그에 대응되는 현재 관절각 정보를 포함할 수 있다.
일부 실시예에 있어서, 외부 시각 또는 동작 포착 시스템에 의해 검출된 다리식 로봇 질량 중심 높이와 질량 중심 포즈 및 다리식 로봇의 각 관절각 정보에 따라, 다리식 로봇의 발끝이 평면에 접촉된 시각을 결정함으로써, 상응하는 로보틱 래그가 현재 시각에서 평면에 접촉되었는지 여부를 판단할 수 있다.
여기서, 현재 상태 정보에 따라 현재 시각에서의 로보틱 래그와 평면 사이의 접촉 정보를 검출하는 방식은, 질량 중심 높이, 질량 중심 포즈 및 어느 하나의 로보틱 래그에 대응되는 현재 관절각 정보에 따라, 어느 하나의 로보틱 래그로부터 상기 평면까지의 높이를 계산하는 방식; 계산된 높이가 높이 임계값(예를 들어, 값 0 또는 0.005 등임)보다 작거나 같으면, 어느 하나의 로보틱 래그가 현재 시각에 평면에 접촉된 것으로 결정하는 방식; 및 계산된 높이가 높이 임계값보다 크면, 어느 하나의 로보틱 래그가 현재 시각에 평면에 접촉되지 않은 것으로 결정하는 방식을 포함한다.
또 예를 들어, 일부 실시예에 있어서, 상기 현재 상태 정보는, 각 로보틱 래그에 대응되는 현재 발밑 촉각 피드백 값을 포함할 수 있고, 발밑 촉각 피드백 값은 상응한 다리의 발밑 촉각 센서를 통해 생성된다.
일부 실시예에 있어서, 발밑 촉각 센서를 통해 상응한 다리가 현재 시각에 평면에 접촉되는지 여부를 판단할 수 있다. 또한, 어느 하나의 발밑 촉각 센서가 상응한 다리와 상기 평면이 접촉된 것을 검출할 때, 제1 값을 생성하여 발밑 촉각 피드백 값으로 사용하고, 상응한 다리가 상기 평면에 접촉되지 않은 것을 검출할 때, 제2 값을 생성하여 발밑 촉각 피드백 값으로 사용하며; 이 곳의 제1 값과 제2 값은 실제 수요에 따라 설정될 수 있고, 예를 들어, 제1 값은 값이 1이고, 제2 값은 값이 0이며, 또는 제1 값은 값이 0이고, 제2 값은 값이 1인 것 등이다. 여기서, 현재 상태 정보에 따라 현재 시각에서의 로보틱 래그와 평면 사이의 접촉 정보를 검출하는 방식은, 현재 상태 정보로부터 로보틱 래그에 대응되는 현재 발밑 촉각 피드백 값을 획득하는 단계; 획득된 현재 발밑 촉각 피드백 값이 제1 값이면, 어느 하나의 로보틱 래그가 현재 시각에 평면에 접촉된 것으로 결정하는 방식; 및 획득된 현재 발밑 촉각 피드백 값이 제2 값이면, 어느 하나의 로보틱 래그가 현재 시각에 평면에 접촉되지 않은 것으로 결정하는 방식을 포함한다.
일부 실시예에 있어서, 상기 현재 상태 정보는, 다리식 로봇이 세로 수직 방향에서의 현재 가속도를 포함한다. 현재 시각의 이전 시각에서, 다리식 로봇의 세로 수직 방향에서의 과거 가속도는 기지된 것으로 가정하고; 과거 가속도에 따라 현재 가속도에 돌변이 발생된 것으로 판정하면, 다리식 로봇이 착지된 것으로 결정한다.
실천을 거쳐, 다리식 로봇이 평면에 안정되게 서 있을 때, IMU 센서에 의해 수집된 다리식 로봇의 z방향에서의 가속도는 1 배의 중력 가속도 값 g이고; 다리식 로봇이 공중에서 완전히 중력을 잃은 상태일 때, IMU 센서에 의해 수집된 다리식 로봇의 z방향에서의 가속도는 0에 가까우며; 다리식 로봇이 평면에서 발에 힘을 주어 평면을 딛고 날아오를 준비를 하는 과정 및 착지 후 평면을 향해 완충하는 과정에서, IMU 센서에 의해 수집된 다리식 로봇의 z방향에서의 가속도는 모두 1 배의 중력 가속도 g보다 큰 것을 표명한다. 이로부터 알 수 있다시피, 다리식 로봇이 착지되는 순각에 있어서, 다리식 로봇의 세로 수직 방향에서의 가속도에는 돌변이 발생된다.
상기 실시예에 있어서, 현재 가속도에 돌변이 존재한 것은 현재 가속도와 과거 가속도 사이의 차이값이 차이값 임계값보다 큰 것을 가리키고; 이에 기반하여, 컴퓨터 기기는 과거 가속도와 현재 가속도 사이의 차이값을 계산할 수 있으며; 계산된 차이값이 차이값 임계값보다 크면, 현재 가속도에 돌변이 발생된 것으로 판정하고; 계산된 차이값이 차이값 임계값보다 크지 않으면, 현재 가속도에 돌변이 발생되지 않은 것으로 판정한다. 예를 들어, 과저 가속도를 2로, 차이값 임계값을 5로 설정하고; 현재 가속도가 9이면, 9에서 2를 감하면 7이고, 7은 5보다 크므로, 현재 가속도에 돌변이 발생된 것으로 간주할 수 있고; 현재 가속도가 4이면, 4에서 2를 감하면 2이고, 2는 5보다 작으므로, 현재 가속도에 돌변이 발생되지 않은 것으로 간주할 수 있다.
이해해야 할 것은, 상기는 다만 로보틱 래그의 접촉 정보의 일부 구현 과정을 예시적으로 설명할 뿐, 결코 전부 예인 것은 아니다. 본 출원의 실시예는 이에 대해 한정하지 않는다.
다음, 도 4를 참조하여 다리식 로봇의 제1 예상 궤적을 결정하는 방법을 설명한다. 도 4는 본 출원의 실시예에서 제공하는 다리식 로봇이 착지되는 과정에서의 질량 중심의 위치 포즈의 변화 및 다리식 로봇의 간략화 모델에서 앞, 뒤 다리의 힘을 받는 경우의 예시도이다.
도 4에는 여섯 개의 곡선을 도시하였으며, 각각 제1 추력 곡선, 제2 추력 곡선, 질량 중심 높이 곡선, 질량 중심 속도 곡선, 피치 곡선 및 각 속도 곡선이다. 이 여섯 개의 곡선은 제1 예상 궤적에 대응된다. 이 여섯 개의 곡선의 초기 조건은 동일하며, 여기서, 착지 시각의 초기 높이는 0.35 m이고, 착지 시각의 초기 속도는 -2.3 m/s이며, 안정 시각의 마지막 높이는 0.28 m이고, 착지 시각의 피치는 0.05 rad이며, 착지 시각의 피치 각 속도는 9 rad/s이고, 착지 시각에 받는 충격력 상한은 240N이며, 전체 과정에서 받는 충격력의 상한은 240N이다.
제1 추력 곡선은 다리식 로봇이 착지되는 과정에서의 타임 스텝에 따른 앞다리의 추력의 변화를 나타내고, x축은 타임 스텝이고, y축은 제1 추력인 f1의 추력 크기(단위는 뉴턴)이다. 제1 추력 곡선이 나타낸 바와 같이, 상기 다리식 로봇이 평면에 접촉된 후, 상기 다리식 로봇의 앞다리의 추력은 먼저 점차 상승한 후 다시 점차 감소되고, 이후 안정값까지 다시 점차 상승한다.
제2 추력 곡선은 다리식 로봇이 착지되는 과정에서의 타임 스텝에 따른 뒷다리의 추력의 변화를 나타내고, x축은 타임 스텝이고, y축은 제2 추력인 f2의 추력 크기(단위는 뉴턴)이다. 제2 추력 곡선이 나타낸 바와 같이, 상기 다리식 로봇의 뒷다리가 평면에 접촉된 후, 뒷다리의 추력은 일정한 시간 동안 가장 높은 값을 유지한 후 점차 감소되고, 이후 안정값까지 다시 점차 상승한다.
질량 중심 높이 곡선은 다리식 로봇이 착지되는 과정에서의 타임 스텝에 따른 질량 중심 높이의 변화를 나타내고, x축은 타임 스텝이고, y축은 높이(단위는 센티미터)이다. 상기 곡선은 z방향에서의 제1 예상 궤적의 변화를 예시적으로 나타낸다. 질량 중심 높이 곡선이 나타낸 바와 같이, 상기 다리식 로봇이 평면에 접촉된 후, 상기 다리식 로봇의 질량 중심의 높이는 점차 감소된 다음 점차 상승한다.
질량 중심 속도 곡선은 다리식 로봇이 착지하는 과정에서의 타임 스텝에 따른 중력 방향에서(z방향 위에서)의 질량 중심의 속도의 변화를 나타내고, x축은 타임 스텝이고, y축은 속도(단위는 메터/초)이다. 상기 곡선은 Z방향에서의 제1 예상 궤적의 속도 변화를 예시적으로 나타낸다. 속도 곡선이 나타낸 바와 같이, 상기 다리식 로봇이 평면에 접촉된 후, 세로 수직 방향에서의 상기 다리식 로봇의 질량 중심의 속도는 점차 상승한 다음 0까지 점차 감소된다.
피치 곡선은 다리식 로봇이 착지되는 과정에서의 타임 스텝에 따른 피치의 변화를 나타내고, x축은 타임 스텝이고, y축은 피치 각도(단위는 라디안)이다. 상기 곡선은 제1 예상 궤적에서의 피치의 변화를 예시적으로 나타낸다. 피치 곡선이 나타낸 바와 같이, 상기 다리식 로봇이 평면에 접촉된 후, 상기 다리식 로봇의 피치의 각도값은 점차 증가한 후 0까지 점차 감소된다.
각 속도 곡선은 다리식 로봇이 착지되는 과정에서의 타임 스텝에 따른 피치의 변화를 나타내고, x축은 타임 스텝이고, y축은 피치 각 속도(단위는 라디안/초)이다. 상기 곡선은 제1 예상 궤적에서의 피치의 각 속도 변화를 예시적으로 나타낸다. 각 속도 곡선이 나타낸 바와 같이, 상기 다리식 로봇이 평면에 접촉된 후, 상기 다리식 로봇의 피치의 각 속도는 0까지 점차 감소된 후 역방향으로 증가된 다음 0까지 점차 감소된다.
도 4에 도시된 바와 같이, 다리식 로봇은 먼저 비교적 큰 가속도로 어느 하나의 앞다리가 평면에 접촉되게 낙하된다. 이때, 평면에 접촉된 로보틱 래그는 평면이 주는 비교적 큰 작용력을 견디며, 질량 중심이 하강하는 속도가 점차 감소된다. 네 개의 로보틱 래그가 순차적으로 평면에 접촉됨에 따라, 네 개의 로보틱 래그는 함께 평면이 다리식 로봇에 대한 작용력을 견디고, 다리식 로봇의 질량 중심이 예상한 정지 높이까지 도달하고 피치의 각도가 0에 가까워질 때까지, 평면과의 접촉을 항상 유지한다.
이에 기반하여, 다리식 로봇이 착지되는 과정에서의 완충 효과를 구현하고, 다리식 로봇의 기계 몸체 리바운드 폭을 줄이기 위해, 도 4의 질량 중심 높이 곡선과 피치 곡선에 기반하여, 최적화 타깃을 설정하여, 예상 궤적이 예상한 완충 효과를 가능한 한 구현하도록 할 수 있다. 예를 들어, 최적화 타깃은 오버 슈트가 비교적 작고, 시간에 따른 피치의 변화의 적분이 비교적 작으며, 시간에 따른 세로 수직 방향의 높이의 적분이 비교적 작고, 최저 높이가 특정된 안전 임계치보다 높으며, 힘의 변화에 돌변이 발생하지 않아야 하고, 세로 수직 방향의 높이의 변화 속도가 일정한 구속 조건을 만족해야 하는 등일 수 있다.
일부 실시예에 있어서, 다리식 로봇에 대응되는 근사 모델을 사용하여 상기 다리식 로봇의 질량 중심 예상 궤적(즉, 제1 예상 궤적)을 결정한다. 상기 근사 모델에 있어서, 상기 다리식 로봇은 단일 강체에 근사하고, 상기 다리식 로봇이 평면에 접촉되는 과정에서, 앞다리가 상기 단일 강체를 향해 제1 추력을 가하며, 뒷다리는 상기 단일 강체를 향해 제2 추력을 가하고, 제1 추력과 제2 추력의 합력은 상기 단일 강체를 향해 상향 추력을 가하며, 제1 추력과 제2 추력으로 형성된 토크는 상기 단일 강체를 향해 질량 중심 각 가속도를 제공한다.
일부 실시예에 있어서, “상기 다리식 로봇에 대응되는 근사 모델에 기반하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적을 결정하는 단계”가 구현될 때, 먼저 상기 다리식 로봇의 질량을 획득하고; 상기 근사 모델과 다리식 로봇의 질량에 기반하여, 상기 다리식 로봇에 대응되는 동역학 방정식을 결정하며; 다음, 상기 동역학 방정식을, 상태 공간 표시로 전환하고, 상기 상태 공간 표시를 이산화하여, 각 타임 스텝에 대응되는 상태 전이 방정식을 얻으며; 상기 각 타임 스텝에 대응되는 상태 전이 방정식을 통해 최적화 타깃 함수를 구축하고, 상기 최적화 타깃 함수의 해를 구하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적을 얻는다.
예를 들어, 다리식 로봇은 질량이 인 단일 강체에 근사할 수 있고, 피치에 대응되는 회전축을 둘러싸는 회전 방향에서의 관성 모멘트는 이다. 다리식 로봇이 네 개의 로보틱 래그를 갖는 경우, 두 개의 앞다리의 합력은 이고, 두 개의 뒷다리의 합력은 이며, 양자의 합은 단일 강체에 대한 상향 추력을 형성한다. 이러한 근사 모델에 기반하여, 뉴턴의 제2 법칙과 오일러 공식에 따르면, 제1 방정식(1)을 결정할 수 있고, 제1 방정식은 또한 동역학 방정식으로 지칭된다. 일부 실시예에 있어서, 상기 동역학 모델은 적어도 부분적으로 상기 근사 모델에 기반하고, 상기 동역학 모델은 상기 단일 강체의 가속도와 제1 추력, 제2 추력 및 중력 사이의 관계를 나타내며, 상기 동역학 모델은 또한 상기 단일 강체의 피치 방향의 회전각의 각 가속도와 제1 추력 및 제2 추력 사이의 관계를 나타낸다.
(1)
여기서, 세로 수직 상향을 정방향으로 하고, 는 중력 계수이고, -9.81(마이너스 부호는 중력 방향에서 세로 수직 하향을 나타냄)과 같다. 은 로보틱 래그의 길이이다. 는 세로 수직 방향에서의 상기 단일 강체의 질량 중심의 가속도를 나타낸다. 는 상기 단일 강체의 피치 방향의 회전각의 각 가속도를 나타낸다. 는 상기 단일 강체의 피치 방향의 회전각의 각도값을 나타낸다.
상기 동역학 방정식을 상태 공간 표시(State space representation) 형태로 전환하며, 즉 아래에 도시된 제2 방정식(2)과 같다.
(2);
제2 방정식(2)은 제3 방정식(3)의 형태로 간략하게 쓰일 수 있다.
(3);
여기서, , 이다. 대응되게, 제3 방정식(3)을 타임 스텝(타임 스텝의 길이는 )에 따라 이산화하여, 제4 방정식(4)을 얻을 수 있다.
(4);
이도록 한다. 모델 예측 제어(Model Predictive Control,MPC)에 기반하여, 제5 방정식(5)을 얻을 수 있다.
(5);
여기서, 은 제1 타임 스텝에 대응되는 질량 중심의 세로 수직 방향 높이, 질량 중심의 세로 수직 방향 속도, 중력 가속도로 구성된 벡터를 나타내고, 는 제2 타임 스텝에 대응되는 질량 중심의 세로 수직 방향 높이, 질량 중심의 세로 수직 방향 속도, 중력 가속도로 구성된 벡터를 나타내며, 는 제k 타임 스텝에 대응되는 질량 중심의 세로 수직 방향 높이, 질량 중심의 세로 수직 방향 속도, 중력 가속도로 구성된 벡터를 나타내고, 이와 같이 유추하며, 여기서, 은 초기 시각에 대응되는 질량 중심의 세로 수직 방향 높이, 질량 중심의 세로 수직 방향 속도, 중력 가속도로 구성된 벡터이다. 제5 방정식(5)도 제6 방적식(6)으로 간략하게 쓰일 수 있다.
(6);
여기서, , , , 이다.
제6 방정식(6)은 각 타임 스텝에 대응되는 상태 전이 방정식의 수학적 표현식을 이미 제공하였다. 제6 방정식(6)에서 나타낸 각 타임 스텝에 대응되는 상태 전이 방정식 및 다리식 로봇이 낙하 중 구현되기를 소망하는 완충 효과에 기반하여, 본 출원의 각 실시예에 대응되는 최적화 타깃 함수를 구축하여, 최적의 제1 예상 궤적의 해를 구하는 것을 구현한다. 예를 들어, 상기 제1 예상 궤적은, 상기 다리식 로봇의 질량 중심 파동량, 상기 다리식 로봇이 받는 충격력 총량, 상기 다리식 로봇의 스쿼트량, 상기 다리식 로봇이 받는 충격력 돌변량의 조합이 극치에 도달하도록 한다. 이상 각 항에는 모두 대응되는 가중 계수가 존재할 수 있고, 다양한 방식으로 조합될 수 있다.
이에 기반하여, 제7 방정식(7)에서 나타낸 최적화 타깃 - 함수와 같이 설정하여, 최적의 추력 의 해를 구할 수 있다.
(7);
는 상수 벡터이고, 도 4에서 점선으로 도시된 정지 높이를 나타낸다. 는 전체 과정에서의 질량 중심의 최저 높이를 나타낸다.
여기서, 함수의 제1항 은, 상기 다리식 로봇의 질량 중심 파동량의 표현 형태로 사용될 수 있고, 다리식 로봇이 만족해야 하는 동역학 방정식이 가중화된 후의 값(가중 계수는 L )이다. 예를 들어, 도 4에서, 제1항은 그레이 영역의 면적이 가중화된 후의 값으로 표시된다. 이 작을수록, 다리식 로봇이 낙하되는 과정에서, 질량 중심의 파동이 더 작고, 다리식 로봇이 더 안정적인 것을 설명한다.
함수의 제2항 은 상기 다리식 로봇이 받는 충격력의 총량의 표현 형태로 사용될 수 있고, 시간에 따른 다리식 로봇이 받는 평면 반작용력의 합의 적분이 가중화된 후의 값(가중 계수는 )이다. 이 작을수록, 다리식 로봇이 낙하되는 과정에서, 다리식 로봇이 받는 충격력의 총합이 더 작은 것을 설명한다.
함수의 제3항 은 전체 낙하 과정에서 다리식 로봇의 질량 중심의 가장 낮은 포인트와 정지 높이 사이의 거리가 가중화된 후의 값(가중 계수는)을 나타낸다. 이 작을수록, 다리식 로봇이 낙하되는 과정에서, 다리식 로봇의 스쿼트의 정도가 더 낮은(즉 다리식 로봇이 너무 낮게 스쿼트하지 않아도 평형을 유지할 수 있음) 것을 설명한다. 함수의 제3항 은 상기 다리식 로봇의 스쿼트량의 표현 형태로 사용될 수 있다.
함수의 제4항 은 인접된 타임 스텝 사이, 평면이 다리식 로봇을 향해 제공하는 반작용력의 차이값이 가중화된 후의 값(가중 계수는 W)을 나타낸다. 이 작을수록, 다리식 로봇이 낙하되는 과정에서, 다리식 로봇이 충격력을 받는 돌변이 더 작은 것을 설명한다. 함수의 제4항 은 상기 다리식 로봇이 받는 충격력 돌변량의 표현 형태로 사용될 수 있다.
이상은 다만 Z함수의 조합 방식이고, Z함수의 상기 각 항도 다만 상기 다리식 로봇의 질량 중심 파동량, 상기 다리식 로봇이 받는 충격량 총량, 상기 다리식 로봇의 스쿼트량, 상기 다리식 로봇이 받는 충격력 돌변량의 하나의 예 표현 형태이며, 본 출원의 실시예는 이에 대해 한정하지 않는다.
일부 실시예에 있어서, 상기의 각 가중 계수를 통해 각 항에 대응되는 중요성을 조절한다. 예를 들어, 가 클수록, 다리식 로봇의 제어 방안에서 로봇이 받는 충격력에 더 중점을 두는 것을 설명한다. 유의해야 할 것은, 본 출원의 실시예에서 가중화 방안은 여러 가지를 포함한다. 예를 들어, 가중화 방안이 곱셈 가중화 방안일 수 있으므로, 함수의 제1항은 으로 추가로 나타낼 수 있다. 가중화 방안은 또한 멱 가중화 방안 또는 덧셈 방안일 수 있고, 본 출원의 실시예는 이에 대해 한정하지 않는다. 이와 같이 유추하면, 함수의 다른 각 항도 상이한 가중화 방안으로 계산할 수 있다.
함수의 해를 구하는 과정에서, 아래의 각 항 구속 조건을 더 고려해야 한다.
예를 들어, 제1 구속 조건은 이다. 여기서, 는 다리식 로봇이 평면에 접촉되는 첫 번째 순간에 받는 충격력의 크기를 나타내고, 그 크기는 다리식 로봇이 견딜 수 있는 최대 충격력 보다 작다. 다리식 로봇이 견딜 수 있는 최대 충격력 은 다리식 로봇의 구조 특성과 강체의 강도에 따라 결정되고, 그 예의 값은 200N이다. 본 출원의 실시예는 상기 예의 값에 한정되지 않는다.
예를 들어, 제2 구속 조건은 이다. 은 평면이 제공할 수 있는 지탱력의 하한을 나타내고, 은 평면이 제공할 수 있는 지탱력의 상한을 나타낸다. 지지력이 0보다 작으면 안되므로 은 통상적으로 0이다.
예를 들어, 제3 구속 조건은 이다. 제3 구속 조건은 다리식 로봇의 질량 중심의 각 시각의 z방향 높이가 항상 최저 높이 보다 큰 것을 나타낸다. 여기서, 는 최저 높이 시퀀스값으로 구성된 열벡터이다.
또한, 다리식 로봇의 구성의 상이함에 따라, 또한 더욱 많거나 더욱 적은 구속 조건을 포함할 수 있고, 본 출원의 실시예는 이에 대해 한정하지 않는다.
제7 방정식(7)을 수학적 등가 교환하여, 제8 방정식(8)을 얻을 수 있다.
(8);
제8 방정식(8)을 수학적 등가 교환하여, 제9 방정식(9)을 얻을 수 있다.
(9);
제9 방정식(9)을 수학적 등가 교환하여, 제10 방정식(10)을 얻을 수 있다.
(10);
제10 방정식(10)을 수학적 등가 교환하여, 제11 방정식(11)을 얻을 수 있다.
(11);
여기서, 는 제12 방정식(12)을 만족한다.
(12);
여기서, 에는 변량 U가 포함되지 않고, Z함수의 최소값에 영향을 미치지 않으므로, 을 계산하지 않을 수 있다.
즉, 의 마지막은 제13 방정식(13)으로 나타낼 수 있다.
(13);
여기서, , 이다.
Z가 가장 작아지도록 하는 해 를 구하는 것에 응답하여, 도 4 중의 최적의 제1 예상 궤적을 추가로 얻을 수 있고, 즉, 질량 중심이 각 타임 스텝에서 대응되는 z방향에서의 값 시퀀스이다. 본 출원의 다른 일부 실시예에 있어서, 또한 다리식 로봇의 전체 모델을 사용하여 다리식 로봇의 제1 예상 궤적을 계획할 수 있다. 이러한 실시예의 계획된 제1 예상 궤적의 정확도는 비교적 높지만, 실시간 계획을 구현하려면 종종 비교적 높은 연산력이 수요된다.
본 출원의 상기 실시예에 있어서, 근사 모델(또는 전체 모델)에 기반하여 다리식 로봇이 착지된 후의 질량 중심 운동 궤적을 계획함으로써, 다리식 로봇이 착지되는 과정에서, 각 관절이 비교적 작은 충격력만 받고, 몸체의 리바운드가 비교적 작으며, 피치 변화가 비교적 작은 것을 보장하고, 착지 기능을 보장함과 동시에 다리식 로봇에 우수한 항충격 보호 효과를 형성한다.
다음, 도 5와 도 6을 참조하여 다리식 로봇의 제2 예상 궤적을 결정하는 방법의 실시예를 추가로 설명한다. 도 5는 본 출원의 실시예에 따른 다리식 로봇의 착지 과정에서의 로보틱 래그가 평면에 접촉되는 예시도를 도시한다. 도 6은 본 출원의 실시예에 따라 제공된 3차 스플라인 보간의 계산 원리 예시도를 도시한다.
공중 회전 작업을 실행하는 다리식 로봇이 각 로보틱 래그가 모두 평면과 접촉되게 낙하되는 순간 시각에 종종 일정한 쓰러짐 경향이 존재하므로, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면과 접촉된 후 각 관절의 동작을 제어하여, 상기 다리식 로봇의 각 로보틱 래그가 상기 다리식 로봇의 쓰러짐 경향을 따라 이동하도록 하고, 다리식 로봇이 질량 중심이 예상한 정지 높이에 도달하고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지, 각 로보틱 래그는 압축 상태로부터 점차 리바운드되도록 해야 한다. 여기서, 쓰러짐 경향은 앞을 향한 쓰러짐 경향, 뒤를 향한 쓰러짐 경향, 좌측을 향한 쓰러짐 경향, 우측을 향한 쓰러짐 경향 중의 적어도 하나일 수 있다.
이에 기반하여, 일부 실시예에 있어서, 상기 다리식 로봇의 제2 예상 궤적을 결정하는 단계는, 각 로보틱 래그가 모두 평면과 접촉된 순간 시각에서, 각 로보틱 래그의 발끝의 초기 시각에서의 발끝 위치 좌표를 결정하고, 상기 초기 시각의 발끝 위치 좌표를 발끝 초기 위치로 결정하는 단계; 각 로보틱 래그가 평면과 접촉될 때의 쓰러짐 경향 방향 및 상기 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하고, 상기 안정된 시각의 발끝 위치 좌표를 발끝 마지막 위치로 결정하는 단계 - 상기 안정된 시각에서, 상기 다리식 로봇의 베이스의 높이는 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각은 0임 - ; 및 상기 발끝 초기 위치와 상기 발끝 마지막 위치에 기반하여, 3차 스플라인 보간을 사용하여 상기 각 로보틱 래그의 발끝의 운동 궤적을 결정하고 제2 예상 궤적으로 사용하는 단계를 더 포함한다.
“각 로보틱 래그가 모두 평면에 접촉된 순간 시각에서, 각 로보틱 래그의 발끝의 초기 시각에서의 발끝 위치 좌표를 결정하고, 상기 초기 시각의 발끝 위치 좌표를 발끝 초기 위치로 결정하는” 단계의 경우, 일부 실시예에 있어서, 컴퓨터 기기는 현재 시각에 수집된 다리식 로봇의 감지 정보를 다리부 오도메트리에 입력하여, 다리부 오도메트리가 감지 정보에 따라 현재 시각에서의 다리식 로봇의 각 로보틱 래그의 위치를 계산하여, 위치 정보를 얻도록 할 수 있다.
여기서, 발끝 위치 좌표의 위치 정보는, 세계 좌표계에서의 다른 세 개의 로보틱 래그의 각 방향 위치 벡터를 적어도 포함한다. 상이한 방향 위치 벡터는 상이한 좌표축 방향에 대응되고; 하나의 방향 위치 벡터는 상응하는 좌표축 방향에서의 다리식 로봇의 각 로보틱 래그의 위치를 나타내기 위한 것이다.
여기서, 다리부 오도메트리가 수평축 방향에 대응되는 방향 위치와의 벡터를 계산하는 방식은 아래와 같은 방식을 포함한다. 먼저, 현재 포즈 정보에 기반하여 회전 매트릭스를 계산하고, 회전 매트릭스는 어느 하나의 벡터의 방향을 변경함으로써, 상기 어느 하나의 벡터를 로봇의 기본 좌표계에 맵핑하는 것을 구현하는 매트릭스를 가리키며; 현재 포즈 정보에 따라 다리식 로봇의 베이스 포즈각을 결정할 수 있고, 상기 베이스 포즈각에 따라 회전 매트릭스를 계산한다. 또한, 각 관절의 관절각 정보에 따라 참조 위치 벡터를 계산할 수 있고, 상기 참조 위치 벡터는 다리식 로봇의 베이스 질량 중심과 각 로보틱 래그의 발끝 사이의 상대 위치를 나타내기 위한 것이다. 다음, 회전 매트릭스를 채택하여 참조 위치 벡터를 로봇 기본 좌표계에 맵핑하여, 타깃 위치 벡터를 얻을 수 있고; 일부 실시예에 있어서, 회전 매트릭스에 참조 위치 벡터를 곱하여, 타깃 위치 벡터를 얻는다.
또한, 세계 좌표계에서의 다리식 로봇의 질량 중심의 3차원 위치 벡터를 획득할 수 있다. 다음, 수평축 방향에서의 타깃 위치 벡터의 요소, 및 수평축 방향에서의 3차원 위치 벡터의 요소를 융합 처리하여, 수평축 방향에 대응되는 방향 위치 벡터를 얻을 수 있고, 이 곳의 융합 처리는 합산 처리를 포함할 수 있다.
“각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향 및 상기 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하고, 상기 안정된 시각의 발끝 위치 좌표를 발끝 마지막 위치로 결정하며, 상기 안정된 시각에서, 상기 다리식 로봇의 베이스의 높이는 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각은 0인” 단계의 경우, 일부 실시예에 있어서, 안정된 시각에서, 각 로보틱 래그의 길이는 동일하다. 로봇 다리부와 몸체 사이의 연결 포인트와 로봇 질량 중심의 높이차를 고려하지 않으면, 4개의 다리 길이는 모두 로봇의 키와 같다.
일부 실시예에 있어서, “각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향 및 상기 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하는” 단계가 구현될 때, 먼저 상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향에 대응되는 오프셋 정보를 획득하고, 상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향에 대응되는 오프셋 정보와 상기 각 로보틱 래그의 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정한다.
일부 실시예에 있어서, “상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향에 대응되는 오프셋 정보와 상기 각 로보틱 래그의 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하는” 단계의 경우, 먼저 상기 각 로보틱 래그의 발끝 초기 위치의 제1 방향에서의 대응되는 제1 위치 요소, 제2 방향에서의 대응되는 제2 위치 요소, 제3 방향에서의 대응되는 제3 위치 요소를 결정하고, 상기 제1 방향은 상기 쓰러짐 경향에 대응되는 방향이며, 상기 제2 방향과 상기 제3 방향은 세계 좌표계에서 상기 제1 방향을 제외한 다른 두 개의 방향이고; 상기 오프셋 정보를 상기 각 로보틱 래그의 발끝 초기 위치가 상기 쓰러짐 경향에서 각각 대응되는 제1 위치 요소에 중첩시켜, 상기 제1 방향에서 상기 각 로보틱 래그에 대응되는 오프셋된 후의 제1 위치 요소를 얻고; 상기 제1 방향에 대응되는 오프셋된 후의 제1 위치 요소, 상기 제2 방향에 대응되는 제2 위치 요소, 상기 제3 방향에 대응되는 제3 위치 요소를, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표로 결정한다.
도 5의 왼쪽 도면에 도시된 바와 같이, 다리식 로봇의 네 개의 로보틱 래그가 평면에 접촉될 때, 일정한 쓰러짐 경향이 종종 존재한다. 각 로보틱 래그가 모두 평면에 접촉된 순간 시각(도 5에 도시된 초기 시각과 같고, 즉 마지막 하나의 로보틱 래그가 평면에 접촉된 순간 시각임)에서, 상기 다리식 로봇이 앞을 향해 쓰러지는 경향(또는 상기 순간 시각에서 전방을 향한 속도가 기설정된 속도 임계값보다 크고, 또는 피치 방향의 각 속도가 기설정된 각 속도 임계값보다 클 때)이 존재하는 것으로 결정되는 것으로 가정하면, 앞을 향해 쓰러지는 경향에 대응되는 오프셋 정보를 통해, 예상 궤적 중 앞다리의 발끝 마지막 위치를 앞다리와 평면의 접촉 위치의 전방 일정한 위치로 설정할 수 있다. 예를 들어, 마지막 하나의 로보틱 래그가 평면에 접촉되는 시각에서의 세계 좌표계에서의 x축 방향에서의 다리식 로봇의 앞다리의 발끝 위치 좌표의 요소를 5츠인 것으로 가정한다. 다리식 로봇의 사이즈에 따라, 앞을 향해 쓰러지는 경향이 존재하는 경우, 상기 안정된 시각에 대응되게, 세계 좌표계의 x축 방향에서의 상기 다리식 로봇의 앞다리의 발끝 위치 좌표의 예상값의 요소는 8cm 내지 20cm일 수 있다. 구체적인 값은 다리식 로봇의 사이즈 및 공정 경험과 관련되며, 여기서 더 이상 한정하지 않는다. 또한, 다리식 로봇의 안정된 시각에서의 키와 포즈에 따라, 앞다리가 안정된 시각에서의 발끝 위치 좌표에 기반하여, 뒷다리가 안정된 시각에서의 발끝 위치 좌표를 결정할 수 있다. 본 출원의 실시예는 이에 대해 한정하지 않는다.
각 로보틱 래그가 모두 평면에 접촉되는 순간 시각에서, 상기 다리식 로봇이 뒤로 쓰러지는 경향(또는 상기 순간 시각에 후방을 향한 속도가 속도 임계값보다 크거나, 피치 방향의 각도가 각 속도 임계값보다 큰 경우)이 존재하는 것으로 결정되는 것으로 가정하면, 예상 궤적에서 앞다리의 발끝 마지막 위치를 앞다리와 평면의 접촉 위치의 후방의 일정한 위치로 설정할 수 있다. 예를 들어, 마지막 하나의 로보틱 래그가 평면에 접촉되는 시각에서의 세계 좌표계에서의 x축 방향에서의 다리식 로봇의 앞다리의 발끝 위치 좌표의 요소를 20츠인 것으로 가정한다. 다리식 로봇의 사이즈에 따라, 뒤를 향해 쓰러지는 경향이 존재하는 경우, 상기 안정된 시각에 대응되게, 세계 좌표계의 x축 방향에서의 상기 다리식 로봇의 앞다리의 발끝 위치 좌표의 예상값의 요소는 2cm 내지 5cm일 수 있다. 구체적인 값은 다리식 로봇의 사이즈 및 공정 경험과 관련되며, 여기서 더 이상 한정하지 않는다. 또한, 다리식 로봇이 안정된 시각에서의 키와 포즈에 따라, 앞다리가 안정된 시각에서의 발끝 위치 좌표에 기반하여, 뒷다리가 안정된 시각에서의 발끝 위치 좌표를 결정할 수 있다. 본 출원의 실시예는 이에 대해 한정하지 않는다.
각 로보틱 래그가 모두 평면에 접촉되는 순간 시각에서, 상기 다리식 로봇이 왼쪽으로 쓰러지는 경향(또는 상기 순간 시각에 좌향 속도가 속도 임계값보다 크거나, 롤(roll) 방향의 각도가 각 속도 임계값보다 큰 경우)이 존재하는 것으로 결정되는 것으로 가정하면, 예상 궤적에서 앞다리의 발끝 마지막 위치를 앞다리와 평면의 접촉 위치의 왼쪽의 일정한 위치로 설정할 수 있다. 예를 들어, 초기 시각에서의 세계 좌표계에서의 y축 방향에서의 다리식 로봇의 앞다리의 발끝 위치 좌표의 요소를 5cm(z축 방향은 세로 상향이고, x축 방향은 수평으로 오른쪽을 향한 방향이며, y축 방향은 x축과 z축으로 구성된 평면에 수직되고 오른 손 정칙에 부합되는 방향임)인 것으로 가정한다. 다리식 로봇의 사이즈에 따라, 왼쪽으로 쓰러지는 경향이 존재하는 경우, 상기 안정된 시각에 대응되는, 세계 좌표계에서의 y축 방향에서의 상기 다리식 로봇의 앞다리의 발끝 위치 좌표의 예상값의 요소는 8cm 내지 20cm일 수 있다. 구체적인 값은 다리식 로봇의 사이즈 및 공정 경험과 관련되며, 여기서 더 이상 한정하지 않는다. 또한, 다리식 로봇이 안정된 시각에서의 키와 포즈에 따라, 앞다리가 안정된 시각에서의 발끝 위치 좌표에 기반하여, 뒷다리가 안정된 시각에서의 발끝 위치 좌표를 결정할 수 있다. 본 출원의 실시예는 이에 대해 한정하지 않는다.
각 로보틱 래그가 모두 평면에 접촉되는 순간 시각에서, 상기 다리식 로봇에 오른쪽으로 쓰러지는 경향(또는 상기 순간 시각에 우향 속도가 속도 임계값보다 크거나, 롤(roll) 방향의 각도가 각 속도 임계값보다 큰 경우)이 존재하는 것으로 결정되는 것으로 가정하면, 예상 궤적의 앞다리의 발끝 마지막 위치를 앞다리와 평면의 접촉 위치의 오른쪽의 일정한 위치로 설정할 수 있다. 예를 들어, 마지막 하나의 로보틱 래그가 평면에 접촉되는 시각에서의 세계 좌표계에서의 y축 방향에서의 다리식 로봇의 앞다리의 발끝 위치 좌표의 요소를 20cm(z축 방향은 세로 상향이고, x축 방향은 수평으로 오른쪽을 향한 방향이며, y축 방향은 x축과 z축으로 구성된 평면에 수직되고 오른 손 정칙에 부합되는 방향임)인 것으로 가정한다. 다리식 로봇의 사이즈에 따라, 오른쪽을 향해 쓰러지는 경향이 존재하는 경우, 상기 안정된 시각에 대응되는, 세게 좌표계의 u축 방향에서의 상기 다리식 로봇의 앞다리의 발끝 위치 좌표의 예상값의 요소는 2cm 내지 5cm일 수 있다. 구체적인 값은 다리식 로봇의 사이즈 및 공정 경험과 관련되며, 여기서 더 이상 한정하지 않는다. 또한, 다리식 로봇이 안정된 시각에서의 키와 포즈에 따라, 앞다리가 안정된 시각에서의 발끝 위치 좌표에 기반하여, 뒷다리가 안정된 시각에서의 발끝 위치 좌표를 결정할 수 있다. 본 출원의 실시예는 이에 대해 한정하지 않는다.
비록 상기의 다양한 시나리오는 모두 세계 좌표계를 예로 들어 설명되지만, 본 출원의 각 항 실시예는 본체 좌표계에 기반하여 계산할 수도 있다. 본 출원의 실시예는 이에 대해 한정하지 않는다.
“상기 발끝 초기 위치와 상기 발끝 마지막 위치에 기반하여, 3차 스플라인 보간을 사용하여 상기 각 로보틱 래그가 상기 베이스에서 멀리 떨어진 한 끝의 운동 궤적을 결정하고 제2 예상 궤적으로 사용하는” 단계의 경우, 일부 실시예에 있어서, 도 5의 왼쪽 도면으로부터 도 5의 오른쪽 도면으로 변화되는 과정에서, 각 로보틱 래그의 발끝 위치의 x와 y방향 값 시퀀스는 초기 시각과 종료 시각의 위치의 3차 스플라인 보간(Cubic Spline Interpolation)을 사용하여 구현된다. 마찬가지로, 다리식 로봇의 질량 중심의 x와 y방향 값 시퀀스는 초기 시각과 종료 시각의 위치의 3차 스플라인 보간을 사용하여 구현된다.
도 6에 도시된 바와 같이, 본 출원의 실시예에서 제공하는 3차 스플라인 보간은 기지된 데이터를 복수 개의 세그먼트로 분할하여, 각 세그먼트로 하나의 3차 함수를 구성하고, 곡선이 특정 포인트를 통과하는 것을 보장하며, 특정 일부 특정 포인트에서 일정한 속도 구속 조건을 만족하는 것을 보장한다. 예시적으로, 기지된 데이터가 (pa, va, ta), (pb, vb, tb) 및 (pc, vc, tc) 등 세 개의 데이터를 포함하고, p는 위치를 나타내며, v는 속도를 나타내고, t는 시간을 나타내며, 기지된 데이터를 두 개의 세그먼트로 분할한 것으로 설정한 것을 예로 들면, 3차 스플라인 보간의 계산 원리는 도 6에 도시된 바를 참조할 수 있으며; 먼저 구축하여 f1(t)와 f2(t)인 두 개의 3차 함수를 얻을 수 있고, 다음, 이 두 개의 3차 함수와 기지된 데이터에 기반하여 등식 방정식 그룹을 구축함으로써, 상기 등식 방정식 그룹을 통해 3차 다항식 계수(a0, a1, a2, a3, b0, b1, b2, b3)의 해를 구하며; 3차 다항식 계수의 해를 구한 후, 향후 이 두 개의 3차 함수를 이용하여 다리식 로봇의 어느 하나의 시각에 위치한 위치 및 상응하는 속도를 결정할 수 있음으로써, 다리식 로봇의 제어를 구현한다.
일부 실시예에서, 제1 예상 궤적에 기반하여 대응되게 각 로보틱 래그의 z방향 값 시퀀스의 해를 구할 수 있다. 상기 다리식 로봇의 네 개의 로보틱 래그가 모두 평면에 접촉된 후, 다른 로보틱 래그의 길이는 상기 다리식 로봇의 질량 중심의 높이 변화에 따라 변화된다. 따라서, 각 로보틱 래그의 z방향 값 시퀀스는, 다리식 로봇의 질량 중심이 z방향에서 제1 예상 궤적에 의해 지시된 위치까지 도달될 때, 각 로보틱 래그의 발끝이 마침 평면에 접촉될 수 있는 높이로 설명될 수 있다. 또한, 3차 스플라인 보간을 사용하여 다른 세 개의 로보틱 래그의 z방향 값 시퀀스의 해를 구할 수도 있으며, 본 출원의 실시예는 이에 대해 한정하지 않는다.
다음, 도 7a와 도 7b를 참조하여, 상기 다리식 로봇의 질량 중심에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하는 방법의 실시예를 추가로 설명한다. 여기서, 도 7a 내지 도 7b는 본 출원의 실시예에 따른 다리식 로봇이 공중 회전을 실행한 후 착지된 동작을 도시하고, 여기서 도 7b에 도시된 동작은 도 7a에 도시된 동작의 연속이다.
본 출원의 실시예에서 제공하는 다리식 로봇의 동역학 방정식 및 상기의 제1 예상 궤적에 기반하여 상기 다리식 로봇을 제어하는 방안은 모델 예측 제어(Model Predictive Control, MPC)로도 지칭된다. 반면, 동역학 방정식에 따라 제2 예상 궤적이 각 관절에 대한 제어 방안을 추가로 결합하며, 전신 동역학(Whole-Body Dynamics Control, WBC)으로도 지칭된다.
본 출원의 실시예에 있어서, MPC와 WBC를 서로 결합하여 공중 회전 작업을 실행한 다리식 로봇이 착지되는 과정에서의 완충 제어를 구현하고, 이는, 미래 제어 변량의 궤적(즉 제1 예상 궤적과 제2 예상 궤적)을 계산하는 것을 통해, 제어기의 출력(즉 각 관절 모터의 모멘트)을 최적화한 것으로 간단하게 설명될 수 있다. 최적화 과정은 하나의 한정된 시간창에서 수행되고, 시간창의 초기 시스템 정보를 이용하여 최적화한다. 여기서, 시간창의 시작 시각은 다리식 로봇의 로보틱 래그가 평면에 접촉된 순간이고, 종료 시각은 다리식 로봇이 안정하게 선 시각이다.
하나의 예로서, 다리식 로봇의 동역학 방정식은 제14 방정식(14)으로 나타낼 수 있다.
(14);
제15 방정식(15)에서 나타낸 다리식 로봇의 파티클 동역학 방정식의 해를 구하는 것을 통해, 지면 접촉력 f。를 얻을 수 있다.
(15);
여기서, 은 베이스에 대응되는 질량과 관성량 매트릭스를 나타낸다. 는 6차원의 질량 중심 위치와 포즈 벡터를 나타내고, 이는 제1 예상 궤적에 대응되는 시퀀스이다. 선택 가능하게, 이때, 질량 중심 위치는 다만 중력 방향(z방향)의 위치와 다리식 로봇의 피치(pitch) 방향의 회전 각도만 고려하고, x방향, y방향은 모두 0이며, 롤 (roll) 방향의 회전 각도 값과 요(yaw) 방향의 회전 각도는 모두 0이다. 는 평면이 4개의 발끝을 향해 제공하는 접촉력이고, 평면이 각 발끝을 향해 제공하는 접촉력은 모두 3차원의 힘이므로, 총 차원 수는 12이다. 는 베이스의 중력 항, 원심력 항 및 코리올리스의 힘 항을 나타낸다. 는 베이스의 야코비안 매트릭스의 전치를 나타낸다. 이에 기반하여, MPC를 응용하여 평면이 다리식 로봇을 향해 제공하는 접촉력 의 해를 구할 수 있다. 즉, 상기 다리식 로봇에 대응되는 동역학 모델에 기반하여, 각 타임 스텝에서의 상기 평면과 상기 다리식 로봇의 각 로보틱 래그 사이의 접촉력을 결정하여, 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 실제 궤적 및 상기 다리식 로봇의 피치 변화의 실제 궤적이 모두 상기 제1 예상 궤적에 부합되도록 할 수 있다.제14 방정식(14)의 하반 부분(아래의 제16 방정식(16)에서 나타내는 바와 같음)은, 즉 다리식 로봇의 관절 동역학 방정식이다.
(16);
여기서, 은 각 관절에 대응되는 질량과 관성량 매트릭스를 나타내고, 는 모든 구동 가능한 자유도의 각도(도 1 또는 도 5에 도시된 4족 로봇에는, 12개의 관절 모터에 대응되는 자유도가 포함됨)를 나타낸다. 는 구동 가능한 관절의 중력 항, 원심력 항 및 코리올리스의 힘 항을 나타낸다. 는 구동 가능한 관절의 야코비안 매트릭스의 전치를 나타낸다. 는 다리식 로봇의 12개의 주동적으로 구동할 수 있는 관절각 가속도이다. 는 12개의 관절의 입력 모멘트이다. 제15 방정식(15)에 따라 구한 접촉력 , 로봇 동역학 모델의 다른 파라미터는 모두 알고 있으며, 제16 방정식(16)을 응용하여 로봇의 각 관절 모멘트 를 구할 수 있다.일부 실시예에 있어서, 제16 방정식(16)은 또한 제17 방정식(17)의 형태로 전환될 수 있다.
(17);
여기서, 는 제18 방정식(18)에 의해 구해될 수 있다.
(18);
여기서, 이다. 은 제2 예상 궤적에 의해 결정(각 로보틱 래그의 발끝 예상 위치와 각 로보틱 래그의 발끝 예상 속도를 각각 나타냄)되고, 는 각 로보틱 래그의 발끝 실제 위치와 각 로보틱 래그의 발끝 실제 속도이다. 반면, 는 비례 제어 피드백 계수이고, 는 차등 제어 피드백 계수이다.즉, 상기 다리식 로봇에 대응되는 동역학 모델 및 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력에 기반하여, 각 관절 모터가 각 타임 스텝에서 제공하는 모터 모멘트를 결정하여, 상기 각 로보틱 래그가 상기 베이스에서 멀리 떨어진 한 끝의 궤적이 상기 제2 예상 궤적에 부합되도록 한다.
일부 실시예에 있어서, 또한 각 로보틱 래그의 압축과 리바운드 상태에 대한 상기의 비례 제어 피드백 계수를 각각 설정할 수 있다. 다리식 로봇의 현재 상태 정보를 획득한 후, 각 로보틱 래그의 현재 상태 정보에서의 현재의 관절각 각도 상황과 로보틱 래그가 정상적으로 서 있는 포즈에서의 관절 각도의 비교 및 관절 각도 변화의 경향에 따라, 각 로보틱 래그의 로보틱 래그 상태를 결정하고, 상기 로보틱 래그 상태는 압축 상태 또는 리바운드 상태일 수 있다. 다음 제19 방정식(19)에 따라 로보틱 래그 상태에 대응되는 비례 제어 피드백 계수와 차등 제어 피드백 계수를 획득한다. 예를 들어, 특정된 로보틱 래그의 경우, 다리가 착지되도록 한 초기 시각은 이고, 이후 상기 로보틱 래그가 압축된 상태에 진입하기 시작하며, 시간이 까지 된 후, 상기 로보틱 래그는 가장 낮은 포인트까지 압축되고 다시 리바운드되기 시작하여, 상기 로보틱 래그가 정상적으로 서 있는 높이까지 리바운드된 시간은 인 것으로 가정한다. , , 인 세 개의 시각에서, 비례 제어 피드백 계수 , , 을 각각 설치한다. 이 세 개의 시각의 비례 제어 피드백 계수에 기반한 3차 스플라인 보간 또는 4 차 스플라인 보간(또는 )을 채택하여, 나머지 중간 시각(타임 스텝)의 비례 제어 피드백 계수 를 추가로 획득할 수 있다. 즉, 제19 방정식(19)을 사용하여 나머지 중간 시각(타임 스텝)의 비례 제어 피드백 계수 를 획득할 수 있다.
(19);
마찬가지로, 유사하게, 차등 제어 피드백 계수의 해를 구할 수 있다. 예시적으로, 이 되도록 하고, 은 약 0.1s과 같도록 하며, 는 약 0.2s와 같도록 할 수 있다. , 이다. 이다. 본 출원의 실시예는 이상의 구체적 값의 값에 의해 한정되지 않는다.공중 회전 작업의 복잡도를 고려하여, 일부 실시예에 있어서, 또한 공중 회전 작업을 실행한 다리식 로봇이 착지되는 과정에서의 완충 제어를 아래의 세 개의 단계로 나눌 수 있다.
제1 단계에 있어서, 제1 예상 궤적에 대응되는 총 타임 스텝 내에서, 제1 예상 궤적에 따라, 제어기가 트랙킹(tracking)해야 하는 타깃 시퀀스를 결정하고, 실제 관측 상황에 따라 제어기의 관련 가중 값을 조절한다. 이때, 제1 예상 궤적에 대응되는 총 타임 스텝에 대응되는 총 지속 시간은 0.5s일 수 있다. 상기 총 지속 시간은 로봇의 파라미터와 공정 경험에 의해 결정될 수 있으며, 본 출원의 실시예는 이상의 구체적 값의 값에 의해 한정되지 않는다.
제2 단계에 있어서, 제1 예상 궤적에 대응되는 총 타임 스텝 이후, 공정 경험에 따라 기설정 지속 시간을 설정할 수 있고, 제1 단계의 종료 시각의 다리식 로봇의 실제의 상태값과 제1 예상 궤적의 마지막 값을 비교하여, 제2 단계의 질량 중심 위치와 포즈의 참조 궤적을 결정한다. 일부 실시예에 있어서, 제1 단계의 종료 시각의 다리식 로봇의 실제의 상태값과 제1 예상 궤적의 마지막 값에 대해 선형 또는 3차 스플라인 보간을 수행하여, 상기의 질량 중심 위치와 포즈의 참조 궤적을 얻을 수 있다. 상기 참조 궤적에 기반하여, 컴퓨터 기기는 각 관절의 피드 포워드 모멘트를 추가로 계산하여, 다리식 로봇이 제2 단계에서의 제어를 완료할 수 있다. 본 단계는 시작 시각의 로봇 상태의 차이로 인해, z방향, x방향 또는 pitch방향에서 여전히 비교적 큰 속도를 가질 수 있으며, 제어기의 관련 가중 값을 적응적으로 조절해야 한다. 상기 부분의 가중 값은 제1 단계의 제어기의 가중 값과와 비교적 큰 차이가 존재할 수 있다.
제3 단계에 있어서, 이전의 두 개의 단계의 제어를 거쳐, 상기 단계에 진입할 때, 다리식 로봇의 포즈는 다리식 로봇이 특정된 위치에서 안정하게 서 있어야 되는 수요에 대체적으로 부합된다. 질량 중심 위치와 포즈의 속도 값은 상대적으로 비교적 작다. 이때, 제어 전략을 수정하여, 다리식 로봇이 안정하게 서 있는 포즈를 유지하도록 할 수 있으며, 그 중 비례 제어 피드백 계수와 차등 제어 피드백 계수의 차이값 전략이 포함될 수 있다. 일부 실시예에 있어서, 제1 단계와 제2 단계에서 사용된 것은 관절력 제어 모드(즉 주로 관절 모터에 피드포워드 모멘트를 발송하는 것을 통해 로봇의 관절 모터 제어를 구현함)이고, 제3 단계에서 사용된 것은 관절 위치 제어 모드(즉 주로 관절 모터에 예상 위치 정보를 송신하는 것을 통해 로봇 관절 각도의 제어를 구현함)이다. 관절 위치 제어 모드는 더욱 안정적이지만, 동적 성능이 비교적 약하다. 관절력 제어 모드의 동적 성능은 비교적 강하지만, 안정성이 비교적 약하다.
도 7a 내지 도 7b에 도시된 바와 같이, 실제 기계 테스트에서, 로봇이 높이가 0.5 미터인 위치로부터 앞으로 공중 회전을 시작할 때, 공중 회전 과정에서의 질량 중심의 최대 높이로부터 지면까지의 거리는 1 미터 좌우이다. 지면에 접촉되는 순간에서, 로보틱 래그 길이가 수축됨과 동시에, 베이스와 평면 사이의 거리는 점차 줄어들며, 로보틱 래그는 다리식 로봇의 질량 중심에 반작용력을 부여하고, 상기 반작용력의 작용 하에서, 다리식 로봇의 본체 포즈는 감속을 구현하며, 앞다리의 추력은 뒷다리의 추력보다 크고, 이 과정은 다리식 로봇의 피치 방향에 감속 효과가 존재하도록 하여, 다리식 로봇의 피치가 가능한 한 예상된 포즈각 궤적에 부합되도록 한다. 그러나 로봇 본체 높이가 리바운드되는 과정에서, 로봇의 발끝 높이가 평면으로부터 튕겨 오르게 하지 않고, 전체 질량 중심 높이 변화 과정 중 오버슈트가 비교적 작다. 제어가 완료되는 시각에서, 로봇은 하나의 기설정 포즈로 땅에 서 있을 수 있고, 상기 포즈 및 질량 중심의 높이 리바운드 과정은 예상에 부합된다.
본 출원의 실시예는, 물체 낙하 운동에서의 다리식 로봇에 대한 동역학 모델을 구축하고, 상기 동역학 모델에 기반하여, 다리식 로봇이 착지된 후의 질량 중심 운동 궤적과 발끝 위치 궤적을 계획하며, 계획된 질량 중심 운동 궤적과 발끝 위치 궤적에 기반하여, 각 모터의 제어 모멘트를 결정하고, 다리식 로봇을 제어한다. 이로써, 다리식 로봇이 착지되는 과정에서, 각 관절이 받는 충격력을 줄이고, 몸체의 리바운드 폭 및 피치 변화 폭을 감소시킬 수 있으며, 착지 기능을 보장함과 동시에, 다리식 로봇에 우수한 항충격 보호 효과를 형성한다.
다음, 도 8을 참조하면, 상기 다리식 로봇의 각 관절 동작을 제어하는 과정에서, 다리식 로봇의 현재 상태를 획득하여 더욱 정확하게 제어되도록 하는 방법을 추가로 설명한다. 여기서, 도 8은 본 출원의 실시예에 따른 다리식 로봇의 제어 시스템 아키텍쳐를 도시한다.
비록 이미 도 7a 내지 도 7b를 참조하여 동역학 모델, 제1 예상 궤적 및 제2 예상 궤적에 따라 다리식 로봇의 각 관절의 동작을 제어하는 방법을 설명하였지만, 실제의 제어 과정에서, 하드웨어의 한정으로 인해, 종종 각 타임 스텝에서 모두 대응되는 관절 모멘트가 정확하게 출력되는 것을 정확하게 구현할 수 없다. 따라서, 실시간으로 다리식 로봇의 현재 상태를 추정하여, 제어 정보를 미세하게 조절해야 한다. 즉, 단계 S202는, 상기 다리식 로봇에 대응되는 동역학 모델 및 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력에 기반하여, 각 관절 모터가 각 타임 스텝에서 제공하는 모터 모멘트를 결정하는 단계; 및 다리식 로봇의 현재 상태 정보에 기반하여, 각 관절 모터가 각 타임 스텝에서 제공하는 모터 모멘트를 조절하는 단계를 더 포함한다.
먼저, 다리식 로봇의 공중 회전 후 착지되는 과정에서, 각 로보틱 래그가 모두 평면에 접촉되는 순간 시각부터 시작하여 다리식 로봇이 안정될 때까지, 현재 시각에 수집된 다리식 로봇의 감지 정보에 따라, 다리식 로봇의 각 로보틱 래그의 상기 현재 시각에서의 위치를 계산하여, 위치 계산 결과를 얻을 수 있다.
여기서, 센서 정보는 다리식 로봇에서의 센서에 의해 수집된 정보를 가리킨다. 전술한 바로부터 알다시피, 다리식 로봇에서의 센서는 IMU 센서 및 관절각 인코더 등을 포함할 수 있고, IMU 센서는 다리식 로봇의 포즈 정보와 가속도를 실시간으로 수집하기 위한 것일 수 있으며, 관절각 인코더는 다리식 로봇의 각 로보틱 래그에서의 각 관절의 관절각 정보(예를 들어, 관절 각도, 각 속도 피드백 값 등)를 실시간으로 제공할 수 있고; 이에 기반하여, 감지 정보는 IMU 센서를 통해 수집된 다리식 로봇의 현재 포즈 정보, 및 관절각 인코더를 통해 수집된 다리식 로봇의 각 관절의 관절각 정보를 포함할 수 있다.
일부 실시예에 있어서, 컴퓨터 기기는 현재 시각에 수집된 다리식 로봇의 감지 정보를 다리부 오도메트리에 입력하여, 다리부 오도메트리가 감지 정보에 따라 현재 시각에서의 다리식 로봇의 각 로보틱 래그의 위치를 계산하여, 위치 계산 결과를 얻도록 할 수 있다. 여기서, 위치 계산 결과는, 세계 좌표계에서의 적어도 두 개의 방향 위치 벡터를 적어도 포함할 수 있고, 상이한 방향 위치 벡터는 상이한 좌표축 방향에 대응되며; 하나의 방향 위치 벡터는 다리식 로봇의 각 로보틱 래그가 상응한 좌표축 방향에서의 위치를 나타내기 위한 것이다. 다리식 로봇이 하나의 2차원 평면(x축(수평축)과 z축(세로축)으로 구성된 평면) 내에서 운동하는 것과 근사할 때, 상기 적어도 두 개의 방향 위치 벡터는, 수평축 방향에 대응되는 방향 위치 벡터(을 채택하여 나타냄), 및 세로축 방향에 대응되는 방향 위치 벡터(을 채택하여 나타냄)를 포함할 수 있다. 선택 가능하게, 다리식 로봇이 실제로는 3차원 공간에서 운동하는 것을 고려하므로, 적어도 두 개의 방향 위치 벡터는, 수직축(y축) 방향에 대응되는 방향 위치 벡터(을 채택하여 나타냄)를 더 포함할 수 있으며, 이에 대해 한정하지 않는다. 이해할 수 있는 것은, 은 각 로보틱 래그의 x축 방향에서의 위치를 나타내기 위한 것이고, 은 각 로보틱 래그의 z축 방향에서의 위치를 나타내기 위한 것이며, 은 각 로보틱 래그의 y축 방향에서의 위치를 나타내기 위한 것이고; 다리식 로봇이 4족 로봇일 때, 하나의 로보틱 래그가 하나의 차원에 대응되면 , 의 차원은 모두 4차원이다.
여기서, 다리부 오도메트리가 수평축 방향에 대응되는 방향 위치의 벡터를 계산하는 방식은, 먼저, 현재 포즈 정보에 기반하여 회전 매트릭스(R을 채택하여 나타낼 수 있음)를 계산할 수 있고, 소위 회전 매트릭스는 어느 하나의 벡터의 방향을 변경함으로써, 상기 어느 하나의 벡터를 로봇의 기본 좌표계에 맵핑하는 매트릭스를 구현하는 것을 가리키며; 구체적으로 현재 포즈 정보에 따라 다리식 로봇의 베이스 포즈각을 결정할 수 있고, 상기 베이스 포즈각에 따라 회전 매트릭스를 계산한다. 또한, 각 관절의 관절각 정보에 따라 참조 위치 벡터(를 채택하여 나타낼 수 있음)를 계산할 수 있고, 상기 참조 위치 벡터는 다리식 로봇의 베이스 질량 중심과 각 로보틱 래그의 발끝 사이의 상대적인 위치를 나타내기 위한 것이다. 다음, 회전 매트릭스를 채택하여 참조 위치 벡터를 로봇 기본 좌표계에 맵핑하여, 타깃 위치 벡터를 얻을 수 있고; 일부 실시예에 있어서, 회전 매트릭스에 참조 위치 벡터를 곱하여, 타깃 위치 벡터를 얻을 수 있으며, 를 채택하여 타깃 위치 벡터를 나타내면, 이다. 또한, 세계 좌표계에서의 다리식 로봇의 베이스 질량 중심의 3차원 위치 벡터(를 채택하여 나타냄)를 획득할 수 있다. 다음, 수평축 방향에서의 타깃 위치 벡터의 요소(를 채택하여 나타냄), 및 수평축 방향에서의 3차원 위치 벡터가 요소(를 채택하여 나타냄)를 융합 처리하여, 수평축 방향에 대응되는 방향 위치 벡터(를 채택하여 나타냄)를 얻을 수 있고; 여기에서의 융합 처리는 합산 처리를 포함할 수 있으며, 즉 이다.
설명해야 할 것은, 다리부 오도메트리가 다른 좌표계(예를 들어, 세로축, 수직축) 방향에 대응되는 방향 위치 벡터를 계산하는 방식은, 수평축 방향에 대응되는 방향 위치 벡터를 계산하는 방식과 유사하며, 여기서 더이상 반복하지 않는다. 또한, 위치 계산 결과는 세계 좌표계에서의 적어도 두 개의 방향 위치 벡터를 포함하는 것 외에도, 또한 로봇 본체 좌표계에서의 발끝 위치 벡터, 및 로봇 기본 좌표계에서의 발끝 속도 벡터 등 다른 벡터를 포함할 수 있다. 여기서, 발끝 위치 벡터는, 다리식 로봇의 각 로보틱 래그의 발끝의 로봇 기본 좌표계에서의 3차원 위치를 나타내기 위한 것이고; 다리부 오도메트리가 발끝 위치 벡터를 계산하는 방식은, 타깃 위치 벡터를 니게이트 처리하여, 발끝 위치 벡터를 얻는 것을 포함할 수 있다. 발끝 속도 벡터는, 다리식 로봇의 각 로보틱 래그의 발끝의 로봇 기본 좌표계에서의 3차원 속도를 나타내기 위한 것이고; 다리부 오도메트리가 발끝 속도 벡터를 계산하는 방식은, 타깃 위치 벡터를 유도 처리하고, 유도 처리 결과를 인버전 처리하여, 발끝 속도 벡터를 얻는 것을 포함할 수 있다. 이해해야 할 것은, 다리식 로봇이 4족 로봇일 때, 발끝 위치 벡터와 발끝 속도 벡터의 차원은 모두 12차원이다.
상기 설명에 기반하여, 위치 계산 결과가 로봇 기본 좌표계에서의 발끝 위치 벡터(를 채택하여 나타냄), 로봇 기본 좌표계에서의 발끝 속도 벡터(를 채택하여 나타냄), 수평 방향에 대응되는 방향 위치 벡터(을 채택하여 나타냄), 및 세로축 방향에 대응되는 방향 위치 벡터(을 채택하여 나타냄)를 동시에 포함할 때, 다리부 오도메트리가 위치 계산 결과(y)를 계산하여 얻는 방식은 제12 방정식(20)이 나타낸 바를 참조할 수 있다.
(20);
제12 방정식(20)에 있어서, 왼쪽 하단 라벨 B는 로봇 기본 좌표계에서의 정의를 나타내고, 왼쪽 하단 라벨 W는 세계 좌표계에서의 정의를 나타내며; (z)와 (x)는 z축과 x축에서의 이전 벡터의 요소를 각각 나타낸다. 상기 설명에 기반하여 알다시피, 본 출원의 실시예는 , 을 위치 계산 결과에 추가할 수 있을 뿐만 아니라, 또한 위치 계산 결과에 와 대응되는 항을 추가할 수 있으며, 이로써 x축 방향에서의 상태 추정의 정확도를 향상시킴에 있어서 유리하다.이해해야 할 것은, 위치 계산 결과에서의 각 정보(예를 들어, , , , 등)는 모두 다리식 로봇의 각 로보틱 래그에 대응되는 서브 벡터를 포함하므로, 예를 들어, 는 각 로보틱 래그에 대응되는 서브 발끝 위치 벡터를 포함하고, 어느 하나의 서브 발끝 벡터는 상응한 로보틱 래그의 발끝의 로봇 기본 좌표계에서의 3차원 위치를 나타내기 위한 것이며; 는 각 로보틱 래그에 대응되는 서브 발끝 속도 벡터를 포함하고, 어느 하나의 서브 발끝 속도 벡터는 상응한 로보틱 래그의 발끝의 로봇 기본 좌표계에서의 3차원 속도를 나타내기 위한 것이며; 은 각 로보틱 래그에 대응되는 x 서브 방향 위치 벡터를 포함하고, 어느 하나의 x 서브 방향 위치 벡터는 상응한 로보틱 래그의 x축 방향에서의 위치를 나타내기 위한 것이며; 는 각 로보틱 래그에 대응되는 z 서브 방향 위치 벡터를 포함하고, 어느 하나의 z 서브 방향 위치 벡터는 상응한 로보틱 래그의 z축 방향에서의 위치를 나타내기 위한 것이다. 따라서, 로보틱 래그의 차원에서 위치 계산 결과를 구획하면, 위치 계산 결과가 각 로보틱 래그의 서브 위치 계산 결과를 포함한 것으로 간주할 수 있고, 어느 하나의 로보틱 래그의 서브 위치 계산 결과는 위치 계산 결과에서의 각 정보에서 어느 하나의 로보틱 래그에 대응되는 서브 벡터를 포함할 수 있다.
다음, 과거에 얻은 현재 시각에서의 다리식 로봇의 상태 추정 결과에 따라, 현재 시각에서의 다리식 로봇의 각 로보틱 래그의 위치를 관측하고, 위치 관측 결과를 얻는다.
이해해야 할 것은, 각 로보틱 래그가 모두 평면에 접촉된 순간 시각부터 시작하여 다리식 로봇이 안정될 때까지, 상태 추정은 하나의 반복되는 과정이고; 즉 매번 하나의 시각에 도달될 때마다, 컴퓨터 기기는 상응한 정보를 획득하여 상기 시각의 다음 시각에서의 다리식 로봇의 상태를 추정함으로써, 상응된 상태 추정 결과를 얻을 수 있다. 이에 기반하여, 다리식 로봇의 현재 시각에서의 상태 추정 결과는, 컴퓨터 기기가 현재 시각의 이전 시각에 도달하였을 때, 현재 시각에서의 다리식 로봇의 상태를 추정하여 얻은 것이다. 또한, 현재 시각에서의 다리식 로봇의 상태 추정 결과는 상태 공간 관측기에서의 상태 벡터로 사용될 수 있고; 일부 실시예에 있어서, 을 채택하여 제k-1 타임 스텝에서의 상태 벡터를 나타내면, 상태 벡터의 정의는 아래 제21 방정식(21)에서 나타낸 바를 참조할 수 있다.
(21);
제21 방정식(21)에 있어서, 은 세계 좌표계에서의 다리식 로봇의 베이스 질량 중심의 3차원 위치 벡터와 3차원 속도 벡터를 각각 나타내고; , , 은 다리식 로봇의 네 개의 로보틱 래그의 발끝의 세계 좌표계에서의 위치 벡터를 각각 나타낸다. 이해해야 할 것은, 여기에서는 다리식 로봇을 4족 로봇으로 예로 들어, 상태 벡터를 예시적으로 나타내므로, 상태 벡터는 , , 인 네 개의 벡터를 포함하고; 다리식 로봇이 다른 개수의 족인 로봇이면, 상태 벡터에서 위치 벡터의 개수는 적응적으로 조절될 수 있다.일부 실시예에 있어서, 컴퓨터 기기는 현재 시각에서의 다리식 로봇의 가속도 정보를 획득하고, 상기 가속도 정보와 현재 시각에서의 다리식 로봇의 상태 추정 결과를 상태 공간 관측기에 입력하여, 상태 공간 관측기가 상기 가속도 정보와 현재 시각에서의 다리식 로봇의 상태 추정 결과에 따라, 현재 시각에서의 다리식 로봇의 각 로보틱 래그의 위치를 관측하여, 위치 관측 결과를 얻도록 할 수 있다. 일부 실시예에 있어서, 상태 공간 관측기는 먼저 내부의 수학적 표현식(아래의 제22 방정식(22)에서 나타낸 바와 같음)을 채택하고, 현재 시각(즉 k 번째 타임 스텝)에서의 가속도 정보와 다리식 로봇의 상태 추정 결과에 따라, 현재 시각에서의 다리식 로봇의 상태를 관측하여, 상태 관측 결과(를 채택하여 나타냄)를 얻고; 다음, 아래의 제23 방정식(23)에서 나타낸 바를 채택하여, 상기 상태 관측 결과에 따라 현재 시각에서의 다리식 로봇의 각 로보틱 래그의 위치를 관측하고, 위치 관측 결과()를 얻을 수 있다.
(22);
(23);
상기 공식 제22 방정식(22)과 제23 방정식(23)에서, g는 중력 가속도를 나타내고, a는 가속도 정보를 나타내며, A, B와 C 이 세 개의 매트릭스의 형태는 제24 방정식(24) 내지 제26 방정식(26)에서 나타낸 바와 같을 수 있다.
(24);
(25);
(26);
여기서, 는 하나의 제어 주기의 시간을 나타내고, 은 단위 매트릭스이며, 은 0 매트릭스를 나타내고, 의 하단 라벨은 단위 매트릭스와 0 매트릭스의 차원 수를 각각 나타낸다. , 은 상태 관측 결과(를 채택하여 나타냄)에서의 대응 상태(즉 대응 차원에서의 벡터)를, 를 출력하는 선택 매트릭스로 선택하는 것에 대응된다. , 는 상태 관측 결과(을 채택하여 나타냄)에서의 , , 등 벡터의 x축 방향과 z축 방향에서의 요소를 선택하여 을 구성하기 위한 것이다.
다음, 컴퓨터 기기는 상태 추정에 수요되는 참조 정보를 결정한다. 여기서, 참조 정보는, 상태를 추정할 때, 위치 계산 결과와 위치 관측 결과 각각에 대한 신뢰 정도를 나타내기 위한 것일 수 있다. 상기 참조 정보는 확장 칼만 필터에서의 파라미터일 수 있고, 칼말 필터에서의 파라미터일 수도 있으며, 또한 상태 추정 모델에서의 파라미터 등일 수 있고, 이에 대해 한정하지 않으며; 용이하게 설명하기 위해, 향후 주로 참조 정보가 확장 칼만 필터에서의 파라미터인 것으로 예를 들어 설명한다. 일부 실시예에 있어서, 상기 참조 정보는 제1 파라미터와 제2 파라미터를 포함할 수 있고; 제1 파라미터는 위치 계산 결과에 대한 신뢰 정도를 나타내고, 제2 파라미터는 위치 관측 결과에 대한 신뢰 정도를 나타낸다. 전술한 바로부터 알다시피, 위치 계산 결과는 각 로보틱 래그의 서브 위치 계산 결과를 포함할 수 있고; 상응하게, 제1 파라미터는 복수 개의 타깃 벡터를 적어도 포함할 수 있으며, 상이한 타깃 벡터는 상이한 로보틱 래그에 대응되고, 어느 하나의 타깃 벡터는 상응한 로보틱 래그의 서브 위치 계산 결과에 대한 신뢰 정도를 나타내기 위한 것이다. 위치 계산 결과와 유사하게, 위치 관측 결과는 각 로보틱 래그의 서브 위치 관측 결과를 포함할 수 있고; 제2 파라미터도 복수 개의 참조 벡터를 적어도 포함할 수도 있으며, 상이한 참조 벡터는 상이한 로보틱 래그에 대응되고, 어느 하나의 참조 벡터는 상응된 로보틱 래그의 서브 위치 관측 결과에 대한 신뢰 정도를 나타내기 위한 것이다.
실천을 거쳐, 다리부 오도메트리에 의해 출력된 위치 계산 결과에서의 의 경우, 다리식 로봇의 다리부가 평면(예를 들어 지면에서 떨어지지 않음)을 떠나지 않을 때, 계산하여 얻은 의 정확도가 비교적 높은 것을 증명한다. 따라서, 확장 칼만 필터의 파라미터 매트릭스를 합리하게 선택하여, 다리식 로봇의 다리부가 평면을 떠나지 않을 때, 에 대한 신뢰 정도를 증가하는 것, 즉 위치 계산 결과에 대한 신뢰 정도를 증가하는 것을 구현해야 한다.
다음, 참조 정보, 위치 계산 결과 및 위치 관측 결과에 따라, 현재 시각의 다음 시각에서의 다리식 로봇의 상태를 추정하여, 다음 시각에서의 다리식 로봇의 상태 추정 결과를 얻는다.
일부 실시예에 있어서, 참조 정보가 확장 칼만 필터에서의 파라미터이면, 컴퓨터 기기는 참조 정보, 위치 계산 결과 및 위치 관측 결과에 따라, 확장 칼만 필터 처리하여, 다음 시각에서의 다리식 로봇의 상태 추정 결과를 얻을 수 있다. 여기서, 확장 칼만 필터 처리의 과정은 아래의 제27 방정식(27) 내지 제32 방정식(32)을 포함할 수 있다.
(27);
(28);
(29);
(30);
(31);
(32);
상기 제27 방정식(27) 내지 제32 방정식(32)에 있어서, 는 위치 계산 결과 와 위치 관측 결과 사이의 차이값을 나타내고, A와 C는 상기 제22 방정식 내지 제23 방정식의 관련 설명을 참조할 수 있으며, 는 A의 전치 매트릭스와 C의 전치 매트릭스를 각각 나타낸다. Q와 R은 확장 칼만 필터에서의 파라미터 매트릭스이고, 상이한 정보 소스에 대한 신뢰 정도에 각각 대응되며; 여기서, Q는 상기 언급된 참조 정보에서의 제2 파라미터를 대표하고, R은 상기 언급된 참조 정보에서의 제1 파라미터를 대표하며, 즉 R은 위치 계산 결과 y에 대한 신뢰 정도를 나타내고, Q는 위치 관측 결과 에 대한 신뢰 정도를 나타낸다. P는 하나의 프리셋된 매트릭스 파라미터이고, , , 는 모두 확장 칼만 필터 과정에서 얻은 중간 파라미터를 나타내며, 의 역매트릭스를 나타내고, 은 다음 시각에서의 다리식 로봇의 상태 추정 결과를 나타낸다. 또한, 다음 시각에서의 다리식 로봇의 상태 추정 결과를 얻은 후, 다음의 확장 칼만 필터 처리를 용이하게 하게 수행하기 위해 P를 업데이트할 수 있으며; P의 업데이트 공식은 아래의 제33 방정식(33) 내지 제34 방정식(34)에서 나타낸 바를 참조할 수 있다.
(33);
(34);
상기 제33 방정식(33) 내지 제34 방정식(34)에 있어서, 는 P를 업데이트하는 과정에서 얻은 중간 파라미터를 나타내고, 의 전치 매트릭스를 나타낸다.설명해야 할 것은, 상기는 다만 예시적으로 구체 실시 형태를 설명할 뿐, 전부의 예는 아니다. 예를 들어, 참조 정보가 칼만 필터에서의 파라미터이면, 컴퓨터 기기는 참조 정보, 위치 계산 결과 및 위치 관측 결과에 따라, 칼만 필터 처리하여, 다음 시각에서의 다리식 로봇의 상태 추정 결과를 얻을 수 있다. 또 예를 들어, 참조 정보가 상태 추정 모델에서의 파라미터이면, 상태 추정 모델을 호출하여 참조 정보, 위치 계산 결과 및 위치 관측 결과에 따라, 현재 시각의 다음 시각에서의 다리식 로봇의 상태를 추정하여, 다음 시각에서의 다리식 로봇의 상태 추정 결과 등을 얻을 수 있다.
마지막으로, 다음 시각에서의 다리식 로봇의 상태 추정 결과에 기반하여, 제어기는 상기의 다리식 로봇에 대응되는 동역학 모델 및 상기 각 타임 스텝에서의 상기 평면과 상기 다리식 로봇의 각 로보틱 래그 사이의 접촉력을 결합하여, 각 관절 모터가 각 타임 스텝에서 제공하는 모터 모멘트를 결정하며, 관절 모멘트의 조절을 구현한다.
본 출원의 실시예는 네 개의 로보틱 래그가 모두 착지된 단계부터 상태 추정 실행을 시작함으로써, 착지된 후의 상태 추정이 아주 짧은 시간 내에 결과의 수렴을 완료할 수 있는 것을 보장한다. 일부 실시예에 있어서, 로봇이 네 개의 로보틱 래그가 모두 평면에 접촉된 것을 검출하기만 하면, 상태 추정기는 비교적 짧은 시간 내에서 수렴되며, 관절 각도와 다리부 오도메트리에 의거하여, 정확한 질량 중심 높이와 포즈 값을 계산하여 얻는다. 실제 기계 실제 테스트 결과, 수렴 시간은 0.004-0.01s 내에서, 즉 2-5 개의 제어 주기 내에서, 그 결과가 착지 시각 질량 중심 높이와 포즈의 플래너에 비교적 좋게 응용된 것을 표명한다.
본 출원의 실시예는 다리식 로봇을 제어하는 장치를 제어하고, 상기 다리식 로봇은 베이스와 적어도 두 개의 로보틱 래그를 포함하며, 상기 각 로보틱 래그는 적어도 하나의 관절을 포함하고, 상기 다리식 로봇을 제어하는 장치는, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하도록 구성된 계획 계산 기기 - 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치의 변화의 예상 궤적을 나타내고, 상기 제2 예상 궤적은 각 로보틱 래그의 발끝의 예상 궤적을 나타내며, 상기 발끝은 상기 베이스에서 멀리 떨어진 한 끝임 - ; 및 상기 다리식 로봇의 질량 중심에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇의 베이스의 높이가 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하도록 구성된 제어 모터를 포함한다.
일부 실시예에 있어서, 상기 적어도 두 개의 로보틱 래그는 적어도 하나의 앞다리와 적어도 하나의 뒷다리를 포함하고, 상기 계획 계산 기기는 또한, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 근사 모델에 기반하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적을 결정하고 - 상기 근사 모델에 있어서, 상기 다리식 로봇은 단일 강체로 간략화되고, 상기 다리식 로봇이 평면에 접촉되는 과정에서, 상기 적어도 하나의 앞다리는 상기 단일 강체를 향해 제1 추력을 가하고, 상기 적어도 하나의 뒷다리는 상기 단일 강체를 향해 제2 추력을 가하며, 상기 제1 추력과 상기 제2 추력의 합력은 상기 단일 강체를 향해 상향 추력을 가하고, 상기 제1 추력과 상기 제2 추력으로 형성된 토크는 상기 단일 강체를 향해 질량 중심 각 가속도를 제공함 - ; 상기 각 로보틱 래그가 모두 평면에 접촉된 순간 시각에서, 상기 각 로보틱 래그의 발끝의 초기 시각에서의 발끝 위치 좌표를 결정하고, 상기 초기 시각에서의 발끝 위치 좌표를 발끝 초기 위치로 결정하며; 상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향 및 상기 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하고, 상기 안정된 시각에서의 발끝 위치 좌표를 발끝 마지막 위치로 결정하고 - 상기 안정된 시각에서, 상기 다리식 로봇의 베이스의 높이는 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각은 0임 - ; 상기 발끝 초기 위치와 상기 발끝 마지막 위치에 기반하여, 3차 스플라인 보간을 사용하여 상기 다리식 로봇에 대응되는 제2 예상 궤적을 결정하도록 구성된다.
일부 실시예에 있어서, 상기 계획 계산 기기는 또한, 상기 다리식 로봇의 질량을 획득하고; 상기 근사 모델과 다리식 로봇의 질량에 기반하여, 상기 다리식 로봇에 대응되는 동역학 방정식을 결정하며; 상기 동역학 방정식을, 상태 공간 표시로 전환하고, 상기 상태 공간 표시를 이산화하여, 각 타임 스텝에 대응되는 상태 전이 방정식을 얻고; 상기 각 타임 스텝에 대응되는 상태 전이 방정식을 통해 최적화 타깃 함수를 구축하고, 상기 최적화 타깃 함수의 해를 구하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적을 얻는다.
일부 실시예에 있어서, 상기 계획 계산 기기는 또한, 상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향에 대응되는 오프셋 정보를 획득하고; 상기 발끝 초기 위치와 오프셋 정보에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하도록 구성된다.
일부 실시예에 있어서, 상기 계획 계산 기기는 또한, 상기 각 로보틱 래그의 발끝 초기 위치가 제1 방향에서 대응되는 제1 위치 요소, 제2 방향에서 대응되는 제2 위치 요소, 제3 방향에서 대응되는 제3 위치 요소를 결정하고 - 상기 제1 방향은 상기 쓰러짐 경향에 대응되는 방향이고, 상기 제2 방향과 상기 제3 방향은 세계 좌표계에서 상기 제1 방향을 제외한 다른 두 개의 방향임 - ; 상기 오프셋 정보를 상기 각 로보틱 래그의 발끝 초기 위치가 상기 쓰러짐 경향에서 각각 대응되는 제1 위치 요소에 중첩시켜, 상기 각 로보틱 래그가 상기 제1 방향에서 대응되는 오프셋된 후의 제1 위치 요소를 얻고; 상기 제1 방향에 대응되는 오프셋된 후의 제1 위치 요소, 상기 제2 방향에 대응되는 제2 위치 요소, 상기 제3 방향에 대응되는 제3 위치 요소를, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표로 결정하도록 구성된다.
일부 실시예에 있어서, 상기 다리식 로봇의 질량 중심이 중력 방향에서 상기 제1 예상 궤적에 기반하여 이동할 때, 상기 다리식 로봇의 질량 중심 파동량, 상기 다리식 로봇이 받는 충격력의 총량, 상기 다리식 로봇의 스쿼트량, 상기 다리식 로봇이 받는 충격력 돌변량의 조합은 극소치에 도달한다.
일부 실시예에 있어서, 상기 제1 예상 궤적은,
상기 다리식 로봇이 평면에 접촉되는 첫 번째 순간에 받는 충격력의 크기가 다리식 로봇이 견딜 수 있는 최대 충격력보다 작은 것을 나타내는 제1 구속 조건;
상기 다리식 로봇이 받는 충격력의 크기가 상기 평면이 제공 가능한 지탱력의 상한보다 작고, 상기 평면이 제공 가능한 지탱력의 상한보다 큰 것을 나타내는 제2 구속 조건; 및
상기 다리식 로봇의 질량 중심의 높이가 항상 최저 높이보다 큰 것을 나타내는 제3 구속 조건을 만족한다.
일부 실시예에 있어서, 상기 제어 모터는 또한, 상기 각 로보틱 래그가 모두 평면에 접촉되는 순간 시각에서, 상기 다리식 로봇의 쓰러짐 경향 방향을 획득하고; 상기 다리식 로봇의 각 로보틱 래그가 상기 다리식 로봇의 쓰러짐 경향 방향을 따라 이동하도록 제어하며, 다리식 로봇의 질량 중심이 예상한 정지 높이에 도달하고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지, 상기 각 로보틱 래그가 압축 상태로부터 점차 리바운드되도록 제어하도록 구성된다.
일부 실시예에 있어서, 상기 제1 예상 궤적은, 상기 다리식 로봇의 각 로보틱 래그가 평면에 접촉된 후, 상기 다리식 로봇의 질량 중심이 중력 방향에서의 높이가 점차 낮아진 다음 점차 상승하며, 상기 다리식 로봇의 피치의 각도가 점차 증가한 후 점차 감소되는 것을 나타낸다.
일부 실시예에 있어서, 상기 동역학 모델은, 상기 단일 강체의 가속도와 제1 추력, 제2 추력 및 중력 사이의 관계를 나타내고, 상기 동역학 모델은 또한, 상기 단일 강체의 각 가속도와 제1 추력 및 제2 추력 사이의 관계를 나타낸다.
일부 실시예에 있어서, 상기 제어 모터는 또한, 상기 다리식 로봇에 대응되는 동역학 모델에 기반하여, 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력을 결정하고, 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 실제 궤적 및 상기 다리식 로봇의 피치 변화의 실제 궤적이 상기 제1 예상 궤적에 부합되도록 제어하며; 상기 다리식 로봇에 대응되는 동역학 모델 및 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력에 기반하여, 각 관절 모터가 각 타임 스텝에서 출력한 모터 모멘트를 결정하고, 상기 각 로보틱 래그 발끝의 궤적이 상기 제2 예상 궤적에 부합되게 제어하도록 구성된다.
일부 실시예에 있어서, 상기 제어 모터는 또한, 상기 다리식 로봇에 대응되는 동역학 모델을 통해, 상기 다리식 로봇의 파티클 동역학 방정식을 획득하고; 상기 제1 예상 궤적에 대응되는 데이터 시퀀스를 상기 파티클 동역학 방정식에 대입하며, 모델 예측 제어를 응용하여, 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력의 해를 구하도록 구성된다.
일부 실시예에 있어서, 상기 제어 모터는 또한, 상기 다리식 로봇에 대응되는 동역학 모델을 통해, 상기 다리식 로봇의 관절 동역학 방정식을 획득하고; 상기 제2 예상 궤적으로부터 상기 다리식 로봇의 각 로보틱 래그의 각 타임 스텝에서의 발끝 예상 위치와 발끝 예상 속도를 획득하며, 상기 다리식 로봇의 각 로보틱 래그의 각 타임 스텝에서의 발끝 실제 위치와 발끝 실제 속도를 획득하고; 상기 다리식 로봇이 각 타임 스텝에서의 발끝 예상 위치에서 대응되는 발끝 실제 위치를 감하여, 상기 다리식 로봇이 상기 각 타임 스텝에서의 발끝 위치 차이값을 얻으며; 상기 다리식 로봇이 상기 각 타임 스텝에서의 발끝 예상 속도에서 대응되는 발끝 실제 속도를 감하여, 상기 다리식 로봇이 상기 각 타임 스텝에서의 발끝 속도 차이값을 얻고; 비례 제어 피드백 계수와 차등 제어 피드백 계수를 획득하며; 비례 제어 피드백 계수, 차등 제어 피드백 계수, 상기 발끝위치 차이값, 상기 발끝 속도 차이값 및 상기 제1 예상 궤적의 데이터 시퀀스를 이용하여, 상기 각 관절의 관절각 가속도를 결정하고; 상기 각 관절의 관절각 가속도와 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력을, 상기 파티클 동역학 방정식에 대입하여, 상기 각 관절 모터가 각 타임 스텝에서 출력한 모터 모멘트의 해를 구하도록 구성된다.
일부 실시예에 있어서, 상기 제어 모터는 또한, 상기 다리식 로봇의 현재 상태 정보를 획득하고; 상기 다리식 로봇의 현재 상태 정보에 기반하여, 상기 다리식 로봇의 각 로보틱 래그의 로보틱 래그 상태를 결정하며 - 상기 로보틱 래그 상태는 압축 상태 또는 리바운드 상태임 - ; 상기 각 로보틱 래그의 로보틱 래그 상태에 대응되는 비례 제어 피드백 계수와 차등 제어 피드백 계수를 획득하도록 구성된다.
일부 실시예에 있어서, 계획 계산 기기는 또한, 상기 다리식 로봇의 현재 상태 정보를 획득하고; 상기 다리식 로봇의 현재 상태 정보에 기반하여, 현재 시각에서의 상기 각 로보틱 래그와 평면 사이의 접촉 정보를 결정하며; 현재 시각에서의 상기 각 로보틱 래그와 평면 사이의 접촉 정보에 기반하여 현재 시각에서의 상기 각 로보틱 래그와 평면 사이가 모두 접촉된 상태인 것으로 결정한 것에 응답하여, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정하도록 구성된다.
일부 실시예에 있어서, 상기 현재 상태 정보는,
각 로보틱 래그의 관절 모터 모멘트 또는 전류값 또는 전압값;
상기 다리식 로봇의 질량 중심 높이, 질량 중심 포즈, 각 로보틱 래그에 대응되는 현재 관절각 정보;
각 로보틱 래그에 대응되는 현재 발밑 촉각 피드백 값; 및
상기 다리식 로봇이 중력 방향에서의 현재 가속도 중의 적어도 하나를 포함한다.
본 출원의 실시예는 다리식 로봇(900)을 제안한다. 도 9는 본 출원의 실시예에 따른 다리식 로봇(900)의 예시적 블록도를 도시한다.
상기 다리식 로봇(900)은, 베이스부(910), 상기 베이스부에 연결되는 하지부(920)를 포함하고, 상기 하지부(920)는 네 개의 하지를 포함할 수 있으며, 그 중 각 하지는 고관절의 두 개의 자유도와 무릎 관절의 1개의 자유도를 포함할 수 있다.
상기 하지부는 상기 다리식 로봇의 운동을 구현하기 위한 다리식 부재인 것을 가리키고, 예를 들어, 로보틱 래그 및 로보틱 래그를 베이스와 연결시키며 상기 로보틱 래그에 대한 운동 제어를 구현하기 위한 모터를 포함한다. 본 출원의 실시예는 상기 하지부의 구체 구성 타입 및 그 하지 개수에 의해 한정되지 않는다.
상기 베이스부는 상기 다리식 로봇의 주체 부분을 가리키고, 예를 들어, 상기 다리식 로봇의 몸체부일 수 있고, 본 출원의 실시예는 상기 베이스부의 구체적 형태 및 구성에 의해 한정되지 않는다.
일부 실시예에 있어서, 상기 베이스부가 예를 들어, 2개의 척추 관절을 포함하고, 상기 하지부는 예를 들어, 8 개의 하지 관절을 포함할 수 있으며, 본 출원의 실시예는 상기 베이스부 및 상기 하지부에 포함된 구체적 관절 개수에 의해 한정되지 않고, 상기 다리식 로봇이 갖는 구체적 관절 구성에 의해서도 한정되지 않는다.
상기 다리식 로봇은 또한 제어기(930)를 포함할 수 있고, 상기 제어기는 상기 다리식 로봇에 설치되며, 상기와 같은 운동 제어 방법을 실행할 수 있고, 상기와 같은 기능을 갖는다.
상기 제어기는 예를 들어, 처리 장치를 포함한다. 처리 장치는 마이크로 프로세서, 디지털 신호 프로세서(DSP), 전용 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이, 상태기 또는 센서 라인으로부터 수신된 전기 신호를 처리하기 위한 다른 처리 소자를 포함할 수 있다. 이러한 처리 소자는 프로그래머블 전자 기기를 포함할 수 있고, 예를 들어, PLC, 프로그래머블 인터럽트 컨트롤러(PIC), 프로그래머블 논리 소자(PLD), 프로그래머블 판독 전용 메모리(PROM), 전자 프로그래머블 판독 전용 메모리 등이다.
또한, 상기 다리식 로봇은 또한 버스, 메모리, 센서 컴포넌트, 통신 모듈 및 입력 출력 장치 등을 포함할 수 있다.
버스는 상기 다리식 로봇의 각 부재를 서로 연결시키고 각 부재 사이에서 통신 정보를 전달(예를 들어, 제어 정보 또는 데이터임)하는 회로일 수 있다.
센서 컴포넌트는 물리 세계를 감지하기 위한 것일 수 있고, 예를 들어, 카메라, 적외선 센서 초음파 센서 등이다. 또한, 센서 컴포넌트는 또한 다리식 로봇의 현재 운행 및 운동 상태를 측정하기 위한 장치를 포함할 수 있으며, 예를 들어, 홀 센서, 레이저 위치 센서 또는 변형력 센서 등이다.
통신 모듈은 예를 들어, 물리 세계(예를 들어, 서버)와 용이하게 통신하기 위해 유선 또는 무선을 통해 네트워크와 연결될 수 있다. 통신 모듈은 무선일 수 있고 무선 인터페이스를 포함할 수 있으며, 예를 들어, IEEE 802.11, 블로투스, 무선랜(WLAN) 트랜시버, 또는 셀룰러 전화 네트워크에 액세스하기 위한 무선 전기 인터페이스(예를 들어, CDMA、GSM、UMTS 또는 다른 모바일 통신 네트워크에 액세스하기 위한 트랜시버/안테나)이다. 다른 실시예에 있어서, 통신 모듈은 유선일 수 있고, 이더넷, USB 또는 IEEE 1394와 같은 인터페이스를 포함할 수 있다.
입력 출력 장치는 예를 들어, 사용자 또는 어떤 다른 외부 기기로부터 입력된 명령 또는 데이터를 다리식 로봇의 하나 또는 복수 개의 다른 부재로 전달하거나, 다리식 로봇의 하나 또는 복수 개의 다른 부재로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기에 출력할 수 있다.
복수 개의 다리식 로봇은 다리식 로봇 시스템을 구성하여 한 항의 작업을 협동하여 완료할 수 있고, 상기 복수 개의 다리식 로봇은 서버에 통신적으로 연결되고, 서버로부터 협동 다리식 로봇 명령어를 수신한다.
본 출원의 실시예의 한 측면에 따라, 다리식 로봇을 제어하는 기기를 제공하고, 상기 다리식 로봇을 제어하는 기기는 프로세서와 메모리를 포함하며, 상기 메모리에는 적어도 하나의 명령어, 적어도 하나의 프로그램, 코드 세트 또는 명령어 세트가 저장되며, 상기 적어도 하나의 명령어, 상기 적어도 하나의 프로그램, 상기 코드 세트 또는 명령어 세트가 상기 프로세서에 의해 로딩 및 실행되어 상기 다리식 로봇을 제어하는 방법을 구현한다.
본 출원의 실시예의 한 측면에 따라, 컴퓨터 판독 가능한 저장 매체를 제공하고, 상기 판독 가능한 저장 매체에는 적어도 하나의 명령어, 적어도 하나의 프로그램, 코드 세트 또는 명령어 세트가 저장되며, 상기 적어도 하나의 명령어, 상기 적어도 하나의 프로그램, 상기 코드 세트 또는 명령어 세트가 프로세서에 의해 로딩 및 실행되어 상기 다리식 로봇을 제어하는 방법을 구현한다.
본 출원의 실시예는 컴퓨터 프로그램 제품을 제공하고, 컴퓨터 실행 가능한 명령어 또는 컴퓨터 프로그램을 포함하며, 상기 컴퓨터 실행 가능한 명령어 또는 컴퓨터 프로그램이 프로세서에 의해 실행될 때 본 출원의 실시예에서 제공하는 다리식 로봇을 제어하는 방법을 구현한다.
기술 중의 프로그램 부분은 실행 가능한 코드 및 관련된 데이터의 형태 중 적어도 하나로 존재하는 “제품” 또는 “제조품”으로 간주될 수 있고, 컴퓨터 판독 가능한 매체를 통해 참여 또는 구현된다. 유형의, 영구적인 저장 매체는 어떤 컴퓨터, 프로세서, 또는 유사 기기 또는 관련된 모듈에 사용되는 내장 메모리 또는 메모리를 포함할 수 있다. 예를 들어, 각 반도체 메모리, 테이프 드라이브, 디스크 드라이브 또는 소프트웨어에 저장 기능을 제공할 수 있는 것과 유사한 어떤 기기이다.
모든 소프트웨어 또는 그 중의 일부는 가끔 네트워크를 통해 통신할 수 있으며, 예를 들어, 인터넷 또는 다른 통신 네트워크이다. 이러한 타입의 통신은 소프트웨어를 하나의 컴퓨터 기기 또는 프로세서로부터 다른 하나에 로드할 수 있다. 따라서, 소프트웨어 요소를 전달할 수 있는 다른 매체는 로컬 기기 사이의 물리적 연결로도 사용될 수 있다. 예를 들어, 광파, 전파, 전자파 등이며, 케이블, 광케이블 도는 공기 등을 통해 전파를 구현한다. 캐리어에 사용되는 물리적 매체, 예를 들어, 케이블, 무선 연결 또는 광케이블 등과 같은 유사 기기도, 소프트웨어를 캐리하는 매체로 간주될 수 있다. 여기에서의 용법은 유형의 “저장” 매체를 한정하지 않는 한, 컴퓨터 또는 머신“판독 가능 매체”를 나타내는 다른 용어는 모두 프로세서가 어떤 명령어를 실행하는 과정에 참여된 매체를 나타낸다.
본 출원에서는 특정 단어를 사용하여 본 출원의 실시예를 설명한다. 예를 들어, “제1/제2 실시예”, “일 실시예”, “및/또는“, “일부 실시예”는 본 출원의 적어도 하나의 실시예와 관련된 특정된 하나의 특징, 구조 또는 특점을 의미한다. 따라서, 강조하며 유의해야 할 것은, 본 명세서 중 상이한 위치에서 두번 또는 복수 번 언급된 “일 실시예” 또는 “하나의 실시예” 또는 “하나의 대체성 실시예”는 동일한 실시예를 가리키는 것이 아닐 수 있다. 또한, 본 출원이 하나 또는 복수 개의 실시예에서의 특정된 일부 특징, 구조 또는 특점은 적당하게 조합될 수 있다.
또한, 본 분야의 기술자는, 본 출원의 각 측면에서, 어떤 새로운 것과 유용한 공정, 머신, 제품 또는 물질의 조합, 또는 이들의 어떤 새로운 것과 유용한 것의 개선을 포함하여 특허 가능한 유형 또는 경우를 통해 설명되고 묘사될 수 있음을 이해할 수 있다. 상응하게, 본 출원의 각 측면은 하드웨어에 의해 완전히 실행될 수 있고, 소프트웨어(펌웨어, 상주 소프트웨어, 마이크로 코드 등을 포함함)에 의해 완전히 실행될 수 있으며, 하드웨어와 소프트웨어의 조합에 의해 실행될 수도 있다. 이상의 하드웨어 또는 소프트웨어는 모두 “데이터 블록”, “모듈”, “엔진”, “유닛”, “컴포넌트” 또는 “시스템”으로 지칭될 수 있다. 또한, 본 출원의 각 측면은 하나 또는 복수 개의 컴퓨터 판독 가능한 매체에 위치하는 컴퓨터 제품으로 표현될 수 있고, 상기 제품은 컴퓨터 판독 가능한 프로그램 코드를 포함한다.
별도로 정의하지 않는한, 본 발명에서 사용한 모든 용어(기술 용어 및 과학 용어를 포함)는 통상의 기술자의 이해와 동일한 의미를 갖는 것을 이해할 것이다. 또 이해해야 할 것은, 통상적인 사전에서 정의된 것과 같은 용어는 이들과 관련된 기술에서 상하 문장중의 함의가 일치한 함의를 갖는 것으로 이해되어야 하고, 여기에서 명확하게 정의되지 않는 한, 이상적이거나 극도로 형식적인 의미로 이해되어서는 안된다.
상기는 본 발명에 대한 설명이며, 그에 대한 한정으로 간주되어서는 안된다. 본 발명의 복수 개의 예시적인 실시예를 설명하였지만, 본 분야의 기술자는 본 발명의 신규한 교육 및 이점에 위배되지 않는 전제하에서 예시적인 실시예를 많이 수정할 수 있는 것을 쉽게 이해할 것이다. 따라서, 모든 이러한 수정은 청구범위에 의해 한정된 본 발명의 범위 내에 포함되도록 의도된다. 이해해야 할 것은, 상기는 본 발명에 대한 설명이며, 개시된 특정 실시예에 한정된 것으로 간주되지 않고, 개시된 실시예 및 다른 실시예의 수정 의도는 첨부된 청구범위의 범위에 포함된다. 본 발명은 청구범위 및 그 등가물에 의해 한정된다.

Claims (21)

  1. 다리식 로봇을 제어하는 방법으로서,
    상기 다리식 로봇은 베이스와 적어도 두 개의 로보틱 래그를 포함하며, 각 로보틱 래그는 적어도 하나의 관절을 포함하고, 상기 다리식 로봇을 제어하는 방법은,
    상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하는 단계 - 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치 변화의 예상 궤적을 나타내고, 상기 제2 예상 궤적은 상기 각 로보틱 래그의 발끝의 예상 궤적을 나타내며, 상기 발끝은 상기 베이스에서 멀리 떨어진 한 끝임 - ; 및
    상기 다리식 로봇에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇의 베이스의 높이가 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지, 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  2. 제1항에 있어서,
    상기 적어도 두 개의 로보틱 래그는 적어도 하나의 앞다리와 적어도 하나의 뒷다리를 포함하고, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하는 단계는,
    상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 근사 모델에 기반하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적을 결정하는 단계 - 상기 근사 모델에서, 상기 다리식 로봇은 단일 강체로 사용되고, 상기 다리식 로봇이 평면에 접촉되는 과정에서, 상기 적어도 하나의 앞다리는 상기 단일 강체를 향해 제1 추력을 가하고, 상기 적어도 하나의 뒷다리는 상기 단일 강체를 향해 제2 추력을 가하며, 상기 제1 추력과 상기 제2 추력의 합력은 상기 단일 강체를 향해 상향 추력을 가하고, 상기 제1 추력과 상기 제2 추력에 의해 형성된 토크는 상기 단일 강체를 향해 질량 중심 각 가속도를 제공함 - ;
    상기 각 로보틱 래그가 모두 평면에 접촉되는 순간 시각에서, 상기 각 로보틱 래그의 발끝의 초기 시각에서의 발끝 위치 좌표를 결정하고, 상기 초기 시각의 발끝 위치 좌표를 발끝 초기 위치로 결정하는 단계;
    상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향 및 상기 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하고, 상기 안정된 시각의 발끝 위치 좌표를 발끝 마지막 위치로 결정하는 단계 - 상기 안정된 시각에서, 상기 다리식 로봇의 베이스의 높이는 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각은 0임 - ; 및
    상기 발끝 초기 위치와 상기 발끝 마지막 위치에 기반하여, 3차 스플라인 보간을 사용하여 상기 다리식 로봇에 대응되는 제2 예상 궤적을 결정하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  3. 제2항에 있어서,
    상기 다리식 로봇에 대응되는 근사 모델에 기반하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적을 결정하는 단계는,
    상기 다리식 로봇의 질량을 획득하는 단계;
    상기 근사 모델과 다리식 로봇의 질량에 기반하여, 상기 다리식 로봇에 대응되는 동역학 방정식을 결정하는 단계;
    상기 동역학 방정식을, 상태 공간 표시로 전환하고, 상기 상태 공간 표시를 이산화하여, 각 타임 스텝에 대응되는 상태 전이 방정식을 얻는 단계; 및
    상기 각 타임 스텝에 대응되는 상태 전이 방정식을 통해 최적화 타깃 함수를 구축하고, 상기 최적화 타깃 함수의 해를 구하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적을 얻는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  4. 제2항에 있어서,
    상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향 및 상기 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하는 단계는,
    상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향에 대응되는 오프셋 정보를 획득하는 단계; 및
    상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향에 대응되는 오프셋 정보와 상기 각 로보틱 래그의 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  5. 제4항에 있어서,
    상기 각 로보틱 래그가 평면에 접촉될 때의 쓰러짐 경향에 대응되는 오프셋 정보와 상기 각 로보틱 래그의 발끝 초기 위치에 기반하여, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표를 결정하는 단계는,
    상기 각 로보틱 래그의 발끝 초기 위치의 제1 방향에서의 대응되는 제1 위치 요소, 제2 방향에서의 대응되는 제2 위치 요소, 제3 방향에서의 대응되는 제3 위치 요소를 결정하는 단계 - 상기 제1 방향은 상기 쓰러짐 경향에 대응되는 방향이고, 상기 제2 방향과 상기 제3 방향은 세계 좌표계에서 상기 제1 방향을 제외한 다른 두 개의 방향임 - ;
    상기 오프셋 정보를 상기 각 로보틱 래그의 발끝 초기 위치의 상기 쓰러짐 경향에서의 각각 대응되는 제1 위치 요소에 중첩시켜, 상기 각 로보틱 래그의 상기 제1 방향에서의 대응되는 오프셋된 후의 제1 위치 요소를 얻는 단계; 및
    상기 제1 방향에서의 대응되는 오프셋된 후의 제1 위치 요소, 상기 제2 방향에서의 대응되는 제2 위치 요소, 상기 제3 방향에서의 대응되는 제3 위치 요소를, 상기 각 로보틱 래그의 발끝의 안정된 시각에서의 발끝 위치 좌표로 결정하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  6. 제2항에 있어서,
    상기 다리식 로봇의 질량 중심이 중력 방향에서 상기 제1 예상 궤적을 따라 이동할 때, 상기 다리식 로봇의 질량 중심 파동량, 상기 다리식 로봇이 받는 충격력의 총량, 상기 다리식 로봇의 스쿼트량 및 상기 다리식 로봇이 받는 충격력 돌변량의 조합이 극소치에 도달하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  7. 제6항에 있어서,
    상기 제1 예상 궤적은,
    상기 다리식 로봇이 평면에 접촉되는 첫 번째 순간에 받는 충격력의 크기가 다리식 로봇이 견딜 수 있는 최대 충격력보다 작은 것을 나타내는 제1 구속 조건;
    상기 다리식 로봇이 받는 충격력의 크기가 상기 평면이 제공 가능한 지탱력의 상한보다 작고, 상기 평면이 제공 가능한 지탱력의 상한보다 큰 것을 나타내는 제2 구속 조건; 및
    상기 다리식 로봇의 질량 중심의 높이가 항상 최저 높이보다 큰 것을 나타내는 제3 구속 조건을 만족하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  8. 제1항에 있어서,
    상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하는 단계는,
    상기 각 로보틱 래그가 모두 평면에 접촉된 순간 시각에서, 상기 다리식 로봇의 쓰러짐 경향을 획득하는 단계; 및
    다리식 로봇의 질량 중심이 예상한 정지 높이에 도달하고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지, 상기 다리식 로봇의 각 로보틱 래그가 상기 다리식 로봇의 쓰러짐 경향을 따라 이동하도록 제어하고, 상기 각 로보틱 래그가 압축 상태로부터 점차 리바운드되도록 제어하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  9. 제1항에 있어서,
    상기 제1 예상 궤적은, 상기 다리식 로봇의 각 로보틱 래그가 평면에 접촉된 후, 상기 다리식 로봇의 질량 중심의 중력 방향에서의 높이가 점차 낮아진 다음 점차 상승되하며, 상기 다리식 로봇의 피치의 각도값이 점차 증가된 후 점차 감소되는 것을 나타내는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  10. 제2항에 있어서,
    상기 동역학 모델은, 상기 단일 강체의 가속도와 제1 추력, 제2 추력 및 중력 사이의 관계를 나타내고, 상기 동역학 모델은 또한, 상기 단일 강체의 각 가속도가 제1 추력 및 제2 추력 사이와의 관계를 나타내는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  11. 제2항에 있어서,
    상기 다리식 로봇에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇이 평면에 접촉된 후 각 관절의 동작을 제어하는 단계는,
    상기 다리식 로봇에 대응되는 동역학 모델과 상기 제1 예상 궤적에 기반하여, 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력을 결정하고, 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 실제 궤적 및 상기 다리식 로봇의 피치 변화의 실제 궤적이 모두 상기 제1 예상 궤적에 부합되도록 제어하는 단계; 및
    상기 다리식 로봇에 대응되는 동역학 모델, 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력 및 상기 제2 예상 궤적에 기반하여, 각 관절 모터가 각타임 스텝에서 출력한 모터 모멘트를 결정하고, 상기 각 로보틱 래그 발끝의 궤적이 상기 제2 예상 궤적에 부합되도록 제어하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  12. 제11항에 있어서,
    상기 다리식 로봇에 대응되는 동역학 모델 및 상기 제1 예상 궤적에 기반하여, 각 타임 스템에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력을 결정하는 단계는,
    상기 다리식 로봇에 대응되는 동역학 모델을 통해, 상기 다리식 로봇의 파티클 동역학 방정식을 획득하는 단계; 및
    상기 제1 예상 궤적에 대응되는 데이터 시퀀스를 상기 파티클 동역학 방정식에 대입하고, 모델 예측 제어를 응용하여, 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력의 해를 구하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  13. 제11항에 있어서,
    상기 다리식 로봇에 대응되는 동역학 모델, 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접촉력 및 상기 제2 예상 궤적에 기반하여, 각 관절 모터가 각 타임 스텝에서 출력한 모터 모멘트를 결정하는 단계는,
    상기 다리식 로봇에 대응되는 동역학 모델을 통해, 상기 다리식 로봇의 관절 동역학 방정식을 획득하는 단계;
    상기 제2 예상 궤적으로부터 상기 다리식 로봇의 각 로보틱 래그의 각 타임 스텝에서의 발끝 예상 위치와 발끝 예상 속도를 획득하고, 상기 다리식 로봇의 각 로보틱 래그의 각 타임 스텝에서의 발끝 실제 위치와 발끝 실제 속도를 획득하는 단계;
    상기 다리식 로봇의 각 타임 스텝에서의 발끝 예상 위치에서 대응되는 발끝 실제 위치를 감하여, 상기 다리식 로봇의 상기 각 타임 스텝에서의 발끝 위치 차이값을 얻는 단계; 상기 다리식 로봇의 상기 각 타임 스텝에서의 발끝 예상 속도에서 대응되는 발끝 실제 속도를 감하여, 상기 다리식 로봇의 상기 각 타임 스텝에서의 발끝 속도 차이값을 얻는 단계;
    비례 제어 피드백 계수와 차등 제어 피드백 계수를 획득하는 단계;
    비례 제어 피드백 계수, 차등 제어 피드백 계수, 상기 발끝 위치 차이값, 상기 발끝 속도 차이값 및 상기 제1 예상 궤적의 데이터 시퀀스를 이용하여, 상기 각 관절의 관절각 가속도를 결정하는 단계; 및
    상기 각 관절의 관절각 가속도와 각 타임 스텝에서의 상기 다리식 로봇의 각 로보틱 래그와 상기 평면 사이의 접착력을, 상기 파티클 동역학 방정식에 대입하여, 상기 각 관절 모터가 각 타임 스텝에서 출력한 모터 모멘트의 해를 구하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  14. 제13항에 있어서,
    상기 비례 제어 피드백 계수와 차등 제어 피드백 계수를 획득하는 단계는,
    상기 다리식 로봇의 현재 상태 정보를 획득하는 단계;
    상기 다리식 로봇의 현재 상태 정보에 기반하여, 상기 다리식 로봇의 각 로보틱 래그의 로보틱 래그 상태를 결정하는 단계 - 상기 로보틱 래그 상태는 압축 상태 또는 리바운드 상태임 - ; 및
    상기 각 로보틱 래그의 로보틱 래그 상태에 대응되는 비례 제어 피드백 계수와 차등 제어 피드백 계수를 획득하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  15. 제1항에 있어서,
    상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정하는 단계는,
    상기 다리식 로봇의 현재 상태 정보를 획득하는 단계;
    상기 다리식 로봇의 현재 상태 정보에 기반하여, 현재 시각에서의 상기 각 로보틱 래그와 평면 사이의 접촉 정보를 결정하는 단계; 및
    현재 시각에서의 상기 각 로보틱 래그와 평면 사이의 접촉 정보에 기반하여 현재 시각에서의 상기 각 로보틱 래그와 평면 사이가 모두 접촉 상태인 것으로 결정한 것에 응답하여, 상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  16. 제14항 또는 제15항에 있어서,
    상기 현재 상태 정보는,
    각 로보틱 래그의 관절 모터 모멘트 또는 전류값 또는 전압값;
    상기 다리식 로봇의 질량 중심 높이, 질량 중심 포즈, 각 로보틱 래그에 대응되는 현재 관절각 정보;
    각 로보틱 래그에 대응되는 현재 발밑 촉각 피드백 값; 및
    상기 다리식 로봇이 중력 방향에서의 현재 가속도 중의 적어도 하나를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 방법.
  17. 다리식 로봇을 제어하는 장치로서,
    상기 다리식 로봇은 베이스와 적어도 두 개의 로보틱 래그를 포함하고, 각 로보틱 래그는 적어도 하나의 관절을 포함하며, 상기 다리식 로봇을 제어하는 장치는,
    상기 다리식 로봇의 각 로보틱 래그가 모두 평면에 접촉되게 낙하된 것으로 결정한 것에 응답하여, 상기 다리식 로봇에 대응되는 제1 예상 궤적과 제2 예상 궤적을 결정하도록 구성된 계획 계산 기기 - 상기 제1 예상 궤적은 상기 다리식 로봇의 질량 중심이 중력 방향에서 이동하는 예상 궤적 및 상기 다리식 로봇의 피치 변화의 예상 궤적을 나타내고,상기 제2 예상 궤적은 상기 각 로보틱 래그의 발끝의 예상 궤적을 나타내며, 상기 발끝은 상기 베이스에서 멀리 떨어진 한 끝임 - ; 및
    상기 다리식 로봇의 질량 중심에 대응되는 동역학 모델 및 상기 제1 예상 궤적과 제2 예상 궤적에 기반하여, 상기 다리식 로봇의 베이스의 높이가 변하지 않고 상기 다리식 로봇의 피치 방향의 회전각이 0이 될 때까지, 상기 다리식 로봇 평면에 접촉된 후 각 관절의 동작을 제어하도록 구성된 제어 모터를 포함하는 것을 특징으로 하는 다리식 로봇을 제어하는 장치.
  18. 다리식 로봇으로서,
    베이스부;
    상기 베이스부에 연결되는 하지부 - 상기 하지부는 네 개의 하지를 포함하며, 각 하지는 고관절의 두 개의 자유도와 무릎 관절의 1개의 자유도를 포함함 - ; 및
    상기 다리식 로봇에 설치되고, 제1항 내지 제16항 중 어느 한 항에 따른 다리식 로봇을 제어하는 방법을 실행 가능한 제어기를 포함하는 것을 특징으로 하는 다리식 로봇.
  19. 다리식 로봇을 제어하는 기기로서,
    프로세서; 및
    메모리를 포함하며, 상기 메모리에는 컴퓨터 실행 가능한 코드가 저장되고, 상기 컴퓨터 실행 가능한 코드가 상기 프로세서에 의해 작동될 때, 제1항 내지 제16항 중 어느 한 항에 따른 다리식 로봇을 제어하는 방법을 실행하는 것을 특징으로 하는 다리식 로봇을 제어하는 기기.
  20. 비휘발성 컴퓨터 판독 가능한 저장 매체로서,
    실행 가능한 코드가 저장되고, 상기 실행 가능한 코드는 프로세서에 의해 실행될 때, 상기 프로세서가 제1항 내지 제16항 중 어느 한 항에 따른 다리식 로봇을 제어하는 방법을 실행하도록 하는 것을 특징으로 하는 비휘발성 컴퓨터 판독 가능한 저장 매체.
  21. 컴퓨터 프로그램 제품으로서,
    컴퓨터 실행 가능한 명령어 또는 컴퓨터 프로그램을 포함하고, 상기 컴퓨터 실행 가능한 명령어 또는 컴퓨터 프로그램은 프로세서에 의해 실행될 때 제1항 내지 제16항 중 어느 한 항에 따른 다리식 로봇을 제어하는 방법을 구현하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020247006998A 2022-07-25 2023-05-11 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품 KR20240039182A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202210878214.3 2022-07-25
CN202210878214.3A CN116985113A (zh) 2022-07-25 2022-07-25 控制足式机器人的方法和装置及足式机器人
PCT/CN2023/093507 WO2024021767A1 (zh) 2022-07-25 2023-05-11 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品

Publications (1)

Publication Number Publication Date
KR20240039182A true KR20240039182A (ko) 2024-03-26

Family

ID=88528971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247006998A KR20240039182A (ko) 2022-07-25 2023-05-11 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품

Country Status (3)

Country Link
KR (1) KR20240039182A (ko)
CN (1) CN116985113A (ko)
WO (1) WO2024021767A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10059392B1 (en) * 2016-06-27 2018-08-28 Boston Dynamics, Inc. Control of robotic devices with non-constant body pitch
CN109693236B (zh) * 2017-10-23 2021-03-02 深圳市优必选科技有限公司 足式机器人着地控制方法及装置
CN111913490B (zh) * 2020-08-18 2023-11-14 山东大学 基于落足调整的四足机器人动步态稳定控制方法及系统
CN112207825B (zh) * 2020-09-28 2022-02-01 杭州云深处科技有限公司 一种四足机器人仿生跳跃动作的控制方法、装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
WO2024021767A1 (zh) 2024-02-01
CN116985113A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US11851120B2 (en) Control of robotic devices with non-constant body pitch
CN104011613B (zh) 具有可变刚度的关节的机器人和用于计算所述优化的刚度的方法
Kim et al. Computationally-robust and efficient prioritized whole-body controller with contact constraints
JP7324932B2 (ja) 動的計画コントローラ
JP6781101B2 (ja) 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム
Omran et al. Optimal task space control design of a Stewart manipulator for aircraft stall recovery
US20240051122A1 (en) Robot movement and online trajectory optimization
US20230234222A1 (en) Humanoid robot balance control method, humanoid robot, and storage medium
US11685049B2 (en) Robot localization using variance sampling
KR20240039182A (ko) 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품
Kim et al. Dynamic behaviors on the NAO robot with closed-loop whole body operational space control
CN114161402B (zh) 机器人稳定控制方法、模型构建方法、装置和机器人
JP7221833B2 (ja) 非線形モデル予測制御装置
WO2024021744A1 (zh) 一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人
CN116945151A (zh) 控制足式机器人的方法和装置及足式机器人
Coelho et al. Hexapod posture control for navigation across complex environments
CN117970965A (zh) 基于四足机器人动力学模型的控制方法及系统
US20210197367A1 (en) Humanoid robot and its control method and computer readable storage medium
Szőts et al. Design and control of a low-cost bipedal robot
Kwan Modeling and Control of a Vertical Hopping Robot
CN117572768A (zh) 足式机器人规划与控制方法、装置、机器人及存储介质
Sun et al. Hierarchical Trajectory Optimization for Humanoid Robot Jumping Motion
Zhang et al. Research on Motion Stability Control Algorithm of Multi-axis Industrial Robot Based on Deep Reinforcement Learning
CN117260718A (zh) 一种四足机器人的自适应载荷补偿控制方法及系统
Ma et al. Research on Autonomous Navigation of Two Wheel-leg Robot in Indoor Dynamic Environment

Legal Events

Date Code Title Description
A201 Request for examination