KR102368082B1 - 로봇의 자율 주행 제어 방법 및 그를 위한 시스템 - Google Patents
로봇의 자율 주행 제어 방법 및 그를 위한 시스템 Download PDFInfo
- Publication number
- KR102368082B1 KR102368082B1 KR1020200035230A KR20200035230A KR102368082B1 KR 102368082 B1 KR102368082 B1 KR 102368082B1 KR 1020200035230 A KR1020200035230 A KR 1020200035230A KR 20200035230 A KR20200035230 A KR 20200035230A KR 102368082 B1 KR102368082 B1 KR 102368082B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- driving
- robot
- server
- factor information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000033001 locomotion Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 3
- 230000002547 anomalous effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000035939 shock Effects 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004313 glare Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000012546 transfer Methods 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
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
-
- 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
-
- 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
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
본 발명의 일실시예에 따른 주행 로봇의 자율 주행 방법은, 서버에서, 각 주행 로봇으로부터 기본 정보 및 이동 경로 내지 상기 이동 경로 내 구간 단위의 해당 주행 로봇에 의해 센싱된 주행 요인 정보를 수신하는 단계; 상기 서버에서, 상기 수신한 주행 요인 정보에 기초하여 상기 이동 경로 내지 구간을 포함한 지도맵을 생성하여 저장하는 단계; 상기 서버에서, 특정 주행 로봇으로부터 시작 위치와 목적 위치를 포함한 경로 요청을 수신하는 단계; 상기 서버에서, 상기 저장한 지도맵에 기초하여 상기 주행 로봇에 최적 경로 데이터를 전송하는 단계; 및 상기 주행 로봇에서, 상기 서버로부터 전송된 최적 경로 데이터에 기초하여 주행하는 단계;를 포함하여 이루어지 것을 특징으로 한다. 여기서, 상기 기본 정보는, 상기 각 주행 로봇의 식별자 데이터와, 주행 로봇 타입 및 성능에 관한 하드웨어 스펙 데이터를 포함하고, 상기 주행 요인 정보는, 상기 이동 경로 내지 구간 단위의 노면 데이터와 주행 환경 데이터를 포함하고, 상기 노면 데이터는, 노면 상태 데이터 및 경사 구간과 경사 각도를 포함한 경사도 데이터를 포함하고, 상기 주행 환경 데이터는, 이동 시간, 보행자 수, 이동 수단의 수와 밀도 및 장애물 데이터를 포함하는 것을 특징으로 한다.
Description
본 발명은 로봇의 자율 주행에 관한 것으로, 특히 로봇에 의해 요청된 목적지까지 주행을 위한 최적 경로 제공과 경로 제공을 위한 맵 데이터 생성 및 업데이트를 통한 로봇의 자율 주행 제어 방법 및 그 시스템에 관한 것이다.
사람을 대신하여 고정된 위치에서 특정 기능만을 반복 수행하는 산업용 로봇에서 출발하여 최근에는 다양한 목적을 가지고 실내 또는 실외에서 주행 가능한 주행 로봇 내지 주행 로봇으로 발전하고 있다. 주행 로봇은 목적지까지의 경로를 자율 또는 비자율 주행을 할 수 있는데, 종래 주행 로봇은 차도 및 인도 위주로 제작된 지도에 기초하여 설정된 주행 경로로 주행하였다. 다만, 종래 주행 로봇을 위한 지도는 주로 신설되거나 큰 도로 위주로 업데이트가 이루어졌을 뿐만 아니라 그 업데이트 주기(예를 들어, 1년 주기) 역시 매우 길었다.
통상 주행 경로는 거리를 최소화하는 알고리즘을 통해 생성되며 교통정보를 파악하여 시간을 최소화하는 방법도 존재하나 이는 일부 구간에서만 유의미하게 작동한다.
또한, 종래 지도는 로봇이 아닌 차량을 대상으로 하여 생성됨에 따라 제공되는 경로가 실제 로봇이 주행하기에 적합하지 않는 구간이 포함될 가능성이 존재하였다. 즉, 종래 지도에 기초하여 로봇에 제공된 경로에는 법적으로 로봇이 주행할 수 없거나 상기 로봇이 물리적으로 주행하거나 통과가 불가능한 구간을 포함하는 경우가 있다. 예를 들어, 종래 기술에 의해 제공된 경로 상의 일부 구간에 포함된 비포장 도로, 울퉁불퉁한 구간 등은 로봇의 고장을 야기할 수 있는데 이를 배제하지 못하는 문제점이 있었다.
더불어, 전술한 바와 같이, 통상 지도의 업데이트 주기가 느리기 때문에 제공되는 경로나 구간에 대한 실시간 상황 반영이 어려워 경사나 장애물의 방해를 받아 로봇 주행에 어려움이 있거나 주행이 불가능한 경우가 존재하여 문제점이 있었다. 다시 말해, 종래 기술은, 제공된 경로에 따른 로봇 주행의 안정성을 떨어뜨릴 뿐망 아니라 사고를 야기하고 주행 시간 지연, 기계 고장 등의 원인이 되어 이에 대한 해결책이 요구된다.
본 발명의 일과제는, 종래 지도맵과 별개로 또는 그에 기초하여 로봇의 주행에 영향을 줄 수 있는 다양한 요인들을 고려한 맵 데이터를 생성하고, 이렇게 생성된 맵 데이터에 기초하여 목적지까지의 로봇 주행 최적 경로를 제공하는 것이다.
본 발명의 다른 과제는, 상기 로봇이 제공된 최적 경로에 따라 주행 과정에서 실시간으로 센싱하여 획득되는 데이터에 기초하여 상기 생성한 맵 데이터를 업데이트하고, 필요에 따라 업데이트된 맵 데이터를 참조하여 경로를 재설정하여 상기 로봇의 주행 편의를 높이도록 하는 것이다.
본 발명의 또 다른 과제는, 상기와 같은 내용에 기초한 로봇의 자율 주행 방법 및 그를 위한 시스템을 제공하는 것이다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 방법은, 서버에서, 각 주행 로봇으로부터 기본 정보 및 이동 경로 내지 상기 이동 경로 내 구간 단위의 해당 주행 로봇에 의해 센싱된 주행 요인 정보를 수신하는 단계; 상기 서버에서, 상기 수신한 주행 요인 정보에 기초하여 상기 이동 경로 내지 구간을 포함한 지도맵을 생성하여 저장하는 단계; 상기 서버에서, 특정 주행 로봇으로부터 시작 위치와 목적 위치를 포함한 경로 요청을 수신하는 단계; 상기 서버에서, 상기 저장한 지도맵에 기초하여 상기 주행 로봇에 최적 경로 데이터를 전송하는 단계; 및 상기 서버로부터 전송된 최적 경로 데이터에 기초하여 상기 주행 로봇의 주행을 제어하는 단계;를 포함하여 이루어지 것을 특징으로 한다. 여기서, 상기 기본 정보는, 상기 각 주행 로봇의 식별자 데이터와, 주행 로봇 타입 및 성능에 관한 하드웨어 스펙 데이터를 포함하고, 상기 주행 요인 정보는, 상기 이동 경로 내지 구간 단위의 노면 데이터와 주행 환경 데이터를 포함하고, 상기 노면 데이터는, 노면 상태 데이터 및 경사 구간과 경사 각도를 포함한 경사도 데이터를 포함하고, 상기 주행 환경 데이터는, 이동 시간, 보행자 수, 이동 수단의 수와 밀도 및 장애물 데이터를 포함하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 방법에 따르면, 상기 주행 로봇에서, 상기 서버로부터 전송된 최적 경로 데이터에 따라 주행하는 과정에서, 이동간 실시간으로 주행 요인 정보를 센싱하여 수집하는 단계; 및 상기 주행 로봇에서, 상기 수집한 주행 요인 정보를 상기 서버로 전송하는 단계;를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 방법에 따르면, 상기 각 주행 로봇은, 상기 주행 환경 데이터 중 보행자 수와 이동 수단의 수 및 밀도에 관한 데이터는 미리 정의된 구간 단위로 소정 시간 단위의 평균 데이터를 상기 서버로 전송하고, 상기 노면 데이터 중 노면 상태 데이터는 해당 주행 로봇의 센서에 의해 센싱된 값이 미리 정의된 시간 동안 지속적으로 임계치를 초과하는 경우에만 상기 서버로 전송하고, 상기 서버는, 상기 노면 데이터 중 경사도 데이터가 수신되면, 해당 구간에 대하여 데이터베이스에 기저장된 경사도 데이터 유무를 판단하고, 상기 판단 결과 기저장된 경사도 데이터가 없으면 상기 수신된 경사도 데이터를 즉시 저장하고, 상기 판단 결과 미리 저장된 경사도 데이터가 있고 기저장된 경사도 데이터와 상기 수신한 경사도 데이터가 상이하면, 상기 상이한 경사도 데이터가 미리 정의된 시간 내지 횟수 이상 지속적으로 수신되는 경우에만 상기 수신한 경사도 데이터에 기초하여 상기 기저장된 경사도 데이터를 업데이트하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 방법에 따르면, 상기 서버는, 상기 주행 로봇에 의해 요청된 경로 내 적어도 하나 이상의 구간에 대한 해당 주행 로봇에 의해 기저장된 주행 요인 정보가 있으면, 상기 주행 로봇의 기저장된 주행 요인 정보와 해당 구간에 대하여 가장 최근에 업데이트된 주행 요인 정보를 비교하고, 상기 비교 결과가 임계치 미만이면, 상기 주행 로봇의 기저장된 주행 요인 정보를 상기 최적 경로 데이터와 함께 전송하여, 상기 주행 로봇이 해당 구간에서 상기 전송된 주행 요인 정보를 참조하여 주행하도록 제어하고, 상기 주행 로봇의 센서를 통해 센싱된 값이 상기 전송된 주행 요인 정보와 임계치 이상 차이나는 데이터만 전송하도록 제어하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 주행 로봇의 자율 주행 방법에 따르면, 상기 서버는, 상기 주행 로봇으로부터 요청된 시작 위치와 목적 위치가 모두 커버하는 경로에 관한 기저장된 최적 경로 데이터가 존재하지 않으면, 상기 경로 내 시작 위치와 목적 위치 사이의 적어도 하나의 구간이 포함된 각 주행 로봇의 최적 구간 데이터를 추출하여 조합하여 상기 경로에 대한 상기 주행 로봇의 최적 경로 데이터를 결정하여 전송하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 시스템은, 시작 위치와 목적 위치 사이의 최적 경로로 주행하되, 센서를 통하여 이동간 주행 로봇의 주행 요인 정보를 수집하는 적어도 하나의 주행 로봇; 및 각 주행 로봇으로부터 기본 정보 및 이동 경로 내지 상기 이동 경로 내 구간 단위의 해당 주행 로봇에 의해 센싱된 주행 요인 정보를 수신하고, 상기 수신한 주행 요인 정보에 기초하여 상기 이동 경로 내지 구간을 포함한 지도맵을 생성하여 저장하고, 특정 주행 로봇으로부터 시작 위치와 목적 위치를 포함한 경로 요청이 수신되면, 상기 저장한 지도맵에 기초하여 상기 주행 로봇에 최적 경로 데이터를 전송하여 상기 주행 로봇의 최적 경로 데이터에 기초한 주행을 제어하는 서버;를 포함하는 것을 특징으로 한다. 여기서, 상기 기본 정보는, 상기 각 주행 로봇의 식별자 데이터와, 주행 로봇 타입 및 성능에 관한 하드웨어 스펙 데이터를 포함하고, 상기 주행 요인 정보는, 상기 이동 경로 내지 구간 단위의 노면 데이터와 주행 환경 데이터를 포함하고, 상기 노면 데이터는, 노면 상태 데이터 및 경사 구간과 경사 각도를 포함한 경사도 데이터를 포함하고, 상기 주행 환경 데이터는, 이동 시간, 보행자 수, 이동 수단의 수와 밀도 및 장애물 데이터를 포함하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 시스템에 따르면, 상기 주행 로봇은, 상기 서버로부터 전송된 최적 경로 데이터에 따라 주행하는 과정에서, 이동간 실시간으로 주행 요인 정보를 센싱하여 수집하고, 상기 수집한 주행 요인 정보를 상기 서버로 전송하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 시스템에 따르면, 상기 각 주행 로봇은, 상기 주행 환경 데이터 중 보행자 수와 이동 수단의 수 및 밀도에 관한 데이터는 미리 정의된 구간 단위로 소정 시간 단위의 평균 데이터를 상기 서버로 전송하고, 상기 노면 데이터 중 노면 상태 데이터는 해당 주행 로봇의 센서에 의해 센싱된 값이 미리 정의된 시간 동안 지속적으로 임계치를 초과하는 경우에만 상기 서버로 전송하고, 상기 서버는, 상기 노면 데이터 중 경사도 데이터가 수신되면, 해당 구간에 대하여 데이터베이스에 기저장된 경사도 데이터 유무를 판단하고, 상기 판단 결과 기저장된 경사도 데이터가 없으면 상기 수신된 경사도 데이터를 즉시 저장하고, 상기 판단 결과 미리 저장된 경사도 데이터가 있고 기저장된 경사도 데이터와 상기 수신한 경사도 데이터가 상이하면, 상기 상이한 경사도 데이터가 미리 정의된 시간 내지 횟수 이상 지속적으로 수신되는 경우에만 상기 수신한 경사도 데이터에 기초하여 상기 기저장된 경사도 데이터를 업데이트하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 시스템에 따르면, 상기 서버는, 상기 주행 로봇에 의해 요청된 경로 내 적어도 하나 이상의 구간에 대한 해당 주행 로봇에 의해 기저장된 주행 요인 정보가 있으면, 상기 주행 로봇의 기저장된 주행 요인 정보와 해당 구간에 대하여 가장 최근에 업데이트된 주행 요인 정보를 비교하고, 상기 비교 결과가 임계치 미만이면, 상기 주행 로봇의 기저장된 주행 요인 정보를 상기 최적 경로 데이터와 함께 전송하여, 상기 주행 로봇이 해당 구간에서 상기 전송된 주행 요인 정보를 참조하여 주행하도록 제어하고, 상기 주행 로봇의 센서를 통해 센싱된 값이 상기 전송된 주행 요인 정보와 임계치 이상 차이나는 데이터만 전송하도록 제어하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 로봇의 자율 주행 제어 시스템에 따르면, 상기 서버는, 상기 주행 로봇으로부터 요청된 시작 위치와 목적 위치가 모두 커버하는 경로에 관한 기저장된 최적 경로 데이터가 존재하지 않으면, 상기 경로 내 시작 위치와 목적 위치 사이의 적어도 하나의 구간이 포함된 각 주행 로봇의 최적 구간 데이터를 추출하여 조합하여 상기 경로에 대한 상기 주행 로봇의 최적 경로 데이터를 결정하여 전송하는 것을 특징으로 한다.
본 발명에 따르면, 다음과 같은 효과가 있다.
첫째, 종래 지도맵과 별개로 또는 그에 기초하여 로봇의 주행에 영향을 줄 수 있는 다양한 요인들을 고려한 맵 데이터를 생성하고, 이렇게 생성된 맵 데이터에 기초하여 목적지까지의 로봇 주행 최적 경로를 제공할 수 있는 효과가 있다.
둘째, 상기 로봇이 제공된 최적 경로에 따라 주행 과정에서 실시간으로 센싱하여 획득되는 데이터에 기초하여 상기 생성한 맵 데이터를 업데이트하고, 필요에 따라 업데이트된 맵 데이터를 참조하여 경로를 재설정하여 상기 로봇의 주행 편의를 높일 수 있는 효과가 있다.
셋째, 상기와 같은 내용에 기초한 로봇의 자율 주행 방법 및 그를 위한 시스템을 제공할 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 로봇 자율 주행 제어 시스템을 설명하기 위해 간략히 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 로봇 자율 주행 제어 시스템을 구성하는 주행 로봇과 컴퓨팅 디바이스의 구성 블록도이다.
도 3은 본 발명의 일실시예에 따른 경로 생성 시나리오를 설명하기 위해 도시한 순서도이다.
도 4는 본 발명의 일실시예에 따른 지도 업데이트 시나리오를 설명하기 위한 순서도이다.
도 5는 본 발명의 일실시예에 따른 로봇의 자율 주행 제어 방법을 설명하기 위해 도시한 순서도이다.
도 2는 본 발명의 일실시예에 따른 로봇 자율 주행 제어 시스템을 구성하는 주행 로봇과 컴퓨팅 디바이스의 구성 블록도이다.
도 3은 본 발명의 일실시예에 따른 경로 생성 시나리오를 설명하기 위해 도시한 순서도이다.
도 4는 본 발명의 일실시예에 따른 지도 업데이트 시나리오를 설명하기 위한 순서도이다.
도 5는 본 발명의 일실시예에 따른 로봇의 자율 주행 제어 방법을 설명하기 위해 도시한 순서도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은, 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함할 수 있다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설 명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
먼저, 본 명세서에서 기술하는 "주행 로봇"이라 함은, 일정한 위치에 설치되어 특정 기능만 수행하는 산업용 로봇이 아닌 본 발명에 따라 현재 위치에서 목적지까지의 경로, 최적 경로, 경로 내 적어도 일 구간을 자율 또는 비자율 방식으로 주행 가능한 모든 형태의 로봇을 포함한다.
도 1은 본 발명의 일실시예에 따른 로봇 자율 주행 제어 시스템(100)을 설명하기 위해 간략히 도시한 도면, 그리고 도 2는 본 발명의 일실시예에 따른 로봇 자율 주행 제어 시스템(100)을 구성하는 주행 로봇(1 내지 n)과 컴퓨팅 디바이스(110)의 구성 블록도이다.
도 1을 참조하면, 로봇 자율 주행 제어 시스템(100)은, n개(여기서, n은 양의 정수)의 주행 로봇(1 내지 n)과 컴퓨팅 디바이스(110)를 포함하고, 상기 양 구성 사이에 데이터 커뮤니케이션을 지원하는 네트워크가 존재할 수 있다. 도 1에서는 본 발명의 이해를 돕고 설명의 편의를 위하여 로봇 자율 주행 제어 시스템(100)을 간략하게 도시하였으나, 본 발명이 이에 한정되는 것은 아니다. 따라서, 비록 도시되지 않은 구성요소라 할지라도 본 발명을 구현하기 위해 필요한 경우 적어도 하나 이상의 구성요소가 더 포함되어 상기 시스템(100)을 구현할 수도 있다.
도 1에 도시된 로봇 자율 주행 제어 시스템(100)에 속한 모든 주행 로봇들이 반드시 동일한 하드웨어 및 소프트웨어를 구비할 필요는 없다. 다시 말해, 상기 각 주행 로봇의 하드웨어 스펙, 소프트웨어 내지 펌웨어 버전은 서로 상이할 수 있다.
한편, 각 주행 로봇은 컴퓨팅 디바이스(110)와의 데이터 커뮤니케이션을 위하여 반드시 동일한 네트워크를 이용하거나 지원하여야 하는 것은 아니다.
컴퓨팅 디바이스(110)는 본 발명에 따른 로봇 자율 주행 제어 시스템(100)에서 상기 주행 로봇의 경로 설정, 주행 로봇을 위한 맵 데이터(지도 맵) 생성 및 업데이트 등 전 과정에 관여 및 제어하고 지원 가능한 하드웨어/소프트웨어를 말한다. 여기서, 상기 컴퓨팅 디바이스(110)는, 실시예에 따라 서버(server), 프로세서(processor) 등 다양한 이름으로 명명될 수 있으나 그 명칭에 본 발명의 권리범위가 제한되는 것은 아니다.
컴퓨팅 디바이스(110)는 주행 로봇에 대한 적절한 제어를 위하여 상기 주행 로봇으로 필요한 프로그램, 소프트웨어, 펌웨어 등을 제공할 수 있다.
도 2를 참조하면, 로봇 자율 주행 제어 시스템(100)을 구성하는 주행 로봇(1 내지 n)과 컴퓨팅 디바이스(110) 사이의 데이터 처리 프로세스 및 각 구성요소의 구조가 도시되었다.
도 2에서는 본 발명의 이해를 돕고 설명의 편의를 위하여 필수 구성요소만을 개시하였으나, 본 발명이 이에 한정되는 것은 아니다. 따라서, 비록 도시되지 않았더라도 실시예에 따라 필요한 하나 또는 그 이상의 구성요소가 더 포함될 수 있다. 한편, 비록 도 2에서는 하나의 구성요소로 도시되었더라도 실시예에 따라 복수의 구성요소로 분리될 수 있으며 그 반대도 가능하다. 한편, 편의상 도 2에 도시된 일부 구성요소가 소프트웨어처럼 도시되고 설명되더라도 실제 구성은 그를 위한 하드웨어 구성으로 구현될 수 있다.
도 2에서는 서버(210)와 주행 로봇(220)이 도시되었고, 각각은 도 1의 컴퓨팅 디바이스(110)와 주행 로봇(1 내지 n) 중 어느 하나의 주행 로봇에 해당할 수 있다. 비록 도시되진 않았으나, 전술한 바와 같이 하나의 서버(210)는 복수의 주행 로봇과 동시에 또는 이시에 데이터 커뮤니케이션을 수행할 수 있다.
먼저, 서버(210)는 주행 경로 생성 API (212), 지도 정보 갱신 소프트웨어부(214), 지도 데이터베이스(216) 등을 포함한다.
다음으로, 주행 로봇(220)은 자율 또는 반자율 주행 엔진(222), 영상 처리 및 데이터 분석 엔진(224), 센서부(226) 등을 포함한다.
한편, 비록 도 2에서는 각각 서버(210)와 주행 로봇(220)의 구성요소로 도시되고 설명되더라도, 본 발명이 반드시 이에 한정되는 것은 아니다. 즉, 상기 서버(210)의 일 구성요소가 상기 주행 로봇(220)의 일 구성요소가 될 수 있으며, 그 반대로 가능하다. 또는, 상기 서버(210)의 일부 또는 전부가 모두 주행 로봇(220)의 구성요소일 수도 있다.
이 경우, 주행 로봇(220)은 자체적으로 판단하여 주행 경로를 생성하고, 지도 정보를 업데이트하여 데이터베이스에 저장할 뿐만 아니라 인공지능(AI: Artifical Intelligence) 모듈(미도시)을 이용하여 학습하고, 학습된 내용에 기초하여 다시 주행 경로 생성 및 설정, 지동 정보 업데이트 등을 수행할 수도 있다.
여기서 주행 로봇(220)은 반드시 자율 또는 반자율로 주행하는 로봇이 아니라 수동으로 조종되는 주행 로봇일 수 있고, 수동으로 조종되는 경우 상기 '자체적으로 판단하여 주행 경로를 생성'하는 것은 수동으로 조종되어 주행되는 것에 따라 주행 경로를 생성하는 것으로 볼 수 있다. 또한, 그 주행 경로에 따라 지도 정보를 업데이트 하여 데이터베이스에 저장할 뿐만 아니라 인공지능(AI: Artifical Intelligence) 모듈(미도시)을 이용하여 학습하고, 학습된 내용에 기초하여 최적의 주행 경로를 생성하고 상기 주행 로봇을 수동으로 조종하는 자로 하여금 생성된 최적의 주행 경로를 제공할 수 있다. 나아가, 본 발명 전체에서 기술된 것에 대해서 자체적으로 주행하는 것 외에 모든 구성을 수행할 수 있음은 물론이며, 단지 자율(반자율) 주행 엔진에 의해 자체적으로 판단하여 주행하는 것을 수동으로 조종하는 주행 로봇으로 대체된 경우에도 본 발명에서 현출된 기술적 사상을 수행하는 데에는 통상의 기술자에게 있어서는 자명하다.
한편, 상기 경우, 주행 로봇(220)은 관리 단말(management terminal)에 보고하거나 제어 명령을 수신하여 수신된 제어 명령을 수행하기 위해 자율적으로 지도 데이터베이스를 참조하여 경로 설정 등을 수행할 수도 있다.
도 2를 참조하여, 상기 서버(210)와 상기 주행 로봇(220) 사이의 데이터 처리 프로세스를 설명한다.
본 발명과 관련하여, 주행 로봇은 차도, 인도, 자전거 도로, 골목길 등을 이용하되 이에 한하지 아니하며, 그에 대한 정보를 파악하고 지도 정보로서 표기할 수 있다.
더불어, 본 발명에서는 지도 정보를 구성하거나 주행 로봇을 위한 (최적) 경로를 설정함에 있어서, 상기 주행 로봇의 특성을 고려, 즉 주행 로봇의 주행에 영향을 줄 수 있는 경로 내지 구간의 노면의 상태, 보행자의 수나 밀도, 경사지의 존재, 경사지의 경사도 등의 요소를 파악하고 이를 지도 정보로서 이용하는 것이 바람직하다.
기본적으로, 서버(210)는 주행 로봇(220)이 현재 위치에서 목적지 위치까지의 경로 설정을 요청하면, 최적 경로 데이터를 제공하는 것이 바람직하나, 본 발명이 반드시 이에 한정되는 것은 아니다. 다시 말해, 서버(210)는 주행 로봇(220)의 상기 경로 설정 요청에 대응하여 하나 또는 그 이상의 경로 데이터를 제공하고, 실시예에 따라 어떤 경로 데이터가 최적 경로 데이터인지 식별 가능하도록 제공할 수 있다.
본 명세서에서 최적 경로라 함은 기준에 따라 달라질 수 있다. 예를 들어, 상기 최적 경로는 현재 위치에서 목적지 위치까지의 최단 시간 소요 경로가 될 수 있다. 또는, 상기 최적 경로는 현재 위치에서 목적지 위치까지의 주행 로봇(220)의 주행 안정성이 최대로 확보되는 경로가 될 수 있다. 또는, 상기 최적 경로는 상기한 주행 로봇(220)의 주행 안정성이 최대로 확보되면서 현재 위치에서 목적지 위치까지 최단 시간이 소요되는 경로일 수 있다.
다만, 본 발명의 최적 경로는 관리자에 의해 설정되거나 다양한 요인을 고려하여 서버(210)에 의해 설정되거나 주행 로봇(220)의 하드웨어 특성, 타입, 주행 목적 내지 의도 및 기타 사항을 참고하여 결정될 수 있다. 상기 기타 사항에는 해당 주행 로봇(220)의 전원 잔량, 현재 위치에서 목적지 위치까지의 거리(예를 들어, 거리가 임계치 이하이면서 주행 목적이 긴급한 사항이 아니라면 주행 안정성 확보에 초점을 두어 최적 경로 설정 등) 등을 포함할 수 있다.
한편, 본 발명은 서버(210)에서 주행 로봇(220)의 경로 설정 요청에 따라 최적 경로 데이터를 제공함에 그치지 아니하고, 전술한 바와 같이 상기 최적 경로 데이터 제공 이후에 실시간으로 해당 경로에 대한 주행 로봇(220)의 획득 데이터를 참고하여 제2, 제3의 최적 경로 데이터가 제공될 수도 있다.
이하 도 2에 도시된 바와 같은, 로봇 자율 주행 제어 시스템(100)을 구성하는 주행 로봇(1 내지 n)과 컴퓨팅 디바이스(110) 사이의 데이터 처리 프로세스 및 각 구성요소의 구조를 설명한다.
영상 처리 및 데이터 분석 엔진(224)은, 주행 로봇(220)의 센서부(226)에 의하여 획득되는 정보를 가공하여 주행에 사용 및 서버(210)의 지도 정보 업데이트 소프트웨어(214)에 전송한다.
주행 경로 생성 API(212)는 지도 DB(216)에서 도로 정보 및 주행 위치의 관련 요소 정보를 추출하여 최적 경로 데이터를 생성한다.
지도 정보 업데이트 SW(214)는 실제 주행 중인 로봇(220)으로부터 이동 간 경로, 경로 내 구간과 그 주변에 대한 주행 환경 데이터를 수신하여 지도 정보의 업데이트에 이용한다. 이 경우, 상기 지도 정보 업데이트는 주행 로봇(220)에 제공되더라도 반드시 수행될 수도 있고, 실시예에 따라서는 검증 과정을 거쳐서 검증 결과에 따라 지도 정보를 업데이트할 수도 있다.
센서부(226)는 실내 및 실외를 주행하는 주행 로봇의 주행을 위해 주변 상황을 인식, 즉 주변 상황 내지 환경에 대하여 센싱하여 데이터를 획득한다.
이러한 센서부(226)는 카메라/이미지 센서, 충격 센서, 자이로 센서 등이 포함될 수 있다. 한편, 센서부(226)는 실시예에 따라 라이다(LiDAR), 레이다(Radar), 뎁쓰 카메라(depth camera) 등이 더 포함될 수 있다.
상기에서, 센서부(226) 내 자이로 센서와 충격 센서의 경우에는, 칼만 필터(Kalman filter)를 사용하여 센서에서 발생하는 노이즈(noise)를 제거할 수 있다.
또한, 주행 로봇(220)의 주행 환경에 따라 영상에 블러(Blur)가 발생할 수 있으므로, 이미지 스테이빌리제이션(image stabilization)이 적용된 카메라를 사용하거나 필터(filter), 딥-러닝(deep-learning) 기반의 디블러링(deblurring) 기법 등에 기초하여 획득되는 이미지를 가공하여 사용할 수 있다.
영상 처리 및 데이터 분석 엔진(224)은, 센서부(226) 또는 그 카메라를 통해 획득되는 이미지로부터 사람, 도로 표지판, 차량 등에 대해 객체 인식(object detection) 기법에 기초하여 해당 위치 내지 구간 주변의 상황, 환경 내지 교통 상황을 추정한다. 카메라를 통해 획득되는 이미지의 표지판에 대해 객체 인식 기법을 통하여 관심 영역(ROI: Region of Interest)를 추출하고, 추출된 관심 영역에 대한 이미지 프로세싱을 통하여 해당 위치, 구간 등에서의 공사중, 공사 예정, 사고 발생 등 다양한 상황 내지 환경 데이터를 획득할 수 있다.
그 밖에, 상기 카메라를 통해 획득되는 이미지로부터 손상 부분, 크랙(crack), 노면 종류 등 다양한 도로 내지 노면 상태 데이터를 획득할 수 있다.
한편, 충격 센서를 통해 획득되는 데이터는, 주행 로봇(220)이 주행 중인 도로 내지 노면의 손상 상태, 포장 상태 등에 대한 데이터가 포함될 수 있다.
예를 들어, 충격 센서에 의해 획득되는 데이터는, 로봇이 주행하고 있는 도로의 주행 적합성을 파악하기 위해 참조될 수 있다. 만약 진동이 심한 도로에서 로봇의 주행이 지속되는 경우에는, 주행 로봇(220) 내 센서나 로봇 자체의 내구성, 기능 이상, 자체 파손 가능성이 있기 때문에 주행 적합성 판단에 이용 가능하다. 따라서, 충격 센서에 의해 획득되는 데이터로부터 진동이 임계치 이상인 경우에는, 서버(210)에 의해 제공되는 경로 단위 내지 경로 내 구간 단위 추천에서 배제되도록 할 수 있다.
한편, 자이로 센서의 경우에는, 로봇이 주행하고 있는 도로의 기울기와 같은 경사도 데이터 획득에 참조될 수 있다. 통상 지도상에는 경사도 데이터가 제공되지 않으나, 로봇의 경우 그 하드웨어 스펙에 따라 경사도에 대처할 수 있는 정도가 다르다. 따라서, 서버(210)는 주행 로봇(220)의 하드웨어 스펙을 참조하여, 임계치를 넘어서는 경사지가 포함된 경로 내지 구간은 추천 경로 내지 추천 경로 내 구간에서 배제되도록 제어할 수 있다.
라이다(LiDAR) 센서나 이미지 센서 등에 의해 획득되는 데이터는, 도로 내지 노면의 크랙 인식에 참조될 수 있다. 카메라 영상, 라이다 포인트 클라우드(LiDAR point cloud)를 프로세싱(processing)하거나 머신-러닝(machine learning)을 통해 도로의 크랙 부분을 인식할 수 있으며, 이렇게 인식된 크랙 부분은 서버(210)에서 주행 로봇(2200으로의 경로 추천에 이용되거나 도로 내지 노면의 상태 파악에 참조될 수 있다.
또한, 자이로 센서를 통해 획득되는 데이터는, 주행 로봇(220)이 주행 중인 도로 내지 노면의 경사, 포장 상태 등에 대한 데이터가 포함될 수 있다.
그 밖에, 상기 카메라를 통해 획득되는 이미지에 블러(blur), 글래어(glare)로 인한 노이즈가 심한 경우는 인식(detecting) 알고리즘을 이용하여 추후 지도 정보의 업데이트에 이용되지 않도록 할 수 있다.
본 발명에 따른 센서부(226)는 전술한 센서에만 한정되는 것은 아니며, 주행 로봇의 목적이나 하드웨어 스펙 등에 따라 하나 또는 그 이상의 센서를 더 포함할 수 있다.
지도 정보 업데이트 SW(214)는, 각 주행 로봇에 의해 획득되는 데이터에 기초하여 즉시 업데이트 경우도 존재하나, 통상 검증 이후에 지동 정보 업데이트에 이용한다. 이때, 상기 검증을 위하여 지도 정보 업데이트 SW(214)는, 동일한 경로, 동일 구간, 동일 시간, 동일 타입 로봇, 동일 하드웨어 스펙 구비 로봇 등 다양한 기준을 고려하여 데이터를 검증할 수 있다. 지도 정보 업데이트 SW(214)는 이렇게 검증된 데이터에 대하여는 지도 정보 업데이트를 위해 이용하고, 이를 위하여 해당 데이터를 지도 DB(216)로부터 추출하여 비교하고, 검증 후에 다시 업데이트된 지도 정보가 지도 DB(216)에 저장되도록 제어할 수 있다.
지도 DB(216)는, 크게 도로 정보 DB와 주행 요소 DB로 구분하여 저장하는데, 전자의 도로 정보 DB는 종래 지도와 유사하나 로봇이 주행 가능한 도로들로 이루어지며 각 도로에 대한 파손 정보, 경사도 데이터 등을 저장하고, 후자의 주행 요소 DB는 해당 도로 구간의 교통 정보(보행자, 차량의 수 및 밀도 등), 공사 현장 정보 등의 정보를 저장한다.
상기 지도 DB(216)에 저장되는 지도 정보와 관련하여, 현재 지도 정보는 예를 들어, 도로의 위치, 도로 간 연결 정보, 건물, 가게 이름 내지 주소와 연결된 좌표 정보 등을 참고할 수 있다. 관련하여, 종래 GPS(Global Positioning System) 정보뿐만 아니라 IoT(Internet of Things) 기술 및 ICT 기술과 관련된 내용을 지도 정보 내지 주행 로봇(220)의 위치 정보 파악을 위한 레퍼런스 데이터(reference data)로 참고하거나 이용할 수 있다.
이하, 본 발명에 따른 로봇 자율 주행 제어 시나리오 내지 방법에 대하여 첨부된 도면을 참조하여 보다 상세하게 설명한다.
도 3은 본 발명의 일실시예에 따른 경로 생성 시나리오를 설명하기 위해 도시한 순서도, 도 4는 본 발명의 일실시예에 따른 지도 업데이트 시나리오를 설명하기 위한 순서도, 그리고 도 5는 본 발명의 일실시예에 따른 로봇 자율 주행 제어 방법을 설명하기 위해 도시한 순서도이다.
이하 전술한 도 1 및 2의 내용을 기초로 도 3 내지 5를 참조하여 본 발명에 따른 주행 로봇의 자율 주행과 관련된 다양한 시나리오 내지 실시예를 설명한다.
첨부된 순서도에서 각 단계는 비록 시계열적으로 표시되어 그 순서에 따라 수행되는 것이 바람직하나, 본 발명은 반드시 그에 한정되는 것은 아니다. 따라서, 첨부된 순서도에서 일부 단계들은 함께 수행될 수도 있고, 도시된 바와 다른 순서로 수행될 수도 있다. 그 밖에, 비록 도 3 내지 5에 명시적으로 도시되었다고 하더라도 실시예에 따라서는 일부 단계(들)이 생략될 수도 있으며, 반대로 비록 도시되진 않았으나 실시예에 따라서는 일부 단계(들)이 추가될 수도 있다.
먼저, 도 3을 참조하면, 경로 생성 시나리오를 설명하기 위한 순서도가 도시되었다.
본 발명의 경로 생성 시나리오는, 특정 로봇이 자신의 위치, 목적지의 주소, 하드웨어(HW) 스펙(예를 들어, 주행 가능한 경사도, 주행 가능 시간, 주행 최고 속력 등)을 서버(210)에 전송한다.
서버(210)는 주행 로봇(220)을 위하여 현재 위치에서 목적지까지 경로를 생성하되, 해당 로봇(220)이 주행이 불가능한 도로(법 내지 규제에 의해, 경사도 고려)는 배제한다.
따라서, 서버(210)는, 주행 로봇(220)에 주행 가능한 경로들 중 최적의 경로(교통 상황, 도로 상태 등을 고려)를 선택하여 제공한다. 다만, 서버(210)는 만약 주행 로봇(220)의 경로 설정 요청에도 불구하고 주행 가능한 경로가 존재하지 않을 경우, 해당 사실을 주행 로봇(220)에 피드백(feedback)한다. 이 경우, 서버(210)와 주행 로봇(220) 중 적어도 하나는, 현재 위치에서 목적지 사이의 전체 경로가 아닌 일부 경로 내지 주행 가능한 경로 내 구간에 대한 데이터만 제공 또는 요청할 수 있다. 따라서, 나머지 구간에 대하여는, 주행 로봇(220)이 실제 주행을 통하여 실시간으로 획득하는 데이터를 서버(210)와 실시간으로 데이터 커뮤니케이션을 통하여 제어 커맨드를 수신하여 주행할 수 있다.
또는, 이 경우, 상기 주행 로봇(220)은 서버(210)에 의해 적절한 경로 데이터가 수신되지 않는 경우에는, 미리 설정된 범위에서 검색되는 타 주행 로봇과 데이터 커뮤니케이션을 수행하여 그로부터 획득하는 데이터를 주행에 참고할 수 있다. 한편, 상기의 경우에, 주행 중 주행 로봇(220)이 아닌 건물이나 도로 표지판 등 다양한 참조점이나 참조 데이터를 수신 내지 디텍트하여 주행에 이용할 수 있다. 다만, 이러한 데이터는 서버(210)에서 지도 정보 업데이트를 위한 데이터로서 참조하기에는 신뢰성이 부족하여 최종 지도 DB(216)에 업데이트하여 저장하지는 않고, 타 주행 로봇에서 해당 경로에 관한 데이터를 요청하는 경우에 참조 데이터로 제공할 수는 있다.
도 3의 순서도를 참조하면, 로봇(220)의 위치, 목적지 주행 가능 거리 등의 정보를 서버(210)에 전달한다(S301).
서버(210)는 주행 가능한 경로들을 생성한다(S302).
서버(210)는 생성된 경로들 중 주행 로봇(220)이 목적지까지 도달 가능한 경로가 존재하는지 판단하고(S303), 보행자 수, 도로 상태, 공사 여부, 교통 상황 등을 고려하여 최적 경로를 생성한다(S304).
서버(210)는 이렇게 생성된 최적 경로 데이터를 상기 주행 로봇(220)에 전달한다(S305).
다음으로, 도 4를 참조하면, 지도 업데이트 시나리오를 위한 순서도가 개시된다.
지도 업데이트는, 각 로봇(220)이 주행하며 수집하는 데이터를 서버(210)에 전송함에 의하여 수행 가능하다. 상기 데이터로 도로의 교통량(사람, 차량의 수 등)의 경우, 구역별로 검출된 사람 또는 차량의 수를 소정 간격(예를 들어, 1분 간격)으로 평균한 데이터만을 전송할 수 있다.
서버(220)는 상기 로봇(220)에 의해 전송된 평균 데이터를 동일 구역의 다른 로봇 및 동일 시간대의 과거 데이터와 비교하여 유효성을 판단하고, 상기 판단 결과 유효하다고 판단되면, 지도 DB(226)를 갱신하는 것이 바람직하다.
또한, 로봇(220)은, 충격 센서에 의한 측정값이, 소정 시간(예를 들어, 10초 이상) 동안 지속적으로 임계치(threshold)를 초과하면, 이를 신뢰하여 해당 측정값을 서버(210)로 전송한다. 이에 서버(210)는 전송된 충격 센서의 측정값에 기초하여 도로의 노면 상태 데이터를 업데이트할 수 있다.
그 밖에, 지도 DB(216)에 기존 도로의 경사도가 아직 존재하지 않는 경우, 로봇(220)은, 자이로 센서에 의한 측정값을 서버(210)로 전송하고, 서버는 이러한 자이로 센서 측정값을 경사도 데이터로 적용 또는 업데이트되도록 한다. 한편, 기존 값과 다른 값이 측정된 경우에는, 서버(210)는 상기 다른 값 즉, 해당 값이 소정 시간 또는 소정 횟수 이상 지속적으로 전송 즉, 신뢰할 수 있는 경우에만, 이를 경사도 업데이트에 이용할 수 있다.
도 4를 참조하면, 로봇(220)은 해당 구역을 주행하며 다양한 센싱 데이터를 수집한다(S401).
수집되는 데이터 중 자이로 센서 측정값은, 기울기 정보가 없는 도로 또는 기존 기울기와 임계치 이상 상이한 측정값이 측정(S402)되는 경우에만, 서버로 해당 측정값을 전송한다(S405).
수집되는 데이터 중 충격 센서 측정값은, 일정 시간 이상 임계치 초과 충격이 측정되면(S403), 서버(210)로 해당 측정값을 전송한다(S405).
수집되는 데이터 중 카메라 이미지 데이터는, 객체 인식을 통하여 해당 도로의 보행자 밀집도를 계산하고, 서버(210)로 해당 계산값을 전송한다(S405). 이 경우, 계산한 보행자 밀집도에 대한 시간 정보와 함께 임계치 이상인 밀집도의 경우에만 상기 서버(210)로 전송할 수 있다.
이후, 동일 도로의 타 로봇이 측정한 데이터, 과거 시점의 데이터를 이용하여 어노말리 디텍션(anomaly detection)을 수행하고(S405), 이상이 없는 것, 즉 신뢰성이 보장되는 경우에만 지도 DB(216)의 업데이트를 수행한다(S407).
마지막으로, 도 5를 참조하면, 본 발명의 일실시예에 따른 로봇의 자율 주행 방법을 설명하면, 다음과 같다.
서버(210)에서, 각 주행 로봇으로부터 기본 정보 및 이동 경로 내지 상기 이동 경로 내 구간 단위의 해당 주행 로봇(220)에 의해 센싱된 주행 요인 정보를 수신한다(S501).
상기 서버(210)에서, 상기 수신한 주행 요인 정보에 기초하여 상기 이동 경로 내지 구간을 포함한 지도맵을 생성하여 저장한다(S502).
상기 서버(210)에서, 특정 주행 로봇(220)으로부터 시작 위치와 목적 위치를 포함한 경로 요청을 수신한다(S503).
상기 서버(210)에서, 상기 저장한 지도맵에 기초하여 상기 주행 로봇(220)에 최적 경로 데이터를 전송한다(S504).
상기 서버(210)에서, 상기 전송한 최적 경로 데이터에 기초하여 상기 로봇(220)의 주행을 제어한다(S505).
상기에서, 기본 정보는, 상기 각 주행 로봇의 식별자(ID: IDentifier) 데이터와, 주행 로봇 타입 및 성능(capability)에 관한 하드웨어 스펙 데이터를 포함할 수 있다.
그리고 상기 주행 요인 정보는, 상기 이동 경로 내지 구간 단위의 노면 데이터와 주행 환경 데이터를 포함할 수 있다. 이때, 상기 노면 데이터는, 노면 상태 데이터와, 경사 구간 및 경사 각도가 포함된 경사도 데이터를 포함할 수 있다. 상기에서, 주행 환경 데이터는, 이동 시간, 보행자 수, 이동 수단의 수와 밀도 및 장애물 데이터를 포함할 수 있다.
상기 주행 로봇(220)에서, 상기 서버(210)로부터 전송된 최적 경로 데이터에 따라 주행하는 과정에서, 이동 간 실시간으로 주행 요인 정보를 센싱하여 수집하고, 상기 수집한 주행 요인 정보를 상기 서버(210)로 전송할 수 있다.
상기 각 주행 로봇은, 상기 주행 환경 데이터 중 보행자 수와 이동 수단의 수 및 밀도에 관한 데이터는 미리 정의된 구간 단위로 소정 시간 단위의 평균 데이터를 상기 서버로 전송하고, 상기 노면 데이터 중 노면 상태 데이터는 해당 주행 로봇의 센서에 의해 센싱된 값이 미리 정의된 시간 동안 지속적으로 임계치를 초과하는 경우에만 상기 서버(210)로 전송하고, 상기 서버는, 상기 노면 데이터 중 경사도 데이터가 수신되면, 해당 구간에 대하여 데이터베이스에 기저장된 경사도 데이터 유무를 판단하고, 상기 판단 결과 기저장된 경사도 데이터가 없으면 상기 수신된 경사도 데이터를 즉시 저장하고, 상기 판단 결과 미리 저장된 경사도 데이터가 있고 기저장된 경사도 데이터와 상기 수신한 경사도 데이터가 상이하면, 상기 상이한 경사도 데이터가 미리 정의된 시간 내지 횟수 이상 지속적으로 수신되는 경우에만 상기 수신한 경사도 데이터에 기초하여 상기 기저장된 경사도 데이터를 업데이트할 수 있다.
상기 서버(210)는, 상기 주행 로봇(220)에 의해 요청된 경로 내 적어도 하나 이상의 구간에 대한 해당 주행 로봇에 의해 기저장된 주행 요인 정보가 있으면, 상기 주행 로봇(220)의 기저장된 주행 요인 정보와 해당 구간에 대하여 가장 최근에 업데이트된 주행 요인 정보를 비교하고, 상기 비교 결과가 임계치 미만이면, 상기 주행 로봇(220)의 기저장된 주행 요인 정보를 상기 최적 경로 데이터와 함께 전송하여, 상기 주행 로봇(220)이 해당 구간에서 상기 전송된 주행 요인 정보를 참조하여 주행하도록 제어하고, 상기 주행 로봇(220)의 센서를 통해 센싱된 값이 상기 전송된 주행 요인 정보와 임계치 이상 차이나는 데이터만 전송하도록 제어할 수 있다.
상기 서버(210)는, 상기 주행 로봇(210)으로부터 요청된 시작 위치와 목적 위치가 모두 커버(cover)하는 경로에 관한 기저장된 최적 경로 데이터가 존재하지 않으면, 상기 경로 내 시작 위치와 목적 위치 사이의 적어도 하나의 구간이 포함된 각 주행 로봇의 최적 구간 데이터를 추출하여 조합하여 상기 경로에 대한 상기 주행 로봇의 최적 경로 데이터를 결정하여 전송할 수 있다.
이상 상술한 본 발명에 따른 적어도 하나의 실시예에 따르면, 종래 지도에 존재하지 않으며 주행 로봇의 주행에 영향을 미치는 요소를 반영한 지도를 생성하고, 그러한 요소를 실시간 반영하여 상기 주행 로봇의 주행 안정성을 확보함과 동시에 목적지까지 상기 주행 로봇의 빠른 주행을 위한 최적 경로를 설정할 수 있으며, 상기 생성하는 지도를 통하여 목적지까지의 주행 로봇의 경로 또는 최적 경로 설정시에, 비인가 구역 또는 주행이 어려운 상태의 구역 내지 구간에 진입하는 것을 사전에 방지할 수 있고, 사고 지점, 경사도, 진동 정도 등 로봇의 주행에 영향을 미치는 여러 요소들을 상기 지도 생성에 참조하여, 목적지까지의 주행 로봇의 경로 또는 최적 경로 설정시에, 상기 주행 로봇의 사고율을 줄이고 주행 지연을 줄일 수 있다. 또한, 주행 중인 주행 로봇에 의해 획득되는 정보를 실시간으로 반영 또는 업데이트하여 도로 또는 시설물 파손, 장애물 위치의 변경, 교통 상황 등의 갑작스럽거나 다양한 상황에 보다 유연하게 대응할 수 있다.
전술한 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
1 내지 n: 주행 로봇
100: 주행 로봇 자율 주행 시스템
110: 컴퓨팅 디바이스
100: 주행 로봇 자율 주행 시스템
110: 컴퓨팅 디바이스
Claims (10)
- 주행 로봇의 자율 주행 방법에 있어서,
서버에서, 자율 또는 반자율 주행 로봇이거나 수동으로 조종되는 로봇으로부터 기본 정보 및 이동 경로 내지 상기 이동 경로 내 구간 단위의 해당 주행 로봇에 의해 센싱된 주행 요인 정보를 수신하는 단계;
상기 서버에서, 상기 수신한 주행 요인 정보에 기초하여 상기 이동 경로 내지 구간을 포함한 지도맵을 생성하여 저장하는 단계;
상기 서버에서, 특정 주행 로봇으로부터 시작 위치와 목적 위치를 포함한 경로 요청을 수신하는 단계;
상기 서버에서, 상기 저장한 지도맵에 기초하여 상기 주행 로봇에 최적 경로 데이터를 전송하는 단계; 및
상기 주행 로봇에서, 상기 서버로부터 전송된 최적 경로 데이터에 기초하여 주행하는 단계;를 포함하여 이루어지되,
상기 기본 정보는,
상기 각 주행 로봇의 식별자 데이터와, 주행 로봇 타입 및 성능에 관한 하드웨어 스펙 데이터를 포함하고,
상기 주행 요인 정보는,
상기 이동 경로 내지 구간 단위의 노면 데이터와 주행 환경 데이터를 포함하고,
상기 노면 데이터는, 노면 상태 데이터 및 경사 구간과 경사 각도를 포함한 경사도 데이터를 포함하고,
상기 주행 환경 데이터는, 이동 시간, 보행자 수, 이동 수단의 수와 밀도 및 장애물 데이터를 포함하는 것을 특징으로 하고,
상기 주행 로봇에서, 상기 서버로부터 전송된 최적 경로 데이터에 따라 주행하는 과정에서, 이동간 실시간으로 주행 요인 정보를 센싱하여 수집하는 단계; 및
상기 주행 로봇에서, 상기 수집한 주행 요인 정보를 상기 서버로 전송하는 단계;를 더 포함하고,
상기 각 주행 로봇은,
상기 주행 환경 데이터 중 보행자 수와 이동 수단의 수 및 밀도에 관한 데이터는 미리 정의된 구간 단위로 소정 시간 단위의 평균 데이터를 상기 서버로 전송하고, 상기 노면 데이터 중 노면 상태 데이터는 해당 주행 로봇의 센서에 의해 센싱된 값이 미리 정의된 시간 동안 지속적으로 임계치를 초과하는 경우에만 상기 서버로 전송하고,
상기 서버는,
상기 노면 데이터 중 경사도 데이터가 수신되면, 해당 구간에 대하여 데이터베이스에 기저장된 경사도 데이터 유무를 판단하고, 상기 판단 결과 기저장된 경사도 데이터가 없으면 상기 수신된 경사도 데이터를 즉시 저장하고, 상기 판단 결과 미리 저장된 경사도 데이터가 있고 기저장된 경사도 데이터와 상기 수신한 경사도 데이터가 상이하면, 상기 상이한 경사도 데이터가 미리 정의된 시간 내지 횟수 이상 지속적으로 수신되는 경우에만 상기 수신한 경사도 데이터에 기초하여 상기 기저장된 경사도 데이터를 업데이트하는 것을 특징으로 하고,
상기 서버는,
상기 주행 로봇에 의해 요청된 경로 내 적어도 하나 이상의 구간에 대한 해당 주행 로봇에 의해 기저장된 주행 요인 정보가 있으면, 상기 주행 로봇의 기저장된 주행 요인 정보와 해당 구간에 대하여 가장 최근에 업데이트된 주행 요인 정보를 비교하고,
상기 비교 결과가 임계치 미만이면, 상기 주행 로봇의 기저장된 주행 요인 정보를 상기 최적 경로 데이터와 함께 전송하여, 상기 주행 로봇이 해당 구간에서 상기 전송된 주행 요인 정보를 참조하여 주행하도록 제어하고, 상기 주행 로봇의 센서를 통해 센싱된 값이 상기 전송된 주행 요인 정보와 임계치 이상 차이나는 데이터만 전송하도록 제어하는 것을 특징으로 하고,
상기 서버는,
상기 주행 로봇으로부터 요청된 시작 위치와 목적 위치가 모두 커버하는 경로에 관한 기저장된 최적 경로 데이터가 존재하지 않으면,
상기 경로 내 시작 위치와 목적 위치 사이의 적어도 하나의 구간이 포함된 각 주행 로봇의 최적 구간 데이터를 추출하여 조합하여 상기 경로에 대한 상기 주행 로봇의 최적 경로 데이터를 결정하여 전송하는 것을 특징으로 하고,
상기 서버는 상기 로봇에 의해 전송된 평균 데이터를 동일 구역의 다른 로봇 및 동일 시간대의 과거 데이터와 비교하여 유효성을 판단하고, 상기 판단결과가 유효하다고 판단되면 지도 DB를 갱신하고,
상기 로봇은 상기 동일 구역의 다른 로봇이 측정한 데이터를 과거 시점의 데이터를 이용하여 어노말리 디텍션을 수행하고 이상이 없는 경우에만 상기 지도 DB의 업데이트를 수행하는, 주행 로봇 자율 주행 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 주행 로봇의 자율 주행 시스템에 있어서,
상기 주행 로봇은 자율 또는 반자율 주행 로봇이거나 수동으로 조종되는 로봇으로서,
시작 위치와 목적 위치 사이의 최적 경로로 주행하되, 센서를 통하여 이동간 주행 로봇의 주행 요인 정보를 수집하는 적어도 하나의 주행 로봇; 및
각 주행 로봇으로부터 기본 정보 및 이동 경로 내지 상기 이동 경로 내 구간 단위의 해당 주행 로봇에 의해 센싱된 주행 요인 정보를 수신하고, 상기 수신한 주행 요인 정보에 기초하여 상기 이동 경로 내지 구간을 포함한 지도맵을 생성하여 저장하고, 특정 주행 로봇으로부터 시작 위치와 목적 위치를 포함한 경로 요청이 수신되면, 상기 저장한 지도맵에 기초하여 상기 주행 로봇에 최적 경로 데이터를 전송하여 상기 주행 로봇의 최적 경로 데이터에 기초한 주행을 제어하는 서버;를 포함하되,
상기 기본 정보는,
상기 각 주행 로봇의 식별자 데이터와, 주행 로봇 타입 및 성능에 관한 하드웨어 스펙 데이터를 포함하고,
상기 주행 요인 정보는,
상기 이동 경로 내지 구간 단위의 노면 데이터와 주행 환경 데이터를 포함하고,
상기 노면 데이터는, 노면 상태 데이터 및 경사 구간과 경사 각도를 포함한 경사도 데이터를 포함하고,
상기 주행 환경 데이터는, 이동 시간, 보행자 수, 이동 수단의 수와 밀도 및 장애물 데이터를 포함하는 것을 특징으로 하고,
상기 주행 로봇에서, 상기 서버로부터 전송된 최적 경로 데이터에 따라 주행하는 과정에서, 이동간 실시간으로 주행 요인 정보를 센싱하여 수집하는 단계; 및
상기 주행 로봇에서, 상기 수집한 주행 요인 정보를 상기 서버로 전송하는 단계;를 더 포함하고,
상기 각 주행 로봇은,
상기 주행 환경 데이터 중 보행자 수와 이동 수단의 수 및 밀도에 관한 데이터는 미리 정의된 구간 단위로 소정 시간 단위의 평균 데이터를 상기 서버로 전송하고, 상기 노면 데이터 중 노면 상태 데이터는 해당 주행 로봇의 센서에 의해 센싱된 값이 미리 정의된 시간 동안 지속적으로 임계치를 초과하는 경우에만 상기 서버로 전송하고,
상기 서버는,
상기 노면 데이터 중 경사도 데이터가 수신되면, 해당 구간에 대하여 데이터베이스에 기저장된 경사도 데이터 유무를 판단하고, 상기 판단 결과 기저장된 경사도 데이터가 없으면 상기 수신된 경사도 데이터를 즉시 저장하고, 상기 판단 결과 미리 저장된 경사도 데이터가 있고 기저장된 경사도 데이터와 상기 수신한 경사도 데이터가 상이하면, 상기 상이한 경사도 데이터가 미리 정의된 시간 내지 횟수 이상 지속적으로 수신되는 경우에만 상기 수신한 경사도 데이터에 기초하여 상기 기저장된 경사도 데이터를 업데이트하는 것을 특징으로 하고,
상기 서버는,
상기 주행 로봇에 의해 요청된 경로 내 적어도 하나 이상의 구간에 대한 해당 주행 로봇에 의해 기저장된 주행 요인 정보가 있으면, 상기 주행 로봇의 기저장된 주행 요인 정보와 해당 구간에 대하여 가장 최근에 업데이트된 주행 요인 정보를 비교하고,
상기 비교 결과가 임계치 미만이면, 상기 주행 로봇의 기저장된 주행 요인 정보를 상기 최적 경로 데이터와 함께 전송하여, 상기 주행 로봇이 해당 구간에서 상기 전송된 주행 요인 정보를 참조하여 주행하도록 제어하고, 상기 주행 로봇의 센서를 통해 센싱된 값이 상기 전송된 주행 요인 정보와 임계치 이상 차이나는 데이터만 전송하도록 제어하는 것을 특징으로 하고
상기 서버는,
상기 주행 로봇으로부터 요청된 시작 위치와 목적 위치가 모두 커버하는 경로에 관한 기저장된 최적 경로 데이터가 존재하지 않으면,
상기 경로 내 시작 위치와 목적 위치 사이의 적어도 하나의 구간이 포함된 각 주행 로봇의 최적 구간 데이터를 추출하여 조합하여 상기 경로에 대한 상기 주행 로봇의 최적 경로 데이터를 결정하여 전송하는 것을 특징으로 하고,
상기 서버는 상기 로봇에 의해 전송된 평균 데이터를 동일 구역의 다른 로봇 및 동일 시간대의 과거 데이터와 비교하여 유효성을 판단하고, 상기 판단결과가 유효하다고 판단되면 지도 DB를 갱신하고,
상기 로봇은 상기 동일 구역의 다른 로봇이 측정한 데이터를 과거 시점의 데이터를 이용하여 어노말리 디텍션을 수행하고 이상이 없는 경우에만 상기 지도 DB의 업데이트를 수행하는 주행 로봇의 자율 주행 시스템. - 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200035230A KR102368082B1 (ko) | 2020-03-23 | 2020-03-23 | 로봇의 자율 주행 제어 방법 및 그를 위한 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200035230A KR102368082B1 (ko) | 2020-03-23 | 2020-03-23 | 로봇의 자율 주행 제어 방법 및 그를 위한 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210118672A KR20210118672A (ko) | 2021-10-01 |
KR102368082B1 true KR102368082B1 (ko) | 2022-02-25 |
Family
ID=78609894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200035230A KR102368082B1 (ko) | 2020-03-23 | 2020-03-23 | 로봇의 자율 주행 제어 방법 및 그를 위한 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102368082B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024005618A1 (ko) * | 2022-07-01 | 2024-01-04 | 엘지전자 주식회사 | 공도에서의 보행자 통행 우선권 보장을 위한 무인 지상 주행 로봇의 주행 및 통행 방법 |
KR102627745B1 (ko) * | 2023-01-20 | 2024-01-19 | 주식회사 에이엠티에스 | 로봇 파레트의 트래픽 분산 시스템 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102635529B1 (ko) * | 2016-10-10 | 2024-02-13 | 엘지전자 주식회사 | 공항용 로봇 및 그의 동작 방법 |
-
2020
- 2020-03-23 KR KR1020200035230A patent/KR102368082B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20210118672A (ko) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6898394B2 (ja) | 車両の自動運転制御補助方法、車両の自動運転制御補助装置、機器、コンピュータ読み取り可能な記憶媒体及び車路連携システム | |
EP3602220B1 (en) | Dynamic sensor selection for self-driving vehicles | |
CN110119147B (zh) | 车辆自动驾驶方法、装置、计算机设备和存储介质 | |
JP5288423B2 (ja) | データ配信システム、及びデータ配信方法 | |
US9409644B2 (en) | Automotive drone deployment system | |
US20190101649A1 (en) | Systems, devices, and methods for autonomous vehicle localization | |
CN110687928A (zh) | 降落控制方法,系统,无人机及存储介质 | |
CN107957258B (zh) | 道路标记识别装置 | |
CN112292580B (zh) | 定位系统和用于运行该定位系统的方法 | |
CN113330279A (zh) | 用于确定车辆的位置的方法和系统 | |
CN111505690B (zh) | 实时检测应急车辆并规划行驶路径的方法及装置 | |
CN109917791B (zh) | 移动装置自动探索构建地图的方法 | |
US20210394782A1 (en) | In-vehicle processing apparatus | |
KR102368082B1 (ko) | 로봇의 자율 주행 제어 방법 및 그를 위한 시스템 | |
CN112394725A (zh) | 用于自动驾驶的基于预测和反应视场的计划 | |
CN114080537A (zh) | 收集与可导航网络有关的用户贡献数据 | |
JP2023174747A (ja) | 情報処理装置、情報収集装置、地図情報更新タイミング判定システム、地図情報更新タイミング判定方法およびプログラム | |
CN112506187A (zh) | 移动机器人监控方法、装置及存储介质 | |
US12097880B2 (en) | Augmented 3D map | |
KR20170103551A (ko) | 무인 차량의 주행 정보 제공 장치 및 방법 | |
US20220221298A1 (en) | Vehicle control system and vehicle control method | |
JP6973294B2 (ja) | 車両捜索システムおよび車両捜索方法 | |
KR102503608B1 (ko) | 모빌리티 장치에 최적 경로 제공 시스템 | |
CN116931599A (zh) | 光伏发电场调度机器人的路线控制方法 | |
CN116481541A (zh) | 一种无需卫星导航的车辆自主返航控制方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |