KR102572851B1 - 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 - Google Patents

목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR102572851B1
KR102572851B1 KR1020230044006A KR20230044006A KR102572851B1 KR 102572851 B1 KR102572851 B1 KR 102572851B1 KR 1020230044006 A KR1020230044006 A KR 1020230044006A KR 20230044006 A KR20230044006 A KR 20230044006A KR 102572851 B1 KR102572851 B1 KR 102572851B1
Authority
KR
South Korea
Prior art keywords
obstacle
mobile robot
robot device
destination
path
Prior art date
Application number
KR1020230044006A
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 주식회사 클로봇
Priority to KR1020230044006A priority Critical patent/KR102572851B1/ko
Application granted granted Critical
Publication of KR102572851B1 publication Critical patent/KR102572851B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • 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
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • B25J9/1666Avoiding collision or forbidden zones
    • 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
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 개시의 일 실시예는, 목적지까지 이동하는 이동 로봇 장치 및 이동 로봇 장치의 동작 방법을 개시한다. 이동 로봇 장치는 이미지를 획득하는 이미지 센서, 포인트 클라우드를 획득하는 라이다(LiDAR) 센서, 메모리 및 프로세서를 포함하고, 프로세서는 인스트럭션을 실행함으로써 이미지로부터 장애물을 인식하고, 포인트 클라우드에 포함된 장애물에 대응되는 아이디와 인식된 장애물을 비교하여, 아이디와 장애물의 매칭 여부를 판단하고, 아이디와 장애물이 매칭되는 경우 장애물을 회피하여 목적지까지 도달하기 위한 제1 회피 경로를 생성하고, 아이디와 장애물이 매칭되지 않는 경우, 장애물을 회피하여 특정 지점까지 도달하기 위한 제2 회피 경로를 생성할 수 있다.

Description

목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법{MOBILE ROBOT DEVICE FOR MOVING TO DESTINATION AND OPERATION METHOD THEREOF}
본 발명은 이동 로봇 장치에 관한 것으로, 특히 목적지까지 이동하기 위한 이동 로봇 장치 및 그의 동작 방법에 관한 것이다.
최근 들어 병원, 호텔, 쇼핑몰, 공공기관 등 다양한 곳에서 서비스 로봇을 쉽게 볼 수 있게 되었다. 이러한, 서비스 로봇은 기업, 공공장소에서 사용하는 전문용 서비스 로봇(Professional Service Robot), 일반 가정 서비스 로봇 및 개인용 서비스 로봇(Personal Service Robot)을 모두 뜻할 수 있다.
2019년 세계 서비스 로봇 시장 규모는 94억 6000만달러로 전년대비 14.1% 증가했다. 지난 5년간 서비스로봇 시장은 연평균 21.9% 성장률을 기록했으며 2021년에는 40억 달러까지 규모가 커질 것으로 전망된다.
특히, 서비스 로봇은 대부분 이동 로봇 장치로 물품 이동, 가사, 손님맞이, 교육용 로봇으로 실내 공간에서 많이 사용되고 있다.
실내 공간은 휠체어, 링거 걸이, 벽, 기둥, 의자, 책상, 책장, 복합기 등 자율 주행 로봇의 움직임에 제한이 되는 장애물이 많다.
그러나, 대부분 실내에서 주행하는 이동 로봇 장치는 장애물을 회피하는 동작을 수행함에 있어, 복수의 장애물이 존재하는 경우 회피 동작을 수행하지 못할 수 있다. 또한, 장애물을 회피하는 동작을 수행함에 있어 주변의 물체 또는 사람과 충돌할 수도 있다.
따라서, 실내에 존재하는 장애물에 대하여 상황에 맞게 다양한 회피 경로를 생성하여 회피 동작을 수행하는 방안이 필요하다.
등록번호 제2479619 호 (등록일자: 2022년 12월 16일)
실내에서 이동하는 이동 로봇 장치가 목적지까지 이동함에 있어서 인식되는 장애물을 회피하는 동작을 수행하는 경우, 장애물을 인식한 위치, 장애물의 배치 및 장애물이 위치한 영역에 따라 의도치 않은 문제가 발생할 수 있다.
이동 로봇 장치가 공간 내에 위치한 장애물의 위치, 형상, 배치 등을 정확히 인식하지 못하여, 목적지까지 이동하는 동안 장애물을 회피하지 못하고 장애물과 충돌할 수 있다.
또한, 이동 로봇 장치가 장애물을 인식한 위치가 이동 로봇 장치와 근접한 위치인 경우, 장애물을 인식한 위치로부터 목적지까지 장애물을 회피하는 경로로 새롭게 회피 경로를 생성함에 있어 이동 로봇 장치의 이동이 제한될 수 있다.
또한, 복수 개의 장애물이 위치하는 경우, 이동 로봇 장치가 장애물을 회피하는 이동을 하기 위한 경로 상에 새로운 장애물이 인식되어, 이동 로봇 장치의 이동이 제한될 수 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시에 따르면, 목적지까지 이동하는 이동 로봇 장치가 제공될 수 있다. 이동 로봇 장치는 목적지에 대응되는 이동 경로를 촬영하여 이미지를 획득하는 적어도 하나의 이미지 센서를 포함할 수 있다. 이동 로봇 장치는 이동 경로를 촬영하여 포인트 클라우드(point cloud)를 획득하는 라이다(LiDAR, Light Detection And Ranging) 센서를 포함할 수 있다. 이동 로봇 장치는 적어도 하나의 명령어(instruction)을 포함하는 메모리를 포함할 수 있다. 이동 로봇 장치는 메모리에 포함된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는 적어도 하나 이상의 인스트럭션을 실행함으로써, 획득한 이미지로부터 이동 경로 상에 위치한 적어도 하나의 장애물을 인식할 수 있다. 적어도 하나의 프로세서는 적어도 하나 이상의 인스트럭션을 실행함으로써, 포인트 클라우드에 포함된 적어도 하나의 장애물에 대응되는 적어도 하나의 아이디와 인식된 장애물을 비교하여 적어도 하나의 아이디와 적어도 하나의 장애물의 매칭 여부를 판단할 수 있다. 적어도 하나의 프로세서는 적어도 하나 이상의 인스트럭션을 실행함으로써 적어도 하나의 아이디와 적어도 하나의 장애물이 매칭되는 경우, 적어도 하나의 장애물을 회피하여 목적지까지 도달하기 위한 제1 회피 경로를 생성할 수 있다. 적어도 하나의 프로세서는 적어도 하나 이상의 인스트럭션을 실행함으로써, 적어도 하나의 아이디와 적어도 하나의 장애물이 매칭되지 않는 경우, 적어도 하나의 장애물을 회피하여, 특정 지점까지 도달하기 위한 제2 회피 경로를 생성할 수 있다.
또한, 본 개시에 따르면, 목적지까지 이동하는 이동 로봇 장치의 동작 방법이 제공될 수 있다. 이동 로봇 장치의 동작 방법은 적어도 하나의 이미지 센서를 통하여 목적지에 대응되는 이동 경로를 촬영하여 이미지를 획득하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 라이다(LiDar, Light Detection And ranging) 센서를 통하여 이동 경로를 촬영하여 포인트 클라우드를 획득하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 획득한 이미지로부터 이동 경로 상에 위치한 적어도 하나의 장애물을 인식하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 포인트 클라우드에 포함된 적어도 하나의 장애물에 대응되는 적어도 하나의 아이디와 인식된 장애물을 비교하여, 적어도 하나의 아이디와 적어도 하나의 장애물의 매칭 여부를 판단하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 적어도 하나의 아이디와 적어도 하나의 장애물이 매칭됨에 따라, 적어도 하나의 장애물을 회피하여 목적지까지 도달하기 위한 제1 회피 경로를 생성하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 적어도 하나의 아이디와 적어도 하나의 장애물이 매칭되지 않음에 따라, 적어도 하나의 장애물을 회피하여 특정 지점까지 도달하기 위한 제2 회피 경로를 생성하는 단계를 포함할 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 이동 로봇 장치는 공간 내에서의 장애물의 위치, 형상 등을 정확히 인식할 수 있다. 이동 로봇 장치는 이미지 센서에 의하여 인식된 장애물과 라이다 센서에 의하여 획득된 장애물에 대응되는 아이디를 매칭하여, 인식된 장애물이 아이디와 매칭되는 경우, 해당 장애물을 회피하여 목적지까지 이동하기 위한 제1 회피 경로를 생성할 수 있다.
이동 로봇 장치는 이미지 센서에 의하여 인식된 장애물과 라이다 센서에 의하여 획득된 장애물에 대응되는 아이디를 매칭하여, 인식된 장애물이 아이디와 매칭되지 않는 경우, 해당 장애물을 회피하여 특정 지점까지 도달하기 위한 제2 회피 경로를 생성할 수 있다.
또한, 장애물을 인식한 공간이 이동 로봇 장치에 의하여 사용자의 활동 등이 방해되기 쉬운 곳이라 기-설정된 우회 영역인 경우, 해당 영역을 우회하여 목적지에 도달하기 위한 제3 회피 경로를 생성할 수 있다.
이를 통하여, 인식된 장애물이 라이다 센서에 의하여 미리 인식되어, 자연스러운 회피 이동을 할 수 있는 거리에 위치하는 경우와, 인식된 장애물이 센서 성능에 의하여 뒤늦게 인식되거나, 혹은 갑자기 주변으로 다가온 경우에 맞게 다양한 회피 경로를 생성하여 이동할 수 있다. 또한, 장애물이 인식된 영역에 따라 공간을 사용하는 사용자에게 방해되지 않는 회피 경로를 생성할 수 있다.
이를 통하여, 상황에 맞게 장애물을 회피하기 위한 이동 로봇 장치의 자연스러운 이동이 가능하며, 공간을 이용하는 사용자들의 불편을 최소화할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 이동 로봇 장치 및 이동 로봇 장치의 동작 방법을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 도시한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른, 이동 로봇 장치의 감지 범위를 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른, 이동 로봇 장치의 동작 방법을 설명하기 위한 순서도이다.
도 6은 본 개시의 일 실시예에 따른, 장애물의 인식을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른, 회피 예외 영역을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른, 적어도 하나의 장애물과 이동 로봇 장치 사이의 거리를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른, 적어도 하나의 장애물을 회피하여 특정 지점까지 도달하기 위한 제2 회피 경로를 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른, 적어도 하나의 장애물에 대응되는 코스트 맵을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른, 회피하고자 하는 적어도 하나의 장애물의 코스트 맵과, 인접한 적어도 하나의 주변 장애물의 코스트 맵을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른, 이동 로봇 장치의 동작 방법을 설명하기 위한 순서도이다.
도 13는 본 개시의 일 실시예에 따른, 우회 영역을 설명하기 위한 도면이다.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 본 개시의 일 실시예에 따른 이동 로봇 장치 및 이동 로봇 장치의 동작 방법을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 도 1에는 본 개시의 이동 로봇 장치(100) 및 이동 로봇 장치(100)의 동작 방법을 설명하기 위한 구성들이 도시되어 있다.
일 실시예에서, 이동 로봇 장치(100)는 이동 로봇 장치(100)가 배치된 공간(1000) 내에서 목적지까지 이동할 수 있다. 도 1에는 목적지가 미도시되었으나, 목적지도 공간(1000) 내에 위치한 곳일 수 있다.
일 실시예에서, 이동 로봇 장치(100)는 목적지에 도달하기 위하여, 목적지에 대응되는 이동 경로를 따라서 이동할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 입력받은 목적지에 기초하여 이동 경로를 계산할 수 있다. 또한, 이동 로봇 장치(100)는 목적지를 입력받고, 제공받은 목적지를 외부의 클라우드 서버 등에 제공하여, 클라우드 서버로부터 목적지에 대응되는 이동 경로를 제공받을 수도 있다.
일 실시예에서, 공간(1000)는 병원, 사무실, 학교, 공장, 식당, 도서관 등 다양한 곳을 포함할 수 있고, 어느 하나의 공간으로 제공되지 않는다. 이동 경로는 이동 로봇 장치(100)의 위치로부터 공간(1000) 내에 포함된 공간(1000)을 구분하기 위한 벽, 기둥, 계단 또는 공간(1000) 내에 위치한 의자, 침대, 휠체어, 링거걸이, 책상, 화분, 사람, 동물, 기계 등 어느 하나로 제한되지 않는 장애물들을 회피하여 목적지까지 도달하기 위한 경로일 수 있다.
이하, 설명의 편의를 위하여, 공간(1000)은 병원으로 설명하고, 공간(1000) 내에포함된 적어도 하나의 장애물(200, 300)은 병원에 포함된 침대, 휠체어, 링거걸이 등으로 설명하도록 한다.
일 실시예에서, 이동 로봇 장치(100)가 공간(1000) 내에서 목적지까지 이동하는 동안, 이동 로봇 장치(100)는 공간(1000) 내에 위치한 적어도 하나의 장애물(200, 300)을 인식할 수 있다. 구체적으로, 이동 로봇 장치(100)는 이미지 센서 및 라이다(LiDAR, Light Detection And Ranging) 센서를 이용하여, 공간(1000) 내에 위치한 적어도 하나의 장애물(200, 300)을 검출(detection)하고, 인식(recognition)할 수 있다. 이하, 이동 로봇 장치(100)가 공간(1000) 내에 위치한 적어도 하나의 장애물(200, 300)을 검출하여 인식하는 동작에 대하여는 도 2 내지 도 6에서 후술하도록 한다. 또한, 이하 설명의 편의를 위하여, 적어도 하나의 장애물을 “인식”하는 동작은, 적어도 하나의 장애물을 “검출”하고 “인식”하는 동작의 의미를 포함할 수 있다.
일 실시예에서, 이동 로봇 장치(100)는 인식된 적어도 하나의 장애물(200, 300)을 회피하여 목적지까지 이동하기 위한 적어도 하나의 회피 경로(400, 500, 600)를 생성할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 생성된 적어도 하나의 회피 경로(400, 500, 600)를 따라서 이동하여 목적지에 도달할 수 있다.
일 실시예에서, 이동 로봇 장치(100)는 이동 경로에 대응되도록 기-설정된 제1 감지 범위(700)를 포함할 수 있다. 이동 로봇 장치(100)는 인식된 적어도 하나의 장애물(200, 300)이 제1 감지 범위(700) 내에 위치하는 경우, 적어도 하나의 장애물(200, 300)을 회피하여 목적지까지 이동하기 위한 제1 회피 경로(400)를 생성할 수 있다.
일 실시예에서, 이동 로봇 장치(100)는 이동 로봇 장치(100)를 중심으로, 이동 경로를 향하는 방향으로 반원 형태로 기-설정된 제2 감지 범위(800)를 포함할 수 있다. 이동 로봇 장치(100)는 인식된 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는 경우, 적어도 하나의 장애물(200, 300)을 회피하여 특정 지점까지 이동하기 위한 제2 회피 경로(500)를 생성할 수 있다. 이때, 특정 지점은 공간(1000)을 구분하기 위한 복수의 벽 또는 기둥 중 인식된 적어도 하나의 장애물(200, 300)과 인접한 벽 또는 기둥일 수 있다. 또한, 본 발명은 이에 제한되지 않고, 특정 지점은 인식된 적어도 하나의 장애물(200, 300)로부터, 일정 거리만큼 이격된 지점일 수도 있다.
일 실시예에서, 이동 로봇 장치(100)는 제2 회피 경로(500)를 따라 특정 지점으로 이동한 후, 재차 제2 감지 범위(800) 내에 적어도 하나의 장애물(200, 300)이 위치하는지 판단할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 제2 감지 범위(800) 내에 적어도 하나의 장애물(200, 300)이 위치하지 않은 경우, 특정 지점으로부터 목적지까지 이동할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 제2 감지 범위(800) 내에 적어도 하나의 장애물(200, 300)이 위치하는 경우, 특정 지점에서 이동하지 않고 대기할 수 있다.
일 실시예에서, 이동 로봇 장치(100)는, 인식된 적어도 하나의 장애물(200, 300)이 기-설정된 우회 영역(2000)의 일부와 중첩되거나, 혹은 우회 영역(2000)의 내부에 위치하는 경우, 적어도 하나의 장애물(200, 300)을 회피하여 목적지까지 도달하기 위하여, 우회 영역(2000)을 우회하는 제3 회피 경로(600)를 생성할 수 있다. 이동 로봇 장치(100)는 제3 회피 경로(600)를 따라 적어도 하나의 장애물(200, 300)을 회피하여 목적지에 도달할 수 있다.
일 실시예에서, 우회 영역(2000)은 병원 로비, 환자들이 대기하는 복도, 또는 치료가 이루어질 수 있는 공간 등 공간(1000)을 이용하는 사용자들의 밀도가 상대적으로 높을 것으로 예상되는 영역, 혹은 이동 로봇 장치(100)의 이동에 의하여 방해받을 수 있는 동작이 수행되는 영역일 수 있다. 또한, 우회 영역(2000)은 이동 로봇 장치(100)의 이동에 있어서, 공간(1000) 내에서 적어도 하나의 장애물(200, 300)이 인식되는 빈도 수가 상대적으로 높은 영역일 수도 있다.
본 개시를 통하여, 공간(1000) 내에서 목적지까지 이동함에 있어서, 인식된 적어도 하나의 장애물(200, 300)의 위치, 이동 로봇 장치(100)와 적어도 하나의 장애물(200, 300)까지의 거리 및 인식된 적어도 하나의 장애물(200, 300)이 위치한 영역 등에 따라 적어도 하나의 장애물(200, 300)을 회피하기 위한 경로를 서로 다르게 생성할 수 있다. 따라서, 이동 로봇 장치(100)의 공간(1000) 내에서의 이동 동작의 신뢰성 및 작업 속도를 높이고, 공간(1000)을 이용하는 사용자들의 사용 경험 및 이용 편의성을 증가시킬 수 있다.
도 2는 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 도시한 블록도이다. 도 3은 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 설명하기 위한 도면이다.
도 1, 도 2 및 도 3을 참조하면, 이동 로봇 장치(100)는 이미지 센서(110), 라이다 센서(120), 메모리(130), 적어도 하나의 프로세서(140), 이동부(150), 통신 인터페이스(160) 및 사용자 인터페이스(170)를 포함할 수 있다. 도 2에 도시된 구성 요소들은 본 개시에 따른 이동 로봇 장치(100)를 구현하는데 필수적인 것은 아니여서, 본 명세서 상에서 설명되는 이동 로봇 장치(100)는 위에서 열거된 구성 요소들보다 많거나, 혹은 적은 구성 요소들을 가질 수도 있다. 이미지 센서(110), 라이다 센서(120), 메모리(130), 적어도 하나의 프로세서(140), 이동부(150), 통신 인터페이스(160) 및 사용자 인터페이스(170)는 각각 전기적 및/또는 물리적으로 서로 연결될 수 있다.
일 실시예에서, 이미지 센서(110)는 목적지까지 이동하는데 있어서 이동 경로를 촬영할 수 있다. 일 실시예에서, 이미지 센서(110)는 RGB 카메라, RGB-Depth 카메라, IR(Infrared) 카메라 등을 포함할 수 있다. 일 실시예에서, 적어도 하나의 프로세서(140)는 이미지 센서를 통하여 이동 경로를 촬영하여, 이미지를 획득할 수 있다. 이때, 이미지는 RGB 이미지, RGB-D 이미지 혹은 IR 이미지일 수 있다.
일 실시예에서, 이미지 센서(110)는 이동 로봇 장치(100)의 상단부에 위치한 제1 이미지 센서(110_1) 및 이동 로봇 장치(100)의 하단부에 위치한 제2 이미지 센서(110_2)를 포함할 수 있다.
일 실시예에서, 제1 이미지 센서(110_1)는 이동 로봇 장치(100)의 상단부에 위치하고, 상단부에 수직한 방향을 기준으로 하단부를 향하여 0°내지 30°이하의 각도를 갖도록 배치될 수 있다. 제2 이미지 센서(110_2)는 이동 로봇 장치(100)의 하단부에 위치하고, 하단부에 수직한 방향을 기준으로 상단부를 향하여 0°내지 30°이하의 각도를 갖도록 하단부에 배치될 수 있다. 일 실시예에서, 제1 이미지 센서(110_1)는 상단부에 수직한 방향을 기준으로, 하단부를 향하여 20°의 각도를 갖도록 상단부에 배치되고, 제2 이미지 센서(110_2)는 하단부에 수직한 방향을 기준으로, 상단부를 향하여 15°의 각도를 갖도록 하단부에 배치될 수 있다. 이를 통하여, 이동 로봇 장치(100)는 제1 이미지 센서(110_1) 및 제2 이미지 센서(110_2)를 통하여 사각지대 없는 이동 경로 상의 이미지를 획득할 수 있다.
일 실시예에서, 라이다 센서(120)는 목적지까지 이동하는데 있어서 이동 경로를 촬영하여 포인트 클라우드(point cloud)를 획득할 수 있다. 일 실시예에서, 라이다 센서(120)는 레이저를 이용해 라이다 센서와 주변 물체와의 거리를 감지할 수 있다. 라이다 센서(120)는 레이저를 주변 물체에 비춰 주변 물체와 라이다 센서(120) 사이의 거리 및 주변 물체의 다양한 물성을 감지할 수 있다. 이때, 주변 물체와 라이다 센서(120) 사이의 거리는, 주변 물체와 이동 로봇 장치(100) 간의 거리에 대응될 수 있다.
이동 로봇 장치(100)가 라이다 센서(120)를 이용하여 획득하는 포인트 클라우드는 2차원(x, y) 또는 3차원(x, y, z) 공간에서 복수 개의 포인트들의 집합 데이터일 수 있다. 포인트 클라우드에 기초하여, 이동 로봇 장치(100)는 주변 물체와 이동 로봇 장치(100) 간의 고정밀의 거리 측정을 할 수 있다. 포인트 클라우드는 그리드 지도 또는 복셀(Voxel) 지도로 표현될 수 있다.
일 실시예에서, 라이다 센서(120)는 이동 로봇 장치(100)의 하단부에 배치될 수 있다. 일 실시예에서, 라이다 센서(120)는 제1 이미지 센서(110_1)와 제2 이미지 센서(110_2)의 사이에 배치될 수 있다.
일 실시예에서, 메모리(130)는 이동 로봇 장치(100)의 다양한 기능을 지원하는 데이터와, 적어도 하나의 프로세서(140)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 있고, 본 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 장치의 동작을 위한 적어도 하나의 데이터들, 적어도 하나의 명령어들(instruction)을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(130)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리는 이동 로봇 장치(100)와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 이동 로봇 장치(100)의 전반적인 동작들을 제어할 수 있다. 일 실시예에서, 적어도 하나의 프로세서(140)는 메모리(130)에 저장된 적어도 하나 이상의 명령어를 실행하여, 이동 로봇 장치(100)의 동작을 제어할 수 있다. 적어도 하나의 프로세서(140)는 본 개시의 이동 로봇 장치(100) 내의 구성 요소들의 동작을 제어할 수 있다. 적어도 하나의 프로세서(140)는 이하의 도면들에서 설명되는 본 개시에 따른 다양한 실시예들을 이동 로봇 장치(100) 상에서 구현하기 위하여, 위에서 살펴본 구성요소들 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 물체 인식 모듈(141)을 실행하여, 이미지 센서(110)로부터 획득된 이미지로부터 적어도 하나의 장애물(200, 300)을 인식할 수 있다. 일 실시예에서, 물체 인식 모듈(141)은 이미지 정보에 포함된 객체(object)를 인식(recognition)할 수 있는 객체 인식 알고리즘(objection recognition algorithm)을 포함할 수 있다. 또한, 물체 인식 모듈(141)은 이미지 정보에 포함된 객체를 검출(detection)할 수 있는 객체 검출 알고리즘(objection detection algorithm)을 포함할 수 있다. 이하, 물체 인식 모듈(141)에 대하여는 도 6에서 후술하도록 한다.
일 실시예에서, 적어도 하나의 프로세서(140)는 물체 매칭 모듈(142)을 실행하여, 포인트 클라우드에 포함된 적어도 하나의 장애물(200, 300)의 좌표와 인식된 적어도 하나의 장애물(200, 300)의 매칭 여부를 판단할 수 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 라이다 센서(120)를 통하여 획득한 포인트 클라우드에 포함된 적어도 하나의 장애물의 좌표와, 이미지 센서(110)를 통하여 인식된 적어도 하나의 장애물(200, 300)의 매칭 여부를 판단함에 따라, 공간(1000) 내에 위치하는 적어도 하나의 장애물(200, 300)의 좌표 정보, 크기, 형상, 종류 등을 정확히 판단할 수 있다. 적어도 하나의 프로세서(140)는 라이다 센서(120)와 이미지 센서(110)를 통한 센서 퓨션(sensor fusion)을 통하여 공간(1000) 내에 위치하는 적어도 하나의 장애물(200, 300)의 좌표 정보, 크기, 형상, 종류 등을 정확히 판단할 수 있다.
다만, 본 개시는 이에 제한되지 않고, 이동 로봇 장치(100)는 적어도 하나의 장애물(200, 300)의 인식 정확도를 높이기 위하여 초음파 센서(180) 등을 추가로 포함할 수도 있다. 일 실시예에서, 이동 로봇 장치(100)는 초음파 센서(180)를 통하여 획득한 정보를 이용하여 적어도 하나의 장애물(200, 300)의 좌표 정보, 크기, 형상, 종류 등을 판단할 수도 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 아이디 식별 모듈(143)을 실행하여, 포인트 클라우드에 포함된 적어도 하나의 장애물(200, 300)에 대응되는 적어도 하나의 아이디와, 이미지를 통하여 인식된 적어도 하나의 장애물(200, 300)을 비교하여, 인식된 적어도 하나의 장애물(200, 300)가 적어도 하나의 아이디에 매칭되는지 여부를 판단할 수 있다.
일 실시예에서, 포인트 클라우드에 포함된 적어도 하나의 장애물(200, 300)에 대응되는 적어도 하나의 아이디는, 공간(1000) 내에서 라이다 센서(120)를 통하여 인식된 적어도 하나의 장애물(200, 300)을 식별하기 위한 식별용 아이디일 수 있다. 적어도 하나의 프로세서(140)는 이미지로부터 인식된 적어도 하나의 장애물(200, 300)과 적어도 하나의 아이디의 매칭 여부를 판단하여, 이미지 센서(110)를 이용하여 인식된 적어도 하나의 장애물(200, 300)이 라이다 센서(120)를 이용하여 인식된 적어도 하나의 장애물(200, 300)에 대응되는지 여부를 판단할 수 있다.
이에 따라, 적어도 하나의 프로세서(140)는 이미지 센서(110)를 통하여 인식된 적어도 하나의 장애물(200, 300)이 라이다 센서(120)를 통하여 인식되어 아이디가 부여된 장애물인지, 혹은 라이디 센서(120)를 통하여 인식되지 않아, 아이디가 부여되지 않은 장애물인지 판단할 수 있다. 이하, 이미지를 통하여 인식된 적어도 하나의 장애물(200, 300)과 적어도 하나의 아이디의 매칭 여부에 따른 이동 로봇 장치(100)의 동작에 대하여는 도 5에서 후술하도록 한다.
일 실시예에서, 적어도 하나의 프로세서(140)는 위치 확인 모듈(144)을 실행하여, 인식된 적어도 하나의 장애물(200, 300)의 위치를 확인할 수 있다. 적어도 하나의 프로세서(140)는 인식된 적어도 하나의 장애물(200, 300)의 위치를 확인하고, 적어도 하나의 프로세서(140)의 제1 감지 범위(700) 혹은 제2 감지 범위(800) 내에 적어도 하나의 장애물(200, 300)이 위치하는지 여부를 판단할 수 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 물체 추적 모듈(145)을 실행하여, 인식된 적어도 하나의 장애물(200, 300)의 위치를 추적할 수 있다. 일 실시예에서, 물체 추적 모듈(145)은 이미지로부터 적어도 하나의 장애물(200, 300)을 인식하는 동작과 인식된 적어도 하나의 장애물(200, 300)의 위치를 확인하는 동작을 수행할 수도 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 경로 생성 모듈(146)을 실행하여, 인식된 적어도 하나의 장애물(200, 300)을 회피하여 목적지에 도달하기 위한 회피 경로를 생성할 수 있다. 일 실시예에서, 인식된 적어도 하나의 장애물(200, 300)에 따라 생성되는 회피 경로는 도 5 내지 도 13에서 후술하도록 한다.
일 실시예에서, 이동부(150)는 이동 경로 혹은 회피 경로를 따라 목적지로 이동하여, 이동부(150)를 포함하는 이동 로봇 장치(100)를 목표 장소로 이동시킬 수 있다. 일 실시예에서, 이동부(150)는 바퀴, 롤러 등을 포함할 수 있고, 어느 하나로 제한되지 않는다. 일 실시예에서, 적어도 하나의 프로세서(140)는 이동부(150)를 이동 경로 혹은 회피 경로를 따라 목적지로 이동하도록 제어하여, 이동 로봇 장치(100)를 목적지로 이동시킬 수 있다.
일 실시예에서, 통신 인터페이스(160)는 외부의 서버 또는 주변의 다른 전자 장치들과 이동 로봇 장치(100) 간의 데이터 통신을 수행할 수 있다.
통신 인터페이스(160)는 외부의 서버 또는 주변의 다른 전자 장치들과 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 무선 통신 모듈, 근거리 통신 모듈, 위치 정보 모듈 중 적어도 하나를 포함할 수 있다.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.
무선 통신 모듈은 데이터 신호를 송신하는 안테나 및 송신기(Transmitter)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 적어도 하나의 프로세서(140)의 제어에 따라 무선 통신 인터페이스를 통해 적어도 하나의 프로세서(140)로부터 출력된 디지털 제어 신호를 아날로그 형태의 무선 신호로 변조하는 데이터 신호 변환 모듈을 더 포함할 수 있다.
무선 통신 모듈은 데이터 신호를 수신하는 안테나 및 수신기(Receiver)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 무선 통신 인터페이스를 통하여 수신한 아날로그 형태의 무선 신호를 디지털 제어 신호로 복조하기 위한 데이터 신호 변환 모듈을 더 포함할 수 있다.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™, RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
일 실시예에서, 사용자 인터페이스(170)는 이동 로봇 장치(100)의 사용자로부터 정보를 입력받거나, 혹은 사용자에게 정보를 출력하기 위한 것이다.
일 실시예에서, 사용자 인터페이스(170)를 통해 정보가 입력되면, 적어도 하나의 프로세서(140)는 입력된 정보에 대응되도록 이동 로봇 장치(100)의 동작을 제어할 수 있다. 이러한, 사용자 인터페이스(170)는 하드웨어식 물리 키(예를 들어, 본 장치의 전면, 후면 및 측면 중 적어도 하나에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 소프트웨어식 터치 키를 포함할 수 있다. 일 예로서, 터치 키는, 소프트웨어적인 처리를 통해 터치스크린 타입의 디스플레이부 상에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다.
일 실시예에서, 사용자 인터페이스(170)는 이동 로봇 장치(100)에서 처리되는 정보를 표시(출력)할 수 있다. 예를 들어, 사용자 인터페이스(170)는 이동 로봇 장치(100)에서 구동되는 응용 프로그램(일 예로, 어플리케이션)의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다. 또한, 사용자 인터페이스(170)는 공간(1000) 내에서 이동 로봇 장치(100)가 위치한 지점, 이동 로봇 장치(100)로부터 목적지까지의 이동 경로 또는 회피 경로 등을 표시할 수도 있다.
도 4는 본 개시의 일 실시예에 따른, 이동 로봇 장치의 감지 범위를 설명하기 위한 도면이다.
도 1 및 도 4를 참조하면, 일 실시예에서, 제1 감지 범위(700)는 이동 로봇 장치(100)의 이동 경로(900)에 대응되도록 기-설정된 범위일 수 있다. 일 실시예에서, 제1 감지 범위(700)는 목적지로 이동하는 이동 로봇 장치(100)의 전방으로 설정된 범위일 수 있다. 일 실시예에서, 제1 감지 범위(700)는 이동 로봇 장치(100)의 이동에 있어서, 적어도 하나의 장애물(200, 300)이 인식될 경우, 이동 로봇 장치(100)가 자연스럽게 회피할 수 있도록 기-설정된 범위일 수 있다.
일 실시예에서, 이동 로봇 장치(100)는 이미지 센서(110) 또는 라이다 센서(120)를 중 적어도 하나를 통하여 인식된 적어도 하나의 장애물(200, 300) 중, 제1 감지 범위(700) 내에 위치한 적어도 하나의 장애물이 있는 경우, 해당 장애물을 회피하기 위한 제1 회피 경로(400)을 생성할 수 있다.
일 실시예에서, 제2 감지 범위(800)는 이동 로봇 장치(100)를 중심으로, 이동 경로를 향하는 방향으로 반원 형태로 기-설정된 범위일 수 있다. 일 실시예에서, 제2 감지 범위(800)는 이동 로봇 장치(100)를 중심으로 목적지로 이동하는 이동 로봇 장치(100)의 전방으로 반원 형태로 설정된 범위일 수 있다. 다만, 본 개시는 이에 제한되지 않는다. 제2 감지 범위(800)는 이동 로봇 장치(100)를 중심으로 하는 원형 형태 또는 이동 로봇 장치(100)를 중심으로 하는 다각형 형태를 가질 수도 있다.
일 실시예에서, 제2 감지 범위(800)는 이동 로봇 장치(100)의 이동에 있어서, 이동 로봇 장치(100)가 사전에 인식하지 못한 적어도 하나의 장애물(200, 300)으로 인하여 이동 로봇 장치(100)의 이동이 방해받는 것을 방지하기 위하여 설정된 범위일 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 이미지 센서(110) 또는 라이다 센서(120) 중 적어도 하나를 통하여 인식된 적어도 하나의 장애물(200, 300)이 포인트 클라우드에 포함된 적어도 하나의 아이디와 매칭되지 않는 경우, 사전에 인식되지 않은 장애물이 인식된 것으로 판단하여, 해당 장애물을 회피하기 위한 제2 회피 경로(500)를 생성할 수 있다.
도 5는 본 개시의 일 실시예에 따른, 이동 로봇 장치의 동작 방법을 설명하기 위한 순서도이다.
도 1, 도 2 및 도 5를 참조하면, 일 실시예에서, 이동 로봇 장치(100)의 동작 방법은 이동 경로(900, 도 4 참조)를 따라 목적지로 이동하는 단계(S100)를 포함할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 목적지로 이동하는 동안, 적어도 하나의 이미지 센서(110)를 통하여 목적지에 대응되는 이동 경로를 촬영하여 이미지를 획득하는 단계(S200)를 포함할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 획득한 이미지로부터 이동 경로 상에 위치한 적어도 하나의 장애물(200, 300)을 인식하는 단계(S300)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 물체 인식 모듈(141)을 실행함으로써, 획득한 이미지로부터 이동 경로 상에 위치한 적어도 하나의 장애물(200, 300)을 인식할 수 있다.
일 실시예에서, 적어도 하나의 장애물(200, 300)을 인식하는 단계(S300)에서, 적어도 하나의 장애물(200, 300)이 인식되는 경우, 이동 로봇 장치(100)의 동작 방법은, 인식된 적어도 하나의 장애물(200, 300)과 라이다 센서(120)를 통하여 획득된 포인트 클라우드 내의 적어도 하나의 장애물의 좌표를 매칭하는 단계(S400)를 포함할 수 있다. 이때, 본 개시는 이에 제한되지 않고, 포인트 클라우드는 라이다 센서(120)를 통하여 기-측정된 것일 수 있다. 또한, 이동 로봇 장치(100)는 외부의 서버로부터 공간(1000)에 대한 포인트 클라우드를 제공받을 수도 있다. 이하, 적어도 하나의 장애물(200, 300)을 인식하는 단계(S300) 및 포인트 클라우드 내의 적어도 하나의 장애물의 좌표와 매칭하는 단계(S400)는 도 6에서 후술하도록 한다.
일 실시예에서, 적어도 하나의 장애물(200, 300)을 인식하는 단계(S300)에서, 적어도 하나의 장애물(200, 300)이 인식되지 않는 경우, 적어도 하나의 프로세서(140)는 이동 경로(900)를 유지하여, 이동 경로(900)를 따라 목적지까지 이동하도록 이동 로봇 장치(100)를 제어할 수 있다(S410). 적어도 하나의 프로세서(140)는 이동 로봇 장치(100)의 경로를 변경하지 않고, 목적지까지 이동하도록 제공할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 인식된 적어도 하나의 장애물(200, 300)이 기-설정된 회피 예외 영역에 포함되는지 여부를 판단하는 단계(S500)를 포함할 수 있다. 일 실시예에서, 회피 예외 영역(1100, 도 7 참조)은, 공간(1000) 내에서 적어도 하나의 장애물(200, 300)을 배치하는 곳으로 기-설정된 영역으로, 이동 로봇 장치(100)가 목적지까지 도달하는 이동 경로를 계산할 때, 해당 영역을 지나가지 않도록 제외된 영역일 수 있다. 이하, 회피 예외 영역(1100)에 포함되는지 여부를 판단하는 단계(S500)는 도 7에서 후술하도록 한다.
일 실시예에서, 회피 예외 영역 여부를 판단하는 단계(S500)에서, 적어도 하나의 장애물(200, 300)이 회피 예외 영역(1100)에 포함된다고 판단되는 경우, 적어도 하나의 프로세서(140)는 이동 경로(900)를 유지하여, 이동 경로(900)를 따라 목적지까지 이동하도록 이동 로봇 장치(100)를 제어할 수 있다(S610). 적어도 하나의 프로세서(140)는 이동 로봇 장치(100)의 경로를 변경하지 않고, 목적지까지 이동하도록 제공할 수 있다.
일 실시예에서, 회피 예외 영역 여부를 판단하는 단계(S500)에서, 적어도 하나의 장애물(200, 300)이 회피 예외 영역(1100)에 포함되지 않는다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은, 인식된 적어도 하나의 장애물(200, 300)이 포인트 클라우드에 포함된 적어도 하나의 아이디와 매칭되는지 여부를 판단하는 단계(S600)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 물체 매칭 모듈(142) 및 아이디 식별 모듈(143)을 실행함으로써, 포인트 클라우드에 포함된 적어도 하나의 아이디와 인식된 적어도 하나의 장애물(200, 300)을 비교하여, 적어도 하나의 아이디와 적어도 하나의 장애물(200, 300)의 매칭 여부를 판단할 수 있다.
일 실시예에서, 적어도 하나의 아이디와 매칭되는지 여부를 판단하는 단계(S600)에서, 적어도 하나의 장애물(200, 300)이 포인트 클라우드에 포함된 적어도 하나의 아이디와 매칭되는 경우, 이동 로봇 장치(100)의 동작 방법은 적어도 하나의 장애물(200, 300)이 제1 감지 범위(700) 내에 포함되는지 여부를 판단하는 단계(S700)를 포함할 수 있다.
일 실시예에서, 적어도 하나의 장애물(200, 300)이 제1 감지 범위(700) 내에 포함되지는지 여부를 판단하는 단계(S700)에서, 적어도 하나의 장애물(200, 300)이 제1 감지 범위(700) 내에 위치하지 않은 경우, 적어도 하나의 프로세서(140)는 이동 경로(900)를 유지하여, 이동 경로(900)를 따라 목적지까지 이동하도록 이동 로봇 장치(100)를 제어할 수 있다(S710). 적어도 하나의 프로세서(140)는 이동 로봇 장치(100)의 경로를 변경하지 않고, 목적지까지 이동하도록 제공할 수 있다.
일 실시예에서, 적어도 하나의 장애물(200, 300)이 제1 감지 범위(700) 내에 포함되지는지 여부를 판단하는 단계(S700)에서, 적어도 하나의 장애물(200, 300)이 제1 감지 범위(700) 내에 위치하는 경우, 이동 로봇 장치(100)의 동작 방법은, 적어도 하나의 장애물(200, 300)에 대응되는 적어도 하나의 아이디의 위치를 확인하는 단계(S800)를 포함할 수 있다. 일 실시예에서, 적어도 하나의 아이디의 위치는, 적어도 하나의 장애물(200, 300)의 위치에 대응될 수 있다. 이하, 설명의 편의를 위하여, 적어도 하나의 프로세서(140)는 적어도 하나의 장애물(200, 300)의 위치를 확인하는 것으로 설명한다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 유지되는지 여부를 판단하는 단계(S900)를 포함할 수 있다. 일 실시예에서, 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 유지되는지 여부를 판단하는 단계(S900)에서는, 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 인접해지는지 여부를 판단할 수 있다. 이하, 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 유지되는 여부를 판단하는 단계(S900)는 도 8에서 후술하도록 한다.
일 실시예에서, 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 유지되는 여부를 판단하는 단계(S900)에서 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 유지되는 경우, 적어도 하나의 프로세서(140)는 이동 경로(900)를 유지하여, 이동 경로(900)를 따라 목적지까지 이동하도록 이동 로봇 장치(100)를 제어할 수 있다(S910). 적어도 하나의 프로세서(140)는 이동 로봇 장치(100)의 경로를 변경하지 않고, 목적지까지 이동하도록 제공할 수 있다. 일 실시예에서, 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 멀어지는 경우에도 적어도 하나의 프로세서(140)는 이동 경로(900)를 유지하여, 이동 경로(900)를 따라 목적지까지 이동하도록 이동 로봇 장치(100)를 제어할 수 있다(S910).
일 실시예에서, 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 유지되는 여부를 판단하는 단계(S900)에서 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 가까워지는 경우, 이동 로봇 장치(100)의 동작 방법은 적어도 하나의 장애물(200, 300)을 회피하여 목적지까지 도달하기 위한 제1 회피 경로(400)를 생성하는 단계(S1000)를 포함할 수 있다. 일 실시예에서, 제1 회피 경로(400)를 생성하는 단계(S1000)는 도 11에서 후술하도록 한다.
일 실시예에서, 적어도 하나의 아이디와 매칭되는지 여부를 판단하는 단계(S600)에서, 적어도 하나의 장애물(200, 300)이 포인트 클라우드에 포함된 적어도 하나의 아이디와 매칭되지 않는 경우, 이동 로봇 장치(100)의 동작 방법은 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1100)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 인식된 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단할 수 있다.
일 실시예에서, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1100)에서 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치한다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은 적어도 하나의 장애물(200, 300)을 회피하여 특정 지점까지 도달하기 위한 제2 회피 경로(500)를 생성하는 단계(S1200)를 포함할 수 있다. 일 실시예에서, 제2 회피 경로(500)를 생성하는 단계(S1200)는 도 9에서 후술하도록 한다.
일 실시예에서, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1100)에서 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하지 않는다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은 적어도 하나의 장애물(200, 300)을 식별하기 위한 적어도 하나의 새로운 아이디를 포인트 클라우드에 등록하는 단계(S1210)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 적어도 하나의 장애물(200, 300)을 식별하기 위한, 적어도 하나의 장애물(200, 300)에 대응되는 적어도 하나의 새로운 아이디를 포인트 클라우드에 등록할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 적어도 하나의 장애물(200, 300)을 식별하기 위한 적어도 하나의 새로운 아이디를 포인트 클라우드에 등록하는 단계(S1210) 이후에, 적어도 하나의 장애물(200, 300)이 제1 감지 범위(700) 내에 포함되는지 여부를 판단하는 단계(S700)를 반복할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 제2 회피 경로(500)를 생성하는 단계(S1200) 이후에, 제2 회피 경로(500)를 따라 특정 지점으로 이동하는 단계를 포함할 수 있다. 적어도 하나의 프로세서(140)는 제2 회피 경로(500)를 따라 특정 지점으로 이동하도록 이동 로봇 장치(100)를 제어할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 제2 회피 경로(500)를 따라이후특정 지점으로 이동한 이후에, 적어도 하나의 장애물(200, 300)의 위치를 추적하는 단계(S1300)를 수행할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 특정 지점에서 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1400)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 특정 지점에서 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단할 수 있다.
일 실시예에서, 특정 지점에서 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1400)에서 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하지 않는다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은 목적지까지 단계(S1600)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 목적지까지 이동하는 단계(S1600)에서, 특정 지점으로부터 최초의 이동 경로(900)로 이동한 후, 이동 경로(900)를 따라 목적지까지 이동할 수 있다.
일 실시예에서, 특정 지점에서 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1400)에서 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치한다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은 특정 지점에서 대기하는 단계(S1500)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 특정 지점에서 대기하는 단계(S1500)에서, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하지 않을 때까지 특정 지점에서 대기하도록 이동 로봇 장치(100)를 제어할 수 있다.
도 6은 본 개시의 일 실시예에 따른, 장애물의 인식을 설명하기 위한 도면이다.
도 1, 도 2, 도 5 및 도 6을 참조하면, 적어도 하나의 프로세서(140)는 이미지 센서(110)로부터 획득된 이미지에 포함된 적어도 하나의 장애물(200)에 대응되는 바운딩 박스(bounding box, 210)을 검출할 수 있다. 또한, 적어도 하나의 프로세서(140)는 획득된 이미지에 포함된 적어도 하나의 장애물(200)의 좌표 정보를 검출할 수 있다. 적어도 하나의 프로세서(140)는 바운딩 박스 및 좌표 정보를 통하여 이동 경로 상에 위치한 적어도 하나의 장애물(200)을 인식할 수 있다.
도 7은 본 개시의 일 실시예에 따른, 회피 예외 영역을 설명하기 위한 도면이다.
도 1, 도 5 및 도 7을 참조하면, 도 7에는 회피 예외 영역(1100), 회피 예외 영역(1100)의 내부에 위치한 제1 장애물(200_1), 회피 예외 영역(1100)의 외부에 위치한 제2 장애물(200_2) 및 이동 로봇 장치(100)가 도시되어 있다.
일 실시예에서, 회피 예외 영역(1100)은 병원 내의 링거 걸이를 보관하는 영역, 휠체어를 보관하는 영역, 또는 의자 등이 위치한 영역으로, 이동 로봇 장치(100)가 목적지까지 이동함에 있어 초기에 이동하지 않도록 기-설정된 영역일 수 있다. 따라서, 회피 예외 영역(1100)에 위치한 제1 장애물(200_1)이 인식되더라도, 이동 로봇 장치(100)의 이동 경로와는 무관하여 이동 로봇 장치(100)는 회피하지 않아도 된다.
일 실시예에서, 이동 로봇 장치(100)는 회피 예외 영역(1100)의 외부에 위치한 제2 장애물(200_2)을 인식하는 경우, 제2 장애물(200_2)을 회피하여 목적지로 이동할 수 있다.
도 8은 본 개시의 일 실시예에 따른, 적어도 하나의 장애물과 이동 로봇 장치 사이의 거리를 설명하기 위한 도면이다.
도 1, 도 5 및 도 8을 참조하면, 도 8에는 이동 로봇 장치(100)와 장애물(220_1, 220_2)이 도시되어 있다. 일 실시예에서, 장애물(220_1, 220_2)의 위치는 장애물에 대응되는 아이디의 위치에 대응된다.
일 실시예에서, 도 8에는 이동 로봇 장치(100)의 이동에 따라, 이동 로봇 장치(100)와 장애물(220_1, 220_2) 사이의 거리는 달라지는 것으로 도시되어 있다. 일 실시예에서, 장애물(220_1, 220_2)이 이동하지 않거나, 혹은 이동 로봇 장치(100)의 이동 속력과 다른 속력 또는 이동 로봇 장치(100)의 이동 방향과 다른 방향으로 장애물(220_1, 220_2)이 이동할 경우, 이동 로봇 장치(100)의 이동에 따라 이동 로봇 장치(100)와 장애물(220_1, 220_2) 사이의 거리는 달라질 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 이동에 따라 이동 로봇 장치(100)와 장애물(220_1, 220_2) 사이의 가까워질 경우, 이동 로봇 장치(100)는 장애물(220_1, 220_2)과 부딪히는 것을 방지하기 위하여 이동 로봇 장치(100)를 회피하기 위한 회피 경로를 생성하고, 생성된 회피 경로로 이동할 수 있다.
다만, 본 개시는 이에 제한되지 않는다. 장애물(220_1, 220_2)이 이동 로봇 장치(100)가 이동하는 방향과 같은 방향으로 이동하고, 장애물(220_1, 220_2)의 이동 속력과 이동 로봇 장치(100)의 이동 속력이 같을 경우, 이동 로봇 장치(100)가 이동하더라도 이동 로봇 장치(100)와 장애물(220_1, 220_2) 사이의 거리는 유지될 수 있다. 이 경우, 이동 로봇 장치(100)는 장애물(220_1)을 회피하기 위하여 회피 경로를 생성할 필요 없이, 최초의 이동 경로를 따라 목적지까지 이동할 수 있다.
도 9는 본 개시의 일 실시예에 따른, 적어도 하나의 장애물을 회피하여 특정 지점까지 도달하기 위한 제2 회피 경로를 설명하기 위한 도면이다. 이하, 도 9 내지 도 11은 설명의 편의를 위하여 이미지로부터 적어도 하나의 장애물(200)을 인식하고, 인식된 적어도 하나의 장애물(200)이 회피 예외 영역(1100, 도 7 참조)에 위치하지 않은 것으로 설명한다.
도 1, 도 2, 도 5 및 도 9를 참조하면, 적어도 하나의 장애물(200)이 포인트 클라우드에 포함된 적어도 하나의 아이디와 매칭되지 않고, 이동 로봇 장치(100)의 제2 감지 범위(800) 내에 위치한 경우, 이동 로봇 장치(100)는 특정 지점(1200)까지 도달하도록 제2 회피 경로(500)를 생성할 수 있다. 이동 로봇 장치(100)는 제2 회피 경로(500)를 따라 특정 지점(1200)까지 이동할 수 있다. 일 실시예에서, 특정 지점(1200)은 공간(1000)을 구분하기 위한 벽과 인접한 지점일 수 있다. 이동 로봇 장치(100)는 적어도 하나의 장애물(200)이 제2 감지 범위(800) 내에 위치한 것으로 인식된 경우, 특정 지점(1200)으로 이동하여 적어도 하나의 장애물(200)을 회피할 수 있다.
이때, 일 실시예에서, 이동 로봇 장치(100)는 제자리에서 특정 지점(1200) 방향으로 회전한 후, 제2 회피 경로(500)를 따라 특정 지점(1200)까지 도달하도록 이동할 수 있다.
도 10은 본 개시의 일 실시예에 따른, 적어도 하나의 장애물에 대응되는 코스트 맵을 설명하기 위한 도면이다. 도 11은 본 개시의 일 실시예에 따른, 회피하고자 하는 적어도 하나의 장애물의 코스트 맵과, 인접한 적어도 하나의 주변 장애물의 코스트 맵을 설명하기 위한 도면이다.
도 1, 도 2, 도 5 및 도 10을 참조하면, 적어도 하나의 장애물(200)이 포인트 클라우드에 포함된 적어도 하나의 아이디와 매칭되고, 이동 로봇 장치(100)의 제1 감지 범위(700) 내에 위치한 경우, 이동 로봇 장치(100)는 적어도 하나의 장애물(200)을 회피하여 목적지까지 도달하기 위한 제1 회피 경로(400)를 생성한다.
일 실시예에서, 이동 로봇 장치(100)는 제1 회피 경로(400)를 생성함에 있어, 적어도 하나의 장애물(200)을 중심으로 하는 가상의 코스트(cost) 맵(1310)을 생성할 수 있다. 이때, 코스트 맵(1310)은 적어도 하나의 장애물(200)로부터 서로 직교하는 두 개의 가상의 선들(1320)을 그은 후, 두 개의 가상의 선들(1320)을 포함하도록 생성될 수 있다. 일 실시예에서, 코스트 맵(1310)의 면적은 적어도 하나의 장애물(200)의 면적보다 클 수 있다. 코스트 맵(1310)은 적어도 하나의 장애물(200)을 포함할 수 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 목적지까지 이동함에 있어, 이동 로봇 장치(100)가 지나가는 영역 별로 코스트를 계산할 수 있다. 적어도 하나의 프로세서(140)는 이동 로봇 장치(100)가 목적지까지 이동함에 있어 계산되는 코스트가 작아지도록 이동 경로를 생성할 수 있다. 일 실시예에서, 적어도 하나의 프로세서(140)는 코스트 맵(1310)에 높은 코스트를 부여하고, 코스트 맵(1310)이 아닌 영역에 낮은 코스트를 부여할 수 있다. 따라서, 적어도 하나의 프로세서(140)는 적어도 하나의 장애물(200)을 포함하는 코스트 맵(1310)을 지나가지 않고, 목적지에 도달하는 제1 회피 경로(400)를 생성할 수 있다.
이때, 적어도 하나의 장애물(200)의 면적보다 크도록 생성된 코스트 맵(1310)을 이용하여 제1 회피 경로(400)를 생성함에 따라, 이동 로봇 장치(100)의 형상이나 크기 등과 무관하게 제1 회피 경로(400)를 따라 이동하는 동안 이동 로봇 장치(100)가 적어도 하나의 장애물(200)과 충돌하는 것을 방지할 수 있다.
또한, 도 10에는 제1 회피 경로(400)를 생성하는 경우에 코스트 맵(1310)을 생성하는 것으로 도시되었으나, 본 개시는 이에 제한되지 않는다. 적어도 하나의 프로세서(140)는 제2 회피 경로(500) 또는 제3 회피 경로(600)를 생성하는 경우에도 코스트 맵(1310)에 기초하여 제2 회피 경로(500) 또는 제3 회피 경로(600)를 생성할 수 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 제1 회피 경로(400), 제2 회피 경로(500) 및 제3 회피 경로(600) 중 적어도 하나를 생성함에 있어 코스트 맵(1310)을 생성하고, 생성된 코스트 맵(1310)에 기초하여 제1 회피 경로(400), 제2 회피 경로(500) 및 제3 회피 경로(600) 중 적어도 하나를 생성할 수 있다.
도 10 및 도 11을 참조하면, 적어도 하나의 프로세서(140)는 복수의 장애물들(1310, 1320)이 인식된 경우에, 복수의 장애물들(1310, 1320) 중 회피하고자 하는 적어도 하나의 회피 대상 장애물(200)과 회피 대상 장애물(200)과 인접한 적어도 하나의 주변 장애물(200_3)을 분류할 수 있다. 일 실시예에서, 복수의 장애물들(1310, 1320) 중 제1 감지 범위(700) 내에 포함되거나, 혹은 아이디가 매칭되지 않은 경우 제2 감지 범위(800)에 포함된 장애물을 적어도 하나의 회피 대상 장애물(200)로 분류할 수 있다. 복수의 장애물들(1310, 1320) 중 회피 대상 장애물(200)로 분류되지 않은 장애물 중, 회피 대상 장애물(200)과 인접한 장애물을 주변 장애물(200_3)로 분류할 수 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 회피 대상 장애물(200)을 회피하여 목적지까지 도달하기 위한 제1 회피 경로(400)를 생성함에 있어, 적어도 하나의 회피 대상 장애물(200)을 중심으로 하는 제1 코스트 맵(1310) 및 적어도 하나의 주변 장애물(200_3)을 중심으로 하는 제2 코스트 맵(1330)을 생성할 수 있다. 적어도 하나의 프로세서(140)는 제1 코스트 맵(1310) 및 제2 코스트 맵(1330)에 기초하여 제1 회피 경로(400)를 생성할 수 있다. 이에 따라, 이동 로봇 장치(100)는 적어도 하나의 회피 대상 장애물(200)을 회피함에 있어서, 주변에 장애물들이 많은 쪽으로 회피 이동을 하는 것이 아닌, 주변의 장애물들이 적은 쪽으로 회피 이동을 할 수 있다.
일 실시예에서, 적어도 하나의 프로세서(140)는 제1 회피 경로(400), 제2 회피 경로(500) 및 제3 회피 경로(600) 중 적어도 하나를 생성함에 있어 제1 코스트 맵(131) 및 제2 코스트 맵(1320)에 기초하여 제1 회피 경로(400), 제2 회피 경로(500) 및 제3 회피 경로(600) 중 적어도 하나를 생성할 수 있다.
도 12는 본 개시의 일 실시예에 따른, 이동 로봇 장치의 동작 방법을 설명하기 위한 순서도이다. 이하, 도 5에서 설명한 단계와 동일한 단계에 대하여는 동일한 도면 부호를 부여하고, 중복되는 설명은 생략하도록 한다.
도 1, 도 2 및 도 12를 참조하면, 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 유지되는 여부를 판단하는 단계(S900)에서 적어도 하나의 장애물(200, 300)과 이동 로봇 장치(100) 간의 거리가 유지되는 경우, 이동 로봇 장치(100)의 동작 방법은 적어도 하나의 장애물(200, 300)이 기-설정된 우회 영역(2000)의 내부에 위치하는지 여부를 판단하는 단계(S1700)를 포함할 수 있다. 기-설정된 우회 영역(2000)의 내부에 위치하는지 여부를 판단하는 단계(S1700)에서, 적어도 하나의 프로세서(140)는 적어도 하나의 장애물(200, 300)이 기-설정된 우회 영역(2000)의 내부에 위치하는지 여부를 판단할 수 있다.
일 실시예에서, 적어도 하나의 장애물(200, 300)이 기-설정된 우회 영역(2000)의 내부에 위치하는지 여부를 판단하는 단계(S1700)에서, 적어도 하나의 장애물(200, 300)이 우회 영역(2000)의 외부에 위치한다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은 제1 회피 경로(400)를 생성하는 단계(S1800)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 적어도 하나의 장애물(200, 300)이 기-설정된 우회 영역(2000)의 외부에 위치한다고 판단된 경우, 제1 회피 경로(400)를 생성하고, 생성된 제1 회피 경로(400)를 따라 목적지까지 이동하도록 이동 로봇 장치(100)를 제어할 수 있다.
일 실시예에서, 적어도 하나의 장애물(200, 300)이 기-설정된 우회 영역(2000)의 내부에 위치하는지 여부를 판단하는 단계(S1700)에서, 적어도 하나의 장애물(200, 300)이 우회 영역(2000)의 일부와 중첩하거나, 혹은 우회 영역(2000)의 내부에 위치한다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1900)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 적어도 하나의 장애물(200, 300)이 우회 영역(2000)의 일부와 중첩하거나, 혹은 우회 영역(2000)의 내부에 위치한다고 판단된 경우, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단할 수 있다.
일 실시예에서, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1900)에서, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하지 않는다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은 적어도 하나의 장애물(200, 300)을 회피하여 목적지까지 도달하기 위하여, 우회 영역(2000)을 우회하는 제3 회피 경로(600)를 생성하는 단계(S2000)를 포함할 수 있다. 적어도 하나의 프로세서(140)는 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1900)에서, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하지 않는다고 판단된 경우, 적어도 하나의 장애물(200, 300)을 회피하여 목적지까지 도달하기 위하여 우회 영역(2000)을 우회하는 제3 회피 경로(600)를 생성할 수 있다.
일 실시예에서, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1900)에서, 적어도 하나의 장애물(200, 300)이 제2 감지 범위(800) 내에 위치한다고 판단된 경우, 이동 로봇 장치(100)의 동작 방법은 제2 감지 범위(800) 내에 위치하는지 여부를 판단하는 단계(S1900) 이후에 제2 회피 경로(500)를 생성하는 단계(S1200)를 반복할 수 있다.
도 13은 본 개시의 일 실시예에 따른, 우회 영역을 설명하기 위한 도면이다.
도 1, 도 12 및 도 13을 참조하면, 일 실시예에서, 공간(1000) 내에서 장애물(200)이 인식된 영역이 기-설정된 우회 영역(2000)인 경우, 이동 로봇 장치(100)는 장애물(200)을 회피하여 목적지까지 도달하기 위한 회피 경로를 생성함에 있어, 장애물(200)을 중심으로 하는 코스트 맵(1310)의 면적이 커지도록 코스트 맵(1310)을 생성할 수 있다. 일 실시예에서, 장애물(200)을 중심으로 하는 코스트 맵(1310)은 공간(1000)을 구분하기 위하여, 공간(1000) 내에 위치한 벽, 기둥 등에 인접하도록 생성될 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 코스트 맵(1310)과 벽, 기둥 등의 사이의 공간의 크기가 이동 로봇 장치(100)의 크기보다 작도록 코스트 맵(1310)을 생성할 수 있다.
이 경우, 이동 로봇 장치(100)는 높은 코스트를 갖는 코스트 맵(1310)에 기초하여, 공간(1000) 중 장애물(200)이 위치한 우회 영역을 우회하도록 생성된 제3 회피 경로(600)를 따라서 목적지로 이동할 수 있다.
다만, 본 개시는 이에 제한되지 않고, 장애물(200)이 인식된 영역이 우회 영역(2000)으로 기-설정된 영역이 아니더라도, 공간(1000) 내에서 장애물(200)을 중심으로 하는 코스트 맵(1310)의 면적이 커, 이동 로봇 장치(100)가 장애물(200)을 회피하여 지나갈 수 없다고 판단되는 경우, 이동 로봇 장치(100)는 해당 지역을 우회 영역(2000)으로 판단하고, 해당 지역을 우회하여 목적지에 도달하기 위한 제3 회피 경로(600)를 생성할 수도 있다.

Claims (10)

  1. 목적지까지 이동하는 이동 로봇 장치에 있어서,
    상기 목적지에 대응되는 이동 경로를 촬영하여 이미지를 획득하는 적어도 하나의 이미지 센서;
    상기 이동 경로를 촬영하여 포인트 클라우드(point cloud)를 획득하는 라이다(LiDAR, Light Detection And Ranging) 센서;
    적어도 하나의 명령어(instruction)을 포함하는 메모리; 및
    상기 메모리에 포함된 상기 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는 상기 적어도 하나 이상의 인스트럭션을 실행함으로써,
    상기 획득한 이미지로부터, 상기 이동 경로 상에 위치한 적어도 하나의 장애물을 인식하고,
    상기 포인트 클라우드에 포함된 상기 적어도 하나의 장애물에 대응되는 적어도 하나의 아이디와 상기 인식된 장애물을 비교하여, 상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물의 매칭 여부를 판단하고,
    상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물이 매칭되는 경우, 상기 적어도 하나의 장애물을 회피하여 상기 목적지까지 도달하기 위한 제1 회피 경로를 생성하고,
    상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물이 매칭되지 않는 경우, 상기 적어도 하나의 장애물을 회피하여, 특정 지점까지 도달하기 위한 제2 회피 경로를 생성하되,
    상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물이 매칭되는 경우, 상기 적어도 하나의 장애물이 상기 이동 경로에 대응되도록 기 설정된 제1 감지 범위 내에 위치하는지 여부를 판단하고,
    상기 적어도 하나의 장애물이 상기 제1 감지 범위 내에 위치하지 않는 경우, 상기 이동 경로를 따라 상기 목적지까지 이동하고,
    상기 적어도 하나의 장애물이 상기 제1 감지 범위 내에 위치하고, 상기 적어도 하나의 장애물과의 거리가 유지되는 경우, 상기 이동 경로를 따라 상기 목적지까지 이동하고,
    상기 적어도 하나의 장애물과의 거리가 가까워지는 경우, 상기 적어도 하나의 장애물이 기 설정된 우회 영역의 내부에 위치하는지 여부를 판단하고,
    상기 적어도 하나의 장애물이 상기 우회 영역의 외부에 위치하는 경우, 상기 제1 회피 경로를 생성하고, 상기 생성된 제1 회피 경로를 따라 상기 목적지까지 이동하고,
    상기 적어도 하나의 장애물이 상기 우회 영역의 일부와 중첩되거나, 상기 우회 영역의 내부에 위치하는 경우, 상기 적어도 하나의 장애물을 회피하여 상기 목적지까지 도달하기 위해, 상기 우회 영역을 우회하는 제3 회피 경로를 생성하고, 상기 생성된 제3 회피 경로를 따라 상기 목적지까지 이동하는 것을 특징으로 하는, 이동 로봇 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1 항에 있어서,
    상기 획득한 이미지로부터 복수의 장애물들이 인식된 경우,
    상기 적어도 하나의 프로세서는 상기 적어도 하나 이상의 인스트럭션을 실행함으로써,
    상기 제1 회피 경로, 상기 제2 회피 경로 및 상기 제3 회피 경로 중 적어도 하나를 생성함에 있어,
    상기 복수의 장애물들 각각을 중심으로 하는 코스트(cost) 맵을 생성하고,
    상기 복수의 장애물들 중 회피하고자 하는 하나의 장애물의 코스트 맵 및 상기 하나의 장애물과 인접한 적어도 하나의 주변 장애물의 코스트 맵에 기초하여, 상기 제1 회피 경로, 상기 제2 회피 경로 및 상기 제3 회피 경로 중 적어도 하나를 생성하는 이동 로봇 장치.
  6. 제1 항에 있어서,
    상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물이 매칭되지 않는 경우,
    상기 적어도 하나의 프로세서는 상기 적어도 하나 이상의 인스트럭션을 실행함으로써,
    상기 적어도 하나의 장애물이 상기 이동 로봇 장치를 중심으로, 상기 이동 경로를 향하는 방향으로 반원 형태로 기-설정된 상기 이동 로봇 장치의 제2 감지 범위 내에 위치하는지 여부를 판단하고,
    상기 적어도 하나의 장애물이 상기 제2 감지 범위 내에 위치하는 경우, 상기 특정 지점까지 도달하도록 제2 회피 경로를 생성하고, 상기 생성된 제2 회피 경로를 따라 상기 특정 지점까지 이동하도록 상기 이동 로봇 장치를 제어하고,
    상기 적어도 하나의 장애물이 상기 제2 감지 범위 내에 위치하지 않는 경우, 상기 적어도 하나의 장애물에 대응되는 적어도 하나의 새로운 아이디를 상기 포인트 클라우드에 등록하는 이동 로봇 장치.
  7. 제6 항에 있어서,
    상기 적어도 하나의 장애물이 상기 제2 감지 범위 내에 위치하는 경우,
    상기 적어도 하나의 프로세서는 상기 적어도 하나 이상의 인스트럭션을 실행함으로써,
    상기 제2 회피 경로를 따라 상기 특정 지점까지 이동하도록 상기 이동 로봇 장치를 제어한 후에,
    상기 적어도 하나의 장애물이 상기 제2 감지 범위 내에 위치하는 여부를 다시 판단하고,
    상기 적어도 하나의 장애물이 상기 제2 감지 범위 내에 위치하지 않는 경우, 상기 이동 로봇 장치가 상기 목적지까지 이동하도록 제어하고,
    상기 적어도 하나의 장애물이 상기 제2 감지 범위 내에 위치하는 경우, 상기 이동 로봇 장치가 상기 특정 지점에 대기하도록 제어하는 이동 로봇 장치.
  8. 제1 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 적어도 하나 이상의 인스트럭션을 실행함으로써,
    상기 획득한 이미지로부터 상기 적어도 하나의 장애물이 인식되지 않는 경우 혹은 상기 인식된 적어도 하나의 장애물이 기-설정된 회피 예외 영역 내에 위치하는 경우에 상기 이동 경로를 따라 상기 목적지까지 이동하도록 상기 이동 로봇 장치를 제어하는 이동 로봇 장치.
  9. 제1 항에 있어서,
    상기 적어도 하나의 이미지 센서는 상기 이동 로봇 장치의 상단부에 위치한 제1 이미지 센서 및 상기 이동 로봇 장치의 하단부에 위치한 제2 이미지 센서를 포함하고,
    상기 제1 이미지 센서는 상기 상단부에 수직한 방향을 기준으로 상기 하단부를 향하여 0°내지 30°이하의 각도를 갖도록 상기 상단부에 배치되고,
    상기 제2 이미지 센서는, 상기 하단부에 수직한 방향을 기준으로, 상기 상단부를 향하여 0°내지 30°이하의 각도를 갖도록 상기 하단부에 배치되는 이동 로봇 장치.
  10. 목적지까지 이동하는 이동 로봇 장치의 동작 방법에 있어서,
    적어도 하나의 이미지 센서를 통하여 상기 목적지에 대응되는 이동 경로를 촬영하여 이미지를 획득하는 단계;
    라이다(LiDar, Light Detection And ranging) 센서를 통하여 상기 이동 경로를 촬영하여 포인트 클라우드를 획득하는 단계;
    상기 획득한 이미지로부터 상기 이동 경로 상에 위치한 적어도 하나의 장애물을 인식하는 단계;
    상기 포인트 클라우드에 포함된 상기 적어도 하나의 장애물에 대응되는 적어도 하나의 아이디와 상기 인식된 장애물을 비교하여, 상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물의 매칭 여부를 판단하는 단계;
    상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물이 매칭됨에 따라, 상기 적어도 하나의 장애물을 회피하여 상기 목적지까지 도달하기 위한 제1 회피 경로를 생성하는 단계; 및
    상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물이 매칭되지 않음에 따라, 상기 적어도 하나의 장애물을 회피하여 특정 지점까지 도달하기 위한 제2 회피 경로를 생성하는 단계; 를 포함하되,
    상기 적어도 하나의 아이디와 상기 적어도 하나의 장애물이 매칭되는 경우, 상기 적어도 하나의 장애물이 상기 이동 경로에 대응되도록 기 설정된 제1 감지 범위 내에 위치하는지 여부를 판단하는 단계;
    상기 적어도 하나의 장애물이 상기 제1 감지 범위 내에 위치하지 않는 경우, 상기 이동 경로를 따라 상기 목적지까지 이동하는 단계;
    상기 적어도 하나의 장애물이 상기 제1 감지 범위 내에 위치하고, 상기 적어도 하나의 장애물과의 거리가 유지되는 경우, 상기 이동 경로를 따라 상기 목적지까지 이동하는 단계;
    상기 적어도 하나의 장애물과의 거리가 가까워지는 경우, 상기 적어도 하나의 장애물이 기 설정된 우회 영역의 내부에 위치하는지 여부를 판단하는 단계;
    상기 적어도 하나의 장애물이 상기 우회 영역의 외부에 위치하는 경우, 상기 제1 회피 경로를 생성하고, 상기 생성된 제1 회피 경로를 따라 상기 목적지까지 이동하는 단계; 및
    상기 적어도 하나의 장애물이 상기 우회 영역의 일부와 중첩되거나, 상기 우회 영역의 내부에 위치하는 경우, 상기 적어도 하나의 장애물을 회피하여 상기 목적지까지 도달하기 위해, 상기 우회 영역을 우회하는 제3 회피 경로를 생성하고, 상기 생성된 제3 회피 경로를 따라 상기 목적지까지 이동하는 단계; 를 더 포함하는 이동 로봇 장치의 동작 방법.
KR1020230044006A 2023-04-04 2023-04-04 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 KR102572851B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230044006A KR102572851B1 (ko) 2023-04-04 2023-04-04 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230044006A KR102572851B1 (ko) 2023-04-04 2023-04-04 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
KR102572851B1 true KR102572851B1 (ko) 2023-08-31

Family

ID=87847398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230044006A KR102572851B1 (ko) 2023-04-04 2023-04-04 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법

Country Status (1)

Country Link
KR (1) KR102572851B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235271B1 (ko) * 2017-02-27 2021-04-01 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR20220031542A (ko) * 2019-07-10 2022-03-11 얀마 파워 테크놀로지 가부시키가이샤 작업 차량용 자동 주행 시스템
KR20220055167A (ko) * 2020-10-26 2022-05-03 주식회사 케이티 자율주행 로봇, 자율주행 로봇의 충돌 회피 방법 및 월드 맵 관리 방법
KR102462521B1 (ko) * 2019-10-16 2022-11-03 네이버 주식회사 개인 영역을 고려하여 친인간적으로 주행하는 로봇이 배치되는 건물
KR102479619B1 (ko) 2022-02-15 2022-12-21 주식회사 트위니 장애물의 회피 이동이 가능한 자율 주행 로봇
KR20230018656A (ko) * 2021-07-30 2023-02-07 한국전자기술연구원 실내환경의 비전과 라이다를 융합한 slam 시스템 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235271B1 (ko) * 2017-02-27 2021-04-01 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR20220031542A (ko) * 2019-07-10 2022-03-11 얀마 파워 테크놀로지 가부시키가이샤 작업 차량용 자동 주행 시스템
KR102462521B1 (ko) * 2019-10-16 2022-11-03 네이버 주식회사 개인 영역을 고려하여 친인간적으로 주행하는 로봇이 배치되는 건물
KR20220055167A (ko) * 2020-10-26 2022-05-03 주식회사 케이티 자율주행 로봇, 자율주행 로봇의 충돌 회피 방법 및 월드 맵 관리 방법
KR20230018656A (ko) * 2021-07-30 2023-02-07 한국전자기술연구원 실내환경의 비전과 라이다를 융합한 slam 시스템 및 방법
KR102479619B1 (ko) 2022-02-15 2022-12-21 주식회사 트위니 장애물의 회피 이동이 가능한 자율 주행 로봇

Similar Documents

Publication Publication Date Title
US20230280743A1 (en) Mobile Robot Cleaning System
US11961285B2 (en) System for spot cleaning by a mobile robot
US11830618B2 (en) Interfacing with a mobile telepresence robot
US20230409181A1 (en) Robotic floor-cleaning system manager
US8897947B2 (en) Autonomous mobile device
JP4630146B2 (ja) 位置管理システムおよび位置管理プログラム
US9323250B2 (en) Time-dependent navigation of telepresence robots
WO2019237990A1 (zh) 机器人定位方法、机器人及存储介质
US20160114488A1 (en) Customer service robot and related systems and methods
US11803240B2 (en) Video display apparatus and method
JP6636260B2 (ja) 自律移動体の走行経路教示システムおよび走行経路教示方法
US20230324923A1 (en) Infinity smart serving robot
KR102572851B1 (ko) 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법
US20220221872A1 (en) Information processing device, information processing method, and program
KR102569251B1 (ko) 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법
US20240176362A1 (en) Robot cleaner and location identification method thereof
US20230058999A1 (en) Robot and method for controlling thereof

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant