KR102106858B1 - 하이브리드 타입의 물류로봇 위치추정방법 - Google Patents

하이브리드 타입의 물류로봇 위치추정방법 Download PDF

Info

Publication number
KR102106858B1
KR102106858B1 KR1020180148722A KR20180148722A KR102106858B1 KR 102106858 B1 KR102106858 B1 KR 102106858B1 KR 1020180148722 A KR1020180148722 A KR 1020180148722A KR 20180148722 A KR20180148722 A KR 20180148722A KR 102106858 B1 KR102106858 B1 KR 102106858B1
Authority
KR
South Korea
Prior art keywords
marker
location
information
logistics robot
robot
Prior art date
Application number
KR1020180148722A
Other languages
English (en)
Inventor
노성우
Original Assignee
노성우
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노성우 filed Critical 노성우
Priority to KR1020180148722A priority Critical patent/KR102106858B1/ko
Application granted granted Critical
Publication of KR102106858B1 publication Critical patent/KR102106858B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser

Abstract

물류로봇의 일반적인 이동중에는 레이저 센서나 카메라 영상 정보를 통해 획득한 환경 정보를 기반으로 물류로봇의 위치를 추정하고, 적재물을 올리는 것과 같이 정밀 위치가 필요한 상황에서는 QR 코드 정보를 기반으로 정밀하게 물류로봇의 위치를 추정하는 하이브리드 타입으로 물류로봇의 위치를 추정할 수 있도록 한 하이브리드 타입의 물류로봇 위치추정방법에 관한 것으로서, 물류로봇에 내장된 위치 검출기에서 물류로봇의 상태를 확인하여 물건 이송상태이면, 작업 공간에 설치된 마커를 촬영하고, 촬영된 마커 정보를 이용하여 물류로봇의 위치를 추정하는 단계, 위치 검출기에서 물류로봇의 상태가 적재 상태이면, 근접된 QR 코드를 판독하여 물류로봇의 정밀 위치를 추정하는 단계를 포함하여, 하이브리드 타입의 물류로봇 위치추정방법을 구현한다.

Description

하이브리드 타입의 물류로봇 위치추정방법{Logistic Robot Location Estimation Method of Hybrid Type}
본 발명은 하이브리드 타입의 물류로봇 위치추정방법에 관한 것으로, 특히 물류로봇의 일반적인 이동중에는 레이저 센서나 카메라 영상 정보를 통해 획득한 환경 정보를 기반으로 물류로봇의 위치를 추정하고, 적재물을 올리는 것과 같이 정밀 위치가 필요한 상황에서는 QR 코드 정보를 기반으로 정밀하게 물류로봇의 위치를 추정하는 하이브리드 타입으로 물류로봇의 위치를 추정할 수 있도록 한 하이브리드 타입의 물류로봇 위치추정방법에 관한 것이다.
자율주행 로봇이 운행하게 되는 물류 현장은 물건이 보관되는 창고일 수 있으며, 창고 안의 물건이 외부로 반출되고 새로운 물건이 들어와 적재되는 일이 빈번하여, 그 특성상 자율주행 로봇이 인식해야 하는 주변환경의 형태 변화가 매우 심하다.
따라서, 자율주행 로봇은 물류 현장의 고정된 기물이 표시된 지도를 그대로 이용할 수 없고, 항시 주변 환경에서 물체를 인식하여 자신의 위치 및 이동 경로를 식별해야 한다.
이러한 문제를 극복하기 위한 방법으로, 물류 현장의 공간 내에 인위적인 표식(예를 들어, QR 코드, 라인, RF태그)을 부착하고, 이 표식을 인식하여 자율주행 로봇이 자신의 위치를 추정하게 하는 방법이 사용되고 있다.
도 1은 인위적인 표시인 QR 코드를 이용하여 물류로봇의 위치를 추정하는 방법의 예시이다. 작업 공간(1)의 바닥에 QR 코드(20)를 약 1.2m ~ 1.5m 간격으로 설치하고, 상기 QR 코드를 읽어 물류로봇(20)의 위치를 추정한다. 여기서 참조부호 10은 적재함을 나타낸다.
다른 방법으로, 근래에는 레이저 거리 센서를 사용하여 자기위치를 실시간으로 추정하는 방식을 많이 사용한다. 레이저 거리 센서를 이용하는 경우, 주변 환경에서 물체의 변화에 관계없이 자신의 위치를 정확하게 추정하고 이동 경로를 설정할 수 있게 하는 향상된 복잡한 위치 인식 알고리즘을 설계해야 한다.
물류로봇의 위치를 추정하기 위해서 종래에 제안된 기술이 하기의 <특허문헌 1> 및 <특허문헌 2> 에 개시되어 있다.
<특허문헌 1> 에 개시된 종래기술은 격자 지도를 복수의 공간으로 분할하는 단계, 분할된 복수의 공간 각각에 대한 학습 데이터를 추출하는 단계, 추출된 학습 데이터를 이용하여 복수의 공간 각각에 대한 공간 모델을 생성하는 단계 및 학습 데이터와 공간 모델 및 자율 이동 로봇을 통해 입력되는 실제 영역 스캔 데이터를 이용하여 자율 이동 로봇의 현재 위치를 인식하는 단계를 포함한다. 이러한 구성을 통해, 자율 이동 로봇이 불필요하게 이동하지 않고 정지한 상태에서 현재 위치를 인식하게 된다.
또한, <특허문헌 2> 에 개시된 종래기술은 물류창고에서 운행되는 자율주행 로봇의 환경인식 및 자기위치 추정 방법에 관한 것으로, 자율주행 로봇이 자율 주행해야 할 물류공간을 주행하면서 실측한 실측 거리정보를 이용하여 주변환경의 형태를 정보화한 격자기반의 실측지도를 작성하는 단계, 실측지도상에 자율주행 로봇의 주행을 제한하는 영역을 표시하는 가상 벽을 추가하여 수정지도를 구성하는 단계, 자율주행 로봇이 물류공간을 실제 주행하는 경우, 수정지도에서 자기위치의 후보지점을 N개 설정하고, 설정된 N개의 후보지점 각각에서 수정지도 내에서 특정 방향으로 계산된 계산 거리정보와 거리센서에 의해 특정 방향으로 실측한 실측 거리정보를 비교하여 n개의 후보지점을 선택하고, n개의 후보지점에 근거하여 자기위치를 추정하는 단계로 이루어진다. 이러한 구성을 통해, 환경 상황이 빈번하게 변하는 영역을 반영한 격자기반 지도를 기반으로 자율주행 로봇이 자신의 위치를 정확하게 추정한다.
대한민국 공개특허 10-2015-0004568(2015.01.13. 공개)(자율 이동 로봇의 위치 인식 방법) 대한민국 공개특허 10-2018-0109284(2018.10.08. 공개)(물류 자동화를 위한 자율주행 로봇 및 상기 로봇의 환경인식 및 자기위치 추정방법)
그러나 상기와 같은 일반적인 물류로봇 위치추정 방법 및 종래기술 중 인위적인 표식을 이용하는 방식은 다수의 표식을 다수의 위치에 설치해야 하므로 설치의 복잡함과 설치 비용이 많이 소요되는 단점이 있으며, 표식이 훼손되지 않도록 유지보수해야 하는 불편함이 있다. 표식이 훼손되면 위치 추정이 불가능해진다.
또한, 레이저 거리 센서를 이용하는 방식은, 주변 환경에 대응하는 지도를 미리 구비하고 있어야 하는 전제 조건이 필요하고, 주변 환경에서 물체의 위치가 변경되면 자기위치를 정확하게 추정할 수 없는 단점이 있다.
따라서 본 발명은 상기와 같은 종래기술에서 발생하는 제반 문제점을 해결하기 위해서 제안된 것으로서, 물류로봇의 일반적인 이동중에는 레이저 센서나 카메라 영상 정보를 통해 획득한 환경 정보를 기반으로 물류로봇의 위치를 추정하고, 적재물을 올리는 것과 같이 정밀 위치가 필요한 상황에서는 QR 코드 정보를 기반으로 정밀하게 물류로봇의 위치를 추정하는 하이브리드 타입으로 물류로봇의 위치를 추정할 수 있도록 한 하이브리드 타입의 물류로봇 위치추정방법을 제공하는 데 그 목적이 있다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명에 따른 하이브리드 타입의 물류로봇 위치추정방법은,
마커의 영상 인식을 통한 환경 정보로 위치를 추정하고, QR 코드의 정보를 판독하여 정밀 위치를 추정하기 위해 (a) 물류로봇에 내장된 위치 검출기에서 물류로봇의 상태를 확인하여 물건 이송상태이면, 작업 공간에 설치된 마커를 촬영하고, 촬영된 마커 정보를 이용하여 물류로봇의 위치를 추정하는 단계; 및 (b) 상기 위치 검출기에서 상기 (a)단계에서 물류로봇의 상태가 적재 상태이면, 근접된 QR 코드를 판독하여 물류로봇의 정밀 위치를 추정하는 단계를 포함하되,
상기 (a)단계는 (a1) 물건 이송 상태이면 카메라를 이용하여 마커를 촬영하는 단계;
(a2) 상기 촬영된 마커 이미지를 그레이스케일 이미지로 변환하고, 적응 임계치(Adaptive threshold)를 적용하여 이미지를 이진화하며, 이진화된 이미지에서 윤곽선(contour)을 추출하고, 추출한 윤곽선을 polygonal curve로 근사화하여 4개의 점으로 구성된 것만 반시계방향으로 정렬하여 마커를 검출하는 단계;
(a3) 상기 정렬 이미지를 perspective transformation을 적용하여 사격형으로 변환하고, 변환한 사각형 이미지를 otsu 방법으로 이진화하여 흰색과 검은색 영역으로 이진화하며, 이진화된 이미지를 격자로 분할하고, 분할된 격자에서 검은색 테두리를 제외한 내부의 영역 내에 있는 셀들에 포함된 흰색 픽셀의 개수를 카운트하여 비트 매트릭스를 생성하고, 생성한 비트 매트릭스를 바이트 리스트로 변경하여 마커 코너를 검출하며, 마커 ID를 소정 각도 방향에 대한 4개의 바이트 리스트로 저장하여 마커의 ID를 추출하는 단계;
(a4) 상기 추출한 마커 코너 정보 및 ID 정보를 이용하여 마커를 촬영한 카메라의 3차원 공간상에서의 위치와 방향인 자세를 추정하는 단계;
(a5) 상기 추정한 카메라 자세 정보를 이용하여 마커 자세를 추정하되, solvePnp 함수를 사용하여 카메라와 마커 사이의 rotation 및 translation 벡터를 구하여 마커 자세를 추정하는 단계;
(a6) 상기 추정한 마커 자세 정보를 이용하여 물류로봇의 위치를 추정하되,추정된 마커의 위에 가상의 사물을 띄워 물류로봇의 위치를 추정하는 것을 특징으로 한다.
삭제
삭제
삭제
삭제
삭제
본 발명에 따르면 물류로봇의 일반적인 이동중에는 레이저 센서나 카메라 영상 정보를 통해 획득한 환경 정보를 기반으로 물류로봇의 위치를 추정하고, 적재물을 올리는 것과 같이 정밀 위치가 필요한 상황에서만 QR 코드 정보를 기반으로 정밀하게 물류로봇의 위치를 추정하는 하이브리드 타입으로 물류로봇의 위치를 추정함으로써, 기존과 같이 복수의 인식표를 설치할 때 발생하는 설치 비용을 절감할 수 있으며, 이송중에는 신속하게 이송할 수 있도록 하여 전체적인 물류처리 시간을 단축할 수 있는 효과가 있다.
도 1은 일반적인 물류로봇의 위치 추정 방법을 설명하기 위한 설명도,
도 2는 본 발명에서 물류위치 추정방법을 설명하기 위한 설명도,
도 3은 본 발명이 적용되는 물류위치 추정장치의 개략 구성도,
도 4는 본 발명에 따른 물류로봇의 위치 추정 방법을 보인 흐름도,
도 5a 내지 도 5 는 본 발명에서 물류로봇의 위치추정 설명 예시 도이다.
이하 본 발명의 바람직한 실시 예에 따른 물류로봇의 위치 추정 방법을 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 바람직한 실시 예에 따른 물류로봇의 위치 추정 방법이 적용되는 물류로봇의 위치 추정 장치의 개략 구성도로서, 작업 공간(1) 내에서 이동하는 물류로봇(100)이 존재한다. 물류로봇(100)은 적재물 이송시에는 촬영장치를 통해 촬영한 마커(marker)(200)의 영상 이미지를 분석하여 위치를 추정하고, 적재함(10)에 근접하여 적재물을 올리는 등의 작업을 할 경우 바닥에 설치된 QR 코드(300)를 판독하여 물류로봇(100)의 위치를 추정한다.
여기서 마커(200)는 작업 공간(1)의 벽이나 천장, 바닥 등에 설치된다.
도 3은 본 발명의 바람직한 실시 예에 따른 물류로봇의 위치 추정 방법이 적용되는 물류로봇의 위치 추정 장치의 구성도로서, 마커(marker)(200)를 촬영하는 촬영부(110), 바닥에 설치된 QR 코드(300)를 판독하는 QR코드 리더기(120), 물류로봇(100)의 현재 상태에 따라 상기 촬영부(110)에서 획득한 마커 영상 이미지 또는 QR 코드 리더기(120)를 통해 획득한 QR 코드 정보를 기초로 물류로봇(100)의 현재 위치를 추정하는 위치 검출기(130), 상기 위치 검출기(130)의 위치 추정에 따라 물류로봇(130)의 이동을 제어하는 이동 제어부(140)를 포함한다.
상기 위치 검출기(130)는 상기 촬영부(110)에 의해 촬영된 마커 영상 이미지로부터 마커를 검출하는 마커 검출기(131), 상기 마커 검출기(131)에 의해 검출된 마커 정보로부터 코너(모서리)를 검출하는 코너 검출부(131), 상기 코너 검출부(131)에 의해 검출한 코너 정보를 이용하여 카메라 자세를 추정하는 카메라 자세 추정부(133), 상기 카메라 자세 추정 값과 코너 값을 이용하여 마커의 자세를 추정하는 마커 자세 추정부(134) 및 상기 마커 자세 추정부(134)의 마커 자세 정보와 카메라 자세 정보를 이용하여 물류로봇의 위치를 추정하거나 상기 QR 코드 리더기(120)를 통해 획득한 QR 코드 정보를 이용하여 물류로봇의 위치를 추정하는 위치 추정부(135)를 포함한다.
도 4는 본 발명에 따른 하이브리드 타입의 물류로봇 위치추정방법을 보인 흐름도로서, S는 단계(step)를 나타낸다.
본 발명에 따른 하이브리드 타입의 물류로봇 위치추정방법은, (a) 물류로봇(100)에 내장된 위치 검출기(130)에서 물류로봇(100)의 동작 상태를 확인하여 물건 이송상태이면, 작업 공간(1)에 설치된 마커(200)를 촬영하고, 촬영된 마커 정보를 이용하여 물류로봇(100)의 위치를 추정하는 단계(S101 - S107), (b) 상기 위치 검출기(130)에서 상기 (a)단계에서 물류로봇(100)의 동작 상태가 적재 상태이면, 근접된 QR 코드(200)를 판독하여 물류로봇(100)의 정밀 위치를 추정하는 단계(S108 - S110)를 포함한다.
상기 (a)단계는 (a1) 물건 이송 상태이면 카메라를 이용하여 마커(200)를 촬영하는 단계(S101), (a2) 상기 촬영된 마커 이미지로부터 마커를 검출하는 단계(S103), (a3) 상기 검출한 마커 정보에서 마커 코너를 검출하고, 검출한 코너 정보를 이용하여 마커의 ID를 추출하는 단계(S104), (a4) 상기 추출한 마커 코너 정보 및 ID 정보를 이용하여 마커를 촬영한 카메라의 3차원 공간상에서의 위치와 방향인 자세를 추정하는 단계(S105), (a5) 상기 추정한 카메라 자세 정보를 이용하여 마커 자세를 추정하는 단계(S106), (a6) 상기 추정한 마커 자세 정보를 이용하여 물류로봇(100)의 위치를 추정하는 단계(S107)를 포함한다.
또한, 상기 (a2)단계는 촬영된 마커 이미지를 그레이스케일 이미지로 변환하고, 적응 임계치(Adaptive threshold)를 적용하여 이미지를 이진화하며, 이진화된 이미지에서 윤곽선(contour)을 추출하고, 추출한 윤곽선을 polygonal curve로 근사화하여 4개의 점으로 구성된 것만 반시계방향으로 정렬하여 마커를 검출한다.
또한, 상기 (a3)단계는 정렬 이미지를 perspective transformation을 적용하여 사격형으로 변환하고, 변환한 사각형 이미지를 otsu 방법으로 이진화하여 흰색과 검은색 영역으로 이진화하며, 이진화된 이미지를 격자로 분할하고, 분할된 격자에서 검은색 테두리를 제외한 내부의 영역 내에 있는 셀들에 포함된 흰색 픽셀의 개수를 카운트하여 비트 매트릭스를 생성하고, 생성한 비트 매트릭스를 바이트 리스트로 변경하여 마커 코너를 검출하며, 마커 ID를 소정 각도 방향에 대한 4개의 바이트 리스트로 저장하여 마커의 ID를 추출한다.
또한, 상기 (a5)단계는 solvePnp 함수를 사용하여 카메라와 마커 사이의 rotation 및 translation 벡터를 구하여 마커 자세를 추정한다.
또한, 상기 (a6)단계는 자세가 추정된 마커의 위에 가상의 사물을 띄워 물류로봇의 위치를 추정한다.
이와 같이 구성되는 본 발명에 따른 하이브리드 타입의 물류로봇 위치추정방법을 구체적으로 설명하면 다음과 같다.
먼저, 본 발명은 물류로봇(100)이 물건을 이송할 경우에는 레이저 센서나 카메라 등의 마커 영상정보를 이용한 환경 정보를 인식하여 위치를 추정하고, 물류로봇(100)이 이송 중 정밀한 위치 정보(위치 오차가 5cm)가 필요한 경우에는 QR 코드를 판독하여 위치정보를 보정하는 방법을 이용함으로써, 물류로봇(100)의 전체적인 물류 처리 시간을 단축하고, 기존과 같이 다수의 QR 코드를 설치하는 데 소요되는 복잡함 및 소요 비용을 절감하고, QR 코드의 훼손을 방지하기 위한 유지보수 비용도 절감할 수 있는 장점이 있다.
이를 위해서, 작업 공간(1)의 내의 벽, 천장, 바닥 등에 기준 마커(fiducial marker)가 되는 마커를 설치해야 한다.
여기서 마커는 일정한 포맷으로 만들어진 인공적인 랜드마크이다. 증강 현실(Augmented Reality)을 구현하는 데 이용할 수 있다. 본 발명에서의 기준 마커는 ArUco marker라고 한다.
ArUco marker는 기준 마커 중 한가지로 n×n 크기의 2차원 비트 패턴과 이를 둘러싸고 있는 검은색 테두리 영역으로 구성되어 있다. 검은색 테두리 영역은 마커를 빨리 인식하기 위한 것이며, 내부의 2차원 비트 패턴은 흰색 셀과 검은색 셀의 조합으로 마커의 고유 ID를 표현한 것으로 마커를 식별하는 데 사용된다.
OpenCV의 aruco 모듈에 ArUco marker의 생성, 검출 및 자세 추정을 위한 함수를 제공한다.
미리 정의된 사전의 인덱스로, DICT_6×6_250이다. 크기 6×6은 마커가 250개 포함된 사전을 사용한다. 6×6은 2차원 비트 패턴의 크기를 의미하며, 검은색 테두리 영역을 포함하면 8×8이 된다. 사전에 속한 마커들 중 사용할 마커의 ID가 존재한다. 실제 마커 ID가 아니라 인덱스를 의미한다. 실제 마커 ID를 사용하는 것보다 속한 사전 내에서의 인덱스를 사용하는 것이 효율적이기 때문이다. DICT_6×6_250의 경우는 0부터 249까지 ID를 지정할 수 있다.
마커 이미지의 크기를 픽셀단위로 지정할 수 있다. 200의 경우 200×200 픽셀 크기의 이미지로 저장된다. 검색은 테두리 영역의 크기는 내부 2차원 비트 패턴의 하나의 셀 크기의 배수로 지정하여 마커를 생성한다.
도 5a 및 도 5b는 생성된 마커의 예시이다. 도 5a는 마커 테두리의 크기를 1로 한 경우이고, 도 5b는 마커 테두리의 크기를 2로 한 경우이다.
aruco 모듈에는 포함된 마커의 개수 및 마커 크기별로 사전이 정의되어 있다. 마커가 회전을 대비해서(0°, 90°, 180°, 270°) 하나의 마커 ID에 대해 4개의 해이밍 코드가 저장된다. 마커 크기별로 1000개씩 배열을 선언해두고 있다. 예를 들어, DICT_6×6_50의 경우, 앞에서 50개의 마커 ID를 사용하고, DICT_6×6_100은 앞에서 100개의 마커 ID를 사용한다.
이러한 마커(200)를 작업 공간 내에 설치한 상태에서, 물류로봇(100)은 적재물을 이송시키는 상태에서(S101), 단계 S102와 같이 촬영부(110)의 카메라를 이용하여 마커(200)를 촬영한다.
이어, 단계 S103에서 상기 촬영된 마커 이미지로부터 마커를 검출한다. 마커를 검출하게 되면 이미지상에서 마커의 4개 코너 위치(마커가 회전되더라도 각각의 코너는 고유하게 식별됨) 및 마커의 ID를 획득할 수 있다.
마커를 검출하는 과정을 좀 더 구체적으로 설명하면 다음과 같다.
도 5c에 도시한 바와 같이, 촬영된 마커 이미지를 그레이스케일 이미지로 변환하고, 적응 임계치(Adaptive threshold)를 적용하여 이미지를 이진화한다. 예상과 달리 에지만 검출된 것은 적응 임계치 함수의 블록크기(block size)를 충분히 크게 지정해주지 않았기 때문이다. 이 이미지를 바탕으로 윤곽선 검출결과 마커 사각형에서 윤곽선이 2번 검출되는 오류가 발생하였다. 따라서 블록사이즈를 7에서 91로 높여 윤곽선 검출시 앞에서 발생한 오류를 해소하였다.
다음으로, 이진화된 이미지에서 윤곽선(contour)을 추출한다.
도 5d와 같이 적응 임계치 함수를 사용한 경우 79개가 검출되었고, 도 5e와 같이 otsu 방법을 적용한 경우에는 윤곽선이 8개가 검출되었고, 속도가 적응 임계치를 사용할 때보다 단축되었다. 따라서 윤곽선 검출은 otsu 방법을 적용하는 것이 바람직하다.
이어, 추출한 윤곽선을 polygonal curve로 근사화하여 4개의 점으로 구성된 것만 반시계방향으로 정렬하여 마커를 검출한다. 이때, 너무 작은 면적의 윤곽선과 너무 큰 면적의 윤곽선은 제거한다. 볼록 다각형(convex polygon)이 아닌 경우에도 제거한다. 처리 결과 도 5f와 같이 2개의 윤곽선만 남았고, 근사화된 점 위치를 저장해서 다음 과정에서 활용하도록 하였다.
다음으로, 단계 S104로 이동하여 상기 검출한 마커 정보에서 마커 코너를 검출하고, 검출한 코너 정보를 이용하여 마커의 ID를 추출한다.
즉, 상기 단계 S103에서 정렬된 이미지를 perspective transformation을 적용하여 장면에서 바라본 사격형으로 변환한다. 도 5g의 왼쪽 이미지는 입력 영상의 모습이고, 오른쪽은 변환 후 이미지이다. 이어, 변환한 사각형 이미지를 otsu 방법으로 이진화하여 흰색과 검은색 영역으로 이진화한다. 도 5h는 otsu 방법으로 이진화한 이미지이다.
다음으로, 상기 이진화된 이미지를 도 5i와 같이 격자로 분할한다. 예를 들어, 마커의 크기가 6×6이면 검은색 테두리를 포함해서 8×8 = 64개의 셀로 나눈다. 마커 주변의 테두리 영역에 해당하는 셀만 검사하여 흰색 셀이 발견되면 마커 후보에서 제외한다. 셀 내의 흰색 픽셀의 개수가 전체의 절반 이상이면 흰색 셀로 간주한다. 이어, 분할된 격자에서 검은색 테두리를 제외한 내부의 6×6 영역 내에 있는 셀들에 포함된 흰색 픽셀의 개수를 카운트한다. 셀 내의 흰색 픽셀의 개수가 절반 이상이면 흰색 셀로 간주한다. 흰색 셀은 1로 검은 셀은 0으로 표현하여 6×6 배열을 저장하여, 도 5j와 같이 비트 매트릭스를 생성한다. 이어, 도 5k와 같이 비트 매트릭스를 바이트 리스트로 변경한다. 필요한 바이트 수는 (6×6 + 8 -1)/8로 계산하면 5바이트가 된다. 5바이트를 저장할 수 있는 변수를 선언하고, 비트 매트릭스를 왼쪽에서 오른쪽으로, 위에서 아래로 스캔하면서 해당 위치에 있는 비트를 변수에 저장한다. 비트는 circular shift 연산을 사용하여 변수에 저장된다.
예컨대, 도 5l에 도시한 바와 같이, 처음에 비트 매트릭스(x, y)=(0,0)에 있는 비트 값 0이 첫 번째 바이트의 8번째 비트에 입력한다. 그 다음 기존 값을 왼쪽으로 시프트하고 (1,0)에 있는 비트 값 1을 첫 번째 바이트의 8번째 비트로 입력한다. 이런식으로 기존 값을 왼쪽으로 시트프하고 첫 번째 바이트의 8번째 비트에 입력하는 것을 반복한다. 첫 번째 8비트를 모두 채웠으면, 두 번째 바이트로 이동하여 앞 과정을 반복한다.
6×6 비트 매트릭스를 5바이트에 모두 옮기고 나서 각 바이트를 10진수로 표현한 것이 바이트 리스트이며, 이는 도 5m과 같다.
각각의 마커에 대해 구해진 바이트 리스트는 다음과 같다.
[96, 83, 122, 137, 1]
[30, 61, 216, 42, 6]
이어, 상기와 같이 생성한 비트 매트릭스를 바이트 리스트로 변경하여 도 5n과 같이 마커 코너를 검출하며, 마커 ID를 소정 각도(0°, 90°, 180°, 270°) 방향에 대한 4개의 바이트 리스트로 저장하여 마커의 ID를 추출한다. 여기서 마커가 회전하더라도 도 5o에 도시한 바와 같이 각 코너 점은 고유하게 인식된다. 부가적으로 comerSubPix 함수를 이용하여 코너 점의 정확도를 높일 수 있다.
위에서 구한 바이트 리스트를 사전에서 찾아보면 마커 ID 0번의 첫 번째 바이트 리스트와 마커 ID 41번의 첫 번째 바이트 리스트와 일치하는 것을 알 수 있다. 몇 번째 바이트 리스트와 일치하는지 여부로 마커의 회전각도를 산출할 수도 있다.
다음으로, 단계 S105에서 상기 추출한 마커 코너 정보 및 ID 정보를 이용하여 마커를 촬영한 카메라의 3차원 공간상에서의 위치와 방향인 자세를 추정한다.
카메라의 자세 추정은 도 5p에 도시한 바와 같이, ChArUco Board를 이용하여 카메라의 자세를 추정한다. ChArUco Board는 ArUco marker와 chess board를 합쳐서 만들어진 보드이다. 도 5q는 상기 ChArUco Board를 생성한 이미지 결과이다. 카메라 자세추정에 사용하기 위해서는 프린터로 인쇄해서 사용한다. 카메라 켈리브레이션을 진행하면 YAML 형식의 텍스트 결과 파일에 카메라 정보가 저장된다. 리눅스에서 결과 파일을 생성하여 윈도에서 불러오면 인코딩의 차이로 YAML 형식으로 저장된 카메라 정보를 불러오지 못한다. 따라서 소스코드에 옵션들을 미리 넣어서 사용하는 것이 바람직하다. 앞에서 만든 ChArUco Board에 맞게 옵션을 입력해야 한다. 카메라 자세 추정을 위해 카메라 켈리브레이션을 실행하면, 카메라에서 찍힌 영상이 보인다. ChArUco Board를 카메라에 비추어 마커들이 인식되었는지 확인 후, c 키를 눌러준다. 보드 위치나 각도를 바꾸어 가며 c 키를 누르는 것을 반복한다. 최소 4번 이상 반복한 후, ESC키를 누른다.
이어, 단계 S106으로 이동하여 상기 추정한 카메라 자세 정보를 이용하여 마커 자세를 추정한다. 마커 자세 추정을 위해, solvePnp 함수를 사용하였으며, 이를 이용하여 카메라와 마커 사이의 rotation 및 translation 벡터를 구하여 마커 자세를 추정한다. 마커 위에 좌표축을 출력해주기 위해 aruco::drawAxis 함수를 사용한다.
도 5r은 마커 자세를 추정하는 예시이다. 카메라 켈리브레이션으로 얻은 카메라 자세 정보를 파일에서 읽어들이고, 카메라와 마커 사이의 rotation 및 translation 벡터를 구한다. 이어 도 5r처럼 aruco 모듈에서 제공하는 함수를 이용하여 마커 위에 좌표축을 그려 마커 자세를 추정한다.
이어, 단계 S107과 같이 상기 추정한 마커 자세 정보를 이용하여 물류로봇(100)의 위치를 추정한다. 즉, 자세가 추정된 마커의 위에 가상의 사물을 띄워 물류로봇의 위치를 추정한다. 이 방법을 사용하면 마커를 손에 들고 움직이더라도 항상 마커 위에 가상 사물을 띄울 수 있다.
이러한 과정을 통해 신속하게 물류로봇의 이동을 제어하며, 이어, 단계 S108과 같이 물류로봇의 동작 상태가 적재 상태이거나 적재물을 들어올리는 상태이면, 정밀 위치 제어를 위해, 단계 S109로 이동하여 QR 코드(300)를 판독하고, 판독한 QR 코드 정보를 이용하여 단계 S110에서 정밀 위치를 추정한다. QR 코드를 이용하여 물류로봇의 위치를 추정하는 방법은 공지의 기술이므로, 그에 대한 구체적인 설명은 생략하기로 한다.
이와 같이 본 발명은 물류 로봇이 물건을 이송할 경우에는 레이저 센서나 카메라를 이용한 마커를 촬영하고, 촬영된 마커 영상정보를 통해 환경 정보를 인식하는 방법으로 물류 로봇의 위치를 추정하고, 물류 로봇이 이송 중 정밀한 위치 정보가 필요한 경우에는 기존과 같이 QR 코드를 읽어 위치 정보를 추정하는 방법을 이용한다. 이로써 전체적인 물류 로봇의 처리 속도를 단축할 수 있으며, 동시에 소수의 QR 코드만을 사용하므로 기존과 같이 복수의 QR 코드를 설치하는 데 따르는 비용 및 복잡함을 해소할 수 있게 되는 것이다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명하다.
1: 작업 공간
100: 물류 로봇
110: 촬영부
120: QR 코드 리더기
130: 위치 검출기
131: 마커 검출부
132: 코너 추출부
133: 카메라 자세 추정부
134: 마커 자세 추정부
135: 위치 추정부
140: 이동 제어부
200: 마커
300: QR 코드

Claims (6)

  1. 마커의 영상 인식을 통한 환경 정보로 위치를 추정하고, QR 코드의 정보를 판독하여 정밀 위치를 추정하기 위해 (a) 물류로봇에 내장된 위치 검출기에서 물류로봇의 상태를 확인하여 물건 이송상태이면, 작업 공간에 설치된 마커를 촬영하고, 촬영된 마커 정보를 이용하여 물류로봇의 위치를 추정하는 단계; 및 (b) 상기 위치 검출기에서 상기 (a)단계에서 물류로봇의 상태가 적재 상태이면, 근접된 QR 코드를 판독하여 물류로봇의 정밀 위치를 추정하는 단계를 포함하되,
    상기 (a)단계는 (a1) 물건 이송 상태이면 카메라를 이용하여 마커를 촬영하는 단계;
    (a2) 상기 촬영된 마커 이미지를 그레이스케일 이미지로 변환하고, 적응 임계치(Adaptive threshold)를 적용하여 이미지를 이진화하며, 이진화된 이미지에서 윤곽선(contour)을 추출하고, 추출한 윤곽선을 polygonal curve로 근사화하여 4개의 점으로 구성된 것만 반시계방향으로 정렬하여 마커를 검출하는 단계;
    (a3) 상기 정렬 이미지를 perspective transformation을 적용하여 사격형으로 변환하고, 변환한 사각형 이미지를 otsu 방법으로 이진화하여 흰색과 검은색 영역으로 이진화하며, 이진화된 이미지를 격자로 분할하고, 분할된 격자에서 검은색 테두리를 제외한 내부의 영역 내에 있는 셀들에 포함된 흰색 픽셀의 개수를 카운트하여 비트 매트릭스를 생성하고, 생성한 비트 매트릭스를 바이트 리스트로 변경하여 마커 코너를 검출하며, 마커 ID를 소정 각도 방향에 대한 4개의 바이트 리스트로 저장하여 마커의 ID를 추출하는 단계;
    (a4) 상기 추출한 마커 코너 정보 및 ID 정보를 이용하여 마커를 촬영한 카메라의 3차원 공간상에서의 위치와 방향인 자세를 추정하는 단계;
    (a5) 상기 추정한 카메라 자세 정보를 이용하여 마커 자세를 추정하되, solvePnp 함수를 사용하여 카메라와 마커 사이의 rotation 및 translation 벡터를 구하여 마커 자세를 추정하는 단계;
    (a6) 상기 추정한 마커 자세 정보를 이용하여 물류로봇의 위치를 추정하되,추정된 마커의 위에 가상의 사물을 띄워 물류로봇의 위치를 추정하는 것을 특징으로 하는 하이브리드 타입의 물류로봇 위치추정방법.






  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
KR1020180148722A 2018-11-27 2018-11-27 하이브리드 타입의 물류로봇 위치추정방법 KR102106858B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180148722A KR102106858B1 (ko) 2018-11-27 2018-11-27 하이브리드 타입의 물류로봇 위치추정방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180148722A KR102106858B1 (ko) 2018-11-27 2018-11-27 하이브리드 타입의 물류로봇 위치추정방법

Publications (1)

Publication Number Publication Date
KR102106858B1 true KR102106858B1 (ko) 2020-05-06

Family

ID=70737475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180148722A KR102106858B1 (ko) 2018-11-27 2018-11-27 하이브리드 타입의 물류로봇 위치추정방법

Country Status (1)

Country Link
KR (1) KR102106858B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057784A (ko) * 2021-10-22 2023-05-02 롯데정보통신 주식회사 로봇 관제 시스템 및 이의 제어 방법
KR102574447B1 (ko) * 2022-12-06 2023-09-06 주식회사 어밸브 스마트팜 내의 드론을 제어하는 방법, 및 이를 이용하는 드론

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140117138A (ko) * 2013-03-26 2014-10-07 금오공과대학교 산학협력단 마커 인식 장치 및 방법
KR20150004568A (ko) 2013-07-03 2015-01-13 삼성전자주식회사 자율 이동 로봇의 위치 인식 방법
KR20160003776A (ko) * 2013-09-12 2016-01-11 도요타지도샤가부시키가이샤 자세 추정 방법 및 로봇
JP2017120551A (ja) * 2015-12-28 2017-07-06 株式会社リコー 自律走行装置
KR20170100204A (ko) * 2016-02-25 2017-09-04 한국전자통신연구원 3차원 공간 정보를 이용한 목표물 추적 장치 및 방법
KR20170134352A (ko) * 2015-02-05 2017-12-06 그레이 오렌지 피티이. 엘티디. 내비게이션 제어를 위한 방법 및 장치
KR20180109284A (ko) 2017-03-27 2018-10-08 (주)엔스퀘어 물류 자동화를 위한 자율주행 로봇 및 상기 로봇의 환경인식 및 자기위치 추정 방법
KR20180109118A (ko) * 2017-03-27 2018-10-08 (주)로직아이텍 QR Code Tag, 비콘단말기, 엔코더와 관성센서를 융합하여 로봇의 정확한 현재위치를 식별하기 위한 방법
KR20180116729A (ko) * 2017-04-17 2018-10-25 엔피씨(주) 물류 관리를 위한 원거리 다수의 코드 인식 방법 및 이를 이용한 코드 인식 장치

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140117138A (ko) * 2013-03-26 2014-10-07 금오공과대학교 산학협력단 마커 인식 장치 및 방법
KR20150004568A (ko) 2013-07-03 2015-01-13 삼성전자주식회사 자율 이동 로봇의 위치 인식 방법
KR20160003776A (ko) * 2013-09-12 2016-01-11 도요타지도샤가부시키가이샤 자세 추정 방법 및 로봇
KR20170134352A (ko) * 2015-02-05 2017-12-06 그레이 오렌지 피티이. 엘티디. 내비게이션 제어를 위한 방법 및 장치
JP2017120551A (ja) * 2015-12-28 2017-07-06 株式会社リコー 自律走行装置
KR20170100204A (ko) * 2016-02-25 2017-09-04 한국전자통신연구원 3차원 공간 정보를 이용한 목표물 추적 장치 및 방법
KR20180109284A (ko) 2017-03-27 2018-10-08 (주)엔스퀘어 물류 자동화를 위한 자율주행 로봇 및 상기 로봇의 환경인식 및 자기위치 추정 방법
KR20180109118A (ko) * 2017-03-27 2018-10-08 (주)로직아이텍 QR Code Tag, 비콘단말기, 엔코더와 관성센서를 융합하여 로봇의 정확한 현재위치를 식별하기 위한 방법
KR20180116729A (ko) * 2017-04-17 2018-10-25 엔피씨(주) 물류 관리를 위한 원거리 다수의 코드 인식 방법 및 이를 이용한 코드 인식 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057784A (ko) * 2021-10-22 2023-05-02 롯데정보통신 주식회사 로봇 관제 시스템 및 이의 제어 방법
KR102562044B1 (ko) * 2021-10-22 2023-07-31 롯데정보통신 주식회사 로봇 관제 시스템 및 이의 제어 방법
KR102574447B1 (ko) * 2022-12-06 2023-09-06 주식회사 어밸브 스마트팜 내의 드론을 제어하는 방법, 및 이를 이용하는 드론

Similar Documents

Publication Publication Date Title
US10569416B1 (en) Robotic system with enhanced scanning mechanism
EP3683721B1 (en) A material handling method, apparatus, and system for identification of a region-of-interest
US8150658B2 (en) Three-dimensional object recognition system and inventory system using the same
US6952488B2 (en) System and method for object localization
KR20210020945A (ko) 창고 환경에서의 차량 추적
CN111386529A (zh) 用于快速识别和处理图像关注区域的系统和方法
KR101095579B1 (ko) 모노 비전 기반의 팔레트 위치 및 자세 측정 방법
CN110807350A (zh) 用于面向扫描匹配的视觉slam的系统和方法
KR102106858B1 (ko) 하이브리드 타입의 물류로봇 위치추정방법
CN111964680B (zh) 一种巡检机器人的实时定位方法
US20230251631A1 (en) A method for manufacturing construction components, a portable manufacturing unit, a software application executable on a machine tool system for controlling a tool, the machine tool system, and a method of machining the workpiece using the tool
KR20230031826A (ko) 웨어하우스 로봇의 제어 방법, 장치, 로봇 및 웨어하우스 시스템
US11835960B2 (en) System and method for semantically identifying one or more of an object and a location in a robotic environment
CN113776533A (zh) 可移动设备的重定位方法及装置
US20240005115A1 (en) System and method to determine whether an image contains a specific barcode
US11762394B2 (en) Position detection apparatus, position detection system, remote control apparatus, remote control system, position detection method, and program
JP2021157537A (ja) 二次元マーカの認識装置、方法、プログラム及びシステム
Fiala Artag fiducial marker system applied to vision based spacecraft docking
Jia et al. Pallet detection based on Halcon for warehouse robots
JP7191352B2 (ja) 物体検出を実施するための方法および計算システム
WO2022239355A1 (ja) 位置測定システム
Patruno et al. Vision-based omnidirectional indoor robots for autonomous navigation and localization in manufacturing industry
CN117889841A (zh) 一种地图构建方法、终端设备及计算机存储介质
CN112149687A (zh) 目标识别的方法
Nuevo et al. Model-based load localisation for an autonomous Hot Metal Carrier

Legal Events

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