KR102023149B1 - 로봇 파지를 위한 심층 기계 학습 방법 및 장치 - Google Patents
로봇 파지를 위한 심층 기계 학습 방법 및 장치 Download PDFInfo
- Publication number
- KR102023149B1 KR102023149B1 KR1020187027695A KR20187027695A KR102023149B1 KR 102023149 B1 KR102023149 B1 KR 102023149B1 KR 1020187027695 A KR1020187027695 A KR 1020187027695A KR 20187027695 A KR20187027695 A KR 20187027695A KR 102023149 B1 KR102023149 B1 KR 102023149B1
- Authority
- KR
- South Korea
- Prior art keywords
- end effector
- phage
- robot
- neural network
- learning
- Prior art date
Links
Images
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/08—Gripping heads and other end effectors having finger members
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
-
- 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
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- 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
-
- 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
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/30—End effector
- Y10S901/31—Gripping jaw
- Y10S901/36—Actuating means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Robotics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manufacturing & Machinery (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
심층 기계 학습 방법 및 장치는 로봇의 엔드 이펙터에 의해 대상물을 조작하는 것에 관한 것이다. 일부 구현예들은 시맨틱 파지 모델을 학습시켜 로봇의 엔드 이펙터에 대한 모션 데이터가 대상물의 성공적인 파지를 초래하는지 여부를 나타내는 측정치를 예측하고, 상기 대상물이 원하는 시매틱 특징(들)을 가졌는지 여부를 나타내는 추가 측정치를 예측하는 것에 관한 것이다. 일부 구현예들은 원하는 시맨틱 특징(들)을 갖는 대상물의 성공적인 파지를 달성하기 위해 로봇의 파지 엔드 이펙터를 서보하는 학습된 시맨틱 파지 모델의 이용에 관한 것이다.
Description
본 명세서는 로봇 파지를 위한 심층 기계 학습(deep machine learning) 방법 및 장치에 관한 것이다.
많은 로봇이 하나 이상의 엔드 이펙터(end effector)를 사용하여 하나 이상의 대상물(물체)을 파지(grasp)하도록 프로그래밍된다. 예를 들어, 로봇은 제1 위치로부터 대상물을 픽업하고, 그 대상물을 제2 위치로 이동시키고, 그 제2 위치에서 대상물을 떨어뜨리는 "충격식" 그리퍼(gripper) 또는 "진입형" 그리퍼(예컨대, 핀, 바늘 등을 사용하여 물체를 물리적으로 관통)와 같은 파지 엔드 이펙터를 이용할 수 있다. 대상물을 파지할 수 있는 로봇 엔드 이펙터의 일부 추가 예로는 "astrictive" 엔드 이펙터(예를 들어, 대상물을 픽업하기 위해 흡입 또는 진공을 사용함)와 하나 이상의 "contigutive" 엔드 이펙터(예를 들어, 표면 장력을 사용하여, 대상물을 픽업하기 위해 결빙 또는 접착)가 있다.
본 명세서는 일반적으로 로봇의 엔드 이펙터에 의해 대상물을 조작하는 것과 관련된 심층 기계 학습 방법 및 장치에 관한 것이다. 일부 구현예들은 로봇의 엔드 이펙터에 대한 후보 모션 데이터가 엔드 이펙터에 의해 하나 이상의 대상물을 성공적으로 파지하게 될 확률을 예측하고, 및/또는 공간 변환 네트워크(spatial transformer network)(본 명세서에서 "STN"으로 지칭됨)에 대한 공간 변환 파라미터들을 예측하기 위해 콘볼루션 신경망(convolutional neural network)(본 명세서에서 "CNN"으로 지칭됨)과 같은 파지 심층 신경망을 학습하는 것이다. 예를 들어, 일부 구현예들은, 학습된 파지 심층 신경망에 대한 입력으로 (1) 로봇의 파지 엔드 이펙터의 후보 모션(존재하는 경우)을 정의하는 후보 모션 벡터 및 (2) 로봇의 작업 공간의 적어도 일부를 캡처하는 이미지를 적용할 수 있으며; 상기 적용에 기초하여 (1) 후보 모션 벡터가 성공적인 파지를 초래할 확률을 직접 또는 간접적으로 나타내는 측정치(measure) 및/또는 (2) 파지 엔드 이펙터가 움직일 이미지(또는 추가 이미지)의 위치를 나타내는 공간 변환 파라미터를 생성할 수 있다. 그 다음, 상기 확률 및/또는 공간 변환 파라미터들을 나타내는 측정치는 파지 엔드 이펙터를 갖는 로봇에 의한 파지 시도들의 서보 성능(servoing performance)에서 사용될 수 있으며, 이에 따라 로봇이 그 환경 내의 대상물을 성공적으로 파지할 수 있는 능력을 향상시킨다.
이들 구현예들 중 일부는 수신된 공간 변환 파라미터들에 기초하여 이미지의 공간 변환을 생성하기 위해 공간 변환 네트워크를 학습시키고 및/또는 상기 공간 변환에 기초하여 공간 변환에서 대상물의 클래스(및/또는 다른 의미론적(시맨틱) 특징(들))를 예측하기 위한 의미론적 심층 신경망(예를 들어, 시맨틱(semantic) CNN)을 추가 학습시키는 것에 관한 것이다. 이러한 구현예들의 일부 버전들에서, 시맨틱 심층 신경망은 (1) 하나 이상의 로봇에 의한 파지 시도들에 기초하여 생성된 학습 사례(example)들; 및 (2) 하나 이상의 로봇에 의한 파지 시도들에 기초하여 생성되지 않은 학습 사례들을 포함하는 다른 컴퓨터 비전 데이터세트(dataset)들의 학습 사례들(예를 들어, IMAGEN ET 이미지 데이터베이스로부터의 학습 사례들)과 같은 두 가지에 기초하여 학습될 수 있다. 다른 컴퓨터 비전 데이터세트들의 학습 사례들을 사용하면 시맨틱 심층 신경망의 의미 이해의 폭 및/또는 정확도가 증가할 수 있다.
일부 구현예들은 학습된 파지 심층 신경망, 학습된 공간 변환 네트워크 및/또는 학습된 시맨틱 심층 신경망을 이용하여 로봇의 파지 엔드 이펙터를 서보하여 파지 엔드 이펙터에 의해 원하는 시맨틱 대상물 특징들을 갖는 대상물의 성공적인 파지를 달성하는 것에 관한 것이다. 예를 들어, 다양한 학습된 네트워크들은 로봇의 파지 엔드 이펙터의 포즈를 제어하는 로봇의 하나 이상의 액추에이터에 대한 모션 제어 명령들의 반복적인 업데이트에 이용될 수 있으며, 파지 엔드 이펙터에 의해 시도된 파지를 달성하기 위해 파지 제어 명령들을 언제 생성할지를 결정한다. 예를 들어, 파지 제어 명령들은, 파지 심층 신경망을 통해 생성된 출력이 성공적인 파지의 우도(likelihood)가 임계값을 만족시킴을 나타낼 때 그리고 시맨틱 심층 신경망을 통해 생성된 출력이 상기 파지가 원하는 시맨틱 대상물 특징(들)을 갖는 대상물의 가능성이 있음을 나타낼때만 생성되어 해당 액추에이터들에 제공될 수 있다.
학습된 네트워크(들)를 사용하여 원하는 시맨틱 대상물 특징들을 갖는 대상물의 성공적인 파지를 달성하면, 로봇이 특정 대상물 특징(들)을 갖는 대상물에 대한 다양한 액션을 수행하게 할 수 있으며, 여기서 특정 대상물 특징(들)은 사람이 생성한 사용자 인터페이스 입력 및/또는 다른 컴포넌트(예를 들어, 상위 레벨 태스크 플래너)에 의해 결정된다. 예를 들어, 사용자는 하나 이상의 특정 대상물 특징(들)을 갖는 대상물을 파지하고자 함을 나타내는 사용자 인터페이스 입력(예를 들어, 발화, 타이핑)을 제공할 수 있고, 그리고 로봇은 파지가 성공적일 가능성이 높고 그리고 특정 대상물 특징(들)을 가진 대상물이될 가능성이 높을 때만 학습된 네트워크들을 이용하여 파지를 시도할 수 있다. 예를 들어, 사용자는 "스푼 픽업"의 사용자 인터페이스 입력을 제공할 수 있으며, 상기 로봇은 파지가 성공할 가능성이 높음을 나타내는 파지 심층 신경망을 통해 생성된 출력에 기초하여 그리고 "스푼" 분류를 갖는 대상물일 가능성이 있음을 나타내는 시맨틱 심층 신경망을 통해 생성된 출력에 기초하여 파지를 시도할 수 있다.
일부 구현예들에서, 현재 포즈로부터 추가 포즈로 로봇의 파지 엔드 이펙터를 이동시키기 위한 모션을 정의하는 후보 엔드 이펙터 모션 벡터를 생성하는 단계; 그리고 로봇과 연관된 비전 센서에 의해 캡쳐된 현재 이미지를 식별하는 단계를 포함하는 방법이 제공된다. 상기 현재 이미지는 로봇의 환경에서 적어도 하나의 대상물과 파지 엔드 이펙터를 캡처한다. 상기 방법은, 현재 이미지 및 후보 엔드 이펙터 모션 벡터를 학습된 파지 콘볼루션 신경망에 입력으로서 적용하는 단계; 상기 학습된 파지 콘볼루션 신경망을 통해, 상기 모션의 적용으로 상기 대상물의 성공적인 파지의 측정치를 생성하는 단계를 더 포함한다. 상기 측정치는 이미지 및 엔드 이펙터 모션 벡터를 학습된 파지 콘볼루션 신경망에 적용하는 것에 기초하여 생성된다. 상기 방법은, 원하는 대상물 시맨틱 특징을 식별하는 단계; 시맨틱 콘볼루션 신경망에 입력으로서, 상기 현재 이미지 또는 상기 비전 센서에 의해 캡쳐된 추가 이미지의 공간 변환을 적용하는 단계; 그리고 상기 공간 변환에 기초하여 상기 시맨틱 콘볼루션 신경망을 통해, 상기 원하는 대상물 시맨틱 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 추가 측정치를 생성하는 단계를 더 포함한다. 상기 방법은 성공적인 파지의 측정치 및 상기 원하는 대상물 시맨틱 특징이 존재하는지 여부를 나타내는 추가 측정치에 기초하여 엔드 이펙터 명령을 발생시키는 단계; 그리고 상기 엔드 이펙터 명령을 로봇의 하나 이상의 액추에이터에 제공하는 단계를 더 포함한다.
이러한 구현예들 및 기타 구현예들에는 다음 특징들 중 하나 이상이 포함될 수 있다.
일부 구현예들에서, 상기 방법은 이미지 및 엔드 이펙터 모션 벡터를 상기 학습된 파지 콘볼루션 신경망에 적용하는 것에 기초하여 학습된 파지 콘볼루션 신경망을 통해 공간 변환 파라미터드들을 생성하는 단계; 그리고 상기 공간 변환 파라미터들에 기초하여 공간 변환 네트워크를 통해 공간 변환을 생성하는 단계를 더 포함한다.
일부 구현예들에서, 상기 원하는 대상물 시맨틱 특징은 대상물 분류를 정의한다.
일부 구현예들에서, 상기 방법은 사용자 인터페이스 입력 장치로부터 사용자 인터페이스 입력을 수신하고 그리고 상기 사용자 인터페이스 입력에 기초하여 상기 원하는 대상물 시맨틱 특징을 식별하는 단계를 더 포함한다. 이러한 구현예들 중 일부에서, 상기 사용자 인터페이스 입력 장치는 로봇의 마이크로폰과 같은 마이크로폰이다.
일부 구현예들에서, 상기 공간 변환은 현재 이미지의 일부분을 잘라내는 공간 변환과 같은 현재 이미지의 변환이다.
일부 구현예들에서, 상기 방법은 상기 모션의 적용없이 상기 대상물의 성공적인 파지의 현재 측정치를 결정하는 단계를 더 포함한다. 이러한 구현예들 중 일부에서, 상기 측정치에 기초하여 상기 엔드 이펙터 명령을 생성하는 단계는 상기 측정치와 상기 현재 측정치의 비교에 기초하여 상기 엔드 이펙터 명령을 생성하는 단계를 더 포함한다. 이러한 구현예들의 일부 버전에서, 상기 엔드 이펙터 명령은 파지 명령이며, 파지 명령을 생성하는 단계는 상기 추가 측정치가 상기 원하는 대상물 특징이 상기 공간 변환에 존재함을 나타내는 것으로 결정하고; 그리고 상기 측정치와 상기 현재 측정치의 비교가 하나 이상의 기준을 만족시키는 것으로 결정하는 것에 대한 응답이다.
일부 구현예들에서, 엔드 이펙터 명령은 엔드 이펙터 모션 명령이며, 엔드 이펙터 모션 명령을 생성하는 단계는 후보 엔드 이펙터 모션 벡터에 따르도록 엔드 이펙터 모션 명령을 생성하는 단계를 포함한다.
일부 구현예들에서, 엔드 이펙터 명령은 엔드 이펙터 모션 명령이고, 후보 엔드 이펙터 모션 벡터를 따른다. 이러한 구현예들 중 일부에서, 엔드 이펙터 모션 명령을 하나 이상의 액추에이터에 제공하는 것은 엔드 이펙터를 새로운 포즈로 이동시키며, 상기 방법은, 파지 엔드 이펙터를 상기 새로운 포즈에서 추가 포즈로 이동하도록 새로운 모션을 정의하는 추가 후보 엔드 이펙터 모션 벡터를 생성하는 단계; 상기 로봇과 연관된 비전 센서에 의해 캡쳐된 새로운 이미지를 식별하는 단계 - 상기 새로운 이미지는 상기 새로운 포즈에서 상기 엔드 이펙터를 캡쳐링하고 상기 환경에서 상기 대상들을 캡쳐링함 -; 상기 새로운 이미지 및 상기 추가 후보 엔드 이펙터 모션 벡터를 상기 학습된 파지 콘벌루션 신경망에 입력으로서 적용하는 단계; 상기 학습된 파지 콘볼루션 신경망을 통해, 상기 새로운 모션의 적용으로 상기 대상물의 성공적인 파지의 새로운 측정치를 생성하는 단계 - 상기 새로운 측정치는 상기 학습된 파지 콘볼루션 신경망에 새로운 이미지 및 추가 엔드 이펙터 모션 벡터의 적용에 기초하여 생성됨 -; 시맨틱 콘볼루션 신경망에 입력으로서, 새로운 이미지의 추가 공간 변환 또는 상기 비전 센서에 의해 캡쳐된 새로운 추가 이미지를 적용하는 단계; 상기 추가 공간 변환에 기초하여 상기 시맨틱 콘볼루션 신경망을 통해, 상기 원하는 대상물 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 새로운 추가 측정치를 생성하는 단계; 성공적인 파지의 새로운 측정치 및 상기 원하는 대상물 특징이 존재하는지 여부를 나타내는 새로운 추가 측정치에 기초하여 새로운 엔드 이펙터 명령을 생성하는 단계; 그리고 로봇의 하나 이상의 액츄에이터에 상기 새로운 엔드 이펙터 명령을 제공하는 단계를 더 포함한다.
일부 구현예들에서, 상기 이미지 및 후보 엔드 이펙터 모션 벡터를 상기 학습된 파지 콘벌루션 신경망에 입력으로서 적용하는 단계는, 학습된 파지 콘벌루션 신경망의 초기 계층에 입력으로서 상기 이미지를 적용하는 단계; 그리고 상기 학습된 파지 콘볼루션 신경망의 추가 계층에 상기 후보 엔드 이펙터 모션 벡터를 적용하는 단계를 포함한다. 상기 추가 계층은 초기 계층의 다운스트림일 수 있다.
일부 구현예들에서, 상기 후보 엔드 이펙터 모션 벡터를 생성하는 단계는, 복수의 후보 엔드 이펙터 모션 벡터를 생성하는 단계; 그리고 상기 복수의 후보 엔드 이펙터 모션 벡터들로부터 상기 후보 엔드 이펙터 모션 벡터를 선택하도록 상기 복수의 후보 엔드 이펙터 모션 벡터들에 대한 크로스 엔트로피 최적화(cross-entropy optimization)의 하나 이상의 반복을 수행하는 단계를 포함한다.
일부 구현예들에서, 로봇과 연관된 비전 센서에 의해 캡쳐된 현재 이미지를 식별하는 단계; 그리고 상기 현재 이미지를 파지 콘볼루션 신경망에 적용하는 것에 기초하여 콘볼루션 신경망을 통해, 상기 현재 이미지에서 캡처된 대상물의 성공적인 파지 및 상기 로봇의 파지 엔드 이펙터에 의한 상기 성공적인 파지의 측정치 및 공간 변환 파라미터들을 생성하는 단계를 포함하는 방법이 제공된다. 상기 방법은 공간 변환 네트워크를 통해 상기 공간 변환 파라미터들에 기초하여 공간 변환을 생성하는 단계를 더 포함한다. 상기 공간 변환은 현재 이미지 또는 상기 비전 센서가 캡처한 추가 이미지이다. 상기 방법은, 상기 공간 변환을 시맨틱 콘벌루션 신경망에 입력으로서 적용하는 단계; 상기 공간 변환에 기초하여 상기 시맨틱 콘볼루션 신경망을 통해, 원하는 대상물 시맨틱 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 추가 측정치를 생성하는 단계; 상기 측정치 및 상기 추가 측정치에 기초하여 엔드 이펙터 명령을 생성하는 단계; 그리고 상기 엔드 이펙터 명령을 로봇의 하나 이상의 액추에이터에 제공하는 단계를 더 포함한다.
일부 구현예들에서, 로봇의 비전 센서에 의해 캡쳐된 현재 이미지를 식별하는 단계; 그리고 시맨틱 파지 모델의 부분을 통해 상기 현재 이미지를 상기 부분에 적용하는 것에 기초하여, 상기 현재 이미지에서 캡쳐된 대상물의 성공적인 파지 및 상기 로봇의 파지 엔드 이펙터에 의한 상기 성공적인 파지의 측정치; 및 공간 변환 파라미터들을 생성하는 단계를 포함하는 방법이 제공된다. 상기 방법은, 상기 공간 변환 파라미터들에 기초하여 상기 현재 이미지의 공간 변환을 생성하는 단계; 상기 공간적 변환을 상기 시맨틱 파지 모델의 추가 부분에 입력으로서 적용하는 단계; 상기 공간 변환에 기초하여 상기 추가 부분을 통해, 원하는 대상물 시맨틱 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 추가 측정치를 생성하는 단계; 상기 측정치 및 상기 추가 측정치에 기초하여 엔드 이펙터 명령을 생성하는 단계; 상기 엔드 이펙터 명령을 제공하는 단계를 더 포함한다.
일부 구현예들에서, 상기 로봇들에 의한 복수의 파악 시도들 동안 하나 이상의 로봇들로부터의 센서 출력에 기초하여 생성된 복수의 학습 사례들을 식별하는 단계를 포함하는 방법이 제공된다. 상기 학습 사례들 각각은 훈련 사례 입력을 포함하며, 상기 훈련 사례 입력은 상기 파지 시도들의 해당 파지 시도의 해당 시간 인스턴스에 대한 이미지 -상기 이미지는 해당 시간 인스턴스에서 로봇 엔드 이펙터 및 하나 이상의 환경 대상물을 캡처함 -; 그리고 상기 해당 시간 인스턴스에서 상기 엔드 이펙터의 시간 포즈의 인스턴스로부터 상기 해당 시간 인스턴스에서 상기 엔드 이펙터의 최종 포즈로 이동하도록 상기 엔드 이펙터의 모션을 정의하는 엔드 이펙터 모션 벡터를 포함한다. 상기 학습 사례들 각각은 학습 사례 출력을 더 포함하며, 상기 학습 사례 출력은 해당 파지 시도에 의해 파지된 대상물의 시맨틱 특징을 나타내는 적어도 하나의 파지된 대상물 라벨(label)을 포함한다. 상기 방법은 하나 이상의 프로세서에 의해 상기 학습 사례들에 기초하여 시맨틱 콘볼루션 신경망을 훈련시키는 단계를 더 포함한다.
이러한 구현예들 및 기타 구현예들에는 다음 특징들 중 하나 이상이 포함될 수 있다.
일부 구현예들에서, 상기 학습 사례들에 기초하여 시맨틱 콘벌루션 신경망을 학습시키는 단계는 상기 학습 사례들의 소정의 학습 사례에 대한 학습 사례 입력을 파지 콘볼루션 신경망에 적용하는 단계; 상기 소정의 학습 사례의 학습 사례 입력에 기초하여 상기 파지 콘볼루션 신경망을 통해 공간 변환 네트워크 파라미터들을 생성하는 단계; 소정의 학습 사례의 이미지의 공간 변환을 생성하도록 공간 변환 네트워크 파라미터들을 사용하는 단계; 상기 공간 변환 이미지에 기초하여 시맨틱 콘볼루션 신경망을 통해 출력을 생성하는 단계; 그리고 상기 소정의 학습 사례의 출력 및 학습 사례 출력에 기초하여 시맨틱 콘볼루션 신경망에서 역전파(backpropagation)를 수행하는 단계를 포함한다. 이러한 구현예들 중 일부에서, 상기 방법은 파지 시도들에 기초하여 생성되지 않은 추가 학습 사례들에 기초하여 상기 시맨틱 콘볼루션 신경망을 학습시키는 단계를 더 포함한다. 이러한 구현예들 중 일부에서, 상기 소정의 학습 사례에 대한 학습 사례 입력을 상기 파지 콘볼루션 신경망에 적용하는 단계는, 소정의 학습 사례의 이미지를 입력으로서 상기 파지 콘볼루션 신경망의 초기 계층에 적용하는 단계; 그리고 소정의 학습 사례의 엔드 이펙터 모션 벡터를 상기 초기 계층의 다운스트림인 파지 콘벌루션 신경망의 추가 계층에 적용하는 단계를 포함한다.
일부 구현예들에서, 상기 방법은 파지 시도들에 기초하여 생성되지 않은 추가 학습 사례들에 기초하여 시맨틱 콘벌루션 신경망을 훈련시키는 단계를 더 포함한다. 이러한 구현예들 중 일부에서, 상기 방법은 학습 사례들에 기초하여 파지 콘볼루션 신경망을 훈련시키는 단계를 더 포함한다. 이러한 구현예들의 일부 버전에서, 학습 사례들에 기초하여 파지 콘벌루션 신경망을 훈련시키는 단계는 상기 소정의 학습 사례의 학습 사례 입력에 기초하여 상기 파지 콘볼루션 신경망을 통해 예측된 파지 측정치를 생성하는 단계; 그리고 상기 예측된 파지 측정치 및 소정의 학습 사례의 학습 사례 출력에 기초하여 상기 파지 콘볼루션 신경망에서 역전파를 수행하는 단계를 포함한다.
일부 구현예들에서, 학습 사례들은, 제1 로봇에 의한 복수의 파지 시도들 동안 제1 로봇의 복수의 제1 로봇 센서들로부터의 출력에 기초하여 생성된 학습 사례들의 제1 그룹; 그리고 제2 로봇에 의한 복수의 파지 시도들 동안 제2 로봇의 복수의 제2 로봇 센서들로부터의 출력에 기초하여 생성된 학습 사례들의 제2 그룹을 포함한다. 이러한 구현예들 중 일부에서, 상기 제1 로봇 센서들은 상기 제1 그룹의 학습 사례들에 대한 이미지들을 생성하는 제1 비전 센서를 포함하며, 상기 제2 로봇 센서는 상기 제2 그룹의 학습 사례들에 대한 이미지들을 생성하는 제2 비전 센서를 포함하며, 상기 제1 로봇의 제1 베이스에 대한 제1 비전 센서의 제1 포즈는 상기 제2 로봇의 제2 베이스에 대한 제2 비전 센서의 제2 포즈와 구별된다.
일부 구현예들에서, 복수의 학습 사례들이 각각 기초하고 있는 파지 시도들은 엔드 이펙터의 시작 포즈로부터 엔드 이펙터의 최종 포즈로 엔드 이펙터를 무작위로 이동시키는 복수의 무작위 액츄에이터 명령들을 포함하고, 상기 최종 포즈에서 엔드 이펙터로 파지한다.
일부 구현예들에서, 로봇 파지 시도들에 기초하여 생성되지 않은 학습 사례들에 기초하여 학습된 시맨틱 콘볼루션 신경망을 식별하는 단계; 상기 로봇들에 의한 복수의 파지 시도들 동안 하나 이상의 로봇들로부터의 센서 출력에 기초하여 생성된 복수의 학습 사례들을 식별하는 단계; 그리고 상기 학습 사례들에 기초하여 상기 시맨틱 콘벌루션 신경망을 학습시키는 단계를 포함하는 방법이 제공된다.
이러한 구현예들 및 기타 구현예들에는 다음 특징들 중 하나 이상이 포함될 수 있다.
일부 구현예들에서, 상기 방법은 학습 사례들에 기초하여 파지 콘벌루션 신경망을 학습시키는 단계를 더 포함한다.
일부 구현예들에서, 상기 학습 사례들은 제1 로봇에 의한 복수의 파지 시도들 동안 제1 로봇의 복수의 제1 로봇 센서들로부터의 출력에 기초하여 생성된 학습 사례들의 제1 그룹; 그리고 제2 로봇에 의한 복수의 파지 시도들 동안 제2 로봇의 복수의 제2 로봇 센서들로부터의 출력에 기초하여 생성된 학습 사례들의 제2 그룹을 포함한다. 이러한 구현예들 중 일부에서, 상기 제1 로봇 센서들은 상기 제1 그룹의 학습 사례들에 대한 이미지들을 생성하는 제1 비전 센서를 포함하며, 상기 제2 로봇 센서들은 상기 제2 그룹의 학습 사례들에 대한 이미지들을 생성하는 제2 비전 센서를 포함하며, 상기 제1 로봇의 제1 베이스에 대한 제1 비전 센서의 제1 포즈는 제2 로봇의 제2 베이스에 대한 제2 비전 센서의 제2 포즈와 구별된다.
일부 구현예들에서, 복수의 학습 사례들이 각각 기초하고 있는 파지 시도들은 엔드 이펙터의 시작 포즈로부터 엔드 이펙터의 최종 포즈로 엔드 이펙터를 무작위로 이동시키는 복수의 무작위 액츄에이터 명령을 포함하며, 그 다음 상기 최종 포즈에서 상기 엔드 이펙터로 파지한다.
다른 구현예들은 상술된 방법들 중 하나 이상 및/또는 본 명세서의 다른 방법을 수행하게 하는 프로세서(예를 들어, 중앙 처리 장치(CPU) 또는 그래픽 처리 장치(GPU))에 의해 실행 가능한 명령어들을 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 또 다른 구현예들은 상술된 방법들 중 하나 이상 및/또는 본 명세서의 다른 방법을 수행하게 하는 저장된 명령어들을 실행하는 하나 이상의 프로세서를 포함하는 하나 이상의 로봇 및/또는 하나 이상의 컴퓨터의 시스템을 포함할 수 있다.
전술한 개념들 및 본 명세서에서보다 상세하게 기술된 추가 개념들의 모든 조합은 본 명세서에 개시된 요지의 일부로서 고려될 수 있음을 이해해야 한다. 예를 들어, 본 명세서의 끝 부분에 나타나는 청구된 요지의 모든 조합은 본 명세서에 개시된 요지의 일부로서 고려된다.
도 1a는 파지 시도들이 로봇들에 의해 수행될 수 있는 예시적인 환경을 도시하고, 파지 시도들과 연관된 데이터가 학습 사례들을 생성하기 위해 이용될 수 있고 및/또는 학습 사례들이 시맨틱 파지 모델의 하나 이상의 네트워크들을 학습시키는데 이용될 수 있다.
도 1b는 도 1a의 시맨틱 파지 모델의 네트워크들을 도시하며, 상기 네트워크들에 적용될 수 있고 그 네트워크들을 통해 생성될 수 있는 예시적인 데이터를 나타낸다.
도 2는 도 1의 로봇들 중 하나 및 경로를 따른 로봇의 파지 엔드 이펙터의 이동 예를 도시한다.
도 3은 파지 시도들을 수행하고 그 파지 시도들과 연관된 데이터를 저장하는 예시적인 방법을 도시하는 흐름도이다.
도 4는 로봇의 파악 시도들과 연관된 데이터에 기초하여 학습 사례들을 생성하는 예시적인 방법을 도시하는 흐름도이다.
도 5는 학습 사례들에 기초하여 시맨틱 파지 모델의 하나 이상의 네트워크를 학습시키는 예시적인 방법을 나타내는 흐름도이다.
도 6a 및 도 6b는 예시적인 파지 콘볼루션 신경망, 파지 콘볼루션 신경망에 적용될 수 있는 예시적인 입력들 및 파지 콘볼루션 신경망을 통해 생성될 수 있는 예시적인 출력들의 구조를 도시한다.
도 6c는 공간 변환 네트워크 및 시맨틱 콘볼루션 신경망, 상기 네트워크들에 적용될 수 있는 예시적인 입력들 및 상기 네트워크들을 통해 생성될 수 있는 예시적인 출력들을 도시한다.
도 7은 파지 엔드 이펙터를 서보하도록 시맨틱 파지 모델을 이용하는 예시적인 방법을 도시하는 흐름도이다.
도 8은 로봇의 예시적인 아키텍처를 개략적으로 도시한다.
도 9는 컴퓨터 시스템의 예시적인 아키텍처를 개략적으로 도시한다.
도 1b는 도 1a의 시맨틱 파지 모델의 네트워크들을 도시하며, 상기 네트워크들에 적용될 수 있고 그 네트워크들을 통해 생성될 수 있는 예시적인 데이터를 나타낸다.
도 2는 도 1의 로봇들 중 하나 및 경로를 따른 로봇의 파지 엔드 이펙터의 이동 예를 도시한다.
도 3은 파지 시도들을 수행하고 그 파지 시도들과 연관된 데이터를 저장하는 예시적인 방법을 도시하는 흐름도이다.
도 4는 로봇의 파악 시도들과 연관된 데이터에 기초하여 학습 사례들을 생성하는 예시적인 방법을 도시하는 흐름도이다.
도 5는 학습 사례들에 기초하여 시맨틱 파지 모델의 하나 이상의 네트워크를 학습시키는 예시적인 방법을 나타내는 흐름도이다.
도 6a 및 도 6b는 예시적인 파지 콘볼루션 신경망, 파지 콘볼루션 신경망에 적용될 수 있는 예시적인 입력들 및 파지 콘볼루션 신경망을 통해 생성될 수 있는 예시적인 출력들의 구조를 도시한다.
도 6c는 공간 변환 네트워크 및 시맨틱 콘볼루션 신경망, 상기 네트워크들에 적용될 수 있는 예시적인 입력들 및 상기 네트워크들을 통해 생성될 수 있는 예시적인 출력들을 도시한다.
도 7은 파지 엔드 이펙터를 서보하도록 시맨틱 파지 모델을 이용하는 예시적인 방법을 도시하는 흐름도이다.
도 8은 로봇의 예시적인 아키텍처를 개략적으로 도시한다.
도 9는 컴퓨터 시스템의 예시적인 아키텍처를 개략적으로 도시한다.
여기에 기술된 기술의 일부 구현예들은 파지 심층 신경망, 공간 변환 네트워크 및 시맨틱 심층 신경망을 포함하는 시맨틱 파지 모델을 훈련하는 것에 관한 것이다.
이러한 구현예들 중 일부에서, 학습된 파지 심층 신경망은 로봇과 연관된 비전 센서에 의해 캡쳐된 현재 이미지에 기초하여 1) 엔드 이펙터에 의해 하나 이상의 대상물이 성공적으로 파지될 확률을 나타내는 측정치(measure); 그리고 2) 공간 변환 파라미터들을 생성하도록 이용될 수 있다. 또한, 학습된 공간 변환 네트워크는 공간 변환 파라미터들 및 현재 이미지(및/또는 추가 이미지)에 기초하여 상기 현재 이미지(및/또는 추가 이미지)의 공간 변환을 생성하기 위해 이용될 수 있다. 또한, 학습된 시맨틱 심층 신경망은 공간 변환에 기초하여, 공간 변환에 존재하는 하나 이상의 클래스의 대상물(들)과 같이 공간 변환의 하나 이상의 시맨틱 특징(들)을 나타내는 추가 측정치(들)을 생성하기 위해 이용될 수 있다.
이러한 구현예들의 일부 버전들에서, 로봇은 임계치를 만족시키는 상기 측정치(성공적인 파지의 확률을 나타냄)에 기초하고, 원하는 대상물 시맨틱 특징들이 공간 변환에 존재함을 나타내는 상기 추가 측정치에 기초하여 엔드 이펙터로 파지를 시도할 수 있다. 원하는 대상물 시맨틱 특징들은 예를 들어 사용자 인터페이스 입력 및/또는 하나 이상의 개별 컴포넌트들로부터의 입력에 기초할 수 있다. 따라서, 학습된 시맨틱 파지 모델은 상기 파지 시도의 성공 우도가 임계치를 만족시키는 것으로 결정하는 것에 기초하여 그리고 상기 대상물이 원하는 대상물 시맨틱 특징들을 가질 가능성이 있다고 결정하는 것에 기초하여 대상물에 대해 수행되는 파지 시도를 가능하게 할 수 있다.
본 명세서에서보다 상세히 기술된 바와 같이, 다양한 구현예들에서 파지 심층 신경망을 통해 생성된 출력은 공간적 추론에 주로 기반한다는 점에서 "도살(dorsal)"로 간주될 수 있으며, 파지될 것을 의미론적으로 이해하지 않고도 파지가 성공할 것인지 및/또는 처리할 이미지의 부분을 예측한다. 또한, 다양한 구현예들에서, 공간 변환 네트워크 및 시맨틱 심층 신경망을 통해 생성된 출력은 시맨틱 추론에 주로 기반하고 파지를 위해 고려된 대상물의 시맨틱 특성을 예측한다는 점에서 "벤트럴(ventral)"로 볼 수 있다.
일부 구현예들에서, 학습된 파지 심층 신경망은 이미지(들)(It 및 선택적으로 I0)를 수용하고 태스크-공간 모션 벡터와 같은 엔드 이펙터 모션 벡터(vt)를 수용한다. 상기 이미지(들)는 비전 센서에 의해 생성되며, "현재" 이미지(It)와 파지 엔드 이펙터가 없는 장면(또는 현재 이미지(It)에 있는 것과 다른 포즈로 엔드 이펙터로)을 캡처하는 추가 이미지(I0)를 포함할 수 있다. 학습된 파지 심층 신경망에 대한 이미지(들)(It 및 선택적으로 I0) 및 엔드 이펙터 모션 벡터(vt)의 적용은 모션 벡터(vt)에 의해 정의된 모션을 구현하기 위해 명령(들)을 실행하고 이어서 파지하고 성공적인 파지를 산출할 예측된 측정치 및 예측된 공간 변환 파라미터들을 파지 심층 신경망을 통해 생성하는 데 사용될 수 있다. 상기 생성된 공간 변환 파라미터들은 학습된 공간 변환 네트워크를 통해 (예를 들어, 현재 이미지의) 공간 변환을 생성하는데 이용될 수 있다. 상기 공간 변환은 시맨틱 심층 신경망에 적용되어, 그 신경망을 통해 공간 변환에 존재하는 대상물의 특징(들)을 나타내는 측정치를 생성할 수 있다. 파지 엔드 이펙터에 의해 파지가 시도되는지 여부는 성공적인 파지의 예측된 측정치 및/또는 어떤 특징(들)이 공간 변환에 존재하는 것으로 표시되는지에 기초할 수 있다. 이러한 설명 및 기타 기술 구현예들에 대한 추가 설명이 아래에 제공된다.
도 1a-6b를 참조하면, 시맨틱 파지 모델(124)의 다양한 네트워크들(125, 126 및/또는 127)을 학습시키는 다양한 구현예들이 설명된다. 도 1a는 로봇들(예를 들어, 로봇들(180A, 180B) 및/또는 다른 로봇들)에 의해 파지 시도들이 수행될 수 있는 예시적인 환경을 도시하고, 파지 시도들과 연관된 데이터가 학습 사례들을 생성하도록 이용될 수 있고, 및/또는 상기 학습 사례들은 시맨틱 파지 모델(124)의 다양한 네트워크들(125, 126 및/또는 127)을 학습시키는데 이용될 수 있다.
예시적인 로봇들(180A 및 180B)은 도 1a에 도시된다. 로봇들(180A 및 180B)은 원하는 위치들에 파지 엔드 이펙터(182A 및 182B)를 위치시키기 위해 복수의 잠재적 경로들 중 임의의 경로를 따라 파지 엔드 이펙터(182A 및 182B)의 이동(traversal)을 가능하게 하는 다수의 자유도를 갖는 "로봇 암들"이다. 예를 들어, 도 2를 참조하면, 경로(201)를 따라 엔드 이펙터를 이동하는 로봇(180A)의 예가 도시된다. 도 2는 경로(201)를 따라 이동할 때 로봇(180A) 및 그의 엔드 이펙터에 의해 취해진 한 세트의 포즈의 두 개의 다른 포즈를 나타내는 로봇(180A)의 팬텀 및 비-팬텀 이미지를 포함한다. 다시 도 1a를 참조하면, 로봇들(180A, 180B)은 각각 적어도 대응하는 파지 엔드 이펙터(182A, 182B)의 2개의 대향하는 "클로(claws)"를 제어하여 적어도 개방 위치와 클로즈(close) 위치(및/또는 선택적으로 복수의 "부분적으로 클로즈된" 위치) 사이에서 그 클로를 작동시킨다.
예시적인 비전 센서들(184A 및 184B)은 또한 도 1a에 도시된다. 도 1a에 도시된 바와 같이, 비전 센서(184A)는 로봇(180A)의 베이스 또는 다른 정지된 기준점에 대해 고정된 포즈로 장착된다. 비전 센서(184B)는 또한 로봇(180B)의 베이스 또는 다른 정지된 기준점에 대해 고정된 포즈로 장착된다. 도 1a에 도시된 바와 같이, 로봇(180A)에 대한 비전 센서(184A)의 포즈는 로봇(180B)에 대한 비전 센서(184B)의 포즈와 상이하다. 본 명세서에 설명된 바와 같이, 일부 구현예들에서, 이는 카메라 보정(calibration)에 강건한 및/또는 독립적인 신경망을 학습시키는 데 사용될 수 있는 다양한 학습 사례들을 생성하는 데 유익할 수 있다. 비전 센서들(184A, 184B)은 센서들의 시선에 있는 대상물(들)의 형상, 색상, 깊이 및/또는 다른 특징들과 관련된 이미지들을 생성할 수 있는 센서이다. 비전 센서들(184A 및 184B)은 예를 들어, 모노그래프 카메라들, 스테레오그래픽 카메라들 및/또는 3D 레이저 스캐너들일 수 있다. 3D 레이저 스캐너는 빛을 방출하는 하나 이상의 레이저 및 그 방출된 빛의 반사와 관련된 데이터를 수집하는 하나 이상의 센서를 포함한다. 3D 레이저 스캐너는 예를 들어, TOF(time-of-flight) 3D 레이저 스캐너 또는 삼각 측량 기반의 3D 레이저 스캐너일 수 있으며, PSD(position sensitive detector) 또는 다른 광학 위치 센서를 포함할 수 있다.
비전 센서(184A)는 예시적인 대상물(191A)을 포함하는 작업공간의 부분과 같이, 로봇(180A)의 작업공간의 적어도 부분의 관측 시야(field of view)를 갖는다. 대상물(191A)에 대한 안착면(들)은 도 1a에 도시되지 않았지만, 이러한 대상물들은 테이블, 트레이 및/또는 다른 표면(들) 상에 놓일 수 있다. 대상물(191A)은 주걱, 스테이플러 및 연필을 포함한다. 다른 구현예들에서, 본 명세서에서 기술된 바와 같이, 로봇(180A)의 파지 시도들의 전부 또는 부분들 동안보다 많은 대상물, 적은 수의 대상물, 추가 대상물 및/또는 다른 대상물이 제공될 수 있다. 예를 들어, 일부 구현예들에서, 로봇(180A)의 일부 파지 시도들 중에 동일 특징들 중 하나 이상을 갖는 대상물(예를 들어, 모두 제1 분류를 갖는 대상물들)이 제공될 수 있으며, 로봇(180A) 등의 몇몇 다른 파지 시도 중에 동일한 하나 이상의 상이한 특징들을 갖는 대상물들(예를 들어, 모두 제2 분류를 갖는 대상물들)이 제공될 수 있다.
비전 센서(184B)는 예시적인 대상물(191B)을 포함하는 작업공간의 일부와 같이, 로봇(180B)의 작업 공간의 적어도 일부의 관측 시야를 갖는다. 대상물(191B)에 대한 안착면은 도 1a에 도시되지 않았지만, 이들은 테이블, 트레이 및/또는 다른 표면(들) 상에 놓일 수 있다. 대상물(191B)은 연필, 스테이플러 및 안경을 포함한다. 다른 구현예들들에서, 여기에 기술된 바와 같이 로봇(180B)의 모든 또는 일부의 파지 시도들 중에 더 많은 대상물, 더 적은 대상물, 추가 대상물 및/또는 다른 대상물이 제공될 수 있다. 예를 들어, 일부 구현예들에서, 로봇(180B)의 일부 파지 시도들 중에 동일한 하나 이상의 특징들을 갖는 대상물들(예를 들어, 모두 제1 분류를 갖는 대상물들)이 제공 될 수 있으며, 로봇(180B) 등의 몇몇 다른 파지 시도들 중에 동일한 하나 이상의 상이한 특징들을 갖는 대상물들(예를 들어, 모두 제2 분류를 갖는 대상물들)이 제공될 수 있다.
특정 로봇들(180A 및 180B)이 도 1a에 도시되어 있지만, 로봇들(180A 및 180B)과 유사한 추가적인 로봇 암들, 다른 로봇 암 형상을 갖는 로봇들, 휴머노이드 형상을 갖는 로봇들, 동물 형상의 로봇들, 하나 이상의 바퀴들을 통해 이동하는 로봇들(예를 들면, SB(self-balancing) 로봇), 잠수정 로봇들, UAV(unmanned aerial vehicle) 등을 포함하는 추가 및/또는 대체 로봇들이 이용될 수 있다. 또한, 특정 파지 엔드 이펙터가 도 1a에 도시되어 있지만, 대안적인 "impactive" 파지 엔드 이펙터(예를들어, "판"을 파지하는 것들, 더 많거나 적은 "digits" / "daws"을 가진 것들), "ingressive" 파지 엔드 이펙터, "astrictive" 파지 엔드 이펙터, 또는 "contigutive" 파지 엔드 이펙터 또는 비-파지 엔드 이펙터와 같은 추가 및/또는 대안적인 엔드 이펙터가 사용될 수 있다. 부가적으로, 비전 센서들(184A 및 184B)의 특정 마운팅(mounting)들이 도 1a에 도시되어 있지만, 부가적인 및/또는 다른 마운팅들이 이용될 수 있다. 예를 들어, 일부 구현예들에서, 비전 센서들은 로봇의 비작동 가능한 컴포넌트들 또는 로봇의 작동 가능한 컴포넌트들(예를 들어, 엔드 이펙터 또는 엔드 이펙터에 가까운 컴포넌트)와 같은 로봇들에 직접 장착될 수 있다. 또한, 예를 들어, 일부 구현예들에서, 상기 비전 센서는 연관 로봇과 별개인 비-고정식 구조물 상에 장착될 수 있고 및/또는 연관 로봇과는 별개인 구조물 상에 비-고정식 방식으로 장착될 수 있다.
로봇들(180A, 180B) 및/또는 다른 로봇들은 많은 양의 파지 시도들을 수행하기 위해 이용될 수 있고, 그 파지 시도들과 연관된 데이터는 학습 사례 생성 시스템(110)에 의해 이용되어 학습 사례 데이터베이스(117)의 학습 사례들을 생성할 수 있다. 일부 구현예들에서, 학습 사례 생성 시스템(110)의 모든 또는 양태들은 (예를 들어, 로봇들(180A 및 180B)의 하나 이상의 프로세서를 통해) 로봇(180A) 및/또는 로봇(180B) 상에 구현될 수 있다. 예를 들어, 로봇들(180A 및 180B)은 각각 학습 사례 생성 시스템(110)의 인스턴스를 포함할 수 있다. 일부 구현예들에서, 학습 사례 생성 시스템(110)의 모든 또는 양태들은 로봇들(180A 및 180B)과는 별도이지만 네트워크 통신 상태에 있는 하나 이상의 컴퓨터 시스템상에서 구현될 수 있다.
로봇들(180A, 180B) 및/또는 다른 로봇들에 의한 각각의 파지 시도는 T 개의 개별 시간 스텝들 또는 인스턴스들로 구성된다. 각 시간 스텝에서, 상기 파지 시도를 수행하는 로봇의 비전 센서가 캡처한 현재 영상이 저장되고, 엔드 이펙터의 현재 포즈도 저장되며, 상기 로봇은 그리퍼를 다음에 움직일 경로(변환 및/또는 회전)를 선택한다. 최종 시간 스텝 T에서, 상기 로봇은 그리퍼를 작동(예를 들어 닫음)하고 추가적인 데이터를 저장하고 및/또는 파지 성공의 평가를 가능하게 하기 위해 하나 이상의 추가 액션들을 수행한다. 학습 사례 생성 시스템(110)의 파지 성공 엔진(116)은 파지 성공 라벨 및/또는 파지된 대상물 라벨(들)을 생성하여 파지의 성공을 평가하며, 여기서 파지된 대상물 라벨(들)은 파지된 대상물(실제로 대상물을 파악지 경우)의 특징(들)을 나타낸다.
각각의 파지 시도는 학습 사례들을 초래하고, 또는 로 표현된다. 즉, 각 학습 사례는 그 시간 스텝에서 관찰된 이미지, 그 시간 스텝에서의 포즈로부터 최종적으로 도달된 포즈(파지 시도의 최종 포즈)까지의 엔드 이펙터 모션 벡터 및 파지 시도의 파지된 대상물 라벨(들) 및/또는 파지 성공 라벨을 적어도 포함한다. 각각의 엔드 이펙터 모션 벡터는 학습 사례 생성 시스템(110)의 엔드 이펙터 모션 벡터 엔진(114)에 의해 결정될 수 있다. 예를 들어, 엔드 이펙터 모션 벡터 엔진(114)은 현재 포즈와 파지 시도의 최종 포즈 사이의 변환을 결정하고 그리고 그 변환을 엔드 이펙터 모션 벡터로 사용할 수 있다. 복수의 로봇의 복수의 파지 시도들에 대한 학습 사례들은 학습 사례 생성 시스템(110)에 의해 학습 사례 데이터베이스(117)에 저장된다.
로봇과 연관된 센서(들)에 의해 생성된 데이터 및/또는 상기 생성된 데이터로부터 유도된 데이터는 로봇에 국부적으로 및/또는 로봇으로부터 멀리 떨어져 있는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체에 저장될 수 있다. 일부 구현예들에서, 상기 현재 이미지는 적색 채널, 청색 채널, 녹색 채널 및/또는 깊이 채널과 같은 다수의 채널들을 포함할 수 있다. 이미지의 각 채널은 이미지의 픽셀 각각에 대해 0부터 255까지의 값과 같이 이미지의 복수의 픽셀 각각에 대한 값을 정의한다. 일부 구현예들에서, 각각의 학습 사례는 상기 현재 이미지 및 해당 파지 시도에 대한 추가 이미지를 포함할 수 있으며, 여기서 상기 추가 이미지는 파지 엔드 이펙터를 포함하지 않거나 다른 포즈(예를 들어, 현재 이미지의 포즈와 겹치지 않음)의 엔드 이펙터를 포함한다. 예를 들어, 상기 추가 이미지는 이전의 임의의 파지 시도 후에 캡처될 수 있지만, 파지 시도를 위한 엔드 이펙터 이동이 시작되기 전과 파지 엔드 이펙터가 비전 센서의 시야 밖으로 이동될 때까지 캡처될 수 있다. 현재 포즈에서 파지 시도의 최종 포즈까지의 엔드 이펙터 모션 벡터 및 현재 포즈는 태스크-공간, 공동 공간 또는 다른 공간에 나타낼 수 있다. 예를 들어, 상기 엔드 이펙터 모션 벡터는 태스크-공간에서 5개의 값, 즉 3차원(3D) 변환 벡터를 정의하는 3개의 값, 및 엔드 이펙터의 축에 대한 엔드 이펙터의 방향 변화의 사인-코사인 인코딩을 나타내는 두개의 값으로 나타낼 수 있다.
일부 구현예들에서, 파지 성공 라벨은 또는 라벨과 같은 2진 레이블이다. 일부 구현예들에서, 파지 성공 라벨은 0, 1 및 0과 1 사이의 하나 이상의 값과 같은 2개 이상의 옵션 중에서 선택될 수 있다. 예를 들어, "0"은 확인된 "성공적이지 않은 파지"를 나타낼 수 있고, "1"은 확인된 성공적인 파지를 나타낼 수 있고, "0.25"는 "가장 가능성이 없는 성공적이지 파지"를 나타내고, "0.75"는 "가장 가능성 있는 성공적인 파지"를 나타낼 수 있다.
일부 구현예들에서, 파지된 대상물 라벨(들) 각각은 해당 특징이 해당 파지된 대상물에 존재하는지 여부를 나타낸다. 예를 들어, 파지된 대상물에 대한 파지된 대상물 라벨은 대상물이 속한 하나 이상의 대상물 클래스를 나타낼 수 있다. 다양한 세분성(granularities)의 대상물 클래스가 활용될 수 있다. 파지된 대상물 라벨은 각각 이진(예를 들어, 존재하거나 존재하지 않는 특징)이거나 두 가지 이상의 옵션(예를 들어, 존재하지 않을 가능성이 높고, 존재하지 않을 가능성이 가장 높으며, 존재할 가능성이 높고, 현재 존재할 가능성이 가능 높은 특징) 중에서 선택할 수 있다. 본 명세서에 기술된 바와 같이, 파지 성공 엔진(116)은 하나 이상의 기술을 이용하여 파지된 대상물 라벨을 파지 시도에 할당할 수 있다. 예를 들어, 파악 성공 엔진(116)은 그 라벨(예를 들어, 모두 "칫솔들"인 복수의 대상물들로부터 대상물이 파지될 때의 "칫솔" 라벨)을 갖는 모든 대상물들의 집합으로부터의 그 파지 시도에 기초하여 파지된 대상물 라벨을 파지 시도에 할당할 수 있다. 또한, 예를 들어, 파지 성공 엔진(116)은 파지 시도에서 파지된 대상물의 이미지를 캡처할 수 있고(예를 들어, 대상물을 여전히 파지하고 있는 동안 비전 센서의 전방에서 파지 엔드 이펙터를 이동시킴으로써), 파지된 대상물 라벨을 결정하도록 그 캡처된 이미지를 이용할 수 있다. 예를 들어, 파지 성공 엔진(116)은 상기 캡처된 이미지를 하나 이상의 인간 검토자들의 컴퓨팅 장치에 제공할 수 있고, 파지된 대상물 라벨을 결정하도록 하나 이상의 인간 검토자(해당 컴퓨팅 장치를 통해)로부터의 입력을 이용할 수 있다. 또한 예를 들어, 파지 성공 엔진(116)은 상기 캡처된 이미지(또는 그것의 공간 변환)를 학습된 시맨틱 CNN(시맨틱 CNN(127)으로부터 선택적으로 분리)에 적용하고 그리고 학습된 시맨틱 CNN을 통해 생성된 출력을 사용하여 상기 파지된 대상물 라벨을 결정할 수 있다. 그 예들 중 일부의 경우, 학습된 시맨틱 CNN은 인간 검토자로 라벨링된 캡쳐된 이미지들(예를 들어, 캡쳐된 이미지에 기초한 학습 사례 입력 그리고 인간 검토자 라벨들에 기초한 학습 사례 출력을 갖는 학습 사례들) 및/또는 추가 학습 사례들(예를 들어, IMAGENET의 학습 사례들)에 기초하여 선택적으로 학습될 수 있다.
학습 엔진(120)은 학습 사례 데이터베이스(117)의 학습 사례들에 기초하여 시맨틱 파지 모델(124)의 하나 이상의 네트워크(125, 126 및 127)를 학습시킨다. 학습 엔진(120)은 학습 사례 데이터베이스(117)의 일부 학습 사례들을 이용하여 파지 CNN(125)만을 학습시킬 수 있다. 예를 들어, 학습 사례 데이터베이스(117)의 일부 학습 사례들은 해당 시간 스텝에서 관측되는 이미지, 그 시간 스텝에서의 포즈로부터 최종적으로 도달되는 포즈(파지 시도의 최종 포즈)까지의 엔드 이펙터 모션 벡터 및 파지 성공 라벨을 포함할 수 있지만, 파지 시도의 파지된 대상물 라벨(들)을 포함하지 않는다(예를 들어, 파지가 성공적이지 않았기 때문에 및/또는 라벨이 성공적인 파지에 적용되지 않았기 때문에).
학습 엔진(120)은 또한 학습 사례 데이터베이스(117)의 일부 다른 학습 사례들을 이용하여 파지 CNN 및 STN(126) 및/또는 시맨틱 CNN(127)을 추가적으로 또는 대안적으로 학습시킬 수 있다. 예를 들어, 학습 사례 데이터베이스(117)의 일부 학습 사례들은 해당 시간 스텝에서 관측된 이미지, 그 시간 스텝에서의 포즈로부터 최종적으로 도달된 포즈(파지 시도의 최종 포즈)까지의 엔드 이펙터 모션 벡터, 파지 성공 라벨을 포함할 수 있으며, 또한 파지 시도의 파지된 대상물 라벨(들)을 포함할 수 있다.
일부 구현예들에서, 학습 엔진(120)은 시맨틱 학습 사례 데이터베이스(119)로부터의 추가적인 학습 사례들을 이용하여 시맨틱 CNN(127)을 학습시킨다. 데이터베이스(119)의 학습 사례들은 하나 이상의 로봇에 의한 파지 시도들에 기초하여 생성되지 않은 학습 사례들(예를 들어, IMAGENET 이미지 데이터베이스로부터의 학습 사례들)을 포함하는 다른 컴퓨터 비전 데이터 세트로부터의 학습 사례들을 포함할 수 있다. 이러한 구현예들 중 일부에서, 데이터베이스(119)의 추가적인 학습 사례들은 파지 시도에들 기초하여 생성된 학습 사례들에 기초한 임의의 학습 이전에 시맨틱 CNN(127)을 학습시키는데 이용될 수 있다. 또한, 일부 구현예들에서, 시맨틱 CNN(127)은 그러한 추가적인 학습 사례들을 이용하여 사전 학습(pre-trained)될 수 있다. 예를 들어, 시맨틱 CNN(127)은 IMAGENET 데이터에 대해 학습된 초기 네트워크와 같은 사전 학습된 대상물 인식 네트워크일 수 있다. 다른 컴퓨터 비전 데이터 세트의 추가 학습 사례들을 사용하면 시맨틱 CNN(127)의 시맨틱 이해의 정확성 및/또는 폭이 증가할 수 있다. 학습 엔진(120)은 상기 추가 학습 사례들에 기초하여 및/또는 파지 시도들에 기초하여 생성된 학습 사례들에 기초하여 시맨틱 CNN(127)을 학습시키는데 다양한 도메인 적응 기술들을 선택적으로 이용할 수 있다.
파지 시도들을 수행하고, 파지 시도들에 기초하여 학습 데이터를 생성하고, 시맨틱 파지 네트워크(124)를 학습시키는 구현예들에 대한 부가적인 설명은 도 3-5를 참조하여 이하에 제공된다.
도 1b는 도 1a의 시맨틱 파지 모델(124)의 네트워크들(125, 126 및 127)을 도시하며, 네트워크들(125, 126 및 127)의 학습된 버전들에 적용될 수 있고 그리고 네트워크들(125, 126 및 127)의 학습된 버전들을 통해 생성될 수 있는 예시적인 데이터를 도시한다. 예를 들어, 로봇의 하나 이상의 프로세서는 네트워크들(125, 126 및 127)에 기초하여 도 1b의 데이터를 인가 및/또는 생성할 수 있다. 예를 들어, 하나 이상의 프로세서는 해당 데이터가 유사하게 생성 및/또는 인가되는 다른 반복(들)에 선행 및/또는 후속되는 소정의 반복(예를 들어, 제어 사이클) 동안 도 1b의 데이터를 인가 및/또는 생성할 수 있다.
하나 이상의 이미지(161)는 현재 이미지 및 선택적 추가 이미지(예를 들어, 현재 이미지와 동일한 장면을 캡처하지만 파지 엔드 이펙터를 생략하는 이미지)와 같이 파지 CNN(125)에 입력으로서 적용된다. 엔드 이펙터 모션 벡터(162)는 또한 파지 CNN(125)에 적용된다. 일부 구현예들에서, 이미지(들)(161)은 파지 CNN(125)의 초기 계층에 적용되고 그리고 엔드 이펙터 모션 벡터(162)는 파지 CNN(125)의 다운스트림 계층에 적용된다.
파지 측정치(177) 및 STN 파라미터들(178)은 적용된 이미지(들)(161) 및 엔드 이펙터 모션 벡터(162)에 기초하여 파지 CNN(125)을 통해 생성된다. 일부 구현예들에서, STN 파라미터들은 선택적으로 자른 영역(cropped region)(예를 들어, 128.0/472.0의 고정 스케일)에 대한 고정 스케일을 갖는, 아핀 변환(affine transform)의 변환 계수와 같은 STN(126)에 대한 변환 파라미터들일 수 있다.
STN 파라미터들(178) 및 이미지(들)(161) 중 적어도 하나(예를 들어, 현재 이미지)는 STN(126)에 입력으로서 적용된다. STN(126)은 STN 파라미터들(178)에 기초하여 상기 적용된 이미지(들)(161)의 공간 변환인 공간 변환(179)을 생성하는데 이용된다. 일부 구현예들에서, 공간적으로 변환된 이미지(179)는 상기 적용된 이미지(들)(161)의 부분의 크롭(crop)이며, 그 부분은 승인된 STN 파라미터들(178)에 기초하여 선택된다. 일부 구현예들에서, 부가적인 및/또는 대안적인 변환들이 STN(126)을 통해 생성될 수 있다.
공간 변환(179)은 시맨틱 CNN(127)에 입력으로서 적용되고, 시맨틱 특징(들)(180)은 적용된 공간적으로 변환된 이미지(179)에 기초하여 시맨틱 CNN(127)을 통해 생성된다. 예를 들어, 상기 시맨틱 특징(들)(180)은, 공간적으로 변환된 이미지(179) 내의 대상물이, "지우개", "가위", "빗", "삽", "토치", "장난감", "헤어브러쉬"의 클래스 및/또는 더 크거나 작은 세분성의 클래스와 같은, 하나 이상의 클래스들 중 어느 클래스에 속하는지를 나타낼 수 있다.
로봇의 하나 이상의 프로세서는 엔드 이펙터 모션 벡터(162)를 실행할지, 파지를 시도할지, 또는 파지 측정치(177) 및 시맨틱 특징(들)(180)에 기초하여 보정 궤적(corrective trajectory)을 실행할지를 결정할 수있다. 하나 이상의 원하는 대상물 시맨틱 특징들이 제공될 수 있고(예를 들어, 사용자 인터페이스 입력을 통해), 그 시맨틱 특징들을 나타내는 시맨틱 특징들(들)(180) 및 그 파지 측정치(177) 및/또는 하나 이상의 기준을 만족하는 이전 반복의 파지 측정치에 기초하여 파지가 시도될 수 있다. 상기 시맨틱 파지 모델을 사용하는 구현예들에 대한 부가적인 설명은 도 7을 참조하여 아래에 제공된다.
도 3은 파지 시도들을 수행하고 파지 시도들과 연관된 데이터를 저장하는 예시적인 방법(300)을 도시하는 흐름도이다. 편의상, 흐름도의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 로봇들(180A, 180B, 825) 및/또는 다른 로봇의 프로세서 및/또는 로봇 제어 시스템과 같은 로봇의 하니 이상의 컴포넌트들을 포함할 수 있다. 또한, 방법(300)의 동작들은 특정 순서로 도시되지만, 이는 제한하려는 것이 아니다. 하나 이상의 동작들은 재정렬, 생략 또는 추가될 수 있다.
블록(352)에서, 상기 시스템은 파지 시도를 시작한다. 블록(354)에서, 상기 시스템은 이미지 내에 엔드 이펙터가 존재하지 않는 환경의 이미지를 저장한다. 예를 들어, 상기 시스템은 상기 파지 엔드 이펙터가 상기 비전 센서(즉, 환경의 시야를 가리지 않음)의 시야 밖으로 이동하고, 상기 파지 엔드 이펙터가 상기 시야에서 벗어난 경우에 이미지를 캡처할 수 있다. 그 다음, 상기 이미지는 저장되어 상기 파지 시도와 연관될 수 있다.
블록(356)에서, 상기 시스템은 엔드 이펙터 이동을 결정하고 실행한다. 예를 들어, 상기 시스템은 상기 엔드 이펙터의 포즈를 제어하는 하나 이상의 액츄에이터가 작동하게 하여 엔드 이펙터의 포즈를 변화시키도록 하나 이상의 모션 명령들을 생성할 수 있다.
일부 구현예들 및/또는 블록(356)의 반복에서, 모션 명령(들)은 엔드 이펙터에 의해 도달할 수 있는 작업 공간, 엔드 이펙터가 파지 시도를 위해 제한된 공간 및/또는 엔드 이펙터의 포즈를 제어하는 액츄에이터의 위치 및/또는 토크 제한으로 정의된 공간과 같은 소정의 공간 내에서 랜덤일 수 있다. 예를 들어, 신경망의 초기 학습이 완료되기 전에, 엔드 이펙터 이동을 구현하기 위해 블록(356)에서 시스템에 의해 생성된 모션 명령(들)은 소정의 공간 내에서 랜덤일 수 있다. 여기에 사용된 랜덤은 실제 랜덤(truly random) 또는 의사 랜덤(pseudo-random)을 포함할 수 있다.
일부 구현예들에서, 엔드 이펙터 이동을 구현하기 위해 블록(356)에서 시스템에 의해 생성된 모션 명령(들)은 학습된 파지 CNN의 현재 버전에 적어도 부분적으로 기초 및/또는 다른 기준에 기초할 수 있다. 일부 구현예들에서, 각각의 파지 시도에 대한 블록(356)의 제1 반복에서, 엔드 이펙터는 블록(354)에서 상기 시야 밖으로 이동되는 것에 기초하여 위치가 벗어날 수 있다. 이러한 구현예들 중 일부에서, 블록(356)의 제1 반복 전에, 상기 엔드 이펙터는 랜덤하게 또는 달리 "위치로 복귀"될 수 있다. 예를 들어, 엔드 이펙터는 세트 "시작 위치"로 되돌아가거나 및/또는 소정의 공간 내에서 랜덤하게 선택된 위치로 이동될 수 있다.
블록(358)에서, 상기 시스템은 (1) 파지 시도의 현재 인스턴스에서 엔드 이펙터 및 환경을 캡처하는 이미지 및 (2) 상기 현재 인스턴스에서 엔드 이펙터의 포즈를 저장한다. 예를 들어, 상기 시스템은 로봇과 연관된 비전 센서에 의해 생성된 현재 이미지를 저장할 수 있고 그리고 상기 이미지를 상기 현재 인스턴스(예를 들어, 타임스탬프)와 연관시킬 수 있다. 또한, 예를 들어, 상기 시스템은 위치가 로봇의 포즈에 영향을 미치는 로봇의 조인트들 중 하나 이상의 조인트 위치 센서들로부터의 데이터에 기초하여 엔드 이펙터의 현재 포즈를 결정할 수 있고, 상기 시스템은 그 포즈를 저장할 수 있다. 상기 시스템은 태스크-공간, 조인트-공간 또는 다른 공간에서 엔드 이펙터의 포즈를 결정하고 저장할 수 있다.
블록(360)에서, 상기 시스템은 상기 현재 인스턴스가 파지 시도의 최종 인스턴스인지 여부를 결정한다. 일부 구현예들에서, 상기 시스템은 블록(352, 354, 356, 또는 358)에서 인스턴스 카운터를 증가시키고 및/또는 시간이 경과함에 따라 시간(temporal) 카운터를 증가시키고 그리고 상기 카운터의 값과 임계치와의 비교하는 것에 기초하여 상기 현재 인스턴스가 최종 인스턴스인지를 결정할 수 있다. 예를 들어, 상기 카운터는 시간 카운터일 수 있고 그리고 상기 임계치는 3초, 4초, 5초 및/또는 다른 값일 수 있다. 일부 구현예들에서, 상기 임계치는 방법(300)의 하나 이상의 반복들 사이에서 변할 수 있다.
상기 시스템이 블록(360)에서 상기 현재 인스턴스가 파지 시도를 위한 최종 인스턴스가 아닌 것으로 결정하면, 상기 시스템은 블록(356)으로 되돌아가고, 다른 엔드 이펙터 이동을 결정하고 구현하는 경우, 블록(358)으로 진행하여 이미지 및 포즈를 상기 현재 인스턴스에서 저장한다. 소정의 파지 시도에 대해 블록(356, 358 및 360)의 다중 반복을 통해, 엔드 이펙터의 포즈는 블록(356)의 다중 반복과 각 인스턴스에 저장된 포즈 및 이미지에 의해 변경될 것이다. 많은 구현예들에서, 블록(356, 358, 360) 및/또는 다른 블록들이 상대적으로 높은 빈도로 수행될 수 있어, 각각의 파지 시도에 대해 비교적 많은 양의 데이터를 저장한다.
상기 시스템이 블록(360)에서 상기 현재 인스턴스가 파지 시도를 위한 최종 인스턴스라고 결정하면, 상기 시스템은 블록(362)으로 진행하여 엔드 이펙터의 그리퍼를 작동시킨다. 예를 들어, "impactive" 그리퍼 엔드 이펙터의 경우 상기 시스템에 의해 하나 이상의 판(plates), 손가락(digits) 및/또는 다른 부재들이 클로즈(close)될 수 있다. 예를 들어, 상기 시스템은 완전히 클로즈된 위치에 있을 때까지 또는 상기 부재들과 연관된 토크 센서(들)에 의해 측정된 토크 판독 측정치가 임계치를 만족할 때까지 상기 부재들을 클로즈하게 할 수 있다.
블록(364)에서, 상기 시스템은 추가 데이터를 저장하고 선택적으로 하나 이상의 추가 동작을 수행하여 블록(360)의 파지 성공의 결정을 가능하게 하고 및/또는 블록(360)에서 파지된 대상물(있는 경우)에 대한 파지된 대상물 특징들의 결정을 가능하게 한다. 일부 구현예들에서, 파지의 성공의 결정을 가능하게 할 수 있도록 저장된 추가 데이터는 위치 판독값, 토크 판독값 및/또는 파지 엔드 이펙터로부터의 다른 판독값이다. 예를 들어, 블록(362)에 후속하는 소정 임계치(예를 들어, 1 cm)보다 큰 위치 판독값은 성공적인 파지를 나타낼 수 있다(예를 들어, 파지 엔드 이펙터가 임계치를 초과하여 클로즈할 수 있기 때문에 파지 엔드 이펙터가 어떤 대상물을 파지하고 있음을 나타낼 수 있음). 일부 구현예들에서, 블록(360)에서 파지된 대상물에 대한 파지된 대상물 특징들의 결정을 가능하게 하기 위해 저장된 추가 데이터는 파지 시도중에 파지 가능한 모든 대상물에 의해 공유되는 하나 이상의 대상물 특징들의 인디케이션이다. 예를 들어, 파지 시도에서는 로봇의 작업 공간에서 화필(paintbrush)들만 사용할 수 있으며 "화필"의 분류를 나타내는 대상물 특징이 저장될 수 있다. 파지 시도에서 모든 대상물들에 의해 공유되는 대상물 특징(들)은 오퍼레이터가 제공한 인디케이션 및/또는 감지된 인디케이션(예를 들어, 작업 공간에 제공되고 그리고 대상물 특징(들)을 나타내는 비전 센서에 의해 캡처된 기계 판독가능 코드)에 기초하여 결정될 수 있다.
일부 구현예들에서, 블록(364)에서 상기 시스템은 부가적으로 및/또는 대안으로 (1) 작동된(예를 들어, 클로즈된) 위치에서 엔드 이펙터를 유지하고 그리고 엔드 이펙터 및 엔드 이펙터에 의해 파지될 수 있는 임의의 대상물을 비전 센서에 가까운 위치로 이동시키고; 그리고 (2) 엔드 이펙터(및 임의의 파지된 대상물)가 비전 센서에 가까운 위치에 있을 때 상기 비전 센서로 이미지를 캡처한다. 이러한 구현예들 중 일부에서, 상기 시스템은 일단 파지가 잠정적으로 성공적이라는 다른 데이터에 기초하여 결정되면(예를 들어, 위치 판독값이 성공적인 파지를 나타내는 경우) 엔드 이펙터를 이동시키고 및/또는 그러한 이미지를 캡처할 수 있다. 본 명세서에 기술된 바와 같이, 이러한 캡쳐된 이미지는 그 후에 상기 파지 시도가 성공적이었는지를 결정 및/또는 상기 엔드 이펙터에 의해 파지된 상기 대상물의 하나 이상의 파지된 대상물 특징들을 결정하는데 이용될 수 있다. 예를 들어, 상기 캡쳐된 이미지는 하나 이상의 인간 검토자들의 컴퓨팅 장치에 제공될 수 있으며, 그 하나 이상의 인간 검토자들은 그 컴퓨팅 장치를 이용하여 상기 캡쳐된 이미지에 기초하여 상기 파지가 성공했는지를 나타내는 및/또는 상기 캡처된 이미지에서 파지된 상기 대상물의 하나 이상의 파지된 대상물 특징들을 나타낸다. 또한, 예를 들어, 상기 캡쳐된 이미지(또는 그에 대한 공간 변환)는 학습된 시맨틱 CNN(시맨틱 CNN(127)과 선택적으로 분리됨)에 적용될 수 있고, 파지된 대상물의 하나 이상의 파지된 대상물 특징들을 결정하도록 학습된 시맨틱 CNN을 통해 생성된 출력일 수 있다.
블록(366)에서, 상기 시스템은 카운터(예를 들어, 인스턴스 카운터 및/또는 시간 카운터)를 리셋하고, 블록(352)으로 다시 진행하여 또 다른 파지 시도를 시작한다.
일부 구현예들에서, 도 3의 방법(300)은 복수의 로봇들 각각에서 구현될 수 있으며, 선택적으로 방법(300)의 각각의 반복 중 하나 이상(예를 들어, 모두) 동안 병렬로 동작할 수 있다. 이는 단지 하나의 로봇이 방법(300)을 동작시키는 것보다 소정의 시간 내에 더 많은 파지 시도들이 달성되도록 할 수 있다. 또한, 복수의 로봇들 중 하나 이상이 로봇들 중 다른 하나와 연관된 하나 이상의 비전 센서들의 포즈로부터 고유한 로봇에 대한 포즈를 갖는 연관된 비전 센서를 포함하는 구현예들에서, 복수의 로봇으로부터의 파지 시도들에 기초하여 생성된 학습 사례들은 이들 학습 사례들에 기초하여 학습된 신경망에서의 비전 센서 포즈에 강건성(robustness)을 제공할 수 있다. 또한, 파지 엔드 이펙터 및/또는 복수의 로봇의 다른 하드웨어 컴포넌트들이 다양하고 및/또는 다르게 착용하고, 및/또는 상이한 로봇들(예를 들어, 동일한 제조사 및/또는 모델 및/또는 상이한 제조사 및/또는 모델)이 상이한 대상물들(예를 들어, 상이한 크기, 상이한 중량, 상이한 형상, 상이한 반투명, 상이한 재료의 대상물들) 및/또는 상이한 환경들(예를 들어, 상이한 표면, 상이한 조명, 상이한 환경적 장애물들)과 상호 작용하는 구현예들에서, 복수의 로봇으로부터의 파지 시도들에 기초하여 생성된 학습 사례들은 다양한 로봇 및/또는 환경 구성에 강건성을 제공할 수 있다.
일부 구현예들에서, 소정의 로봇에 의해 도달 가능하고 파지 시도들이 이루어질 수 있는 대상물들은 방법(300)의 상이한 반복 동안 다를 수 있다. 예를 들어, 인간 오퍼레이터 및/또는 다른 로봇은 로봇의 하나 이상의 파지 시도들 사이에 로봇의 작업공간에 대상물들을 추가 및/또는 제거할 수 있다. 또한, 예를 들어, 로봇 자체는 그 대상물들을 성공적으로 파지한 후에 그 작업공간 밖으로 하나 이상의 대상물들을 떨어뜨릴 수 있다. 이는 학습 데이터의 다양성을 증가시킬 수 있다. 일부 구현예들에서, 조명, 표면(들), 장애물들 등과 같은 환경 요인들은 방법(300)의 상이한 반복 동안 추가로 및/또는 대안적으로 다를 수 있으며, 이는 또한 학습 데이터의 다양성을 증가시킬 수 있다.
도 4는 로봇의 파지 시도들과 연관된 데이터에 기초하여 학습 사례들을 생성하는 예시적인 방법(400)을 나타내는 흐름도이다. 편의상, 흐름도의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 로봇(180A, 180B, 825)의 프로세서 및/또는 로봇 제어 시스템 및/또는 학습 사례 생성 시스템(110)의 프로세서 및/또는 선택적으로 로봇과 별도로 구현될 수 있는 다른 시스템과 같은 로봇 및/또는 다른 컴퓨터 시스템의 하나 이상의 컴포넌트들을 포함할 수 있다. 또한, 방법(400)의 동작들이 특정 순서로 도시되어 있지만, 이에 한정되는 것은 아니다. 하나 이상의 동작들은 재정렬, 생략 또는 추가될 수 있다.
블록(452)에서, 상기 시스템은 학습 사례 생성을 시작한다. 블록(454)에서, 상기 시스템은 파지 시도를 선택한다. 예를 들어, 상기 시스템은 복수의 저장된 파지 시도들과 연관된 데이터를 포함하는 데이터베이스에 액세스할 수 있고, 저장된 파지 시도들 중 하나를 선택할 수 있다. 상기 선택된 파지 시도는, 예를 들어, 도 3의 방법(300)에 기초하여 생성된 파지 시도일 수 있다.
블록(456)에서, 상기 시스템은 상기 선택된 파지 시도에 대해 저장된 데이터에 기초하여 상기 선택된 파지 시도에 대한 파지 성공 라벨 및 선택적으로 파지된 대상물 라벨(들)을 결정한다. 예를 들어, 방법(300)의 블록(364)과 관련하여 기술된 바와 같이, 파지 시도에 대한 파지 성공 라벨 및/또는 파지된 대상물 라벨들의 결정을 가능하게 하는 추가 데이터가 파지 시도를 위해 저장될 수 있다. 상기 저장된 데이터는 하나 이상의 센서로부터의 데이터를 포함할 수 있으며, 상기 데이터는 파지 시도 동안 및/또는 파지 시도 후에 생성된다.
하나의 예로서, 상기 데이터는 위치 판독값, 토크 판독값 및/또는 파지 엔드 이펙터로부터의 다른 판독값일 수 있다. 이러한 예에서, 상기 시스템은 상기 판독값(들)에 기초하여 파지 성공 라벨을 결정할 수 있다. 예를 들어, 상기 판독값이 위치 판독값인 경우, 상기 시스템은, 상기 판독값이 소정 임계치(예를 들어, 1 cm)보다 크면 "성공적인 파지" 라벨을 결정할 수 있고, 상기 판독값이 소정 임계치(예를 들어, 1 cm)보다 작으면 "실패한 파지" 라벨을 결정할 수 있다.
또 다른 예로서, 상기 데이터는 파지 시도에서 파지된 대상물을 파지하는 엔드 이펙터의 이미지일 수 있다. 예를 들어, 상기 이미지는 엔드 이펙터 및 엔드 이펙터에 의해 파지될 수 있는 임의의 대상물이 비전 센서에 가까운 위치로 이동된 후에 비전 센서에 의해 캡쳐될 수 있다. 이러한 예에서, 상기 시스템은 상기 캡처된 이미지를 이용하여 상기 파지 시도가 성공적이었는지를 결정하고 및/또는 엔드 이펙터에 의해 파지된 대상물의 하나 이상의 파지된 대상물 특징을 결정할 수 있다. 예를 들어, 상기 시스템은 상기 캡처된 이미지에 기초하여 그 파지가 성공적이었는지 및/또는 상기 캡처된 이미지에서 파지된 대상물의 하나 이상의 파지된 대상물 특징을 나타내도록 컴퓨팅 장치들을 이용할 수 있는 하나 이상의 인간 검토자들의 그 컴퓨팅 장치들에 상기 캡처된 이미지를 제공할 수 있다. 또 다른 예로서, 상기 시스템은 상기 캡처된 이미지를 학습된 시맨틱 CNN에 적용하고, 학습된 시맨틱 CNN을 통해 출력을 생성하고, 그 출력을 이용하여 파지되는 대상물의 하나 이상의 파지된 대상물 특징을 결정할 수 있다.
결정될 수 있는 파지된 대상물 라벨들의 한 예로서, 상기 파지된 대상물 라벨들은 상기 파지된 대상물이 하나 이상의 분류 그룹 중 각각을 갖는지 여부를 나타낼 수 있다. 예를 들어, 상기 파지된 대상물 라벨들은 상기 파지된 대상물이 그 그룹의 "펜" 분류를 가질 수 있지만 그 그룹의 다른 분류는 없음을 나타낼 수 있다.
블록(456)의 일부 반복에서, 상기 시스템은 상기 파지 시도에 대한 파지 성공 라벨만 결정한다. 블록(456)의 다른 반복에서, 상기 시스템은 부가적으로 또는 대안적으로 상기 파지 시도에 대한 파지된 대상물 라벨(들)을 결정한다. 소정의 반복에서 상기 시스템이 파지 시도에 대한 파지 성공 라벨 및/또는 파지된 대상물 라벨(들)은 다양한 요인들에 기초할 수 있다. 예를 들어, 블록(456)의 일부 반복에서, 파지 시도에 대한 파지가 성공적이지 않은 경우에만 파지 성공 라벨이 결정된다. 또한, 예를 들어, 블럭(456)의 일부 반복에서, 파지 CNN만 학습시키고 결정된 파지 성공 라벨만 훈련시키는 학습 사례들을 생성하는 것이 바람직할 수 있다. 또한, 예를 들어, 블럭(456)의 일부 반복에서, 파지 CNN 및 시맨틱 CNN 및 결정된 파지 성공 라벨 및 파지된 대상물 라벨(들) 모두를 훈련시키기 위한 학습 사례들을 생성하는 것이 바람직할 수 있다. 또한, 예를 들어, 일부 상황에서, 소정의 반복에서 학습 사례들을 위한 파지 대상물 라벨(들)을 또한 생성하는 것이 바람직한지를 결정할 때 계산 비용(computational cost) 및/또는 다른 비용이 고려될 수 있다.
블록(458)에서, 상기 시스템은 파지 시도에 대한 인스턴스를 선택한다. 예를 들어, 상기 시스템은 타임스탬프 및/또는 파지 시도의 다른 인스턴스와 구별되는 데이터와 연관된 다른 구분(demarcation)에 기초하여 상기 인스턴스와 연관된 데이터를 선택할 수 있다.
블록(460)에서, 상기 시스템은 상기 인스턴스에서의 엔드 이펙터의 포즈 및 상기 파지 시도의 최종 인스턴스에서의 엔드 이펙터의 포즈에 기초하여 상기 인스턴스에 대한 엔드 이펙터 모션 벡터를 생성한다. 예를 들어, 상기 시스템은 현재 포즈와 파지 시도의 최종 포즈 사이의 변환을 결정하고 그리고 그 변환을 엔드 이펙터 모션 벡터로 사용할 수 있다. 상기 현재 포즈에서 파지 시도의 최종 포즈까지의 엔드 이펙터 모션 벡터 및 현재 포즈는 작업공간, 공동 공간 또는 다른 공간에서 나타낼 수 있다. 예를 들어, 상기 엔드 이펙터 모션 벡터는 태스크 공간에서 5개의 값으로 나타낼 수 있으며, 5개의 값은 3차원(3D) 변환 벡터(translation vector)를 정의하는 3개의 값, 및 엔드 이펙터의 축에 대한 엔드 이펙터의 방향 변화의 사인-코사인 인코딩을 나타내는 두 개의 값이다.
블록(462)에서, 상기 시스템은 (1) 인스턴스에 대한 저장된 이미지, (2) 블록(460)에서 인스턴스에 대해 생성된 엔드 이펙터 모션 벡터, 및 (3) 파지 성공 라벨 및/또는 블록(456)에서 결정된 파지된 대상물 라벨(들)을 포함하는 인스턴스에 대한 학습 사례를 생성한다. 일부 구현예들에서, 상기 시스템은 엔드 이펙터를 적어도 부분적으로 생략하고 그리고 파지 시도 전에 캡처된 것과 같이, 파지 시도를 위해 저장된 추가 이미지를 또한 포함하는 학습 사례를 생성한다. 이러한 구현예들 중 일부에서, 상기 시스템은 학습 사례에 대한 연결 이미지(concatenated image)를 생성하도록 파지된 시도에 대한 저장된 추가 이미지 및 상기 인스턴스에 대한 저장된 이미지를 연결한다. 상기 연결 이미지는 인스턴스에 대한 저장된 이미지와 상기 저장된 추가 이미지 모두를 포함한다. 예를 들어, 두 이미지가 X × Y 픽셀과 세 개의 채널(예를 들어, 적색, 청색, 녹색)을 포함하는 경우, 상기 연결 이미지는 X × Y 픽셀과 여섯 개의 채널(각 이미지에서 세 개)을 포함할 수 있다. 본 명세서에 기술된 바와 같이, 현재 포즈로부터 학습 사례들의 파지 시도의 최종 포즈까지의 벡터, 상기 현재 이미지, 상기 추가 이미지가 학습 사례 입력으로서 이용될 수 있으며, 파지 성공 라벨 및/또는 파지된 대상물 라벨(들)은 학습 사례 출력(들)으로서 이용될 수 있다.
일부 구현예들에서, 블록(462)에서 상기 시스템은 선택적으로 상기 이미지(들)를 처리할 수 있다. 예를 들어, 상기 시스템은 하나 이상의 네트워크의 입력 계층의 정의된 크기에 맞도록 상기 이미지의 크기를 선택적으로 조정할 수 있고, 상기 이미지로부터 하나 이상의 채널을 제거하고 및/또는 깊이 채널(depth channel)(들)(이미지가 깊이 채널을 포함하는 구현예들에서)에 대한 값들을 정규화할 수 있다.
블록(464)에서, 상기 시스템은 상기 선택된 인스턴스가 파지 시도의 최종 인스턴스인지 여부를 결정한다. 상기 시스템이 상기 선택된 인스턴스가 파지 시도의 최종 인스턴스가 아니라고 결정하면, 상기 시스템은 블록(458)으로 되돌아가서 다른 인스턴스를 선택한다.
상기 시스템이 상기 선택된 인스턴스가 파지 시도의 최종 인스턴스라고 결정하면, 상기 시스템은 블록(466)으로 진행하여 처리할 추가적인 파지 시도가 있는지 여부를 결정한다. 상기 시스템이 처리할 추가적인 파지 시도가 있다고 결정하면, 상기 시스템은 블록(454)으로 되돌아가 다른 파지 시도를 선택한다. 일부 구현예들에서, 처리할 추가적인 파지 시도들이 있는지의 여부를 결정하는 것은 미처리된 파지 시도들이 남아있는지를 결정하는 것을 포함할 수 있다. 일부 구현예들에서, 처리할 추가적인 파지 시도들이 있는지 여부를 결정하는 것은 부가적으로 및/또는 대안으로 임계 수의 학습 사례들이 이미 생성되었는지 및/또는 다른 기준이 만족되었는지를 결정하는 것을 포함할 수 있다.
상기 시스템이 처리할 추가적인 파지 시도들이 없다고 결정하면, 상기 시스템은 블록(466)으로 진행하고 방법(400)은 종료한다. 방법(400)의 또 다른 반복이 다시 수행될 수 있다. 예를 들어, 방법(400)은 수행되는 추가적인 파지 시도들의 임계 수에 적어도 응답하여 다시 수행될 수 있다.
명료함을 위해 방법(300) 및 방법(400)이 본 명세서의 개별 도면들에 도시되어 있지만, 방법(400)의 하나 이상의 블록은 방법(300)의 하나 이상의 블록을 수행하는 동일한 컴포넌트(들)에 의해 수행될 수 있음이 이해된다. 예를 들어, 방법(400) 및 방법(300)의 블록들 중 하나 이상(예를 들어, 모두)은 로봇의 프로세서(들)에 의해 수행될 수 있다. 또한, 방법(400)의 하나 이상의 블럭은 방법(300)의 하나 이상의 블럭과 조합하여 수행되거나, 또는 방법(300)의 하나 이상의 블럭에 선행하여 또는 후속하여 수행될 수 있다.
도 5는 학습 사례들에 기초하여 시맨틱 파지 모델의 하나 이상의 네트워크를 훈련시키는 예시적인 방법(500)을 도시한 흐름도이다. 편의상, 흐름도의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 시맨틱 파지 모델(124)의 네트워크(125, 126 및 127)를 통해 동작하는 학습 엔진(120) 및/또는 다른 컴퓨터 시스템의 프로세서(예를 들어, GPU)와 같은 컴퓨터 시스템의 하나 이상의 컴포넌트를 포함할 수 있다. 또한, 방법(500)의 동작들은 특정 순서로 도시되지만, 이를 제한하려는 의미는 아니다. 하나 이상의 동작들은 재정렬, 생략 또는 추가될 수 있다.
블록(552)에서, 상기 시스템이 학습을 시작한다. 블록(554)에서, 상기 시스템은 학습 사례를 선택한다. 예를 들어, 상기 시스템은 도 4의 방법(400)에 기초하여 생성된 학습 사례를 선택할 수 있다.
블록(556)에서, 상기 시스템은 학습 사례의 인스턴스에 대한 이미지 및 선택된 학습 사례에 대한 추가 이미지를 파지 CNN의 초기 계층에 적용한다. 예를 들어, 상기 시스템은 파지 CNN의 초기 콘볼루션 계층에 상기 이미지를 적용할 수 있다. 본 명세서에 기술된 바와 같이, 상기 추가 이미지는 적어도 부분적으로 엔드 이펙터를 생략할 수 있다. 일부 구현예들에서, 상기 시스템은 상기 이미지와 상기 추가 이미지를 연결하고 그 연결된 이미지를 상기 초기 계층에 적용한다. 일부 다른 구현예들에서, 상기 이미지 및 추가 이미지는 상기 학습 사례에서 미리 연결된다.
블록(558)에서, 상기 시스템은 상기 선택된 학습 사례의 엔드 이펙터 모션 벡터를 파지 CNN의 추가 계층에 적용한다. 예를 들어, 상기 시스템은 상기 이미지들이 블록(556)에서 적용되는 초기 계층의 다운스트림인 파지 CNN의 추가 계층에 엔드 이펙터 모션 벡터를 적용할 수 있다. 일부 구현예들에서, 엔드 이펙터 모션 벡터를 추가 계층에 적용하기 위해,
상기 시스템은 엔드 이펙터 모션 벡터를 완전히 연결된 게층을 통해 전달하여 엔드 이펙터 모션 벡터 출력을 생성하고, 그리고 엔드 이펙터 모션 벡터 출력을 파지 CNN의 인접 업스트림(immediately upstream) 계층으부터의 출력과 연결시킨다. 상기 업스트림 계층은 엔드 이펙터 모션 벡터가 적용되는 상기 추가 계층의 인접 업스트림이며, 선택적으로 블록(556)에서 상기 이미지들이 적용되는 초기 계층으로부터의 다운스트림의 하나 이상의 계층이 될 수 있다. 일부 구현예들에서, 상기 초기 계층은 콘벌루션 계층이고, 상기 업스트림 계층은 풀링(pooling) 계층이고, 상기 추가 계층은 콘벌루션 계층이다.
블록(560)에서, 상기 시스템은 학습 사례의 파지 성공 라벨에 기초하여 파지 CNN의 하나 이상의 계층에서 역전파를 수행한다. 예를 들어, 상기 시스템은 블록(558)의 적용에 기초하여 파지 CNN을 통해 성공적인 파지의 예측된 측정치를 생성할 수 있고, 성공적인 파지의 예측된 측정치와 학습 사례의 파지 성공 라벨의 비교에 기초한 에러를 결정하고, 파지 CNN의 하나 이상의 계층을 통해 상기 에러를 역전파(backpropagate)한다.
블록들(562, 564, 및 566)은 이제 설명된다. 이들 블록은 방법(500)의 모든 반복에서 수행될 수 없기 때문에 도 5에서 점선으로 표시된다. 예를 들어, 방법(500)의 일부 반복에서, 파지 CNN만이 학습될 수 있고, 블록들(554, 556, 558 및 560)(블록 562, 564, 566의 수행없이)의 수행에 기초한 반복에서 학습될 수 있다. 예를 들어, 블록(554)에서 선택된 일부 학습 사례들은 파지 대상물 라벨들을 포함하지 않을 수 있고, 그 결과, 학습 사례들에 기초한 블록(562, 564 및 566)의 수행없이 그 학습 사례들에 기초하여 파지 CNN의 학습이 수행될 수 있다.
블록(562)에서, 상기 시스템은 학습 사례의 이미지 및 STN 파라미터들을 STN에 적용하여 이미지의 공간 변환을 생성한다. 상기 STN 파라미터들은 블록(558)의 적용에 기초하여 상기 시스템에 의해 파지 CNN을 통해 생성된다. 예를 들어, 블록(558)의 적용에 기초하여, 성공적인 파지의 예측된 측정치 및 STN 파라미터들 모두가 생성될 수 있다.
블록(564)에서, 상기 시스템은 블록(562)에서 생성된 상기 공간 변환을 시맨틱 CNN에 적용한다.
블록(566)에서, 상기 시스템은 학습 사례의 파지된 대상물 라벨(들)에 기초하여 STN 및/또는 시맨틱 CNN의 역전파를 수행한다. 예를 들어, 상기 시스템은 블록(564)의 적용에 기초하여 시맨틱 CNN을 통해 공간적으로 변환된 이미지 내에 존재하는 대상물(들)의 예측된 시맨틱 대상물 특징(들)을 생성하고, 학습 사례의 파지된 대상물 라벨(들)과 상기 예측된 시맨틱 대상물 특징(들)의 비교에 기초하여 에러를 결정하고, 시맨틱 CNN의 하나 이상의 계층을 통해 상기 에러를 역전파할 수 있다. 일부 구현예들에서, 상기 에러는 파지 CNN의 STN 파라미터 계층(들)을 통해 (그러나 선택적으로 파지 CNN의 다른 계층들을 통하지 않고) 추가 역전파될 수 있다. STN 파라미터 계층(들) 및 STN의 역전파는, 학습 동안에 다수의 반복을 통해, STN 파라미터 및/또는 STN이 적응되도록 하여 파지될 위치/영역인 공간적으로 변환된 이미지들이 생성하도록 할 수 있다.
블록(568)에서, 상기 시스템은 추가 학습 사례들이 있는지 여부를 결정한다. 상기 시스템이 추가적인 학습 사례들이 있다고 결정하면, 상기 시스템은 블럭(554)으로 되돌아가서 다른 학습 사례를 선택한다. 일부 구현예들 에서, 추가적인 학습 사례들이 존재하는지 여부를 결정하는 것은 시맨틱 파지 모델의 하나 이상의 네트워크를 학습시키는데 사용되지 않은 나머지 임의의 학습 사례들이 존재하는지 여부를 결정하는 것을 포함할 수 있다. 일부 구현예들에서, 추가적인 학습 사례들이 존재하는지 여부를 결정하는 것은 추가적인 및/또는 대안으로, 임계 수의 학습 사례들이 이용되었는지 및/또는 다른 기준이 만족되었는지를 결정하는 것을 포함할 수 있다.
상기 시스템이 추가 학습 사례들이 없고 및/또는 상기 다른 기준이 만족되었다고 결정한 경우, 상기 시스템은 블록(570) 또는 블록(572)으로 진행한다.
블록(572)에서, 시맨틱 파지 모델의 학습이 종료될 수 있다. 그 다음, 상기 시맨틱 파지 모델은 파지 엔트 이펙터에 의해 대상물의 성공적인 파지를 달성하기 위해 파지 엔드 이펙터를 서보(servoing)할 때 하나 이상의 로봇에 의한 사용을 위해 제공될 수 있다. 예를 들어, 로봇은 도 7의 방법(700)을 수행함에 있어 시맨틱 파지 모델을 이용할 수 있다.
블록(572)에서, 상기 시스템은 상기 학습된 파지 CNN에 기초하여 추가적인 학습 사례들을 생성하도록 학습된 파지 CNN을 부가적으로 및/또는 대안적으로 제공할 수 있다. 예를 들어, 하나 이상의 로봇은 추가적인 학습 사례들을 생성하기 위해 이용된 이러한 파지 시도들로부터의 데이터 및 파지 시도들을 수행하는데 학습된 파지 CNN을 이용할 수 있다. 예를 들어, 하나 이상의 로봇은 도 7의 방법 (700)의 일부 블록들 및 도 4의 방법(400)에 기초하여 추가적인 학습 사례들을 생성하기 위해 이용된 그러한 파지 시도들로부터의 데이터에 기초하여 파지 시도들을 수행하는데 학습된 파지 CNN을 이용할 수 있다. 추가적인 학습 사례들을 생성하기 위해 데이터가 이용되는 로봇은 학습 세업(training set up)/실험실에서의 로봇일 수 있고 및/또는 하나 이상의 소비자에 의해 실제 사용되는 로봇일 수 있다.
블록(574)에서, 상기 시스템은 블록(572)에서 학습된 파지 CNN을 제공하는 것에 응답하여 생성된 추가적인 학습 사례들에 기초하여 시맨틱 파지 모델의 하나 이상의 네트워크의 추가 학습을 수행할 수 있다. 예를 들어, 상기 시스템은 추가 학습 사례들에 기초하여 블록(554, 556, 558, 및 560)(및 선택적으로 블록(562, 564, 및 566))의 추가 반복을 수행할 수 있다.
블록(574)에서 블록(572)으로 확장하는 화살표로 표시된 바와 같이, 업데이트된 파지 CNN은 블록(572)에서 다시 제공되어 추가적인 학습 사례들을 생성할 수 있으며, 그 학습 사례들은 블록(574)에서 시맨틱 파지 모델의 하나 이상의 네트워크를 더 학습시키는데 이용된다. 일부 구현예들에서, 블록(572)의 향후 반복들과 연관하여 수행된 파지 시도들은 이전 반복에서 수행된 시도들 및/또는 학습된 파지 CNN을 사용하지 않고 수행된 시도들보다 시간적으로 더 긴 파지 시도들일 수 있다. 예를 들어, 학습된 파지 CNN의 활용없이 수행된 도 3의 방법(300)의 구현예들은 시간적으로 가장 짧은 파지 시도들이 있을 수 있으며; 초기에 학습된 파지 CNN으로 수행된 것은 일시적으로 더 긴 파지 시도들을 가질 수 있으며; 학습된 파지 CNN의 다음 반복으로 수행되는 것은 시간적으로 더 긴 파지 시도들 등을 수행할 수 있다. 이는 방법(300)의 선택적 인스턴스 카운터 및/또는 시간 카운터를 통해 선택적으로 구현될 수 있다.
또한, 도 6a 및 도 6b는 다양한 구현예들의 파지 CNN(600)의 예시적인 아키텍처를 도시한다. 도 6 a 및 도 6b의 파지 CNN(600)은 도 5의 방법(500)에 기초하여 학습될 수 있는 파지 CNN의 예이다. 도 6a 및 도 6b의 파지 CNN(600)은 일단 학습되면, 도 7의 방법(700)에 기초한 파지 엔드 이펙터의 서보에 이용될 수 있는 파지 CNN의 추가 예이다. 일반적으로, 콘볼루션 신경망은 입력 계층, 하나 이상의 콘볼루션 계층, 임의의 가중치 및/또는 다른 계층들, 및 출력 계층을 포함하는 다층 학습 프레임워크이다. 학습 도중 콘볼루션 신경망은 특징 표현의 계층 구조를 학습하도록 훈련된다. 네트워크의 콘벌루션 계층들은 필터들과 콘벌루션되며 선택적으로 풀링 계층들에 의해 다운 샘플링된다. 일반적으로, 상기 풀링 계층들은 최대, 최소, 및/또는 정규화 샘플링과 같은 하나 이상의 다운샘플링 함수들에 의해 작은 영역에서 값들을 집합시킨다.
파지 CNN(600)은 콘벌루션 계층인 초기 입력 계층(663)을 포함한다. 일부 구현예들에서, 초기 입력 계층(663)은 스트라이드(stride) 2 및 64개의 필터를 갖는 6x6 콘볼루션 계층이다. 엔드 이펙터를 갖는 이미지(661A) 및 엔드 이펙터가 없는 이미지(661B)가 또한 도 6a에 도시된다. 또한, 이미지들(661A 및 661B)은 연결되고(각각으로부터 연장하는 병합 라인들에 의해 표현되는) 그 연결 이미지가 초기 입력 계층(663)에 공급되는 것으로 도시된다. 일부 구현예들에서, 이미지들(661A 및 661B)은 각각 472 픽셀, 472 픽셀, 3채널(예를 들어, 깊이 채널, 제1 컬러 채널, 제2 컬러 채널, 제3 컬러 채널로부터 선택될 수 있는 3개의 채널)일 수 있다. 따라서, 상기 연결 이미지는 472 픽셀, 472 픽셀, 6채널이 될 수 있다. 다른 픽셀 크기 또는 더 많거나 적은 채널과 같은 다른 크기가 사용될 수 있다. 이미지들(661A 및 661B)은 초기 입력 계층(663)에 콘벌루션된다. CNN(600)의 초기 입력 계층 및 다른 계층들의 기능들의 가중치들은 다수의 학습 사례들에 기초하여 파지 CNN(600)의 훈련 중에 학습된다.
초기 입력 계층(663) 다음에는 최대-풀링 계층(664)이 뒤따른다. 일부 구현예들에서, 최대-풀링 계층(664)은 64개의 필터들을 갖는 3x3 최대 풀링 계층이다. 최대-풀링 계층(664) 다음에는 6개의 콘볼루션 계층이 이어지고, 그 중 2개는 도 6a의 665 및 666에 의해 도시된다. 일부 구현예들에서, 6개의 콘볼루션 계층은 각각 64개의 필터를 갖는 5x5 콘볼루션 계층이다. 콘볼루션 계층(666) 다음에는 최대 풀링 계층(667)이 뒤따른다. 일부 구현예들에서, 최대-풀링 계층(667)은 64개의 필터들을 갖는 3x3 최대 풀링 계층이다.
엔드 이펙터 모션 벡터(662)는 또한 도 6a에 도시된다. 엔드 이펙터 모션 벡터(662)는 (도 6a의 "+"로 나타낸 바와 같이) 최대-풀링 계층(667)의 출력과 연결되고, 그 연결된 출력은 콘벌루션 계층(670)(도 6b)에 적용된다. 일부 구현예들에서, 엔드 이펙터 모션 벡터(662)를 최대-풀링 계층(667)의 출력과 연결하는 것은 완전히 연결된 계층(668)에 의해 엔드 이펙터 모션 벡터(662)를 프로세싱하는 것을 포함하며, 그 출력은 타일링된 벡터(tiled vector)(669)를 통해 공간 차원에 걸쳐 상기 출력을 타일링함으로써 최대-풀링(Max-Pool) 계층(667)의 응답 맵의 각 포인트에 포인트별로 더해진다. 즉, 엔드 이펙터 모션 벡터(662)는 완전히 연결된 계층(668)을 통과하고 타일링된 벡터(669)를 통해 최대-풀링 계층(667)의 응답 맵의 공간 차원을 통해 복제(replicated)된다.
도 6b에서, 엔드 이펙터 모션 벡터(662)와 최대 풀링 계층(667)의 출력의 연결은 콘볼루션 계층(670)에 제공되고, 이는 5개 이상의 콘볼루션 계층이 뒤따른다(이들 5개 중 마지막 콘볼루션 계층(671)은 도 6b에 도시되어 있지만, 나머지 4개는 아니다). 일부 구현예들에서, 콘벌루션 계층들(670 및 671), 및 상기 4개의 콘벌루션 계층은 각각 64개의 필터를 갖는 3x3 콘볼루션 계층이다.
콘볼루션 계층(671) 다음에는 최대-풀링 계층(672)이 뒤따른다. 일부 구현예들에서, 최대 풀링 계층(672)은 64개의 필터를 갖는 2×2 최대 풀링 계층이다. 최대 풀링 계층(672) 다음에 3개의 콘볼루션 계층이 뒤따르고, 그 중 2개는 도 6a의 673 및 674에 의해 도시된다.
파지 CNN(600)의 최종 콘볼루션 계층(674)은 차례로 제2 완전(fully) 연결 계층(676)에 완전 연결된 제1 완전 연결 계층(675)에 완전 연결된다. 완전 연결된 계층들(675 및 676)은 크기 64의 벡터들과 같은 벡터들일 수 있다. 제2 완전 연결 계층(676)의 출력은 성공적인 파지의 측정치(677)를 생성하는데 이용된다. 예를 들어, 측정치(677)을 생성하고 출력하는 데 시그모이드(Sigmoid)가 사용될 수 있다.
제2 완전 연결 계층(676)의 출력은 또한 STN 파라미터들(678)을 생성하는데 이용된다. 예를 들어, 시그모이그가 STN 파라미터들(678)을 생성하고 출력하는데 이용될 수 있다. 일부 구현예들에서, 분리된 완전 연결 계층(들)은 최종 콘볼루션 계층(674)에 완전 연결될 수 있고, 완전 연결된 계층(들)은 STN 파라미터들(678)(성공적인 파지의 측정치(677)를 생성하기 위해 별도로 완전 연결 계층들(675 및 676)이 개별적으로 이용되는 동안)을 생성하는데 이용되는 STN 계층(들)일 수 있다.
도 6c는 공간 변환 네트워크(126) 및 시맨틱 콘볼루션 신경망(127), 네트워크에 적용될 수 있는 예시적인 입력들 및 네트워크를 통해 생성될 수 있는 예시적인 출력들을 나타낸다. 명시적으로 도시되지는 않았지만, 많은 구현예들에서, STN(126) 및 시맨틱 CNN(127)은 각각 콘볼루션 계층들, 풀링 계층들 및/또는 다른 계층들과 같은 복수의 계층을 가질 것이다.
도 6c를 참조하면, 도 6a 및 도 6b의 파지 CNN(600)에 기초하여 생성된 STN 파라미터들(678)은 STN(126)에 입력으로서 적용된다. 또한, 상기 엔드 이펙터(661A)를 갖는 이미지는 또한 STN(126)에 입력으로서 적용된다. 공간 변환(679)은 상기 적용된 STN 파라미터들(678) 및 이미지(661A)에 기초하여 STN(126)을 통해 생성된다.
공간 변환(679)은 시맨틱 CNN(127)에 입력으로서 적용된다. 시맨틱 특성(들) (680)은 변환된 이미지(679)의 적용에 기초하여 시맨틱 CNN(127)을 통해 생성된 출력에 기초하여 생성된다. 예를 들어, 시맨틱 CNN(127)의 출력은 N 값들을 갖는 벡터일 수 있으며, 상기 값들 각각은 변환된 이미지(679)의 대상물이 상기 값에 대응하는 분류를 갖는지 여부를 나타낸다.
파지 CNN(600)을 학습시키는 일부 구현에서, STN(126), 및/또는 시맨틱 CNN(127)은 에포크(epoch), 학습 속도, 가중치 감소, 드롭아웃(dropout) 확률 및/또는 다른 파라미터들에 대한 다양한 값들을 이용할 수 있다. 일부 구현예들에서, 하나 이상의 GPU는 파지 CNN(600), STN(126) 및/또는 시맨틱 CNN(127)을 학습 및/또는 이용하기 위해 활용될 수 있다. 파지 CNN(600), STN(126), 및 시맨틱 CNN(127)의 특정 아키텍처 및 배열이 도 6a,도 6b 및 도 6c에 도시되어 있지만, 도 6a,도 6b 및 도 6c의 변형예들이 가능하다. 예를 들어, 보다 많거나 적은 콘볼루션 계층들이 파지 CNN(600)에 제공될 수 있지만, 파지 CNN(600)의 하나 이상의 계층은 예들로서 제공되는 것과 다른 사이즈들일 수 있다.
시맨틱 파지 모델이 여기에 기술된 기술들에 따라 학습되면, 파지 엔드 이펙터를 서보하는데 사용될 수 있다. 도 7을 참조하면, 흐름도는 파지 엔드 이펙터를 서보하도록 시맨틱 파지 모델을 이용하는 예시적인 방법(700)을 나타낸다. 편의상, 상기 흐름도의 동작들은 상기 동작들을 수행하는 시스템을 참조하여 설명된다. 상기 시스템은 프로세서(예를 들어, CPU 및/또는 GPU) 및/또는 로봇(180A, 180B, 825) 및/또는 다른 로봇의 로봇 제어 시스템과 같은 로봇의 하나 이상의 컴포넌트를 포함할 수 있다. 방법(700)의 하나 이상의 블록을 구현함에 있어서, 상기 시스템은 예를 들어 로봇에 국부적으로 저장될 수 있고 및/또는 로봇으로부터 멀리 떨어져 저장될 수 있는 학습된 시맨틱 파지 모델을 통해 작동할 수 있다. 또한, 방법(700)의 동작들이 특정 순서로 도시되어 있지만, 이는 제한하려는 것이 아니다. 하나 이상의 동작들은 재정렬, 생략 또는 추가될 수 있다.
블록(752)에서, 상기 시스템은 후보 엔드 이펙터 모션 벡터를 생성한다. 상기 후보 엔드 이펙터 모션 벡터는 추가 블록들에서 이용될 학습된 CNN의 입력 파라미터들에 따라 태스크 공간, 조인트-공간 또는 다른 공간에서 정의될 수 있다.
일부 구현예들에서, 상기 시스템은 엔드 이펙터에 의해 도달할 수 있는 작업 공간, 엔드 이펙터가 파지 시도들을 위해 제한된 공간 및/또는 엔드 이펙터의 포즈를 제어하는 액츄에이터(들)의 위치 및/또는 토크 제한으로 정의된 공간과 같이, 소정의 공간 내에서 랜덤인 후보 엔드 이펙터 모션 벡터를 생성한다.
일부 구현예들에서, 상기 시스템은 후보 엔드 이펙터 모션 벡터들의 그룹을 샘플링하고 그리고 그 샘플링된 그룹으로부터 서브그룹을 선택하기 위해 하나 이상의 기술들을 이용할 수 있다. 예를 들어, 상기 시스템은 CEM(cross-entropy method)과 같은 최적화 기술을 이용할 수 있다. CEM은 매 반복마다 N 값들의 배치(batch)를 샘플링하고, 가우스 분포를 이 샘플의 M < N에 맞추고, 이 가우스에서 N의 새로운 배치를 샘플링하는 DFO(derivative-free) 최적화 알고리즘이다. 예를 들어, 상기 시스템은 CEM 및 M = 64 및 N = 6의 값을 이용할 수 있고, CEM의 3가지 반복을 수행하여 최상의 엔드 이펙터 모션 벡터 후보(CEM에 따라)를 결정할 수 있다.
일부 구현예들에서, 하나 이상의 제약이 블록(752)에서 생성될 수 있는 후보 엔드 이펙터 모션 벡터에 부과될 수 있다. 예를 들어, CEM 또는 다른 기술로 평가된 후보 엔드 이펙터 작동은 상기 제약(구속조건)에 따라 제한될 수 있다. 제약의 일례는 파지들이 시도될 수 있는 영역(들)에 대한 제약, 파지가 시도될 수 있는 특정 대상물 특징(들)에 대한 제약 등을 부과하는 컴퓨터로 생성된 및/또는 인간이 입력한 제약(예를 들어, 컴퓨터 시스템의 사용자 인터페이스 입력 장치를 통해)이다. 또한, 제약의 다른 예는 로봇의 작업 공간, 로봇의 조인트 제한, 로봇의 토크 제한, 충돌 회피 시스템에 의해 제공되는 제한 및 하나 이상의 대상물 등과의 충돌을 방지하기 위한 로봇의 움직임을 제한하는 제약을 포함한다.
블록(754)에서, 상기 시스템은 엔드 이펙터 및 하나 이상의 환경적 대상물들을 캡처하는 현재 이미지를 식별한다. 일부 구현예들에서, 상기 시스템은 또한 엔드 이펙터가 적어도 부분적으로 비전 센서의 시야에서 벗어났을 때 그 비전 센서에 의해 캡쳐된 환경적 대상물의 추가 이미지와 같이, 엔드 이펙터를 적어도 부분적으로 생략하는 추가 이미지를 식별한다. 일부 구현예들에서, 상기 시스템은 상기 이미지와 추가 이미지를 연결하여 그 연결된 연결 이미지를 생성한다. 일부 구현예들에서, 상기 시스템은 선택적으로 이미지(들) 및/또는 연결 이미지(예컨대, 파지 CNN의 입력에 맞게 크기 조정)의 프로세싱을 수행한다.
블록(756)에서, 상기 시스템은 학습된 파지 CNN에 현재 이미지 및 후보 엔드 이펙터 모션 벡터를 적용한다. 예를 들어, 상기 시스템은 학습된 파지 CNN의 초기 계층에, 현재 이미지 및 추가 이미지를 포함하는 상기 연결 이미지를 적용(인가)할 수 있다. 상기 시스템은 또한 후보 엔드 이펙터 모션 벡터를 상기 초기 계층의 다운스트림인 학습된 파지 CNN의 추가 계층에 적용할 수 있다. 일부 구현예들에서, 상기 후보 엔드 이펙터 모션 벡터를 상기 추가 계층에 적용함에 있어서, 상기 시스템은 엔드 이펙터 모션 벡터 출력을 생성하기 위해 상기 파지 CNN의 완전히(fully) 연결된 계층을 통해 엔드 이펙터 모션 벡터를 전달하고 그리고 엔드 이펙터 모션 벡터 출력을 파지 CNN의 업스트림 출력과 연결시킨다. 상기 업스트림 출력은 상기 추가 계층의 인접 업스트림(immediately upstream)인 파지 CNN의 인접 업스트림(immediately upstream) 계층으로부터의 출력이며, 상기 초기 계층의 다운스트림인 파지 CNN의 하나 이상의 중간 계층으로부터의 출력이다.
블록(758)에서, 상기 시스템은 학습된 파지 CNN을 통해 STN 파라미터들 및 성공적인 파지의 측정치를 생성한다. 상기 측정치 및 STN 파라미터들은 블록(756)에서 현재 이미지(및 선택적 추가 이미지) 및 후보 엔드 이펙터 모션 벡터를 학습된 파지 CNN에 적용하고 학습된 파지 CNN의 학습된 가중치에 기초하여 상기 측정치 및 STN 파라미터들을 결정하는 것에 기초하여 생성된다.
블록(760)에서, 상기 시스템은 STN을 통해 블록(758)의 STN 파라미터들에 기초하여 블록(754)의 현재 이미지의 공간 변환을 생성한다.
블록(762)에서, 상기 시스템은 블록(760)의 공간 변환에 기초하여 시맨틱 CNN을 통해 시맨틱 특징(들)을 생성한다.
블록(764)에서, 상기 시스템은 블록(762)의 시맨틱 특징(들) 및 블록(758)의 성공적인 파지의 측정치에 기초하여 엔드 이펙터 명령을 생성한다. 일반적으로, 블록(764)에서, 상기 시스템은 원하는 대상물 시맨틱 특징들을 갖는 대상물의 성공적인 파지를(방법(700)의 하나 이상의 반복을 통해) 달성하고자 하는 엔드 이펙터 명령을 생성한다. 상기 원하는 대상물 시맨틱 특징들은 예를 들어 상기 시스템에 제공된 사용자 인터페이스 입력 및/또는 하나 이상의 개별 컴포넌트로부터의 입력에 기초할 수 있다. 하나의 예로서,
블록(758)의 성공적인 파지의 측정치가 성공적인 파지를 나타내는 임계치를 만족시키고 블록(762)의 시맨틱 특징(들)이 원하는 시맨틱 대상물 특징(들)을 나타내면, 상기 엔드 이펙터 명령은 블록(752)의 엔드 이펙터 모션 벡터에 대응하는 엔드 이펙터 명령을 생성할 수 있다(그 다음 파지가 선택적으로 수행됨).
일부 구현예들에서, 다수의 후보 엔드 이펙터 모션 벡터가 방법(700)의 소정의 반복에서 고려되고, 후보 엔드 이펙터 모션 벡터 각각에 대해 결정된 시맨틱 특징(들) 및 성공적인 파지의 측정치가 고려된다(모두 동일한 현재 이미지를 기반으로 함). 이러한 구현예들 중 일부에서, 블록(764)에서, 상기 시스템은 성공을 가장 잘 나타내는 성공적인 파지의 결정된 해당 측정치 및 원하는 시맨틱 대상물 특징(들)에 따르는 결정된 해당 시맨틱 특징(들)로 엔드 이펙터 모션 벡터를 결정하고, 그 엔드 이펙터 모션 벡터에 대응하는 엔드 이펙터 명령을 생성한다.
이러한 구현예들의 일례로서, 상기 시스템은 블록(752)에서 하나 이상의 추가 후보 엔드 이펙터 모션 벡터를 생성할 수 있고; 블록(758)의 추가 반복에서 이들 추가 후보 엔드 이펙터 모션 벡터에 대한 성공적인 파지들의 측정치들(현재 이미지 및 추가 후보 엔드 이펙터 모션 벡터를 파지 CNN에 적용하는 것에 기반함), 그리고 블록(762)의 추가 반복시 이들 추가 후보 엔드 이펙터 모션 벡터에 대한 시맨틱 특징(들)을 생성할 수 있다. 블록들(758 및 762)의 추가 반복들은 선택적으로 시스템에 의해 병렬적으로 수행될 수 있다. 이들 구현예들의 일부에서, 상기 시스템은 해당 시맨틱 특징(들) 및 성공적인 파지의 모든 생성된 측정치들의 분석에 기초하여 블록(764)에서 엔드 이펙터 명령을 생성할 수 있다. 예를 들어, 상기 시스템은, 성공적인 파지를 가장 잘 나타내는 성공적인 파지의 측정치 및 원하는 대상물 시맨틱 특징(들)과 매칭하는 해당 시맨틱 특징(들)로, 후보 엔드 이펙터 모션 벡터를 완전히 또는 실질적으로 따르기 위해 엔드 이펙터 명령을 생성할 수 있다. 예를 들어, 상기 시스템의 로봇의 제어 시스템은 엔드 이펙터 모션 벡터에 기초하여 엔드 이펙터를 이동시키기 위해 로봇의 하나 이상의 액추에이터를 작동시키도록 모션 명령(들)을 생성할 수 있다.
블록(764)의 일부 반복에서, 상기 시스템은 새로운 모션 명령들을 생성하기 위해 후보 엔드 이펙터 모션 벡터가 이용되지 않는다면 현재 시맨틱 특징(들) 및 성공적인 파지의 현재 측정치에 기초하여 엔드 이펙터 명령을 부가적으로 및/또는 대안적으로 생성한다. 예를 들어, 성공적인 파지의 현재 측정치와 블록(758)에서 결정된 성공적인 파지의 측정치에 대한 하나 이상의 비교치가 임계치를 만족시키지 못하고 현재의 시맨틱 특징(들)이 원하는 대상물 시매틱 특징들을 나타내면, 그 다음 상기 엔드 이펙터 모션 명령은 엔드 이펙터가 파지(예를 들어, "impactive" 파지 엔드 이펙터의 손가락(digit)들을 닫음(클로즈))를 시도하게 하는 "파지 명령"일 수 있다. 예를 들어, 성공적인 파지의 가장 잘 나타내는 후보 엔드 이펙터 모션 벡터에 대해 블록(758)에서 결정된 성공적인 파지의 측정치로 나눠진 성공적인 파지의 현재 측정치의 결과가 제1 임계치(예를 들어, 0.9)보다 크거나 같으면, 상기 엔드 이펙터 명령은 파지 명령일 수 있다(그리퍼를 닫으면 이를 이동시키는 것처럼 성공적으로 파지할 가능성이 높기 때문에 조기에 파지를 멈추게 하는 근거하에). 또한, 예를 들어, 상기 결과가 제2 임계치(예를 들어, 0.5)보다 작거나 같으면, 상기 엔드 이펙터 명령은 궤적 보정을 수행하는 모션 명령일 수 있다(예를 들어, 적어도 X 미터만큼 파지 엔드 이펙터를 위로 올림) (파지 엔드 이펙터는 양호한 구성으로 위치하지 않을 가능성이 높고 그리고 상대적으로 큰 모션이 요구된다는 이론에 근거하에). 또한, 예를 들어, 상기 결과가 제1 및 제2 임계치 사이에 있으면, 블록(758)에서 결정된 성공적인 파지의 측정치로 후보 엔드 이펙터 모션 벡터를 실질적으로 또는 완전히 따르도록 하는 모션 명령이 생성될 수 있는데, 이는 성공적인 파지를 가장 잘 나타내며, 또한 원하는 파지 시맨틱 특징(들)에 대응하는 해당 시맨틱 특징(들)을 포함한다. 상기 시스템에 의해 생성된 엔드 이펙터 명령은 하나 이상의 명령으로 이루어진 단일 그룹이거나 하나 이상의 명령으로 이루어진 그룹들의 시퀀스일 수 있다.
새로운 모션 명령들을 생성하기 위해 후보 엔드 이펙터 모션 벡터가 이용되지 않는다면 성공적인 파지의 측정치는 방법(700)의 이전 반복에서 이용된 후보 엔드 이펙터 모션 벡터에 대한 측정치에 기초할 수 있고 및/또는 블록(758)의 추가 반복에서 학습된 파지 CNN에 "널" 모션 벡터 및 현재 이미지(및 선택적으로 추가 이미지)를 적용하고 블록(758)의 추가 반복에 기초하여 상기 측정치를 생성하는 것에 기초할 수 있다.
블록(762)에서, 상기 시스템은 엔드 이펙터 명령이 파지 명령인지 여부를 결정한다. 상기 시스템이 블록(762)에서 엔드 이펙터 명령이 파지 명령인 것으로 결정하면, 상기 시스템은 블록(764)으로 진행하여 상기 파지 명령을 구현한다. 일부 구현예들에서, 상기 시스템은 선택적으로 상기 파지 명령이 성공적인 파지를 초래하는지(예를 들어, 본원에 설명된 기술들을 사용하여)를 결정할 수 있고, 성공적이지 않으면, 상기 시스템은 선택적으로 엔드 이펙터의 포즈를 조정하고 블록(752)으로 되돌아갈 수 있다. 상기 파지가 성공한 경우에도, 상기 시스템은 나중에 다른 대상물을 파지하기 위해 블록(752)으로 되돌아갈 수 있다.
상기 시스템이 블록(762)에서 엔드 이펙터 명령이 파지 명령(예를 들어, 모션 명령)이 아니라고 결정하면, 상기 시스템은 블록(766)으로 진행하여 엔드 이펙터 명령을 구현하고, 그 다음 블록(752)으로 복귀하여, 다른 후보 엔드 이펙터 모션 벡터를 생성한다. 예를 들어, 블록(766)에서, 상기 시스템은 성공적인 파지를 가장 잘 나타내며 원하는 대상물 시맨틱 특징(들)에 부합하는 시맨틱 특징(들)을 또한 포함하는 상기 파지 측정치로 후보 엔드 이펙터 모션 벡터를 실질적으로 또는 완전히 따르는 엔드 이펙터 모션 명령을 구현할 수 있다.
많은 구현예들에서, 방법(700)의 블록들은 비교적 높은 빈도로 수행될 수 있고, 엔드 이펙터 명령의 반복적인 업데이트를 가능하게 하고, 학습된 CNN에 의해 통지된 궤적을 따라 엔드 이펙터를 서보(servoing) 가능하게 하여, 원하는 대상물 특징(들)을 갖는 대상물을 성공적으로 파지할 확률이 상대적으로 높을 수 있다.
도 8은 로봇(825)의 예시적인 아키텍처를 개략적으로 도시한다. 로봇(825)은 로봇 제어 시스템(860), 하나 이상의 동작 컴포넌트(operational component)(840a-840n) 및 하나 이상의 센서들(842a-842m)을 포함한다. 센서들(842a-842m)은 예를 들어 비전 센서들, 광 센서들, 압력 센서들, 압력 파 센서들(예를 들어, 마이크로폰들), 근접 센서들, 가속도계들, 자이로 스코프들, 온도계들, 기압계들 등을 포함할 수 있다. 센서들(842a-m)은 로봇(825)과 일체로 도시되어 있지만, 이것에 한정되는 것은 아니다. 일부 구현예들에서, 센서들(842a-m)은 예컨대 독립형 유닛들과 같이 로봇(825) 외부에 위치될 수 있다.
동작 컴포넌트들(840a-840n)은 예를 들어 하나 이상의 엔드 이펙터들 및/또는 하나 이상의 서보 모터들 또는 다른 액추에이터들을 포함하여 로봇의 하나 이상의 컴포넌트들의 이동을 수행할 수 있다. 예를 들어, 로봇(825)은 다수의 자유도를 가질 수 있고 그리고 각각의 액추에이터는 제어 명령들에 응답하여 하나 이상의 자유도 내에서 로봇(825)의 작동(actuation)을 제어할 수 있다. 본 명세서에서 사용된 바와 같이, 액추에이터라는 용어는 액추에이터와 연관될 수 있고, 수신된 제어 명령들을 액추에이터를 구동하기 위한 하나 이상의 신호로 변환시키는 임의의 드라이버(들) 이외에 모션을 생성하는 기계적 또는 전기적 장치(예를 들어, 모터)를 포함한다. 따라서, n 액츄에이터에 제어 명령을 제공하는 것은 상기 제어 명령을 전기 또는 기계 장치를 구동하여 원하는 모션을 생성하기 위한 적절한 신호들로 변환시키는 드라이버에 제어 명령을 제공하는 것을 포함할 수 있다.
로봇 제어 시스템(860)은 로봇(825)의 CPU, GPU 및/또는 다른 제어기와 같은 하나 이상의 프로세서에서 구현될 수 있다. 일부 구현예들에서, 로봇(825)은 제어 시스템(860)의 전체 또는 양태를 포함할 수 있는 "브레인 박스"를 포함할 수 있다. 예를 들어, 상기 브레인 박스는 동작 컴포넌트들(825a-n)에 실시간 데이터 버스트(burst)들을 제공할 수 있으며, 실시간 버스트들 각각은, 특히 하나 이상의 동작 컴포넌트들(825a-n) 각각에 대한 모션 파라미터들(존재한다면)를 지시하는 하나 이상의 제어 명령의 세트를 포함할 수 있다. 일부 구현예들에서, 로봇 제어 시스템(860)은 여기에 설명된 방법들(300, 400, 500 및/또는 700)의 하나 이상의 양태들을 수행할 수 있다.
본 명세서에 기술된 바와 같이, 일부 구현예들에서, 대상물을 파지하기 위해 엔드 이펙터를 위치시키는데 있어서 제어 시스템(860)에 의해 생성된 제어 명령의 모든 또는 양태들은 시맨틱 파지 모델의 이용에 기초하여 생성된 엔드 이펙터 명령에 기초할 수 있다. 예를 들어, 센서들(842a-m) 중 비전 센서는 현재 이미지 및 추가 이미지를 캡처할 수 있고, 로봇 제어 시스템(860)은 후보 모션 벡터를 생성할 수 있다.
로봇 제어 시스템(860)은 학습된 시맨틱 파지 모델에 현재 이미지, 추가 이미지 및 후보 모션 벡터를 제공하고, 로봇의 엔드 이펙터의 이동 및/또는 파지를 제어하기 위한 하나 이상의 엔드 이펙터 제어 명령을 생성하기 위한 적용에 기초하여 생성된 시맨틱 특징(들) 및 성공적인 파지의 측정치를 이용할 수 있다. 제어 시스템(860)이 로봇(825)의 통합된 부분으로서 도 8에 도시되었지만, 일부 구현예들에서, 제어 시스템(860)의 모든 또는 양태들은 로봇(825)과 별개이지만 로봇(825)과 통신하는 컴포넌트들로 구현될 수 있다. 예를 들어, 제어 시스템(860)의 모든 또는 양태들은 컴퓨팅 장치(910)와 같은 로봇(825)과 유선 및/또는 무선 통신하는 하나 이상의 컴퓨팅 장치상에서 구현될 수 있다.
도 9는 여기에 기술된 기술들의 하나 이상의 양태들을 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 장치(910)의 블록도이다. 예를 들어, 일부 구현예들에서, 컴퓨팅 장치(910)는 로봇(825) 및/또는 다른 로봇들에 의해 파지하기 위한 원하는 대상물 시맨틱 특징(들)을 제공하는데 이용될 수 있다. 컴퓨팅 장치(910)는 전형적으로 버스 서브시스템(912)을 통해 다수의 주변 장치들과 통신하는 적어도 하나의 프로세서(914)를 포함한다. 이러한 주변 장치들은 예를 들어 메모리 서브시스템(925) 및 파일 저장 서브시스템(926), 사용자 인터페이스출력 장치(920), 사용자 인터페이스 입력 장치(922) 및 네트워크 인터페이스 서브시스템(916)을 포함하는 저장 서브시스템(924)을 포함할 수 있다. 입력 및 출력 장치들은 컴퓨팅 장치(910)와의 사용자 상호 작용을 허용한다. 네트워크 인터페이스 서브시스템(916)은 외부 네트워크들에 인터페이스를 제공하고 그리고 다른 컴퓨팅 장치들의 해당 인터페이스 장치들에 연결된다.
사용자 인터페이스 입력 장치들(922)은 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿과 같은 포인팅 장치, 키보드, 스캐너, 디스플레이에 통합된 터치스크린, 음성 인식 시스템과 같은 오디오 입력 장치, 마이크로폰 및/또는 기타 입력 장치 유형을 포함할 수 있다. 일반적으로, "입력 장치"라는 용어의 사용은 정보를 컴퓨팅 장치(910) 또는 통신 네트워크에 입력하는 모든 가능한 유형의 장치 및 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 장치들(920)은 디스플레이 서브시스템, 프린터, 팩스 머신, 또는 오디오 출력 장치들과 같은 비-시각적 디스플레이들을 포함할 수 있다. 디스플레이 서브시스템은 음극선 관(CRT), 액정 디스플레이(LCD)와 같은 평판 장치, 프로젝션 장치, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함 할 수 있다. 디스플레이 서브시스템은 또한 오디오 출력 장치와 같은 비 시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 장치"라는 용어의 사용은 컴퓨팅 장치(910)로부터 사용자 또는 다른 기계 또는 컴퓨팅 장치로 정보를 출력하는 모든 가능한 유형의 장치 및 방법을 포함하도록 의도된다.
저장 서브시스템(924)은 여기에 설명된 일부 또는 모든 모듈의 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브시스템(924)은 도 3, 4, 5 및/또는 7의 방법의 선택된 양태들을 수행하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈은 일반적으로 프로세서(914) 단독으로 또는 다른 프로세서와 조합하여 실행된다. 저장 서브시스템(924)에서 사용되는 메모리(925)는 프로그램 실행 중 명령어들 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM)(930) 및 고정된 명령어들이 저장된 판독 전용 메모리(ROM)(932)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브시스템(926)은 프로그램 및 데이터 파일에 대한 영구 저장 장치를 제공할 수 있으며, 하드 디스크 드라이브, 연관된 이동식 매체와 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 스토리지 서브시스템(924)의 파일 저장 서브시스템(926) 또는 프로세서(들)(914)에 의해 액세스 가능한 다른 머신에 의해 저장될 수 있다.
버스 서브시스템(912)은 컴퓨팅 장치(910)의 다양한 컴포넌트들 및 서브시스템들이 의도된 바와 같이 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(912)은 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 다른 구현예들은 다수의 버스를 사용할 수 있다.
컴퓨팅 장치(910)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 장치를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 9에 도시된 컴퓨팅 장치(910)의 설명은 단지 일부 구현예들을 설명하기 위한 특정 예로서만 의도된다. 도 9에 도시된 컴퓨팅 장치보다 많은 또는 더 적은 컴포넌트들을 갖는 컴퓨팅 장치(910)의 많은 다른 구성들이 가능하다.
몇몇 구현예들이 본 명세서에서 설명되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본원에 기술된 하나 이상의 이점을 얻기위한 다양한 다른 수단 및/또는 구조들이 이용될 수 있으며, 그러한 변형들 및/또는 수정들은 본 명세서에서 설명된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로는, 여기에 기술된 모든 파라미터들, 치수들, 재료들 및 구성들은 예시적인 것이며, 실제 파라미터들, 치수들, 재료들 및/또는 구성들은 특정 용도 또는 그 교시가 사용되는 용도에 의존할 것이다. 당업자는 일상적인 실험만을 사용하여 본 명세서에서 설명된 특정 구현예들에 대한 많은 균등물을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현예들은 단지 예일 뿐이며, 첨부된 청구 범위 및 그 등가물의 범위 내에서 구현예들은 구체적으로 기술되고 청구된 것과 다르게 실시될 수 있음을 이해해야 한다. 본 개시의 구현예들은 여기에 기술된 각각의 개별적인 특징, 시스템, 아티클, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 특징, 시스템, 아티클, 재료, 키트 및/또는 방법이 상호 불일치하지 않는 경우, 둘 이상의 그러한 특징, 시스템, 아키클, 재료, 키트 및/또는 방법의 모든 조합이 본 개시의 범위 내에 포함된다.
Claims (34)
- 하나 이상의 프로세서들에 의해 구현되는 방법에 있어서,
현재 포즈로부터 추가 포즈로 로봇의 파지 엔드 이펙터를 이동시키기 위한 모션을 정의하는 후보 엔드 이펙터 모션 벡터를 생성하는 단계;
상기 로봇과 연관된 비전 센서에 의해 캡쳐된 현재 이미지를 식별하는 단계 - 상기 현재 이미지는 상기 로봇의 환경에서 적어도 하나의 대상물 및 상기 파지 엔드 이펙터를 캡쳐함 -;
상기 현재 이미지 및 상기 후보 엔드 이펙터 모션 벡터를 학습된 파지 콘볼루션 신경망에 입력으로서 적용하는 단계;
상기 학습된 파지 콘볼루션 신경망을 통해, 상기 모션의 적용으로 상기 대상물의 성공적인 파지의 측정치를 생성하는 단계 -상기 측정치는 상기 학습된 파지 콘볼루션 신경망에 상기 이미지 및 상기 엔드 이펙터 모션 벡터의 적용에 기초하여 생성됨 -;
원하는 대상물 시맨틱 특징을 식별하는 단계;
시맨틱 콘볼루션 신경망에 입력으로서, 상기 현재 이미지 또는 상기 비전 센서에 의해 캡쳐된 추가 이미지의 공간 변환을 적용하는 단계;
상기 공간 변환에 기초하여 상기 시맨틱 콘볼루션 신경망을 통해, 상기 원하는 대상물 시맨틱 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 추가 측정치를 생성하는 단계;
성공적인 파지의 상기 측정치 및 상기 원하는 대상물 시맨틱 특징이 존재하는지 여부를 나타내는 상기 추가 측정치에 기초하여 엔드 이펙터 명령을 발생하는 단계; 그리고
상기 엔드 이펙터 명령을 상기 로봇의 하나 이상의 액추에이터에 제공하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제1항에 있어서,
상기 학습된 파지 콘볼루션 신경망에 상기 이미지 및 상기 엔드 이펙터 모션 벡터를 적용하는 것에 기초하여 상기 학습된 파지 콘볼루션 신경망을 통해 공간 변환 파라미터들을 생성하는 단계; 그리고
상기 공간 변환 파라미터들에 기초하여 공간 변환 네트워크를 통해 상기 공간 변환을 생성하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제1항에 있어서, 상기 원하는 대상물 시맨틱 특징은 대상물 분류를 정의하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법.
- 제1항에 있어서,
사용자 인터페이스 입력 장치로부터 사용자 인터페이스 입력을 수신하는 단계를 더 포함하며, 상기 원하는 대상물 시맨틱 특징을 식별하는 단계는 상기 사용자 인터페이스 입력에 기초하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제4항에 있어서, 상기 사용자 인터페이스 입력 장치는 상기 로봇의 마이크로폰인 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법.
- 제1항에 있어서, 상기 공간 변환은 상기 현재 이미지에 대한 것인 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법.
- 제6항에 있어서, 상기 공간 변환은 상기 현재 이미지의 부분을 크롭(crop)하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법.
- 제1항에 있어서,
상기 모션의 적용없이 상기 대상물의 성공적인 파지의 현재 측정치를 결정하는 단계를 더 포함하며,
상기 측정치에 기초하여 상기 엔드 이펙터 명령을 발생하는 단계는 상기 측정치와 상기 현재 측정치의 비교에 기초하여 상기 엔드 이펙터 명령을 발생하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제8항에 있어서,
상기 엔드 이펙터 명령은 파지 명령이며,
상기 파지 명령을 생성하는 단계는,
상기 추가 측정치가 상기 원하는 대상물 특징이 상기 공간 변환에 존재함을 나타내는 것으로 결정하는 것과, 그리고 상기 측정치와 상기 현재 측정치의 비교가 하나 이상의 기준을 만족시키는지를 결정하는 것에 응답하는 단계인 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제1항에 있어서,
상기 엔드 이펙터 명령은 엔드 이펙터 모션 명령이고,
상기 엔드 이펙터 모션 명령을 생성하는 단계는 상기 후보 엔드 이펙터 모션 벡터를 따르도록 상기 엔드 이펙터 모션 명령을 생성하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제1항에 있어서,
상기 엔드 이펙터 명령은 엔드 이펙터 모션 명령이고,
상기 엔드 이펙터 모션 명령을 생성하는 단계는 상기 엔드 이펙터에 대한 궤적 보정을 수행하기 위해 상기 엔드 이펙터 모션 명령을 생성하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제1항에 있어서,
상기 엔드 이펙터 명령은 엔드 이펙터 모션 명령이고 상기 후보 엔드 이펙터 모션 벡터에 따르고,
상기 엔드 이펙터 모션 명령을 상기 하나 이상의 액추에이터에 제공하는 단계는, 상기 엔드 이펙터를 새로운 포즈로 이동시키고,
하나 이상의 프로세서들에 의해, 새로운 모션을 정의하는 추가 후보 엔드 이펙터 모션 벡터를 생성하여 상기 파지 엔드 이펙터를 상기 새로운 포즈로부터 다른 추가(further additional) 포즈로 이동시키는 단계;
상기 하나 이상의 프로세서들에 의해, 상기 로봇과 연관된 비전 센서에 의해 캡쳐된 새로운 이미지를 식별하는 단계 -상기 새로운 이미지는 상기 새로운 포즈에서 상기 엔드 이펙터를 캡쳐하고 그리고 상기 환경에서 상기 대상물을 캡쳐함-;
상기 하나 이상의 프로세서들에 의해, 학습된 파지 콘볼루션 신경망에 입력으로서 상기 새로운 이미지 및 상기 추가 후보 엔드 이펙터 모션 벡터를 적용하는 단계;
상기 학습된 파지 콘볼루션 신경망을 통해, 상기 새로운 모션의 적용으로 상기 대상물의 성공적인 파지의 새로운 측정치를 생성하는 단계 -상기 새로운 측정치는 상기 학습된 파지 콘볼루션 신경망에 상기 새로운 이미지 및 상기 추가 엔드 이펙터 모션 벡터의 적용에 기초하여 생성됨 -;
시맨틱 콘볼루션 신경망에 입력으로서, 상기 새로운 이미지의 추가 공간 변환 또는 상기 비전 센서에 의해 캡쳐된 새로운 추가 이미지를 적용하는 단계;
상기 추가 공간 변환에 기초하여 상기 시맨틱 콘볼루션 신경망을 통해, 상기 원하는 대상물 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 새로운 추가 측정치를 생성하는 단계;
성공적인 파지의 상기 새로운 측정치 및 상기 원하는 대상물 특징이 존재하는지 여부를 나타내는 상기 새로운 추가 측정치에 기초하여 새로운 엔드 이펙터 명령을 발생하는 단계; 그리고
상기 로봇의 하나 이상의 액츄에이터에 상기 새로운 엔드 이펙터 명령을 제공하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제1항에 있어서,
상기 학습된 파지 콘볼루션 신경망에 입력으로서 상기 이미지 및 상기 후보 엔드 이펙터 모션 벡터를 적용하는 단계는,
상기 학습된 파지 콘볼루션 신경망의 초기 계층에 입력으로서 상기 이미지를 적용하는 단계; 그리고
상기 후보 엔드 이펙터 모션 벡터를 상기 학습된 파지 콘볼루션 신경망의 추가 계층에 적용하는 단계를 포함하며, 상기 추가 계층은 상기 초기 계층의 다운스트림인 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제1항에 있어서,
상기 후보 엔드 이펙터 모션 벡터를 생성하는 단계는,
복수의 후보 엔드 이펙터 모션 벡터를 생성하는 단계; 그리고
상기 복수의 후보 엔드 이펙터 모션 벡터로부터 상기 후보 엔드 이펙터 모션 벡터를 선택하도록 상기 복수의 후보 엔드 이펙터 모션 벡터에 대한 크로스-엔트로피 최적화의 하나 이상의 반복을 수행하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 하나 이상의 프로세서들에 의해 구현되는 방법에 있어서,
로봇과 연관된 비전 센서에 의해 캡쳐된 현재 이미지를 식별하는 단계 -상기 현재 이미지는 상기 로봇의 환경에서 상기 로봇의 파지 엔드 이펙터 및 적어도 하나의 대상물을 캡쳐함 -;
상기 현재 이미지를 학습된 파지 콘볼루션 신경망에 적용하는 것에 기초하여 상기 학습된 파지 콘볼루션 신경망을 통해, 상기 로봇의 파지 엔드 이펙터에 의해 상기 현재 이미지에서 캡처된 대상물의 성공적인 파지의 측정치 및 공간 변환 파라미터들을 생성하는 단계;
상기 공간 변환 파라미터들에 기초하여, 상기 비전 센서에 의해 캡처된 추가 이미지 또는 상기 현재 이미지의 공간 변환을 생성하는 단계;
상기 공간 변환을 학습된 시맨틱 콘볼루션 신경망에 입력으로서 적용하는 단계;
상기 공간 변환에 기초하여 상기 학습된 시맨틱 콘볼루션 신경망을 통해, 원하는 대상물 시맨틱 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 추가 측정치를 생성하는 단계;
상기 측정치 및 상기 원하는 대상물 시맨틱 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 상기 추가 측정치 및 상기 측정치에 기초하여 엔드 이펙터 명령을 생성하는 단계; 그리고
상기 엔드 이펙터 명령을 상기 로봇의 하나 이상의 액추에이터에 제공하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제15항에 있어서,
상기 학습된 파지 콘볼루션 신경망을 통해 상기 공간 변환 파라미터들 및 성공적인 파지의 측정치를 생성하는 단계는, 상기 학습된 파지 콘볼루션 신경망에 후보 엔드 이펙터 모션 벡터를 적용하는 것에 추가로 기초하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제16항에 있어서,
상기 학습된 파지 콘볼루션 신경망을 통해 상기 공간 변환 파라미터들 및 성공적인 파지의 측정치를 생성하는 단계는, 상기 학습된 파지 콘볼루션 신경망의 초기 계층에 입력으로서 상기 이미지를 적용하고, 그리고 후보 엔드 이펙터 모션 벡터를 상기 학습된 파지 콘볼루션 신경망의 추가 계층에 적용하는 것에 기초하며,
상기 추가 계층은 상기 초기 계층의 다운스트림인 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 제15항 내지 제17항 중 어느 한 항에 있어서,
상기 대상물의 성공적인 파지의 현재 측정치를 결정하는 단계를 더 포함하며, 상기 성공적인 파지의 상기 측정치에 기초하여 상기 엔드 이펙터 명령을 발생하는 단계는 상기 성공적인 파지의 상기 측정치와 상기 현재 측정치의 비교에 기초하여 상기 엔드 이펙터 명령을 발생하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 구현되는 방법. - 시스템으로서,
환경을 보는 비전 센서;
하나 이상의 비-일시적 컴퓨터 판독 가능 매체에 저장된 시맨틱 파지 모델;
적어도 하나의 프로세서를 포함하며,
상기 적어도 하나의 프로세서는,
상기 비전 센서에 의해 캡쳐된 현재 이미지를 식별하고;
상기 시맨틱 파지 모델의 부분을 통해, 상기 부분에 상기 현재 이미지를 적용하는 것에 기초하여 로봇의 파지 엔드 이펙터에 의해 상기 현재 이미지에서 캡처된 대상물의 성공적인 파지의 측정치 및 공간 변환 파라미터들을 생성하고;
상기 공간 변환 파라미터들에 기초하여 상기 현재 이미지의 공간 변환을 생성하고;
상기 공간 변환을 상기 시맨틱 파지 모델의 추가 부분에 대한 입력으로서 적용하고;
상기 공간 변환에 기초하여 상기 추가 부분을 통해, 원하는 대상물 시매틱 특징이 상기 공간 변환에 존재하는지 여부를 나타내는 추가 측정치를 생성하고;
상기 측정치 및 상기 추가 측정치에 기초하여 엔드 이펙터 명령을 생성하고; 그리고
상기 엔드 이펙터 명령을 제공하는 것을 특징으로 하는 시스템. - 방법으로서,
하나 이상의 프로세서들에 의해, 하나 이상의 로봇들에 의한 복수의 파지 시도들 동안 상기 로봇들로부터의 센서 출력에 기초하여 생성된 복수의 학습 사례들을 식별하는 단계;
상기 학습 사례들 각각은 학습 사례 입력을 포함하며, 상기 학습 사례 입력은 상기 파지 시도들 중 해당 파지 시도에 대한 시간 인스턴스에 대한 이미지 - 상기 이미지는 상기 시간 인스턴스에서 로봇 엔드 이펙터 및 하나 이상의 환경 대상물들을 캡처함 -와, 상기 시간 인스턴스에서 엔드 이펙터의 포즈로부터 상기 해당 파지 시도를 위한 상기 엔드 이펙터의 최종 포즈로 이동하도록 상기 엔드 이펙터의 모션을 정의하는 엔드 이펙터 모션 벡터를 포함하며; 상기 학습 사례들 각각은 학습 사례 출력을 포함하며, 상기 학습 사례 출력은 상기 해당 파지 시도에 의해 파지된 대상물의 시맨틱 특징을 나타내는 적어도 하나의 파지된 대상물 라벨을 포함하며,
하나 이상의 프로세서들에 의해, 상기 학습 사례들에 기초하여 시맨틱 콘볼루션 신경망을 학습시키는 단계를 포함하는 것을 특징으로 하는 방법. - 제20항에 있어서,
상기 학습 사례들에 기초하여 시맨틱 콘볼루션 신경망을 학습시키는 단계는,
상기 학습 사례들 중 소정의 학습 사례에 대한 상기 학습 사례 입력을 파지 콘볼루션 신경망에 적용하는 단계;
상기 소정의 학습 사례에 대한 상기 학습 사례 입력에 기초하여 상기 파지 콘볼루션 신경망을 통해 공간 변환 네트워크 파라미터들을 생성하는 단계;
상기 소정의 학습 사례에 대한 이미지의 공간 변환을 생성하도록 상기 공간 변환 네트워크 파라미터들을 사용하는 단계;
상기 공간 변환 이미지에 기초하여 시매틱 콘볼루션 신경망을 통해 출력을 생성하는 단계; 그리고
상기 소정의 학습 사례의 학습 사례 출력 및 상기 출력에 기초하여 시맨틱 콘볼루션 신경망에서 역전파를 수행하는 단계를 포함하는 것을 특징으로 하는 방법. - 제20항에 있어서,
상기 로봇들에 의한 상기 복수의 파지 시도들 동안 상기 로봇들로부터의 상기 센서 출력에 기초하여 생성되지 않은 추가 학습 사례들에 기초하여 시맨틱 콘볼루션 신경망을 학습시키는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제21항에 있어서,
상기 학습 사례들에 기초하여 상기 파지 콘볼루션 신경망을 학습시키는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제23항에 있어서,
상기 학습 사례들에 기초하여 상기 파지 콘볼루션 신경망을 훈련시키는 단계는,
상기 소정의 학습 사례에 대한 학습 사례 입력에 기초하여 상기 콘볼루션 신경망을 통해 예측된 파지 측정치를 생성하는 단계; 그리고
상기 예측된 파지 측정치 및 상기 소정의 학습 사례에 대한 학습 사례 출력에 기초하여 상기 파지 콘볼루션 신경망에서 역전파를 수행하는 단계를 포함하는 것을 특징으로 하는 방법. - 제21항에 있어서,
상기 소정의 학습 사례에 대한 학습 사례 입력을 상기 파지 콘볼루션 신경망에 적용하는 단계는,
상기 소정의 학습 사례에 대한 상기 이미지를 입력으로서 상기 파지 콘볼루션 신경망의 초기 계층에 적용하는 단계; 그리고
상기 소정의 학습 사례의 엔드 이펙터 모션 벡터를 상기 파지 콘볼루션 신경망의 추가 계층에 적용하는 단계를 포함하며,
상기 추가 계층은 상기 초기 계층의 다운스트림인 것을 특징으로 하는 방법. - 제20항에 있어서,
상기 학습 사례들은,
제1 로봇에 의한 복수의 파지 시도들 동안 제1 로봇의 복수의 제1 로봇 센서들로부터의 출력에 기초하여 생성된 상기 학습 사례들의 제1 그룹; 그리고
제2 로봇에 의한 복수의 파지 시도들 동안 제2 로봇의 복수의 제2 로봇 센서들로부터의 출력에 기초하여 생성된 상기 학습 사례들의 제2 그룹을 포함하는 것을 특징으로 하는 방법. - 제26항에 있어서,
상기 제1 로봇 센서들은 상기 제1 그룹의 학습 사례들에 대한 이미지들을 생성하는 제1 비전 센서를 포함하며,
상기 제2 로봇 센서들은 상기 제2 그룹의 학습 사례들에 대한 이미지들을 생성하는 제2 비전 센서를 포함하며,
상기 제1 로봇의 제1 베이스에 대한 상기 제1 비전 센서의 제1 포즈는 상기 제2 로봇의 제2 베이스에 대한 상기 제2 비전 센서의 제2 포즈와 구별되는 것을 특징으로 하는 방법. - 제20항 내지 제27항 중 어느 한 항에 있어서,
복수의 학습 사례들이 각각 기초하는 상기 파지 시도들은 상기 엔드 이펙터의 시작 포즈로부터 상기 엔드 이펙터의 최종 포즈로 상기 엔드 이펙터를 무작위로 이동시키는 복수의 무작위 액츄에이터 명령들을 포함하고,
상기 최종 포즈에서 상기 엔드 이펙터로 파지하는 것을 특징으로 하는 방법. - 방법으로서,
하나 이상의 로봇들에 의한 복수의 파지 시도들 동안 상기 로봇들로부터의 센서 출력에 기초하여 생성되지 않은 학습 사례들에 기초하여 학습된 시맨틱 콘볼루션 신경망을 학습시키는 단계;
하나 이상의 프로세서들에 의해, 상기 로봇들에 의한 복수의 파지 시도들 중에 상기 로봇들로부터의 센서 출력에 기초하여 생성된 복수의 학습 사례들을 식별하는 단계 -상기 학습 사례들 각각은 학습 사례 출력을 포함하며, 상기 학습 사례 출력은 상기 파지 시도들에 의해 파지된 대상물의 시맨틱 특징을 나타내는 적어도 하나의 파지된 대상물 라벨을 포함함-;
하나 이상의 프로세서들에 의해, 상기 로봇들에 의한 복수의 파지 시도들 동안 상기 로봇들로부터의 센서 출력에 기초하여 생성된 상기 학습 사례들에 기초하여 시맨틱 콘볼루션 신경망을 학습시키는 단계를 포함하는 것을 특징으로 하는 방법. - 제29항에 있어서,
상기 학습 사례들에 기초하여 파지 콘볼루션 신경망을 학습시키는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제29항에 있어서,
상기 학습 사례들은,
제1 로봇에 의한 복수의 파지 시도들 동안 제1 로봇의 복수의 제1 로봇 센서들로부터의 출력에 기초하여 생성된 상기 학습 사례들의 제1 그룹; 그리고
제2 로봇에 의한 복수의 파지 시도들 동안 제2 로봇의 복수의 제2 로봇 센서들로부터의 출력에 기초하여 생성된 상기 학습 사례들의 제2 그룹을 포함하는 것을 특징으로 하는 방법. - 제31항에 있어서,
상기 제1 로봇 센서들은 상기 제1 그룹의 학습 사례들에 대한 이미지들을 생성하는 제1 비전 센서를 포함하며,
상기 제2 로봇 센서들은 상기 제2 그룹의 학습 사례들에 대한 이미지들을 생성하는 제2 비전 센서를 포함하며,
상기 제1 로봇의 제1 베이스에 대한 상기 제1 비전 센서의 제1 포즈는 상기 제2 로봇의 제2 베이스에 대한 상기 제2 비전 센서의 제2 포즈와 구별되는 것을 특징으로 하는 방법. - 제30항 내지 제32항 중 어느 한 항에 있어서,
복수의 학습 사례들이 각각 기초하는 상기 파지 시도들은 로봇 엔드 이펙터의 시작 포즈로부터 상기 로봇 엔드 이펙터의 최종 포즈로 상기 로봇 엔드 이펙터를 무작위로 이동시키는 복수의 무작위 액츄에이터 명령들을 포함하고,
상기 최종 포즈에서 상기 로봇 엔드 이펙터로 파지하는 것을 특징으로 하는 방법. - 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제14항 중 어느 한 항에 따른 방법을 수행하게 하는 컴퓨터 판독 가능한 명령어들이 저장된 컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662303139P | 2016-03-03 | 2016-03-03 | |
US62/303,139 | 2016-03-03 | ||
US201662422549P | 2016-11-15 | 2016-11-15 | |
US62/422,549 | 2016-11-15 | ||
PCT/US2017/020455 WO2017151926A1 (en) | 2016-03-03 | 2017-03-02 | Deep machine learning methods and apparatus for robotic grasping |
US15/448,013 | 2017-03-02 | ||
US15/448,013 US9914213B2 (en) | 2016-03-03 | 2017-03-02 | Deep machine learning methods and apparatus for robotic grasping |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180114200A KR20180114200A (ko) | 2018-10-17 |
KR102023149B1 true KR102023149B1 (ko) | 2019-11-22 |
Family
ID=59722666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187027695A KR102023149B1 (ko) | 2016-03-03 | 2017-03-02 | 로봇 파지를 위한 심층 기계 학습 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9914213B2 (ko) |
EP (1) | EP3414710B1 (ko) |
JP (1) | JP6586243B2 (ko) |
KR (1) | KR102023149B1 (ko) |
CN (2) | CN111832702A (ko) |
WO (1) | WO2017151926A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210069410A (ko) | 2019-12-03 | 2021-06-11 | 경기대학교 산학협력단 | 로봇 물체 조작 학습 시스템 |
KR20220090137A (ko) * | 2020-12-22 | 2022-06-29 | 주식회사 대덕알앤디 | 스마트 eoat 로봇 시스템 |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6333871B2 (ja) * | 2016-02-25 | 2018-05-30 | ファナック株式会社 | 入力画像から検出した対象物を表示する画像処理装置 |
US10055667B2 (en) | 2016-08-03 | 2018-08-21 | X Development Llc | Generating a model for an object encountered by a robot |
US11157795B2 (en) * | 2017-03-13 | 2021-10-26 | International Business Machines Corporation | Graph partitioning and placement for multi-chip neurosynaptic networks |
US10562181B2 (en) * | 2017-07-03 | 2020-02-18 | X Development Llc | Determining and utilizing corrections to robot actions |
US11106967B2 (en) | 2017-07-03 | 2021-08-31 | X Development Llc | Update of local features model based on correction to robot action |
CA3073516A1 (en) * | 2017-09-01 | 2019-03-07 | The Regents Of The University Of California | Robotic systems and methods for robustly grasping and targeting objects |
US10354139B1 (en) | 2017-09-07 | 2019-07-16 | X Development Llc | Generating and utilizing spatial affordances for an object in robotics applications |
JP6608890B2 (ja) * | 2017-09-12 | 2019-11-20 | ファナック株式会社 | 機械学習装置、ロボットシステム及び機械学習方法 |
US10773382B2 (en) * | 2017-09-15 | 2020-09-15 | X Development Llc | Machine learning methods and apparatus for robotic manipulation and that utilize multi-task domain adaptation |
EP3684699A4 (en) * | 2017-09-20 | 2021-06-16 | Magna International Inc. | SYSTEM AND PROCESS FOR SAMPLING IN ADAPTIVE BIN FOR MANUFACTURING |
JP6595555B2 (ja) * | 2017-10-23 | 2019-10-23 | ファナック株式会社 | 仕分けシステム |
US10899011B2 (en) * | 2018-11-14 | 2021-01-26 | Fetch Robotics, Inc. | Method and system for selecting a preferred robotic grasp of an object-of-interest using pairwise ranking |
JP6676030B2 (ja) * | 2017-11-20 | 2020-04-08 | 株式会社安川電機 | 把持システム、学習装置、把持方法、及び、モデルの製造方法 |
US10572775B2 (en) | 2017-12-05 | 2020-02-25 | X Development Llc | Learning and applying empirical knowledge of environments by robots |
JP7122821B2 (ja) * | 2017-12-15 | 2022-08-22 | 川崎重工業株式会社 | ロボットシステム及びロボット制御方法 |
JP7136554B2 (ja) * | 2017-12-18 | 2022-09-13 | 国立大学法人信州大学 | 把持装置、学習装置、プログラム、把持システム、及び学習方法 |
US10754318B2 (en) * | 2017-12-21 | 2020-08-25 | X Development Llc | Robot interaction with objects based on semantic information associated with embedding spaces |
CN108038107B (zh) * | 2017-12-22 | 2021-06-25 | 东软集团股份有限公司 | 基于卷积神经网络的语句情感分类方法、装置及其设备 |
US11017317B2 (en) * | 2017-12-27 | 2021-05-25 | X Development Llc | Evaluating robot learning |
US11475291B2 (en) * | 2017-12-27 | 2022-10-18 | X Development Llc | Sharing learned information among robots |
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) |
WO2019139815A1 (en) | 2018-01-12 | 2019-07-18 | Duke University | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects |
TWI822729B (zh) | 2018-02-06 | 2023-11-21 | 美商即時機器人股份有限公司 | 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備 |
JP6933167B2 (ja) * | 2018-03-14 | 2021-09-08 | オムロン株式会社 | ロボットの制御装置 |
US11738457B2 (en) * | 2018-03-21 | 2023-08-29 | Realtime Robotics, Inc. | Motion planning of a robot for various environments and tasks and improved operation of same |
US10766149B2 (en) | 2018-03-23 | 2020-09-08 | Amazon Technologies, Inc. | Optimization-based spring lattice deformation model for soft materials |
US11086299B2 (en) * | 2018-03-26 | 2021-08-10 | Hrl Laboratories, Llc | System and method for estimating uncertainty of the decisions made by a supervised machine learner |
SE543130C2 (en) | 2018-04-22 | 2020-10-13 | Zenrobotics Oy | A waste sorting robot gripper |
US11584016B2 (en) | 2018-04-24 | 2023-02-21 | Fanuc Corporation | Robot controller and system |
US10967507B2 (en) * | 2018-05-02 | 2021-04-06 | X Development Llc | Positioning a robot sensor for object classification |
SE544741C2 (en) | 2018-05-11 | 2022-11-01 | Genie Ind Bv | Waste Sorting Gantry Robot and associated method |
JP7057214B2 (ja) * | 2018-05-18 | 2022-04-19 | トヨタ自動車株式会社 | 把持装置、タグが付された容器、対象物把持プログラムおよび対象物把持方法 |
DE112018007729B4 (de) * | 2018-06-14 | 2022-09-08 | Yamaha Hatsudoki Kabushiki Kaisha | Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem |
US11148295B2 (en) * | 2018-06-17 | 2021-10-19 | Robotics Materials, Inc. | Systems, devices, components, and methods for a compact robotic gripper with palm-mounted sensing, grasping, and computing devices and components |
DE102018211044A1 (de) * | 2018-07-04 | 2020-01-09 | Kuka Deutschland Gmbh | Verfahren und System zum Analysieren und/oder Konfigurieren einer industriellen Anlage |
JP7281349B2 (ja) * | 2018-08-10 | 2023-05-25 | 川崎重工業株式会社 | 遠隔操作システム |
KR102565279B1 (ko) | 2018-08-23 | 2023-08-09 | 삼성전자주식회사 | 객체 검출 방법, 객체 검출을 위한 학습 방법 및 그 장치들 |
EP3620984B1 (en) | 2018-09-06 | 2024-04-10 | Accenture Global Solutions Limited | Digital quality control using computer visioning with deep learning |
US11597084B2 (en) | 2018-09-13 | 2023-03-07 | The Charles Stark Draper Laboratory, Inc. | Controlling robot torque and velocity based on context |
US11325252B2 (en) | 2018-09-15 | 2022-05-10 | X Development Llc | Action prediction networks for robotic grasping |
US10611026B1 (en) * | 2018-10-16 | 2020-04-07 | University Of South Florida | Systems and methods for learning and generating movement policies for a dynamical system |
US11007642B2 (en) * | 2018-10-23 | 2021-05-18 | X Development Llc | Machine learning methods and apparatus for automated robotic placement of secured object in appropriate location |
JP7205752B2 (ja) * | 2018-11-09 | 2023-01-17 | オムロン株式会社 | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム |
EP3653348A1 (en) * | 2018-11-19 | 2020-05-20 | Tata Consultancy Services Limited | System and method for intelligent 3d imaging guided robotic gripper |
US11584020B2 (en) * | 2018-12-04 | 2023-02-21 | Cloudminds Robotics Co., Ltd. | Human augmented cloud-based robotics intelligence framework and associated methods |
CN111275063B (zh) * | 2018-12-04 | 2023-06-09 | 深圳市中科德睿智能科技有限公司 | 一种基于3d视觉的机器人智能抓取控制方法及系统 |
JP7044047B2 (ja) * | 2018-12-14 | 2022-03-30 | トヨタ自動車株式会社 | ロボット |
KR102145863B1 (ko) * | 2018-12-17 | 2020-08-19 | 전자부품연구원 | 다중 이종 장치의 학습 방법, 이를 이용한 엣지 서버 및 시스템 |
EP3670106B1 (en) * | 2018-12-18 | 2024-05-15 | Siemens Aktiengesellschaft | Task-specific robot grasping system and method |
CN109702741B (zh) * | 2018-12-26 | 2020-12-18 | 中国科学院电子学研究所 | 基于自监督学习神经网络的机械臂视觉抓取系统及方法 |
WO2020142495A1 (en) * | 2018-12-31 | 2020-07-09 | Abb Schweiz Ag | Multiple robot and/or positioner object learning system and method |
US11594090B2 (en) * | 2019-01-03 | 2023-02-28 | Lucomm Technologies, Inc. | Robotic post |
CN109807887B (zh) * | 2019-01-18 | 2020-09-15 | 上海交通大学 | 基于深度神经网络的柔性臂智能感知与控制方法和系统 |
CN109531584A (zh) * | 2019-01-31 | 2019-03-29 | 北京无线电测量研究所 | 一种基于深度学习的机械臂控制方法和装置 |
KR102178013B1 (ko) * | 2019-02-08 | 2020-11-12 | 한양대학교 산학협력단 | 물체 파지를 위한 훈련 데이터 생성 방법 및 파지 자세 결정 방법 |
EP3695941B1 (en) | 2019-02-15 | 2022-04-13 | Siemens Aktiengesellschaft | Computerized system and method using different image views to find grasp locations and trajectories for robotic pick up |
EP3930617A1 (en) * | 2019-02-28 | 2022-01-05 | Koninklijke Philips N.V. | Training data collection for machine learning models |
US11170526B2 (en) | 2019-03-26 | 2021-11-09 | Samsung Electronics Co., Ltd. | Method and apparatus for estimating tool trajectories |
US11440183B2 (en) * | 2019-03-27 | 2022-09-13 | Abb Schweiz Ag | Hybrid machine learning-based systems and methods for training an object picking robot with real and simulated performance data |
CN110000785B (zh) * | 2019-04-11 | 2021-12-14 | 上海交通大学 | 农业场景无标定机器人运动视觉协同伺服控制方法与设备 |
CN113905855B (zh) | 2019-04-17 | 2023-08-25 | 实时机器人有限公司 | 运动规划图生成用户界面、系统、方法和规则 |
CN110083160B (zh) * | 2019-05-16 | 2022-04-19 | 哈尔滨工业大学(深圳) | 一种基于深度学习的机器人轨迹规划方法 |
US12067758B2 (en) * | 2019-05-23 | 2024-08-20 | Google Llc | Object discovery in images through categorizing object parts |
JP7260402B2 (ja) * | 2019-05-31 | 2023-04-18 | ファナック株式会社 | ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法 |
US10576630B1 (en) * | 2019-05-31 | 2020-03-03 | Mujin, Inc. | Robotic system with a robot arm suction control mechanism and method of operation thereof |
CN110302981B (zh) * | 2019-06-17 | 2021-03-23 | 华侨大学 | 一种固废分拣在线抓取方法和系统 |
JP7186349B2 (ja) * | 2019-06-27 | 2022-12-09 | パナソニックIpマネジメント株式会社 | エンドエフェクタの制御システムおよびエンドエフェクタの制御方法 |
JP7229115B2 (ja) * | 2019-07-09 | 2023-02-27 | 株式会社日立製作所 | ロボット制御装置及びロボット |
US11213953B2 (en) * | 2019-07-26 | 2022-01-04 | Google Llc | Efficient robot control based on inputs from remote client devices |
KR102267514B1 (ko) * | 2019-07-29 | 2021-06-21 | 한국기계연구원 | 작업대상물의 피킹 및 플레이스 방법 |
JP6742040B1 (ja) * | 2019-08-28 | 2020-08-19 | 株式会社DailyColor | ロボット制御装置 |
EP3998140A4 (en) | 2019-08-28 | 2022-09-28 | Daily Color Inc. | ROBOT CONTROL DEVICE |
US11685045B1 (en) * | 2019-09-09 | 2023-06-27 | X Development Llc | Asynchronous robotic control using most recently selected robotic action data |
DE102019214402A1 (de) * | 2019-09-20 | 2021-03-25 | Robert Bosch Gmbh | Verfahren und vorrichtung zum verarbeiten von daten mittels eines neuronalen konvolutionsnetzwerks |
CN110782038A (zh) * | 2019-09-27 | 2020-02-11 | 深圳蓝胖子机器人有限公司 | 自动标记训练样本的方法和系统及监督学习的方法和系统 |
US11389957B2 (en) * | 2019-09-30 | 2022-07-19 | Mitsubishi Electric Research Laboratories, Inc. | System and design of derivative-free model learning for robotic systems |
US20210125052A1 (en) * | 2019-10-24 | 2021-04-29 | Nvidia Corporation | Reinforcement learning of tactile grasp policies |
US11724401B2 (en) * | 2019-11-13 | 2023-08-15 | Nvidia Corporation | Grasp determination for an object in clutter |
CN110977965B (zh) * | 2019-11-26 | 2023-02-28 | 中国科学院深圳先进技术研究院 | 机器人及其控制方法、计算机存储介质 |
KR102423490B1 (ko) * | 2019-11-27 | 2022-07-21 | 코가로보틱스 주식회사 | 로봇의 파지 방법 및 이를 위한 학습 방법 |
KR102224693B1 (ko) * | 2019-11-29 | 2021-03-08 | 브이아이씨테크 주식회사 | 제어 명령에 따른 이동체의 이동결과 추정을 위한 인공지능 모델 학습방법, 장치 및 프로그램 |
JP6792230B1 (ja) * | 2019-12-12 | 2020-11-25 | 株式会社エクサウィザーズ | 情報処理装置、方法およびプログラム |
JP7276108B2 (ja) * | 2019-12-13 | 2023-05-18 | トヨタ自動車株式会社 | 遠隔操作システム及び遠隔操作方法 |
US11584004B2 (en) * | 2019-12-17 | 2023-02-21 | X Development Llc | Autonomous object learning by robots triggered by remote operators |
JP7555076B2 (ja) * | 2020-02-03 | 2024-09-24 | 国立大学法人東京工業大学 | ロボット制御システム、ロボットシステム、操作システム、ロボット制御方法、およびロボット制御プログラム |
CN111310637B (zh) * | 2020-02-11 | 2022-11-11 | 山西大学 | 一种基于尺度不变网络的机器人目标抓取检测方法 |
CN111360862B (zh) * | 2020-02-29 | 2023-03-24 | 华南理工大学 | 一种基于卷积神经网络的生成最佳抓取位姿的方法 |
US11816754B2 (en) | 2020-03-13 | 2023-11-14 | Omron Corporation | Measurement parameter optimization method and device, and computer control program stored on computer-readable storage medium |
KR102485272B1 (ko) * | 2020-03-17 | 2023-01-04 | 전남대학교 산학협력단 | 확률 체계 기반 충돌격자지도를 이용한 충돌 상황을 학습 및 인지하기 위한 장치 및 이를 위한 방법 |
CN111496794B (zh) * | 2020-04-29 | 2022-04-01 | 华中科技大学 | 一种基于仿真工业机器人的运动学自抓取学习方法和系统 |
US12063745B2 (en) * | 2020-05-05 | 2024-08-13 | Integrated Dynamics Engineering Gmbh | Method for processing substrates, in particular wafers, masks or flat panel displays, with a semi-conductor industry machine |
CN111687840B (zh) * | 2020-06-11 | 2021-10-29 | 清华大学 | 一种对空间目标实施抓捕的方法、装置和存储介质 |
US11559885B2 (en) * | 2020-07-14 | 2023-01-24 | Intrinsic Innovation Llc | Method and system for grasping an object |
CN111872937B (zh) * | 2020-07-23 | 2022-04-19 | 西华大学 | 一种任务空间中不确定机械臂的控制方法 |
US11651195B2 (en) * | 2020-08-31 | 2023-05-16 | Verizon Connect Development Limited | Systems and methods for utilizing a machine learning model combining episodic and semantic information to process a new class of data without loss of semantic knowledge |
GB2598758B (en) | 2020-09-10 | 2023-03-29 | Toshiba Kk | Task performing agent systems and methods |
US11654564B2 (en) * | 2020-09-10 | 2023-05-23 | Fanuc Corporation | Efficient data generation for grasp learning with general grippers |
US11858741B2 (en) | 2020-10-19 | 2024-01-02 | Gideon Brothers d.o.o. | Safety mode toggling by autonomous robots in a facility context |
SE544103C2 (en) | 2020-10-28 | 2021-12-21 | Zenrobotics Oy | Waste Sorting Robot with gripper that releases waste object at a throw position |
CN112297013B (zh) * | 2020-11-11 | 2022-02-18 | 浙江大学 | 一种基于数字孪生和深度神经网络的机器人智能抓取方法 |
DE102020214633A1 (de) * | 2020-11-20 | 2022-05-25 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung |
CN112643668B (zh) * | 2020-12-01 | 2022-05-24 | 浙江工业大学 | 一种适用于密集环境下的机械臂推抓协同方法 |
US20220288783A1 (en) * | 2021-03-10 | 2022-09-15 | Nvidia Corporation | Machine learning of grasp poses in a cluttered environment |
JP2022162857A (ja) * | 2021-04-13 | 2022-10-25 | 株式会社デンソーウェーブ | 機械学習装置及びロボットシステム |
CN113326932B (zh) * | 2021-05-08 | 2022-09-09 | 清华大学 | 基于物体检测的物体操作指令跟随学习方法及装置 |
CN113326933B (zh) * | 2021-05-08 | 2022-08-09 | 清华大学 | 基于注意力机制的物体操作指令跟随学习方法及装置 |
WO2022239878A1 (ko) * | 2021-05-10 | 2022-11-17 | 코가플렉스 주식회사 | 로봇의 파지 방법 및 로봇의 파지를 위한 학습 방법 |
CN113436293B (zh) * | 2021-07-13 | 2022-05-03 | 浙江大学 | 一种基于条件生成式对抗网络的智能抓取图像生成方法 |
US11947632B2 (en) * | 2021-08-17 | 2024-04-02 | Maplebear Inc. | Training a classification model using labeled training data that does not overlap with target classifications for the classification model |
CN113799138A (zh) * | 2021-10-09 | 2021-12-17 | 中山大学 | 一种基于抓取生成卷积神经网络的机械臂抓取方法 |
CN114012722B (zh) * | 2021-11-01 | 2023-05-30 | 苏州科德软体电路板有限公司 | 一种基于深度学习和边缘检测的机械臂抓取目标方法 |
TW202348377A (zh) * | 2022-03-11 | 2023-12-16 | 美商即時機器人股份有限公司 | 用於在共享工作空間中之機器人之使用階段姿態之動作規劃及控制 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100188249B1 (ko) | 1997-02-26 | 1999-06-01 | 윤종용 | 공작기계의 원점복귀 방법 |
KR101945772B1 (ko) | 2014-07-24 | 2019-02-11 | 엑스 디벨롭먼트 엘엘씨 | 로봇 시스템이 작업을 수행하기 위한 명령어를 생성하기 위한 방법 및 시스템 |
Family Cites Families (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06314103A (ja) * | 1993-04-30 | 1994-11-08 | Fujitsu Ltd | 制御装置と能動的センシング装置 |
JPH0780790A (ja) * | 1993-09-16 | 1995-03-28 | Fujitsu Ltd | 三次元物体把持システム |
US5699449A (en) * | 1994-11-14 | 1997-12-16 | The University Of Connecticut | Method and apparatus for implementation of neural networks for face recognition |
JP3421608B2 (ja) * | 1999-04-08 | 2003-06-30 | ファナック株式会社 | 教示モデル生成装置 |
EP1262907B1 (en) * | 2001-05-28 | 2007-10-03 | Honda Research Institute Europe GmbH | Pattern recognition with hierarchical networks |
DE10130485C2 (de) | 2001-06-25 | 2003-06-26 | Robert Riener | Programmierbarer Gelenksimulator |
AU2002331786A1 (en) | 2001-08-31 | 2003-03-18 | The Board Of Regents Of The University And Community College System, On Behalf Of The University Of | Coordinated joint motion control system |
WO2004052598A1 (ja) * | 2002-12-12 | 2004-06-24 | Matsushita Electric Industrial Co., Ltd. | ロボット制御装置 |
US10589087B2 (en) | 2003-11-26 | 2020-03-17 | Wicab, Inc. | Systems and methods for altering brain and body functions and for treating conditions and diseases of the same |
JP2008506953A (ja) * | 2004-07-14 | 2008-03-06 | ブレインテック カナダ インコーポレイテッド | 機械視覚のための方法及び装置 |
US20110020779A1 (en) | 2005-04-25 | 2011-01-27 | University Of Washington | Skill evaluation using spherical motion mechanism |
US7533071B2 (en) | 2005-06-28 | 2009-05-12 | Neurosciences Research Foundation, Inc. | Neural modeling and brain-based devices using special purpose processor |
EP1992455B1 (en) * | 2006-02-02 | 2012-04-11 | Kabushiki Kaisha Yaskawa Denki | Robot system |
JP2007245326A (ja) * | 2006-02-17 | 2007-09-27 | Toyota Motor Corp | ロボットとロボットの制御方法 |
US20080009771A1 (en) | 2006-03-29 | 2008-01-10 | Joel Perry | Exoskeleton |
US20090278798A1 (en) | 2006-07-26 | 2009-11-12 | The Research Foundation Of The State University Of New York | Active Fingertip-Mounted Object Digitizer |
US20100243344A1 (en) | 2006-09-25 | 2010-09-30 | Board Of Trustees Of Leland Stanford Junior University | Electromechanically counterbalanced humanoid robotic system |
RU2361726C2 (ru) * | 2007-02-28 | 2009-07-20 | Общество С Ограниченной Ответственностью "Алгоритм-Робо" | Система управления антропоморфным роботом и способ управления |
US20090132088A1 (en) * | 2007-04-24 | 2009-05-21 | Tairob Ltd. | Transfer of knowledge from a human skilled worker to an expert machine - the learning process |
JP2008296330A (ja) * | 2007-05-31 | 2008-12-11 | Fanuc Ltd | ロボットシミュレーション装置 |
WO2009076452A2 (en) | 2007-12-10 | 2009-06-18 | Robotic Systems & Technologies, Inc. | Automated robotic system for handling surgical instruments |
US8155479B2 (en) | 2008-03-28 | 2012-04-10 | Intuitive Surgical Operations Inc. | Automated panning and digital zooming for robotic surgical systems |
US9119533B2 (en) | 2008-10-07 | 2015-09-01 | Mc10, Inc. | Systems, methods, and devices having stretchable integrated circuitry for sensing and delivering therapy |
US8204623B1 (en) | 2009-02-13 | 2012-06-19 | Hrl Laboratories, Llc | Planning approach for obstacle avoidance in complex environment using articulated redundant robot arm |
JP2012524663A (ja) | 2009-04-23 | 2012-10-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 物体学習ロボットおよび方法 |
US20110043537A1 (en) | 2009-08-20 | 2011-02-24 | University Of Washington | Visual distortion in a virtual environment to alter or guide path movement |
JP4837116B2 (ja) * | 2010-03-05 | 2011-12-14 | ファナック株式会社 | 視覚センサを備えたロボットシステム |
EP2542296A4 (en) | 2010-03-31 | 2014-11-26 | St Jude Medical Atrial Fibrill | INTUITIVE USER INTERFACE CONTROL FOR REMOTE CATHETER NAVIGATION AND 3D CARTOGRAPHY AND VISUALIZATION SYSTEMS |
FI20105732A0 (fi) * | 2010-06-24 | 2010-06-24 | Zenrobotics Oy | Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä |
WO2012047356A2 (en) | 2010-07-26 | 2012-04-12 | The University Of Vermont | Uses of systems with degrees of freedom poised between fully quantum and fully classical states |
RU2475290C1 (ru) | 2010-11-17 | 2013-02-20 | Общество С Ограниченной Ответственностью "Айтэм Мультимедиа" | Устройство для игр |
CN102161198B (zh) * | 2011-03-18 | 2012-09-19 | 浙江大学 | 用于三维空间中移动机械臂路径规划的主从式协进化方法 |
JP5787642B2 (ja) * | 2011-06-28 | 2015-09-30 | キヤノン株式会社 | 対象物保持装置、対象物保持装置の制御方法、およびプログラム |
KR20130017123A (ko) | 2011-08-10 | 2013-02-20 | 한국생산기술연구원 | 로봇 파지 지능 학습 지원 시스템 및 방법 |
US20130041508A1 (en) | 2011-08-12 | 2013-02-14 | Georgia Tech Research Corporation | Systems and methods for operating robots using visual servoing |
JP2013046937A (ja) * | 2011-08-29 | 2013-03-07 | Dainippon Screen Mfg Co Ltd | 対象物把持装置および対象物把持方法および対象物把持プログラム |
JP5623358B2 (ja) * | 2011-09-06 | 2014-11-12 | 三菱電機株式会社 | ワーク取り出し装置 |
TWI454246B (zh) | 2011-09-30 | 2014-10-01 | Mackay Memorial Hospital | Immediate monitoring of the target location of the radiotherapy system |
US8386079B1 (en) * | 2011-10-28 | 2013-02-26 | Google Inc. | Systems and methods for determining semantic information associated with objects |
CN102848388A (zh) * | 2012-04-05 | 2013-01-02 | 上海大学 | 基于多传感器的服务机器人定位和抓取方法 |
US20130343640A1 (en) * | 2012-06-21 | 2013-12-26 | Rethink Robotics, Inc. | Vision-guided robots and methods of training them |
KR101997566B1 (ko) | 2012-08-07 | 2019-07-08 | 삼성전자주식회사 | 수술 로봇 시스템 및 그 제어방법 |
US20140180479A1 (en) * | 2012-12-20 | 2014-06-26 | Wal-Mart Stores, Inc. | Bagging With Robotic Arm |
US9764468B2 (en) * | 2013-03-15 | 2017-09-19 | Brain Corporation | Adaptive predictor apparatus and methods |
US20150138078A1 (en) * | 2013-11-18 | 2015-05-21 | Eyal Krupka | Hand pose recognition using boosted look up tables |
CN104680508B (zh) * | 2013-11-29 | 2018-07-03 | 华为技术有限公司 | 卷积神经网络和基于卷积神经网络的目标物体检测方法 |
WO2015134391A1 (en) | 2014-03-03 | 2015-09-11 | University Of Washington | Haptic virtual fixture tools |
US9533413B2 (en) | 2014-03-13 | 2017-01-03 | Brain Corporation | Trainable modular robotic apparatus and methods |
JP6415066B2 (ja) * | 2014-03-20 | 2018-10-31 | キヤノン株式会社 | 情報処理装置、情報処理方法、位置姿勢推定装置、ロボットシステム |
JP6364856B2 (ja) * | 2014-03-25 | 2018-08-01 | セイコーエプソン株式会社 | ロボット |
US9978013B2 (en) * | 2014-07-16 | 2018-05-22 | Deep Learning Analytics, LLC | Systems and methods for recognizing objects in radar imagery |
US11256982B2 (en) | 2014-07-18 | 2022-02-22 | University Of Southern California | Noise-enhanced convolutional neural networks |
US9767385B2 (en) * | 2014-08-12 | 2017-09-19 | Siemens Healthcare Gmbh | Multi-layer aggregation for object detection |
US10768708B1 (en) | 2014-08-21 | 2020-09-08 | Ultrahaptics IP Two Limited | Systems and methods of interacting with a robotic tool using free-form gestures |
US10518409B2 (en) | 2014-09-02 | 2019-12-31 | Mark Oleynik | Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries |
US10754328B2 (en) * | 2014-09-05 | 2020-08-25 | Accenture Global Solutions Limited | Self-adaptive device intelligence as a service enterprise infrastructure for sensor-rich environments |
CA2882968C (en) * | 2015-02-23 | 2023-04-25 | Sulfur Heron Cognitive Systems Inc. | Facilitating generation of autonomous control information |
US10335951B2 (en) * | 2015-07-29 | 2019-07-02 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, robot control apparatus, and robot system |
US9616568B1 (en) * | 2015-08-25 | 2017-04-11 | X Development Llc | Generating a grasp affordance for an object based on a thermal image of the object that is captured following human manipulation of the object |
KR101808840B1 (ko) * | 2015-09-04 | 2017-12-13 | 한국전자통신연구원 | 학습 기반 깊이 정보 추출 방법 및 장치 |
CN106548127B (zh) * | 2015-09-18 | 2022-11-04 | 松下电器(美国)知识产权公司 | 图像识别方法 |
US9689696B1 (en) | 2015-09-22 | 2017-06-27 | X Development Llc | Determining handoff checkpoints for low-resolution robot planning |
US9662787B1 (en) | 2015-09-25 | 2017-05-30 | Google Inc. | Hydraulic pressure variation in a legged robot |
US20170106542A1 (en) * | 2015-10-16 | 2017-04-20 | Amit Wolf | Robot and method of controlling thereof |
US9904874B2 (en) * | 2015-11-05 | 2018-02-27 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
US9959468B2 (en) * | 2015-11-06 | 2018-05-01 | The Boeing Company | Systems and methods for object tracking and classification |
JP2017102671A (ja) * | 2015-12-01 | 2017-06-08 | キヤノン株式会社 | 識別装置、調整装置、情報処理方法及びプログラム |
US10471594B2 (en) | 2015-12-01 | 2019-11-12 | Kindred Systems Inc. | Systems, devices, and methods for the distribution and collection of multimodal data associated with robots |
US9799198B2 (en) | 2015-12-18 | 2017-10-24 | General Electric Company | System and method for communicating with an operator of the system |
US10229324B2 (en) * | 2015-12-24 | 2019-03-12 | Intel Corporation | Video summarization using semantic information |
US20170213576A1 (en) * | 2016-01-22 | 2017-07-27 | Artur Nugumanov | Live Comics Capturing Camera |
EP3742347B1 (en) * | 2016-03-03 | 2022-11-02 | Google LLC | Deep machine learning methods and apparatus for robotic grasping |
-
2017
- 2017-03-02 KR KR1020187027695A patent/KR102023149B1/ko active IP Right Grant
- 2017-03-02 JP JP2018545896A patent/JP6586243B2/ja active Active
- 2017-03-02 CN CN202010527977.4A patent/CN111832702A/zh active Pending
- 2017-03-02 EP EP17711906.2A patent/EP3414710B1/en active Active
- 2017-03-02 WO PCT/US2017/020455 patent/WO2017151926A1/en active Application Filing
- 2017-03-02 CN CN201780018883.0A patent/CN108885715B/zh active Active
- 2017-03-02 US US15/448,013 patent/US9914213B2/en active Active
-
2018
- 2018-01-26 US US15/881,189 patent/US10639792B2/en active Active
-
2020
- 2020-03-19 US US16/823,947 patent/US11045949B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100188249B1 (ko) | 1997-02-26 | 1999-06-01 | 윤종용 | 공작기계의 원점복귀 방법 |
KR101945772B1 (ko) | 2014-07-24 | 2019-02-11 | 엑스 디벨롭먼트 엘엘씨 | 로봇 시스템이 작업을 수행하기 위한 명령어를 생성하기 위한 방법 및 시스템 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210069410A (ko) | 2019-12-03 | 2021-06-11 | 경기대학교 산학협력단 | 로봇 물체 조작 학습 시스템 |
KR20220090137A (ko) * | 2020-12-22 | 2022-06-29 | 주식회사 대덕알앤디 | 스마트 eoat 로봇 시스템 |
KR102426189B1 (ko) * | 2020-12-22 | 2022-07-28 | 주식회사 대덕알앤디 | 스마트 eoat 로봇 시스템 |
Also Published As
Publication number | Publication date |
---|---|
WO2017151926A1 (en) | 2017-09-08 |
CN111832702A (zh) | 2020-10-27 |
JP2019509905A (ja) | 2019-04-11 |
US10639792B2 (en) | 2020-05-05 |
US9914213B2 (en) | 2018-03-13 |
EP3414710A1 (en) | 2018-12-19 |
US20170252924A1 (en) | 2017-09-07 |
CN108885715A (zh) | 2018-11-23 |
US20180147723A1 (en) | 2018-05-31 |
CN108885715B (zh) | 2020-06-26 |
KR20180114200A (ko) | 2018-10-17 |
JP6586243B2 (ja) | 2019-10-02 |
EP3414710B1 (en) | 2022-11-02 |
US11045949B2 (en) | 2021-06-29 |
US20200215686A1 (en) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102023149B1 (ko) | 로봇 파지를 위한 심층 기계 학습 방법 및 장치 | |
US10946515B2 (en) | Deep machine learning methods and apparatus for robotic grasping | |
US11717959B2 (en) | Machine learning methods and apparatus for semantic robotic grasping | |
US11325252B2 (en) | Action prediction networks for robotic grasping | |
CN110691676B (zh) | 使用神经网络和几何感知对象表示的机器人抓取预测 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |