KR101390466B1 - 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치 - Google Patents

이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치 Download PDF

Info

Publication number
KR101390466B1
KR101390466B1 KR1020120131584A KR20120131584A KR101390466B1 KR 101390466 B1 KR101390466 B1 KR 101390466B1 KR 1020120131584 A KR1020120131584 A KR 1020120131584A KR 20120131584 A KR20120131584 A KR 20120131584A KR 101390466 B1 KR101390466 B1 KR 101390466B1
Authority
KR
South Korea
Prior art keywords
scan
distance data
laser scanner
mobile robot
scan distance
Prior art date
Application number
KR1020120131584A
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 KR1020120131584A priority Critical patent/KR101390466B1/ko
Application granted granted Critical
Publication of KR101390466B1 publication Critical patent/KR101390466B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4817Constructional features, e.g. arrangements of optical elements relating to scanning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/497Means for monitoring or calibrating

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치를 개시한다.
상기 장치는 상기 이동 로봇에 구비되며, 상기 이동 로봇의 움직임에 따라 대상물체를 스캔한 다수의 스캔 거리 데이터를 출력하는 레이저 스캐너(150); 상기 레이저 스캐너로부터 출력된 광원이 상기 대상물체에 반사된 반사광원 내의 스캔 거리 데이터를 추출하는 스캔 거리 데이터 획득부(200); 상기 레이저 스캐너로부터 출력된 상기 다수의 스캔 거리 데이터를 수신하여, 동적 오차가 보정된 보정값을 출력하는 동적 오차 보정부(300); 상기 보정값을 수신하여 유효 정보를 추출하는 유효 정보 추출부(400); 및 상기 유효 정보 추출부로부터 추출된 유효 정보를 이용해 위치 인식 및 장애물 회피 기술에 적용되는 유효정보 알고리즘이 프로그래밍된 유효 정보 알고리즘 처리부(500)를 포함하며, 상기 동적 오차 보정부(300)는, 상기 다수의 스캔 거리 데이터의 시작 및 종료 시각을 추출하여 각 스캔 거리 데이터들의 측정 시각을 계산한 제1 결과값을 출력하는 측정 시각 추출부(310); 상기 제1 결과값 내의 모터 엔코더 정보를 이용한 상기 이동로봇 및 상기 스캐너의 위치 및 방향을 추정한 제2 결과값을 출력하는 동작 추정부(320); 및 상기 제1 및 제2 결과값을 수신한 후, 벡터값으로 변환하여 3차원 구좌표계로 변환된 데이터를 출력하는 데이터 보정부(330);를 포함한다.

Description

이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치{Dynamic compensation method for scan distance data measured when mobile robot and laser scanner are moving fast and scan distance data measured apparatus using Thereof}
본 발명은 동적 오차 보정 장치 및 보정 방법에 관한 것으로, 보다 상세하게는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치에 관한 것이다.
이동 로봇의 실내외 자율 주행을 위해선 주변환경 정보를 인식하여야만 이 정보를 사용하여 다양한 위치 파악 및 주행 등이 가능하다. 다양한 센서들을 사용하여 얻어진 주변환경 정보를 처리할 수 있는데 각 센서들 마다의 장/단점이 존재한다.
특히 다른 센서들에 비해 레이저 스캐너는 가격이 높은 편에 속하지만 데이터 처리가 비교적 간단하고, 또한 2차원 스캔 평면상의 거리 데이터를 정확하게 측정할 수 있어서 가장 널리 사용되고 있다. 더욱이 제한된 2차원의 측정범위를 가지는 레이저 스캐너의 한계를 벗어나 3차원의 모든 방향에 대해 측정하기 위해 레이저 스캐너에 두 방향의 회전이 가능하도록 팬/틸트(pan/tilt) 모터들을 추가하여 3차원 스캔 방법도 널리 사용되고 있다.
레이저 스캐너는 통상적으로 내부의 회전 모터에 의해 회전된 레이저를 물체에 조사하고 이 레이저가 물체로부터 반사되어 돌아오는 시간차 또는 위상 차를 이용하여 스캐너에서 물체까지의 거리 정보를 연산하여 데이터를 출력하는 형태로 구성되어 있다. 이러한 과정을 각각의 내부 모터 회전 각도에 대하여 반복하여 다수의 스캔 거리 데이터들을 얻을 수 있다. 즉, 레이저 스캐너의 중심을 원점으로한 일정하게 증가하는 레이저의 회전각도들에 대한 레이저 거리 데이터들을 출력한다.
레이저 스캐너의 내부 회전 모터의 회전 속도는 유한하므로 이러한 내부 모터 회전으로 인해 측정된 주변 환경 정보의 각 정보들은 엄밀히 말하자면, 각각 다른 시각에 일정한 레이저 회전 각도하에서 측정된 다수의 스캔 거리 데이터들이다.
정지된 이동 로봇 위에서, 정지된 레이저 스캐너로부터 환경과의 거리 측정에는 오차가 발생하지 않으나, 이동 로봇 및 레이저 스캐너의 움직임이 있을 경우에는 방향 및 거리 오차가 필연적으로 발생할 수 밖에 없다.
통상적으로 이동 로봇 및 레이저 스캐너가 정지해 있다면 측정하는 시간동안 레이저 스캐너의 한 회전각도에 대하여 주변 환경과의 거리에 변화가 없기 때문에 다른 측정시각의 스캔 거리 데이터라도 동일한 측정시각이라고 취급해도 거리 오차가 없다. 그러나 이동로봇이 주행하는 동안, 또는 레이저 스캐너가 팬/틸트 모터에 의하여 움직이는 동안, 레이저 스캐너가 측정을 수행할 경우, 레이저 스캐너의 레이저 회전 각도가 이동 로봇 및 레이저 스캐너의 움직임에 직접적인 영향을 받게 되므로, 스캔 측정 방향과 스캔 거리 데이터 모두 변화하게 된다.
이러한 현상을 무시하고 모든 스캔 벡터가 동일한 시각에서 측정되었다고 가정하면 이동 로봇이나 레이저 스캐너의 움직임에 의한 레이저 스캔 거리 데이터들에 방향 및 거리 오차가 발생하게 된다. 특히 이동 로봇이나 레이저 스캐너가 고속으로 움직일수록 이러한 오차는 증가할 수 밖에 없다.
이렇게 이동 로봇 및 레이저 스캐너의 움직임으로 인해 발생하는 레이저 스캔 거리 데이터의 방향 및 거리 오차를 동적 오차라 명칭하기로 한다.
이러한 현상에 대한 보정 방법을 제시한 Seungpyo Hong의 논문인 “VICP: Velocity Updating Iterative Closest Point Algorithm, Robotics and Automation (ICRA), 2010 IEEE International Conference on, pp. 1893 -1898” 은 고정된 속도로 스캐너가 움직인다는 가정하에 고안되었다.
이 방법은 이동로봇의 위치 추정에 일반적으로 사용하는 엔코더 정보를 사용하지 않고 레이저 스캐너의 스캔데이터 정보만을 가지고 이동로봇의 속도를 추정하여 이동로봇의 위치를 추정하는 방법을 제시하고 있다. 이를 위해 여러 스캔 수행 시간 구간 동안 이동로봇은 고정된 속도로 이동한다고 가정한 뒤 가정한 속도로 왜곡된 스캔데이터를 보정하여 바로 전 스캔 시간 구간에서의 스캔 거리 데이터와 현재 스캔 시간구간에서의 스캔 거리 데이터들을 ICP(Iterative Closest Point)방식으로 비교하여 이동로봇의 위치 변화를 추정한다. 이렇게 추정된 위치 변화를 이용해 이동로봇의 속도 추정하고 이 값을 다시 고정된 속도로 가정하여 위 과정을 반복한다. 이러한 반복하는 과정 중 가정한 속도와 ICP 방식을 통해 이동로봇의 위치 변화로 추정된 속도의 차이가 설정한 한계값 이하이면 반복계산을 멈추고 스캔 수행 시간동안의 이동로봇의 속도는 최종 추정된다. 최종속도가 결정되면 마지막으로 바로 전 스캔데이터와 ICP방식으로 비교하여 최종 이동로봇의 위치 변화를 추정한다.
이 방법은 이동로봇의 속도를 가정하고 스캔데이터의 왜곡을 보정하여 이동로봇의 위치변화를 추정하는 반복적인 과정으로 이동로봇의 위치를 추적하는 방법이라는 특징을 가진다.
그러나 1회 스캔 동안 스캐너의 속도가 고정된다는 가정이 필요하여 실제 이동로봇이 장애물에 의해 급격히 정지하거나 움직일 수 있는 현실적인 움직임을 반영하지 못하고 있다.
또한, 2번의 스캔데이터 측정 후 2개의 스캔데이터를 비교하는 과정이 필요한데 두번째 스캔데이터를 측정할 시 주변환경이 급격히 변화하면 2개의 스캔데이터간의 정보 차이가 심해져 이동로봇의 속도를 추정하기 어려워 정확한 보정을 할 수 없는 단점을 가지고 있다.
설정한 한계값이 크면 보다 빨리 이동로봇의 속도를 추정할 수 있지만 오차가 커져서 스캔데이터 보정이 부정확해 지고 한계값이 작으면 반복 계산량이 많아지는 단점 또한 가지고 있다. 이는 잘못 가정된 속도로 인해 반복계산을 멈추기 위한 설정 한계값보다 작아질 수 없는 경우도 생길 수 있다는 것이다.
한편, 설정 한계값을 보다 정확히 정하기 위해선 스캐너의 특성와 이동로봇의 특성, 그리고 주변환경의 특성까지 반영해야하는 어려움도 가진다. 또한 속도를 계산하는 과정에 다중 반복(multi-loop) 계산이 포함되어 있어 다소 많은 계산량을 가져 짧은 시간의 1회 스캔 시간의 스캐너인 경우 실시간성을 보장하지 못하는 단점을 가지고 있다.
또한 Tungadi와 Kleeman의 논문(“Time Synchronisation and Calibration of Odometry and Range Sensors for High-Speed Mobile Robot Mapping”, Australasian Conf. Robotics and Automation, 2008)에서도 동적 오차를 보정하는 방법을 제시하고 있다. 이 방법은 엔코더의 정보를 사용하여 이동로봇의 속도를 추정하여 이동로봇이 스캐너가 스캔 수행 시간동안 고정된 속도로 움직인다는 가정이 필요하다. 스캐너의 각 스캔 벡터가 측정될 때의 시각과 함께 매트릭스 변환식(Homogeneous transformation)을 적용해 스캐너의 첫번째 스캔 벡터가 측정될 시각으로 변환시켜 동적 오차를 보정한다.
이 방법은 스캔 수행 시간동안 이동로봇의 속도를 고정시키므로 Seungpyo Hong의 논문과 동일하게 실제 이동로봇이 장애물에 의해 급격히 정지하거나 움직일 수 있는 현실적인 움직임을 반영하지 못 하는 단점을 가지게 된다.
또한, 최근의 연구에 따르면 스캐너 자체에 움직임을 추가하여 보다 여러 관점으로 주변환경 정보를 측정하는 다양한 방법이 제시되고 있는데 이러한 환경에서 위 2가지 방법 모두 적용하는데 한계가 따른다.
즉, 위 2가지 방법 모두 제한적인 조건하에서 적용이 가능한 방법으로 일반적이고 다양한 환경에서는 적합하지 않고 적용하더라도 동적 오차의 보정 성능이 좋지 못하다. 따라서, 이동로봇이 어떠한 가감속 움직임을 하든지, 스캐너 자체가 어떠한 동작을 하든지 상관없이 일반적인 환경하에도 적용이 가능한 동적 오차 보정 방법이 필요하다.
동적 오차는 스캔 거리 데이터를 사용한 다양한 이동 로봇을 위한 알고리즘들의 정확도에 직접적인 영향을 끼치며, 나아가서 시스템의 성능을 낮추는 요인이 된다.
이동로봇의 실내 및 실외에서의 자율 운행을 위해서 통상적으로 레이저 스캐너의 매 스캔 주기마다, 얻어지는 스캔데이터를 이용하여 다양한 기술에 적용하는 과정들로 이루어 진다.
과정 1. 레이저 스캐너 구동 및 스캔데이터 획득: 레이저 스캐너를 구동하여 다수의 스캔데이터들을 획득한다.
과정 2. 동적 오차 보정: 통상적으로 수행하지 않는다.
과정 3. 유효정보 추출: 스캔데이터들로부터 유효한 정보를 추출해 낸다.
과정 4. 유효정보 활용 알고리즘: 추출된 유효정보를 이용해 자기 위치 인식이나 장애물 회피 등의 기술에 적용한다.
종래의 기술에서는 과정 2의 동적 오차 보정이 없이, 레이저 스캐너의 측정 데이터를 그대로 사용하여 유효정보를 추출한 뒤 활용 알고리즘의 입력으로 사용되고 있다.
본 발명이 해결하고자 하는 과제는 이동로봇의 실내 및 실외에서의 자율 주행을 위한 레이저 스캐너(Laser scanner)기반의 시스템에 있어서, 스캐너 구동 및 스캔 거리 데이터의 획득, 유효 정보 추출, 유효 정보 활용 알고리즘을 거치는 데이터 처리 과정에서 스캐너 구동 및 스캔 거리 데이터의 획득 단계 다음에 스캔 거리 데이터의 동적 오차를 보정하는 과정을 추가하여 보다 정확한 스캔 거리 데이터의 획득을 위한 새로운 보정 알고리즘을 제공함으로써, 이동로봇과 스캐너의 위치 및 방향을 정확히 추정하여 계산시간이 적게 걸리면서도 정확한 오차 보정이 가능한 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법을 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 실시 예에 따른 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법을 이용한 스캔 거리 데이터 측정 장치는 이동 로봇에 구비되며, 상기 이동 로봇에 장착되어 대상물체를 스캔한 다수의 스캔 거리 데이터를 출력하는 레이저 스캐너; 상기 레이저 스캐너로부터 출력된 광원이 상기 대상물체에 반사된 반사광원 내의 스캔 거리 데이터를 추출하는 스캔 거리 데이터 획득부; 상기 레이저 스캐너로부터 출력된 상기 다수의 스캔 거리 데이터를 수신하여, 동적 오차가 보정된 보정값을 출력하는 동적 오차 보정부; 상기 보정값을 수신하여 유효 정보를 추출하는 유효 정보 추출부; 및 상기 유효 정보 추출부로부터 추출된 유효 정보를 이용해 위치 인식 및 장애물 회피 기술에 적용되는 유효정보 알고리즘이 프로그래밍된 유효 정보 알고리즘 처리부를 포함하며, 상기 동적 오차 보정부는, 상기 다수의 스캔 거리 데이터의 시작 및 종료 시각을 추출하여 각 스캔 거리 데이터들의 측정 시각을 계산한 제1 결과값을 출력하는 측정 시각 추출부; 상기 제1 결과값 내의 모터 엔코더 정보를 이용한 상기 이동로봇 및 상기 스캐너의 위치 및 방향을 추정한 제2 결과값을 출력하는 동작 추정부; 및 상기 제1 및 제2 결과값을 수신한 후, 벡터값으로 변환하여 3차원 구좌표계로 변환된 데이터를 출력하는 데이터 보정부;를 포함한다.
상기 데이터 보정부는, 상기 제2 결과값을 수신하여, 벡터값으로 변환하는 제1 처리모듈; 상기 제1 처리모듈로부터 변환된 벡터값을 수신하여 극좌표계에서 직교좌표계로 적용된 벡터값으로 변환하는 제2 처리모듈; 상기 직교좌표계로 변환된 벡터값을 동적 오차 보정을 위한 좌표계로 변환된 벡터값을 출력하는 제3 처리모듈; 상기 제3 처리모듈에서 출력된 벡터값을 수신하여 3차원 구좌표계로 변환된 스캔벡터를 출력하는 제4 처리모듈; 및 상기 제4 처리모듈로부터 출력된 스캔벡터가 동일한 스캔주기의 스캔데이터 중 마지막 스캔벡터인지의 유무를 확인하는 제5 처리모듈를 포함하는 것을 특징으로 한다.
상기 데이터 보정부는, 6차원의 위치 및 방향의 변환이 가능하게 하는 4×4 매트릭스 형태로 변환시키는 복수 개의 변환식들이 프로그램되어 있는 것을 특징으로 한다.
상기 프로그램은, 데이터 보정 시 계산되는 4×4 매트릭스 형태로 구성된 상기 복수 개의 변환식들을 하나의 변환식으로 축약하여 계산한 후, 삼각함수 법칙으로 계산량을 줄이는 프로그램인 것을 특징으로 한다.
상기 과제를 해결하기 위한 본 발명의 실시 예에 따른 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법은 상기 레이저 스캐너를 구동하여 스캔 거리 데이터들을 획득하는 (a)단계; 상기 획득한 스캔 거리 데이터의 스캔 벡터 순서에 따른 각각의 측정 시각을 추출하는 (b)단계; 상기 스캔 벡터의 측정 시각에 따른 이동로봇의 좌표계와 레이저 스캐너 좌표계의 위치와 방향 정보를 동작 추정부에서 추정하는 (c)단계; 상기 (C)단계의 결과값을 데이터 보정부가 수신하여 추정된 이동로봇의 위치와 방향, 상기 스캐너의 위치와 방향에 따른 보정 매트릭스를 구성하고 상기 스캔 벡터를 보정하는 (d)단계;를 포함한다.
상기 (b) 단계는, 레이저 스캐너의 동기 신호 검출 또는 기타 유효한 신호를 사용하여 스캔 벡터 간의 간격 시간을 계산하여 스캔 시작 시각, 스캔 종료 시각, 및 스캔 벡터 각각의 측정 시각들을 추정하는 단계인 것을 특징으로 한다.
상기 (c)단계는, 상기 이동 로봇 및 상기 레이저 스캐너 각각의 6차원의 위치 및 방향 정보를 변경시키는 모든 외부 구동 요소들에 대한 각각의 정보를 수집하여 동적 오차 보정을 수행하는 단계인 것을 특징으로 한다.
상기 (d)단계는, 상기 측정 시각 추출부와 상기 동작 추정부에서 계산되어진 스캔 벡터 측정 시각들에서의 이동로봇과 레이저 스캐너의 6차원의 위치 및 방향 정보들을 상기 데이터 보정부에서 수신하여 동적 오차 보정을 수행하는 단계인 것을 특징으로 한다.
상기 (d) 단계는, 동적 오차 보정이 수행되는 보정 기준 시각을 원하는 임의의 시각으로 설정하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면 기존의 보정 알고리즘과는 달리 레이저 스캐너가 스캔 거리 데이터를 측정하는 동안 이동로봇과 스캐너의 움직임으로 생기는 오차를 보정하기 위한 것으로 기존의 오차 보정 방법으로는 보정이 불가능한 오차를 보정할 수 있는 능력을 가지고 먼저 레이저 스캐너에서의 스캔 벡터를 입력으로 하여, 첫 번째 단계로 스캔 벡터가 측정된 시각을 추정한 후, 두 번째 단계로 이동로봇과 스캐너의 위치 및 방향을 추정하여 원하는 보정 시각에서의 이동로봇과 스캐너의 위치 및 방향을 이용하여 스캔 벡터를 보정하는 세 단계로 구성된 동적 오차 보정 알고리즘을 제안함으로써, 신속하면서 정확하게 오차를 보정할 수 있는 장점이 있다.
또한, 본 발명에서 제시한 동적 오차 보정 알고리즘은 빠르고 정확하게 동적 오차를 보정할 수 있어 스캔 거리 데이터 자체의 정확도를 향상시키므로 빠르고 다양하게 변하는 이동 로봇과 스캐너의 위치 및 방향이 있는 상황에서 스캔 거리 데이터로 유효정보를 추출, 자기위치인식 및 장애물 감지 등의 유효정보 활용하는 모든 과정의 정확도를 향상시킬 수 있으므로 활용성이 높을 것으로 판단된다.
도 1은 본 발명의 실시 예에 따른 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법을 이용한 스캔 거리 데이터 측정 장치를 나타낸 블럭도이다.
도 2는 도 1에 도시된 측정 장치를 이용한 동적 오차 보정 과정을 설명하기 위한 플로우 챠트이다.
도 3은 레이저 스캐너의 스캔각도의 명칭을 나타낸다.
도 4는 시간-공간 보정에 대한 시공간 흐름도이다.
도 5는 이동로봇이 정지시 측정하는 스캔 데이터의 예시도이다.
도 6은 이동로봇과 레이저 스캐너가 움직이면서 측정하는 스캔 데이터의 예시도이다.
도 7은 도 6에 측정된 스캔 데이터가 동적 오차 보정이 없을 때 도 6과 비교한 예시도이다.
도 8은 도 6에서 측정된 스캔 데이터가 동적 오차 보정이 있을 때 도 6과 비교한 예시도이다.
이하, 본 발명의 바람직한 실시 예의 상세한 설명은 첨부된 도면들을 참조하여 설명할 것이다. 하기에서 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명을 보다 상세히 설명하면 다음과 같다.
도 1은 본 발명의 실시 예에 따른 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법을 이용한 스캔 거리 데이터 측정 장치를 나타낸 블럭도이다.
도 2는 도 1에 도시된 측정 장치를 이용한 동적 오차 보정 과정을 설명하기 위한 플로우 챠트이다.
도 1에 도시된 바와 같이, 본 발명의 스캔 거리 데이터 측정 장치(100)는 레이저 스캐너(150), 스캔 거리 데이터 획득부(200), 동적 오차 보정부(300), 유효 정보 추출부(400), 유효 정보 알고리즘 처리부(500)를 포함한다.
상기 레이저 스캐너(150)는 이동 로봇의 움직임에 따라 스캔할 대상물체에 광원을 출력하는 기능을 수행한다.
상기 스캔 거리 데이터 획득부(200)는 이동로봇의 가변되는 위치에 따라 상기 레이저 스캐너(150)로부터 출력된 서로 다른 광원을 통해 상기 대상물체를 스캔한 스캔 거리 데이터를 수신하는 역할을 수행한다.
상기 동적 오차 보정부(300)는 상기 스캔 거리 데이터 획득부(200) 내에 저장된 상기 다수의 스캔 거리 데이터를 수신한 후, 상기 다수의 스캔 거리 데이터의 동적 오차가 보정된 스캔 거리 데이터의 보정값을 출력한다.
상기 유효 정보 추출부(400)는 상기 스캔 거리 데이터의 보정값을 수신하여 유효 정보를 추출한다.
상기 유효 정보 알고리즘 처리부(500)는 상기 유효 정보 추출부(400)로부터 추출된 유효 정보를 이용해 이동 로봇의 위치 인식 및 장애물 회피 기술에 적용되는 유효정보 알고리즘이 프로그래밍되도록 설계된다.
도 2에 도시된 바와 같이, 본 발명의 동적 오차 보정부(300)는 상기 레이저 스캐너를 구동하여 스캔 거리 데이터들을 획득하는 단계(S110); 상기 획득한 스캔 거리 데이터의 스캔 벡터 순서에 따른 각각의 측정 시각을 추출하는 단계(S120); 상기 스캔 벡터의 측정 시각에 따른 이동로봇의 좌표계와 레이저 스캐너 좌표계의 위치와 방향 정보를 동작 추정부에서 추정하는 단계(S130); 상기 S130의 결과값을 데이터 보정부(330)가 수신하여 추정된 이동로봇의 위치와 방향, 상기 스캐너의 위치와 방향에 따른 보정 매트릭스를 구성하고 상기 스캔 벡터를 보정하는 단계(S200);를 포함한다.
상기 S120은 레이저 스캐너의 동기 신호 검출 또는 기타 유효한 신호를 사용하여 스캔 벡터 간의 간격 시간을 계산하여 스캔 시작 시각, 스캔 종료 시각, 및 스캔 벡터 각각의 측정 시각들을 추정하는 단계일 수 있다.
상기 S130은 상기 이동 로봇 및 상기 레이저 스캐너 각각의 6차원의 위치 및 방향 정보를 변경시키는 모든 외부 구동 요소들에 대한 각각의 정보를 수집하여 동적 오차 보정을 수행하는 단계일 수 있다.
상기 S200은 상기 측정 시각 추출부와 상기 동작 추정부에서 계산되어진 스캔 벡터 측정 시각들에서의 이동로봇과 레이저 스캐너의 6차원의 위치 및 방향 정보들을 상기 데이터 보정부에서 수신하여 동적 오차 보정을 수행하는 단계일 수 있다.
상기 S200은 스캔 벡터를 입력하는 단계(S140), 스캔 벡터의 극좌표계를 직교 좌표계로 변환하는 단계(S150), 동적 오차 보정을 위한 좌표계로 변환하는 단계(S160), 보정된 스캔 벡터의 직교 좌표계를 3차원 구좌표계로 변환하는 단계(S170) 및 최종 벡터의 유무를 판별하는 단계(S180)으로 구성될 수 있다.
이하에서는 도 1 및 도 2를 참조하여 동적 오차 보정부(300)를 보다 상세하게 설명하도록 한다.
보다 구체적으로, 상기 동적 오차 보정부(300)는 측정 시각 추출부(310), 동작 추정부(320), 데이터 보정부(330)를 포함한다.
상기 측정 시각 추출부(310)는 상기 다수의 스캔 거리 데이터의 시작 및 종료 시각을 추출하여 각 스캔 거리 데이터들의 측정 시각을 계산한 제1 결과값을 출력한다.
상기 측정 시각 추출부(310)는 상기 레이저 스캐너의 회전에 따른 스캔 방향에 따라 순차적으로 획득되는 스캔 거리 데이터들의 벡터가 스캔 거리 데이터의 몇 번째로 들어오는 가를 스캔 벡터 순번 i(i=1,2,3,…,i,…N)로 스캔을 시작하여 스캔 완료까지의 각도를 측정 범위 각도라 설정하도록 설계된다.
즉, 도 3을 참조하면, 레이저 스캐너(150)가 지날 때의 시각을 알 수 있는 각도를 동기 신호 발생 각도(501), 동기 신호 발생 각도(501)와 스캔 시작점 사이의 간격 시간과 회전각 값을 오프셋 시간(τ)과 오프셋 각도Φ(502)라 설정한다. 이때, 추정된 스캔 벡터들 사이의 각도는 스캔 벡터 간격 시간 (△ts)으로 하고 이 값은 다를 수 있다.
상기 레이저 스캐너(150)는 내부에 레이저 회저모터(미도시)가 일정한 속도(RPM)로 회전하고 있다. 이로 인해, 동기 신호 발생 각도, 동기 신호 발생 시각, 오프셋 각도값, 측정 범위 각도값을 안다면, 원하는 스캔벡터 순번의 스캔 벡터가 측정될 때의 시각을 아래에 기재된 식(1)과 같이 역추정할 수 있다.
[식 1]
Sk ,i = Yk + τ + (i-1)△ts
여기서, △ts 및 τ는 아래에 기재된 식 2와 같이 나타낼 수 있다.
[식 2]
Figure 112012095489451-pat00001
즉, 일회전의 스캔마다 먼저 구해야 할 시각은 스캔 시작 시각 Sk ,1(511)이다.
이때, 동기 신호가 발생되고 일정한 오프셋 각도값(502)을 회전한 뒤에 스캔이 시작된다. 따라서, 스캔 시작 시각(511)은 동기 신호 발생 시각에 오프셋 각도값에서 레이저 스캐너의 레이저 회전모터 회전속도(RPM)을 나눈 값을 더한 값이 된다.
특정 스캔 벡터가 측정된 시각은 [식 1]과 같이 스캔 시작 시각에서 일정한 각도가 회전했을 때이다. 따라서 원하는 스캔 벡터순번의 스캔 벡터가 측정된 시각은, 스캔 시각에 스캔 벡터 순번에서 1을 뺀 값과 스캔 벡터 간의 간격 시간(△ts)을 곱한 값을 더한 시각이 된다.
한편, 상기 동작 추정부(320)는 상기 제1 결과값 내의 모터 엔코더 데이터로부터 상기 이동로봇과 상기 스캐너의 위치 및 방향을 추정한 제2 결과값을 산출한다.
더불어, 레이저 스캐너의 1회 스캔 수행 시간은 짧은 시간이므로 짧은 시간동안에서는 엔코더 데이터로부터 추정하는 정보의 오차는 상당히 작다.
따라서, 모터 엔코더 데이터로부터 이동로봇과 스캐너의 위치 방향을 추정하는 다양한 방법들이 존재하므로 그 중 하나의 방법을 사용하여 이동로봇과 레이저 스캐너의 위치 및 방향을 추정한다.
본 발명의 동작 추정부(320)는 일 예로 추측항법(dead-reckoning)을 사용하여 이동 로봇의 엔코더 데이터로부터 스캔 수행 시간 동안 이동 로봇의 위치 및 방향을 계산하였다. 본 발명에서는 추측항법(dead-reckoning)을 예시하였으나, 이에 한정되는 것은 아니다.
이와 동일한 방식으로 레이저 스캐너를 움직이게 하는 팬/틸트 모터의 엔코더 데이터를 이용하면 스캔 수행 시간 동안 레이저 스캐너의 위치 및 방향을 계산할 수 있다.
다음으로, 상기 데이터 보정부(330)는 상기 동작 추정부(320)로부터 추정된 스캔 벡터를 순차적으로 입력받아 스캔 거리 데이터를 구성한다. 이때 스캔 거리 데이터를 구성하는 스캔 벡터는 자신의 순번과 거리 데이터를 가지게 된다.
이때, 스캔 벡터는 스캔 거리 데이터가 2차원 극좌표계 형태(r, θ)이므로, 2차원 직교좌표계 형태(x, y)로 변환될 수 있으며, 스캔 거리 데이터 순번마다 스캐너 중심을 원점으로 고유의 각도 값이 있으므로 스캐너 중심을 원점으로 한 좌표계에 대해 직교좌표계 형태로 변환된다.
이후, 스캔 거리 데이터의 측정시각에서 이동로봇의 위치 및 방향(711, 712, …, 719)과 스캐너의 위치 및 방향(761, 762, …, 769)을, 보정 기준시각에서의 이동로봇의 위치 및 방향(719)과 레이저 스캐너의 위치 및 방향(769)을 변환식에 적용하게 된다.
이때, 보정 기준시각은 설계자가 임의로 정할 수 있는 시각으로 정확한 스캔데이터를 얻고 싶은 시각을 설정한다. 여기서는 1회 스캔 수행시 마지막 스캔벡터가 측정될 시각(Sk ,N)을 보정 기준시각으로 설정한다. 동적 오차 보정을 위한 변환식은 아래에 기재된 4개의 변환식으로 구성되어질 수 있다.
측정시각에서 스캔좌표계에서 로봇좌표계로 변환(
Figure 112012095489451-pat00002
,771,772,…,779)식은 스캔 벡터의 기준점을 각각의 스캔 벡터가 측정되었을 때의 레이저 스캐너(761,762,…,769)에서 각각의 스캔 벡터가 측정되었을 때의 이동로봇(711,712,…,719)으로 변환하여 준다.
측정시각에서 로봇좌표계에서 글로벌좌표계로 변환(
Figure 112012095489451-pat00003
,721,722,…,729)식은 스캔 벡터의 기준점을 각각의 스캔 벡터가 측정되었을 때의 이동 로봇(711,712,…719)에서 글로벌좌표계(600)로 변환하여 준다.
보정 기준시각에서 글로벌좌표계(600)에서 로봇좌표계(719)로 변환식
Figure 112012095489451-pat00004
(729)은 글로벌좌표계(600)를 기준점으로 변환된 스캔 벡터의 기준점을 보정 기준시각에서 로봇좌표계(719)로 변환하여 준다.
보정 기준시각에서 로봇좌표계(719)에서 스캔좌표계(769)로 변환식
Figure 112012095489451-pat00005
(779)은 보정 기준시각에서 로봇좌표계(719)를 기준점으로 변환된 스캔 벡터의 기준점을 보정 기준시각에서 스캔좌표계(769)로 변환하여 준다.
이 4개의 변환식을 미리 매트릭스 곱셈해 놓으면 아래와 같은 하나의 변환식이 구해진다.
[변환식]
Figure 112012095489451-pat00006
특히 측정시각과 보정 기준시각과의 관계를 살펴보면, 측정시각에서 이동 로봇의 방향과 보정 기준시각에서 이동 로봇의 방향은 수식적으로 각도의 변화이므로 변환식에서 삼각함수의 곱셈으로 표현되어지는 부분이 각도의 차로 단순화된다.
이는 특정각도의 삼각함수의 곱셈으로 표현되어지는 부분이 각도의 차로 단순화된다. 또한, 특정각도의 삼각함수 값 2개를 구하고 이 2개의 값을 곱셈해야 하는 과정을 2개의 각도 값 차이를 구하고 이 차이 값에 맞는 하나의 삼각함수 값만을 구하는 과정이 될 수 있다는 것이다.
비록 약간의 계산량 감소로 보이지만, 스캔 벡터 하나를 동적 오차 보정할 때 단축시킬 수 있는 것이다. 모든 스캔 거리 데이터를 스캔 거리 데이터가 측정되어 질 때마다 전체 동적 오차 보정을 해야 하는데 이를 고려하면 계산 속도가 현저하게 단축된다.
즉, 측정시각과 보정 기준시각과의 관계와 변환식의 특성에 의해 변환식을 구성하는 삼각함수가 삼각함수 덧셈 및 곱셈법칙으로 단순해 지는 특정을 가지게 되어 계산 속도가 단축된다.
보정 기준시각에서 스캐너 좌표계로 돌아오는 변환식은 측정시각에서의 변환식과는 변환 방향이 반대방향이다. 이때 역방향으로 좌표계로 돌아오는 변환식은 변환식의 역매트릭스(Inverse matrix)가 된다.
이에 대한 예제 식은
Figure 112012095489451-pat00007
이다. 구해진 변환식과 스캔 벡터의 직교좌표계 값과 매트릭스 곱셈계산을 하게 되면 동적 오차가 보정된 스캔 벡터의 직교좌표계 값이 얻어진다. 동적 오차가 보정되기 전에는 스캔 벡터의 직교좌표계는 z 값이 없는 2차원 형태였지만, 동적 오차가 보정된 후에는 z값이 존재하는 3차원 직교좌표계 형태(x,y,z)가 된다.
이후, 보정된 3차원 직교좌표계 형태의 스캔 벡터를 다시 보정 기준시각에서 레이저 스캐너 중심을 원점으로 하는 스캐너 좌표계(769)의 3차원 구좌표계 형태로 변환한다.
3차원 직교좌표계 형태로 보정되었으므로, 3차원 구좌표계형태가 최종 출력 형태가 된다. 결국 글로벌좌표계(600)에서의 스캔 측정된 위치(
Figure 112012095489451-pat00008
. 811=831, 812=832, …, 819=839)는 불변이지만, 보정 전의 스캔 벡터(
Figure 112012095489451-pat00009
, 911, 912, …, 919)는 보정 후의 스캔 벡터(
Figure 112012095489451-pat00010
,931, 932, …, 939)로 변환된다. 동적 오차 보정이 없으면 스캔 벡터가 마치 순간적으로 측정한 것으로 착각하여 동적 오차를 포함한 스캔 벡터(
Figure 112012095489451-pat00011
, 921, 922,…, 929)를 출력하게 된다.
보정된 스캔 벡터는 스캐너좌표계인 3차원 구좌표계 형태(
Figure 112012095489451-pat00012
)로 2개의 각도 정보와 거리 정보를 가진 벡터로 스캔 거리 데이터가 이에 해당된다.
이후, 보정된 스캔 벡터가 이번 스캔주기의 스캔 거리 데이터 중 마지막 스캔벡터인지 확인하고 마지막 스캔 벡터이면 다음 스캔 주기의 보정과정으로 넘어가거나 아니면 다음 순번의 스캔 벡터의 동적 오차 보정을 수행하기 위한 과정을 거치게 된다.
상술한 과정을 통해 출력되는 알고리즘은 다음과 같다.
출력으로 제공되는 스캔데이터는 3차원 구자표계 형태로 레이저 스캐너 좌표계에서의 2개의 각도와 거리값으로 구성된 스캔 벡터들의 모임이다.
보정 기준 시각을 마지막 순번의 스캔 거리 데이터 측정 시각으로 설정하였을 때, 동적 보정이 완료된 스캔 거리 데이터는 입력된 스캔 거리 데이터와는 다른 방향과 측정 거리값을 갖게 된다. 된다.(
Figure 112012095489451-pat00013
)
다만, 보정 기준 시각 때의 스캔 벡터만은 변하지 않는다.(
Figure 112012095489451-pat00014
)
이하에서는 동적 보상의 효과를 도면을 참조하여 설명하도록 한다.
이동 로봇과 레이저 스캐너가 정지한 상태로 이동 로봇 좌표계(700)와 레이저 스캐너 좌표계(750)가 어떠한 움직임도 없기 때문에 동적 오차가 없는 스캔 거리 데이터를 출력하여 측정된 위치(801,802,…,809)에 대한 왜곡이 없다.
도 6의 경우 이동 로봇과 레이저 스캐너가 움직이면서 측정하므로 이동 로봇 좌표계(711, 712, …, 719)와 레이저 스캐너 좌표계(761,762,…,769)의 위치 및 방향이 변화하면서 측정하므로 스캔 벡터(
Figure 112012095489451-pat00015
, 911,912, …,919)가 가르키는 측정 위치(
Figure 112012095489451-pat00016
, 811,812,…,819)는 도 5와 다르다.
도 7의 경우 이동 로봇과 레이저 스캐너의 위치 및 방향의 변화를 고려하지 않은 동적 오차를 보정하지 않는 경우 스캔 벡터(
Figure 112012095489451-pat00017
, 921,922,…929)가 다른 측정 위치(
Figure 112012095489451-pat00018
,821,822, …, 829)를 가르키게 되어 왜곡이 생기게 된다. 도 8의 경우 동적 오차를 보정하여 이동 로봇과 레이저 스캐너가 움직이면서 측정한 위치를 가르키게 되도록 보정된 스캔 벡터(
Figure 112012095489451-pat00019
,931,932,…939)를 출력하게 되어 왜곡이 없어지게 된다.
따라서 본 발명은 측정 시각 추출부(310), 동작 추정부(320) 및 데이터 보정부(330) 각각에서 수행되는 단계들을 통해 이동로봇 및 레이저 스캐너의 위치 및 방향의 변화로 스캔 데이터에 생기는 3차원 동적 오차를 보정할 수 있으면서 삼각함수의 법칙과 변환식의 특성을 적용함으로써, 이동로봇 및 레이저 스캐너의 위치 및 방향이 어떠한 형태로 변하여도 이때 생기는 동적 오차를 정확히 보정할 수 있는 장점을 가지고 있어 스캔 거리 데이터 자체의 정확도가 증가하여 스캔 거리 데이터를 활용하는 어떠한 기술의 정확도를 향상시킬 수 있다.
따라서, 본 발명을 통해 빠르고 정확하게 동적 오차를 보정할 수 있어 스캔 거리 데이터 자체의 정확도를 향상시키므로 빠르고 다양하게 변하는 이동 로봇 및 스캐너의 위치 및 방향이 있는 상황에서 스캔 거리 데이터로 유효정보를 추출, 자기위치인식 및 장애물 감지 등의 유효정보 활용하는 모든 과정의 정확도를 향상시킬 수 있으므로 활용성이 높다.
이상, 본 발명의 실시 예를 참조하여 설명했지만, 본 발명이 이것에 한정되지는 않으며, 다양한 변형 및 응용이 가능하다. 즉, 본 발명의 요지를 일탈하지 않는 범위에서 많은 변형이 가능한 것을 당업자는 용이하게 이해할 수 있을 것이다.
150, 761 내지 769: 레이저 스캐너
200: 스캔 거리 데이터 획득부
300: 동적 오차 보정부
310: 측정시각 추출부
320: 동작 추정부
330: 데이터 보정부
331: 제1 처리모듈
332: 제2 처리모듈
333: 제3 처리모듈
334: 제4 처리모듈
335: 제5 처리모듈
400: 유효 정보 추출부
500: 유효 정보 알고리즘 처리부
600: 글로벌좌표계
700: 이동 로봇 좌표계
750: 레이저 스캐너 좌표계

Claims (9)

  1. 이동 로봇에 구비되며, 상기 이동 로봇의 움직임에 따라 대상물체를 스캔한 다수의 스캔 거리 데이터를 출력하는 레이저 스캐너(150);
    상기 레이저 스캐너로부터 출력된 광원이 상기 대상물체에 반사된 반사광원 내의 스캔 거리 데이터를 추출하는 스캔 거리 데이터 획득부(200);
    상기 레이저 스캐너로부터 출력된 상기 다수의 스캔 거리 데이터를 수신하여, 동적 오차가 보정된 보정값을 출력하는 동적 오차 보정부(300);
    상기 보정값을 수신하여 유효 정보를 추출하는 유효 정보 추출부(400); 및
    상기 유효 정보 추출부로부터 추출된 유효 정보를 이용해 위치 인식 및 장애물 회피 기술에 적용되는 유효정보 알고리즘이 프로그래밍된 유효 정보 알고리즘 처리부(500)를 포함하며,
    상기 동적 오차 보정부(300)는,
    상기 다수의 스캔 거리 데이터의 시작 및 종료 시각을 추출하여 각 스캔 거리 데이터들의 측정 시각을 계산한 제1 결과값을 출력하는 측정 시각 추출부(310);
    상기 제1 결과값 내의 모터 엔코더 정보를 이용한 상기 이동로봇 및 상기 스캐너의 위치 및 방향을 추정한 제2 결과값을 출력하는 동작 추정부(320); 및
    상기 제1 및 제2 결과값을 수신한 후, 벡터값으로 변환하여 3차원 구좌표계로 변환된 데이터를 출력하는 데이터 보정부(330);를 포함하는 것을 특징으로 하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법을 이용한 스캔 거리 데이터 측정 장치.
  2. 제1항에 있어서,
    상기 데이터 보정부(330)는,
    상기 제2 결과값을 수신하여, 벡터값으로 변환하는 제1 처리모듈(331);
    상기 제1 처리모듈로부터 변환된 벡터값을 수신하여 극좌표계에서 직교좌표계로 적용된 벡터값으로 변환하는 제2 처리모듈(332);
    상기 직교좌표계로 변환된 벡터값을 동적 오차 보정을 위한 좌표계로 변환된 벡터값을 출력하는 제3 처리모듈(333);
    상기 제3 처리모듈에서 출력된 벡터값을 수신하여 3차원 구좌표계로 변환된 스캔벡터를 출력하는 제4 처리모듈(334); 및
    상기 제4 처리모듈로부터 출력된 스캔벡터가 동일한 스캔주기의 스캔데이터 중 마지막 스캔 벡터인지의 유무를 확인하는 제5 처리모듈(335)를 포함하는 것을 특징으로 하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법을 이용한 스캔 거리 데이터 측정 장치.
  3. 제2항에 있어서,
    상기 데이터 보정부(330)는,
    6차원의 위치 및 방향의 변환이 가능하게 하는 4×4 매트릭스 형태로 변환시키는 복수 개의 변환식들이 프로그램되어 있는 것을 특징으로 하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법을 이용한 스캔 거리 데이터 측정 장치.
  4. 제3항에 있어서,
    상기 프로그램은,
    데이터 보정 시 계산되는 4×4 매트릭스 형태로 구성된 상기 복수 개의 변환식들을 하나의 변환식으로 축약하여 계산한 후, 삼각함수 법칙으로 계산량을 줄이는 프로그램인 것을 특징으로 하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법을 이용한 스캔 거리 데이터 측정 장치.
  5. 레이저 스캐너를 구동하여 스캔 거리 데이터들을 획득하는 단계(S110);
    상기 획득한 스캔 거리 데이터의 스캔 벡터 순서에 따른 각각의 측정 시각을 측정 시각 추출부에서 추출하는 단계(S120);
    상기 스캔 벡터의 측정 시각에 따른 이동로봇의 좌표계와 레이저 스캐너 좌표계의 위치와 방향 정보를 동작 추정부에서 추정하는 단계(S130);
    상기 S130의 결과값을 데이터 보정부가 수신하여 추정된 이동로봇의 위치와 방향, 상기 레이저 스캐너의 위치와 방향에 따른 보정 매트릭스를 구성하고 상기 스캔 벡터를 보정하는 단계(S200);를 포함하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법.
  6. 제 5항에 있어서,
    상기 S120은,
    상기 레이저 스캐너의 동기 신호 검출 또는 기타 유효한 신호를 사용하여 스캔 벡터 간의 간격 시간을 계산하여 스캔 시작 시각, 스캔 종료 시각, 및 스캔 벡터 각각의 측정 시각들을 추정하는 단계인 것을 특징으로 하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법.
  7. 제5항에 있어서,
    상기 S130은,
    상기 이동 로봇 및 상기 레이저 스캐너 각각의 6차원의 위치 및 방향 정보를 변경시키는 모든 외부 구동 요소들에 대한 각각의 정보를 수집하여 동적 오차 보정을 수행하는 단계인 것을 특징으로 하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법.
  8. 제5항에 있어서,
    상기 S200은,
    상기 측정 시각 추출부와 상기 동작 추정부에서 계산되어진 스캔 벡터 측정 시각들에서의 이동로봇과 레이저 스캐너의 6차원의 위치 및 방향 정보들을 상기 데이터 보정부에서 수신하여 동적 오차 보정을 수행하는 단계인 것을 특징으로 하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법.
  9. 제8항에 있어서,
    상기 S200은,
    동적 오차 보정이 수행되는 보정 기준 시각을 원하는 임의의 시각으로 설정하는 단계를 포함하는 것을 특징으로 하는 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법.
KR1020120131584A 2012-11-20 2012-11-20 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치 KR101390466B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120131584A KR101390466B1 (ko) 2012-11-20 2012-11-20 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120131584A KR101390466B1 (ko) 2012-11-20 2012-11-20 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치

Publications (1)

Publication Number Publication Date
KR101390466B1 true KR101390466B1 (ko) 2014-05-07

Family

ID=50892922

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120131584A KR101390466B1 (ko) 2012-11-20 2012-11-20 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치

Country Status (1)

Country Link
KR (1) KR101390466B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109059799A (zh) * 2018-05-08 2018-12-21 安捷睿(厦门)机器人有限公司 一种激光三维扫描仪及其扫描方法和扫描控制装置
KR20180136058A (ko) * 2017-06-14 2018-12-24 (주)에이랩스 자율주행 로봇용 라이다 장치
CN110379044A (zh) * 2018-09-13 2019-10-25 北京京东尚科信息技术有限公司 一种运动误差补偿的方法和装置
CN111880524A (zh) * 2020-06-12 2020-11-03 珠海市一微半导体有限公司 一种充电座、回充对接系统及激光对接方法
CN112947396A (zh) * 2019-11-25 2021-06-11 苏州科瓴精密机械科技有限公司 反光信标夹角误差补偿方法、自动行走设备以及存储介质
CN114578777A (zh) * 2016-07-12 2022-06-03 波音公司 用于工作单元和工厂级自动化的方法
US11353589B2 (en) * 2017-11-17 2022-06-07 Nvidia Corporation Iterative closest point process based on lidar with integrated motion estimation for high definition maps
CN115629602A (zh) * 2022-10-10 2023-01-20 唐山松下产业机器有限公司 激光寻位控制方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005080914A1 (ja) 2004-02-25 2005-09-01 The University Of Tokyo 形状測定装置及びその方法
JP2009025046A (ja) 2007-07-17 2009-02-05 Toyota Motor Corp 移動体用測位装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005080914A1 (ja) 2004-02-25 2005-09-01 The University Of Tokyo 形状測定装置及びその方法
JP2009025046A (ja) 2007-07-17 2009-02-05 Toyota Motor Corp 移動体用測位装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114578777A (zh) * 2016-07-12 2022-06-03 波音公司 用于工作单元和工厂级自动化的方法
CN114578777B (zh) * 2016-07-12 2024-02-27 波音公司 用于工作单元和工厂级自动化的方法
KR20180136058A (ko) * 2017-06-14 2018-12-24 (주)에이랩스 자율주행 로봇용 라이다 장치
KR102019338B1 (ko) * 2017-06-14 2019-09-06 (주)에이랩스 자율주행 로봇용 라이다 장치
US11353589B2 (en) * 2017-11-17 2022-06-07 Nvidia Corporation Iterative closest point process based on lidar with integrated motion estimation for high definition maps
CN109059799A (zh) * 2018-05-08 2018-12-21 安捷睿(厦门)机器人有限公司 一种激光三维扫描仪及其扫描方法和扫描控制装置
CN109059799B (zh) * 2018-05-08 2024-03-22 安捷睿(厦门)机器人有限公司 一种激光三维扫描仪及其扫描方法和扫描控制装置
CN110379044A (zh) * 2018-09-13 2019-10-25 北京京东尚科信息技术有限公司 一种运动误差补偿的方法和装置
CN112947396A (zh) * 2019-11-25 2021-06-11 苏州科瓴精密机械科技有限公司 反光信标夹角误差补偿方法、自动行走设备以及存储介质
CN111880524A (zh) * 2020-06-12 2020-11-03 珠海市一微半导体有限公司 一种充电座、回充对接系统及激光对接方法
CN111880524B (zh) * 2020-06-12 2024-05-07 珠海一微半导体股份有限公司 一种充电座、回充对接系统及激光对接方法
CN115629602A (zh) * 2022-10-10 2023-01-20 唐山松下产业机器有限公司 激光寻位控制方法及装置

Similar Documents

Publication Publication Date Title
KR101390466B1 (ko) 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치
US10006772B2 (en) Map production method, mobile robot, and map production system
US9386209B2 (en) Method and apparatus for estimating position
US9163940B2 (en) Position/orientation measurement apparatus, measurement processing method thereof, and non-transitory computer-readable storage medium
Assa et al. A robust vision-based sensor fusion approach for real-time pose estimation
JP5713624B2 (ja) 三次元計測方法
WO2019161517A1 (zh) 基于云端的轨迹地图生成方法、装置、设备及应用程序
CN103020952A (zh) 信息处理设备和信息处理方法
JP2014032666A (ja) 周囲状況に対するカメラの姿勢を求めるための方法
CN110889808A (zh) 一种定位的方法、装置、设备及存储介质
CN103412565A (zh) 一种具有全局位置快速估计能力的机器人及其定位方法
Lee et al. Extrinsic and temporal calibration of automotive radar and 3D LiDAR
JP2017524932A (ja) ビデオ支援着艦誘導システム及び方法
Hesch et al. Mirror-based extrinsic camera calibration
KR102490521B1 (ko) 라이다 좌표계와 카메라 좌표계의 벡터 정합을 통한 자동 캘리브레이션 방법
KR101735325B1 (ko) 점군 정합 장치
Chen et al. Geometric calibration of a multi-layer LiDAR system and image sensors using plane-based implicit laser parameters for textured 3-D depth reconstruction
JP2007333441A (ja) 移動体およびその環境認識センサ
KR100773271B1 (ko) 단일 카메라를 이용한 이동 로봇의 위치 측정 방법
JP7448884B2 (ja) 計測システム、計測装置、計測方法、及び計測プログラム
Park et al. Localization for mobile robots with a multi-ToF camera system
JP6670712B2 (ja) 自己位置推定装置、移動体及び自己位置推定方法
Joochim et al. Development of a 3D mapping using 2D/3D sensors for mobile robot locomotion
Mirzaei et al. Analytical least-squares solution for 3d lidar-camera calibration
Tan et al. An interactive method for extrinsic parameter calibration of onboard camera

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee