KR102528869B1 - 자율 네비게이션에서 동적 노정을 계획하기 위한 시스템 및 방법 - Google Patents

자율 네비게이션에서 동적 노정을 계획하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102528869B1
KR102528869B1 KR1020197015595A KR20197015595A KR102528869B1 KR 102528869 B1 KR102528869 B1 KR 102528869B1 KR 1020197015595 A KR1020197015595 A KR 1020197015595A KR 20197015595 A KR20197015595 A KR 20197015595A KR 102528869 B1 KR102528869 B1 KR 102528869B1
Authority
KR
South Korea
Prior art keywords
robot
route
pose
posture
points
Prior art date
Application number
KR1020197015595A
Other languages
English (en)
Other versions
KR20190077050A (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 KR20190077050A publication Critical patent/KR20190077050A/ko
Application granted granted Critical
Publication of KR102528869B1 publication Critical patent/KR102528869B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/343Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot 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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2201/00Application
    • G05D2201/02Control of position of land vehicles
    • G05D2201/0203Cleaning or polishing vehicle

Abstract

자율 네비게이션에서 동적 노정을 계획하기 위한 시스템 및 방법이 개시된다. 일부 예시적인 구현예에서, 로봇은 환경 내의 하나 이상의 물체 상의 감지된 지점들을 포함한 환경에 관한 데이터를 수집하도록 구성된 하나 이상의 센서들을 구비할 수 있다. 그 다음 로봇은 환경 내에서의 노정을 계획할 수 있는데, 여기서 노정은 하나 이상의 노정 자세를 포함할 수 있다. 상기 노정 자세들은 노정을 따르는 로봇의 자세, 크기, 및 형상을 적어도 부분적으로 나타내는 풋프린트를 포함할 수 있다. 각각의 노정 자세는 그 내부에 복수의 지점들을 가질 수 있다. 다른 노정 자세들, 환경 내의 물체들, 및 그 밖의 다른 것들에 의해 각 노정 자세의 지점들에 가해지는 힘들에 기초하여, 각각의 노정 자세들을 재배치할 수 있다. 노정 자세들(이들의 일부는 재배치될 수 있음)에서 수행된 보간에 적어도 부분적으로 기초하여, 로봇은 동적으로 노정을 정할 수 있다.

Description

자율 네비게이션에서 동적 노정을 계획하기 위한 시스템 및 방법
우선권
본 출원은 2016년 11월 2일자로 출원된 공동 소유의 동시 계류 중인 미국 특허 출원 일련 번호 15/341,612호의 우선권의 이익을 주장하며, 그 내용 전체를 본원에 참고로 원용하여 포함한다.
저작권
본 특허 문서의 개시내용의 일부는 저작권 보호를 받는 자료를 포함한다. 저작권 소유자는 누구라도 본 특허 문서 또는 특허 개시내용을 특허 및 상표청의 특허 파일들 또는 기록들에 나타나 있는 대로 팩스 복제하는 것에 대해서는 이의를 제기하지 않지만, 그 이외에는 무엇이든지 간에 모든 저작권 권리를 보유한다.
기술분야
본 출원은 일반적으로 로봇 공학에 관련된 것으로, 보다 구체적으로는 자율 네비게이션에서 동적 노정을 계획하기 위한 시스템 및 방법에 관련된 것이다.
로봇 네비게이션은 복잡한 문제일 수 있다. 일부 경우에서, 로봇은 이동할 노정(route)을 결정할 수 있다. 예시로서, 로봇은 사용자에 의해 시연된 노정을 학습할 수 있다(예를 들어, 사용자는 로봇을 노정을 따라서 제어할 수 있고/있거나 노정을 포함하는 지도를 업로드할 수 있다). 또 다른 예시로서, 로봇은 환경에 대한 그의 지식(예를 들어, 지도)에 기초하여 환경 내에서의 그 자신의 노정을 계획할 수 있다. 그러나 발생할 수 있는 과제는 로봇이 노정을 결정한 후에 환경의 특징들이 변경될 수 있다는 것이다. 예를 들어, 물건들이 노정의 경로(path) 안에 들어올 수 있고/있거나 환경의 일부가 변경될 수 있다. 현재의 로봇은 이러한 변화(예를 들어, 방해물)에 대응하여 그의 계획된 경로를 실시간으로 조정하지 못 할 수도 있다. 이러한 상황에서, 현재의 로봇은 멈추거나, 물체에 충돌하거나, 그리고/또는 그의 노정을 차선의 상태로 조정할 수 있다. 따라서, 동적 노정 계획을 위한 시스템 및 방법을 포함해서 자율 네비게이션을 위한 개선된 시스템 및 방법이 필요하다.
전술한 필요성은 특히 자율 네비게이션에서 동적 노정을 계획하기 위한 장치 및 방법을 제공하는 본 개시내용에 의해 충족된다. 본원에 설명된 예시적인 구현예들은 혁신적인 특징들을 가지며, 그 특징들 중 단일의 특징만이 그들의 바람직한 속성을 위해 필수불가결한 것이 아니거나 단독으로 그 속성들을 위해 역할을 하는 것이 아니다. 청구범위의 범위를 제한하지 않으면서, 유리한 특징들 중 일부가 이제 요약될 것이다.
제1 양태에서, 로봇이 개시된다. 예시적인 일 구현예에서, 상기 로봇은 환경 내의 하나 이상의 물체 상의 감지된 지점들을 포함한 환경에 관한 데이터를 수집하도록 구성된 하나 이상의 센서들; 및 수집된 데이터에 적어도 부분적으로 기초하여 상기 환경의 지도를 생성하도록 구성되고, 로봇이 이동하게 될 지도 내의 노정을 결정하도록 구성되고, 상기 노정 상에 하나 이상의 노정 자세(route pose) - 각각의 노정 자세는 상기 노정을 따르는 로봇의 자세를 나타내는 풋프린트를 포함하고 또한 각각의 노정 자세는 그 안에 배치된 복수의 지점들을 가짐 - 를 생성하도록 구성되고, 각각의 노정 자세의 상기 복수의 지점들 각각에 작용하는 힘 - 이 힘은 상기 하나 이상의 물체 상의 감지된 지점들 중 하나 이상의 지점으로부터의 반발력과, 상기 하나 이상의 노정 자세들 중 다른 노정 자세들 상의 복수의 지점들 중 하나 이상의 지점으로부터의 인력을 포함함 - 을 결정하도록 구성되고, 상기 하나 이상의 노정 자세들의 각 지점으로 작용하는 힘에 응하여 하나 이상의 노정 자세를 재배치하도록 구성되며, 그리고 로봇이 이동할 수 있도록 상기 하나 이상의 노정 자세들 사이에 충돌 없는 경로를 생성하기 위해 하나 이상의 노정 자세들 간의 보간을 수행하도록 구성된 제어기를 포함한다.
한 변형례에서, 상기 하나 이상의 노정 자세는 로봇이 노정을 따라 이동하는 순서를 형성하고, 상기 보간은 상기 하나 이상의 노정 자세들 중 순차적인 노정 자세들 간의 선형 보간을 포함한다.
다른 변형례에서, 상기 보간은 각 노정 자세의 풋프린트와 실질적으로 유사한 풋프린트를 갖는 하나 이상의 보간 노정 자세를 생성한다. 또 다른 변형례에서, 상기 하나 이상의 노정 자세들의 각 지점에 작용하는 힘을 결정함에는, 각각의 노정 자세의 각 지점에 작용하는 힘을 환경 내의 물체들의 하나 이상의 특징과 적어도 부분적으로 관련시키는 힘 함수를 계산하는 것이 추가로 포함된다.
또 다른 변형례에서, 상기 하나 이상의 특징에는 거리, 형상, 재질 및 색상 중 하나 이상이 포함된다. 또 다른 변형례에서, 제1 물체 상의 제1 감지된 지점과 제1 노정 자세의 제2 지점 사이의 거리가 미리 결정된 거리 임계치를 초과하는 경우, 상기 힘 함수는 상기 제1 물체 상의 제1 감지된 지점에 의해 0인 반발력이 가해지는 것으로 관련시킨다.
또 다른 변형례에서, 각각의 노정 자세의 풋프린트는 로봇의 풋프린트와 실질적으로 유사한 크기 및 형상을 갖는다.
또 다른 변형례에서, 상기 로봇은 바닥 청소기를 포함한다.
제 2 양태에서, 로봇의 동적 네비게이션을 위한 방법이 개시된다. 예시적인 일 구현예에서, 상기 방법은 하나 이상의 센서로부터의 데이터를 사용하여 환경의 지도를 생성하는 것; 상기 지도 상의 노정을 결정하는 것, 여기서 노정은 하나 이상의 노정 자세를 포함하고, 각각의 노정 자세는 상기 노정을 따르는 로봇의 형상 및 자세를 적어도 부분적으로 나타내는 풋프린트를 포함하고, 또한 각각의 노정 자세는 그 안에 배치된 복수의 지점들을 가짐; 상기 환경 내의 물체 상의 한 지점으로부터 상기 하나 이상의 노정 자세들 중 제1 노정 자세의 복수의 지점들로의 반발력을 계산하는 것; 적어도 상기 반발력에 응하여 상기 제1 노정 자세를 재배치하는 것; 및 상기 재배치된 제1 노정 자세와 상기 하나 이상의 노정 자세들 중 다른 노정 자세 간의 보간을 수행하는 것을 포함한다.
한 변형례에서, 상기 하나 이상의 노정 자세들 중 다른 노정 자세 상의 한 지점으로부터 상기 제1 노정 자세의 상기 복수의 지점들로 가해지는 인력을 결정한다. 다른 변형례에서, 상기 하나 이상의 센서들로 상기 환경 내의 복수의 물체들 - 복수의 물체들 각각은 감지된 지점들을 가짐 - 을 결정하고, 상기 복수의 물체들의 상기 감지된 지점들 각각에 의해 상기 제1 노정 자세의 상기 복수의 지점들로 가해지며 벡터를 포함하는 반발력을 계산하는 힘 함수를 정의한다.
또 다른 변형례에서, 상기 제1 노정 자세 재배치에는 상기 힘 함수의 최소치 계산이 포함된다.
또 다른 변형례에서, 상기 제1 노정 자세 재배치에는 상기 제1 노정 자세를 병진 이동 및 회전시키기가 포함된다.
또 다른 변형례에서, 상기 보간에는, 로봇의 형상과 실질적으로 유사한 풋프린트를 갖는 보간 노정 자세를 생성하기; 및 상기 병진 이동 및 회전된 제1 노정 자세와 상기 하나 이상의 노정 자세들 중 다른 노정 자세 간에 충돌이 없는 경로에 적어도 기초하여 상기 보간 노정 자세의 병진 이동 및 회전을 결정하기가 포함된다.
또 다른 변형례에서, 상기 방법은, 상기 물체 상의 지점이 상기 제1 노정 자세의 풋프린트 밖에 있는 경우, 상기 제1 노정 자세의 상기 복수의 지점들 각각과 상기 물체 상의 지점 사이의 거리에 비례하여 반발력의 크기를 계산하는 것을 추가로 포함한다.
또 다른 변형례에서, 상기 물체 상의 지점이 상기 제1 노정 자세의 풋프린트 안에 있는 경우에는, 상기 제1 노정 자세의 상기 복수의 지점들 각각과 상기 물체 상의 지점 사이의 거리에 반비례하여 반발력의 크기를 계산한다.
또 다른 변형례에서, 상기 방법은, 상기 반발력에 기인하여 상기 제1 노정 자세의 상기 복수의 지점으로 작용하는 토크 힘을 계산하는 것을 추가로 포함한다.
제3 양태에서, 비일시적 컴퓨터 판독가능 저장 장치가 개시된다. 일 실시예에서, 상기 비일시적 컴퓨터 판독가능 저장 장치는 로봇을 작동시키도록 프로세싱 장치에 의해 실행 가능한 복수의 명령을 그 안에 저장해서 구비한다. 상기 명령들은 상기 프로세싱 장치에 의해 실행될 때, 상기 프로세싱 장치로 하여금 하나 이상의 센서로부터의 데이터를 사용하여 환경의 지도를 생성하게 하고; 상기 지도 상의 노정을 결정하게 하고, 여기서 노정은 하나 이상의 노정 자세를 포함하고, 각각의 노정 자세는 상기 노정을 따르는 로봇의 형상 및 자세를 적어도 부분적으로 나타내는 풋프린트를 포함하고, 또한 각각의 노정 자세는 그 안에 배치된 복수의 지점들을 가짐; 그리고 상기 환경 내의 물체 상의 한 지점으로부터 상기 하나 이상의 노정 자세들 중 제1 노정 자세의 복수의 지점들로의 반발력을 계산하게 하도록 구성된다.
한 변형례에서, 상기 명령들은 상기 프로세싱 장치에 의해 실행될 때 추가로 상기 프로세싱 장치로 하여금 상기 하나 이상의 노정 자세들 중 다른 노정 자세 상의 한 지점으로부터 상기 제1 노정 자세의 상기 복수의 지점들로 가해지는 인력을 결정하게 한다.
다른 변형례에서, 상기 명령들은 상기 프로세싱 장치에 의해 실행될 때 추가로 상기 프로세싱 장치로 하여금 상기 하나 이상의 노정 자세들 중 다른 노정 자세 상의 한 지점으로부터 상기 제1 노정 자세의 상기 복수의 지점들로 가해지는 토크 힘을 결정하게 한다.
본 개시내용의 이들 및 다른 목적들, 특징들 및 특성들과, 이뿐만 아니라, 관련된 구조 요소들 및 부품들의 조합의 작동 방법들 및 기능들과 제조의 경제는, 첨부 도면들을 참조하여 다음의 설명 및 첨부된 청구범위를 고려할 때 더 명백해지게 될 것이며, 그 첨부 도면들 모두는 본 명세서의 일부를 형성하며, 첨부 도면들에 있어서 유사한 참조 번호들은 여러 도면에서 대응하는 부분들을 가리킨다. 그러나, 도면들은 예시 및 설명의 목적만을 위한 것이고, 본 개시내용의 제한들의 정의로서 의도되지 않는다는 것이 명백히 이해될 것이다. 본 명세서 및 청구 범위에서 사용되는 바와 같이, "a", "an" 및 "the"와 같은 단수 형태는 문맥 상 명확하게 다르게 지시하지 않는 한 복수 대상들을 포함한다.
개시되는 양태들은, 개시되는 양태들을 제한하는 것이 아니라 개시되는 양태들을 예시하기 위해 제공되는 첨부된 도면들과 관련하여, 이하에서 설명될 것이며, 여기서, 유사한 호칭들은 유사한 구성요소들을 나타낸다.
도 1은 본 개시내용의 원리들에 따른 것으로서, 로봇을 위한 예시적인 바디 형체들의 다양한 측면 입면도들을 예시하고 있다.
도 2는 본 개시내용의 일부 구현예에 따른 것으로서, 경로를 네비게이팅하는 로봇의 머리 위에서 도시한 도면이다.
도 2b는 로봇이 소정 환경 내에서 노정을 자율적으로 이동하기 전에 로봇에게 노정을 시연하고 있는 사용자의 머리 위에서 도시한 도면이다.
도 3은 본 개시내용의 일부 원리에 따른 로봇의 기능 블록선도이다.
도 4a는 본 개시내용의 일부 구현예에 따른 것으로서, 로봇과 장애물 사이의 상호 작용을 예시하는 평면도 도면이다.
도 4b는 본 발명의 구현예에 따른 것으로, 글로벌 레이어, 중간 레이어, 및 로컬 레이어의 선도이다.
도 4c는 본 개시내용의 일부 구현예에 따른 것으로서, 예시적인 동적 노정 계획을 위한 방법의 프로세스 흐름도이다.
도 4d는 본 개시내용의 일부 구현예에 따른 것으로, 노정 자세를 물체들에 의해 가해지는 반발력과 함께 머리 위에서 도시한 도면이다.
도 4e는 본 개시내용의 일부 구현예에 따른 것으로, 노정 자세들 간의 인력을 보여주는, 머리 위에서 도시한 도면이다.
도 5는 본 개시내용의 일부 구현예에 따른 것으로, 노정 자세들 간의 보간을 보여주는 선도를 머리 위에서 도시한 도면이다.
도 6은 본 개시내용의 일부 구현예에 따른 것으로서, 예시적인 로봇 작동 방법의 프로세스 흐름도이다.
도 7은 본 개시내용의 일부 구현예에 따른 것으로서, 예시적인 로봇 작동 방법의 프로세스 흐름도이다.
본원에 개시되는 모든 도면들은 브레인 코포레이션(Brain Corporation)의 2017년 발효 저작권(ⓒ Copyright 2017)이다. 모든 권리 유보됨.
본원에서 개시되는 신규한 시스템들, 장치들 및 방법들의 다양한 양태들이 첨부 도면들을 참조하여 이하에서 더 완전히 설명된다. 그러나, 본 개시내용은 다수의 상이한 형태들로 구현될 수 있고, 본 개시내용 전반에 걸쳐 제시되는 임의의 특정 구조 또는 기능으로 제한되는 것으로 해석되지 않아야 한다. 오히려, 이러한 양태들은 본 개시내용이 철저하고 완전하게 되도록 제공되며, 본 개시내용의 범위를 당해 기술분야에서 통상의 지식을 가진 자(이하, 당업자)에게 충분히 전달할 것이다. 본원의 교시들에 기초하여, 본 개시내용의 범위가, 독립적으로 구현되든지 또는 본 개시내용의 임의의 다른 양태와 조합되든지, 본원에서 개시되는 신규한 시스템들, 장치들 및 방법들의 임의의 양태를 커버하도록 의도된다는 것을 당업자는 이해해야 한다. 예를 들어, 본원에서 제시되는 임의의 수의 양태들을 사용하여, 장치가 구현될 수 있거나 또는 방법이 실시될 수 있다. 또한, 본 개시내용의 범위는 본원에서 제시되는 개시내용의 다양한 양태들에 부가하여 또는 그 이외에 다른 구조, 기능성, 또는 구조와 기능성을 사용하여 실시되는 그러한 장치 또는 방법을 포괄하도록 의도되어 있다. 본원에서 개시되는 임의의 양태는 청구항의 하나 이상의 구성요소들에 의해 구현될 수 있다는 것이 이해되어야 한다.
특정 양태들이 본원에서 설명되지만, 이들 양태들의 다수의 변형들 및 변경들은 본 개시내용의 범위 내에 속한다. 바람직한 양태들의 일부 이점들 및 장점들이 언급되지만, 본 개시내용의 범위는 특정 이점들, 용도들 및/또는 목적들로 제한되도록 의도되지 않는다. 상세한 설명 및 도면들은 본 개시내용을 제한하기 보다는 단지 예시하는 것일 뿐이며, 본 개시내용의 범위는 첨부된 청구범위 및 그 등가물들에 의해 정의된다.
본 개시내용은 자율 네비게이션에서 동적 노정을 계획하기 위한 개선된 시스템 및 방법을 제공한다. 본원에서 사용되는 바와 같은 로봇에는 복잡한 일련의 동작들을 자동적으로 수행하도록 구성된 기계적 또는 가상적 엔티티(entity)들이 포함될 수 있다. 일부 경우들에서, 로봇은 컴퓨터 프로그램들 또는 전자 회로에 의해 유도되는 기계일 수 있다. 일부 경우들에서, 로봇은 네비게이션을 위해 구성된 전기-기계 컴포넌트들을 포함할 수 있으며, 이 경우, 로봇은 한 위치에서 다른 위치로 이동할 수 있다. 이와 같은 네비게이팅 로봇에는 자율 주행 자동차, 바닥 청소기, 탐사차량(rover), 드론, 카트 등이 포함될 수 있다.
본원에서 언급되는 바와 같이, 플로어 청소기들은 수동 제어형(예를 들어, 구동 또는 원격 제어됨) 및/또는 자율형(예를 들어, 사용자 제어가 거의 사용되지 않거나 전혀 사용되지 않음)인 플로어 청소기들을 포함할 수 있다. 예를 들어, 바닥 청소기에는 청소원, 관리자 또는 그 밖의 다른 사람이 작동시키는 바닥 스크러버, 및/또는 환경을 자율적으로 네비게이팅하고/하거나 청소하는 로봇형 바닥 스크러버가 포함될 수 있다. 마찬가지로, 바닥 청소기에는 진공 청소기, 스팀 청소기, 버퍼, 걸레, 광택기, 스위퍼, 연마기 등이 포함될 수 있다.
본 개시내용의 시스템 및 방법들의 다양한 구현예들 및 변형례들의 상세한 설명들이 이제 제공된다. 본원에서 논의된 많은 예들은 로봇식 바닥 청소기의 맥락 속에 있지만, 본원에 기술된 시스템들 및 방법들은 다른 로봇에도 사용될 수 있다는 것을 이해할 것이다. 본원에서 설명되는 기술에 있어서의 그 밖의 다른 무수한 예시적인 구현예들 또는 용도들은 본 개시의 내용들이 주어지면 당업자에 의해 쉽게 구상될 수 있을 것이다.
유리하게도, 본 개시의 시스템 및 방법은, 적어도, (i) 자율적으로 네비게이팅 하는 로봇에 동적 경로 계획을 제공하고; (ii) 환경을 네비게이팅하는 데 있어서의 효율을 향상시켜서, 자원(에너지, 연료, 세정액 등) 사용량의 개선된 이용 및/또는 효율적 이용을 가능하게 할 수 있고; (iii) 로봇이 네비게이팅할 때의 처리 능력, 에너지, 시간 및/또는 그 밖의 다른 자원의 소비를 감소시킬 수 있는 컴퓨터 계산처리 효율을 제공한다. 다른 이점들은 본 개시내용의 내용들이 주어지면, 당업자에 의해 쉽게 인식 가능하다.
예를 들어, 자율적으로 네비게이팅할 수 있는 현재의 많은 로봇들은 목표 장소로 가는 노정 및/또는 경로를 네비게이팅하도록 프로그램된다. 이 로봇들은 이러한 노정들을 네비게이팅하기 위해 경로 계획(예를 들어, 글로벌 솔루션)을 만들 수 있다. 또한, 이 로봇들은 그 주변의 소정의 작은 지역(예를 들어, 수 미터 정도)에 국지화된 계획을 세울 수 있고, 이 경우 그 로봇은 그의 센서들(일반적으로 물체가 감지되었을 때 돌아가라는 기본 명령을 갖춤)이 감지한 장애물 주변을 네비게이팅할 방법을 결정할 수 있다. 그런 다음 로봇은 예를 들어 정지, 감속, 왼쪽 또는 오른쪽으로 벗어나기 등에 의해 센서가 감지한 장애물을 피할 수 있고 패턴 내의 공간을 횡단할 수 있다. 그러나, 현재의 많은 응용에서, 그러한 횡단 및 회피는 복잡할 수 있고, 로봇은 바람직하지 않은 결과(예를 들어, 정지 또는 충돌)를 겪고/겪거나 더욱 복잡한 상황들을 통과하는 네비게이팅을 할 수 없다. 일부 경우에서, 이러한 현재의 응용은 또한 컴퓨터 계산처리 면에서 고가이고/이거나 실행 속도가 느릴 수 있고, 이로 인해 로봇이 부자연스럽게 동작하게 된다.
유리하게도, 본원에 개시된 시스템 및 방법을 사용하게 되면, 로봇은 장애물을 피하기 위한 보다 효율적인 경로 및/또는 보다 복잡한 조정을 거쳐서 프로그래밍으로부터 벗어날 수 있다. 본원에 설명된 일부 구현예에서, 이러한 움직임은 더 효율적이고 신속한 방법으로 결정될 수 있고, 이는 로봇이 보다 복잡한 경로를 계획함에 따라 더 자연스럽게 보이기도 한다.
당업자는 본원에서 언급된 것과 같은 로봇은 다수의 상이한 외관/형태를 가질 수 있다는 것을 이해할 것이다. 도 1은 본 개시내용의 원리들에 따른 것으로서, 로봇을 위한 예시적인 바디 형체들의 다양한 측면 입면도들을 예시하고 있다. 이들은, 다양한 바디 형체(body form)를 더 한층 예시하도록 의도된 것이지 본원에 기술된 로봇을 임의의 특정 바디 형체로 제한하려는 것이 아닌, 비한정적인 예이다. 예를 들어, 도면 부호 100으로 나타낸 바디 형체는 직립형 업무용 진공청소기(shop vacuum)를 예시하는 것이다. 도면 부호 102로 나타낸 바디 형체는 로봇이 인체와 실질적으로 유사한 외관을 갖는 휴머노이드 로봇인 예를 예시하는 것이다. 도면 부호 104로 나타낸 바디 형체는 로봇이 프로펠러들을 갖는 드론인 예를 예시하는 것이다. 도면 부호 106으로 나타낸 바디 형체는 로봇이 바퀴와 및 승객 객실을 구비한 차량 형상을 갖춘 예를 예시하는 것이다. 도면 부호 108로 나타낸 바디 형체는 로봇이 탐사차량인 예를 예시하는 것이다.
도면 부호 110으로 나타낸 바디 형체는 로봇이 자동차화 바닥 스크러버인 예를 예시하는 것이다. 도면 부호 112로 나타낸 바디 형체는 좌석, 페달 및 운전대를 갖춘 자동차화 바닥 스크러버일 수 있는데, 이는 당해 바디 형체(112)가 청소할 때 사용자가 그 바디 형체(112)를 차량처럼 구동할 수 있지만 바디 형체(112)가 자율적으로 작동할 수도 있는 것이다. 지게차, 예인선, 보트, 비행기 등과 같이 로봇화할 수 있는 산업용 기계를 포함한 그 밖의 다른 바디 형체들도 추가로 고려된다.
도 2a는 본 개시내용의 일부 구현예에 따른 것으로서, 경로(206)를 네비게이팅하는 로봇(202)의 머리 위에서 도시한 도면이다. 로봇(202)은 다양한 물체(208, 210, 212, 218)를 포함할 수 있는 환경(200)을 관통해서 자율적으로 네비게이팅할 수 있다. 로봇(202)은 초기 위치에서 시작하여 끝 위치에서 종료할 수 있다. 예시된 바와 같이, 초기 위치와 끝 위치는 실질적으로 동일한데, 이는 실질적으로 폐루프를 예시하는 것이다. 그러나, 다른 경우들에서, 초기 위치와 끝 위치가 실질적으로 동일하지 않을 수 있고, 이는 개방 루프를 형성한다.
예시로서, 일부 구현예에서, 로봇(202)은 로봇식 바닥 스크러버, 진공 청소기, 스팀 청소기, 걸레, 광택기, 스위퍼 등과 같은 로봇식 바닥 청소기일 수 있다. 환경(200)은 청소가 요구되는 바닥을 갖는 공간일 수 있다. 예를 들어, 환경(200)은 상점, 창고, 사무 빌딩, 주택, 저장 시설 등일 수 있다. 하나 이상의 물체들(208, 210, 212, 218)은 선반, 진열대, 물체, 물품, 사람, 동물, 또는 바닥에 있을 수 있거나 아니면 로봇이 환경(200)을 관통해 네비게이팅하는 것을 방해하는 임의의 기타 엔티티 또는 물건일 수 있다. 노정(206)은 로봇(202)이 자율적으로 이동하는 청소 경로일 수 있다. 노정(206)은 예시적인 노정(206)에 예시된 바와 같이 물체들(208, 210, 212, 218) 사이를 누비듯 빠져나가는 경로를 따를 수 있다. 예를 들어, 물체(208, 210, 212, 218)가 상점의 선반인 경우, 로봇(202)은 상점 통로를 따라 가면서 통로의 바닥을 청소할 수 있다. 그러나 개방된 바닥 영역 및/또는 사용자가 바닥을 청소하기 위해 사용할 수 있는 임의의 청소 경로(예를 들어, 사용자가 바닥 청소기를 수동으로 작동하는 경우)를 따라 앞뒤로 누비듯 빠져나가는 것과 같은 - 이에 제한되지 않음 - 그 밖의 다른 노정도 고려된다. 일부 경우에서, 로봇(202)은 소정 부분을 복수 회 건너다닐 수 있다. 따라서 노정들이 그들 자신 위에서 중첩될 수 있다. 따라서, 노정(206)은 단지 예시적인 예를 의미하며 예시된 바와 같이 다르게 나타날 수 있다. 또한, 예시된 바와 같이, 환경(200)의 일례가 도시되어 있지만, 환경(200)은 임의의 수의 형태 및 배열(예를 들어, 방 또는 건물의 임의의 크기, 형태, 및 배치)을 띨 수 있고 본 개시내용의 예시적인 예시들에 제한되지 않는다는 것을 이해해야 한다.
노정(206)에서, 로봇(202)은 로봇(202)의 시작점일 수 있는 초기 위치에서 시작할 수 있다. 그 후, 로봇(202)은 청소를 중지할 수 있는 종료 위치에 도달할 때까지 자율적으로(예를 들어, 사용자로부터의 제어가 거의 없거나 또는 전혀 없이) 노정(206)을 따라 청소할 수 있다. 종료 위치는 사용자에 의해 지정되고/되거나 로봇(202)에 의해 결정될 수 있다. 일부 경우에 있어서, 종료 위치는 노정(206) 중에서 로봇(202)이 이미 바닥의 원하는 영역을 청소해 놓은 곳 다음의 위치일 수 있다. 전술한 바와 같이, 노정(206)은 폐쇄 루프 또는 개방 루프일 수 있다. 예시적인 예로서, 종료 위치는 임시 주차 장소, 보관실/헛간 등과 같은 로봇(202) 보관용 위치일 수 있다. 일부 경우에 있어서, 종료 위치는 로봇(202)에 대해 훈련 및/또는 프로그래밍 작업을 하는 사용자가 훈련 및/또는 프로그래밍을 멈춘 지점일 수 있다.
바닥 청소기(바닥 스크러버, 진공 청소기 등)와 관련하여, 로봇(202)은 노정(206)을 따라서 모든 지점을 청소할 수도 있고 청소하지 않을 수도 있다. 예시로서, 로봇(202)이 로봇식 바닥 스크러버인 경우, 로봇(202)의 청소 시스템(예를 들어, 물 흐름, 청소 브러시 등)은 노정(206)의 일부분에서만 작동하고 다른 부분에서는 작동하지 않을 수 있다. 예를 들어, 로봇(202)은 특정 동작(예를 들어, 선회, 물을 틀기/잠그기, 물 뿌리기, 진공 청소 켜기/끄기, 진공 호스 위치 이동, 아암의 제스쳐 기동시키기(gesticulating), 리프트 올리기/내리기, 센서 이동, 센서 켜기/끄기 등)을 시연된 노정을 따라서 (예를 들어, 노정(206)을 따라 특정 방향 또는 특정 순서로 움직이는 동안) 특정 위치 및/또는 궤도와 관련시킬 수 있다. 바닥 청소기와 관련하여, 이러한 관련짓기는 바닥의 일부 영역만 청소하고 다른 영역은 청소하지 않는 경우 및/또는 일부 궤도에서는 바람직할 수 있다. 이러한 경우에, 로봇(202)은 사용자가 로봇(202)에게 청소하도록 시연한 영역에서는 청소 시스템을 켤 수 있고, 그렇지 않은 곳에서는 청소 시스템을 끌 수 있다.
도 2b는 로봇(202)이 환경(200) 내의 노정(206)을 자율적으로 이동하기 전에 로봇(202)에게 노정(216)을 시연하고 있는 사용자의 머리 위에서 도시한 도면이다. 노정(216)을 시연 시, 사용자는 로봇(202)을 초기 위치에서 시동할 수 있다. 그 후, 로봇(202)은 물체(208, 210, 212, 218) 주위를 헤집듯 나간다. 로봇(202)은 전술한 바와 같이 종료 위치에서 정지할 수 있다. 일부 경우에서(그리고 도시된 바와 같이), 자율적으로 네비게이팅한 노정(206)은 시연된 노정(216)과 정확히 동일할 수 있다. 일부 경우에서는, 노정(206)이 시연된 노정(216)과 정확히 동일하지 않을 수 있지만, 실질적으로는 유사할 수 있다. 예를 들어, 로봇(202)이 노정(206)을 네비게이팅해 나갈 때, 로봇(202)은 그의 센서들을 사용하여 그가 주변과 관계되어 있는지를 감지한다. 이러한 감지는 일부 경우에서는 부정확할 수 있는데, 이로 인해 로봇(202)은 시연되었었고 그 로봇(202)이 따르도록 훈련받았던 정확한 노정을 네비게이팅하지 못하게 될 수 있다. 일부 경우에서는, 선반 이동 및/또는 선반 위 물건들의 교체와 같은 환경(200)에 대한 작은 변동으로 인해, 로봇(202)이 노정(206)을 자율적으로 네비게이팅할 때에 노정(216)으로부터 이탈하게 될 수 있다. 다른 예로서, 전술한 바와 같이, 로봇(202)은 노정(206)을 자율적으로 네비게이팅할 때 물체 주위로 돌거나 속도를 늦추는 등에 의해 물체를 피할 수 있다. 이러한 물체는 사용자가 노정(216)을 시연할 때에는 존재하지 않았던(피하지 않았던) 것일 수 있다. 예를 들어, 물체는 잠깐 동안 그리고/또는 일시적으로 있는 물건일 수 있고/있거나 환경(200)에 대한 일시적 및/또는 동적 변동일 수 있다. 다른 예로서, 사용자는 노정(216)을 시연하는 일을 부실하게 했을 수 있다. 예를 들어, 사용자가 벽, 선반, 물체, 장애물 등에 충돌하고/하거나 부딪혔을 수 있다. 다른 예로서, 장애물은 사용자가 노정(216)을 시연하는 동안에는 존재했었을 수 있지만, 로봇(202)이 노정(206)을 자율적으로 네비게이팅할 때에는 더 이상 존재하지 않을 수 있다. 이러한 경우에, 로봇(202)은 벽, 선반, 물체, 장애물 등에 충돌 및/또는 부딪치는 동작과 같은 교정할 수 있는 한 가지 이상의 동작을 메모리(예를 들어, 메모리(302))에 저장할 수 있다. 그 후에 로봇(202)이 시연된 노정(216)(예를 들어, 노정(206))을 자율적으로 네비게이팅할 때에는, 로봇(202)은 그러한 동작을 보정해서, 자율적으로 네비게이팅할 때 그런 동작을 행하지 않는다(예를 들어, 벽, 선반, 물체, 장애물 등에 충돌하고/하거나 부딪치지 않는다). 이러한 방식으로, 로봇(202)은 시연된 노정과 같은 네비게이팅 가능한 노정의 적어도 일부를 자율적으로 네비게이팅하지 않기로 결정할 수 있다. 일부 구현예에서, 네비게이팅 가능한 노정의 적어도 일부를 자율적으로 네비게이팅하지 않기로 하는 결정에는, 장애물 및/또는 물체를 피할 때를 결정하는 것이 포함된다.
이전에 언급한 바와 같이, 사용자가 노정(216)을 시연할 때, 사용자는 로봇(202)에게 노정(216)을 따라서 그리고/또는 어느 궤도를 따라서 어느 곳(예를 들어, 어느 위치)을 청소하는지를(그리고 후속해서 로봇(202)이 언제 노정(206)을 자율적으로 청소하는지를) 훈련시키기 위해, 로봇(202)의 청소 시스템을 켜고 끄거나 혹은 다른 동작을 수행할 수 있다. 로봇은 이러한 동작들을 메모리(302)에 기록하여, 나중에 자율적으로 네비게이팅할 때에 그 동작들을 수행할 수 있다. 이러한 동작들에는, 로봇(202)이 예컨대 선회, 물을 틀기/잠그기, 물 뿌리기, 진공 청소 켜기/끄기, 진공 호스 위치 이동, 아암의 제스쳐 기동시키기, 리프트 올리기/내리기, 센서 이동, 센서 켜기/끄기 등을 수행하는 임의의 동작이 포함될 수 있다.
도 3은 본 개시내용의 일부 원리에 따른 로봇(202)의 기능 블록선도이다. 도 3에 도시된 바와 같이, 로봇(202)은 제어기(304), 메모리(302), 사용자 인터페이스 유닛(308), 외부수용성 센서 유닛(exteroceptive sensors unit)(306), 고유수용성 센서 유닛(proprioceptive sensors unit)(310) 및 통신 유닛(312)을 포함할 수 있고, 이뿐만 아니라 그 밖의 다른 컴포넌트 및 서브컴포넌트(예를 들어, 이들 중 몇몇은 예시되지 않을 수 있음)도 포함할 수 있다. 도 3에 특정 구현예가 예시되어 있지만, 본 개시내용의 내용들이 주어지는 경우 당업자에게 쉽게 자명하게 될 바와 같이, 특정 구현예들에서 아키텍처가 변화될 수 있다는 것이 이해된다.
제어기(304)는 로봇(202)에 의해 수행되는 다양한 동작들을 제어할 수 있다. 제어기(304)는 하나 이상의 프로세서들(예를 들어, 마이크로프로세서들) 및 다른 주변 장치들을 포함할 수 있다. 본원에서 사용되는 프로세서, 마이크로프로세서 및 디지털 프로세서라는 용어들은 이를테면, 비제한적으로, 디지털 신호 프로세서("DSP"), 축소 명령 세트 컴퓨터("RISC"), 범용("CISC") 프로세서, 마이크로프로세서, 게이트 어레이(예를 들어, 필드 프로그래머블 게이트 어레이("FPGA")), 프로그래머블 로직 디바이스("PLD"), 재구성 가능 컴퓨터 패브릭("RCF"), 어레이 프로세서, 보안 마이크로프로세서, 특수 프로세서(예를 들어, 뉴로모픽 프로세서) 및 주문형 반도체("ASIC") 등과 같은 임의의 유형의 디지털 프로세싱 디바이스를 포함할 수 있다. 이러한 디지털 프로세서들은 단일 유니터리 집적 회로 다이 상에 포함될 수 있거나, 또는 다수의 컴포넌트들에 걸쳐 분포될 수 있다.
제어기(304)는 메모리(302)에 동작 가능하게 그리고/또는 통신 가능하게 연결될 수 있다. 메모리(302)는, 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 비휘발성 랜덤 액세스 메모리("NVRAM"), 프로그래머블 판독 전용 메모리("PROM"), 전기적 소거 가능 프로그래머블 판독 전용 메모리("EEPROM"), 동적 랜덤 액세스 메모리("DRAM"), 모바일 DRAM, 동기식 DRAM("SDRAM"), 더블 데이터 레이트 SDRAM("DDR/2 SDRAM"), 확장 데이터 출력("EDO") RAM, 고속 페이지 모드("FPM") RAM, 감소된 레이턴시 DRAM("RLDRAM"), 정적 RAM("SRAM"), 플래시 메모리(예를 들어, NAND/NOR), 멤리스터 메모리, 의사정적 RAM("PSRAM") 등을 비제한적으로 포함하는, 디지털 데이터를 저장하도록 구성된 임의의 유형의 집적 회로 또는 그 밖의 다른 저장 디바이스를 포함할 수 있다. 메모리(302)는 명령들 및 데이터를 제어기(304)에 제공할 수 있다. 예를 들어, 메모리(302)는 복수의 명령들이 저장된 비-일시적 컴퓨터-판독가능 저장 매체일 수 있으며, 명령들은 로봇(202)을 동작시키도록 프로세싱 장치(예를 들어, 제어기(304))에 의해 실행 가능하다. 일부 경우들에서, 명령들은, 프로세싱 장치에 의해 실행될 때, 프로세싱 장치로 하여금 본 개시내용에서 설명되는 다양한 방법들, 특징들, 및/또는 기능성을 수행하게 하도록 구성될 수 있다. 따라서, 제어기(304)는 메모리(302) 내에 저장된 프로그램 명령들에 기초하여 논리 및 산술 연산들을 수행할 수 있다.
일부 구현예에서, 외부수용성 센서 유닛(306)은 로봇(202) 내의 및/또는 주변의 특징들을 감지할 수 있는 시스템들 및/또는 방법들을 포함할 수 있다. 외부수용성 센서 유닛(306)은 복수의 센서 및/또는 센서들의 조합을 포함할 수 있다. 외부수용성 센서 유닛(306)은 로봇(202) 내부 또는 외부에 있는 센서들을 포함할 수 있고, 그리고/또는 부분적으로 내부 및/또는 부분적으로 외부에 있는 컴포넌트들을 가질 수 있다. 일부 경우에서, 외부수용성 센서 유닛(306)은 음파 탐지기, 라이다(LIDAR), 레이더, 레이저, 카메라(비디오 카메라, 적외선 카메라, 3D 카메라 등을 포함함), 비행 시간(TOF) 카메라, 안테나, 마이크로폰 및/또는 당업계에 공지된 그 밖의 다른 임의의 센서를 포함할 수 있다. 일부 구현예에서, 외부수용성 센서 유닛(306)은 미가공 측정치들(예를 들어, 전류, 전압, 저항 게이트 로직 등) 및/또는 변환된 측정치들(예를 들어, 거리, 각도, 장애물 감지 지점 등)을 수집할 수 있다. 외부수용성 센서 유닛(306)은 측정치들에 적어도 부분적으로 기초하여 데이터를 생성할 수 있다. 이러한 데이터는 행렬, 어레이 등과 같은 데이터 구조로 저장될 수 있다. 일부 구현예에서, 상기 센서 데이터의 데이터 구조는 이미지라고 부를 수 있다.
일부 구현예에서, 고유수용성 센서 유닛(310)은 로봇(202)의 내부 특성들을 측정할 수 있는 센서들을 포함할 수 있다. 예를 들어, 고유수용성 센서 유닛(310)은 로봇(202)의 온도, 전력 레벨, 상태 및/또는 임의의 다른 특성을 측정할 수 있다. 일부 경우에서, 고유수용성 센서 유닛(310)은 로봇(202)의 오도메트리(odometry)를 결정하도록 구성될 수 있다. 예를 들어, 고유수용성 센서 유닛(310)에는, 가속도계, 관성 측정 유닛(IMU), 주행거리계, 자이로스코프, 속도계, 카메라(예를 들어, 시각적 오도메트리(visual odometry)를 사용하는 것), 시계/타이머 등과 같은 센서들을 포함할 수 있는 고유수용성 센서 유닛(310)이 포함될 수 있다. 로봇(202)의 자율 네비게이팅을 용이하게 하기 위한 오도메트리. 이 오도메트리에는 초기 위치에 대한 로봇(202)의 자세(예를 들어, 위치는 로봇의 위치, 변위 및/또는 방향을 포함하는 경우에는 때로는 본원에 사용된 용어인 자세로 치환할 수 있음)가 포함될 수 있다. 일부 구현예에서, 고유수용성 센서 유닛(310)은 미가공 측정치들(예를 들어, 전류, 전압, 저항 게이트 로직 등) 및/또는 변환된 측정치들(예를 들어, 거리, 각도, 장애물 감지 지점 등)을 수집할 수 있다. 이러한 데이터는 행렬, 어레이 등과 같은 데이터 구조로 저장될 수 있다. 일부 구현예에서, 상기 센서 데이터의 데이터 구조는 이미지라고 부를 수 있다.
일부 구현예에서, 사용자 인터페이스 유닛(308)은 사용자가 로봇(202)과 상호 작용할 수 있도록 구성될 수 있다. 예를 들어, 사용자 인터페이스(308)는 터치 패널, 버튼, 키패드/키보드, 포트(예를 들어, 범용 직렬 버스(USB), 디지털 비주얼 인터페이스(DVI), 디스플레이 포트, E-Sata, Firewire, PS/2, 시리얼, VGA, SCSI, 오디오 포트, 고화질 멀티미디어 인터페이스("HDMI"), 개인용 컴퓨터 메모리 카드 국제 협회("PCMCIA") 포트, 메모리 카드 포트(예를 들어, 보안 디지털(SD: secure digital) 및 miniSD) 및/또는 컴퓨터 판독가능 매체용 포트), 마우스, 롤러볼, 콘솔, 바이브레이터, 오디오 변환기, 및/또는 사용자가 데이터 및/또는 명령을 입력 및/또는 수신할 수 있도록 한 것으로서 무선 연결 또는 유선 연결을 막론한 임의의 인터페이스를 포함할 수 있다. 사용자 인터페이스 유닛(308)에는, 예컨대 비제한적으로 액정 디스플레이("LCD"), 발광 다이오드("LED") 디스플레이, LED LCD 디스플레이, 인-플레인 스위칭("IPS") 디스플레이, 음극선관, 플라즈마 디스플레이, 고화질("HD") 패널, 4K 디스플레이, 망막 디스플레이, 유기 LED 디스플레이, 터치스크린, 표면, 캔버스, 및/또는 임의의 디스플레이, 텔레비전, 모니터, 패널, 스크린, 및/또는 당업계에 공지된 시각적 표현을 위한 장치 등과 같은, 디스플레이들이 포함될 수 있다. 일부 구현예에서, 사용자 인터페이스 유닛(308)은 로봇(202)의 몸체 상에 위치될 수 있다. 일부 구현예에서, 사용자 인터페이스 유닛(308)은 로봇(202)의 몸체로부터 멀리 떨어져 위치될 수 있지만, 로봇(202)에 (예를 들어, 송신기, 수신기, 및/또는 송수신기를 포함한 통신 유닛을 거쳐서) 직접적으로 또는 간접적으로(예를 들어, 네트워크, 서버, 및/또는 클라우드를 통해) 통신 가능하게 연결될 수 있다.
일부 구현예에서, 통신 유닛(312)에는 하나 이상의 수신기, 송신기 및/또는 송수신기가 포함될 수 있다. 통신 유닛(312)은, 예컨대 블루투스(BLUETOOTH®), 지그비(ZIGBEE®), 와이파이(Wi-Fi), 유도 무선 데이터 전송, 무선 주파수, 무선 전송, 무선 주파수 식별("RFID"), 근거리 통신("NFC"), 적외선, 네트워크 인터페이스, 3G(3GPP/3GPP2)와 같은 셀룰러 기술, 고속 다운링크 패킷 액세스("HSDPA"), 고속 업링크 패킷 액세스("HSUPA"), 시분할 다중 액세스("TDMA"), 코드 분할 다중 액세스("CDMA")(예를 들어, IS-95A, 광대역 코드 분할 다중 접속("WCDMA") 등), 주파수 호핑 확산 스펙트럼("FHSS"), 직접 시퀀스 확산 스펙트럼("DSSS"), 글로벌 이동 통신 시스템("GSM"), 개인 영역 네트워크("PAN")(예를 들어, PAN/802.15), 마이크로웨이브 액세스를 위한 전세계 상호 운용성("WiMAX"), 802.20, 롱텀 에볼류션("LTE")(예를 들어, LTE/LTE-A), 시분할 LTE("TD-LTE"), 글로벌 이동 통신 시스템("GSM"), 협대역/주파수 분할 다중 액세스("FDMA"), 직교 주파수 분할 다중화("OFDM"), 아날로그 셀룰러, 셀룰러 디지털 패킷 데이터("CDPD"), 위성 시스템, 밀리미터파 또는 마이크로웨이브 시스템, 음향, 적외선(예를 들어, 적외선 데이터 통신("IrDA")), 및/또는 임의의 다른 형태의 무선 데이터 전송과 같은, 전송 프로토콜을 송신/수신하도록 구성될 수 있다.
본원에 사용된 네트워크 인터페이스는, 파이어와이어(FireWire)(예를 들어, FW400, FW800, FWS800T, FWS 1600, FWS3200 등), 범용 직렬 버스(USB)(예를 들어, USB 1.X, USB 2.0, USB 3.0, USB 타입-C 등), 이더넷(예를 들어, 10/100, 10/100/1000 (기가비트 이더넷), 10-Gig-E 등), 케이블 기반 멀티미디어 연합("MoCA") 기술, Coaxsys(예를 들어, TVNET™), 무선 주파수 튜너(예를 들어, 인-밴드 또는 OOB, 케이블 모뎀 등), 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 표준 802.11, IEEE 표준 802.11의 변형, IEEE 표준 802.11과 관련된 표준 (예를 들어, 802.11 a/b/g/n/ac/ad/af/ah/ai/aj/aq/ax/ay) 및/또는 기타 무선 표준 중 하나 이상을 포함할 수 있다.
통신 유닛(312)은 또한 신호선 및 접지를 갖는 임의의 케이블과 같은 유선 접속을 통해 전송 프로토콜을 송신/수신하도록 구성될 수 있다. 예를 들어, 위와 같은 케이블에는 이더넷 케이블, 동축 케이블, 범용 직렬 버스(USB), 파이어와이어(FireWire) 및/또는 당업계에 공지된 임의의 접속 수단이 포함될 수 있다. 이러한 프로토콜은 통신 유닛(312)에 의해 사용되어서 컴퓨터, 스마트폰, 태블릿, 데이터 갈무리 시스템, 이동 통신 네트워크, 클라우드, 서버 등과 같은 외부 시스템과 통신할 수 있도록 한다. 통신 유닛(312)은 숫자, 문자, 영숫자 문자 및/또는 기호를 포함하는 신호를 송신 및 수신하도록 구성될 수 있다. 일부 경우에서, 신호는 128 비트 또는 256 비트 키 및/또는 고급 암호화 표준(AES: Advanced Encryption Standard), RSA, 데이터 암호화 표준(DES: Data Encryption Standard), 트리플 DES 등과 같은 표준을 준수하는 그 밖의 다른 암호화 알고리즘과 같은, 알고리즘을 사용하여 암호화될 수 있다. 통신 유닛(312)은 상태, 명령, 및 그 밖의 다른 데이터/정보를 송신 및 수신하도록 구성될 수 있다. 예를 들어, 통신 유닛(312)은 사용자가 로봇(202)을 제어할 수 있게 하기 위해 사용자 조작기(user operator)와 통신할 수 있다. 통신 유닛(312)은 로봇(202)이 데이터, 상태, 명령 및 그 밖의 다른 통신 정보들을 서버에 송신할 수 있게 하기 위해 서버/네트워크와 통신할 수 있다. 상기 서버는 또한 로봇(202)을 원격으로 모니터링 및/또는 제어하는 데 사용될 수 있는 컴퓨터(들) 및/또는 장치(들)에 통신 가능하게 결합될 수도 있다. 통신 유닛(312)은 또한 로봇(202)을 위해 서버로부터 업데이트(예를 들어, 펌웨어 또는 데이터 업데이트), 데이터, 상태, 명령 및 그 밖의 다른 통신 정보도 수신할 수 있다.
일부 구현예에서, 하나 또는 그 이상의 컴포넌트 및/또는 서브컴포넌트는 로봇(202)으로부터 떨어져 있게 한 방식으로 예시될 수 있다. 예를 들어, 맵핑 및 위치 추정 유닛들(262)이 클라우드 내에 위치될 수 있고/있거나 통신 유닛(312)을 통해 로봇(202)에 접속될 수 있다. 접속은 직접 및/또는 서버 및/또는 네트워크를 통해 이루어질 수 있다. 따라서, 본 개시내용의 기능성을 구현한 예들은 또한 통신 유닛(312)을 사용하여 데이터가 전송될 수 있는 원격 상호 작용을 포함하는 것으로 이해되어야 하고, 프로세스들의 하나 이상의 부분은 원격으로 이행될 수 있다.
도 4a는 본 개시내용의 일부 구현예에 따른 것으로서, 로봇(202)과 장애물(402) 사이의 상호 작용을 예시하는 평면도 도면이다. 로봇(202)은 노정(216)을 네비게이팅할 때 장애물(402)과 마주칠 수 있다. 장애물(402)은 노정 부분(404)으로 예시되어 있는 로봇(202)의 경로를 방해할 수 있다. 로봇이 노정 부분(404)을 계속 따라가면 장애물(402)과 충돌할 수 있다. 그러나, 일부 상황에서는, 외부수용성 센서 유닛(306) 및/또는 고유수용성 센서 유닛(310)을 사용하는 로봇(202)은 장애물(402)과 충돌하기 전에 정지할 수 있다.
장애물(402)과의 이러한 상호 작용은 본 개시내용에 따른 구현예의 이점을 예시하는 것이다. 도 4b는 본 발명의 구현예에 따른 것으로, 글로벌 레이어(406), 중간 레이어(408), 및 로컬 레이어(410)의 선도이다. 글로벌 레이어(406), 중간 레이어(408), 및 로컬 레이어(410)는 메모리(302) 및/또는 컨트롤러(304) 중 하나 이상에서 예시되는 하드웨어 및/또는 소프트웨어 레이어일 수 있다. 글로벌 레이어(406)는 글로벌 매핑 및 라우팅을 구현하는 소프트웨어 및/또는 하드웨어를 포함할 수 있다. 예를 들어, 하이 레벨 매핑은 환경의 지도(200)를 포함할 수 있다. 상기 지도에는 또한, 로봇(202)을 환경(200) 내의 공간에서 네비게이팅하게 할 수 있는 노정(216)의 표시도 포함될 수 있다.
일부 구현예에서, 글로벌 레이어(406)는 글로벌 플래너를 포함할 수 있다. 이러한 방식에서, 글로벌 레이어(406)는 로봇(202)의 위치(예를 들어, 2차원 좌표, 3차원 좌표, 4차원 좌표 등과 같은 글로벌 좌표); 로봇(202)이 목표에 도달하기 위해 취해야 하는 경로; 및/또는 보다 높은 수준의(예를 들어, 장거리) 계획 중 하나 이상을 결정할 수 있다. 이러한 방식에서, 로봇(202)은 그의 일반적인 경로 및/또는 방향을 결정하여 한 위치에서 다른 위치로 이동할 수 있다.
로컬 레이어(410)는 로컬 플래닝을 구현하는 소프트웨어 및/또는 하드웨어를 포함한다. 예를 들어, 로컬 레이어(410)는 동작의 국지적 제약 내에서 기동하도록 구성된 단거리 계획을 포함할 수 있다. 로컬 레이어(410)는 외부수용성 센서 유닛(306)으로부터 수신된 데이터를 처리하여, 로봇(202) 근처의 장애물들 및/또는 물체들의 존재 및/또는 위치를 결정할 수 있다. 예를 들어, 물체가 외부수용성 센서 유닛(306)의 센서(예를 들어, 라이다, 음파 탐지기, 카메라 등)의 범위 내에 있으면, 로봇(202)은 물체를 감지할 할 수 있다. 로컬 레이어(410)는 모터 기능성을 계산 및/또는 제어하여서, 예컨대 액추에이터를 선회, 전진, 후진 등을 하도록 제어함으로써, 물체 주위를 네비게이팅하도록 할 수 있다. 일부 경우에서, 로컬 레이어(410)에서의 처리는 컴퓨터 계산 집약적일 수 있다. 예를 들어, 로컬 레이어(410)는 외부수용성 센서 유닛(306) 및/또는 고유수용성 센서 유닛(310)의 센서들로부터 데이터를 수신할 수 있다. 그 후 로컬 레이어(410)는 외부수용성 센서 유닛(306)에 의해 감지된 물체를 피할 수 있도록 하기 위해 모터의 기능들(예를 들어, 스티어링 칼럼을 좌우로 돌리기 위해 모터를 사용하는 것 및/또는 로봇을 전방으로 밀기 위해 모터를 사용하는 것)을 결정할 수 있다. 로컬 레이어(410)와 글로벌 레이어(406)의 상호 작용은 로봇(202)으로 하여금 그의 목표까지의 노정을 대체로 따라서 여전히 움직이고 있는 동안 로컬 조정을 할 수 있게 한다.
그러나, 상황에 따라서는, 조정은 로컬 레이어(410)의 정밀한 모터 기능들에 대한 컴퓨터 계산 집약적 수준에서가 아니라, 글로벌 레이어(406)에 의해 계산되는 것에 비해 좀 더 정교한 수준에서 이루어지는 것이 바람직할 수 있다. 따라서, 중간 레이어(408)는 로봇(202)이 물체 주위를 네비게이팅할 때의 로봇(202)의 중간 조정을 결정할 수 있는 하드웨어 및/또는 소프트웨어를 포함할 수 있다.
로봇(202)은 그의 환경 내에 있는 물체 및/또는 장애물을 피하는 방법을 중간 레이어(408)에서 계획할 수 있다. 일부 경우에서, 중간 레이어(408)는 글로벌 레이어(406)로부터의 글로벌 경로 플래너로부터 적어도 일부 경로 및/또는 노정으로 초기화될 수 있다.
물체(예를 들어, 장애물, 벽 등)는 로봇(202)이 충돌할 수 있는 것을 나타내므로, 물체 및/또는 장애물은 로봇(202)에 반발력을 발휘할 수 있다. 일부 경우에서, 로봇(202)은 로봇(202)을 물리치는 물체에 의해서 물체 및/또는 장애물 주위의 충돌 없는 경로를 따라 네비게이팅할 수 있다.
도 4c는 본 개시내용의 일부 구현예에 따른 것으로서, 예시적인 동적 노정 계획을 위한 방법(450)의 프로세스 흐름도이다. 일부 구현예에서, 이 방법(450)은 중간 레이어(408) 및/또는 제어기(304)에 의해 수행될 수 있다. 블록 452는 하나 이상의 노정 자세를 포함하는 노정을 획득하는 것을 포함할 수 있다. 일부 경우에서, 이 노정은 로봇(202)에 의해 생성될 수 있고/있거나 로봇(202)에 업로드될 수 있다. 일부 경우에서, 노정은 글로벌 레이어(406)로부터 중간 레이어(408)로 전달될 수 있다. 블록 454는 제1 노정 자세를 선택하는 것을 포함할 수 있다. 블록 456은 제1 노정 자세를 위해 환경 내의 물체들로부터의 반발력을 결정하는 것을 포함할 수 있다. 블록 458은 제1 노정 자세를 위해 그 밖의 다른 노정 자세들로부터의 인력을 결정하는 것을 포함할 수 있다. 블록 460은 상기 반발력 및 인력으로 인한 제1 노정 자세의 병진 이동 및/또는 회전을 결정하는 것을 포함할 수 있다. 블록 462는 상기 병진 이동 및/또는 회전된 노정 자세를 밝히기 위해 보간을 수행하는 것을 포함할 수 있다. 이 프로세스 및 그 밖의 다른 것들에 대해서는 본 개시내용 전체에 걸쳐 예시될 것이다.
예시로서, 도 4d는 본 개시내용의 일부 구현예에 따른 것으로, 노정 자세들(414, 416)을 물체들에 의해 가해지는 반발력과 함께 예시하고 있다. 예를 들어, 한 노정 상의 지점들은 로봇(202)의 자세를 그의 노정 전체에 걸쳐 예시하고 있는 경로를 따르는, 예컨대 노정 자세들과 같은, 이산화된 위치들일 수 있다. 일부 경우에서, 그러한 이산화된 위치들은 또한 입자들 또는 거품들과 같은 관련된 확률을 가질 수 있다. 노정 자세들은 로봇(202)이 노정 상에서 이동하게 되는 자세 및/또는 방향을 동정할 수 있다. 상기 노정 자세는 평면 적용 시 (x, y, θ) 좌표를 포함할 수 있다. 일부 경우에서, θ는 평면에서의 로봇의 지향 방향일 수 있다. 노정 자세들은 로봇(202)의 노정 상에서 일정한 간격으로 혹은 일정하지 않은 간격으로 벌어져 있을 수 있다. 일부 경우에서, 중간 레이어는 방법(450)의 블록 452에서 설명된 바와 같이 하나 이상의 노정 자세를 포함하는 노정을 글로벌 레이어(406)로부터 획득할 수 있다. 일부 구현예에서, 노정 자세들은 순서를 형성할 수 있고, 이 경우 로봇(202)은 한 노정 상의 순차적인 노정 자세들 사이를 이동한다. 예를 들어, 노정 자세들(414, 416)은 로봇(202)이 노정 자세(414)로 이동하고 그 다음 노정 자세(416)로 이동하게 되는 순차적 노정 자세일 수 있다.
예시적인 예로서, 노정 자세들(414, 416)은 노정 부분(404)을 따라서 이산화된 위치들을 예시한다. 이 예시적인 예는 실질적으로 유사한 풋프린트들을 갖는, 로봇(202)같은 형상의 노정 자세(414, 416)를 보여주고 있다. 노정 자세들(414, 416)의 풋프린트는 로봇 충돌과 관련하여 보수적인 사람이 원하는 방식에 따라 크기를 조정할 수 있다. 풋프린트가 작으면 작을수록 충돌 가능성은 더 크게 나타날 수 있지만, 그와 같이 작은 풋프린트는 로봇(202)으로 하여금 그가 자율적으로 네비게이팅할 때 감당해낼 수 있어야 하는 영역을 더 많이 청소할 수 있게 한다. 풋프린트가 커지면 커질수록 충돌의 가능성은 줄어들겠지만, 로봇(202)은 그가 감당해낼 수 있어야 할 일부 장소는 자율적으로는 통과하지 않게 된다. 풋프린트는, 노정 자세(예를 들어, 노정 자세(414, 416))에 예시된 바와 같이, 로봇(202)의 풋프린트의 크기(예를 들어, 규모)를 설정하는 풋프린트 조변수에 의해 미리 결정될 수 있다. 일부 경우에서, 로봇(202)의 노정 자세의 크기를 비대칭으로 제어하는 복수의 풋프린트 조변수들이 있을 수 있다.
도 4d에서는 노정 자세(414 및 416)가 도시되고 설명되고 있지만, 당업자는 한 노정 전체에 걸쳐서 임의의 수의 노정 자세들이 있을 수 있으며 그러한 노정 자세들에는 본 개시의 구현예들에 대한 설명이 적용될 수 있음을 이해해야 한다. 유리하게도, 노정 자세(414, 416)(예를 들어, 로봇(202)의 풋프린트)를 로봇(202)과 유사한 모양으로 갖춤으로써, 로봇(202)이 이동하는 중에 들어맞을 수 있는 장소들을 로봇(202)이 결정할 수 있게 된다. 풋프린트 조변수(들)은 로봇(202)이 어떻게 그 자신을 계획할지를 조정하는 데 사용될 수 있다. 예를 들어, 노정 자세(414 및/또는 416)에 사용된 풋프린트가 크면 클수록, 이는, 적어도 부분적으로, 로봇(202)으로 하여금 물체들로부터 더 멀리 떨어져 이동하게 한다는 점에서, 더 보수적일 수 있다. 대조적으로, 풋프린트가 작으면 작을수록, 이는, 적어도 부분적으로, 로봇(202)으로 하여금 물체에 더 가까이 이동하게 할 수 있다. 노정 자세들(예를 들어, 노정 자세(414 및 416))은 서로 다른 크기일 수 있다. 예시로서, 로봇(202)이 선회와 같은 특정 시나리오에서는 보다 보수적인 것이 바람직할 수 있다. 따라서 이 예시에서 선회 시의 노정 자세의 풋프린트는 직선 경로 상의 노정 자세의 풋프린트보다 클 수 있다. 이와 같은 노정 자세의 동적 재구성은 노정 자세의 크기를 해당 노정 자세의 다른 노정 자세들에 대한 상대 회전에 의존하거나 또는 해당 노정 자세의 병진 이동 및/또는 회전의 변화에 의존해서 결정함으로써 수행될 수 있다. 한 노정 상의 하나 이상의 노정 자세들(예를 들어, 노정 자세(414 및/또는 416))은 또한 로봇(202)의 형상 이외의 다른 형상일 수 있다. 예를 들어, 노정 자세는 원형, 정사각형, 삼각형 및/또는 그 밖의 다른 임의의 형상일 수 있다.
방법(450)에 있어서의 블록 454에서 설명된 바와 같이, 노정 자세들 중 어느 한 조정 자세(414 또는 416)를 제1 노정 자세로 관찰할 수 있다. 그러나, 예시를 위해서, 그리고 본 개시의 설명된 구현예들의 범위를 예시하기 위해서, 노정 자세들(414 및 416)이 함께 설명될 것이다.
물체를 따르는 지점들(예를 들어, 맵핑, 외부수용성 센서 유닛(306)의 센서들에 의한 감지 등에 의해 결정됨)은 로봇(202)의 노정 자세(예를 들어, 노정 자세(414 및 416))에 반발력을 가할 수 있다. 이러한 방식으로, 물체들은 개념적으로는 로봇(202)이 그 물체들에 충돌하는 것을 방지할 수 있다. 일부 경우에서, 이러한 지점들은 자세들 및/또는 자세들의 집합들을 적어도 부분적으로 나타낼 수 있다. 예를 들어, 화살표(412)는 물체(210)를 따르는 지점들로부터의 반발력을 예시한다.
일부 구현예에서, 물체마다의 지점들에 의해 가해진 힘들은 노정 자세(414 및 416) 상의 각 지점이 그들에 가해진 힘과 실질적으로 유사한 힘을 갖는다는 점에서 균일할 수 있다. 그러나, 다른 구현예에서, 노정 자세(414 및 416) 상의 물체들의 지점들에 의해 가해지는 힘은 균일하지 않을 수 있으며, 힘 함수에 기반을 두고 달라질 수 있다.
예시로서, 힘 함수(예를 들어, 반발력 함수)는, 일부 경우에서는, 물체에 의해서 노정 자세(414 또는 416) 상의 지점에 작용한 반발력을 적어도 부분적으로 결정할 수 있다. 예를 들어, 힘 함수는 방법(450)의 블록 456에서 사용되어, 제1 노정 자세(예를 들어, 노정 자세들(414 및 416) 중 제1 노정 자세)에 적용하기 위한, 환경 내의 물체들로부터의 반발력을 결정할 수 있다. 일부 구현예에서, 힘 함수는 노정 자세(414 및 416)에 대해서 물체가 나타나게 되는 곳의 특성에 의존할 수 있다. 그 다음, 힘 함수는 노정 자세(414, 416)의 지점들(예를 들어, 노정 자세(414, 416)의 표면 상의 하나 이상의 지점들, 노정 자세(414, 416)의 중심, 노정 자세(414, 416)의 질량 중심, 및/또는 노정 자세(414, 416)의 및/또는 그 주위의 임의의 지점)이 겪는 힘을 나타낼 수 있다. 힘은 힘의 방향 및 크기에 의존할 수 있기 때문에, 반발력(및/또는 인력)은 벡터가 될 수 있다. 일부 경우에서, 반발력은 노정 자세에 회전력을 가할 수 있고, 이는 토크 힘으로 나타날 수 있다.
예를 들어, 반발력과 토크 힘은 한 경로를 따라 n 개의 상이한 자세에서 계산할 수 있다. 일부 경우에서, 이러한 n 개의 상이한 자세들은 노정 자세들과 관련될 수 있다. 각 자세는 하나의 풋프린트 내의 m 개의 지점으로 구성될 수 있다. 일부 경우에서, 이러한 m 개의 지점들은 노정 자세들 상의 지점들일 수 있다.
일부 경우에서, 복수의 지점들이 로봇(202)의 바디의 일부분 및/또는 로봇(202)의 실질적으로 모든 부분에 대한 상징적 범위를 제공하면서, 노정 자세(414 및 416)에 반영된 것과 같은 로봇(202)의 바디를 정의할 수 있다. 예를 들어, 15 내지 20 개의 점들이 로봇(202)의 표면 및/또는 내부에 걸쳐 분포되고 노정 자세(414 및 416)에 반영될 수 있다. 그러나 일부 경우에서는 점들의 수가 이보다 적을 수 있다. 도 4f는 노정 자세(414) 상의 지점(418)과 같은 예시적인 지점들을 예시한다. 각 지점은 노정 자세(414) 주변에 있는 물체에 의해 그 위에 놓이는 힘(예를 들어, 반발력)에 적어도 부분적으로 부닥칠 수 있다.
유리하기로는, 힘에 부닥칠 수 있는 노정 자세(414, 416)의 바디 상에 복수의 지점을 구비함으로써, 노정 자세(414, 416)의 지점들이 서로에 대해 병진 이동 및/또는 회전할 수 있고, 이로 인해 노정 자세(414, 416)의 장소 옮기기(병진 이동 및/또는 회전)가 야기된다. 노정 자세(414, 416)의 이러한 병진 이동 및/또는 회전은 로봇(202)이 네비게이팅하는 노정의 변형을 야기할 수 있다.
노정 자세 상의 상이한 지점들이 상이한 크기 및 방향의 힘을 받을 때 비틀림 힘이 발생할 수 있다. 따라서 비틀림 힘은 노정 자세의 회전을 야기할 할 수 있다. 일부 경우에, 미리 결정된 조변수들은 노정 자세(414, 416)가 받는 비틀림을 적어도 부분적으로 정의할 수 있다. 예를 들어, 미리 결정된 비틀림 조변수는 노정 자세(414 또는 416) 상의 한 지점 상에서 겪는 회전력에 대한 승수를 포함할 수 있다. 이러한 미리 결정된 비틀림 조변수는 노정 자세(414 또는 416)와 경로의 오정렬로 인한 힘을 나타낼 수 있다. 일부 경우에서, 상기 미리 결정된 비틀림 조변수는 힘이 반발력인지 응집력인지에 따라 달라질 수 있다.
도 4d에 도시된 바와 같이, 힘 함수가 부분적으로 의존하는 특성은 노정 자세(414, 416)에 대한 물체 상의 한 지점의 위치일 수 있다. 거리는 외부수용성 센서 유닛(306)의 센서들에 적어도 부분적으로 기초하여 결정될 수 있다. 제1 예로서, 로봇(202) 외부의 물체의 한 지점(예를 들어, 예시된 바와 같은 장애물(210, 212) 상의 지점들과 같은, 노정 자세(414, 416)의 풋프린트 내에 있지 않은 것)으로부터 노정 자세(414, 416) 상으로 가해지는 반발력은 함수 r(d) ∝ 1/d로 적어도 부분적으로 특징지어질 수 있고, 여기서 r은 물체 상의 한 점의 반발력이고, d는 물체 상의 상기 점과 노정 자세(414 또는 416) 상의 한 점 사이의 거리이다. 이러한 방식으로, 물체 상의 한 점의 반발력은 물체 상의 상기 점과 노정 자세(414 또는 416) 상의 상기 점 사이의 거리에 반비례한다. 유리하게도, 위와 같은 함수는 노정 자세(414, 416)에 근접한 물체들이 더 많은 반발력을 발휘할 수 있게 함으로써, 로봇(202)의 코스에 잠재적으로 더 강하게 영향을 미쳐서 물체들을 더 멀리 떨어뜨리기 보다는 충돌을 회피할 수 있도록 한다.
일부 경우에서, 미리 결정된 반발 거리 임계치는 노정 자세(414, 416) 상의 한 점과 물체 상의 한 지점 사이의 거리에 놓일 수 있다. 이러한 미리 결정된 반발 거리 임계치는 노정 자세(414)나 혹은 노정 자세(416)의 한 지점과 물체 상의 한 지점 사이의 최대 거리를 적어도 부분적으로 나타낼 수 있는데, 여기서 물체 상의 상기 지점은 노정 자세(414)나 혹은 노정 자세(416)의 지점에 반발력(및/또는 비틀림 힘)을 가할 수 있다. 따라서, 물체 상의 한 점이 상기 임계치를 초과(또는, 상기 임계치의 정의에 의존할 때, 상기 임계치와 같고/같거나 그보다 높은) 거리(예를 들어, 노정 자세(414)나 노정 자세(416)로부터의 거리)일 때, 반발력 및/또는 비틀림 힘은 영(0) 또는 실질적으로 0일 수 있다. 유리하게도, 미리 결정된 반발 거리 임계치를 가짐으로써, 일부 경우에서는, 물체들 상의 일부 지점들이 노정 자세(414, 416) 상의 지점들에 힘을 가하는 것을 방지할 수 있다. 이러한 방식으로, 미리 결정된 반발 거리가 있을 때, 로봇(202)은 특정 물체에 더 가깝게 될 수 있고/있거나 더 멀리 떨어져 있는 물체들에 영향을 받지 않을 수 있다.
제2 예로는, 노정 자세(414, 416) 내부(예를 들어, 노정 자세(414, 416)의 풋프린트 내)의 한 지점으로부터 노정 자세(414, 416) 상으로 가해진 반발력이다. 예를 들어, 물체(402)는 노정 자세(416)에 대한 내부를 나타내는 부분(420)을 갖는다. 이 경우에, 상이한 힘 함수가 부분(420) 내의 물체(402)의 지점들에 의해 부분(420) 내의 노정 자세(416)의 지점들에 가해질 수 있다. 일부 구현예에서, 이 힘은 함수 r(d) ∝ d로 적어도 부분적으로 특징지어질 수 있고, 여기서 변수들을 전술한 바와 같다. 유리하게도, 내부 물체들에 대해 정의된 다른 힘 함수를 가짐으로써, 노정 자세(416)가 비대칭되게 이동하여 회전을 일으킬 수 있다.
일부 구현예에서, 상기 힘 함수는 또한, 예컨대 물체의 형상, 재질, 색상, 및/또는 그 밖의 다른 임의의 특성과 같은, 물체의 그 밖의 다른 특성들에도 의존할 수 있다. 이러한 특성들은 당업계의 공지된 방법에 따라 외부수용성 센서 유닛(306)의 하나 이상의 센서에 의해 결정될 수 있다. 유리하기로는, 상기 특성들을 고려함으로써 로봇(202)이 물체 주위를 어떻게 네비게이팅해야 하는지를 추가로 더 알 수 있다. 일부 경우에, 이러한 특성을 기반으로 한 추가 반발 값을 계산하는 데 비용 지도가 사용될 수 있다.
예를 들어, 물체의 형상은 관련된 충돌 반동을 적어도 부분적으로 나타낼 수 있다. 예시로서, 인간을 닮은(humanoid) 형상은 사람을 나타낼 수 있다. 이와 같이, 이 형상으로 감지된 물체는 경로를 인간을 닮은 형상으로부터 더 멀리 밀기 위해 노정 자세(414, 416)에 더 큰 반발력을 가할 수 있다. 다른 예로서, 물체의 형상은 충돌이 발생했다면 손상(예를 들어, 물체 또는 로봇(202)에 대한 손상)이 증가했다는 것을 부분적으로 나타낼 수 있다. 예시로서, 뾰족한 물체들, 날씬한 물체들, 불규칙한 물체들, 미리 결정된 형상들(예를 들어, 화병, 램프, 디스플레이 등) 및/또는 그 밖의 다른 임의의 형상은 결과적으로 손상이 증가했다는 것을 적어도 부분적으로 나타낼 수 있다. 크기는 고려할 수 있는 형상의 또 다른 특성일 수 있다. 예를 들어, 물체가 작으면 작을수록 충돌 시에 더 많이 부서지기 쉽지만, 물체가 크면 클수록 로봇(202)에 더 많은 손상을 일으킬 수 있다. 크기의 경우, 물체 상의 지점들이 노정 자세(414, 416) 상의 지점들을 원하는 대로 비례적으로 물리칠 수 있도록 물체의 크기를 힘 함수에서 고려할 수 있다. 예시로서, 노정 자세(414)가 큰 물체와 작은 물체 사이에 있는 경우에, 큰 물체의 지점들이 적어도 부분적으로 힘 함수에 정의된 바와 같이 비교적 큰 반발력을 갖는다면, 노정 자세(414)는 상대적으로 작은 물체에 더 근접하게 밀릴 것이다. 작은 물체의 지점들이 적어도 부분적으로 힘 함수에 정의된 바와 같이 비교적 큰 반발력을 갖는다면, 노정 자세(414)는 상대적으로 큰 물체에 더 근접하게 밀릴 것이다. 따라서, 노정 자세(414, 416) 상의 반발력은 형상에 적어도 부분적으로 기초하여 조정될 수 있다. 형상은 적어도 부분적으로는 외부수용성 센서 유닛(306)의 센서들에 의해 감지될 수 있다. 다른 예시적인 예로서, 벽은 비용 지도에서 식별될 수 있고, 벽의 크기 및 형상으로 인해 반발력이 벽과 관련될 수 있다.
일부 구현예에서, 상기 힘 함수는 또한 물체의 재질에도 의존할 수 있다. 예를 들어, 어떤 재질은 충돌이 일어난 경우에 더 많은 손상을 적어도 부분적으로 나타낼 수 있다. 예시로서, 유리, 자기, 거울 및/또는 그 밖의 다른 연성 재료는 충돌 시에 더 많이 손상되는 것으로 입증될 수 있다. 거울의 경우와 같은 일부 경우에서는, 그 재질로 인해 종종 외부수용성 센서 유닛(306)의 센서들에 오류가 야기될 수 있다. 따라서, 일부 경우에서는, 로봇(202)이 그러한 물체들로부터는 멀리 떨어져 네비게이팅하는 것이 바람직할 수 있고, 이러한 것은 힘 함수에 반영될 수 있다(예를 들어, 일부 재질의 물체 상의 지점들에 의해 가해지는 반발력을 다른 재질의 것에 비해 증가시킴).
일부 구현예에서, 색상이 외부수용성 센서 유닛(306)의 센서들에 의해 감지될 수 있다. 힘 함수는 물체의 색상 및/또는 물체 상의 지점들에 적어도 부분적으로 의존할 수 있다. 예를 들어, 소정 환경 내의 특정 물체들은 로봇(202)(또는 경우에 따라서는 사람)이 그러한 물체들에 주의해야 한다는 것을 적어도 부분적으로 나타내기 위해 특정 색상(예를 들어, 적색, 황색 등)일 수 있다. 따라서, 일부 경우에서는, 로봇(202)이 그러한 물체들로부터는 멀리 떨어져 네비게이팅하는 것이 바람직할 수 있고, 이러한 것은 힘 함수에 반영될 수 있다.
일부 구현예에서, 힘 함수는 물체의 위치와 같은 그 밖의 다른 요인들에 의존할 수 있다. 예를 들어, 지도(예를 들어, 글로벌 레이어(406)로부터 전달된 것)의 특정 영역은 특성들을 가질 수 있다. 예시로서, 지도(예를 들어, 비용 지도)의 일부 영역은 로봇(202)이 통과해서는 안 되는 영역일 수 있다. 로봇(202)이 (예컨대, 물체 안으로 접근할 수 없는 것과 같이) 접근할 수 없기 때문에 로봇(202)이 들어갈 수 없는 장소들도 있을 수 있다. 따라서 일부 경우에서는 그러한 장소들을 밝히기 위해 힘 함수를 조정할 수 있다. 일부 구현예에서, 힘 함수는 그 장소들 내의 지점들이 노정 자세(414, 416) 상의 지점들에 어떠한 힘도 가하지 않게(또는 힘을 실질적으로 전혀 가하지 않게) 할 수 있다. 유리하기로는, 로봇(202)이 가지 않는 영역(예를 들어, 물체 내부 등)에는 어떠한 힘도 반영하지 않을 수 있다. 대조적으로, 일부 구현예에서는 이러한 장소들은 장애물로 취급되어서, 노정 자세(414, 416)에 반발력을 가할 수 있다. 유리하게도, 이러한 반발력을 가짐으로써 로봇(202)이 그러한 영역으로 들어가려고 시도하는 것을 방지할 수 있다.
일부 구현예에서는, 노정 자세(414, 416) 상의 모든 힘이 반발력이 있는 것은 아니다. 예를 들어, 노정 자세들(예를 들어, 노정 자세들(414, 416)) 상의 지점들은 노정 자세들을 서로를 향해 적어도 부분적으로 끌어당길 수 있는 인력(예를 들어, 응집력)을 발휘할 수 있다. 도 4e는 본 개시내용의 일부 구현예에 따른 것으로, 노정 자세들(414, 416) 간의 인력을 예시하고 있다. 화살표들은 노정 자세들이 노정 부분(404)을 따라 서로를 향해 당겨짐을 적어도 부분적으로 나타낸다. 유리하기로는, 노정 자세들 사이의 응집력은, 적어도 부분적으로, 로봇(202)에게 글로벌 레이어(406)에 의해 계획된 경로와 실질적으로 유사한 경로(예를 들어, 로봇(202)이 네비게이팅할 주변에 물체가 없는 경우에 따라야 하는 원래 시연된 노정과 같은 원래의 노정과 실질적으로 유사한 노정)를 따르는 것을 지향하게 수 있다.
응집력은 노정 자세들/입자들 사이의 이격 거리, 경로의 평활도, 로봇(202)이 경로를 따르는 것이 얼마나 바람직한지 등과 같은 경로의 특성들에 의존할 수 있는 힘 함수(예를 들어, 응집력 함수)에 의해 설정될 수 있다. 일부 경우에서, 상기 응집력 함수는 미리 결정된 응집 승수에 적어도 부분적으로 기초할 수 있는데, 이는 노정 자세들을 함께 끌어당기는 힘을 적어도 부분적으로 결정할 수 있다. 미리 결정된 응집 승수가 낮으면 노정 부분(404)의 응집력(예를 들어, 노정 자세들을 노정 부분 쪽으로 끌어당기는 힘)을 감소시킬 수 있고, 어떤 경우에는 로봇(202)이 이동하는 경로의 평탄성에 손실을 초래할 수 있다. 일부 경우에서는 순차적 노정 자세들만이 서로의 지점들에 응집력을 발휘한다. 일부 경우에서는 순차적 모든 노정 자세들이 서로에게 응집력을 발휘한다. 일부 경우에서는 일부의 노정 자세들이 서로에게 응집력을 발휘한다. 어떤 노정 자세들이 서로에게 응집력을 발휘하도록 구성되는지를 결정하는 것은 여러 가지 요인에 의존할 수 있는데, 그 요인들은 경우에 따라 달라질 수 있다. 예를 들어, 노정이 원형인 경우, 모든 노정 자세들이 그 원을 강화하기 위해 서로 응집력을 발휘하는 것이 바람직할 수 있다. 다른 예로서, 노정이 복잡한 경우, 어떤 복잡한 경로에서는 순차적 노정 자세들만이 서로 응집력을 발휘하게 하는 것이 바람직할 수 있다. 이러한 제한은 다른 위치 결정된 노정 자세들이 그러한 제한에 과도하게 영향을 미치지 않기 때문에 로봇(202)으로 하여금 더 많이 선회할 수 있게 하고/하거나 보다 더 예측 가능한 결과를 가질 수 있게 한다. 앞서 말한 복잡한 예들 사이에는 응집력을 발휘하는 노정 자세들의 일부가 있을 수 있다. 또 다른 예로서, 노정 자세들의 개수도 또한 요인이 될 수 있다. 한 노정에 노정 자세가 많으면 모든 노정 자세들이 서로 응집력을 발휘하는 경우에는 예상치 못한 결과가 초래될 수 있다. 노정 자세들의 수가 적으면 문제가 되지 않을 수 있으며 노정 자세들 전부 또는 일부가 힘을 발휘할 수 있다. 일부 경우에서는 미리 결정된 응집력 거리 임계치가 존재할 수 있는데, 여기서, 제1 노정 자세 상의 한 지점이 제2 노정 자세 상의 한 지점으로부터 상기 미리 결정된 응집력 거리 임계치보다 큰(또는 이 임계치가 어떻게 정의되는지에 따라서는, 그보다 크거나 또는 그와 동등한) 거리에 있는 경우, 응집력은 0 또는 실질적으로 0 일 수 있다.
일부 구현예에서, 응집력 함수와 반발력 함수는 동일한 힘 함수일 수 있다. 일부 구현예에서, 응집력 함수와 반발력 함수는 별개일 수 있다. 응집력 함수는 방법(450)의 블록 458에 따라 다른 노정 자세들로부터의 인력을 결정하는 데 사용될 수 있다. 일부 구현예에서, 응집력과 반발력은 모두 다 노정 자세의 비틀림을 초래할 수 있다(예를 들어, 회전을 야기할 수 있다).
중간 레이어(408)를 참조하여 설명한 바와 같이, 노정 자세(414, 416)는 상이한 인력 및 반발력을 받을 수 있다. 일부 구현예에서, 상기 힘들은 어레이에 저장될 수 있다. 예를 들어, 반발, 비틀림, 응집 등을 나타내는 힘들의 어레이가 있을 수 있다.
일부 경우에서, 힘들은, 예컨대 한 지점으로부터의 개별 힘 및/또는 힘들의 그룹을 켜거나 끌 수 있는 온/오프 조변수를 사용하여, 토글시킬 수 있다. 예를 들어, 상기 온/오프 조변수는 이진수일 수 있는데, 이 경우에서 한 값은 힘을 켜는 것이고 다른 한 값은 힘을 끄는 것이다. 이런 방식으로, 일부 힘들은, 예컨대 한 물체가 한 노정 자세로부터 떨어진 거리, 한 지점이 한 물체의 내부에 있는지 혹은 가지 않을 구역에 있는지 여부, 노정 자세들 사이의 거리 등에 기초하여, 끌 수 있다.
결국에는, 노정 자세들(414, 416) 상의 순 힘은 하나 이상의 노정 자세(414, 416)를 재배치할 수 있다. 예를 들어, 노정 자세(414, 416)는 변위될 수 있다. 노정 자세(414, 416)는 이들의 임의의 방향의 순 힘이 실질적으로 0 및/또는 최소로 될 때까지 변위(예컨대, 병진 이동 및/또는 회전)될 수 있다. 이러한 방식으로, 노정 자세(414, 416)는 로봇(202)이 물체들(예를 들어, 장애물(402))을 피해서 이동할 수 있도록 하기 위한 조정된 노정을 적어도 부분적으로 나타내는 위치로 변위될 수 있다. 반발력 및 인력으로 인한 노정 자세의 병진 이동 및/또는 회전은 방법(450)의 블록 460에 따라서 결정될 수 있다.
노정 자세(414, 416)의 변위를 결정하는 데는 여러 가지 조정들이 이루어질 수 있다. 예를 들어, 일부 경우에서는 노정 자세(414, 416)에 작용하는 모든 힘을 고려하는 대신에 인력만 고려할 수 있다. 유리하게도, 이러한 시스템은 로봇(202)을 정적 경로에 고정되게 할 수 있다. 로봇(202)은 노정 플래너를 위한 새로운 경로를 노정 자세(414, 416)의 변위에 적어도 부분적으로 기초하여 설정할 수 있다. 상기 새로운 경로에서, 궤적은 로봇(202)이 경로를 이동하고 있는 때의 로봇(202) 상의 지점을, 예컨대 로봇(202)의 중심을, 나타낼 수 있다.
로봇(202)이 노정 자세(414, 416)의 변위를 결정한 후, 로봇(202)은 이동할 경로를 결정할 수 있다. 예를 들어, 로봇(202)은 그의 현재 위치로부터 노정 자세들(414, 416) 및/또는 임의의 다른 노정 자세들 쪽으로 그리고/또는 그 사이로 네비게이팅하기 위한 경로를 노정 자세(414, 416)의 자세(예를 들어, 위치 및/또는 방향)에 기초하여 결정할 수 있다. 일부 경우에서, 로봇(202)은 적어도 부분적으로 경로를 한정하는 연속적인(예를 들어, 순차적 인) 노정 자세들 사이를 순차적으로 이동할 것이다. 예를 들어, 상기 결정은 로봇(202)이 노정 자세들의 지점들 사이를 이동할 수 있는 경로를 고려한 노정 자세들 사이의 보간에 적어도 부분적으로 기초할 수 있다. 많은 경우에서 선형 보간이 사용될 수 있다. 보간 수행을 이용함으로써, 로봇(202)은 방법(450)의 블록 462에 따라 병진 이동 및/또는 회전한 노정 자세를 밝힐 수 있다.
도 5는 본 개시내용의 일부 구현예에 따른 것으로, 노정 자세들(414, 416) 간의 보간을 보여주는 선도를 머리 위에서 도시한 도면이다. 본원에 기술된 바와 같이, 노정 자세(414, 416)는 노정 자세(414, 416)에 배치된 힘에 기초하여 변위된다. 예시된 바와 같이, 노정 자세(414)는 병진 이동도 되고 회전도 된다. 병진 이동은 인치, 피트, 미터 또는 그 밖의 다른 임의의 측정(예를 들어, 미터법, 미국 또는 기타 측정 시스템의 측정)의 단위와 같은 표준 단위로, 그리고/또는 틱, 픽셀, 센서 범위의 백분율 등과 같은 상대/비절대 단위로 측정할 수 있다. 회전은 각도, 라디안 등으로 측정할 수 있다. 마찬가지로, 노정 자세(416)도 또한 병진 이동 및/또는 회전되었다. 특히, 노정 자세(414, 416) 모두 다 장애물(402)이 없다. 노정 자세(414, 416)는 로봇(202)이 이동하는 경로를 따라 이산화된 위치를 나타내기 때문에, 로봇(202)은 그가 취해야 할 경로를 결정하기 위해 상기 노정 자세들 사이를 보간할 수 있다. 보간된 자세들(502A 내지 502D)은 노정 자세들(414, 416) 사이에서 이동되는 경로를 예시한다. 특히, 로봇(202)은 노정 자세들 쪽으로 그리고/또는 노정 자세들 사이로 이동하기 위해 다른 경로들(도시되지 않음)도 보간할 수 있다.
보간된 자세들(502A 내지 502D)은 하나 이상의 노정 자세(414, 416)의 풋프린트와 실질적으로 유사한 그들에 관련된 풋프린트를 가질 수 있다. 일부 경우에서, 보간된 자세들(502A 내지 502D)은 도 5에 도시된 바와 같이 보간된 노정 자세들일 수 있다. 따라서, 보간된 자세들(502A 내지 502D)은 로봇(202)이 노정을 따르고 있는 자세 및/또는 방향을 나타낼 수 있다. 유리하게도, 이는 보간된 경로가 로봇(202)을 로봇(202)에게 맞는 장소로 안내할 수 있게 한다. 또한, 보간된 자세들(502A 내지 502D)은 보간된 자세들(502 내지 502D) 중 임의의 하나의 풋 프린트와 물체(예를 들어, 장애물(402), 물체(210), 또는 물체(212)) 간의 겹쳐짐이 없도록 함으로써 충돌을 피하도록 결정될 수 있다.
보간된 자세들(502A 내지 502D)은 또한 노정 자세(414)로부터 노정 자세(416)로 이르도록 하기 위한 회전 및/또는 병진 이동을 고려해서도 결정될 수 있다. 예를 들어, 로봇(202)은 노정 자세(414)의 자세와 노정 자세(416)의 자세를 결정할 수 있다. 그 후 로봇(202)은 노정 자세(414)의 자세와 노정 자세(416)의 자세 간의 차이를 찾아낸 다음, 노정 자세(414)의 자세로부터 노정 자세(416)의 자세로 어떻게 갈 것인지를 결정할 수 있다. 예를 들어, 로봇(202)은 당해 로봇(202)이 노정 자세(414)로부터 노정 자세(416)로 회전하고 병진 이동할 수 있도록 회전 및 병진 이동을 보간된 자세들(502A 내지 502D) 사이에 분배할 수 있다. 일부 경우에서, 로봇(202)은 회전 및 병진 이동을 보간된 자세들(502A 내지 502D) 사이에 실질적으로 균등하게 분배할 수 있다. 예를 들어, N 개의 보간 위치가 있는 경우, 로봇(202)은 노정 자세(414, 416)의 자세들의 위치 및 회전에 있어서의 차이를 이들 N 개의 보간 위치에 걸쳐 실질적으로 균등하게 나눌 수 있다. 대안으로, 로봇(202)은 노정 자세(414, 416)의 자세들의 위치 및 회전에 있어서의 차이를 상기 N 개의 보간 위치에 걸쳐 균등하지 않게 나눌 수 있다. 유리하기로는, 균등 분할은 로봇(202)을 노정 자세(414)로부터 노정 자세(416)까지 원활하게 이동할 수 있게 한다. 그러나 비균등 분할은 로봇(202)으로 하여금 일부 영역에서의 움직임을 다른 영역에 비해서 더 정밀하게 함으로써 물체를 더 쉽게 밝혀내서 피할 수 있게 한다. 예를 들어, 보간된 자세들(502A 내지 502D) 가까이에 있는 물체를 피하기 위해, 로봇(202)은 급격한 선회를 해야 할 것이다. 따라서, 그러한 선회를 밝히기 위해서는 그 선회 주변에 더 많은 보간된 자세들이 있는 것이 바람직할 수 있다. 일부 경우에서, 보간 자세들의 수는 동적일 수 있고, 원하는 바에 따라서는 N 개의 보간 자세들보다 많거나 혹은 적은 보간 자세들을 사용할 수 있다.
도 6은 본 개시내용의 일부 구현예에 따른 것으로서, 예시적인 로봇 작동 방법(600)의 프로세스 흐름도이다. 블록 602는 수집된 데이터에 적어도 부분적으로 기초하여 환경의 지도를 생성하는 것을 포함하다. 블록 604는 로봇이 이동하게 될 지도 내의 노정을 결정하는 것을 포함한다. 블록 606은 노정 상에 하나 이상의 노정 자세들 - 여기서, 각각의 노정 자세는 상기 노정을 따르는 로봇의 자세를 나타내는 풋프린트를 포함하고 또한 각각의 노정 자세는 그 안에 배치된 복수의 지점들을 가짐 - 을 생성하는 것을 포함한다. 블록 608은 각각의 노정 자세의 복수의 지점들 각각에 작용하는 힘 - 이 힘은 하나 이상의 물체 상의 감지된 지점들 중 하나 이상의 지점으로부터의 반발력과, 상기 하나 이상의 노정 자세들 중 다른 노정 자세들 상의 복수의 지점들 중 하나 이상의 지점으로부터의 인력을 포함함 - 을 결정하는 것을 포함한다. 블록 610은 각 노정 자세의 각 지점으로 작용하는 힘에 응하여 각 노정 자세를 재배치하는 것을 포함한다. 블록 612는 로봇이 이동할 수 있도록 하나 이상의 노정 자세들 사이에 충돌 없는 경로를 생성하기 위해 하나 이상의 재배치된 노정 자세들 간의 보간을 수행하는 것을 포함한다.
도 7은 본 개시내용의 일부 구현예에 따른 것으로서, 예시적인 로봇 작동 방법(700)의 프로세스 흐름도이다. 블록 702는 하나 이상의 센서로부터의 데이터를 사용하여 환경의 지도를 생성하는 것을 포함한다. 블록 704는 상기 지도 상의 노정을 결정하는 것 - 여기서 노정은 하나 이상의 노정 자세를 포함하고, 각각의 노정 자세는 상기 노정을 따르는 로봇의 자세, 크기, 및 형상을 적어도 부분적으로 나타내는 풋프린트를 포함하고, 또한 각각의 노정 자세는 그 안에 배치된 복수의 지점들을 가짐 - 을 포함한다. 블록 706은 상기 환경 내의 물체 상의 한 지점으로부터 상기 하나 이상의 노정 자세들 중 제1 노정 자세의 복수의 지점들로의 반발력을 계산하는 것을 포함한다. 블록 708은 적어도 상기 반발력에 응하여 상기 제1 노정 자세를 재배치시키는 것을 포함한다. 블록 710은 상기 재배치된 제1 노정 자세와 상기 하나 이상의 노정 자세들 중 다른 노정 자세 간의 보간을 수행하는 것을 포함한다.
본원에서 사용되는 바와 같이, 컴퓨터 및/또는 컴퓨팅 디바이스는, 데스크톱, 랩톱 또는 다른 방식의 개인용 컴퓨터("PC")들 및 미니컴퓨터들, 메인 프레임 컴퓨터들, 워크스테이션들, 서버들, PDA(Personal Digital Assistant)들, 핸드헬드 컴퓨터들, 내장형 컴퓨터들, 프로그래머블 로직 디바이스들, 개인 통신기들, 태블릿 컴퓨터들, 모바일 디바이스들, 휴대형 네비게이션 보조 장치들, J2ME 장비 디바이스들, 셀룰러 폰들, 스마트 폰들, 개인 통합 통신 또는 엔터테인먼트 디바이스들, 및/또는 명령들의 세트를 실행하고 인입 데이터 신호를 프로세싱할 수 있는 임의의 다른 디바이스를 포함할 수 있다(그러나 이에 제한되지는 않음).
본원에서 사용되는, 컴퓨터 프로그램 및/또는 소프트웨어는 임의의 시퀀스, 또는 기능을 수행하는 인간 또는 머신 인식 가능 단계들을 포함할 수 있다. 이러한 컴퓨터 프로그램 및/또는 소프트웨어는, 예를 들어, C/C++, C#, Fortran, COBOL, MATLAB™, PASCAL, Python, 어셈블리 언어, 마크업 언어들(예를 들어, HTML, SGML, XML, VoXML) 등을 포함하는 임의의 프로그래밍 언어 또는 환경에서뿐만 아니라, 예컨대 CORBA(Common Object Request Broker Architecture), JAVA™(J2ME, 자바 빈스 등을 포함함), 바이너리 런타임 환경(예를 들어, BREW) 등과 같은 객체-지향 환경에서도, 렌더링될 수 있다.
본원에서 사용되는, 연결, 링크, 송신 채널, 지연 라인 및/또는 무선은 엔티티들 사이의 정보 교환을 가능하게 하는, 임의의 2개 이상의 엔티티들(물리적 엔티티이든지 혹은 논리적/가상 엔티티이든지 무관) 사이의 인과 관계(causal link)를 포함할 수 있다.
본 개시내용의 특정 양태들이 방법의 단계들의 특정 시퀀스에 관하여 설명되지만, 이들 설명들은 본 개시내용의 더 광범위한 방법들의 예시일 뿐이고, 특정 애플리케이션에 의해 요구되는 대로 수정될 수 있다는 것이 인식될 것이다. 특정 단계들은 특정 상황들 하에서 불필요하게 또는 선택적으로 렌더링될 수 있다. 부가적으로, 특정 단계들 또는 기능성이 개시된 구현예들에 부가될 수 있거나, 또는 2 개 이상의 단계들의 수행 순서가 치환될 수 있다. 이러한 모든 변형들은 본원에서 개시되고 청구되는 본 개시내용 내에 포함되는 것으로 간주된다.
위의 상세한 설명이 다양한 구현예들에 적용된 본 개시내용의 신규한 특징들을 나타내고, 설명하고, 지적하였지만, 예시된 디바이스 또는 프로세스의 형태 및 세부사항들의 다양한 생략들, 치환들 및 변경들이 본 개시내용으로부터 벗어나지 않으면서 당업자에 의해 이루어질 수 있다는 것이 이해될 것이다. 전술된 설명은 본 개시내용을 수행하기 위해 현재 고려되는 최상의 모드이다. 이러한 설명은 결코 제한하는 것으로 의도되는 것이 아니라, 본 개시내용의 일반적인 원리들을 예시하는 것으로 간주되어야 한다. 본 개시내용의 범위는 청구범위를 참조하여 결정되어야 한다.
본 개시내용이 도면들 및 전술된 설명에서 상세히 예시 및 설명되었지만, 그러한 예시 및 설명은 예시 또는 예시적인 것으로 고려되어야 하며 제한적인 것이 아니다. 본 개시내용은 개시된 실시예들로 제한되지 않는다. 개시된 실시예들에 대한 변형들은, 도면들, 본 개시내용 및 첨부된 청구범위의 연구로부터, 청구된 개시내용을 실시할 시, 당업자에 의해 이해 및 실시될 수 있다.
본 개시내용의 특정 특징들 또는 양태들을 기술할 때의 특정 용어의 사용은, 그 용어와 관련된 본 개시내용의 특징들 또는 양태들의 임의의 특정 특성들을 포함하도록 제한되게 하기 위해 그 용어가 본원에서 재정의되고 있다고 암시하는 것으로 받아들여져서는 안 된다는 것을 주지해야 한다. 본 출원에서 사용되는 용어들 및 어구들과 이들의 변형들은, 특히 첨부된 청구범위에 있어서는, 명시적으로 달리 언급되지 않는 한, 제한과 반대로 개방형으로서 해석되어야 한다. 전술된 바의 예들로서, "구비하는"이라는 용어는 "제한되지 않게 구비하는", "구비하지만 이에 제한되지 않는" 등을 의미하는 것으로 해석되어야 하고; 본원에서 사용되는 바와 같은 "포함하는"이라는 용어는 "구비하는", "함유하는", 또는 "특징으로 하는"과 동의어이고, 포괄적이거나 또는 개방형이고, 부가적인 기재되지 않은 구성요소들 또는 방법 단계들을 배제하지 않고; "갖는"이라는 용어는 "적어도 갖는"으로서 해석되어야 하고; "그와 같은"이라는 용어는 "제한되지 않게 그와 같은"으로서 해석되어야 하고; "구비한다"라는 용어는 "구비하지만 이에 제한되지 않음"으로서 해석되어야 하고; "예"라는 용어는 논의 중인 아이템의 예시적인 인스턴스들을 제공하기 위해 사용되고, 그 아이템의 철저한 또는 제한적인 리스트가 아니고, "예이지만 제한되지 않음"으로서 해석되어야 하고; 형용사들, 이를테면 "알려진", "일반적인", "표준", 및 유사한 의미의 용어들은 설명되는 아이템을 주어진 시간 기간으로, 또는 주어진 시간으로부터 이용 가능한 아이템으로 제한하는 것으로 해석되는 것이 아니라, 대신, 현재 또는 향후의 임의의 시간에 이용 가능할 수 있거나 알려질 수 있는 알려진, 일반적인, 또는 표준 기술들을 포함하는 것으로 해석되어야 하고; 그리고 "바람직하게", "바람직한", "원하는", 또는 "원함직한"과 같은 용어들 및 유사한 의미의 단어들의 사용은 특정 특징들이 본 개시내용의 구조 또는 기능에 결정적이거나, 필수적이거나, 또는 심지어 중요하다는 것을 암시하는 것이 아니고, 대신, 특정 실시예에서 활용될 수 있거나 활용되지 않을 수 있는 대안적인 또는 부가적인 특징들을 단지 강조하도록 의도된 것으로 이해되어야 한다. 마찬가지로, 접속사 "및"으로 링크된 아이템들의 그룹은 이들 아이템들 각각 및 모든 각각이 그룹에 존재하는 것을 요구하는 것으로 해석되는 것이 아니라, 명시적으로 다르게 언급되지 않는 한, "및/또는"으로서 해석되어야 한다. 유사하게, 접속사 "또는"으로 링크된 아이템들의 그룹은 그 그룹 간에 상호 배타성을 요구하는 것으로 해석되는 것이 아니라, 명시적으로 다르게 언급되지 않는 한, "및/또는"으로서 해석되어야 한다. "약" 또는 "대략" 등이라는 용어들은 동의어이며, 용어에 의해 수정된 값이 그와 연관된 이해 범위를 갖는 것을 나타내기 위해 사용되며, 여기서, 범위는 ±20%, ±15%, ±10%, ±5% 또는 ±1%일 수 있다. "실질적으로"라는 용어는 결과(예를 들어, 측정 값)가 목표 값에 근접한 것을 나타내기 위해 사용되며, 여기서, 근접은, 예를 들어, 결과가 값의 80% 내, 값의 90% 내, 값의 95% 내 또는 값의 99% 내에 있는 것을 의미할 수 있다. 또한, 본원에서 사용되는 바와 같이, "정의된" 또는 "결정된"은 "미리 정의된" 또는 "미리 결정된" 및/또는 다른 방식으로 결정된 값들, 조건들, 임계치들, 측정치들 등을 포함할 수 있다.

Claims (20)

  1. 노정을 따라 조종하기 위한 로봇으로서,
    로봇에 결합되고, 환경 내의 하나 이상의 물체 상의 감지된 지점들을 포함한 로봇에 근접한 환경에 관한 데이터를 수집하도록 구성된 하나 이상의 센서들; 및
    로봇이 이동하게 될 지도 내의 노정을 결정하고, 상기 지도는 환경에 대응하고 로봇에 연결된 적어도 하나 이상의 센서들에 의해 생성되고, 상기 노정은 적어도 제1 지점과 제2 지점을 포함한 복수의 이산화된 지점을 포함하고, 각각의 복수의 지점은 로봇의 각각의 자세에 대응하고, 로봇의 각각의 자세는 그 안에 배치된 복수의 지점들을 포함하고, 각각의 자세는 로봇의 위치 및 방향 중 적어도 하나에 대응하고, 또한
    지도에 있는 물체의 한 지점으로부터 각각의 자세의 복수의 지점들로의 반발력을 계산하고,
    로봇이 이동할 수 있도록 각각의 자세와 후속한 각각의 노정 자세 사이에서 충돌 없는 노정을 생성하도록 각각의 자세와 후속한 각각의 노정 자세 사이의 보간을 수행하기 위해 컴퓨터 판독가능 명령들을 실행하도록 구성된 컨트롤러를 포함하는, 로봇.
  2. 제 1 항에 있어서,
    상기 로봇의 각각의 자세 및 상기 로봇의 후속하는 각각의 자세는, 각각의 자세 및 후속하는 각각의 자세가 노정을 따라 시퀀스를 형성하도록 노정 상에 서로 규칙적 또는 불규칙적으로 이격되는 로봇.
  3. 제 1 항에 있어서,
    각각의 자세는 상기 로봇의 풋프린트에 대응하고, 상기 풋프린트는 작은 풋프린트와 큰 풋프린트 사이에서 조정가능하도록 구성되고, 상기 작은 풋프린트는 물체와의 충돌 가능성이 높고, 상기 큰 풋프린트는 물체와의 충돌 가능성이 낮으며, 상기 로봇의 풋프린트는 동적으로 재구성되도록 구성되는 로봇.
  4. 제 1 항에 있어서,
    물체 상의 지점들로부터의 반발력은 로봇이 물체와 충돌하는 것을 방지하고,
    물체로부터의 반발력은 각각의 자세에서 균일하고,
    상기 반발력은 각각의 자세에 대해 물체가 위치하는 위치의 특성에 따라 달라지는 로봇.
  5. 제 1 항에 있어서,
    상기 각각의 자세의 복수의 지점은 반발력을 경험하도록 구성되고, 복수의 지점은 각각의 자세의 재배치에 응하여 병진 이동 및 회전할 수 있는 로봇.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 컨트롤러는, 복수의 지점의 각각의 지점에 대한 반발력에 응하여 각각의 자세 및 후속한 각각의 자세를 재배치하기 위해 컴퓨터 판독가능 명령들을 실행하도록 추가로 구성되는 로봇.
  8. 환경에서의 로봇의 동적 네비게이션 및 노정 계획을 위한 방법으로서,
    로봇에 대한 지도 상의 노정을 결정하는 것, 상기 노정은 하나 이상의 노정 자세를 포함하고, 각각의 노정 자세는 노정을 따르는 로봇의 형상 및 자세를 적어도 부분적으로 나타내는 풋프린트를 포함하고, 또한 각각의 노정 자세는 그 안에 배치된 복수의 지점들을 가지며, 상기 지도는 환경에 대응하고 로봇 상의 적어도 하나의 센서에 의해 생성되고, 상기 노정은 적어도 제1 지점과 제2 지점을 포함한 복수의 이산화된 지점을 포함하고, 각각의 복수의 지점은 로봇의 각각의 자세에 대응하고, 로봇의 각각의 자세는 그 안에 배치된 복수의 지점들을 포함하고, 각각의 자세는 로봇의 방향 및 위치 중 적어도 하나에 대응하는 것;
    환경 내의 물체 상의 한 지점으로부터 상기 하나 이상의 노정 자세의 제1 노정 자세의 복수의 지점으로의 반발력을 계산하는 것; 및
    로봇이 이동할 수 있도록 각각의 자세와 후속한 각각의 노정 자세 사이에서 충돌 없는 노정을 생성하기 위해 각각의 자세와 후속한 각각의 노정 자세 사이의 보간을 수행하는 것을 포함하는, 방법.
  9. 제 8 항에 있어서,
    상기 로봇의 각각의 자세 및 상기 로봇의 후속하는 각각의 자세는, 각각의 자세 및 후속하는 각각의 자세가 노정을 따라 시퀀스를 형성하도록 노정 상에 서로 규칙적 또는 불규칙적으로 이격되는 방법.
  10. 제 8 항에 있어서,
    각각의 자세는 상기 로봇의 풋프린트에 대응하고, 상기 풋프린트는 작은 풋프린트와 큰 풋프린트 사이에서 조정가능하도록 구성되고, 상기 작은 풋프린트는 물체와의 충돌 가능성이 높고, 상기 큰 풋프린트는 물체와의 충돌 가능성이 낮으며, 상기 로봇의 풋프린트는 동적으로 재구성되도록 구성되는 방법.
  11. 제 8 항에 있어서,
    물체 상의 지점으로부터의 반발력은 로봇이 물체와 충돌하는 것을 방지하고,
    물체로부터의 반발력은 각각의 자세에서 균일하고,
    상기 반발력은 각각의 자세에 대해 물체가 위치하는 위치의 특성에 따라 달라지는 방법.
  12. 제 8 항에 있어서,
    상기 각각의 자세의 복수의 지점은 반발력을 경험하도록 구성되고, 복수의 지점은 각각의 자세의 재배치에 응하여 병진 이동 및 회전할 수 있는 방법.
  13. 삭제
  14. 그 안에 복수의 명령들이 저장된 비일시적 컴퓨터 판독가능 매체로서,
    적어도 하나의 프로세서에 의해 실행될 때,
    로봇에 대한 지도 상의 노정을 결정하고, 상기 노정은 하나 이상의 노정 자세를 포함하고, 각각의 노정 자세는 노정을 따르는 로봇의 형상 및 자세를 적어도 부분적으로 나타내는 풋프린트를 포함하고, 또한 각각의 노정 자세는 그 안에 배치된 복수의 지점들을 가지며, 상기 지도는 환경에 대응하고 로봇 상의 적어도 하나의 센서에 의해 생성되고, 상기 노정은 적어도 제1 지점과 제2 지점을 포함한 복수의 이산화된 지점을 포함하고, 각각의 복수의 지점은 로봇의 각각의 자세에 대응하고, 로봇의 각각의 자세는 그 안에 배치된 복수의 지점들을 포함하고, 각각의 자세는 로봇의 방향 및 위치 중 적어도 하나에 대응하고; 또한
    환경 내의 물체 상의 한 지점으로부터 상기 하나 이상의 노정 자세의 제1 노정 자세의 복수의 지점으로의 반발력을 계산하고,
    로봇이 이동할 수 있도록 각각의 자세와 후속한 각각의 노정 자세 사이에서 충돌 없는 노정을 생성하기 위해 각각의 자세와 후속한 각각의 노정 자세 사이의 보간을 수행하도록 적어도 하나의 프로세서를 구성하는, 비일시적 컴퓨터 판독가능 매체.
  15. 제 14 항에 있어서,
    상기 로봇의 각각의 자세 및 상기 로봇의 후속하는 각각의 자세는, 각각의 자세 및 후속하는 각각의 자세가 노정을 따라 시퀀스를 형성하도록 노정 상에 서로 규칙적 또는 불규칙적으로 이격되는 비일시적 컴퓨터 판독가능 매체.
  16. 제 14 항에 있어서,
    각각의 자세는 상기 로봇의 풋프린트에 대응하고, 상기 풋프린트는 작은 풋프린트와 큰 풋프린트 사이에서 조정가능하도록 구성되고, 상기 작은 풋프린트는 물체와의 충돌 가능성이 높고, 상기 큰 풋프린트는 물체와의 충돌 가능성이 낮으며, 상기 로봇의 풋프린트는 동적으로 재구성되도록 구성되는 비일시적 컴퓨터 판독가능 매체.
  17. 제 14 항에 있어서,
    물체 상의 지점으로부터의 반발력은 로봇이 물체와 충돌하는 것을 방지하고,
    물체로부터의 반발력은 각각의 자세에서 균일하고,
    상기 반발력은 각각의 자세에 대해 물체가 위치하는 위치의 특성에 따라 달라지는 비일시적 컴퓨터 판독가능 매체.
  18. 제 14 항에 있어서,
    상기 각각의 자세의 복수의 지점은 반발력을 경험하도록 구성되고, 복수의 지점은 각각의 자세의 재배치에 응하여 병진 이동 및 회전할 수 있는 비일시적 컴퓨터 판독가능 매체.
  19. 삭제
  20. 제 14 항에 있어서,
    상기 적어도 하나의 프로세서는, 복수의 지점의 각각의 지점에 대한 반발력에 응하여 각각의 자세 및 후속한 각각의 자세를 재배치하기 위해 컴퓨터 판독가능 명령들을 실행하도록 추가로 구성되는 비일시적 컴퓨터 판독가능 매체.
KR1020197015595A 2016-11-02 2017-10-31 자율 네비게이션에서 동적 노정을 계획하기 위한 시스템 및 방법 KR102528869B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/341,612 2016-11-02
US15/341,612 US10001780B2 (en) 2016-11-02 2016-11-02 Systems and methods for dynamic route planning in autonomous navigation
PCT/US2017/059379 WO2018085294A1 (en) 2016-11-02 2017-10-31 Systems and methods for dynamic route planning in autonomous navigation

Publications (2)

Publication Number Publication Date
KR20190077050A KR20190077050A (ko) 2019-07-02
KR102528869B1 true KR102528869B1 (ko) 2023-05-04

Family

ID=62021299

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197015595A KR102528869B1 (ko) 2016-11-02 2017-10-31 자율 네비게이션에서 동적 노정을 계획하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (3) US10001780B2 (ko)
EP (1) EP3535630A4 (ko)
JP (1) JP7061337B2 (ko)
KR (1) KR102528869B1 (ko)
CN (1) CN110023866B (ko)
CA (1) CA3042532A1 (ko)
WO (1) WO2018085294A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10809071B2 (en) * 2017-10-17 2020-10-20 AI Incorporated Method for constructing a map while performing work
CN105760576A (zh) * 2016-01-27 2016-07-13 首都师范大学 一种基于共形几何代数的机械臂运动规划的形式化分析方法及系统
KR102526083B1 (ko) * 2016-08-30 2023-04-27 엘지전자 주식회사 이동 단말기 및 그의 동작 방법
US10429196B2 (en) * 2017-03-08 2019-10-01 Invensense, Inc. Method and apparatus for cart navigation
US10293485B2 (en) * 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
FR3065853B1 (fr) * 2017-04-27 2019-06-07 Peugeot Citroen Automobiles Sa Procede et dispositif de controle de la transmission de donnees d’un vehicule a un equipement de communication
KR102500634B1 (ko) * 2018-01-05 2023-02-16 엘지전자 주식회사 안내 로봇 및 그의 동작 방법
CN108742346A (zh) * 2018-06-27 2018-11-06 杨扬 遍历工作环境的方法及建立栅格地图的方法
EP3823795A4 (en) * 2018-07-16 2022-04-06 Brain Corporation SYSTEMS AND METHODS TO OPTIMIZE ROUTE PLANNING FOR NARROW TURNS FOR ROBOTIC DEVICES
US11092458B2 (en) * 2018-10-30 2021-08-17 Telenav, Inc. Navigation system with operation obstacle alert mechanism and method of operation thereof
US10809734B2 (en) 2019-03-13 2020-10-20 Mobile Industrial Robots A/S Route planning in an autonomous device
CN110101340A (zh) * 2019-05-24 2019-08-09 北京小米移动软件有限公司 清洁设备、清洁操作执行方法、装置和存储介质
KR20220006140A (ko) * 2019-05-29 2022-01-17 엘지전자 주식회사 영상 학습을 바탕으로 주행경로를 설정하는 지능형 로봇 청소기 및 이의 운용방법
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
US11592299B2 (en) 2020-03-19 2023-02-28 Mobile Industrial Robots A/S Using static scores to control vehicle operations
CN113741550B (zh) * 2020-05-15 2024-02-02 北京机械设备研究所 移动机器人跟随方法和系统
CN112015183B (zh) * 2020-09-08 2022-02-08 安徽工程大学 一种能耗约束下在具有凹凸地形中移动机器人避障方法
US11927972B2 (en) * 2020-11-24 2024-03-12 Lawrence Livermore National Security, Llc Collision avoidance based on traffic management data
CN112595324B (zh) * 2020-12-10 2022-03-29 安徽工程大学 一种能耗最优下最优节点轮式移动机器人路径规划方法
WO2022140969A1 (zh) * 2020-12-28 2022-07-07 深圳市优必选科技股份有限公司 动态生成脚印集方法、存储介质及双足机器人
CN112833899B (zh) * 2020-12-31 2022-02-15 吉林大学 一种用于无人环卫车的全覆盖路径规划方法
CN112971621A (zh) * 2021-03-11 2021-06-18 河北工业大学 室内智能清洁系统及控制方法
US11940800B2 (en) * 2021-04-23 2024-03-26 Irobot Corporation Navigational control of autonomous cleaning robots
US20230071338A1 (en) * 2021-09-08 2023-03-09 Sea Machines Robotics, Inc. Navigation by mimic autonomy
CN114355925B (zh) * 2021-12-29 2024-03-19 杭州海康机器人股份有限公司 路径规划方法、装置、设备及计算机可读存储介质
CN114431122B (zh) * 2022-01-27 2023-03-24 山东交通学院 一种道路绿化洒水智能控制系统及方法
CN114947655A (zh) * 2022-05-17 2022-08-30 安克创新科技股份有限公司 机器人控制方法、装置、机器人和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101133037B1 (ko) * 2011-12-01 2012-04-04 국방과학연구소 자율이동차량용 충돌회피를 위한 경로갱신방법 및 그 장치
KR101233714B1 (ko) * 2010-09-30 2013-02-18 아주대학교산학협력단 장애물 트랩을 회피하는 자율 이동 로봇 및 그 제어 방법

Family Cites Families (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280179A (en) 1979-04-30 1994-01-18 Sensor Adaptive Machines Incorporated Method and apparatus utilizing an orientation code for automatically guiding a robot
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
JPS63229503A (ja) * 1987-03-19 1988-09-26 Fujitsu Ltd ロボツトの姿勢制御方法
ATE150879T1 (de) 1989-10-17 1997-04-15 Perkin Elmer Corp Robotische schnittstelle
US5612883A (en) 1990-02-05 1997-03-18 Caterpillar Inc. System and method for detecting obstacles in the path of a 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
US7418346B2 (en) * 1997-10-22 2008-08-26 Intelligent Technologies International, Inc. Collision avoidance methods and systems
DE69636230T2 (de) 1995-09-11 2007-04-12 Kabushiki Kaisha Yaskawa Denki, Kitakyushu Robotersteuerung
WO1997046929A2 (en) 1996-06-04 1997-12-11 Werbos Paul J 3-brain architecture for an intelligent decision and control system
DE19745656C2 (de) * 1997-10-16 2000-06-21 Daimler Chrysler Ag Pralldämpfer für ein Kraftfahrzeug
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
WO2000066239A1 (fr) 1999-04-30 2000-11-09 Sony Corporation Systeme d'animal de compagnie electronique, systeme de reseau, robot et support de donnees
JP3537362B2 (ja) 1999-10-12 2004-06-14 ファナック株式会社 ロボットシステム用グラフィック表示装置
EP1297691A2 (en) 2000-03-07 2003-04-02 Sarnoff Corporation Camera pose estimation
US6754560B2 (en) 2000-03-31 2004-06-22 Sony Corporation Robot device, robot device action control method, external force detecting device and external force detecting method
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
JP2002197437A (ja) 2000-12-27 2002-07-12 Sony Corp 歩行検出システム、歩行検出装置、デバイス、歩行検出方法
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 本田技研工業株式会社 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法
US6643563B2 (en) 2001-07-13 2003-11-04 Brooks Automation, Inc. Trajectory planning and motion control strategies for a planar three-degree-of-freedom robotic arm
US6710346B2 (en) 2001-08-02 2004-03-23 International Business Machines Corporation Active infrared presence sensor
US7457698B2 (en) 2001-08-31 2008-11-25 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
AUPS123702A0 (en) * 2002-03-22 2002-04-18 Nahla, Ibrahim S. Mr The train navigtion and control system (TNCS) for multiple tracks
US20040134337A1 (en) 2002-04-22 2004-07-15 Neal Solomon System, methods and apparatus for mobile software agents applied to 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
WO2004018158A2 (en) 2002-08-21 2004-03-04 Neal Solomon Organizing groups of self-configurable mobile robotic agents
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
KR100520049B1 (ko) * 2003-09-05 2005-10-10 학교법인 인하학원 자율이동로봇을 위한 경로계획방법
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 ソニー株式会社 ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム
WO2005081082A1 (ja) 2004-02-25 2005-09-01 The Ritsumeikan Trust 浮遊移動体の制御システム
JP4661074B2 (ja) 2004-04-07 2011-03-30 ソニー株式会社 情報処理システム、情報処理方法、並びにロボット装置
DE602004028005D1 (de) 2004-07-27 2010-08-19 Sony France Sa Ein automatisiertes System zur Aktionsanwahl, sowie das Verfahren und dessen Anwendung, um Prognosemaschinen auszubilden und die Entwicklung sich selbst entwickelnder Geräte zu unterstützen
SE0402672D0 (sv) 2004-11-02 2004-11-02 Viktor Kaznov Ball robot
US9250081B2 (en) * 2005-03-25 2016-02-02 Irobot Corporation Management of resources for SLAM in large environments
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 株式会社日立製作所 ロジック抽出支援装置
EP2281667B1 (en) 2005-09-30 2013-04-17 iRobot Corporation Companion robot for personal interaction
US7668605B2 (en) 2005-10-26 2010-02-23 Rockwell Automation Technologies, Inc. Wireless industrial control user interface
KR101300492B1 (ko) 2005-12-02 2013-09-02 아이로보트 코퍼레이션 커버리지 로봇 이동성
US7741802B2 (en) 2005-12-20 2010-06-22 Intuitive Surgical Operations, Inc. Medical robotic system with programmably controlled constraints on error dynamics
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
WO2007138987A1 (ja) 2006-05-25 2007-12-06 Takehiro Ishizaki 作業ロボット
KR100791382B1 (ko) 2006-06-01 2008-01-07 삼성전자주식회사 로봇의 이동 경로에 따라 소정 영역의 특성에 관한 정보를수집하고 분류하는 방법 및 상기 영역 특성에 따라제어되는 로봇, 상기 영역 특성을 이용한 ui 구성 방법및 장치
WO2008070205A2 (en) * 2006-06-09 2008-06-12 Carnegie Mellon University Obstacle detection arrangements in and for autonomous 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 ファナック株式会社 ロボット制御装置
ATE539391T1 (de) 2007-03-29 2012-01-15 Irobot Corp Konfigurationssystem und -verfahren für eine roboteroperator-steuereinheit
US8255092B2 (en) 2007-05-14 2012-08-28 Irobot Corporation Autonomous behaviors for a remote vehicle
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
EP2266077A1 (en) 2008-04-02 2010-12-29 iRobot Corporation Robotics systems
JP4715863B2 (ja) 2008-05-01 2011-07-06 ソニー株式会社 アクチュエータ制御装置及びアクチュエータ制御方法、アクチュエータ、ロボット装置、並びにコンピュータ・プログラム
JP5287051B2 (ja) * 2008-09-04 2013-09-11 村田機械株式会社 自律移動装置
US20100174384A1 (en) 2008-09-04 2010-07-08 Iwalk, Inc. Hybrid terrain-adaptive lower-extremity systems
US20110282169A1 (en) 2008-10-29 2011-11-17 The Regents Of The University Of Colorado, A Body Corporate 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
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 ファナック株式会社 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置
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
WO2011001569A1 (ja) 2009-07-02 2011-01-06 パナソニック株式会社 ロボット、ロボットアームの制御装置、及びロボットアームの制御プログラム
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
TW201113815A (en) 2009-10-09 2011-04-16 Primax Electronics Ltd QR code processing method and apparatus thereof
DE102009052629A1 (de) * 2009-11-10 2011-05-12 Vorwerk & Co. Interholding Gmbh Verfahren zur Steuerung eines Roboters
US8423225B2 (en) 2009-11-11 2013-04-16 Intellibot Robotics Llc Methods and systems for movement of robotic device using video signal
US8679260B2 (en) 2009-11-11 2014-03-25 Intellibot Robotics Llc Methods and systems for movement of an automatic cleaning device using video signal
JP5446765B2 (ja) * 2009-11-17 2014-03-19 トヨタ自動車株式会社 経路探索システム、経路探索方法、経路探索プログラム、及び移動体
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 本田技研工業株式会社 ロボットの制御装置
US8668638B2 (en) 2010-02-11 2014-03-11 Intuitive Surgical Operations, Inc. Method and system for automatically maintaining an operator selected roll orientation at a distal tip of a robotic endoscope
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
US9122994B2 (en) 2010-03-26 2015-09-01 Brain Corporation Apparatus and methods for temporally proximate object recognition
US9405975B2 (en) 2010-03-26 2016-08-02 Brain Corporation Apparatus and methods for pulse-code invariant 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
US9046378B2 (en) * 2010-07-27 2015-06-02 Toyota Jidosha Kabushiki Kaisha Driving assistance device
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
KR101743926B1 (ko) * 2010-09-20 2017-06-08 삼성전자주식회사 로봇 및 그 제어방법
US8594971B2 (en) 2010-09-22 2013-11-26 Invensense, Inc. Deduced reckoning navigation without a constraint relationship between orientation of a sensor platform and a direction of travel of an object
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 株式会社東芝 行動履歴検索装置
CN103038030B (zh) 2010-12-17 2015-06-03 松下电器产业株式会社 弹性体致动器驱动机构的控制装置及控制方法
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
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
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 セイコーエプソン株式会社 ロボット制御システム、ロボットシステム及びロボット
WO2013069291A1 (ja) 2011-11-10 2013-05-16 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
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
US9208432B2 (en) 2012-06-01 2015-12-08 Brain Corporation Neural network learning and collaboration apparatus and methods
US20130343640A1 (en) 2012-06-21 2013-12-26 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
JP5645885B2 (ja) 2012-06-29 2014-12-24 京セラドキュメントソリューションズ株式会社 画像形成装置
MX2015000035A (es) 2012-07-04 2015-08-05 Repsol Sa Sistema integrado de deteccion temprana de hidrocarburos en un medio acuoso.
US8977582B2 (en) 2012-07-12 2015-03-10 Brain Corporation Spiking neuron network sensory processing apparatus and methods
US8793205B1 (en) 2012-09-20 2014-07-29 Brain Corporation Robotic learning and evolution apparatus
US9367798B2 (en) 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
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
CN109965778B (zh) 2013-01-18 2022-08-16 艾罗伯特公司 包括移动机器人的环境管理系统以及其使用方法
US8958937B2 (en) 2013-03-12 2015-02-17 Intellibot Robotics Llc Cleaning machine with collision prevention
CN107485449B (zh) 2013-03-15 2020-05-05 直观外科手术操作公司 软件可配置的操纵器自由度
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
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
TWI585561B (zh) 2013-06-03 2017-06-01 新智控私人有限公司 機器人裝置的離機式導航方法與裝置
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US9384443B2 (en) 2013-06-14 2016-07-05 Brain Corporation Robotic training apparatus and methods
US20150032258A1 (en) 2013-07-29 2015-01-29 Brain Corporation Apparatus and methods for controlling of robotic devices
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
US9144907B2 (en) 2013-10-24 2015-09-29 Harris Corporation Control synchronization for high-latency teleoperation
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
US20150283703A1 (en) 2014-04-03 2015-10-08 Brain Corporation Apparatus and methods for remotely controlling robotic devices
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
CN104029203B (zh) * 2014-06-18 2017-07-18 大连大学 实现空间机械臂避障的路径规划方法
GB2528953A (en) 2014-08-07 2016-02-10 Nokia Technologies Oy An apparatus, method, computer program and user device for enabling control of a vehicle
US9475195B2 (en) 2014-09-12 2016-10-25 Toyota Jidosha Kabushiki Kaisha Anticipatory robot navigation
CN104317291A (zh) * 2014-09-16 2015-01-28 哈尔滨恒誉名翔科技有限公司 一种基于人工势场法的机器人避碰路径规划方法
US9403275B2 (en) * 2014-10-17 2016-08-02 GM Global Technology Operations LLC Dynamic obstacle avoidance in a robotic system
US9628477B2 (en) 2014-12-23 2017-04-18 Intel Corporation User profile selection using contextual authentication
WO2016168944A1 (en) 2015-04-24 2016-10-27 Avidbots Corp. Apparatus and methods for semi-autonomous cleaning of surfaces
CN104875882B (zh) * 2015-05-21 2018-02-27 合肥学院 四轴飞行器
CN105549597B (zh) * 2016-02-04 2018-06-26 同济大学 一种基于环境不确定性的无人车动态路径规划方法
CN105739507B (zh) * 2016-04-29 2018-11-20 昆山华恒机器人有限公司 一种机器人防碰撞的最优路径规划方法
US20170329347A1 (en) * 2016-05-11 2017-11-16 Brain Corporation Systems and methods for training a robot to autonomously travel a route
US10241514B2 (en) * 2016-05-11 2019-03-26 Brain Corporation Systems and methods for initializing a robot to autonomously travel a trained route
CN105955273A (zh) * 2016-05-25 2016-09-21 速感科技(北京)有限公司 室内机器人导航系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101233714B1 (ko) * 2010-09-30 2013-02-18 아주대학교산학협력단 장애물 트랩을 회피하는 자율 이동 로봇 및 그 제어 방법
KR101133037B1 (ko) * 2011-12-01 2012-04-04 국방과학연구소 자율이동차량용 충돌회피를 위한 경로갱신방법 및 그 장치

Also Published As

Publication number Publication date
CA3042532A1 (en) 2018-05-11
US20200004253A1 (en) 2020-01-02
KR20190077050A (ko) 2019-07-02
CN110023866A (zh) 2019-07-16
JP2020502630A (ja) 2020-01-23
US20180364724A1 (en) 2018-12-20
CN110023866B (zh) 2022-12-06
EP3535630A4 (en) 2020-07-29
EP3535630A1 (en) 2019-09-11
WO2018085294A1 (en) 2018-05-11
US10001780B2 (en) 2018-06-19
US20180120856A1 (en) 2018-05-03
US10379539B2 (en) 2019-08-13
JP7061337B2 (ja) 2022-04-28

Similar Documents

Publication Publication Date Title
KR102528869B1 (ko) 자율 네비게이션에서 동적 노정을 계획하기 위한 시스템 및 방법
US11701778B2 (en) Systems and methods for robotic path planning
US20230021778A1 (en) Systems and methods for training a robot to autonomously travel a route
US20210223779A1 (en) Systems and methods for rerouting robots to avoid no-go zones
US20210132615A1 (en) Systems and methods for optimizing route planning for tight turns for robotic apparatuses
US9283674B2 (en) Remotely operating a mobile robot
US11340630B2 (en) Systems and methods for robust robotic mapping
WO2020056108A1 (en) Systems and methods for detecting blind spots for robots
JP2022512438A (ja) 非ホロノミックロボットシステムの改善された制御のためのシステム及び方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right