KR20190030197A - 훈련된 경로를 자율주행하도록 로봇을 초기화하기 위한 시스템 및 방법 - Google Patents

훈련된 경로를 자율주행하도록 로봇을 초기화하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20190030197A
KR20190030197A KR1020187035946A KR20187035946A KR20190030197A KR 20190030197 A KR20190030197 A KR 20190030197A KR 1020187035946 A KR1020187035946 A KR 1020187035946A KR 20187035946 A KR20187035946 A KR 20187035946A KR 20190030197 A KR20190030197 A KR 20190030197A
Authority
KR
South Korea
Prior art keywords
robot
initialization object
path
image
initialization
Prior art date
Application number
KR1020187035946A
Other languages
English (en)
Other versions
KR102444658B1 (ko
Inventor
장 밥티스트 파소
잘덜트 롬바우츠
코디 그리핀
존 블랙
Original Assignee
브레인 코퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브레인 코퍼레이션 filed Critical 브레인 코퍼레이션
Publication of KR20190030197A publication Critical patent/KR20190030197A/ko
Application granted granted Critical
Publication of KR102444658B1 publication Critical patent/KR102444658B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Electromagnetism (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

로봇으로 하여금 경로를 자율적으로 주행하게 초기화하는 시스템 및 방법이 개시된다. 일부 예시적인 구현예에서, 로봇은 초기화 객체를 검출하고, 이후 초기화 객체에 대한 위치를 결정한다. 로봇은 사용자 데모에 의하여 경로를 학습할 수 있고, 로봇은 그 경로에 따른 행동을 초기화 객체에 대한 위치와 연관시킨다. 로봇은 후에 다시 초기화 객체를 검출하고 그 초기화 객체에 대한 위치를 결정할 수 있다. 로봇은 이후 학습된 경로를 자율적으로 내비게이션하고, 초기화 객체에 대한 위치와 연관된 행동을 수행할 수 있다.

Description

훈련된 경로를 자율주행하도록 로봇을 초기화시키기 위한 시스템 및 방법
우선권
본 출원은 동일한 발명의 명칭으로 2016년 5월 11일자에 출원된 계류중인 미국 특허 출원 제15/152,436호에 대해 우선권을 주장하며, 이는 전체로서 참조에 의하여 본원에 포함된다.
저작권
본 특허문서의 본 개시의 일부는 저작권 보호를 받는 자료를 포함하고 있다. 저작권 소유자는 미국 특허 상표청의 특허 파일 또는 기록에 나타나 있듯이 모든 특허 문서 또는 특허 공개에 대한 팩스 복제물에 대해 이의를 제기하지 않지만 달리 저작권의 모든 권리를 보유한다.
본 출원은 일반적으로, 특히, 로봇 시스템 및 이를 이용하는 방법에 관한 것이다. 특히, 일 양태에서, 본 개시는 훈련된 경로를 이동시키기 위해 로봇을 초기화하고 동작시키는 시스템 및 방법에 관한 것이다.
현재, 프로그래밍 로봇은 종종 로봇이 만날 수 있는 모든 상황을 예상하거나 예상하려고 하는 소모적 코딩을 수반될 수 있다. 이러한 접근 방식은 시간, 에너지 및 컴퓨터 자원 관점에서 비용이 많이 드는 것뿐만 아니라 이 접근법은 또한 로봇의 능력을 제한할 수도 있다. 예를 들어, 많은 로봇은 예측 가능한 또는 미리 정의된 조건을 갖춘 제어된 환경에서만 효과적일 수 있다. 이 로봇은 동적으로 변화하는 환경 및/또는 로봇이 특별히 프로그래밍되지 않은 새로운 환경에서는 효과적이지 않을 수 있다. 로봇이 일반 능력으로 프로그래밍된 경우, 로봇은 여러가지 작업에서 유용할 수 있지만, 이러한 작업 중 특정 작업에서는 효과가 없거나 비효율적일 수 있다. 다른 한편으로는, 특정 작업을 효과적이고 효율적으로 수행하도록 프로그래밍된 로봇은 이러한 작업에만 국한되며 다른 작업을 수행할 수 없다. 유사하게, 많은 현재 로봇은 전문 기술자 및 다른 고도로 숙련된 작업자가 이를 프로그래밍하고 조작하도록 요구할 수 있다. 이 요구 사항은 로봇 작동 시간과 비용을 증가시킨다.
이러한 과제는 로봇을 경로를 따라 주행하도록 프로그래밍하는데 특히 두드러진다. 예를 들어, 로봇으로 하여금 제1 지점에서 제2 지점으로 자율적으로 주행하도록 프로그래밍하기 위하여, 프로그래머는 지도를 프로그래밍하고, 로봇이 그 지점으로 주행해야 하는 순서 또는 로직을 따라, 로봇이 주행해야 하는 지도상의 각 지점을 식별해야 한다. 프로그래머는 각 환경에 맞게 로봇을 프로그래밍하고 환경 지도와 함께 원하는 모든 경로를 입력해야 할 수도 있다. 대안으로, 프로그래머가 로봇이 경로를 결정하기 위한 일반적인 규칙과 논리를 프로그램하면, 로봇은 특정 경로를 따라 가면 느리고 비효율적일 수 있다. 어느 경우에나, 그러한 프로그래밍은 시간 소모적일 수 있으며 또한 고도로 숙련된 작업자가 로봇을 조작하도록 요구할 수 있다. 따라서, 경로를 주행하도록 로봇을 프로그래밍하기 위한 개선된 시스템 및 방법이 필요하다.
로봇을 경로를 주행하도록 프로그래밍할 때 발생할 수 있는 또 다른 과제는 로봇을 초기화하여 환경에서 로봇의 위치를 상대적으로 빠르게 결정할 수 있도록 하는 것이다. 이러한 결정을 내릴 수 있다는 것은 로봇이 환경에서 위치하고 있는 로봇의 위치를 로봇에게 알려줌으로써 로봇이 경로를 정확하게 내비게이션하는 데 중요할 수 있다. 위치를 결정하는 종래의 시스템 및 방법은 사용자 및/또는 기술자가 처음에 시작 위치를 프로그래밍하고 매번 동일한 지점에서 로봇을 시작하게 하는 것을 수반한다. 경우에 따라 이러한 시스템 및 방법은 구현하는데 많은 시간이 소요될 수 있으며, 및/또는 로봇이 사용자 친화적인 방식으로 환경을 내비게이션할 수 있는 강건성을 갖추지 못할 수도 있다.
따라서, 경로를 주행하도록 로봇을 프로그래밍하는 개선된 시스템 및 방법이 필요하다.
전술한 필요성은 특히, 훈련된 경로를 주행하도록 로봇을 초기화하고 동작시키는 시스템 및 방법을 제공하는 본 개시에 의해 충족된다. 본 명세서에 기술된 예시적인 구현예는 혁신적인 특징을 가지며, 그 특징은 단일로는 그들의 바람직한 속성에 대해 필수 불가결하거나 원인이 되지 않는다. 청구항들의 범위를 제한하지 않고, 유리한 특징들 중 일부를 이하 요약한다.
본 명세서의 일부 구현예에서, 초기화 객체에 대한 위치를 검출하기 위한 시스템 및 방법이 개시된다. 유리하게는, 이러한 검출은 로봇이 데모된 경로를 학습하고, 데모된 경로를 자율적으로 내비게이션하는 것을 용이하게 할 수 있다.
제1 양태에서 로봇이 개시된다. 예시적인 구현예에서, 로봇은: 상기 로봇이 제1 위치에 있는 동안에 초기화 객체의 제1 이미지를 상기 로봇이 제2 위치에 있는 동안에 상기 초기화 객체의 제2 이미지를 촬영하도록 구성된 카메라; 상기 초기화 객체에 대한 상기 로봇의 위치를 결정하도록 구성된 주행거리 측정 유닛; 및 제어기를 포함한다. 상기 제어기는 상기 로봇이 상기 제1 위치에 있는 동안에 상기 제1 이미지로부터 적어도 부분적으로 결정된 상기 초기화 객체객체에 대해 상기 주행거리 측정 유닛을 초기화하고; 상기 제1 위치로부터 시작하여 사용자 데모에 의하여 경로를 학습하는 것으로, 여기서 학습된 상기 경로는 상기 로봇의 행동들을 상기 주행거리 측정 유닛에 의하여 결정된 상기 객체초기화 객체에 대한 상기 로봇의 위치와 연관시키는, 상기 학습하고; 상기 로봇이 상기 제2 위치에 있는 동안에 상기 제2 이미지로부터 적어도 부분적으로 결정된 상기 초기화 객체객체에 대해 상기 주행거리 측정 유닛을 초기화하고; 그리고 상기 주행거리 측정 유닛에 의하여 결정된 상기 객체초기화 객체에 대한 상기 로봇의 위치에 적어도 부분적으로 기초하여 상기 로봇이 하나 이상의 연관된 행동들을 수행하도록 명령하는 동안 상기 학습된 경로의 적어도 일부를 통하여 상기 제2 위치로부터 자율적으로 시작하여 로봇을 내비게이션하도록 구성된다.
일 변형예에서, 상기 주행거리 측정 유닛은 가속계, 관성 측정 유닛, 라이다, 주행거리 측정기, 자이로스코프, 영상 주행기록계, 및 속도계 중의 적어도 하나를 포함한다.
일 변형예에서, 상기 로봇은 상기 로봇이 상기 제2 위치에 있는 동안에 상기 학습된 경로를 통하여 자율적으로 상기 로봇의 내비게이션을 초기화하도록 사용자에게 프롬프트하도록 구성된 사용자 인터페이스를 포함한다.
일 변형예에서, 상기 로봇은 플로어 청소기이다.
일 변형예에서, 상기 로봇은 장면의 스캔 라이다 이미지를 촬영하도록 구성된 센서를 포함하고, 상기 제어기는 상기 스캔 라이다 이미지를 상기 초기화 객체에 연관시키고 상기 스캔 라이다 이미지를 이용하여 상기 초기화 객체를 검증하도록 더 구성된다.
제2 양태에서, 로봇을 동작시키는 방법이 개시된다. 일 예시 구현예에서, 상기 로봇을 동작시키는 방법은: 상기 로봇이 제1 위치에 있는 동안에 초기화 객체의 제1 이미지를 획득하는 단계; 상기 로봇이 상기 제1 위치에 있는 동안 상기 제1 이미지에 적어도 부분적으로 기초하여 상기 초기화 객체에 대한 상기 로봇의 제1 출발 위치를 결정하는 단계; 상기 제1 위치로부터 출발하여 사용자 데모에 의하여 경로를 학습하는 단계로서, 여기서 학습된 상기 경로는 상기 로봇의 행동들을 상기 초기화 객체에 대한 상기 로봇의 위치와 연관시키고, 상기 위치들은 상기 제1 출발 위치로부터 적어도 부분적으로 결정되는, 상기 학습하는 단계; 상기 로봇이 제2 위치에 있는 동안에 상기 초기화 객체의 제2 이미지를 획득하는 단계; 상기 로봇이 상기 제2 위치에 있는 동안 상기 제2 이미지에 적어도 부분적으로 기초하여 상기 초기화 객체에 대한 상기 로봇의 제2 출발 위치를 결정하는 단계; 및 상기 초기화 객체에 대한 상기 로봇의 위치에 적어도 부분적으로 기초하여 상기 로봇에게 상기 하나 이상의 연관된 행동들을 수행하도록 명령하면서 학습된 경로의 적어도 일부분을 통하여 제2 위치로부터 출발하는 로봇을 자율적으로 내비게이션하는 단계로서, 여기서 상기 위치들은 상기 제2 출발 위치로부터 적어도 부분적으로 결정되는, 상기 내비게이션하는 단계를 포함한다.
일 변형예에서, 상기 제1 이미지를 획득하는 단계와 상기 제2 이미지를 획득하는 단계는 각각 센서로 데이터를 발생시키고 상기 데이터를 데이터 구조에 저장하는 단계를 포함한다.
다른 변형예에서, 상기 방법은 사용자 입력과 상기 초기화 객체의 특성 중의 적어도 하나에 적어도 부분적으로 기초하여 자율적인 내비게이션을 시작하는 단계를 더 포함한다.
다른 변형예에서, 상기 방법은 메모리에 저장된 복수의 경로로부터 학습된 경로를 선택하는 단계를 더 포함한다.
제3 양태에서, 비일시성 컴퓨터 판독 가능 저장 매체가 개시된다. 일 예시 구현예에서, 복수의 명령들이 저장된 비일시성 컴퓨터 판독 가능 저장 매체가 개시된다. 상기 명령들은, 상기 로봇을 동작시키도록 프로세싱 장치에 의해 실행 가능하고, 상기 명령들은, 상기 프로세싱 장치에 의해 실행될 때, 상기 프로세싱 장치로 하여금: 이미지에 적어도 부분적으로 기초하여 객체초기화 객체에 대한 상기 로봇의 출발 위치를 결정하게 하고; 그리고 사용자 데모에 의하여 경로를 학습하게 하도록 구성되며, 여기서 학습된 상기 경로는 상기 로봇의 행동들을 상기 초기화 객체에 대한 상기 로봇의 위치와 연관시키고, 상기 위치들은 상기 출발 위치로부터 적어도 부분적으로 결정된다.
일 변형예에서, 상기 비일시성 컴퓨터 판독 가능 매체는, 상기 프로세싱 장치에 의하여 실행될 때, 상기 프로세싱 장치로 하여금 상기 로봇이 상기 학습된 경로를 자율적으로 내비게이션하게 하도록 명령하도록 더 구성된 명령들을 포함한다.
다른 변형예에서, 상기 비일시성 컴퓨터 판독 가능 매체는, 상기 프로세싱 장치에 의하여 실행될 때, 상기 프로세싱 장치로 하여금 소정의 순서의 행동들을 인식하고 상기 소정의 순서의 행동들에 적어도 부분적으로 기초하여 상기 학습된 경로를 자율적으로 내비게이션하게 하도록 더 구성된 명령들을 포함한다.
제4 양태에서, 로봇 스크러버가 개시된다. 일 예시 구현예에서, 로봇 스크러버는 제1 초기화 객체의 검출에 적어도 부분적으로 기초하여 제1 학습된 경로를 자율적으로 내비게이션하고, 제2 초기화 객체의 검출에 적어도 부분적으로 기초하여 제2 학습된 경로를 자율적으로 내비게이션하도록 구성된다.
일 변형예에서, 상기 제1 학습된 경로와 상기 제2 학습된 경로는 사용자에 의하여 상기 로봇 스크러버로 데모된다. 다른 변형예에서, 상기 제1 초기화 객체의 검출과 상기 제2 초기화 객체의 검출은 초기화 위치로부터 이루어진다. 다른 변형예에서, 상기 제1 초기화 객체의 검출은 제1 초기화 위치로부터 이루어지고 상기 제2 초기화 객체의 검출은 제2 초기화 위치로부터 이루어지며, 상기 로봇 스크러버는 사용자 제어 하에 상기 제1 초기화 위치와 상기 제2 초기화 위치로 이동된다.
제5 양태에서, 초기화 객체가 개시된다. 일 예시 구현예에서, 상기 초기화 객체는 로봇에 의한 검출을 위하여 구성된다. 상기 로봇이 상기 초기화 객체를 검출할 때, 상기 로봇은 상기 초기화 객체에 대해 위치를 초기화한다.
일 변형예에서, 상기 초기화 객체는 이진 이미지이다. 다른 변형예에서, 상기 초기화 객체는 비대칭이다. 다른 변형예에서, 상기 초기화 객체는 적어도 하나의 학습된 경로와 연관된다. 다른 변형예에서, 상기 초기화 객체는 상기 로봇이 상기 초기화 객체를 검출할 때 상기 로봇의 자율적인 내비게이션을 일으키도록 구성된다.
추가적인 양태와 구현예들이 본 개시에 기재된다. 예를 들어, 본 개시의 일부 구현예들은 자율적으로 내비게이션하는 로봇을 포함하며, 상기 로봇은: 상기 로봇이 제1 위치에 있는 동안에 초기화 객체의 제1 이미지를, 그리고 상기 로봇이 제2 위치에 있는 동안에 상기 초기화 객체의 제2 이미지를 촬영하도록 구성된 카메라; 상기 초기화 객체에 대한 상기 로봇의 위치를 결정하도록 구성된 주행거리 측정 유닛; 및 제어기를 포함하며, 상기 제어기는, 상기 로봇이 상기 제1 위치에 있는 동안에 상기 제1 이미지로부터 적어도 부분적으로 결정된 상기 초기화 객체객체에 대해 상기 주행거리 측정 유닛을 초기화하고; 상기 제1 위치로부터 시작하여 사용자 데모에 의하여 경로를 학습하는 것으로서, 여기서 학습된 상기 경로는 상기 로봇의 행동들을 상기 주행거리 측정 유닛에 의하여 결정된 상기 객체초기화 객체에 대한 상기 로봇의 위치와 연관시키는, 상기 학습하고; 상기 로봇이 상기 제2 위치에 있는 동안에 상기 제2 이미지로부터 적어도 부분적으로 결정된 상기 초기화 객체객체에 대해 상기 주행거리 측정 유닛을 초기화하고; 그리고 상기 주행거리 측정 유닛에 의하여 결정된 상기 객체초기화 객체에 대한 상기 로봇의 위치에 적어도 부분적으로 기초하여 상기 로봇이 하나 이상의 연관된 행동들을 수행하도록 명령하는 동안 상기 학습된 경로의 적어도 일부를 통하여 상기 제2 위치로부터 자율적으로 시작하여 로봇을 내비게이션하도록 구성된 제어기를 포함한다.
일부 구현예에서, 상기 주행거리 측정 유닛은 가속계, 관성 측정 유닛, 라이다, 주행거리 측정기, 자이로스코프, 영상 주행기록계, 및 속도계 중의 적어도 하나를 포함한다. 일부 구현예에서, 상기 초기화 객체는 이진 이미지이다. 일부 구현예에서, 상기 초기화 객체는 그림(picture)이다.
일부 구현예에서, 상기 자율적으로 내비게이션하는 로봇은 상기 로봇이 상기 제2 위치에 있는 동안에 상기 학습된 경로를 통하여 자율적으로 상기 로봇의 내비게이션을 초기화하도록 사용자에게 프롬프트하도록 구성된 사용자 인터페이스를 더 포함한다.
일부 구현예에서, 상기 하나 이상의 연관된 행동들 중의 적어도 하나는 상기 로봇의 터닝을 포함한다. 일부 구현예에서, 상기 하나 이상의 연관된 행동들 중의 적어도 하나는 상기 로봇의 브러시를 턴온하도록 구성된 스위치의 작동을 포함한다. 일부 구현예에서, 상기 로봇은 플로어 청소기이다.
일부 구현예에서, 상기 제1 위치와 상기 제2 위치는 실질적으로 유사하다. 일부 구현예에서, 상기 하나 이상의 연관된 행동들은 상기 로봇의 궤적들과 더 연관된다.
일부 구현예에서, 상기 로봇은 장면의 스캔 라이다 이미지를 촬영하도록 구성된 센서를 포함하고, 상기 제어기는 상기 스캔 라이다 이미지를 상기 초기화 객체에 연관시키고 상기 스캔 라이다 이미지를 이용하여 상기 초기화 객체를 검증하도록 더 구성된다.
다른 예로서, 본 개시의 일부 구현예는 로봇을 동작시키는 방법에 있어서, 상기 로봇이 제1 위치에 있는 동안에 초기화 객체의 제1 이미지를 획득하는 단계; 상기 로봇이 상기 제1 위치에 있는 동안 상기 제1 이미지에 적어도 부분적으로 기초하여 상기 초기화 객체에 대한 상기 로봇의 제1 출발 위치를 결정하는 단계; 상기 제1 위치로부터 출발하여 사용자 데모에 의하여 경로를 학습하는 단계로서, 여기서 학습된 상기 경로는 상기 로봇의 행동들을 상기 초기화 객체에 대한 상기 로봇의 위치와 연관시키고, 상기 위치들은 상기 제1 출발 위치로부터 적어도 부분적으로 결정되는 단계; 상기 로봇이 제2 위치에 있는 동안에 상기 초기화 객체의 제2 이미지를 획득하는 단계; 상기 로봇이 상기 제2 위치에 있는 동안 상기 제2 이미지에 적어도 부분적으로 기초하여 상기 초기화 객체에 대한 상기 로봇의 제2 출발 위치를 결정하는 단계; 및 상기 초기화 객체에 대한 상기 로봇의 위치에 적어도 부분적으로 기초하여 상기 로봇에게 상기 하나 이상의 연관된 행동들을 수행하도록 명령하면서 학습된 경로의 적어도 일부분을 통하여 제2 위치로부터 출발하는 로봇을 자율적으로 내비게이션하는 단계로서, 여기서 상기 위치들은 상기 제2 출발 위치로부터 적어도 부분적으로 결정되는, 상기 내비게이션하는 단계를 포함하는 로봇을 동작시키는 방법을 포함할 수 있다.
일부 구현예에서, 상기 제1 이미지를 획득하는 단계와 상기 제2 이미지를 획득하는 단계는 각각 센서로 데이터를 발생시키고 상기 데이터를 데이터 구조에 저장하는 단계를 포함한다.
일부 구현예에서, 상기 로봇을 동작시키는 방법은 사용자 입력과 상기 초기화 객체의 특성 중의 적어도 하나에 적어도 부분적으로 기초하여 자율적인 내비게이션을 시작하는 단계를 더 포함한다.
일부 구현예에서, 상기 하나 이상의 연관된 행동들 중의 적어도 하나는 상기 로봇의 터닝을 포함한다. 일부 구현예에서, 상기 하나 이상의 연관된 행동들 중의 적어도 하나는 브러시의 스위칭을 포함한다. 일부 구현예에서, 상기 로봇을 자율적으로 내비게이션하는 단계는 상기 로봇이 상기 초기화 객체를 검출할 때까지 상기 로봇을 자율적으로 내비게이션하는 단계를 더 포함한다.
일부 구현예에서, 상기 로봇을 동작시키는 방법은 메모리에 저장된 복수의 경로로부터 학습된 경로를 선택하는 단계를 더 포함한다.
일부 구현예에서, 상기 하나 이상의 연관된 행동들 중의 적어도 하나는 상기 로봇의 행동들을 상기 로봇에 대한 궤적들과 연관시키는 단계를 포함한다.
다른 예로서, 본 개시의 일부 구현예들은 복수의 명령들이 저장된 비일시성 컴퓨터 판독 가능 저장 매체로서, 상기 명령들은, 상기 로봇을 동작시키도록 프로세싱 장치에 의해 실행 가능하고, 상기 명령들은, 상기 프로세싱 장치에 의해 실행될 때, 상기 프로세싱 장치로 하여금: 이미지에 적어도 부분적으로 기초하여 객체초기화 객체에 대한 상기 로봇의 출발 위치를 결정하게 하고; 그리고 사용자 데모에 의하여 경로를 학습하게 하며, 여기서 학습된 상기 경로는 상기 로봇의 행동들을 상기 초기화 객체에 대한 상기 로봇의 위치와 연관시키고, 상기 위치들은 상기 출발 위치로부터 적어도 부분적으로 결정되는, 비일시성 컴퓨터 판독 가능 저장 매체를 포함한다.
일 구현예에서, 상기 초기화 객체는 이진 이미지이다. 일 구현예에서, 상기 연관된 행동들은 터닝을 포함한다. 일부 구현예에서, 상기 연관된 행동들은 브러시의 스위칭을 포함한다.
일부 구현예에서, 일 변형예에서, 상기 비일시성 컴퓨터 판독 가능 매체는, 상기 프로세싱 장치에 의하여 실행될 때, 상기 프로세싱 장치로 하여금 상기 로봇이 상기 학습된 경로를 자율적으로 내비게이션하도록 명령하게 하도록 더 구성된 명령들을 포함한다.
일부 구현예에서, 상기 비일시성 컴퓨터 판독 가능 매체는, 상기 프로세싱 장치에 의하여 실행될 때, 상기 프로세싱 장치로 하여금 소정의 순서의 행동들을 인식하고 상기 소정의 순서의 행동들에 적어도 부분적으로 기초하여 상기 학습된 경로를 자율적으로 내비게이션하게 하도록 더 구성된 명령들을 포함한다.
일부 구현예에서, 비일시성 컴퓨터 판독 가능 매체의 상기 명령들은: 상기 프로세싱 장치에 의하여 실행될 때, 상기 로봇의 결정된 위치에서 상기 로봇의 행동을 결정하고; 그리고 상기 행동을 실행하도록 더 구성되고, 상기 행동은 상기 로봇의 터닝 행동을 포함한다.
일부 구현예에서, 비일시성 컴퓨터 판독 가능 매체의 상기 명령들은: 상기 프로세싱 장치에 의하여 실행될 때, 상기 로봇의 결정된 위치에서 상기 로봇의 행동을 결정하고; 그리고 상기 행동을 실행하도록 더 구성되며, 여기서 상기 행동은 브러시를 턴온하도록 구성된 스위치의 작동을 포함한다.
다른 예로서, 본 개시의 일부 구현예들은 로봇 스크러버에 있어서, 제1 초기화 객체의 검출에 적어도 부분적으로 기초하여 제1 학습된 경로를 자율적으로 내비게이션하고, 제2 초기화 객체의 검출에 적어도 부분적으로 기초하여 제2 학습된 경로를 자율적으로 내비게이션하도록 구성된 로봇 스크러버를 포함한다.
일부 구현예에서, 상기 제1 학습된 경로와 상기 제2 학습된 경로는 사용자에 의하여 상기 로봇 스크러버에게 데모된다. 일부 구현예에서, 상기 제1 초기화 객체의 검출과 상기 제2 초기화 객체의 검출은 초기화 위치로부터 검출된다. 일부 구현예에서, 상기 제1 초기화 객체의 검출은 제1 초기화 위치로부터 이루어지고 상기 제2 초기화 객체의 검출은 제2 초기화 위치로부터 이루어지며, 상기 로봇 스크러버는 사용자 제어 하에 상기 제1 초기화 위치와 상기 제2 초기화 위치로 이동된다.
본 개시의 이들 및 다른 목적, 특징 및 특성뿐만 아니라 구조의 관련 요소의 작동 및 기능의 방법 및 제조의 부품과 경제성의 조합은 첨부 도면을 참조한 다음의 설명 및 첨부된 청구범위를 고려할 때 더욱 명백해질 것이다. 이들 모두는 본 명세서의 일부를 형성하며, 동일한 도면 부호는 다양한 도면에서 대응하는 부분을 나타낸다. 그러나, 도면은 단지 예시 및 설명의 목적을 위한 것이고, 본 개시의 한계의 정의로서 의도하지 않는다는 것을 명백히 알 수 있을 것이다. 명세서 및 청구의 범위에서 사용된 바와 같이, 단수 형태의 "한(a)", "하나(an)" 및 "그(the)"는 문맥 상 명확하게 다르게 지시하지 않는 한, 복수 대상을 포함한다.
다음으로, 개시된 양태를 설명하기 위해 그러나 제한하지 않도록 제공된 첨부 도면을 참조하여, 개시된 양태들을 설명하며, 동일한 명칭은 동일한 요소를 나타낸다.
도 1a는 본 개시의 구현예에 따른, 로봇에 의해 자율적으로 네비게이션되는 예시적인 경로의 오버헤드 도면이다.
도 1b는 본 개시의 구현예에 따른, 사용자가 로봇에 대한 경로를 데모하는 것을 예시하는, 도 1a에 도시된 예시적인 경로의 오버헤드 도면이다.
도 1c는 도 1a 및 도1b에 도시된 로봇에 의해 자율적으로 네비게이션되는 대안적인 예시적인 경로의 오버헤드 도면이고, 로봇은 본 개시의 일부 원리에 따라 대상물을 피한다.
도 1d는 본 개시의 일부 구현예에 따른, 로봇을 초기화하기 위한 플로어 상의 위치인 예시적인 초기 위치의 오버 헤드 도면이다.
도 2는 본 개시의 일부 구현예에 따른, 경로를 자율적으로 네비게이션하도록 로봇을 훈련하는 예시적인 방법의 프로세스 흐름도이다.
도 3a는 본 개시의 일부 구현예에 따른, 예시적인 로봇의 기능 블록도이다.
도 3b는 본 개시의 일부 구현예에 따른, 외부 수용성(exteroceptive) 센서의 일부로서 포함된 예시적인 카메라를 갖는, 도 3a의 기능 블록도이다.
도 3c는 본 개시의 일부 원리들에 따른, 도 3b로부터 로봇이 초기화 객체를 검출하는 것을 예시하는 측면도이다.
도 4a는 본 개시의 일부 원리에 따른, 플로어 스크러버에 대한 예시적인 바디 형태의 다양한 측면도를 예시한다.
도 4b는 본 개시의 원리에 따른, 로봇의 예시적인 바디 형태의 다양한 측면도를 예시한다.
도 5는 본 개시의 일부 원리에 따른, 초기화 객체로서 사용될 수 있는 이진 이미지의 다양한 측면도를 예시한다.
도 6은 본 개시의 일부 구현예에 따른, 학습된 경로를 자율적으로 네비게이션하도록 로봇을 초기화할 수 있는 예시적인 방법의 프로세스 흐름도이다.
도 7은 초기화 객체에 일정 각도로 위치된 로봇의 오버헤드 도면이고, 로봇의 센서는 본 개시의 일부 구현예에 따라 센서 상의 예시적인 지점으로부터 초기화 객체 상의 지점까지의 거리 및 각도를 측정한다.
도 8은 본 개시의 일부 구현예에 따른, 초기화 객체의 이미지 표현의 측면도이다.
도 9a는 본 개시의 일부 원리에 따른, 경로를 학습하기 시작하거나 네비게이션을 위한 경로를 선택하기 위해 사용자로부터 입력을 수신하기 위한 예시적인 사용자 인터페이스이다.
도 9b는 본 개시의 일부 원리에 따른, 사용자가 경로를 티칭하면서 로봇을 제어하는 것의 측면도이다.
도 10은 본 개시의 일부 원리에 따른, 경로 선택에 사용될 수 있는 예시적인 사용자 인터페이스이다.
도 11은 본 개시의 일부 원리에 따른, 복수의 초기화 객체를 갖는 환경의 오버 헤드 도면이다.
도 12는 본 개시의 원리에 따라 로봇을 동작시키는 예시적인 방법의 프로세스 흐름도이다.
본원에 개시된 모든 도면은 ⓒ Copyright 2017 Brain Corporation 판권소유이다.
다음으로, 본원에 개시된 신규한 시스템, 장치, 방법의 다양한 양태를 첨부된 도면을 참조하여 보다 상세히 설명한다. 본 개시는 하지만 많은 다른 형태로 구현될 수 있으며, 본 개시를 통하여 제시되는 임의의 특정 구조 또는 기능에 한정되는 것으로 해석되어서는 안된다. 오히려, 이러한 양태는 본 개시가 충실하고 완전하며 당업자에게 본 개시의 범위를 완전히 전달하기 위해 제공된다. 본원의 교시에 기초하여, 당업자는, 본 개시의 범위가, 본 개시의 임의의 다른 양태와 독립적으로 구현되든 또는 결합하여 구현되든, 본원에 개시된 신규한 시스템, 장치, 및 방법의 임의의 양태를 포괄하도록 의도되는 것으로 이해하여야 한다. 예를 들어, 본원에서 설명된 어떠한 수의 양태를 이용하여 장치가 구현될 수 있으며 방법이 실시될 수 있다. 또한, 본 개시의 범위는 본원에 설명되는 본 개시의 다양한 양태에 부가하여 또는 그 외에, 다른 구조, 기능성, 또는 구조 및 기능성을 이용하여 실시되는 이러한 장치 또는 방법을 포괄하도록 의도된다. 본원에 개시된 임의의 양태는 청구항의 하나 이상의 구성요소에 의해 구현될 수 있는 것으로 이해하여야 한다.
본원에서 특정의 구현예들이 설명되지만, 이 구현예들의 많은 변형들과 치환들은 본 개시의 범위에 해당한다. 이 구현예들의 일부 이점과 장점들이 언급되지만, 본 개시의 범위는 특정의 이점, 용도, 및/또는 목적에 한정되는 것으로 의도되지 않는다. 상세한 설명과 도면들은 한정적이기 보다는 본 개시를 단지 예시하는 것이며, 본 개시의 범위는 첨부된 청구범위와 그 균등물에 의하여 정의된다.
본 개시는 자율 내비게이션용의 로봇을 동작시키는 개선된 시스템 및 방법을 제공한다. 보다 구체적으로, 본 개시는 훈련용 및/또는 자율 내비게이션용의 위치를 초기화하기 위한 시스템 및 방법을 포함한다.
본원에서 사용될 때, 로봇은 복잡한 연련의 행동을 자동으로 수행하도록 구성된 기계적 또는 가상적 실체를 포함할 수 있다. 일부 경우에, 로봇은 컴퓨터 프로그램 또는 전자 회로에 의해 안내되는 전자기계적(electro-mechanical) 기계일 수 있다. 일부 경우에, 로봇은 자율 내비게이션용으로 구성된 전자기계적 기계를 포함할 수 있으며, 로봇은 거의 또는 전혀 사용자 제어 없이 한 위치에서 다른 위치로 이동할 수 있다. 이러한 자율적인 내비게이션 로봇들은 자율 자동차, 플로어 청소기(예를 들어, 플로어 스크러버, 진공청소기 등), 로버, 드론, 휴머노이드 로봇 등을 포함할 수 있다. 일부 구현예에서, 본 개시에 기재된 시스템 및 방법의 일부는 가상 환경으로 구현될 수 있으며, 가상 로봇이 물리적 세계의 특징을 갖는 시뮬레이션된 환경(예를 들어, 컴퓨터 시뮬레이션에서) 객체초기화 객체를 검출할 수 있다. 객체초기화 객체를 검출한 후에, 로봇은 경로를 학습하고 본 개시에 개시된 시스템 및 방법을 이용하여 시뮬레이션된 환경에서 및/또는 실제 세계에서 학습된 경로를 자율적으로 내비게이션할 수 있다.
다음으로, 본 개시의 시스템 및 방법의 다양한 실시예와 변형예의 상세한 설명을 제공한다. 로봇 플로어 청소기의 상황에서 주로 설명하지만, 본원에 포함된 설명된 시스템과 방법은, 예를 들어, 임의의 자율적으로 내비게이션하는 로봇을 포함하여, 다른 로봇에 사용될 수 있다. 본 개시의 내용을 제공받은 당업자는 본원에 기재된 기술에 대한 수많은 다른 예시적인 구현예 또는 용도를 용이하게 예견할 수 있을 것이다.
유리하게는, 본 개시의 시스템 및 방법은 적어도: (i) 환경 특정 프로그래밍을 위한 필요성을 감소시키고; (ii) 프로그램 로봇에 대한 고도의 숙련된 기술자에 대한 필요성을 감소시키고; (iii) 일반적으로 프로그래밍된 로봇으로부터 주문형 성능을 제공하고; (iv) 로봇의 효과적인 자율 내비게이션을 가능하게 하고; 그리고 (v) 자율 내비게이션용 로봇을 초기화하는데 대한 빠르고 사용자 친화적인 접근을 제공한다. 다른 이점은, 본 개시의 내용을 제공받은 당업자가 용이하게 구별할 수 있다.
예를 들어, 데모에 의하여 경로를 주행하도록 로봇을 훈련하여, 사용자는 미리 모든 경로를 프로그램하지 않을 수 있다. 유리하게는, 이는 사용자로 하여금 로봇이 사용자가 미리 예상하지 않았던 환경을 내비게이션하도록 훈련하는 것을 가능하게 한다. 또한, 사용자는 로봇을 훈련하기 위해 어떠한 임의의 특정의 전문적 지식을 활용할 필요가 없다. 예를 들어, 사용자는 컴퓨터 과학을 알거나 및/또는 로봇을 프로그래밍하는 방법을 교육받을 필요가 없다. 대신, 사용자는 로봇이 하기를 원하는 임무를 어떻게 수행하는지를 단지 알아도 된다. 예를 들어, 로봇이 플로어 청소기인 경우, 사용자는 어떻게 플로어를 청소하고 무엇을 로봇에게 데모할 수 있는지만 알면 된다.
더욱이, 내비게이션할 수 있는 경로를 학습할 수 있는 로봇을 훈련하는 것은 로봇을 특정의 환경을 효율적으로 내비게이션하도록 특별히 프로그래밍시키면서 또한 많은 환경에서 수행하도록 일반적으로 프로그래밍시킬 수 있게 한다. 유리하게는, 이는 이러한 로봇이 특정 애플리케이션에서 최적화되고 동시에 다양한 애플리케이션에서 수행할 수 있는 능력 및 유연성을 갖는 이점을 가질 수 있게 한다.
본 개시의 일부 구현예에서, 로봇은 경로 학습 및 자율적인 네비게이션을 용이하게 할 수 있는 초기화 객체로 초기화할 수 있다. 특히, 초기화 객체에 관련된 개시된 초기화는 로봇이 자신의 환경 및/또는 궤적에서의 위치를 정확하게 결정하고 그 위치와 궤적에 적어도 부분적으로 기초하여 행동을 수행한다는 점에서, 로봇 및/또는 자율적인 내비게이션의 분야에서 현저한 개선을 제공한다. 유리하게는, 초기화하는 빠르고 효과적인 방법을 사용하면 로봇이 학습된 경로를 따라 위치와 행동을 연관시킬 수 있다. 로봇은 학습된 경로를 자율적으로 내비게이션할 때 나중에 해당 행동을 복제할 수 있다.
또한, 이 개시의 일부 구현예는 로봇이 고정된 위치와 관련된 행동을 내비게이션 및/또는 수행할 수 있게 하여, 일관성 및/또는 복제성을 제공할 수 있다. 일관성 및/또는 복제성은 로봇이 실질적으로 유사한 작업을 반복적으로 수행하는 플로어 청소와 같은 많은 산업에서 바람직할 수 있다.
로봇의 위치를 검출하는 현재의 많은 방법은 센서, 프로세싱 전력 및/또는 에너지의 비용면에서 고가일 수 있다. 본 명세서에 설명된 일부 구현예에서, 비교적 간단한 센서(예를 들어, 카메라)가 초기화 객체를 검출하는데 사용될 수 있다. 이러한 상대적으로 단순한 센서는 초기화 객체를 검출하는데 필요한 프로세싱 능력을 덜 이용할 수 있으며 프로세스의 전력 소모도 줄일 수 있다. 유리하게, 이는 로봇이 더욱 비용 효율적이고, 공간을 덜 차지하며, 및/또는 구동을 위해 소비되는 전력을 줄일 수 있게 한다
또한 초기화 객체를 빠르고 간단하게 검출할 수 있는 로봇을 사용하면 로봇과의 사용자 상호 작용을 향상시킬 수 있다. 어떤 경우, 초기화 객체는 심볼, 이미지, 모양, 항목(예: 가구, 동상, 기기 등) 및/또는 기타 객체일 수 있다. 그런 다음, 사용자는 초기화 객체를 사용하여 로봇 경로 학습을 시작하거나 로봇의 자율 주행을 시작할 수 있다. 가시적인 초기화 객체를 가짐으로써 사용자가 로봇을 조작할 때 검출 또는 예측 가능성을 사용자에게 제공할 수 있다. 사용자는 로봇을 초기화 객체로 가져와서 로봇이 예측 가능한 방식으로 거동하는 것을 볼 수 있는 시각적 피드백을 얻을 수 있다. 일부 구현예에서, 특정 초기화 객체가 특정 경로와 연관될 수 있는 복수의 초기화 객체가 존재할 수 있다. 이것은 사용자가 초기화 객체에 기초한 경로를 시각적으로 선택할 수 있도록 하는데, 이는 특히 운영자가 특정 언어를 이해하지 못하거나 복잡한 사용자 인터페이스를 사용할 수 없는 환경에서 유용할 수 있다.
객체객체객체일부 구현예에서, 로봇은 복수의 경로를 사용하여 실질적으로 유사한 복수의 환경을 내비게이션하도록 학습할 수 있다. 따라서, 초기화 객체를 사용하는 것은 로봇이 선택할 수 있는 경로 및/또는 환경의 수를 필터링 및/또는 축소함으로써 특정 환경의 내비게이션을 용이하게 할 수 있다. 이렇게 하면 다른 환경과 연관된 경로를 선택하는 등 로봇 및/또는 사용자가 경로를 잘못 선택할 가능성을 줄일 수 있다. 예를 들어, 건물은 실질적으로 유사하지만 약간의 차이가 있는 다수의 플로어를 가질 수 있다. 각 플로어은 자체 초기화 객체를 가질 수 있다. 로봇이 초기화 객체로부터 초기화되면 초기화 객체에 적어도 부분적으로 기초하여 내비게이션할 수 있는 경로를 필터링할 수 있다. 초기화 객체는 플로어 및/또는 특정 경로에만 연관할 수 있다. 따라서, 로봇 및/또는 사용자는 필터링된 경로 리스트로부터 원하는 경로를 선택할 수 있다.
일부의 경우, 현재의 로봇 네비게이션은 로봇이 이들 심볼 각각을 향해 이동하는 복수의 로봇적으로 검출가능한 심볼을 포함할 수 있다. 소매 환경과 같이 심볼이 너무 많으면 고객에게 부정적인 인식이 생길 수 있다. 따라서, 로봇이 감소되거나 매력적인 심볼로 자율적으로 네비게이션할 수 있게 하는 시스템 및 방법을 갖는 것이 바람직할 수 있다. 환경에 이미 존재하거나 존재하지 않을 수 있는 심볼, 이미지, 형상, 아이템 등을 포함할 수 있는 초기화 객체를 갖는 것은 고객이 초기화 객체를 쉽게 알아 채지 못하거나 그들에 의해 주의를 분산시킬 수 있다는 점에서 유리할 수 있다. 또한 로봇 심볼이 사용되는 경우에도 로봇은 더 적은 수의 심볼(경우에 따라 단일 심볼)로부터 초기화할 수 있으며 자율적으로 내비게이션할 수 있다.
도 1a는 이러한 개시의 구현예를 통하여 로봇(102)에 의하여 자율적으로 내비게이션되는 예시적인 경로(106)의 오버헤드 도면이다. 로봇(102)는 다양한 객체(108, 110, 112, 118)를 포함할 수 있는 환경(100)을 통하여 자율적으로 내비게이션할 수 있다. 로봇(102)는 초기 위치에서 시작하여 종료 위치(114)에서 마칠 수 있다. 초기 위치는 객체초기화 객체(150)에 대한 그 관계에 의해 결정될 수 있다. 본 개시의 일부 구현예에서, 초기 위치는 로봇(102)이 객체초기화 객체(150)를 검출할 수 있는 어떤 위치일 수 있다. 그러나, 일부 경우에, 도 1d에 도시된 바와 같이, 초기 위치(104)가 플로어 위의 위치인 경우, 플로어(예를 들어, 사용자에 의하여 경계 표시된 및/또는 기억된 장소) 위의 특별한 장소로 로봇(102)을 이동시킬 수 있다. 플로어 위의 특별한 장소, 예를 들어, 초기 위치(104)로 로봇(102)을 이동시키는 것은 로봇(102)이 객체초기화 객체(150)를 검출하고 초기화할 가능성을 높게 만들 수 있다는 점에서 유리할 수 있다. 로봇(102)을 플로어 위의 특별한 장소, 예를 들어, 초기 위치(104)로 이동시키는 것은 로봇(102)을 동작시키는데 있어서 사용자가 경로 감각 및 예측성을 갖게 하는데 또한 도움이 될 수 있다.
초기화 객체(150)은 만질 수 있는 객체(예를 들어, 가구, 동상, 제품들 등), 마킹, 및/또는 디지털 디스플레이를 포함할 수 있다. 일부 구현예에서, 초기화 객체(150)은 도 3a 내지 도 3b를 참조하여 뿐만 아니라 본 개시의 다른 부분에서 더 설명되는 바와 같이, 외부 수용성 센서(300)을 적어도 부분적으로 이용하여 로봇(102)에 의하여 검출되거나 및/또는 인식될 수 있다. 로봇(102)이 초기화 객체(150)를 검출할 때, 본 개시의 구현예를 통하여, 로봇(102)은 초기화 객체(150)(및/또는 그 곳의 지점)에 대해 로봇(102)의 위치를 결정할 수 있으며, 이는 특히, 로봇(102)으로 하여금 주행거리 측정 유닛(326), 자기 수용성 센서(308), 및 도 3a 내지 도 3b를 참조하여, 본 개시물의 다른 어딘가에서 더 설명되는 기타 센서들을 적어도 부분적으로 이용한 주행거리 측정과 같은, 로봇(102)의 주행거리 측정을 초기화할 수 있도록 한다객체. 본원에서 사용될 때, 용어 위치는 통상의 또는 관습적인 의미를 갖는다. 예를 들어, 일부 경우에, 위치는 객체, 로봇(102) 등의 변위, 좌표의 견지에서의 위치를 포함할 수 있다. 따라서, 일부의 경우, 용어 위치 및 자세는 위치, 변위, 및 방향 중 하나 이상을 포함하도록 상호교환가능하게 사용될 수 있다. 유리하게는, 로봇(102)의 위치를 결정하는 것은 도 1b에 예시된 환경(100)에서 경로(116)을 학습하는 것과 같이 로봇(102)이 경로의 학습을 진행함에 따라 로봇(102)로 하여금 로봇(102)의 주행거리 측정 및/또는 센서에 대한 기준 지점으로서 초기화 객체(150)(및/또는 그 내의 지점)을 이용할 수 있게 한다. 기준 지점으로서 초기화 객체(150)(및/또는 그 안의 지점)을 사용하는 것은 학습된 경로(116)을 경로(106)로서 자율적으로 내비게이션할 때에 로봇(102)에 의해 나중에 다시 사용될 수 있다. 또한, 유리하게는, 로봇(102)용의 기준 지점들을 경계 표시하는 것은 어려울 수 있거나 또는 이러한 경계 표시는 환경을 통하여 많은 매력적이지 않은 심볼 또는 항목을 놓는 것을 포함할 수 있다. 로봇(102)으로 하여금 초기화 객체(150)으로부터 초기화하도록 하는 것은, 일부 구현예에서, 매력적이지 않은 심볼들의 사용을 감소 또는 제거할 수 있다.
예시로서, 일부 구현예에서, 로봇(102)은 로봇 플로어 스크러버, 진공 청소기, 스티머, 몹, 스위퍼 등과 같은 로봇 플로어 청소기일 수 있다. 환경(100)은 청소가 필요한 플로어를 갖는 공간일 수 있다. 예를 들어, 환경(100)은 상점, 창고, 사무실 빌딩, 집, 저장 시설 등일 수 있다. 객체(108, 110, 112, 118) 중의 하나 이상은 플로어 위에 있을 수 있거나 또는 환경을 통하여 내비게이션할 수 있는 로봇의 능력을 방해할 수 있는 선반, 디스플레이, 객체, 품목, 사람, 동물 또는 어떤 다른 실체 또는 물건일 수 있다. 경로(106)는 자율적으로 로봇(102)에 의하여 주행될 수 있는 청소 경로일 수 있다. 경로(106)은 예시적인 경로(106)에 예시된 바와 같은 객체들(108, 110, 112, 118) 사이에서 위브(weave)된 경로를 따를 수 있다. 예를 들어, 객체들(108, 110, 112, 118)이 상점의 선반들인 경우, 로봇(102)은 상점의 복도를 따라서 가면서 복도의 플로어를 청소할 수 있다. 그러나, 제한이 없이, (예를 들어, 만약 사용자가 수동으로 플로어 청소기를 동작시키고 있으면) 플로어를 청소하기 위하여 사용자가 사용할 수도 있는 장애물없는 플로어 영역들 및/또는 어떠한 청소 경로를 따라서 앞뒤로 위브되는 것과 같은 다른 경로들이 또한 고려된다. 따라서, 각각 도 1a, 도 1b, 및 도 1c에 예시된 경로들(106, 116, 126) 중의 하나 이상은 예시적인 예로서 단지 의미할 수 있으며 도시된 바와 같이 다르게 나타날 수 있다. 또한, 도시된 바와 같이, 환경(100)의 한 예시가 도시되어 있으나, 환경(100)은 어떠한 수의 형식들 및 배열들(예를 들어, 방 또는 건물의 어떤 크기, 구성, 및 레이아웃의)을 취할 수 있으며 본 개시의 예시적인 예시들에 의하여 한정되지 않는다.
경로(106)에서, 로봇(102)은 로봇(102)의 출발 지점일 수 있는 초기화 객체(150)을 검출하는 초기 위치에서 시작할 수 있다. 로봇(102)은 그후 청소를 멈추는 종료 위치(114)에 도달할 때까지(예를 들어, 사용자(904)로부터의 제어가 거의 또는 전혀 없이) 자율적으로 경로(106)를 따라서 청소할 수 있다. 종료 위치(114)는 사용자(904)에 의하여 지정되며, 도 9b를 참조하여 나중에 기재된다. 일부 경우에, 종료 위치(114)는 로봇(102)이 플로어의 원하는 영역을 청소한 후 경로(106)에서의 위치일 수 있다. 일부 경우에, 종료 위치(114)는 초기 위치와 동일하거나 실질적으로 유사하여, 로봇(102)이 청소 시 폐루프를 실질적으로 수행하고 초기 위치에서 그 시작 지점 근처에서 마칠 수 있다. 일부 경우에, 종료 위치(114)는 임시 주차 장소, 보관실/벽장 등과 같은 로봇(102) 보관을 위한 위치일 수 있다. 일부 경우에, 종료 위치(114)는 사용자(904)가 행동을 수행하거나 로봇(102)을 훈련시키기를 멈추기로 결정하는 지점일 수 있다. 예를 들어, 플로어 청소기(예를 들어, 플로어 스크러버, 진공 청소기 등)의 상황에서, 로봇(102)은 경로(106)에 따른 모든 지점에서 청소하거나 하지 않을 수 있다. 예시로서, 로봇(102)이 로봇 플로어 스크러버인 경우, 로봇(102)의 청소 시스템(예를 들어, 수류, 청소 브러시 등)은 다른 곳에서는 아니고 단지 경로(106)의 일부 부분에서만 동작할 수 있다. 예를 들어, 로봇(102)는 데모된 경로를 따라서(예를 들어, 경로(106)을 따라서 특정 방향으로 또는 특별한 순서로 이동하는 동안에) 특별한 위치 및/또는 궤적으로 특정 행동(예를 들어, 터닝, 물을 켜거나 끄기, 물 뿌리기, 진공을 켜거나 끄기, 진공 호스 위치를 이동시키기, 팔을 움직이기, 리프트를 승하강시키기, 센서를 이동시키기, 센서를 켜거나 끄기 등)에 연관될 수 있다. 플로어 청소기의 상황에서, 이러한 연관은 다른 영역은 아니고 플로어의 단지 일부 영역이 청소될 때 및/또는 일부 궤적에서 바람직할 수 있다. 이러한 경우에, 로봇(102)은 사용자(904)가 로봇(102)으로 하여금 청소하고, 아니면 청소 시스템을 끄도록 데모한 영역에서 청소 시스템을 켤 수 있다.
도 1b는 예시적인 로봇(102)가 환경(100)에서 예시적인 경로(106)을 자율 주행하기 전 예시적인 사용자(904)가 예시적인 로봇(102)로의 경로(116)을 데모하는 오버헤드 도면을 예시한다. 경로(116)를 데모할 때에, 사용자는 초기 위치(예를 들어, 초기화 객체(150)에 상대적인 및/또는 초기 위치(104) 내의 초기 위치)에서 로봇(102)를 출발시킬 수 있다. 로봇(102)은 그후 객체들(108, 110, 112, 118) 주위를 위브할 수 있다. 로봇(102)은 종료 위치(114)에서 최종적으로 끝날 수 있다. 일부 경우에, 경로(106)는 경로(116)와 정확히 같을 수 있다. 일부 경우에, 경로(106)는 경로(116)와 정확히 동일하지 않을 수 있지만 실질적으로 유사할 수 있다. 예를 들어, 로봇(102)이 자율적으로 내비게이션함에 따라, 로봇(102)은 그의 센서들(예를 들어, 도 3a 및 도 3b, 및 및 본 개시를 통한 다른 곳을 참조하여 설명되는 센서들(300, 308))을 사용하여, 로봇(102)이 내비게이션함에 따라 로봇(102)의 주위와 관련이 있는 장소를 센싱한다. 이러한 센싱은 로봇(102)이 데모된 그리고 로봇(102)이 따르도록 훈련된 정확한 경로(116)를 내비게이션하지 않도록 적어도 부분적으로 야기하는 일부 경우에 정확하지 않을 수 있다. 일부 경우에, 선반의 이동과 같은 환경(100)으로의 변화 및/또는 선반 위의 품목에서의 변화는 자율적으로 내비게이션할 때 로봇(102)이 경로(116)로부터 벗어나도록 야기할 수 있다. 다른 예로서, 도 1c에 도시된 바와 같이, 로봇(102)은 데모된 경로(116)에 적어도 부분적으로 기초하여 로봇(102)에 의하여 주행된 다른 경로일 수 있는, 경로(126)를 자율적으로 내비게이션할 때 객체들(130, 132)을 우회하여 피할 수 있다. 객체들(130, 132)은 사용자가 경로(116)를 데모할 때 존재할(및/또는 피해질) 수 없었을 것이다. 예를 들어, 객체(130, 132)는 일시적으로 놓인 및/또는 변하는 객체/품목, 및/또는 환경에 대한 변하는 및/또는 동적인 변화일 수 있다. 다른 예로서, 사용자(904)는 경로(116)를 데모할 때에 잘못 했을 수도 있다. 예를 들어, 사용자(904)는 벽, 선반, 객체, 장애물 등에 충돌하거나 추돌했을 수도 있다. 이러한 경우에, 로봇(102)은 메모리(예를 들어, 메모리(302))에 벽, 선반, 객체, 장애물 등에의 충돌 및/또는 추돌과 같이, 그것이 수정할 수 있는 하나 이상의 행동들을 저장할 수 있다. 자율적으로 내비게이션하는 동안에, 로봇(102)은 이러한 행동들을 수정하거나 및/또는객체 그것들을 수행하지 않을 (예를 들어, 벽, 선반, 객체, 장애물 등에 충돌하거나 및/또는 추돌하지 않을) 수 있다.
앞에서 언급된 바와 같이, 사용자(904)가 경로(116)을 데모함에 따라, 사용자(904)는 로봇(102)이 내비게이션하도록 학습함에 따라 또한 로봇(102)에 데모되고 그에 의하여 학습될 수 있는 하나 이상의 행동을 수행할 수 있다. 이러한 행동들은 로봇(102)이 수행할 수 있는, 터닝, 물을 켜거나 끄기, 물 뿌리기, 진공을 켜거나 끄기, 진공 호스 위치를 이동시키기, 팔을 움직이기, 리프트를 승하강시키기, 센서를 이동시키기, 센서를 켜거나 끄기 등과 같은 어떤 행동들을 포함할 수 있다. 예를 들어, 사용자(904)는 경로(116)를 따라서 어디를 청소할 것인지(및 로봇(102)이 경로(106, 126)을 자율적으로 청소할 때 순차적으로 어디를 청소할 것인지) 및/또는 어떤 궤적으로 청소할 것인지를 로봇(102)에게 훈련하기 위하여 로봇(102)의 청소 시스템을 켜거나 끌 수 있다. 로봇(102)은 이러한 행동들을 메모리(302)(도 3a에서 후에 기재됨)에 기록하고 후에 자율적으로 내비게이션할 때 이들을 수행할 수 있다. 예를 들어, 일부 구현예에서, 로봇(102)은 학습된 행동들을 초기화 객체(150)에 대한 하나 이상의 위치와 연관시킬 수 있다.
도 2는 로봇(102)이 경로(예를 들어, 경로(106, 126)를 자율적으로 내비게이션하도록 훈련하는 예시적인 방법(200)의 프로세스 흐름도를 도시한다. 부분(202)은 초기화 객체(150)을 검출하기 위하여 로봇(102)의 위치를 결정하는 것을 포함할 수 있다. 초기화 객체(150)에 대한 초기 위치로의 로봇(102)의 제1 배치는 초기화 객체(150)을 검출하기 위하여 운전하거나, 원격 조종하거나, 밀거나, 아니면 로봇(102)을 위치(예를 들어, 초기 위치)로 제어하는 수위, 관리인, 및/또는 다른 사람 또는 로봇일 수 있는 사용자(904)에 의하여 수행될 수 있다.
부분(204)은 로봇(102)에 내비게이션 경로를 데모하는 것을 포함할 수 있다. 도 1b를 이용한 예시로서, 사용자(904)는, 한정이 없이, 운전, 원격 조종, 밀기, 또는 아니면 로봇(102)을 경로(116)을 따라 제어하는 것에 의하여 로봇(102)에게 데모할 수 있다. 이에 의하여, 사용자(904)는 로봇(102)에 원하는 주행용 경로를 데모할 수 있다. 동시에, 사용자(904)는 경로를 주행하는 동안에 수행할 행동들(예를 들어, 터닝, 물을 켜거나 끄기, 물 뿌리기, 진공을 켜거나 끄기, 진공 호스 위치를 이동시키기, 팔을 움직이기, 리프트를 승하강시키기, 센서를 이동시키기, 센서를 켜거나 끄기 등)을 로봇에게 데모할 수 있다. 일부 경우에, 이러한 행동들은 초기화 객체(150)에 대한 위치 및/또는 궤적과 같은, 학습된 경로를 따른 위치 및/또는 궤적과 연관될 수 있다. 로봇 플로어 청소기의 상황에서, 데모된 경로(116)는 플로어를 청소하기 위한 원하는 경로일 수 있다. 이런 식으로, 사용자(904)는 플로어를 청소하는 방법을 로봇에게 훈련시킬 수 있다.
부분(206)은 다시 한번 초기화 객체(150)을 검출하기 위하여 로봇(102)의 위치를 결정하는 것을 포함한다. 초기화 객체(150)를 검출하기 위한 로봇(102)의 제2 배치는 실질적으로 부분(204)의 데모 직후와 같이, 부분(204) 의 후속 시점에서, 또는 몇 시간 후, 며칠 후, 몇 주 후, 또는 사용자(904)가 플로어를 청소하기 원할 때마다와 같이, 약간 후에 발생할 수 있다.
부분(208)은 자율 내비게이션을 시작하는 것을 포함할 수 있다. 일부 경우에, 사용자가 자율 내비게이션을 시작한 후에, 로봇(102)은 데모된 경로(116)와 실질적으로 유사할 수 있는 경로(106)(또는 일부의 경우에 경로(126))를 따라서 주행할 수 있다. 일부 구현예에서, 사용자(904)는 도 10을 참조하여 뿐만 아니라, 본 개시를 통하여 다른 곳에서 설명되는 바와 같이, 사용자 인터페이스(318) 상에서 데모된 경로를 선택할 수 있다. 도 1a를 이용한 예시로서, 로봇(102)은 그후 초기 위치로부터 종료 위치(114)로 자율적으로 경로(또는 경로(106)와 실질적으로 비슷한 경로)를 내비게이션할 수 있다.
도 3a는 일부 구현예에서 예시적인 로봇(102)의 기능 블록도를 예시한다. 도 3a에 예시된 바와 같이, 로봇(102)은 제어기(304), 메모리(302), 사용자 인터페이스(318), 외부 수용성 센서(300, 주행거리 측정 유닛(308), 자기 수용성 센서(308) 뿐만 아니라, 다른 구성요소와 (예를 들어, 일부가 도시되지 않은) 하위 구성요소를 포함할 수 있다. 특정 구현예가 도 3a에 예시되지만, 본 개시의 내용을 제공받는 당업자가 용이하게 알 수 있는 바와 같이, 그 아키텍처가 일부 구현예에서 변경될 수 있음을 알 수 있다.
제어기(304)는 로봇(102)에 의하여 수행되는 다양한 동작들을 제어할 수 있다. 제어기(304)는 하나 이상의 프로세서(예를 들어, 마이크로프로세서) 및 다른 주변 장치들을 포함할 수 있다. 본원에서 사용될 때, 프로세서, 마이크로프로세서, 및/또는 디지털 프로세서는 한정되지 않고, 디지털 신호 프로세서("DSPs"), 축소 명령 세트 컴퓨터("RISC"), 범용("CISC") 프로세서, 마이크로프로세서, 게이트 어레이(예를 들어, 필드 프로그래머블 게이트 어레이("FPGAs"), 프로그래머블 로직 장치("PLDs"), 재구성가능한 컴퓨터 패브릭("RCFs"), 어레이 프로세서, 보안 마이크로프러세서, 특수 프로세서(예를 들어, 신경모방 프로세서), 및 주문형 집적 회로("ASICs")와 같은 임의 유형의 디지털 프로세싱 장치를 포함할 수 있다. 이러한 디지털 프로세서는 단일 유니터리 집적 회로 다이 상에 포함되거나 또는 다수의 구성요소에 걸쳐서 분산될 수 있다.
제어기(304)는 메모리(302)에 동작가능하게 및/또는 통신가능하게 결합될 수 있다. 메모리(302)는 제한없이, 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 비휘발성 랜덤 액세스 메모리("NVRAM"), 프로그램 가능 판독 전용 메모리("PROM"), 전기적으로 소거 가능한 프로그램 가능 판독 전용 메모리("EEPROM"), DRAM(Dynamic Random-Access Memory), 모바일 DRAM, 동기 DRAM("SDRAM"), 이중 데이터 레이트 SDRAM(DDR/SDRAM), 확장 데이터 출력 RAM("EDO"), 고속 페이지 모드 RAM("FPM"), 레이턴시 감소 DRAM("RLDRAM"), 정적 RAM("SRAM"), "플래시" 메모리(예를 들어, NAND/NOR), 멤리스터 메모리, 준정적 RAM("PSRAM") 등을 포함할 수 있다. 메모리(302)는 컨트롤러(304)에 명령 및 데이터를 제공할 수 있다. 예를 들어, 메모리(302)는 로봇(102)을 동작시키기 위해 프로세싱 장치(예를 들어, 제어기(304))에 의해 실행 가능한 복수의 명령을 갖는 비일시성 컴퓨터 판독 가능 저장 매체일 수 있다. 일부의 경우에, 명령들은 프로세싱 장치에 의해 실행될 때 프로세싱 장치로 하여금 본 개시에서 설명되는 다양한 방법, 특징 및/또는 기능을 수행하게 하도록 구성될 수 있다. 따라서, 제어기(304)는 메모리(302) 내에 제공된 프로그램 명령에 기초하여 논리적 및 산술적 동작들을 수행할 수 있다.
일부 구현예에서, 메모리(302)는 초기화 객체(150)의 이미지의 라이브러리(324)를 저장할 수 있다. 일부 구현예에서, 이 라이브러리(324)는 다른 조명 조건, 각도, 사이즈, 거리, 선명도(예를 들어, 블러링된, 방해된/가려진, 일부 오프 프레임된 등), 칼라, 주위환경 등에서 초기화 객체(150)의 이미지 및/또는 초기화 객체(150)와 실질적으로 유사한 이미지를 포함할 수 있다. 라이브러리 (324) 내 이미지는 센서 (예컨대, 카메라 (304) 또는 임의의 다른 카메라) 에 의해 획득되거나, 또는 자동적으로, 예를들어, 다른 조명 조건, 각도, 사이즈, 거리, 선명도(예를 들어, 블러링된, 방해된/가려진, 일부 오프 프레임된 등), 칼라, 주위환경 등으로부터, (예컨대, 이들 라이브러리 이미지들을 전체적으로 디지털로 생성/시뮬레이션하거나 또는 초기화 오브젝트 또는 실질적으로 유사한 오브젝트들의 실제 이미지로부터 시작할 수 있는) 초기화 오브젝트 (150) 또는 실질적으로 유사한 오브젝트들의 라이브러리 이미지들을 (예컨대, 가상 세계에서) 생성/시뮬레이션하도록 구성된 컴퓨터 프로그램으로, 생성될 수 있다. 라이브러리(324)는 많은 조건들에서 초기화 객체(150)를 식별하고 및/또는 도 6를 참조하여 뿐만 아니라 본 명세서 전반에 걸쳐서 더 설명되는 바와 같이, 로봇(102)의 위치를 식별하도록 로봇(102)을 훈련시키는데 사용될 수 있다. 라이브러리(324) 내의 이미지들의 수는 초기화 객체(150)의 유효 이미지들의 수 및/또는 실질적으로 유사한 객체들, 로봇(102)이 동작할 주변 환경의 가변성, 초기화 객체(150) 및/또는 실질적으로 유사한 객체, 초기화 객체(150) 및/또는 실질적으로 유사한 객체의 출현의 가변성, 및(예를 들어, 메모리(302) 또는 서버상의) 이용 가능한 저장 공간의 양에 적어도 부분적으로 의존할 수 있다. 예를 들어, 라이브러리(324)는 객체객체대략 1.5, 10, 100, 1000, 10,000, 100,000, 1,000,000, 10,000,000 개 또는 임의의 수의, 초기화 객체(150) 및/또는 실질적으로 유사한 객체의 이미지를 포함할 수 있다. 일부 구현예에서, 라이브러리(324)는 네트워크(예를 들어, 클라우드, 서버 등)에 저장될 수 있고 메모리(302) 내에 저장되지 않을 수 있다.
일부 구현예에서, 외부 수용성 센서(300)는 로봇(102) 내 및/또는 로봇(102) 주변의 특성을 검출할 수 있는 시스템 및/또는 방법을 포함할 수 있다. 외부 수용성 검출 센서(300)는 복수 및/또는 센서들의 조합을 포함할 수 있다. 외부 수용성 검출 센서(300)는 로봇(102) 내부 또는 외부에 있는 센서 및/또는 부분적으로 내부 및/또는 부분적으로 외부에 있는 구성 요소를 포함할 수 있다. 어떤 경우에, 외부 수용성 센서(300)는 수중 음파 탐지기, 라이다, 레이다, 레이저, 카메라(비디오 카메라, 적외선 카메라, 3D 카메라 등), 안테나, 마이크로폰 및/또는 본 분야에 알려진 다른 센서를 포함할 수 있다. 일부 구현예에서, 외부 수용성 센서(300)는 미가공 측정(예를 들어, 전류, 전압, 저항 게이트 로직 등) 및/또는 변환된 측정치(예를 들어, 거리, 각도, 장애물의 검출 포인트 등)를 수집할 수 있다. 일부 구현예에서, 외부 수용성 센서(300)는 초기화 객체(150)를 검출하도록 구성될 수 있다. 외부 수용성 센서(300)는 측정치들에 적어도 부분적으로 기초하여 데이터를 생성할 수 있다. 이러한 데이터는 행렬, 배열 등과 같은 데이터 구조에 저장될 수 있다. 일부 구현예에서, 센서 데이터의 데이터 구조는 이미지라고 부를 수 있다.
일부 구현예에서, 주행거리 측정 유닛(326)은 로봇(102)의 주행거리 측정을 결정하도록 구성될 수 있다. 예를 들어, 주행거리 측정 유닛(326)은 가속도계, 관성 측정 유닛("IMU"), 주행 속도계, 자이로스코프, 속도계, 카메라(예를 들어, 시각적 주행측정법을 사용), 시계/타이머 등과 같은 센서를 포함할 수 있는 자기 수용성 센서를 포함할 수 있다. 자기수용성 센서(308)는 로봇(102)의 자율 내비게이션을 용이하게 하기 위해 주행속도 측정을 위한 주행거리 측정 유닛(odometry unit)(326)에 의해 주행거리 측정을 위해 사용될 수 있다. 이 주행거리 측정은 초기 위치(예를 들어, 초기화 객체에 대한 초기 위치 및/또는 초기 위치(104)의 내)에 대해 로봇(102)의 위치(예를 들어, 위치는 로봇의 위치, 변위 및/또는 방향을 포함하고, 때로는 여기서 사용된 자세와 상호 교환 가능하다)를 포함할 수 있다. 일부 구현예에서, 자기수용성 센서(308)는 미가공 측정(예를 들어, 전류, 전압, 게이트 논리 등) 및/또는 변환된 측정치(예를 들어, 거리, 각도, 장애물의 검출 포인트 등)를 수집할 수 있다. 이러한 데이터는 행렬, 배열 등과 같은 데이터 구조에 저장될 수 있다. 일부 구현예에서, 센서 데이터의 데이터 구조는 이미지라고 부를 수 있다.
일부 구현예에서, 사용자 인터페이스(318)는 사용자(예컨대, 사용자(904))가 로봇(102)과 상호 작용할 수 있게 구성될 수 있다. 예를 들어, 사용자 인터페이스(318)는 컴퓨터 판독 가능 매체, 마우스, 롤러 볼, 콘솔, 바이브레이터, 오디오 트랜스듀서 및/또는 사용자가 입력하기 위한 임의의 인터페이스를 위한 터치 패널, 버튼, 키패드/키보드, 포트(예를 들어, USB, DVI, 디스플레이 포트, E-Sata, Firewire, PS/2, Serial, VGA, SCSI, 오디오 포트, 고선명 멀티미디어 인터페이스(HDMI)), PCMCIA (personal computer memory card international association) 포트, 메모리 카드 포트(예: 보안 디지털("SD") 및 미니 SD) 및/또는 컴퓨터 판독 가능 매체용 포트) 및/또는 포트를 포함할 수 있고 및/또는 무선 또는 유선을 통해 결합된 데이터 및/또는 명령을 수신할 수 있다. 사용자 인터페이스(318)는 액정 디스플레이("LCD"), 발광 다이오드("LED") 디스플레이, LED LCD 디스플레이, IPS(in-plane-switching), 플라즈마 디스플레이, 고화질("HD") 패널, 4K 디스플레이, 망막 디스플레이, 유기 LED 디스플레이, 터치 스크린, 표면, 캔버스 및/또는 텔레비전, 모니터, 패널 및/또는 시각적 표현의 분야에 알려진 장치를 포함할 수 있다. 일부 구현예에서, 사용자 인터페이스(318)는 로봇(102)의 바디 상에 위치될 수 있다. 일부 구현예에서, 사용자 인터페이스(318)는 로봇(102)의 바디로부터 멀리 위치될 수 있지만, (예를 들어, 송신기, 수신기 및/또는 송수신기를 포함하는 통신 유닛을 통해) 직접적으로 또는 간접적으로 (예를 들어, 네트워크, 서버 및/또는 클라우드를 통하여) 로봇(102)에게 통신가능하게 결합될 수 있다.
무선 커플링은 BLUETOOTH®, ZIGBEE®, Wi-Fi, 유도 무선 데이터 전송, 무선 주파수, 무선 전송, 무선 주파수 식별("RFID"), 근거리 통신("NFC"), 글로벌 이동 통신 시스템("GSM"), 적외선, 네트워크 인터페이스, 3G(3GPP/3GPP2)와 같은 셀룰러 기술, 고속 다운링크 패킷 접속("HSDPA"), 고속 업링크 패킷 접속("HSUPA"), (예를 들어, IS-95A, 광대역 코드 분할 다중 접속("WCDMA") 등과 같은) 코드 분할 다중 접속("CDMA"), 주파수 도약 확산 스펙트럼("FHSS"), 직접 시퀀스 확산 스펙트럼("DSSS"), GSM(global system for mobile communication), 개인 영역 네트워크("PAN")(예 : PAN / 802.15), WiMAX (worldwide interoperability for microwave access), 802.20, LTE(Long Term Evolution)(예 : LTE/LTE-A), 시분할 LTE(Time Division LTE), GSM(global system for mobile communication), 협대역/주파수 분할 다중 접속("FDMA"), 직교 주파수 분할 다중화("OFDM"), 아날로그 셀룰러, 셀룰러 디지털 패킷 데이터("CDPD"), 위성 시스템, 밀리미터 파 또는 마이크로 웨이브 시스템, 음향, 적외선(예를 들어, 적외선 데이터 결합("IrDA")), 및/또는 무선 데이터 전송의 임의의 다른 형태와 같은 전송 프로토콜을 전송/수신하도록 구성된 무선 전송을 포함할 수 있다.
본원에서 사용될 때, 네트워크, 서버 및/또는 클라우드는 네트워크 인터페이스를 포함할 수 있다. 네트워크 인터페이스는 FireWire(예 : FW400, FW800, FWS800T, FWS1600, FWS3200 등), 범용 직렬 버스(예 : USB(예 : USB 1.X, USB 2.0, USB 3.0, USB Type-C 등), 이더넷(예 : 10/100, 10/100/1000(기가비트 이더넷), 10-Gig-E(MoCA), Coaxsys(TVNETTM), 라디오 주파수 튜너(예 : 인 밴드 또는 00B, 케이블 모뎀 등), Wi-Fi(802.11), WiMAX(예 : WiMAX(802.16)), PAN(예 : PAN / 802.15), 셀룰러(예 : 3G, LTE / LTE-A / TD-LTE / TD-LTE, GSM 등), IrDA 제품군 등을 포함할 수 있다. 본원에서 사용될 때, Wi-Fi는 IEEE-Std. 802.11, IEEE-Std. 802.11, IEEE-Std. 802.11(예: 802.11 a/b/g/n/ac/ad/af/ah/ai/aj/aq/ax/ay) 및/또는 기타 무선 표준 중 하나 이상을 포함할 수 있다.
유선 커플링은 신호 라인 및 접지를 갖는 임의의 케이블과 같은 유선 접속을 포함할 수 있다. 예를 들어, 그러한 케이블은 이더넷 케이블, 동축 케이블, USB(Universal Serial Bus), FireWire 및/또는 당업계에 공지된 임의의 접속을 포함할 수 있다. 이러한 프로토콜은 로봇에 의하여 내부 시스템(예를 들어, 로봇(102)의 임의의 컴포넌트 및/또는 서브 컴포넌트 사이의 통신) 및/또는 외부 시스템(예를 들어, 컴퓨터, 스마트 폰, 태블릿, 데이터 캡처 시스템, 이동 통신 네트워크, 클라우드, 서버 및/또는 이와 유사한 것)과 통신하기 위하여 사용될 수 있다.
본 개시의 일부 구현예에서, 외부 수용성 센서(300)는 카메라(306)를 포함한다. 도 3b는 예시적인 외부 수용성 센서(300)에 포함된 예시적인 카메라(306)을 갖는 도 3a로부터의 기능적 블록도를 도시한다. 카메라(306)는 이미지를 기록하기 위한 광학 기기일 수 있다. 일부 경우에, 이미지는 여전히 사진이거나, 비디오 또는 영화를 형성하는 일련의 이미지(예를 들어, 프레임)일 수 있다. 카메라(306)가 이미지를 촬영하는 방법의 일례로서, 광은 렌즈(314)를 통해 둘러싸인 박스(예를 들어, 카메라(306)의 바디)로 들어갈 수 있다. 광은 광에 민감한 매체에 이미지로 기록될 수 있다. 매체는 디지털 방식으로, 경우에 따라 아날로그 형태로 이미지를 저장할 수 있다. 일부 구현예에서, 카메라(306)의 셔터 메카니즘은 광이 카메라(306)로 입사할 수 있는 시간의 길이를 제어할 수 있다. 카메라(306)가 비디오 카메라인 경우, 카메라(306)는 초당 24개 이상의 프레임과 같은 일련의 그러한 이미지를 연속적으로 촬영할 수 있다. 각각의 촬영된 이미지는 픽셀을 포함할 수 있다.
일부 구현예에서, 카메라(306)는 3개의 기본 컬러 성분(예를 들어, 적색, 녹색 및 청색)을 센싱하도록 구성될 수 있는 적색, 녹색, 청색("RGB") 카메라일 수 있다. 수신된 광은 전하 결합 소자("CCD"), 상보형 금속 산화물 반도체("CMOS"), 또는 다른 재료를 포함할 수 있는 이미징 센서(312) 상에 노출될 수 있다. 이미징 센서(312)는 이미지를 저장하는 이미지의 각 픽셀에 대해 광을 전자(예를 들어, 축적된 전하)로 변환할 수 있다. 일부 구현예에서, 카메라(306)는 또한 측량 카메라, 플래시 라이다(flash lidar), 비행 시간(ToF) 카메라 및 RGB-깊이("RGB-D") 카메라를 포함하여, 깊이를 측정할 수 있는 카메라와 같은 다른 카메라일 수 있다. 카메라(306)는 적외선 카메라, 초분광 카메라, 바이스펙트럼(bi-spectrum) 카메라 및 가시 스펙트럼 외부의 에너지를 이미지화 및/또는 프로세싱할 수 있는 다른 카메라와 같은 가시 스펙트럼 외부의 이미지를 촬영하기 위한 다른 특수 카메라를 포함할 수도 있다.
카메라(306)은 수 많은 물리적 및 성능 속성/특성을 가질 수 있다. 예를 들어, 카메라(306)는 렌즈(314)를 포함할 수 있다. 렌즈(314)는 광각 렌즈, 표준 렌즈, 중간 망원/세로 렌즈, 망원 렌즈, 매크로 렌즈, 어안 렌즈 및/또는 당업계에 공지된 임의의 다른 렌즈를 포함할 수 있다. 렌즈(314)는 특징적 초점 길이(316)을 가질 수 있다. 초점 길이(316)는 피사체(예를 들어, 초기화 객체(150))이 초점 안에 있을 때 렌즈(314)와 이미지 센서(3412) 사이의 거리를 포함할 수 있다. 많은 경우에, 초점 길이(316)는 밀리미터로 표현될 수 있다(예를 들어, 15 mm, 28 mm, 30 mm, 50 mm, 100 mm, 150mm, 210 mm, 300 mm, or 렌즈의 다른 초점 길이). 렌즈(314)가 줌 렌즈일 때, 초점 길이(314)는 범위(예를 드어, 10 mm 내지 100 mm 등)에 걸쳐 조정될 수 있다. 수평 시야각(310)은 카메라(306)가 렌즈(314)를 통하여 볼 수 있는 최대 시야일 수 있으며, 도(degree)로 표현된다. 일부 경우에, 시야각(310)은 초점 길이(316)에 따라 변할 수 있다. 수평 시야각은 6, 12, 34, 47, 63, 90, 94, 180 또는 다른 각도로 측정될 수 있다. 유사하게, 카메라(306)는 수평 시야각(310)과 함께, 수직 및 대각 방향으로 측정된 시야각들과 같은 다른 시야각들을 가질 수 있다. 또한, 이러한 시야각들은, 시야각(320)으로서 도시된 원뿔 모양 또는 다른 형상을 형성할 수 있으며, 그 예가 도 3c에 예시된다.
렌즈(314)는 어떠한 이탈도 겪지 않고 광이 통과하는 렌즈(314)의 주축 상의 지점일 수 있는 광학 중심과 같은 다른 속성/특성을 또한 가질 수 있다. 렌즈(314)는, 렌즈(314)를 이용하여 카메라(306)에 의해 찍은 이미지가 굽어 보일 수 있고 및/또는 그 자연스런 모습으로부터의 다른 굴곡(deviation)을 갖는 경우에 렌즈 왜곡 효과를 또한 가질 수 있다. 렌즈 왜곡 효과는 반경 방향 및 접선 방향 성분을 가질 수 있다. 예를 들어, 반경 방향 왜곡은 렌즈(314)의 중심으로부터 멀리있는 광선이 중심에 더 근접하게 통과하는 광선과 비교하여 훨씬 더 휘어지기 때문일 수 있다. 접선 방향 왜곡은 렌즈(314)가 이미징 평면(예를 들어, 투사 평면)에 정확히 평행하지 않은 결과를 초래하는 결함에 기인할 수 있다.
일부 구현예에서, 카메라(306)는 수광한 광을 하나 이상의 스펙트럼 띠로 좁히는 하나 이상의 필터를 또한 가질 수 있다. 예를 들어, 카메라(306)는 카메라(306)으로 하여금 적외선 스펙트럼의 광을 이미징하도록 하는 적외선 필터를 가질 수 있으며 다른 스펙트럼에서는 광을 반사시킬 수 있다.
도 3c는 초기화 객체(150)을 검출하는 예시적인 로봇(102)의 측면도를 도시한다. 도시된 바와 같이, 로봇(1202)은 상점, 창고, 사무실 빌딩, 집, 저장 시설 등의 플로어를 청소하도록 구성된 플로어 청소기(예를 들어, 플로어 스크러버, 진공 청소기, 스위퍼 등)일 수 있다. 따라서, 로봇(102)은 로봇(102)의 아래 또는 주위의 플로어를 청소하도록 구성된 브러시(322)를 가질 수 있다. 브러시(322)는 스위치에 의하여 켜지거나 꺼질 수 있다.
당업자는, 로봇(102)이 플로어 스크러버인 경우에도, 수 많은 다른 모양/형태를 가질 수 있음을 이해하여야 한다. 도 4a는 플로어 스크러버에 대한 예시적인 바디 형태를 예시한다. 이들은 다양한 바디 형태를 더 도시하도록 의도된 비한정적인 예시들이고, 어떤 특별한 바디 형태 또는 심지어 플로어 스크러버에 로봇(102)을 한정하지 않는다. 예시적인 바디 형태(402)는 사용자가 플로어를 청소하기 위해 바디 형태(402)를 뒤에서 밀 수 있는 작은 프레임을 갖는 기립 형상을 가진다. 일부 경우에, 바디 형태(402)는 청소 시에 사용자를 보조할 수 있지만 바디 형태(402)의 자율적 이동을 가능하게 할 수 있는 모터형 추진을 가질 수 있다. 바디 형태(404)는 바디 형태(402)보다 더 큰 구조적 형상을 가진다. 바디 형태(404)는 모터식이어서, 조향 외에도 바디 형태(404) 상에 사용자의 가함이 거의 없거나 없이 그것이 이동할 수 있도록 한다. 사용자는 그것이 이동함에 따라 바디 형태(404)를 조향할 수 있다. 바디 형태(406)는, 바디 형태(406)이 청소함에 따라, 사용자가 자동차와 같이 바디 형태(406)를 운전할 수 있는 경우, 좌석, 페달, 및 조향 휠을 포함할 수 있다. 바디 형태(408)는 바디 형태(406)보다 큰 형상을 가질 수 있으며, 다수의 브러시를 가질 수 있다. 바디 형태(410)는 사용자가 바디 형태(410)을 운전함에 따라 사용자가 앉는 부분적인 또는 전체적인 케이싱된 영역을 가질 수 있다. 바디 형태(412)는 사용자가 바디 형태(412)를 운전하는 동안 사용자가 서 있는 플랫폼을 가질 수 있다.
또한, 본 개시에 기재된 바와 같이, 로봇(102)은 플로어 스크러버가 전혀 아닐 수 있다. 추가적인 예시를 위하여, 또한 한정됨이 없이, 도 4b는 로봇(102)의 바디 형태의 일부 추가적인 예를 예시한다. 예를 들어, 바디 형태(414)는 로봇이 스탠드업 상점 진공 청소기인 경우의 예를 도시한다. 바디 형태(416)는, 로봇(102)이 인간과 실질적으로 유사한 모양을 갖는 휴마노이드 로봇인 경우의 예를 도시한다. 바디 형태(418)는 로봇(102)이 프로펠러를 갖는 드론인 경우의 예를 도시한다. 바디 형태(420)는 로봇(102)가 바퀴와 승객실을 갖는 차량 형상을 갖는 경우의 예를 도시한다. 바디 형태(422)는 로봇(102)이 로버인 경우의 예를 도시한다.
도 3c로 돌아가서, 이 예시적인 예에서의 초기화 객체(150)는 벽(350) 상에 위치하는, 구체적인 그림과 같은, 이미지를 갖는 사인(sign)이다. 그러나, 본 개시를 통하여 주지하는 바와 같이, 초기화 객체(150)는 이미지에 한정되지 않으며, 심볼, 이미지, 형상, 품목(예를 들어, 가구, 동상, 제품들 등), 및/또는 다른 객체들을 포함할 수 있다.
초기화 객체(150)은 의자, 기둥, 장식 등과 같은 만질 수 있는 객체들을 또한 포함할 수 있다. 초기화 객체(150)은, 텍스트와 같이, 인간에 의하여 읽혀질 수 있는 심볼들을 포함할 수 있다. 예를 들어, 텍스트는 위치, 위치와 연관된 영숫자(예를 들어, 위치(1, 2, 3, 4), 위치(A, B, C, D), 위치(1A, 1B, 1C 등))과 같은 초기화 객체(150)의 특징들, 초기화 객체(150)과 연관된 경로의 기재, 및/또는 초기화 객체(150)의 어떤 다른 특징 및/또는 양태를 기재할 수 있다. 일부 구현예에서, 초기화 객체(150)은 스크린일 수 있다. 예를 들어, 스크린은, 한정됨이 없이, LCD, LED 디스플레이, LED LCD 디스플레이, IPS 디스플레이, 음극선관, 플라즈마 디스플레이, HD 패널, 4K 디스플레이, 망막 디스플레이, 유기 LED 디스플레이, 터치스크린, 표면, 캔버스, 스크린 잉크 기술 및/또는 어떠한 디스플레이, 텔레비젼, 모니터, 패널, 및/또는 시각적 프리젠테이션의 분야에 공지된 장치와 같은 디스플레이를 포함할 수 있다. 유리하게는, 스크린은 변화할 수 있는 이미지를 디스플레이할 수 있다. 변화하는 능력은 사용자가 초기화 객체(150)에 의하여 초기화되는 경로 및/또는 다른 행동들을 변화시키는 유연성을 제공할 수 있다. 예를 들어, 일부 구현예에서, 초기화 객체(150)에 의하여 디스플레이되는 이미지는 특별한 경로에 해당할 수 있다. 사용자(904)는 초기화 객체(150)의 스크린 상의 경로에 해당하는 이미지를 선택할 수 있다. 이때, 로봇(102)은 스크린 상의 이미지를 검출할 수 있다. 예시로서, 로봇(102)이 경로를 학습하는 경우, 로봇(102)은 스크린 상에서 검출하는 이미지와 경로를 연관시킬 수 있다(예를 들어, 사용자(904)는 복수의 경로들을 생성하거나 그로부터 선택할 수 있다). 예시로서, 로봇(102)이 경로를 자율적으로 내비게이션되는 경우, 로봇(102)은 스크린 상에서 검출하는 이미지와 연관된 (예를 들어, 사용자(904)가 복수의 경로들을 생성하거나 그로부터 선택한) 경로를 호출할 수 있다. 일부 구현예에서, 스크린이 터치스크린인 경우, 사용자(904)는 스크린 상에 이미지를 그릴 수 있다. 예를 들어, 사용자는 학습된 경로와 연관되기를 원하는 어떠한 심볼, 이미지 등을 도시할 수 있으며, 실질적으로 유사한 심볼, 이미지 등을 선택하거나 나중에 다시 그려 경로를 나중에 호출할 수 있다. 각 경우에, 초기화 객체(150)는 로봇(102)이 센서(300)을 통하여 인식할 수 있는 객체일 수 있다.
일부 구현예에서, 초기화 객체(150)이 이미지인 경우, 카메라(306)가 RGB 카메라인 경우와 마찬가지로, 초기화 객체(150)는 (예를 들어, 사람에 의하여 보이는) 가시 스펙트럼에서 인스턴스화될 수 있거나, 또는 카메라(306), 및/또는 센서(300)이 적외선 카메라, 초분광 카메라, 및/또는 다른 카메라, 및/또는 가시 스펙트럼의 밖에서 에너지를 이미징하거나 검출할 수 있는 다른 센서들을 이용하여 초기화 객체(150)을 검출할 수 있는 경우, (예컨대, 사람이 볼 수 없는) 가시 스펙트럼 밖에서 인스턴스화될 수 있다. 일부 구현예에서, 초기화 객체(150)은 로봇(102)에 의하여 객체(150)의 초기화의 검출을 가능하게 하기 위하여 무선 송신(예를 들어, BLUETOOTH®) 또는 다른 신호 프로토콜과 같은 신호를 송신할 수 있다. 일부 구현예에서, 초기화 객체(150)은 소리, 예들 들어, 처프(chirp), 비프, 잡음, 및/또는 임의의 다른 소리를 발생할 수 있다. 일부 경우에, 소리가 초기화 객체(150)에 고유할 수 있으며, 다른 초기화 객체들은 다른 소리를 발생할 수 있다. 소리들은 소리를 이용하여 초기화 객체(150)의 위치를 식별하거나 및/또는 삼각 측량할 수 있는 센서(300)(예를 들어, 마이크로폰)에 의하여 검출될 수 있다. 일부 구현예에서, 초기화 객체(150)는 인간의 가시적 및 비가시적 요소들을 포함할 수 있다. 유리하게는, 인간의 가시적 및 비가시적 요소들을 갖는 것은 사람이 로봇(102)로 하여금 초기화 객체(150)을 검출하도록 하는 것을 용이하게 한다. 일부 경우, 가시적인 부분은 비가시적인 부분보다 더 작거나 및/또는 눈에 띄지 않을 수 있다. 예시된 바와 같이, 센서(300)은 지면으로부터 높이(330)에 위치할 수 있으며, 여기서 높이(330)은 초기화 객체(150)의 예상되는 위치에 적어도 부분적으로 기초하여 결정될 수 있거나, 및/또는 센서(300)은 시야(320) 내에서 초기화 객체(150)을 캡처하기 위한 것이어야 한다.
도 5는 예시적인 초기화 객체(150)이 이미지를 갖는 사인인 경우 사용될 수 있는 예시적인 이진 이미지(502, 504, 506)를 예시한다. 예시적인 이진 이미지(502, 504, 506)은 단지 예시를 위한 것으로 초기화 객체(150)이 사인인 경우 사용될 수 있는 이미지에 한정하려는 것이 아니다. 예를 들어, 초기화 객체(150)은 어떠한 대칭 또는 비대칭 이미지를 포함할 수 있다.
예시로서, 이진 이미지(502)는 흑색 배경(546)으로 백색 형상(510, 520)을 프레이밍하는 백색 경계(508)을 갖는다. 일부 경우에, 백색 경계(508)는 검출을 용이하게 할 수 있는 모퉁이 또는 에지를 생성할 수 있다. 백색 경계(508)에 의해, 흑색 배경(546)은 로봇(102)에 의한 검출을 위해 주위로부터 떨어져 보다 명확히 설정될 수 있다. 그러나, 예시적인 이진 이미지(504)와 같은 일부 이진 이미지는 경계를 갖지 않을 수 있다. 일부 경우에, 백색 형상(510, 512)는 기계에 의하여 발생되는 블록 형상을 가질 수 있으며, 여기서 형상들은 인접한 실질적으로 정사각형 및/또는 직사각형의 블록들로 구성될 수 있다. 일부 경우에, 이진 이미지는 하나 이상의 뚜렷한(예를 들어, 인접하지 않은) 형상들을 가질 수 있다. 예를 들어, 이진 이미지(506)는 하나의 백색 형상(514)을 포함한다. 이진 이미지(504)는 백색 형상(516, 518, 520)을 포함한다.
이진 이미지(502, 504, 506) 중의 하나를 초기화 객체(150)로 이용하는 것은, 각각이 그렇지 않으면 주위에 나타나지 않을 것 같은 뚜렷한 이미지들이므로, 유리하다. 또한, 이진 이미지(502, 504, 506)이 이진(예를 들어, 흑과 백)이므로, 이들은 나타날 자연 색상으로부터 식별할 수 있다. 이미지들(502, 504, 506)의 블록 같은 백색 형상과 이진 색상은 또한 저해상도 RGB 카메라를 카메라(306)으로 사용하여 쉽게 검출할 수 있게 한다. 또한, 이진 이미지(502, 504, 506)은 회전 대칭이 부족하여 초기화 객체(150)의 회전이 또한 검출될 수 있다. 이진 이미지(502, 504, 506)의 일반적인 검출성은 로봇(102)로 하여금 낮은 하드웨어 비용(예를 들어, 저렴한 구성요소들)과 더 낮은 프로세싱 비용(예를 들어, 상대적으로 작은 계산 전력을 포함한다)으로 이진 이미지(502, 504, 506) 중의 어떤 하나를 검출할 수 있게 한다. 더욱이, 이진 이미지(502, 504, 506)은, 그 중 많은 것이 컴퓨터에 의하여 랜덤으로 생성될 수 있는, 많은 조합을 만들거나 갖는데 적은 비용이 들 수 있다. 많은 조합을 갖는 것은 상이한 이진 이미지가 상이한 내비게이션 가능한 경로들과 연관된 상이한 위치들에 위치하는 것을 가능할 수 있다.
초기화 객체(150)은 우측, 좌측, 상부측, 저부측, 상부 좌측 모서리, 상부 우측 모서리, 저부 좌측 모서리, 저부 우측 모서리, 또는 어떠한 측부, 모서리, 및/또는 에지의 어떠한 다른 상대적인 지정을 포함하는 다수의 측부와 모서리들을 가질 수 있다. 예시적인 예로서, 이진 이미지(502)는 도시된 바와 같이 좌측(530), 우측(534), 상부측(532), 및 저부측(536)을 가질 수 있다. 이진 이미지(502)는 또한 상부 좌측 모서리(540), 상부 우측 모서리(544), 저부 좌측 모서리(538), 및 저부 우측 모서리(542)를 포함할 수 있다.
언급된 바와 같이, 초기화 객체(150)은 이진 이미지(예를 들어, 이진 이미지(502, 504, 506) 외에 다른 이미지를 포함할 수 있다. 예를 들어, 초기화 객체(150)은 흑색 및/또는 백색, 또는 가시 스펙트럼에서 보이는 색상들 및/또는 (예를 들어, UV, IR등을 이용하여 기계에 의하여 보거나 기계의 도움으로 보이는) 가시 스펙트럼에서 보이지 않는 색상들을 포함하는 다수의 색상들 외에, 상이한 색상들을 이용하는 것을 제외하고 이진 이미지(예를 들어, 이진 이미지(502, 504, 506)와 실질적으로 유사할 수 있다. 유리하게는, 가시 스펙트럼에서 보이지 않은 색상들은 초기화 객체의 인간에 의한 바람직하지 않은 시인을 감소시키거나 및/또는 방지할 수 있다. 일부 구현예에서, 초기화 객체(150)는 장면, 객체, 사람 등의 이미지일 수 있다. 어떠한 경우에, 본 개시에서 이전에 또한 기재된 바와 같이, 초기화 객체(150)는 컴퓨터에 의하여 인식될 수 있는 어떠한 이미지, 사인, 객체, 및/또는 어떠한 객체일 수 있다.
도 6은 로봇(102)이 학습된 경로를 자율적으로 내비게이션하기 위하여 초기화될 수 있는 예시적인 방법(600)의 프로세스 흐름도를 도시한다. 예를 들어, 티칭 단계(614)에서의 부분들(602, 604, 606)에서, 로봇(102)은 사용자(904)에 의하여 데모된 경로(116)를 학습할 수 있다. 이어서, 자율 내비게이션 단계(616)에서의 부분들(608, 610, 612)에서, 로봇(102)은 경로(106, 126), 또는 실질적으로 유사한 경로로서 경로(116)를 자율적으로 내비게이션할 수 있다.
부분(602)은 로봇(102)이 초기화 객체(150)을 검출하는 것을 포함할 수 있다. 초기화 객체(150)의 이 제1 검출은 로봇(102)에 대한 초기화 프로세스를 시작할 수 있다. 외부 수용성 센서(300)을 이용한 초기화 객체(150)의 모습은 로봇(102)이 초기화 객체(150)을 식별하도록 하기 위하여 메모리(302)에 저장될 수 있다. 예를 들어, 초기화 객체(150)이 이진 이미지(예를 들어, 이진 이미지들(502, 504, 506) 중의 하나)인 경우, 이진 이미지는 메모리(302)에 저장될 수 있다.
일부 구현예에서, 센서(300)는 그 주위(예를 들어, 센서(300)의 시야각 내)를 검출할 수 있으며, 제어기(304)는 센서(300)로부터 얻어진 데이터를 프로세싱하고 초기화 객체(150)를 검출하기 위하여 그 데이터를 분석할 수 있다. 예를 들어, 센서(300)이 카메라(306)을 포함하는 경우, 카메라(306)는 그 주위의 이미지(예를 들어, 단일 이미지 및/또는 비디오에서의 일련의 이미지)를 촬영할 수 있다. 제어기(304)는 각 촬영된 이미지(예를 들어, 센서(300)(예를 들어, 카메라(306)에 의해 촬영된 이미지들)를 분석하고, 초기화 객체(150)용으로 이러한 촬영된 이미지를 분석할 수 있다. 이진 이미지(예를 들어, 이진 이미지(502, 504, 506)으로, 이 분석은 이미지 프로세싱을 포함할 수 있다. 예시로서, 제어기(304)는 카메라(306)로부터 촬영된 이미지를 획득할 수 있으며, 이진 이미지를 검출가능하게 하기 위하여 일련의 이미지 프로세싱 기법을 수행할 수 있다.
일부 구현예에서, 라이브러리(324)는 촬영된 이미지에서 초기화 객체(150)을 식별하기 위하여 사용될 수 있는, 초기화 객체(150) 및/또는 객체실질적으로 유사한 객체들 중 하나 이상의 이미지를 포함할 수 있다. 예를 들어, 라이브러리(324)는 제어기(304)가 촬영된 이미지에서 초기화 객체(150)을 식별하는 것을 학습하도록 하는 감독된 또는 감독되지 않는 기계 학습 알고리즘에서 사용될 수 있다. 예를 들어, 초기화 객체(150) 및/또는 실질적으로 유사한 객체들의 위치는 (예를 들어, 초기화 객체(150) 및/또는 실질적으로 유사한 객체를 생성/시뮬레이션하고 및/또는 이러한 라이브러리 이미지들을 라벨링하도록 구성된 컴퓨터 프로그램으로서 사용자에 의하여 라벨링되거나(예를 들어, 핸드 라벨링) 또는 자동으로 라벨링된) 라이브러리(324)의 하나 이상의 이미지에서 식별될 수 있다객체객체. 일부 구현예에서, 라이브러리(324)의 이러한 이미지들은 상이한 조명 조건, 각도, 사이즈(예를 들어, 거리), 선명도(예를 들어, 블러링된, 방해된/가려진, 일부 프레임 오프된 등), 색상, 주위 등에서 객체초기화 객체(150) 및/또는 실질적으로 유사한 객체의 이미지들을 포함할 수 있다. 라이브러리(324)에서의 이러한 이미지들로부터, 제어기(304)는 많은 상이한 상황에서 초기화 객체(150) 및/또는 실질적으로 유사한 객체를 식별하도록 훈련된 후, 그 훈련을 이용하여 주어진 촬영된 이미지에서 초기화 객체(150)을 식별할 수 있다.
일부 구현예에서, 제어기는 촬영된 이미지를 라이브러리(324)의 라벨링된 이미지와 비교할 수 있다. 촬영된 이미지와 라이브러리(324)에서의 하나 이상의 이미지 사이에 실질적인 매치가 있는 경우, 제어기(304)는 하나 이상의 초기화 객체(150)의 이미지 및/또는 라이브러리(324)에 라벨링된 실질적으로 유사한 객체에 기초하여 초기화 객체(150)를 식별할 수 있다.
일부 구현예에서, 촬영된 이미지와 라이브러리(324)의 하나 이상의 이미지 사이의 매치량은 비교에 의하여 결정될 수 있다. 예를 들어, 촬영된 이미지와 라이브러리(324)로부터의 하나 이상의 이미지 사이의 차이가 취해질 수 있다. 이 차이는 차등 이미지(differential image)에 적어도 부분적으로 나타내질 수 있다. 이러한 차등 이미지는 그후 촬영된 이미지와 라이브러리(324)로부터의 하나 이상의 이미지 사이의 유사성 정도를 결정하기 위하여 평가될 수 있다. 예시로서, 제어기(304)는 차등 이미지의 복수의 픽셀들의 총계(예를 들어, 수학적 총계, 절대값들의 총계 등)을 취하고, 소정의 임계치와 총합을 비교할 수 있으며, 여기서 소정의 임계치는 오탐(false positives)의 강건함(robustness)과 허용오차에 적어도 부분적으로 기초하여 결정될 수 있다. 차이의 총계가 소정의 임계치를 초과하면, 제어기(304)는 그 차이가 너무 크기 때문에 매치가 없었던 것으로 결정할 수 있다. 다른 예로서, 그 유사성, 일부의 경우에는, 백분율 유사성을 결정하기 위하여 이미지들을 비교하는 방법들을 실행하는 이미지 비교기가 사용될 수 있다. 이러한 비교기들은 유사성 및/또는 차이를 찾기 위하여 픽셀 별로, 영역 별로, 및/또는 이미지들의 형상 또는 뚜렷한 특징들에 기초하여, 촬영된 이미지 및 라이브러리(324)로부터의 하나 이상의 이미지들을 분석할 수 있다.
일부 구현예에서, 초기화 객체(150) 및/또는 실질적으로 유사한 객체의 이미지의 라이브러리(324)는 초기화 객체(150)의 각 촬영된 이미지를 찾기 위한 다른 이미지 프로세싱 기법들과 함께 사용될 수 있다. 예를 들어, 일부 구현예에서, 제어기(304)는 촬영된 이미지에서의 경계를 추출하기 위하여 경계 팔로잉(following) 및/또는 컨투어 트레이싱(contour tracing)을 수행할 수 있다. 초기화 객체(150)의 경계는 초기화 객체(150)이 그 주위와 대비되는 경우 특히 쉽게 검출될 수 있다. 예를 들어, 초기화 객체(150)이 그 주위로부터 독특한 패턴이나 색상을 갖는 경우, 초기화 객체(150)은 그 주위로부터 대비될 수 있고 그 경계는 용이하게 식별된다. 예시적인 예로서, 이진 이미지(예를 들어, 이진 이미지(502, 504, 506))의 흑색 및 백색 색상은 두드러질 수 있고 많은 환경에서 주위와 대비될 수 있다.
일부 구현예에서, 제어기(304)는 촬영된 이미지 상에서 세그먼테이션을 수행할 수 있다. 예를 들어, 초기화 객체(150)가 이진 이미지인 경우, 적응 임계치 결정이 이진 이미지를 세그먼테이션할 수 있다. 유리하게는, 세그먼테이션은 오탐을 줄이고, 촬영된 이미지에서 노이즈를 감소시킨다. 촬영된 이미지는, 세그먼테이션 후 및/또는 전에, 형태학상의 이미지 프로세싱(예를 들어, 노이즈를 제거하기 위한 이로젼(erosion) 및 딜레이션(dilation)), 필터들 등으로 또한 더 클린업될 수 있다. 일부 경우에, 초기화 객체(150)의 형상이 뚜렷한(예를 들어, 이진 이미지(502, 504, 506)와 같이 정사각형 및/또는 직사각형인) 경우, 실질적으로 동일한 형상이 아닌 객체들(다양한 이미징 각도들로부터 보일 수 있는 바와 같은 형상의 왜곡된/변형된 버전들)은 촬영된 이미지로부터 제거될 수 있다. 예를 들어, 초기화 객체(150)이 정사각형 및/또는 직사각형인 경우, 볼록한 윤곽이 아닌 촬영된 이미지에서의 객체들 및/또는 4개의 뚜렷한 모서리를 갖는 객체들은 무시되거나 및/또는 프로세싱으로부터 제거될 수 있다. 그후, 라이브러리(324)의 하나 이상의 이미지는 비교에 의하여 촬영된 이미지에서 초기화 객체를 검출하는데 사용될 수 있다. 일부 경우에, 카메라(306)에 의하여 얻어진 촬영된 이미지에서 각 이진 이미지 내의 백색 형상들(예를 들어, 백색 형상들(516, 518, 520)의 정확한 패턴이 제어기(304)에 의하여 라이브러리의 하나 이상의 이미지들과 비교될 수 있다. 이런 식으로, 초기화 객체(150)의 존재와 위치는 촬영된 이미지에서 식별될 수 있다.
일부 구현예에서, 복수의 초기화 객체가 있을 수 있다. 일부 구현예에서, 복수의 초기화 객체들은 각각 경로를 학습하고 경로를 자율적으로 내비게이션하기 위한 상이한 초기 위치를 표시할 수 있다. 예를 들어, 상이한 객체초기화 객체들은 빌딩의 상이한 플로어 상에서 사용될 수 있고, 여기서 로봇(102)은 이 상이한 객체초기화 객체의 검출에 적어도 부분적으로 기초하여 상이한 플로어 상에 상이한 경로를 주행할 수 있다. 다른 예로서, 상이한 초기화 객체는 동일한 플로어 상에 있을 수 있으나, 로봇(102)가 주행하는 상이한 초기 위치와 상이한 경로를 적어도 부분적으로 나타낼 수 있다. 이와 같이, 상이한 초기화 객체가 식별 오류를 피하기 위하여 뚜렷한 모습을 갖는 것이 유리할 수 있다. 이진 이미지의 경우에, 백색 형상들의 패턴은 각 초기화 객체 사이에서 상이할 수 있다.
일부 구현예에서, 초기화 객체(150)의 검출은 다른 센서들에 의한 검출과 쌍을 이룰 수 있다. 유리하게는, 다른 센서들에 의한 검출을 이용하는 것은 초기화 객체(150)이 이동되거나 및/또는 환경이 상당히 변화한 경우에 상황을 설명할 수 있다. 다른 센서들의 이러한 사용은 신호 리던던시 및/또는 향상된 안전을 제공할 수 있다. 예시로서, 다른 센서는 장면을 이미징하도록 구성된 레이저 스캔 라이다일 수 있다. 일부 경우에, 이미지는 스캔 라이다로부터 얻어진 데이터로부터 압축된 3D 이미지 또는 2D 이미지일 수 있다. 하나 이상의 스캔 라이다 이미지는 초기화 객체(150)의 유효한 검출과 연관될 수 있다. 초기화 객체(150)의 검출이 다른 센서들에 의한 검출과 쌍을 이루는 경우에, 로봇(102)은 초기화 객체(150)가 검출되었는지 및 스캔 라이다 이미지가 초기화 객체(150)의 검출과 연관된 하나 이상의 스캔 라이다 이미지와 실질적으로 유사한지를 결정할 수 있다. 이런 식으로, 로봇(102)(예를 들어, 로봇(102)의 제어기(304))는 스캔 라이다 이미지를 이용하여 초기화 객체(150)을 검증할 수 있다.
부분(604)는 로봇(102)이 부분(602)에서 검출된 초기화 객체(150)로 위치(위치는 로봇의 위치, 변위, 및/또는 방향을 포함하고, 때때로 본원에 사용된 용어 자세와 상호교환가능하다)를 결정하는 것을 포함할 수 있다. 예시적인 예로서, 도 7은 예시적인 초기화 객체(150)에 예시적인 각도에 위치하는 예시적인 로봇(102)의 오버헤드 도면을 도시하고, 여기서 예시적인 센서(300)는 예시적인 센서(300) 상의 예시적인 지점(794)로부터 예시적인 초기화 객체(150)의 예시적인 지점(792)로의 예시적인 거리(724) 및 예시적인 각도(718)을 측정한다. 지점(796)은 중심, 질량 중심과 같이 로봇(102)에 위치하는 다른 지점, 다른 센서(예를 들어, 자기 수용성 센서(308)) 상의 위치, 또는 로봇(102) 상의 어떤 다른 지점일 수 있다.
지점(792)는 초기화 객체(150) 상의 기준 지점일 수 있다. 예를 들어, 지점(792)는 중심(예를 들어, 초기화 객체(150)의 수직 및 수평 방향에서의 중간 지점), 모서리 지점(예를 들어, 상부 좌측 모서리(예를 들어, 이진 이미지(502)의 상부 좌측 모서리(540)), 상부 우측 모서리(예를 들어, 이진 이미지(502)의 상부 우측 모서리(544)), 저부 좌측 모서리(예를 들어, 이진 이미지(502)의 저부 좌측 모서리(538)), 저부 우측 모서리(예를 들어, 이진 이미지(502)의 저부 우측 모서리(542)), 에지 중간 지점(예를 들어, 우측(예를 들어, 이진 이미지(502)의 우측(534))의 중간지점, 좌측(예를 들어, 이진 이미지(502)의 좌측(530))의 중간지점, 저부측(예를 들어, 이진 이미지(502)의 저부측(536))의 중간 지점, 상부측(예를 들어, 이진 이미지(502)의 상부측(532))의 중간 지점, 또는 초기화 객체(150) 상에 및/또는 그에 배치된 어떠한 위치일 수 있다. 지점(794)는, 렌즈(312)의 중심(예를 들어, 물리적 중심 및/또는 광학 중심) 또는 센서(300) 상의 및/또는 그의 어떠한 다른 지점과 같은 센서(300)의 측정 시스템의 일부일 수 있다.
도시된 바와 같이, 로봇(102)는, 전방측(702), 우측(708), 좌측(706), 및 후방측(704)와 같은, 복수의 측부를 갖는 바디를 포함할 수 있다. 로봇(102)은 상부측(764)와 하부측(도시되지 않음)을 또한 가질 수 있다. 당업자는 형상(예를 들어, 직사각형, 피라미드형, 휴머노이드, 어떠한 지정된 형상)에 따라 변하는 로봇(102)의 표면들에 해당하는 다른 측부를 또한 가질 수 있다. 예시로서, 전방측(702)은 로봇(102)의 전방을 마주하는 측 상에 위치할 수 있고, 전방을 마주하는 측은 로봇(102)의 전방 이동의 방향으로 전방을 향한다. 후방측(704)는 로봇(102)의 후방을 마주하는 측 상에 위치할 수 있고, 후방을 마주하는 측은 전방측(702)와 같은 전방을 향하는 측의 실질적으로 반대 방향으로 마주하는 측이다. 우측(708)은 전방측(702)에 대하여 우측이고, 좌측(706)은 전방측(702)에 대하여 좌측일 수 있다. 도 7에 도시된 바와 같이, 로봇(102)은 외부 수용성 센서(300)과 실질적으로 유사할 수 있는 추가적인 외부 수용성 센서(700A-700C) 또는 어떠한 다른 센서 및 자기 수용성 센서(308)과 실질적으로 유사할 수 있는 추가적인 자기 수용성 센서(710) 또는 어떠한 다른 센서와 같은 추가적인 센서들을 가질 수 있다. 따라서, 로봇(102)은 로봇(102)를 검출하거나 및/또는 초기화 객체(150)로 초기화하기 위하여 하나 이상의 센서(예를 들어, 센서(300, 700A-700C)를 활용할 수 있다. 예를 들어, 초기화 객체(150)이 우측(708), 좌측(706), 전방측(702), 후방측(704), 상부측(764), 또는 저부측 중의 하나 이상에 인접하게 위치하는 경우, 이러한 측부들 상에 및/또는 그 주위에 위치하는 센서는 객체초기화 객체(150)을 검출하고 객체초기화 객체(150)에 상대적인 로봇(102)의 위치를 결정하기 위하여 사용될 수 있다. 일부 경우에, 내비게이션을 시작하기 위하여 초기화 객체(150)에 상대적인 편리한 위치에 로봇(102)을 위치시키는 것이 바람직할 수 있다. 예를 들어, 로봇(102)이 경로를 내비게이션하러 가는 방향과 마주하는 경우, 우측(708) 또는 좌측(706)에 인접한 초기화 객체(150)를 갖는 것은 로봇(102)으로 하여금 내비게이션 전에 매뉴버링(maneuvering)(예를 들어, 비켜 가기)를 최소화하도록 한다. 일부 경우에, 초기화 객체(150)은 천정 상에 위치될 수 있다.
로봇은 인치, 피트, 미터, 또는 다른 측정 단위(예를 들어, 미터법, US, 또는 다른 측정 시스템)과 같은, 표준 단위를 이용한 절대적인 거리 측정일 수 있는, 지점(794)과 지점(792) 사이의 거리(724)를 측정할 수 있다. 일부 구현예에서, 거리(724)는 틱, 픽셀, 센서의 범위의 백분율 등과 같은, 상대적인 및/또는 비절대적 단위들로 측정될 수 있다. 일부 구현예에서, 거리(724)는 지점(792), 지점(794), 지점(796) 또는 다른 결정된 위치와 같은, 원점에 대하여 상대적인 x 및 y 좌표로 표시될 수 있다. 이러한 경우에, x 좌표는 원점으로부터 제1 축까지의 거리일 수 있고, y좌표는 제2 축에 있는 원점까지의 거리일 수 있으며, 제2 축은 직각 좌표계를 형성하는 제1 축에 수직일 수 있다. 따라서, 거리(724)는 지점(792)과 지점(794)의 x 좌표와 y 좌표 사이의 차이일 수 있다. 일부 경우에, 거리(724)는 상술한 x 및 y 좌표, 및 z 좌표를 포함하는 3차원으로 표시될 수 있으며, 여기서 z 좌표는 제3 축에 있는 원점까지의 거리일 수 있다.
로봇(102)는 또한 그 방향을 대략적으로 정할 수 있다. 일부 구현예에서, 로봇(102)은 지점(794)과 지점(792) 사이의 상대적인 각도를 대략적으로 정할 수 있다. 각도(718)는 도, 라디안, 또는 다른 단위로 측정될 수 있다. 일부 구현예에서, 각도(718)는 수평 평면과 같은 2D 평면에 대하여 측정될 수 있다(예를 들어, 거리(724)의 상술한 직각 좌표계 또는 다른 측정). 일부 구현예에서, 롤, 요, 지점(792) 대 지점(794)의 피치 중의 하나 이상과 같은 추가적인 각도가 측정될 수 있다. 따라서, 초기화 객체(150)에 상대적인 위치의 로봇(102)에 의한 결정은 이러한 지점들 사이의 방향뿐 아니라 로봇(102) 상의 지점으로부터 초기화 객체(150) 상의 지점까지의 거리를 결정하는 것을 포함할 수 있다.
일부 구현예에서, 지점(792)에 대한 지점(794)의 위치를 결정하기 위하여, 로봇(102)은 초기화 객체(150)를 검출한 센서(300)의 속성/특성을 식별할 수 있다. 일부 구현예에서, 이러한 속성/특성은 센서(300)의 양태를 구체적으로 하는 캘리브레이션 변수로서 나타내어질 수 있다.
예시적인 예로서, 센서(300)이 카메라(306)를 포함하는 경우에, 카메라(306)의 속성/특성은 캘리브레이션 변수로서 결정될 수 있다. 이러한 캘리브레이션 변수들은 초점 길이, 왜곡, 시야각, 왜곡 효과, 종횡비, 지면으로부터의 높이 등을 포함할 수 있다. 이러한 캘리브레이션 변수들은 카메라의 사양 및/또는 카메라(306)의 셋업/위치 결정에 기초하여 사용자에 의하여 알려질 수 있다. 예를 들어, 렌즈(314)와 카메라(306)은 로봇(102)(및/또는 그 구성요소 또는 하위구성요소) 또는 사용자에게 알려질 수 있는 사양으로 제조될 수 있다. 일부 경우에, 로봇(102)의 사용자(904)는, 예를 들어, 카메라가 지면으로부터 있는 높이를 측정함으로써, 이러한 캘리브레이션 파라미터들을 측정할 수 있다.
일부 경우에,(렌즈(314)를 포함하는) 카메라(306)의 속성/특성의 하나 이상은 카메라(306)에 의해 촬영된 하나 이상의 이미지로부터 추정될 수 있다. 예를 들어, 카메라(306)에 의해 촬영된 이미지와 카메라(306)의 속성/특성 사이에는 알려진 관계가 있을 수 있다. 예시적인 예로서, 도 8은 예시적인 이미지(800)에 나타내어진 예시적인 초기화 객체(150)을 도시한다. 일부 경우에, 카메라(306)는 초기화 객체(150)와 같은 객체를 포함하는 장면의 이미지(800)을 취할 수 있다. (도 8에서 벽(350) 상에 이진 이미지를 갖는 예시적인 사인으로 도시된 바와 같은) 초기화 객체(150)은 좌표 시스템(804)에 좌표(x, y, z)를 갖는 삼차원 공간에 있다. 시야(320)에서의 장면은 이미지(800)에서 좌표 시스템(802)에서 좌표(ximage, yimage)를 갖는 이차원 공간으로 캡처될 수 있다. 따라서, 장면에서의 좌표의 적어도 일부는 좌표(ximage, yimage)를 갖는 픽셀 위치에서 이미지(800)에 캡처될 수 있으며, ximage = fx(X/Z)+cx 및 yimage=fy(Y/Z)+cy이고, fx와 fy는 각각 ximage와 yimage 방향으로 초점 길이를 가질 수 있다. 상수 cx와 cy는 각각 ximage와 yimage 방향에서의 이미지(800) 상의 좌표 중심의, 광축으로부터의, 변위일 수 있다. 이러한 관계식들을 알면, 컴퓨터-구현 캘리브레이션과 같은, 카메라(306)의 캘리브레이션이 가능하므로, 왜곡된 이미지를 보정할 수 있다. 이들을 캘리브레이션하는 관계식들과 방식들은 전체로 참조로 본원에 포함된, J. Heikkila and O. Silven, "A four-step camera calibration procedure with implicit image correction," Computer Vision and Pattern Recognition, 1997. Proceedings, 1997 IEEE Computer Society Conference on, San Juan, 1997, pp.* 1106 - 1112뿐만 아니라, 본 분야의 다른 곳에 설명되어 있다. 이미지(800)로부터 캘리브레이션 변수를 찾고, 및/또는 카메라(306)를 캘리브레이션하는 다른 시스템과 방법들이 있을 수 있다. 본 개시의 구현예들은 어떠한 특별한 시스템 또는 방법에 한정되지 않는다. 시야(320)의 모든 좌표가 이미지(800)에 나타나는 것은 아님을 주의하여야 한다. 예를 들어, 시야(320)의 오직 일부가 이미지(800)로서 나타난다. 도 8에 도시된 바와 같이, 시야(320)는 원형으로 도시된 반면, 이미지(800)는 직사각형이다. 이미지(800)는 도시된 비한정적 예시에서 시야(320)의 직사각형 부분을 나타낸다. 당업자는 이미지(800)는 예시적 목적이며, 예시된 것과 상이한 특징(예를 들어, 각도, 조명, 왜곡, 방해/가리기, 부분적 그림 등)을 갖는 다른 도면을 포함할 수 있다는 점을 이해하여야 한다.
지점(792)에 대한 지점(794)(및/또는 지점(796))의 위치의 추정은 이 때 자세 추정 시스템 및 방법을 활용할 수 있다. 예를 들어, 이러한 자세 추정 시스템 및 방법은 분석적 또는 기하학적 방법 및/또는 학습 기반 방법을 포함할 수 있다.
예를 들어, 분석적 또는 기하학적 방법들이 사용되는 경우, 이미지(800)에서의 각 2D 지점의 위치는 3D 장면(예를 들어, 시야(320)에서의 장면)으로부터 2D 이미지로의 매핑으로 처리될 수 있다. 이런 식으로, 초기화 객체(150)은 이미지(800)로 투사될 수 있다. 카메라(306)의 캘리브레이션 변수와 초기화 객체(150)의 기하학이 또한 알려져 있으므로, 초기화 객체(150) 내지 2D 이미지(800)를 포함하는 장면에 있는 3D 지점들에 관련시키는 함수가 발견될 수 있다. 많은 이러한 함수들이 있으며, 그 일부는 본 분야에 알려져 있다. 예를 들어, 투사형 카메라 모델은 P - CS의 형태를 띠며, P는 이미지에 있는 2D 지점들(예를 들어, 픽셀들)을 나타내는 행렬이고, S는 장면에 있는 3D 지점들을 나타내는 행렬이고, C는 카메라 행렬이고, 방정식의 좌변과 우변이 비제로 스칼라 곱과 같다는 점을 적어도 부분적으로 나타낸다.
일부 경우에, C는, 무엇보다도, 초점 거리, 접선 및 반경 방향 왜곡 계수, 광학적 중심, 종횡비 등 중의 하나 이상과 같은, 카메라(306)의 다양한 캘리브레이션 변수에 적어도 부분적으로 기초하는 값을 포함할 수 있다. 예를 들어, 일부 경우에, C = A[R t]이고, 여기서 A는(예를 들어, 카메라(306)의 특성을 포함하는) 카메라 내적 행렬이고, [R t]는 장면 좌표(예를 들어, 좌표 시스템(804))를 2D 이미지 좌표(예를 들어, 좌표 시스템(802))에 관련시키는 회전 및 병진과 같은(행렬 형태로 표현된) 외적 변수이다. 회전(R)과 변이(t)는 초기화 객체(150)의 위치를 제공할 수 있다. 따라서, 이미지(800)에서의 초기화 객체(150)의 알려진 카메라 내적 부분 및 위치에 적어도 부분적으로 기초하는 추정[R t]은 로봇(102)로 하여금 초기화 객체(150)에 대한 로봇(102)의 위치를 찾는 것을 가능하게 할 수 있다. 예를 들어, 일부 구현예에서, A는 다음과 같이 표현되는 3x3 행렬일 수 있다.
Figure pct00001
A에 대한 상기 행렬에서, (μ0, ν0)는 주요 지점(예를 들어, 좌표 시스템(ximage, yimage)에서의 이미지 중심 및/또는 광학 중심)의 좌표일 수 있으며, α와 β는 각각 ximage와 yimage 축에서의 스케일 인자일 수 있으며, f는 초점 거리일 수 있고, γ는 이미지 좌표의 축의 왜도(skewness)를 나타낼 수 있다. R은 3 x 3 회전 행렬일 수 있고, t는 3-차원 병진 벡터일 수 있다. 따라서, 일부 구현예에서,
Figure pct00002
일부 구현예에서, t는 3D 카메라 중심 좌표 시스템의 좌표에서 표현되는 장면 좌표 시스템(예를 들어, 좌표 시스템(804))의 원점의 위치일 수 있으며, 카메라(306)의 렌즈(314)의 조래개는 원점일 수 있다. 변환을 이용하여, 변환(t)는 장면 좌표로 변환될 수 있다. 일부 경우에, M은 장면 좌표에서의 렌즈(314)의 조리개의 위치를 기술하는 열 벡터일 수 있다. RC는 장면 좌표 축에 대한 카메라(306)의 방향일 수 있고, RC=RT이고, RT는 행렬(R)의 전치이다. 따라서, 일부 구현예에서, 병진 벡터는 관계(t = -RM)에 의하여 M의 곱으로 표현될 수 있다.
일부 구현예에서, 제어기(304)는 Itc, M, R, T, 또는 어떠한 다른 변수 중의 하나 이상에 대하여 형태 R -CS의 표현을 풀 수 있다(예를 들어, 좌표가 지점들(792, 794, 796) 또는 초기화 객체(150), 로봇(102), 또는 환경의 다른 곳 상의 다른 지점과 같은 지점에서 중심을 이룰 수 있다). 제어기(304)는 Direct Linear Trnasformation("DLT") 등을 포함하는 알려진 수학적 방법을 이용하여 위치를 풀 수 있다. 렌즈(314)의 왜곡(예를 들어, 반경 방향 및/또는 병진 방향)은 또한 비선형 모델에 인자를 둘 수 있으며, 여기서 비선형 모델은 비선형 추정 기법에 의하여 풀 수 있다.
본 개시의 내용에서, 당업자는 다른 핀홀 카메라 모델 및/또는 본 분야에 알려진 3D 내지 3D 투사용의 기타 모델을 포함하는, 다른 카메라 모델이 사용될 수 있음을 이해하여야 한다. 이러한 모델들은 이 때 장면 좌표 시스템(예를 들어, 좌표 시스템(804))에서의 지점(예를 들어, 지점(792), 지점(794), 또는 지점(796))에 대한 카메라(306)의 위치/자세를 찾는 것에 기초하여 풀 수 있다.
다른 예시적인 예로서, 도 7에 도시된 바와 같이, 학습 기반 방법이 지점(794, 796)에 대한 지점(792)의 하나 이상의 위치를 찾기 위하여 로봇(102)에 의하여 사용될 수 있다. 예시적인 예로서, 라이브러리(324)는 초기화 객체(150)의 예시적인 이미지 및/또는 적어도 부분적으로 초기화 객체(150)을 묘사하는 실질적으로 유사한 객체 및/또는 다양한 위치(예를 들어, 좌표 시스템 및/또는 방향/각도)에서 실질적으로 유사한 객체를 포함할 수 있다. 라이브러리(324)는 그후 촬영된 이미지(예를 들어, 이미지(800))으로부터 지점(794, 796)에 대한 지점(792) 중의 하나 이상의 위치를 식별/연관시키도록 학습하기 위하여 제어기(304)용의 감독된 또는 감독되지 않은 기계 학습 알고리즘에서 사용될 수 있다. 라이브러리(324)의 이미지는 지점(794, 796)에 대한 지점(792) 중의 하나 이상의 각 해당 측정 위치로(예를 들어, 초기화 객체(150) 및/또는 실질적으로 유사한 객체의 라이브러리 이미지를 발생/시뮬레이션하고 및/또는 라이브러리 이미지를 라벨링하도록 구성된 컴퓨터 프로그램으로서) 식별될 수 있다. 일부 구현예에서, 라이브러리(324)는 또한 상이한 조명 조건, 각도, 사이즈(예를 들어, 거리), 선명도(예를 들어, 블러링된, 방해된/가려진, 일부 프레임 오프된 등), 색상, 주위 등에서 초기화 객체(150) 및/또는 실질적으로 유사한 객체를 포함할 수 있다. 이러한 이미지들로부터, 제어기(304)는 라이브러리(324)에서 많은 상이한 상황에서 초기화 객체(150) 및/또는 실질적으로 유사한 객체의 해당 이미지에 적어도 부분적으로 기초하여 지점들(794, 796)에 대한 지점(792) 중의 하나 이상의 위치를 식별하도록 먼저 훈련될 수 있다. 로봇(102)은 그 훈련을 이용하여, 촬영된 이미지에서 초기화 객체(150) 에 대한 지점들(794, 796) 중 하나 이상의 위치를 식별할 수 있다.
일부 구현예에서, 제어기(304)는 각 촬영된 이미지(예를 들어, 이미지(800)를 프로세싱하고, 촬영된 이미지를 라이브러리(324)의 하나 이상의 이미지(예를 들어, 라이브러리 이미지)와 비교할 수 있다. 일부 경우에, 촬영된 이미지가(예를 들어, 부분(602)를 참조하여 이전에 기재된 매칭 시스템 및 방법들 중의 어느 것을 이용하여) 라이브러리(324) 내의 이미지 또는 복수의 이미지와 실질적으로 매칭되는 경우, 제어기(304)는 라이브러리(324)로부터의 매칭된 이미지 또는 다수의 이미지와 연관된 위치와 실질적으로 동일한 촬영된 이미지로부터의 지점들(794, 796)에 대한 지점(792)의 하나 이상의 위치를 식별할 수 있다. 일부 경우에, 촬영된 이미지가 라이브러리(324)의 이미지와 실질적으로 매칭되지 않는 경우, 제어기(304)는 정확한 매치가 아닐 수 있는 라이브러리(324)의 유사한 이미지에 적어도 부분적으로 기초하여 지점(792)에 대한 지점들(794, 796)의 하나 이상의 위치를 추정할 수 있다. 일부 경우에, 제어기(304)는 촬영된 이미지 상의 지점들(794, 796)에 대한 지점(792) 중의 하나 이상의 위치의 추정을 제공하기 위하여, 라이브러리(324) 내의 유사한 이미지에 해당하는 복수의 위치의 평균을 낼 수 있다(및/또는 이에 적어도 부분적으로 기초하여 다른 통계적 추정을 수행할 수 있다).
결과적으로, 부분(604)에서 사용된 어떠한 시스템 및 방법으로부터, 로봇(102)은 지점(792)에 대한 지점들(794, 796) 중의 하나 이상의 위치를 결정할 수 있다. 일부 경우에, 지점(792)에 대한 지점(794)의 위치가 알려진 경우에, 지점(792)에 대한 지점(796)의 위치가 또한 찾아질 수 있다. 예를 들어, 지점(796)에 대한 지점(794)의 위치 결정은(예를 들어, x, y, z 좌표 및/또는 각도로) 측정될 수 있으므로, 지점(792)에 대한 지점(796)의 위치가 또한 찾아질 수 있다. 예시로서, 각도 및/또는 지점(796)과 지점(794) 사이의 x, y, z 좌표들에서의 차이를 지점(792)에 대한 지점(794)의 위치에 더하는 것과 같이, 지점(792)에 대한 지점(796)의 위치는 산수를 이용하여 지점(792)에 대한 지점(794)의 위치에 적어도 부분적으로 기초하여 계산될 수 있다.
일부 구현예에서, 장면 좌표 시스템의 원점은 지점(792), 지점(794), 지점(796), 또는 어떠한 다른 지점으로 취해질 수 있다. 유리하게는, 원점으로서 지점(792)를 식별하는 것은 원점으로서 잠재적으로 정적인 객체를 제공할 수 있으며, 이는 경로(106, 116, 126), 및/또는 초기화 객체(150)에 대한 초기화 위치로부터 내비게이션되는 어떠한 다른 경로를 위한 원점 사이에 일관성을 제공할 수 있다.
알려진 지점(792)에 대한 지점(794, 796)의 하나 이상의 위치를 가지고, 로봇(102)은 또한 주행거리 측정 유닛(326)에서 그 주행거리 측정을 시작할 수 있다. 일부 경우에, 로봇(102)은 자기 수용성 센서(308)을 초기화할 수 있다. 예를 들어, 지점(792)에 대한 지점들(794, 796) 중의 하나 이상의 초기 위치를 아는 것은 로봇(102)로 하여금 초기 위치를 알게 할 수 있다. 이 때, 초기 위치 및/또는 지점(792)에 대하여 상대적으로 이동하는 다른 위치를 추적할 수 있다. 이는 로봇(102)으로 하여금, 데모된 경로(116) 상에서 뿐만 아니라, 자율적으로 내비게이션할 때, 예컨대, 경로(106, 126) 상에서, 그 주행된 위치들 중 하나 이상을 결정할 수 있게 한다.
도 6으로 돌아가서, 부분(606)은 경로를 학습하는 로봇(102)를 포함할 수 있다. 일부 구현예에서, 사용자(904)는 로봇(102)에게 예시적인 인터페이스(900)을 통하여 경로를 학습하도록 명령하는 것에 의하여, 사용자(904)는 경로 학습을 시작할 수 있다. 도 9a는(예를 들어, 사용자(904)에 의한 티칭으로부터) 경로 학습을 시작하거나 경로를 선택하기 위하여 사용자로부터 입력을 수신하기 위한 예시적인 인터페이스(900)을 예시한다. 예를 들어, 사용자는, 입력(972)이 사용자로 하여금 로봇(102)의 기록된 경로를 선택할 수 있게 하는 경우, 사용자 인터페이스(318) 상의 인터페이스(900) 상의 입력(972)를 선택할 수 있다. 일부 구현예에서, 로봇(102)은 초기화 객체(150)을 검출하는 것에 의하여 경로의 학습을 자동적으로 시작할 수 있다. 예를 들어, 로봇(102)이 메모리(302)에 저장된 경로를 갖지 않는 경우, 어떤 행동 및/또는 경로를 사용자(904)가 수행하던지, 초기화 객체(150)에 대한 이러한 행동들의 위치 및/또는 궤적 및/또는 본 개시에 기재된 다른 지점에서 자동적으로 학습을 시작할 수 있다.
사용자(904)의 입력에 적어도 부분적으로 기초하여, 로봇(102)은 경로 학습을 초기화할 수 있다. 로봇(102)은 로봇(102)이 초기화 객체(150)을 검출한 초기 위치로부터 경로의 학습을 시작할 수 있다. 예시적인 예로서, 도 9b는 사용자(904)가 경로를 티칭하면서 로봇(102)을 제어하는 것의 측면도를 도시한다. 사용자(904)는 수위, 관리인, 및/또는 로봇(102)를 사용할 수 있는 어떠한 사람 또는 로봇일 수 있다. 도시된 바와 같이, 로봇(102)은 상점, 창고, 사무실 빌딩, 집, 저장 시설 등의 플로어를 청소하도록 구성된 플로어 청소기일 수 있다. 따라서, 로봇(102)은 로봇(102)의 아래에서 및/또는 그 주위에서(예를 들어, 브러시(908)과 스퀴지(912)가 닿는 범위) 플로어를 청소하도록 구성된 브러시(908) 및 스퀴지(912)를 가질 수 있다.
사용자(904)는 로봇(102)에게 (도 1b에 도시된) 경로(116)를 데모할 수 있다. 그 경로와 함께, 로봇(102)은 플로어를 청소하기 위한 브러시(908)의 작동 등과 같이, 행동들 및/또는 위치(예를 들어, 지점들(792) 중의 하나 이상 또는 어떠한 다른 지점과 같은 기준 지점에 대하여 상대적인) 액추에이터 명령들, 및/또는 경로(116)을 따르는(예를 들어, 특정 방향으로 또는 경로(106)를 따라서 특별한 순서로 이동하는 동안의) 궤적을 또한 학습할 수 있다. 로봇(102)은 사용자(904)에 의한 제어를 위한 어떠한 수의 방식으로 구성될 수 있다. 도시된 바와 같이, 사용자(904)는 로봇(102)이 모터식 동력을 통해 전방으로 이동함에 따라 조향 휠(910)을 이용하여 로봇(102)의 뒤를 걷거나 및/또는 로봇(102)를 조향할 수 있다. 다른 구현예에서, 사용자(904)가 로봇(102)의 좌석 또는 스탠딩 플랫폼 상에 타고 제어하는 경우, 로봇(102)은 탑승식 플로어 청소기(도시되지 않음)일 수 있다. 일부 구현예에서, 사용자(904)는 무선 리모트, 모바일 장치, 조이스틱, 및/또는 본 분야에 알려진 다른 내비게이션 장치와 같은, 원격 제어로 로봇(102)을 원격으로 제어할 수 있다. 이 제어는 좌회전, 우회전, 전방 이동(예를 들어, 가속 페달을 이용하거나 로봇(102)을 전방으로 가도록 하는 것), 후방 이동(예를 들어, 후진 페달을 이용하거나 로봇(102)을 후방으로 가도록 하는 것), 켜고 끄기, 브러시를 승하강하기, 물을 켜거나 끄기 등을 포함할 수 있다. 일부 구현예에서, 사용자(904)는 물을 켜거나 끄기, 물을 뿌리기, 진공을 켜거나 끄기, 진공 호스 위치를 이동시키기, 팔을 움직이기, 리프트를 승하강시키기, 카메라(306)를 돌리기, 센서(300, 308, 700A-700C)등과 같은 로봇의 제어 기구를 제어하는 하나 이상의 액추에이터를 제어할 수 있다. 로봇(102)은 그 경로(116)(예를 들어, 로봇(102)의 위치 및/또는 경로(116)에 따른 궤적)에 상대적으로 이러한 기구를 제어하는 것을 또한 학습할 수 있다. 예를 들어, 로봇(102)이 경로(116)를 학습하는 플로어 청소기인 경우, 로봇(102)은 브러시(908) 및/또는 스퀴지(916)과 같은, 로봇(102 상의 이러한 다양한 기구를 작동시키기 위하여 언제 경로(116)를 따르는지를 또한 학습할 수 있다. 일부 구현예에서, 행동들 및/또는 액추에이터 명령들이 자율 내비게이션 중 위치들 및/또는 궤적과 연관된 경우, 로봇(102)은 어떤 위치를 지날 때, 및/또는 일부 경우에, 학습된 경로와 동일한 방향으로 및/또는 동일한 상대 시간에 그 위치를 지날 때, 이러한 행동들 및/또는 액추에이터 명령들을 수행할 수 있다. 따라서, 이러한 구현예에서, 로봇(102)은 어떤 위치를 지날 때마다(예를 들어, 여러 번 동일한 물리적 위치를 루프를 그리거나 지나는 경우) 이러한 행동들 및/또는 액추에이터 명령들을 수행하지 않을 것이나, 특별한 방향 또는 경로의 특별한 경우에 그 위치를 지날 때, 이러한 행동들 및/또는 이러한 액추에이터 명령들을 단지 수행할 것이다.
로봇(102)은 그후, 경로(116), 및 경로(116)의 위치를 따라 측정되는 로봇(102)의 위치 및/또는 궤적을 포함하는, 경로(116)를 따른 어떠한 관련된 행동들을 메모리(302)에 저장할 수 있다. 로봇(102)은 로봇(102)의 주위에서 검출된 객체들(예를 들어, 객체(906))를 기록하기 위하여 센서들(300, 700A-700C) 중의 하나 이상을 또한 사용할 수 있다. 예를 들어, 하나 이상의 센서들(300, 700A-700C)는 로봇(102)의 주위에서 객체를 검출하기 위하여 에너지 웨이브(960A-C)를 발산할 수 있다. 이런 방식으로, 로봇(102)은 경로(116)을 학습하는 동안에 그 주위를 센싱하기 위하여(예를 들어, 주행거리 측정 유닛(326)의 외부 수용성 센서(308)을 가지고) 주행거리 측정과 외부 수용성 센서(예를 들어, 외부 수용성 센서(300, 700A-C))를 사용할 수 있다. 예를 들어, 로봇(102)는 지점(792)에 대한 그 위치 및/또는 궤적과 관련하여 어떠한 제어를 학습할 수 있다. 예시로서, 로봇(102)은 특정 위치에서 및/또는 특정 방향으로 특정 위치로 갈 때 및/또는 학습된 경로에 대한 특정 지점에서 도는 것을 학습할 수 있다. 로봇(102)은 특정 위치에서, 및/또는 특정 방향의 특정 위치로 및/또는 학습된 경로에 대한 특정 지점으로 갈 때 브러시(908)를 작동시키는 것을 학습한다. 로봇(102)은 지점(792) 또는 다른 지점에 대한 특별한 위치 및/또는 궤적을 갖는 어떠한 종류의 행동과 관련되는 것을 학습할 수 있다. 센서들(300, 700A-700C)는 로봇(102)으로 하여금 메모리(302)에 저장된 맵 상에 이러한 객체들의 위치를 매핑하게 할 수 있는 객체를 검출하고 및/또는 마주칠 때 객체들을 피할 수 있객체다. 로봇(102)은 SLAM(Simultaneous Localization and Mapping), 증강 현실, SIFT(scale-invariant feature transform), 및/또는 다른 시스템과 방법들을 이용하여 환경(100) 및/또는 경로(116)를 매핑할 수 있다.
언급한 바와 같이, 경로(116)을 데모하는 동안에, 사용자(904)는 초기화 객체(150)에 대한 초기 위치에서 시작하여 종료 위치(114)에서 마칠 수 있다. 이런 식으로, 사용자(904)는 경로(116)의 전체를 데모할 수 있다. 일부 구현예에서, 종료 위치(114)은 초기화 객체(150) 또는 상이한 초기화 객체의 검출에 의하여 결정될 수 있다. 이런 식으로, 종료 위치(114)에서의 로봇(102)의 위치는 종료 위치에서 검증될 수 있다. 유리하게는, 종료 위치(114)에서 로봇(102)의 위치를 검증함으로써, 로봇(102)은 로봇(102)의 주행거리 측정과 검증된 위치를 비교하여 주행거리 측정의 드리프트를 결정할 수 있다. 이는 로봇(102)이 환경 및/또는 경로를 매핑함에 따라 오류의 식별 및 수정을 용이하게 할 수 있다. 로봇(102)이 초기 위치 및 종료 위치(114)에서 초기화 객체(150)를 검출하는 경우, 로봇(102)의 경로는 실질적으로 폐루프일 수 있다.
도 6으로 돌아가서, 부분(608)은 다시 초기화 객체(150)을 검출하는 것을 포함한다. 이 제2 검출은 초기화 객체(150)에 대한 초기 위치로 로봇(102)의 제2 위치시키는 것과 일치할 수 있다. 이 검출은 것은 실질적으로 부분(606)의 데모 직후와 같은 부분(606) 후의 후속시점에서, 또는 몇 시간 후, 며칠 후, 몇 주 후, 또는 사용자(904)가 플로어를 청소하기 원할 때마다와 같은, 약간 후에 발생할 수 있다. 부분(608)에서, 로봇(102)은 부분(602)에 있어서 로봇(102)이 초기화 객체(150)을 검출하는 방법과 실질적으로 유사한 방식으로 초기화 객체(150)을 검출할 수 있다.
그후, 부분(610)은 로봇(102)이 부분(602)에서 검출된 초기화 객체(150)에 대한 위치를 결정한 방식과 실질적으로 유사하게 로봇(102)이 부분(608)에서 검출된 초기화 객체(150)(예를 들어, 지점(792))에 대한 로봇(102)의 위치를 결정하는 것을 포함할 수 있다.
부분(612)는 로봇(102)이 자율적으로 내비게이션하는 기록된 경로를 선택하는 것을 포함할 수 있다. 일부 구현예에서, 로봇(102)에 의해 기록된 경로(예를 들어, 경로(116))의 선택은 사용자 입력에 적어도 부분적으로 기초할 수 있다. 예를 들어, 사용자(904)는 사용자 인터페이스(318) 상에(도 9a에 도시된) 사용자 인터페이스(900) 상의 입력(972)를 선택할 수 있으며, 여기에서 입력(972)은 사용자로 하여금 로봇(102)의 기록된 경로를 선택할 수 있게 한다. 입력(972)을 선택한 후에, 도 10에 도시된 인터페이스(1000)이 나타날 수 있다. 도 10은 경로 선택을 위하여 사용될 수 있는 예시적인 인터페이스(1000)을 도시한다. 인터페이스(1000)은 선택 가능한 입력들(1002A-1002F)로서 디스플레이되는 복수의 선택을 위한 경로들을 제공할 수 있다. 사용자(904)는 사용자 인터페이스(318)이 터치스크린, 및/또는 어떠한 다른 입력 인테페이스(318)의 입력 메커니즘을 포함하는 경우, 터치를 통하여 선택 가능한 입력들(1002A-1002F) 들 중 하나를 선택할 수 있다. 예를 들어, 일부 구현예에서, 입력(1002F)는 경로(116) 및/또는 다른 부분(606)에서 학습된 경로에 해당할 수 있다. 사용자(904)가 입력(1002F)를 선택할 때, 로봇(102)은 그후 사용자(904)의 선택에 적어도 부분적으로 기초하여 해당 학습된 경로를 선택하거나 호출할 수 있다. 일부 경우에, 로봇(102)이 초기화 객체(150)을 검출할 때, 초기화 객체(150)와 연관된 오직 그 경로(들)의 선택을 제공하기 위하여 메모리에 있는 경로를 필터링할 수 있다. 이러한 능력은 바람직하게 혼란을 피하고 사용자가 초기화 객체(150)에 대한 특별한 위치로부터 내비게이션할 수 없는 경로를 선택하는 것을 방지한다.
일부 구현예에서, 로봇(102)은 부분(608)에서 검출된 초기화 객체에 기초하여 기록된 경로를 자동적으로 선택할 수 있다.
도 11은 복수의 예시적인 초기화 객체(150, 1150A-1150C)를 갖는 예시적인 환경(100)을 도시한다. 예를 들어, 초기화 객체(150)은 단지 데모된 경로(116)과 연관될 수 있다. 유사하게, 로봇(102)은 환경(100)에 하나 이상의 위치에 위치하는 다른 초기화 객체들(1150A-C)를 가질 수 있으며, 각각은 다른 데모된 경로와 연관되며, 각각의 초기화 객체들(150, 1150A-1150C)는 서로 독특한 특징에 의하여 구분될 수 있다. 유리하게는, 다수의 초기화 객체(150, 1150A-1150C)를 갖는 것은 사용자로 하여금 데모할 수 있도록 하고, 로봇(102)으로 하여금 다양한 경로를 통하여 자율적으로 이동할 수 있게 한다. 더욱이, 로봇(102)으로 하여금 객체초기화 객체에 기초하여 기록된 경로를 선택할 수 있게 하는 것에 의하여, 로봇(102)은 최소의 추가적인 사용자 입력을 갖는 자율적인 내비게이션을 더 빨리 시작할 수 있다. 추가적인 초기화 객체들은 다수의 플로어 및/또는 환경이 있을 때 유리하다. 각 플로어 및/또는 환경은 다른 것들로부터 독특한 특징에 의해 구별될 수 있는 그 자신의 초기화 객체를 가질 수 있다. 일부 경우에, 복수의 초기화 객체들 각각은 그 자신이 다수의 사용자 선택 가능 경로와 연관될 수 있다.
일단 경로가 사용자 선택을 통하여 또는 자동적으로 선택되면, 로봇(102)은 그후 그 경로를 자율적으로 내비게이션할 수 있다. 예를 들면, 로봇(102)은 자율적으로 경로(106) 및/또는 경로(126)을 내비게이션할 수 있다. 일부 구현예에서, 사용자 인터페이스를 사용하는 대신에, 사용자는 사용자 제어 하의 행동들과 같은, 소정의 행동들 및/또는 로봇의 소정의 순서의 행동들에 적어도 부분적으로 기초하여 경로들을 선택할 수 있다. 예를 들어, 일부 구현예에서, 사용자(904)는 경로와 연관된 일련의 행동들(예를 들어, 좌회전, 우회전, 후진, 전진 등)을 입력할 수 있다. 로봇(102)이 이러한 일련의 행동들을 수신하면, 특별한 경로를 호출하고 그 경로를 내비게이션할 수 있다. 다른 예로서, 사용자(904)는 8자, 정사각형, 및/또는 하나 이상의 문자 또는 숫자(예를 들어, "B", "R", "7" 및/또는 어떠한 다른 문자 또는 숫자)의 형상과 같이, 특별한 방식으로, 로봇(102)를 제어할 수 있다. 이 제어는 적어도 부분적으로 경로와 연관될 수 있다. 로봇(102)은 로봇(102)이 이러한 하나 이상의 문자 또는 숫자의 형상으로 제어됨을 검출할 때, 그 제어된 형상과 연관된 경로를 호출하고 그 경로를 내비게이션한다.
도 12은 예시적인 로봇(102)을 동작시키기 위한 예시적인 방법(1200)을 도시한다. 부분(1202)은 로봇이 제1 위치에 있는 동안에 초기화 객체의 제1 이미지를 획득하는 것을 포함한다. 부분(1204)은 로봇이 제1 위치에 있는 동안 제1 이미지에 적어도 부분적으로 기초하여 초기화 객체에 대한 로봇의 제1 출발 위치를 결정하는 것을 포함한다. 부분(1206)은 사용자 데모에 의하여 경로를 학습하고, 제1 위치로부터 출발하는 것을 포함하고, 여기서 학습된 경로는 로봇의 행동들을 초기화 객체에 대한 로봇의 위치와 연관시키고, 위치들은 적어도 부분적으로 제1 출발 위치로부터 결정된다. 부분(1208)은 로봇이 제2 위치에 있는 동안 초기화 객체의 제2 이미지를 획득하는 것을 포함한다. 부분(1210)은 로봇이 제2 위치에 있는 동안 제2 이미지에 적어도 부분적으로 기초하여 초기화 객체에 대한 로봇의 제2 출발 위치를 결정하는 것을 포함한다. 부분(1212)은 초기화 객체에 대한 로봇의 위치에 적어도 부분적으로 기초하여 로봇이 하나 이상의 연관된 행동들을 수행하도록 명령하면서 학습된 경로의 적어도 일부분을 통하여 제2 위치로부터 출발하는 로봇을 자율적으로 내비게이션하는 것을 포함하며, 이 위치들은 제2 출발 위치로부터 적어도 부분적으로 결정된다.
본원에서 사용될 때, 컴퓨터 및/또는 컴퓨팅 장치는, 개인용 컴퓨터("PC") 및 마이크로컴퓨터, 데스크탑, 랩톱 또는 아니면, 메인 프레임 컴퓨터, 워크 스테이션, 서버, 개인 휴대정보 단말기("PDA"), 휴대용 컴퓨터, 내장 컴퓨터, 프로그래머블 로직 장치, 개인 휴대 통신기, 태블릿 컴퓨터, 모바일 기기, 휴대형 내비게이션 장치, J2ME 장착 장치, 휴대 전화기, 스마트 폰, 개인 통합 통신 장치 또는 오락 장치, 및/또는 일련의 명령들을 실행하고 유입하는 데이터 신호를 프로세싱하는 임의의 다른 장치를 포함할 수 있지만, 이에 한정되지 않는다.
본원에서 사용될 때, 컴퓨터 프로그램 및/또는 소프트웨어는 기능을 수행하는 임의의 시퀀스 또는 사람 또는 기계 인식가능한 단계를 포함할 수 있다. 이러한 컴퓨터 프로그램 및/또는 소프트웨어는 예를 들어 C/C++, C#, Fortran, COBOL, MATLABTM, PASCAL, Python, 어셈블리 언어, 마크업 언어(예: HTML, SGML, XML, VoXML), CORBA(Common Object Request Broker Architecture), JAVATM(J2ME, Java Beans 등), BREW(Binary Runtime Environment) 등과 같은 객체 지향 환경을 포함하여, 어떠한 프로그래밍 언어 또는 환경으로 렌더링될 수 있다.
본원에서 사용될 때, 접속, 링크, 전송 채널, 지연 라인 및/또는 무선은 엔티티들 간의 정보 교환을 가능하게 하는 임의의 2 이상의 엔티티(물리적 또는 논리적/가상) 간의 인과적 링크를 포함할 수 있다.
본 개시의 특정 양태가 방법의 특정 단계의 단계에 의해 설명되지만, 이들 설명은 단지 본원의 광범위한 방법을 예시하고 특정 용도에 의해 요구되는 바에 따라 변경될 수 있음을 알 수 있을 것이다. 특정 단계에서는 특정 상황에서 불필요하거나 선택적으로 표시될 수 있다. 또한, 특정 단계들 또는 기능성이 개시된 구현예들에 추가될 수 있거나, 2 이상의 단계들의 수행 순서가 치환될 수 있다. 이러한 모든 변형은 본원에 개시되고 청구된 개시 내에 포함되는 것으로 간주된다.
상기 상세한 설명은 다양한 구현예에 적용된 본 개시의 신규한 특징을 도시하고, 설명하고, 지적하였지만, 도시된 디바이스 또는 프로세스의 형태 및 세부 사항에서 다양한 생략, 대체 및 변경이 이루어질 수 있다는 것을 이해할 것이다. 전술한 설명은 본 개시를 실시하기 위해 현재 고려되는 최선의 모드에 관한 것이다. 이러한 설명은 결코 제한하려는 것이 아니라 오히려 본 개시의 일반적인 원리를 설명하는 것으로 간주되어야 한다. 본 개시의 범위는 청구 범위를 참조하여 결정되어야 한다.
본 개시가 도면 및 전술한 설명에서 상세히 도시되고 설명되었지만, 그러한 예시 및 설명은 예시 또는 예시적인 것으로 그리고 비제한적인 것으로 간주되어야 한다. 본 개시는 개시된 실시예들에 한정되지 않는다. 개시된 실시예들에 대한 변형은 청구된 개시내용을 실시할 때 당업자에 의해 도면, 개시 및 첨부된 청구 범위의 연구로부터 이해되고 영향받을 수 있다.
본 개시의 특정 특징들 또는 양태들을 기술할 때 특정 용어의 사용은 본 개시에서 이 용어들이 연관되는 본 개시내용의 특징들 또는 양태들에 대한 임의의 특정 특성을 포함하게 제한되도록 재정의됨을 의미하는 것으로 이해되어서는 안된다는 점에 유의한다. 본원에서 사용된 용어 및 어구, 및 그 변형예, 특히 첨부된 청구 범위에서, 달리 명시적으로 언급되지 않는 한, 제한과 반대로 개방형으로 해석되어야 한다. 전술한 예로서, "포함하는(including)"이라는 용어는 "제한없이 포함하는", "포함하지만 이에 한정되지는 않는" 등을 의미하는 것으로 해석되어야 한다; 본 명세서에 사용되는 용어 "포함하는(comprising)"은 "포함하다", "함유하다" 또는 "특징으로 한다"와 동의어이며 포괄적이거나 제한이 없으며 인용되지 않은 추가 요소 또는 방법 단계를 배제하지 않는다; "갖는(having)"이라는 용어는 "적어도 갖는"으로 해석되어야 하며, "과 같은(such as)"이라는 용어는 "과 같이, 제한 없이"로 해석되어야 하며, "포함한다(includes)"라는 용어는 "포함하지만 이에 한정되지 않는다"로서 해석되어야 하며; "예"라는 용어는 그 항목의 포괄적인 또는 제한적인 목록이 아닌, 설명중인 항목의 예시적인 예를 제공하기 위해 사용되며, "예로서, 그러나 제한 없이"로서 해석되어야 하며; "알려진(known)", "정상적인(normal)" "표준(standard)" 및 유사한 의미의 용어는 설명된 항목을 주어진 기간에 또는 주어진 시간에 사용가능한 항목에 제한하는 것으로 해석되어서는 안되며, 대신, 현재 또는 언제든지 미래에 알려지거나 알려질 수 있는, 알려진, 정상 또는 표준 기술을 포함하는 것으로 이해하여야 하며; "바람직하게(preferably)", "바람직한(preferred)", "바람직하다(desired)" 또는 "바람직한(desirable)"과 같은 용어의 사용 및 유사한 의미의 용어는 어떤 특징이 본질적으로 중요하거나 필수적이거나 구조 또는 기능에 중요함을 암시하는 것으로 이해되기보다는, 특정 실시예에서 이용될 수도 있거나 이용되지 않을 수도 있는 대안적인 또는 부가적인 특징들을 강조하기 위한 것으로 이해되어야 한다. 마찬가지로 접속사 "및(and)"과 연결된 항목 그룹은 해당 항목의 각각 하나 하나가 그룹에 존재해야 한다는 것을 의미하는 것으로 이해하지 않아야 하며, 달리 명시하지 않는 한 "및/또는(and/or)"으로 이해하여야 한다. 유사하게, 접속사 "또는(or)"과 연결된 항목 그룹은 해당 그룹 간에 상호 배타성을 요구하는 것으로 이해해서는 안되며 달리 명시하지 않는 한, "및/또는"으로 이해하여야 한다. 용어 "약" 또는 "대략"등은 동의어이며 용어에 의해 수정된 값이 그와 연관된 이해 범위를 나타내기 위해 사용되며, 여기서 범위는 ± 20 %, ± 15 %, ± 10 %, ± 5 % 또는 ± 1 % 일 수 있다. "실질적으로"라는 용어는 결과(예 : 측정 값)가 목표 값에 근접함을 나타내기 위해 사용되며, 여기서 닫기(close)는 결과 값의 80 % 이내, 값의 90 % 이내, 값의 95 % 이내 또는 값의 99 % 이내임을 의미한다. 또한, 본원에서 사용될 때, "정의된" 또는 "결정된"은 "미리 정의된" 또는 "미리 결정된" 및/또는 다른 방법으로 결정된 값, 조건, 임계치, 측정 등을 포함할 수 있다.

Claims (26)

  1. 자율적으로 내비게이션하는 로봇에 있어서,
    상기 로봇이 제1 위치에 있는 동안에 초기화 객체객체의 제1 이미지를, 그리고 상기 로봇이 제2 위치에 있는 동안에 상기 초기화 객체의 제2 이미지를 촬영하도록 구성된 카메라;
    상기 초기화 객체에 대한 상기 로봇의 위치들을 결정하도록 구성된 주행거리 측정 유닛; 및
    제어기를 포함하며,
    상기 제어기는,
    상기 로봇이 상기 제1 위치에 있는 동안에 상기 제1 이미지로부터 적어도 부분적으로 결정된 상기 초기화 객체에 대해 상기 주행거리 측정 유닛을 초기화하도록;
    상기 제1 위치로부터 시작하여 사용자 데모에 의하여 경로를 학습하는 것으로서, 학습된 상기 경로는 상기 로봇의 행동들을 상기 주행거리 측정 유닛에 의하여 결정된 상기 객체초기화 객체에 대한 상기 로봇의 위치들과 연관시키는, 상기 경로를 학습하도록;
    상기 로봇이 상기 제2 위치에 있는 동안에 상기 제2 이미지로부터 적어도 부분적으로 결정된 상기 초기화 객체에 대해 상기 주행거리 측정 유닛을 초기화하도록; 그리고
    상기 주행거리 측정 유닛에 의하여 결정된 상기 초기화 객체에 대한 상기 로봇의 위치들에 적어도 부분적으로 기초하여 하나 이상의 연관된 행동들을 수행하도록 상기 로봇에 명령하면서 학습된 상기 경로의 적어도 일부를 통하여 상기 제2 위치로부터 시작하여 상기 로봇을 자율적으로 내비게이션시키도록 구성되는, 자율적으로 내비게이션하는 로봇.
  2. 청구항 1에 있어서,
    상기 주행거리 측정 유닛은 가속계, 관성 측정 유닛, 라이다, 주행거리 측정기, 자이로스코프, 영상 주행기록계, 및 속도계 중의 적어도 하나를 포함하는, 자율적으로 내비게이션하는 로봇.
  3. 청구항 1에 있어서,
    상기 초기화 객체는 이진 이미지인, 자율적으로 내비게이션하는 로봇.
  4. 청구항 1에 있어서,
    상기 로봇이 상기 제2 위치에 있는 동안에 학습된 상기 경로를 통하여 상기 로봇의 내비게이션을 자율적으로 개시하도록 사용자에게 프롬프트하도록 구성된 사용자 인터페이스를 더 포함하는, 자율적으로 내비게이션하는 로봇.
  5. 청구항 1에 있어서,
    상기 하나 이상의 연관된 행동들 중의 적어도 하나는 상기 로봇의 터닝 행동을 포함하는, 자율적으로 내비게이션하는 로봇.
  6. 청구항 1에 있어서,
    상기 하나 이상의 연관된 행동들 중의 적어도 하나는 상기 로봇의 브러시를 켜도록 구성된 스위치의 작동을 포함하는, 자율적으로 내비게이션하는 로봇.
  7. 청구항 1에 있어서,
    상기 로봇은 플로어 청소기인, 자율적으로 내비게이션하는 로봇.
  8. 청구항 1에 있어서,
    상기 제1 위치와 상기 제2 위치는 실질적으로 유사한, 자율적으로 내비게이션하는 로봇.
  9. 청구항 1에 있어서,
    상기 하나 이상의 연관된 행동들은 상기 로봇의 궤적들과 더 연관되는, 자율적으로 내비게이션하는 로봇.
  10. 로봇을 동작시키는 방법에 있어서,
    상기 로봇이 제1 위치에 있는 동안에 초기화 객체의 제1 이미지를 획득하는 단계;
    상기 로봇이 상기 제1 위치에 있는 동안 상기 제1 이미지에 적어도 부분적으로 기초하여 상기 초기화 객체에 대한 상기 로봇의 제1 출발 위치를 결정하는 단계;
    상기 제1 위치로부터 출발하여, 사용자 데모에 의하여 경로를 학습하는 단계로서, 학습된 상기 경로는 상기 로봇의 행동들을 상기 초기화 객체에 대한 상기 로봇의 위치들과 연관시키고, 상기 위치들은 상기 제1 출발 위치로부터 적어도 부분적으로 결정되는, 상기 경로를 학습하는 단계;
    상기 로봇이 제2 위치에 있는 동안에 상기 초기화 객체의 제2 이미지를 획득하는 단계;
    상기 로봇이 상기 제2 위치에 있는 동안 상기 제2 이미지에 적어도 부분적으로 기초하여 상기 초기화 객체에 대한 상기 로봇의 제2 출발 위치를 결정하는 단계; 및
    상기 초기화 객체에 대한 상기 로봇의 위치들에 적어도 부분적으로 기초하여 상기 하나 이상의 연관된 행동들을 수행하도록 상기 로봇에 명령하면서 학습된 상기 경로의 적어도 일부를 통하여 상기 제2 위치로부터 출발하여 상기 로봇을 자율적으로 내비게이션시키는 단계로서, 상기 위치들은 상기 제2 출발 위치로부터 적어도 부분적으로 결정되는, 상기 내비게이션시키는 단계를 포함하는, 로봇을 동작시키는 방법.
  11. 청구항 10에 있어서,
    상기 제1 이미지를 획득하는 단계와 상기 제2 이미지를 획득하는 단계는 각각 센서로 데이터를 발생시키고 상기 데이터를 데이터 구조에 저장하는 단계를 포함하는, 로봇을 동작시키는 방법.
  12. 청구항 10에 있어서,
    사용자 입력과 상기 초기화 객체의 특성 중의 적어도 하나에 적어도 부분적으로 기초하여 자율적인 내비게이션을 시작시키는 단계를 더 포함하는, 로봇을 동작시키는 방법.
  13. 청구항 10에 있어서,
    상기 하나 이상의 연관된 행동들 중의 적어도 하나는 상기 로봇의 터닝 행동을 포함하는, 로봇을 동작시키는 방법.
  14. 청구항 10에 있어서,
    상기 하나 이상의 연관된 행동들 중의 적어도 하나는 브러시의 스위칭을 포함하는, 로봇을 동작시키는 방법.
  15. 청구항 10에 있어서,
    상기 로봇을 자율적으로 내비게이션시키는 단계는 상기 로봇이 상기 초기화 객체를 검출할 때까지 상기 로봇을 자율적으로 내비게이션시키는 단계를 더 포함하는, 로봇을 동작시키는 방법.
  16. 청구항 10에 있어서,
    메모리에 저장된 복수의 경로로부터 학습된 상기 경로를 선택하는 단계를 더 포함하는, 로봇을 동작시키는 방법.
  17. 청구항 10에 있어서,
    상기 하나 이상의 연관된 행동들 중의 적어도 하나는 상기 로봇의 행동들을 상기 로봇에 대한 궤적들과 연관시키는 단계를 포함하는, 로봇을 동작시키는 방법.
  18. 복수의 명령들이 저장된 비일시성 컴퓨터 판독 가능 저장 매체로서,
    상기 명령들은, 로봇을 동작시키도록 프로세싱 장치에 의해 실행 가능하고,
    상기 명령들은, 상기 프로세싱 장치에 의해 실행될 때, 상기 프로세싱 장치로 하여금:
    이미지에 적어도 부분적으로 기초하여 초기화 객체에 대한 상기 로봇의 출발 위치를 결정하게 하고; 그리고
    사용자 데모에 의하여 경로를 학습하게 하되,
    학습된 상기 경로는 상기 로봇의 행동들을 상기 초기화 객체에 대한 상기 로봇의 위치들과 연관시키고, 상기 위치들은 상기 출발 위치로부터 적어도 부분적으로 결정되는, 비일시성 컴퓨터 판독 가능 저장 매체.
  19. 청구항 18에 있어서,
    상기 명령들은: 상기 프로세싱 장치에 의하여 실행될 때,
    상기 로봇의 결정된 위치에서의 상기 로봇의 행동을 결정하고; 그리고
    상기 행동을 실행하도록 더 구성되며,
    상기 행동은 상기 로봇의 터닝 행동을 포함하는, 비일시성 컴퓨터 판독 가능 매체.
  20. 청구항 18에 있어서,
    상기 명령들은: 상기 프로세싱 장치에 의하여 실행될 때,
    상기 로봇의 결정된 위치에서의 상기 로봇의 행동을 결정하고; 그리고
    상기 행동을 실행하도록 더 구성되며,
    상기 행동은 브러시를 켜도록 구성된 스위치의 작동을 포함하는, 비일시성 컴퓨터 판독 가능 매체.
  21. 청구항 18에 있어서,
    상기 명령들은, 상기 프로세싱 장치에 의하여 실행될 때, 상기 프로세싱 장치로 하여금, 학습된 상기 경로를 자율적으로 내비게이션하도록 상기 로봇에 명령하게 하도록 더 구성된, 비일시성 컴퓨터 판독 가능 매체.
  22. 청구항 18에 있어서,
    상기 명령들은, 상기 프로세싱 장치에 의하여 실행될 때, 상기 프로세싱 장치로 하여금, 소정의 순서의 행동들을 인식하게 하고 상기 소정의 순서의 행동들에 적어도 부분적으로 기초하여 학습된 상기 경로를 자율적으로 내비게이션하게 하도록 더 구성된, 비일시성 컴퓨터 판독 가능 매체.
  23. 제1 초기화 객체의 검출에 적어도 부분적으로 기초하여 제1 학습된 경로를 자율적으로 내비게이션하고, 제2 초기화 객체의 검출에 적어도 부분적으로 기초하여 제2 학습된 경로를 자율적으로 내비게이션하도록 구성된, 로봇 스크러버.
  24. 청구항 23에 있어서,
    상기 제1 학습된 경로와 상기 제2 학습된 경로는 사용자에 의하여 상기 로봇 스크러버에 데모되는, 로봇 스크러버.
  25. 청구항 23에 있어서,
    상기 제1 초기화 객체의 검출과 상기 제2 초기화 객체의 검출은 초기화 위치로부터 검출되는, 로봇 스크러버.
  26. 청구항 23에 있어서,
    상기 제1 초기화 객체의 검출은 제1 초기화 위치로부터 이루어지고, 상기 제2 초기화 객체의 검출은 제2 초기화 위치로부터 이루어지며, 상기 로봇 스크러버는 사용자 제어 하에 상기 제1 초기화 위치와 상기 제2 초기화 위치로 이동되는, 로봇 스크러버.
KR1020187035946A 2016-05-11 2017-05-11 훈련된 경로를 자율주행하도록 로봇을 초기화하기 위한 시스템 및 방법 KR102444658B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/152,436 2016-05-11
US15/152,436 US10241514B2 (en) 2016-05-11 2016-05-11 Systems and methods for initializing a robot to autonomously travel a trained route
PCT/US2017/032285 WO2017197197A1 (en) 2016-05-11 2017-05-11 Systems and methods for initializing a robot to autonomously travel a trained route

Publications (2)

Publication Number Publication Date
KR20190030197A true KR20190030197A (ko) 2019-03-21
KR102444658B1 KR102444658B1 (ko) 2022-09-20

Family

ID=60266841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187035946A KR102444658B1 (ko) 2016-05-11 2017-05-11 훈련된 경로를 자율주행하도록 로봇을 초기화하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (3) US10241514B2 (ko)
EP (1) EP3455686A4 (ko)
JP (1) JP6942177B2 (ko)
KR (1) KR102444658B1 (ko)
CN (1) CN109416538A (ko)
CA (1) CA3023557A1 (ko)
WO (1) WO2017197197A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200137943A (ko) * 2019-05-30 2020-12-09 엘지전자 주식회사 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를구현하는 로봇
WO2021006364A1 (ko) * 2019-07-05 2021-01-14 엘지전자 주식회사 지능형 로봇 청소기의 주행 방법

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101697857B1 (ko) * 2015-04-08 2017-01-18 엘지전자 주식회사 이동 로봇 및 그의 위치인식방법
US10782686B2 (en) * 2016-01-28 2020-09-22 Savioke, Inc. Systems and methods for operating robots including the handling of delivery operations that cannot be completed
US10282849B2 (en) 2016-06-17 2019-05-07 Brain Corporation Systems and methods for predictive/reconstructive visual object tracker
KR102526083B1 (ko) * 2016-08-30 2023-04-27 엘지전자 주식회사 이동 단말기 및 그의 동작 방법
US10274325B2 (en) 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10001780B2 (en) * 2016-11-02 2018-06-19 Brain Corporation Systems and methods for dynamic route planning in autonomous navigation
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
US10852730B2 (en) 2017-02-08 2020-12-01 Brain Corporation Systems and methods for robotic mobile platforms
JP6638699B2 (ja) * 2017-05-30 2020-01-29 トヨタ自動車株式会社 誤操作判定装置
US10926725B2 (en) 2018-10-10 2021-02-23 Stocked Robotics, Inc. Non-destructive kit mounting system for driverless industrial vehicles
JP2019102047A (ja) * 2017-11-28 2019-06-24 Thk株式会社 画像処理装置、移動ロボットの制御システム、移動ロボットの制御方法
US11648485B2 (en) * 2017-12-19 2023-05-16 Learning Resources, Inc. Toy robot
US10913154B2 (en) * 2018-01-02 2021-02-09 General Electric Company Systems and method for robotic learning of industrial tasks based on human demonstration
KR102015030B1 (ko) * 2018-01-09 2019-08-27 엘지전자 주식회사 이동 로봇 및 이동 로봇의 제어방법
MX2020007114A (es) * 2018-01-10 2020-12-09 Simbe Robotics Inc Método para detectar y responder a derrames y peligros.
US10635844B1 (en) * 2018-02-27 2020-04-28 The Mathworks, Inc. Methods and systems for simulating vision sensor detection at medium fidelity
CN108381509B (zh) * 2018-03-19 2021-03-02 京东方科技集团股份有限公司 智能抓取装置及其控制方法、智能抓取控制***
JP7173746B2 (ja) * 2018-03-30 2022-11-16 日立造船株式会社 飛行体、情報記録方法、飛行体の制御方法、および制御プログラム
CN113961005A (zh) 2018-10-22 2022-01-21 科沃斯机器人股份有限公司 行进控制的方法、表面清洁机器人及存储介质
CN111182174B (zh) * 2018-11-09 2020-12-04 珠海格力电器股份有限公司 一种扫地机器人补光的方法及装置
CN109643127B (zh) * 2018-11-19 2022-05-03 深圳阿科伯特机器人有限公司 构建地图、定位、导航、控制方法及***、移动机器人
WO2020118621A1 (zh) * 2018-12-13 2020-06-18 西安电子科技大学 一种列车注水口检测定位方法
CN109528103B (zh) * 2019-01-22 2023-09-15 苏州锐科兰电器有限公司 拖地机
US11130235B2 (en) * 2019-02-15 2021-09-28 Boston Dynamics, Inc. Work mode and travel mode for mobile robots
JPWO2020189462A1 (ja) * 2019-03-15 2021-11-18 ヤマハ発動機株式会社 既定ルート走行車両
KR102201002B1 (ko) * 2019-03-26 2021-01-12 엘지전자 주식회사 로봇 청소기
CN110365908B (zh) * 2019-08-01 2020-06-19 北京鲲鹏神通科技有限公司 一种视觉控制装置
CN111265139A (zh) * 2020-03-19 2020-06-12 广东蓝水花智能电子有限公司 一种智能马桶座圈控制方法
US11532205B2 (en) 2020-03-27 2022-12-20 Aristocrat Technologies, Inc. Gaming service automation system with graphical user interface
US20210341300A1 (en) * 2020-05-04 2021-11-04 Here Global B.V. Method, apparatus, and system for providing a personally relevant navigation route comparison
CN111681451B (zh) * 2020-06-12 2022-10-14 苏州博众智能机器人有限公司 一种停车数据处理方法、***和停车场
US20210397198A1 (en) * 2020-06-18 2021-12-23 Ford Global Technologies, Llc Enhanced vehicle operation
CN111539399B (zh) * 2020-07-13 2021-06-29 追创科技(苏州)有限公司 自移动设备的控制方法、装置、存储介质及自移动设备
US11897134B2 (en) 2020-08-12 2024-02-13 General Electric Company Configuring a simulator for robotic machine learning
US11654566B2 (en) 2020-08-12 2023-05-23 General Electric Company Robotic activity decomposition
EP3968051A1 (en) * 2020-09-15 2022-03-16 Infineon Technologies AG Guiding system for a robot, base station including such a guiding system, and method for guiding a robot
EP4251380A4 (en) * 2020-11-30 2024-07-17 Clutterbot Inc ROBOTIC CLUTTER SYSTEM
DE112022001174T5 (de) * 2021-04-27 2024-01-18 Nvidia Corporation Strategieebenen für die maschinensteuerung
DE102021204149A1 (de) 2021-04-27 2022-10-27 BSH Hausgeräte GmbH Objekterkennung für ein Hausgerät
WO2023144523A1 (en) * 2022-01-25 2023-08-03 Gama Healthcare Ltd Methods for controlling the movement of a robot for disinfection
US20230284858A1 (en) * 2022-03-14 2023-09-14 Anram Holdings Retrofit kits for enabling autonomous operation in autoscrubbers
WO2024016101A1 (en) 2022-07-18 2024-01-25 Intelligent Cleaning Equipment Holdings Co., Ltd. Systems and methods for robotic navigation, teaching and mapping

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341540A (en) * 1989-06-07 1994-08-30 Onet, S.A. Process and autonomous apparatus for the automatic cleaning of ground areas through the performance of programmed tasks
KR20070066192A (ko) * 2005-12-21 2007-06-27 재단법인 포항산업과학연구원 실내 이동 로봇의 위치 인식 방법 및 장치
KR20130137995A (ko) * 2012-06-08 2013-12-18 엘지전자 주식회사 로봇 청소기와, 이의 제어 방법, 및 이를 포함한 로봇 청소 시스템

Family Cites Families (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278142A (en) * 1978-05-08 1981-07-14 Agency Of Industrial Science And Technology Automatic guidance system for vehicles
US5280179A (en) 1979-04-30 1994-01-18 Sensor Adaptive Machines Incorporated Method and apparatus utilizing an orientation code for automatically guiding a robot
JPS59121405A (ja) * 1982-12-14 1984-07-13 Honda Motor Co Ltd 移動ロボツトの制御装置
US4638445A (en) 1984-06-08 1987-01-20 Mattaboni Paul J Autonomous mobile robot
US5121497A (en) 1986-03-10 1992-06-09 International Business Machines Corporation Automatic generation of executable computer code which commands another program to perform a task and operator modification of the generated executable computer code
US4763276A (en) 1986-03-21 1988-08-09 Actel Partnership Methods for refining original robot command signals
US4852018A (en) 1987-01-07 1989-07-25 Trustees Of Boston University Massively parellel real-time network architectures for robots capable of self-calibrating their operating parameters through associative learning
US4790402A (en) * 1987-09-28 1988-12-13 Tennant Company Automated guided vehicle
US5155684A (en) * 1988-10-25 1992-10-13 Tennant Company Guiding an unmanned vehicle by reference to overhead features
DE69030318T2 (de) 1989-10-17 1997-10-16 Perkin Elmer Corp Robotische schnittstelle
US5648901A (en) 1990-02-05 1997-07-15 Caterpillar Inc. System and method for generating paths in an autonomous vehicle
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US5673367A (en) 1992-10-01 1997-09-30 Buckley; Theresa M. Method for neural network control of motion using real-time environmental feedback
CA2081519C (en) 1992-10-27 2000-09-05 The University Of Toronto Parametric control device
KR0161031B1 (ko) 1993-09-09 1998-12-15 김광호 로보트의 위치오차보정장치
US5602761A (en) 1993-12-30 1997-02-11 Caterpillar Inc. Machine performance monitoring and fault classification using an exponentially weighted moving average scheme
EP1418026A1 (en) 1995-09-11 2004-05-12 Kabushiki Kaisha Yaskawa Denki Control apparatus for robot
US6169981B1 (en) 1996-06-04 2001-01-02 Paul J. Werbos 3-brain architecture for an intelligent decision and control system
US6366293B1 (en) 1998-09-29 2002-04-02 Rockwell Software Inc. Method and apparatus for manipulating and displaying graphical objects in a computer display device
US6243622B1 (en) 1998-10-16 2001-06-05 Xerox Corporation Touchable user interface using self movable robotic modules
EP1037134A2 (en) 1999-03-16 2000-09-20 Matsushita Electric Industrial Co., Ltd. Virtual space control data receiving apparatus and method
US6124694A (en) 1999-03-18 2000-09-26 Bancroft; Allen J. Wide area navigation for a robot scrubber
EP1092458A1 (en) 1999-04-30 2001-04-18 Sony Corporation Electronic pet system, network system, robot, and storage medium
JP3537362B2 (ja) 1999-10-12 2004-06-14 ファナック株式会社 ロボットシステム用グラフィック表示装置
AU2001250802A1 (en) 2000-03-07 2001-09-17 Sarnoff Corporation Camera pose estimation
KR20020008848A (ko) 2000-03-31 2002-01-31 이데이 노부유끼 로봇 장치, 로봇 장치의 행동 제어 방법, 외력 검출 장치및 외력 검출 방법
US8543519B2 (en) 2000-08-07 2013-09-24 Health Discovery Corporation System and method for remote melanoma screening
JP4765155B2 (ja) 2000-09-28 2011-09-07 ソニー株式会社 オーサリング・システム及びオーサリング方法、並びに記憶媒体
US6678413B1 (en) 2000-11-24 2004-01-13 Yiqing Liang System and method for object identification and behavior characterization using video analysis
US6442451B1 (en) 2000-12-28 2002-08-27 Robotic Workspace Technologies, Inc. Versatile robot control system
JP2002239960A (ja) 2001-02-21 2002-08-28 Sony Corp ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
US20020175894A1 (en) 2001-03-06 2002-11-28 Vince Grillo Hand-supported mouse for computer input
US6917925B2 (en) 2001-03-30 2005-07-12 Intelligent Inference Systems Corporation Convergent actor critic-based fuzzy reinforcement learning apparatus and method
JP2002301674A (ja) 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
DE60118317T2 (de) 2001-04-30 2006-12-14 Sony France S.A. Autonom Roboter
US6584375B2 (en) 2001-05-04 2003-06-24 Intellibot, Llc System for a retail environment
US6636781B1 (en) 2001-05-22 2003-10-21 University Of Southern California Distributed control and coordination of autonomous agents in a dynamic, reconfigurable system
JP3760186B2 (ja) 2001-06-07 2006-03-29 独立行政法人科学技術振興機構 二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法
JP4188607B2 (ja) 2001-06-27 2008-11-26 本田技研工業株式会社 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法
JP4364634B2 (ja) 2001-07-13 2009-11-18 ブルックス オートメーション インコーポレイテッド 二次元3自由度ロボットアームの軌道プラニング及び移動制御戦略
US6710346B2 (en) 2001-08-02 2004-03-23 International Business Machines Corporation Active infrared presence sensor
WO2003021365A2 (en) 2001-08-31 2003-03-13 The Board Of Regents Of The University And Community College System, On Behalf Of The University Of Nevada, Reno Coordinated joint motion control system
US6812846B2 (en) 2001-09-28 2004-11-02 Koninklijke Philips Electronics N.V. Spill detector based on machine-imaging
US7243334B1 (en) 2002-01-16 2007-07-10 Prelude Systems, Inc. System and method for generating user interface code
JP3790816B2 (ja) 2002-02-12 2006-06-28 国立大学法人 東京大学 人型リンク系の運動生成方法
US8010180B2 (en) 2002-03-06 2011-08-30 Mako Surgical Corp. Haptic guidance system and method
US20040134336A1 (en) 2002-04-22 2004-07-15 Neal Solomon System, methods and apparatus for aggregating groups of mobile robotic vehicles
US7505604B2 (en) 2002-05-20 2009-03-17 Simmonds Precision Prodcuts, Inc. Method for detection and recognition of fog presence within an aircraft compartment using video images
US7834754B2 (en) 2002-07-19 2010-11-16 Ut-Battelle, Llc Method and system for monitoring environmental conditions
WO2004018158A2 (en) 2002-08-21 2004-03-04 Neal Solomon Organizing groups of self-configurable mobile robotic agents
JP4079792B2 (ja) * 2003-02-06 2008-04-23 松下電器産業株式会社 ロボットの教示方法と教示機能付きロボット
AU2003900861A0 (en) 2003-02-26 2003-03-13 Silverbrook Research Pty Ltd Methods,systems and apparatus (NPS042)
JP3950805B2 (ja) 2003-02-27 2007-08-01 ファナック株式会社 教示位置修正装置
US7313279B2 (en) 2003-07-08 2007-12-25 Computer Associates Think, Inc. Hierarchical determination of feature relevancy
SE0301531L (sv) 2003-05-22 2004-11-23 Abb Ab A Control method for a robot
US7212651B2 (en) 2003-06-17 2007-05-01 Mitsubishi Electric Research Laboratories, Inc. Detecting pedestrians using patterns of motion and appearance in videos
US7769487B2 (en) 2003-07-24 2010-08-03 Northeastern University Process and architecture of robotic system to mimic animal behavior in the natural environment
WO2005028166A1 (ja) 2003-09-22 2005-03-31 Matsushita Electric Industrial Co., Ltd. 弾性体アクチュエータの制御装置及び制御方法
US7342589B2 (en) 2003-09-25 2008-03-11 Rockwell Automation Technologies, Inc. System and method for managing graphical data
JP4592276B2 (ja) 2003-10-24 2010-12-01 ソニー株式会社 ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム
EP1724653B1 (en) 2004-02-25 2014-05-07 The Ritsumeikan Trust Control system of floating mobile body
JP4661074B2 (ja) 2004-04-07 2011-03-30 ソニー株式会社 情報処理システム、情報処理方法、並びにロボット装置
EP1622072B1 (en) 2004-07-27 2010-07-07 Sony France S.A. An automated action-selection system and method and application thereof for training prediction machines and for driving the development of self-developing devices
SE0402672D0 (sv) 2004-11-02 2004-11-02 Viktor Kaznov Ball robot
US7211979B2 (en) 2005-04-13 2007-05-01 The Broad Of Trustees Of The Leland Stanford Junior University Torque-position transformer for task control of position controlled robots
US7765029B2 (en) 2005-09-13 2010-07-27 Neurosciences Research Foundation, Inc. Hybrid control device
JP4876511B2 (ja) 2005-09-29 2012-02-15 株式会社日立製作所 ロジック抽出支援装置
US7720572B2 (en) 2005-09-30 2010-05-18 Irobot Corporation Companion robot for personal interaction
US7668605B2 (en) 2005-10-26 2010-02-23 Rockwell Automation Technologies, Inc. Wireless industrial control user interface
ES2378138T3 (es) 2005-12-02 2012-04-09 Irobot Corporation Movilidad de robot de cubrimiento
US7741802B2 (en) 2005-12-20 2010-06-22 Intuitive Surgical Operations, Inc. Medical robotic system with programmably controlled constraints on error dynamics
US7953526B2 (en) * 2006-01-18 2011-05-31 I-Guide Robotics, Inc. Robotic vehicle controller
US8239083B2 (en) * 2006-01-18 2012-08-07 I-Guide Robotics, Inc. Robotic vehicle controller
US8224018B2 (en) 2006-01-23 2012-07-17 Digimarc Corporation Sensing data from physical objects
US7576639B2 (en) 2006-03-14 2009-08-18 Mobileye Technologies, Ltd. Systems and methods for detecting pedestrians in the vicinity of a powered industrial vehicle
US8924021B2 (en) 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
US8930025B2 (en) 2006-05-25 2015-01-06 Takehiro Ishizaki Work robot
KR100791382B1 (ko) 2006-06-01 2008-01-07 삼성전자주식회사 로봇의 이동 경로에 따라 소정 영역의 특성에 관한 정보를수집하고 분류하는 방법 및 상기 영역 특성에 따라제어되는 로봇, 상기 영역 특성을 이용한 ui 구성 방법및 장치
WO2007143756A2 (en) 2006-06-09 2007-12-13 Carnegie Mellon University System and method for autonomously convoying vehicles
US8843244B2 (en) 2006-10-06 2014-09-23 Irobot Corporation Autonomous behaviors for a remove vehicle
JP4699426B2 (ja) 2006-08-08 2011-06-08 パナソニック株式会社 障害物回避方法と障害物回避移動装置
US8174568B2 (en) 2006-12-01 2012-05-08 Sri International Unified framework for precise vision-aided navigation
JP4267027B2 (ja) 2006-12-07 2009-05-27 ファナック株式会社 ロボット制御装置
AU2008239477B2 (en) 2007-03-29 2010-08-05 Irobot Corporation Robot operator control unit configuration system and method
US20080274683A1 (en) 2007-05-04 2008-11-06 Current Energy Controls, Lp Autonomous Ventilation System
US8255092B2 (en) 2007-05-14 2012-08-28 Irobot Corporation Autonomous behaviors for a remote vehicle
GB2452508A (en) * 2007-09-05 2009-03-11 Sony Corp Generating a three-dimensional representation of a sports game
JP5213023B2 (ja) 2008-01-15 2013-06-19 本田技研工業株式会社 ロボット
CN101952087B (zh) 2008-02-06 2013-01-16 松下电器产业株式会社 机器人、机器人的控制装置及控制方法
JP5181704B2 (ja) 2008-02-07 2013-04-10 日本電気株式会社 データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム
US8175992B2 (en) 2008-03-17 2012-05-08 Intelliscience Corporation Methods and systems for compound feature creation, processing, and identification in conjunction with a data analysis and feature recognition system wherein hit weights are summed
AU2008353981B2 (en) 2008-04-02 2013-01-31 Irobot Corporation Robotics systems
JP4715863B2 (ja) 2008-05-01 2011-07-06 ソニー株式会社 アクチュエータ制御装置及びアクチュエータ制御方法、アクチュエータ、ロボット装置、並びにコンピュータ・プログラム
JP5215740B2 (ja) 2008-06-09 2013-06-19 株式会社日立製作所 移動ロボットシステム
WO2010027968A2 (en) 2008-09-04 2010-03-11 Iwalk, Inc. Hybrid terrain-adaptive lower-extremity systems
WO2010053743A1 (en) 2008-10-29 2010-05-14 The Regents Of The University Of Colorado Long term active learning from large continually changing data sets
US20100114372A1 (en) 2008-10-30 2010-05-06 Intellibot Robotics Llc Method of cleaning a surface using an automatic cleaning device
JP5242342B2 (ja) 2008-10-31 2013-07-24 株式会社東芝 ロボット制御装置
US8428781B2 (en) 2008-11-17 2013-04-23 Energid Technologies, Inc. Systems and methods of coordination control for robot manipulation
EP2209018A1 (en) 2009-01-15 2010-07-21 Nederlandse Organisatie voor toegepast-natuurwetenschappelijk Onderzoek TNO A method for estimating an object motion characteristic from a radar signal, a computer system and a computer program product
US8120301B2 (en) 2009-03-09 2012-02-21 Intuitive Surgical Operations, Inc. Ergonomic surgeon control console in robotic surgical systems
US8423182B2 (en) 2009-03-09 2013-04-16 Intuitive Surgical Operations, Inc. Adaptable integrated energy control system for electrosurgical tools in robotic surgical systems
US8364314B2 (en) 2009-04-30 2013-01-29 GM Global Technology Operations LLC Method and apparatus for automatic control of a humanoid robot
US8694449B2 (en) 2009-05-29 2014-04-08 Board Of Trustees Of Michigan State University Neuromorphic spatiotemporal where-what machines
JP4676544B2 (ja) 2009-05-29 2011-04-27 ファナック株式会社 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置
US8774970B2 (en) 2009-06-11 2014-07-08 S.C. Johnson & Son, Inc. Trainable multi-mode floor cleaning device
US8706297B2 (en) 2009-06-18 2014-04-22 Michael Todd Letsky Method for establishing a desired area of confinement for an autonomous robot and autonomous robot implementing a control system for executing the same
JP4768086B2 (ja) 2009-07-02 2011-09-07 パナソニック株式会社 ロボット、ロボットアームの制御装置、及びロボットアームの制御プログラム
EP2284769B1 (en) 2009-07-16 2013-01-02 European Space Agency Method and apparatus for analyzing time series data
US20110026770A1 (en) 2009-07-31 2011-02-03 Jonathan David Brookshire Person Following Using Histograms of Oriented Gradients
US8250901B2 (en) 2009-09-22 2012-08-28 GM Global Technology Operations LLC System and method for calibrating a rotary absolute position sensor
US20110082735A1 (en) * 2009-10-06 2011-04-07 Qualcomm Incorporated Systems and methods for merchandising transactions via image matching in a content delivery system
TW201113815A (en) 2009-10-09 2011-04-16 Primax Electronics Ltd QR code processing method and apparatus thereof
US8679260B2 (en) 2009-11-11 2014-03-25 Intellibot Robotics Llc Methods and systems for movement of an automatic cleaning device using video signal
US8423225B2 (en) 2009-11-11 2013-04-16 Intellibot Robotics Llc Methods and systems for movement of robotic device using video signal
US8521328B2 (en) 2009-12-10 2013-08-27 The Boeing Company Control system for robotic vehicles
TW201123031A (en) 2009-12-24 2011-07-01 Univ Nat Taiwan Science Tech Robot and method for recognizing human faces and gestures thereof
JP5506618B2 (ja) 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
JP5506617B2 (ja) 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
CN102711586B (zh) 2010-02-11 2015-06-17 直观外科手术操作公司 在机器人内窥镜的远侧尖端自动维持操作者选择的滚动取向的方法和***
KR101169674B1 (ko) 2010-03-11 2012-08-06 한국과학기술연구원 원격현전 로봇, 이를 포함하는 원격현전 시스템 및 이의 제어 방법
US8660355B2 (en) 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
US9311593B2 (en) 2010-03-26 2016-04-12 Brain Corporation Apparatus and methods for polychronous encoding and multiplexing in neuronal prosthetic devices
US9405975B2 (en) 2010-03-26 2016-08-02 Brain Corporation Apparatus and methods for pulse-code invariant object recognition
US9122994B2 (en) 2010-03-26 2015-09-01 Brain Corporation Apparatus and methods for temporally proximate object recognition
US8336420B2 (en) 2010-06-02 2012-12-25 Disney Enterprises, Inc. Three-axis robotic joint using four-bar linkages to drive differential side gears
FR2963132A1 (fr) 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
US20120045068A1 (en) 2010-08-20 2012-02-23 Korea Institute Of Science And Technology Self-fault detection system and method for microphone array and audio-based device
EP2619724A2 (en) 2010-09-23 2013-07-31 Stryker Corporation Video monitoring system
KR20120035519A (ko) 2010-10-05 2012-04-16 삼성전자주식회사 먼지 유입 감지 유닛 및 이를 구비하는 로봇 청소기
US20120143495A1 (en) 2010-10-14 2012-06-07 The University Of North Texas Methods and systems for indoor navigation
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8726095B2 (en) 2010-12-02 2014-05-13 Dell Products L.P. System and method for proactive management of an information handling system with in-situ measurement of end user actions
JP5185358B2 (ja) 2010-12-13 2013-04-17 株式会社東芝 行動履歴検索装置
WO2012081197A1 (ja) 2010-12-17 2012-06-21 パナソニック株式会社 弾性体アクチュエータ駆動機構の制御装置及び制御方法、並びに、制御プログラム
US8380652B1 (en) 2011-05-06 2013-02-19 Google Inc. Methods and systems for autonomous robotic decision making
US8639644B1 (en) 2011-05-06 2014-01-28 Google Inc. Shared robot knowledge base for use with cloud computing system
US8908923B2 (en) * 2011-05-13 2014-12-09 International Business Machines Corporation Interior location identification
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US9189891B2 (en) 2011-08-16 2015-11-17 Google Inc. Systems and methods for navigating a camera
US9015092B2 (en) 2012-06-04 2015-04-21 Brain Corporation Dynamically reconfigurable stochastic learning apparatus and methods
US8798840B2 (en) 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
US20130096719A1 (en) 2011-10-13 2013-04-18 The U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration Method for dynamic optimization of a robot control interface
JP6305673B2 (ja) 2011-11-07 2018-04-04 セイコーエプソン株式会社 ロボット制御システム、ロボットシステム及びロボット
JP5399593B2 (ja) 2011-11-10 2014-01-29 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
KR101305819B1 (ko) 2012-01-04 2013-09-06 현대자동차주식회사 착용식 로봇의 사용자 조작 의도 토크 추출방법
US8958911B2 (en) 2012-02-29 2015-02-17 Irobot Corporation Mobile robot
JP5895628B2 (ja) 2012-03-15 2016-03-30 株式会社ジェイテクト ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
US9221177B2 (en) 2012-04-18 2015-12-29 Massachusetts Institute Of Technology Neuromuscular model-based sensing and control paradigm for a robotic leg
US9031779B2 (en) 2012-05-30 2015-05-12 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for hazard detection and sharing
US9208432B2 (en) 2012-06-01 2015-12-08 Brain Corporation Neural network learning and collaboration apparatus and methods
WO2013188597A2 (en) 2012-06-12 2013-12-19 Amrit Bandyopadhyay Irregular feature mapping
US9092698B2 (en) 2012-06-21 2015-07-28 Rethink Robotics, Inc. Vision-guided robots and methods of training them
US20130346347A1 (en) 2012-06-22 2013-12-26 Google Inc. Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context
EP2871610B1 (en) 2012-07-04 2021-04-07 Repsol, S.A. Infrared image based early detection of oil spills in water
US8977582B2 (en) 2012-07-12 2015-03-10 Brain Corporation Spiking neuron network sensory processing apparatus and methods
US9367798B2 (en) 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
US8793205B1 (en) 2012-09-20 2014-07-29 Brain Corporation Robotic learning and evolution apparatus
DE102012109004A1 (de) 2012-09-24 2014-03-27 RobArt GmbH Roboter und Verfahren zur autonomen Inspektion oder Bearbeitung von Bodenflächen
US9020637B2 (en) 2012-11-02 2015-04-28 Irobot Corporation Simultaneous localization and mapping for a mobile robot
US8972061B2 (en) 2012-11-02 2015-03-03 Irobot Corporation Autonomous coverage robot
US20140187519A1 (en) 2012-12-27 2014-07-03 The Board Of Trustees Of The Leland Stanford Junior University Biomarkers for predicting major adverse events
EP2752726B1 (de) 2013-01-08 2015-05-27 Cleanfix Reinigungssysteme AG Bodenbehandlungsmaschine und Verfahren zum Behandeln von Bodenflächen
JP6132659B2 (ja) 2013-02-27 2017-05-24 シャープ株式会社 周囲環境認識装置、それを用いた自律移動システムおよび周囲環境認識方法
US20140330496A1 (en) * 2013-02-28 2014-11-06 Austin Crouse Trainable robotic apparatus, system and method
US8958937B2 (en) 2013-03-12 2015-02-17 Intellibot Robotics Llc Cleaning machine with collision prevention
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
WO2014146085A1 (en) 2013-03-15 2014-09-18 Intuitive Surgical Operations, Inc. Software configurable manipulator degrees of freedom
US9008840B1 (en) 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
US9292015B2 (en) 2013-05-23 2016-03-22 Fluor Technologies Corporation Universal construction robotics interface
US20140358828A1 (en) 2013-05-29 2014-12-04 Purepredictive, Inc. Machine learning generated action plan
US9242372B2 (en) 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
WO2014196925A1 (en) 2013-06-03 2014-12-11 Ctrlworks Pte. Ltd. Method and apparatus for offboard navigation of a robotic device
KR101323705B1 (ko) * 2013-06-05 2013-11-11 한경대학교 산학협력단 무인 화물 이송로봇을 이용한 무인 화물 이송시스템
US9384443B2 (en) 2013-06-14 2016-07-05 Brain Corporation Robotic training apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US20150032258A1 (en) 2013-07-29 2015-01-29 Brain Corporation Apparatus and methods for controlling of robotic devices
JP6227948B2 (ja) * 2013-09-18 2017-11-08 村田機械株式会社 自律走行式床洗浄機、清掃スケジュールのデータ構造、記憶媒体、清掃スケジュールの生成方法、及びプログラム
SG2013071808A (en) 2013-09-24 2015-04-29 Ctrlworks Pte Ltd Offboard navigation apparatus capable of being coupled to a movable platform
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
US9296101B2 (en) 2013-09-27 2016-03-29 Brain Corporation Robotic control arbitration apparatus and methods
US9315192B1 (en) 2013-09-30 2016-04-19 Google Inc. Methods and systems for pedestrian avoidance using LIDAR
US9144907B2 (en) 2013-10-24 2015-09-29 Harris Corporation Control synchronization for high-latency teleoperation
US9463571B2 (en) * 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
US10612939B2 (en) 2014-01-02 2020-04-07 Microsoft Technology Licensing, Llc Ground truth estimation for autonomous navigation
US10078712B2 (en) 2014-01-14 2018-09-18 Energid Technologies Corporation Digital proxy simulation of robotic hardware
US10067510B2 (en) 2014-02-14 2018-09-04 Accenture Global Services Limited Unmanned vehicle (UV) movement and data control system
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US10255319B2 (en) 2014-05-02 2019-04-09 Google Llc Searchable index
US20150339589A1 (en) 2014-05-21 2015-11-26 Brain Corporation Apparatus and methods for training robots utilizing gaze-based saliency maps
US9475195B2 (en) 2014-09-12 2016-10-25 Toyota Jidosha Kabushiki Kaisha Anticipatory robot navigation
US20160121487A1 (en) * 2014-11-03 2016-05-05 Qualcomm Incorporated Communicating Configurable Instruction Sets to Robots for Controlling Robot Behavior
US10667664B2 (en) 2015-04-24 2020-06-02 Avidbots Corp. Apparatus and methods for semi-autonomous cleaning of surfaces
US20170139551A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation System for determining user interfaces to display based on user location
US20170329347A1 (en) 2016-05-11 2017-11-16 Brain Corporation Systems and methods for training a robot to autonomously travel a route

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341540A (en) * 1989-06-07 1994-08-30 Onet, S.A. Process and autonomous apparatus for the automatic cleaning of ground areas through the performance of programmed tasks
KR20070066192A (ko) * 2005-12-21 2007-06-27 재단법인 포항산업과학연구원 실내 이동 로봇의 위치 인식 방법 및 장치
KR20130137995A (ko) * 2012-06-08 2013-12-18 엘지전자 주식회사 로봇 청소기와, 이의 제어 방법, 및 이를 포함한 로봇 청소 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200137943A (ko) * 2019-05-30 2020-12-09 엘지전자 주식회사 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를구현하는 로봇
US11554495B2 (en) 2019-05-30 2023-01-17 Lg Electronics Inc. Method of localization using multi sensor and robot implementing same
WO2021006364A1 (ko) * 2019-07-05 2021-01-14 엘지전자 주식회사 지능형 로봇 청소기의 주행 방법
US11432694B2 (en) 2019-07-05 2022-09-06 Lg Electronics Inc. Travel method of intelligent robot cleaner

Also Published As

Publication number Publication date
WO2017197197A1 (en) 2017-11-16
US10241514B2 (en) 2019-03-26
CN109416538A (zh) 2019-03-01
US20190171210A1 (en) 2019-06-06
EP3455686A1 (en) 2019-03-20
CA3023557A1 (en) 2017-11-16
US11803185B2 (en) 2023-10-31
JP2019515407A (ja) 2019-06-06
EP3455686A4 (en) 2020-02-19
US20170329333A1 (en) 2017-11-16
US20220083058A1 (en) 2022-03-17
JP6942177B2 (ja) 2021-09-29
KR102444658B1 (ko) 2022-09-20

Similar Documents

Publication Publication Date Title
KR102444658B1 (ko) 훈련된 경로를 자율주행하도록 로봇을 초기화하기 위한 시스템 및 방법
US11189078B2 (en) Automated understanding of three dimensional (3D) scenes for augmented reality applications
Van den Bergh et al. Real-time 3D hand gesture interaction with a robot for understanding directions from humans
WO2019232806A1 (zh) 导航方法、导航***、移动控制***及移动机器人
CN106575438B (zh) 立体和结构光处理的组合
Davison et al. MonoSLAM: Real-time single camera SLAM
CN110801180B (zh) 清洁机器人的运行方法及装置
KR20190029524A (ko) 경로를 자율주행하도록 로봇을 훈련시키기 위한 시스템 및 방법
CN110312912A (zh) 车辆自动停车***和方法
CN108283021A (zh) 使用来自机器人的相机的相机图像的检测边缘和从环境的三维模型取得的检测边缘来定位环境中的机器人
US11100602B2 (en) System and method for geometrical user interactions via three-dimensional mapping
Chatterjee et al. Vision based autonomous robot navigation: algorithms and implementations
Alizadeh Object distance measurement using a single camera for robotic applications
JP2018513416A (ja) 床の処理方法
CN108544494A (zh) 一种基于惯性和视觉特征的定位装置、方法及机器人
JP2021177144A (ja) 情報処理装置、情報処理方法及びープログラム
KR100906991B1 (ko) 로봇의 비시인성 장애물 탐지방법
Peñalver et al. Multi-view underwater 3D reconstruction using a stripe laser light and an eye-in-hand camera
JP7354528B2 (ja) 自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラム
Vakanski et al. Robotic learning of manipulation tasks from visual perception using a kinect sensor
US12001216B2 (en) Carpet detection method, movement control method, and mobile machine using the same
Magrabi Simulation of collision avoidance by navigation assistance using stereo vision
Dönmez et al. Multi-Camera Vision-Based Mobile Robot Control and Path Planning
Lim et al. Wrap-around View Equipped on Mobile Robot
Duchoň et al. Simple image processing algorithms for robot navigation in unknown environment

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant