KR102194426B1 - 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 - Google Patents

실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 Download PDF

Info

Publication number
KR102194426B1
KR102194426B1 KR1020200052101A KR20200052101A KR102194426B1 KR 102194426 B1 KR102194426 B1 KR 102194426B1 KR 1020200052101 A KR1020200052101 A KR 1020200052101A KR 20200052101 A KR20200052101 A KR 20200052101A KR 102194426 B1 KR102194426 B1 KR 102194426B1
Authority
KR
South Korea
Prior art keywords
elevator
floor
robot
map
coordinate system
Prior art date
Application number
KR1020200052101A
Other languages
English (en)
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 KR1020200052101A priority Critical patent/KR102194426B1/ko
Application granted granted Critical
Publication of KR102194426B1 publication Critical patent/KR102194426B1/ko
Priority to PCT/KR2021/004457 priority patent/WO2021221343A1/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
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 실내 이동 로봇이 엘리베이터를 탑승 및 하차하기 위해 필요한 환경 인식 방법을 제공하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공한다.

Description

실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 {APPARATUS AND METHOD FOR ENVIRONMENT RECOGNITION OF INDOOR MOVING ROBOT IN A ELEVATOR AND RECORDING MEDIUM STORING PROGRAM FOR EXECUTING THE SAME, AND COMPUTER PROGRAM STORED IN RECORDING MEDIUM FOR EXECUTING THE SAME}
본 발명은 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 실내 이동 로봇이 엘리베이터를 탑승 및 하차하기 위해 필요한 환경 인식 방법을 제공하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것이다.
엘리베이터(elevator)를 갖춘 고층 건물과 같은 곳에서 실내 이동 로봇이 자율 주행 기능을 통해 다양한 서비스를 제공하는 능력을 갖추기 위해서는 엘리베이터를 탑승 또는 하차할 수 있는 기능이 필수적으로 요구된다.
실내 이동 로봇이 엘리베이터를 탑승 또는 하차하기 위해서는 우선 엘리베이터와 같은 실내 공간을 인식할 수 있어야 하고, 스스로 자세(pose)를 추정하고 경로를 계획할 수 있어야 한다.
엘리베이터와 같은 실내 환경은 항시적으로 위치하는 환경적 장애물(environmental obstacle)이 주로 벽과 같은 단순한 장애물로 구성되며, 일반적인 실내 환경에 비해 공간이 비교적 좁고 폐쇄적인 특징을 지닌다.
또한, 엘리베이터와 같은 실내 환경은 사람이나 짐 등과 같이 일시적으로 위치하는 비환경적 장애물(non-environmental obstacle)로 인해 공간 정보의 왜곡이 빈번하게 발생한다.
일반적으로 엘리베이터와 같은 실내 환경에서는 위성 항법 시스템(Global Positioning Systems, GPS)을 사용할 수 없고, 주로 로봇에 장착된 영상 및 거리 센서에 의존하여 지역적으로 환경을 인식하고, 자세를 추정하게 된다.
실내 이동 로봇이 실내 환경을 인식하기 위해 주로 사용하는 방법인 그리드 맵(grid map)은 공간을 작은 격자로 나누고, 각 격자가 장애물에 의하여 점유되어 있는 정도를 수치로 표시한 지도를 활용하여 환경을 인식하는 방법이다.
엘리베이터와 같은 실내 공간에서는 일반적으로 비환경적 장애물에 의해 환경적 장애물이 로봇의 시야에서 가려지기 때문에 그리드 맵에 의한 단순한 공간 점유 수치만으로는 로봇이 환경을 제대로 인식하기 어려운 문제가 있다.
한국등록특허 [10-0877071]에서는 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치가 개시되어 있다.
한국등록특허 [10-0877071](등록일자: 2008년12월26일)
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 실내 이동 로봇이 엘리베이터를 탑승 및 하차하기 위해 필요한 환경 인식 방법을 제공하고, 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공하는 것이다.
본 발명의 실 시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치는, 엘리베이터의 내부 바닥에 표시된 마커(10); 엘리베이터의 내부 벽의 위치와 관련된 정보 및 엘리베이터의 내부 바닥에 표시된 마커(10)들이 위치와 관련된 정보가 저장된 엘리베이터 바닥의 지도가 저장된 지도저장부(100); 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득하는 비전센서(200); 상기 지도저장부(100)에 저장된 엘리베이터 바닥의 지도를 근거로, 상기 비전센서(200)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신하는 영상처리부(300); 상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도를 기반으로, 상기 로봇의 자세를 추정하는 자세추정부(400); 상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도 및 상기 자세추정부(400)에 의해 추정된 로봇의 자세를 기반으로, 상기 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획하는 경로계획부(500); 및 상기 경로계획부(500)에 의해 생성된 이동경로를 따라 로봇이 이동하도록 제어하는 로봇제어부(600);를 포함하는 것을 특징으로 한다.
또한, 상기 마커(10)는 아루코(Aruco) 마커의 형태, 체커 보드의 형태, 색상 패턴의 형태 중 어느 하나 또는 복수를 사용하는 것을 특징으로 한다.
또, 상기 영상처리부(300)는 엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 한다.
또한, 상기 자세추정부(400)는 엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식
Figure 112020044319816-pat00001
(여기서,
Figure 112020044319816-pat00002
는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
Figure 112020044319816-pat00003
은 3차원 회전변환 행렬,
Figure 112020044319816-pat00004
는 이동변환 벡터)과 같이 구하고,
비전 센서의 방향 정보인 롤(roll,
Figure 112020044319816-pat00005
), 피치(pitch,
Figure 112020044319816-pat00006
) 및 요(yaw,
Figure 112020044319816-pat00007
)를 다음식
Figure 112020044319816-pat00008
Figure 112020044319816-pat00009
Figure 112020044319816-pat00010
(여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,
Figure 112020044319816-pat00011
는 비전센서 좌표계의 y축 방향 단위 벡터
Figure 112020044319816-pat00012
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00013
의 z축 성분이고,
Figure 112020044319816-pat00014
는 비전센서 좌표계의 z축 방향 단위 벡터
Figure 112020044319816-pat00015
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00016
의 z축 성분이고,
Figure 112020044319816-pat00017
,
Figure 112020044319816-pat00018
,
Figure 112020044319816-pat00019
는 각각 비전센서 좌표계의 x축 방향 단위 벡터
Figure 112020044319816-pat00020
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00021
의 x, y, z축 성분이고,
Figure 112020044319816-pat00022
은 역사인(arcsine) 함수이다)과 같이 구하여, , 로봇의 자세를 계산하는 것을 특징으로 한다.
아울러, 상기 로봇제어부(600)는 목표 영역과 이동경로가 확보되지 않으면, 로봇이 출발지점으로 복귀하거나 제자리에서 대기하도록 제어하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법에 있어서, 비전센서(200)로 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득하는 바닥감지 단계(S10); 엘리베이터의 내부 벽이 위치와 관련된 정보 및 엘리베이터의 내부 바닥에 표시된 마커(10)들이 위치와 관련된 정보가 저장된 엘리베이터 바닥의 지도를 근거로, 상기 바닥감지 단계(S10)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신하는 바닥지도획득 단계(S20); 상기 바닥지도획득 단계(S20)로부터 갱신된 엘리베이터 바닥의 지도를 기반으로, 로봇의 자세를 추정하고, 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획하는 이동경로계획 단계(S30);를 포함하는 것을 특징으로 한다.
또한, 상기 바닥지도획득 단계(S20)는 엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 한다.
또, 상기 이동경로계획 단계(S30)는 엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식
Figure 112020044319816-pat00023
(여기서,
Figure 112020044319816-pat00024
는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
Figure 112020044319816-pat00025
은 3차원 회전변환 행렬,
Figure 112020044319816-pat00026
는 이동변환 벡터)과 같이 구하고,
비전 센서의 방향 정보인 롤(roll,
Figure 112020044319816-pat00027
), 피치(pitch,
Figure 112020044319816-pat00028
) 및 요(yaw,
Figure 112020044319816-pat00029
)를 다음식
Figure 112020044319816-pat00030
Figure 112020044319816-pat00031
Figure 112020044319816-pat00032
(여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,
Figure 112020044319816-pat00033
는 비전센서 좌표계의 y축 방향 단위 벡터
Figure 112020044319816-pat00034
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00035
의 z축 성분이고,
Figure 112020044319816-pat00036
는 비전센서 좌표계의 z축 방향 단위 벡터
Figure 112020044319816-pat00037
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00038
의 z축 성분이고,
Figure 112020044319816-pat00039
,
Figure 112020044319816-pat00040
,
Figure 112020044319816-pat00041
는 각각 비전센서 좌표계의 x축 방향 단위 벡터
Figure 112020044319816-pat00042
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00043
의 x, y, z축 성분이고,
Figure 112020044319816-pat00044
은 역사인(arcsine) 함수이다)과 같이 구하여, 로봇의 자세를 계산하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따르면, 상기 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따르면, 상기 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 의하면, 비전센서로 획득한 영상의 마커를 기반으로 로봇의 자세를 추정하고, 로봇의 이동 경로를 계획하여, 로봇이 자율적으로 엘리베이터를 탑승 및 하차에 필요한 환경을 제공하는 효과가 있다.
또한, 아루코(Aruco) 마커의 형태, 체커 보드의 형태, 색상 패턴의 형태 등 단순한 마커를 사용함으로써, 자세추정 및 경로 계획에 필요한 연산량을 줄일 수 있는 효과가 있다.
또, 점유되지 않은 단위 블록들의 집합 영역을 로봇이 이동할 수 있는 영역으로 구분함으로써, 엘리베이터 내부 지도에 표시된 벽과 같은 환경적 장애물 이외에 엘리베이터 내부 지도에 표시되지 않는 사람이나 박스 등과 같은 비환경적 장애물이 존재하더라도 엘리베이터에 탑승 및 하차가 가능하고, 이에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.
또한, 비전센서를 이용함으로써, 엘리베이터 내부의 특징(반사율이 높은 금속 재질 등으로 둘러싸인 공간)에 의해 라이다 센서를 사용하게 되면 물체를 탐지하는 데 있어서 오류가 많이 발생되는 문제를 해결하는 효과가 있다.
또, 2차원 좌표계 상에서 자세를 추정함으로써, 자세 추정에 필요한 연산량을 최소화 할 수 있는 효과가 있다.
아울러, 로봇이 엘리베이터 탑승에 실패하더라도 탑승 대기 지점(출발 지점)으로 복귀하여 대기하도록 함으로써, 보다 안정적인 엘리베이터 탑승이 가능한 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 블록도.
도 2는 로봇이 엘리베이터 탑승 대기 지점(출발 지점)에서 대기한 상태에서 엘리베이터의 문이 열려, 엘리베이터 내부의 바닥이 보이는 예를 보여주는 예시도.
도 3은 로봇의 비전센서의 좌표계와 엘리베이터 내부 지도의 좌표계를 비교한 예를 보여주는 예시도.
도 4는 엘리베이터의 바닥에 아루코(Aruco) 마커의 형태가 설치된 경우에 대한 예를 보여주는 예시도.
도 5는 엘리베이터의 바닥에 체커 보드의 형태가 설치된 경우에 대한 예를 보여주는 예시도.
도 6은 엘리베이터의 바닥에 색상 패턴의 형태가 설치된 경우에 대한 예를 보여주는 예시도.
도 7은 도 7은 본 발명의 일 실시예에 따른 엘리베이터 바닥의 지도에 대한 예를 보여주는 예시도.
도 8은 본 발명의 일 실시예에 따라 로봇이 1차 목표지점을 설정하고 경로를 계획하는 예를 보여주는 예시도.
도 9는 본 발명의 일 실시예에 따라 로봇이 1차 목표지점에서 2차 목표지점을 설정하고 경로를 계획하는 예를 보여주는 예시도.
도 10은 본 발명의 일 실시예에 따른 엘리베이터 바닥의 지도가 내부 공간의 중요도에 따라 마커의 크기를 달리한 예를 보여주는 예시도.
도 11은 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법의 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다.
도 1은 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 블록도이고, 도 2는 로봇이 엘리베이터 탑승 대기 지점(출발 지점)에서 대기한 상태에서 엘리베이터의 문이 열려, 엘리베이터 내부의 바닥이 보이는 예를 보여주는 예시도이며, 도 3은 로봇의 비전센서의 좌표계와 엘리베이터 내부 지도의 좌표계를 비교한 예를 보여주는 예시도이고, 도 4는 엘리베이터의 바닥에 아루코(Aruco) 마커의 형태가 설치된 경우에 대한 예를 보여주는 예시도이며, 도 5는 엘리베이터의 바닥에 체커 보드의 형태가 설치된 경우에 대한 예를 보여주는 예시도이고, 도 6은 엘리베이터의 바닥에 색상 패턴의 형태가 설치된 경우에 대한 예를 보여주는 예시도이며, 도 7은 도 7은 본 발명의 일 실시예에 따른 엘리베이터 바닥의 지도에 대한 예를 보여주는 예시도이고, 도 8은 본 발명의 일 실시예에 따라 로봇이 1차 목표지점을 설정하고 경로를 계획하는 예를 보여주는 예시도이며, 도 9는 본 발명의 일 실시예에 따라 로봇이 1차 목표지점에서 2차 목표지점을 설정하고 경로를 계획하는 예를 보여주는 예시도이고, 도 10은 본 발명의 일 실시예에 따른 엘리베이터 바닥의 지도가 내부 공간의 중요도에 따라 마커의 크기를 달리한 예를 보여주는 예시도이며, 도 11은 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법의 흐름도이다.
본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램은 실내 이동 로봇이 엘리베이터를 탑승 및 하차하기 위해 필요한 환경을 인식하는 기술을 제공하여, 실내 이동 로봇이 스스로 엘리베이터에 탑승할 공간이 있는 지 확인하고, 자기 위치를 추정하고, 경로를 계획하여 이동함으로써, 스스로 엘리베이터를 탑승 및 하차할 수 있도록 할 수 있다.
계산의 편의를 위해, 다음과 같은 사항을 가정할 수 있다.
실내 이동 로봇이 엘리베이터를 탑승 또는 하차하는 도중에 엘리베이터의 문이 닫히지 않는다고 가정할 수 있다.
즉, 엘리베이터는 실내 이동 로봇의 탑승 시도 또는 하차 시도 여부를 알고 있고, 해당 시도의 성공 여부를 알 수 있다.
실내 이동 로봇은 엘리베이터의 문이 완전히 열리는 것을 감지할 수 있다.
즉, 실내 이동 로봇은 센서를 이용하여 감지하는 것도 가능하지만, 전파 통신과 같은 방법으로, 엘리베이터의 동작을 정확하게 알 수 있고, 또한 엘리베이터도 마찬가지로 로봇의 동작을 정확하게 알 수 있도록 할 수 있다.
실내 이동 로봇이 엘리베이터에 탑승하는 경우에는 로봇에 설치된 비전센서(10)가 엘리베이터의 정면을 바라보는 방향으로 대기하고 있다고 가정할 수 있다.
이동 로봇이 상기 엘리베이터 탑승 대기 위치로 미리 이동하는 방법은 수동으로 사람이 직접 조작하여 이동시킬 수도 있고, 자율주행으로 사람의 조작 없이 알고리즘에 의해 이동할 수 있다.
이동 로봇이 상기 엘리베이터 탑승 대기 위치로 이동하는 방법에 관해서는 본 발명에서 다루지 않는다.
즉, 다양한 서비스 및 목적을 달성하기 위해 이동 로봇이 엘리베이터 탑승 대기 위치로 이동한 상태를 가정한다.
상기 탑승 대기 위치는 이동 로봇이 엘리베이터에서 하차할 때 최종 목표지점이 될 수 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치는 마커(10), 지도저장부(100), 비전센서(200), 영상처리부(300), 자세추정부(400), 경로계획부(500) 및 로봇제어부(600)를 포함한다.
마커(10)는 엘리베이터의 내부 바닥에 표시된다.(도 2 내지 도 3 참조)
엘리베이터의 바닥에는 이동 로봇의 비전센서(200)로 인식 가능한 마커(10)가 있다.
상기 마커(10)는 인식 가능한 특정한 표식 또는 패턴이 될 수 있다.
또한, 상기 마커(10)는 엘리베이터의 내부 바닥 전체에 배치되는 것도 가능하나, 미리 결정된 규칙에 의해 배치되는 것도 가능하다.
또, 상기 마커(10)는 서로 다른 복수 종류의 마커가 미리 결정된 규칙에 의해 배치되는 것도 가능하다.
예를 들어, 체커보드의 형태와 QR 코드(Quick Response code)의 형태가 같이 배치될 수도 있다.
이때, QR 코드에는 엘리베이터 내부의 크기, 형상 등과 같은 엘리베이터 내부의 특징과 관련된 정보가 담길 수 있다.
지도저장부(100)는 엘리베이터의 내부 벽의 위치와 관련된 정보(좌표, 특징, 크기 등) 및 엘리베이터의 내부 바닥에 표시된 마커(10)들의 위치와 관련된 정보(좌표, 특징, 크기 등)를 가진 엘리베이터 바닥의 지도가 저장된다.
상기 지도저장부(100)는 로봇의 자세 추정 및 이동경로를 계획하는데 이용되는 기초 자료인 엘리베이터 바닥의 지도를 저장하며, 상기 엘리베이터 바닥의 지도는 상기 마커(10)의 위치와 관련된 정보를 가지고 있다.
비전센서(200)는 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득한다.
상기 이동 로봇은 이동 로봇에 설치된 비전센서(10)를 이용하여 영상 데이터를 수집할 수 있다.
이때, 가능하면 로봇의 수직 아래 바닥부터 특정 범위의 전방을 감지 영역으로 하는 것이 바람직하다. 이는 로봇의 바로 앞에 장애물이 있을 경우를 대비하기 위함이다.
영상처리부(300)는 상기 지도저장부(100)에 저장된 엘리베이터 바닥의 지도를 근거로, 상기 비전센서(200)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신한다.
엘리베이터의 바닥에 설치된 마커(10)에 대해 이동 로봇은 비전센서(200)로 2차원 영상을 획득하게 되는데, 도 3과 같은 형태의 좌표계로 표현할 수 있다.
상기 엘리베이터 바닥의 지도를 생성 또는 갱신하는 과정을 예로 설명하면,
상기 비전센서(200)로부터 획득된 영상에 대해 영상 처리 과정을 거쳐서 좌/우 벽의 경계선을 추출(도 4 내지 도 6의 (c) 참조) 하고, 점유되지 않은 바닥에 대한 바닥의 경계선을 추출(도 4 내지 도 6의 (d) 참조)하여, 바닥의 점유도에 대한 값을 획득할 수 있다.
이동 로봇은 도 8과 같은 방법으로 엘리베이터에 탑승하는 과정에서 자신의 위치를 추정할 수 있다.
이를 활용하면 엘리베이터 내부의 공간에 대한 비환경적 장애물의 공간 점유 상태를 알 수 있다.
비환경적 장애물은 엘리베이터에 고정적으로 배치된 장애물(환경적 장애물)이 아닌 사람 등 유동적 장애물을 의미한다.
도 7은 엘리베이터 바닥의 지도를 최초 생성한 예를 보여주는 것이고, 도 8은 로봇이 이동하면서 갱신된 엘리베이터 바닥의 지도를 보여주는 것이다.
즉, 상기 영상처리부(300)는 마커(10)가 포함된 엘리베이터 내부의 영상을 획득하여, 도 7과 같은 엘리베이터 내부 지도를 생성(변환)할 수 있고, 이동 로봇의 이동에 따라 엘리베이터 내부 지도를 도 8과 같이 갱신 하면서 목표 영역을 업데이트 할 수 있다.
이렇게 생성 또는 갱신된 엘리베이터 바닥의 지도는 별도의 저장공간에 저장되어 관리될 수 있다.
자세추정부(400)는 상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도를 기반으로, 상기 로봇의 자세를 추정한다.
실내 이동 로봇은 상기 마커로부터 엘리베이터 내부 지도의 좌표계를 기준으로 자신의 위치 및 방향을 포함하는 자세를 추정할 수 있다.
경로계획부(500)는 상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도 및 상기 자세추정부(400)에 의해 추정된 로봇의 자세를 기반으로, 상기 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획한다.
상기 목표지점은 로봇이 장애물을 피해 엘리베이터에 탑승 또는 하차 할 수 있는 지점을 의미하고, 이를 위해 목표 영역이 필요하다.
로봇제어부(600)는 상기 경로계획부(500)에 의해 생성된 이동경로를 따라 로봇이 이동하도록 제어한다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 마커(10)는 아루코(Aruco) 마커의 형태, 체커 보드의 형태, 색상 패턴의 형태 중 어느 하나 또는 복수를 사용하는 것을 특징으로 할 수 있다.
마커(10)는 일정한 포맷으로 만들어진 인공적인 표식으로, 추적을 위해 사용할 수 있다.
아루코(Aruco) 마커는 n x n 크기의 2차원 비트 패턴과 이를 둘러싸고 있는 검은색 태두리 영역으로 구성되어 있다. 검은색 테두리 영역은 마커를 빨리 인식하도록 하기 위한 것이며, 내부의 2차원 비트 패턴은 흰색 셀과 검정색 셀의 조합으로 마커의 고유 ID를 표현한 것으로 마커를 식별하는데 사용된다.(도 4 참조)
체커 보드의 형태는 격자모양의 배열에 두 가지 색상(흰색, 검정색 등)이 교번되도록 배치된 형태를 말한다.(도 5 참조)
색상 패턴의 형태는 격자모양의 배열에 여러 가지 색상(빨간색, 파란색, 녹색, 노란색 등)이 교번되도록 배치된 형태를 말한다.(도 6 참조)
상기에서 다양한 마커(10)의 예를 설명하였으나, 본 발명이 이에 한정된 것은 아니며, 체커 보드의 밝은색(흰색, 공백 등) 부분에 아루코(Aruco) 마커가 삽입된 체루코(ChAruco) 보드의 형태 등 추적이 가능한 마커(10)라면 어떠한 것도 적용 가능함은 물론이다.
도 4 내지 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 영상처리부(300)는 엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 할 수 있다.
아루코(Aruco) 마커의 형태를 가진 경우에는 우선 획득된 영상을 문턱 값(threshold value)을 이용하여 이진(binary) 영상으로 변환시키는 데, 여기에는 캐니 엣지 탐지 기법(Canny edge detection)이나 지역적인 적응적 이진화 방법(local adaptive thresholding approach) 등의 여러 가지 방법을 사용할 수 있으나 이에 국한되지 않는다.
전환된 이진 영상에 대해서 윤곽선을 추출하는데, 여기에는 소벨(Sobel) 필터를 활용하는 방법이나 스즈키(Suzuki)의 윤곽선 추출 방법(topological structural analysis of digitized binary images by border following) 등의 여러 가지 방법을 사용할 수 있으나 이에 국한되지 않는다.
추출된 윤곽선 영상에서 더글라스-페커(Douglas-Peucker) 알고리즘을 이용하여 사각형의 형태를 갖는 마커의 후보군 위치를 찾을 수 있다.
더글라스-페커 알고리즘 외에도 해리스 코너 탐지(Harris corner detection) 기법 등의 다양한 방법을 활용할 수 있다.
여기서 로봇이 엘리베이터를 타기위해 대기한 위치에서 보여지는 사각형의 형태를 갖는 마커의 후보군에서 적정한 크기가 아닌 사각형들은 배제하는 것이 바람직하다. 즉, 사전에 정의된 마커가 아닌 사각형들은 배제하는 것이 바람직하다.
여기서 상기 적정한 크기란, 로봇이 엘리베이터를 타기위해 대기한 위치에서 엘리베이터 내부 바닥의 마커를 바라보았을 때, 마커로써 검출될 만한 사각형의 크기를 뜻하는 것으로, 사전에 정해질 수 있다.
다시 원래의 영상에서 적정한 크기를 갖는 사각형들로 구성된 마커의 후보군에 해당되는 부분에 대해 호모그래피 행렬(homography matrix)을 이용하여 원근 사영(perspective projection) 효과를 제거하고 엘리베이터의 바닥 마커를 수직으로 내려다보았을 때의 직사각형 형태로 변환시킬 수 있다.
상기 단계에서 획득한 마커 내부 영상을 오츠(Otsu)의 이진화 방법을 이용하여 이진 영상으로 만들고, 일정한 간격의 격자(grid)들로 나누어서 각 격자들의 내부색을 기준으로 검은 색은 0으로, 흰색은 1로 변환할 수 있다.
상기 변환된 데이터에서 0으로 변환되는 테두리 부분을 제외한 숫자들의 조합을 참조하여, 마커가 로봇의 마커 사전(dictionary)에 속한 마커인지 확인하고, 로봇의 마커 사전에 속하지 않은 마커들은 배제하여 온전한 마커들의 영역을 결정할 수 있다.
여기서, 테두리의 정보에 0이 아닌 부분이 있다면 해당되는 부분은 마커가 아닌 장애물로 간주하는 것이 바람직하다.
체커보드의 형태인 경우에는, 아루코(Aruco) 마커의 형태인 경우와 유사하게 이뤄진다.
우선, 동일한 방법으로 사각형의 형태를 갖는 마커의 후보군 위치를 찾는다.
그런 다음, 내부의 색이 검은색으로 채워지거나 흰색으로 채워지지 않은 영역을 배제한다.
또한, 검은색 사각형의 상하좌우 위치에 흰색 사각형이 오지 않거나, 흰색 사각형의 상하좌우 위치에 검은색 사각형이 오진 않는 경우, 해당 영역을 마커가 아닌 영역으로 간주하고, 온전한 마커들의 영역을 결정한다.
색상 패턴의 형태의 경우에도, 아루코(Aruco) 마커의 형태인 경우와 유사하게 진행된다.
우선, 동일한 방법으로 사각형의 형태를 지닌 마커의 후보군을 찾는다.
그런 다음, 내부의 색이 로봇의 사전에 등록된 색으로 채워진 건지 확인하고, 해당 색의 영역의 상하좌우에 지정된 색이 발견되는 지 확인하여 온전한 마커의 영역을 결정한다.
위와 같은 방법을 통해 엘리베이터 바닥에 대해 온전한 마커들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 부분 즉, 이동로봇이 이동할 수 있는 영역만을 구분해낼 수 있다.
또한, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 마커로 분류되어야하는 영역임에도 불구하고, 마커가 아닌 영역으로 판단되는 영역은 비환경적 장애물에 의해 마커가 점유되어있거나, 보이지 않는 영역으로 판단할 수 있다.
엘리베이터 바닥과 벽 사이의 경계선은 기저장된 엘리베이터 바닥에 대한 정보와 획득한 영상과의 비교를 통해 알아낼 수 있다.
예를 들어, 획득한 영상에서 검출된 엘리베이터 바닥의 마커 중에 좌/우 끝에 해당되는 마커의 정보를 도출한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여, 엘리베이터 내부 벽에 대한 판단을 할 수 있다.
한 실시예로 도 4를 참고하여, (a)와 같은 기준 마커가 일정한 간격으로 엘리베이터 바닥에 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.
상기 예시에서 점유되지 않은 공간은 기준 마커가 완전하게 인식되는 부분의 집합을 의미한다.
상기 예시에서 기준 마커가 인식되지 않는 부분은 점유된 공간으로 간주할 수 있다.
다른 실시예로 도 5를 참고하여, (a)와 같은 체커 보드가 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다고 한다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.
상기 예시에서 점유되지 않은 공간은 체커가 완전한 직사각형의 형태로 인식된 부분의 집합을 의미한다.
상기 예시에서 검출된 체커의 형태가 직사각형이 아니라면 점유된 공간으로 간주할 수 있다.
다른 실시예로 도 6를 참고하여, (a)와 같은 색상 패턴이 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다고 한다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.
상기 예시에서 점유되지 않은 공간은 사각형의 색상 패턴의 각 위치에 사전에 정의된 한 가지 색상만 검출되는 공간의 집합을 의미한다.
상기 예시에서 만일 한 가지 색상으로 검출된 공간이 사각형이 아니라면 점유된 공간으로 간주할 수 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 자세추정부(400)는
엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식
Figure 112020044319816-pat00045
(여기서,
Figure 112020044319816-pat00046
는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
Figure 112020044319816-pat00047
은 3차원 회전변환 행렬,
Figure 112020044319816-pat00048
는 이동변환 벡터)
과 같이 구하고,
비전 센서의 방향 정보인 롤(roll,
Figure 112020044319816-pat00049
), 피치(pitch,
Figure 112020044319816-pat00050
) 및 요(yaw,
Figure 112020044319816-pat00051
)를 다음식
Figure 112020044319816-pat00052
Figure 112020044319816-pat00053
Figure 112020044319816-pat00054
(여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,
Figure 112020044319816-pat00055
는 비전센서 좌표계의 y축 방향 단위 벡터
Figure 112020044319816-pat00056
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00057
의 z축 성분이고,
Figure 112020044319816-pat00058
는 비전센서 좌표계의 z축 방향 단위 벡터
Figure 112020044319816-pat00059
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00060
의 z축 성분이고,
Figure 112020044319816-pat00061
,
Figure 112020044319816-pat00062
,
Figure 112020044319816-pat00063
는 각각 비전센서 좌표계의 x축 방향 단위 벡터
Figure 112020044319816-pat00064
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00065
의 x, y, z축 성분이고,
Figure 112020044319816-pat00066
은 역사인(arcsine) 함수이다)
과 같이 구하여, 로봇의 자세를 계산하는 것을 특징으로 할 수 있다.
상기 지도저장부(100)에는 도 7과 같은 형태의 엘리베이터 내부 지도가 저장될 수 있다.
엘리베이터 내부 지도는 엘리베이터의 내부 벽과 각 마커들이 위치하는 좌표가 표시될 수 있다.
로봇이 이동할 수 있는 공간내에 위치한 마커들의 좌표를 로봇이 사전에 지니고 있는 엘리베이터 내부 지도의 좌표계를 기준으로 지니고 있도록 할 수 있다.
이는, 사전에 엘리베이터에 비환경적 장애물을 인위적으로 제거하고, 엘리베이터 탑승 시작위치에 로봇을 두고, 비전 센서 데이터를 취득하여, 카메라 캘리브레이션(calibration)을 활용하여 얻을 수 있다.
도 3에서와 같이 엘리베이터 바닥의 마커 위의 한 점 A가 엘리베이터 내부 지도 좌표계 기준으로 (x, y, z)에 위치하고 있다고 하자.
상기 점 A에 대해 로봇의 비전센서를 통해 측정한 영상 위의 한 점 A'가 비전센서의 위치를 원점으로 하는 3차원 좌표계, 즉 비전센서 좌표계를 기준으로 (a, b, c)에 있다고 하고, 획득된 영상의 2차원 영상 좌표계에서 (m, n)에 위치하고 있다고 하자.
좌표 (m, n)와 좌표 (a, b, c) 사이에 다음과 같은 관계가 성립한다.
Figure 112020044319816-pat00067
Figure 112020044319816-pat00068
Figure 112020044319816-pat00069
Figure 112020044319816-pat00070
Figure 112020044319816-pat00071
Figure 112020044319816-pat00072
여기서
Figure 112020044319816-pat00073
는 비전센서의 초점 거리이고,
Figure 112020044319816-pat00074
Figure 112020044319816-pat00075
는 각각 비전센서의 한 픽셀의 x와 y방향 크기를 의미하며,
Figure 112020044319816-pat00076
는 비대칭(skewness) 계수이며
Figure 112020044319816-pat00077
로써 구해진다.
여기서
Figure 112020044319816-pat00078
는 비전센서의 y축이 x축에 대해 기울어진 정도를 각도로 표현한 값이다.
Figure 112020044319816-pat00079
Figure 112020044319816-pat00080
는 각각 비전센서의 광축과 영상평면이 만나는 주점(principal point)의 x와 y방향 좌표를 의미한다.
또한,
Figure 112020044319816-pat00081
,
Figure 112020044319816-pat00082
,
Figure 112020044319816-pat00083
,
Figure 112020044319816-pat00084
,
Figure 112020044319816-pat00085
,
Figure 112020044319816-pat00086
은 방사 왜곡에 대한 계수이고,
Figure 112020044319816-pat00087
Figure 112020044319816-pat00088
는 접선 왜곡에 대한 계수이고,
Figure 112020044319816-pat00089
이다.
위 관계식을 통해 비전 센서 좌표계의 한 점 (a, b, c)는 비전 센서로 획득한 영상의 2차원 좌표계위의 한 점 A'로 표현된다.
좌표 (a, b, c)와 좌표 (x, y, z) 사이에 다음과 같은 관계가 성립한다.
Figure 112020044319816-pat00090
여기서,
Figure 112020044319816-pat00091
은 3차원 회전변환 행렬이고,
Figure 112020044319816-pat00092
는 이동변환 벡터(vector)이다.
마커들이 도 4 내지 6과 같이 사각형의 형태를 지닌다고 하면, 상기 관계식들과 마커 외곽선의 네 개의 꼭지점 정보와 레벤버그 마쿼드(Levenberg-Marquardt) 알고리즘을 이용하여
Figure 112020044319816-pat00093
Figure 112020044319816-pat00094
를 구할 수 있다.
엘리베이터 내부 지도 좌표계에서 비전 센서의 좌표
Figure 112020044319816-pat00095
는 비전센서 좌표축 기준으로 (0, 0, 0)이기 때문에 아래와 같이 구해진다.
Figure 112020044319816-pat00096
- 비전 센서의 방향 정보인 롤(roll,
Figure 112020044319816-pat00097
), 피치(pitch,
Figure 112020044319816-pat00098
)와 요(yaw,
Figure 112020044319816-pat00099
)는 다음과 같이 구해질 수 있다.
Figure 112020044319816-pat00100
Figure 112020044319816-pat00101
Figure 112020044319816-pat00102
- 여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,
Figure 112020044319816-pat00103
은 역사인(arcsine) 함수이다.
- 여기서
Figure 112020044319816-pat00104
는 비전센서 좌표계의 y축 방향 단위 벡터
Figure 112020044319816-pat00105
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00106
의 z축 성분이다.
Figure 112020044319816-pat00107
- 여기서
Figure 112020044319816-pat00108
는 비전센서 좌표계의 z축 방향 단위 벡터
Figure 112020044319816-pat00109
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00110
의 z축 성분이고
Figure 112020044319816-pat00111
- 여기서
Figure 112020044319816-pat00112
,
Figure 112020044319816-pat00113
,
Figure 112020044319816-pat00114
는 각각 비전센서 좌표계의 x축 방향 단위 벡터
Figure 112020044319816-pat00115
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00116
의 x, y, z축 성분이다.
Figure 112020044319816-pat00117
- 상기 과정을 통해 엘리베이터 내부 지도 좌표계에서 비전 센서의 좌표를 구할 수 있고, 이를 통해 이동로봇의 자세를 계산할 수 있다.
본 실시예에서는 비전센서의 피치(pitch) 정보와 롤(roll) 정보가 사용되지 않지만, 만일 엘리베이터 내부 지도로 3차원 형태의 지도를 사용한다면 피치 정보와 롤 정보가 요구될 수 있다.
비전 센서로 영상을 획득하고 마커 인식을 위한 영상 처리 이후에, 온전한 형태의 마커가 발견되는 영역을 로봇이 이동할 수 있는 공간으로 결정할 수 있다.
마커의 인식을 마친 후에는 도 8과 같은 형태의 지도로 업데이트하게 된다.
즉, 도 8과 같은 엘리베이터 내부 지도를 실시간으로 생성한다.
다시 말해, 비전센서로 획득한 2차원 영상의 마커와 로봇이 지닌 엘리베이터 내부 지도위 마커를 1대1로 매칭시켜서 좌표로 표현할 수 있다.
여기서, 만일 아루코(Aruco) 마커의 형태인 경우에는 마커를 매칭함에 있어서 각 마커가 갖는 고유의 식별정보(ID)를 활용할 수 있다.
만일 체커 보드의 형태인 경우에는 엘리베이터의 실제 크기와 각 마커들의 실제 크기 정보, 영상에서 축소 또는 확대되는 스케일 정보 등을 활용해서 매칭시킬 수 있다.
만일 색상 패턴의 형태인 경우에는, 고유의 색상 정보 및 상하좌우 배치된 색상 패턴을 활용하여 매칭시킬 수 있다.
즉, 로봇이 엘리베이터 내부의 바닥의 마커(10)를 식별하면, 엘리베이터 지도에서 로봇이 갈 수 있는 영역과 갈수 없는 영역을 도 8의 지도 내에서 구별할 수 있게 된다.
본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 로봇제어부(600)는 목표 영역과 이동경로가 확보되지 않으면, 로봇이 출발지점으로 복귀하거나 제자리에서 대기하도록 제어하는 것을 특징으로 할 수 있다.
엘리베이터는 내부에 탑승할 수 있는 공간이 확보되지 않으면, 다음을 기다려야 한다.
로봇이 엘리베이터 안으로 탑승 중(로봇의 일부가 엘리베이터 내부에 위치하는 경우) 로봇이 엘리베이터 내부에 탑승할 수 없다고 판단되면 출발지점으로 복귀하는 것이 바람직하고, 엘리베이터 문이 열렸을 때 로봇이 엘리베이터 내부에 탑승할 수 없다고 판단되면 제자리에서 대기하는 것이 바람직하다.
도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 마커(10)는 엘리베이터의 내부 바닥 중요도에 따라 그 크기(해상도)를 달리하여 배치되는 것도 가능하다.
이는, 중요한 부분만 해상도를 높여서 정밀한 제어가 가능하도록 하되 연산량을 줄이기 위함이다.
즉, 모든 영역의 계산을 정밀하게 하는 것이 아니라, 경계영역, 모서리 등 중요도가 높은 부분을 더욱 정밀하게 계산하도록 하기 위함이다.
예를 들어, 엘리베이터의 내부 바닥 테두리로 갈수록 상기 마커(10)의 크기가 작아지도록 할 수 있다.
아울러, 마커(10)를 통해 로봇의 자세를 추정할 수만 있다면 어떠한 마커(10)든지 사용 가능함은 물론이다.
도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법에 있어서, 바닥감지 단계(S10), 바닥지도획득 단계(S20) 및 이동경로계획 단계(S30)를 포함한다.
바닥감지 단계(S10)는 비전센서(200)로 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득한다.
상기 비전센서(200)는 주기적 또는 실시간으로 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득할 수 있다.
즉, 상기 바닥감지 단계(S10)는 주기적 또는 실시간으로 시행된다.
우선, 최초에 엘리베이터를 내부를 바라보는 방향에서 로봇은 엘리베이터에 탑승하기 위한 알고리즘을 시작할 수 있다.
즉, 상기 비전센서(200)로 획득된 영상정보 중 마커(10)가 감지되면 후술하는 바닥지도획득 단계(S20)를 수행하도록 할 수 있다.
바닥지도획득 단계(S20)는 엘리베이터의 내부 벽이 위치와 관련된 정보 및 엘리베이터의 내부 바닥에 표시된 마커(10)들이 위치와 관련된 정보가 저장된 엘리베이터 바닥의 지도를 근거로, 상기 바닥감지 단계(S10)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신한다.
상기 바닥지도획득 단계(S20)는 이동 로봇이 엘리베이터 탑승 대기 위치에서 비전센서(200)로 영상을 획득하고, 획득된 영상에서 마커(10)를 탐색한다.
마커(10)의 실제 크기 및 위치와, 이에 대응되는 로봇의 초기 시작지점에서 인식되는 영상 내부 픽셀로 표현되는 마커(10)의 크기 및 위치에 대한 정보는 사전에 저장되어 있고, 연산처리수단이 사용할 수 있도록 하는 것이 바람직하다.
이동경로계획 단계(S30)는 상기 바닥지도획득 단계(S20)로부터 갱신된 엘리베이터 바닥의 지도를 기반으로, 로봇의 자세를 추정하고, 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획한다.
상기 바닥지도획득 단계(S20)에서 엘리베이터의 벽과 바닥의 점유도를 검출했다면, 상기 이동경로계획 단계(S30)에서 이동 로봇의 크기를 고려하여 도달 가능한 목표 영역과 목표 지점이 있는지 탐색하고, 갈 수 있는 경로를 계획할 수 있다.
목표 지점이 속한 목표 영역이 로봇이 갈 수 있는 정도의 공간이라면 해당 영역으로 경로를 계획할 수 있다.
만일 목표 영역과 이동 경로가 확보되었다면, 현 이동 로봇의 자세를 추정하고 이동 경로를 생성한 뒤 로봇을 이동시킬 수 있다.
즉, 해당되는 목표 영역의 목표 지점으로 경로를 생성하고 이동을 개시할 수 있다.
만일 목표 영역과 이동 경로가 확보되지 않았다면, 그대로 종료하고 출발 지점으로 복귀하거나 그 자리에서 대기할 수 있다.
이동 경로는 한번에 끝까지 이동할 수 있는 경로를 생성할 수도 있고, 유한한 개수의 경로로 구성할 수 있다.
유한한 개수의 경로로 이동 경로를 생성하는 경우에는, 지역적인 목표지점에 도착할 때마다 목표 영역의 목표 지점에 도착 여부를 판단할 수 있다.
만일 목표 영역의 목표 지점에 도착했다면 종료하고, 그렇지 않은 경우 다시 영상을 획득하는 단계로 돌아가서 상기 과정을 반복하도록 할 수 있다.
만일 목표 영역의 목표 지점에 도달하지 못하고 종료된 이후에는 다시 초기 지점으로 돌아가는 방법이 있을 수 있다.
여기서 경로를 생성하는 법은 일반적인 자율 주행 알고리즘을 사용할 수 있다.
예를 들어, A* 알고리즘, Dijkstra 알고리즘 등의 전역 경로 계획 알고리즘과 Dynamic Window Approach (DWA) 알고리즘, Timed Elastic Band (TEB) 알고리즘 등의 지역 경로 계획 알고리즘을 이용할 수 있다.
본 발명은 자율 주행 알고리즘이 아닌 자율 주행을 위한 환경 인식 방법 및 장치를 제공하고자함이다.
이동하며 로봇이 자신의 자세(위치 및 방향)를 추정할 때에는 파티클 필터를 활용하는 방법 등이 있을 수 있다.
자기 자세의 추정은 다른 방법이 있을 수 있으나 이에 한정되지 않고, 본 발명에서는 환경을 인식하는 방법을 제공한다.
로봇은 자신의 구동 정보와 이전 자세를 이용하여 자신의 현재 자세를 다음과 같이 인식할 수 있다.
Figure 112020044319816-pat00118
여기서
Figure 112020044319816-pat00119
는 시간
Figure 112020044319816-pat00120
에서 로봇의 자세,
Figure 112020044319816-pat00121
은 시간
Figure 112020044319816-pat00122
에서 로봇의 자세,
Figure 112020044319816-pat00123
는 시간
Figure 112020044319816-pat00124
에서
Figure 112020044319816-pat00125
까지의 로봇의 자세변화량,
Figure 112020044319816-pat00126
는 시간
Figure 112020044319816-pat00127
에서 자세변화를 감지했을 때의 노이즈이다.
특정 시간
Figure 112020044319816-pat00128
에서 로봇의 자세 변화량
Figure 112020044319816-pat00129
는 자이로 센서 및 모터의 엔코더 값을 통해 알 수 있다.
하지만, 바닥면의 미끌림(slip)이나 바닥면의 평평하지 못함 등의 비이상적인 환경으로 인해 로봇의 자세 변화량은 정확한 정보를 주기 어렵고, 이 불확실성을
Figure 112020044319816-pat00130
로 표현한다.
본 발명에서 제시한 환경 인식 방법을 활용한 파티클 필터 기반 자기 자세 추정법을 예로 들면 다음과 같다.
파티클 필터는
Figure 112020044319816-pat00131
번째 로봇의 자세 후보
Figure 112020044319816-pat00132
를 다수의(
Figure 112020044319816-pat00133
) 파티클로 생성하고,
Figure 112020044319816-pat00134
, 각 파티클들의 모션(motion)을 측정된 자세 변화량을 통해 업데이트한다.
그리고 마커를 통해 측정된 로봇의 자세를 이용해서 각 파티클의 가중치(weight)를 업데이트한 이후에, 현재 자세를 정한다.
다시 파티클들을 각 파티클의 가중치 정보를 이용해서 리샘플링(resampling)하는 방식으로 일정 시간 및 자세가 변할 때마다 지속적으로 현재 자세를 추정한다.
여기서 리샘플링은 상기 가중치가 낮은 파티클을 제외시키고, 가중치가 높은 파티클은 여러개로 나누어 N개의 파티클을 업데이트하는 과정이다.
N개의 파티클을 업데이트하면 다시 모션과 가중치를 업데이트하여 리샘플링하는 과정을 반복한다.
여기서 리샘플링 과정을 통해, 로봇은 자기 자세의 후보로 표현되는 파티클들 중 가중치가 높은 파티클들의 집합으로 수렴시킬 수 있고, 따라서 자세 추정에서 오는 불확실성을 감소시킬 수 있다.
상기 파티클 필터의 가중치를 업데이트하는 과정에서 본 발명의 환경 인식 방법을 활용할 수 있다.
먼저, 실제 로봇에서 획득한 마커의 정보를 이용하여 로봇의 자세 정보
Figure 112020044319816-pat00135
를 추정한다.
상기 로봇의 자세 정보는 엘리베이터 내부 지도 좌표계의 비전센서 자세로부터 계산할 수 있다.
다음 각 파티클들의 위치 및 방향을 포함하는 자세 정보를 상기 추정된 로봇의 자세 정보와 비교한 오차 값에 역으로 비례하도록 가중치를 다음과 같이 계산할 수 있다.
Figure 112020044319816-pat00136
,
여기서
Figure 112020044319816-pat00137
는 비례 계수이며,
Figure 112020044319816-pat00138
를 만족하도록 설정된다.
그리고 가중치 업데이트 이후에 가장 높은 가중치를 갖는 후보를 현재 위치로 간주하도록 할 수 있다.
로봇은 지속적으로 자신의 위치를 갱신하면서 목표 영역안의 목표 지점을 향해 경로를 계획하고 이동한다.
만일 로봇이 엘리베이터로 진입하였다면, 비전 센서를 통해 마커를 확인할 수 없을 수 있다.
이러한 경우에는 가장 최근의 가중치값을 유지한 상태로 엔코더 값에 의존하여 자기 위치를 추정한다.
만일 내부에서 마커를 확인하면 다시 가중치를 업데이트하고, 리샘플링하는 과정을 반복한다.
이때 엘리베이터에 들어서면서 초기에 보이지 않았던 사각지대를 비전센서로 인식할 수 있을 수 있다.
이러한 경우에는 도 9에서와 같이 목표 영역을 새로운 지점으로 업데이트할 수 있다.
목표 영역을 업데이트 하게 되는 기준은 엘리베이터의 안쪽, 즉 y축 방향의 값에 높은 가중치를 두는 것으로 할 수 있다.
즉, 안쪽 방향으로 이동할 수 있다면 이동을 개시하고, 안쪽 방향으로 갈 수 없는 경우에는 이동하지 않는다.
x축 방향에는 동등한 가중치를 두어 새로운 곳이 발견되더라도 같은 y축 값이라면 이동을 하지 않고 현재 목표 영역에 대기하는 방법이 있을 수 있다.
만일 엘리베이터에 탑승하기 전에 마커가 인식되지 않으면 실패로 인지하거나 보일 때까지 해당 위치에서 대기할 수 있다.
본 발명을 이용하면, 이동 로봇이 엘리베이터와 같은 좁은 공간으로 저비용으로 진입하는 것이 가능하다.
본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법의 바닥지도획득 단계(S20)는 엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 할 수 있다.
아루코(Aruco) 마커의 형태를 가진 경우에는 우선 획득된 영상을 문턱 값(threshold value)을 이용하여 이진(binary) 영상으로 변환시키는 데, 여기에는 캐니 엣지 탐지 기법(Canny edge detection)이나 지역적인 적응적 이진화 방법(local adaptive thresholding approach) 등의 여러 가지 방법을 사용할 수 있으나 이에 국한되지 않는다.
전환된 이진 영상에 대해서 윤곽선을 추출하는데, 여기에는 소벨(Sobel) 필터를 활용하는 방법이나 스즈키(Suzuki)의 윤곽선 추출 방법(topological structural analysis of digitized binary images by border following) 등의 여러 가지 방법을 사용할 수 있으나 이에 국한되지 않는다.
추출된 윤곽선 영상에서 더글라스-페커(Douglas-Peucker) 알고리즘을 이용하여 사각형의 형태를 갖는 마커의 후보군 위치를 찾을 수 있다.
더글라스-페커 알고리즘 외에도 해리스 코너 탐지(Harris corner detection) 기법 등의 다양한 방법을 활용할 수 있다.
여기서 로봇이 엘리베이터를 타기위해 대기한 위치에서 보여지는 적정한 크기의 마커가 아닌 사각형들은 배제하는 것이 바람직하다. 즉, 로봇의 크기 때문에 지나갈 수 없는 영역은 배제하는 것이 바람직하다.
다시 원래의 영상에서 마커의 후보군에 해당되는 부분에 대해 호모그래피 행렬(homography matrix)을 이용하여 원근 사영(perspective projection) 효과를 제거하고 엘리베이터의 바닥 마커를 수직으로 내려다보았을 때의 직사각형 형태로 변환시킬 수 있다.
오츠(Otsu)의 이진화 방법을 이용하여 마커 내부 영상을 이진 영상으로 만들고, 일정한 간격의 격자(grid)들로 나누어서 0 또는 1의 숫자로 변환한 후, 0으로 변환되는 테두리 부분을 제외한 숫자들의 조합을 참조하여, 마커가 로봇의 사전(dictionary)에 저장된 마커인지 확인하고, 사전(dictionary)에 저장된 마커가 아닌 것은 배제하여 온전한 마커들의 영역을 결정할 수 있다.
여기서, 테두리의 정보에 0이 아닌 부분이 있다면 해당되는 부분은 마커가 아닌 장애물로 간주하는 것이 바람직하다.
체커보드의 형태인 경우에는, 아루코(Aruco) 마커의 형태인 경우와 유사하게 이뤄진다.
우선, 동일한 방법으로 사각형의 형태를 갖는 마커의 후보군 위치를 찾는다.
그런 다음, 내부의 색이 검은색으로 채워지거나 흰색으로 채워지지 않은 영역을 배제한다.
또한, 검은색 사각형의 상하좌우 위치에 흰색 사각형이 오지 않거나, 흰색 사각형의 상하좌우 위치에 검은색 사각형이 오진 않는 경우, 해당 영역을 마커가 아닌 영역으로 간주하고, 온전한 마커들의 영역을 결정한다.
색상 패턴의 형태의 경우에도, 아루코(Aruco) 마커의 형태인 경우와 유사하게 진행된다.
우선, 동일한 방법으로 사각형의 형태를 지닌 마커의 후보군을 찾는다.
그런 다음, 내부의 색이 로봇의 사전에 등록된 색으로 채워진 건지 확인하고, 해당 색의 영역의 상하좌우에 지정된 색이 발견되는 지 확인하여 온전한 마커의 영역을 결정한다.
위와 같은 방법을 통해 엘리베이터 바닥에 대해 온전한 마커들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 부분 즉, 이동로봇이 이동할 수 있는 영역만을 구분해낼 수 있다.
엘리베이터 바닥의 경계선은 기저장된 엘리베이터 바닥에 대한 정보와 획득한 영상과의 비교를 통해 알아낼 수 있다.
예를 들어, 획득한 영상에서 검출된 엘리베이터 바닥의 마커 중에 좌/우 끝에 해당되는 마커의 정보를 도출한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여, 끝의 정보인지에 대한 판단을 통해 알아낼 수 있다.
한 실시예로 도 4를 참고하여, (a)와 같은 기준 마커가 일정한 간격으로 엘리베이터 바닥에 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.
상기 예시에서 점유되지 않은 공간은 기준 마커가 완전하게 인식되는 부분의 집합을 의미한다.
상기 예시에서 기준 마커가 인식되지 않는 부분은 점유된 공간으로 간주할 수 있다.
다른 실시예로 도 5를 참고하여, (a)와 같은 체커 보드가 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다고 한다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.
상기 예시에서 점유되지 않은 공간은 체커가 완전한 직사각형의 형태로 인식된 부분의 집합을 의미한다.
상기 예시에서 검출된 체커의 형태가 직사각형이 아니라면 점유된 공간으로 간주할 수 있다.
다른 실시예로 도 6를 참고하여, (a)와 같은 색상 패턴이 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다고 한다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.
상기 예시에서 점유되지 않은 공간은 사각형의 색상 패턴의 각 위치에 사전에 정의된 한 가지 색상만 검출되는 공간의 집합을 의미한다.
상기 예시에서 만일 한 가지 색상으로 검출된 공간이 사각형이 아니라면 점유된 공간으로 간주할 수 있다.
본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법은 이동경로계획 단계(S30)는
엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식
Figure 112020044319816-pat00139
(여기서,
Figure 112020044319816-pat00140
는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
Figure 112020044319816-pat00141
은 3차원 회전변환 행렬,
Figure 112020044319816-pat00142
는 이동변환 벡터)
과 같이 구하고,
비전 센서의 방향 정보인 롤(roll,
Figure 112020044319816-pat00143
), 피치(pitch,
Figure 112020044319816-pat00144
) 및 요(yaw,
Figure 112020044319816-pat00145
)를 다음식
Figure 112020044319816-pat00146
Figure 112020044319816-pat00147
Figure 112020044319816-pat00148
(여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,
Figure 112020044319816-pat00149
는 비전센서 좌표계의 y축 방향 단위 벡터
Figure 112020044319816-pat00150
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00151
의 z축 성분이고,
Figure 112020044319816-pat00152
는 비전센서 좌표계의 z축 방향 단위 벡터
Figure 112020044319816-pat00153
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00154
의 z축 성분이고,
Figure 112020044319816-pat00155
,
Figure 112020044319816-pat00156
,
Figure 112020044319816-pat00157
는 각각 비전센서 좌표계의 x축 방향 단위 벡터
Figure 112020044319816-pat00158
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00159
의 x, y, z축 성분이고,
Figure 112020044319816-pat00160
은 역사인(arcsine) 함수이다)
과 같이 구하여, 로봇의 자세를 계산하는 것을 특징으로 할 수 있다.
상기 지도저장부(100)에는 도 7과 같은 형태의 엘리베이터 내부 지도가 저장될 수 있다.
엘리베이터 내부 지도는 엘리베이터의 내부 벽과 각 마커들이 위치하는 좌표가 표시될 수 있다.
로봇이 이동할 수 있는 공간내에 위치한 마커들의 좌표를 로봇이 사전에 지니고 있는 엘리베이터 내부 지도의 좌표계를 기준으로 지니고 있도록 할 수 있다.
이는, 사전에 엘리베이터에 비환경적 장애물을 인위적으로 제거하고, 엘리베이터 탑승 시작위치에 로봇을 두고, 비전 센서 데이터를 취득하여, 카메라 캘리브레이션(calibration)을 활용하여 얻을 수 있다.
도 3에서와 같이 엘리베이터 바닥의 마커 위의 한 점 A가 엘리베이터 내부 지도 좌표계 기준으로 (x, y, z)에 위치하고 있다고 하자.
상기 점 A에 대해 로봇의 비전센서를 통해 측정한 영상 위의 한 점 A'가 비전센서의 위치를 원점으로 하는 3차원 좌표계, 즉 비전센서 좌표계를 기준으로 (a, b, c)에 있다고 하고, 획득된 영상의 2차원 영상 좌표계에서 (m, n)에 위치하고 있다고 하자.
좌표 (m, n)와 좌표 (a, b, c) 사이에 다음과 같은 관계가 성립한다.
Figure 112020044319816-pat00161
Figure 112020044319816-pat00162
Figure 112020044319816-pat00163
Figure 112020044319816-pat00164
Figure 112020044319816-pat00165
Figure 112020044319816-pat00166
여기서
Figure 112020044319816-pat00167
는 비전센서의 초점 거리이고,
Figure 112020044319816-pat00168
Figure 112020044319816-pat00169
는 각각 비전센서의 한 픽셀의 x와 y방향 크기를 의미하며,
Figure 112020044319816-pat00170
는 비대칭(skewness) 계수이며
Figure 112020044319816-pat00171
로써 구해진다.
여기서
Figure 112020044319816-pat00172
는 비전센서의 y축이 x축에 대해 기울어진 정도를 각도로 표현한 값이다.
Figure 112020044319816-pat00173
Figure 112020044319816-pat00174
는 각각 비전센서의 광축과 영상평면이 만나는 주점(principal point)의 x와 y방향 좌표를 의미한다.
또한,
Figure 112020044319816-pat00175
,
Figure 112020044319816-pat00176
,
Figure 112020044319816-pat00177
,
Figure 112020044319816-pat00178
,
Figure 112020044319816-pat00179
,
Figure 112020044319816-pat00180
은 방사 왜곡에 대한 계수이고,
Figure 112020044319816-pat00181
Figure 112020044319816-pat00182
는 접선 왜곡에 대한 계수이고,
Figure 112020044319816-pat00183
이다.
위 관계식을 통해 비전 센서 좌표계의 한 점 (a, b, c)는 비전 센서로 획득한 영상의 2차원 좌표계위의 한 점 A'로 표현된다.
좌표 (a, b, c)와 좌표 (x, y, z) 사이에 다음과 같은 관계가 성립한다.
Figure 112020044319816-pat00184
여기서,
Figure 112020044319816-pat00185
은 3차원 회전변환 행렬이고,
Figure 112020044319816-pat00186
는 이동변환 벡터(vector)이다.
마커들이 도 4 내지 6과 같이 사각형의 형태를 지닌다고 하면, 상기 관계식들과 마커 외곽선의 네 개의 꼭지점 정보와 레벤버그 마쿼드(Levenberg-Marquardt) 알고리즘을 이용하여
Figure 112020044319816-pat00187
Figure 112020044319816-pat00188
를 구할 수 있다.
엘리베이터 내부 지도 좌표계에서 비전 센서의 좌표
Figure 112020044319816-pat00189
는 비전센서 좌표축 기준으로 (0, 0, 0)이기 때문에 아래와 같이 구해진다.
Figure 112020044319816-pat00190
- 비전 센서의 방향 정보인 롤(roll,
Figure 112020044319816-pat00191
), 피치(pitch,
Figure 112020044319816-pat00192
)와 요(yaw,
Figure 112020044319816-pat00193
)는 다음과 같이 구해질 수 있다.
Figure 112020044319816-pat00194
Figure 112020044319816-pat00195
Figure 112020044319816-pat00196
- 여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,
Figure 112020044319816-pat00197
은 역사인(arcsine) 함수이다.
- 여기서
Figure 112020044319816-pat00198
는 비전센서 좌표계의 y축 방향 단위 벡터
Figure 112020044319816-pat00199
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00200
의 z축 성분이다.
Figure 112020044319816-pat00201
- 여기서
Figure 112020044319816-pat00202
는 비전센서 좌표계의 z축 방향 단위 벡터
Figure 112020044319816-pat00203
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00204
의 z축 성분이고
Figure 112020044319816-pat00205
- 여기서
Figure 112020044319816-pat00206
,
Figure 112020044319816-pat00207
,
Figure 112020044319816-pat00208
는 각각 비전센서 좌표계의 x축 방향 단위 벡터
Figure 112020044319816-pat00209
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00210
의 x, y, z축 성분이다.
Figure 112020044319816-pat00211
- 상기 과정을 통해 엘리베이터 내부 지도 좌표계에서 비전 센서의 좌표를 구할 수 있고, 이를 통해 이동로봇의 자세를 계산할 수 있다.
본 실시예에서는 비전센서의 피치(pitch) 정보와 롤(roll) 정보가 사용되지 않지만, 만일 엘리베이터 내부 지도로 3차원 형태의 지도를 사용한다면 피치 정보와 롤 정보가 요구될 수 있다.
비전 센서로 영상을 획득하고 마커 인식을 위한 영상 처리 이후에, 온전한 형태의 마커가 발견되는 영역을 로봇이 이동할 수 있는 공간으로 결정할 수 있다.
마커의 인식을 마친 후에는 도 8과 같은 형태의 지도로 업데이트하게 된다.
즉, 도 8과 같은 엘리베이터 내부 지도를 실시간으로 생성한다.
다시 말해, 비전센서로 획득한 2차원 영상의 마커와 로봇이 지닌 엘리베이터 내부 지도위 마커를 1대1로 매칭시켜서 좌표로 표현할 수 있다.
여기서, 만일 아루코(Aruco) 마커의 형태인 경우에는 마커를 매칭함에 있어서 각 마커가 갖는 고유의 식별정보(ID)를 활용할 수 있다.
만일 체커 보드의 형태인 경우에는 엘리베이터의 실제 크기와 각 마커들의 실제 크기 정보, 영상에서 축소 또는 확대되는 스케일 정보 등을 활용해서 매칭시킬 수 있다.
만일 색상 패턴의 형태인 경우에는, 고유의 색상 정보 및 상하좌우 배치된 색상 패턴을 활용하여 매칭시킬 수 있다.
즉, 로봇이 엘리베이터 내부의 바닥의 마커(10)를 식별하면, 엘리베이터 지도에서 로봇이 갈 수 있는 영역과 갈수 없는 영역을 도 8의 지도 내에서 구별할 수 있게 된다.
이상에서 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법에 대하여 설명하였지만, 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.
즉, 상술한 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
10: 마커
100: 지도저장부
200: 비전센서
300: 영상처리부
400: 자세추정부
500: 경로계획부
600: 로봇제어부
S10: 바닥감지 단계
S20: 바닥지도획득 단계
S30: 이동경로계획 단계

Claims (10)

  1. 엘리베이터의 내부 바닥에 표시된 마커(10);
    엘리베이터의 내부 벽이 위치와 관련된 정보 및 엘리베이터의 내부 바닥에 표시된 마커(10)들이 위치와 관련된 정보가 저장된 엘리베이터 바닥의 지도가 저장된 지도저장부(100);
    로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득하는 비전센서(200);
    상기 지도저장부(100)에 저장된 엘리베이터 바닥의 지도를 근거로, 상기 비전센서(200)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신하는영상처리부(300);
    상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도를 기반으로, 상기 로봇의 자세를 추정하는 자세추정부(400);
    상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도 및 상기 자세추정부(400)에 의해 추정된 로봇의 자세를 기반으로, 상기 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획하는 경로계획부(500); 및
    상기 경로계획부(500)에 의해 생성된 이동경로를 따라 로봇이 이동하도록 제어하는 로봇제어부(600);
    를 포함하며,
    상기 자세추정부(400)는
    엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식
    Figure 112020104870972-pat00267

    (여기서,
    Figure 112020104870972-pat00268
    는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
    Figure 112020104870972-pat00269
    은 3차원 회전변환 행렬,
    Figure 112020104870972-pat00270
    는 이동변환 벡터)
    과 같이 구하고,
    비전 센서의 방향 정보인 롤(roll,
    Figure 112020104870972-pat00271
    ), 피치(pitch,
    Figure 112020104870972-pat00272
    ) 및 요(yaw,
    Figure 112020104870972-pat00273
    )를 다음식
    Figure 112020104870972-pat00274

    Figure 112020104870972-pat00275

    Figure 112020104870972-pat00276

    (여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,
    Figure 112020104870972-pat00277
    는 비전센서 좌표계의 y축 방향 단위 벡터
    Figure 112020104870972-pat00278
    를 엘리베이터 내부 지도 좌표계로 변환한 벡터
    Figure 112020104870972-pat00279
    의 z축 성분이고,
    Figure 112020104870972-pat00280
    는 비전센서 좌표계의 z축 방향 단위 벡터
    Figure 112020104870972-pat00281
    를 엘리베이터 내부 지도 좌표계로 변환한 벡터
    Figure 112020104870972-pat00282
    의 z축 성분이고,
    Figure 112020104870972-pat00283
    ,
    Figure 112020104870972-pat00284
    ,
    Figure 112020104870972-pat00285
    는 각각 비전센서 좌표계의 x축 방향 단위 벡터
    Figure 112020104870972-pat00286
    를 엘리베이터 내부 지도 좌표계로 변환한 벡터
    Figure 112020104870972-pat00287
    의 x, y, z축 성분이고,
    Figure 112020104870972-pat00288
    은 역사인(arcsine) 함수이다)
    과 같이 구하여,
    로봇의 자세를 계산하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치.
  2. 제1항에 있어서,
    상기 마커(10)는
    아루코(Aruco) 마커의 형태, 체커 보드의 형태, 색상 패턴의 형태 중 어느 하나 또는 복수를 사용하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치.
  3. 제1항에 있어서,
    상기 영상처리부(300)는
    엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역만을 구분하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 로봇제어부(600)는
    목표 영역과 이동경로가 확보되지 않으면, 로봇이 출발지점으로 복귀하거나 제자리에서 대기하도록 제어하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치.
  6. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법에 있어서,
    비전센서(200)로 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득하는 바닥감지 단계(S10);
    엘리베이터의 내부 벽이 위치와 관련된 정보 및 엘리베이터의 내부 바닥에 표시된 마커(10)들이 위치와 관련된 정보가 저장된 엘리베이터 바닥의 지도를 근거로, 상기 바닥감지 단계(S10)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신하는 바닥지도획득 단계(S20);
    상기 바닥지도획득 단계(S20)로부터 갱신된 엘리베이터 바닥의 지도를 기반으로, 로봇의 자세를 추정하고, 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획하는 이동경로계획 단계(S30);
    를 포함하며,
    상기 이동경로계획 단계(S30)는
    엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식
    Figure 112020104870972-pat00289

    (여기서,
    Figure 112020104870972-pat00290
    는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
    Figure 112020104870972-pat00291
    은 3차원 회전변환 행렬,
    Figure 112020104870972-pat00292
    는 이동변환 벡터)
    과 같이 구하고,
    비전 센서의 방향 정보인 롤(roll,
    Figure 112020104870972-pat00293
    ), 피치(pitch,
    Figure 112020104870972-pat00294
    ) 및 요(yaw,
    Figure 112020104870972-pat00295
    )를 다음식
    Figure 112020104870972-pat00296

    Figure 112020104870972-pat00297

    Figure 112020104870972-pat00298

    (여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,
    Figure 112020104870972-pat00299
    는 비전센서 좌표계의 y축 방향 단위 벡터
    Figure 112020104870972-pat00300
    를 엘리베이터 내부 지도 좌표계로 변환한 벡터
    Figure 112020104870972-pat00301
    의 z축 성분이고,
    Figure 112020104870972-pat00302
    는 비전센서 좌표계의 z축 방향 단위 벡터
    Figure 112020104870972-pat00303
    를 엘리베이터 내부 지도 좌표계로 변환한 벡터
    Figure 112020104870972-pat00304
    의 z축 성분이고,
    Figure 112020104870972-pat00305
    ,
    Figure 112020104870972-pat00306
    ,
    Figure 112020104870972-pat00307
    는 각각 비전센서 좌표계의 x축 방향 단위 벡터
    Figure 112020104870972-pat00308
    를 엘리베이터 내부 지도 좌표계로 변환한 벡터
    Figure 112020104870972-pat00309
    의 x, y, z축 성분이고,
    Figure 112020104870972-pat00310
    은 역사인(arcsine) 함수이다)
    과 같이 구하여,
    로봇의 자세를 계산하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법.
  7. 제 6항에 있어서,
    상기 바닥지도획득 단계(S20)는
    엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법.
  8. 삭제
  9. 제 6항 또는 제 7항에 기재된 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
  10. 제 6항 또는 제 7항에 기재된 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
KR1020200052101A 2020-04-29 2020-04-29 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 KR102194426B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200052101A KR102194426B1 (ko) 2020-04-29 2020-04-29 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
PCT/KR2021/004457 WO2021221343A1 (ko) 2020-04-29 2021-04-09 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200052101A KR102194426B1 (ko) 2020-04-29 2020-04-29 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102194426B1 true KR102194426B1 (ko) 2020-12-24

Family

ID=74087451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200052101A KR102194426B1 (ko) 2020-04-29 2020-04-29 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Country Status (2)

Country Link
KR (1) KR102194426B1 (ko)
WO (1) WO2021221343A1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113021336A (zh) * 2021-02-25 2021-06-25 上海交通大学 一种基于主从移动操作机器人的档案取放***及方法
WO2021221343A1 (ko) * 2020-04-29 2021-11-04 주식회사 트위니 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
CN113848918A (zh) * 2021-09-27 2021-12-28 上海景吾智能科技有限公司 机器人快速高效低成本的部署方法和***
CN114505840A (zh) * 2022-01-14 2022-05-17 浙江工业大学 一种自主操作箱式电梯的智能服务机器人
CN114911221A (zh) * 2021-02-09 2022-08-16 北京小米移动软件有限公司 机器人的控制方法、装置及机器人
KR20220118327A (ko) 2021-02-18 2022-08-25 호서대학교 산학협력단 이동 로봇의 승강기 탑승 제어 방법
KR20220118328A (ko) 2021-02-18 2022-08-25 호서대학교 산학협력단 작업 우선순위에 따른 이동 로봇의 승강기 탑승 제어 방법
KR20220118329A (ko) 2021-02-18 2022-08-25 호서대학교 산학협력단 이동 로봇의 승강기 탑승 제어 방법
KR20220120375A (ko) * 2021-02-23 2022-08-30 현대자동차주식회사 위치 추정 장치, 그를 포함한 로봇 시스템 및 그에 관한 방법
WO2022203396A1 (ko) * 2021-03-24 2022-09-29 호서대학교산학협력단 엘리베이터의 탑승여부를 판단하는 모바일 로봇 및 그의 동작방법
WO2024058411A1 (ko) * 2022-09-15 2024-03-21 삼성전자주식회사 특정 공간을 주행하는 로봇 및 이의 제어 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114234966B (zh) * 2021-12-01 2024-06-04 北京云迹科技股份有限公司 移动机器人的乘梯状态检测方法、装置、存储介质及设备
CN114397885A (zh) * 2021-12-16 2022-04-26 北京三快在线科技有限公司 辅助移动机器人乘坐电梯的方法、电子设备及存储介质
CN114434453B (zh) * 2021-12-31 2024-06-07 上海擎朗智能科技有限公司 一种机器人乘梯方法、***、机器人和存储介质
CN114905508B (zh) * 2022-04-19 2023-08-22 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 基于异构特征融合的机器人抓取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877071B1 (ko) 2007-07-18 2009-01-07 삼성전자주식회사 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치
KR20100111795A (ko) * 2009-04-08 2010-10-18 (주) 한호기술 로봇의 자율 이동 시스템과 이 시스템에 사용 가능한 자율 이동 로봇
KR101864948B1 (ko) * 2016-10-31 2018-07-04 고려대학교 산학협력단 이동 로봇의 엘리베이터 승하차 제어 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007041733A (ja) * 2005-08-01 2007-02-15 Toyota Motor Corp 運動体の姿勢角検出装置
US11413755B2 (en) * 2017-12-31 2022-08-16 Sarcos Corp. Covert identification tags viewable by robots and robotic devices
US20210405646A1 (en) * 2019-07-03 2021-12-30 Lg Electronics Inc. Marker, method of moving in marker following mode, and cart-robot implementing method
KR102194426B1 (ko) * 2020-04-29 2020-12-24 주식회사 트위니 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877071B1 (ko) 2007-07-18 2009-01-07 삼성전자주식회사 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치
KR20100111795A (ko) * 2009-04-08 2010-10-18 (주) 한호기술 로봇의 자율 이동 시스템과 이 시스템에 사용 가능한 자율 이동 로봇
KR101864948B1 (ko) * 2016-10-31 2018-07-04 고려대학교 산학협력단 이동 로봇의 엘리베이터 승하차 제어 방법

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221343A1 (ko) * 2020-04-29 2021-11-04 주식회사 트위니 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
CN114911221B (zh) * 2021-02-09 2023-11-28 北京小米机器人技术有限公司 机器人的控制方法、装置及机器人
CN114911221A (zh) * 2021-02-09 2022-08-16 北京小米移动软件有限公司 机器人的控制方法、装置及机器人
KR20220118327A (ko) 2021-02-18 2022-08-25 호서대학교 산학협력단 이동 로봇의 승강기 탑승 제어 방법
KR20220118328A (ko) 2021-02-18 2022-08-25 호서대학교 산학협력단 작업 우선순위에 따른 이동 로봇의 승강기 탑승 제어 방법
KR20220118329A (ko) 2021-02-18 2022-08-25 호서대학교 산학협력단 이동 로봇의 승강기 탑승 제어 방법
KR102463725B1 (ko) * 2021-02-23 2022-11-07 현대자동차주식회사 위치 추정 장치, 그를 포함한 로봇 시스템 및 그에 관한 방법
KR20220120375A (ko) * 2021-02-23 2022-08-30 현대자동차주식회사 위치 추정 장치, 그를 포함한 로봇 시스템 및 그에 관한 방법
CN113021336A (zh) * 2021-02-25 2021-06-25 上海交通大学 一种基于主从移动操作机器人的档案取放***及方法
WO2022203396A1 (ko) * 2021-03-24 2022-09-29 호서대학교산학협력단 엘리베이터의 탑승여부를 판단하는 모바일 로봇 및 그의 동작방법
CN113848918A (zh) * 2021-09-27 2021-12-28 上海景吾智能科技有限公司 机器人快速高效低成本的部署方法和***
CN114505840A (zh) * 2022-01-14 2022-05-17 浙江工业大学 一种自主操作箱式电梯的智能服务机器人
CN114505840B (zh) * 2022-01-14 2023-10-20 浙江工业大学 一种自主操作箱式电梯的智能服务机器人
WO2024058411A1 (ko) * 2022-09-15 2024-03-21 삼성전자주식회사 특정 공간을 주행하는 로봇 및 이의 제어 방법

Also Published As

Publication number Publication date
WO2021221343A1 (ko) 2021-11-04

Similar Documents

Publication Publication Date Title
KR102194426B1 (ko) 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
JP7341652B2 (ja) 情報処理装置、情報処理方法、プログラム、およびシステム
CN104536445B (zh) 移动导航方法和***
CN110837814B (zh) 车辆导航方法、装置及计算机可读存储介质
CN104062973B (zh) 一种基于图像标志物识别的移动机器人slam方法
CN108332752B (zh) 机器人室内定位的方法及装置
KR20180076815A (ko) Qr 마커와 레이저 스캐너를 이용하여 광범위 실내 공간에서 로봇의 위치를 인식하기 위한 방법 및 장치
JPWO2019187816A1 (ja) 移動体および移動体システム
KR102194429B1 (ko) 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
Wang et al. GLFP: Global localization from a floor plan
KR102541959B1 (ko) 로봇 및 사람이 탑승하는 엘리베이터를 제어하는 방법 및 엘리베이터 제어 시스템
Hochdorfer et al. 6 DoF SLAM using a ToF camera: The challenge of a continuously growing number of landmarks
Wang et al. Autonomous landing of multi-rotors UAV with monocular gimbaled camera on moving vehicle
EP3088983B1 (en) Moving object controller and program
KR20240013706A (ko) 자기 위치 측정이 가능한 로봇 및 위치 측정 방법
EP4116941A2 (en) Detection system, processing apparatus, movement object, detection method, and program
CN117635721A (zh) 目标定位方法及相关***、存储介质
Forsman Three-dimensional localization and mapping of static environments by means of mobile perception
Nowicki et al. Laser-based localization and terrain mapping for driver assistance in a city bus
WO2024004265A1 (ja) 自己位置推定装置、自己位置推定方法、およびプログラム
JP7482808B2 (ja) 移動体の制御方法、移動体及びプログラム
Li et al. CAD-vision-range-based self-localization for mobile robot using one landmark
JP7369375B1 (ja) 建築物又は土木構造物の管理支援システム
WO2023151603A1 (zh) 货箱存放方法和机器人
WO2022003838A1 (en) Method for mapping, mapping device, computer program, computer readable medium, and vehicle

Legal Events

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