KR20100099489A - 충돌 예측 기반 주행 제어장치 및 그 방법 - Google Patents

충돌 예측 기반 주행 제어장치 및 그 방법 Download PDF

Info

Publication number
KR20100099489A
KR20100099489A KR1020090018013A KR20090018013A KR20100099489A KR 20100099489 A KR20100099489 A KR 20100099489A KR 1020090018013 A KR1020090018013 A KR 1020090018013A KR 20090018013 A KR20090018013 A KR 20090018013A KR 20100099489 A KR20100099489 A KR 20100099489A
Authority
KR
South Korea
Prior art keywords
path
moving object
collision
dynamic obstacle
return
Prior art date
Application number
KR1020090018013A
Other languages
English (en)
Other versions
KR101633890B1 (ko
Inventor
한승주
박치연
김정배
정대수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090018013A priority Critical patent/KR101633890B1/ko
Publication of KR20100099489A publication Critical patent/KR20100099489A/ko
Application granted granted Critical
Publication of KR101633890B1 publication Critical patent/KR101633890B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

충돌 예측 기반 주행 제어장치 및 그 방법이 개시된다. 본 발명의 일 실시예에 따른 주행 제어장치는 동적 장애물과의 충돌 가능성을 판단하여 이동체가 주행할 경로를 설정하고 설정된 경로로 이동체를 주행시킨다.
현실 세계, 가상 세계, 이동체, 동적 장애물, 가상객체, 로봇

Description

충돌 예측 기반 주행 제어장치 및 그 방법 {Apparatus and method for controlling navigation based on collision prediction}
본 발명의 일 양상은 사용자 인터페이스 기술에 관한 것으로, 보다 상세하게는 가상 세계 또는 실제 세계의 이동체에 대한 주행을 제어하는 사용자 인터페이스 기술에 관한 것이다.
실제 세계에 이어서, 주행 경로(navigation path)에서 주행중인 이동체를 이동시키는 주행 기술은 센서와 각종 알고리즘을 사용하여 현재 위치를 정확히 알아내고, 작업 중인 환경을 파악하며, 작업 수행을 위한 이동 경로를 생성한 후 안전하게 이동을 수행할 수 있는 기술이다. 인간에게는 무척 간단하지만 실생활 환경에서의 각종 불확실성들을 효과적으로 처리할 수 있는 지능이 확보되지 못한 이동체, 예를 들면 로봇에게는 가장 어려운 기술에 속한다.
가상 세계에서도 현실 세계와 같은 주행 기술을 적용할 수 있다. 가상 세계(VW: Virtual World)는 가상의 공간 내에서 사용자가 마치 현실 세계와 같은 느낌을 느끼게 하는 것이다. 특히, 어떤 특정한 환경이나 상황을 설정하여 그것을 사용하는 사용자가 실제 주변 상황 또는 환경과 상호작용을 하고 있는 것처럼 만들 어 주는 인간과 장치 사이의 인터페이스 기술이 필요하다.
일 양상에 따라, 가상 세계 또는 실제 세계에서의 이동체가 장애물과 충돌하지 않고 안전하게 주행할 수 있도록 제어하여 사용자에게 실감있는 이동체 조작환경을 제공하는 장치 및 그 방법을 제안한다.
일 양상에 따른 주행 제어장치는, 주행경로 상에서 주행중인 이동체에 대한 동적 장애물의 위치정보 및 이동정보를 분석하는 정보 분석부, 분석된 정보를 이용해 동적 장애물과의 충돌 가능성 및 지정된 목표경로 진입 여부를 판단하여 이동체가 주행할 경로를 설정하는 경로 결정부 및 설정된 경로로 이동체를 주행시키는 이동체 제어부를 포함한다.
한편 다른 양상에 따른 주행 제어방법은, 주행경로 상에서 주행중인 이동체에 대한 동적 장애물의 위치정보 및 이동정보를 분석하는 단계, 분석된 정보를 이용해 동적 장애물과의 충돌 가능성 및 지정된 목표경로 진입 여부를 판단하여 이동체가 주행할 경로를 설정하는 단계 및 설정된 경로로 이동체를 주행시키는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 사용자에게 실감있는 이동체 조작환경을 제공할 있다. 나아가 이동체의 목적지 도달까지 사용자의 주행 명령어 입력 요구량을 줄일 수 있다. 즉, 수동 주행 방식인 경우, 일 실시예에 따른 주행 제어장치는 장애물이 움직이는 동적 주행환경에서도 장애물이 없는 정적 주행환경과 동일한 개수의 주행 명령어를 사용해서 장애물과의 충돌 없이 이동체를 주행시킬 수 있다. 나아가 자동 주행 방식인 경우, 주행 제어장치는 단 한 번의 주행 명령어로 이동체를 동적 장애물과의 충돌 없이 목적지까지 이동시킬 수 있다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1a 및 도 1b는 본 발명이 적용되는 환경을 설명하기 위한 예시도이다.
본 발명의 일 실시예에 따른 주행 제어장치는 주행 경로(navigation path)에서 주행중인 이동체에 대해 주행을 제어한다. 이때 이동체는 실제 세계(Real World)의 물체이거나 가상 세계(Virtual World)의 객체일 수 있다. 가상 세계는 가상의 공간 내에서 사용자가 마치 실제 세계와 같은 느낌을 느끼게 하는 것이다. 가상 세계 및 실제 세계의 이동체는 가상 또는 실제의 환경에서 이동될 수 형태라면 어느 것이든 가능하다. 예를 들면, 가상 세계의 이동체는 그래픽 아이콘인 아바타(Avatar)일 수 있다. 실제 세계의 이동체는 주행 로봇일 수 있다.
도 1a는 정적 주행환경을 도시한 것이다. 정적 주행환경은 이동체가 주행 경로를 주행할 때 이동체의 주행을 방해하는 장애물이 없거나 장애물이 움직이지 않는 환경이다.
주행 제어장치는 사용자 수동 주행(user-overriding navigation) 방식을 이용할 수 있다. 사용자 수동 주행 방식은 사용자로부터의 주행 시작신호에 의해 이동체가 정지 또는 주행변경 신호가 입력되기 이전까지 주행되는 방식이다. 이때 주행 시작신호는 방향키(arrow key) 또는 마우스와 같은 입력장치를 통해 입력될 수 있다. 예를 들면, 도 1a에 도시된 바와 같이 사용자로부터의 수동 키입력을 통해 (a) 지점에서 출발하여 (b),(c) 지점에서 방향을 바꾸고, (d) 방향으로 이동체를 주행시킬 수 있다. 정적 주행환경에서의 사용자 수동 주행 입력 방식은 입력키(예를 들면 방향키)를 입력하고 있는 동안만 이동체가 움직인다.
이때 주행 제어장치가 사용자 수동 주행방식을 통해 주행을 제어하는 경우, 사용자로부터의 주행신호(예를 들면 방향키를 통해 키입력)를 입력받을 때 최적의 해(가장 적은 명령어 사용)는 아래와 같다.
(1) (a) 지점에서 전진 명령 (↑)
(2) (b) 지점에서 왼쪽 회전 명령 (←)
(3) (c) 지점에서 왼쪽 회전 명령 (←)
한편, 도 1b는 본 발명이 적용되는 동적 주행환경을 도시한 것이다. 동적 주행환경은 이동체가 주행 경로를 주행할 때 주행을 방해하는 장애물이 고정되지 않고 이동하는 환경이다.
사용자 수동 주행방식에 의하면, 도 1b에 도시된 바와 같이 동적 장애물들이 존재하는 경우, 이동체는 사용자가 의도한 경로를 이탈해서 동적 장애물에 부딪히기 쉬우므로 사용자의 흥미를 반감시킬 수 있다. 또한 이동체를 동적 장애물을 피해서 주행시키기 위해 사용자가 수동으로 동적 장애물과의 충돌을 회피하고 진행 방향을 수정하는 복잡한 과정이 요구된다. 예를 들면 도 1b에 도시된 환경에서 사용자는 (a) 지점에서 (d) 지점까지 이동체(100)를 이동시키기 위해서 많은 수동 명령을 내리게 된다.
그러나, 본 발명의 일 실시예에 따르면, 주행 제어장치는 동적 장애물과의 충돌 가능성 및 지정된 목표경로 진입 여부를 판단하여 이동체가 주행할 경로를 설정하고, 설정된 경로로 이동체를 주행시킨다. 이때 주행 제어장치는 주행 경로 상에서 이동하는 장애물과의 충돌을 예측하여 최적의 경로(path)로 회피 및 복귀를 설정(planning)한다.
본 발명의 일 실시예에 따르면, 주행 제어장치는 사용자로부터의 주행 시작신호에 의해 이동체가 정지 또는 주행변경 신호가 입력되기 이전까지 주행되는 사용자 수동주행 방식을 이용할 수 있다.
또는, 주행 제어장치는 수동 주행 방식뿐만 아니라, 목적지 지정 주행(Goal-directed navigation) 방식을 사용할 수 있다. 예로, 도 1b에 도시된 (d) 지점을 목적지로 지정해서 자동으로 이동체(100)를 주행할 수 있다.
이에 따라 사용자에게 실감있는 이동체 조작환경을 제공할 있다. 나아가 목적지 도달까지의 사용자의 주행 명령어 입력 요구량을 줄일 수 있다. 즉, 수동 주 행 방식인 경우, 일 실시예에 따른 주행 제어장치는 장애물이 움직이는 동적 주행환경에서도 장애물이 없는 정적 주행환경과 동일한 개수의 주행 명령어를 사용해서 장애물과의 충돌 없이 이동체를 주행시킬 수 있다. 예를 들면, 수동 주행신호(예를 들면 방향키를 통해 키입력)를 입력받을 때 도 1a에서 전술한 주행 명령어 갯수와 도 1b에서 전술한 주행 명령어 갯수가 3개로 동일하다. 나아가 자동 주행 방식인 경우, 주행 제어장치는 단 한 번의 주행 명령어로 이동체를 동적 장애물과의 충돌 없이 목적지까지 이동시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 주행 제어장치의 구성도이다. 도 2를 참조하면, 일 실시예에 따른 주행 제어장치(1)는 정보 분석부(10), 경로 결정부(20) 및 이동체 제어부(30)를 포함한다.
정보 분석부(10)는 주행경로 상에서 주행중인 이동체에 대한 장애물의 위치정보 및 이동정보를 분석한다. 위치정보는 이동체 및 장애물이 현재 위치하는 좌표값이다. 이동정보는 이동체와 장애물의 이동방향, 이동속도, 이동속력 및 이동체에 대한 동적 장애물의 상대속도, 상대속력을 포함한다.
이때 가상 세계에서 이동체 및 장애물의 위치정보 및 이동정보는 메타 데이터로 저장된다. 예를 들면, 이동체, 정적 장애물 또는 동적 장애물의 텍스쳐와 위치정보 및 이동정보가 메타 데이터에 포함된다.
한편, 실제 세계에서 정보 분석부(10)는 센서를 통해 동적 장애물의 위치정보 및 이동정보를 수집하여 수집된 정보를 분석한다. 센서는 비전(vision), 레이더(radar), 초음파 센서, 근접 센서 등일 수 있으나 이에 한정되지 않는다.
경로 결정부(20)는 정보 분석부(10)를 통해 분석된 정보를 이용해 동적 장애물과의 충돌 가능성 및 지정된 목표경로 진입 여부를 판단한다. 그리고 경로 결정부(20)는 판단된 결과에 따라 이동체가 주행할 경로를 설정한다. 여기서 설정할 주행 경로는 충돌 회피경로 또는 복귀경로일 수 있다. 회피경로는 이동체가 주행하는 중에 동적 장애물과의 충돌 가능성이 있는 경우 동적 장애물과의 충돌을 회피할 수 있는 경로이다. 복귀경로는 이동체가 목표경로에 위치하지 않는 경우 이동체가 목표경로로 진입할 수 있도록 하는 경로이다. 경로 결정부(20)는 경로 결정시 주행 방향 및 주행 속도를 모두 설정한다. 경로 결정부(20)의 구성 및 경로 설정 방법에 대한 상세한 설명은 도 3 및 도 5에서 후술한다.
한편, 일 실시예에 따른 경로 결정부(20)는 동적 장애물의 상대위치를 나타내는 상대 위치벡터 및 상대속도를 나타내는 상대 속도벡터가 형성되는 각도를 통해 이동체와 동적 장애물간의 충돌 가능성을 판단한다.
예를 들면, 상대 위치벡터 및 상대 속도벡터가 -90도에서 +90도 사이이면 이동체 및 동적 장애물간의 충돌 가능성이 없다고 판단한다. 그러나, 상대 위치벡터 및 상대 속도벡터가 형성되는 각도가 -90도에서 +90도 사이 이외이면, 경로 결정부(20)는 이동체 및 동적 장애물간의 거리가 이동체 및 동적 장애물의 반지름의 합보다 작은 경우 충돌 가능성이 있다고 판단한다. 경로 결정부(20)는 충돌 가능성이 있다고 판단되면, 충돌 예측 시간 및 충돌 예측 위치를 계산한다. 일 실시예에 따른 경로 결정부(20)의 충돌 가능성 판단과정에 대해 도 8a 및 도 8b에서 상세히 후술한다.
나아가, 경로 결정부(20)는 이동체와 동적 장애물간의 충돌 가능성을 판단하기 이전에 충돌 가능성이 있는 관측영역을 설정할 수 있다. 즉, 경로 결정부(20)는 정보 분석부(10)를 통해 이동체의 위치와 이동속도를 계산하여 충돌 가능성이 있는 관측영역을 설정할 수 있다.
이때 경로 결정부(20)는 설정된 관측영역 내에 위치하는 동적 장애물에 대해서는 충돌 가능성을 판단하고, 관측영역 외에 위치하는 동적 장애물에 대해서는 충돌 가능성 판단을 제외 또는 보류할 수 있다. 일 실시예에 따른 경로 결정부(20)의 관측영역 설정과정에 대해 도 7a 내지 도 7d에서 상세히 후술한다.
한편, 이동체 제어부(30)는 경로 설정부(20)를 통해 설정된 경로로 이동체를 주행시킨다.
도 3은 본 발명의 일 실시예에 따른 도 2의 경로 설정부(20)의 구성도이다. 도 3을 참조하면, 일 실시예에 따른 경로 설정부(20)는 회피경로 결정부(22) 및 복귀경로 결정부(24)를 포함한다.
회피경로 결정부(22)는 이동체에 대한 동적 장애물의 상대위치와 상대속도를 이용하여 이동체 및 동적 장애물간의 충돌 가능성을 판단한다. 이때 충돌 가능성이 있으면 회피경로 결정부(22)는 이동체가 동적 장애물과의 충돌을 회피할 수 있는 경로인 회피경로를 설정한다. 회피경로 결정부(22)는 동적 장애물의 상대속도 벡터에 수직인 법선벡터들 중 회피이동 변화량의 크기가 작은 법선벡터에 해당되는 방향으로 회피경로를 설정할 수 있다.
나아가, 회피경로 결정부(22)는 상대속도에 수직인 방향을 나타내는 법선벡 터와 이동체의 속도벡터의 합의 방향으로 이동체의 회피경로 방향을 보정할 수 있다. 회피경로 결정부(22)의 회피경로 설정에 대한 상세한 설명은 도 10a 내지 도 10e에서 후술한다.
한편, 복귀경로 결정부(24)는 주행경로 또는 회피경로로 주행중인 이동체가 목표경로에 위치하는지를 판단한다. 판단 결과, 이동체가 목표경로에 위치하지 않으면 복귀경로 결정부(24)는 이동체가 목표경로로 진입할 수 있는 복귀경로를 설정한다.
여기서, 복귀경로 결정부(24)는 이동체의 복귀방향 및 복귀속도를 나타내는 복귀 장(Field)을 설정하고, 설정된 복귀 장을 이용하여 복귀경로를 결정할 수 있다. 나아가, 복귀경로 결정부(24)는 복귀 장 벡터와 이동체의 속도벡터의 합에 해당되는 경로로 복귀경로를 설정할 수 있다. 일 실시예에 따른 복귀경로 결정부(24)의 복귀경로 설정에 대한 상세한 설명은 도 11 내지 도 15c에서 후술한다.
도 4는 본 발명의 일 실시예에 따른 주행 제어방법을 도시한 흐름도이다.
도 4를 참조하면, 일 실시예에 따른 주행 제어장치는 주행경로 상에서 주행중인 이동체에 대한 동적 장애물의 위치정보 및 이동정보를 분석한다(S400)
이어서, 주행 제어장치는 분석된 정보를 이용해 동적 장애물과의 충돌 가능성 및 지정된 목표경로 진입 여부를 판단(S410)하여 이동체가 주행할 경로를 설정한다(S420).
이어서, 주행 제어장치는 설정된 경로로 이동체를 주행시킨다(S430).
도 5는 본 발명의 일 실시예에 따른 도 4의 주행 제어방법을 상세히 도시한 상세 흐름도이다.
도 5를 참조하면, 일 실시예에 따른 주행 제어장치는 동적 장애물의 위치정보 및 이동정보를 분석한다(S500). 이때 메타 데이터로 저장된 이동체 또는 동적 장애물의 텍스쳐와 위치정보 및 이동정보를 분석할 수 있다.
이어서, 주행 제어장치는 분석된 정보를 이용하여 이동체의 위치 및 이동속도를 계산하고, 이동체와 동적 장애물 간의 충돌 가능성이 있는 관측영역을 설정한다(S510). 이때 설정된 관측영역을 벗어난 동적 장애물에 대해서는 충돌 가능성 판단을 제외할 수 있다.
이어서, 주행 제어장치는 설정된 관측 범위 이내에 동적 장애물이 존재하는지를 판단한다(S520). 설정된 관측영역 내에 동적 장애물이 있으면 주행 제어장치는 관측영역 내의 동적 장애물에 대해 충돌 가능성이 있는지를 판단한다(S530).
충돌 가능성 판단(S530)시 주행 제어장치는 이동체에 대한 동적 장애물의 상대 위치벡터와 상대 속도벡터를 이용한다. 이때 상대 위치벡터 및 상대 속도벡터가 형성되는 각도가 -90도에서 +90도 사이이면 이동체 및 동적 장애물간의 충돌 가능성이 없다고 판단한다. 충돌 가능성이 없다고 판단된 경우, 이동체가 목표경로에 위치하는지를 판단(S560)하여 이동체를 복귀경로로 주행시킬지 또는 현재경로 그대로 주행시킬지를 결정한다(S570,S580)
그러나, 충돌 가능성 판단(S530)시 상대 위치벡터 및 상대 속도벡터가 형성되는 각도가 -90도에서 +90도 사이 이외이면 이동체 및 동적 장애물간의 거리가 이동체 및 동적 장애물의 반지름의 합보다 작은 경우 충돌 가능성이 있다고 판단한 다.
충돌 가능성이 있다고 판단되면, 주행 제어장치는 이동체가 동적 장애물과의 충돌을 회피할 수 있는 경로인 회피경로를 설정하여 설정된 회피경로로 이동체를 주행시킨다(S550). 이때, 주행 제어장치는 동적 장애물의 상대속도 벡터에 수직인 법선벡터들 중 회피이동 변화량의 크기가 작은 법선벡터에 해당되는 방향으로 회피경로를 설정할 수 있다.
한편, 주행 제어장치는 주행경로 또는 회피경로로 주행중인 이동체가 목표경로에 위치하는지를 판단한다(S560). 즉 동적 장애물이 관측 범위 이내에 존재하지 않으면 이동체가 목표경로에 위치하는지를 판단한다. 또한 회피경로로 주행중인 이동체가 목표경로에 위치하는지를 판단한다.
나아가, 주행 제어장치는 이동체가 목표경로에 위치하는지를 판단(S560)할 때 이동체가 목표경로에 위치하지 않으면 이동체가 목표경로로 진입할 수 있는 복귀경로를 설정하여 설정된 복귀경로로 이동체를 주행시킨다(S570). 이때 분석된 정보를 이용하여 이동체의 복귀방향 및 복귀속도를 나타내는 복귀 장(Field)을 결정하고, 결정된 복귀 장을 이용하여 복귀경로를 설정할 수 있다.
한편, 이동체가 목표경로에 위치하는지를 판단(S560)할 때 이동체가 목표경로에 위치하면 현재 이동체가 주행중인 경로로 이동체를 계속 주행시킨다(S580).
도 6은 본 발명의 일 실시예에 따른 주행 제어장치의 관측영역 설정을 설명하기 위한 참조도이다.
도 6을 참조하면, 주행 제어장치는 이동체(100)의 위치를 기준으로 충돌 가 능 범위인 관측영역을 설정하여 관측영역 내의 장애물(200)만을 충돌 가능성 판단 대상으로 선정한다. 관측영역 선정에는 이동체(100)의 위치정보와 속도정보가 필요한데, 메타 데이터를 통해 수집할 수 있다.
동적 장애물(200)이 이동체(100)와 충돌할 수 있는 관측영역을 선정할 때 아래의 사항이 고려된다.
(1) 얼마나 빨리 움직이는 동적 장애물(200)까지 고려할 것인가?
(2) 얼마나 이후의 상황까지 고려할 것인가?
여기서 동적 장애물(200)이 VMAX 이하의 속력으로 움직이고, t 미만의 시간에 충돌할 가능성이 있다고 가정한다. 또한, 도 6에 도시된 바와 같이 이동체(100)의 현재 위치를 원점(0,0)이라고 하고, 동적 장애물(200)이 좌표(x,y) 상에 있다고 가정한다. 계산의 편의를 위하여 이동체(100)는 x축 양의 방향으로 v의 속도로, 동적 장애물(200)은 (ux,uy)의 속도로 t 시간동안은 등속력으로 움직인다고 가정한다.
그러면 이동체(100)가 주행 경로를 주행하는 경우 동적 장애물(200)과 충돌할 가능성이 있는 관측영역을 어떤 범위까지 설정할지의 문제는 아래의 수학식 1과 같이 표현할 수 있다.
Find locus of (x,y) such that
∃t where 0 ≤ t ≤ tMAX, such that
(vt, 0) = (x+tux, y+tuy), ux 2+uy 2 ≤ vMAX 2 
따라서 구하고자 하는 관측영역은 아래의 수학식 2와 같이 원들의 집합으로 형성된다.
Collection of discs (x- vt)2 + y2 ≤ vMAX 2 t2 for all 0 ≤ t ≤ tMAX 
도 7a 내지 도 7d는 본 발명의 일 실시예에 따라 설정되는 관측영역을 도시한 예시도이다.
도 7a는 이동체(100)의 속도(v)가 0인 경우 설정되는 관측영역을 도시한 예시도이다. 도 7a를 참조하면, 이동체(100)의 속도(v)가 0인 경우 관측영역은 원점을 중심으로 반지름이 0에서 VMAX t 사이인 동심원의 집합(700a)으로 형성된다.
도 7b는 이동체(100)의 속도(v)가 0보다 크지만 최고속도 VMAX 보다는 작은 경우 설정되는 관측영역을 도시한 예시도이다. 도 7b를 참조하면, 이동체(100)의 속도(v)가 빨라질수록 도 7b에 도시된 바와 같이 이동체(100)와 충돌할 가능성이 있는 동적 장애물이 존재하는 범위는 도 7a에 도시된 원과 그 크기가 동일하지만, 중심이 오른쪽으로 치우쳐진 모양(700b)이다. 또한 이동체(100)의 속도가 빨라질수록 이동체(100)는 뒤에서 오는 동적 장애물과 충돌할 가능성이 적어지지만, 앞에 더 멀리 있는 동적 장애물과 충돌할 가능성이 커진다.
도 7c는 이동체(100)의 속도(v)가 최고속도 VMAX인 경우 설정되는 관측영역을 도시한 예시도이다. 도 7c를 참조하면, 도 7b에 도시된 동심원보다 중심이 오른쪽으로 더 치우쳐 있음을 알 수 있다(700c).
도 7d는 이동체(100)의 최고속도 VMAX보다 큰 경우 설정되는 관측영역을 도시한 예시도이다. 도 7d를 참조하면, 이동체(100)의 속도 v가 동적 장애물의 최고속도 VMAX보다 빠르면, 충돌 가능한 동적 장애물이 존재하는 범위는 원이 아닌 고깔 모양(700d)으로 형성된다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 주행 제어장치의 충돌 가능성 판단을 설명하기 위한 참조도이다.
일 실시예에 따른 주행 제어장치는 충돌 가능성 판단 과정에서 동적 장애물의 현재 위치와 속도 정보를 분석하여, 충돌할 가능성이 있는지를 결정하고 충돌 가능 위치와 충돌 가능 시간을 계산한다.
이 단계에서 주행 제어장치가 고려해야 할 문제는 다음과 같다.
(1) 이동체와 동적 장애물이 충돌할 가능성이 있는가?
(2) 이동체와 동적 장애물이 충돌하는 시점은 언제인가?
(3) 이동체와 동적 장애물이 충돌할 위치는 어디인가?
여기서, 이동체는 반지름 ru 인 크기로, 원점 (0,0)에서 속도 (vx,vy)로 움직인다고 가정한다. 그리고 동적 장애물은 반지름이 ro인 크기로, 위치 (a,b)에서 속도 (ux,uy)로 이동한다고 가정한다. 전술한 문제는 다음과 같이 정의될 수 있다. (tvx, tvy)와 (a+tux,b+tuy) 사이의 거리가 t>0 인 범위에서 ru+ro(=r)이하로 줄어드는가? 이것을 아래의 수학식 3과 같이 표현할 수 있다.
Figure 112009013050529-PAT00001
수학식 3을 통해 충돌 예측 시간과 충돌 예측 위치를 계산할 수 있다.
또한 주행 제어장치는 이동체를 기준으로 한 동적 장애물의 상대위치[d=(a,b)-(0,0)]와 상대속도[w=(ux- vx, uy- vy)]를 이용해 충돌 가능성 여부를 판단할 수 있다. 즉, 주행 제어장치는 상대 위치벡터 및 상대 속도벡터가 형성되는 각도가 -90도에서 +90도 사이이면 이동체 및 동적 장애물간의 충돌 가능성이 없다고 판단한다. 이에 비해 상대 위치벡터 및 상대 속도벡터가 형성되는 각도가 -90도에서 +90도 사이 이외이면 이동체 및 동적 장애물간의 거리가 이동체 및 동적 장애물의 반지름의 합보다 작은 경우 충돌 가능성이 있다고 판단한다. 이를 수식으로 표현하면 다음의 수학식 4와 같다.
Figure 112009013050529-PAT00002
도 8a는 일 실시예에 따른 충돌 가능성이 없는 경우를 도시한 참조도이다. 도 8a를 참조하면, 일 실시예에 따른 주행 제어장치는 상대 위치벡터 d와 상대 속도벡터 w가 이루는 각도(θ)가 -90에서 90도 사이이면 이동체(100)와 동적 장애 물(200)간의 충돌 가능성이 없다고 판단한다. 실제로, 도 8a에 도시된 바와 같이 이동체(100)와 동적 장애물(200)의 거리는 계속해서 멀어지게 된다.
한편, 도 8b는 일 실시예에 따른 충돌 가능성이 있는 경우를 도시한 참조도이다. 도 8b를 참조하면 주행 제어장치는 상대 위치벡터 d와 상대 속도벡터 w가 이루는 각도가 -90에서 90도 사이 이외의 경우 이동체(100)와 동적 장애물(200)간의 거리가 이동체(100)와 동적 장애물(200)의 반지름 합보다 작으면 이동체(100)가 동적 장애물(200)과 충돌할 가능성이 있다고 판단한다. 실제로, 도 8b에 도시된 바와 같이 이동체(100)와 동적 장애물(200)의 거리는 계속해서 가까워지게 된다. 이때 충돌 예측 시간과 충돌 예측 위치는 수학식 3을 통해 구할 수 있다.
도 9는 본 발명의 일 실시예에 따른 주행 제어장치의 회피경로 설정을 설명하기 위한 참조도이다.
도 9를 참조하면, 주행 제어장치는 충돌 회피경로 설정 단계에서 이동체(100)의 현재 위치와 속도 정보 및 동적 장애물(200)의 현재 위치와 속도 정보를 이용한다.
주행 제어장치가 충돌할 동적 장애물(200)의 위치 및 속도를 계산하는 경우 동적 장애물(200)의 상대위치와 상대속도를 알면 이동체(100)와 동적 장애물(200)과의 충돌 가능성을 예측할 수 있다. 이때, 일 실시예에 따른 주행 제어장치는 동적 장애물(200)의 상대속도 벡터에 수직인 법선벡터 방향을 회피경로로 설정한다. 나아가, 주행 제어장치는 동적 장애물(200)의 상대속도 벡터에 수직인 법선벡터들 중 회피이동 변화량의 크기가 작은 법선벡터에 해당되는 방향으로 회피경로를 설정 할 수 있다. 회피경로의 회피방향을 수식으로 표현하면 아래의 수학식 5와 같다.
Figure 112009013050529-PAT00003
또한, 회피경로의 회피속력은 아래의 수학식 6과 같다.
(피해야 하는 거리 (||rc||)) / (최근접점까지 걸리는 시간 (tc))
Figure 112009013050529-PAT00004
따라서, 회피방향 및 회피속도를 통합하여 형성되는 회피속도는 아래의 수학식 7과 같다.
Figure 112009013050529-PAT00005
나아가, 주행 제어장치의 회피경로 설정시 상대속도 벡터에 수직인 방향을 나타내는 법선벡터와 이동체의 속도벡터의 합의 방향으로 이동체의 회피경로 방향을 보정할 수 있다. 전술한 회피속도로 이동체의 속도를 설정하면 동적 장애물과의 충돌을 피할 수 있다.
도 10a 내지 도 10e는 본 발명의 일 실시예에 따른 회피경로 설정과정을 도 시한 예시도이다.
도 10a는 이동체(100)와 동적 장애물(200)이 서로 다른 방향으로 움직이는 경우 주행 제어장치의 회피경로 설정과정을 도시한 예시도이다. 도 10a를 참조하면, 이동체(100)와 동적 장애물(200)이 서로 다른 방향으로 움직이는 상황인 경우 주행 제어장치는 동적 장애물(200)의 상대 속도벡터(1000a)를 구한다. 그리고 상대 속도벡터에 수직인 법선벡터(1010a)를 구한다. 이어서, 이동체의 속도를 고려하여 회피경로의 회피속도를 동적 장애물을 피하는 방향으로 보정(1020a)한다.
도 10b는 동적 장애물(200)이 이동체(100)와 수직인 방향으로 느리게 이동하는 경우 주행 제어장치의 회피경로 설정과정을 도시한 예시도이다. 도 10b를 참조하면, 동적 장애물(200)의 속도가 느린 경우 주행 제어장치는 이동체(100)의 속도를 더 빠르게 설정하여 이동체(100)가 동적 장애물(200)의 앞쪽으로 지나쳐 가도록 제어한다. 즉, 동적 장애물(200)이 이동체(100)와 수직인 방향으로 느리게 이동하는 경우 주행 제어장치는 동적 장애물(200)의 상대 속도벡터(1000b)를 구한다. 그리고 상대 속도벡터에 수직인 법선벡터(1010b)를 구한다. 이어서, 이동체의 속도를 고려하여 회피경로의 회피속도를 동적 장애물을 피하는 방향으로 보정(1020b)한다.
도 10c는 동적 장애물(200)이 이동체(100)와 수직인 방향으로 빠르게 이동하는 경우 주행 제어장치의 회피경로 설정과정을 도시한 예시도이다. 도 10c를 참조하면, 동적 장애물(200)의 속도가 매우 빠르면 주행 제어장치는 이동체(100)의 이동속력을 줄여서 동적 장애물(200)이 먼저 지나가도록 제어한다. 즉, 동적 장애 물(200)이 이동체(100)와 수직인 방향으로 빠르게 이동하는 경우 주행 제어장치는 동적 장애물(200)의 상대 속도벡터(1000c)를 구한다. 그리고 상대 속도벡터에 수직인 법선벡터(1010c)를 구한다. 이어서, 이동체의 속도를 고려하여 회피경로의 회피속도를 동적 장애물을 피하는 방향으로 보정(1020c)한다.
도 10d는 이동체(100)와 동적 장애물(200)이 서로 마주보는 수평 방향으로 움직이는 경우 주행 제어장치의 회피경로 설정과정을 도시한 예시도이다. 도 10d를 참조하면, 동적 장애물(200)이 서로 마주보는 수평 방향으로 이동하는 경우, 주행 제어장치는 이동체(100)를 직선거리에서 벗어나도록 제어하여 동적 장애물(200)을 보내준다. 즉, 이동체(100)와 동적 장애물(200)이 서로 마주보는 수평 방향으로 움직이는 경우 주행 제어장치는 동적 장애물(200)의 상대 속도벡터(1000d)를 구한다. 그리고 상대 속도벡터에 수직인 법선벡터(1010d)를 구한다. 이어서, 이동체의 속도를 고려하여 회피경로의 회피속도를 동적 장애물을 피하는 방향으로 보정(1020d)한다.
도 10e를 참조하면, 이동체(100)의 앞에 느린 속도로 움직이는 동적 장애물(200)이 있는 경우, 주행 제어장치의 회피경로 설정과정을 도시한 예시도이다. 도 10e를 참조하면, 주행 제어장치는 이동체(100)의 속도를 동적 장애물(200)의 속도보다 더 빠르게 하며 앞의 동적 장애물(200)을 추월하도록 제어한다. 즉, 이동체(100)의 앞에 느린 속도로 움직이는 동적 장애물(200)이 있는 경우 주행 제어장치는 동적 장애물(200)의 상대 속도벡터(1000e)를 구한다. 그리고 상대 속도벡터에 수직인 법선벡터(1010e)를 구한다. 이어서, 이동체의 속도를 고려하여 회피경 로의 회피속도를 동적 장애물을 피하는 방향으로 보정(1020e)한다.
한편 도 10a 내지 도 10e를 참조로 전술한 회피경로 설정과정은 본 발명의 이해를 돕기 위한 일 실시예일 뿐 이 외의 다양한 실시예가 가능함은 당업자에 이어서 자명하다.
도 11은 본 발명의 일 실시예에 따른 주행 제어장치의 복귀경로 설정을 설명하기 위한 참조도이다.
동적환경 하에서 움직이는 장애물을 회피하게 위해서 목표로 하는 경로를 벗어나서 이동체를 움직여야 하는 경우가 발생된다. 이때 주행 제어장치는 이동체가 다시 원하는 경로를 향해서 주행하도록 복귀경로를 설정한다. 경로 복귀 단계는 충돌 회피 단계에서 벗어난 경로를 다시 원 상태의 경로로 효율적으로 변환하는 단계로, 이동체의 현재 위치, 속도 정보와 목표 경로를 기준으로 한 장 모델(Field Model)을 설정한다.
도 11을 참조하면, 이동체(100)의 목표 경로가 x축 양의 방향으로 뻗어 나가는 직선이고, 주변에는 이동체(100)와 충돌할 가능성이 있는 동적 장애물이 존재하지 않는다고 가정하자. 이 상황에서 이동체(100)가 어떻게 움직여야 가장 효율적으로 원래의 경로에 도착할 수 있는지를 고려한다. 복귀속도만을 생각하자면 가장 빠르게 목표 경로에 복귀하는 방식은 도 11의 a처럼 목표 경로에 수직으로 복귀하는 것이다. 그렇지만, 사용자가 원하는 것은 경로로 이동체(100)가 빨리 복귀하는 것이 아니라 원하는 목표지점으로 빨리 도달하는 것이기 때문에, 도 11의 b처럼 목표 지점을 향해서 직선으로 움직이는 것이 더욱 좋은 결과를 얻을 수 있다.
하지만 주어진 시나리오에서는 사용자가 원하는 목표지점이 무엇인지 확실하지 않기 때문에 위와 같은 방식을 곧바로 적용할 수는 없고, 또한 이동체(100)가 언제나 직선으로 움직인다면 이동체(100)의 움직임이 자연스럽지 않고 제자리에서 90도씩 회전하고 난 후에야 직진으로 진행하는 모습을 보여 주게 되기도 한다. 그러나, 일 실시예에 따른 주행 제어장치는 이동체(100)의 움직임이 보다 자연스러우면서도 적절한 속도로 본래의 경로로 복귀하는 알고리즘을 구현한다.
도 12a 내지 도 12c는 본 발명의 일 실시예에 따라 설정된 복귀경로를 도시한 예시도이다.
도 12a 내지 도 12c를 참조하면, 도 12a 내지 도 12c에 도시된 바와 같은 경로(1200a,1200b,1200c)로 이동체(100)를 복귀시키는 것이 보다 자연스럽다.
도 13은 본 발명의 일 실시예에 따라 목표경로가 직선인 경우 설정된 복귀 장을 도시한 예시도이다.
이동체의 움직임이 보다 자연스러우면서도 적절한 속도로 본래의 경로로 복귀하는 알고리즘을 구현하기 위해서, 주행 제어장치는 일일이 이동체가 가야 할 경로를 정해주는 대신에 각 지점에서 이동체의 움직임을 보정해 줄 수 있는 방식을 선택한다. 따라서 2차원 상의(3차원 경로인 경우에는 3차원상으로 확장할 수 있다.) 각 지점에 이동체가 있을 때 가야 할 방향을 도 13에 도시한 바와 같은 장 모델(Field Model)로 나타내어 준다.
도 13을 참조하면, 화살표들은 목표지점이 사용자가 원하는 경로에서 멀리 떨어져 있을수록 복귀하는 것이 더욱 중요해지고, 원하는 경로에 가까울수록 경로 를 따라서 움직이는 것이 더욱 중요해 지게 되는 것을 나타낸다. 이때 각각의 화살표와 x축 양의 방향이 이루는 각도는 다음과 같이 나타낼 수 있다.
Figure 112009013050529-PAT00006
여기서 x축과 떨어진 수직 거리(y)가 커질수록 각도는 -90에 가까워지고 y가 작아질 수록 각도는 0에 가까워진다. α의 값은 상황에 따라 바꿀 수 있는 변수인데, 이 값이 클수록 빨리 복귀하려는 성향이 강해지고 값이 작을수록 목적하는 방향으로 이동하려는 경향이 강해진다. 즉, 경로가 넓은 경우에는 α를 작게 설정하여 원하는 방향을 향해 빨리 나아가게 하고, 경로가 좁고 구불구불한 경우에는 α를 크게 설정하여 목적했던 경로로 빨리 복귀할 수 있도록 한다. (α가 너무 큰 경우에는 목적한 경로로 빨리 복귀할 수는 있지만, 경로를 지나쳐 버리게 되는 오버샷(Overshoot) 현상이 발생할 가능성이 있으므로 적절한 조율이 필요하다.)
이때, 복귀 장(Field)의 세기는 위치에 따라서 변하지 않게 지정하여 방향만을 나타내어 줄 수도 있고, y값이 커질수록 더 커지는 함수를 이용하여 원하는 경로에서 멀리 떨어져 있을 수록 더 빠른 속도로 움직이도록 제어할 수도 있다.
도 14는 본 발명의 일 실시예에 따라 목표경로가 곡선인 경우 설정된 복귀 장을 도시한 예시도이다.
도 14를 참조하면, 사용자가 원하는 목표경로가 직선이 아닌 경우에는, 도 14에 도시된 바와 같이 현재 위치에서 제일 가까운 점의 접선에 대해서 도 13에 전술한 복귀 방식으로 복귀 장을 설정할 수 있다.
도 15a 내지 도 15c는 본 발명의 일 실시예에 따른 복귀 장을 이용하여 설정된 복귀경로를 도시한 예시도이다.
도 15a 내지 도 15c를 참조하면, 주행 제어장치는 복귀 장 벡터와 이동체의 속도벡터의 합에 해당되는 경로로 복귀경로를 설정할 수 있다. 예를 들면, 도 15a 내지 도 15c에 도시된 바와 같이 복귀 장의 방향과 현재의 이동체(100)의 속도방향의 합을 구해서 이동체(100)가 나아갈 복귀경로(1500a,1500b,1500c)를 자연스럽게 구현해 줄 수 있다.
이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명이 적용되는 환경을 설명하기 위한 예시도,
도 2는 본 발명의 일 실시예에 따른 주행 제어장치의 구성도,
도 3은 본 발명의 일 실시예에 따른 도 2의 경로 설정부의 구성도,
도 4는 본 발명의 일 실시예에 따른 주행 제어방법을 도시한 흐름도,
도 5는 본 발명의 일 실시예에 따른 도 4의 주행 제어방법을 상세히 도시한 상세 흐름도,
도 6은 본 발명의 일 실시예에 따른 주행 제어장치의 관측영역 설정을 설명하기 위한 참조도,
도 7a 내지 도 7d는 본 발명의 일 실시예에 따라 설정되는 관측영역을 도시한 예시도,
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 주행 제어장치의 충돌 가능성 판단을 설명하기 위한 참조도,
도 9는 본 발명의 일 실시예에 따른 주행 제어장치의 회피경로 설정을 설명하기 위한 참조도,
도 10a 내지 도 10e는 본 발명의 일 실시예에 따른 회피경로 설정과정을 도시한 예시도,
도 11은 본 발명의 일 실시예에 따른 주행 제어장치의 복귀경로 설정을 설명하기 위한 참조도,
도 12a 내지 도 12c는 본 발명의 일 실시예에 따라 설정된 복귀경로를 도시 한 예시도,
도 13은 본 발명의 일 실시예에 따라 목표경로가 직선인 경우 설정된 복귀 장을 도시한 예시도,
도 14는 본 발명의 일 실시예에 따라 목표경로가 곡선인 경우 설정된 복귀 장을 도시한 예시도,
도 15a 내지 도 15c는 본 발명의 일 실시예에 따른 복귀 장을 이용하여 설정된 복귀경로를 도시한 예시도이다.
<도면의 주요부분에 대한 부호의 설명>
1 : 주행 제어장치 10 : 정보 분석부
20 : 경로 결정부 22 : 회피경로 결정부
24 : 복귀경로 결정부 30 : 이동체 제어부
100 : 이동체 200 : 동적 장애물

Claims (18)

  1. 주행경로 상에서 주행중인 이동체에 대한 동적 장애물의 위치정보 및 이동정보를 분석하는 정보 분석부;
    상기 분석된 정보를 이용해 상기 동적 장애물과의 충돌 가능성을 판단하여 상기 이동체가 주행할 경로를 설정하는 경로 결정부; 및
    상기 설정된 경로로 상기 이동체를 주행시키는 이동체 제어부를 포함하는 주행 제어장치.
  2. 제 1 항에 있어서,
    상기 이동체 및 상기 동적 장애물은 가상 세계에서의 가상 객체인 주행 제어장치.
  3. 제 1 항에 있어서,
    상기 이동체는 실제 세계에서의 주행 로봇인 주행 제어장치.
  4. 제 1 항에 있어서, 상기 경로 결정부는,
    상기 이동체가 주행할 경로 설정시 상기 이동체가 설정된 목표경로에 위치하는지를 판단하는 주행 제어장치.
  5. 제 1 항에 있어서, 상기 경로 결정부는,
    상기 충돌 가능성 판단시 상기 동적 장애물의 상대위치를 나타내는 상대 위치벡터 및 상대속도를 나타내는 상대 속도벡터가 형성되는 각도가 -90도에서 +90도 사이이면 상기 이동체 및 상기 동적 장애물간의 충돌 가능성이 없다고 판단하고,
    상기 상대 위치벡터 및 상기 상대 속도벡터가 형성되는 각도가 상기 -90도에서 +90도 사이 이외이면 상기 이동체 및 상기 동적 장애물간의 거리가 상기 이동체 및 상기 동적 장애물의 반지름의 합보다 작은 경우 충돌 가능성이 있다고 판단하여 충돌 예측 시간 및 충돌 예측 위치를 계산하는 주행 제어장치.
  6. 제 1 항에 있어서, 상기 경로 결정부는,
    상기 이동체의 위치 및 속도를 이용하여 충돌 가능성이 있는 관측영역을 설정하고, 상기 설정된 관측영역 내에 위치하는 동적 장애물에 대해서 충돌 가능성 여부를 판단하는 주행 제어장치.
  7. 제 1 항에 있어서, 상기 경로 결정부는,
    상기 이동체에 대한 상기 동적 장애물의 상대위치와 상대속도를 이용하여 상기 이동체 및 상기 동적 장애물간의 충돌 가능성을 판단하고,
    충돌 가능성이 있으면 상기 이동체가 상기 동적 장애물과의 충돌을 회피할 수 있는 회피경로를 설정하는 회피경로 결정부를 포함하는 주행 제어장치.
  8. 제 7 항에 있어서, 상기 회피경로 결정부는,
    상기 동적 장애물의 상대속도 벡터에 수직인 법선벡터들 중 회피이동 변화량의 크기가 작은 법선벡터에 해당되는 방향으로 상기 회피경로를 설정하는 주행 제어장치.
  9. 제 8 항에 있어서, 상기 회피경로 결정부는,
    상기 상대속도 벡터에 수직인 방향을 나타내는 법선벡터와 상기 이동체의 속도벡터의 합의 방향으로 상기 이동체의 회피경로 방향을 보정하는 주행 제어장치.
  10. 제 7 항에 있어서, 상기 경로 결정부는,
    상기 회피경로로 주행중인 이동체가 미리 설정된 목표경로에 위치하는지를 판단하고,
    상기 이동체가 상기 목표경로에 위치하지 않으면 상기 이동체가 상기 목표경로로 진입할 수 있는 복귀경로를 설정하는 복귀경로 결정부를 더 포함하는 주행 제어장치.
  11. 제 10 항에 있어서, 상기 복귀경로 결정부는,
    상기 분석된 정보를 이용하여 상기 이동체의 복귀방향 및 복귀속도를 나타내는 복귀 장(Field)을 결정하고, 상기 결정된 복귀 장을 이용하여 상기 복귀경로를 설정하는 주행 제어장치.
  12. 제 11 항에 있어서, 상기 복귀경로 결정부는,
    상기 복귀 장 벡터와 상기 이동체의 속도벡터의 합에 해당되는 경로로 상기 복귀경로를 설정하는 주행 제어장치.
  13. 주행경로 상에서 주행중인 이동체에 대한 동적 장애물의 위치정보 및 이동정보를 분석하는 단계;
    상기 분석된 정보를 이용해 상기 동적 장애물과의 충돌 가능성을 판단하여 상기 이동체가 주행할 경로를 설정하는 단계; 및
    상기 설정된 경로로 상기 이동체를 주행시키는 단계를 포함하는 주행 제어방법.
  14. 제 13 항에 있어서, 상기 이동체가 주행할 경로를 설정하는 단계는,
    상기 충돌 가능성 판단시 상기 동적 장애물의 상대위치를 나타내는 상대 위치벡터 및 상대속도를 나타내는 상대 속도벡터가 형성되는 각도가 -90도에서 +90도 사이이면 상기 이동체 및 상기 동적 장애물간의 충돌 가능성이 없다고 판단하고,
    상기 상대 위치벡터 및 상기 상대 속도벡터가 형성되는 각도가 상기 -90도에서 +90도 사이 이외이면 상기 이동체 및 상기 동적 장애물간의 거리가 상기 이동체 및 상기 동적 장애물의 반지름의 합보다 작은 경우 충돌 가능성이 있다고 판단하여 충돌 예측 시간 및 충돌 예측 위치를 계산하는 주행 제어방법.
  15. 제 13 항에 있어서, 상기 이동체가 주행할 경로를 설정하는 단계는,
    상기 이동체에 대한 상기 동적 장애물의 상대위치와 상대속도를 이용하여 상기 이동체 및 상기 동적 장애물간의 충돌 가능성을 판단하는 단계; 및
    충돌 가능성이 있으면 상기 이동체가 상기 동적 장애물과의 충돌을 회피할 수 있는 회피경로를 설정하는 단계를 포함하는 주행 제어방법.
  16. 제 15 항에 있어서, 상기 회피경로를 설정하는 단계는,
    상기 동적 장애물의 상대속도 벡터에 수직인 법선벡터들 중 회피이동 변화량의 크기가 작은 법선벡터에 해당되는 방향으로 상기 회피경로를 설정하는 주행 제어방법.
  17. 제 15 항에 있어서, 상기 이동체가 주행할 경로를 설정하는 단계는,
    상기 회피경로로 주행중인 이동체가 미리 설정된 목표경로에 위치하는지를 판단하는 단계; 및
    상기 이동체가 상기 목표경로에 위치하지 않으면 상기 이동체가 상기 목표경로로 진입할 수 있는 복귀경로를 설정하는 단계를 포함하는 주행 제어방법.
  18. 제 17 항에 있어서, 상기 복귀경로를 설정하는 단계는,
    상기 분석된 정보를 이용하여 상기 이동체의 복귀방향 및 복귀속도를 나타내 는 복귀 장(Field)을 결정하고, 상기 결정된 복귀 장을 이용하여 상기 복귀경로를 설정하는 주행 제어방법.
KR1020090018013A 2009-03-03 2009-03-03 충돌 예측 기반 주행 제어장치 및 그 방법 KR101633890B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090018013A KR101633890B1 (ko) 2009-03-03 2009-03-03 충돌 예측 기반 주행 제어장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090018013A KR101633890B1 (ko) 2009-03-03 2009-03-03 충돌 예측 기반 주행 제어장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20100099489A true KR20100099489A (ko) 2010-09-13
KR101633890B1 KR101633890B1 (ko) 2016-06-28

Family

ID=43005781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090018013A KR101633890B1 (ko) 2009-03-03 2009-03-03 충돌 예측 기반 주행 제어장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101633890B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101539270B1 (ko) * 2015-02-27 2015-07-24 군산대학교산학협력단 충돌회피 및 자율주행을 위한 센서융합 기반 하이브리드 반응 경로 계획 방법, 이를 수행하기 위한 기록 매체 및 이동로봇
KR20150121403A (ko) 2014-04-21 2015-10-29 한국기계연구원 작업자와 로봇 사이의 충돌 방지 시스템 및 방법
KR20200119430A (ko) * 2019-04-02 2020-10-20 한양대학교 에리카산학협력단 군집제어 시스템 및 이를 이용한 군집제어 방법
KR102260441B1 (ko) * 2019-12-12 2021-06-03 삼성중공업 주식회사 선박의 자동운항장치
CN114077249A (zh) * 2021-10-22 2022-02-22 陕西欧卡电子智能科技有限公司 一种作业方法、作业设备、装置、存储介质
WO2024101767A1 (ko) * 2022-11-07 2024-05-16 주식회사 나비프라 모바일 로봇 유니트, 모바일 로봇 시스템 및 모바일 로봇 시스템 제어 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102180609B1 (ko) * 2018-12-12 2020-11-18 (주)에이알웍스 장애물과의 충돌을 방지하기 위해 이동체의 이동 경로를 컨트롤하는 방법 및 그를 이용한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002023297A1 (fr) * 2000-09-11 2002-03-21 Kunikatsu Takase Systeme de commande de mouvement de corps mobiles
KR20050024167A (ko) * 2003-09-05 2005-03-10 학교법인 인하학원 광류 추정을 이용한 이동하는 로봇에서의 정적, 동적장애물 탐지 및 회피 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002023297A1 (fr) * 2000-09-11 2002-03-21 Kunikatsu Takase Systeme de commande de mouvement de corps mobiles
KR20050024167A (ko) * 2003-09-05 2005-03-10 학교법인 인하학원 광류 추정을 이용한 이동하는 로봇에서의 정적, 동적장애물 탐지 및 회피 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150121403A (ko) 2014-04-21 2015-10-29 한국기계연구원 작업자와 로봇 사이의 충돌 방지 시스템 및 방법
KR101539270B1 (ko) * 2015-02-27 2015-07-24 군산대학교산학협력단 충돌회피 및 자율주행을 위한 센서융합 기반 하이브리드 반응 경로 계획 방법, 이를 수행하기 위한 기록 매체 및 이동로봇
KR20200119430A (ko) * 2019-04-02 2020-10-20 한양대학교 에리카산학협력단 군집제어 시스템 및 이를 이용한 군집제어 방법
KR102260441B1 (ko) * 2019-12-12 2021-06-03 삼성중공업 주식회사 선박의 자동운항장치
CN114077249A (zh) * 2021-10-22 2022-02-22 陕西欧卡电子智能科技有限公司 一种作业方法、作业设备、装置、存储介质
CN114077249B (zh) * 2021-10-22 2024-03-15 陕西欧卡电子智能科技有限公司 一种作业方法、作业设备、装置、存储介质
WO2024101767A1 (ko) * 2022-11-07 2024-05-16 주식회사 나비프라 모바일 로봇 유니트, 모바일 로봇 시스템 및 모바일 로봇 시스템 제어 방법

Also Published As

Publication number Publication date
KR101633890B1 (ko) 2016-06-28

Similar Documents

Publication Publication Date Title
KR101633890B1 (ko) 충돌 예측 기반 주행 제어장치 및 그 방법
KR101503418B1 (ko) 반자동 주차 기계
CN106094812B (zh) 用于自主驾驶的反应式路径规划
US20100241289A1 (en) Method and apparatus for path planning, selection, and visualization
US20210132615A1 (en) Systems and methods for optimizing route planning for tight turns for robotic apparatuses
US8239084B2 (en) Moving device
US9020682B2 (en) Autonomous mobile body
US9079307B2 (en) Autonomous locomotion apparatus, autonomous locomotion method, and program for autonomous locomotion apparatus
EP3167342B1 (en) Virtual line-following and retrofit method for autonomous vehicles
US20130116880A1 (en) Autonomous mobile body
KR20100092807A (ko) 이동 로봇 및 이동 로봇의 이동 방법
JP2008191800A (ja) 先導者追従車両
JPH07306718A (ja) 自律移動装置の衝突回避方法
WO2016063553A1 (ja) 自律移動体及び自律移動体システム
JP6384053B2 (ja) 後写鏡角度設定システム、後写鏡角度設定方法および後写鏡角度設定プログラム
JP6630950B2 (ja) 経路算出装置、経路算出プログラムおよび経路算出方法
CN110119141B (zh) 移动体控制系统、作为移动体的电动轮椅及移动体控制方法
Patel et al. Sensor based door navigation for a nonholonomic vehicle
JP2003140747A (ja) 自律移動装置及び自律移動装置運用システム
Bosnak et al. Efficient time-to-collision estimation for a braking supervision system with lidar
CN112631269A (zh) 自主移动机器人及自主移动机器人的控制程序
KR20180067830A (ko) 자율 주행 차량 제어 시스템 및 그 방법
JPWO2016163035A1 (ja) 移動筐体制御インタフェース
KR102479619B1 (ko) 장애물의 회피 이동이 가능한 자율 주행 로봇
KR101475207B1 (ko) 로봇조종 훈련용 시뮬레이션장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190520

Year of fee payment: 4