KR20210110610A - 에스컬레이터를 검출하기 위한 시스템, 장치, 및 방법 - Google Patents

에스컬레이터를 검출하기 위한 시스템, 장치, 및 방법 Download PDF

Info

Publication number
KR20210110610A
KR20210110610A KR1020217021410A KR20217021410A KR20210110610A KR 20210110610 A KR20210110610 A KR 20210110610A KR 1020217021410 A KR1020217021410 A KR 1020217021410A KR 20217021410 A KR20217021410 A KR 20217021410A KR 20210110610 A KR20210110610 A KR 20210110610A
Authority
KR
South Korea
Prior art keywords
sensor
escalator
robot
drop
robotic device
Prior art date
Application number
KR1020217021410A
Other languages
English (en)
Inventor
압돌하미드 바디오자마니
크리스티안 에두아르도 트론코소 파레데스
Original Assignee
브레인 코퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브레인 코퍼레이션 filed Critical 브레인 코퍼레이션
Publication of KR20210110610A publication Critical patent/KR20210110610A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/27Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device
    • G05B19/31Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device for continuous-path control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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
    • B66HOISTING; LIFTING; HAULING
    • B66BELEVATORS; ESCALATORS OR MOVING WALKWAYS
    • B66B29/00Safety devices of escalators or moving walkways
    • B66B29/005Applications of security monitors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4061Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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/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
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34351Knowledge acquisition of environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40548Compare measured distances to obstacle with model of environment

Abstract

본원에 로봇식 장치에 의해 주변 환경에 있는 에스컬레이터를 검출하는 시스템 및 방법이 개시된다. 적어도 하나의 예시적인 실시형태에 따르면, 에스컬레이터는 충족되는 에스컬레이터 검출 파라미터에 기초하여 결정될 수 있다. 에스컬레이터 검출 파라미터는 에스컬레이터의 폭과 동일한 거리만큼 분리된 2개의 측벽의 검출, 및 에스컬레이터의 고정 부분과 이동하는 제 1 이동 스텝 사이에서 관찰된 것과 동일한 플로어에서의 하락부의 검출을 더 필요로 할 수 있다.

Description

에스컬레이터를 검출하기 위한 시스템, 장치, 및 방법
저작권
본 특허 문서의 개시내용의 일부는 저작권 보호를 받는 자료를 포함한다. 저작권 소유자는 누구라도 본 특허 문서 또는 특허 개시내용을 특허 및 상표청의 파일 또는 기록에 나타낸 바와 같이 팩스 복제하는 것에 대해서는 이의를 제기하지 않지만, 그 이외에는 무엇이든지 간에 모든 저작권 권리를 보유한다.
현재, 많은 로봇은, 예를 들면 로봇이 급격한 드롭부를 피할 수 있도록 로봇 전방의 급격한 드롭부를 측정하도록 구성된 하나 이상의 거리 측정 센서를 포함한다. 일부 로봇은 환경 장해와 위험을 내비게이팅하고 감지하기 위해, 예를 들면 컬러 처리된 이미지 또는 회색조 이미지를 이용할 수도 있다. 에스컬레이터는, 예를 들면 로봇이 이미 제 1 이동 스텝에 있을 때까지는 에스컬레이터의 제 1 이동 스텝 이후의 드롭부를 검출할 수 없으므로, 급격한 드롭부를 검출하도록 구성된 거리 측정 센서를 이용하여 내비게이팅하는 로봇에 특유의 문제를 제공한다.
로봇이 에스컬레이터의 제 1 이동 스텝으로 이동하기 전에 에스컬레이터를 검출하도록 구성되지 않은 로봇은 로봇에의 손상, 에스컬레이터에의 손상, 및 인근 사람들에게의 부상의 상당한 위험이 있을 수 있다. 따라서, 로봇이 주변 환경 내에서 에스컬레이터를 검출하기 위한 시스템 및 방법이 당업계에 요구된다.
특히, 상술한 요구는, 예를 들면 로봇식 장치가 에스컬레이터에 접근할 때에 로봇식 장치에 의해 평면에서의 드롭부를 검출하기 위한 시스템 및 방법을 제공하는 본 개시에 의해 충족된다. 본 개시는 로봇이 자신의 환경 내에서 에스컬레이터 또는 무빙 워크를 검출할 수 있도록 LiDAR 데이터를 처리하는 특정 애플리케이션에 관한 것이다. 당업자는 에스컬레이터에 대한 설명은 평면에서의 드롭부를 설명하기 위한 비제한적인 예시적 실시형태라는 것을 이해할 수 있다. 이하의 설명은 에스컬레이터와 관련이 있지만, 클리프, 계단, 빌딩의 가장자리 또는 지면보다 높은 표면의 가장자리와 같은 평면에 드롭부가 있는 다른 실제 사례에도 동일하게 적용될 수 있다.
본원에 설명된 예시적인 실시형태는 혁신적인 특징을 가지며, 그 중 하나가 필수적이거나 그 바람직한 속성에 전적으로 책임이 있는 것은 아니다. 이하, 청구항의 범위를 제한하지 않고, 유리한 특징 중 일부가 요약될 것이다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 로봇식 시스템이 개시된다. 로봇식 시스템은 로봇이 급격한 클리프와 장애물을 피할 수 있도록 로봇 전방과 근처의 플로어의 거리 측정값을 수집하도록 구성된 거리 측정 센서를 포함할 수 있다. 로봇식 시스템은 그 위에 구현된 복수의 명령 및 컴퓨터 판독 가능 명령을 실행하도록 구성된 하나 이상의 특수 프로세서를 포함하는 비일시적 컴퓨터 판독가능한 저장 매체를 더 포함할 수 있다. 명령은 하나 이상의 특수 프로세서가 거리 측정 센서에 의해 수집된 데이터에 기초하여 환경 내에서 에스컬레이터를 검출하고 피할 수 있도록 한다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 로봇이 에스컬레이터를 검출하는 방법이 개시된다. 상기 방법은 에스컬레이터의 폭에 대응하는 미리 결정된 거리만큼 분리된 2개의 벽을 검출하기 위한 로봇의 컨트롤러를 포함할 수 있다. 상기 방법은 고정된 플로어와 에스컬레이터의 제 1 이동 스텝 사이의 작은 드롭부를 검출하는 단계를 더 포함할 수 있다. 이들 2개의 파라미터가 충족되면, 로봇의 컨트롤러는 에스컬레이터를 결정하여, 로봇이 에스컬레이터로부터 떨어지는 경우에 있어서의 로봇에의 손상, 주변 객체에의 손상, 또는 근처 사람들의 부상을 피하기 위해 로봇을 에스컬레이터로부터 멀리 내비게이팅시킬 수 있다.
개시된 본 발명의 개념은 컴퓨터 기술 및 기능을 비추상적으로 개선하는 특수 구성 및 특정 구성의 특징에 의해 행해진다. 컴퓨터 기술 및 기능의 이러한 개선 사항 중 일부에는 프로세서가 종래의 프로세서보다 더 신속하고 효율적으로 수행될 수 있게 하는 고유하고 특수한 프로세서(들)에 의한 특수 알고리즘을 실행시키는 단계; 및 데이터가 내부에 수집, 분석 및 저장됨에 따라 적은 메모리 공간의 사용을 요구하는 단계가 포함된다. 따라서, 여기에 개시된 본 발명의 개념은 로봇 자신, 사람 및 주변 객체에 대한 안전상의 위험이 발생하기 쉬운 궤적을 따라 로봇을 조종하는 것과 관련된 종래 기술 또는 선행 기술에 대한 개선이다. 마지막으로, 예를 들면 다양한 센서 유닛, 내비게이션 유닛, 액추에이터 유닛, 통신 유닛 및 유저 인터페이스 유닛과 같은 본원에 개시된 구조적 구성요소는 경로를 따라 조종될 때에 로봇식 장치의 기능 및 작동에 고유한 특수 방식 및 구성으로 배향된다.
본원에 개시된 발명적 개념은 본원에 개시된 알고리즘의 실행 시에 컴퓨터 구성요소가 더 신속하게 기능하고, 더 적은 메모리 공간을 사용하도록 컴퓨터 기능을 개선하는 기술 개선에 관한 것이다.
본 개시내용의 이들 및 다른 목적, 특징 및 특성 뿐만 아니라, 관련된 요소의 작동 방법 및 기능은 첨부 도면을 참조하여 이하의 설명 및 첨부된 청구범위를 고려할 때 보다 명백해질 것이며, 그 첨부 도면은 모두 본원의 일부를 형성하며, 유사한 참조 번호는 여러 도면에서 대응하는 부분을 가리킨다. 그러나, 도면은 예시 및 설명의 목적만을 위한 것이고, 본 개시내용의 제한의 규정으로서 의도되지 않는다는 것이 명백히 이해되어야 한다. 본원 및 청구범위에서 사용되는 바와 같이, "a", "an" 및 "the"와 같은 단수 형태는 문맥상 명확하게 다르게 지시하지 않는 한 복수 대상을 포함한다.
본 개시된 양태는 개시된 양태를 제한하지 않고 예시하기 위해 제공된 첨부 된 도면과 함께 이후에 설명될 것이며, 유사한 명칭은 유사한 요소를 나타낸다.
도 1a는 본 개시의 일부 실시형태에 따른 메인 로봇의 기능 블록도이다.
도 1b는 본 개시의 일부 실시형태에 따른 컨트롤러 또는 프로세서의 기능 블록도이다.
도 2a는 예시적인 실시형태에 따라, 에스컬레이터의 다양한 포인트에서의 높이 측정값을 포함하는 데이터를 수집하는 거리 측정 센서 및 에스컬레이터의 정면도를 도시한다.
도 2b는 예시적인 실시형태에 따라, 에스컬레이터 및 상기 에스컬레이터의 제 1 이동 스텝과 고정 부분 사이의 드롭부를 결정하기 위해 측정값을 수집하는 거리 측정 센서의 측면도를 도시한다.
도 3a는 예시적인 실시형태에 따라, 에스컬레이터의 다양한 포인트에서의 높이 측정값을 포함하는 데이터를 수집하는 거리 측정 센서에 의해 취해진 높이 측정값을 도시한다.
도 3b는 예시적 실시형태에 따라, 도 3a에 도시된 높이 측정의 미분을 도시한다.
도 4는 일 실시형태에 따라, 에스컬레이터의 좌측 벽, 우측 벽 및 플로어에 대응하는 높이 측정값을 저장하기 위한 데이터 테이블을 도시한다.
도 5는 예시적인 실시형태에 따라, 주변 환경 내에서 에스컬레이터를 결정하기위한 로봇의 컨트롤러에 대한 프로세스 흐름도를 도시한다.
도 6a~b는 예시적인 실시형태에 따라, 에스컬레이터를 검출하기 위해 사용된 최소 간격 파라미터가 로봇의 접근 각도에 따라 변화되지 않는 방식을 도시하기 위해 2개의 접근 각도로 에스컬레이터에 접근하는 로봇을 도시한다.
도 7은 예시적인 실시형태에 따라, LiDAR 스캔 또는 이미지에서 에스컬레이터를 식별하도록 트레이닝되는 뉴럴 네트워크의 상위 레벨 다이어그램을 도시한다.
본원에 개시되는 모든 도면은 브레인 코포레이션(Brain Corporation)의 2018년 발효 저작권(ⓒ Copyright 2018)이다. 모든 권리를 보유한다.
본원에 개시된 신규한 시스템, 장치 및 방법의 다양한 양태는 첨부 도면을 참조하여 이하에서 보다 완전하게 설명된다. 그러나, 본 개시는 다수의 상이한 형태로 구현될 수 있으며, 본 개시 전반에 걸쳐 제시된 임의의 특수 구조 또는 기능을 제한하는 것으로 해석되어서는 안된다. 오히려, 이들 양태는 본 개시가 철저하고 완전하며, 본 개시의 범위를 당업자에게 완전히 전달할 수 있도록 제공된다. 본원의 교시내용에 기초하여, 당업자는 본 개시의 범위가 임의의 본원의 임의의 다른 양태와 독립적으로 또는 조합하여 구현되는 경우라도, 본원에 개시된 신규한 시스템, 장치 및 방법의 임의의 측면을 포함하도록 의도된다는 것을 이해할 수 있다. 예를 들면, 본원에서 명시되는 임의의 수의 양태를 이용하여 장치가 구현되거나 또는 방법이 실시될 수 있다. 또한, 본 개시의 범위는 본원에서 명시되는 개시의 다양한 양태에 추가하여 또는 그 이외에 다른 구조, 기능, 또는 구조와 기능을 사용하여 실시되는 장치 또는 방법을 포함하도록 의도된다. 본원에 개시되는 임의의 양태는 청구항의 하나 이상의 구성요소에 의해 구현될 수 있다는 것을 이해해야 한다.
특정 양태가 본원에서 설명되지만, 이들 양태의 다수의 변형 및 변경은 본 본 개시의 범위 내에 포함된다. 바람직한 양태의 일부 이점 및 장점이 언급되지만, 본 개시의 범위는 특정 이점, 용도 및/또는 목적으로 제한되도록 의도되지 않는다. 상세한 설명 및 도면은 본 개시를 제한하는 것이 아니라 단지 예시일 뿐이며, 본 개시의 범위는 첨부된 청구범위 및 그 등가물에 의해 규정된다.
본 개시는 로봇의 주변 환경 내에서 에스컬레이터를 검출하기 위한 시스템 및 방법을 제공한다. 본원에 사용되는 바와 같이, 로봇은 복잡한 일련의 작업 또는 동작을 자율적으로 수행하도록 구성된 기계적 엔티티 및/또는 가상 엔티티를 포함할 수 있다. 일부 예시적 실시형태에 있어서, 로봇은 컴퓨터 프로그램 및/또는 전자 회로에 의해 가이드 및/또는 지시되는 기계일 수 있다. 일부 예시적 실시형태에 있어서, 로봇은 로봇이 하나의 위치로부터 다른 위치로 이동할 수 있는 내비게이션용으로 구성된 전자 기계 구성요소를 포함할 수 있다. 이러한 로봇에는 자율 및/또는 반자율 자동차, 플로어 클리너, 로버, 드론, 비행기, 보트, 카트, 트램, 휠체어, 산업 장비, 스토킹 머신, 모바일 플랫폼, 개인 운송 장치(예를 들면, 호버 보드, SEGWAYS® 등), 스토킹 머신, 트레일러 이동기, 차량 등이 포함될 수 있다. 로봇은 아이템, 사람, 동물, 카고, 화물, 객체, 수하물, 및/또는 하나의 위치로부터 다른 위치로 소망하는 모든 것을 운반하기 위한 자율 및/또는 반자율 기계를 더 포함할 수 있다.
본원에 사용되는 바와 같이, 에스컬레이터는 이동하는 계단을 통해 사람이나 사물을 상향 또는 하향으로 이동시키도록 구성된 사선 형태의 계단식 에스컬레이터를 포함할 수 있다. 에스컬레이터는 이동하는 벨트를 통해 평평한 평면을 가로질러 사람이나 사물을 수평으로 이동시키도록 구성된 평면식 에스컬레이터를 더 포함할 수 있다. 평면식 에스컬레이터 또는 무빙 워크는 통상적으로 이동하는 벨트를 생성하는 복수의 세그먼트를 포함하며, 여기서 평면식 에스컬레이터 또는 무빙 워크와 관련하여 본원에 사용되는 제 1 이동 스텝은 평면식 에스컬레이터의 이동 벨트의 제 1 세그먼트에 대응할 수 있다. 한쪽 단부에서 평면식 에스컬레이터로 이동하는 로봇은, 로봇이 에스컬레이터의 벨트 위 또는 그로부터 멀어질 때에 또한 에스컬레이터의 벽과 충돌을 경험하거나, 로봇을 손상시키거나 근처 사람에게 안전상의 위험을 초래할 수 있는 속도로 반대쪽 단부의 평면식 에스컬레이터의 고정 부분에 접근할 수 있다. 적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 로봇은 환경에 따라 로봇을 수송하기 위해 에스컬레이터를 결정하고 활용하도록 구성될 수 있다.
본원에 사용되는 바와 같이, 거리 측정 센서는 센서와 표적 포인트 사이의 거리를 결정하도록 구성된 임의의 센서를 포함할 수 있으며, 상기 표적 포인트는 표면에 존재한다. 예를 들면, 거리 측정 센서는 광 검출 및 거리 측정(FiDAR) 센서 또는 상기 센서와 주변 객체 사이의 거리를 측정하도록 구성된 다른 유사한 광학 센서를 포함할 수 있다.
본원에 사용되는 바와 같이, 높이 측정값은 제로(0)의 높이에서 평평한 기준 평면에 대한 거리 측정 카메라에 의해 측정된 목표 포인트의 높이를 포함할 수 있다. 평평한 기준 평면은 거리 측정 센서를 포함하는 로봇이 존재하는 평평한 플로어일 수 있다. 본원에 사용되는 바와 같이, 거리 측정은 높이 측정의 인버스를 포함할 수 있으며, 상기 거리 측정은 거리 측정 센서와 목표 포인트 사이의 거리를 측정한다. 당업자는 본원에 예시된 실시형태가 높이 측정을 이용하지만, 거리 측정을 이용하여 에스컬레이터를 결정하기 위해 채용되는 실질적으로 유사한 시스템 및 방법을 기대할 수 있음을 이해한다.
본원에 사용되는 바와 같이, 에스컬레이터의 측벽은 에스컬레이터의 이동 스텝을 둘러싸는 난간 및 난간 지지 구조를 포함할 수 있다.
본원에 사용되는 바와 같이, 학습 프로세스는 로봇에게 관련 파라미터를 교시하는 단계를 포함할 수 있다. 로봇은, 예를 들면 오퍼레이터가 로봇을 에스컬레이터로 내비게이팅하게 하고, 로봇이 센서를 이용하여 에스컬레이터의 폭을 측정하도록 함으로써 에스컬레이터의 폭을 넓힐 수 있다. 이어서, 로봇은 에스컬레이터를 결정하는 동안에 이후의 참조를 위해 메모리에 학습된 폭을 저장할 수 있다.
본원에 사용되는 바와 같이, 네트워크 인터페이스는, 파이어와이어(예를 들면, FW400, FW800, FWS800T, FWS1600, FWS3200 등), 유니버셜 시리얼 버스("USB")(예를 들면, USB l.X, USB 2.0, USB 3.0, USB Type-C 등)), 이더넷(예를 들면, 10/100, 10/100/1000(기가바이트 이더넷), 10-Gig-E 등), 동축 얼라이언스 기술을 통한 멀티미디어("MoCA"), 코액시스(예를 들면, TVNET™), 라디오 주파수 튜너(예를 들면, 인-밴드 또는 OOB, 케이블 모뎀 등), Wi-Fi(802.11), WiMAX(예를 들면, WiMAX(802.16)), PAN(예를 들면, PAN/802.15), 셀룰러(예를 들면, 3G, LTE/LTE-A/TD-LTE/TD-LTE, GSM 등), IrDA 패밀리 등을 포함하지만 이에 제한되지 않는 구성요소, 네트워크 또는 프로세스와의 임의의 신호, 데이터 또는 소프트웨어 인터페이스를 포함할 수 있다. 본원에 사용되는 바와 같이, 와이파이는 하나 이상의 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), 및/또는 기타 무선 표준을 포함할 수 있다.
본원에 사용되는 바와 같이, 프로세서, 마이크로프로세서, 및/또는 디지털 프로세서는 디지털 신호 프로세서("DSP"), 축소 명령 세트 컴퓨터("RISC"), 범용("CISC") 프로세서, 마이크로프로세서, 게이트 어레이(예를 들면, 필드 프로그래머블 게이트 어레이("FPGA")), 프로그래머블 로직 디바이스("PLD"), 재구성가능한 컴퓨터 패브릭("RCF"), 어레이 프로세서, 보안 마이크로프로세서, 특수 프로세서(예를 들면, 뉴로모픽 프로세서), 및 주문형 집적 회로("ASIC") 등과 같은 임의의 유형의 디지털 프로세싱 디바이스를 포함할 수 있지만, 이에 제한되지 않는다. 이러한 디지털 프로세서는 단일 유니터리 집적 회로 다이 상에 포함되거나, 또는 다수의 구성요소에 걸쳐 분포될 수 있다.
본원에 사용되는 바와 같이, 컴퓨터 프로그램 및/또는 소프트웨어는, 임의의 시퀀스, 또는 기능을 행하는 인간 또는 기계 인식가능한 스텝을 포함할 수 있다. 이러한 컴퓨터 프로그램 및/또는 소프트웨어는, 예를 들면 C/C++, C#, 포트란, COBOL, MATLAB™, PASCAL, GO, RUST, SCALA, 파이썬, 어셈블리 언어, 마크업 언어(예를 들면, HTML, SGML, XML, VoXML) 등을 포함하는 임의의 프로그래밍 언어 또는 환경 뿐만 아니라, 객체-지향 환경, 예를 들면 공통 객체 요구 매개자 구조("CORBA"), JAVA™(J2ME, 자바 빈스 등을 포함함), 바이너리 런타임 환경(예를 들면, "BREW") 등으로 렌더링될 수 있다.
본원에 사용되는 바와 같이, 접속, 링크, 및/또는 무선 링크는 임의의 2개 이상의 엔티티(물리적 엔티티든 또는 로지컬/가상 엔티티든 상관없음) 사이의 인과성 링크를 포함하여, 엔티티들간의 정보 교환을 가능하게 한다.
본원에 사용되는 바와 같이, 컴퓨터 및/또는 컴퓨팅 디바이스는 데스크톱, 랩톱 또는 다른 방식의 개인용 컴퓨터("PC") 및 미니프레임 컴퓨터, 워크스테이션, 서버, 개인용 디지털 보조장치("PDA"), 핸드헬드 컴퓨터, 내장형 컴퓨터, 프로그래머블 로직 디바이스, 개인 통신기, 태블릿 컴퓨터, 모바일 디바이스, 휴대형 내비게이션 보조장치, J2ME 장비 디바이스, 셀룰러 폰, 스마트 폰, 개인 통합 통신 또는 엔터테인먼트 디바이스, 및/또는 명령의 세트를 실행하고 인커밍 데이터 신호를 프로세싱할 수 있는 임의의 다른 디바이스를 포함할 수 있지만 이에 제한되지 않는다.
이하, 본 개시의 시스템 및 방법의 다양한 실시형태에 대한 상세한 설명이 제공된다. 본원에 설명되는 다수의 예는 특정 예시적인 실시형태를 참조할 수 있지만, 본원에 포함된 설명된 시스템 및 방법은 임의의 종류의 로봇에 적용될 수 있음을 이해할 것이다. 본 개시의 내용을 참조하면, 본원에 설명된 기술에 대한 무수한 다른 실시형태 또는 사용이 당업자에 의해 용이하게 구상될 것이다.
유리하게, 본 개시의 시스템 및 방법은 적어도: (i) 하나 이상의 센서를 사용하여 주변 환경 내의 에스컬레이터를 검출하는 것; (ii) 로봇의 작동의 안전성을 향상시키는 것; (iii) 장애물을 피하기 위해 로봇이 자율적으로 작동하는 능력을 향상시키는 것; 및 (iv) 복잡한 환경에서 로봇 작동의 위험을 최소화하는 것을 포함한다. 다른 이점은 본 개시의 내용을 참조하면 당업자에 의해 쉽게 식별될 수 있다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 로봇식 시스템이 개시된다. 로봇식 시스템은 로봇이 급격한 클리프와 장애물을 피할 수 있도록 로봇의 전방과 근처에 있는 플로어의 거리 측정값을 수집하도록 구성된 하나 이상의 거리 측정 센서를 포함할 수 있다. 로봇식 시스템은 하나 이상의 거리 측정 센서에 의해 수집된 데이터에 기초하여 에스컬레이터를 결정하기 위해 컴퓨터 판독가능한 명령을 실행하도록 구성된 하나 이상의 특수 프로세서를 더 포함할 수 있다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 로봇식 시스템은 그 위에 구현된 복수의 명령 및 컴퓨터 판독가능한 명령을 실행하도록 구성된 하나 이상의 특수 프로세서를 포함하는 비일시적 컴퓨터 판독가능한 저장 매체를 포함할 수 있다. 명령은 하나 이상의 특수 프로세서가 본 개시의 시스템 및 방법을 이용하여 거리 측정 센서에 의해 수집된 데이터에 기초하여 환경 내에서 에스컬레이터를 검출하여 피하도록 할 수 있다.
하나 이상의 비제한적인 예시적인 실시형태에 따르면, 로봇이 에스컬레이터를 검출하는 방법이 개시된다. 상기 방법은 미리 결정된 폭으로 간격을 두고 이격된 2개의 벽을 검출하기 위한 로봇의 컨트롤러를 포함할 수 있고, 상기 미리 결정된 폭은 에스컬레이터의 폭에 대응한다. 상기 방법은 고정된 플로어와 에스컬레이터의 제 1 이동 스텝 사이의 작은 드롭부를 검출하는 단계를 더 포함할 수 있다. 이들 2개의 파라미터가 충족되면, 로봇의 컨트롤러는 에스컬레이터를 결정할 수 있다. 적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 로봇은 에스컬레이터를 결정하면, 로봇이 넘어졌거나 에스컬레이터로 내비게이팅할 때에, 로봇을 에스컬레이터로부터 멀리 내비게이팅시켜 로봇에의 손상, 주변 객체에의 손상, 또는 근처 사람들에게의 손상을 입히는 것을 피할 수 있다. 다른 비제한적인 예시적인 실시형태에 따르면, 로봇은 로봇이 환경 내에서 스스로 이동할 수 있도록 에스컬레이터로 내비게이팅할 수 있다.
도 1a는 본 개시의 일부 원리에 따른 로봇(102)의 기능 블록도이다. 도 1a에 도시된 바와 같이, 로봇(102)은 컨트롤러(118), 메모리(120), 유저 인터페이스 유닛(112), 센서 유닛(114), 내비게이션 유닛(106), 액추에이터 유닛(108), 및 통신 유닛(116) 뿐만 아니라 다른 구성요소 및 하위 구성요소(예를 들면, 이들 중 일부는 도시되지 않을 수 있음)를 포함할 수 있다. 특정 실시형태가 도 1a에 도시되지만, 본 개시의 내용을 참고하면 당업자에게 용이하게 명백할 수 있는 바와 같이 특정 실시형태에서 아키텍처가 변경될 수 있는 것이 이해된다. 본원에 사용되는 바와 같이, 로봇(102)은 본 개시에 설명된 임의의 로봇의 적어도 일부를 대표할 수 있다.
컨트롤러(118)는 로봇(102)에 의해 행해지는 다양한 동작을 제어할 수 있다. 컨트롤러(118)는 하나 이상의 프로세서(예를 들면, 마이크로프로세서) 및 다른 주변 장치를 포함 및/또는 구비할 수 있다. 본원에 사용되는 바와 같이, 프로세서, 마이크로프로세서 및/또는 디지털 프로세서는 디지털 신호 프로세서("DSP"), 축소 명령 세트 컴퓨터("RISC"), 범용("CISC") 프로세서, 마이크로프로세서, 게이트 어레이(예를 들면, 필드 프로그래머블 게이트 어레이("FPGA")), 프로그래머블 로직 디바이스("PLD"), 재구성가능한 컴퓨터 패브릭("RCF"), 어레이 프로세서, 보안 마이크로프로세서, 특수 프로세서(예를 들면, 뉴로모픽 프로세서), 및 주문형 집적 회로("ASIC") 등과 같은 임의의 유형의 디지털 프로세싱 디바이스를 포함할 수 있지만, 이에 제한되지 않는다. 이러한 디지털 프로세서는 단일 유니터리 집적 회로 다이 상에 포함될 수 있거나, 또는 다수의 구성요소에 걸쳐 분포될 수 있다.
컨트롤러(118)는 메모리(120)에 동작 가능하게 및/또는 통신 가능하게 결합될 수 있다. 메모리(120)는 판독 전용 메모리("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") 등을 포함하지만 이에 제한되지 않는 디지털 데이터를 저장하도록 구성된 임의의 유형의 집적 회로 또는 다른 저장 디바이스를 포함할 수 있다. 메모리(120)는 명령 및 데이터를 컨트롤러(118)에 제공할 수 있다. 예를 들면, 메모리(120)는 복수의 명령이 저장된 비일시적 컴퓨터 판독가능한 저장 장치 및/또는 매체일 수 있으며, 상기 명령은 로봇(102)을 동작시키도록 프로세싱 장치(예를 들면, 컨트롤러(118))에 의해 실행 가능하다. 일부 경우에 있어서, 명령은, 프로세싱 장치에 의해 실행될 때에, 프로세싱 장치가 본 개시에서 설명되는 다양한 방법, 특징, 및/또는 기능을 행하게 하도록 구성될 수 있다. 따라서, 컨트롤러(118)는 메모리(120) 내에 저장된 프로그램 명령에 기초하여 로직 연산 및/또는 산술 연산을 행할 수 있다. 일부 경우에 있어서, 메모리(120)의 명령 및/또는 데이터는 일부가 로봇(102) 내에 로컬로 위치되고 일부가 로봇(102)으로부터 원격으로 위치되는(예를 들면, 클라우드, 서버, 네트워크 등) 하드웨어의 조합에 저장될 수 있다.
당업자는 메모리(120)의 예시적인 데이터 테이블이 컨트롤러(118)가 메모리(120)로부터 컴퓨터 판독가능한 명령을 실행함에 따라 추가 행 및/또는 열이 추가될 수 있는 자기 참조 데이터 테이블일 수 있다는 것이 이해된다.
프로세서가 로봇(102)의 외부에 있을 수 있고, 외부 프로세서가 로봇(102)으로부터 데이터를 수신하고, 데이터를 처리하고, 또한 컴퓨터 판독가능한 명령을 컨트롤러(118)로 다시 전송하는 통신 유닛(116)을 이용하여 로봇(102)의 컨트롤러(118)에 통신 가능하게 결합될 수 있다는 것은 당업자에게 용이하게 명백할 수 있다. 적어도 하나의 비제한적인 예시적인 실시형태에 있어서, 프로세서는 원격 서버(도시되지 않음)에 있을 수 있다.
일부 예시적인 실시형태에 있어서, 도 1a에 도시된 메모리(120)는 센서 데이터의 라이브러리를 저장할 수 있다. 일부 경우에 있어서, 센서 데이터는 객체 및/또는 사람과 적어도 부분적으로 연관될 수 있다. 예시적인 실시형태에 있어서, 이 라이브러리는 상이한 조성(예를 들면, 재료, 반사 특성, 분자 구성 등), 상이한 라이팅 조건, 각도, 크기, 거리, 선명도(예를 들면, 흐릿함, 차폐/차단, 부분적으로 프레임에서 벗어남 등), 색상, 주변환경, 및/또는 기타 조건을 갖는 객체 및/또는 사람과 관련된 센서 데이터 등의 상이한 조건에서의 객체 및/또는 사람과 관련된 센서 데이터를 포함할 수 있다. 라이브러리의 센서 데이터는 상이한 조명 조건, 각도, 크기, 거리, 선명도(예를 들면, 흐릿함, 차폐/차단, 부분적으로 프레임에서 벗어남 등), 색상, 주변환경, 및/또는 기타 조건으로부터 라이브러리 센서 데이터(예를 들면, 이러한 라이브러리 데이터를 완전히 디지털 방식으로 생성/시뮬레이션하고, 및/또는 실제 센서 데이터로부터 시작할 수 있음)를 생성/시뮬레이션(예를 들면, 가상 세계에서)하도록 구성된 컴퓨터 프로그램 등을 이용하여, 센서(예를 들면, 센서 유닛(114)의 센서 또는 임의의 다른 센서)에 의해 취해지거나 자동으로 생성될 수 있다. 라이브러리의 이미지 수는 이용가능한 데이터의 양, 로봇(102)이 작동하는 주변환경의 가변성, 객체 및/또는 사람의 복잡성, 객체의 외형의 가변성, 로봇의 물리적 속성, 센서의 특성, 및/또는 이용가능한 저장 공간의 양(예를 들면, 라이브러리, 메모리(120) 및/또는 로컬 저장소 또는 원격 저장소에서) 중 하나 이상에 적어도 부분적으로 의존할 수 있다. 예시적인 실시형태에 있어서, 라이브러리의 적어도 일부는 네트워크(예를 들면, 클라우드, 서버, 분산 네트워크 등)에 저장될 수 있고, 및/또는 메모리(120) 내에 완전히 저장되지 않을 수 있다. 또 다른 예시적인 실시형태로서, 다양한 로봇(예를 들면, 공통 제조업체, 유저, 네트워크 등에 의한 로봇과 같이 공통적으로 연관되어 있음)이 네트워크화되어 개별 로봇에 의해 캡쳐된 데이터가 다른 로봇과 집합적으로 공유될 수 있다. 이러한 방식으로, 이들 로봇은 오류를 쉽게 검출 및/또는 식별 및/또는 이벤트를 지원하는 능력을 용이하게 하기 위해 센서 데이터를 학습 및/또는 공유하도록 구성될 수 있다.
또한, 도 1a를 참조하면, 작동 유닛(104)은 컨트롤러(118) 또는 임의의 다른 컨트롤러와 연결되어 본 개시에서 설명된 다양한 작동을 행할 수 있다. 작동 유닛(104)의 모듈 중 하나, 그 이상 또는 없음이 일부 실시형태에 포함될 수 있다. 본 개시를 통해, 다양한 컨트롤러 및/또는 프로세서에 대한 참조가 있을 수 있다. 일부 실시형태에 있어서, 단일 컨트롤러(예를 들면, 컨트롤러(118))는 설명된 다양한 컨트롤러 및/또는 프로세서로서 기능할 수 있다. 다른 실시형태에서, 특히 하나 이상의 작동 유닛(104)에 대해 사용되는 컨트롤러 및/또는 프로세서와 같은 상이한 컨트롤러 및/또는 프로세서가 사용될 수 있다. 컨트롤러(118)는 전력 신호, 상태 신호, 데이터 신호, 전기 신호, 및/또는 이산 신호 및 아날로그 신호를 포함하는 임의의 다른 바람직한 신호 등의 신호를 작동 유닛(104)으로 송신 및/또는 수신할 수 있다. 컨트롤러(118)는 작동 유닛(104)을 조정 및/또는 관리하고, 및/또는 타이밍(예를 들면, 동기식 또는 비동기식)을 설정하고, 제어 전력 예산을 턴 오프/턴 온하고, 네트워크 명령 및/또는 업데이트를 수신/전송하고, 펌웨어를 업데이트하고, 질문 신호를 전송하고, 상태를 수신 및/또는 전송하고, 및/또는 로봇(102)의 기능을 실행하기 위한 임의의 동작을 행할 수 있다.
도 1a로 돌아가면, 작동 유닛(104)은 로봇(102)에 대한 기능을 행하는 각종 유닛을 포함할 수 있다. 예를 들면, 작동 유닛(104)은 적어도 내비게이션 유닛(106), 액추에이터 유닛(108), 유저 인터페이스 유닛(112), 센서 유닛(114) 및 통신 유닛(116)을 포함한다. 작동 유닛(104)은 로봇(102)의 다양한 기능을 제공하는 다른 유닛을 더 포함할 수 있다. 예시적인 실시형태에 있어서, 작동 유닛(104)은 소프트웨어, 하드웨어 또는 소프트웨어와 하드웨어 모두에서 인스턴스화될 수 있다. 예를 들면, 일부 경우에 있어서, 작동 유닛(104)의 유닛은 컨트롤러에 의해 실행되는 컴퓨터 구현 명령을 포함할 수 있다. 예시적인 실시형태에 있어서, 작동 유닛(104)의 유닛은 하드코딩된 로직을 포함할 수 있다. 예시적인 실시형태에 있어서, 작동 유닛(104)의 유닛은 컨트롤러에 의해 실행되는 컴퓨터 구현 명령 및 하드코딩된 로직 모두를 포함할 수 있다. 작동 유닛(104)이 부분적으로 소프트웨어로 구현되는 경우, 작동 유닛(104)은 하나 이상의 기능을 제공하도록 구성된 코드의 유닛/모듈을 포함할 수 있다.
예시적인 실시형태에 있어서, 내비게이션 유닛(106)은 환경의 맵을 계산적으로 구성 및 업데이트하고, 맵에서 로봇(102)의 위치를 파악(예를 들면, 위치 찾기)하고, 목적지로/로부터 로봇(102)을 내비게이팅할 수 있는 시스템 및 방법을 포함할 수 있다. 맵핑은 센서 유닛(114)에 의해 부분적으로 획득된 데이터를 환경의 적어도 일부를 나타내는 컴퓨터 판독가능한 맵에 부과함으로써 행해질 수 있다. 예시적인 실시형태에 있어서, 환경의 맵은 유저 인터페이스 유닛(112)을 통해 로봇(102)에 업로드되거나, 무선으로 또는 유선 연결을 통해 업로드되거나, 또는 유저에 의해 로봇(102)에게 교시될 수 있다.
예시적인 실시형태에 있어서, 내비게이션 유닛(106)은 로봇(102)에 내비게이팅을 위한 방향 명령을 제공하도록 구성된 구성요소 및/또는 소프트웨어를 포함할 수 있다. 내비게이션 유닛(106)은 맵핑 및 위치결정 유닛, 센서 유닛(114), 및/또는 다른 작동 유닛(104)으로부터의 데이터에 의해 생성된 맵, 노정 및 위치결정 정보를 처리할 수 있다.
또한, 도 1a를 참조하면, 액추에이터 유닛(108)은 전기 모터, 가스 모터, 구동 자석 시스템, 솔레노이드/래칫 시스템, 압전 시스템(예를 들면, 인치웜 모터), 자기변형 요소, 제스처 등의 액추에이터, 및/또는 당업계에 알려진 액추에이터를 구동하는 임의의 방식 등을 포함할 수 있다. 예시로서, 이러한 액추에이터는 로봇(102)이 노정을 내비게이팅하도록 휠을 작동시키고; 장애물 주위를 내비게이팅시키고; 카메라와 센서를 회전시킬 수 있다.
액추에이터 유닛(108)은 일부 경우에 작업을 행하기 위해 작동에 사용되는 임의의 시스템을 포함할 수 있다. 예를 들면, 액추에이터 유닛(108)은 구동 자석 시스템, 모터/엔진(예를 들면, 전기 모터, 연소 엔진, 증기 엔진, 및/또는 당업계에 공지된 임의의 유형의 모터/엔진), 솔레노이드/래칫 시스템, 압전 시스템(예를 들면, 인치웜 모터), 자기변형 요소, 제스처, 및/또는 당업계에 공지된 임의의 액추에이터를 포함할 수 있다. 예시적 실시형태에 따르면, 액추에이터 유닛(108)은 전동화 추진과 같은 로봇(102)의 이동을 허용하는 시스템을 포함할 수 있다. 예를 들면, 전동 추진은 로봇(102)을 전방 또는 후방으로 이동시킬수 있고, 및/또는 로봇(102)을 회전(예를 들면, 좌측, 우측, 및/또는 임의의 다른 방향)시키는데 적어도 부분적으로 사용될 수 있다. 예로서, 액추에이터 유닛(108)은 로봇(102)이 이동하거나 정지하는 것을 제어할 수 있고, 및/또는 로봇(102)이 하나의 위치에서 또 다른 위치로 이동할 수 있도록 한다.
예시적인 실시형태에 따르면, 센서 유닛(114)은 로봇(102) 내부 및/또는 주위의 특성을 검출할 수 있는 시스템 및/또는 방법을 포함할 수 있다. 센서 유닛(114)은 복수 및/또는 센서의 조합을 포함할 수 있다. 센서 유닛(214)은 로봇(102)의 내부 또는 외부에 있는 센서, 및/또는 부분적으로 내부 및/또는 부분적으로 외부에 있는 구성요소를 포가질 수 있다. 일부 경우에 있어서, 센서 유닛(114)은 소나, 광 검출 및 범위측정("LIDAR") 센서, 레이더, 레이저, 카메라(비디오 카메라(예를 들면, 적색-청색-녹색("RBG") 카메라, 적외선 카메라, 3차원("3D") 카메라, 열화상 카메라 등)를 포함함), 비행시간("TOF") 측정 카메라, 구조화된 라이트 카메라, 안테나, 동작 검출기, 마이크로폰, 및/또는 당업계에 공지된 다른 임의의 센서 등의 하나 이상의 외부 수용 센서를 포함할 수 있다. 일부 예시적인 실시형태에 따르면, 센서 유닛(114)은 원시 측정(예를 들면, 전류, 전압, 저항, 게이트 로직 등) 및/또는 변환된 측정값(예를 들면, 거리, 각도, 장애물에서 검출된 포인트 등)을 수집할 수 있다. 일부 경우에 있어서, 측정값이 집계 및/또는 요약될 수 있다. 센서 유닛(114)은 거리 또는 높이 측정에 적어도 부분적으로 기초하여 데이터를 생성할 수 있다. 이러한 데이터는 행렬, 배열, 대기열, 목록, 배열, 스택, 백 등과 같은 데이터 구조에 저장될 수 있다.
예시적인 실시형태에 따르면, 센서 유닛(114)은 로봇(102)의 내부 특성을 측정할 수 있는 센서를 포함할 수 있다. 예를 들면, 센서 유닛(114)은 온도, 전력 레벨, 상태, 및/또는 로봇(102)의 임의의 특성을 측정할 수 있다. 일부 경우에 있어서, 센서 유닛(114)은 로봇(102)의 오도메트리(odometry)를 결정하도록 구성될 수 있다. 예를 들면, 센서 유닛(114)은 가속도계, 관성 측정 유닛("IMU"), 오도미터, 자이로스코프, 속도계, 카메라(예를 들면, 시각 오도메트리 사용), 시계/타이머 등과 같은 센서를 포함할 수 있는 고유감각 센서를 포함할 수 있다. 오도메트리는 로봇(102)의 자율 내비게이팅 및/또는 자율 동작을 용이하게 할 수 있다. 이 오도메트리는 초기 위치에 대한 로봇(102)의 위치(예를 들면, 위치는 로봇의 위치, 변위 및/또는 배향을 포함할 수 있으며, 경우에 따라 본원에 사용되는 용어 포즈와 상호교환가능할 수 있음)를 포함할 수 있다. 이러한 데이터는 매트릭스, 어레이, 큐, 리스트, 어레이, 스택, 백 등과 같은 데이터 구조에 저장될 수 있다. 예시적인 실시형태에 따르면, 센서 데이터의 데이터 구조는 이미지라고 불릴 수 있다.
예시적인 실시형태에 따르면, 유저 인터페이스 유닛(112)은 유저가 로봇(102)과 상호작용할 수 있도록 구성될 수 있다. 예를 들면, 유저 인터페이스 유닛(112)은 터치 패널, 버튼, 키패드/키보드, 포트(예를 들면, 유니버셜 시리얼 버스("USB"), 디지털 비주얼 인터페이스("DVI"), 디스플레이 포트, E-Sata, 파이어와이어, PS/2, 시리얼, VGA, SCSI, 오디오포트, 고화질 멀티미디어 인터페이스("HDMI"), 개인용 컴퓨터 메모리 카드 국제 협회("PCMCIA")의 포트, 메모리 카드 포트(예를 들면, 보안 디지털("SD") 및 미니 SD), 및/또는 컴퓨터 판독가능한 매체용 포트), 마우스, 롤러볼, 콘솔, 바이브레이터, 오디오 변환기, 및/또는 무선 연결 또는 유선 연결이든 상관없이 유저가 데이터 및/또는 코맨드를 입력 및/또는 수신할 수 있도록 한 임의의 인터페이스를 포함할 수 있다. 유저는 음성 코맨드 또는 제스쳐를 통해 상호작용할 수 있다. 유저 인터페이스 유닛(218)에는, 예를 들면 액정 디스플레이("LCD"), 발광 다이오드("LED") 디스플레이, LED LCD 디스플레이, 인-플레인 스위칭("IPS") 디스플레이, 음극선관, 플라즈마 디스플레이, 고화질("HD") 패널, 4K 디스플레이, 망막 디스플레이, 유기 LED 디스플레이, 터치스크린, 표면, 캔버스, 및/또는 임의의 디스플레이, 텔레비전, 모니터, 패널, 및/또는 당업계에 공지된 시각적 표현을 위한 장치 등의 디스플레이가 포함될 수 있지만, 이에 한정되지 않는다. 예시적인 실시형태에 따르면, 유저 인터페이스 유닛(112)은 로봇(102)의 보디에 위치될 수 있다. 예시적 실시형태에 따르면, 유저 인터페이스 유닛(112)은 로봇(102)의 보디로부터 멀리 떨어져 위치될 수 있지만, 로봇(102)에(예를 들면, 송신기, 수신기, 및/또는 송수신기를 포함한 통신 유닛을 통해) 직접적으로 또는 간접적으로(예를 들면, 네트워크, 서버, 및/또는 클라우드를 통해) 통신 가능하게 결합될 수 있다. 예시적 실시형태에 따르면, 유저 인터페이스 유닛(112)은, 예를 들면 탑승자 또는 로봇 주변 사람들에게 정보를 제공하기 위해, 로봇에 근접하게 위치된 표면(예를 들면, 플로어) 상에 하나 이상의 이미지를 투영하는 것을 포함할 수 있다. 상기 정보는 전방, 좌, 우, 후방, 경사, 및/또는 임의의 다른 방향으로의 이동 표시 등의 로봇의 향후 이동 방향일 수 있다. 일부 경우에 있어서, 이러한 정보는 화살표, 색상, 기호 등을 이용할 수 있다.
예시적인 실시형태에 따르면, 통신 유닛(116)에는 하나 이상의 수신기, 송신기, 및/또는 송수신기가 포함될 수 있다. 통신 유닛(116)은, 예를 들면 블루투스(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")), 및/또는 임의의 다른 형태의 무선 데이터 전송 등의 전송 프로토콜을 송신/수신하도록 구성될 수 있다.
통신 유닛(116)은 신호 라인 및 접지를 갖는 임의의 케이블 등의 유선 접속을 통해 전송 프로토콜을 이용하여 신호를 송신/수신하도록 더 구성될 수 있다. 예를 들면, 이러한 케이블은 이더넷 케이블, 동축 케이블, 유니버셜 시리얼 버스("USB"), 파이어와이어 및/또는 당업계에 알려진 임의의 접속을 포함할 수 있다. 이러한 프로토콜은 컴퓨터, 스마트 폰, 태블릿, 데이터 캡처 시스템, 모바일 통신 네트워크, 클라우드, 서버 등과 같은 외부 시스템과 통신하기 위해 통신 유닛(116)에 의해 사용될 수 있다. 통신 유닛(116)은 숫자, 문자, 영숫자 문자, 및/또는 기호를 포함하는 신호를 송수신하도록 구성될 수 있다. 일부 경우에 있어서, 신호는 128비트 또는 256비트 키 등의 알고리즘 및/또는 고급 암호화 표준("AES"), RSA, 데이터 암호화 표준("DES"), 트리플 DES 등의 표준을 준수하는 기타 암호화 알고리즘을 사용하여 암호화될 수 있다. 통신 유닛(116)은 상태, 코맨드 및 기타 데이터/정보를 송수신하도록 구성될 수 있다. 예를 들면, 통신 유닛(116)은 유저가 로봇(102)을 제어할 수 있도록 유저 오퍼레이터와 통신할 수 있다. 통신 유닛(116)은 로봇(102)이 데이터, 상태, 코맨드 및 기타 통신을 서버에 전송하도록 허용하기 위해 서버/네트워크(예를 들면, 네트워크)와 통신할 수 있다. 서버는 로봇(102)을 원격으로 모니터링 및/또는 제어하는데 사용될 수 있는 컴퓨터(들) 및/또는 장치(들)에 통신 가능하게 더 결합될 수 있다. 통신 유닛(116)은 로봇(102)용 서버로부터 업데이트(예를 들면, 펌웨어 또는 데이터 업데이트), 데이터, 상태, 코맨드 및 기타 통신을 더 수신할 수 있다.
예시적인 실시형태에 있어서, 오퍼레이팅 시스템(110)은 메모리(120), 컨트롤러(118), 전원 공급 장치(122), 작동 유닛(104)의 모듈, 및/또는 로봇(102)의 임의의 소프트웨어, 하드웨어 및/또는 특징부를 관리하도록 구성될 수 있다. 예를 들면, 오퍼레이팅 시스템(110)은 로봇(102)에 대한 하드웨어 소스를 관리하기 위한 장치 드라이버를 포함할 수 있지만, 이에 제한되지 않는다.
예시적인 실시형태에 있어서, 전원 공급 장치(122)는 리튬, 리튬 이온, 니켈-카드뮴, 니켈-금속 수소화물, 니켈-수소, 탄소-아연, 은-산화물, 아연-탄소, 아연-에어, 수은 산화물, 알칼리, 또는 당업계에 알려진 임의의 다른 유형의 배터리를 포함하지만 이에 제한되지 않는 하나 이상의 배터리를 포함할 수 있다. 특정 배터리는 무선(예를 들면, 공진 회로 및/또는 공진 탱크 회로) 및/또는 외부 전원에 플러깅하는 등 해서 재충전될 수 있다. 전원 공급 장치(122)는 태양열, 풍력, 물, 원자력, 수소, 가솔린, 천연 가스, 화석 연료, 기계 에너지, 증기, 및/또는 임의의 전원을 전기로 변환하는 벽면 소켓 및 전자 장치를 더 포함한 모든 에너지 공급체일 수 있다.
도 1a와 관련하여 설명된 유닛(메모리(120), 컨트롤러(118), 센서 유닛(114), 유저 인터페이스 유닛(112), 액추에이터 유닛(108), 통신 유닛(116), 맵핑 및 위치 유닛(126), 및/또는 다른 유닛을 포함함) 중 하나 이상은 로봇(102)에 통합된 시스템 등으로 통합될 수 있다. 그러나, 일부 예시적인 실시형태에 따르면, 이들 유닛 중 하나 이상은 부착가능한 모듈의 일부일 수 있다. 이 모듈은 종래의 장치에 부착하여 자동화하여 로봇처럼 거동할 수 있다. 따라서, 로봇(102)과 관련하여 본 개시에 설명된 특징은 종래의 장치에 부착되고, 및/또는 로봇(102)에 통합 시스템으로 통합될 수 있는 모듈에서 인스턴스화될 수 있다. 또한, 일부 경우에 있어서, 당업자는 본 개시에 설명된 특징의 적어도 일부가 클라우드, 네트워크, 및/또는 서버 등에서 원격으로 더 실행될 수 있는 것을 본 개시의 내용으로부터 이해할 수 있다.
본원에 사용되는 바와 같이, 로봇(102), 컨트롤러(118) 또는 이하의 도면에 도시된 작업을 행하는 임의의 다른 컨트롤러, 프로세서 또는 로봇은 당업자에 의해 이해될 수 있는 바와 같이, 메모리(120) 등의 비일시적 컴퓨터 판독가능한 저장 장치에 저장된 컴퓨터 판독가능한 명령을 실행하는 컨트롤러를 포함한다.
이어서, 도 1b를 참조하면, 도 1a에 도시된 시스템에서 사용되는 특수 컨트롤러(118)의 아키텍쳐는 예시적인 실시형태에 따라 도시되어 있다. 도 1b에 도시된 바와 같이, 특수 컴퓨터는 데이터 버스(128), 수신기(126), 송신기(134), 적어도 하나의 프로세서(130), 및 메모리(132)를 포함한다. 수신기(126), 프로세서(130) 및 송신기(134)는 모두 데이터 버스(128)를 통해 서로 통신한다. 프로세서(130)는 특수 알고리즘을 실행하도록 구성된 특수 프로세서이다. 프로세서(130)는 프로세서(130)가 특수 알고리즘을 실행하기 위해 컴퓨터 코드 또는 명령을 저장하는 메모리(132)에 액세스하도록 구성된다. 도 1b에 도시된 바와 같이, 메모리(132)는 도 1a에 이전에 도시된 메모리(124)의 특징부의 일부, 전무, 상이 또는 전부를 포함할 수 있다. 프로세서(130)에 의해 실행되는 알고리즘은 이하에 더 상세하게 설명된다. 도 1b에 도시된 바와 같은 수신기(126)는 입력 신호(124)를 수신하도록 구성된다. 입력 신호(124)는 센서 유닛(114)으로부터의 센서 데이터, 유저 입력, 모터 피드백, 외부 통신 신호(예를 들면, 원격 서버로부터의 신호), 및/또는 특수 컨트롤러 (118)에 의한 추가의 프로세싱을 필요로 하는 작동 유닛(104)으로부터의 임의의 다른 신호를 포함하지만 이에 제한되지 않는 도 1a에 도시된 복수의 작동 유닛(104)으로부터의 신호를 포함할 수 있다. 수신기(126)는 이들 수신된 신호를 데이터 버스(128)를 통해 프로세서(130)와 통신한다. 당업자가 이해할 수 있는 바와 같이, 데이터 버스(128)는 특수 컨트롤러(118)의 상이한 구성요소(즉, 수신기, 프로세서 및 송신기) 사이의 통신 수단이다. 프로세서(130)는 메모리(132)로부터 특수한 컴퓨터 판독가능한 명령에 액세싱함으로써 후술되는 바와 같이 알고리즘을 실행한다. 이들 신호의 수신, 프로세싱 및 송신에 있어서 특수 알고리즘을 실행하는 프로세서(130)에 관한 더 상세한 설명은 도 1a와 관련하여 위에 설명되어 있다. 메모리(132)는 컴퓨터 코드 또는 명령을 저장하기 위한 저장 매체이다. 저장 매체는 그 중에서도 광학 메모리(예를 들면, CD, DVD, HD-DVD, 블루레이 디스크 등), 반도체 메모리(예를 들면, RAM, EPROM, EEPROM 등), 및/또는 마그네틱 메모리(예를 들면, 하드 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, MRAM 등)를 포함할 수 있다. 저장 매체는 휘발성, 비휘발성, 동적, 정적, 읽기/쓰기, 읽기 전용, 랜덤 액세스, 순차 액세스, 위치 주소 지정가능 장치, 파일 주소 지정가능 장치, 및/또는 콘텐츠 주소 지정가능 장치를 포함할 수 있다. 프로세서(130)는 도시된 바와 같이 데이터 버스(128)를 통해 송신기(134)에 출력 신호를 통신할 수 있다. 송신기(134)는 신호 출력(136)에 의해 예시된 복수의 작동 유닛(104)에 출력 신호를 추가로 통신하도록 구성될 수 있다.
당업자는 도 1b에 도시된 아키텍처가 원격 위치로부터 로봇식 장치의 제어를 수행하도록 구성된 외부 서버 아키텍쳐를 도시할 수 있음을 이해할 수 있다. 즉, 서버는 데이터 버스, 수신기, 송신기, 프로세서 및 특수 컴퓨터 판독가능한 명령을 저장하는 메모리를 더 포함할 수 있다.
도 2a는 예시적인 실시형태에 따른 에스컬레이터(202)의 복수의 거리 측정값(206)을 수집하는 하나 이상의 센서(204)의 정면도를 도시한다. 상술한 바와 같이, 에스컬레이터의 용도는 예시적 목적으로만 사용되며, 본 개시의 목적을 제한하는 것은 아니다. 당업자는 기본 개념이 로봇(102)에 의해 이동하는 평면에서의 드롭부를 검출하는 것 및 그러한 드롭부를 검출하여 피하려는 노력에 관한 것임을 이해할 수 있다. 센서(204)는, 예를 들면 센서(204)와, 플로어(208) 등의 타겟 사이의 거리를 측정하도록 구성된 LiDAR 센서와 같은 거리 측정 센서를 포함할 수 있다. 센서(204)는 로봇(102)(미도시)의 섀시에 위치될 수 있다. 플로어(208)는 에스컬레이터(202)의 제 1 이동 스텝을 포함할 수 있다. 예시된 바와 같이, 하나 이상의 거리 측정 센서(204)는 알려진 각도 거리만큼 분리된 20개의 거리 측정값(206)(즉, 206-0 내지 206-20)을 수집할 수 있다. 다른 비제한적인 예시적인 실시형태에 따르면, 하나 이상의 거리 측정 센서(204)는 추가적인 또는 더 적은 측정값(206-n)을 수집 할 수 있으며, 여기서 인덱스 "n"은 임의의 양의 정수일 수 있다. 적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 센서(204)의 각도 측정 범위(예를 들면, 도시된 바와 같은 측정값 206-0과 206-20 사이의 각도 범위)는 도 2a에 도시된 것보다 더 크거나 작은 각도 측정 범위를 포함할 수 있다. 예를 들면, 센서(204)가 에스컬레이터(202)의 벽 또는 난간을 측정하기 위해 플로어(208)로부터 충분히 높지 않을 수 있으므로, 단신 로봇 또는 플로어(208)에 가까운 센서(204)를 갖는 로봇은 2개의 난간(210) 사이에서 측정을 행할 수 있다. 복수의 거리 측정값(206)은 복수의 거리 측정값(206)에 기초하여 컨트롤러(118)에 의한 에스컬레이터의 추후 결정을 위해 도 1a에 도시된 바와 같이 컨트롤러(118)에 의해 로봇(102)의 메모리(120)에 저장될 수 있다.
도 2b는 예시적인 실시형태에 따라, 2개의 위치에서의 에스컬레이터(202)의 거리 측정값(212 및 214)을 수집하는 도 2a에 이전에 도시된 바와 같은 하나 이상의 센서(204)의 측면도를 도시한다. 당업자는 하나 이상의 센서(204)가 도 2b에 도시된 바와 같이 제 1 센서 및 상이한 센서에 대응할 수 있는 것을 이해할 수 있다.대안적으로, 하나 이상의 센서가 단일 센서에 대응한다. 센서(204)는 도시된 바와 같이 에스컬레이터(202) 근처의 위치에서, 또는 센서(204)를 포함하는 로봇(102)(도시되지 않음)이 위에 있는 평평한 플로어 상의 임의의 위치에서, 측정값(212)을 구할 수 있다. 환언하면, 센서(204)로부터 고정 부분(216)(즉, 제 1 영역)으로 취해진 측정값(212)은 도 3a와 관련하여 이하에 예시된 바와 같이, 제로(0) 측정 단위(예를 들면, 센티미터, 인치 등)의 기준 높이를 결정하기 위한 기준 거리 측정값을 제공한다. 센서(204)는 센서(204)를 포함하고 그 위에 장착된 로봇(102)(미도시)이 에스컬레이터(202)를 향해 이동함에 따라(즉, 로봇(102)이 예시에서 좌측으로 이동함에 따라) 다른 측정값(214)을 추가로 수신할 수 있다. 거리 측정값(214)은 도 2a에서 위에 예시된 바와 같이, 측정값(206)의 측면도에 대응할 수 있으며, 에스컬레이터(202)의 제 1 이동 스텝 또는 제 1 영역 또는 고정 부분(216)과 상이한 제 2 기준점 또는 제 2 영역을 포함하는 플로어(208)와 센서(204) 사이의 거리를 측정한다. 기준 측정값(212)과 상이한 측정값(214)을 수신하는 로봇(102)(미도시)의 컨트롤러(118)에 있어서, 컨트롤러(118)는 도 5에 대해 추가로 도시되는 바와 같이, 드롭부 파라미터를 결정하는데 사용되는 드롭부(218)의 크기를 결정할 수 있다. 드롭부 파라미터는 센서(204)에 의한 에스컬레이터(202)의 검출을 나타내는 에스컬레이터 검출 파라미터를 결정하는데 사용될 수 있다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 거리 측정 센서(204)는 측정값(212 및 214)을 동시에 및/또는 동일한 위치에서 수집하도록 구성될 수 있다. 예를 들면, 거리 측정 카메라 또는 LIDAR 센서의 어레이는 2차원(2D) 또는 3차원(3D) 공간에서 거리 측정값을 수집하기 위해 구현될 수 있다. 드롭부의 크기(218)는 도 5에서 설명된 바와 같이 측정값(206, 212 및 214)으로부터 에스컬레이터를 결정하는데 사용되는 드롭부 파라미터의 임계값을 만족 또는 충족시키는데 사용될 수 있다. 환언하면, 드롭부가 컨트롤러(118)에 나타내는 드롭부 파라미터를 초과하는 경우에 이 경로를 따라 전방으로 진행하면, 로봇(102)이 넘어지거나 또는 전복될 때에 로봇(102)에 손상을 입히는 낙상이 일어날 수 있다.
도 3a는 예시적인 실시형태에 따라, 도 2a~b에 위에서 도시된 하나 이상의 거리 측정 센서(204)로부터의 높이 측정값 "H"를 도시한다. 수평 축은 도 2a에 위에서 도시된 개별 거리 측정값(206)에 대응하는 빔 ID 인덱스 "i"를 포함할 수 있으며, 여기서 높이 측정값(302)은 동일한 인덱스 i를 갖는 거리 측정값(206)의 크기에 대응한다(예를 들면, 높이 측정값(302-5)은 거리 측정값(206-5) 등에 대응한다). 수직 축은 동일한 인덱스를 갖는 측정값(206)에 대응하는 빔 ID 인덱스 각각에 대한 높이 측정값에 대응하고, 여기서 0의 높이는 로봇(102)이 위에서 내비게이팅하는 에스컬레이터의 고정 부분(216)과 센서(204) 사이의 거리를 포함하는 기준 거리(212)에 대응한다. 302-5와 302-15(비포괄) 사이의 포인트는 플로어(208) 또는 플로어의 상이한 제 2 영역의 높이 측정값에 대응할 수 있다. 포인트(302-5 내지 302-15(비포괄))의 평균 높이값은 -d로 결정될 수 있으며, 여기서 크기 |d|는 앞서 도 2b에서 도시된 에스컬레이터(202)의 고정 부분(216)과 제 1 이동 스텝(208) 사이의 드롭부(218)의 크기에 대응한다. 크기 |d|는 유저 인터페이스 유닛(112)을 통해, 로봇(102)의 통신 유닛(116)을 통해 외부 서버로부터, 또는 학습 프로세스를 통해(예를 들면, 측정된 평균치에 기초하여 결정됨), 하나 이상의 센서(204)에 의해 컨트롤러(118)가 수신한 데이터에 기초하여 로봇(102)과 통신할 수 있다. 도시된 데이터를 생성하는 하나 이상의 거리 측정 센서(204)를 포함하는 로봇(102)은 상기 제 1 이동 스텝(208)의 높이(d)에서 에스컬레이터(202)의 고정 부분(216) 상에 내비게이팅하거나 정지하고 있음을 상기한다. 값(d)은 이하의 도 5에 예시된 바와 같이 에스컬레이터 검출 파라미터를 결정하기 위해 추가로 이용되는 드롭부 파라미터를 결정하는데 사용될 수 있다.
하나 이상의 비제한적인 예시적인 실시형태에 따르면, 센서는 완벽하게 보정되지 않을 수 있으며, 로봇(102)이 위치하거나 이동하는 플로어가 0이 아닌 높이에 있다고 인식할 수 있다. 따라서, "d"의 값은 이 교정 오차를 설명하기 위해 실시간으로 변경되거나 업데이트될 수 있다. 예를 들면, 로봇의 센서는 완벽하게 보정된 센서에 의해 기록된 기준 높이 제로(0)로부터 1센티미터(1cm)의 높이에 로봇이 있는 플로어를 검출할 수 있으며, 여기서 "-d"의 규정된 값은 이 교정 오차를 설명하기 위해 1cm만큼 증가될 수 있다. 환언하면, "d"의 크기는 도 2b에 도시된 드롭부(218)의 크기에 대응하며 모든 기준 높이로부터 취해질 수 있고, 여기서 도 3a에 도시된 바와 같은 제로(0)의 기준 높이는 예시적인 실시형태에 따른 완벽하게 보정된 센서의 예시가 된다. 이 드롭부(218)는 에스컬레이터의 고정 플로어(218)와 제 1 이동 스텝(208) 사이에 항상 존재하며, 통상적으로 10~30밀리미터의 작은 값을 포함한다.
당업자는 예시된 바와 같은 수평 축이, 예를 들면 약 0도(0°) 중앙에 있는 각도 측정값과 같은 상이한 측정값을 포함할 수 있는 것을 이해할 수 있다. 추가적으로, 적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 높이 측정은 거리 측정으로 대체될 수 있으며, 여기서 도 3b에 도시된 것과 실질적으로 유사한 반전된 그래프를 관찰할 수 있을 것으로 예상한다.
도 3b는 예시적인 실시형태에 따라, 도 3a에 이전에 도시된 빔 ID "i" 그래프에 대한 높이 측정값(H)의 미분을 도시한다. 각각의 미분 측정값(304)은 도 3a에 도시된 바와 같이, 동일한 인덱스 "n"을 포함하는 높이 측정값(302)에 대응할 수 있다(예를 들면, 높이 측정값(302-3)은 미분 측정값(304-3)에 대응함). 이전에 도 2a에 도시된 에스컬레이터(202)의 좌측 난간(210)은 음의 벽 임계 파라미터값 "-T"(예를 들면, 빔 5 또는 표기 302-5)를 충족하는 미분 측정값(304-5)에 대응하는 빔 ID에 의해 측정되도록 컨트롤러(118)에 의해 결정될 수 있다. 마찬가지로, 에스컬레이터(202)의 우측 난간(210)은 양의 벽 임계 파라미터값 "+T"(예를 들면, 도 3b에 도시된 빔 15 또는 표기 302-15)를 충족하는 미분 측정값 304-15에 대응하는 빔 ID에 의해 측정되도록 컨트롤러(118)에 의해 결정될 수 있다. 벽 임계 파라미터 "T"의 크기는 유저 인터페이스 유닛(112)을 통해, 통신 유닛(116)을 통해 "T"의 크기를 통신하는 외부 서버로부터, 또는 학습 프로세스를 통해(예를 들면, 에스컬레이터의 복수의 LiDAR 스캔의 유사성에 기초하여), 로봇(102)과 통신될 수 있다.
이어서, 미분 측정값(304-5(포괄적))의 좌측 포인트는 에스컬레이터(202)의 좌측벽을 따른 측정값에 대응하도록 결정될 수 있으며, 미분 측정값(304-15(비포괄적))의 우측 포인트는 에스컬레이터(202)의 우측 벽을 따른 측정값에 대응하는 것으로 결정될 수 있다. 따라서, 미분 측정값 304-5와 304-15(비포괄적) 사이의 나머지 포인트는 에스컬레이터(202)의 2개의 난간(210) 사이의 층(208)에 대응할 수 있다. 적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 컨트롤러(118)는 임계값 "T"(예를 들면, 미분 측정값(304-5 내지 304-1(비포괄적))보다 작은 크기인 미분 측정값(304)에 기초하여 플로어(208)에 대응하는 포인트를 결정할 수 있다. 이어서, 컨트롤러(118)는 도 5에서 이하에 도시된 바와 같이 벽 간격 파라미터를 결정하는데 사용되는 플로어(208)에 대응하는 빔 ID의 수에 기초하여 플로어의 폭을 결정할 수 있다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 도 3a에 도시된 그래프는 LiDAR 센서에 투과되는 유리 또는 기타 재료로 구성될 수 있는 에스컬레이터의 측벽 또는 난간(210)으로서 포인트 302-1과 302-5 사이, 및/또는 포인트 302-15와 302-20 사이의 측정값을 포함하지 않을 수 있다. 다수의 경우에 있어서, 난간이 또한 검출될 수 있다(즉, 포인트 302-0 및 302-20이 존재함). 따라서, 도 3b에 도시된 그래프는 불연속성으로 인해 이들 각각의 포인트에 대한 미분 측정값(304)을 포함하지 않을 수 있다. 그러나, 측면 난간(210)은 금속 또는 불투명 재료이고, 또한 LiDAR 센서에 의해 검출될 수 있음을 이해할 수 있다. 따라서, 유리 측벽을 갖는 에스컬레이터를 포함하는 환경에 있어서, 임계 크기 "T"를 초과하는 하나 이상의 미분 측정값(304)만이 측면 난간(210)의 검출에 대응하는 미분 임계값을 충족하도록 요구될 수 있다. 이들 실시형태에서 에스컬레이터를 검출하기 위해서는 로봇(102)이 내비게이팅하거나 정지하는 플로어 아래의 거리 "-d"에서 플로어(208)를 검출하는 것이 또한 요구된다. 당업자는 측벽이 유리로 제작되어 있다면 포인트(302)가 존재하지 않을 수 있음을 이해할 것이다. 그러나, 난간(210)은 일반적으로 본질적으로 금속성이거나 불투명하기 때문에 픽업될 것이며, 따라서 미분 임계값을 충족할 것이다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 수직 축은 빔 ID i 또는 빔(206)이 센서(204)로부터 방출되는 각도에 대한 거리 측정의 미분값에 대응할 수 있으며, 여기서 우측 벽 검출에 대응하는 임계값은 음의 벽 임계값 "-T"일 수 있고, 좌측 벽에 대해서는 그 반대일 수 있다.
도 4는 예시적인 실시형태에 따라, 도 2a에 도시된 바와 같이 에스컬레이터(202)의 거리 측정 센서(204)에 의해 취해진 복수의 거리 측정값(206)에 대응하는 포인트를 저장하기 위한 구조를 예시하는 데이터 테이블을 예시한다. 도 3a~b에 도시된 방법을 이용하여, 에스컬레이터의 좌측 벽 및 우측 벽에 대응하는 거리 측정값(206)의 세트를 결정할 때에, 로봇(102)의 컨트롤러(118)는 적절한 버퍼에 거리 측정값(206)에 대응하는 빔 ID를 저장할 수 있다. 각각의 버퍼는 하나 이상의 빔 ID 번호(예를 들면, 도 3a~b에 도시된 그래프에서 인덱스 "i") 및 하나 이상의 대응하는 높이값(Hn)을 포함할 수 있으며, 여기서 인덱스 "n"은 동일한 인덱스의 빔 ID 번호에 따라 측정된 거리 측정값(206)에 대응하는 제로(0)를 포함한 임의의 양의 정수일 수 있다. 따라서, 이전에 도 3b에 도시된 바와 같이, 좌측 벽 임계값 "-T"를 충족하는 미분 측정값 304-5에 대응하는 ID 번호(5)를 갖는 빔은 에스컬레이터(202)의 좌측 벽에 대응하는 최대 빔 ID 번호로서 결정될 수 있다. 따라서, 마찬가지로, 우측 벽 임계값 "+T"를 충족하는 미분 측정값(304-15)에 대응하는 ID 번호 (15)를 갖는 빔은 에스컬레이터(202)의 우측 벽에 대응하는 최소 빔 ID 번호로서 결정될 수 있다.
추가적으로, 빔 ID 번호 6~14(포괄적) 사이의 나머지 빔 ID는 도 2a에 도시 된 바와 같이, 플로어(208)에서 취한 측정값(206)에 대응할 수 있으며, 따라서 플로어 포인트 버퍼에 저장될 수 있다. 컨트롤러(118)는 센서의 각도, 각 빔의 각도, 거리 측정 센서(204)에 의해 수신되거나 결정된 거리 측정값(206) 등의 센서의 알려진 파라미터와 벽 사이의 빔 수에 기초하여 좌측 벽과 우측 벽 사이의 플로어 폭을 산출할 수 있다. 좌측 벽과 우측 벽 사이의 플로어의 폭은 이하의 도 5에 도시된 바와 같이 에스컬레이터 검출 파라미터를 결정하는데 사용되는 벽 파라미터를 결정하는데 사용될 수 있다.
이어서, 로봇(102)의 컨트롤러(118)는 플로어 포인트 버퍼 내에 저장된 높이값(예를 들면, H6-H14)의 평균값을 결정할 수 있다. 평균 높이값은 플로어 포인트가 플로어(208)의 측정값에 대응하는지를 결정하기 위해 "d"값과 비교될 수 있으며, 에스컬레이터(202)의 제 1 이동 스텝은 고정 플로어에 대해 "d"값 만큼 하강된다. 평균 높이값이 미리 정해진 작은 오차 범위 내에서(예를 들면, 랜덤 서멀 노이즈로 인한 0.5cm 이하 내에서) "d"값과 동등이면, 컨트롤러(118)는 에스컬레이터 검출을 결정하는데 사용되는 드롭부 파라미터가 도 5에서 이하에 도시된 바와 같이 충족하는지를 결정할 수 있다.
당업자는 도 4에 도시된 데이터 테이블을 이해할 수 있다. 도 4는 컨트롤러(118)가 컴퓨터 판독가능한 명령을 실행하거나 거리 측정 센서(204)로부터 추가의 측정값을 수신함에 따라 추가된 행 및 열을 가질 수 있는 자기 참조 테이블일 수 있다.
일부 경우에 있어서, 에스컬레이터(202)는 유리 측벽을 포함할 수 있다. 따라서, 에스컬레이터(202)의 측면 난간(210)을 감지하는 몇 개의 측정값(302)을 제외하고, 좌측 및 우측 벽 버퍼는 비어 있을 수 있다. 또한, 측면 난간(210)의 측정값(302)은 상기 도 3b에 도시된 미분 임계값을 충족할 수 있다.
도 5는 예시적인 실시형태에 따라, 로봇(102)의 컨트롤러(118)가 센서 유닛(114)의 거리 측정 센서에 의해 측정된 센서 데이터에 기초하여 에스컬레이터 검출 파라미터를 결정하는 방법(500)을 나타내는 프로세스 흐름도를 도시한다. 에스컬레이터 검출 파라미터가 충족된 것은 센서 데이터가 에스컬레이터를 적어도 부분적으로 검출하는 측정값에 대응하는 것을 나타낼 수 있다.
블록(502)은 하나 이상의 거리 측정 센서(204)로부터 센서 데이터를 수집하는 컨트롤러(118)를 도시한다. 하나 이상의 거리 측정 센서(204)로부터의 데이터는, 예를 들면 매트릭스, 어레이, 버퍼 및/또는 데이터를 저장하는 임의의 다른 형태를 포함하지만 이에 제한되지 않는 복수의 포맷으로 메모리(120)에 저장될 수 있다. 거리 측정 센서 데이터는 거리 측정 센서에 의해 관찰되는 복수의 높이값 또는 거리 측정값을 포함할 수 있다. 거리 측정 센서는 시간 내에서 또는 시간 내에서 연속적으로 이산적인 간격으로 데이터를 수집할 수 있다.
블록(504)은 블록(502)에서 수집된 센서 데이터의 미분값을 계산하는 컨트롤러(118)를 예시한다. 도 3a~b에 도시된 바와 같이 빔 ID 번호; 각도 거리; 측면 거리; 또는 다른 유사한 파라미터에 대해 미분값을 취할 수 있다. 이어서, 컨트롤러(118)는 블록(502)에서 수신된 센서 데이터를 저장하는데 사용되는 포맷과 실질적으로 유사한 복수의 포맷으로 메모리(120)에 센서 데이터의 미분값을 저장할 수 있다.
블록(506)은 모든 측벽 임계값이 충족되었는지를 결정하는 컨트롤러(118)를 예시한다. 측벽 임계값은 에스컬레이터(202)의 좌측 벽, 에스컬레이터(202)의 우측 벽의 검출에 대응하는 2개의 측벽 검출 파라미터, 및 상기 좌측 벽과 우측 벽 사이의 최소 분리 요건에 대응하는 간격 파라미터를 포함할 수 있다. 측벽 검출 파라미터는 거리 측정 센서에 의한 측벽 검출을 나타내는 도 3b에서 있어서의 크기 "T"에 의해 도시된 소정 임계값을 충족하거나 초과하는 적어도 하나의 미분 측정값(304)에 의해 충족될 수 있다. 에스컬레이터(202)가 센서(204)를 투과하는 유리 측벽을 포함하는 경우에는 적어도 하나의 요건이 에스컬레이터(202)의 측면 난간(210)의 검출을 가능하게 한다.
예를 들면, 로봇(102)에 의해 생성된 LiDAR 스캔은 미분 측정값(304) 및 동일한 인덱스의 대응하는 높이 측정값(302)이 도 3b에 도시된 바와 같이 "-T" 이하의 값을 포함할 때에 에스컬레이터(202)의 좌측 벽이 검출됨을 나타낼 수 있다. 마찬가지로, 에스컬레이터의 우측 벽은 도 4b에 도시된 바와 같이 "+T" 이상의 값의 동일한 인덱스의 높이 측정값(302)에 대응하는 미분 측정값(304)을 포함하도록 결정될 수 있다. "T"의 크기를 초과하는 미분 측정값(304)은 좁은 통로의 좌측 또는 우측 벽의 포지티브 검출에 대응할 수 있으며, 여기서 통로는 잠재적으로 에스컬레이터일 수 있다.
측벽 임계값은 검출된 좌측 벽 및 우측 벽 또는 난간(210)이 모두 미리 결정된 거리만큼 분리되도록 요구하는 간격 파라미터를 더 포함할 수 있으며, 상기 거리는 에스컬레이터의 폭에 대응할 수 있다. 에스컬레이터의 폭은 일반적으로 약 24인치, 32인치 또는 40인치(61센티미터, 82센티미터, 102센티미터와 등가임)로 표준화되어 있으므로, 간격 파라미터는 최소 약 24인치이지만 에스컬레이터 또는 무빙 워크의 임의의 길이에 따라 미리 규정될 수 있다. 미리 결정된 거리는 유저 인터페이스 유닛(112)을 통해, 외부 서버 또는 네트워크와 통신하는 통신 유닛(116)을 통해, 또는 학습 프로세스를 통해, 로봇(102)과 통신될 수 있다. 에스컬레이터의 2개의 벽 사이의 간격은 도 6a~b에 도시된 바와 같이 로봇(102)의 측벽까지의 거리 및 로봇(102)의 접근 각도에 기초하여 결정될 수 있다. 유리하게는, 2개의 검출된 벽의 간격 파라미터의 사용은 좁은 통로 또는 에스컬레이터 검출을 위한 오탐(false positive)을 생성하는 검출된 다른 벽으로 인해 컨트롤러(118)에 의한 불필요한 계산의 대부분을 제거할 수 있다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 로봇(102)과 통신되는 에스컬레이터의 미리 결정된 폭은 도 6a~b에서 이하에 예시된 바와 같이 에스컬레이터의 입구에 완벽하게 직교하지 않는 각도로 에스컬레이터에 접근하는 로봇(102)을 처리하기 위한 최소 폭 요건을 포함할 수 있다. 하나 이상의 비제한적인 예시적인 실시형태에 따르면, 다양한 폭의 복수의 에스컬레이터가 로봇(102)의 주변 환경 내에 존재할 수 있으며, 여기서 로봇(102)은 복수의 에스컬레이터의 폭에 대응하는 다수의 벽 분리 폭을 수용할 수 있다. 이 예시적인 실시형태에 있어서, 컨트롤러(118)는 결정된 좌측 벽 및 우측 벽의 간격이 로봇(102)에 알려진 복수의 에스컬레이터 폭 중 하나와 동일한 폭인 경우에 충족되는 분리 파라미터를 결정할 수 있다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 측벽 임계값은 2개의 검출된 측벽 사이의 공간이 실질적으로 평평할 것을 요구하는 평탄도 임계값(즉, 0에 매우 가까운 미분 dH/di를 포함함)을 더 포함할 수 있다. 즉, 도 3a를 참조하면, 높이 측정값(302-6, 302-14(포괄적)은 평탄도 임계값을 충족하는 임계량만큼 벗어나지 않을 수 있다. 이것은 오탐 에스컬레이터 검출을 제거하기 위해 더 이용될 수 있다.
에스컬레이터(202)의 양쪽 벽(즉, 우측 벽 및 좌측 벽)을 검출하고, 에스컬레이터의 벽 사이의 간격이 적어도 에스컬레이터의 폭에 대응하는 거리가 되도록(예를 들면, 모든 벽 임계값이 충족됨) 측정하면, 컨트롤러(118)는 이어서 블록(508)으로 이동한다. 그러나, 하나 이상의 벽 임계값이 충족되지 않는 것으로 결정되면, 컨트롤러(118)는 블록(502)으로 돌아가서 알고리즘을 재실행한다.
블록(508)은 도 4에서 상기 도시된 바와 같이, 에스컬레이터(202)의 검출된 좌측 벽, 우측 벽 및 플로어(208)의 높이 측정값(302)에 대응하는 높이 측정값(302)을 적절한 버퍼에 저장하는 컨트롤러(118)를 예시한다. 일부 비제한적인 예시적인 실시형태에 따르면, 측정값은 예를 들면 어레이, 매트릭스, 또는 다른 유사한 데이터 포맷 등의 복수의 다른 포맷으로 저장될 수 있다. 컨트롤러(118)는 블록(506)에 예시된 벽 파라미터에 기초하여 에스컬레이터(202)의 벽 사이의 좌측 벽, 우측 벽 및 플로어에 대응하는 포인트를 결정할 수 있다. 예를 들면, 에스컬레이터의 좌측 벽에 대응하는 높이 측정값은 벽 검출 임계값 "-T" 미만의 대응하는 미분 측정값을 가질 수 있으며, 따라서 좌측 벽 버퍼에 저장될 수 있다. 컨트롤러(118)는 실질적으로 유사한 방식으로 에스컬레이터의 우측 벽에 대응하는 거리 측정값을 결정하고 저장할 수 있다. 컨트롤러(118)는 좌측 벽과 우측 벽 사이의 플로어의 높이 측정값에 대응하기 위해 좌측 벽 또는 우측 벽 버퍼 내에 없는 포인트를 추가로 결정할 수 있고, 나머지 포인트를 플로어 버퍼에 저장할 수 있다.
블록(510)은 컨트롤러(118)가 플로어 버퍼 내에 플로어 측정값의 평균 높이값을 결정하는 것을 예시한다. 도 4에서 이전에 도시된 바와 같이, 플로어 버퍼 내의 각각의 측정값은 높이 측정값을 포함하고, 여기서 컨트롤러(118)는 플로어 버퍼 내의 모든 포인트의 높이 측정값의 평균값을 결정할 수 있다.
블록(512)은 드롭부 파라미터가 충족되었는지 또는 만족되었는지를 결정하는 컨트롤러(118)를 예시한다. 드롭부 파라미터는 도 2에 위에서 도시된 드롭부(218)가 에스컬레이터, 클리프 또는 계단을 나타내는 좌측과 우측의 2개의 벽으로 둘러싸인 플로어 내에 존재하는지를 결정하기 위해 이용될 수 있다. 플로어 측정값의 평균 높이값은 도 3a에 도시된 바와 같이 크기 "d"의 드롭부 파라미터와 비교되며, 여기서 "d"의 크기는 에스컬레이터의 고정 부분(216)과 상기 에스컬레이터의 고정 부분(216)으로부터 멀어져 이동하는 제 1 이동 스텝(208) 사이의 드롭부(218)의 크기에 대응할 수 있다. "d"의 크기는 유저 인터페이스 유닛(112)을 통해 로봇(102)과 통신되거나, 통신 유닛(116)을 통해 서버 또는 네트워크에 의해 통신되거나, 또는 학습 프로세스를 통해 학습될 수 있다. 드롭부 파라미터는 블록(510)에서 계산된 플로어의 평균 높이가 로봇(102)이 위에 있는 플로어의 높이에 대응하는 제로(0)의 기준 높이에 대하여 작은 오차 한계(예를 들면, 0.5센티미어 이하) 내에서 값 "-d"인 경우에 충족되거나, 등가이거나, 또는 초과된다.
하나 이상의 비제한적인 예시적인 실시형태에 따르면, 기준 높이는 완벽하게 보정되지 않은 센서의 경우와 같이 제로(0)가 아닐 수 있다. 따라서, 평균 플로어 높이가 완벽하게 보정되지 않은 센서에 의해 측정된 플로어의 기준 높이보다 작은 크기 "d"이면 드롭부 파라미터가 충족될 수 있다. 드롭부 파라미터가 충족되면, 컨트롤러(118)는 블록(514)으로 이동한다. 그러나, 드롭부 파라미터가 충족되지 않으면, 컨트롤러(118)는 블록(502)으로 다시 이동하여 알고리즘을 재실행한다.
블록(514)은 거리 측정 센서에 의해 검출되는 에스컬레이터를 나타내는 측벽 파라미터 및 충족되는 드롭부 파라미터에 기초하여 충족되는 에스컬레이터 검출 파라미터를 결정하는 컨트롤러(118)를 예시한다. 적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 컨트롤러(118)는 에스컬레이터 검출 파라미터가 충족될 때에 에스컬레이터로부터 멀리 로봇(102)을 재라우팅할 수 있다. 다른 비제한적인 예시적인 실시형태에 따르면, 컨트롤러(118)는 로봇(102)을 운반하기 위해 로봇(102)을 결정된 에스컬레이터로 내비게이팅시킬 수 있다. 당업자는 드롭부 파라미터가 궤적을 이동하는 로봇(102)의 물리적 특징(즉, 높이, 폭, 너비)을 처리하는 사전 프로그래밍된 값일 수 있음을 이해할 수 있다. 따라서, 로봇이 소형이거나 단신일수록 로봇의 상이한 파라미터가 더 커지거나 증대될 수 있다.
도 6a는 예시적인 실시형태에 따라, 에스컬레이터(600)의 입구와 직교하는 각도로 에스컬레이터(600)에 접근하는 로봇(102)의 평면도를 도시한다. 에스컬레이터(600)는 에스컬레이터(600)의 고정 부분과 제 1 이동 스텝(예를 들면, 도 2b에서 위에 예시된 드롭부(218)의 평면도) 사이의 드롭부에 대응하는 드롭부(610)를 포함할 수 있다. 로봇(102)은 센서 비전 라인(604)에 의해 도시된 바와 같이, 평면식 LiDAR 센서(606)로부터 거리 측정을 수집하는 에스컬레이터(600)를 향해 내비게이팅할 수 있다. 평면형 LiDAR 센서(606)로부터의 측정값은 거리 측정값(608)에 의해 예시된 바와 같이 에스컬레이터(600)의 측벽(602) 사이의 거리의 유클리드 거리 측정을 포함할 수 있다. 거리 측정값(608)은 드롭부(610) 위에 놓일 수 있고, 이에 따라 거리 측정값(608)이 도 3a에서 위에 도시된 바와 같이, 0의 높이의 플로어에 대하여 -d의 높이에 있을 수 있기 때문에 에스컬레이터 검출을 위한 드롭부 파라미터를 충족시킨다. 거리 측정값(608)은 도 5에서 위에 도시된 바와 같이, 에스컬레이터(600)의 검출을 위한 간격 파라미터 요건의 최소 폭을 충족할 수 있다. 도 6a는 로봇(102)이 에스컬레이터(600)를 검출하기 위한 이상적인 시나리오를 도시하며, 여기서 로봇(102)은 에스컬레이터(600)의 입구에 완벽하게 직각으로 내비게이팅한다(예를 들면, 로봇(102)의 이동 방향은 거리 측정값(608)과 직교함). 그러나, 일부 경우에 있어서, 로봇(102)은 입구와 완벽하게 직각이 아닌 각도로 에스컬레이터(600)에 접근할 수 있다. 예를 들면, 로봇(102)은 에스컬레이터(600)의 입구에서 턴을 시도할 수 있으며, 여기서 에스컬레이터의 2개의 측벽(602) 사이의 거리 측정값(608)은 도 6b에서 아래에 도시된 바와 같이 변경될 수 있다.
도 6b는 예시적인 실시형태에 따라, 에스컬레이터(600)의 입구와 완전히 직교하지 않은 각도로 에스컬레이터(600)에 접근하는 로봇(102)의 평면도를 도시한다. 평면형 LiDAR 센서(606)는 에스컬레이터(600)의 2개의 측벽(602) 사이의 거리 측정값(612)을 측정할 수 있다. 도 6b의 거리 측정값(612)은 에스컬레이터(600)의 입구에 대한 로봇(102)의 접근 각도로 인해 도 6a에 있어서의 거리 측정값(608)보다 클 수 있다. 도 6a에 도시된 바와 같이, 완벽하게 직교하는 각도로 에스컬레이터(600)에 접근하는 로봇(102)의 거리 측정값(608)은 간격 파라미터에 대한 최소 거리를 제공할 수 있다. 따라서, 입구와 완벽하게 직각이 아닌 각도로 에스컬레이터(600)에 접근하는 로봇(102)의 거리 측정값(612)이 클수록, 거리 측정값(612)이 간격 파라미터에 대한 최소 거리 측정 요건을 충족하기 때문에 에스컬레이터 검출에 필요한 측벽 파라미터의 간격 파라미터를 또한 충족할 수 있다.
에스컬레이터(600)의 입구에 대하여 완벽하게 직교하는 각도로 에스컬레이터 (600)에 접근하는 로봇(102)에 의해 측정된 최소 측정가능한 거리(608)에 기초하여, 간격 파라미터에 대한 에스컬레이터(600)의 측면(602) 벽 사이의 최소 거리값(608)을 설정하면 로봇이 임의의 접근 각도에서 에스컬레이터(600)를 검출하도록 할 수 있다. 유리하게, 간격 파라미터에 대한 최소 거리 요구값을 이용하면 에스컬레이터(600)의 입구에 대하여 임의의 각도에서 에스컬레이터(600)를 결정하는 로봇(102)의 컨트롤러(118)의 능력을 더욱 향상시킬 수 있다.
도 7은 상술한 에스컬레이터 검출 시스템 및 방법과 함께 사용되는 예시적인 실시형태에 따른 뉴럴 네트워크(700)를 도시한다. 뉴럴 네트워크(700)는 복수의 입력 노드(702), 중간 노드(706) 및 출력 노드(710)를 포함할 수 있다. 입력 노드(702)는 링크(704)를 통해 하나 이상의 중간 노드(706)에 접속된다. 중간 노드(706)는 각각 링크(708)를 통해 하나 이상의 다른 중간 노드(706)에 접속되거나 링크(712)를 통해 출력 노드(710)에 접속된다. 링크(704, 708, 712)는 뉴럴 네트워크(700)를 통한 입력 노드(702)로부터의 출력 노드(710)로의 수치 데이터의 전송 및 전파를 예시한다. 중간 노드(706)는 뉴럴 네트워크(700)의 중간층(714)을 형성할 수 있다. 일부 실시형태에 있어서, 뉴럴 네트워크(700)는 복수의 중간층(712)을 포함할 수 있으며, 인접한 층이 입력층(즉, 입력 노드(702)) 또는 출력층(즉, 출력 노드(710))가 아닌 경우에는 각각의 중간층(714)의 중간 노드(706)가 인접한 층의 하나 이상의 중간 노드(706)에 연결된다. 각각의 노드(702, 706 및 710)는 임의의 수의 노드에 연결될 수 있으며, 도시된 바와 같이 모든 노드를 함께 연결하는 것은 제한하려는 의도가 아니다.
본원에 사용되는 바와 같이, 특징은 객체의 검출, 객체의 파라미터(예를 들면, 크기, 형상, 색상, 방향, 엣지 등), 이미지 픽셀의 색상 값, 심도 이미지의 픽셀의 심도값, 거리 측정값(예를 들면, LiDAR 스캔), 이미지의 휘도, 전체 이미지, 경시에 따른 특징 변화(예를 들면, 객체의 속도, 궤적 등), 소리, 스펙트럼 대역폭의 스펙트럼 에너지, 모터 피드백(예를 들면, 인코더값), 센서값(예를 들면, 자이로스코프, 가속도계, GPS, 자력계 등의 판독값), 바이너리 범주형 변수, 열거형, 문자/문자열, 또는 기타 센서 입력의 특징을 포함하지만 이에 제한되지 않는 센서 유닛(114)으로부터의 입력을 특징으로 하는 하나 이상의 숫자값(예를 들면, 부동 소수점, 십진수, 텐서값 등)을 포함할 수 있다.
입력 노드(706)는 정수 인덱스인 특징의 숫자값(xi)을 수신할 수 있다. 예를 들면, xi는 컬러 이미지의 픽셀의 컬러 값, 인덱스(i)의 빔 ID에 대한 거리 측정값, 그 미분값 등을 나타낼 수 있다. 입력 노드(706)는 링크(704)를 통해 하나 이상의 중간 노드(706)로 숫자값(xi)을 출력할 수 있다. 각각의 중간 노드(706)는 숫자값(xi)을 수신하고, 이하의 식 1에 따라 링크(708)에 또 다른 숫자 값(ki,j)을 출력하도록 구성될 수 있다:
Figure pct00001
인덱스(i)는 레이어 내의 노드 번호에 대응한다(예를 들면, xi는 0으로부터 인덱싱하는 입력층의 제 1 입력 노드(702)를 나타냄). 인덱스(j)는 레이어에 대응하고, 여기서 j는 도시된 뉴럴 네트워크(700)의 하나의 중간층(714)에 대한 것과 동등할 수 있지만, j는 임의의 수의 중간층(712)을 포함하는 뉴럴 네트워크(700)에 대응하는 임의의 수일 수 있다. 상수 a, b, c 및 d는 트레이닝 과정에 따라 학습되는 가중치를 나타낸다. 식 1의 상수의 수는 각각의 중간 노드(706)에 대한 입력 링크(704)의 수에 따라 달라질 수 있다. 이 실시형태에 있어서, 모든 중간 노드(706)는 모든 입력 노드(702)에 연결되지만, 이것은 제한하려는 의도가 아니다.
출력 노드(710)는 j번째 중간층(714)의 적어도 i번째 중간 노드(706)로부터 적어도 하나의 숫자값(ki,j)을 수신하도록 구성될 수 있다. 예시된 바와 같이, 예를 들면 각각의 출력 노드(710)는 0으로부터 인덱싱하는 제 2 중간층(714)의 8개의 중간 노드(706)로부터의 숫자값(k0-7,1)을 수신한다. 출력 노드(710)의 출력값은 입력 노드(702)의 특징의 분류를 포함할 수 있다. 출력 노드(710)의 출력값(ci)은 상기 식 1과 실질적으로 유사한 식에 따라 계산된다(즉, 학습된 가중치 a, b, c, d 등 및 이후의 714-2의 중간 노드(706)로부터의 숫자 출력을 포함하는 접속(712)으로부터의 입력에 기초함). 입력(xi)이 RGB 이미지의 픽셀 색상 값을 포함하는 상기 예를 따라, 출력 노드(710)는 각각의 입력 픽셀의 분류값(ci)(예를 들면, 픽셀(i)은 자동차, 기차, 개, 사람, 배경, 솝, 또는 기타 분류)을 출력할 수 있다.
트레이닝 프로세스는 중간 노드(706)의 가중치가 결정될 수 있도록 각각 입력 노드(702) 및 출력 노드(710)에의 값의 입력 및 출력 쌍 모두를 뉴럴 네트워크(700)에 제공하는 것을 포함한다. 결정된 가중치는 입력 노드(702)에 대한 입력을 수신하고, 출력 노드(710)에서 정확한 출력을 결정하도록 뉴럴 네트워크(700)를 구성한다. 예시적인 예로서, 주석이 달린(즉, 레이블링된) 이미지는 이미지 내의 객체를 식별하도록 뉴럴 네트워크(700)를 트레이닝시키는데 이용될 수 있다. 이미지(즉, 픽셀 RGB 색상 값)는 입력 노드(702)에 제공될 수 있고, 이미지의 주석(즉, 각 픽셀에 대한 분류)은 출력 노드(710)에 제공될 수 있으며, 여기서 중간 노드(706)의 가중치는 뉴럴 네트워크(700)가 입력 노드(702)에 제공된 픽셀 색상 값에 기초하여 이미지의 주석을 생성하도록 조정될 수 있다. 이 프로세스는 각각의 중간 노드(706)의 이상적인 가중치가 결정될 수 있도록 상당한 수의 이미지(예를 들면, 수백개 이상)를 사용하여 반복될 수 있다. 당업자는 뉴럴 네트워크(700)가 식별하도록 트레이닝되는 특징을 포함하거나 나타내지 않는 부정적 예, 또는 트레이닝 쌍이 또한 뉴럴 네트워크(700)를 추가로 트레이닝시키기 위해 사용될 수 있다(예를 들면, RGB 이미지에서 인간을 식별하기 위해 뉴럴 네트워크(700)를 트레이닝시키는 것은 인간을 묘사하는 이미지 및 인간을 묘사하지 않는 이미지의 사용을 요구할 수 있다).
도 2a~2b, 3a~3b와 관련하여 위에 설명된 바와 같이 평면형 LiDAR 센서를 사용하는 에스컬레이터 검출에 관한 또 다른 비제한적인 예시적인 실시형태로서, 뉴럴 네트워크(700)에는 복수의 트레이닝 쌍이 제공될 수 있으며, 각각은 LiDAR 센서로부터의 스캔과, 스캔의 임의의 각각의 포인트/측정값이 에스컬레이터인 것을 나타내기 위한 양의 값 또는 음의 값 중 어느 하나를 포함한다. 즉, 트레이닝 쌍은 각각 (i) 도 3a~b에 도시된 것과 유사한 그래프를 포함할 수 있으며, 여기서 각각의 거리 측정값(302-i) 또는 그 미분값(304-i)은 각각의 입력 노드(702-i)에 제공되고, 또한 (ii) "에스컬레이터" 또는 "비에스컬레이터"의 레이블, 또는 그와 유사한 변형이, 에스컬레이터 또는 비에스컬레이터로 중 어느 하나로서 각각의 입력 거리 측정값(302-i, 304-i)을 나타내는 각각의 출력 노드(710-i)에 제공된다. 뉴럴 네트워크(700)의 트레이닝 후(즉, 모델이 충분한 정확도를 달성하거나 충족한 후), 각 입력 노드(702-i)는 도 3a에 도시된 바와 같이, 각각의 거리 측정값(302-i)을 수신할 수 있으며, 여기서 제공된 거리 측정값(302)이 뉴럴 네트워크(700)를 트레이닝시키는데 사용되는 트레이닝 스캔과 실질적으로 유사한 경우, 상호 접속된 층(714) 및 학습된 가중치는 출력 노드(710)가 에스컬레이터의 양의 검출을 출력하도록 구성될 수 있다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, j번째 중간층(714)의 중간 노드(706)로부터의 하나 이상의 출력(ki,j)은 하나 이상의 중간 노드(706) 및 m번째의 중간층(714)에 대한 입력으로서 이용될 수 있으며, 여기서 인덱스(m)는 j보다 크거나 작을 수 있다(예를 들면, 반복 뉴럴 네트워크). 적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 뉴럴 네트워크(700)는 N차원 특징(예를 들면, (x, y) 위치 및 심도 인코딩을 포함하는 3차원 입력 이미지)에 대한 N차원을 포함할 수 있으며, 여기서는 명확성을 위해 하나의 차원만 예시한다. 당업자는 뉴럴 네트워크(700)의 복수의 다른 실시형태를 이해할 수 있으며, 도시된 뉴럴 네트워크(700)는 뉴럴 네트워크 및 그 변형의 단순화된 실시형태를 나타내고, 이를 제한하려는 의도가 아니다. 즉, 뉴럴 네트워크(700)는 뉴럴 네트워크 아키텍처, 트레이닝 및 동작의 기본 원리를 예시하며, 여기서 뉴럴 네트워크(700)는 피드 포워드 네트워크, 레이디얼 바이어스 네트워크, 장/단기 메모리(LSTM), 컨볼루션 뉴럴 네트워크, 디컨볼루션 뉴럴 네트워크 등에서 구현될 수 있지만 이에 제한되지 않는다.
유리하게, 에스컬레이터 형상 및 크기의 표준화로 인해, 에스컬레이터의 LiDAR 스캔 패턴(예를 들면, 도 3a~b 및 6a~b에 도시됨)은 일관된 형상(즉, 도 3a에 도시된 U자 형상)을 유지한다. 마찬가지로, 미분값(dH/di)도 일관된 형상을 유지한다(즉, 도 3b에 도시된 바와 같음). 따라서, 에스컬레이터의 LiDAR 스캔의 형상 또는 패턴의 일관성으로 인해, 상기 형상 또는 패턴을 식별하도록 뉴럴 네트워크(700)를 트레이닝하는 것은 (i) 트레이닝된 모델(즉, 고정 가중치를 갖는 트레이닝된 뉴럴 네트워크(700))이 로봇(102)에 배치될 수 있거나, 또는 (ii) 로봇(102)이 뉴럴 네트워크(700)를 트레이닝 및/또는 실행하기에 충분한 컴퓨팅 리소스를 포함하는 실시형태에 있어서 유리할 수 있다. 또한, 에스컬레이터의 크기 및 형상의 표준화는 뉴럴 네트워크(700)가 RGB 또는 회색조 이미지에서 에스컬레이터를 식별하는 능력을 향상시키고, 뉴럴 네트워크(700)가 RGB 또는 회색조 이미지에서 에스컬레이터를 식별하는 것을 트레이닝하는데 요구되는 트레이닝 쌍(즉, 에스컬레이터의 주석이 달리거나 레이블링된 이미지)의 수를 크게 감소시킨다.
적어도 하나의 비제한적인 예시적인 실시형태에 따르면, 뉴럴 네트워크(700)는 에스컬레이터 또는 비-에스컬레이터 픽셀인 이미지의 픽셀(예를 들면, RGB 이미지, 회색조 이미지, 심도 이미지 등)을 식별하도록 트레이닝될 수 있다. 비제한적인 적어도 하나의 예시적인 실시형태에 따르면, 뉴럴 네트워크(700)는 경계 박스가 있는 이미지에서 에스컬레이터를 식별할 수 있다. 뉴럴 네트워크(700)를 트레이닝시키기 위해 사용되는 트레이닝 쌍은 에스컬레이터의 주석이 달리거나 라벨링된 이미지로 구성될 수 있으며, 상기 주석 또는 라벨은 "에스컬레이터" 또는 "비-에스컬레이터" 중 하나로서 이미지의 픽셀 또는 영역을 인코딩하는 것을 포함한다. 유리하게, RGB 이미지 및 뉴럴 네트워크(700)의 사용은, 평면형 LiDAR 센서를 사용하지 않는 로봇(102)이 각각의 하나 이상의 컨트롤러(118) 또는 로봇(102)의 처리 장치에 부과되는 증가된 계산적 복잡성을 이용하여 에스컬레이터를 식별할 수 있게 할 수 있다. 추가적으로, RGB 이미지 및 뉴럴 네트워크(700)의 사용은, 에스컬레이터의 오탐 검출을 제거하기 위해, 상기 도 2~6에 설명된 방법을 이용하여 에스컬레이터의 검출을 검증하기 위해 이용될 수 있다. 본원에서 설명된 본 발명의 개념에 따르면, 이동 경로를 따라 드롭부를 검출하기 위한 방법, 비일시적 컴퓨터 판독가능한 시스템이 개시된다. 상기 비일시적 컴퓨터 판독가능한 매체 및 시스템은, 특히 메모리에 저장된 컴퓨터 판독가능한 명령을 실행하도록 구성가능한 컨트롤러, 및 특히, 로봇식 장치에 장착된 제 1 센서로부터 데이터를 수신하는 단계로서, 상기 데이터는 상기 제 1 센서로부터 제 1 영역까지의 제 1 거리 측정을 포함하는 단계; 로봇식 장치에 장착된 제 2 센서로부터 데이터를 수신하는 단계로서, 상기 데이터는 상기 제 2 센서로부터 제 2 영역까지의 제 2 거리 측정을 포함하고, 상기 제 2 영역은 상기 제 1 영역과 상이한 단계; 상기 제 2 거리 측정값이 상기 제 1 거리 측정값과 상이한 경우에 상기 제 1 거리 측정값과 제 2 거리 측정값 사이의 차를 계산하는 단계로서, 상기 계산된 차는 드롭부의 크기에 대응하는 단계; 및 드롭부의 크기가 드롭부 파라미터와 동등하거나 또는 이를 초과하는 경우에 로봇식 장치가 이동 경로를 재라우팅하도록 로봇식 장치를 작동시키는 단계를 포함하는 단계를 행하는 방법을 포함한다. 여기서, 드롭부 파라미터는 제 1 영역과 제 2 영역 사이의 높이의 평균값에 대응하고, 제 1 영역은 고정되어 있고, 제 2 영역은 제 1 영역으로부터 멀리 움직이고 있다.
비일시적 컴퓨터 판독가능한 매체, 시스템 및 방법은, 제 1 및 제 2 센서 중 하나 이상에 교정 오차가 있는 경우에 드롭부의 크기를 조정하는 단계; 및 상기 제 1 및 제 2 거리 측정값 사이의 차를 계산하기 전에 측벽 임계값을 검출하는 단계를 더 포함하고, 측벽 임계값은 제 1 및 제 2 센서 중 하나 이상에 의해 제 1 벽 및 제 2 벽을 검출하는 것에 대응하고, 제 1 및 제 2 벽은 거리를 두고 분리되어 있다. 상기 제 1 및 제 2 벽은 로봇식 장치의 우측 또는 좌측에 있는 제 1 및 제 2 벽을 결정하기 위해 미분 측정값에 기초하여 검출된다. 그리고, 미분 측정값이 음의 벽 임계 파라미터값을 충족하면, 상기 제 1 및 제 2 벽 중 하나가 로봇식 장치의 우측에 있고, 또한 미분 측정값이 양의 벽 임계 파라미터값을 충족하면, 상기 제 1 및 제 2 벽 중 하나가 로봇식 장치의 우측에 있고, 또한 드롭부의 크기는 제 1 및 제 2 벽에 대한 로봇식 장치의 각도에 관계없이 계산된다.
본 개시의 특정 양태가 특정한 일련의 방법의 단계에 대해서 설명되지만, 이들 설명은 본 개시의 더 광범위한 방법들의 예시일뿐이며, 특정 용도에 따라 요구되는 바와 같이 수정될 수 있다는 것을 이해할 것이다. 특정 단계는 특정 상황 하에서 불필요하게 또는 선택적으로 렌더링될 수 있다. 부가적으로, 특정 단계 또는 기능이 개시된 구현예에 부가될 수 있거나, 또는 2개 이상의 단계의 수행 순서가 치환될 수 있다. 이러한 모든 변형은 본원에 개시되고 청구되는 본 개시 내에 포함되는 것으로 간주된다.
상기 상세한 설명은 다양한 예시적인 실시형태에 적용되는 본 개시의 새로운 특징을 도시하고, 설명하고, 또한 지적하였지만, 예시된 장치 또는 프로세스의 형태 및 세부 사항에 있어서 다양한 생략, 대체 및 변경이 본 개시로부터 벗어나지 않고 당업자에 의해 이루어질 수 있음을 이해할 것이다. 전술한 설명은 본 개시를 실시하기 위해 현재 고려되는 최상의 모드이다. 이러한 설명은 결코 제한하려는 것은 아니며, 본 개시의 일반적인 원리를 예시하는 것으로 간주되어야 한다. 본 개시의 범위는 청구범위를 참조하여 결정되어야 한다.
본 개시가 도면 및 전술한 설명에서 상세히 예시 및 설명되었지만, 그러한 예시 및 설명은 예시 또는 예시적 것으로 간주되어야 하며, 제한적이어서는 안된다. 본 개시는 개시된 실시형태에 제한되지 않는다. 개시된 실시형태에 대한 변형은, 청구된 개시를 실시할 때에 도면, 본 개시, 및 첨부된 청구범위의 연구로부터 당업자에 의해 이해되어 실행될 수 있다.
본 개시의 특정 특징 또는 양태를 설명할 때의 특정 용어의 사용은, 그 용어가 관계되는 본 개시의 특징 또는 양태의 임의의 특정 특성을 포함하도록 제한하기 위해 그 용어를 본원에 재정의하는 것을 의미하도록 받아들여져서는 안된다는 것을 주지해야 한다. 본원에 사용되는 용어와 어구, 및 이들의 변형은, 특히 첨부된 청구범위에 있어서 명시적으로 달리 언급하지 않는 한, 제한과 반대되는 개방형으로서 해석되어야 한다. 전술한 바의 예로서, "구비하는"이라는 용어는 "제한없이 구비하는", "구비하지만 이에 제한되지 않는" 등을 의미하는 것으로 해석되어야 하고; 본원에 사용되는 바와 같은 "포함하는"이라는 용어는 "구비하는", "함유하는", 또는 "특징으로 하는"과 동의어이고, 포괄적이거나 또는 개방형이고, 부가적인 기재되지 않은 구성요소 또는 방법 단계를 배제하지 않고; "갖는"이라는 용어는 "적어도 갖는"으로 해석되어야 하고; "그와 같은"이라는 용어는 "제한없이 그와 같은"으로 해석되어야 하고; "구비한다"라는 용어는 "구비하지만 이에 제한되지 않음"으로 해석되어야 하고; "예"라는 용어는 설명에서 아이템의 예시적인 경우를 제공하기 위해 사용되고, 그 아이템의 완전한 나열 또는 제한적인 나열은 아니고, "예이지만 제한되지 않음"으로 해석되어야 하고; 형용사, 예를 들면 "알려진", "일반적인", "표준", 및 유사한 의미의 용어는 설명되는 아이템을 주어진 시간 기간으로, 또는 주어진 시간으로부터 이용 가능한 아이템으로 제한하는 것으로 해석되는 것이 아니라, 대신, 현재 또는 향후의 임의의 시간에 이용 가능할 수 있거나 공지될 수 있는 알려진, 일반적인, 또는 표준 기술을 포함하는 것으로 해석되어야 하고; 그리고 "바람직하게", "바람직한", "소망의", 또는 "소망함직한"과 같은 용어 및 유사한 의미의 단어들의 사용은 특정 특징이 본 개시의 구조 또는 기능에 결정적이거나, 필수적이거나, 또는 심지어 중요하다는 것을 의미하는 것이 아니고, 대신, 특정 실시형태에서 이용될 수 있거나 이용되지 않을 수 있는 대안적인 또는 부가적인 특징을 단지 강조하도록 의도된 것으로 이해되어야 한다. 마찬가지로, 접속사 "및"으로 연결된 아이템의 그룹은 대응 항목 각각이 그룹핑 내에 존재하는 것을 요구하는 것으로 해석되어서는 안되며, 달리 명시적으로 언급되지 않는 한, "및/또는"으로 해석되어야 한다. 마찬가지로, 접속사 "또는"으로 연결된 아이템의 그룹은 그 그룹 간에 상호 배타성을 요구하는 것으로 해석되는 것이 아니라, 달리 명시적으로 언급되지 않는 한, "및/또는"으로 해석되어야 한다. "약" 또는 "대략"이라는 용어 등은 동의어이며, 용어에 의해 수정된 값이 그와 연관된 이해 범위를 갖는 것을 나타내기 위해 사용되며, 여기서, 범위는 ±20%, ±15%, ±10%, ±5% 또는 ±1%일 수 있다. "실질적으로"라는 용어는 결과(예를 들면, 측정값)가 목표값에 근접한 것을 나타내기 위해 사용되고, 여기서, 근접은, 예를 들면, 결과가 값의 80% 이내, 값의 90% 이내, 값의 95% 이내 또는 값의 99% 이내에 있는 것을 의미할 수 있다. 또한, 본원에 사용되는 바와 같이, "규정된" 또는 "결정된"은 "미리 규정된" 또는 "미리 결정된" 및/또는 다른 방식으로 결정된 값, 조건, 임계값, 측정값 등을 포함할 수 있다.

Claims (15)

  1. 이동 경로를 따라 드롭부를 검출하는 방법으로서:
    로봇식 장치에 장착된 제 1 센서로부터 데이터를 수신하는 단계로서, 상기 데이터는 제 1 센서로부터 제 1 영역까지의 제 1 거리 측정값을 포함하는 단계;
    상기 로봇식 장치에 장착된 제 2 센서로부터 데이터를 수신하는 단계로서, 상기 데이터는 제 2 센서로부터 제 2 영역까지의 제 2 거리 측정값을 포함하고, 상기 제 2 영역은 제 1 영역과 상이한 단계;
    상기 제 2 거리 측정값이 상기 제 1 거리 측정값과 상이한 경우에 상기 제 1 거리 측정값과 제 2 거리 측정값 사이의 차를 계산하는 단계로서, 상기 계산된 차는 드롭부의 크기에 대응하는 단계; 및
    상기 드롭부의 크기가 드롭부 파라미터와 동등하거나 또는 이를 초과하는 경우에 상기 로봇식 장치가 이동 경로를 재라우팅하도록 상기 로봇식 장치를 작동시키는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 드롭부 파라미터는 상기 제 1 영역과 제 2 영역 사이의 높이의 평균값에 대응하고, 상기 제 1 영역은 고정되고, 상기 제 2 영역은 제 1 영역으로부터 멀어지는, 방법.
  3. 제 1 항에 있어서,
    상기 제 1 센서 및 제 2 센서 중 하나 이상에 교정 오차가 있는 경우에 상기 드롭부의 크기를 조정하는 단계를 더 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 제 1 거리 측정값과 제 2 거리 측정값 사이의 차를 계산하기 전에 측벽 임계값을 검출하는 단계를 더 포함하고, 상기 측벽 임계값은 상기 제 1 센서 및 제 2 센서 중 하나 이상에 의해 제 1 벽 및 제 2 벽을 검출하는 것에 대응하고, 상기 제 1 벽 및 제 2 벽은 거리를 두고 분리되어 있는, 방법.
  5. 제 4 항에 있어서,
    상기 제 1 벽 및 제 2 벽은, 제 1 벽 및 제 2 벽이 로봇식 장치의 우측 또는 좌측 중 어느 쪽에 있는지를 결정하기 위해 미분 측정값에 기초하여 검출되는, 방법.
  6. 제 5 항에 있어서,
    상기 미분 측정값이 음의 벽 임계 파라미터값을 충족하면, 상기 제 1 벽 및 제 2 벽 중 하나는 로봇식 장치의 좌측에 있고, 상기 미분 측정값이 양의 벽 임계 파라미터값을 충족하면, 상기 제 1 벽 및 제 2 벽 중 하나는 로봇식 장치의 우측에 있는, 방법.
  7. 제 4 항에 있어서,
    상기 드롭부의 크기는 상기 제 1 벽 및 제 2 벽에 대한 로봇식 장치의 각도와 상관없이 계산되는, 방법.
  8. 복수의 명령이 저장된 비일시적 컴퓨터 판독가능한 매체로서:
    상기 복수의 명령은 컨트롤러에 의해 실행되도록 구성가능하여,
    실행 시, 상기 컨트롤러가,
    로봇식 장치에 장착된 제 1 센서로부터 데이터를 수신하고, 상기 데이터는 제 1 센서로부터 제 1 영역까지의 제 1 거리 측정값을 포함하고;
    상기 로봇식 장치에 장착된 제 2 센서로부터 데이터를 수신하고, 상기 데이터는 제 2 센서로부터 제 2 영역까지의 제 2 거리 측정값을 포함하고, 상기 제 2 영역은 제 1 영역과 상이하고;
    상기 제 2 거리 측정값이 제 1 거리 측정값과 상이한 경우에 상기 제 1 거리 측정값와 제 2 거리 측정값 사이의 차를 계산하고, 상기 계산된 차는 드롭부의 크기에 대응하고; 또한
    상기 드롭부의 크기가 드롭부 파라미터와 동등하거나 또는 이를 초과하는 경우에 상기 로봇식 장치가 이동 경로를 재라우팅하도록 상기 로봇식 장치를 작동시키도록 구성가능한, 비일시적 컴퓨터 판독가능한 매체.
  9. 제 8 항에 있어서,
    상기 드롭부 파라미터는 상기 제 1 영역과 제 2 영역 사이의 높이의 평균값에 대응하고, 상기 제 1 영역은 고정되고, 상기 제 2 영역은 제 1 영역으로부터 멀어지는, 비일시적 컴퓨터 판독가능한 매체.
  10. 제 8 항에 있어서,
    상기 컨트롤러는 상기 제 1 센서 및 제 2 센서 중 하나 이상에 교정 오차가 있는 경우에 상기 드롭부의 크기를 조정하도록 더 구성가능한, 비일시적 컴퓨터 판독가능한 매체.
  11. 제 8 항에 있어서,
    상기 컨트롤러는 상기 제 1 거리 측정값과 제 2 거리 측정값 사이의 차를 계산하기 전에 측벽 임계값을 검출하도록 더 구성가능하고,
    상기 측벽 임계값은 상기 제 1 센서 및 제 2 센서 중 하나 이상에 의해 제 1 벽 및 제 2 벽을 검출하는 것에 대응하고, 상기 제 1 벽 및 제 2 벽은 거리를 두고 분리되어 있는, 비일시적 컴퓨터 판독가능한 매체.
  12. 제 11 항에 있어서,
    상기 제 1 벽 및 제 2 벽은, 제 1 벽 및 제 2 벽이 로봇식 장치의 우측 또는 좌측 중 어느 쪽에 있는지를 결정하기 위해 미분 측정값에 기초하여 검출되는, 비일시적 컴퓨터 판독가능한 매체.
  13. 제 12 항에 있어서,
    상기 미분 측정값이 음의 벽 임계 파라미터값을 충족하면, 상기 제 1 벽 및 제 2 벽 중 하나는 로봇식 장치의 좌측에 있고, 상기 미분 측정값이 양의 벽 임계 파라미터값을 충족하면, 상기 제 1 벽 및 제 2 벽 중 하나는 로봇식 장치의 우측에 있는, 비일시적 컴퓨터 판독가능한 매체.
  14. 제 11 항에 있어서,
    상기 드롭부의 크기는 상기 제 1 벽 및 제 2 벽에 대한 로봇식 장치의 각도와 상관없이 계산되는, 비일시적 컴퓨터 판독가능한 매체.
  15. 이동 경로를 따라 드롭부를 검출하기 위한 시스템으로서:
    컴퓨터 판독가능한 명령이 저장된 메모리; 및
    적어도 하나의 컨트롤러를 포함하고,
    상기 컨트롤러는,
    로봇식 장치에 장착된 제 1 센서로부터 데이터를 수신하고, 상기 데이터는 제 1 센서로부터 제 1 영역까지의 제 1 거리 측정값을 포함하고;
    상기 로봇식 장치에 장착된 제 2 센서로부터 데이터를 수신하고, 상기 데이터는 제 2 센서로부터 제 2 영역까지의 제 2 거리 측정값을 포함하고, 상기 제 2 영역은 제 1 영역과 상이하고;
    상기 제 2 거리 측정값이 제 1 거리 측정값과 상이한 경우에 상기 제 1 거리 측정값과 제 2 거리 측정값 사이의 차를 계산하고, 상기 계산된 차는 드롭부의 크기에 대응하고; 또한
    상기 드롭부의 크기가 드롭부 파라미터와 동등하거나 또는 이를 초과하는 경우에 상기 로봇식 장치가 이동한 경로를 재라우팅하도록 상기 로봇식 장치를 작동시키기 위해 상기 컴퓨터 판독가능한 명령을 실행하도록 구성가능한, 시스템.
KR1020217021410A 2018-12-11 2019-12-11 에스컬레이터를 검출하기 위한 시스템, 장치, 및 방법 KR20210110610A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862778030P 2018-12-11 2018-12-11
US62/778,030 2018-12-11
PCT/US2019/065643 WO2020123605A1 (en) 2018-12-11 2019-12-11 Systems, apparatuses, and methods for detecting escalators

Publications (1)

Publication Number Publication Date
KR20210110610A true KR20210110610A (ko) 2021-09-08

Family

ID=71076621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217021410A KR20210110610A (ko) 2018-12-11 2019-12-11 에스컬레이터를 검출하기 위한 시스템, 장치, 및 방법

Country Status (6)

Country Link
US (1) US11529736B2 (ko)
EP (1) EP3894969A4 (ko)
JP (1) JP7462891B2 (ko)
KR (1) KR20210110610A (ko)
TW (1) TW202030141A (ko)
WO (1) WO2020123605A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043719A1 (ko) * 2022-08-24 2024-02-29 삼성전자주식회사 에스컬레이터에서 하차하는 로봇 및 그 제어 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022221242A1 (en) * 2021-04-14 2022-10-20 Brain Corporation Systems and methods for robotic detection of escalators and moving walkways
EP4241928A1 (en) * 2022-03-07 2023-09-13 Körber Suppy Chain DK A/S Method for operating a material handling apparatus
KR20240029678A (ko) * 2022-08-26 2024-03-06 삼성전자주식회사 무빙 워크를 이용하는 로봇 및 그 제어 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248725B2 (en) * 2004-01-07 2007-07-24 Ramot At Tel Avia University Ltd. Methods and apparatus for analyzing ultrasound images
US7047132B2 (en) * 2004-01-12 2006-05-16 Steven Jacobs Mobile vehicle sensor array
JP5499355B2 (ja) 2009-09-14 2014-05-21 国立大学法人電気通信大学 移動環境認識装置及び方法
JP5636936B2 (ja) 2010-12-15 2014-12-10 パナソニック株式会社 移動車両の制御システム
WO2014047557A1 (en) * 2012-09-21 2014-03-27 Irobot Corporation Proximity sensing on mobile robots
TWI652034B (zh) * 2016-05-17 2019-03-01 Lg電子股份有限公司 清掃機器人
CN206282141U (zh) * 2016-12-23 2017-06-27 上海木爷机器人技术有限公司 避障系统
JP6571631B2 (ja) 2016-12-26 2019-09-04 国立大学法人 東京大学 走行車両及び走行車両の制御方法
KR102012548B1 (ko) * 2017-01-25 2019-08-20 엘지전자 주식회사 로봇의 진입 가능 영역을 식별하는 방법 및 이를 구현하는 로봇

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043719A1 (ko) * 2022-08-24 2024-02-29 삼성전자주식회사 에스컬레이터에서 하차하는 로봇 및 그 제어 방법

Also Published As

Publication number Publication date
WO2020123605A1 (en) 2020-06-18
TW202030141A (zh) 2020-08-16
US11529736B2 (en) 2022-12-20
JP7462891B2 (ja) 2024-04-08
JP2022511978A (ja) 2022-02-01
EP3894969A4 (en) 2022-08-24
EP3894969A1 (en) 2021-10-20
US20210299873A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
US20230021778A1 (en) Systems and methods for training a robot to autonomously travel a route
US11613016B2 (en) Systems, apparatuses, and methods for rapid machine learning for floor segmentation for robotic devices
JP7462891B2 (ja) エスカレータを検出するためのシステム、装置、及び方法
CN110023866A (zh) 用于自主导航中的动态路线规划的系统和方法
US20220269943A1 (en) Systems and methods for training neural networks on a cloud server using sensory data collected by robots
US20210294328A1 (en) Systems and methods for determining a pose of a sensor on a robot
US20210354302A1 (en) Systems and methods for laser and imaging odometry for autonomous robots
US11886198B2 (en) Systems and methods for detecting blind spots for robots
US11951629B2 (en) Systems, apparatuses, and methods for cost evaluation and motion planning for robotic devices
US11865731B2 (en) Systems, apparatuses, and methods for dynamic filtering of high intensity broadband electromagnetic waves from image data from a sensor coupled to a robot
US20230168689A1 (en) Systems and methods for preserving data and human confidentiality during feature identification by robotic devices
US20210213616A1 (en) Systems and methods for detection of features within data collected by a plurality of robots by a centralized server
US20230083293A1 (en) Systems and methods for detecting glass and specular surfaces for robots
US20210232149A1 (en) Systems and methods for persistent mapping of environmental parameters using a centralized cloud server and a robotic network
TW202102959A (zh) 用於合併關於自動化機器人之單原點的不連續地圖及路線數據之系統及方法
US20220122157A1 (en) Systems and methods for detection of features within data collected by a plurality of robots by a centralized server
US20240077882A1 (en) Systems and methods for configuring a robot to scan for features within an environment
US20240085916A1 (en) Systems and methods for robotic detection of escalators and moving walkways
TW202032366A (zh) 用於非完整機器人系統之改良式控制之系統及方法
WO2021252425A1 (en) Systems and methods for wire detection and avoidance of the same by robots
TW202119055A (zh) 使用對準目標校準不可見光發射感測器的系統和方法
US20230350420A1 (en) Systems and methods for precisely estimating a robotic footprint for execution of near-collision motions
CA3236543A1 (en) Systems and methods for automatic route generation for robotic devices
Mohtaseb et al. An Intelligent Mobile Robot that Localizes itself Inside a Maze
WO2022087014A1 (en) Systems and methods for producing occupancy maps for robotic devices