KR102521280B1 - Slam 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 방법 및 장치, 컴퓨터 판독가능 기록 매체 및 컴퓨터 프로그램 - Google Patents

Slam 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 방법 및 장치, 컴퓨터 판독가능 기록 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102521280B1
KR102521280B1 KR1020210058976A KR20210058976A KR102521280B1 KR 102521280 B1 KR102521280 B1 KR 102521280B1 KR 1020210058976 A KR1020210058976 A KR 1020210058976A KR 20210058976 A KR20210058976 A KR 20210058976A KR 102521280 B1 KR102521280 B1 KR 102521280B1
Authority
KR
South Korea
Prior art keywords
robot
mobile robot
environment map
slam
landmark
Prior art date
Application number
KR1020210058976A
Other languages
English (en)
Other versions
KR20220152451A (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 KR1020210058976A priority Critical patent/KR102521280B1/ko
Publication of KR20220152451A publication Critical patent/KR20220152451A/ko
Application granted granted Critical
Publication of KR102521280B1 publication Critical patent/KR102521280B1/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
    • 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
    • B25J9/1684Tracking a line or surface by means of sensors
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • G05D2201/0207

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은, SLAM 기반 이동로봇에서 실행가능한 자연사물을 이용한 로봇의 위치추종 방법에 있어서, 2D 라이다 SLAM을 이용해 환경지도를 작성하는 단계; 3D 카메라를 이용해 영상 이미지를 획득하고, 상기 획득된 영상 이미지로부터 자연사물을 인식하여, 상기 작성된 환경지도에 기초하여 그 위치를 랜드마크로 저장하는 단계; 및 상기 이동로봇의 자율주행시 상기 이동로봇의 현재 위치를 보정할 필요가 있다고 판단된 때, 상기 자연사물을 인식하여, 상기 이동로봇의 현재 위치를 상기 저장된 랜드마크의 위치를 기반으로 보정하는 단계를 포함하는, 로봇의 위치추종 방법에 관한 것이다. 이로써, 맵 작성 및 이용이 용이하고, 또한 고가의 장비 및 번거로운 작업의 필요 없이 이동로봇의 정확한 위치 보정이 가능하게 된다.

Description

SLAM 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 방법 및 장치, 컴퓨터 판독가능 기록 매체 및 컴퓨터 프로그램{Position tracking method or device of robot using natural objects of SLAM-based mobile robot, computer-readable recording medium and computer program}
본 발명은 SLAM 기반 이동로봇에서 인식된 자연사물을 이용한 로봇의 위치추종 방법에 관한 것으로서, 보다 상세하게는 SLAM 기반 이동로봇에서 이에 장착된 카메라로 인식가능한 자연사물을 이용한 로봇의 위치추종 방법에 관한 것이다.
SLAM(Simultaneous Localization and Mapping)은, 특히 자율주행 이동체에 사용되어 주변 환경지도를 작성하는 동시에 이동체의 현재 위치를 작성된 환경지도 안에서 인식하는 기법을 지칭한다. 이때 자율주행 이동체는, 자율주행으로 스스로 이동이 가능한 차량, 로봇, 전자 기기 등을 포함한다.
SLAM 기반의 이동로봇 자율주행(Navigation)에서 가장 중요한 기술은, 로봇의 현재 자기 위치를 파악하는 - 로봇 현지화(Localization) 기술이다.
종래 기술에서는 이동로봇의 현재 자기 위치를 알기 위하여 고가의 GPS를 장착하여 로봇의 실제 위치 정보를 받아 현지화를 하거나, 또는 로봇이 이동하는 경로에 특정 표식, RFID 센서, 초음파 센서, Wi-Fi 또는 BLE의 신호 세기를 이용하는 등 부가적인 센서를 설치한 후 해당 표식이 인식될 때 로봇의 위치를 현지화하는 기술을 사용해 왔다.
하지만, GPS를 사용하는 방법은 로봇에 고가의 GPS 장비를 설치해야 하기 때문에 비용적인 문제점이 있다. 또한, GPS의 경우 위치오차가 20미터로서 크고 건물안이나 지하와 같은 폐쇄된 공간에서는 GPS 데이터 수신률이 낮다는 단점이 있다.
또한, 특정 표식을 설치하는 방법은 로봇의 이동 경로에 사람이 해당 표식을 일일이 설치해야 하며, 경로가 바뀌는 경우에 있어서는 추가적인 표식 설치 작업이 수행되어야 하는 단점이 있다.
따라서, 이동로봇 현지화에서는 고가의 장비 및 번거로운 작업이 필요 없는, 시스템 구축에 유리하면서 유연성 있는 위치보정 기술에 대한 니즈가 있다.
KR 10-2021-0022935 A KR 10-2169283 B1
이로써, 본 발명의 목적은 고가의 장비 및 번거로운 작업이 필요 없는, SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법 및 장치를 제공하는 데 있다.
본 발명의 다른 목적은 시스템 구축에 유리한, SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법을 제공하는 데 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적은, 본 발명의 제1 측면에 따라,
SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법에 있어서,
2D 라이다 SLAM을 이용해 환경지도를 작성하는 단계;
3D 카메라를 이용해 영상 이미지를 획득하고, 상기 획득된 영상 이미지로부터 자연사물을 인식하여, 상기 작성된 환경지도에 기초하여 그 위치를 랜드마크로 저장하는 단계; 및
상기 이동로봇의 자율주행시 상기 이동로봇의 현재 위치를 보정할 필요가 있다고 판단된 때, 상기 자연사물을 인식하여, 상기 이동로봇의 현재 위치를 상기 저장된 랜드마크의 위치를 기반으로 보정하는 단계를 포함하는,
로봇의 위치추종 방법에 의해 달성된다.
이때, 상기 자연사물의 인식은 YOLO 알고리즘을 이용해 사전에 학습하는 것이 바람직하다.
나아가, 상기 랜드마크의 위치는 상기 작성된 환경지도의 (0,0) 좌표를 기준으로 절대 좌표 정보로 저장될 수 있다.
한편, 상기 이동로봇의 오도메트리 좌표와 상기 환경지도 상의 좌표 사이의 차이값을 이용해, 상기 이동로봇의 현재 위치를 보정할 필요가 있다고 판단하는 것을 특징으로 할 수 있다.
나아가, 상기 이동로봇의 현재 위치를 상기 저장된 랜드마크의 위치를 기반으로 보정하는 단계는, 상기 이동로봇의 자율주행시 인식된 자연사물의 위치를 저장된 랜드마크의 위치로 변환하고 변환된 위치로 상기 이동로봇을 이동시키는 단계를 포함할 수 있다.
상기 목적은, 본 발명의 제2 측면에 따라,
SLAM 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 장치에 있어서,
2D 라이다 SLAM을 이용해 작성된 환경지도;
3D 카메라를 이용해 획득된 영상 이미지로부터 인식된 자연사물의 위치가 상기 환경지도에 기초하여 랜드마크로 저장된 데이터베이스; 및
상기 이동로봇의 자율주행시 상기 이동로봇의 현재 위치를 보정할 필요가 있다고 판단된 때, 상기 자연사물을 인식하여, 상기 이동로봇의 현재 위치를 상기 저장된 랜드마크의 위치를 기반으로 보정하는 제어부를 포함하는,
로봇의 위치추종 장치에 의해 달성된다.
상기 목적은, 또한 본 발명의 제3 측면에 따라,
상기의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독가능 기록 매체에 의해 달성된다.
나아가, 상기 목적은, 또한 본 발명의 제4 측면에 따라,
상기의 방법을 하드웨어와의 결합을 통해 실행시키기 위한 매체에 저장된 컴퓨터 프로그램에 의해 달성된다.
상기한 바와 같은 본 발명의 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법 및 장치에 따르면 GPS와 같은 고가의 장비 사용 및 특정 마커를 부착하는 번거로운 작업의 필요 없이, 이동로봇의 정확한 위치 보정이 가능하다는 장점이 있다.
또한 본 발명의 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법 및 장치에 따르면, 3D SLAM 기법에 비해 환경지도 저장 및 로딩시 시스템에 무리가 없어, 시스템 구축에 유리하다는 장점이 있다.
도 1은 본 발명에 따른 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법의 흐름도이다.
도 2는 본 발명에 따른 SLAM 기반 이동로봇에서 실행가능한 자연사물을 이용한 로봇의 위치추종 방법 중 S200의 일 실시예를 보여주는 흐름도이다.
도 3은 본 발명에 따른 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법 중 S300의 일 실시예를 보여주는 흐름도이다.
도 4는 본 발명에 따른 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 장치를 포함하는 이동로봇의 구성도이다.
도 5는 본 발명에 따른 환경지도 및 DB의 일 예를 보여주는 도면이다.
도 6a 내지 도 6c는 본 발명에 따른 SLAM 기반 이동로봇에서 현재 위치를 보정하는 과정의 일 실시예를 보여주는 도면이다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 예시적 실시예를 상세하게 설명한다. 다만, 본 발명이 예시적 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 실질적으로 동일한 기능을 수행하는 부재를 나타낸다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예컨대, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
도 1은 본 발명에 따른 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법의 흐름도이다.
도면을 참조하면, 본 발명에 따른 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법은, 환경지도를 작성하는 단계(S100); 인식된 자연사물의 위치를 저장하는 단계(S200); 및 자율주행시 인식된 자연사물의 위치를 기반으로, 이동로봇의 현재 위치를 보정하는 단계(S300)를 포함한다.
본 발명의 환경지도 작성(S100) 및 인식된 자연사물 위치 저장(S200) 단계들은, SLAM 기반의 이동로봇이 로봇을 운용할 환경에 대한 환경지도를 생성하는 단계로서, 개념적으로 3D 깊이 카메라 및 YOLO 알고리즘을 이용해 인식된 랜드마크를, 2D 라이다를 이용한 2D SLAM과 병합하여 환경지도를 구성하는 방식을 채택한다.
이를 위해, 본 발명에 따른 이동로봇(1)은, 본 발명에 따른 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 장치를 포함하는 이동로봇의 구성도인 도 4를 참조하여 살펴보면, 기본적으로 2D 라이다(10); 및 3D 카메라(30)를 구비함으로써, 본 발명의 기반이 되는, 2D 라이다 SLAM을 이용해 작성된 환경지도(20); 및 3D 카메라를 이용해 획득된 영상 이미지로부터 인식된 자연사물의 위치가 상기 환경지도에 기초하여 랜드마크로 저장된 데이터베이스(40)를 구비하고 있다.
이에 더하여, GPU가 장착된 이동로봇(1)은, 환경지도(20), 인코더(60), 3D 카메라(30), 및 DB(40)와 상호작용하여 해당 이동로봇의 자율주행시 이동로봇의 현재 위치를 보정할 필요가 있는지 판단하고, 이동로봇의 현재 위치가 저장된 랜드마크의 위치로 보정되도록 조치하는 제어부(50)를 포함한다.
다시 도 1을 참조하면, 환경 지도를 작성하는 단계(S100)는, 2D 라이다 SLAM을 이용한다. 물론 3D 라이다를 이용해 3D SLAM을 구현하고, 해당 3D 환경지도를 기반으로 자율주행을 할 수도 있으나, 본 발명은, 3D 환경지도의 경우 그 자체 용량이 크기 때문에 환경지도를 저장할 공간을 확보하거나 환경지도를 로딩하는 과정에 많은 시간이 소요되는 단점을 보완하는 방법으로서 제안된다. 2D 라이다 SLAM 환경지도는 자율주행 시작 전에 작성되지만, 자율주행 중에도 필요에 따라 언제든지 수정될 수 있음은 물론이다.
인식된 자연사물의 위치를 저장하는 단계(S200)는, 인식된 자연사물 위치를 저장하는 3D 카메라를 이용해 영상 이미지를 획득하고, 획득된 영상 이미지로부터 자연사물을 인식하여, 작성된 환경지도에 기초하여 그 위치를 랜드마크로 저장하는 단계를 포함한다.
보다 구체적으로는, 본 발명에 따른 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법 중 S200의 일 실시예를 보여주는 흐름도인 도 2를 참조하여 살펴본다.
먼저, 3D 깊이 카메라(3D Depth Camera)를 이용해 RGB 이미지 정보 뿐만 아니라 픽셀의 깊이 정보까지 포함되는 3D 영상 이미지(포인트 클라우드 데이터)를 획득한다(S210).
상기에서 획득된 3D 영상 이미지에 포함된 일부의 자연사물이 DB에 등록하기 위해 사전에 학습된 사물에 해당되는지 여부를 판단한다(S220). 이때 이미지에서 사물을 검출해내는 사물 검출 방법은, 처리 과정이 간단하고 처리 속도가 빠른 YOLO(You Only Look Once) 알고리즘을 이용하는 것이 바람직하다. 여기서는 ROS(Robot Operation System)에서 제공하는 ROS YOLO 패키지를 활용하였다.
여기서, 자연사물(Natural Landmark)은, 사전에 학습되어 랜드마크로서 저장되는 사물로서, 소화전, 테이블, 벽걸이 시계 또는 액자 등과 같이, 고정되어 있는 사물이라면 어느 것이라도 가능하다.
이렇게 인식된 사물은, ROS(Robot Operation System)에서 제공하는 jsk pcl 패키지를 이용해 그 위치에 대응하는 좌표가 획득될 수 있다(S230). 이때 획득되는 좌표는 예를 들어, 이동로봇이 바라보았을 때의 기준으로 로봇의 절대 위치 좌표로서, 카메라 좌표 기준의 (x, y, z, θ) 데이터일 수 있다.
마지막으로, 인식된 사물의 좌표는, 랜드마크의 위치로서, 작성된 환경지도의 xy 좌표계에 있어서는 (0,0) 좌표 또는 xyz 좌표계에 있어서는 (0, 0, 0)를 기준으로 하는 절대 좌표 정보로 DB에 저장된다(S240). 이에 더하여, 인식된 사물은, 해당 환경지도에 랜드마크로서 표시되어 저장될 수 있다. 이때 인식된 사물을 랜드마크로 등록하고자 할 때, YOLO 알고리즘을 이용하는 외에도, 별도의 이미지 강화학습 툴, 예를 들어 Colab을 이용해, 학습하여 추가할 수 있다.
환경지도(20) 및 DB(40)의 구현 예는, 본 발명에 따른 환경지도 및 DB의 일 예를 보여주는 도면인 도 5를 참조한다.
이와 같이, 본 발명에서 제안하는 환경지도를 생성하는 방법을 이용하면, 2D SLAM의 구성에서 특정 위치에 대한 랜드마크를 생성할 수 있다. 또한 해당 환경지도는 2D 맵과 동일한 저용량으로 저장되고, 랜드마크의 위치는 DB 파일로 별도로 저장되기 때문에, 저장 장치에 큰 무리가 없고, 환경지도를 로딩하는 작업에서도 시스템 부하 문제가 없다는 장점이 있다.
한편, 자율주행시 인식된 자연사물의 위치를 기반으로, 이동로봇의 현재 위치를 보정하는 단계(S300)는, 이동로봇의 자율주행시 이동로봇의 현재 위치를 보정할 필요가 있다고 판단된 때, 해당 자연사물을 인식하여, 이동로봇의 현재 위치를 저장된 랜드마크의 위치를 기반으로 보정하는 단계를 포함한다.
보다 구체적으로는, 본 발명에 따른 SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법 중 S300의 일 실시예를 보여주는 흐름도인 도 3을 참조하여 살펴본다.
먼저, 3D 깊이 카메라를 이용해 3D 영상 이미지를 획득한다(S310).
환경지도에 기반한 자율주행에 있어서 현재 위치 보정이 필요한지 여부를 판단한다(S320). 이때 S310 및 S320 단계들은 주기적으로 그리고 상대적인 순서에 관계없이 발생할 수 있다.
일반적으로 이동로봇의 현재 위치는 구동바퀴에 설치된 인코더로부터의 정보를 이용해 로봇의 위치/자세(Odometry)를 추종하는데, 실제 환경에서 바닥과의 미끄러짐이 발생되거나 외부환경 조건의 영향으로 인해, 인코더로부터의 정보에 기초한 위치와 2D 라이더로부터의 정보에 기초한 환경지도 상에서의 위치가 상이할 수 있다.
이때에는 인코더로부터의 오도메트리 좌표와 환경지도 상의 좌표 사이의 차이값을 이용해, 이동로봇의 현재 위치를 보정할 필요가 있는지 여부를 판단할 수 있다. 임의의 임계 값 또는 범위를 기준으로 보정 필요성 여부를 정의할 수 있음은 물론이다.
예를 들어, 이동로봇의 현재 위치를 보정할 필요가 있다고 판단된 때는, 현재 위치추종 오차가 누적된다고 판단된 때일 수 있고, 이때 위치추정 오차는 모터에 장착된 인코더로부터 계산된 오도메트리 정보와 SLAM에서 얻어진 위치 정보 사이에서 발생되는 차이일 수 있다.
현재 위치 보정이 필요하다고 판단되면, 상기에서 획득된 3D 영상 이미지에 포함된 일부의 자연사물이 랜드마크로서 DB에 등록되어 있는지 여부를 판단한다(S330). 이때 이미지에서 사물을 검출해내는 사물 검출 방법은, 처리 과정이 간단하고 처리 속도가 빠른 YOLO(You Only Look Once) 알고리즘을 이용하는 것이 바람직하다. 여기서는 ROS(Robot Operation System)에서 제공하는 ROS YOLO 패키지를 활용하였다. 또한, 인식된 자연사물이 랜드마크로서 DB에 등록되어 있는지 여부는, 인식된 자연사물과 DB에 저장된 랜드마크와의 비교에 기초하여 판단하였다.
인식된 자연사물이 DB에 저장된 랜드마크를 나타내는 정보와 일치하면, 이동로봇의 현재 위치를 해당 랜드마크의 위치를 기반으로 보정한다(S340). 이때, 이동로봇의 현재 위치를 해당 랜드마크의 위치를 기반으로 보정하는 것은, 이동로봇에 장착된 카메라의 중심 좌표를 기준으로 인식된 자연사물, 즉 등록된 랜드마크의 상대 좌표를 맵 기준의 절대 좌표로 변환하여 해당 위치로 이동로봇을 이동시킴으로써, 실제 달성될 수 있다.
이를 본 발명에 따른 SLAM 기반 이동로봇에서 현재 위치를 보정하는 과정의 일 실시예를 보여주는 도면인 도 6a 내지 도 6c를 참조하여 보다 상세하게 살펴 본다.
먼저, 출발 지점(도면에 원으로 표시된 start point)에서 시작하여 도면의 하방으로 이동하는 경우, 바닥과의 미끄러짐 없이 정상적으로 주행할 때에는, 2D 라이다 데이터(도면에 유색선으로 표시됨)가 맵의 벽 정보와 일치하는 것으로 표시된다(도 6a 참조)
반면, 출발 지점(도면에 원으로 표시된 start point)에서 시작하여 도면의 하방으로 이동하는 경우, 바닥과의 미끄러짐이 발생하여 로봇의 위치가 틀어져서 주행할 때에는, 2D 라이다 데이터가 맵의 벽 정보와 일치하지 않는 것으로 표시된다. (도 6b 참조) 이때 위치추정 오차가 발생되어 이동로봇의 전방에 적색 화살표들이 누적되는 것을 도면에서 확인할 수 있다.
도 6b와 같이 이동로봇의 위치가 틀어져서 현재 위치의 보정이 필요하다고 판단되는 경우에는, YOLO 알고리즘을 이용해 인식된 소화기(도면에는 fire extinguisher로 표시됨)가 환경지도 작성시에 등록된 랜드마크인지 확인하고, 인식된 소화기의 상대 좌표를 등록된 랜드마크의 절대 좌표로 변환하고 변환된 위치로 이동로봇을 이동시키면, 도 6c와 같이 2D 라이다 데이터가 맵의 벽 정보와 일치하게 됨을 확인할 수 있다.
이와 같이, 사전에 작성된 환경지도를 기반으로 자율주행을 수행할 때, 바닥과의 미끄러짐이나, 외부 환경적인 요인으로 인해, 이동로봇의 위치/자세가 틀어지는 경우, 3D 깊이 카메라로 인식되는 자연사물이 사전에 DB에 등록된 랜드마크와 일치하면 해당 랜드마크의 저장된 좌표를 이용하여 로봇의 위치 현지화를 수행할 수 있기 때문에, 이동로봇의 위치/자세를 보정할 수 있다는 장점이 있다.
한편, 본 발명의 실시예에 따른 방법들은 적어도 부분적으로 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능 기록매체에 기록될 수 있다. 예를 들어, 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다.
상기 컴퓨터는 하나 이상의 대체적이고 특별한 목적의 프로세서, 메모리, 저장공간, 및 네트워킹 구성요소(무선 또는 유선 중 어느 하나)를 가지는 컴퓨팅 장치이다. 상기 컴퓨터는 예를 들어, 마이크로소프트의 윈도우와 호환되는 운영 체제, 예를 들어 리눅스 배포판(Linux distribution)와 같은 운영체제(operating system)를 실행할 수 있다.
상기 프로그램 명령 형태는, 소프트웨어로 통칭될 수 있고, 이는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다.
상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
일반적으로 본 명세서에서 사용된 용어는, 특히 청구항에서(예를 들어, 청구항의 본문) 일반적으로 "개방적인" 용어로 의도된다(예를 들어, "포함하는"은 "포함하나 이에 제한되지 않는"으로, "가지다"는 "적어도 그 이상으로 가지다"로, "포함하다"는 "포함하나 이에 제한되지 않는다"로 해석되어야 함) 도입된 청구항 기재에 대하여 특정한 개수가 의도되는 경우, 이러한 의도는 해당 청구항에서 명시적으로 기재되며, 이러한 기재가 부재하는 경우 이러한 의도는 존재하지 않는 것으로 이해된다.
본 발명의 특정 특징만이 본 명세서에서 도시되고 설명되었으며, 다양한 수정 및 변경이 당업자에 대하여 발생할 수 있다. 그러므로 청구항은 본 발명의 사상 내에 속하는 변경 및 수정을 포함하는 것으로 의도된다는 점이 이해된다.
10: 2D 라이다 20: 환경지도
30: 3D 카메라 40: DB
50: 제어부 60: 인코더

Claims (12)

  1. SLAM 기반 이동로봇에서 인식가능한 자연사물을 이용한 로봇의 위치추종 방법에 있어서,
    2D 라이다 SLAM을 이용해 환경지도를 작성하는 단계;
    3D 카메라를 이용해 영상 이미지를 획득하고, 상기 획득된 영상 이미지로부터 자연사물을 인식하여, 상기 작성된 환경지도에 기초하여 그 위치를 환경지도 상의 절대 좌표와 함께 랜드마크로 저장하는 단계; 및
    상기 이동로봇의 자율주행시 상기 이동로봇의 누적된 위치추정 오차에 기초하여 현재 위치를 보정할 필요가 있다고 판단된 때, 인식된 자연사물이 저장된 상기 랜드마크인지 확인하여, 상기 이동로봇의 현재 위치를 상기 저장된 랜드마크의 위치의 절대 좌표로 변환하고 변환된 위치로 상기 이동로봇을 이동시켜 상기 로봇의 위치를 보정하는 단계를 포함하는,
    로봇의 위치추종 방법.
  2. 제 1 항에 있어서,
    상기 자연사물의 인식은 YOLO 알고리즘을 이용해 사전에 학습하는 것을 특징으로 하는,
    로봇의 위치추종 방법.
  3. 제 2 항에 있어서,
    상기 랜드마크의 위치는 상기 작성된 환경지도의 (0,0) 좌표를 기준으로 절대 좌표 정보로 저장되는,
    로봇의 위치추종 방법.
  4. 제 3 항에 있어서,
    상기 이동로봇의 오도메트리 좌표와 상기 환경지도 상의 좌표 사이의 차이값을 이용해, 상기 이동로봇의 현재 위치를 보정할 필요가 있다고 판단하는 것을 특징으로 하는,
    로봇의 위치추종 방법.
  5. 삭제
  6. SLAM 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 장치에 있어서,
    2D 라이다 SLAM을 이용해 작성된 환경지도;
    3D 카메라를 이용해 획득된 영상 이미지로부터 인식된 자연사물의 위치가 상기 작성된 환경지도에 기초하여 환경지도 상의 절대좌표와 함께 랜드마크로 저장된 데이터베이스; 및
    상기 이동로봇의 자율주행시 상기 이동로봇의 누적된 위치추정 오차에 기초하여 현재 위치를 보정할 필요가 있다고 판단된 때, 인식된 자연사물이 저장된 상기 랜드마크인지 확인하여, 상기 이동로봇의 현재 위치를 상기 저장된 랜드마크의 위치의 절대 좌표로 변환하고 변환된 위치로 상기 이동로봇을 이동시켜 상기 로봇의 위치가 보정되도록 제어하는 제어부를 포함하는,
    로봇의 위치추종 장치.
  7. 제 6 항에 있어서,
    상기 자연사물의 인식은 YOLO 알고리즘을 이용해 사전에 학습하는 것을 특징으로 하는,
    로봇의 위치추종 장치.
  8. 제 7 항에 있어서,
    상기 랜드마크의 위치는 상기 작성된 환경지도의 (0,0) 좌표를 기준으로 절대 좌표 정보로 저장되는,
    로봇의 위치추종 장치.
  9. 제 8 항에 있어서, 상기 제어부는
    상기 이동로봇의 오도메트리 좌표와 상기 환경지도 상의 좌표 사이의 차이값을 이용해, 상기 이동로봇의 현재 위치를 보정할 필요가 있다고 판단하는 것을 특징으로 하는,
    로봇의 위치추종 장치.
  10. 삭제
  11. 제 1 항 내지 제 4 항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독가능 기록 매체.
  12. 제 1 항 내지 제 4 항 중 어느 한 항의 방법을 하드웨어와의 결합을 통해 실행시키기 위한 기록 매체에 저장된 컴퓨터 프로그램.
KR1020210058976A 2021-05-07 2021-05-07 Slam 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 방법 및 장치, 컴퓨터 판독가능 기록 매체 및 컴퓨터 프로그램 KR102521280B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210058976A KR102521280B1 (ko) 2021-05-07 2021-05-07 Slam 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 방법 및 장치, 컴퓨터 판독가능 기록 매체 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210058976A KR102521280B1 (ko) 2021-05-07 2021-05-07 Slam 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 방법 및 장치, 컴퓨터 판독가능 기록 매체 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20220152451A KR20220152451A (ko) 2022-11-16
KR102521280B1 true KR102521280B1 (ko) 2023-04-17

Family

ID=84235802

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210058976A KR102521280B1 (ko) 2021-05-07 2021-05-07 Slam 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 방법 및 장치, 컴퓨터 판독가능 기록 매체 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102521280B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102631313B1 (ko) * 2023-06-08 2024-01-31 (주)인티그리트 Slam 기술 구현을 위한 비전 데이터 및 라이다 데이터 간의 실시간 분석 및 대조를 통해 위치 오차 보정이 가능한 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102631315B1 (ko) 2023-06-08 2024-02-01 (주)인티그리트 Slam 기술 구현을 위한 비전 데이터 및 라이다 데이터 간의 실시간 분석 및 대조를 통해 위치 오차 보정이 가능한 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619365B1 (ko) * 2008-10-09 2016-05-11 삼성전자주식회사 로봇의 slam 장치 및 방법
JP2020087407A (ja) * 2018-11-28 2020-06-04 台達電子工業股▲ふん▼有限公司Delta Electronics, Inc. 地図構築装置及びその地図構築方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100916977B1 (ko) * 2007-07-02 2009-09-14 한국전자통신연구원 이동체를 위한 환경지도의 기능에 따른 계층적 제어 방법
KR20210022935A (ko) 2019-08-21 2021-03-04 엘지전자 주식회사 Slam을 구현하는 방법 및 전자 장치
KR102169283B1 (ko) 2019-12-30 2020-10-23 (주)원익로보틱스 자율주행 로봇을 이용한 지도 업데이트 방법 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619365B1 (ko) * 2008-10-09 2016-05-11 삼성전자주식회사 로봇의 slam 장치 및 방법
JP2020087407A (ja) * 2018-11-28 2020-06-04 台達電子工業股▲ふん▼有限公司Delta Electronics, Inc. 地図構築装置及びその地図構築方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102631313B1 (ko) * 2023-06-08 2024-01-31 (주)인티그리트 Slam 기술 구현을 위한 비전 데이터 및 라이다 데이터 간의 실시간 분석 및 대조를 통해 위치 오차 보정이 가능한 장치

Also Published As

Publication number Publication date
KR20220152451A (ko) 2022-11-16

Similar Documents

Publication Publication Date Title
KR101976241B1 (ko) 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법
US10788830B2 (en) Systems and methods for determining a vehicle position
KR102521280B1 (ko) Slam 기반 이동로봇의 자연사물을 이용한 로봇의 위치추종 방법 및 장치, 컴퓨터 판독가능 기록 매체 및 컴퓨터 프로그램
CN106708051B (zh) 基于二维码的导航系统和方法、导航标记物及导航控制器
US20200249032A1 (en) Apparatus and method for updating high definition map for autonomous driving
KR101214143B1 (ko) 이동체의 위치 및 방향 인식 장치 및 그 방법
KR101775114B1 (ko) 이동 로봇의 위치 인식 및 지도 작성 시스템 및 방법
CN106933223B (zh) 一种机器人自主导航方法及系统
KR101423139B1 (ko) 3차원 직선을 이용하여 위치를 인식하고 지도를 생성하는 방법 및 그 방법에 따른 이동체
JP2012084149A (ja) モバイル機器のナビゲーション
KR102561263B1 (ko) 지도 데이터를 생성하는 전자 장치 및 그 동작 방법
KR20160147127A (ko) 실외 환경에서의 강인한 위치 인식 방법 및 장치
Palomeras et al. Vision-based localization and mapping system for AUV intervention
CN110789529A (zh) 车辆的控制方法、装置及计算机可读存储介质
JP2010086038A (ja) 移動体の誘導システム及び誘導方法
JP2009070357A (ja) 移動体の誘導システム
CN110083158B (zh) 一种确定局部规划路径的方法和设备
JP2017165358A (ja) 車両制御情報生成装置および車両制御情報生成方法
CN111352139B (zh) 扫描设备自主导向方法、装置和扫描设备
WO2019230557A1 (ja) 出力装置、駆動装置、移動装置、移動体システム、出力方法及びコンピュータ可読媒体
JP2023006734A5 (ja) 車両走行制御装置、車両走行制御方法および車両走行制御プログラム
EP4013701B1 (en) Method and apparatus for determining object location
WO2020248209A1 (en) 3d odometry in 6d space with roadmodel 2d manifold
US20190189012A1 (en) System and method for controlling utility vehicles
TWI747195B (zh) 載具即時精準位置校正系統

Legal Events

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