KR20230122118A - 지도된 자율 파지 - Google Patents
지도된 자율 파지 Download PDFInfo
- Publication number
- KR20230122118A KR20230122118A KR1020237024700A KR20237024700A KR20230122118A KR 20230122118 A KR20230122118 A KR 20230122118A KR 1020237024700 A KR1020237024700 A KR 1020237024700A KR 20237024700 A KR20237024700 A KR 20237024700A KR 20230122118 A KR20230122118 A KR 20230122118A
- Authority
- KR
- South Korea
- Prior art keywords
- gripping
- robot
- geometry
- target object
- candidate
- Prior art date
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/162—Mobile manipulator, movable base with manipulator arm mounted on it
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles 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/02—Vehicles 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/032—Vehicles 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39443—Portable, adapted to handpalm, with joystick, function keys, display
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39527—Workpiece detector, sensor mounted in, near hand, gripper
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39543—Recognize object and plan hand shapes in grasping movements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40532—Ann for vision processing
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Chemical & Material Sciences (AREA)
- Artificial Intelligence (AREA)
- Combustion & Propulsion (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Transportation (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
로봇(100)을 위한 방법(500)은 로봇 주위의 환경(10) 내의 공간에 대한 센서 데이터(134)의 3차원 포인트 클라우드를 수신하는 단계를 포함한다. 상기 방법은 공간에 대응하는 이미지(300)에 표현된 목표 물체의 사용자 선택을 나타내는 선택 입력을 수신하는 단계를 포함한다. 목표 물체는 로봇 매니퓰레이터(126)의 엔드 이펙터(150)에 의해 파지하기 위한 것이다. 상기 방법은 이미지의 선택된 목표 물체로부터 복수의 광선들(218)을 센서 데이터의 3차원 포인트 클라우드 상으로 투사함으로써 로봇 매니퓰레이터의 엔드 이펙터에 대한 파지 영역(216)을 생성하는 단계를 포함한다. 상기 방법은 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리(212)를 결정하는 단계를 포함한다. 상기 방법은 파지 지오메트리에 기초하여 파지 영역 내의 목표 물체를 파지하도록 로봇 매니퓰레이터의 엔드 이펙터에 명령하는 단계를 포함한다.
Description
[0001] 본 개시내용은 지도된 자율 파지(supervised autonomous grasping)에 관한 것이다.
[0002] 로봇은 일반적으로 작업들의 수행을 위한 프로그래밍된 가변 모션들을 통해 재료, 부품들, 도구들 또는 특수 디바이스들을 이동시키도록 설계된 재프로그램 가능한 다기능 매니퓰레이터(manipulator)로서 정의된다. 로봇들은 물리적으로 고정된 매니퓰레이터들(예를 들어, 산업용 로봇 팔들), 환경 전체에 걸쳐 이동하는 이동 로봇들(예를 들어, 다리(leg)들, 휠(wheel)들 또는 트랙션 기반 메커니즘(traction based mechanism)들을 사용함), 또는 매니퓰레이터와 이동 로봇의 일부 조합일 수 있다. 로봇들은 예를 들어 제조, 수송, 위험한 환경들, 탐사 및 의료를 포함하는 다양한 산업들에서 이용되고 있다. 이와 같이, 다양한 거동들에 대해 신속하고 효율적인 방식으로 로봇들을 프로그래밍하는 능력은 그러한 산업들에 추가적인 이점들을 제공한다.
[0003] 본 개시내용의 양태는 로봇의 데이터 처리 하드웨어에 의해 실행될 때 데이터 처리 하드웨어가 동작들을 수행하게 하는 컴퓨터 구현 방법을 제공한다. 동작들은 로봇 주위의 환경 내의 공간(예를 들어, 용적부)에 대한 센서 데이터의 3차원 포인트 클라우드를 수신하는 동작을 포함한다. 동작들은 공간에 대응하는 이미지에 표현된 목표 물체의 사용자 선택을 나타내는 선택 입력을 수신하는 동작을 더 포함한다. 목표 물체는 로봇의 로봇 매니퓰레이터의 엔드 이펙터에 의해 파지하기 위한 것이다. 동작들은 또한 이미지의 선택된 목표 물체로부터 복수의 광선들을 센서 데이터의 3차원 포인트 클라우드 상으로 투사함으로써 로봇 매니퓰레이터의 엔드 이펙터에 대한 파지 영역을 생성하는 동작을 포함한다. 추가적으로, 동작들은 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리를 결정하는 동작을 포함한다. 또한, 동작들은 파지 지오메트리에 기초하여 파지 영역 내의 목표 물체를 파지하도록 로봇 매니퓰레이터의 엔드 이펙터에 명령하는 동작을 포함한다.
[0004] 본 개시내용의 양태들은 하기의 선택적인 특징들 중 하나 이상을 제공할 수 있다. 일부 구현예들에서, 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리를 결정하는 동작은 파지 영역 내의 목표 물체에 기초하여 복수의 후보 파지 지오메트리들을 생성하는 동작을 포함한다. 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리를 결정하는 동작은, 복수의 후보 파지 지오메트리들의 각각의 후보 파지 지오메트리에 대해, 목표 물체를 파지하기 위한 파지 스코어를 결정하는 동작을 더 포함한다. 파지 스코어는 개개의 후보 파지 지오메트리에 기초하여 로봇 매니퓰레이터의 엔드 이펙터를 사용하여 목표 물체를 파지할 성공 가능성을 나타낸다. 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리를 결정하는 동작은 목표 물체를 파지하도록 지정된 초기 파지 지오메트리로서 최대의 파지 스코어를 갖는 개개의 후보 파지 지오메트리를 선택하는 동작을 더 포함한다. 초기 파지 지오메트리는 로봇 매니퓰레이터의 엔드 이펙터에 대한 초기 포즈에 기초한다. 추가 구현예들에서, 동작들은 로봇 매니퓰레이터의 엔드 이펙터의 제2 포즈에 대한 업데이트된 센서 데이터를 수신하는 동작을 포함한다. 이러한 추가 구현예들에서, 동작들은 업데이트된 센서 데이터에 기초하여 새로운 세트의 후보 파지 지오메트리들을 결정하는 동작을 포함한다. 새로운 세트의 후보 파지 지오메트리들의 각각의 후보 파지 지오메트리는 개개의 파지 스코어를 포함한다. 이러한 추가 구현예들에서, 동작들은 새로운 세트의 후보 파지 지오메트리들로부터의 개개의 후보 파지 지오메트리가 초기 파지 지오메트리의 파지 스코어를 초과하는 대응하는 파지 스코어를 포함한다고 결정하는 동작을 포함한다. 이러한 추가 구현예들에서, 동작들은 새로운 세트의 후보 파지 지오메트리들로부터의 개개의 후보 파지 지오메트리에 기초하여 초기 파지 지오메트리를 수정하는 동작을 포함한다.
[0005] 일부 실시예들에서, 동작들은 로봇 매니퓰레이터의 엔드 이펙터가 목표 물체를 파지하기 위한 하나 이상의 자유도들을 제약하는 엔드 이펙터 제약조건을 수신하는 동작을 더 포함한다. 일부 구현예들에서, 공간에 대응하는 이미지에 표현된 목표 물체는 머신 러닝 알고리즘에 의해 분류된 물체에 대응한다.
[0006] 일부 예들에서, 동작들은 공간에 대응하는 이미지를 수신하는 동작을 더 포함한다. 이러한 예들에서, 동작들은 머신 러닝 물체 분류 알고리즘을 사용하여 수신된 이미지 내에서 파지 가능한 물체들을 분류하는 동작을 포함한다. 일부 구현예들에서, 파지 지오메트리에 기초하여 파지 영역 내의 목표 물체를 파지하도록 로봇 매니퓰레이터의 엔드 이펙터에 명령하는 동작은, 목표 물체를 향해 피칭하도록 로봇의 몸체에 명령하는 동작, 또는 로봇의 제1 다리의 상부 부재를 무릎 관절을 중심으로 제1 다리의 하부 부재를 향해 회전시키도록 로봇의 제1 다리에 명령하는 동작을 포함한다.
[0007] 일부 실시예들에서, 공간에 대응하는 이미지에 표현된 목표 물체를 선택하는 선택 입력을 수신하는 동작은 로봇의 데이터 처리 하드웨어와 원격 통신하는 사용자 디바이스에서 일어난다. 일부 예들에서, 동작들은, 공간에 대응하는 이미지를 수신하는 동작, 및 수신된 이미지를 보정하는 동작을 포함한다. 일부 구현예들에서, 엔드 이펙터는 가동 죠 및 고정 죠를 갖는 그리퍼를 포함한다. 가동 죠는 그리퍼의 개방 포지션과 그리퍼의 폐쇄 포지션 사이에서 이동하기 위해 고정 죠에 대해 이동하도록 구성된다. 일부 실시예들에서, 로봇 매니퓰레이터는 로봇 주위의 환경 내의 공간에 대한 3차원 포인트 클라우드를 규정하는 센서 데이터를 캡처하도록 엔드 이펙터에 또는 그 근처에 장착된 하나 이상의 센서들을 포함한다.
[0008] 본 개시내용의 다른 양태는 로봇을 제공한다. 로봇은 몸체, 몸체에 결합된 복수의 다리들, 몸체에 결합된 로봇 매니퓰레이터, 로봇 매니퓰레이터와 통신하는 데이터 처리 하드웨어, 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 로봇 매니퓰레이터는 로봇 주위의 환경 내의 물체들을 파지하도록 구성된 엔드 이펙터를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어가 동작들을 수행하게 하는 명령들을 저장한다. 동작들은 로봇 주위의 환경 내의 공간에 대한 센서 데이터의 3차원 포인트 클라우드를 수신하는 동작을 포함한다. 동작들은 또한, 로봇의 사용자로부터, 공간에 대응하는 이미지에 표현된 목표 물체의 사용자 선택을 나타내는 선택 입력을 수신하는 동작을 포함한다. 목표 물체는 로봇 매니퓰레이터의 엔드 이펙터에 의해 파지하기 위한 것이다. 추가적으로, 동작들은 이미지의 선택된 목표 물체로부터 복수의 광선을 센서 데이터의 3차원 포인트 클라우드 상으로 투사함으로써 로봇 매니퓰레이터의 엔드 이펙터에 대한 파지 영역을 생성하는 동작을 포함한다. 또한, 동작들은 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리를 결정하는 동작을 포함한다. 동작들은 파지 지오메트리에 기초하여 파지 영역 내의 목표 물체를 파지하도록 로봇 매니퓰레이터의 엔드 이펙터에 명령하는 동작을 더 포함한다.
[0009] 본 개시내용의 양태들은 하기의 선택적인 특징들 중 하나 이상을 제공할 수 있다. 일부 실시예들에서, 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리를 결정하는 동작은 파지 영역 내의 목표 물체에 기초하여 복수의 후보 파지 지오메트리들을 생성하는 동작을 포함한다. 이러한 실시예들에서, 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리를 결정하는 동작은, 복수의 후보 파지 지오메트리들의 각각의 후보 파지 지오메트리에 대해, 목표 물체를 파지하기 위한 파지 스코어를 결정하는 동작을 더 포함한다. 파지 스코어는 개개의 후보 파지 지오메트리에 기초하여 로봇 매니퓰레이터의 엔드 이펙터를 사용하여 목표 물체를 파지할 성공 가능성을 나타낸다. 이러한 실시예들에서, 로봇 매니퓰레이터가 파지 영역 내의 목표 물체를 파지하기 위한 파지 지오메트리를 결정하는 동작은 또한 목표 물체를 파지하도록 지정된 초기 파지 지오메트리로서 최대의 파지 스코어를 갖는 개개의 후보 파지 지오메트리를 선택하는 동작을 포함한다. 초기 파지 지오메트리는 로봇 매니퓰레이터의 엔드 이펙터에 대한 초기 포즈에 기초한다. 추가 실시예들에서, 동작들은 로봇 매니퓰레이터의 엔드 이펙터의 제2 포즈에 대한 업데이트된 센서 데이터를 수신하는 동작을 더 포함한다. 이러한 추가 실시예들에서, 동작들은 업데이트된 센서 데이터에 기초하여 새로운 세트의 후보 파지 지오메트리들을 결정하는 동작을 포함한다. 새로운 세트의 후보 파지 지오메트리들의 각각의 후보 파지 지오메트리는 개개의 파지 스코어를 포함한다. 이러한 추가 실시예들에서, 동작들은 새로운 세트의 후보 파지 지오메트리들로부터의 개개의 후보 파지 지오메트리가 초기 파지 지오메트리의 파지 스코어를 초과하는 대응하는 파지 스코어를 포함한다고 결정하는 동작을 포함한다. 이러한 추가 실시예들에서, 동작들은 새로운 세트의 후보 파지 지오메트리들로부터의 개개의 후보 파지 지오메트리에 기초하여 초기 파지 지오메트리를 수정하는 동작을 포함한다.
[0010] 일부 구현예들에서, 동작들은 로봇 매니퓰레이터의 엔드 이펙터가 목표 물체를 파지하기 위한 하나 이상의 자유도들을 제약하는 엔드 이펙터 제약조건을 수신하는 동작을 더 포함한다. 일부 예들에서, 공간에 대응하는 이미지에 표현된 목표 물체는 머신 러닝 알고리즘에 의해 분류된 물체에 대응한다. 일부 실시예들에서, 동작들은 공간에 대응하는 이미지를 수신하는 동작을 포함한다. 이러한 실시예들에서, 동작들은 머신 러닝 물체 분류 알고리즘을 사용하여 수신된 이미지 내에서 파지 가능한 물체들을 분류하는 동작을 포함한다.
[0011] 일부 예들에서, 파지 지오메트리에 기초하여 파지 영역 내의 목표 물체를 파지하도록 로봇 매니퓰레이터의 엔드 이펙터에 명령하는 동작은, 목표 물체를 향해 피칭하도록 로봇의 몸체에 명령하는 동작, 또는 로봇의 제1 다리의 상부 부재를 무릎 관절을 중심으로 제1 다리의 하부 부재를 향해 회전시키도록 로봇의 제1 다리에 명령하는 동작을 포함한다. 일부 구현예들에서, 공간에 대응하는 이미지에 표현된 목표 물체를 선택하는 선택 입력을 수신하는 동작은 로봇의 데이터 처리 하드웨어와 원격 통신하는 사용자 디바이스에서 일어난다. 일부 실시예들에서, 동작들은, 공간에 대응하는 이미지를 수신하는 동작, 및 수신된 이미지를 보정하는 동작을 더 포함한다. 일부 예들에서, 엔드 이펙터는 가동 죠 및 고정 죠를 갖는 그리퍼를 포함한다. 가동 죠는 그리퍼의 개방 포지션과 그리퍼의 폐쇄 포지션 사이에서 이동하기 위해 고정 죠에 대해 이동하도록 구성된다. 일부 구현예들에서, 로봇 매니퓰레이터는 로봇 주위의 환경 내의 공간에 대한 3차원 포인트 클라우드를 규정하는 센서 데이터를 캡처하도록 엔드 이펙터에 또는 그 근처에 장착된 하나 이상의 센서들을 포함한다.
[0012] 본 개시내용의 하나 이상의 구현예들의 세부사항들은 첨부 도면들 및 하기의 설명에 기재되어 있다. 다른 양태들, 특징들 및 이점들은 이 설명 및 도면들, 그리고 청구범위로부터 명백할 것이다.
[0013] 도 1a는 물체를 파지할 수 있는 예시적인 로봇의 사시도이다.
[0014] 도 1b는 도 1a의 로봇의 예시적인 시스템들의 개략도이다.
[0015] 도 2a 내지 도 2c는 도 1a의 로봇을 위한 예시적인 파지 시스템들의 개략도들이다.
[0016] 도 3은 지도된 자율 파지 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
[0017] 도 4는 본원에 설명된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
[0018] 다양한 도면들에서 유사한 참조 부호들은 유사한 요소들을 나타낸다.
[0014] 도 1b는 도 1a의 로봇의 예시적인 시스템들의 개략도이다.
[0015] 도 2a 내지 도 2c는 도 1a의 로봇을 위한 예시적인 파지 시스템들의 개략도들이다.
[0016] 도 3은 지도된 자율 파지 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
[0017] 도 4는 본원에 설명된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
[0018] 다양한 도면들에서 유사한 참조 부호들은 유사한 요소들을 나타낸다.
[0019] 도 1a 및 도 1b를 참조하면, 로봇(100)은 몸체(110)를 포함하며, 몸체(110)는 몸체(110)에 결합되고 로봇(100)이 환경(10)에 대해 이동할 수 있게 하는 다리들(120a 내지 120d)과 같은 로코모션-기반 구조물(locomotion-based structure)들을 갖는다. 일부 예들에서, 각각의 다리(120)는 하나 이상의 관절들(J)이 다리(120)의 부재들(122)이 이동할 수 있게 하도록 하는 관절연결형 구조물이다. 예를 들어, 각각의 다리(120)는 다리(120)의 상부 부재(122, 122U)를 몸체(110)에 결합하는 고관절(hip joint)(JH), 및 다리(120)의 상부 부재(122U)를 다리(120)의 하부 부재(122L)에 결합하는 무릎 관절(knee joint)(JK)을 포함한다. 도 1a는 4 개의 다리들(120a 내지 120d)을 갖는 4족 보행 로봇(quadruped robot)을 묘사하지만, 로봇(100)은 환경(10) 내의 지형을 횡단하기 위한 수단을 제공하는 임의의 수의 다리들 또는 로코모션-기반 구조물들(예를 들어, 2 개의 다리들을 갖는 2족 보행 또는 인간형 로봇, 또는 하나 이상의 다리들의 다른 배열체들)을 포함할 수 있다.
[0020] 지형을 횡단하기 위해, 각각의 다리(120)는 지형의 표면(즉, 트랙션 표면)과 접촉하는 원위 단부(124)를 갖는다. 다시 말해서, 다리(120)의 원위 단부(124)는 로봇(100)의 이동 동안에 피봇하거나, 자리잡거나 또는 일반적으로 트랙션을 제공하기 위해 로봇(100)에 의해 사용되는 다리(120)의 단부이다. 예를 들어, 다리(120)의 원위 단부(124)는 로봇(100)의 발에 대응한다. 일부 예들에서, 도시되지는 않았지만, 다리(120)의 원위 단부(124)는 원위 단부(124)가 다리(120)의 하부 부재(122L)에 대해 관절연결 가능하도록 하는 발목 관절(ankle joint)(JA)을 포함한다.
[0021] 도시된 예들에서, 로봇(100)은 로봇 매니퓰레이터로서 기능하는 팔(126)을 포함한다. 팔(126)은 환경(10)의 요소들(예를 들어, 환경(10) 내의 물체들)과 결합하기 위해 다수의 자유도로 이동하도록 구성될 수 있다. 일부 예들에서, 팔(126)은 하나 이상의 부재들(128)을 포함하며, 부재들(128)은 팔(126)이 관절(들)(J)을 중심으로 피봇하거나 회전할 수 있도록 관절들(J)에 의해 결합된다. 예를 들어, 하나 초과의 부재(128)에 의해, 팔(126)은 신장하거나 수축하도록 구성될 수 있다. 일 예를 예시하기 위해, 도 1a는 하부 부재(128L), 상부 부재(128U) 및 손 부재(hand member)(128H)(예를 들어, 엔드 이펙터(end-effector)(150)로서 도시됨)에 대응하는 3 개의 부재(128)를 갖는 팔(126)을 묘사한다. 여기서, 하부 부재(128L)는 몸체(110)에 인접하게(예를 들어, 팔(126)이 로봇(100)의 몸체(110)에 연결되는 곳에) 위치된 제1 팔 관절(JA1)을 중심으로 회전 또는 피봇할 수 있다. 하부 부재(128L)는 제2 팔 관절(JA2)에서 상부 부재(128U)에 결합되고, 상부 부재(128U)는 제3 팔 관절(JA3)에서 손 부재(128H)에 결합된다. 도 1a와 같은 일부 예들에서, 손 부재(128H) 또는 엔드 이펙터(150)는 환경(10) 내의 요소들의 상이한 유형들의 파지를 수행하도록 구성된 가동 죠(moveable jaw) 및 고정 죠(fixed jaw)를 포함하는 기계적 그리퍼(mechanical gripper)이다. 가동 죠는 그리퍼의 개방 포지션과 그리퍼의 폐쇄 포지션(예를 들어, 물체 주위의 폐쇄 포지션) 사이를 이동하기 위해 고정 죠에 대해 이동하도록 구성된다. 일부 구현예들에서, 팔(126)은 제4 관절(JA4)을 더 포함한다. 제4 관절(JA4)은 상부 부재(128U)에 대한 하부 부재(128L)의 결합부 근처에 위치될 수 있고, 상부 부재(128U)가 하부 부재(128L)에 대해 비틀리거나 회전할 수 있게 하도록 기능할 수 있다. 다시 말해서, 제4 관절(JA4)은 손 부재(128H)에 인접한 팔(126)의 손목 관절 또는 제3 관절(JA3)과 유사하게 트위스트 관절(twist joint)로서 기능할 수 있다. 예를 들어, 트위스트 관절로서, 관절(J)에 결합된 하나의 부재는 관절(J)에 결합된 다른 부재에 대해 이동하거나 회전할 수 있다(예를 들어, 트위스트 관절에 결합된 제1 부재는 고정되는 한편, 트위스트 관절에 결합된 제2 부재는 회전됨). 일부 구현예들에서, 팔(126)은 로봇(100)의 몸체(110) 상의 소켓(socket)에서 로봇(100)에 연결된다. 일부 구성들에서 소켓은 팔(126)이 작동에 필요한지 여부에 따라 팔(126)이 로봇(100)에 부착되거나 분리될 수 있도록 커넥터로서 구성된다.
[0022] 로봇(100)은 중력 방향을 따른 수직 중력 축(예를 들어, Z-방향 축(AZ)으로 도시됨)과, 그 질량들에 따라 가중되는 로봇(100)의 모든 부분들의 평균 포지션에 대응하는 포지션(즉, 로봇(100)의 분포된 질량의 가중된 상대 포지션의 합계가 0(zero)이 되는 포인트)인 질량 중심(CM)을 갖는다. 로봇(100)은 로봇(100)에 의해 취해지는 특정 자세(attitude) 또는 스탠스(stance)를 규정하기 위해 수직 중력 축(AZ)(즉, 중력에 대한 고정 기준 프레임(fixed reference frame))에 대한 CM에 기초하는 포즈(pose)(P)를 더 갖는다. 로봇(100)의 자세는 공간에서의 로봇(100)의 배향 또는 각도 포지션에 의해 규정될 수 있다. 몸체(110)에 대한 다리(120)의 이동들은 로봇(100)의 포즈(P)(즉, 로봇의 CM 포지션과 로봇(100)의 자세 또는 배향의 조합)를 변경한다. 여기서, 높이는 일반적으로 z-방향을 따른(예를 들어, z-방향 축(AZ)을 따른) 거리를 지칭한다. 로봇(100)의 시상면(sagittal plane)은 y-방향 축(AY) 및 z-방향 축(AZ)의 방향들로 연장되는 Y-Z 평면에 대응한다. 다시 말해서, 시상면은 로봇(100)을 좌측 및 우측으로 이등분한다. 일반적으로 시상면에 수직인 지평면(횡방향 평면으로도 지칭됨)은 x-방향 축(AX) 및 y-방향 축(AY)의 방향들로 연장됨으로써 X-Y 평면에 걸쳐 있다. 지평면은 로봇(100)의 다리들(120)의 원위 단부들(124)이 트랙션을 생성하여 로봇(100)이 환경(10)에 대해 이동하는 것을 도울 수 있는 지면(14)을 지칭한다. 로봇(100)의 다른 해부학적 평면은 로봇(100)의 몸체(110)를 가로질러(예를 들어, 제1 다리(120a)를 갖는 로봇(100)의 좌측으로부터 제2 다리(120b)를 갖는 로봇(100)의 우측까지) 연장되는 관상면(frontal plane)이다. 관상면은 x-방향 축(AX) 및 z-방향 축(AZ)의 방향들로 연장됨으로써 X-Z 평면에 걸쳐 있다.
[0023] 환경(10)에 대해 기동하거나 팔(126)을 사용하여 작업들을 수행하기 위해, 로봇(100)은 하나 이상의 센서들(132, 132a 내지 132n)(예를 들어, 제1 센서(132, 132a) 및 제2 센서(132, 132b)로서 도시됨)을 갖는 센서 시스템(130)을 포함한다. 센서들(132)은 비전/이미지 센서들, 관성 센서들(예를 들어, 관성 측정 유닛(inertial measurement unit; IMU)), 힘 센서들, 및/또는 운동학적 센서들을 포함할 수 있다. 센서들(132)의 일부 예들은 스테레오 카메라와 같은 카메라, 비행시간(time-of-flight; TOF) 센서, 스캐닝 광-검출 및 거리 측정(light-detection and ranging; LIDAR) 센서, 또는 스캐닝 레이저-검출 및 거리 측정(laser-detection and ranging; LADAR) 센서를 포함한다. 일부 예들에서, 센서(132)는 센서(132)에 대응하는 감지 범위 또는 영역을 한정하는 대응하는 시야(들)(FV)를 갖는다. 예를 들어, 도 1a는 로봇(100)에 대한 시야(FV)를 묘사한다. 각각의 센서(132)는, 예를 들어 센서(132)가 하나 이상의 축(예를 들어, 지면과 관련하여 x-축, y-축, 또는 z-축)을 중심으로 시야(FV)를 변경할 수 있도록 피봇 가능 및/또는 회전 가능할 수 있다.
[0024] 센서(132)로 시야(FV)를 조사할 때, 센서 시스템(130)은 시야(FV)에 대응하는 센서 데이터(134)(이미지 데이터로도 지칭됨)를 생성한다. 센서 시스템(130)은 로봇(100)의 몸체(110) 상에 또는 그 근처에 장착된 센서(132)(예를 들어, 센서(들)(132a, 132b))로 시야(FV)를 생성할 수 있다. 센서 시스템은 추가적으로 및/또는 대안적으로 팔(126)의 엔드 이펙터(150)에 또는 그 근처에 장착된 센서(132)(예를 들어, 센서(들)(132c))로 시야(FV)를 생성할 수 있다. 하나 이상의 센서들(132)은 로봇(100) 주위의 환경(10) 내의 영역에 대한 3차원 포인트 클라우드(three-dimensional point cloud)를 규정하는 센서 데이터(134)를 캡처할 수 있다. 일부 예들에서, 센서 데이터(134)는 3차원 체적형 이미지 센서(132)에 의해 생성된 3차원 체적형 포인트 클라우드(three-dimensional volumetric point cloud)에 대응하는 이미지 데이터이다. 추가적으로 또는 대안적으로, 로봇(100)이 환경(10)에 대해 기동할 때, 센서 시스템(130)은 관성 측정 데이터(예를 들어, IMU에 의해 측정됨)를 포함하는 로봇(100)에 대한 포즈 데이터를 수집한다. 일부 예들에서, 포즈 데이터는 로봇(100)에 대한 운동학적 데이터 및/또는 배향 데이터, 예를 들어 로봇(100)의 다리(120) 또는 팔(126)의 관절들(J) 또는 다른 부분들에 대한 운동학적 데이터 및/또는 배향 데이터를 포함한다. 센서 데이터(134)에 의해, 로봇(100)의 다양한 시스템들은 센서 데이터(134)를 사용하여 로봇(100)의 현재 상태(예를 들어, 로봇(100)의 운동학) 및/또는 로봇(100) 주위의 환경(10)의 현재 상태를 한정할 수 있다.
[0025] 일부 구현예들에서, 센서 시스템(130)은 관절(J)에 결합된 센서(들)(132)를 포함한다. 더욱이, 이러한 센서들(132)은 로봇(100)의 관절(J)을 작동시키는 모터(M)에 결합될 수 있다(예를 들어, 센서들(132, 132a, 132b)). 여기서, 이러한 센서들(132)은 관절-기반 센서 데이터(134)의 형태로 관절 역학을 생성한다. 관절-기반 센서 데이터(134)로서 수집된 관절 역학은 관절 각도들(예를 들어, 하부 부재(122L)에 대한 상부 부재(122U), 또는 팔(126) 또는 로봇(100)의 다른 부재에 대한 손 부재(126H)), 관절 속도(예를 들어, 관절 각속도 또는 관절 각가속도), 및/또는 관절(J)에서 받는 힘들(또한 관절력(joint force)들로도 지칭됨)을 포함할 수 있다. 하나 이상의 센서들(132)에 의해 생성된 관절-기반 센서 데이터는 원시 센서 데이터, 상이한 유형들의 관절 역학을 형성하도록 추가로 처리되는 데이터, 또는 이들 둘의 일부 조합일 수 있다. 예를 들어, 센서(132)는 관절 포지션(또는 관절(J)에 결합된 부재(들)(122)의 포지션)을 측정하고, 로봇(100)의 시스템들은 포지션 데이터로부터 속도 및/또는 가속도를 도출하도록 추가 처리를 수행한다. 다른 예들에서, 센서(132)는 속도 및/또는 가속도를 직접 측정하도록 구성된다.
[0026] 센서 시스템(130)이 센서 데이터(134)를 수집할 때, 컴퓨팅 시스템(computing system)(140)은 센서 데이터(134)를 로봇(100)의 다양한 시스템들(예를 들어, 제어 시스템(170), 파지 시스템(200) 및/또는 원격 제어기(20))에 저장, 처리 및/또는 통신한다. 센서 데이터(134)와 관련된 컴퓨팅 작업들을 수행하기 위해, 로봇(100)의 컴퓨팅 시스템(140)은 데이터 처리 하드웨어(data processing hardware)(142) 및 메모리 하드웨어(memory hardware)(144)를 포함한다. 데이터 처리 하드웨어(142)는 로봇(100)에 대한 활동들(예를 들어, 이동 및/또는 이동 기반 활동들)과 관련된 컴퓨팅 작업들을 수행하기 위해 메모리 하드웨어(144)에 저장된 명령들을 실행하도록 구성된다. 일반적으로 말하면, 컴퓨팅 시스템(140)은 데이터 처리 하드웨어(142) 및/또는 메모리 하드웨어(144)의 하나 이상의 위치들을 지칭한다.
[0027] 일부 예들에서, 컴퓨팅 시스템(140)은 로봇(100) 상에 위치된 로컬 시스템이다. 로봇(100) 상에 위치되는 경우, 컴퓨팅 시스템(140)은 중앙 집중형(즉, 로봇(100) 상의 단일 위치/영역, 예를 들어 로봇(100)의 몸체(110)에 있음), 분산형(즉, 로봇(100) 주위의 다양한 위치들에 위치됨), 또는 이들 둘의 하이브리드 조합(예를 들어, 다수의 중앙 집중형 하드웨어 및 소수의 분산형 하드웨어의 경우)일 수 있다. 일부 차이점들을 예시하기 위해, 분산형 컴퓨팅 시스템(140)은 활동 위치(예를 들어, 다리(120)의 관절을 이동시키는 모터)에서 처리가 일어나게 할 수 있는 반면, 중앙 집중형 컴퓨팅 시스템(140)은 로봇(100) 상의 다양한 포지션들에 위치된 시스템들과 통신하는(예를 들어, 다리(120)의 관절을 이동시키는 모터와 통신하는) 중앙 처리 허브를 허용할 수 있다.
[0028] 추가적으로 또는 대안적으로, 컴퓨팅 시스템(140)은 로봇(100)으로부터 원격으로 위치되는 컴퓨팅 리소스(computing resource)들을 포함한다. 예를 들어, 컴퓨팅 시스템(140)은 네트워크(180)를 통해 원격 시스템(160)(예를 들어, 원격 서버 또는 클라우드-기반 환경)과 통신한다. 컴퓨팅 시스템(140)과 매우 유사하게, 원격 시스템(160)은 원격 데이터 처리 하드웨어(162) 및 원격 메모리 하드웨어(164)와 같은 원격 컴퓨팅 리소스들을 포함한다. 여기서, 센서 데이터(134) 또는 다른 처리된 데이터(예를 들어, 컴퓨팅 시스템(140)에 의해 로컬로 처리되는 데이터)는 원격 시스템(160)에 저장될 수 있고, 컴퓨팅 시스템(140)에 액세스 가능할 수 있다. 추가적인 예들에서, 컴퓨팅 시스템(140)은 컴퓨팅 시스템(140)의 리소스들이 원격 시스템(160)의 리소스들에 상주할 수 있도록 컴퓨팅 리소스들(142, 144)의 확장들로서 원격 리소스들(162, 164)을 이용하도록 구성된다.
[0029] 일부 구현예들에서, 도 1a 및 도 1b에 도시된 바와 같이, 로봇(100)은 제어 시스템(170)을 포함한다. 제어 시스템(170)은 적어도 하나의 센서 시스템(130)과 같은 로봇(100)의 시스템과 통신하도록 구성될 수 있다. 제어 시스템(170)은 하드웨어(140)를 사용하여 동작들 및 다른 기능들을 수행할 수 있다. 제어 시스템(170)은 로봇(100)을 제어하도록 구성된 적어도 하나의 제어기(172)를 포함한다. 예를 들어, 제어기(172)는 로봇(100)의 시스템들(예를 들어, 센서 시스템(130), 제어 시스템(170) 및/또는 파지 시스템(200))로부터의 입력 또는 피드백에 기초하여 환경(10)에 대해 횡단하도록 로봇(100)의 이동을 제어한다. 추가적인 예들에서, 제어기(172)는 로봇(100)의 포즈들 및/또는 거동들 사이의 이동을 제어한다. 로봇(100)의 팔(126)이 엔드 이펙터(150)를 이용하여 다양한 작업들을 수행하도록, 적어도 하나의 제어기(172)가 로봇(100)의 팔(126)의 이동을 제어하는 역할을 할 수 있다. 예를 들어, 적어도 하나의 제어기(172)는 환경(10) 내의 물체 또는 요소를 조작하도록 엔드 이펙터(150)(예를 들어, 그리퍼)를 제어한다. 예를 들어, 제어기(172)는 그리퍼를 폐쇄하기 위해 고정 죠를 향한 방향으로 가동 죠를 작동시킨다. 다른 예들에서, 제어기(172)는 그리퍼를 개방하기 위해 고정 죠로부터 멀어지는 방향으로 가동 죠를 작동시킨다.
[0030] 주어진 제어기(172)는 로봇(100)의 하나 이상의 관절들(J)에 대한 이동을 제어함으로써 로봇(100)을 제어할 수 있다. 일부 구성들에서, 주어진 제어기(172)는 적어도 하나의 관절(J), 또는 관절(J)을 작동하거나 관절(J)에 결합되는 모터(M)를 제어하는 프로그래밍 로직(programming logic)을 갖는 소프트웨어이다. 예를 들어, 제어기(172)는 관절(J)에 인가되는 힘의 양(예를 들어, 관절(J)에서의 토크)을 제어한다. 프로그램 가능 제어기들(172)로서, 제어기(172)가 제어하는 관절들(J)의 수는 특정 제어 목적을 위해 스케일링 가능 및/또는 맞춤화 가능하다. 제어기(172)는 로봇(100)의 단일 관절(J)(예를 들어, 단일 관절(J)에서의 토크를 제어함), 다수의 관절들(J), 또는 하나 이상의 부재들(128)의 작동(예를 들어, 손 부재(128H)의 작동)을 제어할 수 있다. 하나 이상의 관절들(J), 액추에이터(actuator)들 또는 모터들(M)을 제어함으로써, 제어기(172)는 로봇(100)의 모든 상이한 부분들(예를 들어, 몸체(110), 하나 이상의 다리들(120), 팔(126))에 대한 이동을 조화시킬 수 있다. 예를 들어, 일부 이동들 또는 작업들을 수행하기 위해, 제어기(172)는, 예를 들어 2 개의 다리들(120a, 120b), 4 개의 다리들(120a 내지 120d) 또는 팔(126)과 조합된 2 개의 다리들(120a, 120b)과 같은 로봇(100)의 다수의 부분들의 이동을 제어하도록 구성될 수 있다.
[0031] 이제 도 1b를 참조하면, 로봇(100)의 센서 시스템(130)은 로봇(100) 주위의 환경(10) 내의 영역 또는 공간 또는 용적부에 대한 센서 데이터(134)의 3차원 포인트 클라우드를 생성한다. 센서 데이터(134)의 3차원 포인트 클라우드로 지칭되지만, 센서 데이터(134)는 환경(10)의 3차원 부분 또는 환경(10)의 2차원 부분(예컨대, 표면 또는 평면)을 나타낼 수 있다는 것이 이해되어야 한다. 다시 말해서, 센서 데이터(134)는 포인트들의 2차원 집합 또는 3차원 포인트 클라우드일 수 있다. 센서 데이터(134)는 로봇(100) 상에 장착된 하나 이상의 센서들(132)의 현재 시야(FV)에 대응한다. 일부 예들에서, 센서 시스템(130)은 엔드 이펙터(150)에 또는 그 근처에 장착된 하나 이상의 센서들(132c)로 시야(FV)를 생성한다. 다른 예들에서, 센서 시스템(130)은 추가적으로 및/또는 대안적으로 로봇(100)의 몸체(110)에 또는 그 근처에 장착된 하나 이상의 센서들(132a, 132b)에 기초하여 시야(FV)를 생성한다. 센서 데이터(134)는 로봇(100)이 환경(10) 내에서 기동하고 하나 이상의 센서들(132)이 상이한 시야들(FV)을 생성함에 따라 업데이트된다. 센서 시스템(130)은 센서 데이터(134)를 제어 시스템(170), 파지 시스템(200) 및/또는 원격 제어기(20)로 전송한다.
[0032] 사용자(12)는 동작들을 수행하기 위해 로봇(100)과 통신하는 원격 제어기(20)를 통해 로봇(100)과 상호작용할 수 있다. 추가적으로, 로봇(100)은 원격 제어기(20)의 사용자 인터페이스(300)(예를 들어, UI(300))에 이미지를 표시하기 위해 원격 제어기(20)와 통신할 수 있다. UI(300)는 하나 이상의 센서들(132)의 3차원 시야(FV)에 대응하는 이미지를 표시하도록 구성되거나, 주어진 센서(132)에 대한 개개의 시야들(FV)에 대응하는 상이한 이미지들을 표시하기 위해 센서들(132) 사이를 토글(toggle)하도록 구성된다. 원격 제어기(20)의 UI(300)에 표시되는 이미지는 로봇(100) 주위의 환경(10) 내의 영역에 대한 센서 데이터(134)의 3차원 포인트 클라우드(예를 들어, 시야(FV))에 대응하는 2차원 이미지이다. 다시 말해서, UI(300)에 표시되는 이미지는 하나 이상의 센서들(132)의 3차원 시야(FV)에 대응하는 2차원 이미지 표현이다.
[0033] UI(300)에 표시되는 이미지는 환경(10)(예를 들어, 로봇(100)의 센서(132)에 대한 시야(FV)) 내에 존재하는 하나 이상의 물체들을 포함할 수 있다. 일부 예들에서, 파지 시스템(200) 또는 로봇(100)의 일부 다른 시스템은 이미지 내의 하나 이상의 물체들을 식별하기 위해(예를 들어, 하나 이상의 파지 가능한 물체들을 식별하기 위해) 이미지를 분류하도록 구성될 수 있다. 일부 구현예들에서, 이미지는 이미지에 대응하는 환경(10)의 부분 내의 하나 이상의 파지 가능한 물체들에 대응하는 이미지 내의 하나 이상의 파지 가능한 물체들의 존재를 식별하기 위해 머신 러닝 알고리즘(machine learning algorithm)에 의해 분류된다. 특히, 센서 시스템(130)은 영역(예를 들어, 환경(10))에 대응하는 이미지를 수신하고, 이미지(예를 들어, 센서 데이터(134))를 파지 시스템(200)으로 전송한다. 파지 시스템(200)은 머신 러닝 물체 분류 알고리즘을 사용하여 수신된 이미지(예를 들어, 센서 데이터(134)) 내에서 파지 가능한 물체들을 분류한다. 예를 들어, 파지 시스템(200)은 지면에 있는 의류를 "세탁물"로 분류하거나, 바닥에 있는 쓰레기를 "쓰레기"로 분류할 수 있다. 이미지에서의 물체들의 분류는 UI(300)에서 사용자(12)에게 표시될 수 있다. UI(300)는 수신된 이미지를 추가로 보정하여 사용자(12)에게 표시할 수 있다. UI(300)는 사용자(12)가 3차원 환경(10) 내의 선택된 목표 물체에 대한 동작을 수행하도록 로봇(100)에게 명령하기 위해 2차원 이미지에 표시된 물체를 목표 물체로 선택할 수 있게 한다.
[0034] 일부 구현예들에서, 사용자에 의해 선택된 목표 물체는 로봇(100)의 로봇 매니퓰레이터의 엔드 이펙터(150)가 파지하기 위한 개개의 물체에 대응한다. 예를 들어, 제조 환경(10)에서 로봇(100)의 센서 시스템(130)은 제조 환경(10) 내의 영역에 대한 센서 데이터(134)의 3차원 포인트 클라우드를 생성한다. UI(300)는 제조 환경(10) 내의 센서 데이터(134)의 3차원 포인트 클라우드에 대응하는 2차원 이미지를 표시한다. 사용자(12)는 UI(300) 상에서 목표 물체(예를 들어, 밸브)를 선택함으로써 제조 환경(10) 내의 목표 물체(예를 들어, 밸브)를 파지하도록 로봇(100)에게 명령할 수 있다. 원격 제어기(20)는 선택된 목표 물체를 로봇(100)으로 전송하여 목표 물체에 대한 파지를 실행한다.
[0035] 파지 시스템(200)은 사용자-선택 목표 물체 및 센서 데이터(134)를 수신한다. 사용자-선택 목표 물체 및 센서 데이터(134)로부터, 파지 시스템(200)은 목표 물체가 위치된 3차원 환경(10) 내의 영역 또는 구역을 식별한다. 예를 들어, 파지 시스템(200)은 엔드 이펙터(150)가 목표 물체를 파지할 위치를 지정하기 위해 목표 물체가 실제로 위치된 3차원 환경(10) 내의 영역에 대응하는 파지 영역 또는 파지 구역을 생성한다. 특히, 파지 시스템(200)은 사용자-선택 목표 물체를 2차원 이미지로부터 센서 데이터(134)의 3차원 포인트 클라우드 상의 파지 영역으로 변환한다. 파지 영역을 생성함으로써, 파지 시스템(200)은 2차원 이미지로부터의 선택된 목표 물체가 3차원 환경(10) 내의 목표 물체를 파지하도록 로봇(100)에게 명령할 수 있게 한다. 일부 구성들에서, 파지 시스템(200)은 이미지의 선택된 목표 물체로부터 복수의 광선들을 센서 데이터(134)의 3차원 포인트 클라우드 상으로 투사함으로써 파지 영역을 생성하며, 이는 도 2c에 대해 하기에서 보다 상세하게 논의된다. 파지 영역을 결정한 후에, 파지 시스템(200)은 로봇 매니퓰레이터(즉, 로봇(100)의 팔(126))가 목표 물체를 파지하기 위한 파지 지오메트리(grasp geometry)(212)를 결정한다. 파지 지오메트리(212)는 로봇 매니퓰레이터의 엔드 이펙터(150)의 포즈를 나타내며, 여기서 포즈는 엔드 이펙터(150)의 병진(예를 들어, x-좌표, y-좌표 및 z-좌표) 및 배향(예를 들어, 피치(pitch), 요(yaw) 및 롤(roll))을 나타낸다. 즉, 파지 지오메트리(212)는 로봇 매니퓰레이터의 엔드 이펙터(150)가 목표 물체를 파지하는 데 사용하는 포즈(예를 들어, 배향 및 병진)를 나타낸다.
[0036] 파지 시스템(200)은 목표 물체에 대한 파지 지오메트리(212)를 실행하도록 로봇(100)에게 명령하는 하나 이상의 제어기들(172)로 초기 파지 지오메트리(212I)를 전송한다. 일부 구현예들에서, 파지 시스템(200)은 파지 지오메트리(212)를 실행하도록 로봇(100)에게 명령하는 하나 이상의 전용 제어기들(172)을 포함한다. 다른 구현예들에서, 파지 시스템(200)은 파지 지오메트리(212)를 실행하도록 로봇(100)에게 명령하는 제어 시스템(170)의 하나 이상의 제어기들(172)로 파지 지오메트리(212)를 전송한다.
[0037] 이제 도 2a를 참조하면, 일부 구현예들에서, 파지 시스템(200)은 로봇 매니퓰레이터의 엔드 이펙터(150)가 사용자(12)에 의해 선택된 목표 물체를 파지하기 위한 파지 지오메트리(212)를 결정한다. 즉, 파지 시스템(200)은 목표 물체를 파지하기 위한 로봇 매니퓰레이터의 엔드 이펙터(150)의 포즈(예를 들어, 배향 및 병진)를 결정한다. 파지 시스템(200)은 파지 지오메트리 생성기(210) 및 파지 지오메트리(212)를 결정하기 위한 선택기(220)를 포함할 수 있다. 파지 지오메트리 생성기(210)는 센서 시스템(130)으로부터 센서 데이터(134)를 수신한다. 파지 지오메트리 생성기(210)는 로봇 매니퓰레이터의 엔드 이펙터(150)가 파지 영역 및 센서 데이터(134)에 기초하여 선택된 목표 물체를 파지하기 위한 파지 지오메트리(212)를 생성하도록 구성된다. 특히, 파지 지오메트리 생성기(210)는 선택된 목표 물체 및 센서 데이터(134)를 수신하여 파지 영역을 생성한다. 파지 영역에 기초하여, 파지 지오메트리 생성기(210)는 목표 물체를 파지하기 위한 엔드 이펙터(150)의 파지 지오메트리(212)(예를 들어, 배향 및 병진)를 결정한다. 파지 지오메트리 생성기(210)는 파지 지오메트리(212)를 선택기(220)로 전송한다. 선택기(220)는 파지 지오메트리 생성기(210)로부터 수신된 파지 지오메트리(212)를 구현하도록 구성된다. 특히, 선택기(220)는 초기 파지 지오메트리(212I)를 제어 시스템(170)으로 전송한다. 제어 시스템(170)은 선택된 목표 물체를 파지하기 위해 초기 파지 지오메트리(212I)의 실행을 시작하도록 로봇(100)에게 명령한다.
[0038] 일부 구현예들에서, 사용자(12)는 원격 제어기(20)에서 엔드 이펙터 제약조건을 입력할 수 있으며, 여기서 엔드 이펙터 제약조건은 엔드 이펙터(150)의 하나 이상의 자유도들을 제약한다. 자유도들은 엔드 이펙터(150)의 병진(예를 들어, x-좌표, y-좌표 및 z-좌표) 및/또는 배향(예를 들어, 피치, 롤 및 요)을 포함할 수 있다. 다시 말해서, 엔드 이펙터(150)는 6 개의 자유도들을 가질 수 있으며, 여기서 자유도들 중 3 개는 병진과 관련되고 3 개는 배향과 관련된다. 사용자(12)는 엔드 이펙터(150)에 대한 자유도를 제약하는 엔드 이펙터 제약조건을 포함하는 파지 지오메트리(212)로 목표 물체를 파지하도록 엔드 이펙터(150)에 명령할 수 있다. 예를 들어, 사용자(12)는 90 도의 피치로 목표 물체를 파지하도록 로봇(100)에게 명령할 수 있다. 이러한 예에서, 파지 시스템(200)은 90 도의 피치를 포함하는 임의의 파지 지오메트리를 생성할 수 있다. 다른 예에서, 사용자(12)는 특정 높이(예를 들어, z-좌표)를 포함하는 파지 지오메트리(212)로 목표 물체를 파지하도록 로봇(100)에게 명령한다. 따라서, 파지 지오메트리 생성기(210)는 사용자-선택 z-좌표를 포함하는 파지 지오메트리(212)를 생성할 수 있다. 사용자(12)는 목표 물체를 파지할 때 엔드 이펙터(150)를 제약하는 임의의 수의 엔드 이펙터 제약조건들을 포함할 수 있다. 예를 들어, 두 예들을 조합하면, 사용자(12)는 (예를 들어, 엔드 이펙터(150)가 파지할 목표 물체를 할당할 때) 피치 및 z-좌표 모두에 대한 엔드 이펙터(150) 제약조건들을 입력할 수 있다. 엔드 이펙터 제약조건은 엔드 이펙터(150)가 목표 물체를 파지하기 위한 임의의 수의 자유도들을 사용자(12)가 맞춤화할 수 있게 한다.
[0039] 일부 구현예들에서, 로봇(100)이 초기 파지 지오메트리(212I)를 실행하기 시작한 후에, 파지 시스템(200)은 목표 물체를 파지하기 위한 새로운 파지 지오메트리(212N)를 결정할 수 있다. 파지 시스템(200)은, 로봇(100)이 초기 파지 지오메트리(212I)의 실행을 시작한 후에, 실행되고 있는 파지 지오메트리(212)를 개선 및/또는 개량하는 새로운 파지 지오메트리(212N)를 결정할 수 있다. 여기서, 파지 지오메트리(212)의 개선 또는 개량은 초기 파지 지오메트리(212I)와 비교할 때 목표 물체를 파지하는 데 더 효율적이고(예를 들어, 에너지 또는 모션 면에서 보다 비용 효율적인 파지), 더 높은 성공 가능성을 가지며, 더 최적의 실행 시간(예를 들어, 더 빠르거나 더 느림)을 갖는 등등의 파지 지오메트리(212)에 대응할 수 있다. 파지 시스템(200)은 로봇(100)이 목표 물체를 파지하도록 환경(10) 내에서 기동할 때 하나 이상의 센서들(132)에 대한 변화하는 시야(FV)를 나타내는 업데이트된 센서 데이터(134U)에 기초하여 새로운 파지 지오메트리(212N)를 생성할 수 있다. 즉, 로봇(100)이 목표 물체를 파지하기 위한 초기 파지 지오메트리(212I)를 실행하도록 환경(10) 내에서 기동할 때, 하나 이상의 센서들(132)은 환경(10) 내의 변화하는 시야(FV)를 캡처한다. 변화하는 시야(FV)(예를 들어, 업데이트된 센서 데이터(134U))에 기초하여, 파지 시스템은 새로운 파지 지오메트리(212N)를 결정한다. 예를 들어, 로봇(100)의 센서(132)(예를 들어, 엔드 이펙터(150) 상에 또는 그 근처에 장착된 센서(132))는 일부 감지 빈도로 센서 데이터(134)를 생성할 수 있다. 따라서, 로봇(100)이 초기 파지 지오메트리(212I)를 실행하기 위해 이동하는 동안, 센서(132)는 이동할 수 있고, 초기 파지 지오메트리(212I)를 개선하거나 개량할 수 있는 새로운 정보를 본질적으로 포함할 수 있는 감지 빈도로 새로운 센서 데이터(134)("업데이트된 센서 데이터(134U)"로 지칭됨)를 생성할 수 있다. 따라서, 파지 시스템(200)은 엔드 이펙터(150)에 의한 파지가 초기 파지 지오메트리(212I)를 업데이트하거나 수정하기 위해 초기 파지 지오메트리(212I)에 따라 수행되고 있을 때 이러한 업데이트된 센서 데이터(134U)를 활용할 수 있으며; 따라서 목표 물체가 최적으로 파지되는 것을 보장하는 연속적 또는 주기적인 피드백 루프(feedback loop)를 야기한다.
[0040] 일 예로서, 로봇 매니퓰레이터의 엔드 이펙터(150)가 초기 파지 지오메트리(212I)를 실행하기 위해 이동하는 동안, 센서 시스템(130)은 목표 물체 근처의 외부 물체를 나타내는 업데이트된 센서 데이터(134U)를 수신한다. 특히, 엔드 이펙터(150)가 환경(10) 내에서 기동할 때, 센서(132c)는 로봇(100)이 초기 파지 지오메트리(212I)의 실행을 시작하기 전의 시야(FV)(즉, 초기 파지 지오메트리(212I)가 생성되었을 때의 초기 시야(FV))와 상이한 환경(10) 내의 시야(FV)를 갖는다. 이러한 예에서, 외부 물체는 로봇(100)이 초기 파지 지오메트리(212I)의 실행을 시작하기 전의 센서 시스템(130)의 시야(FV) 밖에 있었다. 외부 물체가 시야(FV) 밖에 있었기 때문에, 센서 시스템(130)은 파지 지오메트리 생성기(210)로 전송된 센서 데이터(134)에서 외부 물체를 나타내지 않았다. 따라서, 파지 지오메트리 생성기(210)로 전송된 센서 데이터(134)가 목표 물체 근처의 어떠한 외부 물체도 나타내지 않았기 때문에 파지 지오메트리 생성기(210)는 외부 물체(예를 들어, 외부 물체에 의한 방해물)를 고려하지 못한 초기 파지 지오메트리(212I)를 생성할 수 있다. 외부 물체에 대한 어떠한 지식도 없이, 로봇(100)이 초기 파지 지오메트리(212I)를 실행한 경우, 외부 물체는 엔드 이펙터(150)가 목표 물체를 성공적으로 파지하는 것을 방해할 수 있다. 이러한 예에서, 로봇(100)은 목표 물체를 성공적으로 파지하기 위해 업데이트된 센서 데이터(134U)(예를 들어, 외부 물체를 포함하는 센서 데이터(134U))에 기초하여 초기 파지 지오메트리(212I)를 수정할 수 있다.
[0041] 일부 구현예들에서, 로봇 매니퓰레이터의 엔드 이펙터(150)가 파지 지오메트리(212)를 실행하기 시작할 때와 목표 물체에 대한 파지 지오메트리(212)의 실행을 완료하기 전 사이의 기간 동안에, 센서 시스템(130)은 업데이트된 센서 데이터(134U)를 수신한다. 즉, 로봇 매니퓰레이터의 엔드 이펙터(150)가 목표 물체에 대한 초기 파지 지오메트리(212I)를 실행하기 위해 이동하는 동안, 센서 시스템(130)은 업데이트된 센서 데이터(134U)를 수신한다. 업데이트된 센서 데이터(134U)는 로봇(100)이 목표 물체를 파지하기 위해 환경(10) 내에서 이동할 때의 업데이트된 시야(FV)를 나타낸다. 특히, 업데이트된 센서 데이터(134U)는 파지 시스템(200)이 초기 파지 지오메트리(212I)를 결정하기 전에는 이용 가능하지 않았던 추가적인 정보(예를 들어, 목표 물체에 또는 그 근처에 있는 외부 물체)를 파지 시스템(200)에 제공할 수 있다. 예를 들어, 로봇(100)의 센서 시스템(130)은 로봇(100)의 현재 시야(FV)를 나타내는 센서 데이터(134)를 수신하고, 로봇(100)이 파지 지오메트리(212)를 실행하기 시작한 후에, 로봇(100)의 센서 시스템(130)은 로봇(100)이 파지를 실행하기 위해 이동할 때 업데이트된 센서 데이터(134U)를 수신한다. 일부 예들에서, 파지 시스템(200)은 업데이트된 센서 데이터(134U)에 기초하여 파지 지오메트리(212)를 수정할 수 있다(예를 들어, 업데이트된 센서 데이터(134U)는 로봇(100)이 목표 물체를 파지하는 것을 방해하는 외부 물체를 나타냄). 다른 예들에서, 파지 시스템(200)은 업데이트된 센서 데이터(134U)를 수신한 후에 초기 파지 지오메트리(212I)를 계속해서 실행할 수 있다(예를 들어, 업데이트된 센서 데이터(134U)는 초기 센서 데이터(134)와 동일하거나 실질적으로 유사한 데이터를 나타냄). 이러한 의미에서, 파지 시스템(200)이 초기 파지 지오메트리(212I)를 생성한 후에 파지 시스템(200)에 제공된 센서 데이터(134)를 사용하여 파지 시스템(200)은 초기 파지 지오메트리(212I)의 유효성을 검토할 수 있다. 수신된 업데이트된 센서 데이터(134U)에 기초한 초기 파지 지오메트리(212I)의 검토 시에, 로봇(100)은 초기 파지 지오메트리(212I)를 계속해서 실행하거나(예를 들어, 초기 파지 지오메트리(212I)는 업데이트된 센서 데이터(134U)를 사용하여 생성된 다른 후보 파지 지오메트리들(212)과 비교할 때 여전히 최적임), 초기 파지 지오메트리(212I)를 수정하거나, 또는 대체 파지 지오메트리(212)로 완전히 전환할 수 있다.
[0042] 선택적으로, 파지 시스템(200)은 조정기(230)를 포함할 수 있다. 조정기(230)는, 조정기(230)가 파지 시스템(200)의 선택적 구성요소이기 때문에 점선으로 표시된다. 조정기(230)는 로봇 매니퓰레이터의 엔드 이펙터(150)가 초기 파지 지오메트리(212I)를 실행하기 시작한 후에 초기 파지 지오메트리(212I)를 조정할지 여부를 결정하도록 구성된다. 로봇(100)이 초기 파지 지오메트리(212I)를 실행할 때, 파지 지오메트리 생성기(210)는 하나 이상의 센서들(132)로부터 업데이트된 센서 데이터(134U)를 수신한다. 업데이트된 센서 데이터(134U)에 기초하여, 파지 지오메트리 생성기(210)는 새로운 후보 파지 지오메트리(212N)를 생성한다. 파지 지오메트리 생성기(210)는 새로운 후보 파지 지오메트리(212N)를 조정기(230)로 전송한다. 조정기(230)는 또한 선택기(220)로부터 초기 파지 지오메트리(212I)를 수신할 수 있다. 조정기(230)는 새로운 파지 지오메트리(212N) 및 업데이트된 센서 데이터(134U)에 기초하여 초기 파지 지오메트리(212I)를 수정할지 여부를 결정한다. 즉, 초기 파지 지오메트리(212I)의 실행을 시작한 후에, 조정기(230)는 새로운 후보 파지 지오메트리(212N) 및 업데이트된 센서 데이터(134U)를 수신한다. 다시 말해서, 파지 시스템(200)은 제1 시간 인스턴스(instance of time)에서(예를 들어, 사용자(12)가 엔드 이펙터(150)가 파지할 목표 물체를 선택할 때에) 센서 데이터(134)를 사용하여 초기 파지 지오메트리(212I)를 생성하고, 다음에 파지 시스템(200)은 제1 시간 인스턴스에 후속하는 제2 시간 인스턴스에서(예를 들어, 로봇 매니퓰레이터 및/또는 엔드 이펙터(150)가 목표 물체의 파지를 실행하고 있을 때에) 업데이트된 센서 데이터(134U)를 사용하여 하나 이상의 새로운 후보 파지 지오메트리들(212N)을 생성한다. 업데이트된 센서 데이터(134U)에 기초하여, 조정기(230)는 초기 파지 지오메트리(212I)의 실행을 계속할지 또는 초기 파지 지오메트리(212I)를 수정할지 여부를 결정한다.
[0043] 일부 예들에서, 조정기(230)는 초기 파지 지오메트리(212I)의 실행을 계속하는 것으로 결정한다. 다른 예들에서, 조정기(230)는 수정된 파지 지오메트리(212M)를 생성하기 위해 초기 파지 지오메트리(212I)를 수정하는 것으로 결정한다. 즉, 업데이트된 센서 데이터(134U)를 수신한 후에, 조정기(230)는 초기 파지 지오메트리(212I)와 새로운 후보 파지 지오메트리(212N)를 비교하고, 초기 파지 지오메트리(212I)를 수정해야 한다고 결정한다. 예를 들어, 업데이트된 센서 데이터(134U)가 목표 물체에 또는 그 근처에 있는 외부 물체를 나타내는 경우, 조정기(230)는 새로운 후보 파지 지오메트리(212N)가 초기 파지 지오메트리(212I)보다 목표 물체를 파지하는 데 성공할 가능성이 더 높다고 결정한다. 다른 예에서, 업데이트된 센서 데이터(134U)에 기초하여, 조정기(230)는 새로운 후보 파지 지오메트리(212N)가 초기 파지 지오메트리(212I)보다 더 짧은 파지 실행 시간을 포함한다고 결정한다. 조정기(230)는 새로운 후보 파지 지오메트리(212N)의 특성들과 일치하거나 보다 근접하게 일치하도록 하나 이상의 자유도들을 조정함으로써 초기 파지 지오메트리(212I)를 수정할 수 있다. 일부 구현예들에서, 조정기(230)는 초기 파지 지오메트리(212I)를 폐기하고 새로운 후보 파지 지오메트리(212N)를 실행함으로써 초기 파지 지오메트리(212I)를 수정한다. 초기 파지 지오메트리(212I)를 수정한 후에, 조정기(230)는 수정된 파지 지오메트리(212M)를 제어 시스템(170)으로 전송하여 수정된 파지 지오메트리(212M)를 실행하도록 로봇(100)에게 명령한다. 조정기(230)가 초기 파지 지오메트리(212I)가 계속해서 실행되어야 한다고 결정하는 경우, 조정기(230)는 수정된 파지 지오메트리(212M)를 제어 시스템(170)으로 전송하지 않는다.
[0044] 이제 도 2b를 참조하면, 일부 구현예들에서, 파지 지오메트리 생성기(210)는 파지 영역 내의 선택된 목표 물체에 기초하여 복수의 후보 파지 지오메트리들(212, 212a 내지 212n)을 생성한다. 특히, 파지 지오메트리 생성기(210)는 다수의 후보 파지 지오메트리들(212)을 생성하고, 파지 시스템(200)은 로봇(100)이 목표 물체를 파지하기 위해 다수의 후보 파지 지오메트리들(212) 중 어떤 후보 파지 지오메트리를 사용해야 하는지를 결정한다. 이러한 구현예들에서, 파지 시스템(200)은 파지 스코어(grasping score)(242)를 복수의 후보 파지 지오메트리들(212) 각각에 할당하는 스코어러(score)(240)를 포함한다. 파지 스코어(242)는 후보 파지 지오메트리(212)가 목표 물체를 성공적으로 파지할 것으로 추정되거나 예상되는 성공 가능성을 나타낸다. 즉, 선택된 목표 물체, 센서 데이터(134) 및 파지 영역에 기초하여, 파지 지오메트리 생성기(210)는 목표 물체를 파지하기 위한 복수의 파지 지오메트리들(212)을 생성한다. 여기서, 파지 지오메트리 생성기(210)는 복수의 후보 파지 지오메트리들(212) 각각을 스코어러(240)로 전송한다. 복수의 후보 파지 지오메트리들(212)의 각각의 후보 파지 지오메트리(212)에 대해, 스코어러(240)는 목표 물체를 파지하는 후보 파지 지오메트리의 능력을 나타내는 파지 스코어(242)를 결정한다. 스코어러(240)는 복수의 후보 파지 지오메트리들(212)의 개개의 후보 파지 지오메트리(212)에 대응하는 각각의 파지 스코어(242)를 선택기(220)로 전송한다. 생성기(210)는 엔드 이펙터(150)가 목표 물체의 일부 부분을 파지할 수 있게 하는 가능한 다수의 포즈 순열(pose permutation)들이 있기 때문에 복수의 파지 지오메트리들(212)을 생성할 수 있다. 예를 들어, 엔드 이펙터(150)는 3D 공간에서의 특정 방향 또는 이동 벡터로부터 또는 특정 배향(예를 들어, 피치, 롤 또는 요)에서 목표 물체에 접근하고 그리고/또는 목표 물체를 파지할 수 있다. 다시 말해서, 엔드 이펙터(150)는 엔드 이펙터(150)가 목표 물체를 파지하는 방식에 영향을 미치기 위해 다수의 자유도들을 자유롭게 사용할 수 있기 때문에, 생성기(210)는 후보 파지 지오메트리들(212)로서 일부 수의 이러한 순열들을 생성할 수 있다.
[0045] 일부 구성들에서, 생성기(210)가 선택기(220)와 협력하여 특정 시간 인스턴스에서 N-최적(N-best) 수의 파지 지오메트리들(212)을 생성할 수 있는 많은 수의 잠재적인 후보 파지 지오메트리들(212)이 존재할 수 있다. 일부 구현예들에서, 생성기(210)는 임의의 특정한 순간에 최대 수의 후보 파지 지오메트리들(212)을 생성하도록 사전구성된다. 일부 예들에서, 생성기(210)가 파지 지오메트리(212)를 생성할 때의 상대적인 타이밍에 기초하여 파지 지오메트리들(212)의 수는 감소, 저감 또는 감쇠될 수 있다. 예를 들어, 생성기(210)는 제1 시간 인스턴스에서 초기 파지 지오메트리(212I)를 형성하기 위해 많은 수의 파지 지오메트리들(212)을 생성할 수 있지만, 다음에 제2 시간 인스턴스에서, 생성기(210)는 로봇 매니퓰레이터가 초기 파지 지오메트리(212I)를 실행하고 있는 동안에 보다 적은 수의 파지 지오메트리들(212)을 생성하도록 구성될 수 있다.
[0046] 선택기(220)는 로봇(100)이 목표 물체를 파지하는 데 사용하기 위한 파지 지오메트리(212)로서 최대 파지 스코어(242)를 갖는 개개의 후보 파지 지오메트리(212)를 선택하도록 구성된다. 파지 스코어(242)는 주어진 파지 지오메트리(212)에 대한 전체 성능을 식별하는 상이한 인자들을 고려하는 스코어링 알고리즘(scoring algorithm)에 의해 생성될 수 있다. 이러한 인자들은 로봇(100)의 사용자(12)에 의해 사전구성되거나 설계될 수 있다. 파지 스코어(242)에 기여할 수 있는 인자들의 일부 예들은 목표 물체를 파지하는 속도(예를 들어, 물체를 파지하는 시간), 특정 파지에 대한 복잡 정도, 엔드 이펙터(150)의 현재 포즈로부터 엔드 이펙터(150)의 파지 포즈로의 변화 정도, 목표 물체와 파지 지오메트리(212)의 결합(예를 들어, 목표 물체의 중심에 대한 결합 위치), 목표 물체가 기여할 것으로 추정될 수 있는 토크의 양, 엔드 이펙터(150)가 목표 물체에 부여하는 힘의 양 또는 힘의 방향 등을 포함한다. 파지 스코어(242)를 결정할 때, 스코어(242)에 영향을 미치는 인자들은 또한 하나의 인자의 다른 인자에 대한 중요성을 강조하도록 가중될 수 있다. 예를 들어, 목표 물체가 깨지기 쉬운 물체로서 분류된 경우, 스코어링 알고리즘은 파지 속도를 저감시켜서 깨지기 쉬운 물체가 손상될 가능성이 적게 할 수 있다. 일부 수의 이러한 인자들에 기초하여, 파지 스코어(242)는 일반적으로 파지 지오메트리의 효율, 실행 시간, 성공 가능성 등을 나타낼 수 있다. 일부 예들에서, 선택기(220)는 파지 스코어(242)가 파지 스코어 임계치를 만족할 때(예를 들어, 파지 스코어(242)가 파지 스코어 임계치로서 설정된 값을 초과할 때) 복수의 후보 파지 지오메트리들(212)로부터 후보 파지 지오메트리(212)를 선택한다. 일 예로서, 선택기(220)는 0.6, 0.4 및 0.8의 파지 스코어들(242)을 포함하는 3 개의 후보 파지 지오메트리들(212)을 수신한다. 이러한 예에서, 선택기(220)는 0.8의 파지 스코어를 갖는 후보 파지 지오메트리(212)가 목표 물체를 성공적으로 파지할 가능성이 가장 높다고 결정한다. 선택기(220)는 복수의 후보 파지 지오메트리들(212)로부터 선택된 후보 파지 지오메트리(212)(예를 들어, 초기 파지 지오메트리(212I))를 제어 시스템(170)으로 전송한다. 제어 시스템(170)은 초기 파지 지오메트리(212I)로서 0.8의 파지 스코어(242)를 갖는 후보 파지 지오메트리(212)를 실행하도록 로봇(100)에게 명령한다.
[0047] 파지 시스템(200)은 초기 파지 지오메트리(212I)에 따라 목표 물체를 파지하기 위한 일련의 이동들을 개시하기 위해 초기 파지 지오메트리(212I)를 제어 시스템(170)으로 전송한다. 다시 말해서, 초기 파지 지오메트리(212I)를 실행하기 위해, 제어 시스템(170)은 팔(126)의 초기 포즈로부터 초기 파지 지오메트리(212I)에 의해 지정된 파지 포즈로 이동하도록 팔(126)에 명령한다. 여기서, 팔(126)의 초기 포즈는 팔(126)의 엔드 이펙터(150)가 파지할 목표 물체를 선택하는 입력을 사용자(12)로부터 제어기(20)가 수신했을 때의 팔(126)의 포즈 또는 상태를 지칭한다. 이와 관련하여, 초기 파지 지오메트리(212I)는 로봇 매니퓰레이터의 엔드 이펙터(150)에 대한 초기 포즈에 기초할 수 있다. 예를 들어, 제어기(20)에서 사용자(12)에게 이미지를 제공하는 센서(132)가 엔드 이펙터(150)에 있는 센서(132)인 경우, 엔드 이펙터(150)와 연관된 센서(132)의 시야(FV)는 초기 파지 지오메트리(212I)를 규정하는 데 사용될 것이며, 해당 시야(FV)는 팔(126)의 초기 포즈에 기초한다.
[0048] 일부 구현예들에서, 파지 시스템(200)은 로봇(100)이 초기 파지 지오메트리(212I)에 대한 실행을 시작한 후에 복수의 새로운 후보 파지 지오메트리들(212N)을 결정한다. 즉, 로봇 매니퓰레이터의 엔드 이펙터(150)가 초기 파지 지오메트리(212I)에 기초하여 목표 물체를 파지하기 위해 이동하는 동안, 센서 시스템(130)은 로봇 매니퓰레이터의 엔드 이펙터(150)의 제2 포즈에 대한 업데이트된 센서 데이터(134U)를 수신한다. 센서 시스템(130)은 업데이트된 센서 데이터(134U)를 파지 시스템(200)으로 전송한다. 파지 지오메트리 생성기(210)는 업데이트된 센서 데이터(134)에 기초하여 새로운 세트의 후보 파지 지오메트리들(212N)을 결정한다. 새로운 세트의 후보 파지 지오메트리들(212N)은 임의의 수의 새로운 후보 파지 지오메트리들(212N)을 포함할 수 있다. 파지 지오메트리 생성기(210)는 각각의 새로운 후보 파지 지오메트리(212N)를 스코어러(240)로 전송한다.
[0049] 새로운 후보 파지 지오메트리(212N)를 스코어링하는 스코어러(240)는 초기 파지 지오메트리(212I)가 된 후보 파지 지오메트리들(212)을 스코어링하는 데 사용되는 동일한 스코어러(240)이거나, 새로운 후보 파지 지오메트리들(212N)을 스코어링하는 데 전용인 상이한 스코어러(240)일 수 있다. 어느 경우든, 스코어러(240)는 새로운 세트의 후보 파지 지오메트리들(212N)의 각각의 새로운 후보 파지 지오메트리(212N)에 파지 스코어(242)를 할당한다. 즉, 파지 지오메트리 생성기(210)는 복수의 새로운 후보 파지 지오메트리들(212N) 각각에 대한 파지 스코어(242)를 결정하는 스코어러(240)로 복수의 새로운 후보 파지 지오메트리들(212N)을 전송한다. 스코어러(240)는 각 개개의 새로운 후보 파지 지오메트리(212N)에 대한 파지 스코어(242)를 조정기(230)로 전송한다. 일부 예들에서, 스코어러(240)는 복수의 새로운 후보 파지 지오메트리들(212N)로부터 최고의 파지 스코어(242)만을 전송한다. 조정기(230)는 새로운 세트의 후보 파지 지오메트리들(212N)로부터의 개개의 파지 지오메트리(212)가 초기 파지 지오메트리(212I)의 파지 스코어(242)를 초과하는 대응하는 파지 스코어(242)를 포함하는지(즉, 후보 파지 지오메트리(212N)를 나타내는 스코어(242)가 초기 파지 지오메트리(212I)보다 양호한지) 여부를 결정한다. 즉, 조정기(230)는 업데이트된 센서 데이터(134U), 및 초기 파지 지오메트리(212I) 및 각각의 새로운 후보 파지 지오메트리(212N)에 대한 개개의 파지 스코어(242)를 수신한다.
[0050] 일부 구현예들에서, 새로운 후보 파지 지오메트리(212N)의 대응하는 파지 스코어(242)가 초기 파지 지오메트리(212I)의 파지 스코어(242)를 초과하는 경우, 조정기(230)는 새로운 세트의 후보 파지 지오메트리들(212N)로부터의 개개의 후보 파지 지오메트리(212N)에 기초하여 초기 파지 지오메트리(212I)를 수정한다. 예를 들어, 로봇(100)은 0.8의 파지 스코어를 갖는 초기 파지 지오메트리(212I)의 실행을 시작한다. 로봇(100)이 초기 파지 지오메트리(212I)의 실행을 시작한 후에, 파지 지오메트리 생성기(210)는 하나 이상의 센서들(132)의 현재 시야(FV)에 대응하는 업데이트된 센서 데이터(134U)를 수신한다. 파지 지오메트리 생성기(210)는 업데이트된 센서 데이터(134)에 기초하여 복수의 새로운 후보 파지 지오메트리들(212N)을 생성한다. 이러한 예에서, 조정기(230)는 0.8의 파지 스코어(242)를 갖는 초기 파지 지오메트리(212I)를 수신하고, 0.85의 파지 스코어(242)를 갖는 새로운 후보 파지 지오메트리(212N)를 수신한다. 여기서, 조정기(230)는 새로운 후보 파지 지오메트리(212N)에 대한 파지 스코어(242)(예를 들어, 0.85의 파지 스코어(242))가 초기 파지 지오메트리(212I)의 파지 스코어(242)(예를 들어, 0.8의 파지 스코어(242))를 초과한다고 결정하고 초기 파지 지오메트리(212I)를 수정한다. 이전에 언급된 바와 같이, 이러한 수정은 초기 파지 지오메트리(212I)에 대해 일부 형태를 조정하거나, 초기 파지 지오메트리(212I)를 새로운 후보 파지 지오메트리(212N)로 완전히 대체할 수 있다.
[0051] 일부 구현예들에서, 조정기(230)는 새로운 후보 파지 지오메트리(212N)의 파지 스코어(242)가 초기 파지 지오메트리(212I)의 스코어(242)를 임계치만큼 초과하는 경우에만 초기 파지 지오메트리(212I)를 수정한다. 예를 들어, 조정기(230)는 새로운 후보 파지 지오메트리(212N)의 파지 스코어(242)가 초기 파지 지오메트리(212I)의 파지 스코어(242)를 0.1의 마진(margin)만큼 초과하는 경우에만 초기 파지 지오메트리(212I)를 수정한다. 이러한 예에서, 초기 파지 지오메트리(212I)의 파지 스코어(242)가 0.6이고 새로운 후보 파지 지오메트리(212N)의 파지 스코어(242)가 0.65인 경우, 조정기(230)는 새로운 후보 파지 지오메트리(212N)의 파지 스코어(242)가 초기 파지 지오메트리(212I)의 파지 스코어(242)를 임계치(예를 들어, 0.1)만큼 초과하지 않았다고 결정한다. 여기서, 새로운 후보 파지 지오메트리(212N)의 파지 스코어(242)가 초기 파지 지오메트리(212I)의 파지 스코어(242)를 초과하더라도, 로봇(100)은 초기 파지 지오메트리(212I)의 실행을 계속한다. 달리 말하면, 새로운 파지 지오메트리(212)가 더 높은 스코어(242)를 갖더라도, 파지 스코어들(242) 사이의 차이 마진은 파지 지오메트리들(212)의 변경을 정당화하지 않을 수 있다.
[0052] 이제 도 2c를 참조하면, 일부 예들에서, 파지 지오메트리 생성기(210)는 파지 영역(216)을 생성한다. 파지 영역(216)을 생성함으로써, 파지 지오메트리 생성기(210)는 사용자-선택 2차원 관심 영역(예를 들어, 선택된 목표 물체)을 센서 데이터(134)의 3차원 포인트 클라우드의 파지 영역(216)으로 변환한다. 구체적으로, 파지 영역(216)의 생성은 3차원 환경(10)에서 동작을 수행하도록 로봇(100)에게 명령하기 위해 사용자(12)가 2차원 이미지와 상호작용할 수 있게 한다. 파지 지오메트리 생성기(210)는 센서 데이터(134)(예를 들어, 3차원 포인트 클라우드) 및 UI(300)로부터 사용자-선택 목표 물체를 수신한다. 사용자(12)는 로봇(100)의 시야(FV)에 대한 데이터(134)의 3차원 포인트 클라우드에 대응하는 UI(300) 상의 2차원 이미지에서 목표 물체를 선택한다. 파지 지오메트리 생성기(210)는 2차원 이미지로부터 선택된 목표 물체로부터 복수의 광선들을 센서 데이터(134)의 3차원 포인트 클라우드 상으로 투사한다. 따라서, 파지 영역(216)은 투사된 광선들과 센서 데이터(134)의 3차원 포인트 클라우드의 교차점에 의해 형성된 영역에 대응한다.
[0053] 특히, 파지 지오메트리 생성기(210)는 선택된 목표 물체의 하나 이상의 픽셀(pixel)들로부터 복수의 광선들을 투사한다. 2차원 이미지로부터 3차원 포인트 클라우드로 투사된 복수의 광선들의 각각의 광선은 선택된 목표 물체의 픽셀을 나타낸다. 3차원 포인트 클라우드에서의 복수의 광선들의 집합은 파지 영역(216)을 나타낸다. 선택된 목표 물체로부터 각각의 픽셀에 대한 광선을 투사함으로써, 파지 지오메트리 생성기(210)는 사용자(12)에 대한 2차원 관심 영역(예를 들어, 선택된 목표 물체)을 3차원 파지 영역(216)으로 변환한다. 달리 말하면, 파지 영역(216)은 파지 시스템(200)이 파지 영역(216) 내의 3차원 목표 물체를 파지하기 위한 파지 지오메트리(212)를 생성할 수 있도록 목표 물체를 포함하는 3차원 영역을 지정한다. 이것은 파지 영역(216)이 로봇 매니퓰레이터가 파지하기 위한 관심 영역을 지정한다는 것을 의미한다. 이러한 식별된 파지 영역(216)으로부터, 파지 지오메트리 생성기(210)는 식별된 파지 영역(216)의 경계들 내에서 센서 데이터(134)를 사용하여 목표 물체(예를 들어, 3D 포인트 클라우드 센서 데이터(134)에 의해 표현된 목표 물체의 윤곽)를 이해하고 파지 지오메트리(212)를 결정할 수 있다.
[0054] 일부 예들에서, 파지 지오메트리(212)에 기초하여 파지 영역(216) 내의 목표 물체를 파지하도록 로봇 매니퓰레이터의 엔드 이펙터(150)에 명령하는 것은 하나 이상의 제어기들(172)이 목표 물체를 향해 피칭(pitching)하도록 로봇(100)의 몸체(110)에 명령하는 것을 포함한다. 즉, 하나 이상의 제어기들(172)은 목표 물체를 향해 기동하도록 로봇(100)의 엔드 이펙터(150)에 명령하고 목표 물체를 향해 피칭하도록 로봇(100)의 몸체(110)에 명령할 수 있다. 엔드 이펙터(150) 및 몸체(110) 모두에 명령함으로써, 로봇(100)은 로봇 매니퓰레이터의 엔드 이펙터(150)가 접근할 수 있는 보다 많은 자유도를 생성할 수 있다.
[0055] 다른 예들에서, 하나 이상의 제어기들(172)은 제1 다리(120)의 상부 부재(122U)를 무릎 관절(JK)을 중심으로 제1 다리(120)의 하부 부재(122L)를 향해 회전시키도록 로봇(100)의 제1 다리(120)에 명령한다. 예를 들어, 하나 이상의 제어기들(172)은 로봇(100)의 몸체(110)를 하강시키기 위해 다리의 상부 부재(122U)를 무릎 관절(JK)을 중심으로 하부 부재(122L)를 향해 회전시키도록 로봇(100)의 각각의 다리(120)에 명령한다. 이러한 예에서, 하나 이상의 제어기들(172)이 로봇(100)의 각각의 다리(120)에 명령하는 경우, 로봇(100)의 몸체(110)는 몸체(110)의 피치가 일정하게 유지되면서 하강한다. 다른 예에서, 하나 이상의 제어기들(172)은 다리(120)의 상부 부재(122U)를 무릎 관절(JK)을 중심으로 하부 부재(122L)를 향해 회전시키도록 로봇(100)의 다리들(120)의 서브세트에 명령한다. 여기서, 로봇(100)의 몸체(110)는, 로봇의 몸체(110)가 지면(14)을 향해 하강하면서 목표 물체를 향해 피칭할 수 있다.
[0056] 도 3은 지도된 자율 파지를 위한 방법(500)에 대한 동작들의 예시적인 배열의 흐름도이다. 방법(500)은 로봇의 데이터 처리 하드웨어(142)에 의해 실행되고 데이터 처리 하드웨어(142)가 동작들을 수행하게 하는 컴퓨터 구현 방법일 수 있다. 방법(500)은, 동작(502)에서, 로봇(100) 주위의 환경(10) 내의 영역에 대한 센서 데이터(134)의 3차원 포인트 클라우드를 수신하는 단계를 포함한다. 방법(500)은, 동작(504)에서, 로봇(100)의 사용자(12)로부터, 영역에 대응하는 이미지에 표현된 목표 물체를 선택하는 사용자 입력을 수신하는 단계를 포함한다. 사용자 입력에 의해 선택된 목표 물체는 로봇(100)의 로봇 매니퓰레이터의 엔드 이펙터(150)가 파지하기 위한 개개의 물체에 대응한다. 방법(500)은, 동작(506)에서, 이미지의 선택된 목표 물체로부터 복수의 광선들(218)을 센서 데이터(134)의 3차원 포인트 클라우드 상으로 투사함으로써 로봇 매니퓰레이터의 엔드 이펙터(150)에 대한 파지 영역(216)을 생성하는 단계를 포함한다. 방법(500)은, 동작(508)에서, 로봇 매니퓰레이터가 파지 영역(216) 내의 목표 물체를 파지하기 위한 파지 지오메트리(212)를 결정하는 단계를 포함한다. 방법(500)은, 동작(510)에서, 파지 지오메트리(212)에 기초하여 파지 영역(216) 내의 목표 물체를 파지하도록 로봇 매니퓰레이터의 엔드 이펙터(150)에 명령하는 단계를 포함한다.
[0057] 도 4는 본 명세서에 설명된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(400)의 개략도이다. 컴퓨팅 디바이스(400)는 랩탑들, 데스크탑들, 워크스테이션들, 개인용 정보 단말기들, 서버들, 블레이드 서버(blade server)들, 메인프레임(mainframe)들 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 나타내도록 의도된다. 본원에 나타낸 구성요소들, 이들의 연결들 및 관계들, 및 이들의 기능들은 단지 예시적인 것이며, 본 명세서에서 설명 및/또는 청구된 발명들의 구현예들을 제한하려는 것은 아니다.
[0058] 컴퓨팅 디바이스(400)는 프로세서(410)(예를 들어, 데이터 처리 하드웨어), 메모리(420)(예를 들어, 메모리 하드웨어), 저장 디바이스(430), 메모리(420) 및 고속 확장 포트들(450)에 연결되는 고속 인터페이스/제어기(440), 저속 버스(470) 및 저장 디바이스(430)에 연결되는 저속 인터페이스/제어기(460)를 포함한다. 구성요소들(410, 420, 430, 440, 450 및 460) 각각은 다양한 버스들을 사용하여 상호 연결되며, 공통 마더보드 상에 장착되거나 적절하게 다른 방식들로 장착될 수 있다. 프로세서(410)는, 고속 인터페이스(440)에 연결된 디스플레이(480)와 같은 외부 입/출력 디바이스 상에 그래픽 사용자 인터페이스(GUI)를 위한 그래픽 정보를 표시하기 위해, 메모리(420) 또는 저장 디바이스(430)에 저장된 명령들을 포함하여, 컴퓨팅 디바이스(400) 내에서 실행하기 위한 명령들을 처리할 수 있다. 다른 구현예들에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 메모리 유형들과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(400)이 연결될 수 있으며, 각각의 디바이스는 (예를 들어, 서버 뱅크(server bank), 블레이드 서버들의 그룹, 또는 다중 프로세서 시스템으로서) 필요한 동작들의 일부들을 제공한다.
[0059] 메모리(420)는 컴퓨팅 디바이스(400) 내에 비일시적으로 정보를 저장한다. 메모리(420)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(420)는 컴퓨팅 디바이스(400)에 의한 사용을 위해 임시적 또는 영구적으로 프로그램들(예를 들어, 명령들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스들일 수 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 판독 전용 메모리(ROM)/프로그램 가능 판독 전용 메모리(PROM)/소거 가능한 프로그램 가능 판독 전용 메모리(EPROM)/전자적으로 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)(예를 들어, 전형적으로 부팅 프로그램들과 같은 펌웨어에 사용됨)를 포함하지만 이에 제한되지 않는다. 휘발성 메모리의 예들은 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 상변화 메모리(PCM)뿐만 아니라, 디스크들 또는 테이프들을 포함하지만 이에 제한되지 않는다.
[0060] 저장 디바이스(430)는 컴퓨팅 디바이스(400)를 위한 대용량 스토리지를 제공할 수 있다. 일부 구현예들에서, 저장 디바이스(430)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현예들에서, 저장 디바이스(430)는, 스토리지 영역 네트워크(storage area network) 내의 디바이스들 또는 다른 구성들을 포함하는, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 디바이스들의 어레이일 수 있다. 추가 구현예들에서, 컴퓨터 프로그램 제품은 정보 캐리어(information carrier)에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 전술한 것들과 같은 하나 이상의 방법들을 수행하는 명령들을 포함한다. 정보 캐리어는 메모리(420), 저장 디바이스(430), 또는 프로세서(410) 상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
[0061] 고속 제어기(440)는 컴퓨팅 디바이스(400)에 대한 대역폭 집약적 동작(bandwidth-intensive operation)들을 관리하는 한편, 저속 제어기(460)는 보다 낮은 대역폭 집약적 동작들을 관리한다. 임무(duty)들의 그러한 할당은 단지 예시적인 것일 뿐이다. 일부 구현예들에서, 고속 제어기(440)는 메모리(420)에, (예를 들어, 그래픽 프로세서 또는 가속기를 통해) 디스플레이(480)에, 그리고 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(450)에 연결된다. 일부 구현예들에서, 저속 제어기(460)는 저장 디바이스(430) 및 저속 확장 포트(470)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트(470)는 하나 이상의 입/출력 디바이스들, 예컨대 키보드, 포인팅 디바이스, 스캐너, 또는, 예를 들어 네트워크 어댑터를 통해, 스위치 또는 라우터(router)와 같은 네트워킹 디바이스에 결합될 수 있다.
[0062] 컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(400)는 표준 서버(400a)로서 또는 그러한 서버들(400a)의 그룹에 여러 번 구현되거나, 랩톱 컴퓨터(400b)로서, 또는 랙 서버 시스템(rack server system)(400c)의 일부로서 구현될 수 있다.
[0063] 본원에 설명된 시스템들 및 기술들의 다양한 구현예들은 디지털 전자 및/또는 광 회로, 집적 회로, 특수 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현예들은, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 이들로부터 데이터 및 명령들을 송신하도록 결합된, 특수 목적 또는 범용일 수 있는 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현예를 포함할 수 있다.
[0064] 이러한 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그램 가능한 프로세서에 대한 기계 명령들을 포함하고, 고급 절차 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본원에 사용된 바와 같이, 용어 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"는 기계 판독 가능 신호로서 기계 명령들을 수신하는 기계 판독 가능 매체를 포함하는 프로그램 가능 프로세서에 기계 명령들 및/또는 데이터를 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, 프로그램 가능 논리 디바이스(PLD)들)를 지칭한다. 용어 "기계 판독 가능 신호"는 기계 명령들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하는 데 사용되는 임의의 신호를 지칭한다.
[0065] 본 명세서에 설명된 프로세스들 및 논리 흐름들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램 가능한 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들 모두를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 모두로부터 명령들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령들을 수행하기 위한 프로세서, 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어 자기 디스크들, 광자기 디스크들 또는 광 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들에 데이터를 전송하거나, 또는 둘 모두를 수행하도록 작동적으로 결합된다. 그러나, 컴퓨터가 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체들은, 예로서, 반도체 메모리 디바이스들, 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하여, 모든 형태들의 비휘발성 메모리, 매체들 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 그에 통합될 수 있다.
[0066] 사용자와의 상호 작용을 제공하기 위해, 본 개시내용의 하나 이상의 양태들은 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube), LCD(liquid crystal display) 모니터, 또는 정보를 사용자에게 표시하기 위한 터치 스크린, 및 선택적으로, 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼(trackball)을 갖는 컴퓨터에서 구현될 수 있다. 사용자와 상호 작용을 또한 제공하기 위해 다른 종류들의 디바이스들이 사용될 수 있으며; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각적 피드백, 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성(speech) 또는 촉각 입력을 포함하여, 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 사용자가 사용하는 디바이스로 문서들을 전송하고 디바이스로부터 문서를 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써, 사용자와 상호 작용할 수 있다.
[0067] 다수의 구현예들이 설명되었다. 그럼에도 불구하고, 본 개시내용의 사상 및 범위로부터 벗어남이 없이 다양한 변형들이 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들은 하기의 청구범위의 범위 내에 있다.
Claims (22)
- 로봇(robot)(100)의 데이터 처리 하드웨어(data processing hardware)(142)에 의해 실행될 때 상기 데이터 처리 하드웨어(142)가 동작들을 수행하게 하는, 컴퓨터 구현 방법(500)으로서,
상기 동작들은,
상기 로봇(100) 주위의 환경(10) 내의 공간에 대한 센서 데이터(sensor data)(134)의 3차원 포인트 클라우드(three-dimensional point cloud)를 수신하는 동작;
상기 공간에 대응하는 이미지(300)에 표현된 목표 물체의 사용자 선택을 나타내는 선택 입력을 수신하는 동작 ― 상기 목표 물체는 상기 로봇(100)의 로봇 매니퓰레이터(robotic manipulator)(126)의 엔드 이펙터(end-effector)(128H, 150)에 의해 파지하기 위한 것임 ―;
상기 이미지(300)의 선택된 목표 물체로부터 복수의 광선들(218)을 상기 센서 데이터(134)의 3차원 포인트 클라우드 상으로 투사함으로써 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 대한 파지 영역(216)을 생성하는 동작;
상기 로봇 매니퓰레이터(126)가 상기 파지 영역(216) 내의 목표 물체를 파지하기 위한 파지 지오메트리(grasp geometry)(212)를 결정하는 동작; 및
상기 파지 지오메트리(212)에 기초하여 상기 파지 영역(216) 내의 목표 물체를 파지하도록 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 명령하는 동작을 포함하는,
컴퓨터 구현 방법. - 제1 항에 있어서,
상기 로봇 매니퓰레이터(126)가 상기 파지 영역(216) 내의 상기 목표 물체를 파지하기 위한 상기 파지 지오메트리(212)를 결정하는 동작은,
상기 파지 영역(216) 내의 목표 물체에 기초하여 복수의 후보 파지 지오메트리들(212)을 생성하는 동작;
상기 복수의 후보 파지 지오메트리들(212)의 각각의 후보 파지 지오메트리(212)에 대해, 상기 목표 물체를 파지하기 위한 파지 스코어(grasping score)(242)를 결정하는 동작 ― 상기 파지 스코어(242)는 개개의 후보 파지 지오메트리(212)에 기초하여 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)를 사용하여 상기 목표 물체를 파지할 성공 가능성을 나타냄 ―;
상기 목표 물체를 파지하도록 지정된 초기 파지 지오메트리(212I)로서 최대의 파지 스코어(242)를 갖는 개개의 후보 파지 지오메트리(212)를 선택하는 동작 ― 상기 초기 파지 지오메트리(212I)는 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 대한 초기 포즈(pose)에 기초함 ―을 포함하는,
컴퓨터 구현 방법. - 제2 항에 있어서,
상기 동작들은,
상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)의 제2 포즈에 대한 업데이트된 센서 데이터(134U)를 수신하는 동작;
업데이트된 센서 데이터(134U)에 기초하여 새로운 세트의 후보 파지 지오메트리들(212N)을 결정하는 동작 ― 상기 새로운 세트의 후보 파지 지오메트리들(212N)의 각각의 후보 파지 지오메트리(212N)는 개개의 파지 스코어(242)를 포함함 ―;
상기 새로운 세트의 후보 파지 지오메트리들(212N)로부터의 개개의 후보 파지 지오메트리(212N)가 상기 초기 파지 지오메트리(212I)의 파지 스코어(242)를 초과하는 대응하는 파지 스코어(242)를 포함한다고 결정하는 동작; 및
상기 새로운 세트의 후보 파지 지오메트리들(212N)로부터의 개개의 후보 파지 지오메트리(212N)에 기초하여 상기 초기 파지 지오메트리(212I)를 수정하는 동작을 더 포함하는,
컴퓨터 구현 방법. - 제1 항 내지 제3 항 중 어느 한 항에 있어서,
상기 동작들은 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)가 상기 목표 물체를 파지하기 위한 하나 이상의 자유도들을 제약하는 엔드 이펙터 제약조건을 수신하는 동작을 더 포함하는,
컴퓨터 구현 방법. - 제1 항 내지 제4 항 중 어느 한 항에 있어서,
상기 공간에 대응하는 상기 이미지(300)에 표현된 상기 목표 물체는 머신 러닝 알고리즘(machine learning algorithm)에 의해 분류된 물체에 대응하는,
컴퓨터 구현 방법. - 제1 항 내지 제5 항 중 어느 한 항에 있어서,
상기 동작들은,
상기 공간에 대응하는 상기 이미지(300)를 수신하는 동작; 및
머신 러닝 물체 분류 알고리즘(machine learning object classification algorithm)을 사용하여 수신된 이미지(300) 내에서 파지 가능한 물체들을 분류하는 동작을 더 포함하는,
컴퓨터 구현 방법. - 제1 항 내지 제6 항 중 어느 한 항에 있어서,
상기 파지 지오메트리(212)에 기초하여 상기 파지 영역(216) 내의 목표 물체를 파지하도록 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 명령하는 동작은,
상기 목표 물체를 향해 피칭(pitching)하도록 상기 로봇(100)의 몸체(110)에 명령하는 동작; 또는
상기 로봇(100)의 제1 다리(120)의 상부 부재(122U)를 무릎 관절(JK)을 중심으로 상기 제1 다리(120)의 하부 부재(122L)를 향해 회전시키도록 상기 로봇(100)의 제1 다리(120)에 명령하는 동작을 포함하는,
컴퓨터 구현 방법. - 제1 항 내지 제7 항 중 어느 한 항에 있어서,
상기 공간에 대응하는 상기 이미지(300)에 표현된 상기 목표 물체를 선택하는 상기 선택 입력을 수신하는 동작은 상기 로봇(100)의 데이터 처리 하드웨어(142)와 원격 통신하는 사용자 디바이스(20)에서 일어나는,
컴퓨터 구현 방법. - 제1 항 내지 제8 항 중 어느 한 항에 있어서,
상기 동작들은,
상기 공간에 대응하는 상기 이미지(300)를 수신하는 동작; 및
수신된 이미지(300)를 보정하는 동작을 더 포함하는,
컴퓨터 구현 방법. - 제1 항 내지 제9 항 중 어느 한 항에 있어서,
상기 엔드 이펙터(128H, 150)는 가동 죠(movable jaw) 및 고정 죠(fixed jaw)를 갖는 그리퍼(gripper)(128H, 150)를 포함하며, 상기 가동 죠는 상기 그리퍼(128H, 150)의 개방 포지션과 상기 그리퍼(128H, 150)의 폐쇄 포지션 사이에서 이동하기 위해 상기 고정 죠에 대해 이동하도록 구성되는,
컴퓨터 구현 방법. - 제1 항 내지 제10 항 중 어느 한 항에 있어서,
상기 로봇 매니퓰레이터(126)는 상기 로봇(100) 주위의 환경(10) 내의 공간에 대한 상기 3차원 포인트 클라우드를 규정하는 상기 센서 데이터(134)를 캡처하도록 상기 엔드 이펙터(128H, 150)에 또는 그 근처에 장착된 하나 이상의 센서들(130, 130c)을 포함하는,
컴퓨터 구현 방법. - 로봇(100)으로서,
몸체(110);
상기 몸체(110)에 결합된 복수의 다리들(120);
상기 몸체(110)에 결합된 로봇 매니퓰레이터(126) ― 상기 로봇 매니퓰레이터(126)는 상기 로봇(100) 주위의 환경(10) 내의 물체들을 파지하도록 구성된 엔드 이펙터(128H, 150)를 포함함 ―;
상기 로봇 매니퓰레이터(126)와 통신하는 데이터 처리 하드웨어(142); 및
상기 데이터 처리 하드웨어(142)와 통신하는 메모리 하드웨어(memory hardware)(144, 164)를 포함하며, 상기 메모리 하드웨어(144, 164)는 상기 데이터 처리 하드웨어(142)에서 실행될 때 상기 데이터 처리 하드웨어(142)가 동작들을 수행하게 하는 명령들을 저장하고, 상기 동작들은,
상기 로봇(100) 주위의 환경(10) 내의 공간에 대한 센서 데이터(134)의 3차원 포인트 클라우드를 수신하는 동작;
상기 로봇(100)의 사용자로부터, 상기 공간에 대응하는 이미지(300)에 표현된 목표 물체의 사용자 선택을 나타내는 선택 입력을 수신하는 동작 ― 상기 목표 물체는 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 의해 파지하기 위한 것임 ―;
상기 이미지(300)의 선택된 목표 물체로부터 복수의 광선(218)을 상기 센서 데이터의 3차원 포인트 클라우드(134) 상으로 투사함으로써 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 대한 파지 영역(216)을 생성하는 동작;
상기 로봇 매니퓰레이터(126)가 상기 파지 영역(216) 내의 목표 물체를 파지하기 위한 파지 지오메트리(212)를 결정하는 동작; 및
상기 파지 지오메트리(212)에 기초하여 상기 파지 영역(216) 내의 목표 물체를 파지하도록 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 명령하는 동작을 포함하는,
로봇. - 제12 항에 있어서,
상기 로봇 매니퓰레이터(126)가 상기 파지 영역(216) 내의 상기 목표 물체를 파지하기 위한 상기 파지 지오메트리(212)를 결정하는 동작은,
상기 파지 영역(216) 내의 목표 물체에 기초하여 복수의 후보 파지 지오메트리들(212)을 생성하는 동작;
상기 복수의 후보 파지 지오메트리들(212)의 각각의 후보 파지 지오메트리(212)에 대해, 상기 목표 물체를 파지하기 위한 파지 스코어(242)를 결정하는 동작 ― 상기 파지 스코어(242)는 개개의 후보 파지 지오메트리(212)에 기초하여 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)를 사용하여 상기 목표 물체를 파지할 성공 가능성을 나타냄 ―;
상기 목표 물체를 파지하도록 지정된 초기 파지 지오메트리(212I)로서 최대의 파지 스코어(242)를 갖는 개개의 후보 파지 지오메트리(212)를 선택하는 동작 ― 상기 초기 파지 지오메트리(212I)는 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 대한 초기 포즈에 기초함 ―을 포함하는,
로봇. - 제13 항에 있어서,
상기 동작들은,
상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)의 제2 포즈에 대한 업데이트된 센서 데이터(134U)를 수신하는 동작;
업데이트된 센서 데이터(134U)에 기초하여 새로운 세트의 후보 파지 지오메트리들(212N)을 결정하는 동작 ― 상기 새로운 세트의 후보 파지 지오메트리들(212N)의 각각의 후보 파지 지오메트리(212N)는 개개의 파지 스코어(242)를 포함함 ―;
상기 새로운 세트의 후보 파지 지오메트리들(212N)로부터의 개개의 후보 파지 지오메트리(212N)가 상기 초기 파지 지오메트리(212I)의 파지 스코어(242)를 초과하는 대응하는 파지 스코어(242)를 포함한다고 결정하는 동작; 및
상기 새로운 세트의 후보 파지 지오메트리들(212N)로부터의 개개의 후보 파지 지오메트리(212N)에 기초하여 상기 초기 파지 지오메트리(212I)를 수정하는 동작을 더 포함하는,
로봇. - 제12 항 내지 제14 항 중 어느 한 항에 있어서,
상기 동작들은 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)가 상기 목표 물체를 파지하기 위한 하나 이상의 자유도들을 제약하는 엔드 이펙터 제약조건을 수신하는 동작을 더 포함하는,
로봇. - 제12 항 내지 제15 항 중 어느 한 항에 있어서,
상기 공간에 대응하는 상기 이미지(300)에 표현된 상기 목표 물체는 머신 러닝 알고리즘에 의해 분류된 물체에 대응하는,
로봇. - 제12 항 내지 제16 항 중 어느 한 항에 있어서,
상기 동작들은,
상기 공간에 대응하는 상기 이미지(300)를 수신하는 동작; 및
머신 러닝 물체 분류 알고리즘을 사용하여 수신된 이미지(300) 내에서 파지 가능한 물체들을 분류하는 동작을 더 포함하는,
로봇. - 제12 항 내지 제17 항 중 어느 한 항에 있어서,
상기 파지 지오메트리(212)에 기초하여 상기 파지 영역(216) 내의 목표 물체를 파지하도록 상기 로봇 매니퓰레이터(126)의 엔드 이펙터(128H, 150)에 명령하는 동작은,
상기 목표 물체를 향해 피칭하도록 상기 로봇(100)의 몸체(110)에 명령하는 동작; 또는
상기 로봇(100)의 제1 다리(120)의 상부 부재(122U)를 무릎 관절(JK)을 중심으로 상기 제1 다리(120)의 하부 부재(122L)를 향해 회전시키도록 상기 로봇(100)의 제1 다리(120)에 명령하는 동작을 포함하는,
로봇. - 제12 항 내지 제18 항 중 어느 한 항에 있어서,
상기 공간에 대응하는 상기 이미지(300)에 표현된 상기 목표 물체를 선택하는 상기 선택 입력을 수신하는 동작은 상기 로봇(100)의 데이터 처리 하드웨어(142)와 원격 통신하는 사용자 디바이스(20)에서 일어나는,
로봇. - 제12 항 내지 제19 항 중 어느 한 항에 있어서,
상기 동작들은,
상기 공간에 대응하는 상기 이미지(300)를 수신하는 동작; 및
수신된 이미지(300)를 보정하는 동작을 더 포함하는,
로봇. - 제12 항 내지 제20 항 중 어느 한 항에 있어서,
상기 엔드 이펙터(128H, 150)는 가동 죠 및 고정 죠를 갖는 그리퍼(128H, 150)를 포함하며, 상기 가동 죠는 상기 그리퍼(128H, 150)의 개방 포지션과 상기 그리퍼(128H, 150)의 폐쇄 포지션 사이에서 이동하기 위해 상기 고정 죠에 대해 이동하도록 구성되는,
로봇. - 제12 항 내지 제21 항 중 어느 한 항에 있어서,
상기 로봇 매니퓰레이터(126)는 상기 로봇(100) 주위의 환경(10) 내의 공간에 대한 상기 3차원 포인트 클라우드를 규정하는 상기 센서 데이터(134)를 캡처하도록 상기 엔드 이펙터(128H, 150)에 또는 그 근처에 장착된 하나 이상의 센서들(130, 130c)을 포함하는,
로봇.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063128736P | 2020-12-21 | 2020-12-21 | |
US63/128,736 | 2020-12-21 | ||
PCT/US2021/064105 WO2022140190A1 (en) | 2020-12-21 | 2021-12-17 | Supervised autonomous grasping |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230122118A true KR20230122118A (ko) | 2023-08-22 |
Family
ID=79730239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237024700A KR20230122118A (ko) | 2020-12-21 | 2021-12-17 | 지도된 자율 파지 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220193894A1 (ko) |
EP (1) | EP4263152A1 (ko) |
KR (1) | KR20230122118A (ko) |
CN (1) | CN116635193A (ko) |
WO (1) | WO2022140190A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9259838B1 (en) * | 2014-07-24 | 2016-02-16 | Google Inc. | Systems and methods for ground plane estimation |
JP7563267B2 (ja) * | 2021-03-24 | 2024-10-08 | トヨタ自動車株式会社 | 物品回収システム、物品回収ロボット、物品回収方法、及び物品回収プログラム |
US12036684B2 (en) * | 2022-08-10 | 2024-07-16 | Wilder Systems Inc. | User interface and related flow for controlling a robotic arm |
CN115781673B (zh) * | 2022-11-18 | 2024-10-11 | 节卡机器人股份有限公司 | 一种零件抓取方法、装置、设备及介质 |
CN117549315B (zh) * | 2024-01-10 | 2024-03-26 | 邳州环航包装材料有限公司 | 一种包装机器人的路径生成方法及系统 |
CN117961913A (zh) * | 2024-03-18 | 2024-05-03 | 威海联科智能装备有限公司 | 一种机械手臂管理方法、装置、电子设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10315311B2 (en) * | 2016-03-22 | 2019-06-11 | The Boeing Company | Robots, robotic systems, and related methods |
US9687983B1 (en) * | 2016-05-11 | 2017-06-27 | X Development Llc | Generating a grasp pose for grasping of an object by a grasping end effector of a robot |
US11035183B2 (en) * | 2018-08-03 | 2021-06-15 | National Oilwell Varco, L.P. | Devices, systems, and methods for top drive clearing |
US11813758B2 (en) * | 2019-04-05 | 2023-11-14 | Dexterity, Inc. | Autonomous unknown object pick and place |
-
2021
- 2021-12-17 CN CN202180085890.9A patent/CN116635193A/zh active Pending
- 2021-12-17 WO PCT/US2021/064105 patent/WO2022140190A1/en active Application Filing
- 2021-12-17 EP EP21844854.6A patent/EP4263152A1/en active Pending
- 2021-12-17 US US17/644,945 patent/US20220193894A1/en active Pending
- 2021-12-17 KR KR1020237024700A patent/KR20230122118A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
US20220193894A1 (en) | 2022-06-23 |
EP4263152A1 (en) | 2023-10-25 |
CN116635193A (zh) | 2023-08-22 |
WO2022140190A1 (en) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230122118A (ko) | 지도된 자율 파지 | |
Bagnell et al. | An integrated system for autonomous robotics manipulation | |
US9862090B2 (en) | Surrogate: a body-dexterous mobile manipulation robot with a tracked base | |
JP7022076B2 (ja) | 産業機器用の画像認識プロセッサ及びコントローラ | |
Reiser et al. | Care-O-bot® 3-creating a product vision for service robot applications by integrating design and technology | |
US9827675B2 (en) | Collision avoidance method, control device, and program | |
Luo et al. | Real time human motion imitation of anthropomorphic dual arm robot based on Cartesian impedance control | |
Cruciani et al. | Dexterous manipulation graphs | |
Nascimento et al. | Collision avoidance in human-robot interaction using kinect vision system combined with robot’s model and data | |
CN117795445A (zh) | 用于基于路径点的导航地图的备用路线发现 | |
KR20230137334A (ko) | 동적 사이트들에서의 로봇 자율성을 위한 시맨틱 모델들 | |
Leitner et al. | Transferring spatial perception between robots operating in a shared workspace | |
KR20230138487A (ko) | 객체 기반 로봇 제어 | |
US20230286161A1 (en) | Systems and Methods for Robotic Manipulation Using Extended Reality | |
Vahrenkamp et al. | Adaptive motion planning for humanoid robots | |
Sadeghian et al. | Visual servoing with safe interaction using image moments | |
US20220193906A1 (en) | User Interface for Supervised Autonomous Grasping | |
CN113146637B (zh) | 一种机器人笛卡尔空间的运动规划方法 | |
CN115741667A (zh) | 机器人装置及其控制方法以及训练机器人控制模型的方法 | |
Li | A Design of Robot System for Rapidly Sorting Express Carton with Mechanical Arm Based on Computer Vision Technology | |
Walęcki et al. | Control system of a service robot's active head exemplified on visual servoing | |
Chan et al. | Modeling nonconvex workspace constraints from diverse demonstration sets for constrained manipulator visual servoing | |
Ramezani et al. | Smooth robot motion with an optimal redundancy resolution for pr2 robot based on an analytic inverse kinematic solution | |
Giampà | Development of an Autonomous Mobile Manipulator for Industrial and Agricultural Environments | |
Chiaverini et al. | A Null-Space based Behavioural control approach to coordinated motion of a humanoid robot |