KR20220066381A - 로봇 파지부에서 미끄러짐 검출 - Google Patents

로봇 파지부에서 미끄러짐 검출 Download PDF

Info

Publication number
KR20220066381A
KR20220066381A KR1020227013584A KR20227013584A KR20220066381A KR 20220066381 A KR20220066381 A KR 20220066381A KR 1020227013584 A KR1020227013584 A KR 1020227013584A KR 20227013584 A KR20227013584 A KR 20227013584A KR 20220066381 A KR20220066381 A KR 20220066381A
Authority
KR
South Korea
Prior art keywords
item
end effector
robotic arm
arm end
sensors
Prior art date
Application number
KR1020227013584A
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 KR20220066381A publication Critical patent/KR20220066381A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • B25J13/082Grasping-force detectors
    • B25J13/083Grasping-force detectors fitted with slippage detectors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • B25J13/084Tactile sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39507Control of slip motion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40143Slip, texture sensation feedback, by vibration stimulation of fingers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40155Purpose is grasping objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40567Purpose, workpiece slip sensing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40625Tactile sensor

Landscapes

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

Abstract

복수의 센서들은 아이템과 로봇 팔 엔드 이펙터의 맞물림과 연관된 감지된 값을 반영하는 대응하는 출력을 제공하도록 구성된다. 복수의 센서들을 포함하는 하나 이상의 센서들의 각각의 출력들은 하나 이상의 입력들에 적어도 부분적으로 기반하여, 상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 출력을 제공하도록 구성된 멀티-모달 모델에 대한 상기 하나 이상의 입력들을 결정하는 데 사용된다. 로봇 팔 엔드 이펙터의 파지부 내에서 또는 파지부로부터 미끄러짐과 연관된 결정은 멀티-모달 모델의 출력에 직어도 부분적으로 기반하여 이루어진다. 응답 동작은 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 결정에 적어도 부분적으로 기반하여 취해진다.

Description

로봇 파지부에서 미끄러짐 검출
본 출원은 2019년 10월 25일에 출원되고 발명의 명칭이 DETECTING SLIPPAGE FROM ROBOTIC GRASP라는 미국 가특허 출원 번호 62/926,162호에 대한 우선권을 주장하고, 이는 모든 목적들을 위해 본원에 참조로 포함된다.
로봇 시스템은 제1 위치에서 제2 위치로 아이템을 픽킹(picking)하고 배치하는 작업을 맡을 수 있다. 로봇 시스템은 엔드 이펙터(end effector)를 사용하여 제1 위치에서 아이템을 파지할 수 있다. 아이템을 성공적으로 파지하면, 로봇 시스템은 아이템을 제2 위치로 이동할 수 있다. 그러나, 아이템이 제1 위치에서 제2 위치로 이동되는 동안 엔드 이펙터의 파지부(grasp)에서 아이템이 미끄러질 수 있다. 아이템은 너무 높은 곳에서 떨어지게 되면 손상될 수 있다.
본 발명의 다양한 실시예들은 다음의 상세한 설명 및 첨부 도면들에 개시되어 있다.
도 1은 일부 실시예들에 따른 아이템들을 픽킹하고 배치하기 위한 시스템을 예시하는 블록도이다.
도 2는 일부 실시예들에 따른 로봇 팔 엔드 이펙터를 예시하는 블록도이다.
도 3a는 일부 실시예들에 따른 촉각 감지 유닛을 예시하는 블록도이다.
도 3b는 일부 실시예들에 따른 촉각 감지 유닛을 다른 관점에서 예시한 도면이다.
도 3c는 일부 실시예들에 따른 촉각 감지 유닛을 다른 관점에서 예시한 도면이다.
도 3d는 일부 실시예들에 따른 자기 센서의 예를 예시하는 도면이다.
도 3e는 일부 실시예들에 따른 촉각 감지 유닛을 예시하는 도면이다.
도 3f는 일부 실시예들에 따른 촉각 감지 유닛을 예시하는 도면이다.
도 3g는 일부 실시예들에 따른 촉각 감지 유닛을 예시하는 도면이다.
도 4는 일부 실시예들에 따른 아이템을 픽킹하고 배치하기 위한 프로세스를 예시하는 흐름도이다.
도 5는 일부 실시예들에 따른 미끄러짐을 검출하기 위한 프로세스를 예시하는 흐름도이다.
도 6a-도 6c는 제어된 미끄러짐을 포함하는 픽 앤 플레이스(pick and place) 동작의 예를 예시하는 도면이다.
도 7은 일부 실시예들에 따른 아이템을 파지하기 위한 프로세스를 예시하는 흐름도이다.
도 8은 멀티-모달 모델(multi-modal model)을 훈련시키는 프로세스를 예시하는 흐름도이다.
본 발명은 프로세스로서; 장치; 시스템; 물질의 구성; 컴퓨터 판독가능 저장 매체에 구현된 컴퓨터 프로그램 제품; 및/또는 프로세서, 예를 들어 프로세서에 결합된 메모리에 저장 및/또는 제공되는 명령들을 실행하도록 구성된 프로세서 같은 프로세서를 포함하여, 다수의 방식들로 구현될 수 있다. 본 명세서에서, 이러한 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기법들로 지칭될 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급되지 않으면, 작업을 수행하도록 구성되는 것으로 설명된 프로세서나 메모리와 같은 구성요소는 주어진 시간에 작업을 수행하도록 임시로 구성되는 일반 구성요소 또는 작업을 수행하도록 제조된 특정 구성요소로 구현될 수 있다. 본원에 사용된 바와 같이, '프로세서'라는 용어는 컴퓨터 프로그램 명령들과 같은 데이터를 프로세싱하도록 구성된 하나 이상의 디바이스들, 회로들 및/또는 프로세싱 코어들을 지칭한다.
본 발명의 하나 이상의 실시예들의 상세한 설명은 본 발명의 원리들을 예시하는 첨부 도면들과 함께 아래에 제공된다. 본 발명은 이러한 실시예들과 관련하여 설명되지만, 본 발명은 임의의 실시예에 제한되지 않는다. 본 발명의 범위는 청구범위들에 의해서만 제한되고 본 발명은 다수의 대안들, 수정들 및 등가물들을 포함한다. 본 발명의 완전한 이해를 제공하기 위해 다수의 특정 세부사항들이 하기 설명에 기재되어 있다. 이러한 세부사항들은 예시의 목적으로 제공되고 본 발명은 이러한 특정 세부사항들의 일부 또는 전부 없이 청구범위들에 따라 실시될 수 있다. 명확성을 위해, 본 발명과 관련된 기술 분야들에서 알려진 기술 자료는 본 발명이 불필요하게 모호하게 되지 않도록 상세히 설명되지 않았다.
아이템이 미끄러지기 시작하는지 또는 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있는지를 결정하기 위한 기법들이 개시된다. 다양한 실시예들에서, 촉각 감지 유닛이 제공된다. 촉각 감지 유닛은 아이템이 미끄러지기 시작하는지 로봇 팔 엔드 이펙터의 파지부에서 미끄러지는지 결정하는 데 사용된다. 촉각 감지 유닛은 하나 이상의 센서들에 의해 생성된 센서 출력 값들을 포함 및/또는 수신한다. 하나 이상의 센서들은 자기 센서들, 광학 센서들, 전기기계 센서들, 압력 센서들, 스트레인 게이지들, 힘 센서들, 전도도 센서들, 전류 센서들, 전압 센서들, 커패시턴스 센서들, 저항 센서들, 인덕턴스 센서들, 적외선 센서들, 온도 센서들 등 중 하나 이상을 포함할 수 있다.
하나 이상의 센서들 각각은 로봇 팔 엔드 이펙터와 아이템(또한 "객체"로 지칭됨)의 맞물림과 연관된 감지된 값을 반영하는 출력을 제공하도록 구성된다. 하나 이상의 센서들 출력들은 로봇 팔 엔드 이펙터와 아이템의 결합을 나타내는 하나 이상의 양식들을 결정하는 데 사용된다. 하나 이상의 양식들은 무게, 변형, 도통, 전도도, 압력, 저항, 인덕턴스, 커패시턴스, 또는 로봇 팔 엔드 이펙터 맞물림을 나타내는 임의의 다른 양식을 포함할 수 있다.
촉각 감지 유닛은 로봇 팔 엔드 이펙터와 연관될 수 있다. 로봇 팔 엔드 이펙터는 2개 이상의 손가락들을 포함할 수 있다. 각각의 손가락에는 대응하는 촉각 감지 유닛이 부착될 수 있다. 엔드 이펙터는 하나 이상의 흡입 컵들, 또는 아이템과 맞물리기 위한 다른 구조들을 포함할 수 있고, 대응하는 촉각 감지 유닛은 아이템들을 맞물리는 데 사용되는 흡입 컵들 또는 다른 구조 각각에 부착될 수 있다. 일부 실시예들에서, 하나 이상의 촉각 감지 유닛들은 각각의 손가락들이 연관된 촉각 감지 유닛을 갖도록 로봇 팔 엔드 이펙터의 손가락들 위에 배치되는 감지 커버링(예를 들어, 장갑, 벙어리장갑 등)에 포함된다. 일부 실시예들에서, 하나 이상의 촉각 감지 유닛들은 로봇 팔 엔드 이펙터에 내장된다.
촉각 감지 유닛은 복수의 감지 층들을 포함할 수 있다. 각각의 감지 층들은 하나 이상의 센서들을 포함할 수 있다. 촉각 감지 유닛은 전도성 층, 변형 층 및 기판 층 중 하나 이상을 포함할 수 있다. 아이템과 맞물릴 때, 촉각 감지 유닛의 센서는 기준 감지 값(예를 들어, 로봇 팔 엔드 이펙터가 아이템과 맞물리지 않을 때 용기 값)과 상이한 대응 감지 값을 출력할 수 있다. 센서의 감지된 값은 아이템이 미끄러지기 시작하거나 로봇 팔 엔드 이펙터의 파지부에서 미끄러지는 경우 변할 수 있다.
전도성 층은 도통 또는 전도도, 저항, 커패시턴스 또는 인덕턴스와 같은 다른 전기적 특성들이 측정될 수 있게 하는 전도성 재료(예를 들어, 금속)를 포함할 수 있다. 전도성 층은 엔드 이펙터의 제1 손가락에 부착된 제1 촉각 감지 유닛이 엔드 이펙터의 제2 손가락에 부착된 제2 촉각 감지 유닛과 접촉할 때, 제1 및 제2 촉각 감지 유닛들의 전도성 층들이 접촉되도록 촉각 감지 층의 상단 층일 수 있다.
로봇 팔 엔드 이펙터가 아이템을 파지할 때, 아이템은 촉각 감지 유닛들의 전도성 층들이 서로 접촉하는 것을 방지한다. 그러나 로봇 팔 엔드 이펙터가 아이템을 떨어뜨릴 때, 촉각 감지 유닛들의 전도성 층들은 서로 접촉될 수 있다. 전도성 층은 하나 이상의 도통 값들, 하나 이상의 전도도 값들, 하나 이상의 저항 값들, 하나 이상의 커패시턴스 값들, 및/또는 하나 인덕턴스 값들을 결정하기 위해 전도성 층으로부터의 출력을 사용할 수 있는 프로세서에 결합된다. 프로세서는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동하는 동안 시간에 따라 결정된 값들을 모니터링하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지 여부를 결정할 수 있다.
일부 실시예들에서, 변형 층은 유전체 재료(예를 들어, 실리콘, 플라스틱, 또는 힘에 응답하여 변형될 수 있는 임의의 다른 재료)를 포함한다. 측정 객체가 유전체 재료에 주입될 수 있다. 기준 감지 값은 로봇 엔드 이펙터가 아이템과 맞물리기 전에 결정된다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 감지된 값들은 기준 감지 값들과 비교된다. 감지된 값들은 엔드 이펙터가 아이템을 성공적으로 파지했는지 파지하지 못했는지 및/또는 아이템이 미끄러지거나 미끄러지려고 하는지에 따라 다를 수 있다. 로봇 팔 엔드 이펙터가 아이템을 파지하는 동안, 감지된 값들은 변동될 수 있다. 그러나, 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러짐에 따라, 감지된 값들은 임계량을 초과하여 변동할 수 있거나 아이템이 미끄러지지 않을 때와 다르게 변동할 수 있다. 변형 층과 연관된 하나 이상의 센서들에 결합된 프로세서는 아이템이 로봇 팔 엔드 이펙트의 파지부로부터 미끄러지기 시작하는지 및/또는 미끄러지는 중인지를 결정하기 위해 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동하는 동안 시간에 따른 감지된 값들을 모니터링한다.
일부 실시예들에서, 복수의 자석들은 유전체 재료에 주입된다. 복수의 자석들은 격자(예를 들어, 2D 격자 또는 3D 격자) 또는 비격자 패턴으로 배열될 수 있다. 하나 이상의 자석들은 유전체 재료의 에지 경계에 위치될 수 있다. 복수의 자석들은 기판 층 상에 위치된 자기 센서와 연관된다. 자기 센서는 로봇 팔 엔드 이펙터가 아이템과 맞물리기 전에 기준 자기장을 검출한다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 복수의 자석들 중 하나 이상이 변위되게 한다. 이 변위는 자기 센서에 의해 감지되는 자기장의 변화를 야기한다. 자기 센서는 무게 값 및/또는 변형 값을 결정하기 위해 자기장의 변화를 사용할 수 있는 프로세서에 결합된다.
자기 센서는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동하는 동안 자기장을 검출하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지 여부를 결정할 수 있다. 프로세서는 현재 자기장, 현재 무게 값 및 임의의 변화들에 대한 현재 변형 값들을 모니터링할 수 있다. 성공적인 파지와 연관된 자기장의 현재 자기장 변화, 성공적인 파지와 연관된 무게 값으로부터의 현재 무게 값, 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하고 있음을 나타낼 수 있다. 성공적인 파지와 연관된 자기장의 현재 자기장 변화, 성공적인 파지와 연관된 무게 값으로부터의 현재 무게 값, 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
일부 실시예들에서, 복수의 마커들은 유전체 재료에 내장된다. 복수의 마커들은 격자 또는 비격자 패턴으로 배열될 수 있다. 격자 패턴은 2D 격자 패턴 또는 3D 격자 패턴일 수 있다. 복수의 마커들은 기판 층 상에 위치된 이미지 센서와 연관될 수 있다. 이미지 센서는 로봇 팔 엔드 이펙터가 아이템과 맞물리기 전에 모든 마커들에 대한 기준 포지션을 검출할 수 있다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 복수의 마커들 중 하나 이상이 변위되게 한다. 이 변위는 이미지 센서에 의해 감지된 마커 포지션의 변화를 야기한다. 이미지 센서는 무게 값 및/또는 변형 값을 결정하기 위해 마커 포지션의 변화를 사용할 수 있는 프로세서에 결합된다.
이미지 센서는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동하는 동안 마커들의 포지션을 검출하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지 여부를 결정할 수 있다.
프로세서는 현재 포지션들, 현재 무게 값 및 임의의 변화들에 대한 현재 변형 값들을 모니터링할 수 있다. 성공적인 파지와 연관된 포지션들에서 마커들의 현재 포지션들, 성공적인 파지와 연관된 무게로부터의 현재 무게 값 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하고 있음을 나타낼 수 있다. 성공적인 파지와 연관된 포지션에서 마커의 현재 포지션들, 성공적인 파지와 연관된 무게에서 현재 무게 값 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값에서 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
일부 실시예들에서, 반사 재료는 유전체 재료에 내장되고 방출기 및 수신기는 기판 층 상에 위치된다. 방출기는 반사 재료에서 반사된 신호를 송신할 수 있고 반사된 신호는 수신기에서 수신된다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 신호가 유전체 재료를 통해 이동하는 방식을 변경한다. 맞물림은 수신기에서 수신된 반사 신호의 진폭이 기준 신호 진폭에서 변경되게 한다. 수신기는 무게 값 및/또는 변형 값을 결정하기 위해 신호 진폭의 변화를 사용할 수 있는 프로세서에 결합된다.
수신기는 로봇 팔 엔드 이펙터의 파지부에서 미끄러지는지 여부를 결정하기 위해 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동하는 동안 신호를 계속 수신할 수 있다. 프로세서는 수신된 신호의 진폭, 무게 값 및 임의의 변화들에 대한 변형 값들을 모니터링할 수 있다. 성공적인 파지와 연관된 신호 진폭으로부터의 현재 신호 진폭, 성공적인 파지와 연관된 무게로부터의 현재 무게 값 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타낼 수 있다. 성공적인 파지와 연관된 신호 진폭으로부터의 현재 신호 진폭, 성공적인 파지와 연관된 무게로부터의 현재 무게 값 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
일부 실시예들에서, 변형을 검출할 수 있는 하나 이상의 전자-기계 센서들(예를 들어, 스트레인 게이지)는 유전체 재료에 내장된다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 하나 이상의 전자-기계 센서들과 연관된 저항이 변화하게 한다. 하나 이상의 전자-기계 센서는 프로세서에 결합되고, 상기 프로세서는 저항의 변화를 사용하여 무게 값 및/또는 변형 값을 결정할 수 있다.
하나 이상의 전기 기계 센서들은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있는지 여부를 결정하기 위해 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 아이템을 이동하는 동안 저항을 출력한다. 프로세서는 저항, 무게 값 및 임의의 변화들에 대한 변형 값을 모니터링할 수 있다. 성공적인 파지와 연관된 저항 값에서 현재 저항 값, 성공적인 파지와 연관된 무게에서 현재 무게 값 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값에서 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타낼 수 있다. 성공적인 파지와 연관된 저항 값 에서 현재 저항 값, 성공적인 파지와 연관된 무게에서 현재 무게 값 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값에서 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
일부 실시예들에서, 유전체 재료는 가스, 공기, 또는 액체를 함유하는 가요성 멤브레인(예를 들어, 주머니, 파우치)을 포함할 수 있다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 가요성 멤브레인과 연관된 압력이 변화되게 한다. 압력은 압력 센서에 의해 검출될 수 있고 프로세서는 압력의 변화를 사용하여 무게 값 및/또는 변형 값을 결정할 수 있다.
프로세서는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동하는 동안 압력, 무게 값 및 임의의 변화들에 대한 변형 값을 모니터링하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지는지 여부를 결정할 수 있다. 성공적인 파지와 연관된 압력 값으로부터의 현재 압력 값, 성공적인 파지와 연관된 무게의 현재 무게 값 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 대응 값을 초과하는 성공적인 파지와 연관된 변형 값의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타낼 수 있다. 성공적인 파지와 연관된 압력 값으로부터의 현재 압력 값, 성공적인 파지와 연관된 무게의 현재 무게 값 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
하나 이상의 촉각 감지 유닛들은 프로세서에 결합된다. 로봇 팔 엔드 이펙터는 프로세서에 또한 결합된 다른 센서들을 포함할 수 있다. 예를 들어, 로봇 팔 엔드 이펙터의 손가락들을 로봇 팔에 연결하는 하우징은 힘 및/또는 토크를 측정하는 데 사용되는 하나 이상의 센서들을 포함할 수 있다. 하나 이상의 하우징 센서들은 감지된 무게를 필터링하여 로봇 팔 엔드 이펙터의 무게를 정규화하는 데 사용될 수 있다. 하우징의 하나 이상의 센서들과 연관된 센서 출력은 하나 이상의 양식들을 결정하는 데 사용될 수 있다. 복수의 센서들(예를 들어, 촉각 감지 유닛 센서(들) 및/또는 하우징 센서(들))는 프로세서에 대응하는 출력들을 제공한다. 프로세서는 로봇 팔 엔드 이펙터와 아이템 사이의 맞물림과 연관된 하나 이상의 힘들 및/또는 하나 이상의 모멘트들을 결정하기 위해 센서 출력들을 사용할 수 있다. 프로세서는 센서 출력들을 사용하여 각각의 촉각 감지 유닛들과 연관된 힘들 및 모멘트들을 결정할 수 있다.
프로세서는 센서 출력들을 사용하여 복수의 양식들에 대한 대응하는 값들을 결정할 수 있다. 예를 들어, 감지된 무게, 감지된 변형량, 감지된 도통, 감지된 전도도, 감지된 압력, 감지된 저항, 감지된 인덕턴스 및/또는 감지된 커패시턴스가 결정될 수 있다. 복수의 양식들은 각각 계수와 연관된다. 일부 실시예들에서, 복수의 양식들은 동일하게 가중된다(예를 들어, 각각은 "1"의 연관된 계수를 가짐). 일부 실시예들에서, 복수의 양식들 중 일부는 상이한 무게들을 갖는다. 예를 들어, 아이템은 금속 아이템일 수 있고 도통 인자와 연관된 계수는 변형 인자와 연관된 계수보다 작을 수 있다.
프로세서는 아이템이 미끄러지기 시작하는지 및/또는 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있는지를 결정하기 위해 멀티-모달 모델을 구현할 수 있다. 멀티-모달 모델은 규칙-기반 모델, 예측 모델, 기계 학습 모델(예를 들어, 신경망, 선형 분류기, 지원 벡터 머신, 선형 회귀, 로지스틱 회귀, 의사 결정 트리, 딥 러닝 등) 등일 수 있다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 로봇 팔 엔드 이펙터의 파지로부터 미끄러지기 시작하는지 여부에 관련하여 이진 결정을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있는지 여부에 관한 이진 결정을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지기 시작하는지 여부의 확률을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지고 있는지 여부의 확률을 출력하도록 구성된다.
복수의 양식들의 일부 또는 전부와 연관된 값들 및 이의 대응 계수들은 멀티-모달 모델에 대한 입력으로 제공된다. 입력은 멀티-모달 모델에 적용되고 로봇 시스템은 멀티-모달 모델의 출력에 기반하여 응답 동작(예를 들어, 피드백 제어, 반응 모션 등)을 수행하도록 구성된다. 일부 실시예들에서, 로봇 시스템은 아이템을 제1 위치에서 제2 위치로 이동시킨다. 일부 실시예들에서, 로봇 시스템은 아이템을 파지하기 위해 추가적인 힘을 가한다. 일부 실시예들에서, 로봇 시스템은 아이템을 내려 놓고 아이템을 다시 파지한다. 일부 실시예들에서, 로봇 시스템은 인간 개입을 요청한다. 일부 실시예들에서, 로봇 시스템은 로봇 시스템이 아이템을 파지하고 있는 방식을 조정한다. 예를 들어, 로봇 팔은 중력이 다른 축에서 파지된 아이템에 가해지도록 회전될 수 있다. 일부 실시예들에서, 로봇 시스템은 미끄러짐을 방지하기 위해 파지 모션을 사전에 조정한다.
촉각 감지 유닛과 멀티-모달 모델을 사용하는 것은 로봇 시스템으로 하여금 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지 정확하게 결정하게 할 수 있다. 복수의 센서들은 동일한 결론, 즉 로봇 팔 엔드 이펙터가 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지를 확인하는 상이한 시점들로부터의 데이터 포인트들을 제공할 수 있다. 단일 요소 접근법은 의사 결정 프로세스에서 로봇 시스템을 편향시킬 수 있다. 예를 들어, 로봇 시스템은 로봇 팔 엔드 이펙터의 손가락들 사이의 도통을 요인으로서만 사용할 수 있다. 로봇 시스템은 로봇 팔 엔드 이펙터의 파지부에서 아이템이 미끄러졌다고 결정할 수 없지만, 아이템은 전도성일 수 있다. 도통을 유일한 요인으로 사용하는 것은 로봇 팔 엔드 이펙터가 아이템을 실제로 떨어뜨렸을 때 로봇 시스템이 아이템이 로봇 팔 엔드 이펙터에 의해 여전히 파지되어 있다고 결정할 수 있다. 대조적으로, 다중 양식들을 사용하는 것은 로봇 시스템에 의사 결정 프로세스에서 균형 잡힌 접근법을 제공한다.
도 1은 일부 실시예들에 따른 아이템들을 픽킹하고 배치하기 위한 시스템을 예시하는 블록도이다. 도시된 예에서, 로봇 시스템(101)은 환경(100)에서 동작하고 있다. 로봇 시스템(101)은 고정 베이스(104)에 장착된 로봇 팔(102), 엔드 이펙터(108), 하나 이상의 센서들(134), 및 제어기(106)를 포함하는 복수의 합쳐진 세그먼트들을 포함한다. 일부 실시예들에서, 고정 베이스(104)는 선택적이다. 로봇 팔(102)은 로봇 팔(102) 및 로봇 팔(102)의 원위 단부에 장착된 엔드 이펙터(108)를 조작하도록 구성된 제어기(106)에 결합된다. 일부 실시예들에서, 제어기(106)는 모터의 회전 요소에 결합된 요소가 모터의 비-회전 요소가 결합된 요소에 관련하여 이동하게 하도록 개별 모터들이 대응 토크(들)를 인가하게 하기 위해 로봇 팔(102) 및 엔드 이펙터(108)를 포함하는 강성 요소들 사이의 각각의 조인트들의 각각에 구성된 모터들에 전압들 및/또는 다른 신호들, 입력들 등을 제공함으로써 로봇 팔(102) 및 엔드 이펙터(108)를 제어한다. 엔드 이펙터(108)는 흡입 그리퍼(gripper), 평행 그리퍼, 소프트 그리퍼, 텍스트러스 그리퍼(dexterous gripper) 등을 포함할 수 있다. 로봇 시스템(101)은 복수의 엔드 이펙터들을 포함할 수 있고 객체를 파지하는데 가장 적합한 엔드 이펙터를 선택할 수 있다. 예를 들어, 엔드 이펙터는 객체의 질감에 기반하여 선택될 수 있다. 로봇 시스템(101)은 객체에 주름진 영역이 너무 많은 경우 흡입 그리퍼 대신 평행 그리퍼를 선택할 수 있다.
도 1에 도시된 예에서, 로봇 팔(102)은 도시된 이 예에서 다른 형상의 아이템들(112, 114, 및 116)을 포함하여 테이블 또는 다른 표면(110)(예를 들어, 작업공간 영역)에서 아이템들을 픽업하고 컨베이어 벨트(예를 들어, 하차 영역)에 배치하는 데 사용된다. 도시된 바와 같이, 로봇 팔(102)은 객체(120)가 컨베이어 벨트(118)에서 목적지(122)로 떨어지려고 하는 방향으로 회전하는 컨베이어 벨트(118) 상에 아이템(120)을 배치하기 위해 이전에 사용되었다. 작업 공간 영역은 컨베이어 벨트 또는 회전 플랫폼과 같은 이동 플랫폼, 또는 아이템들의 더미(안정 또는 불안정)가 위치된 고정 영역을 포함할 수 있다.
다양한 실시예들에서, 도 1에 도시된 "픽 앤 플레이스" 동작은 로봇 팔(102), 엔드 이펙터(108), 및 제어기(106)를 포함하는 로봇 시스템(101)에 의해 적어도 부분적으로 자율 동작 모드에서 수행된다. 예를 들어, 일부 실시예들에서, 제어기(106) 및/또는 프로세서, 메모리, 및 기타 구성요소들을 포함하는 컴퓨터와 같은 하나 이상의 다른 제어 디바이스들은 도 1에 예시된 픽 앤 플레이스 동작을 수행하도록 프로그래밍된다. 예를 들어, 일부 실시예들에서, 프로그래머 또는 다른 작업자는 로봇 시스템(101)이 환경(100) 및 테이블(110) 상의 아이템들에 관련한 포지션(또는 일부 실시예들에서, 한편으로는 테이블(110) 및 컨베이어 벨트(118)와 연관된 좌표 또는 다른 위치들의 세트)의 인식하도록 프로그래밍되거나 달리 구성될 수 있다.
일부 실시예들에서, 로봇 시스템(101)은 픽 앤 플레이스 동작 및/또는 그 일부들을 수행하기 위해 라이브러리 또는 전략들의 다른 저장소를 사용하도록 프로그래밍되거나 달리 구성된다. 예를 들어, 로봇 시스템(101)은 테이블(110) 위의 위치에 엔드 이펙터(108)를 포지셔닝하기 위해 현재 위치 및 환경(100)에 대한 인식을 사용하도록 구성될 수 있다. 컴퓨터 비전 또는 다른 기법들은 다음으로 픽업할 아이템을 식별 및 선택하고, 아이템을 픽업하기 위한 전략은 예를 들어 아이템의 위치, 형상, 배향, 제시된 양태, 질감, 강성 등 중 하나 이상에 기반하여 자율적으로 선택될 수 있다.
예를 들어, 도 1에 도시된 예에서, 로봇 시스템(101)은 아이템(112)과 연관된 피처를 입방체 기하구조를 갖는 것으로 인식하고 아이템(112)을 픽업하기 전에 입방체 기하구조들에 대한 파지 전략을 선택할 수 있다. 로봇은 아이템(114)을 피라미드 기하구조를 갖는 것으로 인식하고 피라미드 기하구조들에 대한 파지 전략을 선택할 수 있다. 로봇은 아이템(116)을 원통형 기하구조를 갖는 것으로 인식하고 원통형 기하구조들에 대한 파지 전략을 선택할 수 있다.
환경(100)은 카메라들(115, 117)과 같은 복수의 카메라들을 포함한다. 비록 도 1이 2개의 카메라들을 갖는 환경(100)을 묘사하지만, 환경(100)은 n개의 카메라들을 포함할 수 있고, 여기서 n은 1보다 큰 수이다. 복수의 카메라들은 로봇 시스템(101)에 유선 또는 무선으로 결합될 수 있다. 일부 실시예에서, 복수의 카메라들 중 적어도 하나는 고정된 위치에 있다. 일부 실시예들에서, 복수의 카메라들 중 적어도 하나는 동적으로 이동한다(예를 들어, 드론과 같은 이동 객체에 부착됨). 일부 실시예들에서, 복수의 카메라들 중 적어도 하나는 고정되어 있을 수 있고 상이한 위치로 이동될 수 있다(예를 들어, 제1 위치에서 아이템을 검출하고, 카메라를 제2 위치로 이동시키고, 제2 위치에서 아이템을 검출함). 일부 실시예에서, 하나 이상의 아이템들의 인지된 표면 피처들의 변화들을 검출하기 위해 환경(100)에서 상이한 조명 조건들이 사용된다.
복수의 카메라들을 사용하는 것은 로봇 시스템(101)이 상이한 관점들에서 환경(100)을 볼 수 있게 한다. 이것은 아이템들이 가려지는 것을 방지하고 아이템 기하구조들 및 아이템 경계들의 더 정확한 추정들을 제공한다. 예를 들어, 큰 아이템은 카메라가 큰 아이템 옆에 있는 작은 아이템을 보지 못하도록 하는 방식으로 배치될 수 있다. 즉, 작은 아이템이 카메라에서 가려진다. 상이한 위치들에서 복수의 카메라들을 사용하는 것은 더 작은 아이템을 볼 수 있게 하고 더 작은 아이템과 연관된 경계 정보를 결정할 수 있게 한다. 넓은 작업공간 영역은 단일 카메라로 커버될 수 없다. 복수의 카메라들과 연관된 뷰들은 로봇 시스템(101)에 작업공간 영역(110)의 보다 완전한 뷰를 제공하기 위해 병합될 수 있다. 카메라들 중 하나가 차단된 경우, 로봇 시스템(101)은 여전히 아이템을 픽 앤 플레이스할 수 있다.
일부 실시예들에서, 로봇 시스템(101)은 복수의 카메라들 중 하나 이상에 의해 생성된 포인트 클라우드에 기반하여 아이템들을 세그먼트화한다. 로봇 시스템(101)은 RGB 또는 다중-스펙트럼 카메라 이미지(예를 들어, RGB, 깊이, 및/또는 적외선 등의 조합)에 기반하여 아이템들을 세그먼트화할 수 있다. 세그먼트화된 객체들은 포인트 클라우드(point cloud)로 역투영되어 잠재적인 파지가능한 영역들이 결정될 수 있다. 이것은, 포인트 클라우드 정보에 기반하여 아이템을 세그먼트화할 때 이용가능하지 않은, 아이템 유형, 예상 무게/재료, 바람직한 파지 전략 등과 같은 추가 정보를 제공한다. 이런 조합된 세그먼트화 전략은 깊이만으로는 구별하기 어려운 아이템들을 픽킹할 때 잘 작동하지만(예를 들어, 함께 단단히 포장된 작은 박스들은 단일 평면처럼 포인트 클라우드로 보일 수 있음), 포인트 클라우드 정보와 조합된 이미지 세그먼트화를 사용하여, 로봇 시스템(101)은 각각의 박스를 식별하고 입력으로부터 박스를 추출할 수 있다.
일부 실시예들에서, 로봇 시스템(101)은 테이블(110)(예를 들어, 작업 공간 영역)에서 컨베이어 벨트(118)(예를 들어, 하차 영역)로 알려지지 않은 아이템들을 자율적으로 픽 앤 플레이스한다. 로봇 시스템(101)은 카메라들(115, 117)의 사용을 통해 아이템들(112, 114, 116)이 테이블(110) 상에 위치된다고 결정할 수 있다. 제어기(106)는 카메라들(115, 117)로부터 수신된 시각적 데이터(예를 들어, 포인트 클라우드 데이터)에 기반하여 기하구조 정보를 결정한다. 제어기(106)는 카메라들(115, 117)로부터 수신된 시각적 데이터로부터 결정된 기하구조 정보에 대응하는 아이템들(112, 114, 116)에 대응하는 잠재적 파지가능 피처(feature)들을 선택한다. 예를 들어, 카메라들(115, 117)로부터 수신된 시각적 데이터에 기반하여, 제어기(106)는 아이템(112)이 입방체 형상에 대응하는 파지가능 피처를 포함하고, 아이템(114)이 피라미드 형상에 대응하는 파지가능 피처를 포함하고, 아이템(116)이 원통형 형상을 포함한다고 결정할 수 있다. 제어기(106)는 임계량 내의 기하구조 객체와 가장 밀접하게 유사한 파지가능 피처를 선택할 수 있다. 예를 들어, 제어기(106)는 결정된 기하구조 정보를 알려진 피처들의 라이브러리와 비교하고 비교에 기반하여 아이템에 대한 피처를 선택할 수 있다. 일부 실시예들에서 피처들은 표준 형상들이다. 제어기(10)는 파지될 아이템들 상에 표준 형상들을 중첩할 수 있다.
아이템과 연관된 하나 이상의 파지가능 피처들을 결정하기 위해, 제어기(106)는 아이템을 복수의 서브-세그먼트들로 분해하기 위해 아이템의 평면들을 무작위로 커팅할 수 있다. 아이템은 포인트 클라우드의 데이터 포인트들(아이템의 상단에서 포인티(pointy) 피처를 파지하는 것과 관련됨)를 최소로 점유하는 평면들에서 커팅될 수 있다. 아이템의 평면들은 아이템의 컬러 또는 외관의 강한 구배들에 기반하여 커팅될 수 있다. 일부 실시예들에서, 멤버쉽 함수는, 일반으로 생성된 서브-구역 내의 포인트 클라우드에 이상값들이 존재하는지를 결정하는 데 사용된다. 추가 커팅 평면이 추가될 수 있거나 아이템은 높은 잔차들을 갖는 분리된 영역들로 분할될 수 있다. 서브-세그먼트들은 별도로 프로세싱될 수 있다. 예를 들어, 이상값 검출 기법들은 서브-세그먼트들에 적용될 수 있다. 일부 실시예들에서, 5-시그마는 가우스 분포를 포인트들에 맞추고 평균에서 5-시그마(표준 편차) 떨어진 포인트들을 식별하고, 식별된 포인트들을 이상값으로 표시한다. 일부 실시예들에서, 서브샘플링 방법은 포인트 클라우드에 사용되고 평균에 다시 맞추어진다. 이어서, 포인트들은 평균에서 소정 거리 떨어진 포인트들을 찾는 데 사용된다.
일부 실시예들예서, 아이템의 서브-세그먼트들은 아이템과 엔드 이펙터(108)의 상호작용 범위에 기반하여 결정된다. 예를 들어, 엔드 이펙터(108)가 넓은 아이템을 파지하는데 사용할 수 없으면, 제어기(108)는 아이템의 넓은 부분 주위에서 아이템을 파지하지 않기로 결정한다. 흡입 그리퍼 엔드 이펙터가 사용되는 경우, 비교적 부드럽고 편평한 표면이 탐색된다. 보이드-기반 픽킹 전략들 또는 최소 점유 커팅 평면들이 피해질 수 있다. 프리미티브(primitive)들은 새로운 파티셔닝된 클라우드 다시 맞추어진다. 프로세스는, 일부 레벨의 품질 또는 재귀 제한이 만족될 때까지 반복적으로 반복될 수 있다.
제어기(106)는 카메라들(115, 117)로부터 수신된 시각적 데이터에 기반하여 아이템과 연관된 음의 공간 정보(예를 들어, 보이드들)를 결정할 수 있다. 예를 들어, 제어기(106)는 커피 머그의 핸들이 음의 공간을 포함하거나 자동차 타이어가 음의 공간을 포함한다고 결정할 수 있다. 복수의 카메라들로부터의 데이터를 사용하는 컴퓨터 비전 알고리즘은 컵들, 머그들, 롤업된 와이어, 테이프 등과 같은 아이템들의 보이드들(예를 들어, 홀들)을 결정할 수 있다. 보이드가 검출되는 경우, 아이템은 보이드에 그리퍼를 삽입하고 아이템의 측벽에서 아이템을 픽킹하여 파지될 수 있다.
제어기(106)는 카메라들(115, 117)로부터 수신된 시각적 데이터에 기반하여 픽킹될 아이템의 곡률을 결정할 수 있다. 제어기(106)가 아이템이 만곡되는 것을 결정하는 경우, 제어기(106)는 아이템 배치와 연관된 제어 전략을 변경할 수 있어서, 만곡된 아이템은 배치될 때 아이템이 굴러가는 것을 방지하기 위해 보다 조심스럽게 그리고 보다 느리게 잡기해제된다. 일부 실시예들에서, 만곡된 아이템은 더 평평한 표면을 포함한다. 로봇 시스템(101)은 더 평평한 표면에 아이템을 배치하고 더 안정적인 배치를 달성하기 위해 아이템을 재배향할 수 있다. 카메라들(115, 117)로부터 수신된 시각적 데이터가, 아이템의 잡기가 처음으로 해제된 후 배치된 아이템이 롤링 또는 이동하고 있음을 나타내는 경우, 제어기(106)는 아이템을 다시 잡고 잡기가 다시 해제되기 전에 아이템을 정착시키려고 시도할 수 있다. 이벤트 제어기(106)가 임계 횟수들보다 많이 아이템을 잡기/다시-잡기하려고 시도하는 경우, 경고가 사용자(130)에게 제공되고 아이템이 굴러갈 수 있음을 사용자(130)에게 경고할 수 있다.
제어기(106)는 카메라들(115, 117)로부터 수신된 시각적 데이터에 기반하여 아이템(112, 114, 116)과 연관된 대응하는 피처들을 결정한다. 예를 들어, 제어기(106)는 아이템이 핸들을 포함한다고 결정할 수 있다. 카메라들로부터 수신된 시각적 데이터는 아이템과 연관된 최소 경계 및 아이템과 연관된 최대 경계를 결정하는 데 사용될 수 있다. 아이템의 경계는 아이템과 연관된 높이, 폭 또는 깊이를 포함한다. 시각적 데이터는 아이템의 경계들 중 하나 이상이 결정되게 하는 데이터를 제공할 수 있다.
제어기(106)는 파지 전략들을 피처들과 연관시키는 데이터 구조를 저장하는 메모리(도시되지 않음)와 연관된다. 파지 전략은 파지 기법과 파지 기법을 사용하여 피처를 파지하는 방법으로 구성될 수 있다. 일부 실시예들에서, 파지 전략은 객체/세그먼트의 기하학적 추정에 맞출 수 있는 경계 박수의 장축 및 단축을 파지하는 것을 포함한다. 일부 실시예들에서, 파지 전략은 일부 Z-높이에서 아이템/세그먼트 추정치를 커팅하고 경계 박스를 재계산하는 것을 포함한다. 이어서, 재계산된 경계 박스의 장축과 단축은 파지될 수 있다. 이것은 아이템의 바닥이 넓지만 중간 어딘가에 작은 탑이 있고 로봇 시스템이 탑을 정확하게 파지하고자 할 때 유용하다. 메모리는 또한 파지 기법들을 수행하는 방법에 대한 명령들을 저장한다. 명령들은 다른 아이템들에 영향을 미치는 것을 방지하기 위해 필요한 경우 그리퍼를 부분적으로 미리-폐쇄하라는 명령들을 포함할 수 있다. 메모리는 또한 배치 기법들을 수행하는 방법에 대한 명령들을 저장한다. 명령들은 엔드 이펙터(108)가 하차 영역에 아이템을 배치하는 동안 다른 아이템들을 방해하지 않도록 엔드 이펙터(108)의 그리퍼 손가락들을 부분적으로 개방하라는 명령들을 포함할 수 있다. 메모리는 또한 엔드 이펙터의 메커니즘 및 기하학적 구조(예를 들어, 평행 그리퍼 대 흡입 그리퍼, 그리퍼 손가락들의 폭/길이 등)에 관한 정보를 저장한다.
파지 기법은 하나 이상의 피처들과 연관될 수 있다. 예를 들어, 흡입 기법은 피라미드 형상에 대응하는 파지가능 피처, 입방체 형상에 대응하는 파지가능 피처, 또는 직사각형 프리즘 형상에 대응하는 파지가능 피처를 갖는 아이템들에 사용될 수 있다. 평행 잡기 기법은 구형에 대응하는 파지가능 피처를 갖는 아이템들에 사용할 수 있다. 피처는 하나 이상의 잡기 기법들과 연관될 수 있다. 예를 들어, 구형에 대응하는 파지가능 피처에 평행 잡기 기법이나 스쿠핑 기법(scooping technique)이 사용될 수 있다. 다른 유형들의 그리퍼들은 특정 형상을 갖는 피처를 파지하는 데 사용될 수 있다. 예를 들어, 제1 파지 기법은 평행 그리퍼를 사용할 수 있고 제2 파지 기법은 흡입 그리퍼를 사용할 수 있다. 일부 실시예들에서, 그리퍼들의 유형들은 픽 앤 플레이스 동작 동안 그리퍼 유형들 간에 자율적으로 전환된다. 파지 기법은 피처의 다른 부분들에 사용될 수 있다. 예를 들어, 평행 잡기 기법은 피처의 상단, 중간 또는 하단 부분에 사용될 수 있다. 제어기(106)는 피처와 연관된 파지 전략들의 각각에 대한 대응하는 점수들을 결정한다. 일부 실시예들에서, 아이템은 복수의 피처들과 연관된다. 제어기(106)는 복수의 피처들 각각에 대한 하나 이상의 파지 기법들을 결정하고 결정된 파지 기법들에 대한 대응하는 점수들을 결정할 수 있다.
파지 전략과 연관된 점수는 파지 전략이 피처를 성공적으로 파지할 확률에 기반할 수 있다. 파지 전략이 피처를 성공적으로 파지할 확률은 하나 이상의 양식들, 이를테면 환경에 관한 컨텍스트 정보, 환경에 관한 이력 파지 정보, (다른 아이템들과의 충돌을 피하기 위해) 로봇 팔이 피처를 파지하는 각도, (그리퍼 상단에서 충돌을 방지하기 위해) 로봇 팔이 피처를 파지할 높이, 잡기 폭, 파지 지점들에서 표면 법선 배향, 파지될 수 있는 피처의 양, 재료 특성들 등에 기반할 수 있다. 환경에 관한 컨텍스트 정보는 아이템 근처 또는 인접한 다른 아이템들의 존재, 아이템 근처 또는 인접한 다른 아이템들이 피처를 파지할 로봇 팔의 능력을 방해하는 양, 더 많은 아이템들이 작업공간 영역에 계속 추가되는지 여부 등을 포함한다. 재료 특성들은 아이템의 질량 중심, 아이템의 마찰 특성, 컬러, 반사율, 등을 포함할 수 있다. 예를 들어, 로봇 시스템(101)은 큰 아이템이 안정적으로 배치될 수 있도록 큰 지지 표면을 구축할 수 있다. 로봇 시스템(101)이, 아이템의 마찰 계수들 및 배치 지지 표면을 고려할 때 아이템이 기울어진 배치 지지 표면에서 미끄러질 수 있음을 검출할 때, 로봇 시스템(101)은 (예를 들어, 미끄러짐을 피하기 위해) 마찰 계수들이 충분히 높은 아이템들만을 픽킹하도록 선택하게 구성될 수 있다.
제어기(106)는 파지 전략들의 각각과 연관된 대응하는 점수들에 기반하여 파지 전략들 중 하나를 선택한다. 아이템들은 클러터링된 더미(cluttered pile)에 배치된 이기종의 아이템들 모음일 수 있다. 아이템들은 크기, 컬러, 높이, 기하구조, 질감, 강성 등이 다를 수 있다. 아이템들은 더미에서 개별적으로 제거된다. 일부 아이템들은 적어도 부분적으로 가려져 있다. 클러터링된 더미의 모든 아이템들은 선험적으로 알려지지 않았다. 제어기(106)는 가장 높은 점수를 가진 파지 전략을 선택한다. 2개 이상의 파지 전략들이 동일한 높은 점수를 갖는 경우, 제어기(106)는 파지 전략들 중 하나를 선택하고, 파지 전략과 연관된 피처를 픽킹하고, 아이템을 하차 영역으로 이동하고, 이어서 다른 파지 전략들과 연관된 나머지 아이템을 선택한다.
제어기(106)는 엔드 이펙터(108)가 아이템과 연관된 피처를 파지하게 한다. 도시된 예에서, 제어기(106)는 엔드 이펙터(108)가 아이템(112)을 파지하게 하였다. 제어기(106)는 파지 예측 문제를 단순화하기 위해 그리퍼 메커니즘 및 기하구조에 관한 사전 지식을 활용할 수 있다. 예를 들어, 엔드 이펙터(108)가 위에서부터 아이템(112)과 같은 아이템에 접근할 경우, 제어기(106)는 파지가능한 돌출부들을 식별하기 위해 포인트 클라우드의 상단 섹션을 분석한다. 일부 실시예들에서, 로봇 시스템이 이동할 때, 카메라들(115, 117)은 더 많은 데이터(예를 들어, 더 가까운, 상이한 각도들, 상이한 조명, 반사율 등)를 수집하고 로봇 시스템(101)은 엔드 이펙터(108)가 새로운 데이터에 기반하여 아이템을 파지하게 하는 방법을 조정한다.
아이템에 대한 파지 지점들은 아이템의 메쉬화 또는 세그먼트화된 버전을 사용하여 결정될 수 있다. 파지할 아이템에 대한 근사치가 구축되고 라이브러리 또는 기계 학습 방법과 매칭하는 모델은 아이템에 대한 최적의 파지 위치를 결정하는 데 사용된다. 파지 지점들은 순위가 매겨진다. 제어기(106)는 엔드 이펙터(108)가 파지 지점들 중 하나에서 아이템을 파지하게 한다.
다양한 실시예들에서, 엔드 이펙터(108)는 본원에 개시된 바와 같이 하나 이상의 촉각 감지 유닛들(도시되지 않음)을 포함한다. 시스템은 촉각 감지 유닛(들)에서 감지된 값들을 사용하여 아이템을 성공적으로 파지했는지 여부를 결정한다. 시스템은 또한 아이템이 엔드 이펙터(108)의 파지부에서 미끄러지기 시작하는지 또는 미끄러지고 있는지 여부를 결정하기 위해 촉각 감지 유닛(들)으로부터 감지된 값들을 사용한다. 일부 실시예들에서, 시스템은 촉각 감지 유닛(들) 및 멀티-모달 모델로부터 감지된 값을 사용하여 엔드 이펙터(108)의 파지부에서 아이템을 재배향 및/또는 달리 재배치하기 위한 전략을 결정 및 구현한다. 예를 들어, 시스템은 엔드 이펙터(108)의 손가락들 또는 다른 맞물림 구조들 사이에서 하향 방향으로 슬라이딩하는 것, 또는 여전히 엔드 이펙터(108)의 파지부에 있으면서 회전하는 것과 같이 예상 및 의도된 방식으로 아이템이 미끄러지기 시작하는 지점에 대한 잡기를 의도적으로 느슨하게 할 수 있다. 아이템이 원하는 포지션 및/또는 배향에 있으면, 정지하고 추가 미끄러짐을 방지하기 위해 필요한 만큼 더 많은 힘이 가해진다. 촉각 감지 유닛은 하나 이상의 센서들을 포함한다. 하나 이상의 센서들 각각은 엔드 이펙터(108)와 아이템(112)과 같은 아이템의 맞물림과 연관된 감지된 값을 반영하는 출력을 제공하도록 구성된다. 하나 이상의 센서들 출력들은 아이템과 엔드 이펙터(108)의 맞물림을 나타내는 복수의 양식들을 결정하는 데 사용된다.
하나 이상의 센서들은 자기 센서들, 광학 센서들, 전기기계 센서들, 압력 센서들, 스트레인 게이지들, 힘 센서들, 전도도 센서들, 전류 센서들, 전압 센서들, 커패시턴스 센서들, 저항 센서들, 인덕턴스 센서들, 적외선 센서들, 온도 센서들 등 중 하나 이상을 포함할 수 있다. 복수의 양식들은 무게, 변형, 도통, 전도도, 압력, 저항, 인덕턴스, 커패시턴스 또는 로봇 팔 엔드 이펙터 맞물림을 나타내는 임의의 다른 인자를 포함할 수 있다.
하나 이상의 촉각 감지 유닛들은 제어기(106)에 결합된다. 엔드 이펙터(108)는 제어기(106)에 또한 결합되는 다른 센서들을 포함할 수 있다. 예를 들어, 엔드 이펙터(108)의 손가락들을 로봇 팔(102)에 연결하는 하우징은 힘 및/또는 토크를 측정하는 데 사용되는 하나 이상의 센서들을 포함할 수 있다. 복수의 센서들(촉각 감지 유닛 센서(들) 및/또는 하우징 센서(들))는 제어기(106)에 대응하는 출력들을 제공한다. 제어기(106)는 센서 출력들을 사용하여 엔드 이펙터(108)와 아이템(112) 같은 아이템 간의 맞물림과 연관된 하나 이상의 힘들 및/또는 하나 이상의 모멘트들을 결정할 수 있다. 제어기(106)는 센서 출력들을 사용하여 촉각 감지 유닛들 각각과 연관된 힘들 및 모멘트들을 결정할 수 있다.
제어기(106)는 센서 출력들을 사용하여 복수의 양식들에 대한 대응하는 값들을 결정할 수 있다. 예를 들어, 감지된 무게, 감지된 변형, 감지된 전도도, 감지된 압력, 감지된 저항, 감지된 인덕턴스 및/또는 감지된 커패시턴스가 결정될 수 있다. 복수의 양식들은 각각 계수와 연관된다. 일부 실시예들에서, 복수의 양식들은 동일하게 가중된다(예를 들어, 각각은 "1"의 연관된 계수를 가짐). 일부 실시예들에서, 복수의 양식들 중 일부는 상이한 무게들을 갖는다. 예를 들어, 선택된 아이템은 금속 객체일 수 있고 도통 인자와 연관된 계수는 변형 인자와 연관된 계수보다 작을 수 있다.
제어기(106)는 로봇 팔 엔드 이펙터가 아이템을 파지하였는지 여부를 결정하기 위해 멀티-모달 모델을 구현할 수 있다. 제어기(106)는 또한 아이템이 엔드 이펙터(108)의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지를 결정하기 위해 멀티-모달 모델을 구현할 수 있다. 멀티-모달 모델은 규칙 기반 모델, 예측 모델, 기계 학습 모델(예를 들어, 신경망, 선형 분류기, 지원 벡터 머신, 선형 회귀, 로지스틱 회귀, 결정 트리, 딥 러닝 등) 등일 수 있다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 엔드 이펙터(108)의 파지부에서 미끄러지기 시작하는지 여부에 관한 이진 결정을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 엔드 이펙터(108)의 파지부에서 미끄러지고 있는지 여부에 관한 이진 결정을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 엔드 이펙터(108)의 파지부에서 미끄러지기 시작하는지 여부의 확률을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 엔드 이펙터(108)의 파지부로부터 미끄러지고 있는지 여부의 확률을 출력하도록 구성된다.
입력(예를 들어, 양식들의 일부 또는 모두와 연관된 값들)은 멀티-모달 모델에 적용되고 로봇 시스템(101)은 멀티-모달 모델의 출력에 기반하여 응답 동작을 수행하도록 구성된다. 일부 실시예들에서, 로봇 시스템(101)은 아이템을 테이블(110)로부터 컨베이어 벨트(118)로 이동시킨다. 일부 실시예들에서, 로봇 시스템(101)은 아이템을 파지하기 위해 추가적인 힘을 가한다. 일부 실시예들에서, 로봇 시스템(101)은 아이템을 내려 놓고 아이템을 다시 파지한다. 일부 실시예들에서, 로봇 시스템(101)은 인간 개입을 요청한다. 일부 실시예들에서, 로봇 시스템(101)은 로봇 시스템이 아이템을 파지하는 방식을 조정한다. 일부 실시예들에서, 로봇 시스템(101)은 아이템을 아래로 내려놓지 않고 로봇 팔(102)의 손바닥 또는 로봇 시스템(101)의 다른 부분 상에 아이템을 두기 위해 파지 구성을 변경한다.
엔드 이펙터(108)는 이 예시적인 아이템(112)의 아이템을 하차 영역, 이를테면 컨베이어(118)로 이동시킨다. 엔드 이펙터(108)는 아이템을 하차 영역에 배치한다. 로봇 시스템(101)은 로봇 시스템(101)이 아이템이 배치되어야 한다고 생각하는 위치 근처에 아이템을 배치하기 위해 복수의 카메라들을 사용할 수 있다. 로봇 시스템(101)은 낙하 위치에서 아이템을 낮추고 하차 영역의 힘이 낙하 위치에 대해 뒤로 밀려나는 것을 로봇 시스템(101)이 느낄 때를 검출할 수 있다. 일부 실시예들에서, 로봇 시스템(101)은 아이템이 지지 표면 상에 성공적으로 배치되고 있는지 확인하기 위해 아이템의 바닥과 하차 영역 사이의 충격 시 기계적 진동을 사용한다. 로봇 시스템(101)이 하차 영역에 도달했음을 검출할 때, 로봇 시스템(101)은 엔드 이펙터(108)를 열거나 아이템을 부드럽게 내려놓기 위해 흡입을 중단한다. 엔드 이펙터(108)를 여는 동안, 로봇 시스템(101)은 배치 힘을 제어하기 위해 위 또는 아래로 이동할 수 있다(때로는 접촉하는 동안 그리퍼를 여는 것이 아이템들을 파쇄할 수 있음). 이것은 로봇 시스템(101)이 아이템들을 적층하거나 배치 표면 높이 추정치가 오류가 발생하기 쉽거나 알려지지 않은 경우 배치 높이를 동적으로 조정할 수 있게 한다. 이것은 또한 다른 아이템들이 방해가 될 때도 도움이 된다. 일부 실시예들에서, 로봇 시스템(101)은, 굴러갈 수 있는 임의의 아이템들이 하차 영역에 배치되는지 여부를 결정한다. 굴러갈 수 있는 아이템들이 없는 경우, 제어기(106)는 로봇 팔(102) 및 엔드 이펙터(108)를 제어하여 이미 하차 영역에 있는 아이템들을 더 가깝게 밀어 하나 이상의 다른 아이템들을 배치하기 위한 공간을 생성할 수 있다. 굴러갈 수 있거나 넘어질 수 있는 아이템들이 있는 경우, 제어기(106)는 로봇 팔(102) 및 엔드 이펙터(108)를 제어하여 아이템을 회전시키고 아이템의 안정적인 지지 표면을 하차 영역에 배치할 수 있다.
다양한 실시예들에서, 로봇 시스템(101)은 원격조작에 의한 개입을 자동으로 촉구한다. 일부 실시예들에서, 도 1에 도시된 픽 앤 플레이스 동작을 수행하는 동안, 로봇 시스템(101)은 로봇 시스템(101)이 동작을 (추가로) 수행하기 위한 (다음) 전략을 결정할 수 없는 상태에 도달하고, 로봇 시스템(101)은 원격조작을 통해 (이 예에서) 원격조작기를 돕도록 촉구한다.
도시된 예에서, 제어기(106)는 네트워크(124)를 통해 원격조작 컴퓨터(126)에 연결된다. 일부 실시예들에서, 원격조작 컴퓨터(126)는 예를 들어 상위 레벨 명령들을 네트워크(124)를 통해 제어기(106)에 통신함으로써 자율 모드에서 로봇 시스템(101)의 동작에 관여될 수 있다. 다양한 실시예들에서, 제어기(106) 및 원격조작 컴퓨터(126) 중 하나 또는 둘 모두는, 예를 들어 로봇 시스템(101)이 수행(완료)할 수 있는 동작의 (완전한) 다음 임무 또는 단계를 수행하기 위해 이용가능한 전략이 없는 상태에 도달한 경우 원격조작에 의한 개입을 촉구할 수 있다.
예를 들어, 도 1을 더 참조하면, 객체(114)가 로봇에 삼각형 양태를 제시하는 배향으로 자신의 평평한 면들 중 하나에 떨어져 착지된 경우, 일부 실시예들에서 로봇 시스템(101)은 아이템(114)을 픽업하기 위해 이용가능한 전략이 없고/없거나 아이템(114)을 픽업하기 위한 구성된 시도들의 시간이 초과되었거나 상기 시도들의 횟수를 소진하였을 수 있다. 응답하여, 원격조작기(130)는 원격조작을 통해 개입하도록 촉구될 수 있고, 로봇의 동작을 제어하기 위해 수동 입력 디바이스(128)를 사용할 수 있다. 예를 들어, 원격조작기(130)는 로봇 시스템(101)을 조작하여 아이템(114)을 픽업하고 컨베이어 벨트(118)에 아이템을 배치할 수 있다. 또는, 원격조작기(130)는 로봇 시스템(101)을 사용하여 아이템(114)의 배향을, 자율 로봇 시스템(101)이 아이템(114)을 픽업하기 위해 이용가능한 전략을 가질 것으로 예상되는(또는 더 그럴 가능성이 있는) 배향으로 변경할 수 있다.
일부 실시예들에서, 로봇 시스템(101)은 원격조작을 모니터링하고 원격조작에 기반하여 멀티-모달 모델을 업데이트한다. 예를 들어, 로봇 시스템(101)과 연관된 센서들(예를 들어, 촉각 감지 유닛 센서(들) 및/또는 하우징 센서(들))는 원격조작 동안 값들을 출력할 수 있다. 원격조작 파지 시도가 아이템을 성공적으로 파지한 경우, 로봇 시스템은 성공적인 파지를 나타내는 센서 출력 값들을 학습하고 아이템이 성공적으로 파지되었음을 결정하기 위해 후속 자율 파지들에 대해 이들 학습된 값들을 사용할 수 있다. 원격조작 파지 시도가 아이템 파지에 실패한 경우, 로봇 시스템은 파지 실패를 나타내는 센서 출력 값들을 학습하고 아이템이 파지에 실패했는지 여부를 결정하기 위해 후속 자동 파지들에 대해 이들 학습된 값들을 사용할 수 있다. 원격조작은 복수의 경우들에 수행될 수 있다. 복수의 경우들에 걸쳐, 로봇 시스템은 성공적인 파지를 나타내는 센서 출력 값들의 범위 및 실패한 파지를 나타내는 센서 출력 값들의 범위를 학습할 수 있다. 아이템들의 상이한 유형들, 형상들 및/또는 크기들에 대해 대응 범들이 학습될 수 있다.
도시된 예에서, 원격조작은 인간 조작자(130)에 의한 수동 입력 디바이스(128), 예를 들어 햅틱 입력 디바이스의 조작을 통해 수행될 수 있다. 원격조작을 시작하기 위해 원격조작 컴퓨터(126)를 포함 및/또는 이와 연관된 디스플레이 디바이스를 통해 디스플레이되는 정보에 의해 인간 조작자(130)(때때로 원격조작기로 지칭됨)가 수행될 수 있다. 하나 이상의 센서들(134)로부터의 데이터는 네트워크(124) 및 원격조작 컴퓨터(126)를 통해 인간 조작자(130)에 제공될 수 있다. 일부 실시예들에서, 센서들(134)은 로봇 상의 카메라(도시되지 않음) 또는 카메라들(115, 117)을 포함하고 원격조작기(130)에 디스플레이되고 원격조작을 통해 동작 또는 그 일부의 수행을 수행 및/또는 완료하는 데 사용되는 비디오 피드를 생성하도록 구성된다. 다양한 실시예들에서, 카메라는 아날로그 RF 기반 통신, WiFi, 블루투스, 및 서브 GHz 중 하나 이상을 제한 없이 예로써 포함하는 저지연, 고 처리량 연결로 연결된다. 일부 실시예들에서, 상이한 유형들의 카메라들의 혼합이 사용된다. 예를 들어, 2개의 RGB 시각 카메라들, 4개의 깊이 카메라들, 2개의 IR 카메라들 등과 같은 상이한 통신 레이트들, 대역폭 및/또는 다른 특성들을 가진 카메라들이 사용될 수 있다.
다양한 실시예들에서, 원격조작은 다양한 상이한 센서들(134)을 사용하여 수행될 수 있다. 일부 실시예들에서, 이들은 로봇 시스템(101)이 "고착"되었는지 여부를 결정하도록 안내할 수 있고/있거나, 원격조작을 단순화할 수 있다. 일부 실시예들에서, 센서들은 원격조작 양식을 직접적인 햅틱 제어들로부터 점점 더 추상적인 실행 커맨드들(마우스로 픽킹하기 위해 객체를 클릭하거나, 오디오 전사 디바이스에 "오픈 쉘프(open shelf)"라고 말하는 것과 같은)로 전환하는 것을 돕는다.
다양한 실시예들에 사용되는 센서들(134)의 예들은 환경과의 상호작용들 및 특정 "고착" 시나리오들, 및/또는 로봇 시스템(101)(또는 원격조작기) 부근에 알려지지 않은 에이전트들의 존재를 검출하도록 구성된 디지털 스위치들을 포함한다. 추가 예들은 파지들 같은 동작들의 성공 또는 실패를 결정하는 손 또는 로봇의 힘 또는 압력 센서들을 포함한다. 일련의 실패들 후에, 로봇 시스템(101)은 "고착"되었다고 결정한다. 다른 예는 계획 및/또는 달리 예상된 움직임 궤적을 정확하게 따르는지 여부를 알기 위해 로봇 시스템(101)에 의해 사용될 수 있는, 로봇 관절들 상의 포지션 센서들과 같은 하나 이상의 센서들이다. 예상 궤적을 정확하게 따르지 않을 때, 환경(100)과 접촉했을 가능성이 있고 로봇 시스템(101)은 "고착"되어 인간 개입을 호출할 필요가 있다고 결론짓도록 프로그래밍될 수 있다.
복수의 카메라들을 포함하는 비전 시스템은 멀티 모달 수단(예를 들어, RGB 인스턴스 추적, RGB 피처 매칭, RGB 광학 흐름, 포인트 클라우드 매칭 등)을 통해 작업공간 영역의 각 아이템을 추적하고 로봇 시스템(101)이 픽킹해야 하는 아이템들을 추적하기 위해 헝가리 페어 매칭과 같은 방법들을 활용하도록 구성된다. 로봇 시스템(101)은 속도, 낙하/미끄러짐 가능성, 및 모션 궤적과 같은 각각의 추적된 아이템의 상태들을 추정하도록 구성된다. 로봇 시스템(101)은 더 높은 정확도로 아이템 상태들을 업데이트하기 위해 이송 시스템들 및 센서들(134)의 현재 속도 및 크기와 같은 다른 알려진 정보를 사용할 수 있다. 결정된 아이템 상태들은 로봇 시스템(101)에 의해 어디에서 어떤 아이템들을 픽킹하고 아이템들을 어디에/언제/어떻게 배치할지에 대한 판단들을 내리는 데 사용될 수 있다. 예를 들어, 로봇 시스템(101)은 로봇 팔(102)의 움직임 시간 및 이동하는 아이템의 속도를 보상하기 위해 미래에 추정된 아이템 위치로부터 픽킹(파지) 및 가능하게는 픽킹(이동하는 동안에도)할 보다 안정적인 아이템들을 선택할 수 있다. 로봇 시스템(101)은 환경(100)으로부터 추정된 초기 속도로 아이템을 배치함으로써 아이템을 떨어뜨리고 굴러가지 않도록 하고 아이템을 이동 플랫폼 하차 영역에 보다 안정적으로 배치할 수 있다. 로봇 시스템(101)은 또한 아이템들을 하차 영역(118)에 배치하기 위해 충돌 없는 존을 선택할 수 있다. 충돌 영역은 추적된 아이템들의 추정된 궤적들에서 결정될 수 있다. 복수의 카메라들과 연관된 데이터를 사용하여, 로봇 시스템(101)은 파지된 아이템의 형상 및 환경(100)을 이해할 수 있다. 이것은 로봇 시스템(101)이 픽킹 아이템들과 환경(100) 사이의 충돌들을 피할 궤적들을 지능적으로 계획할 수 있게 한다.
일부 실시예들에서, 복수의 로봇 시스템들은 아이템들을 픽킹하고 배치하기 위해 함께 작동한다. 복수의 로봇 시스템들을 사용하면 시스템의 전체 처리량이 증가할 수 있다.
도 2는 일부 실시예들에 따른 로봇 팔 엔드 이펙터를 예시하는 블록도이다. 다양한 실시예들에서, 엔드 이펙터(200)는 도 1의 엔드 이펙터(108)를 구현하는 데 사용될 수 있다.
도시된 예에서, 엔드 이펙터(200)는 회전가능한 결합을 통해 로봇 팔(204)에 부착된 본체 또는 하우징(202)을 포함한다. 일부 실시예들에서, 하우징(202)과 로봇 팔(204) 사이의 연결은 도 1의 제어기(106)와 같은 제어 컴퓨터에 의해 제어되는 전동 관절을 포함할 수 있다. 엔드 이펙터(200)는 관절식 디지트들(210, 212)을 포함하는 그리퍼와 로봇 팔(204)을 통해 하우징(202)으로 이어지는 전력 라인(206)을 더 포함하여 그리퍼 제어 모듈(208)에 전력을 공급한다. 다양한 실시예들에서, 제어 모듈(208)이 예를 들어, 통신 인터페이스(214)를 통한 무선 및/또는 유선 통신을 통해 엔드 이펙터(200) 외부의 제어 컴퓨터, 예를 들어 도 1의 제어기(106)에 연결된다. 제어 모듈(208)은 예를 들어 엔드 이펙터(200)를 사용하여 픽업, 이동 및 배치될 아이템을 파지하기 위해 그리퍼 디지트들(210, 212)을 조작하도록 동작가능한 전자 및/또는 전기-기계 요소들을 포함한다.
도시된 예에서, 하우징(202)의 측면에 장착된 카메라(216)는 엔드 이펙터(200) 아래의 시야의 이미지 데이터를 제공한다. 복수의 힘 센서들(218, 220, 222, 224, 226, 및 228)은 각각 디지트들(210 및 212)의 장착 지점에 인가된 힘을 측정한다. 다양한 실시예들에서, 힘 측정치들은 통신 인터페이스(214)를 통해 외부 및/또는 원격 제어 컴퓨터에 통신된다. 센서 판독치들은 로봇 팔(204) 및 엔드 이펙터(200)가 다른 아이템들 및/또는 측벽들 또는 다른 구조들에 인접한 장소로 아이템을 꼭 맞게 하고/하거나, 불안정성(예를 들어, 여전히 흡입 중이지만 아이템이 배치 및 안정될 것으로 예상된 장소에서 아이템을 미는 것이 불충분하게 눌려짐)을 검출하는 데 사용될 수 있게 하는 다양한 실시예들에서 사용된다.
일부 실시예들에서, 센서들은 다른 아이템들, 리셉터클 및/또는 환경과의 충돌들을 검출하고, 궤적의 "순응" 조정에 의해 자동화된 작동을 계속하는 데 사용된다. 예를 들어, 벽이나 다른 구조에 부딪히면, 일부 실시예들에서, 로봇 팔은 힘을 감소시키고 장애물이 없어질 때까지 장애물을 따르도록 궤적을 조정한다.
무게 센서(215)는 힘 센서, 로드 셀, 또는 하우징(202)에 직접 또는 간접적으로 가해지는 힘을 검출할 수 있는 임의의 다른 센서일 수 있다. 무게 센서(215)는 회전 및/또는 방향 토크를 측정하도록 구성될 수 있다. 무게 센서(215)는 엔드 이펙터(202)가 아이템과 맞물리는 힘 및 모멘트를 측정하도록 구성될 수 있다.
촉각 감지 유닛(211, 213)은 관절식 디지트들(210, 212)과 각각 연관되어 있다. 일부 실시예들에서, 촉각 감지 유닛들(211, 213)은 각각 디지트들(210, 212)에 부착된다. 일부 실시예들에서, 촉각 감지 유닛들(211, 213 )은 디지트들(210, 212) 각각이 대응하는 촉각 감지 유닛(211)을 갖도록 엔드 이펙터(200) 위에 배치된 감지 커버링에 포함된다. 감지 커버링은 디지트들(210, 212), 및 하우징(202)을 커버할 수 있다. 일부 실시예들에서, 촉각 감지 유닛들(211, 213)은 동일한 유형의 촉각 감지 유닛들이다. 일부 실시예들에서, 촉각 감지 유닛들(211, 213)은 상이한 유형들의 촉각 감지 유닛들이다. 예를 들어, 디지트(210)는 도 3b에 묘사된 촉각 감지 유닛과 연관될 수 있고 디지트(212)는 도 3e에 묘사된 촉각 감지 유닛과 연관될 수 있다.
도 3a는 일부 실시예들에 따른 촉각 감지 유닛을 예시하는 블록도이다. 도시된 예에서, 촉각 감지 유닛(300)은 촉각 감지 유닛(211) 또는 촉각 감지 유닛(213)과 같은 촉각 감지 유닛으로 구현될 수 있다.
촉각 감지 유닛(300)은 전도성 층(302), 변형 층(304), 및 기판 층(306)을 포함한다. 일부 실시예들에서, 전도성 층(302), 변형 층(304), 및 기판 층(306)은 평면층들이다. 일부 실시예들에서, 전도성 층(302), 변형 층(304), 및 기판 층(306)은 만곡된 층들이다. 촉각 감지 유닛(300)은 프로세서(도시되지 않음)에 결합된다. 일부 실시예들에서, 전도성 층(302) 또는 기판 층(306)은 선택적이다. 일부 실시예들에서, 전도성 층(302) 및 변형 층(304)은 단일 층으로 결합된다.
전도성 층(302)은 전도도, 저항, 커패시턴스 또는 인덕턴스와 같은 도통 또는 다른 전기적 특성들이 감지될 수 있게 하는 전도성 재료를 포함할 수 있다. 예를 들어, 전도성 층(302)은 제1 손가락에 부착된 제1 촉각 감지 유닛이 제2 손가락에 부착된 제2 촉각 감지 유닛과 접촉할 때, 제1 및 제2 촉각 감지 유닛들의 전도성 층들이 접촉하게 되도록 촉각 감지 유닛의 상단 층일 수 있다. 파지 동작 전에, 기준 도통 값, 기준 전도도 값, 기준 저항 값, 기준 커패시턴스 값 및/또는 기준 인덕턴스 값이 결정될 수 있다. 기준 감지 값은 로봇 팔 엔드 이펙터가 아이템과 맞물리기 전의 용기 값일 수 있다. 파지 동작 동안, 엔드 이펙터는 아이템을 파지하기 위해 자신의 손가락들을 사용할 수 있고 프로세서는 하나 이상의 도통 값들, 하나 이상의 전도도 값들, 하나 이상의 저항 값들, 하나 이상의 커패시턴스 값들 및/또는 하나 이상의 인덕턴스 값들을 결정하기 위해 전기 신호를 제1 촉각 감지 유닛에 송신할 수 있다. 일부 실시예들에서, 전기 신호는 주파수가 변한다. 하나 이상의 결정된 도통 값들, 하나 이상의 결정된 전도도 값들, 하나 이상의 결정된 저항 값들, 하나 이상의 결정된 커패시턴스 값들, 또는 하나 이상의 결정된 인덕턴스 값들은 엔드 이펙터가 아이템을 파지했거나 파지하지 않았음을 나타낼 수 있다.
로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되는 아이템을 파지하는 동안, 유도성 층과 연관된 감지된 값들은 다를 수 있다. 로봇 시스템의 프로세서는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동시키는 동안 시간 경과에 따라 감지된 값들을 모니터링하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있는지를 결정할 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연결된 도통 값을 가질 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되고 있는 아이템을 파지하고 있는 동안, 프로세서는 현재 도통 값을 성공적인 파지와 연관된 도통 값과 비교할 수 있다. 현재 도통 값이 성공적인 파지와 연관된 도통 값에서 임계량만큼 변하는 경우(즉, 2개의 촉각 감지 유닛들의 전도성 층들이 접촉함), 현재 도통 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다. 현재 도통 값이 성공적인 파지와 연관된 도통 값에서 임계량만큼 변화되지 않는 경우, 현재 도통 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지지 않고 있음을 나타낼 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관된 도통 값을 가질 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되고 있는 아이템을 파지하고 있는 동안, 프로세서는 현재 전도도 값을 성공적인 파지와 연관된 전도도 값과 비교할 수 있다. 현재 도통 값이 성공적인 파지와 연관된 도통 값에서 임계량만큼 변화하는 경우, 현재 도통 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작함을 나타낼 수 있다. 현재 전도도 값이 성공적인 파지와 연관된 전도도 값에서 임계량만큼 변화되지 않는 경우, 현재 전도도 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하지 않음을 나타낼 수 있다. 현재 전도도 값이 성공적인 파지와 연관된 전도도 값에서 임계량만큼 변화하는 경우, 현재 전도도 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다. 제2 임계량은 제1 임계량보다 클 수 있다.
일부 실시예들에서, 로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관된 전도도 프로파일을 가질 수 있다. 전도도 프로파일은 하나 이상의 촉각 센서들로부터의 출력에 기반한 하나 이상의 전도도 값들로 구성될 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되고 있는 아이템을 파지하고 있는 동안, 프로세서는 현재 프로파일을 성공적인 파지와 연관된 전도도 프로파일과 비교할 수 있다. 현재 전도도 프로파일이 성공적인 파지와 연관된 전도도 프로파일에서 변경되는 경우(예를 들어, 제1 임계량만큼), 현재 전도도 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하고 있음을 나타낼 수 있다. 현재 전도도 프로파일이 성공적인 파지와 연관된 전도도 프로파일에서 변경되지 않는 경우, 현재 전도도 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하지 않는다는 것을 나타낼 수 있다. 현재 전도도 프로파일이 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타내는 전도도 프로파일에서 변경되는 경우(예를 들어, 제2 임계량만큼), 현재 전도도 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관된 저항 값을 가질 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동하는 아이템을 파지하는 동안, 프로세서는 현재 저항 값을 성공적인 파지와 연관된 저항 값과 비교할 수 있다. 현재 저항값이 성공적인 파지와 연관된 저항값에서 임계량만큼 변하는 경우, 현재 저항값은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타낼 수 있다. 현재 저항값이 성공적인 파지와 연관된 저항값에서 임계량만큼 변하지 않는 경우, 현재 저항값은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하지 않는다는 것을 나타낼 수 있다. 현재 저항 값이 성공적인 파지와 연관된 저항 값에서 제2 임계량만큼 변하는 경우, 현재 저항 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다. 제2 임계량은 제1 임계량보다 클 수 있다.
일부 실시예들에서, 로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관된 저항 프로파일을 가질 수 있다. 저항 프로파일은 하나 이상의 촉각 센서들로부터의 출력에 기반한 하나 이상의 저항 값들로 구성될 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되는 아이템을 파지하고 있는 동안, 프로세서는 현재 저항 프로파일을 성공적인 파지와 연관된 저항 프로파일과 비교할 수 있다. 현재 저항 프로파일이 성공적인 파지와 연관된 저항 프로파일에서 변하는 경우(예를 들어, 제1 임계량만큼), 현재 저항 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하고 있음을 나타낼 수 있다. 현재 저항 프로파일이 성공적인 파지와 연관된 저항 프로파일에서 변하지 않는 경우, 현재 저항 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하지 않음을 나타낼 수 있다. 현재 저항 프로파일이, 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타내는 저항 프로파일에서 변하는 경우(예를 들어, 제2 임계량만큼), 현재 저항 프로파일은 아이템이 엔드 이펙트의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관된 커패시턴스 값을 가질 수 있다. 프로세서는 또한 연관된 커패시턴스 값에 기반하여 파지된 아이템의 재료를 결정할 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되는 아이템을 파지하고 있는 동안, 프로세서는 현재 커패시턴스 값을 성공적인 파지와 연관된 커패시턴스 값과 비교할 수 있다. 현재 커패시턴스 값이 성공적인 파지와 연관된 커패시턴스 값에서 제1 임계량만큼 변하는 경우, 현재 커패시턴스 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하고 있음을 나타낼 수 있다. 현재 커패시턴스 값이 성공적인 파지와 연관된 커패시턴스 값에서 제1 임계량만큼 변하지 않는 경우, 현재 커패시턴스 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지지 않고 있음을 나타낼 수 있다. 현재 커패시턴스 값이 성공적인 파지와 연관된 커패시턴스 값에서 제2 임계량만큼 변하는 경우, 현재 커패시턴스 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다. 제2 임계량은 제1 임계량보다 클 수 있다.
일부 실시예들에서, 로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관된 커패시턴스 프로파일을 가질 수 있다. 커패시턴스 프로파일은 하나 이상의 촉각 센서들로부터의 출력에 기반한 하나 이상의 커패시턴스 값들로 구성될 수 있다. 프로세서는 또한 연관된 커패시턴스 값에 기반하여 파지된 아이템의 재료를 결정할 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되고 있는 아이템을 파지하고 있는 동안, 프로세서는 현재 커패시턴스 프로파일을 성공적인 파지와 연관된 커패시턴스 프로파일과 비교할 수 있다. 현재 커패시턴스 프로파일이 성공적인 파지와 연관된 커패시턴스 프로파일로부터 변하는 경우(예를 들어, 제1 임계량만큼), 현재 커패시턴스 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하고 있음을 나타낼 수 있다. 현재 커패시턴스 프로파일이 성공적인 파지와 연관된 커패시턴스 프로파일에서 변하지 않는 경우, 현재 커패시턴스 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하지 않음을 나타낼 수 있다. 현재 커패시턴스 프로파일이 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타내는 커패시턴스 프로파일에서 변하는 경우(예를 들어, 제2 임계량만큼), 현재 커패시턴스 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관된 인덕턴스 값을 가질 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되는 아이템을 파지하고 있는 동안, 프로세서는 현재 인덕턴스 값을 성공적인 파지와 연관된 인덕턴스 값과 비교할 수 있다. 현재 인덕턴스 값이 성공적인 파지와 연관된 인덕턴스 값에서 제1 임계량만큼 변하는 경우(즉, 2개의 촉각 감지 유닛들의 전도성 층이 접촉됨), 현재 인덕턴스 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작함을 나타낼 수 있다. 현재 인덕턴스 값이 성공적인 파지와 연관된 인덕턴스 값에서 제1 임계량만큼 변하지 않는 경우, 현재 인덕턴스 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하지 않는다는 것을 나타낼 수 있다. 현재 인덕턴스 값이 성공적인 파지와 연관된 인덕턴스 값에서 제2 임계량만큼 변하는 경우, 현재 인덕턴스 값은 아이템이 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다. 제2 임계량은 제1 임계량보다 클 수 있다.
일부 실시예들에서, 로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관된 인덕턴스 프로파일을 가질 수 있다. 인덕턴스 프로파일은 하나 이상의 촉각 센서들로부터의 출력에 기반한 하나 이상의 인덕턴스 값들로 구성될 수 있다. 로봇 팔 엔드 이펙터가 제1 위치에서 제2 위치로 이동되는 아이템을 파지하고 있는 동안, 프로세서는 현재 인덕턴스 프로파일을 성공적인 파지와 연관된 인덕턴스 프로파일과 비교할 수 있다. 현재 인덕턴스 프로파일이 성공적인 파지와 연관된 커패시턴스 프로파일로부터 변하는 경우(예를 들어, 제1 임계량만큼), 현재 커패시턴스 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하고 있음을 나타낼 수 있다. 현재 인덕턴스 프로파일이 성공적인 파지와 연관된 인덕턴스 프로파일에서 변하지 않는 경우, 현재 인덕턴스 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하지 않음을 나타낼 수 있다. 현재 인덕턴스 프로파일이 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타내는 인덕턴스 프로파일에서 변하는 경우(예를 들어, 제2 임계량만큼), 현재 인덕턴스 프로파일은 아이템이 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다. 제2 임계량은 제1 임계량보다 클 수 있다.
변형 층(304)은 유전체 재료(예를 들어, 실리콘, 플라스틱, 또는 힘에 응답하여 변형될 수 있는 임의의 다른 재료)를 포함한다. 측정 객체가 유전체 재료에 주입될 수 있다. 예를 들어, 복수의 자석들은 유전체 재료에 주입될 수 있다.
기판 층(306)은 변형 층(304) 내로 주입되는 측정 객체들과 연관된 변화를 감지하도록 구성된 하나 이상의 센서들을 포함할 수 있다. 예를 들어, 기판 층(306)은 변형 층(304)의 복수의 자석들이 변위될 때 자기장의 변화를 감지하도록 구성된 자기 센서를 포함할 수 있다. 일부 실시예들에서, 기판 층(306)은 로봇 팔 엔드 이펙터와 연관된 손가락이다. 일부 실시예들에서, 기판 층(306)은 하나 이상의 센서들을 지지하도록 구성되고 하나 이상의 센서들을 로봇 시스템과 연관된 프로세서에 전기적으로 연결하는 재료이다.
도 3b는 일부 실시예들에 따른 촉각 감지 유닛을 다른 관점에서 예시한 도면이다. 도시된 예에서, 상이한 관점들(310)은 촉각 센서 유닛의 평면도 및 2개의 측면도들을 예시한다. 촉각 감지 유닛의 전도성 층은 설명을 위해 도시하지 않았다.
도시된 예에서, 촉각 감지 유닛의 변형 층은 복수의 측정 객체들을 포함한다. 일부 실시예들에서, 복수의 측정 객체들은 자석들이다. 일부 실시예들에서, 복수의 측정 객체들은 마커들이다. 복수의 측정 객체들은 격자 또는 비격자 패턴으로 배열될 수 있다. 격자 패턴은 2D m x n 격자 패턴 또는 3D l x m x n 격자 패턴일 수 있다. 측정 객체들은 변형 층(304)의 에지 경계에 위치될 수 있다.
도시된 예에서, 측정 객체들(312a, 312b, 312c, 312d, 312e, 312f)은 2 x 3 격자로 배열된다. 6개의 측정 객체들이 도시되지만, x개의 측정 객체들이 변형 층에 주입될 수 있다. 변형 층에 주입될 수 있는 측정 객체들의 수는 측정 객체들 간의 허용가능한 누화량에 기반할 수 있다. 예를 들어, 변형 층의 측정 객체들의 수가 증가함에 따라, 측정 객체들 간의 누화량이 또한 증가한다. 허용가능한 누화량은 로봇 시스템과 연관된 조작기에 의해 지정될 수 있다.
복수의 측정 객체들은 기판 층(306)에 위치된 센서(314)와 연관된다. 복수의 측정 객체들이 자석들인 경우, 센서(314)는 자기 센서이다. 복수의 측정 객체들이 마커들인 경우, 센서(314)는 이미지 센서이다. 일부 실시예들에서, 측정 객체는 하나의 센서와 연관된다. 일부 실시예들에서, 측정 객체는 복수의 센서들과 연관된다.
파지 동작 이전에, 복수의 자석들에 대한 기준 자기장 또는 마커들 각각에 대한 기준 포지션이 결정될 수 있다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 복수의 측정 객체들 중 하나 이상이 변위되게 한다. 이러한 변위는 센서(314)가 감지하도록 구성된 측정가능한 값의 변화를 야기한다. 예를 들어, 복수의 측정 객체들이 자석들인 경우, 센서(314)는 복수의 자석들과 연관된 자기장의 변화를 감지할 수 있다. 프로세서는 자기 센서에 결합되어 감지된 자기장을 기준 자기장과 비교할 수 있다. 감지된 자기장은 로봇 팔 엔드 이펙터가 아이템을 성공적으로 파지했는지 실패했는지에 따라 다를 수 있다. 프로세서는 비교에 기반하여 무게 값 및/또는 변형 값을 결정할 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 연관 자기장을 가질 수 있다. 센서(314)는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동시키는 동안 현재 자기장을 검출하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지 여부를 결정할 수 있다. 프로세서는 현재 자기장, 현재 무게 값 및 임의의 변화들에 대한 현재 변형 값들을 모니터링할 수 있다. 성공적인 파지와 연관된 자기장의 현재 자기장 변화, 성공적인 파지와 연관된 무게의 현재 무게 값 및/또는 대응 제1 임계치를 초과하는 성공적인 파지와 연관된 변형의 현재 변형 값은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타낼 수 있다. 성공적인 파지와 연관된 자기장으로부터의 현재 자기장의 변화, 성공적인 파지와 연관된 무게 값으로부터의 현재 무게 값, 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값의 현재 변형 값은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
복수의 측정 객체들이 마커들인 경우, 센서(314)는 복수의 마커들 중 하나 이상과 연관된 포지션의 변화를 감지할 수 있다. 로봇 팔 엔드 이펙터가 아이템을 성공적으로 파지했는지 또는 실패했는지에 따라 포지션 변화가 다를 수 있다. 프로세서는 이미지 센서에 결합될 수 있고, 무게 값 및/또는 변형 값을 결정하기 위해 복수의 마커들의 감지된 포지션들을 복수의 마커들의 기준 포지션들과 비교할 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 복수의 마커들은 대응 포지션을 갖는다. 센서(314)는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동시키는 동안 마커들의 포지션을 검출하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지를 결정할 수 있다. 프로세서는 현재 포지션들, 현재 무게 값 및 임의의 변화들에 대한 현재 변형 값을 모니터링할 수 있다. 성공적인 파지와 연관된 포지션들로부터의 현재 포지션들의 변화, 성공적인 파지와 연관된 무게로부터의 현재 무게 값 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다. 성공적인 파지와 연관된 포지션들로부터의 현재 포지션들의 변화, 성공적인 파지와 연관된 무게로부터의 현재 무게 값 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
도 3c는 일부 실시예들에 따른 촉각 감지 유닛을 다른 관점에서 예시한 도면이다. 도시된 예에서, 상이한 관점들(320)은 촉각 센서 유닛의 평면도 및 2개의 측면도들을 예시한다. 촉각 감지 유닛의 전도성 층은 설명을 위해 도시하지 않았다.
도시된 예에서, 변형 층(304)에 내장된 측정 객체들은 자석들이다.
도 3c의 촉각 감지 유닛은 측정 객체들의 서브세트(322a, 322b, 322c, 322g, 322h, 322i은 변형 층의 측면들에 위치된다는 점을 제외하고는 도 3b의 촉각 감지 유닛과 유사하다. 센서(314)에 의해 감지되는 측정 객체들(322a, 322b, 322c, 322d, 322e, 322f, 322g, 322h, 322i)과 연관된 자기장의 크기는 변형 층(304)과 연관된 깊이 및 측정 객체들과 센서(314) 사이의 거리에 의존할 수 있다. 변형 층의 측면들 상에 측정 객체들의 서브세트를 위치시키는 것은 센서(314)에 의해 감지되는 측정 객체들(322a, 322b, 322c, 322d, 322e, 322f, 322g, 322h, 322i)과 연관된 자기장의 크기를 증가시킬 수 있다.
도 3d는 일부 실시예들에 따른 자기 센서의 예를 예시하는 도면이다. 자기 센서(330)는 센서(314)와 같은 센서로 구현될 수 있다. 도시된 예에서, 자기 센서(330)는 코일들(332a, 332b, 332c)을 포함한다. 코일(332a)은 x축 방향의 자기장을 측정하도록 구성된다. 코일(332b)은 y축 방향의 자기장을 측정하도록 구성된다. 코일(332c)은 z축 방향의 자기장을 측정하도록 구성된다. 자기 센서(330)는 도 3b, 도 3c에 묘사된 자석들과 같은 복수의 자석들에 결합될 수 있다. 자석들 중 적어도 하나의 변위는 자기 센서(330)에 의해 검출된 자기장의 변화를 야기한다. 자기 센서(330)는 x축 방향, y축 방향 및 z축 방향의 자기장의 변화를 검출하도록 구성된다.
도 3e는 일부 실시예들에 따른 촉각 감지 유닛을 예시하는 도면이다. 촉각 감지 유닛(340)은 촉각 감지 유닛(211, 213)과 같은 촉각 감지 유닛으로 구현될 수 있다. 도시된 예에서, 반사 재료(341)는 변형 층(304)에 내장된다. 방출기(342)(예를 들어, 발광 다이오드 방출기) 및 수신기(342)는 기판 층(306)에 위치된다. 방출기(342)는 반사 재료(341)에서 반사되는 신호를 송신할 수 있고 반사된 신호는 수신기(343)에서 수신된다. 수신기(343)에서 수신된 신호의 기준 진폭은 로봇 팔 엔드 이펙터가 아이템과 맞물리지 않을 때 결정될 수 있다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 신호가 변형 층(304)을 통해 이동하는 방식을 변경한다. 예를 들어, 수신기(343)에서 수신된 신호의 진폭은 반사, 굴절, 및/또는 변형 층(304) 내의 신호의 분산으로 인해 증가하거나 감소할 수 있다. 프로세서는 수신기에 결합될 수 있고 기준 신호 진폭을 수신된 신호 진폭과 비교하여 무게 값 및/또는 변형 값을 결정할 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 신호 진폭과 연관될 수 있다. 수신기(343)는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동하는 동안 현재 신호를 수신할 수 있고 프로세서는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하고/하거나 미끄러지고 있는지 여부를 결정하기 위해 현재 신호 진폭을 사용할 수 있다. 프로세서는 현재 신호 진폭, 현재 무게 값 및/또는 임의의 변화들에 대한 현재 변형 값들을 모니터링할 수 있다. 성공적인 파지와 연관된 신호 진폭으로부터의 현재 신호 진폭, 성공적인 파지와 연관된 무게로부터의 현재 무게 값 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타낼 수 있다. 성공적인 파지와 연관된 신호 진폭으로부터의 현재 신호 진폭, 성공적인 파지와 연관된 무게로부터의 현재 무게 값 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
도 3f는 일부 실시예들에 따른 촉각 감지 유닛을 예시하는 도면이다. 촉각 감지 유닛(350)은 촉각 감지 유닛(211, 213)과 같은 촉각 감지 유닛으로 구현될 수 있다. 도시된 예에서, 촉각 감지 유닛의 전도성 층 및 기판 층은 설명을 위해 도시되지 않았다.
촉각 감지 유닛(350)은 변형을 검출할 수 있는 전기-기계적 센서(352)(예를 들어, 스트레인 게이지)가 유전체에 내장되어 있음을 포함한다. 전기-기계적 센서(352)와 연관된 기준 감지 저항은 로봇 팔 엔드 이펙터가 아이템과 맞물리지 않을 때 결정될 수 있다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 전기-기계적 센서(352)와 연관된 저항이 변경되게 한다. 프로세서는 하나 이상의 전기-기계적 센서들에 결합되고 기준 감지 저항 값을 변경된 저항 값과 비교하여 무게 값 및/또는 변형 값을 결정할 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 저항 값과 연관될 수 있다. 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동하는 동안, 프로세서는 현재 저항 값을 사용하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지 여부를 결정할 수 있다. 프로세서는 현재 저항 값, 현재 무게 값 및/또는 임의의 변화들에 대한 현재 변형 값을 모니터링할 수 있다. 성공적인 파지와 연관된 저항 값에서 현재 저항 값, 성공적인 파지와 연관된 무게에서 현재 무게 값 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값에서 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타낼 수 있다. 성공적인 파지와 연관된 저항 값 에서 현재 저항 값, 성공적인 파지와 연관된 무게에서 현재 무게 값 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값에서 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
도 3g는 일부 실시예들에 따른 촉각 감지 유닛을 예시하는 도면이다. 촉각 감지 유닛(360)은 촉각 감지 유닛(211, 213)과 같은 촉각 감지 유닛으로 구현될 수 있다. 도시된 예에서, 촉각 감지 유닛의 전도성 층 및 기판 층은 설명을 위해 도시되지 않았다.
촉각 감지 유닛(360)의 변형 층은 공기, 가스 또는 액체를 포함하는 가요성 멤브레인(362)(예를 들어, 주머니, 파우치)을 포함한다. 가요성 멤브레인(362)과 연관된 기준 압력은 로봇 팔 엔드 이펙터가 아이템과 맞물리지 않을 때 결정될 수 있다. 로봇 팔 엔드 이펙터가 아이템과 맞물릴 때, 맞물림과 연관된 힘 및/또는 모멘트는 가요성 멤브레인(362)과 연관된 압력이 변경되게 한다. 프로세서는 가요성 멤브레인에 결합되고 기준 압력 값을 변경된 압력 값과 비교하여 무게 값 및/또는 변형 값을 결정할 수 있다.
로봇 엔드 이펙터가 아이템을 성공적으로 파지할 때, 성공적인 파지는 압력 값과 연관될 수 있다. 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동시키는 동안, 프로세서는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지를 결정하기 위해 현재 압력 값을 사용할 수 있다. 프로세서는 현재 압력 값, 현재 무게 값 및/또는 임의의 변화들에 대한 현재 변형 값들을 모니터링할 수 있다. 성공적인 파지와 연관된 압력 값으로부터의 현재 압력 값, 성공적인 파지와 연관된 무게의 현재 무게 값 및/또는 대응하는 제1 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 대응 값을 초과하는 성공적인 파지와 연관된 변형 값의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작했음을 나타낼 수 있다. 성공적인 파지와 연관된 압력 값으로부터의 현재 압력 값, 성공적인 파지와 연관된 무게의 현재 무게 값 및/또는 대응하는 제2 임계치를 초과하는 성공적인 파지와 연관된 변형 값으로부터의 현재 변형 값의 변화는 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타낼 수 있다.
도 4는 일부 실시예들에 따른 아이템을 픽킹하고 배치하기 위한 프로세스를 예시하는 흐름도이다. 도시된 예에서, 프로세스(400)는 로봇 시스템(101)과 같은 로봇 시스템에 의해 구현될 수 있다.
402에서, 아이템은 제1 위치에서 제2 위치로 이동되도록 선택된다. 작업공간 영역과 같은 제1 위치는 하나 이상의 아이템들을 포함할 수 있다. 로봇 환경은 상이한 시점들에서 하나 이상의 아이템들을 보고 검출하도록 구성된 복수의 카메라들을 포함할 수 있다. 일부 실시예들에서, 카메라들 중 하나 이상은 하나 이상의 아이템들의 하나 이상의 포인트 클라우드들을 생성한다. 복수의 포인트 클라우드들이 생성되는 경우, 복수의 포인트 클라우드들은 함께 병합된다. 다양한 실시예들에서, 하나 이상의 아이템들은 클러터링된 더미에 배치된 복수의 아이템들, 이격된 복수의 아이템들, 및/또는 복수의 아이템들을 포함할 수 있고, 복수의 아이템들 중 하나 이상은 복수의 아이템들 중 하나 이상의 다른 아이템들에 의해 시야에서 가려진다.
기하구조 정보는 복수의 아이템들 각각에 대해 결정된다. 기하구조 정보는 복수의 카메라들 중 하나 이상과 연관된 데이터로부터 획득된 포인트 클라우드 정보에 기반하여 결정될 수 있다. 복수의 피처들 각각과 연관된 대응하는 기하구조 정보는 파지 전략들이 알려진 기하구조들의 라이브러리와 비교될 수 있다. 예를 들어 유사성 임계치 내에서 결정된 피처의 기하구조와 가장 유사한 기하구조와 연관된 전략이 선택될 수 있다. 일부 실시예들에서, 아이템은 단일 피처와 연관된다(예를 들어, 종이 타월 롤은 실린더에 대응함). 일부 실시예들에서, 아이템은 복수의 서브-세그먼트들(또한 본원에서 서브-객체들로 지칭됨)로 분할되고 복수의 서브-세그먼트들 각각에 대한 대응하는 피처들이 결정된다(예를 들어, 골프 클럽은 본체 세그먼트 및 헤드 세그먼트를 포함함).
작업공간 영역 또는 모서리들의 에지들 근처에 있는 아이템들은 아이템을 픽킹하는 위치 및/또는 방법에 대한 물리적 또는 다른 제한들을 가질 수 있다. 일부 실시예들에서, 최적은 아니지만 실행가능한 픽킹 각도는 아이템과 연관된 환경 경계들에 따라 선택될 수 있다. 더 넓은 길이방향 파지부가 환경 경계들 내에서 엔드 이펙터를 유지할 수 있기 때문에 더 좁은 길이방향 파지부보다 더 넓은 길이 방향을 선택할 수 있다.
성공적인 파지의 대응 점수들은 결정된 파지 전략들 각각에 대해 결정된다. 예를 들어, 엔드 이펙터(200)와 같은 파지 도구는 아이템의 상단 부분, 중간 부분 또는 하단 부분에서 객체를 파지하는데 사용될 수 있다. 피처의 성공적인 파지 점수는 파지 전략이 성공적인 파지를 초래할 확률에 기반할 수 있다. (다중 도구들이 이용가능한 실시예들에서) 파지 도구들과 파지 위치들의 상이한 조합들에 대해 확률들이 결정된다. 파지 전략이 아이템을 성공적으로 파지할 확률은 환경에 관한 컨텍스트 정보, 환경에 관한 이력 파지 정보, 로봇 팔이 (다른 아이템들과의 충돌을 피하기 위해) 아이템을 파지할 각도, 와 같은 파지부 양식을 하나 더 기반으로 할 수 있다. 아이템(다른 아이템과의 충돌 방지), (그리퍼 상단에서 충돌을 방지하기 위해) 로봇 팔이 아이템을 파지할 높이, 파지 폭, 파지 지점들에서의 표면 법선 배향, 파지될 수 있는 아이템의 양 등 같은 하나 이상의 파지 양식들에 기반할 수 있다. 환경에 관한 컨텍스트 정보는 아이템 근처 또는 인접한 다른 아이템들의 존재, 아이템 근처 또는 인접한 다른 아이템들이 아이템을 파지하는 로봇 팔의 능력을 방해하는 양, 더 많은 아이템들이 작업공간 영역에 계속 추가되고 있는지 여부 등을 포함한다.
결정된 파지 전략들 중 하나는 결정된 대응 점수들에 기반하여 시도되도록 선택된다. 아이템들 또는 피처들, 및 대응 파지 전략들은 대응 점수들에 따라 순위가 매겨진다. 복수의 아이템들 및 피처들 중에서 가장 점수가 높은 아이템 또는 피처는 파지되도록 선택된다. 복수의 잠재적 파지들이 동일한 점수를 갖는 경우, 복수의 파지들 중 하나가 선택된다. 파지된 객체가 이동된 후, 같은 점수를 가진 다른 파지들 중 하나가 선택된다.
복수의 아이템들로부터의 아이템이 선택, 파지, 이동, 및 하차 영역에 배치되는 경우, 다음으로 높은 점수를 가진 파지가 선택되어 시도된다.
404에서, 선택된 아이템은 파지된다. 로봇 시스템의 엔드 이펙터는 선택된 아이템과 맞물린다. 엔드 이펙터는 복수의 손가락들을 포함할 수 있다. 복수의 손가락들 각각은 대응하는 촉각 감지 유닛과 연관될 수 있다. 촉각 감지 유닛은 복수의 감지 층들을 포함할 수 있다. 각각의 감지 층들은 하나 이상의 센서들을 포함할 수 있다. 아이템과 맞물릴 때, 촉각 감지 유닛의 감지 층들 각각은 (예를 들어, 로봇 팔 엔드 이펙터가 아이템과 맞물리지 않은 경우) 기준 감지 값과 상이한 대응 감지 값을 출력할 수 있다.
로봇 시스템은 로봇 팔 엔드 이펙터가 아이템을 성공적으로 파지했는지 여부를 결정하기 위해 복수의 센서들을 사용하여 정적 측정을 수행한다. 정적 측정은 로봇 팔 엔드 이펙터가 정지된 아이템을 파지하고 복수의 센서들의 출력들을 측정하는 것을 포함할 수 있다. 로봇 시스템은 또한 로봇 팔 엔드 이펙터가 아이템을 성공적으로 파지했는지 여부를 결정하기 위해 복수의 센서들을 사용하여 동적 측정을 수행할 수 있다. 예를 들어, 초기 파지 후, 로봇 팔 엔드 이펙터의 배향은 수정될 수 있고 로봇 팔 엔드 이펙터가 아이템을 성공적으로 파지했는지 여부를 결정하기 위해 로봇 팔 엔드 이펙터가 움직이는 동안 복수의 센서들의 출력이 측정될 수 있다.
하나 이상의 촉각 감지 유닛들은 프로세서에 결합된다. 프로세서는 로봇 팔 엔드 이펙터와 아이템 사이의 맞물림과 연관된 하나 이상의 힘들 및/또는 하나 이상의 모멘트들을 결정하기 위해 센서 출력들을 사용할 수 있다. 센서 출력들(촉각 감지 유닛 센서(들) 및/또는 하우징 센서(들))은 복수의 양식들에 대한 대응하는 값들을 결정하는 데 사용될 수 있다. 예를 들어, 감지된 무게, 감지된 변형량, 감지된 도통, 감지된 전도도, 감지된 압력, 감지된 저항, 감지된 인덕턴스 및/또는 감지된 커패시턴스가 결정될 수 있다.
복수의 양식들은 각각 계수와 연관된다. 일부 실시예들에서, 복수의 양식들은 동일하게 가중된다(예를 들어, 각각은 "1"의 연관된 계수를 가짐). 일부 실시예들에서, 복수의 양식들 중 일부는 상이한 무게들을 갖는다. 예를 들어, 선택된 아이템은 금속 객체일 수 있고 도통 인자와 연관된 계수는 변형 인자와 연관된 계수보다 작을 수 있다.
프로세서는 로봇 팔 엔드 이펙터가 아이템을 파지하였는지 여부를 결정하기 위해 멀티-모달 모델을 구현할 수 있다. 멀티-모달 모델은 규칙-기반 모델, 예측 모델, 기계 학습 모델 등일 수 있다. 일부 실시예들에서, 멀티-모달 모델은 로봇 팔 엔드 이펙터가 아이템과 맞물리는지(예를 들어, 맞물림/맞물리지 않음)에 관한 이진 결정을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 로봇 팔 엔드 이펙터가 아이템과 맞물리는지 여부의 확률을 출력하도록 구성된다. 복수의 양식들 및 그들의 대응하는 계수들과 연관된 대응하는 값들의 일부 또는 모두는 멀티-모달 모델에 대한 입력으로서 제공되고 로봇 시스템은 멀티-모달 모델의 출력에 기반하여 응답 동작을 수행하도록 구성된다.
로봇 시스템은 파지된 아이템에 힘을 가하도록 훈련될 수 있다. 로봇 시스템은 상이한 형상들, 크기들, 유형들 및 무게들의 아이템들에 다양한 힘들을 가하여 "실측 검증"을 학습할 수 있다. 다양한 힘들은 아이템의 상이한 파지 위치들에 적용될 수 있다. 다양한 힘들은 상이한 파지 기법들에 적용될 수 있다. 로봇 시스템은 특정 아이템을 성공적으로 파지할 힘의 양을 학습할 수 있다. 로봇 시스템은 또한 로봇 팔 엔드 이펙터의 파지부에서 특정 아이템이 미끄러지도록 하는 힘의 양을 학습할 수 있다.
406에서, 선택된 아이템이 이동된다. 선택된 아이템은 엔드 이펙터가 선택된 아이템을 파지했다는 것을 나타내는 멀티-모달 모델의 출력에 응답하여 이동된다. 프로세서는 선택된 아이템이 이동되는 동안 미끄러지기 시작하는지 또는 미끄러지고 있는지 여부를 결정할 수 있다. 프로세서는 결정을 내리기 위해 하나 이상의 촉각 감지 유닛들로부터의 현재 출력들을 사용할 수 있다. 복수의 양식들(예를 들어, 무게, 변형, 도통, 전도도, 압력, 저항, 인덕턴스, 커패시턴스 또는 로봇 팔 엔드 이펙터 맞물림을 나타내는 임의의 다른 인자)에 대한 현재 값들은 하나 이상의 촉각 감지 유닛들로부터의 출력들에 기반하여 결정될 수 있다. 복수의 양식들과 연관된 현재 값들 및 대응 계수들은 멀티-모달 모델에 대한 입력으로 제공된다. 일부 실시예들에서, 하나 이상의 촉각 감지 유닛들을 형성하는 현재 출력들은 또한 멀티-모달 모델에 대한 입력으로서 제공된다. 입력은 멀티-모달 모델에 적용되고 로봇 시스템은 멀티-모달 모델의 출력에 기반하여 선택된 아이템이 이동되는 동안 선택된 아이템이 미끄러지기 시작하는지 또는 미끄러지고 있는지 여부를 결정하도록 구성된다.
408에서, 선택된 파지와 연관된 객체가 작업공간 영역으로부터 하차 영역으로 객체를 이동하는 동안 떨어졌는지 여부가 결정된다. 객체는 로봇 시스템의 엔드 이펙터와 연관된 하나 이상의 촉각 센서 유닛들의 하나 이상의 센서 측정치들(예를 들어, 압력, 힘, 커패시턴스 등)에 기반하여 떨어진 것으로 결정될 수 있다. 센서 측정치는 객체가 떨어졌는지 여부를 결정하기 위해 대응하는 임계값과 비교될 수 있다. 아이템이 떨어진 경우, 프로세스(400)는 402로 돌아간다. 아이템이 떨어지지 않은 경우, 프로세스(400)는 410으로 진행한다.
410에서, 선택된 아이템은 제2 위치에 배치된다. 엔드 이펙터가 제2 위치와 연관된 경계들과 충돌하는 것을 방지하는 방식으로 아이템들이 배치될 수 있다.
일부 실시예들에서, 아이템은 제2 위치에서 다른 아이템과 함께 클러터에 배치된다. 로봇 시스템은 아이템을 무작위로 제2 위치에 배치할 수 있다. 이어서, 로봇 시스템은 엔드 이펙터의 힘 센서를 사용하여 로봇 시스템이 보호 정지를 수행하도록 하지 않으면서 아이템을 클러터에 부드럽게 배치할 수 있다. 로봇 시스템은 단단한 슬롯 전략을 실현하기 위해 힘 센서를 사용하여 제2 위치의 박스들 내에 아이템을 단단히 포장할 수 있다.
일부 실시예들에서, 아이템은 제2 위치에서 다른 아이템들로부터 이격되어 배치된다. 로봇 시스템은 제2 위치의 배치 공간을 복수의 서브영역들로 분할하고 선택된 아이템을 서브영역들 중 하나에 배치할 수 있다. 각 서브영역들 사이에는 버퍼 영역이 있을 수 있다. 일부 실시예들에서, 버퍼 영역은 조정가능하다.
일부 실시예들에서, 로봇 시스템과 연관된 비전 시스템은 아이템을 내려놓는 방법을 결정하도록 구성된다. 예를 들어, 일부 아이템들은 강성이 아니고 아이템(예를 들어, 천 또는 사랑스러운 장난감)과 연관된 범위들은 아이템을 파지하고 이동한 후 변경된다. 비전 시스템은 아이템을 손상시키거나 객체가 엉키거나 불리한 구성으로 떨어지게 할 수 있는 높이에서 객체를 부수거나 떨어뜨리는 것을 방지하기 위해 아이템을 아래에 배치하는 방법을 선택하는 범위들과 재료 정보를 결정하도록 구성된다.
412에서, 이동될 아이템이 더 있는지 여부가 결정된다. 로봇 시스템의 하나 이상의 카메라들로부터의 시각적 데이터는 이동될 아이템들이 더 있는지 여부를 결정하는 데 사용될 수 있다. 이동될 아이템들이 더 있는 경우, 프로세스(400)는 402로 되돌아간다. 이동될 아이템들이 더 이상 없는 경우, 프로세스(400)가 종료된다.
도 5는 일부 실시예들에 따른 미끄러짐을 검출하기 위한 프로세스를 예시하는 흐름도이다. 일부 실시예들에서, 프로세스(500)는 로봇 시스템(101)과 같은 로봇 시스템에 의해 구현된다. 일부 실시예들에서, 프로세스(500)는 프로세스(400)의 단계(406)의 일부 또는 전부를 수행하도록 구현된다.
502에서, 복수의 센서들의 대응하는 출력들이 모니터링된다. 로봇 시스템은 로봇 팔 엔드 이펙터 및 로봇 팔 엔드 이펙터의 손가락들과 연관된 하나 이상의 촉각 센서 유닛들을 포함한다. 로봇 팔 엔드 이펙터 는 하나 이상의 센서들을 포함하는 손목 부분을 포함할 수 있다. 촉각 감지 유닛은 본원에 기술된 바와 같은 하나 이상의 센서들을 포함한다.
로봇 팔 엔드 이펙터가 아이템을 파지할 때, 복수의 센서들 각각은 대응하는 값들을 출력한다. 프로세서는 센서 값들에 기반하여 복수의 양식들에 대한 대응하는 값들을 결정할 수 있다. 예를 들어, 프로세서는 무게 값, 변형 값, 도통 값, 전도도 값, 압력 값, 저항 값, 인덕턴스 값, 커패시턴스 값 등을 결정할 수 있다.
로봇 팔 엔드 이펙터가 아이템을 파지하는 동안 감지된 값들이 변동될 수 있다. 프로세서는 로봇 팔 엔드 이펙터가 아이템을 제1 위치에서 제2 위치로 이동시키는 동안 시간이 지남에 따라 감지된 값들을 모니터링하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 및/또는 미끄러지고 있는지 여부를 결정할 수 있다.
일부 실시예들에서, 로봇 팔 엔드 이펙터와 연관된 하나 이상의 감지된 값들은 로봇 팔 엔드 이펙터에 의해 파지되는 아이템과 연관된 선형 미끄러짐을 나타낸다. 일부 실시예들에서, 로봇 팔 엔드 이펙터와 연관된 하나 이상의 감지된 값들은 로봇 팔 엔드 이펙터에 의해 파지되는 아이템과 연관된 회전 미끄러짐을 나타낸다.
504에서, 특징 벡터가 멀티-모달 모델에 입력된다. 특징 벡터의 요소들은 하나 이상의 감지된 값들 및/또는 하나 이상의 감지된 값들에 기반하여 결정된 하나 이상의 양식 값들을 포함할 수 있다. 멀티-모달 모델은 규칙-기반 모델, 예측 모델, 기계 학습 모델(예를 들어, 신경망, 선형 분류기, 지원 벡터 머신, 선형 회귀, 로지스틱 회귀, 의사 결정 트리, 딥 러닝 등), 등일 수 있다.
일부 실시예들에서, 프로세서는 하나 이상의 감지된 값들 및/또는 하나 이상의 결정된 양식 값들을 하나 이상의 대응하는 제1 임계치들과 비교하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 여부를 결정한다. 일부 실시예들에서, 프로세서는 하나 이상의 감지된 값들 및/또는 하나 이상의 결정된 양식 값들을 하나 이상의 대응하는 제2 임계치들과 비교하여 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있는지 여부를 결정한다.
일부 실시예들에서, 프로세서는 양식 값의 요소 값들의 조합에 기반하여 감지된 값들을 분류한다. 특징 벡터는 양식 값의 요소 값들에 기반하여 피처 공간에서의 위치를 가질 수 있다. 프로세서는 피처 공간에서 특징 벡터의 위치에 기반하여 아이템 미끄러짐 없음, 아이템이 미끄러지기 시작함, 및/또는 아이템이 미끄러지고 있음을 나타내는 것으로 특징 벡터를 분류할 수 있다.
멀티-모달 모델은 아이템과 연관된 미끄러짐이 선형인지 회전인지를 분류하도록 훈련될 수 있다. 예를 들어, 로봇 팔 엔드 이펙터는 아이템을 복수 회 파지할 수 있고 아이템이 선형 미끄러짐을 갖도록 허용하여 선형 미끄러짐을 나타내는 감지된 값과 연관된 범위가 결정될 수 있다. 선형 미끄러짐을 나타내는 감지된 값들에 기반하여 결정된 하나 이상의 양식 값들에 대한 범위가 또한 결정될 수 있다. 이 프로세스는 형상들, 크기들, 피처들, 및 무게들이 상이한 아이템들에 대해 반복될 수 있다. 이 프로세스는 또한 아이템의 상이한 파지 위치들에서 반복될 수 있다. 이 프로세스는 또한 상이한 파지 기법들에 대해서 반복될 수 있다.
로봇 팔 엔드 이펙터는 아이템을 복수 회 파지할 수 있고 아이템이 회전 미끄러짐을 갖도록 허용하여 회전 미끄러짐을 나타내는 감지된 값들과 연관된 범위가 결정될 수 있다. 회전 미끄러짐을 나타내는 감지된 값들에 기반하여 결정된 하나 이상의 양식 값들에 대한 범위가 또한 결정될 수 있다. 이 프로세스는 형상들, 크기들, 피처들, 및 무게들이 상이한 아이템들에 대해 반복될 수 있다. 이 프로세스는 또한 아이템의 상이한 파지 위치들에서 반복될 수 있다. 이 프로세스는 또한 상이한 파지 기법들에 대해서 반복될 수 있다.
506에서, 파지된 아이템이 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지기 시작하는지 또는 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지고 있는지가 결정된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하는지 여부에 관한 이진 결정을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있는지 여부에 관한 이진 결정을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지기 시작하는지 여부의 확률을 출력하도록 구성된다. 일부 실시예들에서, 멀티-모달 모델은 아이템이 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지고 있는지 여부의 확률을 출력하도록 구성된다.
멀티-모달 모델의 출력이 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하거나 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있는 것을 나타내는 경우, 프로세스(500)는 512로 진행한다. 멀티-모달 모델의 출력이 아이템이 로봇 팔 엔드 이펙터의 파지부에서 미끄러지기 시작하고 있음을 나타내지 않거나 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타내지 않는 경우, 프로세스(500)는 아이템이 하차 영역을 향해 이동되는 508로 진행한다. 510에서, 로봇 팔 엔드 이펙터가 하차 영역에 위치하는지 여부가 결정된다. 로봇 팔 엔드 이펙터가 하차 영역에 위치되지 않는 경우, 프로세스(500)는 502로 되돌아간다. 로봇 팔 엔드 이펙터가 하차 영역에 있는 경우, 프로세스(500)는 514로 진행하고 아이템은 하차 영역에 배치된다.
512에서, 로봇 시스템은 하나 이상의 응답 동작들을 수행한다. 일부 실시예들에서, 엔드 이펙터는 아이템을 안전한 위치에 놓고 아이템을 다시 파지한다. 일부 실시예들에서, 로봇 팔이 아이템을 이동시키는 속도가 감소된다.
일부 실시예들에서, 로봇 팔은 미끄러짐을 방지하거나 감소시키기 위해 엔드 이펙터의 배향을 조정한다. 예를 들어, 엔드 이펙터는 아이템의 측면들(예를 들어, 좌측 및 우측)에서 아이템을 파지할 수 있다. 로봇 팔은 엔드 이펙터가 아이템의 "상단" 측면과 "하단" 측면에서 아이템을 파지하도록 엔드 이펙터의 배향을 90도 만큼 조정할 수 있다. 이것은 중력으로 인해 엔드 이펙터의 파지부에서 아이템이 미끄러지는 영향을 감소시킬 수 있다.
일부 실시예들에서, 엔드 이펙터는 추가적인 파지력을 가한다. 추가로 가해지는 힘의 양은 파지된 아이템과 연관된 취약성에 따라 달라질 수 있다(예를 들어, 아이템을 부러뜨리지 않고 가해질 수 있는 추가 힘의 양). 파지된 아이템의 취약성은 엔드 이펙터가 아이템을 파지할 때 결정된 변형 값들에 기반하여 결정될 수 있다. 결정된 변형 값들은 파지된 아이템이 깨지기 쉬운지 여부를 나타낼 수 있다. 일부 실시예들에서, 무게 센서들과 같은 로봇 시스템과 연관된 카메라(들) 및/또는 센서(들)의 출력은 파지되고 있는 아이템의 유형(예를 들어, 판지 박스, 봉제 장난감, 유리 컵 등)을 나타낼 수 있고 추가 가해지는 힘의 양은 아이템 유형에 따라 다를 수 있다. 일부 실시예들에서, 추가로 적용된 힘의 양은 선형 미끄러짐 또는 회전 미끄러짐이 발생하는 것으로 결정되는지 여부에 따라 다르다. 일부 실시예들에서, 추가로 적용된 힘의 양은 파지된 아이템과 연관된 재료에 따라 달라질 수 있다. 파지된 아이템과 연관된 재료는 감지된 아이템과 연관된 감지된 커패시턴스에 기반하여 결정될 수 있다.
로봇 시스템은 파지된 아이템이 엔드 이펙터의 파지에서 미끄러지기 시작하고/하거나 미끄러지고 있을 때 파지된 아이템에 추가 힘을 적용하도록 훈련될 수 있다. 다양한 형상들, 크기들, 유형들 및 무게들의 아이템들에 다양한 힘들이 적용될 수 있다. 다양한 힘들은 아이템의 상이한 파지 위치들에 적용될 수 있다. 다양한 힘들은 상이한 파지 기법들에 적용될 수 있다. 로봇 시스템은 추가 힘이 적용될 때 특정 파지된 아이템이 손상되지 않도록 하는 힘의 임계량을 학습할 수 있다.
다양한 실시예들에서, 로봇 시스템은 예를 들어 기계 학습 기법들을 통해, 아이템이 엔드 이펙터의 파지부에서 미끄러지기 시작하거나 미끄러지는 경우 파지된 아이템에 얼마나 많은 추가 힘이 적용되도록 요구 받는지를 학습하도록 구성된다. 로봇 시스템은 추가 힘이 아이템을 손상시키거나 손상시키지 않았는지 여부를 학습하도록 추가로 구성될 수 있다. 로봇 시스템이 아이템을 손상시키거나 손상시키지 않았는지 여부를 나타내는 피드백은 로봇 시스템에 제공될 수 있다. 피드백은 인간 조작자에 의해 제공되거나 로봇 시스템이 하차 위치에 아이템을 배치한 후에 결정될 수 있다.
일부 실시예들에서, 본원에 개시된 기법들은 제어된 미끄러짐을 사용하는 것, 즉 아이템을 엔드 이펙터 내에서 미끄러지게 허용함으로써 아이템을 재포지셔닝 및/또는 재배향하는 것과 같이, 엔드 이펙터의 파지부 내 및 파지부에 남아있는 동안 아이템이 미끄러지게 허용하는 것을 포함하여, 아이템을 소스 위치에서 목적지 위치로 파지 및/또는 이동시키기 위한 전략들을 학습 및 사용하도록 시스템에 의해 사용될 수 있다. 예를 들어, 아이템은 예를 들어 안정성을 증가시키거나 엔드 이펙터 아래의 포지션으로 아이템의 질량 및/또는 볼륨의 일부를 이동시키기 위해, 엔드 이펙터의 파지부 내에서 미끄러지도록 허용될 수 있다. 다른 예에서, 제어된 미끄러짐은 엔드 이펙터의 파지부 내에서 아이템의 배향을 변경하기 위해, 파지된 축을 중심으로 회전시키도록, 세장형 형상을 갖는 을 갖는 아이템의 일 단부에서와 같이, 무게 중심에서 일정 거리에서 아이템이 파지되게 하는 데 사용될 수 있다. 다양한 실시예들에서, 이러한 기동은 아이템을 파지하고 목적지로 이동시키는 데 사용될 파지 전략 세트에 포함될 수 있다. 로봇은 이러한 전략을 사용하여 예를 들어 다른 아이템들 더미에서 튀어나온 단부 부분에서 아이템을 파지하고, 제어된 미끄러짐 기동을 사용하여 아이템을 더 안정적이고/이거나 로봇이 소스 위치에서 목적지 위치로 아이템을 이동시키기 위해 계획한 궤적을 따라 위치된 장애물과 아이템이 접촉하지 않을 가능성이 더 높은 포지션으로 재포지셔닝 또는 재배향시킬 수 있다.
도 6a-도 6c는 제어된 미끄러짐을 포함하는 픽 앤 플레이스(pick and place) 동작의 예를 예시하는 도면이다. 도 6a는 엔드 이펙터(602)가 아이템(604)을 파지하고 있는 로봇 시스템을 포함하는 환경(600)을 묘사한다. 아이템(604)은 아이템(606)의 상단에 위치된다. 환경(600)은 로봇 시스템이 아이템들(604, 606)에 대한 대략적인 치수를 결정하게 하는 하나 이상의 카메라(도시되지 않음)를 포함할 수 있다.
로봇 시스템의 프로세서는 아이템(604)에 대한 하나 이상의 파지 전략들을 결정한다. 하나 이상의 파지 전략들은 아이템(604)의 측면들에서 또는 아이템(604)의 상단에서 아이템(604)을 파지하는 것을 포함할 수 있다. 프로세서는 엔드 이펙터(602)가 로봇 시스템의 물리적 제한들로 인해 아이템(602)의 상단으로부터 아이템(604)을 파지할 수 없음(예를 들어, 로봇 팔은 엔드 이펙터(602)가 아이템(604)의 상단으로부터 아이템(604)을 파지할 수 있도록 그 자체를 포지셔닝할 수 없음)을 결정할 수 있다. 로봇 시스템의 프로세서는 아이템(604)의 측면들로부터 아이템(604)을 파지하는 엔드 이펙터(602)를 포함하는 파지 전략을 선택할 수 있다.
도 6b는 로봇 시스템의 로봇 팔이 아이템(606)으로부터 아이템(604)을 들어올린 환경(630)을 묘사한다. 엔드 이펙터(602)는 하나 이상의 촉각 감지 유닛들(도시되지 않음)을 포함한다. 로봇 시스템은 엔드 이펙터(602)가 아이템(604)을 파지하고 있는 동안 엔드 이펙터(602)에 적용되는 하나 이상의 힘들 및/또는 하나 이상의 모멘트들을 결정한다. 로봇 시스템은 하나 이상의 결정된 힘들 및/또는 하나 이상의 결정된 모멘트들에 기반하여 아이템(604)의 현재 무게 분포를 결정할 수 있다. 로봇 시스템은 엔드 이펙터(602)가 아이템(604)을 파지하기 위해 더 적은 힘을 사용하도록 엔드 이펙터(602)에 관하여 아이템(604)의 배향을 변경하기 위해 아이템(604)의 제어된 미끄러짐을 수행하기로 결정할 수 있다. 예를 들어, 아이템(604)의 현재 무게 분포는 로봇 시스템이 아이템(604)을 떨어뜨리게 할 수 있다. 일부 실시예들에서, 로봇 시스템은 아이템(604)을 파지하기 전에 파지 전략의 일부로서 아이템(604)의 배향을 변경하기로 결정할 수 있다. 일부 실시예들에서, 로봇 시스템은 아이템(604)이 엔드 이펙터(602)에 의해 파지되는 동안 아이템(604)의 배향을 변경하기로 결정할 수 있다.
도 6c는 로봇 시스템의 로봇 팔이 아이템(604)을 중간 포지션으로 이동시킨 환경(650)을 묘사한다. 중간 포지션에서, 도시된 예에서, 로봇 시스템은 도시된 배향으로 아이템(604)을 재포지셔닝하기 위해 제어된-미끄러짐 기동을 완료하였다. 이 예에서, 기동은 엔드 이펙터(602)의 파지에서 미끄러지지 않고, 도시된 바와 같이 중력으로 인해 아이템(604)이 수평 포지션에서 수직 포지션으로 회전하도록 엔드 이펙터(602)에 의해 아이템(604)에 적용되는 힘을 조정하는 것을 포함한다. 기동은 예를 들어 로봇 시스템이 아이템(604)을 제한된 공간을 통해 이동하게 하고/하거나 더 적은 힘을 사용하여 아이템(604)을 홀딩하게 하도록 계획 및 실행되었을 수 있다. 로봇 시스템은 아이템(604)의 배향이 수정된 후 아이템(604)을 하차 영역으로 이동시킬 수 있다.
도 7은 일부 실시예들에 따른 아이템을 파지하기 위한 프로세스를 예시하는 흐름도이다. 일부 실시예들에서, 프로세스(700)는 로봇 시스템(101)과 같은 로봇 시스템에 의해 구현된다. 일부 실시예들에서, 프로세스(700)는 프로세스(400)의 단계들(404/406)의 일부 또는 전부를 수행하도록 구현된다.
702에서, 파지된 아이템을 이동시키는 전략이 개발된다. 로봇 시스템은 촉각 감지 유닛(들)과 멀티-모달 모델에서 감지된 값들을 사용하여 엔드 이펙터의 파지부에서 아이템을 재배향하고/하거나 다른 방식으로 재포지셔닝하는 전략을 결정하고 구현한다. 일부 실시예들에서, 아이템은 클러터링된 더미에 위치된다. 일부 실시예들에서, 파지된 아이템의 배향 또는 포지션은 클러터링된 더미의 다른 아이템들을 우발적으로 건드리지 않고 로봇 팔이 파지된 아이템을 이동시키는 것을 방지한다. 일부 실시예들에서, 요구되는 파지력은 객체의 질량 중심이 객체의 파지된 접촉점들로부터 멀리 떨어져 있는 배향으로 객체를 픽업하기에는 너무 강하다. 파지된 아이템을 이동시키는 전략은 아이템의 초기 파지를 수행하고 이어서 아이템이 다른 아이템들로부터 임계 거리만큼 멀어지게 이동된 후에 아이템의 파지를 재조정하는 것을 포함할 수 있다.
704에서, 아이템은 중간 위치로 이동된다. 중간 위치는 클러터링된 더미의 다른 아이템들에서 떨어진 임계 거리일 수 있다. 중간 위치는 파지된 아이템 및 다른 검출된 아이템들과 연관된 치수들에 기반하여 결정될 수 있다.
708에서, 아이템의 파지를 유지하면서 아이템이 파지 전략에 따라 미끄러지는 것이 허용된다. 로봇 시스템은 엔드 이펙터의 손가락들이나 다른 맞물림 구조들 사이에서 하향 방향으로 미끄러지거나, 엔드 이펙터를 여전히 파지하는 동안 회전시킴으로써 아이템이 예상된 및/또는 의도된 방식으로 미끄러지기 시작하는 지점으로 아이템에 대한 그립을 의도적으로 용이하게 한다. 아이템이 원하는 포지션 및/또는 배향에 있으면, 정지하고 추가 미끄러짐을 방지하기 위해 필요한 만큼 더 많은 힘이 가해진다.
710에서, 아이템은 하차 영역으로 이동된다.
도 8은 멀티-모달 모델(multi-modal model)을 훈련시키는 프로세스를 예시하는 흐름도이다. 일부 실시예들에서, 프로세스(800)는 로봇 시스템(101)과 같은 로봇 시스템에 의해 구현된다.
802에서, 복수의 아이템들은 파지 및 이동되게 시도된다. 로봇 시스템은 상이한 형상들, 크기들, 유형들 및 무게들의 아이템들에 다양한 힘들을 가하여 "실측 검증"을 학습할 수 있다. 다양한 힘들은 복수의 상이한 아이템들에 대해 상이한 파지 위치들에 적용될 수 있다. 다양한 힘들은 상이한 파지 기법들에 적용될 수 있다.
로봇 시스템은 실측 검증 센서를 포함할 수 있다. 예를 들어, 로봇 시스템은 모션 캡처 시스템을 사용하여 원하는 픽 앤 플레이스 거동을 초래할 수 있는 상이한 파지 위치들과 조합된 힘의 범위를 결정하기 위해 각 객체를 추적할 수 있다. 손목 힘 센서는 각 픽업 후 아이템을 성공적으로 픽업했는지 측정하는 데 사용될 수 있다. 가속도계들 및/또는 자이로스코프는 로봇 시스템이 파지된 아이템이 미끄러지고 있는지 여부를 결정할 수 있게 하도록 하는 아이템에 배치될 수 있다. 로봇 시스템은 가속도계들 및/또는 자이로스코프들의 출력에 기반하여 파지된 아이템이 미끄러졌는지 여부를 학습할 수 있다. 로봇 시스템은 파지가 성공했는지 실패했는지 여부를 학습할 수 있다.
804에서, 감지된 값들이 결정된다. 엔드 이펙터는 복수의 센서들을 포함할 수 있다. 각 센서들은 아이템이 파지되고 하차 위치로 이동될 때 감지된 값을 출력한다. 로봇 시스템은 특정 아이템을 성공적으로 파지하거나 실패하게 하는 힘의 양을 학습할 수 있고, 즉, 로봇 시스템은 초기 포지션에서 파지 아이템을 들어 올릴 수 있다. 로봇 시스템은 감지된 출력을 사용하여 하나 이상의 양식들을 결정할 수 있다.
로봇 시스템이 파지된 아이템을 다른 위치로 이동함에 따라, 로봇 시스템은 또한 가해진 힘의 양이 로봇 팔 엔드 이펙터의 파지부에서 파지된 아이템이 미끄러지는지 여부를 학습할 수 있다. 로봇 시스템은 복수의 센서들로부터 감지된 출력 및/또는 하나 이상의 결정된 양식들에 기반하여 파지된 아이템이 미끄러지고 있는지 여부를 결정할 수 있다.
일부 실시예들에서, 시스템은 아이템이 처음에 파지되어 아이템들의 더미 또는 다른 소스로부터 당겨질 때, 예를 들어 아이템이 목적지로 이동될 아이템들이 겹치지 않게 당겨질 수 있게 하도록 더 큰 힘을 적용하고/하거나 더 많은 미끄러짐을 허용하도록 학습할 수 있다. 일부 실시예들에서, 아이템은 미끄러짐을 최소화하고 및/또는 아이템이 로봇의 파지부에서 완전히 미끄러지는 것을 피하기 위해 적어도 부분적으로 결정된 방식으로 이동된다.
806에서 멀티-모달 모델이 업데이트된다. 로봇 시스템은 성공적인 파지 또는 실패한 파지를 감지된 값들 및/또는 감지된 값들에 기반하여 결정된 하나 이상의 양식들과 연관시킬 수 있다. 성공 및 실패 파지의 프로파일들은 로봇 시스템에 의해 생성되고 저장된다. 이는 로봇 시스템이 현재 파지가 성공적일 것인지(아이템이 떨어지지 않고 하차 위치로 이동됨) 또는 실패할 것인지(아이템이 하차 위치로 이동되기 전에 아이템이 미끄러지고/떨어짐) 여부를 결정하기 위해 이전 감지된 값(들) 및/또는 요인 값(들)과 현재 감지된 값들 및/또는 현재 요인 값(들)을 비교하게 한다.
전술한 실시예가 이해의 명확성을 위해 일부 상세하게 설명되었지만, 본 발명은 제공된 세부사항들로 제한되지 않는다. 본 발명을 구현하는 많은 대안적인 방법들이 있다. 개시된 실시예들은 예시적이며 제한적이지 않다.

Claims (20)

  1. 로봇 시스템에 있어서,
    복수의 센서들로서, 상기 복수의 센서들 각각은 아이템과 로봇 팔 엔드 이펙터(end effector)의 맞물림과 연관된 감지된 값을 반영하는 대응하는 출력을 제공하도록 구성되는, 상기 복수의 센서들; 및
    상기 복수의 센서들에 결합되는 프로세서를 포함하고, 상기 프로세서는:
    하나 이상의 입력들에 적어도 부분적으로 기반하여, 상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 출력을 제공하도록 구성된 멀티-모달 모델(multi-modal model)에 대한 상기 하나 이상의 입력들을 결정하기 위해 상기 복수의 센서들을 포함하는 하나 이상의 센서들의 각각의 출력들을 사용하고;
    상기 멀티-모달 모델의 출력에 적어도 부분적으로 기반하여, 상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 결정을 내리고;
    상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 상기 결정에 적어도 부분적으로 기반하여 응답 동작을 취하도록 구성된, 로봇 시스템.
  2. 제 1 항에 있어서, 촉각 감지 유닛은 상기 복수의 센서들을 포함하고, 상기 촉각 감지 유닛은 복수의 층들로 구성되고, 상기 복수의 층들 각각은 상기 복수의 센서들 중 하나 이상의 센서들을 포함하는, 로봇 시스템.
  3. 제 1 항에 있어서, 상기 하나 이상의 입력들은 하나 이상의 양식들(modalities)을 포함하는, 로봇 시스템.
  4. 제 3 항에 있어서, 상기 하나 이상의 양식들은 무게, 변형, 도통, 전도도, 저항, 인덕턴스, 및 커패시턴스 중 하나 이상을 포함하는, 로봇 시스템.
  5. 제 1 항에 있어서, 상기 멀티-모달 모델의 출력은 상기 아이템이 상기 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지기 시작하고 있음을 나타내는, 로봇 시스템.
  6. 제 1 항에 있어서, 상기 멀티-모달 모델의 출력은 상기 아이템이 상기 로봇 팔 엔드 이펙터의 파지부에서 미끄러지고 있음을 나타내는, 로봇 시스템.
  7. 제 1 항에 있어서, 상기 프로세서는 상기 엔드 이펙터가 제1 위치에서 제2 위치로 상기 아이템을 이동시키는 동안 상기 하나 이상의 센서들의 각각의 출력들을 모니터링하도록 추가로 구성되는, 로봇 시스템.
  8. 제 1 항에 있어서, 상기 하나 이상의 센서들 중 적어도 하나의 각각의 출력들에 기반하여 결정된 변형 값은 상기 아이템이 상기 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지고 있는지 여부를 나타내는, 로봇 시스템.
  9. 제 1 항에 있어서, 상기 하나 이상의 센서들 중 적어도 하나의 각각의 출력들에 기반하여 결정된 변형 값은 상기 아이템이 상기 로봇 팔 엔드 이펙터의 파지부로부터 미끄러지기 시작하는지 여부를 나타내는, 로봇 시스템.
  10. 제 1 항에 있어서, 상기 멀티-모달 모델은 상기 아이템의 미끄러짐을 선형 미끄러짐으로 분류하도록 구성되는, 로봇 시스템.
  11. 제 1 항에 있어서, 상기 멀티-모달 모델은 상기 아이템의 미끄러짐을 회전 미끄러짐으로 분류하도록 구성되는, 로봇 시스템.
  12. 제 1 항에 있어서, 상기 응답 동작은 제1 위치에서 제2 위치로 상기 아이템을 이동시키는 것을 포함하는, 로봇 시스템.
  13. 제 1 항에 있어서, 상기 응답 동작은 상기 아이템을 하나의 위치에 배치하고 상기 아이템을 다시 파지하는 것을 포함하는, 로봇 시스템.
  14. 제 1 항에 있어서, 상기 응답 동작은 상기 로봇 팔 엔드 이펙터의 배향을 조정하는 것을 포함하는, 로봇 시스템.
  15. 제 1 항에 있어서, 상기 응답 동작은 상기 로봇 팔 엔드 이펙터에 의해 아이템에 가해지는 힘을 증가시키는 것을 포함하는, 로봇 시스템.
  16. 제 15 항에 있어서, 상기 로봇 팔 엔드 이펙터에 의해 가해지는 힘은 상기 아이템과 연관된 취약성에 기반하는, 로봇 시스템.
  17. 제 1 항에 있어서, 상기 로봇 팔 엔드 이펙터에 의해 가해지는 힘은 상기 멀티-모달 모델의 출력이, 상기 아이템의 미끄러짐이 선형 미끄러짐인지 또는 회전 미끄러짐인지를 나타내는지 것에 기반하는, 로봇 시스템.
  18. 제 1 항에 있어서, 상기 프로세서는 상기 아이템에 관하여 상기 로봇 팔 엔드 이펙터의 파지를 조정하도록 상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐을 개시하기 위해 상기 하나 이상의 센서들의 각각의 출력들을 사용하도록 추가로 구성되는, 로봇 시스템.
  19. 방법에 있어서,
    하나 이상의 입력들에 적어도 부분적으로 기반하여, 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 아이템의 미끄러짐과 연관된 출력을 제공하도록 구성된 멀티-모달 모델에 대한 상기 하나 이상의 입력들을 결정하기 위해 복수의 센서들을 포함하는 하나 이상의 센서들의 대응하는 출력들을 사용하는 단계로서, 상기 복수의 센서들 각각은 상기 아이템과 상기 로봇 팔 엔드 이펙터의 맞물림과 연관된 감지된 값을 반영하는 대응하는 출력을 제공하도록 구성되는, 상기 하나 이상의 센서들의 대응하는 출력들을 사용하는 단계;
    상기 멀티-모달 모델의 출력에 적어도 부분적으로 기반하여, 상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 결정을 내리는 단계; 및
    상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 상기 결정에 적어도 부분적으로 기반하여 응답 동작을 취하는 단계를 포함하는, 방법.
  20. 비-일시적 컴퓨터 판독가능 매체에 구현되고 컴퓨터 명령들을 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 명령들은:
    하나 이상의 입력들에 적어도 부분적으로 기반하여, 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 아이템의 미끄러짐과 연관된 출력을 제공하도록 구성된 멀티-모달 모델에 대한 상기 하나 이상의 입력들을 결정하기 위해 복수의 센서들을 포함하는 하나 이상의 센서들의 대응하는 출력들을 사용하는 것으로서, 상기 복수의 센서들 각각은 상기 아이템과 상기 로봇 팔 엔드 이펙터의 맞물림과 연관된 감지된 값을 반영하는 대응하는 출력을 제공하도록 구성되는, 상기 하나 이상의 센서들의 대응하는 출력들을 사용하기 위한 것;
    상기 멀티-모달 모델의 출력에 적어도 부분적으로 기반하여, 상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 결정을 내리기 위한 것; 및
    상기 로봇 팔 엔드 이펙터의 파지부 내에서 또는 상기 파지부로부터 상기 아이템의 미끄러짐과 연관된 상기 결정에 적어도 부분적으로 기반하여 응답 동작을 취하기 위한 것인, 컴퓨터 프로그램 제품.
KR1020227013584A 2019-10-25 2020-09-25 로봇 파지부에서 미끄러짐 검출 KR20220066381A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962926162P 2019-10-25 2019-10-25
US62/926,162 2019-10-25
US17/029,418 2020-09-23
US17/029,418 US11772262B2 (en) 2019-10-25 2020-09-23 Detecting slippage from robotic grasp
PCT/US2020/052660 WO2021080730A1 (en) 2019-10-25 2020-09-25 Detecting slippage from robotic grasp

Publications (1)

Publication Number Publication Date
KR20220066381A true KR20220066381A (ko) 2022-05-24

Family

ID=75585011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227013584A KR20220066381A (ko) 2019-10-25 2020-09-25 로봇 파지부에서 미끄러짐 검출

Country Status (8)

Country Link
US (2) US11772262B2 (ko)
EP (1) EP4048480A4 (ko)
JP (1) JP7447246B2 (ko)
KR (1) KR20220066381A (ko)
CN (1) CN114585479A (ko)
CA (1) CA3155340A1 (ko)
MX (1) MX2022004123A (ko)
WO (1) WO2021080730A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10500735B1 (en) * 2018-07-13 2019-12-10 Dexterity, Inc. Robotic toolset and gripper
US20210031368A1 (en) * 2019-08-02 2021-02-04 Dextrous Robotics, Inc. Robotic system for picking and placing objects from and into a constrained space
US11173610B2 (en) * 2019-11-13 2021-11-16 Vicarious Fpc, Inc. Method and system for robot control using visual feedback
US11530052B1 (en) 2020-02-17 2022-12-20 Amazon Technologies, Inc. Systems and methods for automated ground handling of aerial vehicles
US11597092B1 (en) * 2020-03-26 2023-03-07 Amazon Technologies, Ine. End-of-arm tool with a load cell
US11534924B1 (en) 2020-07-21 2022-12-27 Amazon Technologies, Inc. Systems and methods for generating models for automated handling of vehicles
WO2022020178A1 (en) 2020-07-22 2022-01-27 Berkshire Grey, Inc. Systems and methods for object processing using a vacuum gripper that provides object retention by shroud inversion
US11534915B1 (en) 2020-08-05 2022-12-27 Amazon Technologies, Inc. Determining vehicle integrity based on observed behavior during predetermined manipulations
JP7395451B2 (ja) * 2020-09-16 2023-12-11 株式会社東芝 ハンドリング装置、処理装置、コントローラ及びプログラム
US20210299866A1 (en) * 2020-12-23 2021-09-30 Intel Corporation Robotic manipulation planning based on probalistic elastoplastic deformation material point method
US20220288783A1 (en) * 2021-03-10 2022-09-15 Nvidia Corporation Machine learning of grasp poses in a cluttered environment
EP4378639A1 (en) * 2021-07-26 2024-06-05 Bridgestone Corporation Estimation device, estimation method, and estimation program
US11919161B2 (en) * 2021-10-15 2024-03-05 Fanuc Corporation Grasp generation for machine tending
JP2023071001A (ja) * 2021-11-10 2023-05-22 株式会社東芝 荷役装置、制御装置、荷役方法、プログラム、及び記憶媒体
JP2023128087A (ja) * 2022-03-02 2023-09-14 オムロン株式会社 制御装置、制御方法、及び制御プログラム
CN114604626A (zh) * 2022-04-21 2022-06-10 广东科学技术职业学院 一种移动仿生机械手臂及控制方法
TWI803396B (zh) * 2022-07-21 2023-05-21 國立臺灣科技大學 機械手臂異常診斷系統及其方法
EP4344836A1 (en) * 2022-09-30 2024-04-03 Melexis Technologies SA Slip detection for robotic grip

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3986007A (en) 1975-08-20 1976-10-12 The Bendix Corporation Method and apparatus for calibrating mechanical-visual part manipulating system
US4605354A (en) 1984-07-30 1986-08-12 International Business Machines Corporation Slip sensitive robot gripper system
US4766389A (en) 1986-09-03 1988-08-23 Extrude Hone Corporation Capacitor array sensors tactile and proximity sensing and methods of use thereof
JPH09323281A (ja) 1996-05-31 1997-12-16 Shinko Electric Co Ltd 書籍取出し用のロボットハンド
JP3412465B2 (ja) 1997-08-12 2003-06-03 株式会社デンソー 移動ロボット装置
JP2000263481A (ja) 1999-03-12 2000-09-26 Meidensha Corp ビンピッキング装置
CN1264003C (zh) * 2000-08-31 2006-07-12 株式会社东京大学Tlo 光学式触觉传感器
JP2005349492A (ja) 2004-06-08 2005-12-22 Sharp Corp ロボットハンド
JP2006003137A (ja) 2004-06-16 2006-01-05 Toudai Tlo Ltd 光学式触覚センサ及び該センサにおける情報取得方法
JP2009190111A (ja) 2008-02-13 2009-08-27 Olympus Corp 把持装置および方法
WO2009124211A1 (en) * 2008-04-02 2009-10-08 University Of Southern California Enhancements to improve the function of a biomimetic tactile sensor
JP5678670B2 (ja) 2011-01-06 2015-03-04 セイコーエプソン株式会社 超音波センサー、触覚センサー、および把持装置
JP2012206219A (ja) 2011-03-30 2012-10-25 Seiko Epson Corp ロボット制御装置及びロボットシステム
JP5588392B2 (ja) * 2011-04-27 2014-09-10 株式会社日立製作所 マニプレータ装置
JP2013086186A (ja) 2011-10-13 2013-05-13 Seiko Epson Corp 把持装置及びロボット
US9184084B2 (en) * 2014-01-28 2015-11-10 Lam Research Corporation Wafer handling traction control system
JP6354181B2 (ja) 2014-02-04 2018-07-11 セイコーエプソン株式会社 ロボットハンド、ロボット、及びロボットハンドの製造方法
JP2015226956A (ja) 2014-06-02 2015-12-17 セイコーエプソン株式会社 ロボット、ロボットシステムおよびロボット制御装置
CA2958921C (en) 2014-08-22 2023-02-07 President And Fellows Of Harvard College Sensors for soft robots and soft actuators
JP2016203293A (ja) 2015-04-21 2016-12-08 株式会社豊田自動織機 ピッキング装置およびピッキング方法
KR102094439B1 (ko) 2015-08-25 2020-03-27 카와사키 주코교 카부시키 카이샤 산업용 원격조작 로봇시스템
US10286565B1 (en) 2016-06-13 2019-05-14 Amazon Technologies, Inc. Skin replacement for robotic manipulator
WO2018017616A1 (en) * 2016-07-18 2018-01-25 Lael Odhner Assessing robotic grasping
US20180264660A1 (en) 2017-03-20 2018-09-20 Kindred Systems Inc. Systems, devices, articles, and methods for prehension
WO2018235214A1 (ja) 2017-06-21 2018-12-27 株式会社齋藤創造研究所 マニピュレーターおよびロボット
JP6923383B2 (ja) 2017-07-27 2021-08-18 株式会社日立物流 ピッキングロボットおよびピッキングシステム
US10682774B2 (en) * 2017-12-12 2020-06-16 X Development Llc Sensorized robotic gripping device
US10792809B2 (en) 2017-12-12 2020-10-06 X Development Llc Robot grip detection using non-contact sensors
US11097418B2 (en) 2018-01-04 2021-08-24 X Development Llc Grasping of an object by a robot based on grasp strategy determined using machine learning model(s)
JP6912415B2 (ja) 2018-04-10 2021-08-04 ファナック株式会社 ハンド制御装置およびハンド制御システム
CN108908379A (zh) * 2018-06-27 2018-11-30 天津大学 一种带触觉力和形状感知功能的气动软体手指
CN112673338A (zh) 2018-07-10 2021-04-16 小利兰·斯坦福大学托管委员会 电容式和触觉传感器及相关感测方法
US20200019864A1 (en) * 2018-07-11 2020-01-16 Deepbrain Chain, Inc. Systems and methods for artificial-intelligence-based automated object identification and manipulation
US11273555B2 (en) 2018-09-20 2022-03-15 Rios Intelligent Machines, Inc. Multimodal sensor array for robotic systems
JP7147419B2 (ja) 2018-09-26 2022-10-05 オムロン株式会社 エンドエフェクタ装置
US10576630B1 (en) * 2019-05-31 2020-03-03 Mujin, Inc. Robotic system with a robot arm suction control mechanism and method of operation thereof
CN112097675A (zh) 2019-06-17 2020-12-18 香港科技大学 触觉传感器
US11389968B2 (en) 2019-10-02 2022-07-19 Toyota Research Institute, Inc. Systems and methods for determining pose of objects held by flexible end effectors
JP7463777B2 (ja) 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法

Also Published As

Publication number Publication date
WO2021080730A1 (en) 2021-04-29
JP2022552629A (ja) 2022-12-19
US20210122039A1 (en) 2021-04-29
CA3155340A1 (en) 2021-04-29
EP4048480A1 (en) 2022-08-31
CN114585479A (zh) 2022-06-03
MX2022004123A (es) 2022-06-24
JP7447246B2 (ja) 2024-03-11
EP4048480A4 (en) 2023-11-15
US11772262B2 (en) 2023-10-03
US20240033906A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
JP7447246B2 (ja) ロボット把持からの滑りの検出
CA3130215C (en) Autonomous unknown object pick and place
CN114554909B (zh) 检测甚薄对象或特征的机器人紧抓
KR102650492B1 (ko) 자동화된 패키지 등록 메커니즘과 이를 작동시키는 방법을 구비한 로봇 시스템
US11383380B2 (en) Object pickup strategies for a robotic device
US9393693B1 (en) Methods and systems for determining and modeling admissible gripper forces for robotic devices
KR101902678B1 (ko) 궤적 계획을 위한 물체 메트릭들의 실시간 결정
KR20240089492A (ko) 대형 물체 로봇형 전방 로딩 알고리즘

Legal Events

Date Code Title Description
E902 Notification of reason for refusal