KR102194426B1 - 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 - Google Patents

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 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
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 KR1020200052101A priority Critical patent/KR102194426B1/en
Application granted granted Critical
Publication of KR102194426B1 publication Critical patent/KR102194426B1/en
Priority to PCT/KR2021/004457 priority patent/WO2021221343A1/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/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

The present invention relates to an apparatus and a method for environment recognition of an indoor moving robot in an elevator, a recording medium storing a program for executing the same, and a computer program stored in a medium for executing the same and, more specifically, to an apparatus and a method for environment recognition of an indoor moving robot in an elevator, a recording medium storing a program for executing the same, and a computer program stored in a medium for executing the same, wherein the method for environment recognition of an indoor moving robot in the elevator is necessary for the indoor moving robot to get in and off the elevator. To this end, the apparatus for environment recognition of an indoor moving robot in the elevator includes a marker, a map storing unit, a vision sensor, an image processing unit, a posture estimating unit, a path planning unit, and a robot control unit.

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}A device and method for an indoor mobile robot to recognize the environment in an elevator, a recording medium storing a program to implement it, and a computer program stored in the medium to implement it {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}

본 발명은 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 실내 이동 로봇이 엘리베이터를 탑승 및 하차하기 위해 필요한 환경 인식 방법을 제공하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것이다.The present invention relates to an apparatus and method for an indoor mobile robot to recognize the environment in an elevator, a recording medium storing a program for implementing the same, and a computer program stored in the medium to implement the same, and more specifically, the indoor mobile robot is an elevator. An apparatus and method for an indoor mobile robot that provides a method for recognizing an environment necessary for boarding and alighting a vehicle to recognize the environment in an elevator, a recording medium storing a program for implementing the same, and a computer program stored in the medium to implement the same. .

엘리베이터(elevator)를 갖춘 고층 건물과 같은 곳에서 실내 이동 로봇이 자율 주행 기능을 통해 다양한 서비스를 제공하는 능력을 갖추기 위해서는 엘리베이터를 탑승 또는 하차할 수 있는 기능이 필수적으로 요구된다. In order for an indoor mobile robot to have the ability to provide various services through an autonomous driving function in a high-rise building with an elevator, the function of getting on or off the elevator is essential.

실내 이동 로봇이 엘리베이터를 탑승 또는 하차하기 위해서는 우선 엘리베이터와 같은 실내 공간을 인식할 수 있어야 하고, 스스로 자세(pose)를 추정하고 경로를 계획할 수 있어야 한다.In order for an indoor mobile robot to board or get off an elevator, it must first be able to recognize an indoor space such as an elevator, and must be able to estimate a pose and plan a route by itself.

엘리베이터와 같은 실내 환경은 항시적으로 위치하는 환경적 장애물(environmental obstacle)이 주로 벽과 같은 단순한 장애물로 구성되며, 일반적인 실내 환경에 비해 공간이 비교적 좁고 폐쇄적인 특징을 지닌다.In an indoor environment such as an elevator, environmental obstacles located at all times are mainly composed of simple obstacles such as walls, and the space is relatively narrow and closed compared to a general indoor environment.

또한, 엘리베이터와 같은 실내 환경은 사람이나 짐 등과 같이 일시적으로 위치하는 비환경적 장애물(non-environmental obstacle)로 인해 공간 정보의 왜곡이 빈번하게 발생한다.In addition, in an indoor environment such as an elevator, distortion of spatial information frequently occurs due to non-environmental obstacles temporarily located such as people or luggage.

일반적으로 엘리베이터와 같은 실내 환경에서는 위성 항법 시스템(Global Positioning Systems, GPS)을 사용할 수 없고, 주로 로봇에 장착된 영상 및 거리 센서에 의존하여 지역적으로 환경을 인식하고, 자세를 추정하게 된다. In general, in an indoor environment such as an elevator, a global positioning system (GPS) cannot be used, and it mainly relies on an image and a distance sensor mounted on a robot to recognize the environment locally and estimate a posture.

실내 이동 로봇이 실내 환경을 인식하기 위해 주로 사용하는 방법인 그리드 맵(grid map)은 공간을 작은 격자로 나누고, 각 격자가 장애물에 의하여 점유되어 있는 정도를 수치로 표시한 지도를 활용하여 환경을 인식하는 방법이다. The grid map, which is a method mainly used by indoor mobile robots to recognize the indoor environment, divides the space into small grids, and uses a map that shows the degree to which each grid is occupied by obstacles. It's a way to recognize.

엘리베이터와 같은 실내 공간에서는 일반적으로 비환경적 장애물에 의해 환경적 장애물이 로봇의 시야에서 가려지기 때문에 그리드 맵에 의한 단순한 공간 점유 수치만으로는 로봇이 환경을 제대로 인식하기 어려운 문제가 있다. In an indoor space such as an elevator, since environmental obstacles are generally obscured from the robot's field of view by non-environmental obstacles, it is difficult for the robot to properly recognize the environment using only a simple space occupancy value by a grid map.

한국등록특허 [10-0877071]에서는 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치가 개시되어 있다.Korean Patent Registration [10-0877071] discloses a particle filter-based method and apparatus for estimating a posture of a mobile robot.

한국등록특허 [10-0877071](등록일자: 2008년12월26일)Korean Patent Registration [10-0877071] (Registration Date: December 26, 2008)

따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 실내 이동 로봇이 엘리베이터를 탑승 및 하차하기 위해 필요한 환경 인식 방법을 제공하고, 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공하는 것이다.Accordingly, the present invention was conceived to solve the above-described problems, and an object of the present invention is to provide a method for recognizing an environment required for an indoor mobile robot to board and alight an elevator, and the indoor mobile robot It provides an apparatus and method for recognizing, a recording medium in which a program for implementing the same is stored, and a computer program stored in the medium to implement the same.

본 발명의 실 시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Objects of the embodiments of the present invention are not limited to the above-mentioned objects, and other objects not mentioned will be clearly understood by those of ordinary skill in the art from the following description. .

상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치는, 엘리베이터의 내부 바닥에 표시된 마커(10); 엘리베이터의 내부 벽의 위치와 관련된 정보 및 엘리베이터의 내부 바닥에 표시된 마커(10)들이 위치와 관련된 정보가 저장된 엘리베이터 바닥의 지도가 저장된 지도저장부(100); 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득하는 비전센서(200); 상기 지도저장부(100)에 저장된 엘리베이터 바닥의 지도를 근거로, 상기 비전센서(200)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신하는 영상처리부(300); 상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도를 기반으로, 상기 로봇의 자세를 추정하는 자세추정부(400); 상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도 및 상기 자세추정부(400)에 의해 추정된 로봇의 자세를 기반으로, 상기 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획하는 경로계획부(500); 및 상기 경로계획부(500)에 의해 생성된 이동경로를 따라 로봇이 이동하도록 제어하는 로봇제어부(600);를 포함하는 것을 특징으로 한다.An apparatus for recognizing an environment in an elevator by an indoor mobile robot according to an embodiment of the present invention for achieving the above object includes: a marker 10 displayed on the inner floor of the elevator; A map storage unit 100 in which information related to the location of the inner wall of the elevator and a map of the elevator floor in which information related to the location of the markers 10 displayed on the inner floor of the elevator are stored are stored; A vision sensor 200 for obtaining image information of the front floor in a specific range from the robot; Based on the map of the elevator floor stored in the map storage unit 100, a marker 10 is determined among the image information obtained from the vision sensor 200, and the unoccupied floor including the determined marker 10 An image processing unit 300 for generating or updating a map of the elevator floor for; A posture estimating unit 400 for estimating the posture of the robot based on a map of the elevator floor generated or updated by the image processing unit 300; Based on the map of the floor of the elevator created or updated by the image processing unit 300 and the attitude of the robot estimated by the attitude estimation unit 400, after checking whether there is a target area that the robot can reach, A route planning unit 500 that determines a point and plans a moving route to the target point; And a robot control unit 600 for controlling the robot to move along the movement path generated by the path planning unit 500.

또한, 상기 마커(10)는 아루코(Aruco) 마커의 형태, 체커 보드의 형태, 색상 패턴의 형태 중 어느 하나 또는 복수를 사용하는 것을 특징으로 한다.In addition, the marker 10 is characterized in that any one or more of an Arco marker type, a checker board type, and a color pattern type is used.

또, 상기 영상처리부(300)는 엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 한다.In addition, the image processing unit 300 acquires the areas of the markers 10 that are completely identified for the elevator floor, and then compares the previously stored information on the elevator floor to compare the previously stored unit blocks, that is, the robot It is characterized by distinguishing only the movable area.

또한, 상기 자세추정부(400)는 엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식In addition, the attitude estimating unit 400 calculates the coordinates of the vision sensor 200 in the elevator's internal map coordinate system.

Figure 112020044319816-pat00001
Figure 112020044319816-pat00001

(여기서,

Figure 112020044319816-pat00002
는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
Figure 112020044319816-pat00003
은 3차원 회전변환 행렬,
Figure 112020044319816-pat00004
는 이동변환 벡터)과 같이 구하고, (here,
Figure 112020044319816-pat00002
Is the coordinate of the vision sensor in the map coordinate system inside the elevator,
Figure 112020044319816-pat00003
Is a three-dimensional rotation transformation matrix,
Figure 112020044319816-pat00004
Is obtained as a movement transformation vector),

비전 센서의 방향 정보인 롤(roll,

Figure 112020044319816-pat00005
), 피치(pitch,
Figure 112020044319816-pat00006
) 및 요(yaw,
Figure 112020044319816-pat00007
)를 다음식The direction information of the vision sensor, roll,
Figure 112020044319816-pat00005
), pitch,
Figure 112020044319816-pat00006
) And yaw,
Figure 112020044319816-pat00007
) To the following expression

Figure 112020044319816-pat00008
Figure 112020044319816-pat00008

Figure 112020044319816-pat00009
Figure 112020044319816-pat00009

Figure 112020044319816-pat00010
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) 함수이다)과 같이 구하여, , 로봇의 자세를 계산하는 것을 특징으로 한다.(Where Atan2 is an arctangent function that takes two arguments,
Figure 112020044319816-pat00011
Is the unit vector in the y-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00012
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00013
Is the z-axis component of,
Figure 112020044319816-pat00014
Is the unit vector in the z-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00015
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00016
Is the z-axis component of,
Figure 112020044319816-pat00017
,
Figure 112020044319816-pat00018
,
Figure 112020044319816-pat00019
Is the unit vector in the x-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00020
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00021
Is the x, y, z axis component of,
Figure 112020044319816-pat00022
Is an arcsine function) and calculates the robot's posture.

아울러, 상기 로봇제어부(600)는 목표 영역과 이동경로가 확보되지 않으면, 로봇이 출발지점으로 복귀하거나 제자리에서 대기하도록 제어하는 것을 특징으로 한다.In addition, the robot control unit 600 is characterized in that when the target area and the movement path are not secured, the robot returns to the starting point or controls to wait in place.

본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법에 있어서, 비전센서(200)로 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득하는 바닥감지 단계(S10); 엘리베이터의 내부 벽이 위치와 관련된 정보 및 엘리베이터의 내부 바닥에 표시된 마커(10)들이 위치와 관련된 정보가 저장된 엘리베이터 바닥의 지도를 근거로, 상기 바닥감지 단계(S10)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신하는 바닥지도획득 단계(S20); 상기 바닥지도획득 단계(S20)로부터 갱신된 엘리베이터 바닥의 지도를 기반으로, 로봇의 자세를 추정하고, 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획하는 이동경로계획 단계(S30);를 포함하는 것을 특징으로 한다.The method for the indoor mobile robot to recognize the environment in an elevator according to an embodiment of the present invention is a method for the indoor mobile robot to recognize the environment in the elevator in the form of a program executed by an operation processing means including a computer. In the floor sensing step (S10) of obtaining image information of the front floor of a specific range from the robot with the vision sensor 200; Markers among the image information obtained from the floor sensing step (S10) are based on a map of the elevator floor in which the information related to the location of the interior wall of the elevator and the markers 10 displayed on the interior floor of the elevator are stored. 10) determining a floor map acquisition step (S20) of generating or updating a map of the elevator floor for an unoccupied floor including the determined marker 10; Based on the map of the elevator floor updated from the floor map acquisition step (S20), the attitude of the robot is estimated, and after checking whether there is a target area that can be reached by the robot, a target point that can be reached is determined, and the moving path to the target point It characterized in that it comprises a; moving route planning step (S30) to plan.

또한, 상기 바닥지도획득 단계(S20)는 엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 한다.In addition, the floor map acquisition step (S20) acquires the areas of the completely identified markers 10 for the elevator floor, and then compares the previously stored information on the elevator floors, that is, the aggregation area of unoccupied unit blocks, that is, It is characterized in that only the area in which the robot can move is divided.

또, 상기 이동경로계획 단계(S30)는 엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식In addition, in the movement route planning step (S30), the coordinates of the vision sensor 200 in the elevator internal map coordinate system are calculated as follows:

Figure 112020044319816-pat00023
Figure 112020044319816-pat00023

(여기서,

Figure 112020044319816-pat00024
는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
Figure 112020044319816-pat00025
은 3차원 회전변환 행렬,
Figure 112020044319816-pat00026
는 이동변환 벡터)과 같이 구하고, (here,
Figure 112020044319816-pat00024
Is the coordinate of the vision sensor in the map coordinate system inside the elevator,
Figure 112020044319816-pat00025
Is a three-dimensional rotation transformation matrix,
Figure 112020044319816-pat00026
Is obtained as a movement transformation vector),

비전 센서의 방향 정보인 롤(roll,

Figure 112020044319816-pat00027
), 피치(pitch,
Figure 112020044319816-pat00028
) 및 요(yaw,
Figure 112020044319816-pat00029
)를 다음식The direction information of the vision sensor, roll,
Figure 112020044319816-pat00027
), pitch,
Figure 112020044319816-pat00028
) And yaw,
Figure 112020044319816-pat00029
) To the following expression

Figure 112020044319816-pat00030
Figure 112020044319816-pat00030

Figure 112020044319816-pat00031
Figure 112020044319816-pat00031

Figure 112020044319816-pat00032
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) 함수이다)과 같이 구하여, 로봇의 자세를 계산하는 것을 특징으로 한다.(Where Atan2 is an arctangent function that takes two arguments,
Figure 112020044319816-pat00033
Is the unit vector in the y-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00034
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00035
Is the z-axis component of,
Figure 112020044319816-pat00036
Is the unit vector in the z-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00037
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00038
Is the z-axis component of,
Figure 112020044319816-pat00039
,
Figure 112020044319816-pat00040
,
Figure 112020044319816-pat00041
Is the unit vector in the x-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00042
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00043
Is the x, y, z axis component of,
Figure 112020044319816-pat00044
Is an arcsine function) and calculates the robot's posture.

또한, 본 발명의 일 실시예에 따르면, 상기 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.In addition, according to an embodiment of the present invention, a computer-readable recording medium in which a program for implementing a method for the indoor mobile robot to recognize an environment in an elevator is provided is provided.

아울러, 본 발명의 일 실시예에 따르면, 상기 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.In addition, according to an embodiment of the present invention, in order to implement a method for the indoor mobile robot to recognize an environment in an elevator, a program stored in a computer-readable recording medium is provided.

본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 의하면, 비전센서로 획득한 영상의 마커를 기반으로 로봇의 자세를 추정하고, 로봇의 이동 경로를 계획하여, 로봇이 자율적으로 엘리베이터를 탑승 및 하차에 필요한 환경을 제공하는 효과가 있다.According to an apparatus and method for recognizing an environment in an elevator by an indoor mobile robot according to an embodiment of the present invention, a recording medium storing a program for implementing the same, and a computer program stored in the medium to implement the same, There is an effect of estimating the attitude of the robot based on the markers of the image and planning the movement path of the robot, thereby providing the necessary environment for the robot to board and alight the elevator autonomously.

또한, 아루코(Aruco) 마커의 형태, 체커 보드의 형태, 색상 패턴의 형태 등 단순한 마커를 사용함으로써, 자세추정 및 경로 계획에 필요한 연산량을 줄일 수 있는 효과가 있다.In addition, by using simple markers such as the shape of the Aruco marker, the shape of the checker board, and the shape of a color pattern, there is an effect of reducing the amount of computation required for posture estimation and path planning.

또, 점유되지 않은 단위 블록들의 집합 영역을 로봇이 이동할 수 있는 영역으로 구분함으로써, 엘리베이터 내부 지도에 표시된 벽과 같은 환경적 장애물 이외에 엘리베이터 내부 지도에 표시되지 않는 사람이나 박스 등과 같은 비환경적 장애물이 존재하더라도 엘리베이터에 탑승 및 하차가 가능하고, 이에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다. In addition, by dividing the collective area of unoccupied unit blocks into an area in which the robot can move, in addition to environmental obstacles such as walls displayed on the elevator interior map, non-environmental obstacles such as people or boxes not displayed on the elevator interior map are prevented. Even if it exists, it is possible to get on and off the elevator, and there is an effect of further reducing the amount of computation required for this.

또한, 비전센서를 이용함으로써, 엘리베이터 내부의 특징(반사율이 높은 금속 재질 등으로 둘러싸인 공간)에 의해 라이다 센서를 사용하게 되면 물체를 탐지하는 데 있어서 오류가 많이 발생되는 문제를 해결하는 효과가 있다.In addition, by using a vision sensor, if the lidar sensor is used due to the characteristics of the elevator interior (a space surrounded by a metal material with high reflectivity), it is effective to solve the problem that many errors occur in detecting objects. .

또, 2차원 좌표계 상에서 자세를 추정함으로써, 자세 추정에 필요한 연산량을 최소화 할 수 있는 효과가 있다.In addition, by estimating the posture on a two-dimensional coordinate system, there is an effect of minimizing the amount of computation required for posture estimation.

아울러, 로봇이 엘리베이터 탑승에 실패하더라도 탑승 대기 지점(출발 지점)으로 복귀하여 대기하도록 함으로써, 보다 안정적인 엘리베이터 탑승이 가능한 효과가 있다.In addition, even if the robot fails to board the elevator, it is possible to return to the boarding waiting point (departure point) and wait, thereby enabling more stable elevator boarding.

도 1은 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 블록도.
도 2는 로봇이 엘리베이터 탑승 대기 지점(출발 지점)에서 대기한 상태에서 엘리베이터의 문이 열려, 엘리베이터 내부의 바닥이 보이는 예를 보여주는 예시도.
도 3은 로봇의 비전센서의 좌표계와 엘리베이터 내부 지도의 좌표계를 비교한 예를 보여주는 예시도.
도 4는 엘리베이터의 바닥에 아루코(Aruco) 마커의 형태가 설치된 경우에 대한 예를 보여주는 예시도.
도 5는 엘리베이터의 바닥에 체커 보드의 형태가 설치된 경우에 대한 예를 보여주는 예시도.
도 6은 엘리베이터의 바닥에 색상 패턴의 형태가 설치된 경우에 대한 예를 보여주는 예시도.
도 7은 도 7은 본 발명의 일 실시예에 따른 엘리베이터 바닥의 지도에 대한 예를 보여주는 예시도.
도 8은 본 발명의 일 실시예에 따라 로봇이 1차 목표지점을 설정하고 경로를 계획하는 예를 보여주는 예시도.
도 9는 본 발명의 일 실시예에 따라 로봇이 1차 목표지점에서 2차 목표지점을 설정하고 경로를 계획하는 예를 보여주는 예시도.
도 10은 본 발명의 일 실시예에 따른 엘리베이터 바닥의 지도가 내부 공간의 중요도에 따라 마커의 크기를 달리한 예를 보여주는 예시도.
도 11은 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법의 흐름도.
1 is a block diagram of an apparatus for an indoor mobile robot to recognize an environment in an elevator according to an embodiment of the present invention.
FIG. 2 is an exemplary view showing an example of an elevator door being opened in a state in which a robot is waiting at an elevator boarding waiting point (departure point), and the floor inside the elevator is visible.
3 is an exemplary view showing an example of comparing the coordinate system of the vision sensor of the robot and the coordinate system of the elevator interior map.
4 is an exemplary view showing an example of a case in which an Aruco marker is installed on the floor of an elevator.
5 is an exemplary view showing an example of a case where a checker board is installed on the floor of an elevator.
6 is an exemplary view showing an example of a case in which a color pattern is installed on the floor of an elevator.
7 is an exemplary view showing an example of a map of the elevator floor according to an embodiment of the present invention.
8 is an exemplary view showing an example in which a robot sets a primary target point and plans a route according to an embodiment of the present invention.
9 is an exemplary view showing an example in which a robot sets a second target point from a first target point and plans a route according to an embodiment of the present invention.
10 is an exemplary view showing an example in which a map of an elevator floor according to an embodiment of the present invention has different sizes of markers according to the importance of an interior space.
11 is a flowchart of a method for an indoor mobile robot to recognize an environment in an elevator according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be.

반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, processes, operations, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the possibility of addition or presence of elements or numbers, processes, operations, components, parts, or combinations thereof is not preliminarily excluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms including technical or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings. Prior to this, terms or words used in the specification and claims should not be construed as being limited to their usual or dictionary meanings, and the inventors appropriately explain the concept of terms in order to describe their own invention in the best way Based on the principle that it can be defined, it should be interpreted as a meaning and concept consistent with the technical idea of the present invention. In addition, unless there are other definitions in the technical terms and scientific terms used, they have the meanings commonly understood by those of ordinary skill in the art to which this invention belongs, and the gist of the present invention in the following description and accompanying drawings Description of known functions and configurations that may be unnecessarily obscure will be omitted. The drawings introduced below are provided as examples in order to sufficiently convey the spirit of the present invention to those skilled in the art. Accordingly, the present invention is not limited to the drawings presented below and may be embodied in other forms. In addition, the same reference numbers throughout the specification indicate the same elements. It should be noted that the same elements in the drawings are indicated by the same reference numerals wherever possible.

도 1은 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 블록도이고, 도 2는 로봇이 엘리베이터 탑승 대기 지점(출발 지점)에서 대기한 상태에서 엘리베이터의 문이 열려, 엘리베이터 내부의 바닥이 보이는 예를 보여주는 예시도이며, 도 3은 로봇의 비전센서의 좌표계와 엘리베이터 내부 지도의 좌표계를 비교한 예를 보여주는 예시도이고, 도 4는 엘리베이터의 바닥에 아루코(Aruco) 마커의 형태가 설치된 경우에 대한 예를 보여주는 예시도이며, 도 5는 엘리베이터의 바닥에 체커 보드의 형태가 설치된 경우에 대한 예를 보여주는 예시도이고, 도 6은 엘리베이터의 바닥에 색상 패턴의 형태가 설치된 경우에 대한 예를 보여주는 예시도이며, 도 7은 도 7은 본 발명의 일 실시예에 따른 엘리베이터 바닥의 지도에 대한 예를 보여주는 예시도이고, 도 8은 본 발명의 일 실시예에 따라 로봇이 1차 목표지점을 설정하고 경로를 계획하는 예를 보여주는 예시도이며, 도 9는 본 발명의 일 실시예에 따라 로봇이 1차 목표지점에서 2차 목표지점을 설정하고 경로를 계획하는 예를 보여주는 예시도이고, 도 10은 본 발명의 일 실시예에 따른 엘리베이터 바닥의 지도가 내부 공간의 중요도에 따라 마커의 크기를 달리한 예를 보여주는 예시도이며, 도 11은 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법의 흐름도이다.1 is a block diagram of an apparatus for recognizing an environment in an elevator by an indoor mobile robot according to an embodiment of the present invention, and FIG. 2 is a block diagram of an elevator door while the robot waits at an elevator boarding waiting point (departure point). It is an example view showing an example where the floor inside the elevator is open, and FIG. 3 is an example view showing an example of comparing the coordinate system of the vision sensor of the robot and the coordinate system of the elevator interior map, and FIG. 4 is an Arco on the floor of the elevator. Aruco) is an exemplary diagram showing an example of a case where the shape of a marker is installed, FIG. 5 is an exemplary view showing an example of a case where the shape of a checker board is installed on the floor of an elevator, and FIG. 6 is a color pattern on the floor of the elevator. It is an exemplary view showing an example of a case in which the form is installed, FIG. 7 is an exemplary view showing an example of a map of an elevator floor according to an embodiment of the present invention, and FIG. 8 is an exemplary view showing an example of an elevator floor map according to an embodiment of the present invention. Accordingly, it is an exemplary diagram showing an example in which a robot sets a primary target point and plans a route, and FIG. 9 is a diagram in which the robot sets a secondary target point from a primary target point and plans a route according to an embodiment of the present invention. It is an exemplary view showing an example, and FIG. 10 is an exemplary diagram showing an example in which the size of a marker is changed according to the importance of an interior space in a map of an elevator floor according to an embodiment of the present invention, and FIG. 11 is an embodiment of the present invention. It is a flowchart of a method for an indoor mobile robot according to an example to recognize an environment in an elevator.

본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램은 실내 이동 로봇이 엘리베이터를 탑승 및 하차하기 위해 필요한 환경을 인식하는 기술을 제공하여, 실내 이동 로봇이 스스로 엘리베이터에 탑승할 공간이 있는 지 확인하고, 자기 위치를 추정하고, 경로를 계획하여 이동함으로써, 스스로 엘리베이터를 탑승 및 하차할 수 있도록 할 수 있다.An apparatus and method for the indoor mobile robot according to an embodiment of the present invention to recognize the environment in an elevator, a recording medium storing a program for implementing the same, and a computer program stored in the medium to implement the same, the indoor mobile robot rides the elevator. And by providing a technology that recognizes the environment required to get off, the indoor mobile robot checks whether there is space to board the elevator by itself, estimates its location, and moves by planning a route, so that it can get on and off the elevator by itself. You can do it.

계산의 편의를 위해, 다음과 같은 사항을 가정할 수 있다.For convenience of calculation, the following can be assumed.

실내 이동 로봇이 엘리베이터를 탑승 또는 하차하는 도중에 엘리베이터의 문이 닫히지 않는다고 가정할 수 있다.It can be assumed that the door of the elevator does not close while the indoor mobile robot is getting on or off the elevator.

즉, 엘리베이터는 실내 이동 로봇의 탑승 시도 또는 하차 시도 여부를 알고 있고, 해당 시도의 성공 여부를 알 수 있다.That is, the elevator knows whether the indoor mobile robot is attempting to board or get off, and can know whether the attempt is successful.

실내 이동 로봇은 엘리베이터의 문이 완전히 열리는 것을 감지할 수 있다.Indoor mobile robots can detect elevator doors fully open.

즉, 실내 이동 로봇은 센서를 이용하여 감지하는 것도 가능하지만, 전파 통신과 같은 방법으로, 엘리베이터의 동작을 정확하게 알 수 있고, 또한 엘리베이터도 마찬가지로 로봇의 동작을 정확하게 알 수 있도록 할 수 있다.That is, the indoor mobile robot can be detected using a sensor, but it is possible to accurately know the operation of the elevator in the same way as radio communication, and the elevator can also accurately know the operation of the robot.

실내 이동 로봇이 엘리베이터에 탑승하는 경우에는 로봇에 설치된 비전센서(10)가 엘리베이터의 정면을 바라보는 방향으로 대기하고 있다고 가정할 수 있다.When the indoor mobile robot boards the elevator, it can be assumed that the vision sensor 10 installed in the robot is waiting in a direction facing the front of the elevator.

이동 로봇이 상기 엘리베이터 탑승 대기 위치로 미리 이동하는 방법은 수동으로 사람이 직접 조작하여 이동시킬 수도 있고, 자율주행으로 사람의 조작 없이 알고리즘에 의해 이동할 수 있다. The method of moving the mobile robot to the elevator boarding standby position in advance may be manually manipulated and moved, or autonomous driving may be moved by an algorithm without human manipulation.

이동 로봇이 상기 엘리베이터 탑승 대기 위치로 이동하는 방법에 관해서는 본 발명에서 다루지 않는다.The method of moving the mobile robot to the elevator boarding standby position is not covered in the present invention.

즉, 다양한 서비스 및 목적을 달성하기 위해 이동 로봇이 엘리베이터 탑승 대기 위치로 이동한 상태를 가정한다.That is, it is assumed that the mobile robot moves to the elevator boarding standby position to achieve various services and purposes.

상기 탑승 대기 위치는 이동 로봇이 엘리베이터에서 하차할 때 최종 목표지점이 될 수 있다.The boarding standby position may be a final target point when the mobile robot gets off the elevator.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치는 마커(10), 지도저장부(100), 비전센서(200), 영상처리부(300), 자세추정부(400), 경로계획부(500) 및 로봇제어부(600)를 포함한다.As shown in Fig. 1, an apparatus for recognizing an environment in an elevator by an indoor mobile robot according to an embodiment of the present invention includes a marker 10, a map storage unit 100, a vision sensor 200, an image processing unit ( 300), a posture estimating unit 400, a path planning unit 500, and a robot control unit 600.

마커(10)는 엘리베이터의 내부 바닥에 표시된다.(도 2 내지 도 3 참조)Markers 10 are displayed on the inner floor of the elevator (see Figs. 2 to 3).

엘리베이터의 바닥에는 이동 로봇의 비전센서(200)로 인식 가능한 마커(10)가 있다.On the floor of the elevator, there is a marker 10 that can be recognized by the vision sensor 200 of the mobile robot.

상기 마커(10)는 인식 가능한 특정한 표식 또는 패턴이 될 수 있다.The marker 10 may be a specific mark or pattern that can be recognized.

또한, 상기 마커(10)는 엘리베이터의 내부 바닥 전체에 배치되는 것도 가능하나, 미리 결정된 규칙에 의해 배치되는 것도 가능하다.In addition, the marker 10 may be disposed on the entire inner floor of the elevator, but may be disposed according to a predetermined rule.

또, 상기 마커(10)는 서로 다른 복수 종류의 마커가 미리 결정된 규칙에 의해 배치되는 것도 가능하다.Further, in the marker 10, a plurality of different types of markers may be arranged according to a predetermined rule.

예를 들어, 체커보드의 형태와 QR 코드(Quick Response code)의 형태가 같이 배치될 수도 있다.For example, the shape of the checkerboard and the shape of a QR code (Quick Response code) may be arranged together.

이때, QR 코드에는 엘리베이터 내부의 크기, 형상 등과 같은 엘리베이터 내부의 특징과 관련된 정보가 담길 수 있다.In this case, the QR code may contain information related to the characteristics of the elevator, such as the size and shape of the elevator.

지도저장부(100)는 엘리베이터의 내부 벽의 위치와 관련된 정보(좌표, 특징, 크기 등) 및 엘리베이터의 내부 바닥에 표시된 마커(10)들의 위치와 관련된 정보(좌표, 특징, 크기 등)를 가진 엘리베이터 바닥의 지도가 저장된다.The map storage unit 100 has information (coordinates, features, sizes, etc.) related to the location of the interior walls of the elevator and information (coordinates, features, sizes, etc.) related to the locations of the markers 10 displayed on the interior floor of the elevator. A map of the elevator floor is saved.

상기 지도저장부(100)는 로봇의 자세 추정 및 이동경로를 계획하는데 이용되는 기초 자료인 엘리베이터 바닥의 지도를 저장하며, 상기 엘리베이터 바닥의 지도는 상기 마커(10)의 위치와 관련된 정보를 가지고 있다. The map storage unit 100 stores a map of the elevator floor, which is basic data used to estimate the attitude of the robot and plan a moving route, and the map of the elevator floor has information related to the location of the marker 10. .

비전센서(200)는 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득한다.The vision sensor 200 acquires image information of the front floor in a specific range from the robot.

상기 이동 로봇은 이동 로봇에 설치된 비전센서(10)를 이용하여 영상 데이터를 수집할 수 있다.The mobile robot may collect image data using the vision sensor 10 installed in the mobile robot.

이때, 가능하면 로봇의 수직 아래 바닥부터 특정 범위의 전방을 감지 영역으로 하는 것이 바람직하다. 이는 로봇의 바로 앞에 장애물이 있을 경우를 대비하기 위함이다.In this case, it is preferable to set the front of the robot in a specific range from the bottom vertically below the robot as the sensing area. This is to be prepared in case there is an obstacle in front of the robot.

영상처리부(300)는 상기 지도저장부(100)에 저장된 엘리베이터 바닥의 지도를 근거로, 상기 비전센서(200)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신한다.The image processing unit 300 determines the marker 10 among the image information obtained from the vision sensor 200 based on the map of the elevator floor stored in the map storage unit 100, and the determined marker 10 is Create or update a map of the elevator floor for the included unoccupied floor.

엘리베이터의 바닥에 설치된 마커(10)에 대해 이동 로봇은 비전센서(200)로 2차원 영상을 획득하게 되는데, 도 3과 같은 형태의 좌표계로 표현할 수 있다.With respect to the marker 10 installed on the floor of the elevator, the mobile robot acquires a 2D image with the vision sensor 200, which can be expressed in a coordinate system in the form of FIG. 3.

상기 엘리베이터 바닥의 지도를 생성 또는 갱신하는 과정을 예로 설명하면, Taking the process of generating or updating the elevator floor map as an example,

상기 비전센서(200)로부터 획득된 영상에 대해 영상 처리 과정을 거쳐서 좌/우 벽의 경계선을 추출(도 4 내지 도 6의 (c) 참조) 하고, 점유되지 않은 바닥에 대한 바닥의 경계선을 추출(도 4 내지 도 6의 (d) 참조)하여, 바닥의 점유도에 대한 값을 획득할 수 있다. With respect to the image acquired from the vision sensor 200, the boundary line of the left/right wall is extracted through an image processing process (refer to Figs. 4 to 6(c)), and the boundary line of the floor for the unoccupied floor is extracted. (Refer to (d) of FIGS. 4 to 6), a value for the occupancy of the floor can be obtained.

이동 로봇은 도 8과 같은 방법으로 엘리베이터에 탑승하는 과정에서 자신의 위치를 추정할 수 있다. The mobile robot may estimate its own position while boarding the elevator in the same manner as in FIG. 8.

이를 활용하면 엘리베이터 내부의 공간에 대한 비환경적 장애물의 공간 점유 상태를 알 수 있다.By using this, it is possible to know the space occupancy status of non-environmental obstacles to the space inside the elevator.

비환경적 장애물은 엘리베이터에 고정적으로 배치된 장애물(환경적 장애물)이 아닌 사람 등 유동적 장애물을 의미한다.Non-environmental obstacles are not obstacles (environmental obstacles) fixedly arranged in elevators, but are moving obstacles such as people.

도 7은 엘리베이터 바닥의 지도를 최초 생성한 예를 보여주는 것이고, 도 8은 로봇이 이동하면서 갱신된 엘리베이터 바닥의 지도를 보여주는 것이다.FIG. 7 shows an example of initially generating a map of the elevator floor, and FIG. 8 shows a map of the elevator floor updated while the robot moves.

즉, 상기 영상처리부(300)는 마커(10)가 포함된 엘리베이터 내부의 영상을 획득하여, 도 7과 같은 엘리베이터 내부 지도를 생성(변환)할 수 있고, 이동 로봇의 이동에 따라 엘리베이터 내부 지도를 도 8과 같이 갱신 하면서 목표 영역을 업데이트 할 수 있다.That is, the image processing unit 300 may obtain an image inside the elevator including the marker 10 and generate (convert) the elevator interior map as shown in FIG. 7, and generate (convert) the elevator interior map according to the movement of the mobile robot. The target area can be updated while updating as shown in FIG. 8.

이렇게 생성 또는 갱신된 엘리베이터 바닥의 지도는 별도의 저장공간에 저장되어 관리될 수 있다.The generated or updated elevator floor map can be stored and managed in a separate storage space.

자세추정부(400)는 상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도를 기반으로, 상기 로봇의 자세를 추정한다.The posture estimating unit 400 estimates the posture of the robot based on the map of the elevator floor generated or updated by the image processing unit 300.

실내 이동 로봇은 상기 마커로부터 엘리베이터 내부 지도의 좌표계를 기준으로 자신의 위치 및 방향을 포함하는 자세를 추정할 수 있다. The indoor mobile robot may estimate a posture including its own position and direction based on the coordinate system of the elevator interior map from the marker.

경로계획부(500)는 상기 영상처리부(300)에 의해 생성 또는 갱신된 엘리베이터 바닥의 지도 및 상기 자세추정부(400)에 의해 추정된 로봇의 자세를 기반으로, 상기 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획한다.The route planning unit 500 is based on the map of the elevator floor created or updated by the image processing unit 300 and the attitude of the robot estimated by the attitude estimation unit 400, and the target area that the robot can reach is After confirming that there is, it decides the target point that can be reached and plans the route to the target point.

상기 목표지점은 로봇이 장애물을 피해 엘리베이터에 탑승 또는 하차 할 수 있는 지점을 의미하고, 이를 위해 목표 영역이 필요하다.The target point means a point at which the robot can board or get off the elevator avoiding the obstacle, and a target area is required for this.

로봇제어부(600)는 상기 경로계획부(500)에 의해 생성된 이동경로를 따라 로봇이 이동하도록 제어한다.The robot control unit 600 controls the robot to move along the movement path generated by the path planning unit 500.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 마커(10)는 아루코(Aruco) 마커의 형태, 체커 보드의 형태, 색상 패턴의 형태 중 어느 하나 또는 복수를 사용하는 것을 특징으로 할 수 있다.As shown in Fig. 1, the marker 10 of the device for recognizing the environment in the elevator by the indoor mobile robot according to an embodiment of the present invention is in the form of an Aruco marker, a form of a checker board, and a color pattern. It may be characterized in that any one or a plurality of forms are used.

마커(10)는 일정한 포맷으로 만들어진 인공적인 표식으로, 추적을 위해 사용할 수 있다.The marker 10 is an artificial mark made in a certain format and can be used for tracking.

아루코(Aruco) 마커는 n x n 크기의 2차원 비트 패턴과 이를 둘러싸고 있는 검은색 태두리 영역으로 구성되어 있다. 검은색 테두리 영역은 마커를 빨리 인식하도록 하기 위한 것이며, 내부의 2차원 비트 패턴은 흰색 셀과 검정색 셀의 조합으로 마커의 고유 ID를 표현한 것으로 마커를 식별하는데 사용된다.(도 4 참조)The Aruco marker is composed of a two-dimensional bit pattern of size n x n and a black border region surrounding it. The black border area is for quick recognition of the marker, and the inner two-dimensional bit pattern is used to identify the marker by expressing the unique ID of the marker by a combination of white cells and black cells (see Fig. 4).

체커 보드의 형태는 격자모양의 배열에 두 가지 색상(흰색, 검정색 등)이 교번되도록 배치된 형태를 말한다.(도 5 참조)The shape of the checker board refers to a shape in which two colors (white, black, etc.) are alternately arranged in a grid-like arrangement (see Fig. 5).

색상 패턴의 형태는 격자모양의 배열에 여러 가지 색상(빨간색, 파란색, 녹색, 노란색 등)이 교번되도록 배치된 형태를 말한다.(도 6 참조)The shape of the color pattern refers to a shape in which various colors (red, blue, green, yellow, etc.) are alternately arranged in a grid-like arrangement (see Fig. 6).

상기에서 다양한 마커(10)의 예를 설명하였으나, 본 발명이 이에 한정된 것은 아니며, 체커 보드의 밝은색(흰색, 공백 등) 부분에 아루코(Aruco) 마커가 삽입된 체루코(ChAruco) 보드의 형태 등 추적이 가능한 마커(10)라면 어떠한 것도 적용 가능함은 물론이다.Examples of the various markers 10 have been described above, but the present invention is not limited thereto, and the ChAruco board in which an Aruco marker is inserted in the bright color (white, blank, etc.) of the checker board It goes without saying that any markers 10 capable of tracking such as shape can be applied.

도 4 내지 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 영상처리부(300)는 엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 할 수 있다.As shown in FIGS. 4 to 6, the image processing unit 300 of the apparatus for recognizing the environment in the elevator by the indoor mobile robot according to an embodiment of the present invention includes a marker 10 completely identified for the elevator floor. After acquiring the area of the elevator, it may be characterized in that only the aggregate area of unoccupied unit blocks, that is, the area in which the robot can move, is distinguished by comparing previously stored information on the elevator floor.

아루코(Aruco) 마커의 형태를 가진 경우에는 우선 획득된 영상을 문턱 값(threshold value)을 이용하여 이진(binary) 영상으로 변환시키는 데, 여기에는 캐니 엣지 탐지 기법(Canny edge detection)이나 지역적인 적응적 이진화 방법(local adaptive thresholding approach) 등의 여러 가지 방법을 사용할 수 있으나 이에 국한되지 않는다.In the case of Aruco markers, the acquired image is first converted into a binary image using a threshold value, including Canny edge detection or local Various methods, such as a local adaptive thresholding approach, can be used, but are not limited thereto.

전환된 이진 영상에 대해서 윤곽선을 추출하는데, 여기에는 소벨(Sobel) 필터를 활용하는 방법이나 스즈키(Suzuki)의 윤곽선 추출 방법(topological structural analysis of digitized binary images by border following) 등의 여러 가지 방법을 사용할 수 있으나 이에 국한되지 않는다.The contours of the converted binary images are extracted, and various methods such as the method of using the Sobel filter and the topological structural analysis of digitized binary images by border following are used. Can, but is not limited to this.

추출된 윤곽선 영상에서 더글라스-페커(Douglas-Peucker) 알고리즘을 이용하여 사각형의 형태를 갖는 마커의 후보군 위치를 찾을 수 있다.From the extracted contour image, a candidate group position of a marker having a rectangular shape can be found using the Douglas-Peucker algorithm.

더글라스-페커 알고리즘 외에도 해리스 코너 탐지(Harris corner detection) 기법 등의 다양한 방법을 활용할 수 있다.In addition to the Douglas-Peker algorithm, various methods such as Harris corner detection can be used.

여기서 로봇이 엘리베이터를 타기위해 대기한 위치에서 보여지는 사각형의 형태를 갖는 마커의 후보군에서 적정한 크기가 아닌 사각형들은 배제하는 것이 바람직하다. 즉, 사전에 정의된 마커가 아닌 사각형들은 배제하는 것이 바람직하다. Here, it is desirable to exclude squares that are not of an appropriate size from the candidate group of markers that have a square shape that are shown at the position where the robot is waiting to take the elevator. In other words, it is desirable to exclude squares other than predefined markers.

여기서 상기 적정한 크기란, 로봇이 엘리베이터를 타기위해 대기한 위치에서 엘리베이터 내부 바닥의 마커를 바라보았을 때, 마커로써 검출될 만한 사각형의 크기를 뜻하는 것으로, 사전에 정해질 수 있다.Here, the appropriate size means the size of a rectangle that can be detected as a marker when looking at the marker on the floor inside the elevator from the position where the robot is waiting to take the elevator, and may be determined in advance.

다시 원래의 영상에서 적정한 크기를 갖는 사각형들로 구성된 마커의 후보군에 해당되는 부분에 대해 호모그래피 행렬(homography matrix)을 이용하여 원근 사영(perspective projection) 효과를 제거하고 엘리베이터의 바닥 마커를 수직으로 내려다보았을 때의 직사각형 형태로 변환시킬 수 있다.In the original image, the perspective projection effect was removed using a homography matrix for the portion corresponding to the candidate group of markers composed of squares having appropriate sizes, and the floor marker of the elevator was vertically overlooked. It can be converted into a rectangular shape when viewed.

상기 단계에서 획득한 마커 내부 영상을 오츠(Otsu)의 이진화 방법을 이용하여 이진 영상으로 만들고, 일정한 간격의 격자(grid)들로 나누어서 각 격자들의 내부색을 기준으로 검은 색은 0으로, 흰색은 1로 변환할 수 있다. The internal marker image obtained in the above step is made into a binary image using Otsu's binarization method, and divided into grids at regular intervals, based on the inner color of each grid, black is 0, and white is Can be converted to 1.

상기 변환된 데이터에서 0으로 변환되는 테두리 부분을 제외한 숫자들의 조합을 참조하여, 마커가 로봇의 마커 사전(dictionary)에 속한 마커인지 확인하고, 로봇의 마커 사전에 속하지 않은 마커들은 배제하여 온전한 마커들의 영역을 결정할 수 있다.In the converted data, by referring to the combination of numbers excluding the border part converted to 0, it is checked whether the marker belongs to the marker dictionary of the robot, and markers that do not belong to the marker dictionary of the robot are excluded. Area can be determined.

여기서, 테두리의 정보에 0이 아닌 부분이 있다면 해당되는 부분은 마커가 아닌 장애물로 간주하는 것이 바람직하다.Here, if there is a non-zero part in the border information, it is preferable to regard the corresponding part as an obstacle, not a marker.

체커보드의 형태인 경우에는, 아루코(Aruco) 마커의 형태인 경우와 유사하게 이뤄진다. In the case of the checkerboard shape, it is similar to the case in the shape of an Aruco marker.

우선, 동일한 방법으로 사각형의 형태를 갖는 마커의 후보군 위치를 찾는다. First, a candidate group location of a marker having a square shape is found in the same way.

그런 다음, 내부의 색이 검은색으로 채워지거나 흰색으로 채워지지 않은 영역을 배제한다. Then, the areas where the interior color is filled with black or not filled with white are excluded.

또한, 검은색 사각형의 상하좌우 위치에 흰색 사각형이 오지 않거나, 흰색 사각형의 상하좌우 위치에 검은색 사각형이 오진 않는 경우, 해당 영역을 마커가 아닌 영역으로 간주하고, 온전한 마커들의 영역을 결정한다.In addition, when a white square does not appear at the top, bottom, left, and right positions of the black square, or a black square does not come at the top, bottom, left, and right positions of the white square, the corresponding area is regarded as an area other than a marker, and areas of complete markers are determined.

색상 패턴의 형태의 경우에도, 아루코(Aruco) 마커의 형태인 경우와 유사하게 진행된다. In the case of the shape of the color pattern, it proceeds similarly to the case of the shape of an Aruco marker.

우선, 동일한 방법으로 사각형의 형태를 지닌 마커의 후보군을 찾는다. First, a candidate group of markers having a square shape is found in the same way.

그런 다음, 내부의 색이 로봇의 사전에 등록된 색으로 채워진 건지 확인하고, 해당 색의 영역의 상하좌우에 지정된 색이 발견되는 지 확인하여 온전한 마커의 영역을 결정한다.Then, it checks whether the color inside the robot is filled with the color registered in advance of the robot, and determines whether the designated color is found in the upper, lower, left, and right of the corresponding color area to determine the complete marker area.

위와 같은 방법을 통해 엘리베이터 바닥에 대해 온전한 마커들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 부분 즉, 이동로봇이 이동할 수 있는 영역만을 구분해낼 수 있다. Through the above method, the area of complete markers for the elevator floor is obtained, and then the previously stored information on the elevator floor is compared to identify only the unoccupied part, that is, the area in which the mobile robot can move.

또한, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 마커로 분류되어야하는 영역임에도 불구하고, 마커가 아닌 영역으로 판단되는 영역은 비환경적 장애물에 의해 마커가 점유되어있거나, 보이지 않는 영역으로 판단할 수 있다.In addition, even though it is an area that should be classified as a marker by comparing information on the previously stored elevator floor, the area determined as a non-marker area can be determined as an area where the marker is occupied or invisible by non-environmental obstacles. have.

엘리베이터 바닥과 벽 사이의 경계선은 기저장된 엘리베이터 바닥에 대한 정보와 획득한 영상과의 비교를 통해 알아낼 수 있다.The boundary line between the elevator floor and the wall can be found through comparison between the previously stored elevator floor information and the acquired image.

예를 들어, 획득한 영상에서 검출된 엘리베이터 바닥의 마커 중에 좌/우 끝에 해당되는 마커의 정보를 도출한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여, 엘리베이터 내부 벽에 대한 판단을 할 수 있다.For example, among the markers of the elevator floor detected from the acquired image, information on the markers corresponding to the left and right ends may be derived, and then information on the previously stored elevator floor may be compared to determine the interior wall of the elevator. .

한 실시예로 도 4를 참고하여, (a)와 같은 기준 마커가 일정한 간격으로 엘리베이터 바닥에 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.As an example, referring to FIG. 4, if a reference marker as shown in (a) is installed on the floor of an elevator at regular intervals, and a non-environmental obstacle is located as shown in (b), through the image processing process of the mobile robot ( The left and right walls of the elevator, such as the blue line in c), can be detected, and the unoccupied space can be detected as in (d).

상기 예시에서 점유되지 않은 공간은 기준 마커가 완전하게 인식되는 부분의 집합을 의미한다. In the above example, the unoccupied space means a set of parts in which the reference marker is completely recognized.

상기 예시에서 기준 마커가 인식되지 않는 부분은 점유된 공간으로 간주할 수 있다.In the above example, a portion where the reference marker is not recognized may be regarded as an occupied space.

다른 실시예로 도 5를 참고하여, (a)와 같은 체커 보드가 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다고 한다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.As another embodiment, referring to FIG. 5, if the checker board as shown in (a) is installed and non-environmental obstacles are located as shown in (b), the blue line and the blue line in (c) through the image processing process of the mobile robot The same elevator left and right walls can be detected, and unoccupied space can be detected as shown in (d).

상기 예시에서 점유되지 않은 공간은 체커가 완전한 직사각형의 형태로 인식된 부분의 집합을 의미한다.In the above example, the unoccupied space means a set of parts in which the checker is recognized as a complete rectangle.

상기 예시에서 검출된 체커의 형태가 직사각형이 아니라면 점유된 공간으로 간주할 수 있다.If the shape of the checker detected in the above example is not a rectangle, it can be regarded as an occupied space.

다른 실시예로 도 6를 참고하여, (a)와 같은 색상 패턴이 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다고 한다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.As another embodiment, referring to FIG. 6, if the color pattern as shown in (a) is installed and the non-environmental obstacle is located as shown in (b), the blue line and the blue line in (c) through the image processing process of the mobile robot The same elevator left and right walls can be detected, and unoccupied space can be detected as shown in (d).

상기 예시에서 점유되지 않은 공간은 사각형의 색상 패턴의 각 위치에 사전에 정의된 한 가지 색상만 검출되는 공간의 집합을 의미한다. In the above example, the unoccupied space refers to a set of spaces in which only one predefined color is detected at each position of the rectangular color pattern.

상기 예시에서 만일 한 가지 색상으로 검출된 공간이 사각형이 아니라면 점유된 공간으로 간주할 수 있다.In the above example, if the space detected by one color is not a square, it can be regarded as an occupied space.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 자세추정부(400)는 As shown in Figure 1, the posture estimation unit 400 of the device for recognizing the environment in the elevator indoor mobile robot according to an embodiment of the present invention

엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식The coordinates of the vision sensor 200 in the elevator's internal map coordinate system are calculated as follows:

Figure 112020044319816-pat00045
Figure 112020044319816-pat00045

(여기서,

Figure 112020044319816-pat00046
는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
Figure 112020044319816-pat00047
은 3차원 회전변환 행렬,
Figure 112020044319816-pat00048
는 이동변환 벡터)(here,
Figure 112020044319816-pat00046
Is the coordinate of the vision sensor in the map coordinate system inside the elevator,
Figure 112020044319816-pat00047
Is a three-dimensional rotation transformation matrix,
Figure 112020044319816-pat00048
Is the shift transformation vector)

과 같이 구하고, Obtain as,

비전 센서의 방향 정보인 롤(roll,

Figure 112020044319816-pat00049
), 피치(pitch,
Figure 112020044319816-pat00050
) 및 요(yaw,
Figure 112020044319816-pat00051
)를 다음식The direction information of the vision sensor, roll,
Figure 112020044319816-pat00049
), pitch,
Figure 112020044319816-pat00050
) And yaw,
Figure 112020044319816-pat00051
) To the following expression

Figure 112020044319816-pat00052
Figure 112020044319816-pat00052

Figure 112020044319816-pat00053
Figure 112020044319816-pat00053

Figure 112020044319816-pat00054
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) 함수이다)(Where Atan2 is an arctangent function that takes two arguments,
Figure 112020044319816-pat00055
Is the unit vector in the y-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00056
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00057
Is the z-axis component of,
Figure 112020044319816-pat00058
Is the unit vector in the z-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00059
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00060
Is the z-axis component of,
Figure 112020044319816-pat00061
,
Figure 112020044319816-pat00062
,
Figure 112020044319816-pat00063
Is the unit vector in the x-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00064
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00065
Is the x, y, z axis component of,
Figure 112020044319816-pat00066
Is an arcsine function)

과 같이 구하여, 로봇의 자세를 계산하는 것을 특징으로 할 수 있다.It can be obtained as described above and characterized in that the posture of the robot is calculated.

상기 지도저장부(100)에는 도 7과 같은 형태의 엘리베이터 내부 지도가 저장될 수 있다. The map storage unit 100 may store an elevator interior map in the form of FIG. 7.

엘리베이터 내부 지도는 엘리베이터의 내부 벽과 각 마커들이 위치하는 좌표가 표시될 수 있다.The elevator interior map may display the interior wall of the elevator and the coordinates where each marker is located.

로봇이 이동할 수 있는 공간내에 위치한 마커들의 좌표를 로봇이 사전에 지니고 있는 엘리베이터 내부 지도의 좌표계를 기준으로 지니고 있도록 할 수 있다.It is possible to have the coordinates of the markers located in the space in which the robot can move based on the coordinate system of the elevator interior map that the robot has in advance.

이는, 사전에 엘리베이터에 비환경적 장애물을 인위적으로 제거하고, 엘리베이터 탑승 시작위치에 로봇을 두고, 비전 센서 데이터를 취득하여, 카메라 캘리브레이션(calibration)을 활용하여 얻을 수 있다. This can be obtained by artificially removing non-environmental obstacles in the elevator in advance, placing the robot at the starting position for boarding the elevator, acquiring vision sensor data, and utilizing camera calibration.

도 3에서와 같이 엘리베이터 바닥의 마커 위의 한 점 A가 엘리베이터 내부 지도 좌표계 기준으로 (x, y, z)에 위치하고 있다고 하자.As shown in Fig. 3, assume that a point A on the marker on the floor of the elevator is located at (x, y, z) based on the coordinate system inside the elevator.

상기 점 A에 대해 로봇의 비전센서를 통해 측정한 영상 위의 한 점 A'가 비전센서의 위치를 원점으로 하는 3차원 좌표계, 즉 비전센서 좌표계를 기준으로 (a, b, c)에 있다고 하고, 획득된 영상의 2차원 영상 좌표계에서 (m, n)에 위치하고 있다고 하자.It is assumed that a point A'on the image measured by the robot's vision sensor for the point A is in (a, b, c) based on the three-dimensional coordinate system, that is, the vision sensor coordinate system, with the position of the vision sensor as the origin. Suppose that, is located at (m, n) in the 2D image coordinate system of the acquired image.

좌표 (m, n)와 좌표 (a, b, c) 사이에 다음과 같은 관계가 성립한다. The following relationship is established between the coordinates (m, n) and the coordinates (a, b, c).

Figure 112020044319816-pat00067
Figure 112020044319816-pat00067

Figure 112020044319816-pat00068
Figure 112020044319816-pat00068

Figure 112020044319816-pat00069
Figure 112020044319816-pat00069

Figure 112020044319816-pat00070
Figure 112020044319816-pat00070

Figure 112020044319816-pat00071
Figure 112020044319816-pat00071

Figure 112020044319816-pat00072
Figure 112020044319816-pat00072

여기서

Figure 112020044319816-pat00073
는 비전센서의 초점 거리이고,
Figure 112020044319816-pat00074
Figure 112020044319816-pat00075
는 각각 비전센서의 한 픽셀의 x와 y방향 크기를 의미하며,
Figure 112020044319816-pat00076
는 비대칭(skewness) 계수이며
Figure 112020044319816-pat00077
로써 구해진다.here
Figure 112020044319816-pat00073
Is the focal length of the vision sensor,
Figure 112020044319816-pat00074
Wow
Figure 112020044319816-pat00075
Is the size of one pixel of the vision sensor in the x and y directions, respectively,
Figure 112020044319816-pat00076
Is the coefficient of skewness
Figure 112020044319816-pat00077
It is obtained by

여기서

Figure 112020044319816-pat00078
는 비전센서의 y축이 x축에 대해 기울어진 정도를 각도로 표현한 값이다.here
Figure 112020044319816-pat00078
Is a value expressed as an angle of the degree of inclination of the y-axis of the vision sensor with respect to the x-axis.

Figure 112020044319816-pat00079
Figure 112020044319816-pat00080
는 각각 비전센서의 광축과 영상평면이 만나는 주점(principal point)의 x와 y방향 좌표를 의미한다.
Figure 112020044319816-pat00079
Wow
Figure 112020044319816-pat00080
Denotes the x- and y-direction coordinates of the principal point where the optical axis of the vision sensor and the image plane meet, respectively.

또한,

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
이다. Also,
Figure 112020044319816-pat00081
,
Figure 112020044319816-pat00082
,
Figure 112020044319816-pat00083
,
Figure 112020044319816-pat00084
,
Figure 112020044319816-pat00085
,
Figure 112020044319816-pat00086
Is the coefficient for radiation distortion,
Figure 112020044319816-pat00087
and
Figure 112020044319816-pat00088
Is the coefficient for tangential distortion,
Figure 112020044319816-pat00089
to be.

위 관계식을 통해 비전 센서 좌표계의 한 점 (a, b, c)는 비전 센서로 획득한 영상의 2차원 좌표계위의 한 점 A'로 표현된다.Through the above relational equation, a point (a, b, c) in the vision sensor coordinate system is expressed as a point A'in the two-dimensional coordinate system of the image acquired by the vision sensor.

좌표 (a, b, c)와 좌표 (x, y, z) 사이에 다음과 같은 관계가 성립한다.The following relationship is established between the coordinates (a, b, c) and the coordinates (x, y, z).

Figure 112020044319816-pat00090
Figure 112020044319816-pat00090

여기서,

Figure 112020044319816-pat00091
은 3차원 회전변환 행렬이고,
Figure 112020044319816-pat00092
는 이동변환 벡터(vector)이다. here,
Figure 112020044319816-pat00091
Is the three-dimensional rotation transformation matrix,
Figure 112020044319816-pat00092
Is the movement transformation vector.

마커들이 도 4 내지 6과 같이 사각형의 형태를 지닌다고 하면, 상기 관계식들과 마커 외곽선의 네 개의 꼭지점 정보와 레벤버그 마쿼드(Levenberg-Marquardt) 알고리즘을 이용하여

Figure 112020044319816-pat00093
Figure 112020044319816-pat00094
를 구할 수 있다.Assuming that the markers have a square shape as shown in Figs. 4 to 6, using the relational equations, information on four vertices of the marker outline, and the Levenberg-Marquardt algorithm
Figure 112020044319816-pat00093
and
Figure 112020044319816-pat00094
Can be obtained.

엘리베이터 내부 지도 좌표계에서 비전 센서의 좌표

Figure 112020044319816-pat00095
는 비전센서 좌표축 기준으로 (0, 0, 0)이기 때문에 아래와 같이 구해진다. The coordinates of the vision sensor in the map coordinate system inside the elevator
Figure 112020044319816-pat00095
Is (0, 0, 0) based on the coordinate axis of the vision sensor, so it is calculated as follows.

Figure 112020044319816-pat00096
Figure 112020044319816-pat00096

- 비전 센서의 방향 정보인 롤(roll,

Figure 112020044319816-pat00097
), 피치(pitch,
Figure 112020044319816-pat00098
)와 요(yaw,
Figure 112020044319816-pat00099
)는 다음과 같이 구해질 수 있다.-Roll, which is the direction information of the vision sensor
Figure 112020044319816-pat00097
), pitch,
Figure 112020044319816-pat00098
) And yaw,
Figure 112020044319816-pat00099
) Can be obtained as

Figure 112020044319816-pat00100
Figure 112020044319816-pat00100

Figure 112020044319816-pat00101
Figure 112020044319816-pat00101

Figure 112020044319816-pat00102
Figure 112020044319816-pat00102

- 여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,

Figure 112020044319816-pat00103
은 역사인(arcsine) 함수이다.-Where Atan2 is an arctangent function that takes two arguments,
Figure 112020044319816-pat00103
Is an arcsine function.

- 여기서

Figure 112020044319816-pat00104
는 비전센서 좌표계의 y축 방향 단위 벡터
Figure 112020044319816-pat00105
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00106
의 z축 성분이다.- here
Figure 112020044319816-pat00104
Is the unit vector in the y-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00105
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00106
Is the z-axis component of

Figure 112020044319816-pat00107
Figure 112020044319816-pat00107

- 여기서

Figure 112020044319816-pat00108
는 비전센서 좌표계의 z축 방향 단위 벡터
Figure 112020044319816-pat00109
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00110
의 z축 성분이고- here
Figure 112020044319816-pat00108
Is the unit vector in the z-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00109
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00110
Is the z-axis component of

Figure 112020044319816-pat00111
Figure 112020044319816-pat00111

- 여기서

Figure 112020044319816-pat00112
,
Figure 112020044319816-pat00113
,
Figure 112020044319816-pat00114
는 각각 비전센서 좌표계의 x축 방향 단위 벡터
Figure 112020044319816-pat00115
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00116
의 x, y, z축 성분이다.- here
Figure 112020044319816-pat00112
,
Figure 112020044319816-pat00113
,
Figure 112020044319816-pat00114
Is the unit vector in the x-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00115
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00116
Is the x, y, z axis component of.

Figure 112020044319816-pat00117
Figure 112020044319816-pat00117

- 상기 과정을 통해 엘리베이터 내부 지도 좌표계에서 비전 센서의 좌표를 구할 수 있고, 이를 통해 이동로봇의 자세를 계산할 수 있다.-Through the above process, the coordinates of the vision sensor can be obtained from the elevator's internal map coordinate system, and through this, the posture of the mobile robot can be calculated.

본 실시예에서는 비전센서의 피치(pitch) 정보와 롤(roll) 정보가 사용되지 않지만, 만일 엘리베이터 내부 지도로 3차원 형태의 지도를 사용한다면 피치 정보와 롤 정보가 요구될 수 있다.In this embodiment, pitch information and roll information of the vision sensor are not used, but if a three-dimensional map is used as an elevator interior map, pitch information and roll information may be required.

비전 센서로 영상을 획득하고 마커 인식을 위한 영상 처리 이후에, 온전한 형태의 마커가 발견되는 영역을 로봇이 이동할 수 있는 공간으로 결정할 수 있다. After acquiring an image with a vision sensor and processing the image for marker recognition, the area in which the intact marker is found may be determined as a space in which the robot can move.

마커의 인식을 마친 후에는 도 8과 같은 형태의 지도로 업데이트하게 된다.After completing the recognition of the marker, the map is updated as shown in FIG. 8.

즉, 도 8과 같은 엘리베이터 내부 지도를 실시간으로 생성한다. That is, the elevator interior map as shown in FIG. 8 is generated in real time.

다시 말해, 비전센서로 획득한 2차원 영상의 마커와 로봇이 지닌 엘리베이터 내부 지도위 마커를 1대1로 매칭시켜서 좌표로 표현할 수 있다.In other words, the marker of the 2D image acquired by the vision sensor and the marker on the elevator interior map of the robot can be matched one-to-one and expressed as coordinates.

여기서, 만일 아루코(Aruco) 마커의 형태인 경우에는 마커를 매칭함에 있어서 각 마커가 갖는 고유의 식별정보(ID)를 활용할 수 있다.Here, in the case of an Aruco marker, in matching markers, unique identification information (ID) of each marker may be used.

만일 체커 보드의 형태인 경우에는 엘리베이터의 실제 크기와 각 마커들의 실제 크기 정보, 영상에서 축소 또는 확대되는 스케일 정보 등을 활용해서 매칭시킬 수 있다.If it is in the form of a checker board, it can be matched by using the actual size of the elevator, the actual size information of each marker, and scale information that is reduced or enlarged in the image.

만일 색상 패턴의 형태인 경우에는, 고유의 색상 정보 및 상하좌우 배치된 색상 패턴을 활용하여 매칭시킬 수 있다.If it is in the form of a color pattern, it may be matched by using unique color information and color patterns arranged up, down, left and right.

즉, 로봇이 엘리베이터 내부의 바닥의 마커(10)를 식별하면, 엘리베이터 지도에서 로봇이 갈 수 있는 영역과 갈수 없는 영역을 도 8의 지도 내에서 구별할 수 있게 된다.That is, when the robot identifies the marker 10 on the floor inside the elevator, the area where the robot can go and the area that cannot be reached can be distinguished in the map of FIG. 8 on the elevator map.

본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 로봇제어부(600)는 목표 영역과 이동경로가 확보되지 않으면, 로봇이 출발지점으로 복귀하거나 제자리에서 대기하도록 제어하는 것을 특징으로 할 수 있다.The robot control unit 600 of the apparatus for recognizing the environment in the elevator by the indoor mobile robot according to an embodiment of the present invention controls the robot to return to the starting point or to wait in place if the target area and the movement path are not secured. It can be characterized.

엘리베이터는 내부에 탑승할 수 있는 공간이 확보되지 않으면, 다음을 기다려야 한다.If there is no space to board the elevator inside, you have to wait for the next.

로봇이 엘리베이터 안으로 탑승 중(로봇의 일부가 엘리베이터 내부에 위치하는 경우) 로봇이 엘리베이터 내부에 탑승할 수 없다고 판단되면 출발지점으로 복귀하는 것이 바람직하고, 엘리베이터 문이 열렸을 때 로봇이 엘리베이터 내부에 탑승할 수 없다고 판단되면 제자리에서 대기하는 것이 바람직하다.If the robot is boarding inside the elevator (if a part of the robot is located inside the elevator), it is desirable to return to the starting point if it is determined that the robot cannot board the elevator. When the elevator door is opened, the robot will board the elevator. If it is determined that it is not possible, it is desirable to wait in place.

도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치의 마커(10)는 엘리베이터의 내부 바닥 중요도에 따라 그 크기(해상도)를 달리하여 배치되는 것도 가능하다.As shown in Fig. 10, the marker 10 of the device for recognizing the environment in the elevator by the indoor mobile robot according to an embodiment of the present invention is arranged by varying its size (resolution) according to the importance of the interior floor of the elevator. It is also possible to become.

이는, 중요한 부분만 해상도를 높여서 정밀한 제어가 가능하도록 하되 연산량을 줄이기 위함이다.This is to reduce the amount of calculation while allowing precise control by increasing the resolution of only important parts.

즉, 모든 영역의 계산을 정밀하게 하는 것이 아니라, 경계영역, 모서리 등 중요도가 높은 부분을 더욱 정밀하게 계산하도록 하기 위함이다.In other words, the purpose is not to accurately calculate all areas, but to more accurately calculate areas of high importance such as boundary areas and edges.

예를 들어, 엘리베이터의 내부 바닥 테두리로 갈수록 상기 마커(10)의 크기가 작아지도록 할 수 있다.For example, the size of the marker 10 may decrease as it goes toward the inner floor rim of the elevator.

아울러, 마커(10)를 통해 로봇의 자세를 추정할 수만 있다면 어떠한 마커(10)든지 사용 가능함은 물론이다.In addition, it goes without saying that any marker 10 can be used as long as the posture of the robot can be estimated through the marker 10.

도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법에 있어서, 바닥감지 단계(S10), 바닥지도획득 단계(S20) 및 이동경로계획 단계(S30)를 포함한다.As shown in FIG. 11, in the method for the indoor mobile robot to recognize the environment in an elevator according to an embodiment of the present invention, an indoor mobile robot in the form of a program executed by an arithmetic processing means including a computer is used in the elevator. A method for recognizing an environment includes a floor sensing step (S10), a floor map acquisition step (S20), and a moving route planning step (S30).

바닥감지 단계(S10)는 비전센서(200)로 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득한다.In the floor sensing step S10, the vision sensor 200 acquires image information of the front floor of a specific range from the robot.

상기 비전센서(200)는 주기적 또는 실시간으로 로봇으로부터 특정 범위의 전방 바닥의 영상정보를 획득할 수 있다.The vision sensor 200 may periodically or in real time acquire image information of the front floor in a specific range from the robot.

즉, 상기 바닥감지 단계(S10)는 주기적 또는 실시간으로 시행된다.That is, the floor detection step (S10) is performed periodically or in real time.

우선, 최초에 엘리베이터를 내부를 바라보는 방향에서 로봇은 엘리베이터에 탑승하기 위한 알고리즘을 시작할 수 있다.First of all, the robot can start an algorithm to get on the elevator in the direction of initially looking at the elevator inside.

즉, 상기 비전센서(200)로 획득된 영상정보 중 마커(10)가 감지되면 후술하는 바닥지도획득 단계(S20)를 수행하도록 할 수 있다.That is, when the marker 10 is detected among the image information acquired by the vision sensor 200, the floor map acquisition step (S20) described later may be performed.

바닥지도획득 단계(S20)는 엘리베이터의 내부 벽이 위치와 관련된 정보 및 엘리베이터의 내부 바닥에 표시된 마커(10)들이 위치와 관련된 정보가 저장된 엘리베이터 바닥의 지도를 근거로, 상기 바닥감지 단계(S10)로부터 획득된 영상정보 중 마커(10)를 판별하여, 판별된 마커(10)가 포함된 점유되지 않은 바닥에 대한 엘리베이터 바닥의 지도를 생성 또는 갱신한다.In the floor map acquisition step (S20), the floor detection step (S10) is based on a map of the elevator floor in which information related to the location of the interior wall of the elevator and information related to the location of the markers 10 displayed on the interior floor of the elevator are stored. The marker 10 is determined among the image information obtained from and a map of the elevator floor for the unoccupied floor including the determined marker 10 is generated or updated.

상기 바닥지도획득 단계(S20)는 이동 로봇이 엘리베이터 탑승 대기 위치에서 비전센서(200)로 영상을 획득하고, 획득된 영상에서 마커(10)를 탐색한다.In the floor map acquisition step (S20), the mobile robot acquires an image with the vision sensor 200 at the elevator boarding standby position, and searches for the marker 10 from the acquired image.

마커(10)의 실제 크기 및 위치와, 이에 대응되는 로봇의 초기 시작지점에서 인식되는 영상 내부 픽셀로 표현되는 마커(10)의 크기 및 위치에 대한 정보는 사전에 저장되어 있고, 연산처리수단이 사용할 수 있도록 하는 것이 바람직하다.Information on the actual size and position of the marker 10 and the size and position of the marker 10 expressed as pixels within the image recognized at the initial starting point of the corresponding robot are stored in advance, and the operation processing means It is desirable to be able to use it.

이동경로계획 단계(S30)는 상기 바닥지도획득 단계(S20)로부터 갱신된 엘리베이터 바닥의 지도를 기반으로, 로봇의 자세를 추정하고, 로봇이 도달 가능한 목표 영역이 있는지 확인한 후, 도달 가능한 목표지점을 결정하여 목표지점까지의 이동경로를 계획한다.The movement route planning step (S30) estimates the attitude of the robot based on the map of the elevator floor updated from the floor map acquisition step (S20), checks whether there is a target area that the robot can reach, and then determines the reachable target point. Determine and plan the route to the target point.

상기 바닥지도획득 단계(S20)에서 엘리베이터의 벽과 바닥의 점유도를 검출했다면, 상기 이동경로계획 단계(S30)에서 이동 로봇의 크기를 고려하여 도달 가능한 목표 영역과 목표 지점이 있는지 탐색하고, 갈 수 있는 경로를 계획할 수 있다.If the occupancy of the walls and the floor of the elevator is detected in the floor map acquisition step (S20), in the movement route planning step (S30), it searches whether there is a reachable target area and a target point in consideration of the size of the mobile robot. You can plan a route that is there.

목표 지점이 속한 목표 영역이 로봇이 갈 수 있는 정도의 공간이라면 해당 영역으로 경로를 계획할 수 있다.If the target area to which the target point belongs is a space enough for the robot to go, a path can be planned to that area.

만일 목표 영역과 이동 경로가 확보되었다면, 현 이동 로봇의 자세를 추정하고 이동 경로를 생성한 뒤 로봇을 이동시킬 수 있다.If the target area and the movement path are secured, the robot can be moved after estimating the pose of the current mobile robot and generating the movement path.

즉, 해당되는 목표 영역의 목표 지점으로 경로를 생성하고 이동을 개시할 수 있다. That is, it is possible to create a path to a target point of a corresponding target area and start moving.

만일 목표 영역과 이동 경로가 확보되지 않았다면, 그대로 종료하고 출발 지점으로 복귀하거나 그 자리에서 대기할 수 있다.If the target area and route of movement are not secured, it can be terminated and returned to the starting point or wait on the spot.

이동 경로는 한번에 끝까지 이동할 수 있는 경로를 생성할 수도 있고, 유한한 개수의 경로로 구성할 수 있다.The moving path can create a path that can move to the end at once, or can be configured with a finite number of paths.

유한한 개수의 경로로 이동 경로를 생성하는 경우에는, 지역적인 목표지점에 도착할 때마다 목표 영역의 목표 지점에 도착 여부를 판단할 수 있다.In the case of generating movement paths with a finite number of paths, it is possible to determine whether or not to arrive at the target point of the target area whenever the local target point is reached.

만일 목표 영역의 목표 지점에 도착했다면 종료하고, 그렇지 않은 경우 다시 영상을 획득하는 단계로 돌아가서 상기 과정을 반복하도록 할 수 있다.If it arrives at the target point of the target area, the process is terminated. If not, the process returns to the step of acquiring the image again and the above process may be repeated.

만일 목표 영역의 목표 지점에 도달하지 못하고 종료된 이후에는 다시 초기 지점으로 돌아가는 방법이 있을 수 있다.If the target point of the target area is not reached and ends, there may be a method of returning to the initial point.

여기서 경로를 생성하는 법은 일반적인 자율 주행 알고리즘을 사용할 수 있다. Here, a general autonomous driving algorithm can be used to create a route.

예를 들어, A* 알고리즘, Dijkstra 알고리즘 등의 전역 경로 계획 알고리즘과 Dynamic Window Approach (DWA) 알고리즘, Timed Elastic Band (TEB) 알고리즘 등의 지역 경로 계획 알고리즘을 이용할 수 있다.For example, global route planning algorithms such as A* algorithm and Dijkstra algorithm, and local route planning algorithms such as Dynamic Window Approach (DWA) algorithm and Timed Elastic Band (TEB) algorithm can be used.

본 발명은 자율 주행 알고리즘이 아닌 자율 주행을 위한 환경 인식 방법 및 장치를 제공하고자함이다.The present invention is to provide an environment recognition method and apparatus for autonomous driving, not an autonomous driving algorithm.

이동하며 로봇이 자신의 자세(위치 및 방향)를 추정할 때에는 파티클 필터를 활용하는 방법 등이 있을 수 있다. When moving and estimating the robot's posture (position and direction), there may be a method of using a particle filter.

자기 자세의 추정은 다른 방법이 있을 수 있으나 이에 한정되지 않고, 본 발명에서는 환경을 인식하는 방법을 제공한다.There may be other methods for estimating the self- posture, but the present invention is not limited thereto, and the present invention provides a method for recognizing the environment.

로봇은 자신의 구동 정보와 이전 자세를 이용하여 자신의 현재 자세를 다음과 같이 인식할 수 있다. The robot can recognize its current posture as follows using its driving information and previous posture.

Figure 112020044319816-pat00118
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
에서 자세변화를 감지했을 때의 노이즈이다. here
Figure 112020044319816-pat00119
The time
Figure 112020044319816-pat00120
In the robot's pose,
Figure 112020044319816-pat00121
Silver time
Figure 112020044319816-pat00122
In the robot's pose,
Figure 112020044319816-pat00123
The time
Figure 112020044319816-pat00124
in
Figure 112020044319816-pat00125
The amount of change in the robot's posture up to,
Figure 112020044319816-pat00126
The time
Figure 112020044319816-pat00127
This is the noise when the posture change is detected.

특정 시간

Figure 112020044319816-pat00128
에서 로봇의 자세 변화량
Figure 112020044319816-pat00129
는 자이로 센서 및 모터의 엔코더 값을 통해 알 수 있다. Specific time
Figure 112020044319816-pat00128
The amount of change in the robot's posture
Figure 112020044319816-pat00129
Can be known through the gyro sensor and the encoder value of the motor.

하지만, 바닥면의 미끌림(slip)이나 바닥면의 평평하지 못함 등의 비이상적인 환경으로 인해 로봇의 자세 변화량은 정확한 정보를 주기 어렵고, 이 불확실성을

Figure 112020044319816-pat00130
로 표현한다. However, due to non-ideal environments such as slip on the floor or unevenness of the floor, it is difficult to provide accurate information on the amount of change in the robot's posture.
Figure 112020044319816-pat00130
Expressed as

본 발명에서 제시한 환경 인식 방법을 활용한 파티클 필터 기반 자기 자세 추정법을 예로 들면 다음과 같다.An example of a particle filter-based magnetic posture estimation method using the environment recognition method presented in the present invention is as follows.

파티클 필터는

Figure 112020044319816-pat00131
번째 로봇의 자세 후보
Figure 112020044319816-pat00132
를 다수의(
Figure 112020044319816-pat00133
) 파티클로 생성하고,
Figure 112020044319816-pat00134
, 각 파티클들의 모션(motion)을 측정된 자세 변화량을 통해 업데이트한다.Particle filter
Figure 112020044319816-pat00131
Robot posture candidate
Figure 112020044319816-pat00132
A number of (
Figure 112020044319816-pat00133
) Create particles,
Figure 112020044319816-pat00134
, Update the motion of each particle through the measured posture change amount.

그리고 마커를 통해 측정된 로봇의 자세를 이용해서 각 파티클의 가중치(weight)를 업데이트한 이후에, 현재 자세를 정한다. Then, after updating the weight of each particle using the robot's pose measured through the marker, the current pose is determined.

다시 파티클들을 각 파티클의 가중치 정보를 이용해서 리샘플링(resampling)하는 방식으로 일정 시간 및 자세가 변할 때마다 지속적으로 현재 자세를 추정한다.In a method of resampling the particles again using the weight information of each particle, the current posture is continuously estimated whenever a certain time and posture change.

여기서 리샘플링은 상기 가중치가 낮은 파티클을 제외시키고, 가중치가 높은 파티클은 여러개로 나누어 N개의 파티클을 업데이트하는 과정이다.Here, resampling is a process of excluding particles with a low weight and dividing particles with a high weight into several and updating N particles.

N개의 파티클을 업데이트하면 다시 모션과 가중치를 업데이트하여 리샘플링하는 과정을 반복한다.When N particles are updated, the resampling process is repeated by updating the motion and weight again.

여기서 리샘플링 과정을 통해, 로봇은 자기 자세의 후보로 표현되는 파티클들 중 가중치가 높은 파티클들의 집합으로 수렴시킬 수 있고, 따라서 자세 추정에서 오는 불확실성을 감소시킬 수 있다.Here, through the resampling process, the robot can converge to a set of particles having a high weight among particles expressed as candidates for their posture, thus reducing uncertainty resulting from posture estimation.

상기 파티클 필터의 가중치를 업데이트하는 과정에서 본 발명의 환경 인식 방법을 활용할 수 있다. In the process of updating the weight of the particle filter, the environment recognition method of the present invention may be used.

먼저, 실제 로봇에서 획득한 마커의 정보를 이용하여 로봇의 자세 정보

Figure 112020044319816-pat00135
를 추정한다.First, by using the information of the marker acquired from the actual robot,
Figure 112020044319816-pat00135
Estimate

상기 로봇의 자세 정보는 엘리베이터 내부 지도 좌표계의 비전센서 자세로부터 계산할 수 있다.The attitude information of the robot can be calculated from the attitude of the vision sensor of the coordinate system inside the elevator.

다음 각 파티클들의 위치 및 방향을 포함하는 자세 정보를 상기 추정된 로봇의 자세 정보와 비교한 오차 값에 역으로 비례하도록 가중치를 다음과 같이 계산할 수 있다. Next, a weight may be calculated as follows so as to be inversely proportional to an error value obtained by comparing the posture information including the position and direction of each particle with the estimated posture information of the robot.

Figure 112020044319816-pat00136
,
Figure 112020044319816-pat00136
,

여기서

Figure 112020044319816-pat00137
는 비례 계수이며,
Figure 112020044319816-pat00138
를 만족하도록 설정된다.here
Figure 112020044319816-pat00137
Is the proportionality factor,
Figure 112020044319816-pat00138
Is set to satisfy.

그리고 가중치 업데이트 이후에 가장 높은 가중치를 갖는 후보를 현재 위치로 간주하도록 할 수 있다. In addition, after the weight update, the candidate having the highest weight can be regarded as the current location.

로봇은 지속적으로 자신의 위치를 갱신하면서 목표 영역안의 목표 지점을 향해 경로를 계획하고 이동한다.The robot continuously updates its position and plans and moves the path toward the target point in the target area.

만일 로봇이 엘리베이터로 진입하였다면, 비전 센서를 통해 마커를 확인할 수 없을 수 있다.If the robot enters the elevator, it may not be able to see the marker through the vision sensor.

이러한 경우에는 가장 최근의 가중치값을 유지한 상태로 엔코더 값에 의존하여 자기 위치를 추정한다.In this case, it estimates its position depending on the encoder value while maintaining the most recent weight value.

만일 내부에서 마커를 확인하면 다시 가중치를 업데이트하고, 리샘플링하는 과정을 반복한다.If the marker is checked inside, the weight is updated again, and the process of resampling is repeated.

이때 엘리베이터에 들어서면서 초기에 보이지 않았던 사각지대를 비전센서로 인식할 수 있을 수 있다. At this time, when entering the elevator, the blind spot that was not initially seen can be recognized by the vision sensor.

이러한 경우에는 도 9에서와 같이 목표 영역을 새로운 지점으로 업데이트할 수 있다. In this case, as shown in FIG. 9, the target area may be updated to a new point.

목표 영역을 업데이트 하게 되는 기준은 엘리베이터의 안쪽, 즉 y축 방향의 값에 높은 가중치를 두는 것으로 할 수 있다. The criterion for updating the target area can be that a high weight is placed on the inside of the elevator, that is, in the y-axis direction.

즉, 안쪽 방향으로 이동할 수 있다면 이동을 개시하고, 안쪽 방향으로 갈 수 없는 경우에는 이동하지 않는다. That is, if it can move in the inward direction, it starts to move, and if it cannot go in the inward direction, it does not move.

x축 방향에는 동등한 가중치를 두어 새로운 곳이 발견되더라도 같은 y축 값이라면 이동을 하지 않고 현재 목표 영역에 대기하는 방법이 있을 수 있다. Even if a new place is found by putting equal weights in the x-axis direction, there may be a method of waiting in the current target area without moving if the value of the y-axis is the same.

만일 엘리베이터에 탑승하기 전에 마커가 인식되지 않으면 실패로 인지하거나 보일 때까지 해당 위치에서 대기할 수 있다.If the marker is not recognized before boarding the elevator, you can wait at that location until it is recognized or seen as a failure.

본 발명을 이용하면, 이동 로봇이 엘리베이터와 같은 좁은 공간으로 저비용으로 진입하는 것이 가능하다.Using the present invention, it is possible for a mobile robot to enter a narrow space such as an elevator at low cost.

본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법의 바닥지도획득 단계(S20)는 엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 할 수 있다.The floor map acquisition step (S20) of the method for the indoor mobile robot to recognize the environment in the elevator according to an embodiment of the present invention acquires the areas of the completely identified markers 10 for the elevator floor, and then By comparing information on the elevator floor, it may be characterized in that only a set area of unoccupied unit blocks, that is, an area in which the robot can move, is distinguished.

아루코(Aruco) 마커의 형태를 가진 경우에는 우선 획득된 영상을 문턱 값(threshold value)을 이용하여 이진(binary) 영상으로 변환시키는 데, 여기에는 캐니 엣지 탐지 기법(Canny edge detection)이나 지역적인 적응적 이진화 방법(local adaptive thresholding approach) 등의 여러 가지 방법을 사용할 수 있으나 이에 국한되지 않는다.In the case of Aruco markers, the acquired image is first converted into a binary image using a threshold value, including Canny edge detection or local Various methods, such as a local adaptive thresholding approach, can be used, but are not limited thereto.

전환된 이진 영상에 대해서 윤곽선을 추출하는데, 여기에는 소벨(Sobel) 필터를 활용하는 방법이나 스즈키(Suzuki)의 윤곽선 추출 방법(topological structural analysis of digitized binary images by border following) 등의 여러 가지 방법을 사용할 수 있으나 이에 국한되지 않는다.The contours of the converted binary images are extracted, and various methods such as the method of using the Sobel filter and the topological structural analysis of digitized binary images by border following are used. Can, but is not limited to this.

추출된 윤곽선 영상에서 더글라스-페커(Douglas-Peucker) 알고리즘을 이용하여 사각형의 형태를 갖는 마커의 후보군 위치를 찾을 수 있다.From the extracted contour image, a candidate group position of a marker having a rectangular shape can be found using the Douglas-Peucker algorithm.

더글라스-페커 알고리즘 외에도 해리스 코너 탐지(Harris corner detection) 기법 등의 다양한 방법을 활용할 수 있다.In addition to the Douglas-Peker algorithm, various methods such as Harris corner detection can be used.

여기서 로봇이 엘리베이터를 타기위해 대기한 위치에서 보여지는 적정한 크기의 마커가 아닌 사각형들은 배제하는 것이 바람직하다. 즉, 로봇의 크기 때문에 지나갈 수 없는 영역은 배제하는 것이 바람직하다.Here, it is desirable to exclude squares that are not appropriately sized markers that are displayed at the position where the robot is waiting to take the elevator. In other words, it is desirable to exclude areas that cannot be passed due to the size of the robot.

다시 원래의 영상에서 마커의 후보군에 해당되는 부분에 대해 호모그래피 행렬(homography matrix)을 이용하여 원근 사영(perspective projection) 효과를 제거하고 엘리베이터의 바닥 마커를 수직으로 내려다보았을 때의 직사각형 형태로 변환시킬 수 있다.In the original image, the perspective projection effect is removed using a homography matrix for the part corresponding to the candidate group of markers, and the elevator floor marker is transformed into a rectangular shape when viewed vertically. I can.

오츠(Otsu)의 이진화 방법을 이용하여 마커 내부 영상을 이진 영상으로 만들고, 일정한 간격의 격자(grid)들로 나누어서 0 또는 1의 숫자로 변환한 후, 0으로 변환되는 테두리 부분을 제외한 숫자들의 조합을 참조하여, 마커가 로봇의 사전(dictionary)에 저장된 마커인지 확인하고, 사전(dictionary)에 저장된 마커가 아닌 것은 배제하여 온전한 마커들의 영역을 결정할 수 있다.Using Otsu's binarization method, the image inside the marker is converted into a binary image, divided into grids at regular intervals, converted to a number of 0 or 1, and then a combination of numbers excluding the border that is converted to 0 With reference to, it is possible to determine whether the marker is a marker stored in a dictionary of the robot, and exclude a marker that is not stored in a dictionary to determine an area of complete markers.

여기서, 테두리의 정보에 0이 아닌 부분이 있다면 해당되는 부분은 마커가 아닌 장애물로 간주하는 것이 바람직하다.Here, if there is a non-zero part in the border information, it is preferable to regard the corresponding part as an obstacle, not a marker.

체커보드의 형태인 경우에는, 아루코(Aruco) 마커의 형태인 경우와 유사하게 이뤄진다. In the case of the checkerboard shape, it is similar to the case in the shape of an Aruco marker.

우선, 동일한 방법으로 사각형의 형태를 갖는 마커의 후보군 위치를 찾는다. First, a candidate group location of a marker having a square shape is found in the same way.

그런 다음, 내부의 색이 검은색으로 채워지거나 흰색으로 채워지지 않은 영역을 배제한다. Then, the areas where the interior color is filled with black or not filled with white are excluded.

또한, 검은색 사각형의 상하좌우 위치에 흰색 사각형이 오지 않거나, 흰색 사각형의 상하좌우 위치에 검은색 사각형이 오진 않는 경우, 해당 영역을 마커가 아닌 영역으로 간주하고, 온전한 마커들의 영역을 결정한다.In addition, when a white square does not appear at the top, bottom, left, and right positions of the black square, or a black square does not come at the top, bottom, left, and right positions of the white square, the corresponding area is regarded as an area other than a marker, and areas of complete markers are determined.

색상 패턴의 형태의 경우에도, 아루코(Aruco) 마커의 형태인 경우와 유사하게 진행된다. In the case of the shape of the color pattern, it proceeds similarly to the case of the shape of an Aruco marker.

우선, 동일한 방법으로 사각형의 형태를 지닌 마커의 후보군을 찾는다. First, a candidate group of markers having a square shape is found in the same way.

그런 다음, 내부의 색이 로봇의 사전에 등록된 색으로 채워진 건지 확인하고, 해당 색의 영역의 상하좌우에 지정된 색이 발견되는 지 확인하여 온전한 마커의 영역을 결정한다.Then, it checks whether the color inside the robot is filled with the color registered in advance of the robot, and determines whether the designated color is found in the upper, lower, left, and right of the corresponding color area to determine the complete marker area.

위와 같은 방법을 통해 엘리베이터 바닥에 대해 온전한 마커들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 부분 즉, 이동로봇이 이동할 수 있는 영역만을 구분해낼 수 있다. Through the above method, the area of complete markers for the elevator floor is obtained, and then the previously stored information on the elevator floor is compared to identify only the unoccupied part, that is, the area in which the mobile robot can move.

엘리베이터 바닥의 경계선은 기저장된 엘리베이터 바닥에 대한 정보와 획득한 영상과의 비교를 통해 알아낼 수 있다.The boundary line of the elevator floor can be found through a comparison between the previously stored elevator floor information and the acquired image.

예를 들어, 획득한 영상에서 검출된 엘리베이터 바닥의 마커 중에 좌/우 끝에 해당되는 마커의 정보를 도출한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여, 끝의 정보인지에 대한 판단을 통해 알아낼 수 있다.For example, among the markers of the elevator floor detected from the acquired image, the information of the marker corresponding to the left and right ends is derived, and then the information on the previously stored elevator floor is compared to determine whether the information is at the end. I can.

한 실시예로 도 4를 참고하여, (a)와 같은 기준 마커가 일정한 간격으로 엘리베이터 바닥에 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.As an example, referring to FIG. 4, if a reference marker as shown in (a) is installed on the floor of an elevator at regular intervals, and a non-environmental obstacle is located as shown in (b), through the image processing process of the mobile robot ( The left and right walls of the elevator, such as the blue line in c), can be detected, and the unoccupied space can be detected as in (d).

상기 예시에서 점유되지 않은 공간은 기준 마커가 완전하게 인식되는 부분의 집합을 의미한다. In the above example, the unoccupied space means a set of parts in which the reference marker is completely recognized.

상기 예시에서 기준 마커가 인식되지 않는 부분은 점유된 공간으로 간주할 수 있다.In the above example, a portion where the reference marker is not recognized may be regarded as an occupied space.

다른 실시예로 도 5를 참고하여, (a)와 같은 체커 보드가 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다고 한다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.As another embodiment, referring to FIG. 5, if the checker board as shown in (a) is installed and non-environmental obstacles are located as shown in (b), the blue line and the blue line in (c) through the image processing process of the mobile robot The same elevator left and right walls can be detected, and unoccupied space can be detected as shown in (d).

상기 예시에서 점유되지 않은 공간은 체커가 완전한 직사각형의 형태로 인식된 부분의 집합을 의미한다.In the above example, the unoccupied space means a set of parts in which the checker is recognized as a complete rectangle.

상기 예시에서 검출된 체커의 형태가 직사각형이 아니라면 점유된 공간으로 간주할 수 있다.If the shape of the checker detected in the above example is not a rectangle, it can be regarded as an occupied space.

다른 실시예로 도 6를 참고하여, (a)와 같은 색상 패턴이 설치되어 있고, (b)와 같이 비환경적 장애물이 위치하고 있다고 한다면, 이동 로봇의 영상 처리 과정을 통해 (c)의 푸른 선과 같은 엘리베이터 좌우 벽을 검출해낼 수 있고, (d)와 같이 점유되지 않은 공간을 검출할 수 있다.As another embodiment, referring to FIG. 6, if the color pattern as shown in (a) is installed and the non-environmental obstacle is located as shown in (b), the blue line and the blue line in (c) through the image processing process of the mobile robot The same elevator left and right walls can be detected, and unoccupied space can be detected as shown in (d).

상기 예시에서 점유되지 않은 공간은 사각형의 색상 패턴의 각 위치에 사전에 정의된 한 가지 색상만 검출되는 공간의 집합을 의미한다. In the above example, the unoccupied space refers to a set of spaces in which only one predefined color is detected at each position of the rectangular color pattern.

상기 예시에서 만일 한 가지 색상으로 검출된 공간이 사각형이 아니라면 점유된 공간으로 간주할 수 있다.In the above example, if the space detected by one color is not a square, it can be regarded as an occupied space.

본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법은 이동경로계획 단계(S30)는 In the method for the indoor mobile robot according to an embodiment of the present invention to recognize the environment in an elevator, the movement route planning step (S30) is

엘리베이터 내부 지도 좌표계에서 상기 비전센서(200)의 좌표를 다음 식The coordinates of the vision sensor 200 in the elevator's internal map coordinate system are calculated as follows:

Figure 112020044319816-pat00139
Figure 112020044319816-pat00139

(여기서,

Figure 112020044319816-pat00140
는 엘리베이터 내부 지도 좌표계에서 비전센서의 좌표,
Figure 112020044319816-pat00141
은 3차원 회전변환 행렬,
Figure 112020044319816-pat00142
는 이동변환 벡터)(here,
Figure 112020044319816-pat00140
Is the coordinate of the vision sensor in the map coordinate system inside the elevator,
Figure 112020044319816-pat00141
Is a three-dimensional rotation transformation matrix,
Figure 112020044319816-pat00142
Is the shift transformation vector)

과 같이 구하고, Obtain as,

비전 센서의 방향 정보인 롤(roll,

Figure 112020044319816-pat00143
), 피치(pitch,
Figure 112020044319816-pat00144
) 및 요(yaw,
Figure 112020044319816-pat00145
)를 다음식The direction information of the vision sensor, roll,
Figure 112020044319816-pat00143
), pitch,
Figure 112020044319816-pat00144
) And yaw,
Figure 112020044319816-pat00145
) To the following expression

Figure 112020044319816-pat00146
Figure 112020044319816-pat00146

Figure 112020044319816-pat00147
Figure 112020044319816-pat00147

Figure 112020044319816-pat00148
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) 함수이다)(Where Atan2 is an arctangent function that takes two arguments,
Figure 112020044319816-pat00149
Is the unit vector in the y-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00150
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00151
Is the z-axis component of,
Figure 112020044319816-pat00152
Is the unit vector in the z-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00153
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00154
Is the z-axis component of,
Figure 112020044319816-pat00155
,
Figure 112020044319816-pat00156
,
Figure 112020044319816-pat00157
Is the unit vector in the x-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00158
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00159
Is the x, y, z axis component of,
Figure 112020044319816-pat00160
Is an arcsine function)

과 같이 구하여, 로봇의 자세를 계산하는 것을 특징으로 할 수 있다.It can be obtained as described above and characterized in that the posture of the robot is calculated.

상기 지도저장부(100)에는 도 7과 같은 형태의 엘리베이터 내부 지도가 저장될 수 있다. The map storage unit 100 may store an elevator interior map in the form of FIG. 7.

엘리베이터 내부 지도는 엘리베이터의 내부 벽과 각 마커들이 위치하는 좌표가 표시될 수 있다.The elevator interior map may display the interior wall of the elevator and the coordinates where each marker is located.

로봇이 이동할 수 있는 공간내에 위치한 마커들의 좌표를 로봇이 사전에 지니고 있는 엘리베이터 내부 지도의 좌표계를 기준으로 지니고 있도록 할 수 있다.It is possible to have the coordinates of the markers located in the space in which the robot can move based on the coordinate system of the elevator interior map that the robot has in advance.

이는, 사전에 엘리베이터에 비환경적 장애물을 인위적으로 제거하고, 엘리베이터 탑승 시작위치에 로봇을 두고, 비전 센서 데이터를 취득하여, 카메라 캘리브레이션(calibration)을 활용하여 얻을 수 있다. This can be obtained by artificially removing non-environmental obstacles in the elevator in advance, placing the robot at the starting position for boarding the elevator, acquiring vision sensor data, and utilizing camera calibration.

도 3에서와 같이 엘리베이터 바닥의 마커 위의 한 점 A가 엘리베이터 내부 지도 좌표계 기준으로 (x, y, z)에 위치하고 있다고 하자.As shown in Fig. 3, assume that a point A on the marker on the floor of the elevator is located at (x, y, z) based on the coordinate system inside the elevator.

상기 점 A에 대해 로봇의 비전센서를 통해 측정한 영상 위의 한 점 A'가 비전센서의 위치를 원점으로 하는 3차원 좌표계, 즉 비전센서 좌표계를 기준으로 (a, b, c)에 있다고 하고, 획득된 영상의 2차원 영상 좌표계에서 (m, n)에 위치하고 있다고 하자.It is assumed that a point A'on the image measured by the robot's vision sensor for the point A is in (a, b, c) based on the three-dimensional coordinate system, that is, the vision sensor coordinate system, with the position of the vision sensor as the origin. Suppose that, is located at (m, n) in the 2D image coordinate system of the acquired image.

좌표 (m, n)와 좌표 (a, b, c) 사이에 다음과 같은 관계가 성립한다. The following relationship is established between the coordinates (m, n) and the coordinates (a, b, c).

Figure 112020044319816-pat00161
Figure 112020044319816-pat00161

Figure 112020044319816-pat00162
Figure 112020044319816-pat00162

Figure 112020044319816-pat00163
Figure 112020044319816-pat00163

Figure 112020044319816-pat00164
Figure 112020044319816-pat00164

Figure 112020044319816-pat00165
Figure 112020044319816-pat00165

Figure 112020044319816-pat00166
Figure 112020044319816-pat00166

여기서

Figure 112020044319816-pat00167
는 비전센서의 초점 거리이고,
Figure 112020044319816-pat00168
Figure 112020044319816-pat00169
는 각각 비전센서의 한 픽셀의 x와 y방향 크기를 의미하며,
Figure 112020044319816-pat00170
는 비대칭(skewness) 계수이며
Figure 112020044319816-pat00171
로써 구해진다.here
Figure 112020044319816-pat00167
Is the focal length of the vision sensor,
Figure 112020044319816-pat00168
Wow
Figure 112020044319816-pat00169
Is the size of one pixel of the vision sensor in the x and y directions, respectively,
Figure 112020044319816-pat00170
Is the coefficient of skewness
Figure 112020044319816-pat00171
It is obtained by

여기서

Figure 112020044319816-pat00172
는 비전센서의 y축이 x축에 대해 기울어진 정도를 각도로 표현한 값이다.here
Figure 112020044319816-pat00172
Is a value expressed as an angle of the degree of inclination of the y-axis of the vision sensor with respect to the x-axis.

Figure 112020044319816-pat00173
Figure 112020044319816-pat00174
는 각각 비전센서의 광축과 영상평면이 만나는 주점(principal point)의 x와 y방향 좌표를 의미한다.
Figure 112020044319816-pat00173
Wow
Figure 112020044319816-pat00174
Denotes the x- and y-direction coordinates of the principal point where the optical axis of the vision sensor and the image plane meet, respectively.

또한,

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
이다. Also,
Figure 112020044319816-pat00175
,
Figure 112020044319816-pat00176
,
Figure 112020044319816-pat00177
,
Figure 112020044319816-pat00178
,
Figure 112020044319816-pat00179
,
Figure 112020044319816-pat00180
Is the coefficient for radiation distortion,
Figure 112020044319816-pat00181
and
Figure 112020044319816-pat00182
Is the coefficient for tangential distortion,
Figure 112020044319816-pat00183
to be.

위 관계식을 통해 비전 센서 좌표계의 한 점 (a, b, c)는 비전 센서로 획득한 영상의 2차원 좌표계위의 한 점 A'로 표현된다.Through the above relational equation, a point (a, b, c) in the vision sensor coordinate system is expressed as a point A'in the two-dimensional coordinate system of the image acquired by the vision sensor.

좌표 (a, b, c)와 좌표 (x, y, z) 사이에 다음과 같은 관계가 성립한다.The following relationship is established between the coordinates (a, b, c) and the coordinates (x, y, z).

Figure 112020044319816-pat00184
Figure 112020044319816-pat00184

여기서,

Figure 112020044319816-pat00185
은 3차원 회전변환 행렬이고,
Figure 112020044319816-pat00186
는 이동변환 벡터(vector)이다. here,
Figure 112020044319816-pat00185
Is the three-dimensional rotation transformation matrix,
Figure 112020044319816-pat00186
Is the movement transformation vector.

마커들이 도 4 내지 6과 같이 사각형의 형태를 지닌다고 하면, 상기 관계식들과 마커 외곽선의 네 개의 꼭지점 정보와 레벤버그 마쿼드(Levenberg-Marquardt) 알고리즘을 이용하여

Figure 112020044319816-pat00187
Figure 112020044319816-pat00188
를 구할 수 있다.Assuming that the markers have a square shape as shown in Figs. 4 to 6, using the relational equations, information on four vertices of the marker outline, and the Levenberg-Marquardt algorithm
Figure 112020044319816-pat00187
and
Figure 112020044319816-pat00188
Can be obtained.

엘리베이터 내부 지도 좌표계에서 비전 센서의 좌표

Figure 112020044319816-pat00189
는 비전센서 좌표축 기준으로 (0, 0, 0)이기 때문에 아래와 같이 구해진다. The coordinates of the vision sensor in the map coordinate system inside the elevator
Figure 112020044319816-pat00189
Is (0, 0, 0) based on the coordinate axis of the vision sensor, so it is calculated as follows.

Figure 112020044319816-pat00190
Figure 112020044319816-pat00190

- 비전 센서의 방향 정보인 롤(roll,

Figure 112020044319816-pat00191
), 피치(pitch,
Figure 112020044319816-pat00192
)와 요(yaw,
Figure 112020044319816-pat00193
)는 다음과 같이 구해질 수 있다.-Roll, which is the direction information of the vision sensor
Figure 112020044319816-pat00191
), pitch,
Figure 112020044319816-pat00192
) And yaw,
Figure 112020044319816-pat00193
) Can be obtained as

Figure 112020044319816-pat00194
Figure 112020044319816-pat00194

Figure 112020044319816-pat00195
Figure 112020044319816-pat00195

Figure 112020044319816-pat00196
Figure 112020044319816-pat00196

- 여기서 Atan2는 두 개의 인자를 취하는 역탄젠트(arctangent) 함수이고,

Figure 112020044319816-pat00197
은 역사인(arcsine) 함수이다.-Where Atan2 is an arctangent function that takes two arguments,
Figure 112020044319816-pat00197
Is an arcsine function.

- 여기서

Figure 112020044319816-pat00198
는 비전센서 좌표계의 y축 방향 단위 벡터
Figure 112020044319816-pat00199
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00200
의 z축 성분이다.- here
Figure 112020044319816-pat00198
Is the unit vector in the y-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00199
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00200
Is the z-axis component of

Figure 112020044319816-pat00201
Figure 112020044319816-pat00201

- 여기서

Figure 112020044319816-pat00202
는 비전센서 좌표계의 z축 방향 단위 벡터
Figure 112020044319816-pat00203
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00204
의 z축 성분이고- here
Figure 112020044319816-pat00202
Is the unit vector in the z-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00203
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00204
Is the z-axis component of

Figure 112020044319816-pat00205
Figure 112020044319816-pat00205

- 여기서

Figure 112020044319816-pat00206
,
Figure 112020044319816-pat00207
,
Figure 112020044319816-pat00208
는 각각 비전센서 좌표계의 x축 방향 단위 벡터
Figure 112020044319816-pat00209
를 엘리베이터 내부 지도 좌표계로 변환한 벡터
Figure 112020044319816-pat00210
의 x, y, z축 성분이다.- here
Figure 112020044319816-pat00206
,
Figure 112020044319816-pat00207
,
Figure 112020044319816-pat00208
Is the unit vector in the x-axis direction of the vision sensor coordinate system
Figure 112020044319816-pat00209
Transformed into the elevator interior map coordinate system
Figure 112020044319816-pat00210
Is the x, y, z axis component of.

Figure 112020044319816-pat00211
Figure 112020044319816-pat00211

- 상기 과정을 통해 엘리베이터 내부 지도 좌표계에서 비전 센서의 좌표를 구할 수 있고, 이를 통해 이동로봇의 자세를 계산할 수 있다.-Through the above process, the coordinates of the vision sensor can be obtained from the elevator's internal map coordinate system, and through this, the posture of the mobile robot can be calculated.

본 실시예에서는 비전센서의 피치(pitch) 정보와 롤(roll) 정보가 사용되지 않지만, 만일 엘리베이터 내부 지도로 3차원 형태의 지도를 사용한다면 피치 정보와 롤 정보가 요구될 수 있다.In this embodiment, pitch information and roll information of the vision sensor are not used, but if a three-dimensional map is used as an elevator interior map, pitch information and roll information may be required.

비전 센서로 영상을 획득하고 마커 인식을 위한 영상 처리 이후에, 온전한 형태의 마커가 발견되는 영역을 로봇이 이동할 수 있는 공간으로 결정할 수 있다. After acquiring an image with a vision sensor and processing the image for marker recognition, the area in which the intact marker is found may be determined as a space in which the robot can move.

마커의 인식을 마친 후에는 도 8과 같은 형태의 지도로 업데이트하게 된다.After completing the recognition of the marker, the map is updated as shown in FIG. 8.

즉, 도 8과 같은 엘리베이터 내부 지도를 실시간으로 생성한다. That is, the elevator interior map as shown in FIG. 8 is generated in real time.

다시 말해, 비전센서로 획득한 2차원 영상의 마커와 로봇이 지닌 엘리베이터 내부 지도위 마커를 1대1로 매칭시켜서 좌표로 표현할 수 있다.In other words, the marker of the 2D image acquired by the vision sensor and the marker on the elevator interior map of the robot can be matched one-to-one and expressed as coordinates.

여기서, 만일 아루코(Aruco) 마커의 형태인 경우에는 마커를 매칭함에 있어서 각 마커가 갖는 고유의 식별정보(ID)를 활용할 수 있다.Here, in the case of an Aruco marker, in matching markers, unique identification information (ID) of each marker may be used.

만일 체커 보드의 형태인 경우에는 엘리베이터의 실제 크기와 각 마커들의 실제 크기 정보, 영상에서 축소 또는 확대되는 스케일 정보 등을 활용해서 매칭시킬 수 있다.If it is in the form of a checker board, it can be matched by using the actual size of the elevator, the actual size information of each marker, and scale information that is reduced or enlarged in the image.

만일 색상 패턴의 형태인 경우에는, 고유의 색상 정보 및 상하좌우 배치된 색상 패턴을 활용하여 매칭시킬 수 있다.If it is in the form of a color pattern, it may be matched by using unique color information and color patterns arranged up, down, left and right.

즉, 로봇이 엘리베이터 내부의 바닥의 마커(10)를 식별하면, 엘리베이터 지도에서 로봇이 갈 수 있는 영역과 갈수 없는 영역을 도 8의 지도 내에서 구별할 수 있게 된다.That is, when the robot identifies the marker 10 on the floor inside the elevator, the area where the robot can go and the area that cannot be reached can be distinguished in the map of FIG. 8 on the elevator map.

이상에서 본 발명의 일 실시예에 따른 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법에 대하여 설명하였지만, 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.In the above, a method for the indoor mobile robot according to an embodiment of the present invention to recognize the environment in an elevator has been described, but a computer-readable record storing a program for implementing a method for the indoor mobile robot to recognize the environment in an elevator Of course, a program stored in a computer-readable recording medium for implementing a method for the medium and indoor mobile robot to recognize the environment in an elevator can also be implemented.

즉, 상술한 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.That is, the above-described method for the indoor mobile robot to recognize the environment in an elevator is tangibly implemented by a program of instructions for implementing it, so that it is easy for those skilled in the art to be included in a recording medium that can be read through a computer You can understand. In other words, it is implemented in the form of program instructions that can be executed through various computer means, and can be recorded on a computer-readable recording medium. The computer-readable recording medium may include a program command, a data file, a data structure, or the like alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and constructed for the present invention, or may be known and usable to those skilled in computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and floptical disks. Magneto-optical media and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, USB memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다. The present invention is not limited to the above-described embodiments, and of course, various modifications can be made without departing from the gist of the present invention as claimed in the claims.

10: 마커
100: 지도저장부
200: 비전센서
300: 영상처리부
400: 자세추정부
500: 경로계획부
600: 로봇제어부
S10: 바닥감지 단계
S20: 바닥지도획득 단계
S30: 이동경로계획 단계
10: marker
100: map storage unit
200: vision sensor
300: image processing unit
400: posture estimation
500: route planning department
600: robot control unit
S10: Floor detection step
S20: Floor map acquisition stage
S30: Moving route planning stage

Claims (10)

엘리베이터의 내부 바닥에 표시된 마커(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) 함수이다)
과 같이 구하여,
로봇의 자세를 계산하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치.
A marker 10 displayed on the inner floor of the elevator;
A map storage unit 100 in which a map of the elevator floor in which information related to the position of the inner wall of the elevator and the information related to the position of the markers 10 displayed on the inner floor of the elevator is stored;
A vision sensor 200 for obtaining image information of the front floor in a specific range from the robot;
Based on the map of the elevator floor stored in the map storage unit 100, a marker 10 is determined among the image information obtained from the vision sensor 200, and the unoccupied floor including the determined marker 10 An image processing unit 300 for generating or updating a map of the elevator floor for;
A posture estimating unit 400 for estimating the posture of the robot based on a map of the elevator floor generated or updated by the image processing unit 300;
Based on the map of the floor of the elevator created or updated by the image processing unit 300 and the attitude of the robot estimated by the attitude estimation unit 400, after checking whether there is a target area that the robot can reach, A route planning unit 500 that determines a point and plans a moving route to the target point; And
A robot control unit 600 for controlling the robot to move along a movement path generated by the path planning unit 500;
Including,
The posture estimation unit 400
The coordinates of the vision sensor 200 in the elevator's internal map coordinate system are calculated as follows:
Figure 112020104870972-pat00267

(here,
Figure 112020104870972-pat00268
Is the coordinate of the vision sensor in the map coordinate system inside the elevator,
Figure 112020104870972-pat00269
Is a three-dimensional rotation transformation matrix,
Figure 112020104870972-pat00270
Is the shift transformation vector)
Obtain as,
The direction information of the vision sensor, roll,
Figure 112020104870972-pat00271
), pitch,
Figure 112020104870972-pat00272
) And yaw,
Figure 112020104870972-pat00273
) To the following expression
Figure 112020104870972-pat00274

Figure 112020104870972-pat00275

Figure 112020104870972-pat00276

(Where Atan2 is an arctangent function that takes two arguments,
Figure 112020104870972-pat00277
Is the unit vector in the y-axis direction of the vision sensor coordinate system
Figure 112020104870972-pat00278
Transformed into the elevator interior map coordinate system
Figure 112020104870972-pat00279
Is the z-axis component of,
Figure 112020104870972-pat00280
Is the unit vector in the z-axis direction of the vision sensor coordinate system
Figure 112020104870972-pat00281
Transformed into the elevator interior map coordinate system
Figure 112020104870972-pat00282
Is the z-axis component of,
Figure 112020104870972-pat00283
,
Figure 112020104870972-pat00284
,
Figure 112020104870972-pat00285
Is the unit vector in the x-axis direction of the vision sensor coordinate system
Figure 112020104870972-pat00286
Transformed into the elevator interior map coordinate system
Figure 112020104870972-pat00287
Is the x, y, z axis component of,
Figure 112020104870972-pat00288
Is the arcsine function)
Obtained as,
A device for an indoor mobile robot to recognize an environment in an elevator, characterized in that it calculates the robot's posture.
제1항에 있어서,
상기 마커(10)는
아루코(Aruco) 마커의 형태, 체커 보드의 형태, 색상 패턴의 형태 중 어느 하나 또는 복수를 사용하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치.
The method of claim 1,
The marker 10 is
A device for an indoor mobile robot to recognize an environment in an elevator, characterized in that one or more of a shape of an Arco marker, a shape of a checker board, and a color pattern is used.
제1항에 있어서,
상기 영상처리부(300)는
엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역만을 구분하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치.
The method of claim 1,
The image processing unit 300
An indoor mobile robot characterized in that the area of the completely identified markers 10 for the elevator floor is obtained, and then the information on the previously stored elevator floor is compared to distinguish only the aggregate area of unoccupied unit blocks. A device to be aware of the environment.
삭제delete 제1항에 있어서,
상기 로봇제어부(600)는
목표 영역과 이동경로가 확보되지 않으면, 로봇이 출발지점으로 복귀하거나 제자리에서 대기하도록 제어하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치.
The method of claim 1,
The robot control unit 600 is
If the target area and the movement path are not secured, the device for indoor mobile robot to recognize the environment in the elevator, characterized in that controlling the robot to return to the starting point or wait in place.
컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법에 있어서,
비전센서(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) 함수이다)
과 같이 구하여,
로봇의 자세를 계산하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법.
In the method for an indoor mobile robot in the form of a program executed by an operation processing means including a computer to recognize an environment in an elevator,
A floor sensing step (S10) of obtaining image information of a front floor of a specific range from the robot by the vision sensor 200;
Markers among the image information obtained from the floor sensing step (S10) are based on a map of the elevator floor in which the information related to the location of the interior wall of the elevator and the markers 10 displayed on the interior floor of the elevator are stored. 10) determining a floor map acquisition step (S20) of generating or updating a map of an elevator floor for an unoccupied floor including the determined marker 10;
Based on the map of the elevator floor updated from the floor map acquisition step (S20), the attitude of the robot is estimated, and after checking whether there is a target area that can be reached by the robot, a target point that can be reached is determined, and the moving path to the target point A moving route planning step (S30) of planning a;
Including,
The movement route planning step (S30)
The coordinates of the vision sensor 200 in the elevator's internal map coordinate system are calculated as follows:
Figure 112020104870972-pat00289

(here,
Figure 112020104870972-pat00290
Is the coordinate of the vision sensor in the map coordinate system inside the elevator,
Figure 112020104870972-pat00291
Is a three-dimensional rotation transformation matrix,
Figure 112020104870972-pat00292
Is the shift transformation vector)
Obtain as,
The direction information of the vision sensor, roll,
Figure 112020104870972-pat00293
), pitch,
Figure 112020104870972-pat00294
) And yaw,
Figure 112020104870972-pat00295
) To the following expression
Figure 112020104870972-pat00296

Figure 112020104870972-pat00297

Figure 112020104870972-pat00298

(Where Atan2 is an arctangent function that takes two arguments,
Figure 112020104870972-pat00299
Is the unit vector in the y-axis direction of the vision sensor coordinate system
Figure 112020104870972-pat00300
Transformed into the elevator interior map coordinate system
Figure 112020104870972-pat00301
Is the z-axis component of,
Figure 112020104870972-pat00302
Is the unit vector in the z-axis direction of the vision sensor coordinate system
Figure 112020104870972-pat00303
Transformed into the elevator interior map coordinate system
Figure 112020104870972-pat00304
Is the z-axis component of,
Figure 112020104870972-pat00305
,
Figure 112020104870972-pat00306
,
Figure 112020104870972-pat00307
Is the unit vector in the x-axis direction of the vision sensor coordinate system
Figure 112020104870972-pat00308
Transformed into the elevator interior map coordinate system
Figure 112020104870972-pat00309
Is the x, y, z axis component of,
Figure 112020104870972-pat00310
Is an arcsine function)
Obtained as,
A method for an indoor mobile robot to recognize an environment in an elevator, characterized in that the robot's posture is calculated.
제 6항에 있어서,
상기 바닥지도획득 단계(S20)는
엘리베이터 바닥에 대해 온전하게 식별된 마커(10)들의 영역을 획득한 다음, 기저장된 엘리베이터 바닥에 대한 정보를 비교하여 점유되지 않은 단위 블록들의 집합 영역 즉, 로봇이 이동할 수 있는 영역만을 구분하는 것을 특징으로 하는 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법.
The method of claim 6,
The floor map acquisition step (S20)
After acquiring the areas of the completely identified markers 10 for the elevator floor, it is characterized in that only the aggregate area of unoccupied unit blocks, that is, the area in which the robot can move, is distinguished by comparing previously stored information on the elevator floor. A method for indoor mobile robots to recognize the environment in an elevator.
삭제delete 제 6항 또는 제 7항에 기재된 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium storing a program for implementing the method for the indoor mobile robot according to claim 6 or 7 to recognize the environment in an elevator.
제 6항 또는 제 7항에 기재된 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.A program stored in a computer-readable recording medium for implementing a method for the indoor mobile robot according to claim 6 or 7 to recognize the environment in an elevator.
KR1020200052101A 2020-04-29 2020-04-29 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 KR102194426B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200052101A KR102194426B1 (en) 2020-04-29 2020-04-29 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
PCT/KR2021/004457 WO2021221343A1 (en) 2020-04-29 2021-04-09 Apparatus and method for environment recognition of indoor mobile robot in elevator, recording medium storing program for executing same, and computer program stored in medium for executing same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200052101A KR102194426B1 (en) 2020-04-29 2020-04-29 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

Publications (1)

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

Family

ID=74087451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200052101A KR102194426B1 (en) 2020-04-29 2020-04-29 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

Country Status (2)

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

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113021336A (en) * 2021-02-25 2021-06-25 上海交通大学 File taking and placing system and method based on master-slave mobile operation robot
WO2021221343A1 (en) * 2020-04-29 2021-11-04 주식회사 트위니 Apparatus and method for environment recognition of indoor mobile robot in elevator, recording medium storing program for executing same, and computer program stored in medium for executing same
CN113848918A (en) * 2021-09-27 2021-12-28 上海景吾智能科技有限公司 Robot rapid, efficient and low-cost deployment method and system
CN114505840A (en) * 2022-01-14 2022-05-17 浙江工业大学 Intelligent service robot of autonomous operation box type elevator
CN114911221A (en) * 2021-02-09 2022-08-16 北京小米移动软件有限公司 Robot control method and device and robot
KR20220118327A (en) 2021-02-18 2022-08-25 호서대학교 산학협력단 Method for controlling elevator boarding of mobile robots
KR20220118329A (en) 2021-02-18 2022-08-25 호서대학교 산학협력단 Method for controlling elevator boarding of mobile robots
KR20220118328A (en) 2021-02-18 2022-08-25 호서대학교 산학협력단 Method for controlling elevator boarding of mobile robots according to task priority
KR20220120375A (en) * 2021-02-23 2022-08-30 현대자동차주식회사 Apparatus for estimating position, system having the same and method thereof
WO2022203396A1 (en) * 2021-03-24 2022-09-29 호서대학교산학협력단 Mobile robot for determining whether to board elevator, and operating method therefor
WO2024058411A1 (en) * 2022-09-15 2024-03-21 삼성전자주식회사 Mobile robot traveling specific space and control method therefor

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114234966B (en) * 2021-12-01 2024-06-04 北京云迹科技股份有限公司 Method and device for detecting elevator taking state of mobile robot, storage medium and equipment
CN114397885A (en) * 2021-12-16 2022-04-26 北京三快在线科技有限公司 Method for assisting mobile robot in taking elevator, electronic device and storage medium
CN114434453B (en) * 2021-12-31 2024-06-07 上海擎朗智能科技有限公司 Robot ladder taking method, system, robot and storage medium
CN114905508B (en) * 2022-04-19 2023-08-22 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) Robot grabbing method based on heterogeneous feature fusion

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877071B1 (en) 2007-07-18 2009-01-07 삼성전자주식회사 Method and apparatus of pose estimation in a mobile robot based on particle filter
KR20100111795A (en) * 2009-04-08 2010-10-18 (주) 한호기술 Self control moving system for robot and self control moving robot
KR101864948B1 (en) * 2016-10-31 2018-07-04 고려대학교 산학협력단 Method for controlling mobile robot unit with rgb-d sensor in the case of taking on/off an elevator

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007041733A (en) * 2005-08-01 2007-02-15 Toyota Motor Corp Attitude angle detection device for motion object
US11413755B2 (en) * 2017-12-31 2022-08-16 Sarcos Corp. Covert identification tags viewable by robots and robotic devices
WO2021002511A1 (en) * 2019-07-03 2021-01-07 엘지전자 주식회사 Marker, method for moving in marker-tracking mode, and cart robot implementing same
KR102194426B1 (en) * 2020-04-29 2020-12-24 주식회사 트위니 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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877071B1 (en) 2007-07-18 2009-01-07 삼성전자주식회사 Method and apparatus of pose estimation in a mobile robot based on particle filter
KR20100111795A (en) * 2009-04-08 2010-10-18 (주) 한호기술 Self control moving system for robot and self control moving robot
KR101864948B1 (en) * 2016-10-31 2018-07-04 고려대학교 산학협력단 Method for controlling mobile robot unit with rgb-d sensor in the case of taking on/off an elevator

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221343A1 (en) * 2020-04-29 2021-11-04 주식회사 트위니 Apparatus and method for environment recognition of indoor mobile robot in elevator, recording medium storing program for executing same, and computer program stored in medium for executing same
CN114911221B (en) * 2021-02-09 2023-11-28 北京小米机器人技术有限公司 Robot control method and device and robot
CN114911221A (en) * 2021-02-09 2022-08-16 北京小米移动软件有限公司 Robot control method and device and robot
KR20220118327A (en) 2021-02-18 2022-08-25 호서대학교 산학협력단 Method for controlling elevator boarding of mobile robots
KR20220118329A (en) 2021-02-18 2022-08-25 호서대학교 산학협력단 Method for controlling elevator boarding of mobile robots
KR20220118328A (en) 2021-02-18 2022-08-25 호서대학교 산학협력단 Method for controlling elevator boarding of mobile robots according to task priority
KR102463725B1 (en) * 2021-02-23 2022-11-07 현대자동차주식회사 Apparatus for estimating position, system having the same and method thereof
KR20220120375A (en) * 2021-02-23 2022-08-30 현대자동차주식회사 Apparatus for estimating position, system having the same and method thereof
CN113021336A (en) * 2021-02-25 2021-06-25 上海交通大学 File taking and placing system and method based on master-slave mobile operation robot
WO2022203396A1 (en) * 2021-03-24 2022-09-29 호서대학교산학협력단 Mobile robot for determining whether to board elevator, and operating method therefor
CN113848918A (en) * 2021-09-27 2021-12-28 上海景吾智能科技有限公司 Robot rapid, efficient and low-cost deployment method and system
CN114505840A (en) * 2022-01-14 2022-05-17 浙江工业大学 Intelligent service robot of autonomous operation box type elevator
CN114505840B (en) * 2022-01-14 2023-10-20 浙江工业大学 Intelligent service robot for independently operating box type elevator
WO2024058411A1 (en) * 2022-09-15 2024-03-21 삼성전자주식회사 Mobile robot traveling specific space and control method therefor

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102194426B1 (en) 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
JP7341652B2 (en) Information processing device, information processing method, program, and system
CN104536445B (en) Mobile navigation method and system
CN110837814B (en) Vehicle navigation method, device and computer readable storage medium
CN108332752B (en) Indoor robot positioning method and device
Wang et al. GLFP: Global localization from a floor plan
KR102194429B1 (en) Apparatus and method for environment recognition of moving robot in a slope way and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
JPWO2019187816A1 (en) Mobiles and mobile systems
KR102541959B1 (en) Elevator control system and method for controlling elevator which robot and human board
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 (en) A robot capable of measuring its own position and a method of measuring its position in the robot
EP4116941A2 (en) Detection system, processing apparatus, movement object, detection method, and program
Noaman et al. Landmarks exploration algorithm for mobile robot indoor localization using VISION sensor
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
Jaspers et al. High accuracy model-based object pose estimation for autonomous recharging applications
WO2024004265A1 (en) Self-position estimation device, self-position estimation method and program
JP7482808B2 (en) MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM
Li et al. CAD-vision-range-based self-localization for mobile robot using one landmark
JP7369375B1 (en) Management support system for buildings or civil engineering structures
WO2022003838A1 (en) Method for mapping, mapping device, computer program, computer readable medium, and vehicle
TW202411139A (en) Container storage method and robot
Xu et al. 3D perception for autonomous robot exploration

Legal Events

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