KR102230144B1 - 인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치 - Google Patents

인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치 Download PDF

Info

Publication number
KR102230144B1
KR102230144B1 KR1020200055141A KR20200055141A KR102230144B1 KR 102230144 B1 KR102230144 B1 KR 102230144B1 KR 1020200055141 A KR1020200055141 A KR 1020200055141A KR 20200055141 A KR20200055141 A KR 20200055141A KR 102230144 B1 KR102230144 B1 KR 102230144B1
Authority
KR
South Korea
Prior art keywords
robot
autonomous driving
values
information
potential field
Prior art date
Application number
KR1020200055141A
Other languages
English (en)
Other versions
KR20210014065A (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 군산대학교산학협력단
Publication of KR20210014065A publication Critical patent/KR20210014065A/ko
Application granted granted Critical
Publication of KR102230144B1 publication Critical patent/KR102230144B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/38Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a proportional characteristic
    • 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/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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

Abstract

일 실시예에 따른 자율 주행 방법은 복수의 각도들에 대응하여 센싱되는 거리 값들 및 각도들에 기초하여 제1 조향 파라미터를 결정하는 단계; 주행 영상에서 객체가 인식된 위치에 따른 오류와 PID 제어의 비례 이득(proportional gain)에 기초하여 제2 조향 파라미터를 결정하는 단계; 및 제1 조향 파라미터 및 제2 조향 파라미터 중 적어도 하나에 기초하여 조향 파라미터를 결정하는 단계를 포함한다.

Description

인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치{ARTIFICIAL INTELLIGENCE DEEP LEARNING TARGET DETECTION AND VELOCITY POTENTIAL FIELD ALGORITHM BASED OBSTACLE AVOIDANCE AND AUTONOMOUS NAVIGATION TECHNIQUE}
아래 실시예들은 인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치에 관한 것이다.
자율 로봇 내비게이션(Autonomous robot navigation)은 일반적으로 환경 인식, 경로 계획 및 계획에 따라 도출된 경로에 대한 로봇의 모션을 제어하는 과정을 통해 수행될 수 있다. 경로 계획은 장애물이 있는 환경에서 장애물을 탐지하여 회피함으로써 장애물과의 충돌없이 최적 또는 최단 경로를 찾는 것이다. 장애물 탐지는 로봇 또는 차량 등과 같은 이동체의 주변(예를 들어, 전방)에 위치한 장애물을 탐지하는 것을 의미하고, 장애물 회피는 탐지된 장애물을 피하여 이동하는 것을 의미한다.
일 실시예에 따르면, 카메라 영상에 기초한 포텐셜 필드와 라이다 센서의 센싱 정보에 기초한 장애물 인식 정보를 융합함으로써 장애물을 회피하는 로봇의 주행 경로를 더욱 빠르고 정확하게 결정할 수 있다.
일 측에 따른 자율 주행 방법은 주행 영상에서 객체의 인식 여부를 판단하는 제1단계; 복수의 각도들에 대응하여 센싱되는 거리 값들 및 상기 각도들에 기초하여 제1 조향 파라미터를 결정하는 제2단계; 상기 주행 영상에서 상기 객체가 인식된 위치에 따른 오류와 PID 제어의 비례 이득(proportional gain)에 기초하여 제2 조향 파라미터를 결정하는 제3단계; 및 상기 객체의 인식 여부에 따라, 상기 제1 조향 파라미터 및 상기 제2 조향 파라미터 중 적어도 하나에 기초하여 조향 파라미터를 결정하는 제4단계를 포함한다.
상기 제2단계는 상기 객체가 인식되지 않았다는 판단에 따라 상기 제1 조향 파라미터를 결정하는 단계이고, 상기 제3단계는 상기 객체가 인식되었다는 판단에 따라 상기 제2 2 조향 파라미터를 결정하는 단계일 수 있다.
상기 제4단계는 상기 객체가 인식되었다는 판단에 따라, 상기 제1 조향 파라미터와 상기 제2 조향 파라미터 사이의 차이에 기초하여 상기 조향 파라미터를 결정하는 단계; 및 상기 객체가 인식되지 않았다는 판단에 따라, 상기 제1 조향 파라미터에 기초하여 상기 조향 파라미터를 결정하는 단계를 포함할 수 있다.
상기 제2단계는 레이저 센서를 이용하여 상기 복수의 각도들에 대응하여 상기 거리 값들을 센싱하는 단계; 상기 거리 값들과 상기 복수의 각도들의 코사인 값들에 기초하여 제1 축의 값들의 합을 계산하는 단계; 상기 거리 값들과 상기 복수의 각도들의 사인 값들에 기초하여 제2 축의 값들의 합을 계산하는 단계; 및 상기 제1 축의 값들의 합과 상기 제2 축의 값들의 합 사이의 비율에 기초하여 상기 제1 조향 파라미터를 계산하는 단계를 포함할 수 있다.
상기 제3단계는 상기 주행 영상에서 상기 객체가 인식된 위치가 상기 주행 영상의 중심을 기준으로 왼쪽 영역 혹은 오른쪽 영역 중 어느 영역에 있는지 확인하는 단계; 상기 주행 영상에서 상기 객체가 인식된 위치가 속한 영역의 반대 영역에서 미리 설정된 지점과 상기 주행 영상의 중심 지점 사이의 차이에 기초하여 상기 오류를 계산하는 단계; 및 상기 오류와 상기 비례 이득에 기초하여 상기 제2 조향 파라미터를 계산하는 단계를 포함할 수 있다.
상기 자율 주행 방법은 속도 파라미터를 변경하지 않고 유지하는 단계를 더 포함할 수 있다.
상기 제3단계는 상기 인식된 객체가 정지 사인에 해당하는지 판단하는 단계; 및 상기 인식된 객체가 정지 사인에 해당한다는 판단에 따라, 상기 조향 파라미터와 속도 파라미터를 0으로 결정하는 단계를 포함할 수 있다.
일 측에 따른 자율 주행 방법은 작업장 내 로봇의 현재 위치, 상기 로봇의 목표 위치 및 적어도 하나의 장애물의 위치에 기초하여 포텐셜 필드를 생성하는 단계; 상기 포텐셜 필드에 기초하여, 상기 로봇의 이동 방향에 관한 제1 정보를 생성하는 단계; 거리 센서의 센싱 정보에 기초하여 생성된 주변 장애물의 인식 정보에 따라, 상기 로봇의 이동 방향에 관한 제2 정보를 생성하는 단계; 및 상기 제1 정보 및 상기 제2 정보에 기초하여, 상기 로봇의 이동 방향을 포함하는 주행 경로를 결정하는 단계를 포함할 수 있다.
상기 포텐셜 필드를 생성하는 단계는 상기 로봇의 현재 위치 및 상기 로봇의 목표 위치에 기초하여 흡인 포텐셜 필드(attractive potential field)를 생성하는 단계; 상기 적어도 하나의 장애물의 위치에 기초하여 반발 포텐셜 필드(repulsive potential field)를 생성하는 단계; 및 상기 흡인 포텐셜 필드 및 상기 반발 포텐셜 필드를 혼합함으로써 상기 포텐셜 필드를 생성하는 단계를 포함할 수 있다.
상기 포텐셜 필드를 생성하는 단계는 상기 로봇의 목표 위치를 음전하로 모델링하고, 상기 장애물을 양전하로 모델링하며, 상기 로봇을 양전하로 모델링 함으로써 상기 포텐셜 필드를 생성하는 단계를 포함할 수 있다.
상기 인식 정보는 기 학습된 신경망을 이용하여 생성되며, 상기 거리 센서에 의하여 센싱된 영상 내 상기 주변 장애물을 포함하는 영역을 지시하는 정보를 포함할 수 있다.
상기 제1 정보 및 상기 제2 정보 각각은 상기 로봇이 상기 현재 위치에서 이동 가능한 방향 후보들의 점수들 중 적어도 일부를 포함할 수 있다.
상기 제1 정보를 생성하는 단계는 상기 로봇이 상기 현재 위치에서 이동 가능한 방향 후보들 중 상기 포텐셜 필드 상의 포텐셜 값이 낮은 후보일수록 더 큰 점수를 할당하는 단계를 포함할 수 있다.
상기 제2 정보를 생성하는 단계는 상기 로봇이 상기 현재 위치에서 이동 가능한 방향 후보들 중 상기 인식 정보에 대응하는 영역을 회피하는 후보일수록 더 큰 점수를 할당하는 단계를 포함할 수 있다.
상기 주행 경로를 결정하는 단계는 상기 제1 정보를 위한 제1 가중치 및 상기 제2 정보를 위한 제2 가중치에 기초하여, 상기 제1 정보 및 상기 제2 정보를 가중 합산함으로써, 상기 로봇의 이동 방향을 결정하는 단계를 포함할 수 있다.
상기 자율 주행 방법은 상기 주행 경로가 결정됨에 따라 상기 로봇을 상기 이동 방향으로 이동시키는 단계; 및 상기 로봇이 상기 이동 방향으로 이동함에 따라, 상기 로봇의 현재 위치를 갱신하는 단계를 더 포함할 수 있다.
상기 로봇의 현재 위치를 갱신하는 단계는 상기 로봇이 상기 목표 위치에 도달할 때까지, 상기 제1 정보를 결정하는 단계, 상기 제2 정보를 결정하는 단계, 및 상기 주행 경로를 결정하는 단계를 반복적으로 수행함으로써 상기 로봇의 현재 위치를 갱신하는 단계를 포함할 수 있다.
일 측에 따른 자율 주행 장치는 로봇의 주행 영상을 촬영하는 비전 센서; 상기 로봇과 주변 객체와의 거리를 센싱하는 거리 센서; 및 상기 주행 영상에서 객체의 인식 여부를 판단하고, 복수의 각도들에 대응하여 센싱되는 거리 값들 및 상기 각도들에 기초하여 제1 조향 파라미터를 결정하며, 상기 주행 영상에서 상기 객체가 인식된 위치에 따른 오류와 PID 제어의 비례 이득(proportional gain)에 기초하여 제2 조향 파라미터를 결정하고, 상기 객체의 인식 여부에 따라, 상기 제1 조향 파라미터 및 상기 제2 조향 파라미터 중 적어도 하나에 기초하여 조향 파라미터를 결정하는 적어도 하나의 프로세서를 포함한다.
일 측에 따른 자율 주행 장치는 작업장 내 로봇의 현재 위치, 상기 로봇의 목표 위치 및 적어도 하나의 장애물의 위치를 포함하는 영상을 촬영하는 비전 센서; 상기 로봇과 주변 장애물과의 거리를 감지하여 센싱 정보를 생성하는 거리 센서; 및 상기 영상에 기초하여 포텐셜 필드를 생성하고, 상기 포텐셜 필드에 기초하여 상기 로봇의 이동 방향에 관한 제1 정보를 생성하고, 상기 센싱 정보에 기초하여 생성된 주변 장애물의 인식 정보에 따라 상기 로봇의 이동 방향에 관한 제2 정보를 생성하며, 상기 제1 정보 및 상기 제2 정보에 기초하여, 상기 로봇의 이동 방향을 포함하는 주행 경로를 결정하는 적어도 하나의 프로세서를 포함한다.
일 측에 따르면, 카메라 영상에 기초한 포텐셜 필드와 라이다 센서의 센싱 정보에 기초한 장애물 인식 정보를 융합함으로써 장애물을 회피하는 로봇의 주행 경로를 더욱 빠르고 정확하게 결정할 수 있다.
도 1은 일 실시예에 따른 자율 주행 방법이 수행되는 주행 환경을 도시한 도면.
도 2는 일 실시예에 따른 자율 주행 방법을 나타낸 흐름도.
도 3은 일 실시예에 따른 포텐셜 필드를 생성하는 방법을 나타낸 흐름도.
도 4는 일 실시예에 따른 흡인 포텐셜 필드를 도시한 도면.
도 5는 일 실시예에 따라 생성된 포텐셜 필드를 도시한 도면.
도 6은 일 실시예에 따라 로봇의 이동 방향에 관한 제1 정보를 생성하는 방법을 설명하기 위한 도면.
도 7은 일 실시예에 따라 2차원 공간에 생성된 포텐셜 필드의 일 예시를 도시한 도면.
도 8은 일 실시예에 따른 자율 주행 장치를 도시한 도면.
도 9는 일 실시예에 따른 3차원 공간을 생성하는 자율 주행 장치의 일반적인 구조를 도시한 도면.
도 10은 일 실시예에 따라 레이저 광선들의 조합을 이용하여 생성되는 포텐셜 필드의 일 예시를 도시한 도면.
도 11은 일반적인 포텐셜 알고리즘에 의한 자율 주행 장치의 동작을 설명하기 위한 도면.
도 12는 일 실시예에 따른 비례 이득(proportional gain)에 대한 에러를 산출하는 방법을 설명하기 위한 도면.
도 13은 일 실시예에 따른 자율 주행 방법을 나타낸 흐름도.
도 14는 일 실시예에 따라 경로를 탐색하고, 충돌을 회피하는 알고리즘의 일 예시를 도시한 도면.
도 15는 다른 실시예에 따른 자율 주행 방법을 나타낸 흐름도.
도 16은 일 실시예에 따른 3차원 환경에서의 자율 주행 장치의 움직임을 설명하기 위한 도면.
도 17은 일 실시예에 따른 자율 주행 장치의 하드웨어 구조(hardware architecture)를 도시한 도면.
도 18은 일 실시예에 따른 포텐셜 필드를 이용하여 자율 주행하는 방법을 위한 소프트웨어 구조(software architecture)를 도시한 도면.
도 19는 일 실시예에 따른 자율 주행 장치에 내장된 운영 체제(OS)에 따른 통신 셋업(communication setup)과정을 도시한 도면.
도 20은 일 실시예에 따른 자율 주행 장치의 블록도.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 자율 주행 방법이 수행되는 주행 환경을 도시한 도면이다. 도 1을 참조하면, 일 실시예에 따른 비전 센서(110)를 이용하여 캡쳐된 작업장 환경이 도시된다. 주행 환경은 예를 들어, 실내일 수도 있고, 또는 실외일 수도 있다.
예를 들어, 주행 환경 내에 로봇(130) 및 다양한 장애물들(150)이 존재한다고 하자. 이때, 로봇(130)은 예를 들어, 미끄러지지 않고 움직이며 바퀴가 변형되지 않는다고 가정한다. 로봇(130)은 예를 들어, 자율차, 특장차, 무인 로봇 등 지상에서 자율로 움직이는 모든 로봇을 포괄하는 의미로 이해될 수 있다.
로봇(130)의 위치는 예를 들어, 로봇(130)의 휠 축 중심의 위치를 기준으로 주어질 수 있다. 로봇(130)의 위치는 예를 들어, 도 1에 도시된 것과 같은 (x, y) 형태로 주어질 수도 있고, 또는 (I, j)의 형태로 주어질 수도 있으며, 반드시 이에 한정되지 않는다. 로봇(130)의 초기 위치는 시작 위치(start position)에 해당할 수 있다. 로봇(130)의 시작 위치는 '시작 지점(start point)'으로 설정될 수 있다. 로봇(130)이 도달하고자 하는 최종 목적지는 대상 위치(target position)(105)일 수 있다. 대상 위치(105)는 '목표 위치(goal position)' 또는 '목표 지점(target point)'으로 설정될 수 있다.
일 실시예에 따른 자율 주행 장치는 로봇(130)의 시작 위치와 목표 위치(105) 사이의 장애물들을 회피하면서 자율 로봇이 대상 위치(105)로 이동하기 위한 주행 경로를 결정할 수 있다. 자율 주행 장치는 로봇(130)이 목표 위치, 다시 말해 대상 위치(105)에 도달할 때까지 로봇(130)의 현재 위치를 반복적으로 갱신하면서 주행 경로를 결정하고, 이에 따라 로봇(130)이 이동 방향으로 이동하도록 할 수 있다.
도면에 도시하지 않았으나, 일 실시예에 따른 자율 주행 장치는 작업장의 내부 또는 외부에서 전체 환경을 관찰하고, 특정한 순간에 비전 센서(110)를 통해 작업 공간의 영상을 캡처할 수 있다. 자율 주행 장치는 필요한 경우 로봇(130)의 변위(displacement)에 대한 새로운 궤적(trajectory) 또는 경로(path)를 계획하고, 각 영상의 처리 후 제어 신호를 로봇(130)으로 전송할 수 있다. 예를 들어, 환경의 모든 지점(point)은 시작 위치 및 대상 위치와 관련한 포텐셜 값(potential value)을 가질 수 있다. 일 실시예에서는 포텐셜 필드 방법에 의해 주행 경로를 결정할 수 있다. 포텐셜 필드 방법은 일단 목표 지점을 중심으로 가상의 포텐셜 필드(Potential field)를 생성할 수 있다. 포텐셜 필드에서 로봇(130)은 하나의 지점으로 간주될 수 있다. 또한, 포텐셜 필드 방법에서 장애물은 가장 높은 포텐셜 값을 갖는 지점으로 간주되고, 목표 지점은 가장 낮은 포텐셜 값을 갖는 지점으로 간주될 수 있다. 포텐셜 필드에서는 예를 들어, 목표 지점을 중심으로 거리가 멀어질수록 포텐셜이 증가하고, 목표 지점을 중심으로 거리가 가까워질수록 포텐셜이 감소할 수 있다. 로봇(130)은 이러한 포텐셜 필드에서 물이 위에서 아래로 흐르는 것처럼 자연스럽게, 포텐셜이 높은 지점에서 가장 낮은 지점으로 이동함으로써 목표 지점에 도달할 수 있다. 포텐셜 필드에서 목표는 로봇(130)을 끌어당기고, 장애물은 반발력을 생성하여 로봇(130)을 밀어낼 수 있다.
궤적 또는 경로 계획 시에, 자율 주행 장치는 작업장 내 한 지점 주변의 모든 주변 이웃 지점들(neighbor points)의 포텐셜 값에 대한 최소 검색(minimum search)을 수행하고, 최소값이 가장 작은 이웃 지점(neighbor point)을 로봇(130)의 다음 위치(next location)로 선택할 수 있다. 전술한 과정은 로봇(130)이 목표 지점에 도달할 때까지 반복될 수 있다.
도 2는 일 실시예에 따른 자율 주행 방법을 나타낸 흐름도이다. 도 2를 참조하면, 일 실시예에 따른 자율 주행 장치는 작업장 내 로봇의 현재 위치, 로봇의 목표 위치 및 적어도 하나의 장애물의 위치에 기초하여 포텐셜 필드를 생성한다(210). 자율 주행 장치는 예를 들어, 작업장 내, 외에 설치된 카메라 또는 자율 주행 로봇에 장착된 카메라 센서로부터 작업장 내 로봇의 현재 위치, 로봇의 목표 위치 및 적어도 하나의 장애물의 위치를 포함하는 영상을 획득하고, 영상을 기초로 포텐셜 필드를 생성할 수 있다. 이때, 영상은 예를 들어, M (column) × N (row)의 해상도를 갖는 이산 영상(discrete image)에 해당할 수 있다. 자율 주행 장치는 로봇의 목표 위치를 음전하(negative charge)로 모델링하고, 장애물 및 로봇을 양전하(positive charge)으로 모델링 함으로써 포텐셜 필드를 생성할 수 있다. 자율 주행 장치가 포텐셜 필드를 생성하는 방법은 아래의 도 2를 참조하여 구체적으로 설명한다.
자율 주행 장치는 단계(210)에서 생성한 포텐셜 필드에 기초하여, 로봇의 이동 방향에 관한 제1 정보를 생성한다(220). 자율 주행 장치는 예를 들어, 로봇이 현재 위치에서 이동 가능한 방향 후보들 중 포텐셜 필드 상의 포텐셜 값이 낮은 후보일수록 더 큰 점수를 할당하여 제1 정보를 생성할 수 있다. 자율 주행 장치가 제1 정보를 생성하는 방법은 아래의 도 6을 참조하여 구체적으로 설명한다.
자율 주행 장치는 거리 센서의 센싱 정보에 기초하여 생성된 주변 장애물의 인식 정보에 따라, 로봇의 이동 방향에 관한 제2 정보를 생성한다(230). 거리 센서는 예를 들어, 라이다 센서(Lidar sensor) 및 스테레오 카메라(Stereo Camera) 등을 포함할 수 있다. 인식 정보는 컴퓨터 비전 영상 처리 또는 학습된 인공 신경망을 이용하여 생성될 수 있다. 신경망은 예를 들어, 거리 센서의 센싱 정보가 입력되면, 주변 장애물을 인식하여 인식 정보를 출력하도록 학습된 신경망일 수 있다. 신경망은 예를 들어, 딥 러닝(deep learning)에 의해 학습될 수 있다. 인식 정보는 영상 내 주변 장애물을 포함하는 영역을 지시하는 정보를 포함할 수 있다. 신경망은 예를 들어, YOLO(You Only Look Once)일 수 있다. YOLO는 영상 내의 바운딩 박스(bounding box)와 클래스 확률(class probability)을 단일 회귀 문제(single regression problem)로 간주하여, 영상을 한 번 보는 것으로 객체의 종류와 위치를 추측할 수 있다. YOLO는 단일 컨볼루션 네트워크(single convolutional network)를 통해 다수 개의 바운딩 박스들에 대한 클래스 확률을 계산하여 영상에 포함된 객체의 종류와 위치를 추측할 수 있다. 일 실시예에서는 설명의 편의를 위하여 YOLO를 예로 들어 설명하였으나, 반드시 이에 한정되는 것은 아니며, YOLO외에도 사물 인식을 위한 다양한 신경망 기반의 인식 기법들이 활용될 수 있다. 제1 정보 및 제2 정보 각각은 예를 들어, 로봇이 현재 위치에서 이동 가능한 방향 후보들의 점수들 중 적어도 일부를 포함할 수 있다.
자율 주행 장치는 주변 장애물의 인식 정보에 따라, 주변 장애물을 회피하는 로봇의 이동 방향에 관한 제2 정보를 생성할 수 있다. 자율 주행 장치는 예를 들어, 로봇이 현재 위치에서 이동 가능한 방향 후보들 중 인식 정보에 대응하는 영역을 회피하는 후보일수록 더 큰 점수를 할당하여 제2 정보를 생성할 수 있다.
자율 주행 장치는 단계(220)에서 생성된 제1 정보 및 단계(230)에서 생성된 제2 정보에 기초하여, 로봇의 이동 방향을 포함하는 주행 경로를 결정한다(240). 자율 주행 장치는 예를 들어, 제1 정보를 위한 제1 가중치 및 제2 정보를 위한 제2 가중치에 기초하여, 제1 정보 및 제2 정보를 가중 합산함으로써, 로봇의 이동 방향을 결정할 수 있다. 이때, 제2 가중치는 제1 가중치보다 크게 설정될 수 있다. 일 실시예에서는 포텐셜 필드에 기초한 제1 정보보다 거리 센서의 센싱 정보에 기초한 제2 정보에 더 많은 가중치를 부여함으로써 거리 센서에 의해 이동 방향을 보다 정확하게 결정할 수 있다.
자율 주행 장치는 주행 경로가 결정됨에 따라 로봇을 단계(240)에서 결정된 이동 방향으로 이동시킬 수 있다. 자율 주행 장치는 로봇이 이동 방향으로 이동함에 따라, 로봇의 현재 위치를 갱신할 수 있다. 자율 주행 장치는 로봇이 목표 위치에 도달할 때까지, 제1 정보를 결정하는 단계(220), 제2 정보를 결정하는 단계(230), 및 주행 경로를 결정하는 단계(240)를 반복적으로 수행함으로써 로봇의 현재 위치를 갱신할 수 있다.
도 3은 일 실시예에 따른 포텐셜 필드를 생성하는 방법을 나타낸 흐름도이다. 도 3을 참조하면, 일 실시예에 따른 자율 주행 장치는 로봇의 현재 위치 및 로봇의 목표 위치에 기초하여 흡인 포텐셜 필드(attractive potential field)를 생성할 수 있다(310). 일 실시예에 따른 자율 주행 장치는 예를 들어, 아래의 수학식 1과 같은 흡인 포텐셜 필드 함수
Figure 112020046765914-pat00001
를 이용하여 흡인 포텐셜 필드를 생성할 수 있다.
Figure 112020046765914-pat00002
여기서, k는 양의 스케일링 팩터(scaling factor)이고,
Figure 112020046765914-pat00003
는 영상에서 목표 지점과 로봇의 위치
Figure 112020046765914-pat00004
사이의 유클리드 거리(Euclidian distance)를 나타낼 수 있다.
수학식 1로부터, 흡인 포텐셜 필드는 시작 지점과 목표 지점만을 고려하고, 그 위의 장애물을 고려하지 않고 생성될 수 있다. 일 실시예에 따라 생성되는 흡인 포텐셜 필드의 예시는 아래의 도 4를 참조할 수 있다.
예를 들어, 목표 지점을
Figure 112020046765914-pat00005
라 하면, 시작 지점과 목표 지점 간의
Figure 112020046765914-pat00006
는 아래의 수학식 2와 같은 거리 함수(distance function)에 의해 구할 수 있다.
Figure 112020046765914-pat00007
수학식 2의 거리 함수는 임의의 지점에서 목표 지점까지의 거리를 결정하는 데에 사용될 수 있다.
포텐셜 필드에서는 두 점 사이의 거리 자체가 포텐셜이 될 수 있다. 예를 들어, 목표 지점에서 흡인 포텐셜 필드 값은 최소가 될 수 있다. 흡인 포텐셜 필드 값은 목표 지점과의 거리에 비례하여 증가할 수 있다. 수학식 2의 거리 함수는 수학식 1을 사용하여 흡입 포텐셜 필드 함수를 도출하기 위해 추가로 사용될 수 있다.
자율 주행 장치는 적어도 하나의 장애물의 위치에 기초하여 반발 포텐셜 필드(repulsive potential field)를 생성할 수 있다(320). 일 실시예에 따른 자율 주행 장치는 아래의 수학식 3과 같은 반발 포텐셜 필드 함수
Figure 112020046765914-pat00008
를 이용하여 흡인 포텐셜 필드를 생성할 수 있다.
Figure 112020046765914-pat00009
여기서,
Figure 112020046765914-pat00010
는 임의의 지점을 나타내고,
Figure 112020046765914-pat00011
는 장애물 지점을 나타낼 수 있다.
수학식 3의 반발 포텐셜 필드 함수
Figure 112020046765914-pat00012
는 예를 들어, 아래의 수학식 4 및 5에 의해 표현되는 작업 공간에서 장애물(들)로부터의 반발력(repulsive force)을 나타낼 수 있다.
Figure 112020046765914-pat00013
Figure 112020046765914-pat00014
반발 포텐셜 필드에 대해 수학식 4의 조건 1 및 수학식 5의 조건 2가 모두 충족되어야 한다. 여기서, n은 양의 정수를 나타내고, q는 장애물 위치 주변의 반지름을 나타낸다.
수학식 4의 조건 1로부터, 임의의 지점
Figure 112020046765914-pat00015
이 장애물 지점
Figure 112020046765914-pat00016
과 정확하게 유사한 경우, 반발 포텐셜 필드 값이 최대가 된다는 것을 명확하게 파악할 수 있다.
수학식 5의 조건 2로부터, 임의의 지점
Figure 112020046765914-pat00017
이 장애물 지점
Figure 112020046765914-pat00018
을 갖는 반경 변수(radius variable) q의 범위 내에 있지 않은 경우, 반발 포텐셜 값은 임의의 지점
Figure 112020046765914-pat00019
및 장애물 지점
Figure 112020046765914-pat00020
의 역 거리 값(inverse distance value)의 두 배를 곱한 양의 정수 n이 될 수 있다.
자율 주행 장치는 흡인 포텐셜 필드 및 반발 포텐셜 필드를 혼합함으로써 포텐셜 필드를 생성할 수 있다(330). 일 실시예에 따른 자율 주행 장치는 흡인 포텐셜 필드 및 반발 포텐셜 필드를 혼합하여 아래의 수학식 6과 같이 혼합된 포텐셜 필드(Combined potential field)를 생성할 수 있다.
혼합 아래의 수학식 6과 같이 혼합된 포텐셜 필드 함수
Figure 112020046765914-pat00021
를 생성할 수 있다.
Figure 112020046765914-pat00022
여기서,
Figure 112020046765914-pat00023
이고,
Figure 112020046765914-pat00024
일 수 있다.
일 실시예에 따라 포텐셜 필드 함수를 결합하는 방법은 아래의 알고리즘 1과 같이 나타낼 수 있다.
Figure 112020046765914-pat00025
자율 주행 장치는 알고리즘 1과 같이 행 j에 대해, 영상의 최대 행 길이(maximum row length)까지 초기화를 반복하고(j는 행 값(row value)임), 열 i에 대해, 영상의 최대 열 길이(maximum column length)까지 초기화를 반복할 수 있다(i는 열 값(column value) 임).
이후, 자율 주행 장치는 이전의 흡인 필드 함수
Figure 112020046765914-pat00026
와 반발 필드 함수
Figure 112020046765914-pat00027
의 합에 의해 결합된 포텐셜 필드 함수
Figure 112020046765914-pat00028
를 생성할 수 있다. 이후, 자율 주행 장치는 결합된 포텐셜 필드 함수
Figure 112020046765914-pat00029
를 표시할 수 있다. 일 실시예에 따라 생성되는 포텐셜 필드는 아래의 도 5를 참조할 수 있다.
도 4는 일 실시예에 따른 흡인 포텐셜 필드를 도시한 도면이다. 도 4를 참조하면, 일 실시예에 따라 생성된 흡인 포텐셜 필드(400)가 도시된다.
흡인 포텐셜 필드(400)에서 x축과 y축은 포텐셜 필드의 크기를 나타낼 수 있다. 흡인 포텐셜 필드(400)는 예를 들어, 시작 지점(35,18), 목표 지점(130,175), 및 스케일링 팩터 k=5를 갖는 흡인 포텐셜 필드를 나타낼 수 있다.
도 5는 일 실시예에 따라 생성된 포텐셜 필드를 도시한 도면이다. 도 5를 참조하면, 전술한 알고리즘 1에 의해 결합된 포텐셜 필드(500)가 도시된다.
포텐셜 필드(500)는 예를 들어, 시작 지점(35,18) 및 목표 지점 (130,175)에 대하여 생성된 포텐셜 필드에 해당할 수 있다.
자율 주행 장치는 포텐셜 필드(500)를 기반으로 로봇의 시작 지점의 포텐셜 값과 주변 지점들의 포텐셜 값을 비교함으로써 로봇이 목표 지점으로 안내되도록 할 수 있다.
예를 들어, 포텐셜 필드(500)에서 목표 지점(130,175)은 가장 낮은 결합된 포텐셜 값 0을 가질 수 있다. 포텐셜 필드(500)에서 시작 지점(35,18)은 결합된 포텐셜 값 45.8762를 가질 수 있고, 목표 지점(130,175)에서 가장 먼 거리에 있는 코너 픽셀은 가장 높은 결합된 포텐셜 값 60.8153을 가질 수 있다.
포텐셜 필드(500)에서 높은 포텐셜 값을 갖는 영역들(510)은 장애물에 해당할 수 있다. 자율 주행 장치는 포텐셜 필드(500)에서 장애물에 해당하는 영역들(510)을 회피하여 이동 가능한 방향 후보들에 높은 점수를 부여함으로써 장애물과의 충돌 없이 목표 지점(130, 175)까지 도달 가능한 주행 경로를 결정할 수 있다.
도 6은 일 실시예에 따라 로봇의 이동 방향에 관한 제1 정보를 생성하는 방법을 설명하기 위한 도면이다. 도 6을 참조하면, 로봇의 현재 위치에 해당하는 지점 (j,i) 주변의 이웃 지점들(N, S, E, W, NE, NW, SE, SW)을 나타낸 도면(600)이 도시된다.
자율 주행 장치는 먼저 로봇의 초기 위치를 결정한 다음, 로봇의 초기 위치와 주변 지점들의 포텐셜 필드 값을 비교하고, 최소 포텐셜 필드 값을 결정함으로써 로봇의 다음 이동 위치를 결정할 수 있다. 이는 도 6과 같이 그래픽적으로 설명될 수 있다.
예를 들어, 도 6에 도시된 지점 (j,i)가 로봇의 현재 위치를 나타낸다고 하자.
자율 주행 장치는 로봇의 현재 위치에 해당하는 지점 (j,i)을 중심으로 이동 가능한 방향 후보들에 해당하는 주변의 인접 지점들(N, S, E, W, NE, NW, SE, SW)의 포텐셜 필드 값들을 산출할 수 있다. 자율 주행 장치는 포텐셜 필드 값들에 따라 이동 가능한 방향 후보들에게 점수를 할당할 수 있다. 이때, 이동 가능한 방향 후보들은 지점(j,i) 주변의 이웃 지점들(N, S, E, W, NE, NW, SE, SW)에 해당할 수 있다.
자율 주행 장치는 주변 인접 지점들의 포텐셜 필드 값들 중 포텐셜 값이 가장 낮은 지점, 다시 말해 최소 포텐셜 필드 값을 갖는 후보에게 더 큰 점수를 할당하는 방식으로 제1 정보를 생성할 수 있다. 자율 주행 장치는 최소 포텐셜 필드 값을 확인함으로써 목표 지점을 향한 로봇의 다음 이동 방향에 대한 제1 정보를 생성할 수 있다. 이때, 최소 포텐셜 필드 값을 가진 지점이 다음 번 이동 위치를 찾을 때까지의 로봇의 현재 위치가 될 수 있다.
전술한 과정은 아래의 수학식 7의 최소 검색 함수(minimum search function)와 같이 간략하게 나타낼 수 있다.
Figure 112020046765914-pat00030
수학식 7은 아래의 알고리즘 2과 같이 풀어서 표현할 수 있다.
Figure 112020046765914-pat00031
일 실시예에 따른 자율 주행 장치는 알고리즘 2에 의해 로봇의 이동 방향에 관한 제1 정보를 생성할 수 있다.
도 7은 일 실시예에 따라 2차원 공간에 생성된 포텐셜 필드의 일 예시를 도시한 도면이다. 도 7을 참조하면, 일 실시예에 따른 포텐셜 필드(700) 내에 포함된 장애물(710) 및 목표 노드(goal node)(730)가 도시된다.
포텐셜 필드(700)은 라플라스 방정식(Laplace's equation)을 따르는 물리적 필드이다. 포텐셜 필드는 예를 들어, 전기장(electrical field), 자기장(magnetic field) 및 중력장(gravitational fields)을 포함할 수 있다.
일 실시예에서는 특정 공간에서 로봇 등과 같은 자율 주행 장치를 조정하기 위해 가상의 인공 포텐셜 필드를 사용할 수 있다. 자율 주행 장치는 특정 공간을 적어도 하나의 장애물 및 목표 노드(goal node)가 있는 셀들(cells)의 그리드(grid)로 구분할 수 있다. 아래에서 보다 구체적으로 설명하겠지만, 자율 주행 장치는 포텐셜 필드 기능들을 사용하여 인공 포텐셜 필드를 2차원 공간의 모든 지점들에 할당할 수 있다.
자율 주행 장치는 포텐셜 필드(700)에서 포텐셜이 가장 높은 지점부터 포텐셜이 가장 낮은 지점까지 시뮬레이션할 수 있다. 포텐셜 필드(700)에서 목표 노드(730)가 최소 포텐셜을 가지는 것과 달리, 시작 노드는 최대 포텐셜을 가질 수 있다. 이때, 포텐셜 필드에서 목표 위치는 음전하(negative charge)로 모델링되고, 장애물(710) 및 자율 주행 장치는 양전하(positive charge)로 모델링될 수 있다. 따라서, 자율 주행 장치는 최대 포텐셜에서 최소 포텐셜로 이동할 수 있다.
도 8은 일 실시예에 따른 자율 주행 장치를 도시한 도면이다. 도 8을 참조하면, 일 실시예에 따른 시뮬레이션에 사용된 라이다(lidar)(810)와 카메라(820)를 포함하는 자율 주행 차량(예를 들어, Ackermann vehicle)(800)이 도시된다.
일 실시예에서는 알려지지 않은 환경을 특정 인스턴스화(specific instantiation)하여 탐색하고, 맵핑할 수 있다. 자율 주행 차량(800)은 예를 들어, 해당 차량으로부터의 특정 위치와 함께 지피유-레이저 라이브러리(GPU-laser library)가 저장된 xarco 파일을 포함할 수 있다. xarco 파일에는 예를 들어, 620x480의 해상도를 가지는 라이다(lidar)보다 낮은 해상도의 카메라 라이브러리(camera library)가 더 포함될 수 있다. 이러한 해상도는 객체 회피 모듈 및 객체 추적 모듈로부터 적절한 오차 값을 얻기 위해 고정될 수 있다.
도 8에서 자율 주행 차량의 진행 방향이 동남쪽이라고 가정하면, 자율 주행 차량은 라이다(lidar)(810)를 통해 예를 들어, 동남쪽 방향을 기준으로 좌우로 -3/4 π부터 +3/4 π까지 레이를 투사하여 로컬 포텐셜 필드를 생성하는 한편, 카메라(820)를 통해 동남쪽 방향의 영상을 촬영하여 장애물 탐색을 수행할 수 있다.
도 9는 일 실시예에 따른 3차원 공간에서 모델링되는 자율 주행 장치의 구조를 도시한 도면이다. 도 9를 참조하면, 일 실시예에 따라 가제보 월드(Gazebo world)의 Building Editor를 이용하여 모델링되는 자율 주행 장치의 구성 요소들이 도시된다. 일 실시예에서는 가제보 월드를 일 예시로 활용하여 설명하였으나, 반드시 이에 한정되는 것은 아니고, 이 밖에도 다양한 장치 구조가 활용될 수 있다.
일 실시예에 따른 자율 주행 장치 모델은 예를 들어, 복수의 센서들(Sensor), 몸체(Body), 연결부들(Joints), 및 동적 엔진(Dynamic engine) 등을 포함할 수 있다.
복수의 센서들은 예를 들어, 카메라(Camera), 레이저(Laser) 및 IMU(Inertial Measurement Unit), 등을 포함할 수 있다. 몸체는 예를 들어, 자율 주행 차량의 형태(Shape) 및 구조(Structure)를 포함할 수 있다. 연결부들은 예를 들어, 차축 캐리어(Axle carrier), 조향 조인트(Steering joint), 휠 쇼크(Wheel Shock), 및 조향 링크(Steering Link) 등을 포함할 수 있다.
이때, 복수의 센서들에 의해 감지된 데이터는 자율 주행 장치 모델로 전달되고, 연결부들에 대한 명령(Command)은 예를 들어, 인터페이스부를 통한 사용자와의 통신을 통해 전달될 수 있다. 복수의 센서들에 의해 감지된 데이터는 예를 들어, 각 센서에서 자율 주행 장치 모델로 바로 전달될 수도 있고, 또는 엔코더(Encoder) 등을 통해 암호화되어 자율 주행 장치 모델로 전달될 수도 있다. 또한, 동적 엔진은 센서들 및 연결부들에 대한 제어를 수행할 수 있다.
도 10은 일 실시예에 따라 레이저 광선들의 조합을 이용하여 생성되는 포텐셜 필드의 일 예시를 도시한 도면이다.
일 실시예에 따른 자율 주행 장치가 포텐셜 필드 알고리즘을 이용하여 경로를 발견하는 방법은 다음과 같다.
자율 주행 장치는 2차원 레이저 센서로부터, 레이저 거리(laser distance)를 갖는 1081개의 광선들(rays)을 획득할 수 있다. 이때, 광선들의 레이저 투사 라인은 예를 들어, -3/4 π라디안(radians)에서 3/4 π 라이안 범위의 의 상대 각도들을 가질 수 있다. 해당 레이저 센서는 예를 들어,
Figure 112020046765914-pat00032
와 같이 표현할 수 있는 모든 거리의 벡터를 제공할 수 있다. 여기서, 거리는 레이저 센서로 광선들을 투사한 각도들에 따라 측정된 거리들에 해당할 수 있다.
이때, 벡터
Figure 112020046765914-pat00033
의 각 값은 상대적인 투사 각도(relative projection angle)
Figure 112020046765914-pat00034
를 가질 수 있으며, 아래의 수학식 8과 같이 표현할 수 있다.
Figure 112020046765914-pat00035
자율 주행 장치는 벡터
Figure 112020046765914-pat00036
의 값들을 이용하여 예를 들어, 500 ×500 pixels의 의사 포텐셜 필드(pseudo potential field)에서 투사된 광선들(
Figure 112020046765914-pat00037
)의 꼬리(tail)에 대한 좌표(x, y)를 계산할 수 있다. 이때, 좌표의 x 값은 예를 들어, 아래의 수학식 9를 통해 구할 수 있다.
Figure 112020046765914-pat00038
여기서,
Figure 112020046765914-pat00039
이고,
Figure 112020046765914-pat00040
일 수 있다. 이 경우,
Figure 112020046765914-pat00041
Figure 112020046765914-pat00042
일 수 있다.
이때, 모든 x 좌표들의 합산(summation)은 자율 주행 장치를 안내하기 위한 포텐셜 경로의 X 좌표에 해당하며, 예를 들어, 아래의 수학식 10과 같이 나타낼 수 있다.
Figure 112020046765914-pat00043
마찬가지로, 좌표의 y 값은 예를 들어, 아래의 수학식 11을 통해 구할 수 있다.
Figure 112020046765914-pat00044
여기서,
Figure 112020046765914-pat00045
이고,
Figure 112020046765914-pat00046
일 수 있다. 이 경우,
Figure 112020046765914-pat00047
Figure 112020046765914-pat00048
일 수 있다.
이때, 모든 y 좌표들의 합산(summation)은 자율 주행 장치를 안내하기 위한 포텐셜 경로의 Y 좌표에 해당하며, 예를 들어, 아래의 수학식 12와 같이 나타낼 수 있다.
Figure 112020046765914-pat00049
자율 주행 장치는 전술한 합산을 통해 얻은 결과 좌표(X,Y)에서 해당 장치의 조향 각도(steering angle)
Figure 112020046765914-pat00050
를 산출할 수 있다. 조향 각도
Figure 112020046765914-pat00051
는 예를 들어, 아래의 수학식 13을 통해 산출할 수 있다.
Figure 112020046765914-pat00052
여기서, 조향 각도
Figure 112020046765914-pat00053
는 레이저 맵(laser map)의 포텐셜 필드에서의 최종 결과 및 헤딩 각도(heading angle)를 나타낼 수 있다.
도 11은 일반적인 포텐셜 알고리즘에 의한 자율 주행 장치의 동작을 설명하기 위한 도면이다. 도 11을 참조하면, 자율 주행 장치의 조향 조작에 따른 서로 다른 이동 방향들이 도시된다.
일 실시예에 따른 자율 주행 장치는 조향 조작을 통해 포텐셜이 높은 영역으로 이동할 수 있다.
예를 들어, 1110와 같이 전방에 아무런 장애물이 없다고 하자. 이 경우, 자율 주행 장치는 포텐셜이 낮은 영역(low potential areas), 다시 말해 장애물이 없는 전방 영역으로 이동할 수 있다.
예를 들어, 1120과 같이 장애물이 전방 경로의 왼쪽에 위치하는 경우, 장애물이 존재하는 왼쪽 경로에는 포텐셜이 높은 영역(high potential areas)이 생성될 수 있다. 따라서, 자율 주행 장치는 포텐셜이 낮은 영역, 다시 말해 오른쪽 영역으로 이동하도록 조향을 조작할 수 있다.
예를 들어, 1130과 같이 장애물이 전방 경로의 오른쪽에 위치하는 경우, 장애물이 존재하는 오른쪽 경로에 포텐셜이 높은 영역이 생성될 수 있다. 따라서, 자율 주행 장치는 포텐셜이 낮은 영역, 다시 말해 왼쪽 영역으로 이동하도록 조향을 조작할 수 있다.
예를 들어, 1140과 같이 장애물이 전방 경로의 가운데에 위치하는 경우, 장애물이 존재하는 가운데에 포텐셜이 높은 영역이 생성될 수 있다. 하지만, 대칭적 포텐셜 필드로 인하여 자율 주행 장치는 왼쪽, 또는 오른쪽의 포텐셜이 낮은 영역을 선택하는 대신에, 포텐셜이 높은 전방 영역으로 이동할 수 있다.
일 실시예에서는 포텐셜 알고리즘에 객체 감지 및 회피 기능을 통합함으로써 1140과 같은 포텐셜 알고리즘의 취약점을 극복할 수 있다. 포텐셜 알고리즘에 객체 감지 및 회피 기능을 통합하는 방법은 아래의 도 12 내지 도 15를 참조하여 구체적으로 설명한다.
도 12는 일 실시예에 따른 비례 이득(proportional gain)에 대한 에러를 를 산출하는 방법을 설명하기 위한 도면이다.
일 실시예에서는 충돌 회피를 위해 예를 들어, YOLOv2 알고리즘을 사용할 수 있다. YOLO는 높은 정확도의 실시간 처리를 제공하지만 지역 기반 탐지 알고리즘들(region-based detector algorithms)에 비해 더 높은 지역화 오차(localization errors)와 낮은 리콜 응답(recall response)을 가질 수 있다.
YOLOv2는 낮은 리콜 응답을 극복하고 빠른 탐지로 정확도를 높이는 업그레이드된 YOLO 버전이다. YOLOv2의 변경 사항은 다음과 같다.
YOLOv2에서는 신경망에서 경계 상자(boundary box)를 예측하는 완전 연결된 레이어들(fully connected layers)이 제거될 수 있다. 하나의 풀링 레이어가 제거되어 네트워크의 공간 출력을 7×7 대신 13×13으로 만들 수 있다. 클래스 예측은 셀 레벨에서 경계 상자 레벨로 이동될 수 있다. 각 예측에는 경계 상자에 대한 네 개의 매개 변수들이 존재할 수 있다. 입력 영상의 크기는 448 × 448에서 416 × 416로 변경될 수 있다. 이에 따라, 예를 들어, 7×7 vs 8×8 격자 셀(grid cell)들과 같이 홀수 개수의 공간 차원들(spatial dimensions)이 생성될 수 있다.
예를 들어, 도 12에 도시된 것과 같이 공간의 중앙은 종종 큰 객체에 의해 점유될 수 있다. 이 경우, 홀수 개수의 격자 셀들을 사용하면, 해당 객체가 속한 위치를 더 정확하게 파악할 수 있다.
일 실시예에서 신경망의 마지막 컨볼루션 레이어(convolution layer)를 3개의 3 × 3의 컨볼루션 레이어들(convolutional layers)로 대체할 수 있으며, 각각의 레이어들은 1024개의 출력 채널들을 출력하여 예를 들어, 7 × 7 × 125의 크기(dimensions)로 예측을 생성할 수 있다. 이후, 신경망에 최종 1 Х 1 컨볼루션 레이어를 적용하여 7 × 7 × 1024 출력들을 7 × 7 × 125로 변환할 수 있다.
일 실시예에 따른 회피 알고리즘은 다음과 같이 수행될 수 있다.
도 12에서 카메라로 촬영한 영상 프레임의 중심을 C_frame으로 표시하고, 감지된 객체의 중심을 C_object로 표시할 수 있다. 또한, 자율 주행 장치의 좌회전 또는 우회전을 위한 실행 가능한 설정 포인트(set point)를 표시할 수 있다.
예를 들어, 왼쪽에 대한 설정 포인트는 S_left 와 같이 표시하고, 오른쪽에 대한 설정 포인트는 S_right와 같이 표시할 수 있다.
이 경우, 오차(Error), 다시 말해 조향 오차는 아래의 수학식 14와 같이 표현될 수 있다.
Figure 112020046765914-pat00054
일 실시예에서는 카메라로 촬영한 영상 프레임의 중심(C_frame)과 설정 포인트 사이의 거리를 줄이기 위해 오차 값을 사용할 수 있다. 신경망의 출력 값(Output)은 자율 주행 장치의 조향각(steering angle)으로 간주될 수 있으며, 아래의 수학식 15와 같이 표현될 수 있다.
Figure 112020046765914-pat00055
여기서, K는 PID의 비례 이득(proportional gain) 성분을 나타낼 수 있다. P는 Proportional에 해당하고, I는 integration에 해당하며, D는 differential에 해당할 수 있다. 비례 이득은 비례 성분의 입력의 백분율 값에 대한 출력의 백분율 값의 비율을 나타낼 수 있다. 자동 제어계에서 일정 동작으로 제어 동작 신호를 0부터 단위량(예를 들어, '1') 만큼 변화시켰을 때 해당 동작에 입각하는 조작량의 변화분을 비례 이득이라 부를 수 있다.
만약, K가 올바르게 설정되면, 자율 주행 장치는 도 12에서와 같이 프로세스를 이동시킬 수 있다.
예를 들어, 객체가 포텐셜 영역의 중간에 있는 경우, 일 실시예에 따른 자율 주행 장치는 포텐셜 필드 알고리즘을 객체 회피 알고리즘으로 전환하여 장애물을 회피할 수 있다. 예를 들어, 장애물이 "정지 신호(Stop sign)"인 경우, 객체 회피 알고리즘 및 주행 조작이 종료될 수 있다.
도 13은 일 실시예에 따라 경로를 탐색하고, 충돌을 회피하는 자율 주행 방법을 나타낸 흐름도이고, 도 14는 13과 같은 자율 주행을 위한 알고리즘을 도시한 도면이다. 도 13을 참조하면, 도 12를 통해 전술한 동작을 수행하는 전체적인 흐름이 도시된다.
일 실시예에 따른 자율 주행 장치는 해당 장치에 설치된 레이저 및 카메라에 대한 레이저 데이터 및 다크넷(darknet)의 객체 검출 분류(object detection classification) 정보를 획득할 수 있다. 여기서, 다크넷의 객체 검출 분류 정보는 예를 들어, YOLO 알고리즘에서 객체 분류(또는 예측)을 위해 사용되는 코드에 해당할 수 있다. 자율 주행 장치는 알고리즘들을 사용하여 조향 각도를 산출할 수 있다.
자율 주행 장치는 해당 장치의 스로틀을 위한 모터(motor) 및 조향을 위한 서보 모터(servo motor)를 초기화(1301)한 후, 구동시킬 수 있다. 여기서, '서보'는 자율 주행 장치의 상태를 기준 값과 비교하고, 비교 결과를 해당 장치가 안정되는 방향으로 피드백 함으로써 가장 적합하도록 자동 제어하는 것 또는 서보 모터(servo motor)로 이해될 수 있다.
자율 주행 장치는 해당 장치의 구동에 의해 일정 공간 혹은 경로 상에서 객체에 검출되는지 여부를 판단할 수 있다(1303). 단계(1303)에서, N=1은 객체가 검출된 경우를 나타내고, N=0은 객체가 검출되지 않은 경우를 나타낼 수 있다.
단계(1303)에서 객체가 검출된 것('N=1')으로 판단되면, 자율 주행 장치는 검출된 객체가 "정지 신호(stop sign)"인지를 결정할 수 있다(1305). 단계(1305)에서 검출된 객체가 "정지 신호"라면, 자율 주행 장치는 해당 장치의 모터 및 서보의 동작을 종료시킬 수 있다(1307).
이와 달리, 단계(1305)에서 검출된 객체가 "정지 신호"가 아니라면, 자율 주행 장치는 충돌 회피를 위한 동작들(1310)을 수행할 수 있다. 보다 구체적으로, 검출된 객체가 정지 신호가 아니라면, 자율 주행 장치는 검출된 객체의 중심(
Figure 112020046765914-pat00056
)이 영상 프레임의 중심(
Figure 112020046765914-pat00057
)보다 큰지 여부를 결정할 수 있다(1311). 이때, 단계(1311)에서 객체의 중심(
Figure 112020046765914-pat00058
)이 영상 프레임의 중심(
Figure 112020046765914-pat00059
)보다 크다는 것은 해당 객체가 영상 프레임에서 오른쪽에 있다는 의미로 이해될 수 있다. 또한, 객체의 중심(
Figure 112020046765914-pat00060
)이 영상 프레임의 중심(
Figure 112020046765914-pat00061
)보다 작거나 같다는 것은 해당 객체가 영상 프레임에서 왼쪽에 있다는 의미로 이해될 수 있다.
단계(1311)에서 객체의 중심(
Figure 112020046765914-pat00062
)이 영상 프레임의 중심(
Figure 112020046765914-pat00063
)보다 큰 경우, 다시 말해, 해당 객체가 영상 프레임에서 오른쪽에 있는 경우, 자율 주행 장치는 예를 들어, 수학식 14에 개시된 수학식
Figure 112020046765914-pat00064
에 의해 조향 오차를 산출할 수 있다(1313). 자율 주행 장치는 단계(1313)에서 산출된 조향 오차에 해당 장치를 왼쪽으로 조향하여 객체를 회피할 수 있다(1315).
이와 달리, 단계(1311)에서 객체의 중심(
Figure 112020046765914-pat00065
)이 영상 프레임의 중심(
Figure 112020046765914-pat00066
)보다 작거나 같은 경우, 다시 말해, 해당 객체가 영상 프레임에서 왼쪽에 있는 경우, 자율 주행 장치는 예를 들어, 수학식 14에 개시된 수학식
Figure 112020046765914-pat00067
에 의해 조향 오차를 산출할 수 있다(1317). 자율 주행 장치는 단계(1313)에서 산출된 조향 오차에 해당 장치를 오른쪽으로 조향하여 객체를 회피할 수 있다(1319).
단계(1303)에서 객체가 검출되지 않은 것('N=0')으로 판단되면, 자율 주행 장치는 자율 주행 장치의 주행을 위한 안내(guidance) 및 부분적인 회피를 위한 동작들(1330)을 수행할 수 있다.
단계(1303)에서 객체가 검출되지 않은 것('N=0')으로 판단되면, 자율 주행 장치는 해당 공간에 레이저를 투사하고, 투사된 광선들(
Figure 112020046765914-pat00068
)의 좌표(x, y)들을 산출할 수 있다(1331). 단계(1331)에서, 자율 주행 장치는 예를 들어, 수학식 9 및 수학식 11을 통해 투사된 1081개의 광선들의 좌표(x, y)들을 산출할 수 있다.
이후, 자율 주행 장치는 단계(1331)에서 산출된 광선들(
Figure 112020046765914-pat00069
)의 모든 x 좌표들을 합산하고, 광선들(
Figure 112020046765914-pat00070
)의 모든 y 좌표들을 합산할 수 있다(1333). 단계(1333)에서, 자율 주행 장치는 예를 들어, 전술한 수학식 10과 같이 모든 x 좌표들을 합산하고, 전술한 수학식 12와 같이 모든 y 좌표들을 합산할 수 있다.
자율 주행 장치는 단계(1333)에서의 합산을 통해 얻은 결과(좌표(X, Y))로부터 해당 장치의 조향을 위한 각도(steering angle)
Figure 112020046765914-pat00071
를 산출할 수 있다(1335). 자율 주행 장치는 예를 들어, 전술한 수학식 13을 통해 조향을 위한 각도, 다시 말해 조향 각도
Figure 112020046765914-pat00072
를 산출할 수 있다.
자율 주행 장치는 단계(1335)에서 산출된 조향 각도에 따라 해당 장치의 주행을 안내하고, 부분적인 회피를 수행할 수 있다. 도 13을 통해 전술한 과정은 아래의 도 14의 알고리즘과 같이 표현할 수 있다.
도 15는 다른 실시예에 따른 자율 주행 방법을 나타낸 흐름도이다. 도 15를 참조하면, 일 실시예에 따른 자율 주행 장치는 해당 장치의 모터(motor) 및 서보(servo)를 초기화(1501)한 후, 구동시킬 수 있다. 이후, 자율 주행 장치는 도 13에서와는 달리, 해당 장치의 구동에 의해 일정 공간 혹은 경로 상에서 바로 "정지 신호(stop sign)"가 검출되는지 여부를 결정할 수 있다(1505). 단계(1505)에서 검출된 객체가 "정지 신호"라면, 자율 주행 장치는 해당 장치의 모터 및 서보의 동작을 중지시킬 수 있다(1507).
단계(1505)에서 검출된 객체가 "정지 신호"가 아니라면, 자율 주행 장치는 충돌 회피를 위한 동작들(1510)을 수행할 수 있다. 아울러, 자율 주행 장치는 "정지 신호(stop sign)"가 검출되는지 여부를 결정하는 것과 함께 자율 주행 장치의 주행을 위한 안내 및 부분적인 회피를 위한 동작들(1530)을 수행할 수 있다. 충돌 회피를 위한 동작들(1510) 및 안내 및 부분적인 회피를 위한 동작들(1530)은 병렬적으로 수행될 수 있다.
도 15에서 충돌 회피를 위한 동작들(1510)은 도 13의 충돌 회피를 위한 동작들(1310)과 동일하고, 도 15에서 안내 및 부분적인 회피를 위한 동작들(1530)은 도 13의 안내 및 부분적인 회피를 위한 동작들(1330)과 동일하므로 이하에서는 도 13과 상이한 동작에 대하여 설명하기로 한다.
자율 주행 장치는 충돌 회피를 위한 동작들(1510)을 수행한 결과에 따라 객체와의 충돌을 회피하기 위해 결정된 조향 각도(
Figure 112020046765914-pat00073
)를 출력하고(1550), 자율 주행 장치의 안내(guidance) 및 부분적인 회피를 위한 동작들(1330)을 수행한 결과에 따라 결정된 조향 각도(
Figure 112020046765914-pat00074
)를 출력할 수 있다(1560).
자율 주행 장치는 단계(1550)에서 출력된 조향 각도(
Figure 112020046765914-pat00075
)와 단계(1560)에서 출력된 조향 각도(
Figure 112020046765914-pat00076
)에 의해 최종적인 조향 각도(
Figure 112020046765914-pat00077
)를 결정할 수 있다(1570).
예를 들어, 경로 상에서 객체가 된 경우에는 조향 각도는
Figure 112020046765914-pat00078
와 같이 충돌 회피를 위해 결정된 조향 각도(
Figure 112020046765914-pat00079
)와 안내 및 부분적인 회피를 위한 조향 각도(
Figure 112020046765914-pat00080
) 간의 오차에 의해 결정될 수 있다. 이와 달리, 경로 상에서 객체가 검출되지 않은 경우에 조향 각도는
Figure 112020046765914-pat00081
와 같이 안내 및 부분적인 회피를 위한 조향 각도(
Figure 112020046765914-pat00082
)로 결정될 수 있다.
도 16은 일 실시예에 따른 3차원 환경에서의 자율 주행 장치의 움직임을 설명하기 위한 도면이다. 도 16에 도시된 자율 주행 장치는 예를 들어, 지상 차량(ground vehicle) 또는 무인 지상 차량(unmanned ground vehicle)일 수 있다. 또한, 3차원 환경은 예를 들어, 미로 환경(maze environment)일 수 있다.
도 16을 참조하면, 일 실시예에 따른 자율 주행 장치가 장애물을 회피하면서 앞으로 진행하는 상황이 단계별로 도시된다. 자율 주행 장치는 1610과 같이 미로의 우측 하단에 있는 입구에서 출발할 수 있다. 자율 주행 장치는 미로의 우측 하단으로부터 시작하여 전술한 알고리즘들을 사용하여 경로 진행 방향에 따라 1620, 1630, 1640, 1650, 1660, 1670와 같이 단계별로 장애물을 회피하고 경로를 안내하여 1680과 같이 미로의 출구로 탈출할 수 있다.
도 17은 일 실시예에 따른 자율 주행 장치의 하드웨어 구조(hardware architecture)를 도시한 도면이다. 도 17을 참조하면, 일 실시예에 따른 자율 주행 장치의 일 예시인 스마트 임베디드 차량(1700)의 구조가 도시된다.
스마트 임베디드 차량(1700)은 예를 들어, 다양한 사용자의 요구를 충족시키기 위해 실제 차량의 1/10 크기로 제작된 동키 카(donkey car)에 해당할 수 있다. 스마트 임베디드 차량(1700)에는 예를 들어, 비전 센서(1710) 및 라이다 센서(1720)와 같은 다양한 센서들이 장착될 수 있다. 비전 센서(1710)는 예를 들어, 카메라 또는 이미지 센서로 대체될 수 있고, 라이다 센서(1720)는 예를 들어, 레이저 센서로 대체될 수 있다. 신경망 처리 장치(1730)는 예를 들어, 실시간 컴퓨터 비전을 위한 프로그래밍 라이브러리인 OpenCV(Open Source Computer Vision)에 의해 비전 센서(1710)의 감지 결과를 처리할 수 있으며 또는 심층 학습 신경망을 기법을 활용하여 직접 처리할 수도 있다.
또한, 스마트 임배디드 차량(1700)에는 신경망 처리 장치(1730) 혹은 신경망 전용 프로세서가 장착될 수 있다. 신경망 처리 장치(1730)는 예를 들어, 전력 효율이 높은 임베디드 AI 컴퓨팅 장치인 Jetson AGX Xavier 또는 TX2 등과 같은 다양한 엣지 컴퓨팅 모듈을 포함할 수 있다. 또한, 신경망 처리 장치(1730)는 차량의 조향(steering) 및 스로틀(throttle)을 제어하도록 설계 및 장착된 제어 회로 보드(control circuit board)(미도시)를 포함할 수 있다. 제어 회로 보드는 예를 들어, Teensy 일 수 있다.
스마트 임배디드 차량(1700)는 신경망 처리 장치(1730)에 의해 생성된 제1 펄스폭 변조(Pulse Width Modulation; PWM)에 의해 스마트 임배디드 차량(1700)의 전자식 주행 안정 장치(Electronic Stability Control; ESC)(1740) 및 스로틀을 위한 모터(1750)를 제어할 수 있다.
또한, 스마트 임배디드 차량(1700)는 신경망 처리 장치(1730)에 의해 생성된 제2 펄스폭 변조(PWM)에 의해 스마트 임배디드 차량(1700)의 조향을 위한 서보 모터(1760)를 제어할 수 있다.
도 18은 일 실시예에 따른 포텐셜 필드를 이용하여 자율 주행하는 방법을 위한 소프트웨어 구조(software architecture)를 도시한 도면이다. 일 실시예에 따르면 전술한 알고리즘에서 충돌 회피 및 경로 안내를 위해 레이저 노드(LASER_NODE)의 데이터가 지속적으로 사용될 수 있다. 알고리즘은 예를 들어, 신경망 처리 장치에 장착되어 이용될 수 있으며, 도 18에 도시된 것과 같은 구조를 가질 수 있다.
예를 들어 설명해보면, 알고리즘은 카메라 노드(CAMERA_NODE)로부터 카메라 데이터("usb_cam")를 획득하고, 레이저 노드(LASER_NODE)로부터 레이저 데이터("/scan")를 획득할 수 있다. 카메라 데이터("usb_cam")는 다크넷_노드(DARKNET_NODE)로 전달되고, 레이저 데이터("/scan")는 알고리즘 노드(ALGORITHM_NODE)로 전달될 수 있다.
알고리즘은 카메라 노드(CAMERA_NODE)를 사용하여 동작하는 "/object_detection"라는 이름의 토픽(topic)을 획득할 수 있다. 만약, 해당 토픽에서 사용 가능한 데이터가 있다면, 해당 데이터는 전술한 흐름도에 따라 알고리즘에서 사용될 수 있다.
알고리즘의 최종 출력은 차량의 순간을 조작할 수 있는 "/cmd_vel"라는 이름의 토픽을 이용하여 주어질 수 있다. 토픽 "/cmd_vel"는 TEENSY ARDUINO 하드웨어인 파이시리얼 노드(PYSERIAL_NODE)로 전달될 수 있다.
TEENSY ARDUINO로부터, 맵핑(mapped)된, 적절한 펄스폭 변조(PWM) 값들(예를 들어, 전자식 주행 안정 장치(ESC) 및 스로틀을 위한 모터를 위한 제1 펄스폭 변조 값 및 서보 모터를 위한 제2 펄스폭 변조 값 등)이 작업을 완료하기 위해 주어질 수 있다.
도 19는 일 실시예에 따른 자율 주행 장치에 내장된 운영 체제(OS)에 따른 통신 셋업(communication setup) 과정을 도시한 도면이다.
일 실시예에 따른 알고리즘은 자율 주행 장치에 내장된 운영 체제(OS)(1900)를 기반으로 동작할 수 있다. 운영 체제(1900)는 예를 들어, Ubuntu OS 일 수 있다.
일 실시예에 따른 알고리즘은 예를 들어, ROS 운영 체제(OS)(1910)에서 전체가 실행되는 반면, 조향 제어는 예를 들어, Arduino IDE(1930)를 사용하여 수행될 수 있다. 인터페이스(1950)에 이용되는 파이시리얼(Pyserial) 통신 프로토콜은 ROS 운영 체제(OS)(1910)에서 Arduino IDE(1930)로 메시지를 전송하는 데에 사용될 수 있다.
도 20은 일 실시예에 따른 자율 주행 장치의 블록도이다. 도 20을 참조하면, 일 실시예에 따른 자율 주행 장치(2000)는 비전 센서(2010), 거리 센서(2030), 및 프로세서(2050)를 포함한다. 자율 주행 장치(2000)는 통신 인터페이스(2070) 및 메모리(2090)를 더 포함할 수 있다. 비전 센서(2010), 거리 센서(2030), 프로세서(2050), 통신 인터페이스(2070) 및 메모리(2090)는 통신 버스(2005)를 통해 서로 통신할 수 있다. 자율 주행 장치(2000)는 예를 들어, 자율 주행 로봇, 또는 자율 주행 차량 자체이거나 또는 자율 주행 로봇 또는 자율 주행 차량을 위한 별도의 장치로 구성될 수 있다.
비전 센서(2010)는 작업장 내 로봇의 현재 위치, 로봇의 목표 위치 및 적어도 하나의 장애물의 위치를 포함하는 영상을 촬영한다. 비전 센서는 예를 들어, 카메라 센서이거나 또는 영상 센서일 수 있으며, 반드시 이에 한정되지 않는다.
거리 센서(2030)는 로봇과 주변 장애물과의 거리를 감지하여 센싱 정보를 생성한다. 거리 센서는 예를 들어, 라이다 센서일 수 있다.
프로세서(2050)는 영상에 기초하여 포텐셜 필드를 생성한다. 프로세서(2050)는 포텐셜 필드에 기초하여 로봇의 이동 방향에 관한 제1 정보를 생성한다. 프로세서(2050)는 센싱 정보에 기초하여 생성된 주변 장애물의 인식 정보에 따라 로봇의 이동 방향에 관한 제2 정보를 생성한다. 프로세서(2050)는 제1 정보 및 제2 정보에 기초하여, 로봇의 이동 방향을 포함하는 주행 경로를 결정한다. 여기서, 인식 정보는 기 학습된 신경망을 이용하여 생성되며, 거리 센서에 의하여 센싱된 영상 내 주변 장애물을 포함하는 영역을 지시하는 정보를 포함할 수 있다. 신경망은 예를 들어, YOLO(You Only Look Once)이며 딥 러닝에 의해 학습될 수 있다. 또한, 제1 정보 및 제2 정보 각각은 로봇이 현재 위치에서 이동 가능한 방향 후보들의 점수들 중 적어도 일부를 포함할 수 있다.
프로세서(2050)는 로봇의 현재 위치 및 로봇의 목표 위치에 기초하여 흡인 포텐셜 필드를 생성하고, 적어도 하나의 장애물의 위치에 기초하여 반발 포텐셜 필드를 생성하며, 흡인 포텐셜 필드 및 반발 포텐셜 필드를 혼합함으로써 포텐셜 필드를 생성할 수 있다.
프로세서(2050)는 로봇의 목표 위치를 음전하로 모델링하고, 장애물을 양전하로 모델링하며, 로봇을 양전하로 모델링 함으로써 포텐셜 필드를 생성할 수 있다.
프로세서(2050)는 예를 들어, 로봇이 현재 위치에서 이동 가능한 방향 후보들 중 포텐셜 필드 상의 포텐셜 값이 낮은 후보일수록 더 큰 점수를 할당할 수 있다.
프로세서(2050)는 예를 들어, 로봇이 현재 위치에서 이동 가능한 방향 후보들 중 인식 정보에 대응하는 영역을 회피하는 후보일수록 더 큰 점수를 할당할 수 있다.
프로세서(2050)는 제1 정보를 위한 제1 가중치 및 제2 정보를 위한 제2 가중치에 기초하여, 제1 정보 및 제2 정보를 가중 합산함으로써, 로봇의 이동 방향을 결정할 수 있다. 이때, 제2 가중치는 예를 들어, 제1 가중치보다 크게 설정될 수 있다.
프로세서(2050)는 주행 경로가 결정됨에 따라 로봇을 이동 방향으로 이동시킬 수 있다.
프로세서(2050)는 로봇이 이동 방향으로 이동함에 따라, 로봇의 현재 위치를 갱신할 수 있다. 프로세서(2050)는 로봇이 이동 방향으로 이동함에 따라, 로봇이 목표 위치에 도달할 때까지, 제1 정보를 결정하고, 제2 정보를 결정하고, 주행 경로를 결정하는 과정을 반복적으로 수행함으로써 로봇의 현재 위치를 갱신할 수 있다.
또한, 프로세서(2050)는 도 1 내지 도 19를 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(2050)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(2050)는 프로그램을 실행하고, 자율 주행 장치(2000)를 제어할 수 있다. 프로세서(2050)에 의하여 실행되는 프로그램 코드는 메모리(2090)에 저장될 수 있다.
통신 인터페이스(2070)는 자율 주행 장치(2000) 외부의 별도의 촬영 장치로부터 촬영된 영상을 수신할 수 있다. 또한, 통신 인터페이스(2070)는 프로세서(2050)에 의해 결정된 주행 경로를 자율 주행 장치(2000)의 외부로 전송할 수 있다.
메모리(2090)는 상술한 프로세서(2050)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(2090)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(2090)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(2090)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 시스템이가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 시스템에 의하여 해석되거나 처리 시스템에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 시스템, 가상 시스템(virtual equipment), 컴퓨터 저장 매체 또는 시스템에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 시스템, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
2000: 자율 주행 장치
2005: 통신 버스
2010: 비전 센서
2030: 거리 센서
2050: 프로세서
2070: 통신 인터페이스
2090: 메모리

Claims (20)

  1. 주행 영상에서 객체의 인식 여부를 판단하는 제1단계;
    복수의 각도들에 대응하여 센싱되는 거리 값들 및 상기 각도들에 기초하여 제1 조향 파라미터를 결정하는 제2단계;
    상기 주행 영상에서 상기 객체가 인식된 위치에 따른 오류와 PID 제어의 비례 이득(proportional gain)에 기초하여 제2 조향 파라미터를 결정하는 제3단계; 및
    상기 객체의 인식 여부에 따라, 상기 제1 조향 파라미터 및 상기 제2 조향 파라미터 중 적어도 하나에 기초하여 조향 파라미터를 결정하는 제4단계
    를 포함하고,
    상기 제2단계는
    레이저 센서를 이용하여 상기 복수의 각도들에 대응하여 상기 거리 값들을 센싱하는 단계;
    상기 거리 값들과 상기 복수의 각도들의 코사인 값들에 기초하여 제1 축의 값들의 합을 계산하는 단계;
    상기 거리 값들과 상기 복수의 각도들의 사인 값들에 기초하여 제2 축의 값들의 합을 계산하는 단계; 및
    상기 제1 축의 값들의 합과 상기 제2 축의 값들의 합 사이의 비율에 기초하여 상기 제1 조향 파라미터를 계산하는 단계
    를 포함하는,
    자율 주행 방법.
  2. 제1항에 있어서,
    상기 제2단계는 상기 객체가 인식되지 않았다는 판단에 따라 상기 제1 조향 파라미터를 결정하는 단계이고,
    상기 제3단계는 상기 객체가 인식되었다는 판단에 따라 상기 제2 조향 파라미터를 결정하는 단계인,
    자율 주행 방법.
  3. 제1항에 있어서,
    상기 제4단계는
    상기 객체가 인식되었다는 판단에 따라, 상기 제1 조향 파라미터와 상기 제2 조향 파라미터 사이의 차이에 기초하여 상기 조향 파라미터를 결정하는 단계; 및
    상기 객체가 인식되지 않았다는 판단에 따라, 상기 제1 조향 파라미터에 기초하여 상기 조향 파라미터를 결정하는 단계
    를 포함하는,
    자율 주행 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제3단계는
    상기 주행 영상에서 상기 객체가 인식된 위치가 상기 주행 영상의 중심을 기준으로 왼쪽 영역 혹은 오른쪽 영역 중 어느 영역에 있는지 확인하는 단계;
    상기 주행 영상에서 상기 객체가 인식된 위치가 속한 영역의 반대 영역에서 미리 설정된 지점과 상기 주행 영상의 중심 지점 사이의 차이에 기초하여 상기 오류를 계산하는 단계; 및
    상기 오류와 상기 비례 이득에 기초하여 상기 제2 조향 파라미터를 계산하는 단계
    를 포함하는,
    자율 주행 방법.
  6. 제1항에 있어서,
    속도 파라미터를 변경하지 않고 유지하는 단계
    를 더 포함하는,
    자율 주행 방법.
  7. 제1항에 있어서,
    상기 제3단계는
    상기 인식된 객체가 정지 사인에 해당하는지 판단하는 단계; 및
    상기 인식된 객체가 정지 사인에 해당한다는 판단에 따라, 상기 조향 파라미터와 속도 파라미터를 0으로 결정하는 단계
    를 포함하는,
    자율 주행 방법.
  8. 작업장 내 로봇의 현재 위치, 상기 로봇의 목표 위치 및 적어도 하나의 장애물의 위치에 기초하여 포텐셜 필드를 생성하는 단계;
    상기 포텐셜 필드에 기초하여, 상기 로봇의 이동 방향에 관한 제1 정보를 생성하는 단계;
    거리 센서의 센싱 정보에 기초하여 생성된 주변 장애물의 인식 정보에 따라, 상기 로봇의 이동 방향에 관한 제2 정보를 생성하는 단계; 및
    상기 제1 정보 및 상기 제2 정보에 기초하여, 상기 로봇의 이동 방향을 포함하는 주행 경로를 결정하는 단계
    를 포함하고,
    상기 제2 정보를 생성하는 단계는
    레이저 센서를 이용하여 복수의 각도들에 대응하여 거리 값들을 센싱하는 단계;
    상기 거리 값들과 상기 복수의 각도들의 코사인 값들에 기초하여 제1 축의 값들의 합을 계산하는 단계;
    상기 거리 값들과 상기 복수의 각도들의 사인 값들에 기초하여 제2 축의 값들의 합을 계산하는 단계; 및
    상기 제1 축의 값들의 합과 상기 제2 축의 값들의 합 사이의 비율에 기초하여 제1 조향 파라미터를 계산하는 단계
    를 포함하는,
    자율 주행 방법.
  9. 제8항에 있어서,
    상기 포텐셜 필드를 생성하는 단계는
    상기 로봇의 현재 위치 및 상기 로봇의 목표 위치에 기초하여 흡인 포텐셜 필드(attractive potential field)를 생성하는 단계;
    상기 적어도 하나의 장애물의 위치에 기초하여 반발 포텐셜 필드(repulsive potential field)를 생성하는 단계; 및
    상기 흡인 포텐셜 필드 및 상기 반발 포텐셜 필드를 혼합함으로써 상기 포텐셜 필드를 생성하는 단계
    를 포함하는,
    자율 주행 방법.
  10. 제8항에 있어서,
    상기 포텐셜 필드를 생성하는 단계는
    상기 로봇의 목표 위치를 음전하로 모델링하고, 상기 장애물을 양전하로 모델링하며, 상기 로봇을 양전하로 모델링 함으로써 상기 포텐셜 필드를 생성하는 단계
    를 포함하는,
    자율 주행 방법.
  11. 제8항에 있어서,
    상기 인식 정보는
    기 학습된 신경망을 이용하여 생성되며, 상기 거리 센서에 의하여 센싱된 영상 내 상기 주변 장애물을 포함하는 영역을 지시하는 정보를 포함하는,
    자율 주행 방법.
  12. 제8항에 있어서,
    상기 제1 정보 및 상기 제2 정보 각각은
    상기 로봇이 상기 현재 위치에서 이동 가능한 방향 후보들의 점수들 중 적어도 일부를 포함하는,
    자율 주행 방법.
  13. 제8항에 있어서,
    상기 제1 정보를 생성하는 단계는
    상기 로봇이 상기 현재 위치에서 이동 가능한 방향 후보들 중 상기 포텐셜 필드 상의 포텐셜 값이 낮은 후보일수록 더 큰 점수를 할당하는 단계
    를 포함하는,
    자율 주행 방법.
  14. 제8항에 있어서,
    상기 제2 정보를 생성하는 단계는
    상기 로봇이 상기 현재 위치에서 이동 가능한 방향 후보들 중 상기 인식 정보에 대응하는 영역을 회피하는 후보일수록 더 큰 점수를 할당하는 단계
    를 포함하는,
    자율 주행 방법.
  15. 제8항에 있어서,
    상기 주행 경로를 결정하는 단계는
    상기 제1 정보를 위한 제1 가중치 및 상기 제2 정보를 위한 제2 가중치에 기초하여, 상기 제1 정보 및 상기 제2 정보를 가중 합산함으로써, 상기 로봇의 이동 방향을 결정하는 단계
    를 포함하는,
    자율 주행 방법.
  16. 제8항에 있어서,
    상기 주행 경로가 결정됨에 따라 상기 로봇을 상기 이동 방향으로 이동시키는 단계; 및
    상기 로봇이 상기 이동 방향으로 이동함에 따라, 상기 로봇의 현재 위치를 갱신하는 단계
    를 더 포함하는,
    자율 주행 방법.
  17. 제16항에 있어서,
    상기 로봇의 현재 위치를 갱신하는 단계는
    상기 로봇이 상기 목표 위치에 도달할 때까지,
    상기 제1 정보를 결정하는 단계, 상기 제2 정보를 결정하는 단계, 및 상기 주행 경로를 결정하는 단계를 반복적으로 수행함으로써 상기 로봇의 현재 위치를 갱신하는 단계
    를 포함하는,
    자율 주행 방법.
  18. 하드웨어와 결합되어 제1항 내지 제3항, 제5항 내지 제17항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  19. 로봇의 주행 영상을 촬영하는 비전 센서;
    상기 로봇과 주변 객체와의 거리를 센싱하는 거리 센서; 및
    상기 주행 영상에서 객체의 인식 여부를 판단하고, 복수의 각도들에 대응하여 센싱되는 거리 값들 및 상기 각도들에 기초하여 제1 조향 파라미터를 결정하며, 상기 주행 영상에서 상기 객체가 인식된 위치에 따른 오류와 PID 제어의 비례 이득(proportional gain)에 기초하여 제2 조향 파라미터를 결정하고, 상기 객체의 인식 여부에 따라, 상기 제1 조향 파라미터 및 상기 제2 조향 파라미터 중 적어도 하나에 기초하여 조향 파라미터를 결정하는 적어도 하나의 프로세서
    를 포함하고,
    상기 프로세서는
    레이저 센서를 이용하여 상기 복수의 각도들에 대응하여 상기 거리 값들을 센싱하고, 상기 거리 값들과 상기 복수의 각도들의 코사인 값들에 기초하여 제1 축의 값들의 합을 계산하고, 상기 거리 값들과 상기 복수의 각도들의 사인 값들에 기초하여 제2 축의 값들의 합을 계산하며, 상기 제1 축의 값들의 합과 상기 제2 축의 값들의 합 사이의 비율에 기초하여 상기 제1 조향 파라미터를 계산하는,
    자율 주행 장치.
  20. 작업장 내 로봇의 현재 위치, 상기 로봇의 목표 위치 및 적어도 하나의 장애물의 위치를 포함하는 영상을 촬영하는 비전 센서;
    상기 로봇과 주변 장애물과의 거리를 감지하여 센싱 정보를 생성하는 거리 센서; 및
    상기 영상에 기초하여 포텐셜 필드를 생성하고, 상기 포텐셜 필드에 기초하여 상기 로봇의 이동 방향에 관한 제1 정보를 생성하고, 상기 센싱 정보에 기초하여 생성된 주변 장애물의 인식 정보에 따라 상기 로봇의 이동 방향에 관한 제2 정보를 생성하며, 상기 제1 정보 및 상기 제2 정보에 기초하여, 상기 로봇의 이동 방향을 포함하는 주행 경로를 결정하는 적어도 하나의 프로세서
    를 포함하고,
    상기 프로세서는
    레이저 센서를 이용하여 복수의 각도들에 대응하여 거리 값들을 센싱하고, 상기 거리 값들과 상기 복수의 각도들의 코사인 값들에 기초하여 제1 축의 값들의 합을 계산하고, 상기 거리 값들과 상기 복수의 각도들의 사인 값들에 기초하여 제2 축의 값들의 합을 계산하며, 상기 제1 축의 값들의 합과 상기 제2 축의 값들의 합 사이의 비율에 기초하여 제1 조향 파라미터를 계산하는,
    자율 주행 장치.
KR1020200055141A 2019-07-29 2020-05-08 인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치 KR102230144B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190092025 2019-07-29
KR1020190092025 2019-07-29

Publications (2)

Publication Number Publication Date
KR20210014065A KR20210014065A (ko) 2021-02-08
KR102230144B1 true KR102230144B1 (ko) 2021-03-22

Family

ID=74560414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200055141A KR102230144B1 (ko) 2019-07-29 2020-05-08 인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102230144B1 (ko)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102310613B1 (ko) 2021-05-14 2021-10-12 주식회사 인피닉 연속된 2d 이미지에서 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310609B1 (ko) 2021-05-14 2021-10-13 주식회사 인피닉 3d 데이터를 이용한 2d 이미지의 전처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310611B1 (ko) 2021-06-17 2021-10-13 주식회사 인피닉 2d 경로 추론을 통한 동일 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310612B1 (ko) 2021-06-17 2021-10-13 주식회사 인피닉 라이다 점군에서 특정된 객체 정보를 이용한 2d 이미지 객체 예측 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313938B1 (ko) 2021-06-17 2021-10-18 주식회사 인피닉 3d 경로 추론을 통한 동일 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313940B1 (ko) 2021-05-14 2021-10-18 주식회사 인피닉 연속된 3d 데이터에서 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313918B1 (ko) 2021-05-14 2021-10-18 주식회사 인피닉 3d 데이터와 2d 이미지의 동기화 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313944B1 (ko) 2021-05-14 2021-10-18 주식회사 인피닉 화각의 경계를 넘어가는 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343051B1 (ko) 2021-06-17 2021-12-24 주식회사 인피닉 라이다 점군으로부터 카메라 이미지의 바운딩 박스를 조정하는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343053B1 (ko) 2021-06-17 2021-12-24 주식회사 인피닉 라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343042B1 (ko) 2021-05-14 2021-12-24 주식회사 인피닉 연속된 3d 데이터에서 객체 품질 향상 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343052B1 (ko) 2021-06-17 2021-12-24 주식회사 인피닉 3d 데이터를 기반으로 2d 이미지에서의 객체의 이동 경로를 식별하는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343054B1 (ko) 2021-06-17 2021-12-24 주식회사 인피닉 3d 데이터 어노테이션 결과물의 대체 및 확대 적용 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343041B1 (ko) 2021-05-14 2021-12-24 주식회사 인피닉 3d 데이터에서 객체 자동 특정 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR20230149736A (ko) 2022-04-19 2023-10-27 주식회사 인피닉 객체 검출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102613162B1 (ko) 2023-04-25 2023-12-13 주식회사 인피닉 3d 점군 데이터의 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115337430A (zh) * 2022-08-11 2022-11-15 深圳市隆瑞科技有限公司 一种喷雾小车的控制方法和装置
CN116512237B (zh) * 2022-11-28 2023-09-19 广东建石科技有限公司 工业机器人视觉伺服方法、装置、电子设备及存储介质
CN117093005B (zh) * 2023-10-16 2024-01-30 华东交通大学 一种智能汽车自主避障方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101937689B1 (ko) * 2017-11-24 2019-04-11 (주)유프랜드 작업자 추종형 제어 알고리즘이 적용된 이동장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8126642B2 (en) * 2008-10-24 2012-02-28 Gray & Company, Inc. Control and systems for autonomously driven vehicles
KR101338246B1 (ko) * 2012-02-16 2013-12-09 인하대학교 산학협력단 이동로봇의 충돌방지 시스템 및 방법
KR102049863B1 (ko) * 2017-12-26 2020-01-08 엘지전자 주식회사 자율주행 차량 및 그 제어 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101937689B1 (ko) * 2017-11-24 2019-04-11 (주)유프랜드 작업자 추종형 제어 알고리즘이 적용된 이동장치

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102313944B1 (ko) 2021-05-14 2021-10-18 주식회사 인피닉 화각의 경계를 넘어가는 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310609B1 (ko) 2021-05-14 2021-10-13 주식회사 인피닉 3d 데이터를 이용한 2d 이미지의 전처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343041B1 (ko) 2021-05-14 2021-12-24 주식회사 인피닉 3d 데이터에서 객체 자동 특정 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343042B1 (ko) 2021-05-14 2021-12-24 주식회사 인피닉 연속된 3d 데이터에서 객체 품질 향상 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310613B1 (ko) 2021-05-14 2021-10-12 주식회사 인피닉 연속된 2d 이미지에서 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313940B1 (ko) 2021-05-14 2021-10-18 주식회사 인피닉 연속된 3d 데이터에서 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313918B1 (ko) 2021-05-14 2021-10-18 주식회사 인피닉 3d 데이터와 2d 이미지의 동기화 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343051B1 (ko) 2021-06-17 2021-12-24 주식회사 인피닉 라이다 점군으로부터 카메라 이미지의 바운딩 박스를 조정하는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313938B1 (ko) 2021-06-17 2021-10-18 주식회사 인피닉 3d 경로 추론을 통한 동일 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343053B1 (ko) 2021-06-17 2021-12-24 주식회사 인피닉 라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310612B1 (ko) 2021-06-17 2021-10-13 주식회사 인피닉 라이다 점군에서 특정된 객체 정보를 이용한 2d 이미지 객체 예측 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343052B1 (ko) 2021-06-17 2021-12-24 주식회사 인피닉 3d 데이터를 기반으로 2d 이미지에서의 객체의 이동 경로를 식별하는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343054B1 (ko) 2021-06-17 2021-12-24 주식회사 인피닉 3d 데이터 어노테이션 결과물의 대체 및 확대 적용 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310611B1 (ko) 2021-06-17 2021-10-13 주식회사 인피닉 2d 경로 추론을 통한 동일 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR20230149736A (ko) 2022-04-19 2023-10-27 주식회사 인피닉 객체 검출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102613162B1 (ko) 2023-04-25 2023-12-13 주식회사 인피닉 3d 점군 데이터의 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR20210014065A (ko) 2021-02-08

Similar Documents

Publication Publication Date Title
KR102230144B1 (ko) 인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치
Asadi et al. An integrated UGV-UAV system for construction site data collection
Matthies et al. Stereo vision-based obstacle avoidance for micro air vehicles using disparity space
Harapanahalli et al. Autonomous Navigation of mobile robots in factory environment
Li et al. Autonomous area exploration and mapping in underground mine environments by unmanned aerial vehicles
Vanneste et al. 3DVFH+: Real-time three-dimensional obstacle avoidance using an octomap
KR20100027683A (ko) 로봇의 경로계획 장치 및 방법
Santos et al. Navigation stack for robots working in steep slope vineyard
Smith et al. Real-time egocentric navigation using 3d sensing
Irfan et al. Vision-based guidance and navigation for autonomous mav in indoor environment
Raghavan et al. Reconfigurable and agile legged-wheeled robot navigation in cluttered environments with movable obstacles
Panagoda et al. Moving robots in unknown environments using potential field graphs
Wu et al. Real-time three-dimensional smooth path planning for unmanned aerial vehicles in completely unknown cluttered environments
Sheikh et al. Stereo vision-based optimal path planning with stochastic maps for mobile robot navigation
Muravyev et al. Enhancing exploration algorithms for navigation with visual SLAM
Abdulov et al. Visual odometry approaches to autonomous navigation for multicopter model in virtual indoor environment
Piccinelli et al. Hybrid motion planner integrating global voronoi diagrams and local velocity obstacle method
Akmandor et al. Reactive navigation framework for mobile robots by heuristically evaluated pre-sampled trajectories
Tsardoulias et al. Cost-based target selection techniques towards full space exploration and coverage for USAR applications in a priori unknown environments
Sanchez-Rodriguez et al. Onboard plane-wise 3D mapping using super-pixels and stereo vision for autonomous flight of a hexacopter
Akmandor et al. A 3d reactive navigation algorithm for mobile robots by using tentacle-based sampling
Mohamed et al. Autonomous navigation in dynamic environments: Deep learning-based approach
Yinka-Banjo et al. Comparative analysis of three obstacle detection and avoidance algorithms for a compact differential drive robot in v-rep
Nandikolla et al. Navigation and Path Planning of an Autonomous Mobile Robot
CN117232531B (zh) 机器人导航规划方法及存储介质和终端设备

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant