KR102559300B1 - An unmanned vehicle and method for controlling docking of the unmanned vehicle - Google Patents

An unmanned vehicle and method for controlling docking of the unmanned vehicle Download PDF

Info

Publication number
KR102559300B1
KR102559300B1 KR1020220186607A KR20220186607A KR102559300B1 KR 102559300 B1 KR102559300 B1 KR 102559300B1 KR 1020220186607 A KR1020220186607 A KR 1020220186607A KR 20220186607 A KR20220186607 A KR 20220186607A KR 102559300 B1 KR102559300 B1 KR 102559300B1
Authority
KR
South Korea
Prior art keywords
docking
unmanned mobile
mobile body
docking station
lidar
Prior art date
Application number
KR1020220186607A
Other languages
Korean (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 KR1020220186607A priority Critical patent/KR102559300B1/en
Application granted granted Critical
Publication of KR102559300B1 publication Critical patent/KR102559300B1/en

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/1679Programme controls characterised by the tasks executed
    • 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
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • 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
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • 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/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means

Abstract

도킹스테이션에 도킹하는 무인 이동체 및 무인 이동체의 도킹 제어 방법이 개시된다. 상기 방법은, 상기 무인 이동체의 제1 방향을 바라보는 카메라를 이용하여, 도킹스테이션에 위치하는 마커를 인식하는 단계; 상기 인식된 마커에 기록된 상기 마커의 위치 정보를 획득하는 단계; 상기 마커에 위치 정보에 기초하여, 상기 무인 이동체의 제2 방향을 바라보는 라이다가 상기 도킹스테이션을 바라보도록 상기 무인 이동체를 회전시키는 단계; 상기 라이다를 이용하여 상기 도킹스테이션을 식별하는 단계; 상기 도킹스테이션의 도킹 위치를 결정하는 단계; 상기 무인 이동체로부터 상기 도킹 위치까지의 거리 및 각도를 계산하는 단계; 및 상기 도킹 위치로 이동하면서, 상기 무인 이동체가 상기 도킹스테이션에 도킹될 때까지, 상기 라이다를 이용하여 상기 도킹 위치까지의 거리 및 각도를 업데이트하는 단계를 포함할 수 있다.Disclosed are an unmanned mobile body docked to a docking station and a docking control method of the unmanned mobile body. The method may include recognizing a marker located in a docking station using a camera looking in a first direction of the unmanned mobile body; obtaining location information of the marker recorded on the recognized marker; rotating the unmanned mobile body so that the lidar facing the second direction of the unmanned mobile body faces the docking station based on the location information of the marker; Identifying the docking station using the LIDAR; determining a docking position of the docking station; calculating a distance and an angle from the unmanned mobile vehicle to the docking position; and updating a distance and an angle to the docking position by using the LIDAR while moving to the docking position until the unmanned mobile body is docked to the docking station.

Description

무인 이동체 및 무인 이동체의 도킹 제어 방법{AN UNMANNED VEHICLE AND METHOD FOR CONTROLLING DOCKING OF THE UNMANNED VEHICLE} Unmanned vehicle and docking control method of unmanned vehicle

본 개시는 무인 이동체에 관한 것이다. 보다 상세하게는, 본 개시는 무인 이동체, 라이다 및 브이 형상의 마커를 활용한 무인 이동체의 도킹 제어 방법 및 프로그램에 관한 것이다.The present disclosure relates to an unmanned mobile vehicle. More specifically, the present disclosure relates to a docking control method and program for an unmanned mobile vehicle using a LIDAR and a V-shaped marker.

4차 산업혁명 시대를 맞이하여 병원, 공항, 쇼핑몰 등 다양한 공간에서 서비스 무인 이동체의 도입이 증가하는 추세이다. 일반적으로, 무인 이동체는 도킹스테이션에 도킹하기 전에, 자율 주행으로 홈 포인트(도킹 시작 위치)에 도착하고 도착한 지점에서 도킹을 시작한다. 마커를 기반으로 하는 비전 기반 도킹은 마커의 인식률이 높으나 도킹스테이션에 대한 상대적인 위치 추정의 오차가 발생할 수 있으며, 라이다 기반 도킹은 도킹스테이션에 대한 상대적인 위치 추정의 값이 정확하나 도킹스테이션에 대한 인식률이 낮을 수 있다.In the era of the 4th industrial revolution, the introduction of service unmanned mobile vehicles is increasing in various spaces such as hospitals, airports, and shopping malls. In general, an unmanned mobile vehicle arrives at a home point (docking start position) by autonomous driving before docking at a docking station and starts docking at the arrived point. Vision-based docking based on the marker has a high recognition rate of the marker, but an error in estimating the position relative to the docking station may occur, and LIDAR-based docking has an accurate value of position estimation relative to the docking station, but the recognition rate for the docking station may be low.

이에 따라, 비전 기반 도킹과 라이다 기반 도킹의 정확성 및 효율성을 개선하기 위한 무인 이동체의 연구가 지속적으로 행해져 오고 있다.Accordingly, research on unmanned vehicles to improve the accuracy and efficiency of vision-based docking and LIDAR-based docking has been continuously conducted.

대한민국 공개특허공보 제10-2004-0086939호(2004.10.13.)Republic of Korea Patent Publication No. 10-2004-0086939 (October 13, 2004)

본 개시에 개시된 실시예는 라이다 및 마커를 기반으로 도킹 완료 시간을 효율적으로 줄이면서 정확하게 도킹하는 방법을 제공하는데 그 목적이 있다.An object of the present disclosure is to provide a method for accurately docking while efficiently reducing docking completion time based on lidar and markers.

본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present disclosure are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.

상술한 기술적 과제를 달성하기 위한 본 개시의 일 측면에 따르면, 무인 이동체의 도킹 제어 방법이 제공될 수 있다. 상기 방법은, 상기 무인 이동체의 제1 방향을 바라보는 카메라를 이용하여, 도킹스테이션에 위치하는 마커를 인식하는 단계; 상기 인식된 마커의 위치 정보를 획득하는 단계; 상기 마커에 위치 정보에 기초하여, 상기 무인 이동체의 제2 방향을 바라보는 라이다가 상기 도킹스테이션을 바라보도록 상기 무인 이동체를 회전시키는 단계; 상기 라이다를 이용하여 상기 도킹스테이션을 식별하는 단계; 상기 도킹스테이션의 도킹 위치를 결정하는 단계; 상기 무인 이동체로부터 상기 도킹 위치까지의 거리 및 각도를 계산하는 단계; 및 상기 도킹 위치로 이동하면서, 상기 무인 이동체가 상기 도킹스테이션에 도킹될 때까지, 상기 라이다를 이용하여 상기 도킹 위치까지의 거리 및 각도를 업데이트하는 단계를 포함할 수 있다.According to one aspect of the present disclosure for achieving the above technical problem, a docking control method of an unmanned mobile body may be provided. The method may include recognizing a marker located in a docking station using a camera looking in a first direction of the unmanned mobile body; obtaining location information of the recognized marker; rotating the unmanned mobile body so that the lidar facing the second direction of the unmanned mobile body faces the docking station based on the location information of the marker; Identifying the docking station using the LIDAR; determining a docking position of the docking station; calculating a distance and an angle from the unmanned mobile vehicle to the docking position; and updating a distance and an angle to the docking position by using the LIDAR while moving to the docking position until the unmanned mobile body is docked to the docking station.

상기 제1 방향과 상기 제2 방향은 정반대의 방향인 것일 수 있다.The first direction and the second direction may be opposite directions.

상기 도킹스테이션을 식별하는 단계는, 상기 라이다를 이용하여 포인트 클라우드 데이터를 획득하는 단계; 상기 마커의 위치 정보에 기초하여, 상기 도킹스테이션의 위치를 추정하는 단계; 및 상기 도킹스테이션의 위치에 대응하는 상기 포인트 클라우드 데이터를 체크하여, 상기 포인트 클라우드의 포인트 데이터들의 길이가 상기 도킹스테이션의 길이와 소정 범위 이내에서 일치하는 경우 상기 포인트 데이터들을 도킹스테이션으로 결정하는 단계를 포함할 수 있다.Identifying the docking station may include obtaining point cloud data using the LIDAR; estimating a location of the docking station based on the location information of the marker; and checking the point cloud data corresponding to the location of the docking station, and determining the point data as the docking station when the length of the point data of the point cloud matches the length of the docking station within a predetermined range.

상기 도킹스테이션의 도킹 위치를 결정하는 단계는, 상기 포인트 클라우드 데이터 중에서 상기 도킹스테이션에 대응하는 것으로 결정된 포인트들의 중간 위치의 포인트 데이터를 상기 도킹 위치로 결정하는 것일 수 있다.The determining of the docking position of the docking station may include determining point data at an intermediate position of points determined to correspond to the docking station among the point cloud data as the docking position.

상기 라이다를 이용하여 상기 도킹 위치까지의 거리 및 각도를 업데이트하는 단계는, 상기 무인 이동체의 도킹 경로상의 제1 위치로 이동하는 단계; 상기 제1 위치에서 상기 도킹 위치를 센싱한 포인트 데이터를 기준으로, 좌우의 포인트 데이터들을 체크하여 상기 도킹스테이션을 재식별하는 단계; 상기 무인 이동체의 도킹 경로상의 제2 위치로 이동하는 단계; 및 상기 제2 위치에서 상기 마커를 인식하며 상기 도킹스테이션의 상기 도킹 위치까지 이동하는 단계를 포함할 수 있다.Updating the distance and angle to the docking position using the LIDAR may include moving to a first position on the docking path of the unmanned mobile vehicle; re-identifying the docking station by checking left and right point data based on point data that senses the docking position at the first position; moving to a second position on a docking path of the unmanned mobile vehicle; and recognizing the marker at the second location and moving to the docking location of the docking station.

본 개시의 일 측면에 따르면, 도킹스테이션에 도킹하는 무인 이동체를 제공할 수 있다. 상기 무인 이동체는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 무인 이동체의 제1 방향을 바라보는 카메라를 이용하여, 도킹스테이션에 위치하는 마커를 인식하고, 상기 인식된 마커의 위치 정보를 획득하고, 상기 마커에 위치 정보에 기초하여, 상기 무인 이동체의 제2 방향을 바라보는 라이다가 상기 도킹스테이션을 바라보도록 상기 무인 이동체를 회전시키고, 상기 라이다를 이용하여 상기 도킹스테이션을 식별하고, 상기 도킹스테이션의 도킹 위치를 결정하고, 상기 무인 이동체로부터 상기 도킹 위치까지의 거리 및 각도를 계산하고, 상기 도킹 위치로 이동하면서, 상기 무인 이동체가 상기 도킹스테이션에 도킹될 때까지, 상기 라이다를 이용하여 상기 도킹 위치까지의 거리 및 각도를 업데이트할 수 있다.According to one aspect of the present disclosure, it is possible to provide an unmanned mobile body docked to a docking station. The unmanned vehicle may include a memory for storing one or more instructions; and at least one processor executing the one or more instructions stored in the memory, wherein the at least one processor, by executing the one or more instructions, recognizes a marker located in the docking station using a camera facing a first direction of the unmanned mobile body, obtains location information of the recognized marker, and rotates the unmanned mobile body so that a lidar facing a second direction of the unmanned mobile body faces the docking station based on the location information of the recognized marker, and using the lidar to perform the one or more instructions stored in the memory. Identifying the king station, determining the docking position of the docking station, calculating the distance and angle from the unmanned mobile vehicle to the docking position, and moving to the docking position, until the unmanned mobile body is docked at the docking station, the distance and angle to the docking position may be updated using the LIDAR.

이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.In addition to this, a computer program stored in a computer readable recording medium for executing a method for implementing the present disclosure may be further provided.

이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, a computer readable recording medium recording a computer program for executing a method for implementing the present disclosure may be further provided.

본 개시의 전술한 과제 해결 수단에 의하면, 도킹 완료 시간을 효율적으로 줄일 수 있다.According to the above-mentioned problem solving means of the present disclosure, the docking completion time can be effectively reduced.

또한, 본 개시의 전술한 과제 해결 수단에 의하면, 도킹스테이션까지 장애물을 효율적으로 회피하거나, 장애물의 상황을 알리면서, 도킹 완료 시간을 효율적으로 줄일 수 있다.In addition, according to the above-mentioned problem solving means of the present disclosure, it is possible to efficiently avoid obstacles up to the docking station or efficiently reduce docking completion time while notifying the situation of the obstacle.

본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 개시의 일 실시예에 따른 서버가 로봇들의 트래픽을 제어하는 것을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 무인 이동체의 도킹 제어 방법을 설명하기 위한 흐름도이다.
도 3은 도킹스테이션에 마련된 마커를 도시한 도면이다.
도 4는 본 개시의 일 실시예에 따른 무인 이동체의 도킹 시작 위치를 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 무인 이동체의 도킹의 전반적인 과정을 도시한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 무인 이동체가 수행하는 라이다 필터링 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 무인 이동체가 도킹 위치를 결정하는 동작을 전반적으로 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 무인 이동체가 도킹 위치까지의 각도를 계산하는 동작을 설명하기 위한 도면이다.
도 9는 도 5에 도시된 도킹 시퀀스를 보충적으로 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 무인 이동체가 도킹을 재시도 가능한 위치로 이동하는 동작을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 무인 이동체가 라이다 기반 도킹을 할 때 예외처리를 하는 동작을 전반적으로 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 무인 이동체가 비전 기반 도킹을 할 때 예외처리를 하는 동작을 전반적으로 설명하기 위한 도면이다.
도 13은 무인 이동체의 이동과 관련된 파라미터들을 설명하기 위한 도면이다.
도 14는 무인 이동체의 모션이 결정되는 값에 따른 결과를 설명하기 위한 도면이다.
1 is a diagram schematically illustrating that a server controls traffic of robots according to an embodiment of the present disclosure.
2 is a flowchart illustrating a docking control method of an unmanned mobile body according to an embodiment of the present disclosure.
3 is a diagram illustrating a marker provided in a docking station.
4 is a diagram for explaining a docking start position of an unmanned mobile body according to an embodiment of the present disclosure.
5 is a flowchart illustrating an overall process of docking an unmanned mobile body according to an embodiment of the present disclosure.
6 is a diagram for explaining a lidar filtering operation performed by an unmanned mobile vehicle according to an embodiment of the present disclosure.
7 is a diagram for generally explaining an operation of determining a docking position of an unmanned mobile device according to an embodiment of the present disclosure.
8 is a diagram for explaining an operation of calculating an angle to a docking position of an unmanned mobile device according to an embodiment of the present disclosure.
FIG. 9 is a diagram for supplementarily explaining the docking sequence shown in FIG. 5 .
10 is a diagram for explaining an operation in which an unmanned mobile body moves to a position where docking can be retried according to an embodiment of the present disclosure.
FIG. 11 is a diagram for generally explaining an operation of exception processing when an unmanned mobile vehicle performs LIDAR-based docking according to an embodiment of the present disclosure.
12 is a diagram for generally explaining an operation of exception processing when an unmanned mobile vehicle performs vision-based docking according to an embodiment of the present disclosure.
13 is a diagram for explaining parameters related to movement of an unmanned mobile body.
14 is a diagram for explaining a result according to a value for determining the motion of an unmanned mobile body.

본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.Like reference numbers designate like elements throughout this disclosure. The present disclosure does not describe all elements of the embodiments, and general content or overlapping content between the embodiments in the technical field to which the present disclosure belongs is omitted. The term 'unit, module, member, or block' used in the specification may be implemented in software or hardware, and according to embodiments, a plurality of 'units, modules, members, or blocks' may be implemented as a single component, or a single 'unit, module, member, or block' may include a plurality of components.

또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.

제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다. Terms such as first and second are used to distinguish one component from another, and the components are not limited by the aforementioned terms.

단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Expressions in the singular number include plural expressions unless the context clearly dictates otherwise.

각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. In each step, the identification code is used for convenience of explanation, and the identification code does not describe the order of each step, and each step may be performed in a different order from the specified order unless a specific order is clearly described in context.

이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the working principle and embodiments of the present disclosure will be described with reference to the accompanying drawings.

본 명세서에서 본 개시에 따른 무인 이동체의 제어부는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 본 개시에 따른 제어부는, 컴퓨터, 서버를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.In this specification, the controller of the unmanned mobile vehicle according to the present disclosure includes all of various devices capable of providing results to users by performing calculation processing. For example, the control unit according to the present disclosure may include both a computer and a server, or may be in any one form.

여기에서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC, 싱글보드 컴퓨터 등을 포함할 수 있다.Here, the computer may include, for example, a laptop, a desktop, a laptop, a tablet PC, a slate PC, a single board computer, and the like with a web browser.

서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.A server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a mail server, a proxy server, and a web server.

휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.A portable terminal is, for example, a wireless communication device that ensures portability and mobility, and includes Personal Communication System (PCS), Global System for Mobile communications (GSM), Personal Digital Cellular (PDC), Personal Handyphone System (PHS), Personal Digital Assistant (PDA), International Mobile Telecommunication (IMT)-2000, Code Division Multiple Access (CDMA)-2000, W-Code Division Multiple Access (W-CDMA), and Wire (WiBro). All types of handheld-based wireless communication devices such as less Broadband Internet terminals, smart phones, etc., and wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs).

도 1은 본 개시의 일 실시예에 따른 이동체의 구성을 나타낸 도면이다.1 is a diagram showing the configuration of a moving body according to an embodiment of the present disclosure.

도 1을 참조하면, 무인 이동체(100)는 사람의 도움없이 스스로 외부 환경을 인식해 상황을 판단하고 임무를 수행하는 이동체일 수 있다. 예를 들어, 무인 이동체(100)는 이동 로봇일 수 있다. 무인 이동체(100)는 통신부(110), 제어부(120), 구동부(130)를 포함할 수 있다.Referring to FIG. 1 , the unmanned mobile body 100 may be a mobile body that recognizes an external environment, determines a situation, and performs a mission without human assistance. For example, the unmanned mobile body 100 may be a mobile robot. The unmanned mobile body 100 may include a communication unit 110, a control unit 120, and a driving unit 130.

통신부(110)는 제어부(120)와 전기적으로 연결될 수 있고, 충전을 위한 도킹스테이션(10)과 통신을 수행할 수 있다. 통신부(110)는 도킹스테이션(10)의 충전 신호를 수신받을 수 있다. 이때, 통신부(110)는 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.The communication unit 110 may be electrically connected to the control unit 120 and may communicate with the docking station 10 for charging. The communication unit 110 may receive a charging signal of the docking station 10 . At this time, the communication unit 110 includes a wireless communication module supporting various wireless communication schemes such as global system for mobile communication (GSM), code division multiple access (CDMA), wideband code division multiple access (WCDMA), universal mobile telecommunications system (UMTS), time division multiple access (TDMA), long term evolution (LTE), 4G, 5G, 6G, in addition to a WiFi module and a wireless broadband module. You can.

제어부(120)는 본 장치 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리(121), 및 메모리(121)에 저장된 데이터를 이용하여 전술한 동작을 수행하는 적어도 하나의 프로세서(122)로 구현될 수 있다. 여기에서, 메모리(121)와 프로세서(122)는 각각 별개의 칩으로 구현될 수 있다. 또한, 메모리(121)와 프로세서(122)는 단일 칩으로 구현될 수도 있다.The control unit 120 may be implemented with a memory 121 that stores data for an algorithm or a program that reproduces the algorithm for controlling the operation of components in the present device, and at least one processor 122 that performs the above-described operation using data stored in the memory 121. Here, the memory 121 and the processor 122 may be implemented as separate chips. Also, the memory 121 and the processor 122 may be implemented as a single chip.

메모리(121)는 본 장치의 다양한 기능을 지원하는 데이터와, 제어부의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 저장할 있고, 본 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 장치의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.The memory 121 may store data supporting various functions of the device, programs for operating the controller, store input/output data, and may store a plurality of application programs (applications), data and commands for operating the device. At least some of these application programs may be downloaded from an external server through wireless communication.

이러한, 메모리(121)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(211)는 본 장치와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.The memory 121 is a flash memory type, a hard disk type, a solid state disk type (SSD type), a silicon disk drive type (SDD type), a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable (EEPROM) read-only memory), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory 211 is separated from the apparatus, but may be a database connected by wire or wirelessly.

프로세서(122)는 무인 이동체(100)가 도킹스테이션(10)에 도킹하도록 하는 전반적인 동작들을 제어할 수 있다. 프로세서(122)는 카메라(140)를 통해 획득되는 영상 내에 포함된 마커를 인식할 수 있다. 프로세서(122)는 센서부(150)를 통해 획득되는 센서 데이터(예를 들어, 라이다의 포인트 클라우드 데이터)를 분석할 수 있다. 프로세서(122)는 센서 데이터를 이용하여 도킹스테이션(10)의 위치 및 무인 이동체(100)와의 각도를 결정하고, 무인 이동체(100)가 도킹스테이션(10)에 도킹할 수 있도록 제어하기 위한 정보들을 업데이트할 수 있다.The processor 122 may control overall operations of docking the unmanned vehicle 100 to the docking station 10 . The processor 122 may recognize a marker included in an image acquired through the camera 140 . The processor 122 may analyze sensor data (eg, LIDAR point cloud data) acquired through the sensor unit 150 . The processor 122 determines the position of the docking station 10 and the angle with the unmanned mobile body 100 using sensor data, and updates information for controlling the unmanned mobile body 100 to be docked to the docking station 10.

구동부(130)는 프로세서(122)를 통해 도킹스테이션(10)에 도킹하기 위해 주행하도록 무인 이동체(100)를 구동할 수 있다. 예를 들어, 구동부(130)는 무인 이동체(100)의 주행에 필요한 동력을 제공하기 위해, 배터리 및 배터리로부터 전원을 공급받는 전자적인 부품, 배터리 및 배터리로부터 전원을 공급받아 구동하는 바퀴 또는 구동벨트 등의 기계적인 구동 부품을 포함할 수 있다.The driving unit 130 may drive the unmanned mobile body 100 to drive to dock with the docking station 10 through the processor 122 . For example, the driving unit 130 may include a battery, an electronic component receiving power from the battery, and a mechanical driving component such as a wheel or driving belt driven by receiving power from the battery and the battery in order to provide power necessary for driving the unmanned mobile body 100.

카메라(140)는 RGB 카메라, RGB-D 카메라, TOF 카메라 중 적어도 하나를 포함할 수 있다.The camera 140 may include at least one of an RGB camera, an RGB-D camera, and a TOF camera.

센서부(150)는 초음파 센서, 레이더 센서, 라이다 센서 중 적어도 하나를 포함할 수 있다.The sensor unit 150 may include at least one of an ultrasonic sensor, a radar sensor, and a LIDAR sensor.

도 2는 본 개시의 일 실시예에 따른 무인 이동체의 도킹 제어 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a docking control method of an unmanned mobile body according to an embodiment of the present disclosure.

단계 S210에서, 일 실시예에 따른 무인 이동체(100)는 무인 이동체(100)의 제1 방향을 바라보는 카메라를 이용하여, 도킹스테이션에 위치하는 마커를 인식한다.In step S210, the unmanned mobile body 100 according to an embodiment recognizes a marker located in the docking station using a camera looking in the first direction of the unmanned mobile body 100.

무인 이동체(100)에는 무인 이동체(100)의 제1 방향을 바라보는 카메라를 포함할 수 있다. 예를 들어, 제1 방향은 무인 이동체(100)의 후면 방향일 수 있으나, 이에 한정되는 것은 아니다. 무인 이동체(100)는 무인 이동체(100)가 인식할 수 있는 반경 내의 마커를 검출 및 인식하기 위해, 회전할 수 있다.The unmanned mobile body 100 may include a camera looking in the first direction of the unmanned mobile body 100 . For example, the first direction may be the rear direction of the unmanned mobile body 100, but is not limited thereto. The unmanned mobile body 100 may rotate to detect and recognize a marker within a radius that the unmanned mobile body 100 can recognize.

단계 S220에서, 일 실시예에 따른 무인 이동체(100)는 인식된 마커의 위치 정보를 획득한다. 마커의 위치 정보는 예를 들어, 공간 좌표 X, Y, Z일 수 있으나, 이에 한정되는 것은 아니다.In step S220, the unmanned mobile body 100 according to an embodiment obtains location information of the recognized marker. The location information of the marker may be, for example, spatial coordinates X, Y, and Z, but is not limited thereto.

일 실시예에서, 무인 이동체(100)는 카메라를 이용하여 인식된 마커의 위치 정보를 추론할 수 있다. 무인 이동체(100)는 예를 들어, RGB-깊이 카메라를 이용하여 마커의 위치 정보를 대략적인 위치 정보를 추론할 수 있다.In one embodiment, the unmanned mobile body 100 may infer location information of a recognized marker using a camera. The unmanned mobile body 100 may infer approximate location information from marker location information using, for example, an RGB-depth camera.

일 실시예에서, 마커에 위치 정보가 기록되어 있는 경우, 무인 이동체(100)는 인식된 마커에 기록된 위치 정보를 획득할 수 있다.In one embodiment, when location information is recorded on the marker, the unmanned mobile body 100 may obtain the location information recorded on the recognized marker.

단계 S230에서, 일 실시예에 따른 무인 이동체(100)는 마커에 위치 정보에 기초하여, 무인 이동체의 제2 방향을 바라보는 라이다가 도킹스테이션을 바라보도록 무인 이동체를 회전 제어한다.In step S230, the unmanned mobile body 100 according to an embodiment controls the rotation of the unmanned mobile body so that the lidar facing the second direction of the unmanned mobile body faces the docking station based on the location information of the marker.

무인 이동체(100)에는 무인 이동체(100)의 제2 방향을 바라보는 라이다를 포함할 수 있다. 예를 들어, 제2 방향은 무인 이동체(100)의 정면 방향일 수 있으나, 이에 한정되는 것은 아니다. 다른 예에서, 제2 방향은 무인 이동체(100)의 측면 방향일 수 있으나, 이에 한정되는 것은 아니다. 무인 이동체(100)는 무인 이동체(100)가 도킹스테이션 및 도킹스테이션의 마커를 바라볼 수 있도록, 무인 이동체(100)를 회전 제어할 수 있다.The unmanned mobile body 100 may include a lidar facing the second direction of the unmanned mobile body 100 . For example, the second direction may be the front direction of the unmanned mobile body 100, but is not limited thereto. In another example, the second direction may be a lateral direction of the unmanned mobile body 100, but is not limited thereto. The unmanned mobile body 100 may rotate and control the unmanned mobile body 100 so that the unmanned mobile body 100 can look at the docking station and the marker of the docking station.

단계 S240에서, 일 실시예에 따른 무인 이동체(100)는 라이다를 이용하여 도킹스테이션을 식별한다.In step S240, the unmanned mobile body 100 according to an embodiment identifies a docking station using lidar.

무인 이동체(100)는 마커의 위치 정보에 기초하여 도킹스테이션의 위치를 추정할 수 있다. 예를 들어, 무인 이동체(100)는 라이다를 이용하여 도킹스테이션이 위치하는 방향에 대한 라이다 데이터를 획득할 수 있다. 라이다 데이터는 물체로부터 반사되어 돌아오는 신호를 측정한, 포인트 데이터들의 집합인 포인트 클라우드 데이터일 수 있으나, 이에 한정되는 것은 아니다.The unmanned mobile body 100 may estimate the location of the docking station based on the location information of the marker. For example, the unmanned mobile body 100 may acquire lidar data for a direction in which a docking station is located using lidar. LiDAR data may be point cloud data, which is a set of point data obtained by measuring a signal reflected from an object and returned, but is not limited thereto.

무인 이동체(100)는 라이다 데이터에 포함되는 노이즈를 제거할 수 있다. 무인 이동체(100)는 라이다 데이터의 노이즈를 제거한 뒤, 도킹스테이션의 위치에 대응하는 포인트 클라우드 데이터를 체크할 수 있다. 무인 이동체(100)는 객체를 측정한 포인트 클라우드의 포인트 데이터들의 길이가 도킹스테이션의 길이와 일치하는지 여부를 비교할 수 있다. 측정한 객체의 길이가 기 등록된 도킹스테이션의 길이와 소정 범위 이내에서 일치하는 경우, 무인 이동체(100)는 센싱된 객체를 도킹스테이션이라고 결정할 수 있다.The unmanned mobile body 100 may remove noise included in lidar data. The unmanned mobile body 100 may check the point cloud data corresponding to the location of the docking station after removing the noise of lidar data. The unmanned mobile body 100 may compare whether the length of the point data of the point cloud measuring the object matches the length of the docking station. When the length of the measured object matches the length of the pre-registered docking station within a predetermined range, the unmanned mobile body 100 may determine that the sensed object is the docking station.

단계 S250에서, 일 실시예에 따른 무인 이동체(100)는 도킹스테이션의 도킹 위치를 결정한다.In step S250, the unmanned mobile body 100 according to an embodiment determines the docking position of the docking station.

일 실시예에서, 도킹스테이션의 도킹 위치는 도킹스테이션의 중앙일 수 있다. 무인 이동체(100)는 포인트 클라우드 데이터 중에서 도킹스테이션에 대응하는 것으로 결정된 포인트들의 중간 위치의 포인트 데이터를 도킹 위치로 결정할 수 있다.In one embodiment, the docking location of the docking station may be the center of the docking station. The unmanned mobile body 100 may determine point data at an intermediate position of points determined to correspond to the docking station among the point cloud data as the docking position.

단계 S260에서, 일 실시예에 따른 무인 이동체(100)는 무인 이동체로부터 도킹 위치까지의 거리 및 각도를 계산한다.In step S260, the unmanned mobile body 100 according to an embodiment calculates the distance and angle from the unmanned mobile body to the docking position.

무인 이동체(100)는 무인 이동체의 현재 위치 및 도킹스테이션을 측정한 포인트 클라우드 데이터에 기초하여, 도킹 위치까지의 거리 및 각도를 계산할 수 있다. 이 경우, 무인 이동체(100)는 라이다의 포인트 클라우드 데이터를 이용하여 거리 및 각도를 계산할 수 있는 다양한 알고리즘을 이용할 수 있다. 예를 들어, 무인 이동체(100)가 라이다를 이용하여 도킹스테이션을 측정한 결과, 도킹스테이션의 특성(예를 들어, 도킹스테이션의 표면 재질 등)에 따라 포인트 클라우드 데이터의 원시 데이터(raw data)에는 이상치 데이터들이 포함될 수 있다. 즉, 도킹스테이션을 측정한 포인트 클라우드 데이터의 점들이 한 직선 위에 있지 않을 수 있다. 무인 이동체(100)는 최소제곱근사법(least squares approximation)을 이용하여, 포인트 클라우드 데이터의 점들이 나타내는 직선을 계산할 수 있다. 포인트 클라우드 데이터의 점들이 나타내는 직선은 도킹스테이션 및 도킹 위치에 대응하므로, 무인 이동체(100)는 계산된 직선에 기초하여 도킹 위치까지의 거리 및 각도를 계산할 수 있다. 다만, 무인 이동체(100)가 도킹 위치까지의 거리 및 각도를 계산하는 방법은 전술한 예시에 한정되는 것은 아니다.The unmanned mobile body 100 may calculate the distance and angle to the docking position based on point cloud data obtained by measuring the current location of the unmanned mobile body and the docking station. In this case, the unmanned vehicle 100 may use various algorithms capable of calculating distances and angles using point cloud data of LIDAR. For example, as a result of the unmanned mobile vehicle 100 measuring the docking station using lidar, the raw data of the point cloud data may include outlier data according to the characteristics of the docking station (eg, surface material of the docking station, etc.). That is, points of the point cloud data obtained by measuring the docking station may not lie on one straight line. The unmanned mobile body 100 may calculate a straight line represented by points of the point cloud data using least squares approximation. Since a straight line represented by points of the point cloud data corresponds to the docking station and the docking position, the unmanned mobile body 100 may calculate the distance and angle to the docking position based on the calculated straight line. However, the method of calculating the distance and angle of the unmanned mobile body 100 to the docking position is not limited to the above example.

단계 S270에서, 일 실시예에 따른 무인 이동체(100)는 도킹 위치로 이동하면서, 무인 이동체가 도킹스테이션에 도킹될 때까지, 라이다를 이용하여 도킹 위치까지의 거리 및 각도를 업데이트한다.In step S270, while moving to the docking position, the unmanned mobile body 100 according to an embodiment updates the distance and angle to the docking position using lidar until the unmanned mobile body is docked at the docking station.

일 실시예에서, 무인 이동체(100)는 최초로 계산된 도킹 위치를 저장할 수 있다. 무인 이동체(100)는 무인 이동체(100)의 현재 위치로부터 도킹 위치까지의 거리 및 각도를 계산하고, 도킹 경로를 생성할 수 있다. 무인 이동체(100)는 도킹 경로를 따라 주행하면서, 라이다를 이용하여 도킹스테이션을 계속하여 센싱한다. 무인 이동체(100)는 도킹 위치에 도달하여 도킹이 성공할 때까지, 도킹 위치까지의 거리 및 각도를 업데이트하는 동작을 반복 수행할 수 있다.In one embodiment, the unmanned mobile body 100 may store the initially calculated docking position. The unmanned mobile body 100 may calculate the distance and angle from the current position of the unmanned mobile body 100 to the docking position and generate a docking path. The unmanned mobile body 100 continues to sense the docking station using lidar while driving along the docking path. The unmanned mobile body 100 may repeatedly perform an operation of updating the distance and angle to the docking position until the docking position is successfully docked.

도 3은 도킹스테이션에 마련된 마커를 도시한 도면이다.3 is a diagram illustrating a marker provided in a docking station.

일 실시예에서, 도킹스테이션(10)에는 마커판(20)이 마련되어있을 수 있다. 마커판(20)에는 예를 들어, 제1 마커(21) 및 제2 마커(22)가 포함될 수 있다. 무인 이동체(100)는 카메라를 이용하여 마커판(20) 내 제1 마커(21) 및 제2 마커(22)를 인식할 수 있다. 이 경우, 카메라는 깊이 정보를 획득 가능한 카메라(예를 들어, RGB-D 카메라, TOF 카메라 등)를 포함할 수 있으나, 이에 한정되는 것은 아니다.In one embodiment, a marker board 20 may be provided in the docking station 10 . The marker board 20 may include, for example, a first marker 21 and a second marker 22 . The unmanned mobile body 100 may recognize the first marker 21 and the second marker 22 in the marker board 20 using a camera. In this case, the camera may include a camera capable of obtaining depth information (eg, an RGB-D camera, a TOF camera, etc.), but is not limited thereto.

일 실시예에서, 무인 이동체(100)는 무인 이동체(100) 주변의 마커를 인식하기 위해, 무인 이동체(100)를 회전시킬 수 있다. 무인 이동체(100)는 무인 이동체(100)의 제1 방향을 바라보는 카메라가 마커판(20)을 바라보도록, 무인 이동체(100)의 방향을 정렬할 수 있다. 무인 이동체(100)는 카메라를 이용하여 인식한 제1 마커(21) 및 제2 마커(22)를 기반으로, 도킹스테이션(10)의 위치를 1차적으로 추정할 수 있다.In one embodiment, the unmanned mobile body 100 may rotate the unmanned mobile body 100 in order to recognize a marker around the unmanned mobile body 100 . The unmanned mobile body 100 may align the direction of the unmanned mobile body 100 so that the camera facing the first direction of the unmanned mobile body 100 faces the marker plate 20 . The unmanned mobile body 100 may primarily estimate the location of the docking station 10 based on the first marker 21 and the second marker 22 recognized using the camera.

일 실시예에서, 무인 이동체(100)는 라이다를 이용하여 도킹스테이션(10)을 측정하기 위해, 무인 이동체(100)를 회전시킬 수 있다. 무인 이동체(100)는 무인 이동체(100)의 제2 방향을 바라보는 라이다가 도킹스테이션(10)을 바라보도록, 무인 이동체(100)의 방향을 정렬할 수 있다. 무인 이동체(100)는 라이다를 이용하여 도킹스테이션(10)을 센싱함으로써, 라이다 데이터를 획득할 수 있다. 라이다 데이터는 포인트 클라우드 형태의 데이터일 수 있다.In one embodiment, the unmanned mobile body 100 may rotate the unmanned mobile body 100 in order to measure the docking station 10 using lidar. The unmanned mobile body 100 may align the direction of the unmanned mobile body 100 so that the lidar facing the second direction of the unmanned mobile body 100 faces the docking station 10 . The unmanned mobile body 100 may acquire lidar data by sensing the docking station 10 using lidar. LiDAR data may be data in the form of a point cloud.

도 4는 본 개시의 일 실시예에 따른 무인 이동체의 도킹 시작 위치를 설명하기 위한 도면이다.4 is a diagram for explaining a docking start position of an unmanned mobile body according to an embodiment of the present disclosure.

도 4를 참조하면, 무인 이동체(100)가 도킹스테이션(10)에 도킹하기 위한 경로의 일 예시가 도시되어 있다. 중앙 위치는 도킹 위치로부터 직선상의 지점으로, 중앙 위치로부터 도킹 위치까지 무인 이동체(100)가 직진 이동하면 도킹이 가능하다. 임시 위치는 중앙 위치와 도킹 위치 사이의 임의의 한 지점으로, 임시 위치로부터 도킹 위치까지 무인 이동체(100)가 직진 이동하더라도 도킹이 가능하다.Referring to FIG. 4 , an example of a path for docking the unmanned vehicle 100 to the docking station 10 is shown. The central position is a point on a straight line from the docking position, and docking is possible when the unmanned mobile body 100 moves straight from the central position to the docking position. The temporary position is an arbitrary point between the central position and the docking position, and docking is possible even when the unmanned mobile body 100 moves straight from the temporary position to the docking position.

한편, 무인 이동체(100)의 도킹 시작 위치는, 도킹 위치, 임시 위치, 중앙 위치를 연결하는 일직선상에 있지 않을 수 있다. 무인 이동체(100)는 임의의 도킹 시작 위치에서 도킹을 시작하더라도, 라이다를 이용하여 도킹 위치까지의 거리 및 각도를 측정하고 업데이트하며 이동하므로, 최종적으로 도킹 위치에 도달하여 도킹에 성공할 수 있다. 예를 들어, 무인 이동체(100)는 도킹 시작 위치에서 출발하더라도, 라이다를 이용하여 지속적으로 도킹 위치까지의 거리 및 각도를 계산하면서, 임시 위치에 도달할 수 있다. 무인 이동체(100)는 임시 위치에 도달하면, 도킹 위치까지 직선으로 이동하여 도킹에 성공할 수 있다.Meanwhile, the docking start position of the unmanned mobile body 100 may not be on a straight line connecting the docking position, the temporary position, and the center position. Even if the unmanned mobile body 100 starts docking at an arbitrary docking start position, since the distance and angle to the docking position are measured, updated, and moved using LIDAR, the unmanned mobile body 100 can finally arrive at the docking position and dock successfully. For example, even if the unmanned mobile body 100 departs from the docking start position, it may arrive at the temporary position while continuously calculating the distance and angle to the docking position using lidar. When the unmanned mobile body 100 reaches the temporary location, it can move in a straight line to the docking location and docking successfully.

도 5는 본 개시의 일 실시예에 따른 무인 이동체의 도킹의 전반적인 과정을 도시한 흐름도이다.5 is a flowchart illustrating an overall process of docking an unmanned mobile body according to an embodiment of the present disclosure.

무인 이동체(100)는 마커가 인식되면, 라이더 인식을 수행한다. 무인 이동체(100)는 라이더 인식을 수행하기 위해, 구동부를 제어하여 무인 이동체(100)가 마커 및 도킹스테이션을 바라보도록 할 수 있다. 일부 실시예에서, 라이다 인식이 불가능한 경우, 무인 이동체(100)는 라이다 인식 동작을 종료하고 마커 인식에 기반한 도킹 프로세스로 전환할 수 있다. 마커 인식 기반 도킹 프로세스는, 인식률이 높은 반면 도킹스테이션과 무인 이동체(100)간의 상대적인 위치 추정은 오차가 존재할 수 있다. 예를 들어, 마커 인식 기반 도킹 프로세스는, 마커의 위치를 인식하고, 무인 이동체(100)가 도 4에서 전술한 중앙 위치로 이동한 뒤, 도킹스테이션까지 직진 이동하도록 하는 일련의 프로세스일 수 있으나, 이에 한정되는 것은 아니다. 마커 인식 기반 도킹 프로세서는, 라이다 인식이 불가능한 경우에만 수행되고, 인식되는 마커의 위치를 추적하여 주행하는 것이므로, 마커 인식 도킹 프로세스의 구체적인 도킹 시퀀스에 대한 설명은 생략한다.When the marker is recognized, the unmanned mobile body 100 performs rider recognition. In order to perform rider recognition, the unmanned mobile body 100 may control the driving unit so that the unmanned mobile body 100 looks at the marker and the docking station. In some embodiments, when lidar recognition is impossible, the unmanned mobile body 100 may end the lidar recognition operation and switch to a docking process based on marker recognition. While the marker recognition-based docking process has a high recognition rate, an error may exist in estimating the relative position between the docking station and the unmanned mobile body 100. For example, the docking process based on marker recognition recognizes the position of the marker, and the unmanned mobile body 100 moves to the central position described above in FIG. 4 and then moves straight to the docking station. It may be a series of processes, but is not limited thereto. Since the docking process based on marker recognition is performed only when lidar recognition is impossible and tracks the location of a recognized marker while driving, a detailed description of the docking sequence of the marker recognition docking process will be omitted.

무인 이동체(100)는 라이다 인식이 가능하거나 마커 인식 기반 도킹 프로세스로 전환된 경우, 라이다 인식 기반 도킹 시퀀스 또는 마커 인식 기반 도킹 시퀀스를 수행한다. 라이다 인식 기반 도킹 시퀀스는, 라이다 필터링, 라이다 매칭 및 라이다 트래킹 단계들을 포함할 수 있다. 여기서, 라이다 필터링은 라이다 데이터의 노이즈를 필터링하는 동작이고, 라이다 매칭은 라이다 데이터를 이용하여 도킹스테이션과 매칭함으로써 도킹스테이션의 위치, 도킹스테이션까지의 거리, 도킹스테이션과의 각도를 결정하는 동작이고 라이다 트래킹은 무인 이동체(100)가 도킹스테이션으로 이동하면서 지속적으로 위 동작들을 반복하는 것을 말한다. 라이다 기반 도킹 시퀀스에 대한 구체적인 동작들에 대해서는 후술하는 도면들을 참조하여 더 설명하기로 한다.The unmanned mobile vehicle 100 performs a docking sequence based on lidar recognition or a docking sequence based on marker recognition when lidar recognition is possible or when the docking process is switched to marker recognition. A docking sequence based on lidar awareness may include lidar filtering, lidar matching, and lidar tracking steps. Here, lidar filtering is an operation of filtering noise of lidar data, and lidar matching is an operation of matching the docking station using lidar data to determine the location of the docking station, the distance to the docking station, and the angle with the docking station. Lidar tracking refers to continuously repeating the above operations while the unmanned vehicle 100 moves to the docking station. Detailed operations for the LIDAR-based docking sequence will be further described with reference to drawings to be described later.

무인 이동체(100)는 도킹 시퀀스를 수행하여 도킹 위치에 도달함으로써 도킹에 성공하면, 도킹 동작을 종료할 수 있다. 무인 이동체(100)는 도킹에 실패하는 경우, 도킹 방식을 전환하여 도킹 동작을 다시 수행할 수 있다. 예를 들어, 무인 이동체(100)는 마커를 인식하는 마커 인식 기반 도킹 방식으로 전환하여 도킹 동작을 다시 수행할 수 있다. 도킹의 성공 여부는 무인 이동체(100)에 충전 신호가 수신되는지 여부에 기초하여 결정될 수 있으나, 이에 한정되는 것은 아니다.When the unmanned mobile body 100 reaches a docking position by performing a docking sequence and docking is successful, the docking operation may be terminated. When docking fails, the unmanned mobile body 100 may switch the docking method and perform the docking operation again. For example, the unmanned mobile body 100 may perform a docking operation again by switching to a docking method based on marker recognition for recognizing markers. Successful docking may be determined based on whether or not a charging signal is received by the unmanned mobile vehicle 100, but is not limited thereto.

도 6은 본 개시의 일 실시예에 따른 무인 이동체가 수행하는 라이다 필터링 동작을 설명하기 위한 도면이다. 6 is a diagram for explaining a lidar filtering operation performed by an unmanned mobile vehicle according to an embodiment of the present disclosure.

도 6을 참조하면, 무인 이동체(100)가 획득한 라이다 데이터(600)가 도시되어 있다. 여기서, 무인 이동체(100)는 도킹스테이션(10)을 센싱하여 라이다 데이터(600)를 획득한 것이므로, 라이다 데이터(600)에는, 도킹스테이션(10)에 대응하는 포인트 데이터, 도킹스테이션(10)의 뒤에 위치하는 벽에 대응하는 포인트 데이터, 노이즈(610)가 포함될 수 있다. 무인 이동체(100)는 도킹스테이션(10)에 대한 라이다 데이터(600)를 획득하면, 라이다 데이터 필터링을 할 수 있다. Referring to FIG. 6 , LiDAR data 600 obtained by the unmanned vehicle 100 is shown. Here, since the unmanned mobile body 100 acquires the lidar data 600 by sensing the docking station 10, the lidar data 600 may include point data corresponding to the docking station 10, point data corresponding to a wall located behind the docking station 10, and noise 610. When acquiring lidar data 600 for the docking station 10, the unmanned mobile body 100 may perform lidar data filtering.

무인 이동체(100)는 라이다 데이터의 노이즈(610)를 제거하기 위한 알고리즘을 적용할 수 있다. 예를 들어, 무인 이동체는 기 설정된 조건을 충족하는 포인트 데이터를 노이즈로 판단할 수 있다. 구체적으로, 라이다 데이터(600)에서 이웃하는 포인트 데이터 간 길이가 특정 값보다 크고, 주변에 포인트 데이터 개수가 작을 경우, 무인 이동체(100)는 해당 포인트 데이터를 노이즈(610)로 판단할 수 있다.The unmanned vehicle 100 may apply an algorithm for removing noise 610 of lidar data. For example, the unmanned vehicle may determine point data that meets a preset condition as noise. Specifically, when the length between neighboring point data in lidar data 600 is greater than a specific value and the number of point data in the vicinity is small, the unmanned vehicle 100 may determine the corresponding point data as noise 610.

무인 이동체(100)는 라이다 데이터(600)에서 노이즈를 제거한 후에, 도킹스테이션(10) 및 도킹스테이션(10)의 도킹 위치를 추적할 수 있다. 이에 대하서는 다른 도면들을 이용하여 후술한다.After noise is removed from the lidar data 600, the unmanned mobile body 100 may track the docking station 10 and the docking position of the docking station 10. This will be described later using other drawings.

도 7은 본 개시의 일 실시예에 따른 무인 이동체가 도킹 위치를 결정하는 동작을 전반적으로 설명하기 위한 도면이다.7 is a diagram for generally explaining an operation of determining a docking position of an unmanned mobile device according to an embodiment of the present disclosure.

도 7을 참조하면, 전술한 도킹스테이션(10) 및 마커판(20)이 도시되어 있다. 무인 이동체(100)는 라이다 매칭 동작을 수행할 수 있다. 무인 이동체(100)는 비전 인식을 통해 마커판(20)을 인식하고, 마커의 위치(710)를 획득할 수 있다. 또한, 무인 이동체(100)는 라이다 인식을 통해 도킹스테이션(10)에 대한 라이다 데이터인 포인트 클라우드 데이터를 획득할 수 있다.Referring to FIG. 7 , the aforementioned docking station 10 and marker board 20 are shown. The unmanned vehicle 100 may perform lidar matching operation. The unmanned mobile body 100 may recognize the marker board 20 through vision recognition and acquire the location 710 of the marker. In addition, the unmanned mobile body 100 may acquire point cloud data that is lidar data for the docking station 10 through lidar recognition.

일 실시예에서, 무인 이동체(100)는 도킹스테이션(10)에 대한 포인트 클라우드 데이터를 이용하여, 도킹 위치(720)를 추론할 수 있다. 무인 이동체(100)는 도킹스테이션(10)에 대한 포인트 클라우드 데이터 내 포인트 데이터들에 대한 인덱스를 식별할 수 있다. 무인 이동체(100)는 포인트 데이터들이 기 설정된 조건을 충족하는지 여부에 기초하여, 라이다를 이용하여 센싱한 객체가 도킹스테이션(10)임을 결정할 수 있다. 예를 들어, 무인 이동체(100)는 포인트 데이터들의 인덱스를 검색할 수 있다.In one embodiment, the unmanned vehicle 100 may infer the docking position 720 using point cloud data for the docking station 10 . The unmanned mobile vehicle 100 may identify indexes of point data in point cloud data for the docking station 10 . The unmanned mobile body 100 may determine that the docking station 10 is an object sensed using lidar based on whether point data satisfies a preset condition. For example, the unmanned mobile body 100 may search indexes of point data.

무인 이동체(100)가 포인트 데이터들을 체크한 결과, 포인트 데이터들의 각각의 인덱스 값이 연속되고, 포인트 데이터들 간 길이가 서로 일정한 길이를 갖는 경우, 무인 이동체(100)는 기 설정된 조건을 충족하는 포인트 데이터들을 식별할 수 있다. 무인 이동체(100)는 기 설정된 조건을 충족하는 포인트 데이터들 중에서 양 끝 포인트들을 식별할 수 있다. 예를 들어, 무인 이동체(100)는 양끝의 포인트 데이터 P1, P2를 식별할 수 있다. 무인 이동체(100)는 P1, P2간의 길이를 계산하고, 이를 기 설정된 값과 비교하여, 객체가 도킹스테이션(10)이라고 결정할 수 있다.As a result of the check of the point data by the unmanned mobile unit 100, when the index values of each of the point data are consecutive and the lengths between the point data have a constant length, the unmanned mobile unit 100 can identify the point data that satisfies a preset condition. The unmanned vehicle 100 may identify both end points among point data that satisfy a preset condition. For example, the unmanned mobile body 100 may identify point data P1 and P2 at both ends. The unmanned mobile body 100 may determine that the object is the docking station 10 by calculating the length between P1 and P2 and comparing it with a preset value.

예를 들어, 도킹스테이션(10)의 길이가 32.5cm인 경우, 무인 이동체(100)는 P1, P2간의 길이를 계산한 결과에 기초하여 도킹스테이션(10)인지 여부를 결정할 수 있다. 이 경우, 무인 이동체(100)는 기 설정된 마진을 적용할 수 있다. 구체적으로, 무인 이동체(100)는 4cm의 마진을 적용할 수 있다. 전술한 예시에 따라, 무인 이동체(100)는 P1, P2간의 길이가 28.5cm 보다 크거나 32.5cm 보다 작은 경우, 이를 도킹스테이션이라고 결정할 수 있다. 또는, 무인 이동체(100)는 포인트 클라우드의 포인트 데이터들의 길이가 도킹스테이션의 길이와 일치하는 경우, 상기 포인트 데이터들이 나타내는 객체를 도킹스테이션(10)이라고 결정할 수 있다.For example, when the length of the docking station 10 is 32.5 cm, the unmanned mobile body 100 may determine whether it is the docking station 10 based on a result of calculating the length between P1 and P2. In this case, the unmanned mobile body 100 may apply a preset margin. Specifically, the unmanned mobile body 100 may apply a margin of 4 cm. According to the above example, the unmanned mobile body 100 may determine that the docking station is the case where the length between P1 and P2 is greater than 28.5 cm or less than 32.5 cm. Alternatively, the unmanned mobile body 100 may determine that an object indicated by the point data is the docking station 10 when the length of the point data of the point cloud coincides with the length of the docking station.

일 실시예에서, 무인 이동체(100)는 도킹스테이션(10)의 도킹 위치(720)를 결정할 수 있다. 무인 이동체(100)는 P1, P2의 중심 점을 도킹 위치(720)라고 결정할 수 있다.In one embodiment, the unmanned mobile body 100 may determine the docking position 720 of the docking station 10 . The unmanned mobile body 100 may determine the center point of P1 and P2 as the docking position 720 .

무인 이동체(100)는 도킹 위치(720)가 결정되면, 무인 이동체(100)로부터 도킹 위치(720) 까지의 거리 및 각도 θ(730)를 계산할 수 있다. 도킹 위치(720) 까지의 거리는 카메라를 이용한 깊이 센싱 기반 또는 라이다 기반으로 획득될 수 있다. 도킹 위치(720)까지의 각도 θ(730)는 라이다를 이용하여 획득된 포인트 클라우드 데이터를 이용하여 획득될 수 있다. 이는, 도 8을 참조하여 더 설명한다.When the docking position 720 is determined, the unmanned mobile body 100 may calculate the distance and angle θ 730 from the unmanned mobile body 100 to the docking position 720 . The distance to the docking position 720 may be obtained based on depth sensing using a camera or LIDAR. An angle θ 730 to the docking position 720 may be obtained using point cloud data obtained using LIDAR. This is further explained with reference to FIG. 8 .

도 8은 본 개시의 일 실시예에 따른 무인 이동체가 도킹 위치까지의 각도를 계산하는 동작을 설명하기 위한 도면이다.8 is a diagram for explaining an operation of calculating an angle to a docking position of an unmanned mobile device according to an embodiment of the present disclosure.

일 실시예에서, 무인 이동체(100)가 라이다를 이용하여 도킹스테이션(10)을 센싱한 포인트 클라우드 데이터(810)는, 일부 오차로 인해 직선으로 표현이 불가능할 수 있다. 무인 이동체(100)는 무인 이동체(100)로부터 도킹스테이션(10)의 도킹 위치(820) 까지의 각도 θ1(830)을 구하기 위해, 포인트 클라우드 데이터(810)를 선형화할 수 있다. 예를 들어, 무인 이동체(100)는 최소제곱근사법(least squares approximation)을 이용하여 포인트 클라우드 데이터(810)를 선형화할 수 있다. 무인 이동체(100)는 최소제곱근사법을 이용하여 포인트 클라우드 데이터(810)의 직선 방정식 y=ax+b를 계산할 수 있다. 여기서, 무인 이동체(100)의 위치가 원점(0,0)이고, 포인트 클라우드 데이터(810)의 값들이 y=ax+b에 대응하는 값들(x,y)일 수 있다.In one embodiment, the point cloud data 810 obtained by sensing the docking station 10 by the unmanned mobile body 100 using lidar may not be expressed as a straight line due to some errors. The unmanned mobile body 100 may linearize the point cloud data 810 to obtain an angle θ 1 830 from the unmanned mobile body 100 to the docking position 820 of the docking station 10 . For example, the unmanned vehicle 100 may linearize the point cloud data 810 using least squares approximation. The unmanned mobile body 100 may calculate the linear equation y=ax+b of the point cloud data 810 using the least squares approximation method. Here, the location of the unmanned vehicle 100 may be the origin (0,0), and the values of the point cloud data 810 may be values (x,y) corresponding to y=ax+b.

무인 이동체(100)는 직선의 기울기 a에 기초하여, 무인 이동체(100)와 도킹 위치(820) 사이의 각도 θ1(830)을 계산할 수 있다. 일부 실시예에서, 직선의 기울기 a에 기초하여 계산되는 각도는 θ2(840)일 수 있다. 이 경우, 무인 이동체(200)는 θ2(840)에서 90도를 빼서 θ1(830)을 계산할 수 있다. 유사한 방식으로, 무인 이동체(100)는 직선의 기울기 a에 기초하여 각도를 계산하거나, 계산된 각도에서 90도를 더하거나 뺌으로써, 무인 이동체(100)와 도킹 위치(820) 사이의 각도 θ1(830)을 계산할 수 있다.The unmanned mobile body 100 may calculate an angle θ 1 830 between the unmanned mobile body 100 and the docking position 820 based on the slope a of the straight line. In some embodiments, the angle calculated based on the slope a of the straight line may be θ 2 (840). In this case, the unmanned mobile body 200 may calculate θ 1 (830) by subtracting 90 degrees from θ 2 (840). In a similar way, the unmanned mobile body 100 calculates the angle based on the slope a of the straight line, or by adding or subtracting 90 degrees from the calculated angle, so that the angle θ 1 between the unmanned mobile body 100 and the docking position 820 can be calculated (830).

도 9는 도 5에 도시된 도킹 시퀀스를 보충적으로 설명하기 위한 도면이다.FIG. 9 is a diagram for supplementarily explaining the docking sequence shown in FIG. 5 .

일 실시예에서, 무인 이동체(100)는 전술한 예시들에 따라 도킹 위치(900)를 획득하면, 최초로 인식된 도킹 위치(900)를 등록한다. 무인 이동체(100)는 등록된 도킹 위치(900)의 정보를 이용하여 라이다 트래킹 동작을 수행할 수 있다.In one embodiment, when the docking position 900 is acquired according to the examples described above, the unmanned mobile body 100 registers the initially recognized docking position 900 . The unmanned mobile body 100 may perform a lidar tracking operation using the information of the registered docking position 900 .

일 실시예에서, 무인 이동체(100)가 최초로 도킹 위치(900)까지의 거리 및 각도를 계산하면, 무인 이동체(100)는 도킹을 위해 주행을 시작한다. 무인 이동체(100)는 주행을 하면서, 도킹 위치(900)까지의 거리 및 각도를 업데이트할 수 있다.In one embodiment, when the unmanned mobile body 100 first calculates the distance and angle to the docking position 900, the unmanned mobile body 100 starts driving for docking. The unmanned mobile body 100 may update the distance and angle to the docking position 900 while driving.

일 실시예에서, 무인 이동체(100)는 최초 위치로부터 도킹 경로상의 제1 위치로 이동할 수 있다. 무인 이동체(100)는 라이다를 이용하여 제1 위치에서 도킹 위치(900)를 센싱하여 포인트 클라우드 데이터를 획득할 수 있다. 무인 이동체(100)는 제1 위치에서 도킹 위치(900)를 센싱한 포인트 데이터를 기준으로, 좌우의 포인트 데이터들을 체크하여 도킹스테이션(10)을 재식별할 수 있다.In one embodiment, the unmanned mobile body 100 may move from an initial location to a first location on a docking path. The unmanned mobile body 100 may obtain point cloud data by sensing the docking position 900 at the first position using LIDAR. The unmanned mobile body 100 may re-identify the docking station 10 by checking left and right point data based on the point data that senses the docking position 900 at the first position.

무인 이동체(100)는 이전에 등록한 도킹 위치의 정보를 이용하여, 가장 가까운 라이다의 포인트 데이터의 인덱스를 검색하고, 검색된 인덱스를 기준으로 좌우의 포인트 데이터들을 체크할 수 있다. 무인 이동체(100)는 포인트 데이터들의 양 끝점 P1, P2를 식별하고, P1, P2 사이의 길이를 계산할 수 있다. 무인 이동체(100)는 P1, P2 사이의 길이가 기 설정된 도킹스테이션(10)의 길이와 소정 범위 이내에서 일치하면, 도킹 위치(900)의 정보를 업데이트하여 저장할 수 있다. 구체적으로, 도 7에서 전술한 예시와 같이, 도킹스테이션(10)의 길이가 32.5cm이고, P1, P2간의 길이가 28.5cm 보다 크거나 32.5cm 보다 작은 경우, 무인 이동체(100)는 도킹 위치(900)의 정보를 업데이트할 수 있다.The unmanned mobile body 100 may search for an index of point data of the nearest lidar using previously registered docking location information, and check left and right point data based on the searched index. The unmanned mobile body 100 may identify both end points P1 and P2 of the point data and calculate the length between P1 and P2. The unmanned mobile body 100 may update and store the information of the docking position 900 when the length between P1 and P2 matches the preset length of the docking station 10 within a predetermined range. Specifically, as in the example described above in FIG. 7, when the length of the docking station 10 is 32.5 cm and the length between P1 and P2 is greater than 28.5 cm or less than 32.5 cm, the unmanned mobile body 100 can update the information of the docking position 900.

일 실시예에서, 무인 이동체(100)는 도킹스테이션(10)의 재식별에 따라 계산된 도킹 위치(900)의 좌표가 이전에 계산된 도킹 위치(900)의 좌표와 상이한 경우, 이를 오류로 분류할 수 있다. 무인 이동체(100)는 재계산된 도킹 위치(900)의 좌표가 이전의 도킹 위치(900)의 좌표와 상이한 경우, 도킹 동작을 종료하고, 도킹을 재시도 가능한 위치로 이동하여 처음부터 도킹 동작을 다시 수행할 수 있다.In one embodiment, if the coordinates of the docking position 900 calculated according to the re-identification of the docking station 10 are different from the previously calculated coordinates of the docking position 900, the unmanned mobile body 100 may classify it as an error. When the coordinates of the recalculated docking position 900 are different from the coordinates of the previous docking position 900, the unmanned mobile body 100 terminates the docking operation, moves to a position where docking can be retried, and performs the docking operation again from the beginning.

일 실시예에서, 무인 이동체(100)는 도킹스테이션(10)의 재식별에 따라 계산된 도킹 위치(900)의 좌표가 이전에 계산된 도킹 위치(900)의 좌표와 소정 범위 이내에서 일치하는 경우, 도킹 동작을 계속할 수 있다. 이 경우, 무인 이동체(100)는 전술한 예시와 같이, 도킹스테이션(10)에 대응하는 포인트 데이터들을 선형화하고, 무인 이동체(100)로부터 도킹 위치(900)까지의 거리 및 무인 이동체(100)의 방향와 도킹 위치(900)사이의 각도를 계산할 수 있다. 이와 관련된 동일/유사한 동작들은 간결함을 위해 반복하여 기술하지 않는다.In one embodiment, the unmanned mobile body 100 may continue the docking operation if the coordinates of the docking position 900 calculated according to the re-identification of the docking station 10 coincide with the previously calculated coordinates of the docking position 900 within a predetermined range. In this case, the unmanned mobile body 100 linearizes the point data corresponding to the docking station 10 as in the above-described example, and calculates the distance from the unmanned mobile body 100 to the docking position 900 and the angle between the direction of the unmanned mobile body 100 and the docking position 900. The same/similar operations related to this are not repeatedly described for brevity.

일 실시예에서, 무인 이동체(100)는 도킹 시퀀스 동작을 수행하면서, 도킹 경로상의 제2 위치로 이동할 수 있다. 도킹 경로상의 제2 위치란, 도 4에서 전술한 임시 위치에 대응할 수 있다. 무인 이동체(100)는 도킹 경로상의 제2 위치로 이동하면, 더 이상 각도 계산을 수행할 필요 없이, 직진 주행만으로 도킹 위치(900)로 주행하여 도킹을 완료할 수 있다. 이 경우, 무인 이동체(100)는 라이다 도킹을 비전 도킹으로 전환할 수 있다. 무인 이동체(100)는 무인 이동체(100)가 제2 위치에 도달한 경우, 무인 이동체(100)를 회전시켜, 무인 이동체(100)의 제1 방향을 바라보는 카메라가 마커를 바라보게 하고, 마커를 인식하면서 도킹스테이션(10)의 도킹 위치까지 이동할 수 있다.In one embodiment, the unmanned mobile body 100 may move to a second position on the docking path while performing a docking sequence operation. The second position on the docking path may correspond to the temporary position described above with reference to FIG. 4 . When the unmanned mobile body 100 moves to the second position on the docking path, it can complete docking by driving to the docking position 900 only by traveling straight without performing an angle calculation any longer. In this case, the unmanned mobile body 100 may switch lidar docking to vision docking. When the unmanned mobile body 100 reaches the second position, the unmanned mobile body 100 rotates the unmanned mobile body 100 so that the camera facing the first direction of the unmanned mobile body 100 looks at the marker, and recognizing the marker, it can move to the docking position of the docking station 10.

도 10은 본 개시의 일 실시예에 따른 무인 이동체가 도킹을 재시도 가능한 위치로 이동하는 동작을 설명하기 위한 도면이다.10 is a diagram for explaining an operation in which an unmanned mobile body moves to a position where docking can be retried according to an embodiment of the present disclosure.

무인 이동체(100)는 도킹 시퀀스를 수행하다가 도킹에 오류 등이 발생하는 것으로 판단되는 경우, 재시도 가능한 위치(1000)로 다시 이동하여 도킹 동작을 재시도할 수 있다. 무인 이동체(100)가 도킹을 재시도 가능한 위치(1000)로 이동하기로 결정하면, 무인 이동체(100)는 현재 진행 중인 도킹 시퀀스를 모두 중지하고, 현재 무인 이동체(100)의 위치의 무인 이동체(100)의 머리 방향로부터 도킹을 재시도 가능한 위치(1000) 까지의 각도를 계산한다. 무인 이동체(100)는 계산된 각도 만큼 회전한 후에, 도킹을 재시도 가능한 위치(1000)로 직진 이동할 수 있다. 무인 이동체(100)는 도킹을 재시도 가능한 위치(1000)로 이동하면, 도킹 위치(1010)까지의 거리 및 각도를 재계산하고, 도킹 동작을 다시 반복할 수 있다.When it is determined that an error or the like occurs in docking while performing the docking sequence, the unmanned mobile body 100 may retry the docking operation by moving to the retryable position 1000 again. When the unmanned mobile body 100 decides to move to the position 1000 where docking can be reattempted, the unmanned mobile body 100 stops all currently ongoing docking sequences, and calculates the angle from the head direction of the unmanned mobile body 100 at the current position of the unmanned mobile body 100 to the position 1000 where docking can be retried. After rotating by the calculated angle, the unmanned mobile body 100 may move straight to a position 1000 where docking can be retried. When the unmanned mobile body 100 moves to the position 1000 where docking can be retried, the distance and angle to the docking position 1010 may be recalculated and the docking operation may be repeated again.

일 실시예에서, 무인 이동체(100)가 도킹 오류로 판단하여 도킹을 재시도 가능한 위치(1000)로 이동하는 경우들은, 다양한 경우들이 기 설정되어 있을 수 있다. 이에 대하여는 도 11 및 도 12를 이용하여 더 서술한다.In one embodiment, cases in which the unmanned mobile body 100 moves to the position 1000 where docking can be retried upon determining that it is a docking error may be preset in various cases. This will be further described using FIGS. 11 and 12 .

도 11은 본 개시의 일 실시예에 따른 무인 이동체가 라이다 기반 도킹을 할 때 예외처리를 하는 동작을 전반적으로 설명하기 위한 도면이다.FIG. 11 is a diagram for generally explaining an operation of exception processing when an unmanned mobile vehicle performs LIDAR-based docking according to an embodiment of the present disclosure.

일 실시예에서, 무인 이동체(100)는 제1 방향을 바라보는 카메라를 이용하여 마커를 인식할 수 있다. 무인 이동체(100)는 마커 인식이 되지 않는 경우, 기 설정된 제1 시간이 경과하면 비전 도킹(예를 들어, 마커 인식 기반 도킹)으로 전환하거나, 라이다 도킹을 다시 시작할 수 있다. 기 설정된 제1 시간은 예를 들어, 5초일 수 있으나, 이에 한정되는 것은 아니다.In one embodiment, the unmanned mobile body 100 may recognize a marker using a camera looking in the first direction. When the marker recognition is not performed, the unmanned mobile body 100 may switch to vision docking (eg, docking based on marker recognition) or restart LiDAR docking after a predetermined first time elapses. The preset first time may be, for example, 5 seconds, but is not limited thereto.

일 실시예에서, 무인 이동체(100)는 제2 방향을 바라보는 라이다를 이용하여 도킹스테이션(10)을 인식할 수 있다. 무인 이동체(100)는 라이다 인식이 되지 않는 경우, 기 설정된 제2 시간이 경과하면 비전 도킹으로 전환하거나, 라이다 도킹을 재시도할 수 있다. 기 설정된 제2 시간은 예를 들어, 5초일 수 있으나, 이에 한정되는 것은 아니다.In one embodiment, the unmanned mobile body 100 may recognize the docking station 10 using a LIDAR facing the second direction. When the lidar is not recognized, the unmanned mobile body 100 may switch to vision docking or retry lidar docking when a predetermined second time elapses. The preset second time period may be, for example, 5 seconds, but is not limited thereto.

일 실시예에서, 무인 이동체(100)는 라이다 인식을 정상적으로 수행하여 도킹을 위한 주행을 계속하면, 임시 위치(1120)로 이동할 수 있다. 무인 이동체(100)는 임시 위치(1120)로 이동한 후에, 이후의 추가적인 동작 없이 기 설정된 제3 시간이 경과하는 경우, 비전 도킹(예를 들어, 마커 인식 기반 도킹)으로 전환하거나, 라이다 도킹을 다시 시작할 수 있다. 기 설정된 제3 시간은 예를 들어, 25초일 수 있으나, 이에 한정되는 것은 아니다.In one embodiment, the unmanned mobile body 100 may move to the temporary location 1120 when it normally performs lidar recognition and continues driving for docking. After moving to the temporary location 1120, the unmanned mobile body 100 switches to vision docking (eg, docking based on marker recognition) or lidar docking when a preset third time elapses without further operation. Can start again. The preset third time period may be, for example, 25 seconds, but is not limited thereto.

일 실시예에서, 무인 이동체(100)는 라이다 인식을 정상적으로 수행하여 임시 위치(1120)에 도달하면, 정밀 도착 여부를 판단할 수 있다. 예를 들어, 무인 이동체(100)는 임시 위치(1120)로 도달하여 다시 마커 인식을 수행할 수 있다. 마커가 인식 되지 않으면, 무인 이동체(100)는 도킹 시작 시점으로부터 기 설정된 제4 시간이 경과하였는지 여부를 판단할 수 있다. 기 설정된 제4 시간은 예를 들어, 200초일 수 있으나, 이에 한정되는 것은 아니다. 기 설정된 제4 시간은, 무인 이동체(100)가 도킹 주행을 하다가 장애물로 인해 특정 시간 동안 멈춰져 있는 경우를 반영하여, 예외처리를 설정하기 위한 시간 길이를 포함할 수 있다. 무인 이동체(100)는 기설정된 제4 시간이 경과하였으면, 비전 도킹(예를 들어, 마커 인식 기반 도킹)으로 전환하거나, 라이다 도킹을 다시 시작할 수 있다. 무인 이동체(100)는 기 설정된 제4 시간이 경과하지 않았으면, 임시 위치(1120)로 이동하는 동작을 다시 수행하거나, 마커가 인식되면 마커를 보면서 도킹을 재개할 수 있다.In one embodiment, when the unmanned mobile body 100 normally performs LIDAR recognition and reaches the temporary location 1120, it may determine whether or not it has accurately arrived. For example, the unmanned vehicle 100 may reach the temporary location 1120 and perform marker recognition again. If the marker is not recognized, the unmanned mobile body 100 may determine whether a preset fourth time has elapsed from the docking start point. The preset fourth time period may be, for example, 200 seconds, but is not limited thereto. The preset fourth time period may reflect a case in which the unmanned vehicle 100 is stopped for a specific period of time due to an obstacle during docking driving, and may include a length of time for setting exception processing. When the preset fourth time period has elapsed, the unmanned mobile body 100 may switch to vision docking (eg, docking based on marker recognition) or restart lidar docking. If the preset fourth time period has not elapsed, the unmanned mobile body 100 may again perform an operation of moving to the temporary location 1120 or resume docking while looking at the marker when the marker is recognized.

일 실시예에서, 무인 이동체(100)는 도킹 위치(1110)에 이동한 후에, 이후의 추가적인 동작 없이 기 설정된 제5 시간이 경과하는 경우, 도킹 시작 시점으로부터 기 설정된 제4 시간이 경과하였는지 여부를 판단할 수 있다. 기 설정된 제5 시간은 4.5초일 수 있으며, 기 설정된 제4 시간은 전술한 200초일 수 있으나, 이에 한정되는 것은 아니다.In one embodiment, after the unmanned mobile body 100 moves to the docking position 1110, when a preset fifth time elapses without an additional operation thereafter, it is possible to determine whether a preset fourth time has elapsed from the docking start point. The preset fifth time period may be 4.5 seconds, and the preset fourth time period may be the aforementioned 200 seconds, but is not limited thereto.

일 실시예에서, 무인 이동체(100)는 도킹 위치(1110)에 이동한 후에, 충전 신호가 식별되면, 도킹이 완료되었다고 판단할 수 있다.In one embodiment, the unmanned mobile body 100 may determine that docking is completed when a charging signal is identified after moving to the docking position 1110 .

도 12는 본 개시의 일 실시예에 따른 무인 이동체가 비전 기반 도킹을 할 때 예외처리를 하는 동작을 전반적으로 설명하기 위한 도면이다.12 is a diagram for generally explaining an operation of exception processing when an unmanned mobile vehicle performs vision-based docking according to an embodiment of the present disclosure.

일 실시예에서, 무인 이동체(100)는 카메라를 이용하여 마커를 인식할 수 있다. 무인 이동체(100)는 마커 인식이 되지 않는 경우, 좌우로 움직여 마커를 재인식할 수 있다. 무인 이동체(100)는 마커가 인식 되면, 중앙 위치(1230)으로 이동할 수 있다. 중앙 위치(1230)의 이동은, 마커를 인식하면서 무인 이동체(100)의 위치의 미세 조정 작업을 통해 수행될 수 있다.In one embodiment, the unmanned mobile body 100 may recognize a marker using a camera. When the marker is not recognized, the unmanned mobile body 100 may re-recognize the marker by moving left and right. When the marker is recognized, the unmanned mobile body 100 can move to the central position 1230. The movement of the central position 1230 may be performed through fine adjustment of the position of the unmanned moving object 100 while recognizing the marker.

무인 이동체(100)는 마커 인식이 되지 않고, 기 설정된 제1 시간이 경과하면, 라이다 도킹으로 전환하거나, 비전 도킹을 다시 시작할 수 있다. 기 설정된 제1 시간은 예를 들어, 5초일 수 있으나, 이에 한정되는 것은 아니다.When the marker is not recognized and the preset first time elapses, the unmanned mobile body 100 may switch to lidar docking or start vision docking again. The preset first time may be, for example, 5 seconds, but is not limited thereto.

무인 이동체(100)는 마커가 인식되면 중앙 위치(1230)로 이동하고, 중앙 위치(1230)에서 직진 주행하여 임시 위치(1120)으로 이동할 수 있다.When the marker is recognized, the unmanned mobile body 100 may move to the central position 1230, drive straight from the central position 1230, and move to the temporary position 1120.

무인 이동체(100)는 임시 위치(1220)로 이동한 후에, 이후의 추가적인 동작 없이 기 설정된 제2 시간이 경과하는 경우, 라이다 도킹으로 전환하거나, 비전 도킹을 다시 시작할 수 있다. 기 설정된 제2 시간은 예를 들어, 30초일 수 있으나, 이에 한정되는 것은 아니다.After moving to the temporary location 1220, the unmanned mobile body 100 may switch to lidar docking or start vision docking again when a preset second time elapses without further operation. The preset second time may be, for example, 30 seconds, but is not limited thereto.

일 실시예에서, 무인 이동체(100)는 비전 인식을 정상적으로 수행하여 임시 위치(1220)에 도달하면, 정밀 도착 여부를 판단할 수 있다. 예를 들어, 임시 위치(1220)에서 장애물 등으로 인하여 마커 인식이 되지 않는 등, 임시 위치에 불완전하게 도착한 것으로 판단되면, 무인 이동체(100)는 도킹 시작 시점으로부터 기 설정된 제3 시간이 경과하였는지 여부를 판단할 수 있다. 기 설정된 제3 시간은 예를 들어, 200초일 수 있으나, 이에 한정되는 것은 아니다. 무인 이동체(100)는 기 설정된 제3 시간이 경과하였으면, 라이다 도킹으로 전환하거나, 비전 도킹을 다시 시작하고, 기 설정된 제3 시간이 경과하지 않았으면, 임시 위치 이동 동작부터 다시 수행할 수 있다.In one embodiment, when the unmanned mobile body 100 normally performs vision recognition and arrives at the temporary location 1220, it may determine whether or not it has accurately arrived. For example, if it is determined that the temporary location 1220 has arrived incompletely at the temporary location, such as a marker not being recognized due to an obstacle or the like, the unmanned mobile vehicle 100 can determine whether or not a preset third time has elapsed from the docking start point. The preset third time period may be, for example, 200 seconds, but is not limited thereto. If the preset third time period has elapsed, the unmanned mobile body 100 can switch to lidar docking or start vision docking again, and if the preset third time period has not elapsed, it can perform the temporary location movement operation again.

일 실시예에서, 무인 이동체(100)는 도킹 위치(1210)에 도달한 후에, 이후의 추가적인 동작 없이 기 설정된 제4 시간이 경과하는 경우, 도킹 시작 시점으로부터 기 설정된 제3 시간이 경과하였는지 여부를 판단할 수 있다. 기 설정된 제4 시간은 5.5초일 수 있으며, 기 설정된 제3 시간은 전술한 200초일 수 있으나, 이에 한정되는 것은 아니다.In one embodiment, after the unmanned mobile body 100 reaches the docking position 1210, when a preset fourth time period has elapsed without any additional operation thereafter, whether or not a preset third time period has elapsed from the start of docking can be determined. The preset fourth time period may be 5.5 seconds, and the preset third time period may be the aforementioned 200 seconds, but is not limited thereto.

일 실시예에서, 무인 이동체(100)는 도킹 위치(1210)에 이동한 후에, 충전 신호가 식별되면, 도킹이 완료되었다고 판단할 수 있다.In one embodiment, after moving to the docking position 1210, the unmanned mobile body 100 may determine that docking is completed when a charging signal is identified.

도 13은 무인 이동체의 이동과 관련된 파라미터들을 설명하기 위한 도면이다.13 is a diagram for explaining parameters related to movement of an unmanned mobile body.

도 13을 참조하면, 무인 이동체(100)를 기준으로, T 위치의 상대 좌표는 (x, y, θ)일 수 있다. T는 두개의 마커(21, 22)를 기반으로 인식하고 추정된 결과 값일 수 있다.Referring to FIG. 13 , the relative coordinates of the position T with respect to the unmanned mobile body 100 may be (x, y, θ). T may be a result value recognized and estimated based on the two markers 21 and 22.

무인 이동체(100)는 하기 [수학식 1] 내지 [수학식 3]을 이용하여 무인 이동체(100)의 각속도(w)를 산출할 수 있다.The unmanned mobile body 100 may calculate the angular velocity w of the unmanned mobile body 100 using [Equation 1] to [Equation 3] below.

이때, 는 무인 이동체의 모션이 결정되는 값일 수 있고, k1 및 k2는 모션 상수값일 수 있으며, 는 무인 이동체의 속도값일 수 있고, r은 무인 이동체와 T까지의 거리값일 수 있으며, 는 무인 이동체의 헤딩 각도일 수 있고, 는 무인 이동체의 각속도일 수 있다.At this time, may be a value by which the motion of the unmanned mobile body is determined, k 1 and k 2 may be motion constant values, May be a speed value of the unmanned mobile body, r may be a distance value between the unmanned mobile body and T, May be the heading angle of the unmanned mobile body, may be the angular velocity of the unmanned mobile body.

도 14는 무인 이동체의 모션이 결정되는 값에 따른 결과를 설명하기 위한 도면이다.14 is a diagram for explaining a result according to a value for determining the motion of an unmanned mobile body.

무인 이동체는 k1 및 k2의 모션 상수값에 따라 부드러운 곡선의 궤적을 생성할 수 있다. 예를 들어, 무인 이동체의 모션 상수값은 k1=1이고, k2=3 또는 10일 수 있다. 이때, 도 14에 도시된 바와 같이 무인 이동체의 모션 상수값의 k1=1이고 k2=3일 때의 곡선의 궤적 형태가, 무인 이동체의 모션 상수값의 k1=1이고 k2=10일 때의 곡선의 궤적 형태보다 더 큼을 알 수 있다.The unmanned mobile body may generate a trajectory of a smooth curve according to the motion constant values of k 1 and k 2 . For example, the motion constant value of the unmanned mobile body may be k 1 =1 and k 2 =3 or 10. At this time, as shown in FIG. 14, the shape of the curve when k 1 =1 and k 2 =3 of the motion constant value of the unmanned mobile body is greater than the shape of the curve when k 1 =1 and k 2 =10 of the motion constant value of the unmanned mobile body.

한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.Meanwhile, the disclosed embodiments may be implemented in the form of a recording medium storing instructions executable by a computer. Instructions may be stored in the form of program codes, and when executed by a processor, create program modules to perform operations of the disclosed embodiments. The recording medium may be implemented as a computer-readable recording medium.

컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.Computer-readable recording media include all types of recording media in which instructions that can be decoded by a computer are stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like.

이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.As above, the disclosed embodiments have been described with reference to the accompanying drawings. Those skilled in the art to which the present disclosure pertains will understand that the present disclosure may be implemented in a form different from the disclosed embodiments without changing the technical spirit or essential features of the present disclosure. The disclosed embodiments are illustrative and should not be construed as limiting.

Claims (10)

무인 이동체의 도킹 제어 방법에 있어서,
상기 무인 이동체의 제1 방향을 바라보는 카메라를 이용하여, 도킹스테이션에 위치하는 마커를 인식하는 단계;
상기 인식된 마커의 위치 정보를 획득하는 단계;
상기 마커에 위치 정보에 기초하여, 상기 무인 이동체의 상기 제1 방향과 정반대의 방향인 제2 방향을 바라보는 라이다가 상기 도킹스테이션을 바라보도록 상기 무인 이동체를 회전시키는 단계;
상기 라이다를 이용하여 상기 도킹스테이션을 식별하는 단계;
상기 도킹스테이션의 도킹 위치를 결정하는 단계;
상기 무인 이동체로부터 상기 도킹 위치까지의 거리 및 각도를 계산하는 단계; 및
상기 도킹 위치로 이동하면서, 상기 무인 이동체가 상기 도킹스테이션에 도킹될 때까지, 상기 라이다를 이용하여 상기 도킹 위치까지의 거리 및 각도를 업데이트하는 단계를 포함하고,
상기 도킹스테이션을 식별하는 단계는,
상기 라이다를 이용하여 포인트 클라우드 데이터를 획득하는 단계;
상기 마커의 위치 정보에 기초하여, 상기 도킹스테이션의 위치를 추정하는 단계; 및
상기 도킹스테이션의 위치에 대응하는 상기 포인트 클라우드 데이터를 체크하여, 상기 포인트 클라우드의 포인트 데이터들의 길이가 상기 도킹스테이션의 길이와 소정 범위 이내에서 일치하는 경우 상기 포인트 데이터들을 도킹스테이션으로 결정하는 단계를 포함하며,
상기 도킹스테이션의 도킹 위치를 결정하는 단계는,
상기 포인트 클라우드 데이터 중에서 상기 도킹스테이션에 대응하는 것으로 결정된 포인트들의 중간 위치의 포인트 데이터를 상기 도킹 위치로 결정하고,
상기 무인 이동체는,
도킹 시퀀스를 수행하다가 도킹에 오류가 발생한 것으로 판단된 경우, 현재 진행 중인 도킹 시퀀스를 중지하고, 재시도 가능한 위치로 다시 이동하여 도킹 동작을 재시도하고,
상기 도킹 위치까지의 각도를 계산할 때, 최소제곱근사법(least squares approximation)을 이용하여 상기 포인트 클라우드 데이터의 직선 방정식을 계산하도록 선형화하고, 상기 직선 방정식의 직선의 기울기에 기초하여, 상기 도킹 위치까지의 각도를 계산하는 것인, 방법.
In the docking control method of an unmanned mobile body,
Recognizing a marker located in a docking station using a camera looking in a first direction of the unmanned mobile body;
obtaining location information of the recognized marker;
based on location information of the marker, rotating the unmanned mobile body so that a lidar facing a second direction opposite to the first direction of the unmanned mobile body faces the docking station;
Identifying the docking station using the LIDAR;
determining a docking position of the docking station;
calculating a distance and an angle from the unmanned mobile vehicle to the docking position; and
While moving to the docking position, updating the distance and angle to the docking position using the LIDAR until the unmanned mobile body is docked at the docking station;
The step of identifying the docking station,
acquiring point cloud data using the LIDAR;
estimating a location of the docking station based on the location information of the marker; and
Checking the point cloud data corresponding to the location of the docking station, and determining the point data as a docking station if the length of the point data of the point cloud matches the length of the docking station within a predetermined range,
Determining the docking position of the docking station,
Determining point data at an intermediate position of points determined to correspond to the docking station among the point cloud data as the docking position;
The unmanned vehicle,
If it is determined that an error has occurred in docking while performing a docking sequence, the currently ongoing docking sequence is stopped, moved to a position where retry is possible, and the docking operation is retried;
When calculating the angle to the docking position, linearize to calculate a straight line equation of the point cloud data using least squares approximation, and calculate the angle to the docking position based on the slope of the straight line of the straight line equation. How to calculate.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 라이다를 이용하여 상기 도킹 위치까지의 거리 및 각도를 업데이트하는 단계는,
상기 무인 이동체의 도킹 경로상의 제1 위치로 이동하는 단계;
상기 제1 위치에서 상기 도킹 위치를 센싱한 포인트 데이터를 기준으로, 좌우의 포인트 데이터들을 체크하여 상기 도킹스테이션을 재식별하는 단계;
상기 무인 이동체의 도킹 경로상의 제2 위치로 이동하는 단계; 및
상기 제2 위치에서 상기 마커를 인식하며 상기 도킹스테이션의 상기 도킹 위치까지 이동하는 단계를 포함하는, 방법.
According to claim 1,
Updating the distance and angle to the docking position using the lidar,
moving to a first position on a docking path of the unmanned mobile vehicle;
re-identifying the docking station by checking left and right point data based on point data that senses the docking position at the first position;
moving to a second position on a docking path of the unmanned mobile vehicle; and
Recognizing the marker at the second location and moving it to the docking location of the docking station.
도킹스테이션에 도킹하는 무인 이동체에 있어서,
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 무인 이동체의 제1 방향을 바라보는 카메라를 이용하여, 도킹스테이션에 위치하는 마커를 인식하고,
상기 인식된 마커의 위치 정보를 획득하고,
상기 마커에 위치 정보에 기초하여, 상기 무인 이동체의 상기 제1 방향과 정반대의 방향인 제2 방향을 바라보는 라이다가 상기 도킹스테이션을 바라보도록 상기 무인 이동체를 회전시키고,
상기 라이다를 이용하여 상기 도킹스테이션을 식별하고,
상기 도킹스테이션의 도킹 위치를 결정하고,
상기 무인 이동체로부터 상기 도킹 위치까지의 거리 및 각도를 계산하고,
상기 도킹 위치로 이동하면서, 상기 무인 이동체가 상기 도킹스테이션에 도킹될 때까지, 상기 라이다를 이용하여 상기 도킹 위치까지의 거리 및 각도를 업데이트하되,
상기 라이다를 이용하여 포인트 클라우드 데이터를 획득하고,
상기 마커의 위치 정보에 기초하여, 상기 도킹스테이션의 위치를 추정하고,
상기 도킹스테이션의 위치에 대응하는 상기 포인트 클라우드 데이터를 체크하여, 상기 포인트 클라우드의 포인트 데이터들의 길이가 상기 도킹스테이션의 길이와 소정 범위 이내에서 일치하는 경우 상기 포인트 데이터들을 도킹스테이션으로 결정하고,
상기 포인트 클라우드 데이터 중에서 상기 도킹스테이션에 대응하는 것으로 결정된 포인트들의 중간 위치의 포인트 데이터를 상기 도킹 위치로 결정하고,
도킹 시퀀스를 수행하다가 도킹에 오류가 발생한 것으로 판단된 경우, 현재 진행 중인 도킹 시퀀스를 중지하고, 재시도 가능한 위치로 다시 이동하여 도킹 동작을 재시도하고,
상기 도킹 위치까지의 각도를 계산할 때, 최소제곱근사법(least squares approximation)을 이용하여 상기 포인트 클라우드 데이터의 직선 방정식을 계산하도록 선형화하고, 상기 직선 방정식의 직선의 기울기에 기초하여, 상기 도킹 위치까지의 각도를 계산하는 것인, 무인 이동체.
In the unmanned mobile body docked to the docking station,
a memory that stores one or more instructions; and
at least one processor to execute the one or more instructions stored in the memory;
The at least one processor, by executing the one or more instructions,
Recognizing a marker located in a docking station using a camera looking in a first direction of the unmanned mobile body;
Obtaining location information of the recognized marker,
Based on the location information of the marker, the unmanned mobile body is rotated so that a lidar facing a second direction, which is a direction opposite to the first direction of the unmanned mobile body, faces the docking station,
Identifying the docking station using the lidar;
Determine a docking position of the docking station;
Calculate the distance and angle from the unmanned mobile body to the docking position;
While moving to the docking position, update the distance and angle to the docking position using the LIDAR until the unmanned mobile body is docked to the docking station,
Obtaining point cloud data using the LIDAR,
Estimating the location of the docking station based on the location information of the marker;
Checking the point cloud data corresponding to the location of the docking station, determining the point data as a docking station when the length of the point data of the point cloud matches the length of the docking station within a predetermined range;
Determining point data at an intermediate position of points determined to correspond to the docking station among the point cloud data as the docking position;
If it is determined that an error has occurred in docking while performing a docking sequence, the currently ongoing docking sequence is stopped, moved to a position where retry is possible, and the docking operation is retried;
When calculating the angle to the docking position, linearize the point cloud data to calculate a linear equation of the point cloud data using least squares approximation, and calculate the angle to the docking position based on the slope of the straight line of the linear equation An unmanned mobile body.
삭제delete 삭제delete 삭제delete 제6항에 있어서,
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 무인 이동체의 도킹 경로상의 제1 위치로 이동하고,
상기 제1 위치에서 상기 도킹 위치를 센싱한 포인트 데이터를 기준으로, 좌우의 포인트 데이터들을 체크하여 상기 도킹스테이션을 재식별하고,
상기 무인 이동체의 도킹 경로상의 제2 위치로 이동하고,
상기 제2 위치에서 상기 마커를 인식하며 상기 도킹스테이션의 상기 도킹 위치까지 이동하는, 무인 이동체.
According to claim 6,
The at least one processor, by executing the one or more instructions,
Move to a first position on the docking path of the unmanned mobile body;
Re-identifying the docking station by checking left and right point data based on point data that senses the docking position at the first position;
Move to a second position on the docking path of the unmanned mobile body;
An unmanned mobile body that recognizes the marker at the second location and moves to the docking location of the docking station.
KR1020220186607A 2022-12-28 2022-12-28 An unmanned vehicle and method for controlling docking of the unmanned vehicle KR102559300B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220186607A KR102559300B1 (en) 2022-12-28 2022-12-28 An unmanned vehicle and method for controlling docking of the unmanned vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220186607A KR102559300B1 (en) 2022-12-28 2022-12-28 An unmanned vehicle and method for controlling docking of the unmanned vehicle

Publications (1)

Publication Number Publication Date
KR102559300B1 true KR102559300B1 (en) 2023-07-25

Family

ID=87428561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220186607A KR102559300B1 (en) 2022-12-28 2022-12-28 An unmanned vehicle and method for controlling docking of the unmanned vehicle

Country Status (1)

Country Link
KR (1) KR102559300B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040086939A (en) 2003-04-03 2004-10-13 엘지전자 주식회사 Docking system and method for mobile robot
KR20210061842A (en) * 2019-11-20 2021-05-28 삼성전자주식회사 Moving robot device and method for controlling moving robot device thereof
KR20210066091A (en) * 2019-11-27 2021-06-07 한국생산기술연구원 A robot cleaner using lidar member and image photographing member and SLAM-map generation method thereof
KR102261791B1 (en) * 2020-12-11 2021-06-07 주식회사 트위니 Reflector and 2d lidar based autonomous docking system
KR102438313B1 (en) * 2022-05-17 2022-09-01 (주)인티그리트 Intelligent autonomous docking system having real-time check function of authentication and charging status of indoor autonomous driving robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040086939A (en) 2003-04-03 2004-10-13 엘지전자 주식회사 Docking system and method for mobile robot
KR20210061842A (en) * 2019-11-20 2021-05-28 삼성전자주식회사 Moving robot device and method for controlling moving robot device thereof
KR20210066091A (en) * 2019-11-27 2021-06-07 한국생산기술연구원 A robot cleaner using lidar member and image photographing member and SLAM-map generation method thereof
KR102261791B1 (en) * 2020-12-11 2021-06-07 주식회사 트위니 Reflector and 2d lidar based autonomous docking system
KR102438313B1 (en) * 2022-05-17 2022-09-01 (주)인티그리트 Intelligent autonomous docking system having real-time check function of authentication and charging status of indoor autonomous driving robot

Similar Documents

Publication Publication Date Title
US11287825B2 (en) Path tracking method and mobile robot using the same
EP3629052A1 (en) Data collecting method and system
CN113715814B (en) Collision detection method, device, electronic equipment, medium and automatic driving vehicle
WO2018068771A1 (en) Target tracking method and system, electronic device, and computer storage medium
EP4328696A2 (en) Mobile robot device and method for controlling mobile robot device
EP3557361B1 (en) Charging station identifying method and device
CN107390685B (en) Robot recharging control method, robot and robot system
CN112526999B (en) Speed planning method, device, electronic equipment and storage medium
CN111209978B (en) Three-dimensional visual repositioning method and device, computing equipment and storage medium
KR101771643B1 (en) Autonomously traveling robot and navigation method thereof
CN111292352A (en) Multi-target tracking method, device, equipment and storage medium
KR102559300B1 (en) An unmanned vehicle and method for controlling docking of the unmanned vehicle
US20220350342A1 (en) Moving target following method, robot and computer-readable storage medium
US20220284615A1 (en) Road constraint determining method and apparatus
KR102559299B1 (en) Unmanned moving object, method and program for controlling docking of unmanned moving object using marker
KR102585353B1 (en) Unmanned moving object, method and program for controlling docking of unmanned moving object using ridar and v-shaped marker
KR102572832B1 (en) Unmanned moving object, method and program for finding the location in space of unmanned moving object based on artificial intelligence
JP7062558B2 (en) A moving body with a position detecting device and a moving body having a position detecting device.
KR101857139B1 (en) Method for Exploring Target
KR102585350B1 (en) Unmanned moving object, method, system and program for deciding to ride an elevator of unmanned moving object
KR101857138B1 (en) Apparatus for Exploring Target
US11872705B2 (en) Autonomous mobile robot utilizing an omni-directional waypoint and control method thereof
US20230210334A1 (en) Recharge control method, robot and computer-readable storage medium
CN115759171A (en) Control method of book checking equipment, book checking equipment and storage medium
CN117826792A (en) Path tracking method and self-mobile device

Legal Events

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