KR20220124199A - 장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇 - Google Patents

장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇 Download PDF

Info

Publication number
KR20220124199A
KR20220124199A KR1020227026213A KR20227026213A KR20220124199A KR 20220124199 A KR20220124199 A KR 20220124199A KR 1020227026213 A KR1020227026213 A KR 1020227026213A KR 20227026213 A KR20227026213 A KR 20227026213A KR 20220124199 A KR20220124199 A KR 20220124199A
Authority
KR
South Korea
Prior art keywords
edge
robot
along
obstacle
point
Prior art date
Application number
KR1020227026213A
Other languages
English (en)
Inventor
밍 리
Original Assignee
아미크로 세미컨덕터 씨오., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아미크로 세미컨덕터 씨오., 엘티디. filed Critical 아미크로 세미컨덕터 씨오., 엘티디.
Publication of KR20220124199A publication Critical patent/KR20220124199A/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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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
    • 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
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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
    • 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
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, 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/0227Control of position or course in two dimensions specially adapted to land vehicles using mechanical sensing means, e.g. for sensing treated area
    • 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
    • G05D2201/02

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇을 제공한다. 이 장애물 통과 종료 판단 방법은, 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행할 경우, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하는 S101; 가이드 조건을 만족하는 제2 사전 설정 전환점 집합에서, 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점으로 되는 하나의 최적의 전환점을 획득하는 S102; 상기 최적의 전환점과 로봇의 현재 위치가 연결되는 선분에 장애물이 표기되었는지 여부를 판단하는 S103; 표기되었을 경우, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하는 S104; 표기되지 않을 경우, 로봇의 현재 장애물 통과를 종료하는 것으로 결정하는 S105; 를 포함한다. 상기 장애물 통과 종료 판단 방법은 로봇의 장애물 통과 속도 및 네비게이션 효율을 향상시킨다. 장애물 통과 제어 방법은 장애물 통과 종료 판단 방법의 기초상에서 로봇이 가장자리를 따른 장애물 통과를 종료하고 네비게이션 경로로 돌아가도록 제어한다.

Description

장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇
본 발명은 로봇의 가장자리를 따른 장애물 통과 기술 분야에 관한 것으로, 특히 로봇의 장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇에 관한 것이다.
로봇 네비게이션 제어는, 로봇이 맵에서 하나의 좌표점으로부터 다른 하나의 좌표점으로 주행하도록 제어하는 것으로, 일반적으로 먼저 맵에서 하나의 경로를 검색한 다음, 이 경로에 따라 목표점에 도달할 때까지 주행하는 것이다. 하지만, 기존의 시각적 청소 로봇은, 맵의 정밀도가 높지 않고, 맵의 장애물 표기가 정확하지 않으며, 로봇이 네비게이션 경로에 따라 정확하게 주행하지 않는 등 요소의 영향으로 인해, 로봇이 장애물을 따라 주행하는 과정에서, 장애물을 벗어날 수 있는 네비게이션 방향을 선택하지 않고, 장애물의 가장자리를 따라 끊임없이 주행한다. 로봇이 가장자리를 따라 일정한 정도까지 장애물을 통과하면 이번 네비게이션이 안내가 계속되지 못하거나 또는 원래 네비게이션의 목표점에서 이탈한 것으로 간주하고, 이번 네비게이션을 포기할 수 있으므로, 로봇이 장애물을 통과하는 성공율 및 네비게이션 효율을 낮출 수 있다.
상기 과제를 해결하기 위해, 본 발명은 로봇을 제어하여 사전에 설정된 네비게이션 경로에서 가장 최적의 전환점을 선택함으로써, 현재의 가장자리를 따라 장애물을 통과하는 동작을 종료할지 여부를 판단하는 장애물 통과 종료 판단 방법, 장애물 제어 방법, 칩 및 로봇을 개시한다. 구체적인 기술방안은 다음과 같다.
본 발명은, 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행할 경우, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하되, 네비게이션 경로는 로봇이 네비게이션을 시작하기 전에 설정된 것이고, 가장 빠른 가장자리를 따른 예측 경로는 로봇이 네비게이션 과정에서 장애물과의 충돌로 인해 계획하여 선택된 것인 단계; 가이드 조건을 만족하는 제2 사전 설정 전환점 집합에서 하나의 최적의 전환점을 획득하되, 상기 최적의 전환점은 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점인 단계; 상기 최적의 전환점과 로봇의 현재 위치가 연결되는 선분에 장애물이 표기되었는지 여부를 판단하며, 장애물이 표기되었을 경우, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하고, 장애물이 표기되지 않을 경우, 로봇의 현재 장애물 통과가 종료된 것으로 결정하는 단계; 를 포함하는 로봇의 장애물 통과 종료 판단 방법을 제공한다. 본 기술방안에 따르면, 로봇이 현재 검출된 장애물을 통과할지 여부의 검출을 가속화함으로써, 로봇이 가장자리를 따른 장애물 통과를 위해 하나의 장애물 통과 종료 상태를 판단하는 조건을 제공하고, 로봇이 끊임없이 장애물을 따라 엣지 주행하는 것을 방지하고, 로봇이 장애물을 통과한 후 곧바로 네비게이션 경로로 전환하여, 로봇의 네비게이션 효율을 향상시킨다.
진일보로, 상기 가이드 조건을 만족하는 제2 사전 설정 전환점 집합에서 하나의 최적의 전환점을 획득하되, 상기 최적의 전환점은 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점인 방법은, 장애물 통과를 판정하는 하나의 임계값을 사전에 설정하는 단계; 가이드 조건을 만족하는 제2 사전 설정 전환점 집합 중의 각 전환점과 로봇의 현재 위치 사이의 거리를 각각 계산한 다음, 상기 거리를 장애물 통과 판정 임계값으로 각각 뺄셈을 하여 대응된 차이값의 절대값을 획득하는 단계; 가이드 조건을 만족하는 제2 사전 설정 전환점 집합 중의 각 전환점과 로봇의 현재 위치 사이의 거리를 장애물 통과 판정 임계값의 차이값의 절대값과 비교하는 것을 통해, 차이값의 절대값이 가장 작은 대응되는 전환점을 선택하여 상기 최적의 전환점으로 하되, 상기 최적의 전환점은 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점인 단계; 를 포함한다. 따라서, 로봇이 현재 위치에서 장애물을 통과하였는지 여부를 보다 정확하게 판단한다.
진일보로, 상기 최적의 전환점과 로봇의 현재 위치가 연결되는 선분에 장애물이 표기되었는지 여부를 판단하며, 장애물이 표기되었을 경우, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하고, 장애물이 표기되지 않을 경우, 로봇의 현재 장애물 통과가 종료된 것으로 결정하는 방법은, 로봇의 현재 위치와 상기 최적의 전환점이 연결되는 선분에서, 상기 선분이 지나가는 그리드 좌표에 그리드 맵에 사전 표기된 장애물 포인트의 좌표와 동일한 하나의 그리드 좌표가 존재하는지 여부를 하나씩 판단하며, 존재할 경우, 로봇의 현재 위치와 최적의 전환점이 연결되는 선분에 장애물이 존재하는 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되지 않는 것으로 결정하고, 존재하지 않을 경우, 로봇의 현재 위치와 최적의 전환점이 연결되는 선분에 장애물이 존재하지 않는 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되는 것으로 결정하는 단계를 포함한다. 본 기술방안에 따르면, 로봇의 현재 위치에서 네비게이션 경로의 최적의 전환점을 향하는 방향에 장애물이 존재하는지 여부를 판단하기 위한 것으로, 장애물이 존재하지 않을 경우, 로봇의 후속적인 네비게이션 과정에서 검출되는 장애물이 더 적음을 의미하므로, 로봇에 네비게이션을 가속화할 수 있는 장애물 통과 시간, 즉 상기 판단 방법에 기반하여 결정되는 장애물 통과 종료 상태의 시간을 제공한다.
진일보로, 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 과정에서, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하는지 여부를 판단하며, 만족할 경우, 로봇이 동일한 위치에 갇히지 않은 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하고, 만족하지 않을 경우, 로봇이 동일한 위치에 갇힌 것으로 결정하는 단계를 더 포함한다. 본 기술방안에 따르면, 로봇이 장애물을 통과하여 계속 네비게이션할 수 있는 조건을 개시함으로써, 로봇이 갇히는 비정상 상태를 사전에 종료하는 것에 유리하다.
진일보로, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하는지 여부를 판단하며, 만족할 경우, 로봇이 동일한 위치에 갇히지 않은 것으로 결정하고, 만족하지 않을 경우, 로봇이 동일한 위치에 갇힌 것으로 결정하는 방법은, 구체적으로, 로봇이 엣지 주행하는 시간이 상기 사전에 설정된 가장자리를 따른 시간에 도달하였다고 시간을 카운트할 때마다, 로봇의 가장자리를 따른 회전 각도가 사전에 설정된 최대 회전각 이하로 판단되고, 또한 로봇의 엣지 주행한 노정이 사전에 설정된 가장자리를 따른 최대 거리 이하로 판단되면, 로봇이 동일한 위치에 갇히지 않은 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하는 단계; 로봇이 엣지 주행하는 시간이 상기 사전에 설정된 가장자리를 따른 시간에 도달하거나 초과하였다고 시간을 카운트할 때마다, 로봇의 가장자리를 따른 회전 각도가 사전에 설정된 최대 회전각보다 큰 것으로 판단되거나, 또는 로봇의 엣지 주행한 노정이 사전에 설정된 가장자리를 따른 최대 거리보다 큰 것으로 판단되면, 로봇은 동일한 위치에 갇힌 것으로 결정하여, 로봇이 현재 장애물 통과를 종료하는 것으로 결정하는 단계; 를 포함하며, 로봇의 가장자리를 따른 회전 각도는 로봇이 정기적으로 읽는 자이로스코프 각도 증분을 누적한 결과이다. 본 기술방안에 따르면, 로봇이 가장자리를 따라 장애물을 통과할 시 수집되는 가장자리를 따른 시간, 가장자리를 따른 거리 및 가장자리를 따른 각도를 이용하여 로봇이 갇혔는지 여부를 판단하여, 로봇의 장애물 통과 종료 상태를 미리 알리도록 하고, 로봇이 현재의 가장 빠른 가장자리를 따른 예측 경로에 대한 포기를 미리 선택하도록 함으로써, 로봇이 가장자리를 따라 너무 오래 주행하여 네비게이션 경로에서 너무 멀리 이탈되는 것을 방지한다.
진일보로, 상기 가장 빠른 가장자리를 따른 예측 경로를 계획하는 방법은, 먼저 로봇의 장애물 통과를 위한 가장자리를 따른 예측 경로를 계획하고, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택하되, 로봇에는 전환점이 연결되어 형성된 네비게이션 경로가 사전에 설정되고, 상기 전환점은 로봇을 유도하여 최종 네비게이션 목표점까지 이동하도록 하기 위한 것이고, 가장자리를 따른 예측 경로는 가장자리를 따른 방향이 반대되는 2개의 가장자리를 따른 예측 경로를 포함하는 단계; 그 다음 가장자리를 따른 예측 경로 각각에서 모든 가장자리를 따른 동작점과 동일한 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점 사이의 거리 정보에 근거하여, 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로를 선택하여, 상기 가장 빠른 가장자리를 따른 예측 경로로하는 단계; 를 포함한다. 따라서, 로봇이 장애물과 충돌한 후 상기 선택되는 가장자리를 따른 예측 경로의 가장자리를 따른 방향을 따라 주행하도록 하여 신속한 장애물 통과를 실현하므로, 로봇이 장애물을 통과하는 과정에서의 충돌 횟수를 감소하고, 로봇이 상기 네비게이션 경로를 이탈하거나 최종 네비게이션 목표점에서 너무 멀어지는 것을 방지하며, 로봇의 고효율적인 가장자리를 따른 장애물 통과 기능을 실현하고, 로봇의 지능화 수준을 향상시킨다.
진일보로, 상기 가장자리를 따른 예측 경로 각각에서 모든 가장자리를 따른 동작점과 동일한 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점 사이의 거리 정보에 근거하여, 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로를 선택하여, 로봇이 장애물에 충돌된 후 상기 선택된 가장자리를 따른 예측 경로의 가장자리를 따른 방향에 따라 주행하도록 함으로써 장애물 통과를 실현하는 방법은, 상기 가장자리를 따른 예측 경로는 방향이 서로 반대되는 좌측 가장자리를 따른 예측 경로 및 우측 가장자리를 따른 예측 경로를 포함하는 단계; 상기 네비게이션 경로의 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점에서 좌측 가장자리를 따른 예측 경로에서의 동일한 가장자리를 따른 동작점까지의 거리를 계산한 다음, 상기 거리의 합을 구함으로써, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 가장자리를 따른 동작점이 생성하는 하나의 좌측 부분적인 거리의 합을 획득하고, 그 다음 상기 계산 단계를 반복하여 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 좌측 가장자리를 따른 예측 경로에서의 가장자리를 따른 각 동작점이 생성하는 좌측 부분적인 거리의 합을 획득하며, 상기 좌측 부분적인 거리의 합을 덧셈하여, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 좌측 가장자리를 따른 예측 경로가 생성하는 것으로, 상기 네비게이션 경로에 대한 좌측 가장자리를 따른 예측 경로의 이탈 정도를 나타내기 위한 좌측 거리의 총합을 획득하는 단계; 이와 동시에, 상기 네비게이션 경로의 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점에서 우측 가장자리를 따른 예측 경로에서의 동일한 가장자리를 따른 동작점까지의 거리를 계산한 다음, 상기 거리의 합을 구함으로써, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 가장자리를 따른 동작점이 생성하는 하나의 우측 부분적인 거리의 합을 획득하고, 그 다음 상기 계산 단계를 반복하여 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 우측 가장자리를 따른 예측 경로에서의 가장자리를 따른 각 동작점이 생성하는 우측 부분적인 거리의 합을 획득하며, 상기 우측 부분적인 거리의 합을 덧셈하여, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 우측 가장자리를 따른 예측 경로가 생성하는 것으로, 상기 네비게이션 경로에 대한 우측 가장자리를 따른 예측 경로의 이탈 정도를 나타내기 위한 우측 거리의 총합을 획득하는 단계; 좌측 거리 총합이 우측 거리 총합보다 클 경우, 우측 가장자리를 따른 예측 경로가 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로인 것으로 결정하며, 우측 가장자리를 따른 예측 경로를 선택하여 상기 가장 빠른 가장자리를 따른 예측 경로로 하는 단계; 우측 거리 총합이 좌측 거리 총합보다 클 경우, 좌측 가장자리를 따른 예측 경로가 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로인 것으로 결정하며, 좌측 가장자리를 따른 예측 경로를 선택하여 상기 가장 빠른 가장자리를 따른 예측 경로로 하는 단계; 를 포함하며, 우측 거리 총합이 작을수록, 상기 네비게이션 경로에 대한 우측 가장자리를 따른 예측 경로의 이탈 정도는 더 작고; 좌측 거리 총합이 작을수록, 상기 네비게이션 경로에 대한 좌측 가장자리를 따른 예측 경로의 이탈 정도는 더 작다. 본 기술방안에 따르면, 가장자리를 따른 예측 경로와 네비게이션 경로에서 특정된 경로 노드 사이의 거리 합의 값을 비교하여, 가장자리를 따른 예측 경로와 네비게이션 경로의 차이 정도를 결정하고, 차이 정도가 작은 가장자리를 따른 예측 경로에 대응되는 가장자리를 따른 방향을 선택하여 로봇이 가장자리를 따라 장애물을 통과하는 최적의 방향으로 함으로써, 로봇이 장애물을 통과하는 과정에서 사전에 설정된 네비게이션 목표(즉, 상기 네비게이션 경로의 최종 네비게이션 목표점)를 지나치게 이탈하는 것을 방지한다.
진일보로, 현재 계획된 상기 가장 빠른 가장자리를 따른 예측 경로대로 주행하기 전에, 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 큰지 여부를 판단하며, 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 클 경우, 로봇이 2개의 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 가장자리를 따른 예측 경로를 계획하도록 제어하고, 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 크지 않을 경우, 로봇이 가장자리를 따른 방향을 변경하도록 제어하여, 로봇이 회전하여 현재 결정된 가장자리를 따른 방향과 반대되는 방향을 따라 주행하도록 하는 단계를 더 포함하며, 현재 결정된 가장자리를 따른 방향은 로봇에 전원 연결시 사전 설정되는 가장자리를 따른 방향 및 지난번 선택된 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로의 가장자리를 따른 방향을 포함하고, 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획할 수 없는 것으로 판단될 경우, 로봇이 회전하여 현재 결정된 가장자리를 따른 방향과 반대되는 방향을 따라 주행하도록 제어하며, 거리 안정 임계값은 로봇의 본체 직경 크기로 설정된다. 따라서, 로봇이 가장자리를 따른 장애물 통과 실패로 인해 동일한 위치에 갇히는 것을 방지하고, 로봇이 상기 가장자리를 따른 예측 경로를 계획할 수 없음으로 인해 무효적인 가장자리를 따른 장애물 통과 동작을 진행하여, 로봇이 오류적인 가장자리를 따른 방향에서 점점 멀리 주행하는 것도 방지한다.
진일보로, 로봇이 계획된 상기 가장 빠른 가장자리를 따른 예측 경로에서 주행하지 않을 경우, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택하고; 로봇이 계획된 가장 빠른 가장자리를 따른 예측 경로를 따라 주행할 경우, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하며; 제1 사전 설정 전환점 집합 및 제2 사전 설정 전환점 집합은 모두 상기 네비게이션 경로에서 상기 가이드 조건을 만족하는 전환점으로 구성된 것이다. 따라서, 가이드 조건을 만족하는 사전에 설정된 전환점의 선택 알고리즘의 이용율을 향상시킨다.
진일보로, 상기 가이드 조건은 구체적으로, 먼저 상기 네비게이션 경로로부터 하나의 목표 전환점을 선택한 다음, 상기 목표 전환점 및 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 하나 또는 2개의 전환점에 상기 최종 네비게이션 목표점이 존재하는지 여부를 각각 판단하여, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하는 것으로 구현되며, 상기 네비게이션 경로의 네비게이션 전진 방향은 로봇을 유도하여 상기 최종 네비게이션 목표점의 로봇 네비게이션 방향으로 이동하도록 하기 위한 것이고, 상기 최종 네비게이션 목표점은 또한 상기 네비게이션 경로의 종점으로서, 상기 네비게이션 경로 중 하나의 전환점에 속한다. 본 기술방안에 따르면, 로봇의 네비게이션 경로에서 연속으로 설정되는 3개의 전환점에 상기 네비게이션 경로의 종점이 존재하는지 여부를 판단하여, 로봇을 유도하여 상기 최종 네비게이션 목표점까지 이동할 수 있도록 하는 대표성을 갖는 전환점을 선별하며, 상기 네비게이션 경로와 상기 가장자리를 따른 예측 경로의 차이 정도를 비교하는데 사용될 수도 있다.
진일보로, 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 2개의 전환점이 모두 상기 최종 네비게이션 목표점이 아닌 것으로 판단될 경우, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 상기 목표 전환점 및 상기 네비게이션 경로에서 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 2개의 전환점을 포함하는 것으로 결정하고; 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 첫번째 전환점 또는 두번째 전환점이 상기 최종 네비게이션 목표점인 것으로 판단될 경우, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은, 상기 네비게이션 경로에서 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 상기 최종 네비게이션 목표점까지 배열되는 모든 전환점을 포함하는 것으로 결정하고, 상기 목표 전환점 및 상기 최종 네비게이션 목표점도 포함되며; 첫번째 전환점은 상기 네비게이션 경로의 네비게이션 전진 방향에서 상기 목표 전환점과 인접하여 설정되고, 두번째 전환점도 상기 네비게이션 경로의 네비게이션 전진 방향에서 첫번째 전환점과 인접하여 설정되며; 상기 네비게이션 경로에서 선택되는 목표 전환점이 상기 최종 네비게이션 목표점인 것으로 판단될 경우, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 단지 상기 최종 네비게이션 목표점뿐인 것으로 결정한다. 이 기술방안에 따른 가이드 조건을 만족하는 사전 설정 전환점은 상기 네비게이션 경로의 네비게이션 방향 특성을 나타낼 수 있으며, 네비게이션 경로의 종점의 영향 요인을 충분히 고려하여, 가장자리를 따른 예측 경로와 네비게이션 경로의 차이 정도에 대한 후속 계산량을 간략화한다.
진일보로, 사전에 설정된 네비게이션 경로에서 목표 전환점을 선택하는 구체적인 방법은, 로봇의 현재 위치를 중심으로 하고, 로봇의 현재 위치와의 최대 거리가 제1 사전 설정 거리 임계값인 그리드 좌표로 구성되는 전환점 비교 영역을 설정하되, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택할 경우, 로봇의 현재 위치는 계획된 가장 빠른 가장자리를 따른 예측 경로에 존재하지 않고, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택할 경우, 로봇의 현재 위치는 계획된 가장 빠른 가장자리를 따른 예측 경로에 존재하는 단계; 상기 전환점 비교 영역에 하나의 상기 전환점만 존재할 경우, 상기 전환점을 선택하여 상기 목표 전환점으로 표기하는 단계; 상기 전환점 비교 영역에 2개 이상의 상기 전환점이 존재할 경우, 로봇의 현재 위치와의 거리가 제1 사전 설정 거리 임계값보다 작은 전환점에서, 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 상기 최종 네비게이션 목표점에 가장 가까운 전환점을 선택하여, 상기 목표 전환점으로 표기하는 단계; 상기 전환점 비교 영역에 상기 전환점이 존재하지 않을 경우, 상기 네비게이션 경로의 네비게이션 전진 방향을 따라, 상기 네비게이션 경로에서 로봇이 최근에 표기한 목표 전환점과 인접하는 전환점을 선택하여 새로운 목표 전환점으로 표기하는 단계; 를 포함하며, 로봇의 현재 위치와 그 중 하나의 상기 전환점의 거리가 제1 사전 설정 거리 임계값보다 작은 제2 사전 설정 거리 임계값보다 작을 경우, 로봇의 현재 위치와 상기 전환점은 겹쳐지는 것으로 결정한다. 본 기술방안에 따르면, 선택한 상기 목표 전환점이 부분적인 네비게이션 영역 내에서 로봇을 유도하여 상기 네비게이션 경로의 종점 방향으로 이동하도록 하는 작용을 한다.
진일보로, 상기 네비게이션 경로는 순서에 따라 분포되는 한 그룹의 전환점이 연결되어 형성된 것이고, 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 설정되는 전환점의 계획 순번은 순서에 따라 체증(遞增)되며, 상기 제1 사전 설정 전환점 집합 또는 상기 제2 사전 설정 전환점 집합에 포함되는 전환점의 계획 순번은 순서에 따라 체증되고, 대응되는 전환점 집합 중의 상기 목표 전환점의 계획 순번보다 작은 전환점은 로봇에 의해 이미 순회된 전환점으로 표기되며, 상기 최종 네비게이션 목표점의 계획 순번은 가장 크므로, 상기 네비게이션 경로의 네비게이션 전진 방향에서 상기 최종 네비게이션 목표점에 가까운 전환점일수록 대응되는 계획 순번은 더 크다. 본 기술방안에 따르면, 번호를 매기는 방식을 통해 상기 네비게이션 경로에서의 모든 전환점을 정리하여 구분함으로써, 시스템 소프트웨어가 쉽게 전환점을 인식하여 처리하고, 상기 가이드 조건을 만족하는 사전 설정 전환점의 선택을 가속화하며, 로봇이 가장자리를 따른 방향을 선택하는 속도를 향상시킨다.
진일보로, 상기 로봇의 장애물 통과를 위한 가장자리를 따른 예측 경로의 계획 방법은, 로봇이 현재 장애물과 충돌한 후, 장애물 정보가 사전에 표기된 그리드 맵에 충돌점을 표기하는 단계 1; 현재 표기된 충돌점의 근처에서, 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 선택하고, 선택한 그리드를 로봇의 장애물의 가장자리를 따라 주행하기 위한 가장자리를 따른 동작점으로 표기하여, 상기 가장자리를 따른 동작점으로 상기 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 구성하는 단계 2; 를 포함한다. 본 기술방안에 따르면, 로봇이 장애물과 충돌된 것을 검출한 후, 엣지 주행을 시작하기 전에, 현재 표기된 충돌점의 근처에서 가장자리를 따른 장애물 통과를 유지하는 조건을 구비하는 그리드를 찾아, 후속적으로 로봇이 해당 그리드에 따라 계획되는 장애물 통과 경로에 따라 엣지 주행을 진행함으로써, 로봇의 충돌 횟수를 감소하고, 장애물을 통과하는 네비게이션을 가속화한다.
진일보로, 상기 단계 2의 구체적인 방법은, 현재 표기된 충돌점과의 거리 관계가 가장 가까운 거리 조건을 만족하는 장애물 포인트를 검색하는 단계 21; 단계 21에서 검색된 장애물 포인트의 근처에서, 사전의 가장자리를 따른 조건을 만족하는 그리드를 검색하는 단계 22; 사전의 가장자리를 따른 조건을 만족하는 그리드의 개수가 제2 사전 설정 그리드 수에 도달하는 것으로 통계될 경우, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 상기 최적의 가장자리를 따른 조건을 만족하는 그리드를 선택하고, 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드로도 하는 단계 23; 단계 23에서 선택된 상기 최적의 가장자리를 따른 조건을 만족하는 그리드를 새로운 충돌점으로 표기하고, 로봇이 장애물의 가장자리를 따라 주행하기 위한 대응되는 가장자리를 따른 예측 경로에서 새로 계획된 가장자리를 따른 동작점으로 추가함과 동시에, 상기 새로운 충돌점을 현재 표기된 충돌점으로 업데이트하고, 사전에 설정된 장애물 통과 그리드 수의 가장자리를 따른 동작점이 표기될 때까지 단계 21로 돌아가 실행하는 단계 24; 를 포함하며, 단계 21에서 가장 가까운 거리 조건을 만족하는 장애물 포인트가 검색되지 않을 경우, 상기 가장자리를 따른 예측 경로를 계획할수 없는 것으로 결정하거나; 또는, 단계 22에서 사전의 가장자리를 따른 조건을 만족하는 그리드가 검색되지 않을 경우, 상기 가장자리를 따른 예측 경로를 계획할수 없는 것으로 결정한다. 본 기술방안에 따르면, 단계 21 내지 단계 24를 반복으로 실행하여, 적절한 그리드 개수 범위 내에서, 계획된 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 새로운 충돌점으로 표기하는 것을 실현하여, 로봇이 장애물의 대응되는 일측의 가장자리를 에둘러 주행하는 가장자리를 따른 예측 경로를 계획함으로써, 로봇이 맵의 장애물 가장자리에 근거하여 엣지 주행할 경로를 예측하는데 유리하다.
진일보로, 상기 단계 23에서, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드는, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 선택되는 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 포함하며, 로봇의 중심 위치는 상기 가장자리를 따른 예측 경로를 계획하는 과정에서 변하지 않는다. 따라서, 본 기술방안에 따르면, 결정한 그리드로 구성되는 가장자리를 따른 예측 경로를 계획하여 장애물의 윤곽선에 최대한 근접하는 것을 실현한다.
진일보로, 상기 단계 23은 구체적으로, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드의 통계 개수가 제2 사전 설정 그리드 수에 도달할 경우, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계에 따라, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 선택하여, 상기 가장자리를 따른 장애물 통과 조건을 만족시키는 단계를 포함한다. 본 기술방안에 따르면, 소정의 통계 개수를 만족하는 전제하에서, 적합한 길이의 가장자리를 따른 예측 경로를 계획함으로써, 로봇의 장애물 통과를 네비게이션 하는 처리 효율을 향상시킨다.
진일보로, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계의 계산 방법은, 로봇의 중심 위치를 원점으로 하고, 로봇의 본체 우측 방향을 X축 + 방향으로 하며, 로봇 현재의 전진 방향을 Y축 + 방향으로 하여, 로봇 좌표계를 설정하는 단계; 상기 로봇 좌표계에서, 로봇 좌표계의 원점에 대한 상기 최적의 가장자리를 따른 조건을 만족하는 각 그리드의 좌표값 및 각도값을 각각 계산하는 단계; 를 포함한다. 따라서, 로봇의 로컬 좌표계를 사용하여 계획된 그리드 좌표의 계산에 참여함으로써, 관련 그리드의 좌표 계산이 합리적이고 정확하다.
진일보로, 상기 충돌점은 전측 충돌점, 좌측 층돌점 및 우측 충돌점을 포함하며, 로봇의 본체 좌측 전방에는 좌측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서 좌측에 충돌되는 장애물을 검출하는데 사용되고, 로봇이 장애물의 가장자리를 따라 시계 반대방향으로 엣지 주행 시의 본체 좌측에 충돌되는 장애물을 검출하여, 대응되는 방향에서의 장애물 상의 충돌점을 좌측 충돌점으로 표기하는데 사용되고, 로봇의 본체 우측 전방에는 우측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서 우측에 충돌되는 장애물을 검출하는데 사용되고, 로봇이 장애물의 가장자리를 따라 시계 방향으로 엣지 주행 시의 본체 우측에 충돌되는 장애물을 검출하여, 대응되는 방향에서의 장애물 상의 충돌점을 우측 충돌점으로 표기하는데 사용되며, 좌측 충돌 탐지기 및 우측 충돌 탐지기는 로봇의 본체 좌우 양측에 대칭되게 설치되고, 로봇의 바로 전방이 장애물에 충돌될 경우, 좌측 충돌 탐지기와 우측 충돌 탐지기를 동시에 트리거하여 검출하며, 대응되는 방향에서의 장애물 상의 충돌점을 전측 충돌점으로 표기함으로써, 로봇이 동일한 위치에서 표기한 전측 충돌점, 좌측 충돌점 및 우측 충돌점은 모두 로봇의 바로 전방에 충돌되는 장애물 윤곽선의 접선에 위치하며, 장애물의 윤곽선은 그리드 맵에 표기되어 형성된다. 따라서, 로봇의 탐사에 적응하여 가장자리를 따라 서로 다른 장애물 사이를 주행한다.
진일보로, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계에 근거하여, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 선택하는 방법은, 상기 단계 1에서 현재 표기한 충돌점이 상기 좌측 충돌점일 경우, 로봇의 현재 위치에 대하여 장애물의 가장자리를 따라 시계 반대방향으로 분포되고, 상기 로봇의 현재 위치에 대한 각도값이 가장 큰 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드가 상기 우측 가장자리를 따른 예측 경로로 연결되게 하며, 로봇의 기준으로 되는 가장자리를 따른 방향이 시계 반대방향인 것으로 결정하는 단계; 상기 단계 1에서 현재 표기한 충돌점이 상기 우측 충돌점일 경우, 로봇의 현재 위치에 대하여 장애물의 가장자리를 따라 시계 방향으로 분포되고, 상기 로봇의 현재 위치에 대한 각도값이 가장 작은 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드가 상기 좌측 가장자리를 따른 예측 경로로 연결되게 하며, 로봇의 기준으로 되는 가장자리를 따른 방향이 시계 방향인 것으로 결정하는 단계; 를 포함한다. 본 기술방안에 따르면, 로봇이 가장 정확한 가장자리를 따른 방향 조건에서 장애물을 통과하는 것을 지원하는 가장자리를 따른 예측 경로를 계획하고, 로봇이 장애물의 가장자리를 따라 시계 방향 또는 시계 반대방향으로 움직이는 그리드를 지원하는 것을 실현하고; 장애물의 형태 특성에 따라 로봇의 엣지 주행하는 경로를 계획하여, 로봇이 장애물을 통과하는 과정에서 충돌되는 횟수를 효과적을 감소하고, 로봇이 장애물을 통과하는 속도를 가속화한다.
진일보로 상기 단계 21에서, 상기 가장 가까운 거리 조건을 만족하는 장애물 포인트는, 제1 사전 설정 검색 영역 내에서 검색되는 상기 단계 1에서 현재 표기한 충돌점에 가장 가깝고 충돌점으로 표기되지 않은 장애물 포인트를 포함하며, 제1 사전 설정 검색 영역은, 상기 단계 1에서 현재 표기한 충돌점을 중심으로 하고, 상기 단계 1에서 현재 표기한 충돌점과의 가장 큰 거리가 제1 사전 설정 그리드 수인 그리드 영역으로 설정하는 것이고, 상기 단계 24가 실행되기 전에, 상기 단계 1에서 현재 표기한 충돌점은 로봇이 상기 단계 1를 실행하여 장애물 포인트가 사전에 표기된 그리드 맵에 첫번째 충돌점을 표기하며, 상기 단계 24가 실행된 후, 상기 단계 1에서 현재 표기한 충돌점은 로봇이 최근에 실행한 상기 단계 24에서 표기한 새로운 충돌점이다. 본 기술방안에 따르면, 선택되는 장애물 포인트는 장애물과 로봇이 충돌되는 부분의 윤곽 형태를 설명하는데 사용되고, 로봇이 후속으로 엣지 주행하는 과정에서 장애물로부터 너무 멀리 이탈하는 것을 방지한다.
진일보로, 상기 단계 22와 상기 단계 23 사이에는, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드가 통계될 때마다, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계를 계산하는 단계를 더 포함한다. 본 기술방안에 따르면, 후속적인 단계에서 로봇을 유도하여 정확한 가장자리를 따른 방향으로 주행하도록 하기 위한 그리드에 대한 선별을 가속화한다.
진일보로, 상기 단계 22에서, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드는, 상기 단계 21에서 검색된 장애물 포인트 근처의 8개의 그리드에서, 상기 장애물 포인트 및 상기 단계 24에서 이미 계획된 가장자리를 따른 동작점 이외의 로봇이 순회하여 표기한 그리드를 선택한다. 로봇이 사전의 가장자리를 따른 조건을 만족하는 그리드에서 통행 가능하도록 확보하고, 로봇이 엣지 주행하는 영역의 반복율을 감소한다.
본 발명은, 로봇이 상기 장애물 통과 종료 판단 방법을 실행하도록 제어하는 단계; 로봇의 현재 장애물 통과가 종료되는 것으로 결정될 경우, 로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 것을 정지하여 장애물 통과를 종료하도록 제어하는 단계; 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정될 경우, 로봇이 계속 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행함과 동시에, 계속 상기 장애물 통과 종료 판단 방법을 실행하도록 제어하는 단계; 를 포함하는 로봇의 장애물 통과 제어 방법을 제공한다. 기존 기술과 비교하면, 로봇이 장애물을 따라 끊임없이 엣지 주행하는 것을 방지하여, 로봇이 장애물을 통과한 후 곧바로 네비게이션 경로로 전환하여, 로봇의 네비게이팅 효율을 향상시킨다.
진일보로, 로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 것을 정지한 후, 로봇이 사전에 설정된 네비게이션 경로대로 주행하도록 제어하고, 로봇이 장애물에 충돌된 것을 검출한 후, 상기 가장 빠른 가장자리를 따른 예측 경로를 계획하여 선택하며, 그 다음 상기 장애물 통과 종료 판단 방법으로 돌아가 실행하고, 이와 같이 로봇이 상기 최종 네비게이션 목표점에 이동될 때까지 반복하는 단계를 더 포함한다. 따라서, 로봇의 네비게이션 작동 효율을 향상시킨다.
진일보로, 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 과정에서, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하는 것으로 판단될 경우, 로봇이 계속 상기 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하도록 제어하고, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하지 않는 것으로 판단될 경우, 로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 것을 정지하여 장애물 통과가 종료되도록 제어한다. 본 기술방안에 따르면, 로봇이 가장자리를 따라 장애물을 통과하는 동작을 미리 종료하여, 로봇이 현재의 가장 빠른 가장자리를 따른 예측 경로에 대한 포기를 선택함으로써, 로봇이 가장자리를 따라 너무 오래 주행하여 상기 네비게이션 경로를 이탈하거나 상기 최종 네비게이션 목표점에서 너무 멀어지는 것을 방지한다.
본 발명은, 프로그램 코드가 저장되는 칩으로서, 상기 장애물 통과 종료 판단 방법 또는 상기 장애물 통과 제어 방법을 실현하도록 상기 프로그램 코드를 실행하는 칩을 제공한다.
본 발명은, 본체 좌측 전방에 좌측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서 좌측에 충돌되는 장애물을 검출하는데 사용되고, 장애물의 가장자리를 따라 시계 반대방향으로 엣지 주행 시의 본체 좌측에 충돌되는 장애물을 검출하는데 사용되고, 본체 우측 전방에 우측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서 우측에 충돌되는 장애물을 검출하는데 사용되고, 장애물의 가장자리를 따라 시계 방향으로 엣지 주행 시의 본체 우측에 충돌되는 장애물을 검출하는데 사용되며, 좌측 충돌 탐지기 및 우측 충돌 탐지기와 각각 연결되는 상기 칩이 설치되고, 상기 장애물 통과 제어 방법을 실행하도록 구성되는 로봇을 제공한다.
도 1은 본 발명의 일 실시예에 따른 로봇의 장애물 통과 종료 판단 방법의 기본적인 사상의 흐름도이다.
도 2는 본 발명의 다른 일 실시예의 로봇의 장애물 통과 종료 판단 방법의 구체적인 단계의 흐름도이다.
이하, 본 발명 실시예의 도면을 참조하면서, 본 발명 실시예의 기술방안을 상세하게 설명한다. 각 실시예를 진일보로 설명하기 위해, 본 발명은 도면을 제공한다. 이러한 도면은 본 발명에 의해 개시되는 내용의 일부로서, 주로 실시예를 설명하며, 명세서의 관련 설명과 함께 실시예의 실행 원리를 해석할 수 있다. 당업자는 이러한 내용을 함께 참조하여 다른 가능한 실시형태 및 본 발명의 장점을 이해할 수 있을 것이다. 도면에서의 구성요소는 비율에 따라 드로잉된 것은 아니고, 유사한 구성요소 부호는 일반적으로 유사한 구성요소를 표시한다.
본 발명 특허에서, 이해해야 할 것은, 용어 “위”, “아래”, “좌”, “우”, “전”, “후” 등은 방위 또는 위치 관계가 도면에 기반하여 도시되는 방위 또는 위치 관계인 것을 표시하는 것이며, 이는 단지 본 발명의 실시예를 편의하고 간략하게 설명하기 위한 것일 뿐이며, 가리키는 장치 또는 부품이 반드시 특정 방위를 가져, 특정 방위로 구성 및 동작하는 것을 지시 또는 암시하지 않으므로, 본 발명 특허를 한정하는 것으로 이해해서는 안된다.
상기 로봇은 엣지 주행하는 과정에서, 서로 다른 장애물을 만날 수 있다. 실내 환경을 효과적으로 간략하게 설명하고, 경로 계획 중 합리적인 대응 전략을 제시하기 위해, 실내 장애물을 아래와 같이 처리할 수 있다. 1, 장애물과 벽 사이의 거리가 상기 로봇이 통행하는 최소 거리를 만족하지 않아, 로봇이 원활하게 통과할 수 없으면, 벽에 붙은 장애물로 처리한다. 2, 2개의 장애물 사이의 거리가 아주 가까워 상기 로봇이 원활하게 통과하지 못할 경우, 양자를 하나의 장애물로 간주하여 처리할 수 있다. 3, 본 기술방안의 로봇 네비게이션 영역은 주로 실내의 방 영역이고, 장애물은 실내의 방 영역 내에서 이동하는 로봇과 충돌할 수 있는 물체이며, 이동하는 로봇과 물체가 충돌이 발생하는 점을 충돌점이라고 정의한다.
도 1에 도시된 바와 같이, 본 발명의 실시예는 로봇의 장애물 통과 종료 판단 방법을 개시한다. 상기 방법은 아래와 같은 단계 S101~ S105를 포함한다.
단계 S101에서, 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행할 경우, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택한 다음, 단계 S102로 진입한다. 여기서, 네비게이션 경로는 로봇이 네비게이션을 시작하기 전에 설정된 것이고, 가장 빠른 가장자리를 따른 예측 경로는 로봇이 네비게이션 과정에서 장애물과의 충돌로 인해 계획하여 선택된 것이고, 로봇이 장애물의 가장자리를 따라 주행하기 위해 계획해야 하는 가장자리를 따라 장애물을 통과하는 경로로서, 로봇이 장애물과 충돌된 후 네비게이션 경로에 따라 주행하지 않고, 엣지 모드를 시작하여 가장자리를 따라 장애물을 통과하며, 가장 빠른 가장자리를 따른 예측 경로대로 현재 검출된 장애물을 따라 엣지 주행한다. 제2 사전 설정 전환점 집합은 상기 네비게이션 경로에서의 상기 가이드 조건을 만족하는 전환점으로 구성된 것이다.
단계 S102에서, 가이드 조건을 만족하는 제2 사전 설정 전환점 집합에서 하나의 최적의 전환점을 획득한 다음, 단계 S103로 진입한다. 상기 최적의 전환점은 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점이다. 여기서, 상기 장애물 통과 판정 임계값은 바람직하게 6개의 그리드 길이이고, 제2 사전 설정 전환점 집합 내의 로봇 현재 위치의 거리와 서로 매칭되는 전환점을 선별하기 위한 것이며, 상기 최적의 전환점과 로봇 현재 위치의 연결선이 장애물로 커버되는 유효 영역을 관통하도록 한다.
단계 S103에서, 상기 최적의 전환점과 로봇의 현재 위치가 연결되는 선분에 장애물이 표기되었는지 여부를 판단하고, 상기 최적의 전환점과 로봇의 현재 위치가 연결되는 선분에 장애물이 표기되었을 경우, 단계 S104로 진입하고, 상기 최적의 전환점과 로봇의 현재 위치가 연결되는 선분에 장애물이 표기되지 않을 경우, 단계 S105로 진입한다. 실제적으로, 단계 S103는 그리드 맵에서 로봇의 현재 위치로부터 단계 S102에서 선택된 최적의 전환점까지의 선분에 장애물 포인트가 표기되었는지 여부를 판단하는 것이다. 여기서, 상기 장애물 포인트는 그리드 맵에 사전에 표기된 것이고, 후속으로 로봇 네비게이션 환경의 장애물 분포 상황을 매칭하여 판단하기 위해 대기하는 것이다.
단계 S104에서, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정한다. 즉 단계 S102에서 결정된 최적의 전환점과 로봇의 현재 위치를 연결하는 선분은 장애물 포인트를 지나가고, 로봇의 현재 위치에서 최적의 전환점을 향하는 방향에 여전히 장애물이 존재하므로, 로봇의 현재 장애물 통과는 종료되지 않은 것으로 결정하고, 여전히 장애물 통과의 작동 상태에 있다.
단계 S105에서, 로봇의 현재 장애물 통과가 종료된 것으로 결정한다. 즉 단계 S102에서 결정된 최적의 전환점과 로봇의 현재 위치를 연결하는 선분은 장애물 포인트를 지나가지 않아, 로봇의 현재 위치와 최적의 전환점의 선분에 장애물이 존재하지 않으므로, 로봇은 장애물 통과 종료 상태에 진입한 것으로 결정하고, 로봇은 장애물 통과를 성공함으로써, 가장자리를 따른 장애물 통과에서 로그아웃 하고, 네비게이션 경로로 다시 전환하여 네비게이션 경로의 종점을 향해 계속 주행하도록 로봇을 제어한다.
상기 단계는 로봇이 현재 검출된 장애물을 통과할지 여부를 더 신속히 검출하여, 로봇의 가장자리를 따른 장애물 통과에 장애물 통과 종료 상태의 판단 조건을 제공하고, 로봇에 장애물 통과의 작동 상태를 곧바로 알림으로써, 로봇의 가장자리를 따른 장애물 통과 경로 및 네비게이션 경로를 자동으로 조절하는 상황에 유리하며, 로봇이 끊임없이 장애물을 따라 엣지 주행하는 것을 방지하고, 로봇이 장애물을 통과한 후 곧바로 네비게이션 경로로 전환하여, 로봇의 네비게이션 효율을 향상시킨다.
일 실시예로서, 도 2에 도시된 바와 같이, 본 발명은 로봇의 장애물 통과 종료 판단 방법을 더 개시한다. 상기 방법은 구체적으로 아래와 같은 단계 S201~S208을 포함한다.
단계 S201에서, 로봇은 하나의 장애물 통과 판정 임계값을 사전에 설정한 다음, 단계 S202로 진입한다. 여기서, 상기 장애물 통과 판정 임계값은 바람직하게 6개의 그리드 길이이고, 장애물 판단을 위한 적합한 길이의 선분을 선별하기 위한 것이다.
단계 S202에서, 가이드 조건을 만족하는 제2 사전 설정 전환점 집합 중의 각 전환점과 로봇의 현재 위치 사이의 거리를 각각 계산하고, 그 다음 상기 거리를 장애물 통과 판정 임계값으로 각각 뺄셈을 하여 대응된 차이값의 절대값을 획득한 다음, 단계 S203로 진입한다. 단계 S202는 제2 사전 설정 전환점 집합 중의 각 전환점과 로봇의 현재 위치의 연결선 길이를 계산하여, 각 전환점에 대응되는 연결선 길이와 상기 장애물 통과 판정 임계값의 값 차이 정도를 획득하기 위한 것이다.
단계 S203에서, 가이드 조건을 만족하는 제2 사전 설정 전환점 집합 중의 각 전환점과 로봇의 현재 위치 사이의 거리를 장애물 통과 판정 임계값의 차이값의 절대값과 비교하는 것을 통해, 차이값의 절대값이 가장 작은 대응되는 전환점을 선택하여 상기 최적의 전환점으로 한 다음, 단계 S204로 진입한다. 상기 최적의 전환점은 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점이다. 이에 따라, 로봇이 현재 위치에서 장애물을 통과하였는지 여부를 보다 정확하게 판단한다.
단계 S204에서, 로봇의 현재 위치와 상기 최적의 전환점이 연결되는 선분에서, 상기 선분이 지나가는 그리드 좌표에는 그리드 맵에 사전 표기된 장애물 포인트의 좌표와 동일한 하나의 그리드 좌표가 존재하는지 여부를 하나씩 순회하여 판단한다. 존재할 경우, 단계 S205로 진입하고, 존재하지 않을 경우, 단계 S207로 진입한다. 상기 단계 S204에서, 로봇의 현재 위치와 상기 최적의 전환점의 좌표를 획득한 기초상에서, 상기 2개의 좌표점을 엔드 포인트로 하는 선분 방정식을 구하고, 그 다음 상기 선분이 지나가는 그리드 좌표를 계산하며, 계산된 선분에서의 좌표점을 사전에 표기된 장애물 포인트의 좌표와 각각 매칭하여 비교해야 함으로써, 상기 선분이 지나가는 그리드에 장애물 포인트가 존재하는지 여부를 판단하는 것을 실현한다.
단계 S205에서, 단계 S204에서 언급되는 선분에 장애물 포인트과의 좌표 매칭이 성공한 좌표점이 하나만 존재한다면, 상기 선분이 지나가는 그리드에 장애물 포인트가 존재하는 것으로 판단하여, 로봇의 현재 위치와 최적의 전환점이 연결되는 선분에 장애물이 존재하거나 장애물을 통과한 것으로 결정한 다음, 단계 S206로 진입한다.
단계 S206에서, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정한다. 즉 로봇은 여전히 장애물 통과 작동 상태에 있어야 하는 것으로 결정한다. 로봇은 후속적으로 여전히 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하며, 상기 단계 S202 내지 단계 S205를 반복함으로써, 로봇이 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 과정에서 장애물 통과 종료의 작동 상태에 진입해야 하는지 여부를 계속 판단한다. 즉 로봇이 성공적으로 장애물을 통과했는지 여부를 결정한다.
단계 S207에서, 단계 S204에서 언급되는 선분에 장애물 포인트과의 좌표 매칭이 성공한 좌표점이 존재하지 않는다면, 상기 선분은 장애물 포인트를 지나가지 않은 것으로 판단한다. 즉 로봇의 현재 위치와 최적의 전환점이 연결되는 선분에 장애물이 존재하지 않거나 장애물을 통과하지 않는 것으로 결정한 다음, 단계 S208로 진입한다.
단계 S208에서, 로봇의 현재 장애물 통과가 종료된 것으로 결정한다. 즉 로봇이 현재 장애물을 성공적으로 통과하고, 장애물 통과 종료의 작동 상태에 진입하는 것으로 결정한다. 로봇은 더 이상 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 가장자리를 따라 주행하지 않고, 상기 네비게이션 경로로 변환하여, 상기 네비게이션 경로의 종점까지 이동한다. 로봇이 네비게이션 과정에서, 새로운 장애물과 충돌될 경우, 상기 가장 빠른 가장자리를 따른 예측 경로를 계획하여 선택하고, 그 다음 상기 단계 S202 내지 단계 S205를 반복함으로써, 로봇이 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 과정에서 장애물 통과 종료의 작동 상태에 진입해야 하는지 여부를 계속 판단한다. 즉 로봇이 성공적으로 장애물을 통과했는지 여부를 결정한다.
상기 단계는 로봇의 현재 위치에서 네비게이션 경로의 최적의 전환점을 향하는 방향에 장애물이 존재하는지 여부를 판단하기 위한 것이다. 로봇의 현재 위치에서 네비게이션 경로의 최적의 전환점을 향하는 방향에 장애물이 존재하지 않을 경우, 로봇의 후속적인 네비게이션 과정에서 검출되는 장애물이 더 적음을 의미하므로, 로봇에 네비게이션을 가속화할 수 있는 장애물 통과 시간, 즉 상기 장애물 통과 종료 판단 방법에 기반하여 로봇을 위해 자발적으로 결정되는 장애물 통과 종료 상태의 시간을 제공한다.
상기 실시예에 기반하여, 로봇은 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 과정에서, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 엣지 주행한 노정이 대응된 제한 조건을 만족하는지 여부를 판단한다. 만족할 경우, 로봇이 동일한 위치에 갇히지 않고, 장애물을 통과하는 조건을 갖는 것으로 결정함으로써, 로봇의 현재 장애물 통과가 종료되지 않고, 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 가장자리를 따라 계속 장애물을 통과해야 하는 것으로 결정한다. 만족하지 않을 경우, 로봇이 동일한 위치에 갇힌 것으로 결정하고, 미리 이번 가장자리를 따른 장애물 통과 동작을 포기해야 하며, 로봇의 현재 장애물 통과가 종료되는 것으로 결정한다. 본 실시예는 로봇이 가장자리를 따라 장애물을 통과하는 과정에서 긴 시간동안 동일한 곳에서 왕복으로 이동하는지 여부를 모니터링한다. 로봇이 가장자리를 따라 장애물을 통과하는 과정에서 긴 시간동안 동일한 곳에서 왕복으로 이동할 경우, 이번 네비게이션은 성공적이지 않는 것으로 결정하고, 그 다음 이번 계획된 가장 빠른 가장자리를 따른 예측 경로를 포기한다. 본 실시예는 로봇이 장애물을 통과하여 계속 네비게이션할 수 있는 조건을 개시함으로써, 로봇이 갇히는 비정상 상태를 미리 종료하는 것에 유리하다.
바람직하게는, 상기 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 엣지 주행하는 거리가 대응된 제한 조건을 만족하는지 여부를 판단하며, 만족할 경우, 로봇이 동일한 위치에 갇히지 않은 것으로 결정하고, 만족하지 않을 경우, 로봇이 동일한 위치에 갇힌 것으로 결정하는 방법은 구체적으로 다음과 같은 단계를 포함한다. 시간을 카운트할 때마다 로봇이 엣지 주행하는 시간이 상기 사전에 설정된 가장자리를 따른 시간(바람직하게는 30초임)에 도달할 경우, 로봇의 가장자리를 따른 회전 각도가 사전에 설정된 최대 회전각(바람직하게는 360도임) 이하로 판단되고, 또한 로봇의 엣지 주행한 노정이 사전에 설정된 가장자리를 따른 최대 거리(바람직하게는 1메터임) 이하로 판단되면, 로봇은 동일한 위치에 갇혀 반복적으로 맴돌지 않는 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하고; 시간을 카운트할 때마다 로봇이 엣지 주행하는 시간이 상기 사전에 설정된 가장자리를 따른 시간(바람직하게는 30초임)에 도달할 경우, 로봇의 가장자리를 따른 회전 각도가 사전에 설정된 최대 회전각(바람직하게는 360도임)보다 큰 것으로 판단되거나, 또는 로봇의 엣지 주행한 노정이 사전에 설정된 가장자리를 따른 최대 거리(바람직하게는 1메터임)보다 큰 것으로 판단되면, 로봇은 동일한 위치에 갇혀 반복적으로 맴도는 것으로 결정하여, 로봇이 현재의 가장 빠른 가장자리를 따른 예측 경로에 대한 포기를 선택하도록 함으로써, 로봇이 가장자리를 따라 너무 오래 주행하여 네비게이션 경로에서 너무 멀리 이탈되는 것을 방지하고, 로봇의 현재 장애물 통과가 종료되는 것으로 결정함으로써, 본 실시예가 로봇이 가장자리를 따라 장애물을 통과할 시 수집되는 가장자리를 따른 시간, 가장자리를 따른 거리 및 가장자리를 따른 각도를 이용하여 로봇이 갇혔는지 여부를 판단하여, 로봇의 장애물 통과 종료 상태를 미리 알리도록 한다. 여기서, 상기 사전에 설정된 가장자리를 따른 시간은 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 가장자리를 따라 장애물을 통과하는 과정에서 가장 긴 가장자리를 따른 시간이고, 상기 사전에 설정된 가장 큰 회전각은 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 가장자리를 따라 장애물을 통과하는 과정에서 가장 큰 로봇의 누적 회전 각도이며, 상기 사전에 설정된 가장 큰 가장자리를 따른 거리는 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 가장자리를 따라 장애물을 통과하는 과정에서 최대의 실제 가장자리를 따른 경로 길이이다.
로봇의 가장자리를 따른 회전 각도는 로봇이 주기적으로 판독하는 자이로스코프 각도 증분을 누적한 결과이며, 구체적으로는, 로봇이 자이로스코프에 의해 현재 측정되는 각도를 10ms마다 한번씩 판독하고, 이 각도에서 진난번(10ms 이전) 판독한 각도를 뺄셈하여 10ms 내에 자이로스코프가 측정하여 얻은 하나의 각도 차이값을 획득하며, 가장자리를 따른 시간 내에 상기 단계를 반복하여 10ms 내의 각도 차이값을 누적함으로써, 적분합을 구하는 방식과 동등한 방식으로 로봇이 이러한 가장자리를 따른 시간 내에 가장자리를 따른 회전 각도를 얻는다.
상기 실시예의 기초상에서, 상기 가장 빠른 가장자리를 따른 예측 경로의 계획 방법은 아래와 같은 단계 S301~ S303을 포함한다.
단계 S301에서, 로봇은 로봇을 유도하여 최종 네비게이션 목표점까지 이동하도록 하기 위한 전환점이 연결되어 형성된 네비게이션 경로가 사전에 설정되고, 그 다음 단계 S302로 진입한다. 여기서, 최종 네비게이션 목표점은 네비게이션 경로의 종점으로서, 네비게이션 경로 중 하나의 전환점에 속한다. 설명해야 할 것은, 네비게이션 경로는 로봇이 주행하기 전에 이미 계산된 것으로, 그리드 맵에서 복수의 선분이 연결되어 형성된 것이며, 이러한 선분은 전환점에서 교차되어, 그리드 맵의 네비게이션 경로를 전환점으로 설명할 수 있으므로, 로봇이 네비게이션 경로를 따라 전진하는 과정에서, 로봇은 하나의 네비게이션 방향으로, 현재 하나의 전환점으로부터 시작하여 동일한 네비게이션 경로에서의 다음 전환점을 순회하여, 최종 네비게이션 목표점까지 전진한다.
단계 S302에서, 로봇이 장애물과 충돌하는 것을 검출하면, 로봇이 장애물을 통과하기 위한 가장자리를 따른 예측 경로를 계획하고, 또한 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택한 다음, 단계 S303로 진입한다. 여기서, 상기 로봇이 장애물을 통과하기 위한 가장자리를 따른 예측 경로는 가장자리를 따른 방향이 서로 반대되는 좌측 가장자리를 따른 예측 경로 및 우측 가장자리를 따른 예측 경로인 2개의 가장자리를 따른 예측 경로이다. 로봇이 장애물의 가장자리를 따라 주행하는 모드는 좌측 엣지 모드 및 우측 엣지 모드로 나뉘며, 좌측 엣지 모드에서의 로봇은 장애물의 가장자리를 따라 시계 방향으로 움직이고, 우측 엣지 모드에서의 로봇은 장애물의 가장자리를 따라 시계 반대방향으로 움직이므로, 로봇은 엣지 모드를 시작한 후 로봇이 장애물을 통과하기 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획한다.
단계 S303에서, 가장자리를 따른 예측 경로 각각에서 모든 가장자리를 따른 동작점과 동일한 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점의 거리 정보에 따라, 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로를 선택하여, 상기 가장 빠른 가장자리를 따른 예측 경로로 함으로써, 로봇이 장애물과 충돌한 후 상기 가장 빠른 가장자리를 따른 예측 경로의 가장자리를 따른 방향을 따라 주행하여 신속한 장애물 통과를 실현한다. 본 실시예에서, 사전에 설정된 상기 네비게이션 경로는 장애물의 분포와 관계가 없으며, 상기 네비게이션 경로의 제1 사전 설정 전환점 집합에 포함되는 전환점은 최종 네비게이션 목표점을 종점으로 하여 설정되는 경로 노드로서, 상기 전환점에 속하며, 상기 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 기준량으로 하여, 상기 단계 S302로부터 계획된 후보의 가장자리를 따른 예측 경로에서, 상기 네비게이션 경로의 차이 정도가 가장 작은 가장자리를 따른 예측 경로를 판단하여 선택한 다음, 로봇이 장애물과 충돌한 후 상기 선택된 가장자리를 따른 예측 경로를 따라 주행하도록 제어하기 위한 것이다. 하지만, 실제로 로봇이 주행하는 가장자리를 따른 경로는 반드시 예측한 계획에 따라 수행되는 것은 아니고, 예측하여 계획되는 경로에는 어는 정도의 오차가 존재하며, 예를 들면, 장애물의 가장자리를 따라 시계 반대방향 또는 시계 방향으로 움직이는 등 대략적인 경로를 나타내고 합리적이며 실행 가능한 가장자리를 따른 방향을 명시할 뿐이므로, 본 실시예에서, 로봇이 장애물과 충돌한 후, 상기 가장 빠른 가장자리를 따른 예측 경로의 가장자리를 따른 방향을 따라 주행하여 가장 빠른 가장자리를 따른 장애물 통과를 실현한다.
본 실시예에서, 상기 단계에 기반하여 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로를 선택하여, 상기 가장 빠른 가장자리를 따른 예측 경로로 함으로써, 로봇이 장애물과 충돌한 후 상기 가장 빠른 가장자리를 따른 예측 경로의 가장자리를 따른 방향을 따라 주행하여 신속한 장애물 통과를 실현하므로, 로봇이 장애물을 통과하는 과정에서의 충돌 횟수를 감소하고, 로봇이 상기 네비게이션 경로를 이탈하거나 최종 네비게이션 목표점에서 너무 멀어지는 것을 방지하며, 로봇의 고효율적인 가장자리를 따른 장애물 통과 기능을 실현하고, 로봇의 지능화 수준을 향상시킨다.
상기 실시예에서, 로봇이 계획된 상기 가장 빠른 가장자리를 따른 예측 경로에서 주행하지 않을 경우, 아래와 같은 2개의 경우가 존재한다. 하나는 로봇이 이미 하나의 상기 가장 빠른 가장자리를 따른 예측 경로를 계획한 경우로서, 로봇은 상기 실시예에서 언급되는 장애물 통과 종료 판단 방법을 사용하여 로봇이 상기 가장 빠른 가장자리를 따른 예측 경로에서 장애물 통과 종료 상태에 진입하는 것으로 판단하거나, 또는 로봇이 상기 가장 빠른 가장자리를 따른 예측 경로에서 긴 시간동안 동일한 위치에 갇혀 장애물 통과를 실패하는 것으로 판단하므로, 로봇은 더 이상 상기 가장 빠른 가장자리를 따른 예측 경로에서 가장자리를 따라 주행하지 않고, 상기 네비게이션 경로에 진입하며, 새로운 가장 빠른 가장자리를 따른 예측 경로를 계획해야 할 때, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택한다. 다른 하나는 로봇이 네비게이션을 방금 시작하여, 상기 가장 빠른 가장자리를 따른 예측 경로를 아직 계획하기 시작하지 않은 경우로서, 로봇은 상기 네비게이션을 따라 주행하는 것을 유지하고, 장애물을 통과해야 할 때, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택하며, 로봇이 계획된 가장 빠른 가장자리를 따른 예측 경로를 따라 주행할 때, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택한다. 여기서, 제1 사전 설정 전환점 집합 및 제2 사전 설정 전환점 집합은 모두 상기 네비게이션 경로에서 상기 가이드 조건을 만족하는 전환점으로 구성된 것이으므로, 가이드 조건을 만족하는 사전에 설정된 전환점의 선택 알고리즘의 사용율을 향상시킨다.
바람직한 실시예로서, 상기 네비게이션 경로에서의 모든 전환점에 대해 번호를 매기며, 상기 네비게이션 경로의 시작점의 계획 순번은 0이고, 다음의 전환점의 계획 순번은 순서에 따라 누적되며, 상기 네비게이션 경로의 종점은 가장 큰 계획 순번을 유지한다. 구체적으로, 상기 네비게이션 경로는 순서에 따라 분포되는 한 그룹의 전환점이 연결되어 형성된 것으로, 상기 네비게이션 경로의 시작점에서 종점까지의 대응되는 상기 네비게이션 경로의 네비게이션 전진 방향에서, 네비게이션 경로에 설정되는 전환점의 계획 순번은 순서에 따라 체증된다. 여기서, 상기 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 상기 제2 사전 설정 전환점 집합에 포함되는 전환점의 계획 순번은 순서에 따라 체증되고, 전환점 집합 중의 상기 목표 전환점에 대응되는 계획 순번보다 작은 전환점은 로봇에 의해 이미 순회된 전환점으로 표기된다. 상기 최종 네비게이션 목표점의 계획 순번은 가장 크므로, 상기 네비게이션 경로의 네비게이션 전진 방향에서 상기 최종 네비게이션 목표점에 가까운 전환점일수록 대응되는 계획 순번은 더 크다. 본 실시예는 번호를 매기는 방식을 통해 상기 네비게이션 경로에서의 모든 전환점을 정리하여 구분함으로써, 시스템 소프트웨어가 쉽게 전환점을 인식하여 처리하고, 상기 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 상기 제2 사전 설정 전환점 집합의 선택을 가속화하며, 로봇이 가장자리를 따른 방향을 선택하는 속도를 향상시킨다.
바람직한 실시예로서, 단계 S302에서, 상기 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 상기 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하는 방법은, 먼저 상기 네비게이션 경로에서 하나의 목표 전환점을 선택하는 단계를 포함한다. 상기 목표 전환점은 로봇이 현재 위치에서 선택하는 가이드 작용을 하는 하나의 전환점이며, 상기 현재 위치는 로봇이 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택할 경우에는 장애물과 충돌하여 가장자리를 따른 장애물 통과를 시작하는 시작 위치이고, 로봇이 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택할 경우에는 상기 최적의 전환점을 찾아 장애물 통과 상태를 종료할지 여부를 판단하기 위한 것이다. 로봇의 현재 위치가 리프레쉬되어 변경될 경우, 상기 목표 전환점도 변경된다.
일반적인 의미에서, 상기 가이드 조건은, 상기 목표 전환점 및 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 하나 또는 2개의 전환점에 상기 최종 네비게이션 목표점이 존재하는지 여부를 각각 판단하여, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하는 것으로 표현된다. 주의해야 할 것은, 상기 목표 전환점으로부터 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 설정되는 인접한 전환점이 상기 최종 네비게이션 목표점일 경우, 상기 네비게이션 경로의 종점까지 이미 판단되었으므로, 계속 판단할 필요가 없다. 여기서, 상기 네비게이션 경로의 네비게이션 전진 방향은 로봇을 유도하여 상기 최종 네비게이션 목표점의 로봇 네비게이션 방향으로 이동하도록 하기 위한 것이다. 상기 최종 네비게이션 목표점은 또한 네비게이션 경로의 종점으로서, 상기 네비게이션 경로 중 하나의 전환점에 속한다. 본 실시예는 로봇의 네비게이션 경로에서 연속으로 설정되는 3개의 전환점에 상기 네비게이션 경로의 종점이 존재하는지 여부를 판단하여, 로봇을 유도하여 상기 최종 네비게이션 목표점까지 이동할 수 있도록 하는 대표성을 갖는 전환점을 선별하며, 상기 네비게이션 경로와 상기 가장자리를 따른 예측 경로의 차이 정도를 비교하는데 사용될 수도 있다.
가이드 조건을 만족하는 제1 사전 설정 전환점 집합 및 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 범용 선택 방법에 대해, 본 실시예는 아래의 단계를 개시한다. 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 2개의 전환점이 모두 상기 최종 네비게이션 목표점이 아닌 것으로 판단될 경우, 상기 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 상기 네비게이션 경로에서 선택된 하나의 목표 전환점 및 상기 목표 전환점에서부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정된 2개의 전환점을 포함하는 것으로 결정한다. 상기 네비게이션 경로에서 상기 목표 전환점 후의 이어서 설정되는 2개의 상기 전환점은 연속으로 배열되는 것으로, 이들의 계획 순번은 체증되는 것이며, 목표 전환점의 계획 순번보다 크고, 상기 목표 전환점 및 그 후의 2개의 상기 전환점은 모두 로봇의 현재 위치의 앞에 있으며, 로봇을 유도하여 빠르게 상기 최종 네비게이션 목표점으로 이동하도록 하는 작용을 한다.
상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 설정되는 상기 목표 전환점과 인접하는 전환점이 상기 최종 네비게이션 목표점인 것으로 판단될 경우, 즉 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 연속으로 설정되는 첫번째 전환점이 상기 최종 네비게이션 목표점인 것으로 판단될 경우, 상기 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 상기 네비게이션 경로에서 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 상기 최종 네비게이션 목표점까지 배열되는 모든 전환점을 포함하는 것으로 결정한다. 이때, 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 상기 최종 네비게이션 목표점까지 배열되는 모든 전환점에는 상기 목표 전환점 및 상기 최종 네비게이션 목표점만 있으며, 이때, 첫번째 전환점은 이미 종점으로 판단되었으므로, 상기 목표점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 설정되는 첫번째 전환점만 있고, 설정되는 두번째 전환점은 없다.
상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 연속으로 설정되는 두번째 전환점이 상기 최종 네비게이션 목표점인 것으로 판단될 경우, 상기 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 상기 네비게이션 경로에서 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 상기 최종 네비게이션 목표점까지 배열되는 모든 전환점을 포함하는 것으로 결정한다. 이때 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 상기 최종 네비게이션 목표점까지 배열되는 모든 전환점은 3개 있고, 상기 목표 전환점, 상기 최종 네비게이션 목표점 및 이들 사이의 상기 네비게이션 경로에 설정되는 하나의 전환점을 포함한다. 설명해야 할 것은, 첫번째 전환점은 상기 네비게이션 경로의 네비게이션 전진 방향에서 상기 목표 전환점과 인접하여 설정되는 것이고, 두번째 전환점도 상기 네비게이션 경로의 네비게이션 전진 방향에서 첫번째 전환점과 인접하여 설정되는 것이다.
상기 네비게이션 경로에서 선택된 목표 전환점이 상기 최종 네비게이션 목표점인 것으로 판단될 경우, 상기 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 단지 상기 최종 네비게이션 목표점일 뿐인 것으로 결정한다.
상기 판단 결과와 같이, 본 실시예에 따른 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 및 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 모두 상기 네비게이션 경로의 네비게이션 방향 특성을 나타낼 수 있으며, 네비게이션 경로의 종점의 영향 요인을 충분히 고려하여, 가장자리를 따른 예측 경로와 네비게이션 경로의 차이 정도에 대한 후속 계산량을 간략화한다.
상기 바람직한 예시의 기초상에서, 사전에 설정된 네비게이션 경로에서 상기 목표 전환점을 선택하는 구체적인 방법은 아래와 같은 단계를 포함한다.
로봇의 현재 위치를 중심으로 하고, 로봇의 현재 위치와의 최대 거리가 제1 사전 설정 거리 임계값인 그리드 좌표로 구성되는 전환점 비교 영역을 설정한다. 여기서, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택할 경우, 로봇의 현재 위치는 계획된 가장 빠른 가장자리를 따른 예측 경로에 존재하지 않고, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택할 경우, 로봇의 현재 위치는 계획된 가장 빠른 가장자리를 따른 예측 경로에 존재한다.
상기 전환점 비교 영역에 하나의 상기 전환점만 존재할 경우, 상기 전환점을 선택하여 상기 목표 전환점으로 표기함으로써, 목표 전환점과 로봇의 현재 위치 사이의 거리를 가깝게 하는데 유리하고, 후속으로 선택되는 가장자리를 따른 예측 경로가 상기 네비게이션 경로에서 이탈하거나 상기 최종 네비게이션 목표점에서 너무 멀어지는 것을 방지한다. 설명해야 할 것은, 상기 목표 전환점의 계획 순번보다 작은 모든 전환점은 로봇에 의해 이미 순회된 전환점으로 설정된다.
상기 전환점 비교 영역에 2개 이상의 상기 전환점이 존재할 경우, 로봇의 현재 위치와의 거리가 제1 사전 설정 거리 임계값보다 작은 전환점에서, 즉 상기 네비게이션 경로가 상기 전환점 비교 영역에 의해 커버되는 일부 경로의 전환점에서, 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 상기 최종 네비게이션 목표점에서 가장 가까운 전환점을 선택하여, 상기 목표 전환점으로 표기하며, 즉 로봇의 현재 위치와의 거리가 제1 사전 설정 거리 임계값보다 작은 모든 전환점에서 계획 순번이 가장 큰 전환점을 선택하여 로봇 앞의 목표 전환점으로 함으로써, 로봇이 상기 목표 전환점으로 전진하면 상기 최종 네비게이션 목표점으로 네비게이션하는 속도를 가속화한다. 설명해야 할 것은, 상기 목표 전환점의 계획 순번보다 작은 모든 점환점은 로봇에 의해 이미 순회된 전환점으로 설정된다.
상기 전환점 비교 영역에 상기 전환점이 존재하지 않을 경우, 상기 네비게이션 경로의 네비게이션 전진 방향을 따라, 상기 네비게이션 경로에서 로봇이 최근에 표기한 목표 전환점과 인접하는 전환점을 선택하여 새로운 목표 전환점으로 표기하고, 로봇이 최근에 표기한 목표 전환점은 로봇이 지난번 장애물과 충돌이 발생된 위치에서 상기 네비게이션 경로로부터 선택하여 표기한 목표 전환점이므로, 목표 전환점의 표기 위치는 로봇을 종점으로 네비게이션하도록 제어하는 것에 대해 기초적인 작용을 하고, 로봇을 유도하여 정확한 가장자리를 따른 방향으로 이동하도록 하는데 유리하며, 후속으로 선택되는 가장자리를 따른 예측 경로가 상기 네비게이션 경로에서 이탈하거나 상기 최종 네비게이션 목표점에서 너무 멀어지는 것을 방지한다. 따라서, 본 실시예가 사전에 설정된 네비게이션 경로에서 선택한 상기 목표 전환점은 부분적인 네비게이션 영역 내에서 로봇을 유도하여 상기 네비게이션 경로의 종점 방향으로 이동하도록 하는 작용을 한다.
바람직하게는, 로봇의 현재 위치와 그중 하나의 상기 전환점 사이의 거리가 제2 사전 설정 거리 임계값보다 작을 경우, 로봇의 현재 위치와 상기 전환점은 겹쳐지는 것으로 결정한다. 즉 로봇은 이미 상기 전환점이 상기 네비게이션 경로에 대응되는 노드 위치까지 이동하였음을 나타낸다. 여기서, 제2 사전 설정 거리 임계값은 제1 사전 설정 거리 임계값보다 작다.
다른 발명의 실시예로서, 상기 가장 빠른 가장자리를 따른 예측 경로의 계획 방법은 구체적으로 아래와 같은 가동 단계, 단계 S401~ S411을 포함한다.
로봇을 가동하는 단계로서, 이때 로봇 시스템이 전원에 연결되어 가동된 다음, 단계 S401로 진입한다.
단계 S401에서, 로봇은 로봇을 유도하여 최종 네비게이션 목표점까지 이동하도록 하기 위한 전환점으로 연결되어 형성되는 네비게이션 경로를 사전에 계산하여 설정한 다음, 로봇을 제어하여 상기 네비게이션 경로에 따라 주행하기 시작한다. 여기서, 본 실시예에서 로봇의 초기 가장자리를 따른 방향은 디폴트로 우측 가장자리를 따른 방향으로 하고, 즉 디폴트 상태에서 로봇이 장애물과 충돌한 후, 장애물을 시계 방향으로 에둘러 엣지 주행할 수 있다. 그 다음 단계 S402로 진입한다.
단계 S402에서, 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 큰지 여부를 판단하며, 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 클 경우 단계 S403로 진입하고, 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 크지 않을 경우, 단계 S404로 진입한다. 상기 단계 S402는 로봇이 네비게이션 과정에서 또는 가장자리를 따라 장애물을 통과하는 과정에서 동일한 곳에서 지속 및 반복적으로 엣지 주행하는지 여부를 판단하기 위한 것이다. 여기서, 거리 안정 임계값은 로봇의 본체 직경 크기로 설정된다.
단계 S403에서, 로봇을 제어하여 로봇이 장애물을 통과하기 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획하며, 이는 선후로 계획되는 2개의 가장자리를 따른 예측 경로이다. 그 다음 단계 S205로 진입한다. 본 실시예에서, 로봇이 전방의 장애물과 충돌할 경우, 로봇의 전진 방향에 대한 상기 장애물의 가장자리는 좌측 가장자리와 우측 가장자리로 구분되며, 로봇이 장애물의 가장자리를 따라 주행하는 모드를 좌측 엣지 모드와 우측 엣지 모드로 나뉜다. 여기서, 좌측 엣지 모드에서의 로봇은 장애물의 가장자리를 따라 시계 방향으로 움직이고, 우측 가장자리 모드에서의 로봇은 장애물의 가장자리를 따라 시계 반대방향으로 움직이므로, 상기 로봇의 장애물을 통과하기 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로는 각각 좌측 가장자리를 따른 예측 경로와 우측 가장자리를 따른 예측 경로이다.
단계 S404에서, 로봇이 장애물과 복수회 충돌함으로써 갇힌 상태에 있는 것으로 결정할 수 있으며, 로봇이 가장자리를 따른 방향을 변경하도록 제어하여, 로봇이 회전하여 현재 결정된 가장자리를 따른 방향과 반대되는 방향을 따라 주행하게 해야 한다. 구체적으로, 상기 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 상기 거리 안정 임계값 이하로 판단될 경우, 로봇이 상기 네비게이션 경로에 따라 이동하는 과정에서 장애물과 충돌한 다음, 현재 위치에서 장애물을 따라 엣지 주행할 수 있고; 로봇이 지난번 계획된 상기 가장자리를 따른 예측 경로에 따라 장애물을 따라 주행하는 과정에서, 장애물과 충돌하여 장애물 통과를 실패할 수도 있음을 설명한다. 따라서, 로봇이 가장자리를 따른 방향을 변경하도록 제어하여, 충돌할 때의 가장자리를 따른 방향과 반대되는 방향을 선택한다. 예를 들면, 현재 실행되는 좌측 엣지 모드를 우측 엣지 모드로 변경하거나, 또는 현재 실행되는 우측 엣지 모드를 좌측 엣지 모드로 변경하여, 로봇이 회전하여 현재 결정된 가장자리를 따른 방향과 반대되는 방향을 따라 주행하고, 정확한 가장자리를 따른 방향을 선택하여 장애물을 통과하여 주행하는 것을 계속 실행한다. 따라서, 로봇이 가장자리를 따른 장애물 통과 실패로 인해 동일한 위치에 갇히는 것을 방지하고, 로봇이 상기 가장자리를 따른 예측 경로를 계획할 수 없음으로 인해 무효적인 가장자리를 따른 장애물 통과 동작을 진행하여, 로봇이 오류적인 가장자리를 따른 방향에서 점점 멀리 주행하는 것도 방지한다.
설명해야 할 것은, 로봇이 네비게이션 과정에서, 로봇이 첫번째 엣지 모드를 시작하는 것은 선택되는 장애물의 가장자리와 충돌하는 것을 통해 엣지 주행을 실행하는 것이지만, 이렇게 하면 정확한 가장자리를 따른 방향이 부족하여 쉽게 장애물 통과를 실패함으로써, 로봇이 점점 멀리 주행하므로, 로봇이 단계 S403 및 단계 S404를 실행하여, 장애물 통과를 가속화하도록 제어해야 한다.
단계 S405에서, 로봇이 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획할지 여부를 판단하며, 로봇이 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획할 경우, 단계 S406로 진입하고, 로봇이 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획하지 않을 경우, 단계 S404로 진입한다. 단계 S405는 로봇이 정확한 가장자리를 따른 방향을 계산할지 여부를 판단하여, 로봇이 효과적인 장애물 통과를 실현하는 가장자리를 따른 예측 경로를 계획하기 위한 것이다. 여기서, 본 실시예에서 상기 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대인 2개의 가장자리를 따른 예측 경로는 각각 좌측 가장자리를 따른 예측 경로 및 우측 가장자리를 따른 예측 경로이다.
단계 S406에서, 상기 네비게이션 경로의 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에서 좌측 가장자리를 따른 예측 경로에서의 동일한 가장자리를 따른 동작점까지의 거리를 계산하고, 상기 가장자리를 따른 동작점과 상기 네비게이션 경로에서 모든 가이드 조건을 만족하는 제1 사전 설정 전환점 집합의 거리를 덧셈하여 합을 구함으로써, 상기 가장자리를 따른 동작점이 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대하여 생성하는 하나의 좌측 부분적인 거리의 합을 얻는다. 여기서, 좌측 가장자리를 따른 예측 경로는 가장자리를 따른 동작점이 연결되어 형성된 것이다. 이와 동시에, 상기 네비게이션 경로의 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에서 우측 가장자리를 따른 예측 경로에서의 동일한 가장자리를 따른 동작점까지의 거리를 계산하고, 상기 가장자리를 따른 동작점과 상기 네비게이션 경로에서 모든 가이드 조건을 만족하는 제1 사전 설정 전환점 집합의 거리를 덧셈하여 합을 구함으로써, 상기 가장자리를 따른 동작점이 상기 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대하여 생성하는 하나의 우측 부분적인 거리의 합을 얻는다. 여기서, 좌측 가장자리를 따른 예측 경로는 가장자리를 따른 동작점이 연결되어 형성된 것이다. 그 다음 단계 S407로 진입한다.
단계 S407에서, 반복적으로 상기 단계 S406을 실행하여 좌측 가장자리를 따른 예측 경로에서의 가장자리를 따른 각 동작점이 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대하여 생성하는 좌측 부분적인 거리의 합을 얻는다. 이와 동시에, 반복적으로 상기 단계 S406를 실행하여 우측 가장자리를 따른 예측 경로에서의 가장자리를 따른 각 동작점이 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대하여 생성하는 우측 부분적인 거리의 합을 얻는다. 그 다음 단계 S408로 진입한다.
단계 S408에서, 상기 좌측 부분적인 거리의 합을 덧셈하여, 좌측 가장자리를 따른 예측 경로가 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대하여 생성하는 좌측 거리의 총합을 획득하며, 상기 네비게이션 경로에 대한 좌측 가장자리를 따른 예측 경로의 이탈 정도를 나타내기 위한 것이다. 이와 동시에, 상기 우측 부분적인 거리의 합을 덧셈하여, 우측 가장자리를 따른 예측 경로가 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대하여 생성하는 우측 거리의 총합을 획득하며, 상기 네비게이션 경로에 대한 우측 가장자리를 따른 예측 경로의 이탈 정도를 나타내기 위한 것이다. 그 다음 단계 S409로 진입한다.
단계 S409에서, 상기 좌측 거리 총합이 상기 우측 거리 총합보다 큰지 여부를 판단하며, 상기 좌측 거리 총합이 상기 우측 거리 총합보다 클 경우, 단계 S410로 진입하고, 상기 좌측 거리 총합이 상기 우측 거리 총합보다 크지 않을 경우, 단계 S411로 진입한다. 여기서, 우측 거리 총합이 작을수록, 상기 네비게이션 경로에 대한 우측 가장자리를 따른 예측 경로의 이탈 정도는 더 작고; 좌측 거리 총합이 작을수록, 상기 네비게이션 경로에 대한 좌측 가장자리를 따른 예측 경로의 이탈 정도는 더 작다.
단계 S410에서, 우측 가장자리를 따른 예측 경로를 선택하여 상기 가장 빠른 가장자리를 따른 예측 경로로 함으로써, 로봇이 장애물과 충돌한 후 상기 선택된 우측 가장자리를 따른 예측 경로의 가장자리를 따른 방향에 따라 주행하여 신속한 장애물 통과를 실현한다. 즉 좌측 거리 총합이 우측 거리 총합보다 클 경우, 우측 가장자리를 따른 예측 경로가 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로인 것으로 결정되며, 이때, 단계 S403에서 계획된 우측 가장자리를 따른 예측 경로를 선택함으로써, 로봇이 장애물과 충돌한 후 상기 선택된 우측 가장자리를 따른 예측 경로의 가장자리를 따른 방향에 따라 주행하여 신속한 장애물 통과를 실현한다.
단계 S411에서, 좌측 가장자리를 따른 예측 경로를 선택하여 상기 가장 빠른 가장자리를 따른 예측 경로로 함으로써, 로봇이 장애물과 충돌한 후 상기 선택되는 좌측 가장자리를 따른 예측 경로의 가장자리를 따른 방향에 따라 주행하게 하여 신속한 장애물 통과를 실현한다. 즉 우측 거리 총합이 좌측 거리 총합보다 클 경우, 좌측 가장자리를 따른 예측 경로가 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로인 것으로 결정되며, 이때, 단계 S403에서 계획된 좌측 가장자리를 따른 예측 경로를 선택함으로써, 로봇이 장애물과 충돌한 후 상기 선택된 좌측 가장자리를 따른 예측 경로의 가장자리를 따른 방향에 따라 주행하여 신속한 장애물 통과를 실현한다.
단계 S404, 단계 S410, 단계 S411를 실행하는 과정에서, 로봇은 이미 엣지 주행하고, 또한 장애물의 가장자리를 따라 주행하며, 가장자리를 따른 장애물 통과 동작을 실행하고 있고, 로봇의 위치는 이미 변화되어, 로봇의 현재 위치를 실시간으로 업데이트하여야 하고, 그 다음 다시 단계 S402로 돌아가 실행함으로써, 로봇이 엣지 주행하는 과정에서 장애물 통과 실패가 발생하는지 여부를 계속 판단한다.
단계 S401 내지 단계 S411에서 언급되는 실시예에서, 가장자리를 따른 예측 경로의 가장자리를 따른 동작점과 네비게이션 경로에서 특정된 경로 노드(목표 전환점 및 그 뒤로 설정되는 전환점)사이의 거리 차이를 비교하여, 가장자리를 따른 예측 경로와 네비게이션 경로의 차이 정도를 결정하고, 차이 정도가 작은 가장자리를 따른 예측 경로에 대응되는 가장자리를 따른 방향을 선택하여 로봇이 가장자리를 따라 장애물을 통과하는 최적의 방향으로 함으로써, 로봇이 장애물을 통과하는 과정에서 사전에 설정된 네비게이션 목표(즉 상기 네비게이션 경로의 최종 네비게이션 목표점)를 지나치게 이탈하는 것을 방지한다.
상기 실시예에서, 상기 로봇의 장애물 통과를 위한 가장자리를 따른 예측 경로의 계획 방법은 아래와 같은 단계 S4031~ S4032를 포함한다.
단계 S4031에서, 로봇이 장애물과 충돌한 후, 또는 로봇이 현재 네비게이션 위치에서 장애물과 충돌한 후, 장애물 정보가 사전에 표기된 그리드 맵에 충돌점을 표기하고, 그 다음 단계 S4032로 진입한다. 현재 단계 S4031를 실행할 시, 현재 표기된 충돌점은 현재 충돌한 맵에서 장애물에 대응되는 그리드를 충돌점으로 표기하는 것이다. 본 발명의 실시예에서, 엣지 주행을 실행하는 로봇에 복수의 충돌 탐지기를 설치할 수 있고, 소정의 충돌 강도값을 사전에 설정할 수 있으며, 충돌 탐지기의 충돌 강도가 상기 임계값보다 클 경우에만 상기 로봇이 장애물과 충돌한 것으로 판단할 수 있다. 여기에서 상기 임계값을 참조하여 복수의 서로 다른 탐지기의 탐지 데이터에 대한 식별을 실현할 수 있다. 본 실시예에서, 로봇에 의해 장애물이 검출될 경우, 장애물이 위치한 그리드 좌표를 계산하여 맵에서 장애물에 대응되는 그리드를 장애물 포인트로 표기한다.
단계 S4032에서, 단계 S4031에서 현재 표기된 충돌점의 근처에서, 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 선택하고, 선택한 그리드를 로봇의 장애물의 가장자리를 따라 주행하기 위한 가장자리를 따른 예측 경로에서 새로 계획된 가장자리를 따른 동작점으로 표기하며, 즉 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드로 로봇이 장애물과 충돌한 후 계획된 가장자리를 따른 예측 경로의 구성부분을 구성하고, 상기 가장자리를 따른 동작점으로 상기 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 구성하며, 로봇이 좌측 엣지 모드를 시작한 상황에서의 좌측 가장자리를 따른 예측 경로 및 로봇이 우측 엣지 모드를 시작한 상황에서의 우측 가장자리를 따른 예측 경로를 포함하며, 좌측 엣지 모드에서의 로봇은 장애물의 가장자리를 따라 시계 방향으로 움직이고, 우측 엣지 모드에서의 로봇은 장애물의 가장자리를 따라 시계 반대방향으로 움직이므로, 로봇이 엣지 모드를 시작할 시 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획한다. 따라서, 본 실시예에서, 로봇이 장애물과 충돌된 것을 검출한 후, 엣지 주행을 시작하기 전에, 현재 표기된 충돌점의 근처에서 가장자리를 따른 장애물 통과를 유지하는 조건을 구비하는 그리드를 찾아, 후속적으로 로봇이 해당 그리드에 따라 계획되는 장애물 통과 경로에 따라 엣지 주행을 진행함으로써, 로봇의 충돌 횟수를 감소하고, 장애물을 통과하는 네비게이션을 가속화한다.
본 방명의 일 실시예로서, 상기 단계 S4032의 구체적인 방법은 아래와 같은 단계 21~24를 포함한다. 단계 21에서, 단계 S4031에서 현재 표기된 충돌점과의 거리관계가 가장 가까운 거리 조건을 만족하는 장애물 포인트를 검색하고, 그 다음, 단계 22로 진입하되, 단계 S4031에서 현재 표기된 충돌점은 상기 실시예의 단계 S4031에서 그리드 맵에 표기된 충돌점이다. 단계 22에서, 단계 21에서 검색된 장애물 포인트의 근처에서, 사전의 가장자리를 따른 조건을 만족하는 그리드를 선택하며, 그 다음 단계 23로 진입하되, 장애물 포인트의 근처는 상기 장애물 포인트를 둘러싼 8개의 그리드이다. 단계 23에서, 사전의 가장자리를 따른 조건을 만족하는 그리드의 개수가 제2 사전 설정 그리드 수에 도달하는 것으로 통계될 경우, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 상기 최적의 가장자리를 따른 조건을 만족하는 그리드를 선택하고, 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드로도 하며, 그 다음 단계 24로 진입하되, 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드는 가장 가까운 거리 조건을 만족하는 장애물 포인트 및 상기 최적의 가장자리를 따른 조건을 만족하는 그리드의 기초상에서 설정되는 것이며, 즉 그리드가 가장 가까운 거리 조건을 만족하는지 여부를 결정한 다음, 이 기초상에서 대응하게 선택되는 그리드가 상기 최적의 가장자리를 따른 조건을 만족하는지 여부를 결정한다. 단계 24에서, 단계 23에서 선택되는 상기 최적의 가장자리를 따른 조건을 만족하는 그리드를 새로운 충돌점으로 표기하고, 로봇이 장애물의 가장자리를 따라 주행하기 위한 대응되는 가장자리를 따른 예측 경로에서 새로 계획된 가장자리를 따른 동작점으로 추가함과 동시에, 상기 새로운 충돌점을 단계 S4031에서 현재 표기된 충돌점으로 업데이트하고, 사전에 설정된 장애물 통과 그리드 수의 가장자리를 따른 동작점이 표기될 때까지 단계 21로 돌아가 실행한다. 여기서, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드는 새로운 충돌점으로 표기되어 가장자리를 따른 동작점의 집합에 저장되고, 상기 가장자리를 따른 동작점은 로봇의 후속적인 가장자리를 따른 방향을 로봇의 중심 위치로부터 시작되는 좌측 가장자리를 따른 방향과 우측 가장자리를 따른 방향으로 구분하며, 좌측 가장자리를 따른 방향에서 로봇은 장애물의 가장자리를 따라 시계 방향으로 움직이고, 우측 가장자리를 따른 방향에서 로봇은 장애물의 가장자리를 따라 시계 반대방향으로 움직이며, 후속으로 로봇은 상기 가장자리를 따른 동작점에 근거하여 장애물의 가장자리를 따라 주행함으로써, 로봇이 정확한 경로를 따라 장애물을 통과하는 것을 실현하고, 장애물과 충돌하는 문제를 신속하게 해결한다. 여기서, 단계 21에서 가장 가까운 거리 조건을 만족하는 장애물 포인트가 검색되지 않을 경우, 상기 좌측 가장자리를 따른 예측 경로 및/또는 상기 우측 가장자리를 따른 예측 경로를 계획할수 없는 것으로 결정하거나; 또는, 단계 22에서 사전의 가장자리를 따른 조건을 만족하는 그리드가 검색되지 않을 경우, 상기 좌측 가장자리를 따른 예측 경로 및/또는 우측 가장자리를 따른 예측 경로를 계획할 수 없는 것으로 결정한다.
따라서, 본 실시예에서, 단계 21 내지 단계 24를 반복으로 실행하여, 적합한 그리드 개수 범위 내에서, 계획된 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 새로운 충돌점으로 표기하는 것을 실현하여, 로봇이 장애물의 가장자리를 에둘러 주행하는 대응되는 가장자리를 따른 예측 경로를 계획함으로써, 로봇이 맵의 장애물 가장자리에 근거하여 엣지 주행할 경로를 예측하는데 유리하다.
상기 실시예에서, 상기 단계 23에서, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드는, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 선택되는 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드, 즉 이 단계에서 선택된 그리드와 로봇의 중심 위치의 연결선 및 현재 충돌된 장애물의 윤곽선의 접선으로 이루어진 각도가 가장 작은 그리드를 포함하며, 또는 이 단계에서 선택된 그리드와 로봇의 중심 위치의 연결선 및 로봇의 좌표계의 한 좌표축으로 이루어진 각도가 가장 작은 그리드를 형성하며, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 연결선 및 로봇의 좌표계의 다른 한 좌표축으로 이루어진 각도가 가장 크며, 이는 본 실시예에 의해 계획하고 결정된 그리드에 의해 구성되는 가장자리를 따른 예측 경로가 장애물의 윤곽선을 최대한으로 접근하게 한다. 상기 가장자리를 따른 예측 경로를 계획하는 과정에서 로봇의 중심 위치는 고정되어 변하지 않는다.
특히, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드의 통계 개수가 제2 사전 설정 그리드 수에 도달할 경우, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계에 따라, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 선택하여, 상기 가장자리를 따른 장애물 통과 조건을 만족한다. 본 실시예는 소정의 통계 개수를 만족하는 전제하에서, 적합한 길이의 가장자리를 따른 예측 경로를 계획함으로써, 상대적인 위치의 계산량을 감소하고, 로봇의 장애물 통과를 네비게이션하는 처리 효율을 향상시킨다.
일반적으로, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계의 계산 방법은 아래와 같은 내용을 포함한다. 로봇의 중심 위치를 원점으로 하고, 로봇의 본체 우측 방향을 X축 + 방향으로 하며, 로봇 현재의 전진 방향을 Y축 + 방향으로 하여, 로봇 좌표계를 설정한다. 주의해야 할 것은, 상기 좌표계의 X축 방향과 Y축 방향은 유일하게 고정되는 것이 아니라, 로봇의 전진 방향에서의 위치 확인 문제를 교려해야 한다. 본 실시예는 상기 설정되는 로봇 좌표계에서, 로봇 좌표계의 원점에 대한 상기 최적의 가장자리를 따른 조건을 만족하는 각 그리드의 좌표값 및 각도값을 각각 계산한다. 본 실시예에서, 세계 좌표계는 XOY이고, 로봇 좌표계는 X'O'Y'이며, 로봇의 중심점(로봇의 중심 위치)은 로봇 좌표계의 원점이고, 로봇이 세계 좌표계에서의 좌표 및 각도를 결정하는 경우, 기존 기술에서의 로봇 좌표를 세계 좌표로 변환하는 계산식을 통해 로봇의 중심 위치에 대한 각 충돌점, 장애물 포인트 및 상기 가장자리를 따른 동작점의 세계 좌표를 계산할 수 있다. 본 실시예는 로봇의 로컬 좌표계를 사용하여 계획된 그리드 좌표의 계산에 참여함으로써, 관련 그리드의 좌표 계산이 합리적이고 정확하게 한다.
바람직하게는, 상기 충돌점은 전측 충돌점, 좌측 층돌점 및 우측 충돌점을 포함하며, 비용 문제를 고려하여, 본 실시예는 로봇에 2개의 충돌 탐지기를 설치하고, 상기 2개의 충돌 탐지기의 탐지 능력은 완전히 같을 수 있으며, 충돌 탐지기는 장애물과 충돌해야만 장애물의 충돌점 탐지를 실현할 수 있으므로, 충돌 탐지기는 로봇 베이스 전반 섹터의 180도 각의 범위 내에 설치되어야 하고, 여기에서 상기 섹터면을 2등분으로 균등하게 나눌 수 있으며, 각 각도값은 90도로 된다. 로봇의 본체 좌측 전방에는 좌측 충돌 탐지기가 설치되고, 본 실시예에서 좌측 충돌 탐지기는 본체의 좌측 작은 섹터면의 호선의 중간점에 위치하며, 로봇의 전진 방향에서 좌측에 충돌된 장애물을 검출하는데 사용되고, 구체적으로는 로봇이 장애물의 가장자리를 따라 시계 반대방향으로 엣지 주행을 진행하는 과정에서, 본체 좌측에 충돌된 장애물을 검출하여, 대응되는 방향에서의 장애물 상의 충돌점을 좌측 충돌점으로 표기하는데 사용된다. 로봇의 본체 우측 전방에는 우측 충돌 탐지기가 설치되고, 본 실시예에서 우측 충돌 탐지기는 본체의 우측 작은 섹터면의 호선의 중간에 위치하며, 로봇의 전진 방향에서 우측에 충돌된 장애물을 검출하는데 사용되고, 로봇이 장애물의 가장자리를 따라 시계 방향으로 엣지 주행을 진행할 시의 본체 우측에 충돌된 장애물을 검출하여, 대응되는 방향에서의 장애물 상의 충돌점을 우측 충돌점으로 표기하는데 사용된다. 좌측 충돌 탐지기 및 우측 충돌 탐지기는 로봇의 본체 좌우 양측에 대칭되게 설치된다. 좌우 충돌 탐지기의 탐지 능력은 완전히 같으며, 충돌이 상기 2개의 작은 섹터의 교차점에서 일어나고, 상기 2개의 작은 섹터의 충돌 탐지기의 충돌 강도가 동일하며, 즉 로봇의 바로 전방이 장애물에 충돌될 경우, 좌측 충돌 탐지기와 우측 충돌 탐지기를 동시에 트리거하여 검출하며, 대응되는 방향에서의 장애물 상의 충돌점을 전측 충돌점으로 표기함으로써, 로봇이 표기한 전측 충돌점, 좌측 충돌점 및 우측 충돌점은 각각 로봇의 바로 전방에 충돌된 장애물 윤곽선의 접선에 위치한다. 장애물의 윤곽선은 그리드 맵에 표기되어 형성된 것이다. 로봇이 동일한 장애물의 서로 다른 측면의 가장자리를 에둘러 엣지 주행을 진행하는데 유리하고, 로봇이 엣지 주행의 방식으로 서로 다른 장애물을 통과하는데에도 적용된다.
설명해야 할 것은, 동일한 로봇 좌표계에서, 로봇의 본체 중심이 있는 맵 위치가 로봇 좌표계의 원점과 등가하고, 본 실시예에서 로봇의 본체 중심을 로봇 중심 위치로 간주하고 원점으로 하는 경우, 로봇이 동일한 위치에서 표기한 전측 충돌점, 좌측 충돌점 및 우측 충돌점이 모두 로봇의 바로 전방에 충돌된 장애물의 윤곽선의 접선에 위치한다. 로봇이 원점 위치(0, 0)에서 장애물과 충돌될 경우, 좌측 충돌점의 좌표가 (-2, 2)로 표기되면, 우측 충돌점의 좌표는 (2, 2)로 표기되고, 전측 충돌점의 좌표는 (0, 2)로 표기된다. 따라서, 로봇이 원점 위치(0, 0)에 있는 경우, 로봇이 좌표(-2, 2)(좌측 충돌점)에서 충돌된 것을 검출할 경우, 로봇의 전진 방향에서 좌측에 장애물이 충돌된 것으로 결정하고; 로봇이 좌표(2, 2)(우측 충돌점)에서 충돌된 것을 검출할 경우, 로봇의 전진 방향에서 우측에 장애물이 충돌된 것으로 결정하며; 로봇이 좌표(0, 2)(전측 충돌점)에서 충돌이 발생된 것을 검출할 경우, 로봇의 전진 방향에서 장애물이 충돌된 것으로 결정한다.
동시에, 본 실시예는 상기 충돌점이 충돌 탐지기에서 멀리 떨어질수록, 충돌 강도는 더 작으므로, 각 작은 섹터 내의 충돌 강도가 모두 상기 섹터 내의 충돌 탐지기에 의해 측정될 경우, 각 섹터 간의 교차점은 충돌한 후 충돌 강도가 가장 작은 충돌점이 바로 상기 전측 충돌점으로 된다. 상술한 바와 같이 충돌 강도 임계값을 상기 전측 충돌점의 충돌 강도보다 조금 작게 설정할 수 있으며, 상기 임계값에 근거하여 로봇과 장애물이 출돌될 시 항상 하나의 섹터 내의 충돌 탐지기의 충돌 강도만 임계값보다 큼으로써, 로봇이 동일한 시각에 하나의 충돌 탐지에 의해 탐지되는 장애물만 식별하여, 충돌 탐지기가 로봇 전방 장애물에 대해 영역별로 탐지하는 것을 실현하고, 후속적인 가장자리를 따른 방향의 계획 판단에 편리하다. 여기서, 상기 임계값의 크기는 작은 섹터의 각도 변화에 따라 변화되지만, 작은 섹터의 각도는 충돌 탐지기의 개수와 관련되므로, 상기 충돌 강도 임계값은 로봇에 설치되는 충돌 탐지기 개수에 따라 변화되어야 한다.
일 실시예로서, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계에 근거하여, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 선택하는 방법은 아래와 같은 단계를 포함한다.
로봇이 상기 단계 S4031에서 현재 표기한 충돌점이 상기 좌측 충돌점일 경우, 로봇의 현재 위치에 대하여 장애물의 가장자리를 따라 시계 반대방향으로 분포되고, 상기 로봇의 현재 위치에 대한 각도값이 가장 큰 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 한다. 상기 그리드와 상기 로봇 현재 위치의 연결선이 장애물의 우측 가장자리에 가장 근접함으로써, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드가 상기 우측 가장자리를 따른 예측 경로로서 연결되게 한다. 전체적으로 볼때 상기 그리드는 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드와 동등하므로, 상기 그리드와 로봇 현재 위치의 연결선이 상기 장애물의 가장자리에 가장 근접하게 함으로써, 로봇이 가장자리를 따라 장애물을 통과하는 기준으로 되는 가장자리를 따른 방향(시계 반대방향)을 결정한다. 설명해야 할 것은, 로봇이 장애물의 가장자리를 따라 주행하는 과정에서, 우측 가장자리를 따른 동작이 존재하면, 즉, 로봇이 장애물의 우측 가장자리(윤곽선)를 따라 시계 반대방향으로 움직이면, 로봇의 기준으로 되는 가장자리를 따른 방향이 시계 반대방향인 것으로 결정한다. 따라서, 먼저 로봇의 현재 위치에 대하여 장애물의 가장자리를 따라 시계 반대방향으로 분포되는 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하는 것으로 결정함으로써, 로봇이 후속으로 현재 위치로부터 시작하여 순서에 따라 선택되는 상기 최적의 가장자리를 따른 조건을 만족하는 그리드를 순회하도록 제어하는데 유리하고, 장애물의 가장자리(윤곽선)를 따라 시계 반대방향으로 움직이는 것을 실현한다. 그 다음, 이 기초상에서 상기 요구를 만족하는 그리드의 각도 정보를 계산하여 상기 로봇의 현재 위치에 대한 각도값(상기 실시예에서 설정된 로봇 좌표계의 X축 + 방향에 대하여 형성된 각도)이 가장 큰 상기 사전의 가장자리를 따른 조건을 만족하는 그리드를 선별하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 하고, 이는 상기 제2 사전 설정 그리드 개수인 상기 사전의 가장자리를 따른 조건을 만족하는 그리드에서, 로봇의 현재 위치와의 연결선이 상기 장애물의 가장자리에 가장 근접하는 그리드를 선택하여, 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 획득하는 것에 등가하며, 후속으로 엣지 주행하는 과정에서의 로봇이 상기 가장자리를 따른 장애물 통과 조건의 그리드가 계획한 가장자리를 따른 예측 경로에 따라 장애물의 가장자리(윤곽선)를 따라 시계 반대방향으로 움직이고, 소정의 그리드 개수의 상기 가장자리를 따른 동작점을 통과한 후 장애물 우측 가장자리를 통과할 수 있다. 주의해야 할 것은, 상기 가장자리를 따른 장애물 통과 조건을 만족한다는 것은, 상기 가장 가까운 거리 조건 및 상기 사전의 가장자리를 따른 조건을 동시에 만족해야 한다.
마찬가지로, 로봇이 상기 단계 S4031에서 현재 표기한 충돌점이 상기 우측 충돌점일 경우, 로봇의 현재 위치에 대하여 장애물의 가장자리를 에둘러 시계 방향으로 분포되고, 상기 로봇의 현재 위치에 대한 각도값이 가장 작은 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 한다. 상기 그리드와 상기 로봇 현재 위치의 연결선이 장애물의 좌측 가장자리에 가장 근접함으로써, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드가 상기 좌측 가장자리를 따른 예측 경로로서 계획되게 한다. 전체적으로 볼때 상기 그리드는 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드와 동등하므로, 상기 그리드와 로봇 현재 위치의 연결선이 상기 장애물의 가장자리에 가장 근접하게 함으로써, 로봇이 가장자리를 따라 장애물을 통과하는 기준으로 되는 가장자리를 따른 방향(시계 방향)을 결정한다. 설명해야 할 것은, 로봇이 장애물의 가장자리를 따라 주행하는 과정에서, 좌측 가장자리를 따른 동작이 존재하면, 즉, 로봇이 장애물의 좌측 가장자리(윤곽선)를 따라 시계 방향으로 움직이면, 로봇의 기준으로 되는 가장자리를 따른 방향이 시계 방향인 것으로 결정한다. 따라서, 먼저 로봇의 현재 위치에 대하여 장애물의 가장자리를 따라 시계 방향으로 분포되는 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하는 것으로 결정함으로써, 로봇이 후속으로 현재 위치로부터 시작하여 순서에 따라 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 순회하는 과정에서, 장애물의 가장자리(윤곽선)를 따라 시계 방향으로 움직이는 것을 실현하도록 제어하는데 유리하다. 그 다음, 이 기초상에서 상기 요구를 만족하는 그리드의 각도 정보를 계산하여 상기 로봇의 현재 위치에 대한 각도값(상기 실시예에서 설정된 로봇 좌표계의 X축 + 방향에 대하여 형성된 각도, 여기서 X축 + 방향은 동일한 장애물의 우측을 가리킴)이 가장 작은 상기 사전의 가장자리를 따른 조건을 만족하는 그리드를 선별하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 하고, 상기 제2 사전 설정 그리드 개수인 상기 사전의 가장자리를 따른 조건을 만족하는 그리드에서, 로봇의 현재 위치와의 연결선이 상기 장애물의 가장자리에 가장 근접하는 그리드를 선택하여, 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 획득하는 것에 등가하며, 상기 가장자리를 따른 동작점으로 표기되고, 후속으로 엣지 주행하는 과정에서의 로봇이 상기 가장자리를 따른 동작점이 계획한 가장자리를 따른 예측 경로에 따라 장애물의 가장자리(윤곽선)를 따라 시계 방향으로 움직이며, 로봇이 소정의 그리드 개수의 상기 가장자리를 따른 동작점을 통과한 후 장애물 좌측 가장자리를 통과할 수 있다. 주의해야 할 것은, 상기 가장자리를 따른 장애물 통과 조건을 만족한다는 것은, 상기 가장 가까운 거리 조건 및 상기 사전의 가장자리를 따른 조건을 동시에 만족해야 한다.
여기서, 로봇의 중심 위치(로봇의 본체 중심)에 대한 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드의 각도 크기는 로봇 좌표계의 X축 + 방향에 대한 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드와 로봇의 중심 위치(로봇의 본체 중심)의 연결선의 편향 각도이고, 상기 편향 각도의 크기는 X축의 설정 위치와 관련되며, 특히 X축 + 방향 설정 및 장애물의 분포 위치 관계와 관련됨으로써, 선택된 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드와 로봇의 중심 위치의 연결선이 장애물의 가장자리에 가장 근접하도록 확보하고, 가장 짧은 가장자리를 따른 예측 경로를 계획한다.
로봇이 현재 충돌하는 장애물의 형태 윤곽 및 그 분포 위치에 제한되어, 로봇의 중심 위치(로봇의 본체 중심)에 대한 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드의 연결선이 X축 + 방향으로 접근할 수록 대응된 편향 각도는 더 작고, 반대로 멀어질 수록 대응된 편향 각도는 더 크지만, 로봇이 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 통해 순리롭게 장애물을 통과하고 장애물과 빈번하게 충돌하지 않는 것을 확보해야 한다. 본 실시예는 로봇이 최적의 각도 방향에 따라 장애물을 통과하기 위한 가장자리를 따른 예측 경로를 계획하고, 로봇이 장애물의 가장자리를 에둘러 시계 방향 또는 시계 반대방향으로 움직이는 그리드를 지원하는 것을 실현하고; 장애물의 형태 특성에 따라 로봇의 가장자리를 따라 주행하는 경로를 계획하여, 로봇이 후속적으로 장애물 통과를 실패하는 확율을 감소하는 것을 실현한다. 본 기술방안은 가장자리를 따른 방향의 각도에 대해 극값 한정을 진행하여, 로봇이 장애물을 통과하는 과정에서 충돌되는 횟수를 효과적을 감소하고, 로봇이 장애물을 통과하는 속도를 가속화한다.
일 실시예로서, 상기 로봇이 장애물을 통과하기 위한 가장자리를 따른 예측 경로의 계획 방법의 구체적인 단계 흐름은 아래와 같은 단계 S501~ S508을 포함한다.
단계 S501에서, 로봇이 장애물에 충돌된 후, 또는 로봇이 현재 네비게이션 위치에서 장애물에 충돌된후, 로봇과 장애물이 충돌된 점을 충돌점으로 정의하고, 장애물 정보가 사전에 표기된 그리드 맵에 충돌점을 표기하며, 그 다음 단계 S502로 진입한다.
단계 S502에서, 단계 S501에서 현재 표기된 충돌점을 중심으로 하고, 반경을 제1 사전 설정 그리드 수로 하는 제1 사전 설정 검색 영역을 설정하며, 그 다음 단계 S503로 진입한다. 여기서, 제1 사전 설정 그리드 수는 바람직하게는 3개의 그리드이고, 단계 S502에서는 상기 단계 S501에서 현재 표기된 충돌점까지의 거리가 3개의 그리드 가장자리 길이보다 작은 모든 그리드를 검색하기 위한 것이며, 그리드 사이의 거리 비교는 그리드 좌표점의 거리 비교일 수 있다. 로봇이 후속으로 엣지 주행하는 과정에서 장애물에서 너무 멀리 이탈되는 것을 방지한다.
단계 S503에서, 제1 사전 설정 검색 영역 내에서 단계 S501에서 현재 표기된 충돌점까지의 거리가 가장 가깝고, 충돌점으로 표기되지 않은 장애물 포인트를 검색하여, 가장 가까운 거리 조건을 만족하는 장애물 포인트로 하며, 그 다음 단계 S504로 진입한다. 설명해야 할 것은, 하나의 상기 가장자리를 따른 동작점이 계획되기 전에, 상기 단계 S501에서 현재 표기된 충돌점은 로봇이 상기 단계 S4031를 실행하여 장애물 포인트가 사전에 표기된 그리드 맵에 표기되는 충돌점이고, 장애물 포인트가 사전에 표기된 그리드 맵에 첫번째로 표기되는 충돌점이다. 단계 S503에서 선택되는 장애물 포인트는 장애물과 로봇이 충돌되는 부분의 윤곽 형태를 둘러싸는데 사용된다.
바람직하게는, 상기 단계 S503에서 가장 가까운 거리 조건을 만족하는 장애물 포인트를 찾지 못할 경우, 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 선후로 계획할 수 없는 것으로 결정하고, 다시 상기 단계 S404로 돌아간다. 장애물 통과 과정에서 가장자리를 따른 방향에 대한 잘못된 선택을 할수 있어, 로봇이 엣지 주행하는 과정에서 네비게이션 목표점을 이탈하는 것을 방지한다.
단계 S504에서, 단계 S503에서 검색된 장애물 포인트의 근처에서, 상기 장애물 포인트 및 이미 계획된 가장자리를 따른 그리드점 이외의 로봇이 순회하여 표기한 그리드를 선택하여, 사전의 가장자리를 따른 조건을 만족하는 그리드로 한다. 그 다음 단계 S505로 진입한다. 여기서, 상기 단계 S503에서 검색된 장애물 포인트의 근처의 8개의 그리드 범위 내에서, 로봇이 순회하여 표기한 그리드에서 상기 장애물 포인트 및 이미 계획된 가장자리를 따른 그리드점 이외의 그리드를 검색하여, 일 측면으로는 로봇이 사전의 가장자리를 따른 조건을 만족하는 그리드에서 통행할 수 있도록 확보하고, 다른 일 측면으로는 로봇이 이미 계획된 가장자리를 따른 예측 경로 영역을 반복하여 주행하는 것을 방지하여, 로봇이 가장자리를 따른 네비게이션 영역의 순회 반복율을 감소한다.
바람직하게는, 상기 단계 S504에서 사전의 가장자리를 따른 조건을 만족하는 그리드를 찾지 못할 경우, 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 선후로 계획할 수 없는 것으로 결정하고, 다시 상기 단계 S404로 돌아간다. 장애물 통과 과정에서 가장자리를 따른 방향에 대한 잘못된 선택을 할수 있어, 로봇이 엣지 주행하는 과정에서 네비게이션 목표점을 이탈하는 것을 방지한다.
단계 S505에서, 상기 단계 S504에서 사전의 가장자리를 따른 조건을 만족하는 그리드의 개수를 통계하고; 상기 사전의 가장자리를 따른 조건을 만족하는 그리드가 통계될 때마다, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계를 계산한다. 그 다음 단계 S506로 진입한다. 후속적으로 로봇을 유도하여 정확한 가장자리를 따른 방향으로 주행하게 하기 위한 그리드를 선별하는데 유리하다.
단계 S506에서, 단계 S505에서 통계된 개수가 제2 사전 설정 그리드 수에 도달할 경우, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계에 근거하여, 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 선택하여, 최적의 가장자리를 따른 조건을 만족하는 그리드로 하며, 그 다음 단계 S507로 진입한다. 단계 S506에서 설별되는 최적의 가장자리를 따른 조건을 만족하는 그리드는 가장자리를 따른 장애물 통과 조건을 만족하는 그리드에 속하며, 후속으로 직접 적합한 길이의 가장자리를 따른 예측 경로를 계획하는데 사용됨으로써, 상대적인 위치의 계산량을 줄이고, 로봇이 네비게이션하여 장애물을 통과하는 처리 효율을 향상시킨다.
단계 S507에서, 단계 S506에서 선택된 그리드점을 새로운 충돌점으로 표기하여, 로봇이 장애물의 가장자리를 따라 주행하는 대응되는 가장자리를 따른 예측 경로에 추가하며, 새로 계획되는 가장자리를 따른 동작점으로 표기하고, 상기 가장자리를 따른 동작점은 로봇 내부의 가장자리를 따른 예측 경로 메모리에 저장되며, 로봇이 후속으로 주행하고 순회하는데 사용되어, 장애물을 통과함과 동시에, 상기 새로운 충돌점을 단계 S501에서 현재 표기된 충돌점으로 업데이트하고, 단계 S508로 진입한다.
단계 S508에서, 사전 설정 장애물 통과 그리드 수의 가장자리를 따른 동작점이 표기될지 여부를 판단하며, 표기될 경우, 상기 가장자리를 따른 예측 경로 계획 방법 실행을 종료하여 로봇이 계획된 가장자리를 따른 동작점까지 엣지 주행하는 것을 대기하고, 표기되지 않을 경우, 상기 단계 S502로 돌아가며, 상기 단계에 따라 업데이트된 후의 현재 표기된 충돌점을 사용하여 가장자리를 따라 장애물을 통과하는 조건을 만족하는 그리드를 계속 선택하고, 선택된 그리드를 로봇이 장애물의 가장자리를 따라 주행하기 위한 가장자리를 따른 예측 경로에 새로 계획되는 가장자리를 따른 동작점으로 표기한다. 여기서, 단계 S508는 로봇 내부의 가장자리를 따른 예측 경로 메모리에 상기 가장자리를 따른 동작점으로 채워 저장되었는지 여부를 판단하기 위한 것이고, 로봇의 중심 위치로부터 시작하여, 사전 설정 장애물 통과 그리드 수의 가장자리를 따른 동작점은 충분히 하나의 중심 위치를 통과하여 장애물에 충돌되는 가장자리를 따른 예측 경로로 계획될 수 있다. 설명해야 할 것은, 상기 그리드의 선택 및 계산은 대응되는 그리드 좌표점의 선택 및 연산으로 간주할 수 있다.
상기 단계 S501 내지 단계 S508을 실행하여, 단계 S501에서 표기한 충돌점이 상기 우측 충돌점일 경우, 로봇의 현재 위치에 대하여 장애물의 가장자리를 에둘러 시계 방향으로 분포되고, 상기 로봇의 현재 위치에 대한 각도값이 가장 작은 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 함으로써, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드가 상기 좌측 가장자리를 따른 예측 경로로 계획되게 하고, 좌측 가장자리를 따른 동작이 존재하는 로봇은 장애물의 좌측 가장자리(윤곽선)를 따라 시계 방향으로 움직이며; 단계 S501에서 표기한 충돌점이 상기 좌측 충돌점일 경우, 로봇의 현재 위치에 대하여 장애물의 가장자리를 에둘러 시계 반대방향으로 분포되고, 상기 로봇의 현재 위치에 대한 각도값이 가장 큰 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 함으로써, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드가 상기 우측 가장자리를 따른 예측 경로로 계획되게 하고, 우측 가장자리를 따른 동작이 존재하는 로봇은 장애물의 우측 가장자리(윤곽선)를 따라 시계 반대방향으로 움직인다. 따라서, 상기 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로는 각각 좌측 가장자리를 따른 예측 경로 및 우측 가장자리를 따른 예측 경로이다.
상기 모든 실시예의 기초상에서, 아래와 같은 단계를 포함하는 로봇의 장애물 통과를 제어하는 방법을 더 개시한다. 로봇이 상기 장애물 통과 종료 판단 방법을 실행하도록 제어하고; 로봇의 현재 장애물 통과가 종료되는 것으로 결정될 경우, 로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로에 따라 엣지 주행하는 것을 정지하여 장애물 통과를 종료하도록 제어하며; 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정될 경우, 로봇이 계속 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로에 따라 엣지 주행함과 동시에, 계속 상기 장애물 통과 종료 판단 방법을 실행하도록 제어한다. 기존 기술과 비교하면, 본 실시예는 로봇이 장애물을 따라 끊임없이 엣지 주행하는 것을 방지하여, 로봇이 장애물을 통과한 후 곧바로 네비게이션 경로로 전환하여, 로봇의 네비게이팅 효율을 향상시킨다.
상기 장애물 통과 제어 방법은 아래와 같은 단계를 더 포함한다. 로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로에 따라 엣지 주행하는 것을 정지한 후, 로봇이 사전에 설정된 네비게이션 경로에 따라 주행하도록 제어하고, 로봇이 장애물에 충돌된 것을 검출한 후, 상기 가장 빠른 가장자리를 따른 예측 경로를 계획하여 선택하며, 그 다음 상기 장애물 통과 종료 판단 방법으로 돌아가 실행하고, 이와 같이 로봇이 상기 최종 네비게이션 목표점에 네비게이션될 때까지 반복되어, 로봇이 원래 설정된 네비게이션이 장애물 통과로 인해 중단되지 않도록 유지하며, 로봇이 네비게이션 작동의 효율을 향상시킨다.
바람직하게는, 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로에 따라 엣지 주행하는 과정에서, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하는 것으로 판단될 경우, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하고, 그 다음 로봇이 계속 상기 가장 빠른 가장자리를 따른 예측 경로에 따라 엣지 주행하도록 제어하고, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하지 않는 것으로 판단될 경우, 로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로에 따라 엣지 주행하는 것을 정지하여 장애물 통과가 종료되도록 제어한다. 구체적인 단계는 상기 실시예에서 대응되는 방법 단계를 참조할 수 있으며, 여기에서 설명을 생략한다. 본 실시예는 로봇이 가장자리를 따라 장애물을 통과하는 동작을 미리 종료하여, 로봇이 현재의 가장 빠른 가장자리를 따른 예측 경로에 대한 포기를 선택함으로써, 로봇이 가장자리를 따라 너무 오래 주행하여 최종 네비게이션 목표점에서 너무 멀리 이탈되는 것을 방지한다.
본 발명은 칩을 개시하며, 상기 칩에 프로그램 코드가 저장되고, 상기 프로그램 코드가 칩에 의해 실행될 경우 상기 장애물 통과 종료 판단 방법을 실현하거나, 또는 상기 장애물 통과 제어 방법을 실현한다. 예를 들면, 로직 기능을 실현하기 위한 실행 가능한 명령어의 순서 리스트로 간주할 수 있는 흐름도에서 표시되거나 여기에서 다른 방식으로 설명되는 로직 및/또는 단계는 구체적으로 임의의 컴퓨터 판독가능 매체에서 실현되어, 명령어 실행 시스템, 장치 또는 기기(예를 들면, 컴퓨터를 기반으로 하는 시스템, 프로세서를 포함하는 시스템 또는 기타 명령어 실행 시스템, 장치 또는 기기로부터 명령어를 획득하여 명령어를 실행하는 시스템)의 사용에 제공되거나, 또는 상기 명령어 실행 시스템, 장치 또는 기기와 결합되어 사용된다. 본 명세서의 경우, “컴퓨터 판독가능 매체”는 프로그램을 포함, 저장, 통신, 전파 또는 전송하여 명령어 실행 시스템, 장치 또는 기기의 사용에 제공하거나, 또는 상기 명령어 실행 시스템, 장치 또는 기기와 결합하여 사용되는 임의의 장치일 수 있다. 컴퓨터 판독가능 매체의 더 구체적인 예시(불완전성 리스트)는 하나 또는 복수의 배선을 갖는 전기적 연결부(전자 장치), 휴대용 컴퓨터 디스크(자기 장치), 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 소거 가능 및 프로그램 가능 리드 온리 메모리(EPROM 또는 플래시 메모리), 광섬유 장치 및 휴대용 콤팩트 디스크 리드 온리 메모리(CD-ROM)를 포함한다. 또한, 컴퓨터 판독가능 매체는 심지어 그 위에 상기 프로그램이 프린트될 수 있는 종이 또는 다른 적합한 매체일 수 있으며, 이는 예를 들면, 종이 또는 다른 매체에 대해 광학 스캔을 진행하고, 이어서 편집, 해석을 진행하거나 필요시 다른 적합한 방식으로 처리하여, 전자 방식으로 상기 프로그램을 얻은 다음, 컴퓨터 메모리에 저장할 수 있기 때문이다.
본 발명은 로봇을 개시하며, 상기 로봇의 본체 좌측 전방에 좌측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서의 좌측에 충돌된 장애물을 검출하기 위한 것이며, 로봇이 장애물의 가장자리를 따라 시계 반대방향에서 엣지 주행할 시의 본체 좌측에 충돌된 장애물을 검출하는데 사용되고; 상기 로봇의 본체 우측 전방에 우측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서의 우측에 충돌된 장애물을 검출하기 위한 것이며, 로봇이 장애물의 가장자리를 따라 시계 방향에서 엣지 주행할 시의 본체 우측에 충돌된 장애물을 검출하는데 사용되며; 상기 로봇에 상기 칩이 설치되고, 상기 칩은 좌측 충돌 탐지기 및 우측 충돌 탐지기와 각각 연결되며, 로봇은 상기 장애물 통과 제어 방법을 실행하도록 설정된다. 여기서, 좌측 충돌 탐지기와 우측 충돌 탐지기는 로봇의 본체 좌우 양측에 대칭되게 설치되고, 로봇의 바로 전방이 장애물에 충돌될 경우, 좌측 충돌 탐지기와 우측 충돌 탐지기는 동시에 트리거되어 검출하며, 대응되는 방향에서의 장애물 상의 충돌점을 전측 충돌점으로 표기하여, 로봇이 동일한 위치에서 표기한 전측 충돌점, 좌측 충돌점 및 우측 충돌점이 모두 로봇의 바로 전방에 충돌된 장애물의 윤곽선의 접선에 위치하게 하고, 장애물의 윤곽선은 그리드 맵에 표기되어 형성된 것이다.
상기 실시예는 단지 본 발명의 기술사상 및 특점을 설명하기 위한 것일 뿐이고, 그 목적은 당업자가 본 발명의 내용을 이해하고 실시하도록 하기 위한 것이며, 이것으로 본 발명의 보호 범위를 한정하여서는 안된다. 본 발명의 사상에 따라 실질적으로 진행되는 균등한 변형 또는 수식은 모두 본 발명의 보호 범위 내에 포함되어야 한다.

Claims (28)

  1. 로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행할 경우, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하되, 네비게이션 경로는 로봇이 네비게이션을 시작하기 전에 설정된 것이고, 가장 빠른 가장자리를 따른 예측 경로는 로봇이 네비게이션 과정에서 장애물과의 충돌로 인해 계획하여 선택된 것인 단계;
    가이드 조건을 만족하는 제2 사전 설정 전환점 집합에서, 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점으로 되는 하나의 최적의 전환점을 획득하는 단계;
    상기 최적의 전환점과 로봇의 현재 위치가 연결되는 선분에 장애물이 표기되었는지 여부를 판단하며, 장애물이 표기되었을 경우, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하고, 장애물이 표기되지 않을 경우, 로봇의 현재 장애물 통과가 종료된 것으로 결정하는 단계;
    를 포함하는 것을 특징으로 하는 로봇의 장애물 통과 종료 판단 방법.
  2. 제1항에 있어서,
    상기 가이드 조건을 만족하는 제2 사전 설정 전환점 집합에서, 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점으로 되는 하나의 최적의 전환점을 획득하는 방법은,
    장애물 통과를 판정하는 하나의 임계값을 사전에 설정하는 단계;
    가이드 조건을 만족하는 제2 사전 설정 전환점 집합 중의 각 전환점과 로봇의 현재 위치 사이의 거리를 각각 계산한 다음, 상기 거리를 장애물 통과 판정 임계값으로 각각 뺄셈을 하여 대응된 차이값의 절대값을 획득하는 단계;
    가이드 조건을 만족하는 제2 사전 설정 전환점 집합 중의 각 전환점과 로봇의 현재 위치 사이의 거리와 장애물 통과 판정 임계값의 차이값의 절대값들을 비교하는 것을 통해, 차이값의 절대값이 가장 작은 대응되는 전환점을 선택하여, 상기 최적의 전환점은 가이드 조건을 만족하는 제2 사전 설정 전환점 집합의 모든 전환점 중 로봇의 현재 위치와의 거리가 장애물 통과 판정 임계값에 가장 근접한 전환점으로 되는 상기 최적의 전환점으로 하는 단계; 를 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  3. 제2항에 있어서,
    상기 최적의 전환점과 로봇의 현재 위치가 연결되는 선분에 장애물이 표기되었는지 여부를 판단하며, 장애물이 표기되었을 경우, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하고, 장애물이 표기되지 않을 경우, 로봇의 현재 장애물 통과가 종료된 것으로 결정하는 방법은,
    로봇의 현재 위치와 상기 최적의 전환점이 연결되는 선분에서, 상기 선분이 지나가는 그리드 좌표에 그리드 맵에 사전 표기된 장애물 포인트의 좌표와 동일한 하나의 그리드 좌표가 존재하는지 여부를 하나씩 판단하며, 존재할 경우, 로봇의 현재 위치와 최적의 전환점이 연결되는 선분에 장애물이 존재하는 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되지 않는 것으로 결정하고, 존재하지 않을 경우, 로봇의 현재 위치와 최적의 전환점이 연결되는 선분에 장애물이 존재하지 않는 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되는 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  4. 제1항 또는 제3항에 있어서,
    로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 과정에서, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하는지 여부를 판단하며, 만족할 경우, 로봇이 동일한 위치에 갇히지 않은 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하고, 만족하지 않을 경우, 로봇이 동일한 위치에 갇힌 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  5. 제4항에 있어서,
    사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하는지 여부를 판단하며, 만족할 경우, 로봇이 동일한 위치에 갇히지 않은 것으로 결정하고, 만족하지 않을 경우, 로봇이 동일한 위치에 갇힌 것으로 결정하는 방법은, 구체적으로,
    로봇이 엣지 주행하는 시간이 상기 사전에 설정된 가장자리를 따른 시간에 도달하였다고 시간을 카운트할 때마다, 로봇의 가장자리를 따른 회전 각도가 사전에 설정된 최대 회전각 이하로 판단되고, 또한 로봇의 엣지 주행한 노정이 사전에 설정된 가장자리를 따른 최대 거리 이하로 판단되면, 로봇이 동일한 위치에 갇히지 않은 것으로 결정하여, 로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정하는 단계;
    로봇이 엣지 주행하는 시간이 상기 사전에 설정된 가장자리를 따른 시간에 도달하거나 초과하였다고 시간을 카운트할 때마다, 로봇의 가장자리를 따른 회전 각도가 사전에 설정된 최대 회전각보다 큰 것으로 판단되거나, 또는 로봇의 엣지 주행한 노정이 사전에 설정된 가장자리를 따른 최대 거리보다 큰 것으로 판단되면, 로봇은 동일한 위치에 갇힌 것으로 결정하여, 로봇이 현재 장애물 통과를 종료하는 것으로 결정하는 단계; 를 포함하며,
    로봇의 가장자리를 따른 회전 각도는 로봇이 정기적으로 읽는 자이로스코프 각도 증분을 누적한 결과인 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  6. 제5항에 있어서,
    상기 가장 빠른 가장자리를 따른 예측 경로를 계획하는 방법은,
    먼저 로봇의 장애물 통과를 위한 가장자리를 따른 예측 경로를 계획하고, 사전에 설정된 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택하되, 로봇에는 전환점이 연결되어 형성된 네비게이션 경로가 사전에 설정되고, 상기 전환점은 로봇을 유도하여 최종 네비게이션 목표점까지 이동하도록 하기 위한 것이고, 가장자리를 따른 예측 경로는 가장자리를 따른 방향이 반대되는 2개의 가장자리를 따른 예측 경로를 포함하는 단계;
    그 다음 가장자리를 따른 예측 경로 각각에서 모든 가장자리를 따른 동작점과 동일한 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점 사이의 거리 정보에 근거하여, 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로를 선택하여, 상기 가장 빠른 가장자리를 따른 예측 경로로 하는 단계;
    를 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  7. 제6항에 있어서,
    상기 가장자리를 따른 예측 경로 각각에서 모든 가장자리를 따른 동작점과 동일한 네비게이션 경로에서 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점 사이의 거리 정보에 근거하여, 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로를 선택하여, 로봇이 장애물에 충돌된 후 상기 선택된 가장자리를 따른 예측 경로의 가장자리를 따른 방향에 따라 주행하도록 함으로써 장애물 통과를 실현하는 방법은,
    상기 가장자리를 따른 예측 경로는 방향이 서로 반대되는 좌측 가장자리를 따른 예측 경로 및 우측 가장자리를 따른 예측 경로를 포함하는 단계;
    상기 네비게이션 경로의 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점에서 좌측 가장자리를 따른 예측 경로에서의 동일한 가장자리를 따른 동작점까지의 거리를 계산한 다음, 상기 거리의 합을 구함으로써, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 가장자리를 따른 동작점이 생성하는 하나의 좌측 부분적인 거리의 합을 획득하고, 그 다음 상기 계산 단계를 반복하여 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 좌측 가장자리를 따른 예측 경로에서의 가장자리를 따른 각 동작점이 생성하는 좌측 부분적인 거리의 합을 획득하며, 상기 좌측 부분적인 거리의 합을 덧셈하여, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 좌측 가장자리를 따른 예측 경로가 생성하는 것으로, 상기 네비게이션 경로에 대한 좌측 가장자리를 따른 예측 경로의 이탈 정도를 나타내기 위한 좌측 거리의 총합을 획득하는 단계;
    이와 동시에, 상기 네비게이션 경로의 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 포함되는 전환점에서 우측 가장자리를 따른 예측 경로에서의 동일한 가장자리를 따른 동작점까지의 거리를 계산한 다음, 상기 거리의 합을 구함으로써, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 가장자리를 따른 동작점이 생성하는 하나의 우측 부분적인 거리의 합을 획득하고, 그 다음 상기 계산 단계를 반복하여 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 우측 가장자리를 따른 예측 경로에서의 가장자리를 따른 각 동작점이 생성하는 우측 부분적인 거리의 합을 획득하며, 상기 우측 부분적인 거리의 합을 덧셈하여, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합에 대한 우측 가장자리를 따른 예측 경로가 생성하는 것으로, 상기 네비게이션 경로에 대한 우측 가장자리를 따른 예측 경로의 이탈 정도를 나타내기 위한 우측 거리의 총합을 획득하는 단계;
    좌측 거리 총합이 우측 거리 총합보다 클 경우, 우측 가장자리를 따른 예측 경로가 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로인 것으로 결정하며, 우측 가장자리를 따른 예측 경로를 선택하여 상기 가장 빠른 가장자리를 따른 예측 경로로 하는 단계;
    우측 거리 총합이 좌측 거리 총합보다 클 경우, 좌측 가장자리를 따른 예측 경로가 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로인 것으로 결정하며, 좌측 가장자리를 따른 예측 경로를 선택하여 상기 가장 빠른 가장자리를 따른 예측 경로로 하는 단계; 를 포함하며,
    우측 거리 총합이 작을수록, 상기 네비게이션 경로에 대한 우측 가장자리를 따른 예측 경로의 이탈 정도는 더 작고; 좌측 거리 총합이 작을수록, 상기 네비게이션 경로에 대한 좌측 가장자리를 따른 예측 경로의 이탈 정도는 더 작은 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  8. 제7항에 있어서,
    현재 계획된 상기 가장 빠른 가장자리를 따른 예측 경로대로 주행하기 전에,
    사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 큰지 여부를 판단하며, 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 클 경우, 로봇이 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획하도록 제어하고, 사전에 설정된 시간 내에 로봇이 위치하는 좌표의 위치 변화량이 거리 안정 임계값보다 크지 않을 경우, 로봇이 가장자리를 따른 방향을 변경하도록 제어하여, 로봇이 회전하여 현재 결정된 가장자리를 따른 방향과 반대되는 방향을 따라 주행하도록 하는 단계를 더 포함하며,
    현재 결정된 가장자리를 따른 방향은 로봇에 전원 연결시 사전 설정되는 가장자리를 따른 방향 및 지난번 선택된 상기 네비게이션 경로에 대한 이탈 정도가 가장 작은 가장자리를 따른 예측 경로의 가장자리를 따른 방향을 포함하고,
    로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 계획할 수 없는 것으로 판단될 경우, 로봇이 회전하여 현재 결정된 가장자리를 따른 방향과 반대되는 방향을 따라 주행하도록 제어하며,
    거리 안정 임계값은 로봇의 본체 직경 크기로 설정되는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  9. 제6항 또는 제8항에 있어서,
    로봇이 계획된 상기 가장 빠른 가장자리를 따른 예측 경로에서 주행하지 않을 경우, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택하고;
    로봇이 계획된 가장 빠른 가장자리를 따른 예측 경로를 따라 주행할 경우, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하며;
    제1 사전 설정 전환점 집합 및 제2 사전 설정 전환점 집합은 모두 상기 네비게이션 경로에서 상기 가이드 조건을 만족하는 전환점으로 구성된 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  10. 제9항에 있어서,
    상기 가이드 조건은 구체적으로,
    먼저 상기 네비게이션 경로로부터 하나의 목표 전환점을 선택한 다음, 상기 목표 전환점 및 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 하나 또는 2개의 전환점에 상기 최종 네비게이션 목표점이 존재하는지 여부를 각각 판단하여, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택하는 것으로 구현되며,
    상기 네비게이션 경로의 네비게이션 전진 방향은 로봇을 유도하여 상기 최종 네비게이션 목표점의 로봇 네비게이션 방향으로 이동하도록 하기 위한 것이고, 상기 최종 네비게이션 목표점은 또한 상기 네비게이션 경로의 종점으로서, 상기 네비게이션 경로 중 하나의 전환점에 속하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  11. 제10항에 있어서,
    상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 2개의 전환점이 모두 상기 최종 네비게이션 목표점이 아닌 것으로 판단될 경우, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 상기 목표 전환점 및 상기 네비게이션 경로에서 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 2개의 전환점을 포함하는 것으로 결정하고;
    상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 이어서 설정되는 첫번째 전환점 또는 두번째 전환점이 상기 최종 네비게이션 목표점인 것으로 판단될 경우, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은, 상기 네비게이션 경로에서 상기 목표 전환점으로부터 시작하여 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 상기 최종 네비게이션 목표점까지 배열되는 모든 전환점을 포함하는 것으로 결정하고, 상기 목표 전환점 및 상기 최종 네비게이션 목표점도 포함되며; 첫번째 전환점은 상기 네비게이션 경로의 네비게이션 전진 방향에서 상기 목표 전환점과 인접하여 설정되고, 두번째 전환점도 상기 네비게이션 경로의 네비게이션 전진 방향에서 첫번째 전환점과 인접하여 설정되며;
    상기 네비게이션 경로에서 선택되는 목표 전환점이 상기 최종 네비게이션 목표점인 것으로 판단될 경우, 가이드 조건을 만족하는 제1 사전 설정 전환점 집합 또는 가이드 조건을 만족하는 제2 사전 설정 전환점 집합은 단지 상기 최종 네비게이션 목표점뿐인 것으로 결정하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  12. 제11항에 있어서,
    사전에 설정된 네비게이션 경로에서 목표 전환점을 선택하는 구체적인 방법은,
    로봇의 현재 위치를 중심으로 하고, 로봇의 현재 위치와의 최대 거리가 제1 사전 설정 거리 임계값인 그리드 좌표로 구성되는 전환점 비교 영역을 설정하되, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제1 사전 설정 전환점 집합을 선택할 경우, 로봇의 현재 위치는 계획된 가장 빠른 가장자리를 따른 예측 경로에 존재하지 않고, 사전에 설정된 네비게이션 경로로부터 가이드 조건을 만족하는 제2 사전 설정 전환점 집합을 선택할 경우, 로봇의 현재 위치는 계획된 가장 빠른 가장자리를 따른 예측 경로에 존재하는 단계;
    상기 전환점 비교 영역에 하나의 상기 전환점만 존재할 경우, 상기 전환점을 선택하여 상기 목표 전환점으로 표기하는 단계;
    상기 전환점 비교 영역에 2개 이상의 상기 전환점이 존재할 경우, 로봇의 현재 위치와의 거리가 제1 사전 설정 거리 임계값보다 작은 전환점에서, 상기 네비게이션 경로의 네비게이션 전진 방향에서 상기 최종 네비게이션 목표점에 가장 가까운 전환점을 선택하여, 상기 목표 전환점으로 표기하는 단계;
    상기 전환점 비교 영역에 상기 전환점이 존재하지 않을 경우, 상기 네비게이션 경로의 네비게이션 전진 방향을 따라, 상기 네비게이션 경로에서 로봇이 최근에 표기한 목표 전환점과 인접하는 전환점을 선택하여 새로운 목표 전환점으로 표기하는 단계; 를 포함하며,
    로봇의 현재 위치와 그 중 하나의 상기 전환점의 거리가 제1 사전 설정 거리 임계값보다 작은 제2 사전 설정 거리 임계값보다 작을 경우, 로봇의 현재 위치와 상기 전환점은 겹쳐지는 것으로 결정하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  13. 제12항에 있어서,
    상기 네비게이션 경로는 순서에 따라 분포되는 한 그룹의 전환점이 연결되어 형성된 것이고, 상기 네비게이션 경로에서 상기 네비게이션 경로의 네비게이션 전진 방향을 따라 설정되는 전환점의 계획 순번은 순서에 따라 체증되며,
    상기 제1 사전 설정 전환점 집합 또는 상기 제2 사전 설정 전환점 집합에 포함되는 전환점의 계획 순번은 순서에 따라 체증되고, 대응되는 전환점 집합 중의 상기 목표 전환점의 계획 순번보다 작은 전환점은 로봇에 의해 이미 순회된 전환점으로 표기되며,
    상기 최종 네비게이션 목표점의 계획 순번은 가장 크므로, 상기 네비게이션 경로의 네비게이션 전진 방향에서 상기 최종 네비게이션 목표점에 가까운 전환점일수록 대응되는 계획 순번은 더 큰 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  14. 제8항에 있어서,
    상기 로봇의 장애물 통과를 위한 가장자리를 따른 예측 경로의 계획 방법은,
    로봇이 현재 장애물과 충돌한 후, 장애물 정보가 사전에 표기된 그리드 맵에 충돌점을 표기하는 단계 1;
    현재 표기된 충돌점의 근처에서, 가장자리를 따른 장애물 통과 조건을 만족하는 그리드를 선택하고, 선택한 그리드를 로봇의 장애물의 가장자리를 따라 주행하기 위한 가장자리를 따른 동작점으로 표기하여, 상기 가장자리를 따른 동작점으로 상기 로봇의 장애물 통과를 위한 가장자리를 따른 방향이 서로 반대되는 2개의 가장자리를 따른 예측 경로를 구성하는 단계 2; 를 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  15. 제14항에 있어서,
    상기 단계 2의 구체적인 방법은,
    현재 표기된 충돌점과의 거리 관계가 가장 가까운 거리 조건을 만족하는 장애물 포인트를 검색하는 단계 21;
    단계 21에서 검색된 장애물 포인트의 근처에서, 사전의 가장자리를 따른 조건을 만족하는 그리드를 검색하는 단계 22;
    사전의 가장자리를 따른 조건을 만족하는 그리드의 개수가 제2 사전 설정 그리드 수에 도달하는 것으로 통계될 경우, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 상기 최적의 가장자리를 따른 조건을 만족하는 그리드를 선택하고, 상기 가장자리를 따른 장애물 통과 조건을 만족하는 그리드로도 하는 단계 23;
    단계 23에서 선택된 상기 최적의 가장자리를 따른 조건을 만족하는 그리드를 새로운 충돌점으로 표기하고, 로봇이 장애물의 가장자리를 따라 주행하기 위한 대응되는 가장자리를 따른 예측 경로에서 새로 계획된 가장자리를 따른 동작점으로 추가함과 동시에, 상기 새로운 충돌점을 현재 표기된 충돌점으로 업데이트하고, 사전에 설정된 장애물 통과 그리드 수의 가장자리를 따른 동작점이 표기될 때까지 단계 21로 돌아가 실행하는 단계 24; 를 포함하며,
    단계 21에서 가장 가까운 거리 조건을 만족하는 장애물 포인트가 검색되지 않을 경우, 상기 가장자리를 따른 예측 경로를 계획할수 없는 것으로 결정하거나; 또는, 단계 22에서 사전의 가장자리를 따른 조건을 만족하는 그리드가 검색되지 않을 경우, 상기 가장자리를 따른 예측 경로를 계획할수 없는 것으로 결정하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  16. 제15항에 있어서,
    상기 단계 23에서, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드는,
    상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 선택되는 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 포함하며,
    로봇의 중심 위치는 상기 가장자리를 따른 예측 경로를 계획하는 과정에서 변하지 않는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  17. 제16항에 있어서,
    상기 단계 23은 구체적으로,
    상기 사전의 가장자리를 따른 조건을 만족하는 그리드의 통계 개수가 제2 사전 설정 그리드 수에 도달할 경우, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계에 따라, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 선택하여, 상기 가장자리를 따른 장애물 통과 조건을 만족시키는 단계를 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  18. 제17항에 있어서,
    상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계의 계산 방법은,
    로봇의 중심 위치를 원점으로 하고, 로봇의 본체 우측 방향을 X축 + 방향으로 하며, 로봇 현재의 전진 방향을 Y축 + 방향으로 하여, 로봇 좌표계를 설정하는 단계;
    상기 로봇 좌표계에서, 로봇 좌표계의 원점에 대한 상기 최적의 가장자리를 따른 조건을 만족하는 각 그리드의 좌표값 및 각도값을 각각 계산하는 단계; 를 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  19. 제18항에 있어서,
    상기 충돌점은 전측 충돌점, 좌측 층돌점 및 우측 충돌점을 포함하며,
    로봇의 본체 좌측 전방에는 좌측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서 좌측에 충돌되는 장애물을 검출하는데 사용되고, 로봇이 장애물의 가장자리를 따라 시계 반대방향으로 엣지 주행 시의 본체 좌측에 충돌되는 장애물을 검출하여, 대응되는 방향에서의 장애물 상의 충돌점을 좌측 충돌점으로 표기하는데 사용되고,
    로봇의 본체 우측 전방에는 우측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서 우측에 충돌되는 장애물을 검출하는데 사용되고, 로봇이 장애물의 가장자리를 따라 시계 방향으로 엣지 주행 시의 본체 우측에 충돌되는 장애물을 검출하여, 대응되는 방향에서의 장애물 상의 충돌점을 우측 충돌점으로 표기하는데 사용되며,
    좌측 충돌 탐지기 및 우측 충돌 탐지기는 로봇의 본체 좌우 양측에 대칭되게 설치되고, 로봇의 바로 전방이 장애물에 충돌될 경우, 좌측 충돌 탐지기와 우측 충돌 탐지기를 동시에 트리거하여 검출하며, 대응되는 방향에서의 장애물 상의 충돌점을 전측 충돌점으로 표기함으로써, 로봇이 동일한 위치에서 표기한 전측 충돌점, 좌측 충돌점 및 우측 충돌점은 모두 로봇의 바로 전방에 충돌되는 장애물 윤곽선의 접선에 위치하며, 장애물의 윤곽선은 그리드 맵에 표기되어 형성되는 것을 특징으로 하는 가장자리를 따른 경로 선택 방법.
  20. 제19항에 있어서,
    상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계에 근거하여, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드로부터 로봇의 중심 위치와의 연결선이 장애물의 가장자리에 가장 근접하는 그리드를 선택하는 방법은,
    상기 단계 1에서 현재 표기한 충돌점이 상기 좌측 충돌점일 경우, 로봇의 현재 위치에 대하여 장애물의 가장자리를 따라 시계 반대방향으로 분포되고, 상기 로봇의 현재 위치에 대한 각도값이 가장 큰 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드가 상기 우측 가장자리를 따른 예측 경로로 연결되게 하며, 로봇의 기준으로 되는 가장자리를 따른 방향이 시계 반대방향인 것으로 결정하는 단계;
    상기 단계 1에서 현재 표기한 충돌점이 상기 우측 충돌점일 경우, 로봇의 현재 위치에 대하여 장애물의 가장자리를 따라 시계 방향으로 분포되고, 상기 로봇의 현재 위치에 대한 각도값이 가장 작은 상기 사전의 가장자리를 따른 조건을 만족하는 하나의 그리드를 선택하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드로 하여, 상기 최적의 가장자리를 따른 조건을 만족하는 그리드가 상기 좌측 가장자리를 따른 예측 경로로 연결되게 하며, 로봇의 기준으로 되는 가장자리를 따른 방향이 시계 방향인 것으로 결정하는 단계; 를 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  21. 제16항 또는 제20항에 있어서,
    상기 단계 21에서, 상기 가장 가까운 거리 조건을 만족하는 장애물 포인트는,
    제1 사전 설정 검색 영역 내에서 검색되는 상기 단계 1에서 현재 표기한 충돌점에 가장 가깝고 충돌점으로 표기되지 않은 장애물 포인트를 포함하며, 제1 사전 설정 검색 영역은, 상기 단계 1에서 현재 표기한 충돌점을 중심으로 하고, 상기 단계 1에서 현재 표기한 충돌점과의 가장 큰 거리가 제1 사전 설정 그리드 수인 그리드 영역으로 설정하는 것이고,
    상기 단계 24가 실행되기 전에, 상기 단계 1에서 현재 표기한 충돌점은 로봇이 상기 단계 1를 실행하여 장애물 포인트가 사전에 표기된 그리드 맵에 첫번째 충돌점을 표기하며,
    상기 단계 24가 실행된 후, 상기 단계 1에서 현재 표기한 충돌점은 로봇이 최근에 실행한 상기 단계 24에서 표기한 새로운 충돌점인 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  22. 제21항에 있어서,
    상기 단계 22와 상기 단계 23 사이에는,
    상기 사전의 가장자리를 따른 조건을 만족하는 그리드가 통계될 때마다, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드와 로봇의 중심 위치의 상대적인 위치 관계를 계산하는 단계를 더 포함하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  23. 제22항에 있어서,
    상기 단계 22에서, 상기 사전의 가장자리를 따른 조건을 만족하는 그리드는,
    상기 단계 21에서 검색된 장애물 포인트 근처의 8개의 그리드에서, 상기 장애물 포인트 및 상기 단계 24에서 이미 계획된 가장자리를 따른 동작점 이외의 로봇이 순회하여 표기한 그리드를 선택하는 것을 특징으로 하는 장애물 통과 종료 판단 방법.
  24. 로봇이 제1항 내지 제23항 중 어느 한 항에 따른 장애물 통과 종료 판단 방법을 실행하도록 제어하는 단계;
    로봇의 현재 장애물 통과가 종료되는 것으로 결정될 경우, 로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 것을 정지하여 장애물 통과를 종료하도록 제어하는 단계;
    로봇의 현재 장애물 통과가 종료되지 않은 것으로 결정될 경우, 로봇이 계속 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행함과 동시에, 계속 상기 장애물 통과 종료 판단 방법을 실행하도록 제어하는 단계; 를 포함하는 것을 특징으로 하는 로봇의 장애물 통과 제어 방법.
  25. 제24항에 있어서,
    로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 것을 정지한 후, 로봇이 사전에 설정된 네비게이션 경로대로 주행하도록 제어하고, 로봇이 장애물에 충돌된 것을 검출한 후, 상기 가장 빠른 가장자리를 따른 예측 경로를 계획하며, 그 다음 상기 장애물 통과 종료 판단 방법으로 돌아가 실행하고, 이와 같이 로봇이 상기 최종 네비게이션 목표점에 이동될 때까지 반복하는 단계를 더 포함하는 것을 특징으로 하는 장애물 통과 제어 방법.
  26. 제25항에 있어서,
    로봇이 사전에 계획된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 과정에서, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하는 것으로 판단될 경우, 로봇이 계속 상기 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하도록 제어하고, 사전에 설정된 가장자리를 따른 시간 내에 로봇의 가장자리를 따른 회전 각도 및 가장자리를 따른 주행 노정이 대응된 한정 조건을 만족하지 않는 것으로 판단될 경우, 로봇이 사전에 선택된 가장 빠른 가장자리를 따른 예측 경로대로 엣지 주행하는 것을 정지하여 장애물 통과가 종료되도록 제어하는 것을 특징으로 하는 장애물 통과 제어 방법.
  27. 프로그램 코드가 저장되는 칩으로서,
    제1항 내지 제23항 중 어느한 항에 따른 장애물 통과 종료 판단 방법 또는 제24항 내지 제26항 중 어느 한 항에 따른 장애물 통과 제어 방법을 실현하도록 상기 프로그램 코드를 실행하는 것을 특징으로 하는 칩.
  28. 로봇으로서,
    본체 좌측 전방에 좌측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서 좌측에 충돌되는 장애물을 검출하는데 사용되고, 장애물의 가장자리를 따라 시계 반대방향으로 엣지 주행 시의 본체 좌측에 충돌되는 장애물을 검출하는데 사용되고,
    본체 우측 전방에 우측 충돌 탐지기가 설치되고, 로봇의 전진 방향에서 우측에 충돌되는 장애물을 검출하는데 사용되고, 장애물의 가장자리를 따라 시계 방향으로 엣지 주행 시의 본체 우측에 충돌되는 장애물을 검출하는데 사용되며,
    제27항에 따른 좌측 충돌 탐지기 및 우측 충돌 탐지기와 각각 연결되는 칩이 설치되고, 제24항 내지 제26항 중의 어느 한 항에 따른 장애물 통과 제어 방법을 실행하도록 구성되는 것을 특징으로 하는 로봇.
KR1020227026213A 2020-06-30 2020-11-24 장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇 KR20220124199A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010614372.9A CN111906779B (zh) 2020-06-30 2020-06-30 一种越障结束判断方法、越障控制方法、芯片及机器人
CN202010614372.9 2020-06-30
PCT/CN2020/131189 WO2022000960A1 (zh) 2020-06-30 2020-11-24 一种越障结束判断方法、越障控制方法、芯片及机器人

Publications (1)

Publication Number Publication Date
KR20220124199A true KR20220124199A (ko) 2022-09-13

Family

ID=73227009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227026213A KR20220124199A (ko) 2020-06-30 2020-11-24 장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇

Country Status (6)

Country Link
US (1) US20230152809A1 (ko)
EP (1) EP4068037B1 (ko)
JP (1) JP7489049B2 (ko)
KR (1) KR20220124199A (ko)
CN (1) CN111906779B (ko)
WO (1) WO2022000960A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111906779B (zh) * 2020-06-30 2022-05-10 珠海一微半导体股份有限公司 一种越障结束判断方法、越障控制方法、芯片及机器人
CN114495514A (zh) * 2022-02-16 2022-05-13 中南大学 一种多源数据协同的车辆违规掉头热点区域识别方法
CN114185356B (zh) * 2022-02-16 2022-05-31 莱陆科技(天津)有限公司 智能识别障碍物并控制机器人通过障碍物的方法及装置
WO2023155159A1 (en) * 2022-02-18 2023-08-24 Beijing Smorobot Technology Co., Ltd Wall collision u-turning method and apparatus for swimming pool cleaning robot, and swimming pool edge cleaning method and apparatus
CN116774686A (zh) * 2022-03-10 2023-09-19 苏州科瓴精密机械科技有限公司 机器人寻路方法、寻路装置、设备和计算机可读存储介质
CN115373406B (zh) * 2022-10-24 2023-01-20 深圳市捷牛智能装备有限公司 一种爬行机器人越障方法及系统
CN115540892B (zh) * 2022-11-28 2023-03-24 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) 一种固定线路车辆绕障终点选择方法及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004042148A (ja) 2002-07-09 2004-02-12 Mitsubishi Heavy Ind Ltd 移動ロボット
JP2007179394A (ja) 2005-12-28 2007-07-12 Funai Electric Co Ltd 自走式掃除機
JP4408872B2 (ja) 2006-03-31 2010-02-03 シャープ株式会社 自走装置およびその制御方法
JP5453992B2 (ja) 2009-08-05 2014-03-26 株式会社Ihi 水中航走体の自律制御方法及び自律制御型水中航走体
JP5868788B2 (ja) 2012-06-13 2016-02-24 住友重機械工業株式会社 移動体
CN106527423B (zh) * 2015-09-15 2020-01-21 小米科技有限责任公司 清洁机器人及其控制方法
KR101748632B1 (ko) 2015-10-29 2017-06-20 한국과학기술연구원 로봇의 구동 경로를 계획하기 위한 로봇 제어 시스템 및 로봇 구동 경로 계획방법
JP6606442B2 (ja) 2016-02-24 2019-11-13 本田技研工業株式会社 移動体の経路計画生成装置
CN106324619A (zh) * 2016-10-28 2017-01-11 武汉大学 一种变电站巡检机器人自动避障方法
CN107065872B (zh) * 2017-04-11 2020-06-05 珠海市一微半导体有限公司 智能机器人的栅格地图创建方法
CN107677285B (zh) * 2017-04-11 2019-05-28 平安科技(深圳)有限公司 机器人的路径规划系统及方法
CN107560620B (zh) * 2017-08-31 2019-12-20 珠海市一微半导体有限公司 一种路径导航方法和芯片及机器人
US10606269B2 (en) * 2017-12-19 2020-03-31 X Development Llc Semantic obstacle recognition for path planning
CN109443363B (zh) * 2018-11-09 2020-10-16 厦门大学 分治确定性路径寻优算法
CN111273647A (zh) * 2018-11-19 2020-06-12 苏州宝时得电动工具有限公司 自动行走设备及其控制方法
CN109827592A (zh) * 2019-03-04 2019-05-31 广东乐生智能科技有限公司 一种扫地机器人被困的检测方法
CN109864666A (zh) * 2019-03-04 2019-06-11 广东乐生智能科技有限公司 清洁机器人被困的判断方法
CN109871021B (zh) * 2019-03-18 2022-04-15 安徽大学 一种基于粒子群优化算法的机器人导航方法
CN110487279B (zh) * 2019-08-27 2022-12-13 东南大学 一种基于改进a*算法的路径规划方法
CN110393482A (zh) * 2019-09-03 2019-11-01 深圳飞科机器人有限公司 地图处理方法以及清洁机器人
CN111090282B (zh) * 2019-12-19 2023-10-31 安克创新科技股份有限公司 机器人的避障方法、机器人以及装置
CN111906779B (zh) * 2020-06-30 2022-05-10 珠海一微半导体股份有限公司 一种越障结束判断方法、越障控制方法、芯片及机器人

Also Published As

Publication number Publication date
JP2023508435A (ja) 2023-03-02
EP4068037B1 (en) 2024-04-24
US20230152809A1 (en) 2023-05-18
JP7489049B2 (ja) 2024-05-23
EP4068037A1 (en) 2022-10-05
WO2022000960A1 (zh) 2022-01-06
CN111906779B (zh) 2022-05-10
CN111906779A (zh) 2020-11-10
EP4068037A4 (en) 2023-06-14

Similar Documents

Publication Publication Date Title
KR20220124199A (ko) 장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇
WO2022000961A1 (zh) 一种机器人越障的沿边路径选择方法、芯片及机器人
CN111949017B (zh) 一种机器人越障的沿边路径规划方法、芯片及机器人
US20240168497A1 (en) Universal Method for Controlling Recharge of Robot, Chip and Robot
JP6947826B2 (ja) インテリジェントロボットの経路計画方法
CN109997089B (zh) 地面处理机和地面处理方法
JP5402057B2 (ja) 移動ロボット制御システム、経路探索方法、経路探索プログラム
JPH05257533A (ja) 移動ロボットの床面掃引方法及び装置
JP2020501282A5 (ko)
CN113190010B (zh) 一种沿边绕障路径规划方法、芯片及机器人
CN108415432B (zh) 机器人基于直边的定位方法
CN113156956B (zh) 机器人的导航方法、芯片及机器人
KR20220123297A (ko) 밀집된 장애물에 기반한 청소 제어 방법
KR102395879B1 (ko) 주차장 내 최적 경로 생성방법 및 그 시스템
CN113110497A (zh) 基于导航路径的沿边绕障路径选择方法、芯片及机器人
JP2022529249A (ja) ベースへ戻すためのロボットの制御方法
JP6183823B2 (ja) 経路生成装置およびその方法
CN113589830A (zh) 一种机器人行走方位预测方法及设备
CN113110499B (zh) 一种通行区域的判定方法、路线搜索方法、机器人及芯片
WO2024037262A1 (zh) 一种机器人通过窄道的导航方法、芯片及机器人
KR102358404B1 (ko) 주차장 내 최적 경로 생성방법 및 그 시스템
JP6809913B2 (ja) ロボット、ロボットの制御方法、および地図の生成方法
CN117666547A (zh) 一种机器人进入窄道的识别方法、芯片及机器人
CN112748727A (zh) 一种利用目标点的导航控制方法、芯片及机器人
CN117292246A (zh) 一种机器人识别窄道的方法及窄道导航方法