KR102555435B1 - 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법 - Google Patents

장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR102555435B1
KR102555435B1 KR1020210009852A KR20210009852A KR102555435B1 KR 102555435 B1 KR102555435 B1 KR 102555435B1 KR 1020210009852 A KR1020210009852 A KR 1020210009852A KR 20210009852 A KR20210009852 A KR 20210009852A KR 102555435 B1 KR102555435 B1 KR 102555435B1
Authority
KR
South Korea
Prior art keywords
mobile robot
obstacle
speed
path
collision
Prior art date
Application number
KR1020210009852A
Other languages
English (en)
Other versions
KR20220107344A (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 KR1020210009852A priority Critical patent/KR102555435B1/ko
Publication of KR20220107344A publication Critical patent/KR20220107344A/ko
Application granted granted Critical
Publication of KR102555435B1 publication Critical patent/KR102555435B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors

Abstract

본 발명은 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법에 관한 것으로서, 더욱 상세하게는, 기설정된 소정 주기마다 반복 수행하여, 경로 상 장애물에 의한 이동 로봇의 속력을 변화시키는 제어 시스템에 있어서, 입력되는 이동 로봇의 주행 관련 정보를 기반으로, 해당 수행 시점의 이동 로봇의 현재 위치 정보를 추정하고, 소정 시간 뒤인 다음 수행 시점의 이동 로봇의 위치 정보를 예측하는 위치 예측부(100), 이동 로봇에 기장착된 센서 수단을 이용하여, 이동 로봇의 현재 위치를 기준으로 주변 장애물 존재 여부를 감지하고, 감지된 장애물의 움직임 관련 정보를 획득하는 장애물 인식부(200), 상기 장애물 인식부(200)에서 획득한 상기 정보와 상기 위치 예측부(100)에서 획득한 위치 정보들을 이용하여, 감지된 장애물에 따른 이동 로봇의 충돌 확률을 예측하기 위한 가중치를 결정하는 가중치 계산부(300), 상기 가중치 계산부(300)에서 결정한 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 경로 분석부(400) 및 상기 경로 분석부(400)에서 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 이동 로봇의 제한 속력값을 결정하는 제한속력 계산부(500)를 포함하는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 시스템에 관한 것이다.

Description

장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법 {Control system and method of mobile robots by obstacle}
본 발명은 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법에 관한 것으로, 더욱 상세하게는 이동 로봇의 주행 경로 생성 시, 고려되지 못한 동적 또는 정적 장애물이 감지될 경우, 이동 로봇의 속력을 감소시켜 충돌 확률을 낮출 수 있는 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법에 관한 것이다.
이동 로봇은 장착된 다양한 센서들을 통해, 장애물을 포함한 주위 환경을 인식하고 이를 기반으로 이동을 위한 경로를 생성하여 생성한 경로를 토대로 이동하면서 주어진 미션을 수행하면서 여러 가지 서비스를 제공하는, 말 그대로 움직이는 로봇이다. 이러한 이동 로봇은 복잡한 실내 환경의 경우, 경로를 생성함에 있어서 복잡한 환경 요인으로 인해 위치하고 있는 장애물을 제대로 인식하지 못하거나, 고려하지 못했던 장애물로 인해 충돌이 발생하는 일이 빈번하다.
기존 연구들은 인식된 장애물에 관한 회피 경로를 생성하는 연구, 즉, 경로를 생성하는 과정에서의 연구들이 주를 이루고 있을 뿐, 혼잡한 환경에서도 안전하게 구동 가능한 이동로봇 주행에 관한 연구는 상대적으로 부족한 실정이다.
상세하게는, 동적 장애물이 있는 환경에서 인간과 유사한 상호 작용 및 작업 계획을 위한 공간 정보 기반 프레임워크를 제시한 연구가 수행된 바 있으며, 인간과 비슷한 3D 시각적 SLAM(Simultaneous Localization and Mapping), LTM(Long-Term Memory)와 STM(Short-Term Memory)로 분리한 구조를 그 수단으로 한다. 이는 기본적으로 많은 연산이 요구되며, 장애물이 인식되었다는 가정을 기반으로 진행되기 때문에, 실질적인 이동 로봇 구동을 위한 구체적인 방법론과는 거리가 멀다.
또한, 심층 강화 학습(Deep Reinforce Learning)을 통해 군중 네비게이션 문제를 해결하기 위한 접근법을 제시한 연구가 수행된 바 있으며, LSTM(Long Short Term Memory)과 충돌 예측 알고리즘이 결합된 근접 정책 최적화(proximal policy optimization)를 통해 경로 생성시 고려하지 않았던 정적 및 독정 장애물을 회피하고자 하였다. 그렇지만, 이러한 학습 연구는 다양한 환경에서 다양한 변수들을 모두 고려하여 학습하기 위한 데이터 확보가 용이하지 않으며, 이와 같은 블랙박스 학습 방법이 가지고 있는 최선을 예측했다고 볼 수 있지만, 최악이 아님을 확신할 수 없기 때문에 안정성 확보가 용이하기 않은 문제점이 있다.
더불어, 전역 경로를 생성하고 충돌을 예측한 후, 지역적 경로를 생성하는 것을 포함하는 2단계 프로그래밍 방법(bi-level programming method)에 대한 기술이 개시되었으며, 이를 통해서 동적으로 발생하는 배리어(barrier)에 대해 벽을 따라가는 행위 등을 추가함으로써 해결하고자 하였다. 그렇지만, 이러한 기술을 통해서는 연산량을 줄이면서 충돌을 예측할 수는 있으나 이는 복잡하지 않은 정적인 장애물에 적합한 연구 방법으로서, 복잡하고 동적인 장애물이 있는 환경에는 적합하지 않은 문제점이 있다.
이와 같이, 동적 환경에서의 이동 로봇 주행을 위한 회피 경로를 생성하고자 하는 많은 연구가 이루어졌으나, 실제로 인식하지 힘든 동적 장애물이 존재하는 복잡한 환경에서의 속력 레벨의 프로파일 생성까지 관여하면서, 이동 로봇과 장애물의 충돌 가능성을 낮추면서 동시에 충돌 시 피해를 최소화하기 위한 연구는 전혀 이루어지지 않고 있다.
이와 관련해서, 국내등록특허 제10-1140984호("가시적으로 차단된 동적 장애물의 출현을 고려한 안전 경로 생성 방법 및 이를 이용한 이동 로봇")에서는, 이동 로봇의 주행 환경에 존재하는 등록된 장애물에 의해 가시적으로 차단된 동적 장애물과의 충돌 위험을 제거함에 있어 경로 계획과 이동 로봇의 주행 속도가 모두 반영된 안전 경로를 생성할 수 있는 기술을 개시하고 있다.
국내등록특허 제10-1140984호(등록일자 2012.04.20.)
본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 이동 로봇의 주행 경로 생성 시, 고려되지 못한 동적 또는 정적 장애물이 감지될 경우, 이동 로봇의 속력을 감소시켜 충돌 확률을 낮출 수 있을 뿐 아니라, 충돌 발생 시 신속하게 긴급 제동이 이루어질 수 있도록 이동 로봇의 주행 속력을 제어하여 피해를 최소화할 수 있는 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템은, 기설정된 소정 주기마다 반복 수행하여, 경로 상 장애물에 의한 이동 로봇의 속력을 변화시키는 제어 시스템에 있어서, 입력되는 이동 로봇의 주행 관련 정보를 기반으로, 해당 수행 시점의 이동 로봇의 현재 위치 정보를 추정하고, 소정 시간 뒤인 다음 수행 시점의 이동 로봇의 위치 정보를 예측하는 위치 예측부(100), 이동 로봇에 기장착된 센서 수단을 이용하여, 이동 로봇의 현재 위치를 기준으로 주변 장애물 존재 여부를 감지하고, 감지된 장애물의 움직임 관련 정보를 획득하는 장애물 인식부(200), 상기 장애물 인식부(200)에서 획득한 상기 정보와 상기 위치 예측부(100)에서 획득한 위치 정보들을 이용하여, 감지된 장애물에 따른 이동 로봇의 충돌 확률을 예측하기 위한 가중치를 결정하는 가중치 계산부(300), 상기 가중치 계산부(300)에서 결정한 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 경로 분석부(400) 및 상기 경로 분석부(400)에서 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 이동 로봇의 제한 속력값을 결정하는 제한속력 계산부(500)를 포함하는 것이 바람직하다.
더 나아가, 상기 장애물에 의한 이동 로봇의 제어 시스템은 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 상기 제한속력 계산부(500)에서 결정한 분할한 각 경로 구간에 대한 상기 제한 속력값에 따른 속력 변화값을 생성하고, 생성한 상기 속력 변화값을 이용하여 이동 로봇의 속력 제어 신호를 생성하는 제어속력 생성부(600)를 포함하는 것이 바람직하다.
더 나아가, 상기 가중치 계산부(300)는 상기 장애물 인식부(200)에서 획득한 상기 정보와 상기 위치 예측부(100)에서 획득한 위치 정보들을 이용하여, 이동 로봇과 장애물 간의 거리 정보, 이동 로봇과 장애물이 이루는 각도 정보 및 이동 로봇과 장애물 간의 상대 속도 정보를 분석하여, 상기 가중치를 결정하는 것이 바람직하다.
더 나아가, 상기 경로 분석부(400)는 입력되는 이동 로봇의 주행 관련 정보에 포함된 전체 경로를 기준으로, 상기 장애물 인식부(200)에서 획득한 장애물 정보와 상기 가중치 계산부(300)에서 결정한 상기 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 것이 바람직하다.
더 나아가, 상기 제한속력 계산부(500)는 상기 경로 분석부(400)를 통해 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 기설정된 소정값을 기준으로 충돌 위험성이 소정값 이상인 구간에 대해서 충돌 위험성이 소정값 미만인 구간보다 이동 로봇의 제한 속력값을 낮게 결정하는 것이 바람직하다.
더 나아가, 상기 제어속력 생성부(600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보, 상기 제한속력 계산부(500)에서 결정한 각 경로 구간의 제한 속력값과, 기설정된 속도차 허용범위를 이용하여, 이동 로봇의 동역학적 특징을 고려하여 각 경로 구간의 속력 변화값을 생성하는 것이 바람직하다.
본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 방법은, 기설정된 소정 주기마다 반복 수행하면서, 경로 상 장애물에 의한 이동 로봇의 속력을 변화시키는 제어 방법에 있어서, 위치 예측부에서, 이동 로봇의 주행 관련 정보를 입력받아, 해당 수행 시점의 이동 로봇의 현재 위치 정보를 추정하고, 소정 시간 뒤인 다음 수행 시점의 이동 로봇의 위치 정보를 예측하는 제1 단계(S100), 장애물 인식부에서, 이동 로봇에 기장착된 센서 수단으로부터 전달되는 센싱 정보를 이용하여, 이동 로봇의 현재 위치를 기준으로 주변 장애물 존재 여부를 감지하고, 감지된 장애물의 움직임 관련 정보를 획득하는 제2 단계(S200), 가중치 계산부에서, 상기 제2 단계(S200)에 의해 획득한 상기 정보와 상기 제1 단계(S100)에 의해 획득한 위치 정보들을 이용하여, 감지된 장애물에 따른 이동 로봇의 충돌 확률을 예측하기 위한 가중치를 결정하는 제3 단계(S300), 경로 분석부에서, 상기 제3 단계(S300)에 의해 결정한 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 제4 단계(S400), 제한속력 계산부에서, 상기 제4 단계(S400)에 의해 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 이동 로봇의 제한 속력값을 결정하는 제5 단계(S500) 및 제어속력 생성부에서, 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 상기 제5 단계(S400)에 의해 결정한 분할한 각 경로 구간에 대한 상기 제한 속력값에 따른 속력 변화값을 생성하고, 생성한 상기 속력 변화값을 이용하여 각 경로 구간마다 이동 로봇의 속력 제어 신호를 생성하는 제6 단계(S600)를 포함하는 것이 바람직하다.
더 나아가, 상기 제3 단계(S300)는 상기 제2 단계(S200)에 의해 획득한 상기 정보와 상기 제1 단계(S100)에 의해 획득한 위치 정보들을 이용하여, 이동 로봇과 장애물 간의 거리 정보, 이동 로봇과 장애물이 이루는 각도 정보 및 이동 로봇과 장애물 간의 상대 속도 정보를 분석하여, 상기 가중치를 결정하는 것이 바람직하다.
더 나아가, 상기 제4 단계(S400)는 입력되는 이동 로봇의 주행 관련 정보에 포함된 전체 경로를 기준으로, 상기 제2 단계(S200)에 의해 획득한 장애물 정보와 상기 제3 단계(S300)에 의해 결정한 상기 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 것이 바람직하다.
더 나아가, 상기 제5 단계(S500)는 상기 제4 단계(S400)에 의해 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 기설정된 소정값을 기준으로 충돌 위험성이 소정값 이상인 구간에 대해서 충돌 위험성이 소정값 미만인 구간보다 이동 로봇의 제한 속력값을 낮게 결정하는 것이 바람직하다.
더 나아가, 상기 제6 단계(S600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보, 상기 제5 단계(S500)에 의해 결정한 각 경로 구간의 제한 속력값과, 기설정된 속도차 허용범위를 이용하여, 이동 로봇의 동역학적 특징을 고려하여 각 경로 구간의 속력 변화값을 생성하는 것이 바람직하다.
상기와 같은 구성에 의한 본 발명의 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법은 이동 로봇의 주행 경로 생성 시, 고려되지 못한 동적 또는 정적 장애물이 감지될 경우, 이동 로봇의 속력을 감소시켜 충돌 확률을 낮출 수 있을 뿐 아니라, 충돌 발생 시 신속하게 긴급 제동이 이루어질 수 있도록 이동 로봇의 주행 속력을 제어하여 피해를 최소화할 수 있는 장점이 있다.
이를 통해서, 이동 로봇의 주행 안정성을 확보를 확보할 수 있는 장점이 있다.
즉, 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법은, 이동 로봇의 주위 장애물과의 거리 정보를 획득하고, 이에 따라 다양한 회피 모션 수행을 가능하게 하는 알고리즘을 적용하여, 이동 로봇이 서비스를 제공하는데 있어, 사람들을 포함한 (동적)장애물이 존재하는 복잡한 환경에서 주어진 경로(미션)를 추종하면서도 장애물을 우회하여 안전하게 이동할 수 있는 경로 생성을 수행할 수 있다. 이 때, 장애물의 정보(현재 상태 조건)를 고려하여 이동 로봇이 장애물을 안전하게 회피할 수 있도록 이동 로봇의 속력을 제한함으로써, 회피 기동을 용이하게 수행할 수 있을 뿐 아니라, 동시에 최악의 경우에 발생할 수 있는 충돌의 피해를 최소화할 수 있어, 안정적인 주행을 보장할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템을 나타낸 구성 예시도이다.
도 2는 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템의 가중치 계산부(300)에서의 가중치 설정 동작을 나타낸 예시도이다.
도 3은 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템의 경로 분석부(400)에서의 경로 구간 분할 동작을 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 방법을 나타낸 순서 예시도이다.
이하 첨부한 도면들을 참조하여 본 발명의 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법을 상세히 설명한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.
이 때, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다.
더불어, 시스템은 필요한 기능을 수행하기 위하여 조직화되고 규칙적으로 상호 작용하는 장치, 기구 및 수단 등을 포함하는 구성 요소들의 집합을 의미한다.
본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법은, 이동 로봇의 주위 장애물과의 거리 정보를 획득하고, 이에 따라 다양한 회피 모션 수행을 가능하게 하는 알고리즘을 적용하여, 이동 로봇이 서비스를 제공하는데 있어, 사람들을 포함한 (동적)장애물이 존재하는 복잡한 환경에서 주어진 경로(미션)를 추종하면서도 장애물을 우회하여 안전하게 이동할 수 있는 경로 생성을 수행할 수 있다. 이 때, 장애물의 정보(현재 상태 조건)를 고려하여 이동 로봇이 장애물을 안전하게 회피할 수 있도록 이동 로봇의 속력을 제한함으로써, 회피 기동을 용이하게 수행할 수 있을 뿐 아니라, 동시에 최악의 경우에 발생할 수 있는 충돌의 피해를 최소화할 수 있어, 안정적인 주행이 가능한 기술적 특징이 있다.
도 1은 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템을 나타낸 구성 예시도이며, 도 1을 참조로 하여 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템을 상세히 설명한다.
본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템은 도 1에 도시된 바와 같이, 위치 예측부(100), 장애물 인식부(200), 가중치 계산부(300), 경로 분석부(400), 제한속력 계산부(500) 및 제어속력 생성부(600)를 포함하여 구성되는 것이 바람직하며, 각 구성들에서 발생하는 데이터들을 전송받아, 이를 데이터베이스화하여 저장 및 관리하는 데이터베이스부(미도시)를 더 포함하여 구성되는 것이 바람직하다. 또한, 각 구성들은 하나의 연산처리수단 또는 각각의 연산처리수단에 구성되어 동작을 수행하게 된다.
더불어, 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템은 미리 설정된 소정 주기마다 반복 수행하며, 경로 상 장애물에 의한 이동 로봇의 속력을 변화시키는 제어를 수행하는 것이 바람직한데, 이는 이동 로봇을 통해서 획득되는 센싱 정보들의 획득 주기 중 최소 주기에 맞추어 반복 수행하는 것이 가장 바람직하다. 이를 통해서, 충돌 확률이 매우 낮은 구간임에도 불구하고 상술한 바와 같이, 예측하지 못한 또는 사전에 감지하지 못한 장애물에 지속적으로 예민하게 반응하여, 이동 로봇의 안정적인 주행을 지속할 수 있게 된다. 이러한 경우, 최소 주기로 반복 실행되기 때문에, 전체 연산량이 많아지는 것 같지만, 종래에 비해 1 주기마다의 연산시간을 감소시킬 수 있어 연산 효율성을 향상시킬 수 있는 장점이 있다.
또한, 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템은 이동 로봇은 주위 장애물에 대한 거리를 감지할 수 있으며, 과거 주위 장애물 정보와 현재 주위 장애물 정보를 비교하여 장애물의 위치 정보 뿐 아니라 추가적인 이동 시간 정보(속도 등)를 획득할 수 있으며, 이동 로봇의 제한 속력 조정이 가능하다는 가정 하에 각 구성들의 동작이 이루어지는 것이 바람직하다.
각 구성에 대해서 자세히 알아보자면,
상기 위치 예측부(100)는 외부로부터 입력되는 이동 로봇의 주행 관련 정보를 기반으로, 미리 설정된 소정 주기마다 반복 수행함에 따른 특정 수행 시점의 이동 로봇의 현재 위치 정보를 추정하고, 소정 시간(수정 주기) 뒤인 다음 수행 시점의 이동 로봇의 위치 정보를 예측하는 것이 바람직하다.
상기 주행 관련 정보로는, 이동 로봇의 최초 위치 정보(출발점), 이동 로봇의 경로 정보(도착점), 미리 설정된 장애물 정보, 이동 로봇의 최대 속력 정보 등을 포함하여 구성되는 것이 바람직하다.
상기 위치 예측부(100)는 미리 설정된 소정 주기마다 반복 수행함에 따라, 최초에는 주기 시작 시점(출발점)의 이동 로봇의 현재 위치 정보를 추정하고, 다음 주기 수행 시점의 이동 로봇의 위치 정보를 예측하며, 이를 반복 수행하여, 이전 주기 수행 시점의 이동 로봇의 추정한 현재 위치 정보(xt-1, yt-1, thetat-1)와 다음 주기 수행 시점의 이동 로봇의 위치 정보를 예측할 수 있다. 이 때, 예측한 다음 주기 수행 시점의 이동 로봇의 위치 정보는 2바퀴 로봇 kinematic model 기반의 k시점인 것이 바람직하다.
상기 장애물 인식부(200)는 이동 로봇에 미리 장착된 센서 수단을 이용하여, 이동 로봇의 현재 위치를 기준으로 주변 장애물 존재 여부를 감지하고, 감지된 장애물의 움직임 관련 정보를 획득하는 것이 바람직하다. 이 때, 상기 움직임 관련 정보로는 이동 로봇과 감지된 장애물 간의 거리값, 감지된 장애물의 속도 정보(감지된 장애물과 이동 로봇 간의 상태 속도)를 포함하는 것이 바람직하다.
상세하게는, 이동 로봇에 장착된 광학 센서 및 거리 센서로부터 이동 로봇의 현재 위치를 기준으로 주변 장애물 존재 여부를 감지하고, 감지된 장애물의 움직임 관련 정보들을 획득하며, 이 때, 광학 센서는 단일 카메라, 스테레오 카메라를 포함하여 구성되는 것이 바람직하며, 거리 센서는 액티브 센서로 TOF(Time Of Flight)를 이용하거나 삼각 측정법으로 거리를 계산하는 적외선, 초음파, 레이저 거리계 등을 포함하여 구성될 수 있으나, 본 발명에서는 상기 센서 수단에 대해서 한정하는 것은 아니다.
또한, 상기 센서 수단은 이동 로봇의 전방향에 일정한 간격으로 배치되거나, 이동 로봇의 전방향 또는 측면에만 일정한 간격으로 배치될 수 있으며, 이러한 상기 센서 수단의 장착 형태 역시도 한정하는 것은 아니다.
다만, 상기 장애물 인식부(200)는 상기 센서 수단을 통해서 획득된 센싱 정보만을 바탕으로 동작을 수행함으로써, 나아가 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템이 이를 바탕으로 이동 로봇을 제어하기 위한 신호를 생성하는 것이 바람직하다.
상기 가중치 계산부(300)는 상기 장애물 인식부(200)에서 획득한 감지된 장애물의 움직임 관련 정보들과 상기 위치 예측부(100)에서 획득한 이동 로봇의 위치 정보들을 이용하여, 감지된 장애물에 따른 이동 로봇의 충돌 확률을 예측하기 위한 가중치를 결정하는 것이 바람직하다.
다시 말하자면, 상기 가중치 계산부(300)는 상기 장애물 인식부(200)에서 획득한 감지된 장애물의 움직임 관련 정보들(거리값, 속도 정보)과 상기 위치 예측부(100)에서 획득한 이동 로봇의 위치 정보들(추정한 위치 정보, 예측한 위치 정보)을 이용하여, 이동 로봇과 장애물 간의 거리 정보, 이동 로봇과 장애물이 이루는 각도 정보 및 이동 로봇과 장애물 간의 상대 속도 정보를 종합 분석하여, 상기 가중치를 결정하게 된다.
여기서, 도 2에 도시된 바와 같이, 이동 로봇과 장애물 간의 거리 정보는 이동 로봇과 장애물 사이의 최단 거리(D)를 의미하며, 이동 로봇과 장애물이 이루는 각도 정보는 이동 로봇과 장애물 사이의 최단 거리를 이루는 선과 이동 로봇의 진행 방향이 이루는 각도(θ)를 의미하며, 이동 로봇과 장애물 간의 상대 속도 정보는 장애물의 이동 속도와 이동 로봇의 이동 속도를 고려하여 상대 속도(
Figure 112021009192873-pat00001
)를 의미한다.
이 때, 장애물의 이동 속도는 직전 주기에 수행된 연산을 통해서 얻은 장애물의 위치 정보와 현재 주기에 수행된 연산을 통해서 얻은 장애물의 위치 정보를 기반으로 연산할 수 있다.
즉, 상기 가중치 계산부(300)는 감지된 장애물에 따른 이동 로봇의 충돌 위험 가중치를 결정하는 것이 바람직하며, 다양한 장애물에 의해 가중치를 부여하는 방법으로서, 이동 로봇과 장애물과의 거리, 이동 로봇과 장애물 간의 이루는 각도, 이동 로봇과 장애물 간의 상대 속도 정보를 포함하여 고려하는 것이 바람직하며, 각 장애물마다 결정된 상기 가중치는
Figure 112021009192873-pat00002
의 크기가 크고 이동 방향이 이동 로봇에 가까울수록 높게 설정하는 것이 바람직하다.
단, 예외적으로 직전 주기에 수행된 연산을 통해서는 존재하지 않았던, 즉, 직전 주기에 수행된 연산을 통해서는 감지되지 않았던 장애물이 현재 주기에 수행된 연산을 통해서 갑자기 감지될 경우, 상대 속도 등을 계산할 수 없기 때문에, 높은 가중치를 갖도록 설정하는 것이 바람직하다.
정리하자면, i번째 장애물에 관한 충돌 확률 가중치는
Figure 112021009192873-pat00003
로 결정된다. 이 때
Figure 112021009192873-pat00004
Figure 112021009192873-pat00005
Figure 112021009192873-pat00006
가 낮을수록 높으며,
Figure 112021009192873-pat00007
가 이동 로봇의 중심을 향하고 그 값이 높을수록 높아진다.
또한, 상기 가중치 계산부(300)는 둘 이상의 장애물이 감지될 경우, 가장 충돌 확률 가중치가 높은 값을 사용하여, 가중치가 계산된다. 일 예를 들자면, 도 2에 도시된 바와 같이, 장애물 2와 이동 로봇 간의 거리가 장애물 1과 이동 로봇 간의 거리보다 가까움에도 불구하고, 이동 로봇의 이동 방향 및 상대 속도를 고려할 때, 장애물 1이 더 충돌 확률이 높으므로
Figure 112021009192873-pat00008
이 된다.
상기 경로 분석부(400)는 상기 가중치 계산부(300)에서 결정한 상기 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행할 수 있다.
즉, 상기 경로 분석부(400)는 주행 시작 전, 그리고 주행 중 미리 설정된 소정 주기마다 반복 수행을 통해서 이동 로봇의 경로 상 충돌 확률을 기반으로 다수의 구간 분할을 수행하는 것이 바람직하다.
상세하게는, 상기 경로 분석부(400)는 이동 로봇이 이동해야 할 경로에 대해 거리 별로 분리하는 것으로서, 입력되는 이동 로봇의 주행 관련 정보에 포함된 경로를 기준으로, 상기 장애물 인식부(200)에서 획득한 감지된 장애물의 움직임 관련 정보와 상기 가중치 계산부(300)에서 결정한 상기 가중치를 이용하여, 이동 로봇의 경로 상 충돌 발생 가능성 여부를 판단하여 경로의 구간 분할을 수행하는 것이 바람직하다. 다시 말하자면, 상기 경로 분석부(400)는 도 3에 도시된 바와 같이, 이동 로봇의 전체 경로의 구간 분할을 수행함에 있어서, 분할의 기준이 되는 것은 직전 구간의 충돌 위험성으로서, 직전 구간의 충돌 위험성이 높았다면 현재 구간의 길이를 짧게 잡으며, 반대의 경우, 연산 효율성을 향상시키기 위해 현재 구간의 길이를 길게 잡는 것이 바람직하다. 이 때, 소정값이란 이동 로봇의 스펙, 이동 로봇이 제공하는 서비스 등을 고려하여 사용자가 설정하는 것이 바람직하다.
상기 제한속력 계산부(500)는 상기 경로 분석부(400)에서 분할한 경로 구간마다의 상기 충돌 위험성을 고려하여, 이동 로봇의 제한 속력값을 결정하는 것이 바람직하다.
일반적으로 이동 로봇의 안정성을 위해, 구동기(모터)의 최대 성능(토크) 대비 하향된 주행 성능으로 토대로 경로 생성 또는 최대 속력을 제한하는 방식을 사용하고 있다. 그렇지만, 벽을 포함하는 정적인 장애물과 출발점, 도착점의 자세(위치와 방향 등)를 고려하여 생성된 경로는 최대 속력을 고려하였기 때문에, 예상하지 못한 동적 장애물(사람 등)이 감지되었을 경우, 사전 감속이 있었다면 충분히 회피할 수 있었음에도 불구하고 충돌 발생으로 인한 피해가 발생하게 된다.
이에 따라, 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 시스템은 상기 제한속력 계산부(500)를 통해서, 동적 장애물 등으로 인해 충돌 확률이 높아질 경우, 구간 별로 사용할 수 있는 이동 로봇의 속력을 제한하는 제한 속력을 적용함으로써, 동적 장애물 및 복잡한 환경에서의 안정적인 회피 움직임을 제공할 수 있다.
이 때, 충돌 확률은 장애물의 정보(속도, 시간, 거리)를 고려하여 가장 충돌 확률이 높은 장애물을 선택하며, 해당하는 장애물로 반영하여 획득한 충돌 확률을 고려하여 조정되는 경로 구간 내 제한 속력은 충돌 확률에 반비례 관계를 가지게 된다.
즉, 상기 제한속력 계산부(500)는 상기 경로 분석부(400)를 통해 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 미리 설정된 소정값을 기준으로 충돌 위험성이 소정값 이상인 구간에 대해서 충돌 위험성이 소정값 미만인 구간보다 이동 로봇의 제한 속력값을 낮게 결정하는 것이 바람직하다. 여기서, 소정값이란, 이동 로봇의 기본 스펙을 토대로 설정하는 것이 가장 바람직하다.
이를 통해서, 상기 제한속력 계산부(500)는 분할한 경로 구간마다의 이동 로봇의 제한 속력값(허용속도)은 분할한 경로 구간에 해당하는 가중치와는 반비례하는 경향성을 가지도록 한다. 이렇게 변환되는 제한 속도로 인해 각 경로 구간별 제한 속력이 결정된다.
상기 제어속력 생성부(600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 상기 제한속력 계산부(500)에서 결정한 분할한 경로 구간 마다의 상기 제한 속력값에 따른 속력 변화값을 생성하고, 생성한 상기 속력 변화값을 이용하여 이동 로봇의 속력 제어 신호를 생성하는 것이 바람직하다.
상세하게는, 상기 제어속력 생성부(600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보, 상기 제한속력 계산부(500)에서 결정한 각 경로 구간의 제한 속력값과, 미리 설정된 속도차 허용범위를 이용하여, 이동 로봇의 동역학적 특징을 고려하여 각 경로 구간의 속력 변화값을 생성하게 된다.
다시 말하자면, 상기 제어속력 생성부(600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 특히, 이동 로봇의 초기 속력을 반영하여, 다음 경로 구간의 제한 속력(
Figure 112021009192873-pat00009
)이 현재 속도(직전 경로 구간의 제한 속력)에 비하여 현저히 떨어지는 경우 (
Figure 112021009192873-pat00010
), 이동 로봇의 긴급 제동 장치를 동작시켜 이동 로봇을 긴급 정지시킨다.
이 때, 상기 속도차 허용범위, 다시 말하자면, 허용 제한 속력 차이는 현재 속도에 의한 멤버함수의 형태로 구성된다.(여기서,
Figure 112021009192873-pat00011
는 현재 속력,
Figure 112021009192873-pat00012
는 속도 차이 허용 범위이다.)
또한, 상기 제어속력 생성부(600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 특히, 이동 로봇의 초기 속력을 반영하여, 다음 경로 구간의 제한 속력(
Figure 112021009192873-pat00013
)이 현재 속도(직전 경로 구간의 제한 속력)에 비하여 현저히 떨어지지 않을 경우, 미리 설정한 패턴의 속력 변화 함수에 의해 다음 경로 구간의 이동 로봇의 속력을 변화시킨다. 이 때, 가속도, 토크 등의 이동 로봇의 동역학적인 특징을 고려하여 가능한 가속도/지수 함수의 속력 변화를 포함하도록 한다.
상기 속력 변화 함수의 예를 들자면, trapezoidal velocity pattern으로, 일정한 가속도를 갖도록 초기 속력(현재 경로 구간의 제한 속력)에서 다음 경로 구간의 속력을 변화시키거나, exponential velocity pattern으로, 지수함수의 형태로 초기 속력(현재 경로 구간의 제한 속력)에서 다음 경로 구간의 속력을 변화시킬 수 있다. 또한, velocity pattern(일 예를 들자면, 스플라인, cubic 함수 등)으로 초기 속력(현재 경로 구간의 제한 속력)에서 다음 경로 구간의 속력을 변화시킨다.
이를 반영하여 상기 제어속력 생성부(600)의 동작의 예를 들자면, 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 특히, 이동 로봇의 초기 속력을 반영하여, 다음 경로 구간의 제한 속력(
Figure 112021009192873-pat00014
)이 현재 속도(직전 경로 구간의 제한 속력)에 비하여 현저히 떨어지지 않으면서도, 속력 변화량이 비교적 큰 경우에는 exponential velocity pattern을 적용하여 빠르게 변화시키고, 반대로 속력 변화량이 비교적 작은 경우에는 trapezoidal velocity pattern을 적용하여 속력을 변화시키는 것이 바람직하다.
도 4는 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 방법을 나타낸 순서 예시도이며, 도 4를 참조로 하여 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 방법을 상세히 설명한다.
각 단계에 대해서 자세히 알아보자면,
제1 단계(S100)는 상기 위치 예측부(100)에서, 외부로부터 이동 로봇의 주행 관련 정보를 입력받아, 해당 수행 시점의 이동 로봇의 현재 위치 정보를 추정하고, 다음 수행 시점의 이동 로봇의 위치 정보를 예측하게 된다.
즉, 미리 설정된 소정 주기마다 반복 수행함에 따른 특정 수행 시점의 이동 로봇의 현재 위치 정보를 추정하고, 다음 수행 시점의 이동 로봇의 위치 정보를 예측하는 것이 바람직하다.
상기 제1 단계(S100)는 미리 설정된 소정 주기마다 반복 수행함에 따라, 최초에는 주기 시작 시점(출발점)의 이동 로봇의 현재 위치 정보를 추정하고, 다음 주기 수행 시점의 이동 로봇의 위치 정보를 예측하며, 이를 반복 수행하여, 이전 주기 수행 시점의 이동 로봇의 추정한 현재 위치 정보(xt-1, yt-1, thetat-1)와 다음 주기 수행 시점의 이동 로봇의 위치 정보를 예측할 수 있다. 이 때, 예측한 다음 주기 수행 시점의 이동 로봇의 위치 정보는 2바퀴 로봇 kinematic model 기반의 k시점인 것이 바람직하다.
제2 단계(S200)는 상기 장애물 인식부(200)에서, 이동 로봇에 미리 장착된 센서 수단을 이용하여, 이동 로봇의 현재 위치를 기준으로 주변 장애물 존재 여부를 감지하고, 감지된 장애물의 움직임 관련 정보를 획득하게 된다. 이 때, 상기 움직임 관련 정보로는 이동 로봇과 감지된 장애물 간의 거리값, 감지된 장애물의 속도 정보를 포함하는 것이 바람직하다.
제3 단계(S300)는 상기 가중치 계산부(300)에서, 상기 제2 단계(S200)에 의해 획득한 감지된 장애물의 움직임 관련 정보들과 상기 제1 단계(S100)에 의해 획득한 이동 로봇의 위치 정보들을 이용하여, 감지된 장애물에 따른 이동 로봇의 충돌 확률을 예측하기 위한 가중치를 결정하게 된다.
다시 말하자면, 상기 제3 단계(S300)는 상기 제2 단계(S200)에 의해 획득한 감지된 장애물의 움직임 관련 정보(거리값, 속도 정보)과 상기 제1 단계(S100)에 의해 획득한 이동 로봇의 위치 정보들(추정한 위치 정보, 예측한 위치 정보)을 이용하여, 이동 로봇과 장애물 간의 거리 정보, 이동 로봇과 장애물이 이루는 각도 정보 및 이동 로봇과 장애물 간의 상대 속도 정보를 종합 분석하여, 상기 가중치를 결정하게 된다.
여기서, 도 2에 도시된 바와 같이, 이동 로봇과 장애물 간의 거리 정보는 이동 로봇과 장애물 사이의 최단 거리(D)를 의미하며, 이동 로봇과 장애물이 이루는 각도 정보는 이동 로봇과 장애물 사이의 최단 거리를 이루는 선과 이동 로봇의 진행 방향이 이루는 각도(θ)를 의미하며, 이동 로봇과 장애물 간의 상대 속도 정보는 장애물의 이동 속도와 이동 로봇의 이동 속도를 고려하여 상대 속도(
Figure 112021009192873-pat00015
)를 의미한다.
이 때, 장애물의 이동 속도는 직전 주기에 수행된 연산을 통해서 얻은 장애물의 위치 정보와 현재 주기에 수행된 연산을 통해서 얻은 장애물의 위치 정보를 기반으로 연산할 수 있다.
즉, 상기 제3 단계(S300)는 감지된 장애물에 따른 이동 로봇의 충돌 위험 가중치를 결정하는 것이 바람직하며, 다양한 장애물에 의해 가중치를 부여하는 방법으로서, 이동 로봇과 장애물과의 거리, 이동 로봇과 장애물 간의 이루는 각도, 이동 로봇과 장애물 간의 상대 속도 정보를 포함하여 고려하는 것이 바람직하며, 각 장애물마다 결정된 상기 가중치는
Figure 112021009192873-pat00016
의 크기가 크고 이동 방향이 이동 로봇에 가까울수록 높게 설정하는 것이 바람직하다.
단, 예외적으로 직전 주기에 수행된 연산을 통해서는 존재하지 않았던, 즉, 직전 주기에 수행된 연산을 통해서는 감지되지 않았던 장애물이 현재 주기에 수행된 연산을 통해서 갑자기 감지될 경우, 상대 속도 등을 계산할 수 없기 때문에, 높은 가중치를 갖도록 설정하는 것이 바람직하다.
정리하자면, i번째 장애물에 관한 충돌 확률 가중치는
Figure 112021009192873-pat00017
로 결정된다. 이 때
Figure 112021009192873-pat00018
Figure 112021009192873-pat00019
Figure 112021009192873-pat00020
가 낮을수록 높으며,
Figure 112021009192873-pat00021
가 이동 로봇의 중심을 향하고 그 값이 높을수록 높아진다.
또한, 상기 제3 단계(S300)는 둘 이상의 장애물이 감지될 경우, 가장 충돌 확률 가중치가 높은 값을 사용하여, 가중치가 계산된다. 일 예를 들자면, 도 2에 도시된 바와 같이, 장애물 2와 이동 로봇 간의 거리가 장애물 1과 이동 로봇 간의 거리보다 가까움에도 불구하고, 이동 로봇의 이동 방향 및 상대 속도를 고려할 때, 장애물 1이 더 충돌 확률이 높으므로
Figure 112021009192873-pat00022
이 된다.
제4 단계(S400)는 상기 경로 분석부(400)에서, 상기 제3 단계(S300)에 의해 결정한 상기 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하게 된다.
다시 말하자면, 상기 제4 단계(S400)는 주행 시작 전, 그리고 주행 중 미리 설정된 소정 주기마다 반복 수행을 통해서 이동 로봇의 경로 상 충돌 확률을 기반으로 다수의 구간 분할을 수행하는 것이 바람직하다.
상세하게는, 상기 제4 단계(S400)는 이동 로봇이 이동해야 할 경로에 대해 거리 별로 분리하는 것으로서, 입력되는 이동 로봇의 주행 관련 정보에 포함된 전체 경로를 기준으로, 상기 제2 단계(S200)에 의해 획득한 감지된 장애물의 움직임 관련 정보와 상기 제3 단계(S300)에 의해 결정한 상기 가중치를 이용하여, 이동 로봇의 경로 상 충돌 발생 가능성 여부를 판단하여, 경로의 구간 분할을 수행하는 것이 바람직하다.
즉, 상기 제4 단계(S400)는 도 3에 도시된 바와 같이, 이동 로봇의 전체 경로의 구간 분할을 수행함에 있어서, 분할의 기준이 되는 것은 직전 구간의 충돌 위험성으로서, 직전 구간의 충돌 위험성이 높았다면 현재 구간의 길이를 짧게 잡으며, 반대의 경우, 연산 효율성을 향상시키기 위해 현재 구간의 길이를 길게 잡는 것이 바람직하다. 이 때, 소정값이란 이동 로봇의 스펙, 이동 로봇이 제공하는 서비스 등을 고려하여 사용자가 설정하는 것이 바람직하다.
제5 단계(S500)는 상기 제한속력 계산부(500)에서, 상기 제4 단계(S400)에 의해 분할한 경로 구간마다의 상기 충돌 위험성을 고려하여, 분할한 각 경로 구간마다 이동 로봇의 제한 속력값을 결정하게 된다.
일반적으로 이동 로봇의 안정성을 위해, 구동기(모터)의 최대 성능(토크) 대비 하향된 주행 성능으로 토대로 경로 생성 또는 최대 속력을 제한하는 방식을 사용하고 있다. 그렇지만, 벽을 포함하는 정적인 장애물과 출발점, 도착점의 자세(위치와 방향 등)를 고려하여 생성된 경로는 최대 속력을 고려하였기 때문에, 예상하지 못한 동적 장애물(사람 등)이 감지되었을 경우, 사전 감속이 있었다면 충분히 회피할 수 있었음에도 불구하고 충돌 발생으로 인한 피해가 발생하게 된다.
이에 따라, 본 발명의 일 실시예에 따른 장애물에 의한 이동 로봇의 제어 방법은 동적 장애물 등으로 인해 충돌 확률이 높아질 경우, 구간 별로 사용할 수 있는 이동 로봇의 속력을 제한하는 제한 속력을 적용함으로써, 동적 장애물 및 복잡한 환경에서의 안정적인 회피 움직임을 제공할 수 있다.
이 때, 충돌 확률은 장애물의 정보(속도, 시간, 거리)를 고려하여 가장 충돌 확률이 높은 장애물을 선택하며, 해당하는 장애물로 반영하여 획득한 충돌 확률을 고려하여 조정되는 경로 구간 내 제한 속력은 충돌 확률에 반비례 관계를 가지게 된다.
즉, 상기 제5 단계(S500)는 결정한 해당하는 분할 경로 구간에 해당하는 가중치를 기반으로 제한 속력을 구하며, 상술한 바와 같이, 해당 가중치를 허용속도로 변환할 때, 반비례하는 경향성을 가지도록 한다. 이렇게 변환되는 제한 속도로 인해 각 경로 구간별 제한 속력이 결정된다.
제6 단계(S600)는 상기 제어속력 생성부(600)에서, 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 상기 제5 단계(S500)에 의해 결정한 분할한 각 경로 구간 마다의 상기 제한 속력값에 따른 속력 변화값을 생성하고, 생성한 상기 속력 변화값을 이용하여 각 경로 구간마다 이동 로봇의 속력 제어 신호를 생성하게 된다.
상세하게는, 상기 제6 단계(S600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보, 상기 제5 단계(S500)에 의해 결정한 각 경로 구간의 제한 속력값과, 기설정된 속도차 허용범위를 이용하여, 이동 로봇의 동역학적 특징을 고려하여 각 경로 구간의 속력 변화값을 생성하게 된다.
다시 말하자면, 상기 제6 단계(S600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 특히, 이동 로봇의 초기 속력을 반영하여, 다음 경로 구간의 제한 속력(
Figure 112021009192873-pat00023
)이 현재 속도(직전 경로 구간의 제한 속력)에 비하여 현저히 떨어지는 경우 (
Figure 112021009192873-pat00024
), 이동 로봇의 긴급 제동 장치를 동작시켜 이동 로봇을 긴급 정지시킨다.
이 때, 상기 속도차 허용범위, 다시 말하자면, 허용 제한 속력 차이는 현재 속도에 의한 멤버함수의 형태로 구성된다.(여기서,
Figure 112021009192873-pat00025
는 현재 속력,
Figure 112021009192873-pat00026
는 속도 차이 허용 범위이다.)
또한, 상기 제6 단계(S600)는 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 특히, 이동 로봇의 초기 속력을 반영하여, 다음 경로 구간의 제한 속력(
Figure 112021009192873-pat00027
)이 현재 속도(직전 경로 구간의 제한 속력)에 비하여 현저히 떨어지지 않을 경우, 미리 설정한 패턴의 속력 변화 함수에 의해 다음 경로 구간의 이동 로봇의 속력을 변화시킨다. 이 때, 가속도, 토크 등의 이동 로봇의 동역학적인 특징을 고려하여 가능한 가속도/지수 함수의 속력 변화를 포함하도록 한다.
상기 속력 변화 함수의 예를 들자면, trapezoidal velocity pattern으로, 일정한 가속도를 갖도록 초기 속력(현재 경로 구간의 제한 속력)에서 다음 경로 구간의 속력을 변화시키거나, exponential velocity pattern으로, 지수함수의 형태로 초기 속력(현재 경로 구간의 제한 속력)에서 다음 경로 구간의 속력을 변화시킬 수 있다. 또한, velocity pattern(일 예를 들자면, 스플라인, cubic 함수 등)으로 초기 속력(현재 경로 구간의 제한 속력)에서 다음 경로 구간의 속력을 변화시킨다.
이를 반영하여 상기 제6 단계(S600)의 동작의 예를 들자면, 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 특히, 이동 로봇의 초기 속력을 반영하여, 다음 경로 구간의 제한 속력(
Figure 112021009192873-pat00028
)이 현재 속도(직전 경로 구간의 제한 속력)에 비하여 현저히 떨어지지 않으면서도, 속력 변화량이 비교적 큰 경우에는 exponential velocity pattern을 적용하여 빠르게 변화시키고, 반대로 속력 변화량이 비교적 작은 경우에는 trapezoidal velocity pattern을 적용하여 속력을 변화시키는 것이 바람직하다.
이상과 같이 본 발명에서는 구체적인 구성 소자 등과 같은 특정 사항들과 한정된 실시예 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것 일 뿐, 본 발명은 상기의 일 실시예에 한정되는 것이 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허 청구 범위뿐 아니라 이 특허 청구 범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 위치 예측부
200 : 장애물 인식부
300 : 가중치 계산부
400 : 경로 분석부
500 : 제한속력 계산부
600 : 제어속력 생성부

Claims (11)

  1. 기설정된 소정 주기마다 반복 수행하여, 경로 상 장애물에 의한 이동 로봇의 속력을 변화시키는 제어 시스템에 있어서,
    입력되는 이동 로봇의 주행 관련 정보를 기반으로, 해당 수행 시점의 이동 로봇의 현재 위치 정보를 추정하고, 소정 시간 뒤인 다음 수행 시점의 이동 로봇의 위치 정보를 예측하는 위치 예측부(100);
    이동 로봇에 기장착된 센서 수단을 이용하여, 이동 로봇의 현재 위치를 기준으로 주변 장애물 존재 여부를 감지하고, 감지된 장애물의 움직임 관련 정보를 획득하는 장애물 인식부(200);
    상기 장애물 인식부(200)에서 획득한 상기 정보와 상기 위치 예측부(100)에서 획득한 위치 정보들을 이용하여, 감지된 장애물에 따른 이동 로봇의 충돌 확률을 예측하기 위한 가중치를 결정하는 가중치 계산부(300);
    상기 가중치 계산부(300)에서 결정한 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 경로 분석부(400); 및
    상기 경로 분석부(400)에서 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 이동 로봇의 제한 속력값을 결정하는 제한속력 계산부(500);
    를 포함하되,
    상기 가중치 계산부(300)는
    상기 장애물 인식부(200)에서 획득한 상기 정보와 상기 위치 예측부(100)에서 획득한 위치 정보들을 이용하여, 이동 로봇과 장애물 간의 거리 정보, 이동 로봇과 장애물이 이루는 각도 정보 및 이동 로봇과 장애물 간의 상대 속도 정보를 분석하여, 상기 가중치를 결정하고,
    i번째 장애물에 관한 상기 가중치(
    Figure 112023010096498-pat00033
    )는
    Figure 112023010096498-pat00034
    이며,
    Figure 112023010096498-pat00035
    Figure 112023010096498-pat00036
    Figure 112023010096498-pat00037
    가 낮을수록 높으며,
    Figure 112023010096498-pat00038
    가 이동 로봇의 중심을 향하고 그 값이 높을수록 높아지는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 시스템.
  2. 제 1항에 있어서,
    상기 장애물에 의한 이동 로봇의 제어 시스템은
    이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 상기 제한속력 계산부(500)에서 결정한 분할한 각 경로 구간에 대한 상기 제한 속력값에 따른 속력 변화값을 생성하고, 생성한 상기 속력 변화값을 이용하여 이동 로봇의 속력 제어 신호를 생성하는 제어속력 생성부(600);
    를 더 포함하는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 시스템.
  3. 삭제
  4. 제 2항에 있어서,
    상기 경로 분석부(400)는
    입력되는 이동 로봇의 주행 관련 정보에 포함된 전체 경로를 기준으로, 상기 장애물 인식부(200)에서 획득한 장애물 정보와 상기 가중치 계산부(300)에서 결정한 상기 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 시스템.
  5. 제 4항에 있어서,
    상기 제한속력 계산부(500)는
    상기 경로 분석부(400)를 통해 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 기설정된 소정값을 기준으로 충돌 위험성이 소정값 이상인 구간에 대해서 충돌 위험성이 소정값 미만인 구간보다 이동 로봇의 제한 속력값을 낮게 결정하는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 시스템.
  6. 제 5항에 있어서,
    상기 제어속력 생성부(600)는
    이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보, 상기 제한속력 계산부(500)에서 결정한 각 경로 구간의 제한 속력값과, 기설정된 속도차 허용범위를 이용하여, 이동 로봇의 동역학적 특징을 고려하여 각 경로 구간의 속력 변화값을 생성하는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 시스템.
  7. 기설정된 소정 주기마다 반복 수행하면서, 경로 상 장애물에 의한 이동 로봇의 속력을 변화시키는 제어 방법에 있어서,
    위치 예측부에서, 이동 로봇의 주행 관련 정보를 입력받아, 해당 수행 시점의 이동 로봇의 현재 위치 정보를 추정하고, 소정 시간 뒤인 다음 수행 시점의 이동 로봇의 위치 정보를 예측하는 제1 단계(S100);
    장애물 인식부에서, 이동 로봇에 기장착된 센서 수단으로부터 전달되는 센싱 정보를 이용하여, 이동 로봇의 현재 위치를 기준으로 주변 장애물 존재 여부를 감지하고, 감지된 장애물의 움직임 관련 정보를 획득하는 제2 단계(S200);
    가중치 계산부에서, 상기 제2 단계(S200)에 의해 획득한 상기 정보와 상기 제1 단계(S100)에 의해 획득한 위치 정보들을 이용하여, 감지된 장애물에 따른 이동 로봇의 충돌 확률을 예측하기 위한 가중치를 결정하는 제3 단계(S300);
    경로 분석부에서, 상기 제3 단계(S300)에 의해 결정한 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 제4 단계(S400);
    제한속력 계산부에서, 상기 제4 단계(S400)에 의해 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 이동 로봇의 제한 속력값을 결정하는 제5 단계(S500); 및
    제어속력 생성부에서, 이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보를 이용하여, 상기 제5 단계(S500)에 의해 결정한 분할한 각 경로 구간에 대한 상기 제한 속력값에 따른 속력 변화값을 생성하고, 생성한 상기 속력 변화값을 이용하여 각 경로 구간마다 이동 로봇의 속력 제어 신호를 생성하는 제6 단계(S600);를 포함하되,
    상기 제3 단계(S300)는
    상기 제2 단계(S200)에 의해 획득한 상기 정보와 상기 제1 단계(S100)에 의해 획득한 위치 정보들을 이용하여, 이동 로봇과 장애물 간의 거리 정보, 이동 로봇과 장애물이 이루는 각도 정보 및 이동 로봇과 장애물 간의 상대 속도 정보를 분석하여, 상기 가중치를 결정하고,
    i번째 장애물에 관한 상기 가중치(
    Figure 112023010096498-pat00039
    )는
    Figure 112023010096498-pat00040
    이며,
    Figure 112023010096498-pat00041
    Figure 112023010096498-pat00042
    Figure 112023010096498-pat00043
    가 낮을수록 높으며,
    Figure 112023010096498-pat00044
    가 이동 로봇의 중심을 향하고 그 값이 높을수록 높아지는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 방법.
  8. 삭제
  9. 제 7항에 있어서,
    상기 제4 단계(S400)는
    입력되는 이동 로봇의 주행 관련 정보에 포함된 전체 경로를 기준으로, 상기 제2 단계(S200)에 의해 획득한 장애물 정보와 상기 제3 단계(S300)에 의해 결정한 상기 가중치를 이용하여, 이동 로봇의 충돌 위험성을 예측하고, 예측한 충돌 위험성을 기반으로 이동 로봇의 전체 경로의 구간 분할을 수행하는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 방법.
  10. 제 9항에 있어서,
    상기 제5 단계(S500)는
    상기 제4 단계(S400)에 의해 분할한 경로 구간마다 상기 충돌 위험성을 고려하여, 기설정된 소정값을 기준으로 충돌 위험성이 소정값 이상인 구간에 대해서 충돌 위험성이 소정값 미만인 구간보다 이동 로봇의 제한 속력값을 낮게 결정하는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 방법.
  11. 제 10항에 있어서,
    상기 제6 단계(S600)는
    이동 로봇의 주행 관련 정보에 포함된 초기 제어 상태 정보, 상기 제5 단계(S500)에 의해 결정한 각 경로 구간의 제한 속력값과, 기설정된 속도차 허용범위를 이용하여, 이동 로봇의 동역학적 특징을 고려하여 각 경로 구간의 속력 변화값을 생성하는 것을 특징으로 하는 장애물에 의한 이동 로봇의 제어 방법.
KR1020210009852A 2021-01-25 2021-01-25 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법 KR102555435B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210009852A KR102555435B1 (ko) 2021-01-25 2021-01-25 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210009852A KR102555435B1 (ko) 2021-01-25 2021-01-25 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20220107344A KR20220107344A (ko) 2022-08-02
KR102555435B1 true KR102555435B1 (ko) 2023-07-17

Family

ID=82845743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210009852A KR102555435B1 (ko) 2021-01-25 2021-01-25 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법

Country Status (1)

Country Link
KR (1) KR102555435B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102618100B1 (ko) * 2022-08-30 2023-12-28 주식회사 클로봇 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 컴퓨팅 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5830533B2 (ja) * 2011-05-31 2015-12-09 株式会社日立製作所 自律移動システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5830533B2 (ja) * 1974-07-17 1983-06-29 大同特殊鋼株式会社 キンゾクザイリヨウノ ヒヨウメンキズジドウタンシヨウソウチ
JPH0772925A (ja) * 1993-09-06 1995-03-17 Yamatake Honeywell Co Ltd 障害物回避制御装置
JP2881683B2 (ja) * 1995-07-07 1999-04-12 東急車輛製造株式会社 自動走行車の障害物検知方法及び装置
KR101140984B1 (ko) 2010-12-29 2012-05-03 고려대학교 산학협력단 가시적으로 차단된 동적 장애물의 출현을 고려한 안전 경로 생성 방법 및 이를 이용한 이동 로봇
KR101338246B1 (ko) * 2012-02-16 2013-12-09 인하대학교 산학협력단 이동로봇의 충돌방지 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5830533B2 (ja) * 2011-05-31 2015-12-09 株式会社日立製作所 自律移動システム

Also Published As

Publication number Publication date
KR20220107344A (ko) 2022-08-02

Similar Documents

Publication Publication Date Title
CN108698595B (zh) 用于控制车辆运动的方法和车辆的控制系统
US8239084B2 (en) Moving device
JP6558393B2 (ja) 進路設定装置及び進路設定方法
US9995589B2 (en) Path plan generating apparatus for mobile body
JP5080333B2 (ja) 自律移動体のための物体認識装置
US5570285A (en) Method and apparatus for avoiding obstacles by a robot
WO2017144350A1 (en) Method for motion planning for autonomous moving objects
EP3686864A1 (en) Information processing device, autonomous moving apparatus, method, and program
JP6959056B2 (ja) 移動ロボットの制御装置と制御方法
JP2011054082A (ja) 自律移動装置
EP3667451A1 (en) Method and system for controlling a plurality of autonomous vehicles
CN113703436A (zh) 用于路径规划的并行障碍物缓冲系统
CN114153200A (zh) 轨迹预测、自移动设备控制方法
JP2019152575A (ja) 物体追跡装置、物体追跡方法及び物体追跡用コンピュータプログラム
KR102555435B1 (ko) 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법
JP2021189508A (ja) ロボット、移動経路生成装置及びそのプログラム、並びに、移動予測装置
KR101140984B1 (ko) 가시적으로 차단된 동적 장애물의 출현을 고려한 안전 경로 생성 방법 및 이를 이용한 이동 로봇
JP2009264841A (ja) 物体検知装置
KR102179835B1 (ko) 무선통신을 포함한 차량센서 기반의 객체선정 알고리즘 및 주변차량 주행 의도를 고려한 경로 예측 방법 및 시스템
JP7411185B2 (ja) 通行人追従型の移動ロボットの誘導
WO2021246170A1 (ja) 情報処理装置、情報処理システム、および方法、並びにプログラム
EP3857327B1 (en) Implementation of dynamic cost function of self-driving vehicles
JP6795730B2 (ja) 移動体の管理システム、移動体、走行管理装置およびコンピュータプログラム
Kataoka et al. Smooth Motion Control of Mobile Robot in Human-robot Coexisting Environment
RU2790105C2 (ru) Способ и электронное устройство для управления беспилотным автомобилем

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant