KR102569251B1 - 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 - Google Patents
목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 Download PDFInfo
- Publication number
- KR102569251B1 KR102569251B1 KR1020220188198A KR20220188198A KR102569251B1 KR 102569251 B1 KR102569251 B1 KR 102569251B1 KR 1020220188198 A KR1020220188198 A KR 1020220188198A KR 20220188198 A KR20220188198 A KR 20220188198A KR 102569251 B1 KR102569251 B1 KR 102569251B1
- Authority
- KR
- South Korea
- Prior art keywords
- mobile robot
- robot device
- moving
- movement
- obstacle
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000011084 recovery Methods 0.000 claims description 146
- 238000004891 communication Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 14
- 238000011017 operating method Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Manipulator (AREA)
Abstract
본 개시의 일 실시예는, 목적지까지 이동하는 이동 로봇 장치 및 이동 로봇 장치의 동작 방법을 개시한다. 상기 방법은, 목적지에 대한 정보를 포함하는 이동 경로를 획득하는 단계, 획득한 이동 경로를 통하여 목적지까지 이동하는 동안, 이동 경로 상에 위치한 장애물을 인식하는 단계, 인식된 장애물을 회피하기 위하여, 이동 경로를 갱신하는 단계, 이동 경로를 갱신한 시점의 이동 로봇 장치의 위치 좌표를 획득하는 단계, 인식된 장애물의 위치 좌표, 이동 경로를 갱신한 시점의 이동 로봇 장치의 위치 좌표 또는 획득한 이동 경로 중 적어도 하나에 기초하여, 이동 복구 모드의 실행 여부를 판단하는 단계, 이동 복구 모드를 실행함에 따라, 인식된 장애물의 위치 좌표 및 이동 로봇 장치의 위치 좌표에 기초하여 결정된 복구 지점으로 이동 로봇 장치를 이동시키는 단계, 복구 지점으로부터 목적지까지의 회피 경로를 생성하는 단계 및 회피 경로를 통하여 목적지까지 이동하는 단계를 포함할 수 있다.
Description
본 발명은 로봇에 관한 것으로, 특히 목적지까지 이동하기 위한 이동 로봇 장치 및 그의 동작 방법에 관한 것이다.
최근 들어 호텔, 쇼핑몰, 공공기관 등 다양한 곳에서 서비스 로봇을 쉽게 볼 수 있게 되었다. 이러한, 서비스 로봇은 기업, 공공장소에서 사용하는 전문용 서비스 로봇(Professional Service Robot), 일반 가정 서비스 로봇 및 개인용 서비스 로봇(Personal Service Robot)을 모두 뜻할 수 있다.
2019년 세계 서비스 로봇 시장 규모는 94억 6000만달러로 전년대비 14.1% 증가했다. 지난 5년간 서비스로봇 시장은 연평균 21.9% 성장률을 기록했으며 2021년에는 40억 달러까지 규모가 커질 것으로 전망된다.
특히, 서비스 로봇은 대부분 자율 주행 로봇으로 가사, 손님맞이, 교육용 로봇으로 실내 공간에서 많이 사용되고 있다.
실내 공간은 벽, 기둥, 의자, 책상, 책장, 복합기 등 자율 주행 로봇의 움직임에 제한이 되는 장애물이 많다. 반면, 실내 공간에서 자율 주행 로봇이 부딪혀도 손상되지 않는 비회피 물체도 존재한다.
그러나, 대부분 실내에서 주행하는 자율 주행 로봇은 비회피 물체에 대해서도 장애물로 인식하여 회피하여 주행함으로 자율 주행의 효율이 떨어진다.
따라서, 실내에서 비회피 물체에 대해 스스로 판단하여 자동 주행에 대한 정확도와 효율성을 높이는 방안이 필요하다.
본 개시에 개시된 실시예는 이동 경로를 통하여 목적지까지 이동하는 동안, 이동 경로 상에 위치한 장애물을 인식하고, 인식된 장애물의 위치 좌표, 장애물을 인식한 시점의 이동 로봇 장치의 위치 좌표 또는 이동 경로 중 적어도 하나에 기초하여 이동 복구 모드의 실행 여부를 판단하고, 이동 복구 모드를 실행함에 따라 인식된 장애물의 위치 좌표 및 이동 로봇 장치의 위치 좌표에 기초하여 결정된 복구 지점으로 이동 로봇 장치를 이동한 후, 회피 경로를 따라 복구 지점으로부터 목적지까지 이동하는 이동 로봇 장치 및 이동 로봇 장치의 동작 방법을 제공하는데 그 목적이 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시에 일 측면에 따르면, 목적지까지 이동하는 이동 로봇 장치의 동작 방법에 제공될 수 있다. 이동 로봇 장치의 동작 방법은 목적지에 대한 정보를 포함하는 이동 경로를 획득하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 획득한 이동 경로를 통하여 목적지까지 이동하는 동안, 이동 경로 상에 위치한 장애물을 인식하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 인식된 장애물을 회피하기 위하여, 이동 경로를 갱신하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 이동 경로를 갱신한 시점의 이동 로봇 장치의 위치 좌표를 획득할 수 있다. 인식된 장애물의 위치 좌표, 이동 경로를 갱신한 시점의 이동 로봇 장치의 위치 좌표 또는 획득한 이동 경로 중 적어도 하나에 기초하여 이동 복구 모드의 실행 여부를 판단하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 이동 복구 모드를 실행함에 따라, 인식된 장애물의 위치 좌표 및 이동 로봇 장치의 위치 좌표에 기초하여 결정된 복구 지점으로 이동 로봇 장치를 이동시키는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 복구 지점으로부터 목적지까지의 회피 경로를 생성하는 단계를 포함할 수 있다. 이동 로봇 장치의 동작 방법은 회피 경로를 통하여 목적지까지 이동하는 단계를 포함할 수 있다.
또한, 본 개시의 일 측면에 따르면, 목적지까지 이동하는 이동 로봇 장치가 제공될 수 있다. 이동 로봇 장치는 이미지 센서, 적어도 하나의 명령어(instruction)을 포함하는 메모리 및 메모리에 포함된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는 목적지에 대한 정보를 포함하는 이동 경로를 획득할 수 있다. 적어도 하나의 프로세서는 획득한 이동 경로를 통하여 목적지까지 이동하는 동안, 이동 경로 상에 위치한 장애물을 인식하도록 이미지 센서를 제어할 수 있다. 적어도 하나의 프로세서는 인식된 장애물을 회피하기 위하여, 이동 경로를 갱신할 수 있다. 적어도 하나의 프로세서는, 이동 경로를 갱신한 시점의 이동 로봇 장치의 위치 좌표를 획득할 수 있다. 인식된 장애물의 위치 좌표, 이동 경로를 갱신한 시점의 이동 로봇 장치의 위치 좌표 또는 획득한 이동 경로 중 적어도 하나에 기초하여 이동 복구 모드의 실행 여부를 판단할 수 있다. 적어도 하나의 프로세서는 이동 복구 모드를 실행함에 따라, 인식된 장애물의 위치 좌표 및상이동 로봇 장치의 위치 좌표에 기초하여 결정된 복구 지점으로 이동 로봇 장치를 이동시킬 수 있다. 적어도 하나의 프로세서는 복구 지점으로부터 목적지까지의 회피 경로를 생성하고, 회피 경로를 통하여 목적지까지 이동할 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 인식된 장애물을 회피하기 위하여 이동 경로를 갱신한 후, 갱신된 이동 경로를 통하여 목적지까지 이동하더라도, 갱신되기 전의 이동 경로를 통하여 목적지까지 이동하는 동안 인식되는 장애물을 다시 만나, 장애물의 인식 및 이동 경로의 갱신이 반복되는 것을 방지할 수 있다. 구체적으로, 장애물의 인식 및 이동 경로의 갱신이 반복되는 상황으로 판단되는 경우, 본 개시의 이동 로봇 장치는 이동 복구 모드를 실행하여 복구 지점을 결정하고, 결정된 복구 지점으로 이동 로봇 장치를 이동한 후, 복구 지점으로부터 목적지까지로 생성된 회피 경로를 통하여 이동할 수 있다. 따라서, 이동 로봇 장치의 목적지까지의 도착 시간 단축 및 이동 효율을 증가시킬 수 있다.
또한, 본 개시의 전술한 과제 해결 수단에 의하면, 인식된 장애물과 이동 로봇 장치 간의 거리 또는 인식된 장애물과 이동 로봇 장치의 이동 경로 간의 거리가 너무 가까워, 이동 로봇 장치가 장애물을 피하기 위하여 갱신된 이동 경로를 통하여 목적지로 이동할 수 없는 것을 방지할 수 있다. 구체적으로, 인식된 장애물과 이동 로봇 장치 간의 거리 또는 인식된 장애물과 이동 로봇 장치의 이동 경로 간의 거리가 기-설정된 거리보다 가까운 상황으로 판단되는 경우, 본 개시의 이동 로봇 장치는 이동 복구 모드를 실행하여 복구 지점을 결정하고, 결정된 복구 지점으로 이동 로봇 장치를 이동한 후, 복구 지점으로부터 목적지까지로 생성된 회피 경로를 통하여 이동할 수 있다. 따라서, 이동 로봇 장치의 목적지까지의 도착 시간 단축 및 이동 효율을 증가시킬 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 이동 로봇 장치 및 이동 로봇 장치의 동작 방법을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 도시한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 이동 로봇 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른, 이동 복구 모드의 실행 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면 및 후면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면 및 후면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른, 복구 지점으로 이동하는 도중에 장애물이 인식된 경우의 동작을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향을 결정하는 방법을 설명하기 위한 흐름도이다.
도 11은 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향을 결정하는 방법을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향을 결정하는 방법을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 도시한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 이동 로봇 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른, 이동 복구 모드의 실행 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면 및 후면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면 및 후면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른, 복구 지점으로 이동하는 도중에 장애물이 인식된 경우의 동작을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향을 결정하는 방법을 설명하기 위한 흐름도이다.
도 11은 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향을 결정하는 방법을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향을 결정하는 방법을 설명하기 위한 도면이다.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.
본 명세서에서, '본 개시에 따른 서버'는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다.
도 1은 본 개시의 일 실시예에 따른 이동 로봇 장치 및 이동 로봇 장치의 동작 방법을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에서, 이동 로봇 장치(100)는 공간(160) 내에서 목적지(110)까지 이동할 수 있다. 이동 로봇 장치(100)는 목적지(110)에 대한 정보를 포함하는 이동 경로(120)를 획득하고, 획득한 이동 경로(120)를 통하여 목적지(110)까지 이동할 수 있다. 이동 경로(120)는 공간(160) 내에서, 공간(160)을 구분하는 벽, 기둥 등을 포함하고, 어느 하나로 제한되지 않는 구분 장애물(130)을 회피하여 목적지(110)까지 이동하는 경로일 수 있다. 일 실시예에서, 구분 장애물(130)은 목적지(110)까지 이동하는 이동 경로(120)를 생성할 때, 기-반영된 장애물을 의미할 수도 있다.
일 실시예에서, 이동 로봇 장치(100)는 이동 경로(120)를 통하여 목적지(110)까지 이동하는 동안, 이동 경로(120) 상에 위치한 공간 장애물(150)을 인식할 수 있다. 공간 장애물(150)은 테이블, 의자, 화분, 사람, 동물 등을 포함하고, 어느 하나로 제한되지 않는다. 일 실시예에서, 공간 장애물(150)은 목적지(110)까지 이동하는 이동 경로(120)를 생성할 때, 반영되지 않은 장애물을 의미할 수 있다. 또한, 공간 장애물(150)은 이동 경로(120)를 생성할 때 반영되었지만, 이동 경로(120)를 생성 시의 공간(160) 내에서의 위치와, 이동 로봇 장치(100)가 이동할 때의 공간(160) 내에서의 위치가 상이한 장애물을 의미할 수도 있다.
이하, 설명의 편의를 위하여, 후술하는 장애물은 공간 장애물(150)을 의미할 수 있다.
일 실시예에서, 공간 장애물(150)이 배치된 영역을 장애물 영역(140)이라고 할 때, 이동 로봇 장치(100)는 장애물 영역(140)을 통과하여 목적지(110)로 이동할 수 있다. 이동 로봇 장치(100)는 장애물 영역(140)에 포함된 장애물(150)을 회피하여 목적지(110)로 이동할 수 있다. 이때, 이동 로봇 장치(100)는 장애물(150)을 회피하기 위하여 이동 경로(120)를 갱신(update)하여 갱신된 이동 경로로 이동할 수 있다.
다만, 갱신된 이동 경로로 이동하더라도 이동 로봇 장치(100)가 장애물(150)을 회피하지 못하는 경우, 이동 로봇 장치(100)가 이동 경로를 재-갱신하고, 재-갱신된 이동 경로로 이동하는 동작이 반복될 수도 있다. 또한, 이동 로봇 장치(100)가 장애물(150)을 뒤늦게 인식할 경우, 장애물(150)과 이동 로봇 장치(100) 간의 거리가 너무 인접하여 이동 로봇 장치(100)가 갱신된 이동 경로로 이동하지 못할 수도 있다.
본 개시의 이동 로봇 장치(100) 및 이동 로봇 장치(100)의 동작 방법은, 인식된 장애물(150)의 위치 좌표, 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표 또는 이동 경로(120) 중 적어도 어느 하나에 기초하여, 이동 로봇 장치(100)가 상기한 상황에 존재하는지 여부를 판단할 수 있다.
또한, 본 개시의 이동 로봇 장치(100) 및 이동 로봇 장치(100)의 동작 방법은, 이동 로봇 장치(100)가 상기한 상황에 존재하는 것으로 판단된 경우, 이동 로봇 장치(100)를 복구 지점으로 이동시킨 후, 복구 지점으로부터 목적지까지의 생성된 회피 경로를 따라 이동하도록 하여, 장애물(150)을 회피하여 목적지(110)로 도달하도록 할 수 있다. 따라서, 이동 로봇 장치(100)의 목적지(110)까지의 도착 시간 단축 및 이동 효율을 증가시킬 수 있다.
도 2는 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 이동 로봇 장치(100)는 인터페이스(210), 디스플레이(220), 이미지 센서(230), 이동부(240), 메모리(250), 적어도 하나의 프로세서(260) 및 통신부(270)를 포함할 수 있다. 도 2에 도시된 구성 요소들은 본 개시에 따른 이동 로봇 장치(100)를 구현하는데 필수적인 것은 아니여서, 본 명세서 상에서 설명되는 이동 로봇 장치(100)는 위에서 열거된 구성 요소들보다 많거나, 혹은 적은 구성 요소들을 가질 수도 있다. 인터페이스(210), 디스플레이(220), 이미지 센서(230), 이동부(240), 메모리(250), 적어도 하나의 프로세서(260) 및 통신부(270)는 각각 전기적 및/또는 물리적으로 서로 연결될 수 있다.
일 실시예에서, 인터페이스(210)는 이동 로봇 장치(100)의 사용자로부터 정보를 입력받기 위한 것으로서, 인터페이스(210)를 통해 정보가 입력되면, 적어도 하나의 프로세서(260)는 입력된 정보에 대응되도록 이동 로봇 장치(100)의 동작을 제어할 수 있다. 이러한, 인터페이스(210)는 하드웨어식 물리 키(예를 들어, 본 장치의 전면, 후면 및 측면 중 적어도 하나에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 소프트웨어식 터치 키를 포함할 수 있다. 일 예로서, 터치 키는, 소프트웨어적인 처리를 통해 터치스크린 타입의 디스플레이부 상에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다.
일 실시예에서, 디스플레이(220)는 이동 로봇 장치(100)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 디스플레이(220)는, 이동 로봇 장치(100)에서 구동되는 응용 프로그램(일 예로, 어플리케이션)의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다. 또한, 디스플레이(220)는 공간(160) 내에서 이동 로봇 장치(100)가 위치한 지점, 이동 로봇 장치(100)로부터 목적지(110)까지의 이동 경로(120) 등을 표시할 수도 있다.
일 실시예에서, 이미지 센서(230)는 촬영 모드에서 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이(220)에 표시되거나 메모리(250)에 저장될 수 있다. 일 실시예에서, 이미지 센서(230)는 RGB 카메라, RGB-Depth 카메라, IR(Infrared) 카메라 등을 포함할 수 있다.
일 실시예에서, 이동부(240)는 입력된 목표 장소로 이동하여, 이동부(240)를 포함하는 이동 로봇 장치(100)를 목표 장소로 이동시킬 수 있다. 일 실시예에서, 이동부(240)는 바퀴, 롤러 등을 포함할 수 있고, 어느 하나로 제한되지 않는다. 일 실시예에서, 입력된 목표 장소는 목적지(110)일 수 있고, 이때 이동부(240)는 이동 로봇 장치(100)를 목적지(110)까지 이동시킬 수 있다.
일 실시예에서, 메모리(250)는 이동 로봇 장치(100)의 다양한 기능을 지원하는 데이터와, 적어도 하나의 프로세서(260)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 있고, 본 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 장치의 동작을 위한 적어도 하나의 데이터들, 적어도 하나의 명령어들(instruction)을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(250)는 플래시 메모리 타입(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)와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
일 실시예에서, 메모리(250)에는, 이동 경로 획득 모듈(251), 이미지 정보 획득 모듈(252), 장애물 인식 모듈(253), 이동 복구 결정 모듈(254), 복구 지점 결정 모듈(255), 회피 경로 생성 모듈(256), 이동 경로 갱신 모듈(257)이 저장되어 있을 수 있다.
일 실시예에서, 이동 경로 획득 모듈(251)은, 인터페이스(210)를 통하여 입력받은 목적지(110)로 이동하기 위한 이동 경로(120)를 획득하는 동작이나 기능에 관한 명령어들 또는 프로그램 코드로 구성될 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 이동 경로 획득 모듈(251)을 실행하여, 통신부(270)를 통하여 입력받은 목적지(110)에 대한 정보를 외부의 서버 또는 별도의 전자 장치로 제공하고, 통신부(270)를 통하여 외부의 서버 또는 별도의 전자 장치로부터 SLAM (Simultaneous Localization and Mapping)을 통해 작성된 공간(160)에 대한 공간 지도 및 이동 경로(120)를 제공받을 수 있다. 다만, 본 개시는 이에 제한되지 않고, 이동 로봇 장치(100)는 메모리(250)에 기-저장된 공간 지도 및 입력받은 목적지(110)에 대한 정보에 기초하여 이동 경로(120)를 생성할 수도 있다.
일 실시예에서, 이미지 정보 획득 모듈(252)은 이미지 센서(230)를 이용하여 공간(160)의 이미지 정보를 획득하는 동작이나 기능에 관한 명령어들 또는 프로그램 코드로 구성될 수 있다. 일 실시예에서, 이미지 정보 획득 모듈(252)은 이동 경로(120)를 따라서 목적지(110)까지 이동하는 동안, 이동 경로(120) 상의 이미지 정보를 획득하는 동작이나 기능을 수행하는 동작이나 기능에 관한 명령어들 또는 프로그램 코드로 구성될 수 있다. 일 실시예에서, 이미지 센서(230)가 RGB 카메라인 경우, 이미지 정보는 RGB 이미지일 수 있다. 이미지 센서(230)가 IR 카메라인 경우, 이미지 정보는 IR 이미지일 수 있다. 이미지 센서(230)가 RGB-Depth 카메라인 경우, 이미지 정보는 RGB 정보 및 Depth 정보를 포함하는 이미지일 수 있다.
일 실시예에서, 장애물 인식 모듈(253)은 획득한 이미지 정보에 기초하여, 이동 경로(120) 상에 위치한 장애물(150)을 인식하는 동작이나 기능에 관한 명령어들 또는 프로그램 코드로 구성될 수 있다. 일 실시예에서, 장애물 인식 모듈(253)은 이미지 정보에 포함된 객체(Object)를 감지(Detection)할 수 있는 객체 감지 알고리즘(Object Detection Algorithm)을 포함할 수도 있다. 적어도 하나의 프로세서(260)는 장애물 인식 모듈(253)을 통하여, 이미지 정보에 포함된 객체인 장애물(150)을 식별하고, 장애물(150)의 위치 좌표, 장애물(150)의 크기, 장애물(150)의 형상 등을 파악할 수 있다.
일 실시예에서, 이동 복구 결정 모듈(254)은 인식된 장애물(150)의 위치 좌표, 이동 경로(120)를 갱신한 시점의 이동 로봇(100)의 위치 좌표 또는 획득한 이동 경로(120) 중 적어도 하나에 기초하여 이동 복구 모드의 실행 여부를 판단하는 동작이나 기능에 관한 명령어들 또는 프로그램 코드로 구성될 수 있다. 이하, 이동 복구 결정 모듈(254)에 대한 설명은 도 3 및 도 4에서 후술하도록 한다.
일 실시예에서, 복구 지점 결정 모듈(255)은 인식된 장애물(150)의 위치 좌표 및 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표에 기초하여 복구 지점을 결정하는 동작이나 기능에 관한 명령어들 또는 프로그램 코드로 구성될 수 있다. 이하, 복구 지점 결정 모듈(255)에 대한 설명은 도 5 내지 도 9에 대한 설명에서 후술하도록 한다.
일 실시예에서, 회피 경로 생성 모듈(256)은 복구 지점으로부터 목적지(110)까지의 회피 경로를 생성하는 동작이나 기능에 관한 명령어들 또는 프로그램 코드로 구성될 수 있다. 회피 경로 생성 모듈(256)은 이동 경로 획득 모듈(251)에 포함된 명령어들 또는 프로그램 코드를 포함할 수 있다.
일 실시예에서, 이동 경로 갱신 모듈(257)은 인식된 장애물(150)에 기초하여, 이동 경로(120)를 갱신하는 동작이나 기능에 관한 명령어들 또는 프로그램 코드로 구성될 수 있다. 도 2에는 이동 경로 갱신 모듈(257)과 회피 경로 생성 모듈(256)이 구분되어 도시되어 있으나, 이동 경로 갱신 모듈(257)의 동작이나 기능과 회피 경로 생성 모듈(256)의 동작이나 기능은, 하나의 모듈에서 이루어질 수도 있다.
일 실시예에서, 적어도 하나의 프로세서(260)는 이동 로봇 장치(100)의 전반적인 동작들을 제어할 수 있다. 일 실시예에서, 적어도 하나의 프로세서(260)는 메모리(250)에 저장된 적어도 하나 이상의 명령어를 실행하여, 이동 로봇 장치(100)의 동작을 제어할 수 있다. 적어도 하나의 프로세서(260)는 본 개시의 이동 로봇 장치(100) 내의 구성 요소들의 동작을 제어할 수 있다. 적어도 하나의 프로세서(260)는 이하의 도면들에서 설명되는 본 개시에 따른 다양한 실시예들을 이동 로봇 장치(100) 상에서 구현하기 위하여, 위에서 살펴본 구성요소들 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.
일 실시예에서, 메모리(250)와 적어도 하나의 프로세서(260)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리(250)와 적어도 하나의 프로세서(260)는 단일 칩으로 구현될 수도 있다.
일 실시예에서, 통신부(270)는 외부의 서버 또는 주변의 다른 전자 장치들과 이동 로봇 장치(100) 간의 데이터 통신을 수행할 수 있다.
통신부(270)는 외부의 서버 또는 주변의 다른 전자 장치들과 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 무선 통신 모듈, 근거리 통신 모듈, 위치 정보 모듈 중 적어도 하나를 포함할 수 있다.
무선 통신 모듈은 와이파이(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)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 적어도 하나의 프로세서(260)의 제어에 따라 무선 통신 인터페이스를 통해 적어도 하나의 프로세서(260)로부터 출력된 디지털 제어 신호를 아날로그 형태의 무선 신호로 변조하는 데이터 신호 변환 모듈을 더 포함할 수 있다.
무선 통신 모듈은 데이터 신호를 수신하는 안테나 및 수신기(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) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
도 3은 본 개시의 일 실시예에 따른 이동 로봇 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 1, 도 2 및 도 3을 참조하면, 일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 목적지(110)에 대한 정보를 포함하는 이동 경로(120)를 획득하는 단계(S100)를 포함할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 통신부(270)를 통하여 외부의 서버 또는 별도의 전자 장치로부터 이동 경로(120)를 수신하거나, 혹은 이미지 센서(230)를 이용하여 이동 경로(120)를 생성할 수도 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은 획득한 이동 경로(120)를 통하여 목적지(110)까지 이동하는 동안, 이동 경로(120) 상에 위치한 장애물(150)을 인식하는 단계(S200)를 포함할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 인식된 장애물(150)에 기초하여 이동 경로(120)를 갱신하는 단계(S300)를 포함할 수 있다. 일 실시예에서, 이동 경로(120)를 갱신하는 단계(S300)에서, 이동 로봇 장치(100)는 장애물(150)을 인식한 지점으로부터 목적지(110)까지 장애물(150)을 회피하여 이동할 수 있도록 이동 경로(120)를 갱신할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표를 획득하는 단계(S400)를 포함할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 인식된 장애물(150)의 위치 좌표, 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표 또는 획득한 이동 경로(120) 중 적어도 하나에 기초하여 이동 복구 모드의 실행 여부를 판단하는 단계(S500)를 포함할 수 있다. 이하, 이동 복구 모드의 실행 여부를 판단하는 단계(S500)는 도 4에서 자세히 설명하도록 한다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 이동 복구 모드를 실행함에 따라, 인식된 장애물(150)의 위치 정보 및 이동 로봇 장치(100)의 위치 정보에 기초하여 결정된 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)를 포함할 수 있다. 이하, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는 도 5 내지 도 9에서 자세히 설명하도록 한다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 복구 지점으로부터 목적지(110)까지의 회피 경로를 생성하는 단계(S700) 및 회피 경로를 통하여 목적지(110)까지 이동하는 단계(S800)를 포함할 수 있다.
일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 이동 복구 모드와 다른 회피 모드를 실행함에 따라, 갱신된 이동 경로를 통하여 목적지(110)까지 이동하는 단계(S900)를 포함할 수 있다.
도 4는 본 개시의 일 실시예에 따른, 이동 복구 모드의 실행 여부를 판단하는 방법을 설명하기 위한 흐름도이다. 이하, 도 3에서 설명한 단계와 동일한 단계에 대하여는 동일한 도면 부호를 부여하고, 중복되는 설명은 생략하도록 한다.
도 3 및 도 4를 참조하면, 일 실시예에서, 이동 복구 모드의 실행 여부를 판단하는 단계(S500)는, 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표가, 이전에 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표로부터 기-설정된 범위 이내에 포함되는지 여부를 판단하는 단계(S510)를 포함할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 목적지(110)까지 이동하기 위하여, 단계 S200 내지 단계 S500를 반복할 수 있다. 이동 로봇 장치(100)는 단계 S200 내지 단계 S500을 반복하며, 이전의 동작에서 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표와 현재의 동작에서 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표를 비교할 수 있다.
일 실시예에서, 단계 S510에서는, 현재의 동작에서 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표가, 이전의 동작에서 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표로부터 기-설정된 범위 이내에 포함되는지 여부를 판단할 수 있다. 이때, 기-설정된 범위는 현재 이동 경로(120)를 갱신하는 동작이 이전의 이동 경로(120)를 갱신하는 동작이 이루어지는 영역과 인접한 영역에서 이루어지는지 여부를 판단하기 위하여 설정된 범위일 수 있다. 기-설정된 범위를 크게 설정할수록, 이동 로봇 장치(100)가 이동 복구 모드를 실행할 가능성이 높아질 수 있다.
일 실시예에서, 단계 S510에서 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표가, 이전에 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표로부터 기-설정된 범위 이내에 포함되지 않은 경우, 이동 로봇 장치(100)는 회피 모드를 실행하여, 갱신된 이동 경로를 통하여 목적지(110)까지 이동하는 단계(S900)로 동작할 수 있다.
일 실시예에서, 이동 복구 모드의 실행 여부를 판단하는 단계(S500)는, 이동 경로(120)의 갱신이, 기-설정된 범위 내에서, 기-설정된 횟수와 같거나 큰 횟수로 이루어졌는지 여부를 판단하는 단계(S520)를 포함할 수 있다. 일 실시예에서, 단계 S510에서 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표가 이전에 이동 경로(120)를 갱신한 시점의 이동 로봇 장치(100)의 위치 좌표를 갱신한 시점으로부터 기-설정된 범위 이내에 포함된다고 판단된 경우, 이동 경로(120)의 갱신이 기-설정된 횟수와 같거나, 큰 횟수로 이루어졌는지 여부를 판단할 수 있다.
일 실시예에서, 이동 경로(120)의 갱신이 기-설정된 범위 이내에서 기-설정된 횟수와 같거나, 큰 횟수로 이루어진 경우, 장애물(120)을 회피하여 목적지(110)에 도달하기 위한 이동 경로(120)의 갱신이 불필요하게 반복되어, 이동 로봇 장치(100)의 이동 효율이 떨어지거나, 혹은 현재 위치에서는 장애물(120)을 회피하지 못하는 경우로 판단할 수 있다. 따라서, 이동 경로(120)의 갱신이 기-설정된 횟수와 같거나, 큰 횟수로 이루어지는 경우, 이동 로봇 장치(100)는 이동 복구 모드를 실행할 수 있다.
일 실시예에서, 단계 S520에서 이동 경로(120)의 갱신이 기-설정된 범위 내에서 기-설정된 횟수와 같거나 큰 횟수로 이루어지지 않았다고 판단된 경우, 이동 로봇 장치(100)는 회피 모드를 실행하여, 갱신된 이동 경로를 통하여 목적지(110)까지 이동하는 단계(S900)로 동작할 수 있다.
일 실시예에서, 단계 S520에서 이동 경로(120)의 갱신이 기-설정된 범위 내에서 기-설정된 횟수와 같거나 큰 횟수로 이루어졌다고 판단된 경우, 이동 로봇 장치(100)는 이동 복구 모드를 실행하여, 이동 로봇 장치(100)를 복구 지점으로 이동하는 단계(S600)로 동작할 수 있다.
일 실시예에서, 이동 복구 모드의 실행 여부를 판단하는 단계(S500)는, 인식된 장애물(150)의 위치 좌표와 장애물(150)을 인식한 시점의 이동 로봇 장치(100)의 위치 좌표 간의 제1 거리 또는 인식된 장애물(150)의 위치 좌표와 장애물(150)을 인식한 시점의 이동 로봇 장치(100)의 위치 좌표에 대응되는 이동 경로(120) 간의 제2 거리 중 적어도 하나를 계산하는 단계(S530)를 포함할 수 있다.
일 실시예에서, 이동 복구 모드의 실행 여부를 판단하는 단계(S500)는, 제1 거리 또는 제2 거리 중 적어도 하나의 거리가 기-설정된 제2 기준 거리와 같거나 작은지 판단하는 단계(S540)를 포함할 수 있다. 일 실시예에서, 제2 기준 거리는 이동 로봇 장치(100)와 인식된 장애물(150)의 거리가 가까워, 이동 로봇 장치(100)가 장애물(150)을 회피하기 위하여 회전 또는 갱신된 이동 경로로 이동하기 어렵다고 판단되는 거리로 설정될 수 있다.
일 실시예에서, 제1 거리 또는 제2 거리 중 적어도 하나가 제2 기준 거리보다 큰 경우, 이동 로봇 장치(100)는 이동 경로(120)를 갱신하고, 갱신된 이동 경로를 따라서 목적지(110)로 이동하는 회피 모드를 실행하여, 목적지(110)에 도달하는 단계(S900)로 동작할 수 있다.
그러나, 일 실시예에서, 제1 거리 또는 제2 거리 중 적어도 하나가 제2 기준 거리와 같거나 작은 경우, 이동 로봇 장치(100)는 장애물(150)을 회피하기 위하여 회전하거나, 갱신된 이동 경로로 이동하려고 할 때, 장애물(150)과 부딪힐 수 있다. 따라서, 제1 거리 또는 제2 거리 중 적어도 하나가 기-설정된 제2 기준 거리와 같거나 작은지 판단하는 단계(S540)에서, 제1 거리 또는 제2 거리 중 적어도 하나가 제2 기준 거리와 같거나 작다고 판단되는 경우, 이동 로봇 장치(100)는 이동 복구 모드를 실행하여, 이동 로봇 장치(100)를 복구 지점으로 이동하는 단계(S600)로 동작할 수 있다.
도 5는 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 흐름도이다. 도 6은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 도면이다. 이하, 도 3 및 도 4에서 설명된 단계와 동일한 단계에 대하여는 동일한 도면 부호를 부여하고, 중복되는 설명은 생략하도록 한다.
도 5 및 도 6을 참조하면, 일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는 이동 로봇 장치(100)를 포함하고, 이동 로봇 장치(100)의 정면(front face)와 마주보는 제1 변 및 제1 변의 반대 변인 제2 변을 포함하는 사각 형상의 기준 영역(600)을 설정하는 단계(S610)를 포함할 수 있다.
일 실시예에서, 도 6에 도시된 이동 로봇 장치(100)의 전면은, 장애물(150)과 인접한 면이고, 기준 영역(600) 중 제1 변은, 이동 로봇 장치(100)의 전면과 마주보고, 장애물(150)과 중첩되는 변일 수 있다. 기준 영역(600) 중 제2 변은, 제1 변과 마주보는 변일 수 있다. 일 실시예에서, 기준 영역(600)은 이동 로봇 장치(100)가 이동하는 과정에서, 이동 로봇 장치(100)와 주변 물체들의 충돌을 방지하기 위하여 설정된 영역일 수 있다. 이동 로봇 장치(100)는 기준 영역(600) 내에 주변 물체가 중첩되는 경우, 이동 로봇 장치(100)의 이동 경로(120) 상에 장애물(150)이 있음을 감지할 수도 있다. 일 실시예에서, 기준 영역(600)은 이동 로봇 장치(100)를 포함하고, 이동 로봇 장치(100)의 형상과 같거나, 이동 로봇 장치(100)의 형상보다 클 수 있다. 도 6에서 기준 영역(600)은 사각 형상으로 도시되었으나, 본 개시는 이에 제한되지 않는다. 기준 영역(600)의 형상은 이동 로봇 장치(100)의 형상, 크기, 종류 등에 따라 삼각 형상, 원형 형상 등을 포함할 수도 있다.
일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는 기준 영역(600) 중 인식된 장애물(150)과 중첩되는 중첩 영역(151)을 계산하는 단계(S620)를 포함할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는 중첩 영역(151)에 기초하여, 이동 경로(120)를 따라서 목적지(110)로 이동하는 경로 상에, 장애물(150)이 위치하고, 해당 장애물(150)이 이동 로봇 장치(100)의 이동을 방해할 수 있음을 감지할 수 있다.
일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는, 중첩 영역(151) 중 제2 변과 가장 인접한 포인트(620)과 제2 변을 연장한 선(650)의 중간 포인트(640)를 지나고, 이동 로봇 장치(100)의 이동 방향과 수직한 방향으로 연장된 선(660)을 복구 지점(660)으로 결정하는 단계(S630)를 포함할 수 있다. 일 실시예에서, 중첩 영역(151) 중 제2 변과 가장 인접한 포인트(620)와 제2 변을 연장한 선(650)은, 중첩 영역(151) 중 제2 변과 가장 인접한 포인트(620)와 가장 인접한 제2 변의 포인트(630)와 중첩 영역(151)의 포인트(620)를 잇는 선일 수 있다.
일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는 결정된 복구 지점(660)으로 이동 로봇 장치(100)를 이동시키는 단계(S640)를 포함할 수 있다. 일 실시예에서, 이동 로봇 장치(100)의 이동 방향(610)을 기준으로, 복구 지점(660)으로 이동 로봇 장치(100)를 이동시키는 단계(S640)에서 이동 로봇 장치(100)는 이동 방향(610)과 평행하고, 이동 방향(610)과 반대되는 방향으로 복구 지점(660)을 향해 이동할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는, 이동 로봇 장치(100)의 회전 축이 복구 지점(660)과 중첩되도록 이동할 수 있다.
본 개시의 이동 로봇 장치(100) 및 이동 로봇 장치(100)의 동작 방법에 의하면, 중첩 영역(151)의 크기, 형상 등에 따라 복구 지점(660)의 위치는 달라질 수 있고, 도 5에 도시된 단계를 반복함에 따라, 기준 영역(600)과 장애물(150)이 중첩되지 않도록 이동 로봇 장치(100)를 이동할 수 있다.
도 7은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면 및 후면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 흐름도이다. 도 8은 본 개시의 일 실시예에 따른, 이동 복구 모드에서 이동 로봇 장치의 정면 및 후면에 장애물이 인식된 경우의 복구 지점을 결정하는 방법을 설명하기 위한 도면이다. 이하, 도 5 및 도 6에서 도시된 구성 및 단계와 동일한 구성 및 단계에 대하여는 동일한 도면 부호를 부여하고, 중복되는 설명은 생략하도록 한다.
도 7 및 도 8을 참조하면, 일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는 이동 로봇 장치(100)의 후면(rear face)에 위치한 후면 장애물(152)을 인식하는 단계(S650)를 더 포함할 수 있다. 일 실시예에서, 이동 로봇 장치(100)의 후면은, 이동 로봇 장치(100)의 전면과 반대되는 면일 수 있다.
일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는 기준 영역(800) 중 인식된 장애물(150)과 중첩되는 제1 중첩 영역(151) 및 기준 영역(800) 중 인식된 후면 장애물(152)과 중첩되는 제2 중첩 영역(153)을 계산하는 단계(S660)를 더 포함할 수 있다.
일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는 제1 중첩 영역(151) 중 제2 변과 가장 인접한 포인트(820)과 제2 중첩 영역(153) 중 제1 변과 가장 인접한 포인트(830)를 연장한 선의 중간 포인트(840)를 지나고, 이동 로봇 장치(100)의 이동 방향과 수직한 방향으로 연장한 선(860)을 복구 지점(860)으로 결정하는 단계(S670)를 더 포함할 수 있다.
일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동하는 단계(S600)는 결정된 복구 지점(860)으로 이동 로봇 장치(100)를 이동하는 단계(S680)를 더 포함할 수 있다. 일 실시예에서, 이동 로봇 장치(100)의 이동 방향(810)을 기준으로, 복구 지점(860)으로 이동 로봇 장치(100)를 이동시키는 단계(S680)에서 이동 로봇 장치(100)는 이동 방향(810)과 평행하고, 이동 방향(810)과 반대되는 방향으로 복구 지점(860)을 향해 이동할 수 있다. 일 실시예에서, 이동 로봇 장치(100)는, 이동 로봇 장치(100)의 회전 축이 복구 지점(860)과 중첩되도록 이동할 수 있다.
도 7 및 도 8을 참조하면, 전면에 위치한 장애물(150) 및 후면에 위치한 후면 장애물(152)을 인식한 경우, 이동 로봇 장치(100)는 제1 중첩 영역(151)의 중첩 포인트(820)와 제2 중첩 영역(153)의 중첩 포인트(830)를 잇는 선의 중간 포인트(840)를 지나는 복구 지점(860)으로 이동하여, 이동 로봇 장치(100)가 전면에 위치한 장애물(150) 및 후면에 위치한 후면 장애물(152)에 부딪히지 않고, 이동 로봇 장치(100)가 전면에 위치한 장애물(150) 및 후면에 위치한 후면 장애물(152)을 회피하여 목적지(110, 도 1 참조)에 도달할 수 있도록 할 수 있다.
도 9는 본 개시의 일 실시예에 따른, 복구 지점으로 이동하는 도중에 장애물이 인식된 경우의 동작을 설명하기 위한 도면이다. 이하, 도 5 내지 도 8에서 도시된 구성과 동일한 구성에 대하여는 동일한 도면 부호를 부여하고, 중복되는 설명은 생략하도록 한다.
도 5, 도 6 및 도 9를 참조하면, 일 실시예에서, 복구 지점으로 이동 로봇 장치(100)를 이동시키는 단계(S600)에서, 결정된 복구 지점으로 이동 로봇 장치를 이동시키는 동안 이동 로봇 장치(100)로부터 결정된 복구 지점까지의 거리보다 가까운 복구 지점을 갖는 중간 장애물(152)이 인식되는 경우, 중간 장애물(152)을 인식한 시점의 이동 로봇 장치(100)의 위치 좌표로부터 목적지까지(110, 도 1 참조)의 회피 경로를 생성할 수 있다.
일 실시예에서, 도 6 또는 도 8에서 결정된 복구 지점(660, 860)으로 이동 로봇 장치(100)를 이동시키는 동안, 중간 장애물(152)이 인식되는 경우, 인식된 장애물(150)의 위치 좌표와 중간 장애물(152)의 위치 좌표에 의하여 새로운 복구 지점(960)이 결정될 수 있다. 일 실시예에서, 새로운 복구 지점(960)은 중첩 영역(151)과 중간 장애물(152)을 최단 거리로 연장한 선(950)의 중간 포인트(940)를 지나고, 이동 로봇 장치(100)의 이동 방향(910)과 수직한 방향으로 연장된 선(960)일 수 있다. 중첩 영역(151)과 중간 장애물(152)을 최단 거리로 연장한 선(950)은, 중첩 영역(151) 중 제2 변으로부터 가장 인접한 중첩 포인트(920)과 중간 장애물(152)의 중첩 포인트(930)를 잇는 선일 수 있다.
일 실시예에서, 인식된 장애물(150)과 새로운 복구 지점(960) 간의 거리는, 도 6 또는 도 8에서 결정된 복구 지점(660, 860)과 인식된 장애물(150) 사이의 거리보다 가까울 수 있다. 따라서, 이동 로봇 장치(100)는 중간 장애물(152)을 인식한 시점에 이미 새로운 복구 지점(960)을 지나쳤을 수 있다. 따라서 이동 로봇 장치(100)는 중간 장애물(152)을 인식한 시점의 위치에서, 목적지(110)까지의 회피 경로를 생성할 수 있다.
도 10은 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향을 결정하는 방법을 설명하기 위한 흐름도이다. 도 11은 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향을 결정하는 방법을 설명하기 위한 도면이다. 이하, 도 3 및 도 6을 참조하여 설명한 구성 및 단계와 동일한 구성 및 단계에 대하여는 중복되는 설명은 생략하도록 한다.
도 1, 도 10 및 도 11을 참조하면, 일 실시예에서, 이동 로봇 장치(100)의 동작 방법은, 복구 지점으로 이동 로봇 장치를 이동하는 단계(S600) 이후에, 결정된 복구 지점에서 중첩 영역(151)의 면적이 작아지는 방향으로 이동 로봇 장치를 회전하는 단계(S690)를 포함할 수 있다.
일 실시예에서, 이동 로봇 장치(100)는 복구 지점으로 이동한 뒤, 목적지(110)까지 이동하기 위하여 이동 방향(610)을 변경할 수 있다. 이동 로봇 장치(100)는 복구 지점에서 회전하여, 이동 방향(610)을 변경할 수 있다.
일 실시예에서, 도 11의 이동 로봇 장치(100)를 시계 방향인 제1 방향(1100)으로 회전하는 경우에 중첩 영역(151)의 면적은 작아질 수 있다. 반면, 도 11의 이동 로봇 장치(100)를 시계 반대 방향인 제2 방향으로 회전하는 경우에 중첩 영역(151)의 면적은 커질 수 있다. 중첩 영역(151)의 면적이 커질 경우, 이동 로봇 장치(100)의 이동이 장애물(150)에 의하여 방해될 수 있으므로, 이동 로봇 장치(100)는 복구 지점에서 중첩 영역(151)의 면적이 작아지는 방향인 제1 방향(1100)으로 할 수 있다.
일 실시예에서, 도 11에는 중첩 영역(151)의 면적과 이동 로봇 장치(100)의 회전 방향과의 관계를 설명하기 위하여, 기준 영역(600)과 장애물(150)이 중첩되는 것으로 도시하였다. 그러나, 본 개시의 이동 로봇 장치(100)가 결정된 복구 지점까지 이동한 경우, 기준 영역(600)과 장애물(150)은 중첩하지 않고, 그 후 이동 로봇 장치(100)가 결정된 복구 지점에서 회전하는 경우에 기준 영역(600)과 장애물(150)이 중첩되는 중첩 영역(151)이 발생할 수 있다.
도 12는 본 개시의 일 실시예에 따른, 복구 지점에서 이동 로봇 장치의 회전 방향 및 회피 경로를 생성하는 방법을 설명하기 위한 도면이다.
도 1, 도3 및 도 12를 참조하면, 복구 지점으로부터 목적지(110)까지 회피 경로를 생성하는 단계(S500)에서, 이동 로봇 장치(100)는 복구 지점에 도달한 후, 제1 기준선(1200) 및 제2 기준선(1210)을 설정할 수 있다. 일 실시예에서, 제1 기준선(1200)은 이동 로봇 장치(100)를 포함하고, 이동 로봇 장치(100)와 인접한 영역을 정의하는 선일 수 있다. 일 실시예에서, 제2 기준선(1210)은 제1 기준선(1200)을 포함하고, 제2 기준선(1210)에 의하여 정의되는 영역은 제1 기준선(1200)에 의하여 정의되는 영역을 포함할 수 있다. 제2 기준선(1210)은 제2 기준선(1210)에 의하여 정의되는 영역이 장애물(150)의 끝 부분(예를 들어, 모서리)를 포함하도록 정의되는 영역일 수 있다.
이동 로봇 장치(100)는 기준 경로(1220) 중 제1 기준선(1200)과 제2 기준선(1210) 사이의 영역에 포함되는 중첩 경로(1230)를 계산할 수 있다. 이때, 기준 경로(1220)는 이동 로봇 장치(100)가 목적지(110)까지 도달하기 위해 획득한, 최초에 공간(160) 내에 포함된 장애물(150)을 고려하여 생성된 이동 경로일 수 있다. 다만, 본 개시는 이에 제한되지 않고, 기준 경로(1220)는 이동 로봇 장치(100)가 복구 지점으로 이동하지 않고, 장애물(150)이 인식되었을 때 최초로 획득한 이동 경로를 갱신한 이동 경로일 수도 있다.
일 실시예에서, 기준 경로(1220) 중 제1 영역(1200) 내에 중첩되는 경로는, 이동 로봇 장치(100)와 인접하여, 이동 로봇 장치(100)가 해당 경로를 따라 목적지(110)로 이동할 경우, 이동 로봇 장치(100)가 회전해야 하는 방향이 커, 장애물(150)과 부딪힐 수 있다.
일 실시예에서, 중첩 경로(1230)는 기준 경로(1220) 중 제1 영역(1200) 내에 중첩되는 경로를 포함하지 않고, 장애물(150)을 통과하기 위하여, 장애물(150)의 끝 부분을 지나가는 곡선부를 포함할 수 있다. 이동 로봇 장치(100)는 중첩 경로(1230)에 포함된 곡선부와 접하는 접선 중 이동 로봇 장치(100)을 지나는 선(1240)과 평행한 방향으로 이동하도록 회피 경로를 생성할 수 있다. 일 실시예에서, 이동 로봇 장치(100)를 지나는 선(1240)은 곡선부의 접점과 이동 로봇 장치(100)를 잇는 선일 수 있다.
이동 로봇 장치(100)는 곡선부와 접하는 접선 중 이동 로봇 장치(100)을 지나는 선(1240)과 평행한 방향으로 회전한 후, 목적지(110)까지 이동하기 위한 회피 경로를 생성할 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
Claims (10)
- 목적지까지 이동하는 이동 로봇 장치의 동작 방법에 있어서,
상기 목적지에 대한 정보를 포함하는 이동 경로를 획득하는 단계;
상기 획득한 이동 경로를 통하여 상기 목적지까지 이동하는 동안, 상기 이동 경로 상에 위치한 장애물을 인식하는 단계;
상기 인식된 장애물을 회피하기 위하여, 상기 이동 경로를 갱신하는 단계;
상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 위치 좌표를 획득하는 단계;
상기 인식된 장애물의 위치 좌표, 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표 또는 상기 획득한 이동 경로 중 적어도 하나에 기초하여, 이동 복구 모드의 실행 여부를 판단하는 단계;
상기 이동 복구 모드를 실행함에 따라, 상기 인식된 장애물의 상기 위치 좌표 및 상기 이동 로봇 장치의 상기 위치 좌표에 기초하여 결정된 복구 지점으로 상기 이동 로봇 장치를 이동시키는 단계;
상기 복구 지점으로부터 상기 목적지까지의 회피 경로를 생성하는 단계; 및
상기 회피 경로를 통하여 상기 목적지까지 이동하는 단계를 포함하며,
상기 이동 복구 모드의 실행 여부를 판단하는 단계에서는,
상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표가, 이전에 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 위치 좌표로부터 기-설정된 범위 이내에 포함되는지 판단하는 단계; 및
상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표가, 상기 이전에 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표로부터 상기 기-설정된 범위 이내에 포함되는 경우, 상기 이동 경로의 갱신이 기-설정된 횟수와 같거나 큰 횟수로 이루어졌는지 판단하는 단계를 포함하고,
상기 이동 경로의 갱신이 상기 기-설정된 횟수와 같거나 큰 횟수로 이루어진 경우, 상기 이동 복구 모드를 실행하고,
상기 이동 복구 모드의 실행 여부를 판단하는 단계에서는,
상기 인식된 장애물의 상기 위치 좌표와 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표 간의 제1 거리 또는 상기 인식된 장애물의 상기 위치 좌표와 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표에 대응되는 이동 경로 간의 제2 거리 중 적어도 하나를 계산하는 단계를 더 포함하고,
상기 제1 거리 또는 상기 제2 거리 중 적어도 하나의 거리가 기-설정된 제2 기준 거리와 같거나 작은 경우, 상기 이동 복구 모드를 실행하고,
상기 복구 지점으로 상기 이동 로봇 장치를 이동시키는 단계는,
상기 이동 로봇 장치를 포함하고, 상기 이동 로봇 장치가 이동하는 정면(front face)과 마주보는 제1 변 및 상기 제1 변의 반대 변인 제2 변을 포함하는 사각 형상의 기준 영역을 설정하는 단계;
상기 기준 영역 중 상기 인식된 장애물과 중첩되는 중첩 영역을 계산하는 단계;
상기 중첩 영역 중 상기 제2 변과 가장 인접한 포인트와 상기 제2 변을 연장한 선의 중간 포인트를 지나고, 상기 이동 로봇 장치의 이동 방향과 수직한 방향으로 연장된 선을 복구 지점으로 결정하는 단계; 및
상기 결정된 복구 지점으로 상기 이동 로봇 장치를 이동시키는 단계를 포함하는 이동 로봇의 동작 방법. - 삭제
- 삭제
- 삭제
- 제1 항에 있어서,
상기 복구 지점으로 상기 이동 로봇 장치를 이동시키는 단계는,
상기 이동 로봇 장치의 후면(rear face)에 위치한 후면 장애물을 인식하는 단계;
상기 기준 영역 중 상기 인식된 장애물과 중첩되는 제1 중첩 영역 및 상기 기준 영역 중 상기 인식된 후면 장애물과 중첩되는 제2 중첩 영역을 계산하는 단계;
상기 제1 중첩 영역 중 상기 제2 변과 가장 인접한 포인트와, 상기 제2 중첩 영역 중 상기 제1 변과 가장 인접한 포인트를 연장한 선의 중간 포인트를 지나고, 상기 이동 로봇 장치의 상기 이동 방향과 수직한 방향으로 연장한 선을 복구 지점으로 결정하는 단계; 및
상기 결정된 복구 지점으로 상기 이동 로봇 장치를 이동시키는 단계를 포함하는 이동 로봇 장치의 동작 방법. - 제5 항에 있어서,
상기 복구 지점으로 상기 이동 로봇 장치를 이동시키는 단계에서,
상기 결정된 복구 지점으로 상기 이동 로봇 장치를 이동시키는 동안, 상기 이동 로봇 장치로부터 상기 결정된 복구 지점까지의 거리보다 가까운 복구 지점을 갖는 중간 장애물이 인식되는 경우, 상기 중간 장애물을 인식한 시점의 상기 이동 로봇 장치의 위치 좌표로부터 상기 목적지까지의 상기 회피 경로를 생성하는 이동 로봇 장치의 동작 방법. - 제6 항에 있어서,
상기 이동 로봇 장치의 동작 방법은,
상기 결정된 복구 지점으로 상기 이동 로봇 장치를 이동시키는 단계 이후에,
상기 결정된 복구 지점에서 상기 중첩 영역의 면적이 적어지는 방향으로 상기 이동 로봇 장치를 회전시키는 단계를 더 포함하는 이동 로봇 장치의 동작 방법. - 제7 항에 있어서,
상기 이동 로봇 장치의 동작 방법은,
상기 이동 복구 모드의 실행 여부를 판단하는 단계 이후에, 상기 이동 복구 모드와 다른 회피 모드를 실행함에 따라,
상기 갱신된 이동 경로를 통하여 상기 목적지까지 이동하는 단계를 더 포함하는 이동 로봇 장치의 동작 방법. - 하드웨어인 컴퓨터와 결합되어, 제1항의 방법을 실행시키기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
- 목적지까지 이동하는 이동 로봇 장치에 있어서,
이미지 센서;
적어도 하나의 명령어(instruction)을 포함하는 메모리; 및
상기 메모리에 포함된 상기 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는,
상기 목적지에 대한 정보를 포함하는 이동 경로를 획득하고,
상기 획득한 이동 경로를 통하여 상기 목적지까지 이동하는 동안, 상기 이동 경로 상에 위치한 장애물을 인식하도록 상기 이미지 센서를 제어하고,
상기 인식된 장애물을 회피하기 위하여, 상기 이동 경로를 갱신하고,
상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 위치 좌표를 획득하고,
상기 인식된 장애물의 위치 좌표, 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표 또는 상기 획득한 이동 경로 중 적어도 하나에 기초하여 이동 복구 모드의 실행 여부를 판단하고,
상기 이동 복구 모드를 실행함에 따라, 상기 인식된 장애물의 위치 좌표 및 상기 이동 로봇 장치의 위치 좌표에 기초하여 결정된 복구 지점으로 상기 이동 로봇 장치를 이동시키고,
상기 복구 지점으로부터 상기 목적지까지의 회피 경로를 생성하고,
상기 회피 경로를 통하여 상기 목적지까지 이동하도록 상기 이동 로봇 장치를 제어하며,
상기 이동 복구 모드의 실행 여부를 판단할 때,
상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표가, 이전에 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 위치 좌표로부터 기-설정된 범위 이내에 포함되는지 판단하고,
상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표가, 상기 이전에 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표로부터 상기 기-설정된 범위 이내에 포함되는 경우, 상기 이동 경로의 갱신이 기-설정된 횟수와 같거나 큰 횟수로 이루어졌는지 판단하고,
상기 이동 경로의 갱신이 상기 기-설정된 횟수와 같거나 큰 횟수로 이루어진 경우, 상기 이동 복구 모드를 실행하고,
상기 이동 복구 모드의 실행 여부를 판단할 때,
상기 인식된 장애물의 상기 위치 좌표와 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표 간의 제1 거리 또는 상기 인식된 장애물의 상기 위치 좌표와 상기 이동 경로를 갱신한 시점의 상기 이동 로봇 장치의 상기 위치 좌표에 대응되는 이동 경로 간의 제2 거리 중 적어도 하나를 계산하고,
상기 제1 거리 또는 상기 제2 거리 중 적어도 하나의 거리가 기-설정된 제2 기준 거리와 같거나 작은 경우, 상기 이동 복구 모드를 실행하고,
상기 복구 지점으로 상기 이동 로봇 장치를 이동시킬 때,
상기 이동 로봇 장치를 포함하고, 상기 이동 로봇 장치가 이동하는 정면(front face)과 마주보는 제1 변 및 상기 제1 변의 반대 변인 제2 변을 포함하는 사각 형상의 기준 영역을 설정하고,
상기 기준 영역 중 상기 인식된 장애물과 중첩되는 중첩 영역을 계산하고,
상기 중첩 영역 중 상기 제2 변과 가장 인접한 포인트와 상기 제2 변을 연장한 선의 중간 포인트를 지나고, 상기 이동 로봇 장치의 이동 방향과 수직한 방향으로 연장된 선을 복구 지점으로 결정하고,
상기 결정된 복구 지점으로 상기 이동 로봇 장치를 이동시키는, 이동 로봇 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220188198A KR102569251B1 (ko) | 2022-12-29 | 2022-12-29 | 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 |
PCT/KR2023/011096 WO2024143740A1 (ko) | 2022-12-29 | 2023-07-31 | 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 |
KR1020230107442A KR20240107304A (ko) | 2022-12-29 | 2023-08-17 | 장애물 인식 기술 기반으로 이동하는 이동 로봇, 이동 로봇의 제어 방법 및 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220188198A KR102569251B1 (ko) | 2022-12-29 | 2022-12-29 | 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230107442A Division KR20240107304A (ko) | 2022-12-29 | 2023-08-17 | 장애물 인식 기술 기반으로 이동하는 이동 로봇, 이동 로봇의 제어 방법 및 프로그램 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR102569251B1 true KR102569251B1 (ko) | 2023-08-24 |
KR102569251B9 KR102569251B9 (ko) | 2024-04-08 |
Family
ID=87841262
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220188198A KR102569251B1 (ko) | 2022-12-29 | 2022-12-29 | 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 |
KR1020230107442A KR20240107304A (ko) | 2022-12-29 | 2023-08-17 | 장애물 인식 기술 기반으로 이동하는 이동 로봇, 이동 로봇의 제어 방법 및 프로그램 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230107442A KR20240107304A (ko) | 2022-12-29 | 2023-08-17 | 장애물 인식 기술 기반으로 이동하는 이동 로봇, 이동 로봇의 제어 방법 및 프로그램 |
Country Status (2)
Country | Link |
---|---|
KR (2) | KR102569251B1 (ko) |
WO (1) | WO2024143740A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102706517B1 (ko) | 2023-08-08 | 2024-09-12 | 네이버 주식회사 | 로봇의 내비게이션 목적지 보정 방법 및 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160070467A (ko) * | 2014-12-10 | 2016-06-20 | 재단법인대구경북과학기술원 | 장애물 회피를 위한 멀티로봇 시스템 및 장애물 회피를 위한 스위칭 대형 전략을 이용하는 방법 |
JP2017508196A (ja) * | 2014-01-10 | 2017-03-23 | アイロボット コーポレイション | 自律式移動ロボット |
KR102109004B1 (ko) * | 2018-01-10 | 2020-05-11 | 부산대학교 산학협력단 | 라인 정보를 이용한 모바일 로봇의 장애물 회피를 위한 장치 및 방법 |
KR20220102343A (ko) | 2021-01-13 | 2022-07-20 | 삼성전자주식회사 | 로봇 및 그 제어 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129238A (ja) * | 1993-11-01 | 1995-05-19 | Fujitsu Ltd | 障害物回避経路生成方式 |
KR101133037B1 (ko) * | 2011-12-01 | 2012-04-04 | 국방과학연구소 | 자율이동차량용 충돌회피를 위한 경로갱신방법 및 그 장치 |
KR102466940B1 (ko) * | 2018-04-05 | 2022-11-14 | 한국전자통신연구원 | 로봇 주행용 위상 지도 생성 장치 및 방법 |
-
2022
- 2022-12-29 KR KR1020220188198A patent/KR102569251B1/ko active IP Right Grant
-
2023
- 2023-07-31 WO PCT/KR2023/011096 patent/WO2024143740A1/ko unknown
- 2023-08-17 KR KR1020230107442A patent/KR20240107304A/ko unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017508196A (ja) * | 2014-01-10 | 2017-03-23 | アイロボット コーポレイション | 自律式移動ロボット |
KR20160070467A (ko) * | 2014-12-10 | 2016-06-20 | 재단법인대구경북과학기술원 | 장애물 회피를 위한 멀티로봇 시스템 및 장애물 회피를 위한 스위칭 대형 전략을 이용하는 방법 |
KR102109004B1 (ko) * | 2018-01-10 | 2020-05-11 | 부산대학교 산학협력단 | 라인 정보를 이용한 모바일 로봇의 장애물 회피를 위한 장치 및 방법 |
KR20220102343A (ko) | 2021-01-13 | 2022-07-20 | 삼성전자주식회사 | 로봇 및 그 제어 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102706517B1 (ko) | 2023-08-08 | 2024-09-12 | 네이버 주식회사 | 로봇의 내비게이션 목적지 보정 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20240107304A (ko) | 2024-07-09 |
WO2024143740A1 (ko) | 2024-07-04 |
KR102569251B9 (ko) | 2024-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230280743A1 (en) | Mobile Robot Cleaning System | |
US11160432B2 (en) | System for spot cleaning by a mobile robot | |
CN110968083B (zh) | 栅格地图的构建方法、避障的方法、设备及介质 | |
US8897947B2 (en) | Autonomous mobile device | |
EP4095641A2 (en) | Mobile cleaning robot artificial intelligence for situational awareness | |
EP4446831A2 (en) | Robot localizing method, robot, and storage medium | |
US9304970B2 (en) | Extended fingerprint generation | |
CN107773161B (zh) | 机器人吸尘器 | |
JP2020077372A (ja) | データ収集方法及びそのシステム | |
CN111197985B (zh) | 区域识别方法、路径规划方法、设备及存储介质 | |
US20130201365A1 (en) | Crowd-sourced vision and sensor-surveyed mapping | |
KR102569251B1 (ko) | 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 | |
US20230195130A1 (en) | Information collection method, device and storage medium | |
JP6636260B2 (ja) | 自律移動体の走行経路教示システムおよび走行経路教示方法 | |
CN114942644A (zh) | 控制机器人清扫的方法及机器人 | |
KR102572851B1 (ko) | 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 | |
CN114527760A (zh) | 一种路径规划方法、系统、终端设备和存储介质 | |
US20240231380A1 (en) | Obstacle avoidance method and apparatus for self-walking device, and medium and electronic device | |
US20240176362A1 (en) | Robot cleaner and location identification method thereof | |
KR102568651B1 (ko) | 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법 | |
KR102595490B1 (ko) | 무인 이동체 및 무인 이동체의 이동 경로 계획을 위한 코스트 결정 방법 | |
CN111324129B (zh) | 基于人脸识别的导航方法及装置 | |
US20240255285A1 (en) | Systems and methods of lift to find augmented reality guidance | |
JP2024078661A (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
KR102585341B1 (ko) | 유동적인 이동경로 정보를 이용한 다수 무인이동체 제어 시스템, 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] |