KR100864801B1 - 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법 - Google Patents

이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법 Download PDF

Info

Publication number
KR100864801B1
KR100864801B1 KR1020070081585A KR20070081585A KR100864801B1 KR 100864801 B1 KR100864801 B1 KR 100864801B1 KR 1020070081585 A KR1020070081585 A KR 1020070081585A KR 20070081585 A KR20070081585 A KR 20070081585A KR 100864801 B1 KR100864801 B1 KR 100864801B1
Authority
KR
South Korea
Prior art keywords
robot
odometry
home
mobile robot
system error
Prior art date
Application number
KR1020070081585A
Other languages
English (en)
Other versions
KR20070090864A (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 KR1020070081585A priority Critical patent/KR100864801B1/ko
Publication of KR20070090864A publication Critical patent/KR20070090864A/ko
Application granted granted Critical
Publication of KR100864801B1 publication Critical patent/KR100864801B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 오프라인 및 온라인 오도메트리 보정 방법의 단점을 감안하여, 홈포지셔닝을 이용한 오도메트리 보정 방법을 제공한다.
본 발명은, 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법에 있어서,
로봇이 홈포지션에서 이동을 시작하는 단계; 상기 로봇이 임의의 궤도를 주행하는 단계;
상기 로봇이 홈포지션으로 돌아오는 왔을 때, 상기 로봇이 추정한 자신의 위치와 실제 홈포지션의 위치의 차이를 비교하여 시스템 오차 매개변수를 업데이트하는 단계; 상기의 단계들을 시스템 오차 매개변수가 임의 값에 수렴할 때까지 반복하는 단계를 포함하는 것을 특징으로 한다.
이와 같은 본 발명의 오도메트리 보정 방법을 이용하면 오프라인 보정 방법의 특성과 온라인 보정 방법의 특성을 함께 가지면서, 홈포지셔닝은 대체로 물리적 접촉으로 이루어지기 때문에 오프라인보정 방법 수준의 정확한 위치 정보를 얻을 수 있고, 위치인식을 위한 센서가 필요 없어 외부 센서의 도움 없이도 오도메트리 보정이 가능하며, 이미 청소로봇 등에 상용화되어 있는 자동 홈포지셔닝 모듈을 이용하면 쉽게 자동화 시킬 수 있다.
이동 로봇, 위치 인식, 주행, 오도메트리, 보정, 홈포지셔닝

Description

이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법{Odometry Calibration method with Home Positioning in Mobile Robot}
본 발명은 이동로봇에서 홈포지셔닝을 이용하여 오도메트리를 보정하는 방법에 관한 것이다.
최근 이동로봇 기술 개발이 활발해지면서 이동로봇이 더 이상 산업현장에서만 쓰이지 않고 다양한 분야에 보급이 되어, 청소용 로봇, 교육용 로봇 등 가정에서 볼 수 있는 로봇으로부터 군사용 목적으로도 이동로봇 기술이 적용되고 있다.
그런데 이러한 이동 로봇에서는 실용적인 로봇 위치 인식, 지도형성 그리고 주행(Localization, mapping and navigation) 알고리즘에 대한 연구의 중요성이 강조되며, 이동 로봇 바퀴의 엔코더로부터 로봇의 상대적 위치를 인식하는 기술인 오도메트리는 이들 기술의 가장 기본적인 기술이며, 성능에 큰 영향을 미치는 요소이다.
이러한 오도메트리는 다양한 원인에 의해 오차가 발생하는데, 이러한 오드메트리 오차는 크게 시스템적적 오차( systematic error)와 비시스템적 오차(non-systematic error)로 구분된다. 시스템적 오차는 주로 내부 시스템의 영향으로 인 해 발생하며, 편향된 오차(biased error)를 갖는다는 특성이 있다. 비시스템적 오차는 주로 시스템 외부의 환경에 의해 만들어지는 오차로 시스템 자체와는 무관하며, 비편향된 무작위(random)오차의 특성을 갖는다.
Borenstein. J, "Internal Correction of Dead-reckoning Errors With the Smart Encoder Trailer", IEEE, Intelligent Robots and Systems, 1994 논문과, Borenstein. J, "Measurement and Correction of Systematic Odometry Errors in Mobile R.obots", IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 12, NO. 6, DECEMBER 1996 논문에서는 이들 오차를 야기하는 가능한 요인들에 대해 분석하고 있다.
이 분석에 의하면 시스템적 오차는 바퀴의 마모, 이물질의 부착 등으로 인해 발생하며, 비시스템적 오차는 바닥의 특성 등에 의하여 발생하는 것을 알 수 있다. 시스템적 오차와 비시스템적 오차의 요인은 환경이 바뀌거나 시간이 지나면서 지속적으로 변하기 때문에 이런 요인을 파악하여 교정하는 오도메트리 보정(odometry calibration)은 수시로 이루어져야 한다.
이처럼 오도메트리 보정은 이동 로봇의 자율 주행 성능 개선을 위해 필요하며, 이 필요성에 따라 오래 전부터 많은 연구자들이 오도메트리 보정 기술을 개발해 왔다. 지금까지 연구해 온 오도메트리의 보정 기술은 크게 오프라인 방법과 온라인 방법으로 나눌 수 있다.
오프라인 방법은 주로 특정 컨트롤 입력이나, 특정 궤도를 따라 로봇이 주행한 후, 직접 계측한 로봇의 최종 실제 위치와 로봇의 오도메트리 상의 최종 추청 위치를 비교하여 그 차이를 이용하여 오도메트리를 보정하는 방법이다. 이와 같은 방법으로 오도메트리를 보정하면, 최종 위치를 직접 측정하기 때문에 외부 센서의 도움 없이 엔코더 값만으로도 이동 로봇의 오도메트리 보정이 가능하다는 장점이 있으나, 사람이 직접 측정해야 하기 때문에 자동화시키기 어렵다는 단점이 있다.
지금까지 연구된 대표적인 오프라인 오도메트리 보정 방법으로는 차동주행방식(differential drive type) 로봇을 정사각형의 궤도를 반복적으로 주행시킨 후 최종위치를 측정하여 오도메트리 보정을 하는 Borenstein의 UMB mark 방법 (Borenstein. J and Feng. L, UMBmark - A method for measuring comparing and correcting dead-reckoning errors in mobile robots. Technical Report UM-MEAM-94-22, University of Michigan)이 있고, 선형적 시스템 오차(linearized systematic error)에 대한 일반적 해법을 제시한 Kelly의 방법 (Kelly A, “General Solution for Linearized Systematic Error Propagation in Vehicle Odometry,” International Conference on Inteligent Robot and Systems (IROSOI) Maui, Hawaii, USA, Oct. 29 - Nov. 3, pag 1938-1945, 2001)이 있다. 또한 기존의 방법과는 약간 다르게 GVG(Generalized Voronoi Graph)를 따라서 전진과 후진을 한 궤도는 일치해야 한다는 아이디어로 오도메트리 보정을 하는 PC-방법 (Doh, N., Choset, H., and Chung,W.K. 2003. Accurate relative localization using odometry. Robotics and Automation. In Proceedings. ICRA ’03. IEEE International Conference, Taipei, Taiwan vol. 2, pp. 1606?1612) 이 오프라인 방법에 속한다.
반면에, 온라인 방법은 임의의 궤도를 주행하는 동안, 거리센서 혹은 비전 센서 등을 이용하여 자신의 위치인식(localization)을 하여 얻은 정보와 오도메트리로서 얻은 자신의 위치의 차이를 비교하며 오도메트리를 보정하는 방법이다. 이와 같은 방법은 엔코더 이외의 외부 센서를 이용하여 지속적으로 보정이 이루어지기 때문에 자동화시키기 쉬우며, 확률적 접근이라는 장점이 있지만, 오도메트리 보정의 결과가 자기위치인식을 위한 센서의 성능에 의존한다는 단점이 있다.
온라인 방법은 likelihood를 최대화시키는 방법으로 오도메트리를 보정한 N.Roy의 방법 (N. Roy and S. Thrun, “Online self-calibration for mobile robots,” in Proc. Int. Conf. Robotics and Automation, vol. 3, 1999, pp. 2292?2297.)이 있고, Larsen의 방법(T.D. Larsen, “Optimal Fusion of Sensors,” PhD thesis, Department of Automation, Technical University of Denmark, Sept. 1998 , T.D. Larsen, M. Bak, N.A. Andersen and O. Ravn,“Location Estimation for Autonomously Guided Vehicle using an Augmented Kalman filter to Autocalibrate the Odometry,” FUSION98 Spie Conference Las Vegas, USA, July 1998)과, Martinelli방법 (Martinelli, A., Tomatis, N., Tapus, A., and Siegwart, R. 2003. Simultaneous localization and odometry calibration. In International Conference on Inteligent Robot and Systems (IROS03), LasVegas, USA.)은 AKF (Augmented Kalman Filter)를 통해 비전 센서와 레이저 센서로 로봇의 위치 인식을 하면서 오도메트리 보정을 하였다.
본 발명은 이상과 같은 오프라인 및 온라인 오도메트리 보정 방법의 단점을 감안하여, 홈포지셔닝을 이용한 오도메트리 보정 방법을 제공한다.
이상과 기술적 과제를 달성하기 위하여, 본 발명은, 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법에 있어서,
로봇이 홈포지션에서 이동을 시작하는 단계; 상기 로봇이 임의의 궤도를 주행하는 단계;
상기 로봇이 홈포지션으로 돌아오는 왔을 때, 상기 로봇이 추정한 자신의 위치와 실제 홈포지션의 위치의 차이를 비교하여 시스템 오차 매개변수를 업데이트하는 단계; 상기의 단계들을 시스템 오차 매개변수가 임의 값에 수렴할 때까지 반복하는 단계를 포함하는 것을 특징으로 한다.
이와 같은 본 발명의 오도메트리 보정 방법을 이용하면 오프라인 보정 방법의 특성과 온라인 보정 방법의 특성을 함께 가지면서, 홈포지셔닝은 대체로 물리적 접촉으로 이루어지기 때문에 오프라인보정 방법 수준의 정확한 위치 정보를 얻을 수 있고, 위치인식을 위한 센서가 필요 없어 외부 센서의 도움 없이도 오도메트리 보정이 가능하며, 이미 청소로봇 등에 상용화되어 있는 자동 홈포지셔닝 모듈을 이용하면 쉽게 자동화 시킬 수 있다.
이제, 이러한 구성에 따른 본 발명을 구체적으로 살펴 보기로 한다.
본 발명에서는 로봇이 홈포지션에서 출발을 하여 임의의 궤도를 돌아 다시 홈포지션으로 돌아오는 것을 홈포지셔닝(Home positioning)이라 명명한다.
본 발명에서 새롭게 제시하고자 하는 오도메트리 보정 방법은 이동 로봇의 특성상 충전, 초기 맵핑 등의 이유로 자주 수행되어지는 홈포지셔닝을 이용한 AKF(Augmented Kalman Filter)오도메트리 보정 방법이다.
홈포지셔닝을 로봇이 다시 제자리로 돌아왔음을 알리는 신호로 이용한다면, 홈포지셔닝이 이루어지는 순간 이동 로봇은 자신의 위치 정보를 얻을 수 있고, 이 위치 정보를 기반으로 확장된 상태 벡터(augmented state)를 업데이트함으로써 오도메트리 보정을 수행할 수 있는 것이다. 이와 같은 방법으로 오도메트리를 보정한다면, 오프라인 보정 방법의 특성과 온라인 보정 방법의 특성을 함께 가지면서 다음과 같은 장점을 같게 된다.
1. 홈포지셔닝은 대체로 물리적 접촉으로 이루어지기 때문에 오프라인 보정방법 수준의 정확한 위치 정보를 얻을 수 있다.
2. 위치인식을 위한 센서가 필요 없어 외부 센서의 도움 없이도 오도메트리 보정이 가능하다.
3. 이미 청소로봇 등에 상용화되어 있는 자동 홈포지셔닝 모듈을 이용하면 쉽게 자동화 시킬 수 있다.
즉, 오프라인의 방법과 온라인의 방법이 가지고 있던 문제를 동시에 보완하면서 상용화하기에 바람직한 특성을 갖는다.
제1장. 기구학적 운동 모델과 시스템적 오차와 비시스템적 오차 모델
본 발명에서는 자율주행 이동로봇이 가장 많이 채택하고 있는 차동주행방식(differential drive type)의 로봇을 이용하였다. 차동주행방식의 기구학적 운동 모델(kinematic motion model)로는 Chong 과 Kleeman(Chong, K.S. and Kleeman, L. 1997. Accurate odometry and error modelling for a mobile robot. In International Conference on Robotics and Automation, vol. 4, pp. 2783-2788.)이 제시한 모델을 기본으로 하였으며 그 식은 다음과 같다
Figure 112007058712790-pat00001
Figure 112007058712790-pat00002
Figure 112007058712790-pat00003
Figure 112007058712790-pat00004
: 측정된 오른쪽/왼쪽 바퀴 반지름을 이용해 구한 오른쪽/왼쪽 바퀴의 구름거리
Figure 112007058712790-pat00005
: 측정된 오른쪽/왼쪽 바퀴의 반지름
d : 측정된 두 바퀴 사이의 거리
Figure 112007058712790-pat00006
: k번째 스텝, 오른쪽/왼쪽 엔코더 펄스 수
Figure 112007058712790-pat00007
: 한바퀴 돌 때 나오는 엔코더의 펄스 수
Figure 112007058712790-pat00008
: 측정된 바퀴 크기로부터 구한 오른쪽/왼쪽 바퀴의 구름거리
Figure 112007058712790-pat00009
: k번째 스텝, 로봇의 이동거리
Figure 112007058712790-pat00010
: k번째 스텝, 로봇의 회전각 변화
Figure 112007058712790-pat00011
: k번째 스텝, 로봇의 x축 위치
Figure 112007058712790-pat00012
: k번째 스텝, 로봇의 y축 위치
Figure 112007058712790-pat00013
: k번째 스텝, 로봇의 회전각
이상적인 로봇의 경우는 (수학식3)을 따라 주행하겠지만 실제의 로봇은 앞서 말한 시스템적 오차와 비시스템적 오차의 원인으로 오차를 갖게 된다. 이 시스템적 오차와 비시스템적 오차를 모델링 하기 가장 쉬운 방법은 두 바퀴의 구름거리(rolling distance)에 생기는 오차를 독립적으로 모델링하는 것이다. 시스템적 오차는 양 바퀴의 실제크기와 측정된 크기의 차이 그리고 두 바퀴 사이의 실제 거리와 측정된 거리의 차이가 만든다고 가정하였으며, 비시스템 오차는 바퀴의 주행거리에 비례하는 표준편차를 갖는 가우시안 랜덤잡음(gaussian random noise)이 들어온다고 가정하였다.
k 번째 스텝에서의, 실제 오른쪽/왼쪽 바퀴의 구름거리에 대한 모델은 가우시안 잡음과 시스템적 오차 원인(systematic error source)을 함께 모델링 함으로써 얻을 수 있다.
본 발명에서 사용된 바퀴의 구름거리 오차 모델은 아래와 같은 수학식들로 표시된다.
Figure 112007058712790-pat00014
Figure 112007058712790-pat00015
Figure 112007058712790-pat00016
Figure 112008059149550-pat00017
은 (수학식1)에서 볼 수 있듯이 엔코더 값과 측정으로 알고 있는 오른쪽/왼쪽 바퀴의 크기로부터 구해진 오른쪽/왼쪽 바퀴의 구름거리이다.
Figure 112008059149550-pat00018
은 측정된 바퀴의 크기의 오차를 보정해주기 위한 매개변수로서
Figure 112008059149550-pat00019
Figure 112008059149550-pat00020
은 실제 오른쪽/왼쪽 바퀴의 크기이다.
Figure 112008059149550-pat00021
Figure 112008059149550-pat00022
으로부터 편향오차를 보정한 오른쪽/왼쪽 바퀴의 구름거리이며,
Figure 112008059149550-pat00023
은 비시스템적 오차까지 모델링한 오른쪽/왼쪽 바퀴의 구름거리이다. 비시스템적 오차는 평균이 0이고 표준편차는 주행거리에 값으로 비례하는 가우시안 랜덤잡음으로 모델링하였다. 또한
Figure 112008059149550-pat00098
은 비시스템적 오차 원인을 나타내고 로봇의 미끄러짐, 예상치 못한 작은 부스러기 등으로 인하여 발생한다. 그리고
Figure 112008059149550-pat00099
는 양바퀴의 구름거리에 따른 비시스템 오차 매개변수(non-systematic error parameter)이다. 위의 수학식들을 기반으로 시스템적 오차와 비시스템적 오차를 고려한 로봇의 k 번째 이동거리와 회전양은 다음의 관계를 갖는다.
Figure 112007058712790-pat00024
Figure 112007058712790-pat00025
d 는 측정된 두 바퀴간의 거리이며,
Figure 112008059149550-pat00100
는 d값을 보정하기 위한 매개변수로서
Figure 112008059149550-pat00101
는 보정된 실제 두 바퀴간의 거리이다. 수학식4 내지 8 을 통해서 볼 수 있듯이, 세 개의 시스템적 오차 매개변수(systematic error parameter)
Figure 112008059149550-pat00027
,
Figure 112008059149550-pat00028
,
Figure 112008059149550-pat00029
와 비시스템적 오차 매개변수 (non-systematic error parameter)
Figure 112008059149550-pat00102
를 이용하여 시스템적 오차와 비시스템적 오차를 모두 고려한 로봇의 기구학적 운동 모델을 만들었다. 즉 시스템적 오차 매개변수(systematic error parameter)
Figure 112008059149550-pat00031
,
Figure 112008059149550-pat00032
,
Figure 112008059149550-pat00033
를 구함으로서 로봇의 편향된 오차를 보정할 수 있으며, 비시스템적 오차 매개변수 (non-systematic error parameter)
Figure 112008059149550-pat00034
를 구함으로써 로봇의 비편향 오차가 얼마나 큰지를 가늠할 수 있다.
다음으로, 홈포지셔닝을 이용하여 시스템적 오차매개변수를 추정하는 방법을 설명하도록 한다.
제2장. 홈포지셔닝을 이용한 시스템 오차 매개변수의 추정
시스템적 오차 파라미터들을 추정하기 위해 본 발명에서는 이상에서 언급한 Larsen의 AKF 알고리즘을 이용하였다. Larsen 방법과 Martinelli방법은 레이져 센서와 같은 거리 센서를 이용한 주행 중 자기위치인식을 통한 보정 방법인 반면, 본 발명이 제시하고자 하는 방법은 임의의 궤도를 지나 다시 홈포지션으로 돌아왔을 때, 궤도 종결(loop closing)에 실패한 오도메트리를 바로 잡아주는 패턴을 반복함으로서 시스템적오차 매개변수를 추정하는 하기와 같은 시나리오를 사용한다. 도2에서는 로봇이 추측한 궤도(실선)와 실제 궤도(점선)를 도시한다.
1. 홈포지션에서 로봇이 이동을 시작한다.
2. 임의의 궤도를 주행한다.
3. 홈포지션으로 돌아온다.
4. 로봇의 추측한 자신의 위치와 실제 홈포지션을 비교하여 시스템오차매개변수를 업데이트한다.
5. 1-4번 스텝을 시스템오차매개변수가 어느 값에 수렴할 때까지 반복한다.
2-1. 확장된 로봇의 상태
AKF는 EKF(Extended Kalman Filter)의 위치인식 알고리즘(Thrun S, Burgard W, Fox D, Probabilistic Robotics, MIT Press, p203-210)과 비슷하다. 다만 AKF는 EKF가 갖고 있는 상태벡터(state,로봇의 x,y,
Figure 112007058712790-pat00035
)외에 시스템 오차 매개변수를 추가하여 상태벡터를 확장(augment)시킨 후 로봇의 기존의 상태벡터와 함께 시스템 오차 매개변수까지 함께 추정하는 알고리즘이다.
Figure 112007058712790-pat00036
를 본래의 로봇 환경(configuration) 상태벡터이라 한다면
Figure 112007058712790-pat00037
이고 Xa 는 시스템오차매개변수까지 추가된 형태로 다음과 같이 표현되어진다.
Figure 112007058712790-pat00038
2-2. 확장된 로봇 상태의 예측( prediction )
홈포지션에 다시 돌아와 자신의 위치에 대한 측정(measurement)이 이루어지 기 전까지, 시스템의 상태벡터
Figure 112007058712790-pat00039
는 단순히 운동기구학모델(수학식3)에 따른 예측만으로 얻어진다. 확장되기 전의 예측 모델은 ,
Figure 112007058712790-pat00040
,
Figure 112007058712790-pat00041
의 식에 따라 로봇의 운동을 예측할 수 있으며. 증가된 상태(augmented state)의 Xa에 대해서는 확장된 예측모델(prediction model)을 아래와 같이 적용시킬 수 있다.
Figure 112007058712790-pat00042
평균치 예측
Figure 112007058712790-pat00043
수학식11에서 알 수 있듯이 어떤 측정이 들어오기 전까지 예측만 할 경우에 는 확장된 부분인 시스템적 오차 매개변수는 변하지 않는다. 본 발명이 제시하는 방법으로 설명을 하면, 로봇이 홈포지션을 출발하여서 다시 홈포지션으로 돌아올 때까지 로봇은 수학식11을 이용하여 로봇 상태의 평균값을 지속적으로 예측해 준다. 또한 로봇 상태에 대한 공분산행렬은 AKF 알고리즘에 따라 다음의 수학식12와 같이 증가시켜 준다.
Figure 112007058712790-pat00044
공분산 예측
Figure 112007058712790-pat00045
Figure 112007058712790-pat00046
Figure 112007058712790-pat00047
P : 로봇상태의 공분산 (robot covariance matrix)
Q : 제어입력(control input)에 대한 잡음 공분산행렬 (noise covariance matrix)
위의 수학식12로 로봇의 공분산은 증가하게 되며, 제어입력의 비시스템적 에러는 입력의 크기에 비례하는 공분산을 갖는 가우시안 랜덤 모델로 모델링 된다.
2-3. 확장된 로봇 상태의 업데이트
AKF의 측정(measurement)으로는 로봇의 홈포지셔닝을 이용한다. 홈포지셔닝을 로봇 위치의 측정으로서 이용할 경우에는 거리센서가 주는 측정 정보에 비해 더 강력하게 이용할 수 있다. 거리센서는 특정 형상까지의 거리와 각도의 2차원 정보만을 주어 로봇의 3차원 정보(x,y,
Figure 112007058712790-pat00048
)를 결정지을 수 없으나, 홈포지셔닝을 측정으로 이용한다면 직접적으로 로봇의 3차원 정보를 얻을 수 있게 된다. 또한 거리센서는 고가의 장비인 레이저로만이 정확한 데이터를 얻을 수 있으며, 실용적인 센서인 초음파 센서나 IR 센서에는 많은 불확실성이 존재한다. 그러나 홈포지셔닝은 대부분 물리적 접촉으로 확인할 수 있기에 그 정확도가 매우 높다.
홈포지션에 도달했을 때의 측정 모델은 다음의 수학식15, 수학식16과 같이 표현할 수 있다.
Figure 112007058712790-pat00049
Figure 112007058712790-pat00050
그리고 측정을 통한 상태벡터와 공분산의 업데이트는 다음과 같은 식으로 이루어진다.
Figure 112007058712790-pat00051
Innovation 행렬
Figure 112007058712790-pat00052
칼만 이득
Figure 112007058712790-pat00053
평균치 업데이트
Figure 112007058712790-pat00054
공분산 업데이트
Figure 112007058712790-pat00055
: 측정 잡음 공분산
즉 홈포지션에 돌아올 때까지 계속 상태를 예측만 해주다가 홈포지션에 돌아왔을 때 예측된 상태와 실제의 상태를 비교하여 칼만 이득을 통해 업데이트를 해줌으로써 새로운 확장된 상태벡터(augmented state)를 얻는 것이다. 이런 예측과 측정을 통한 업데이트를 반복하면 로봇은 실제 시스템적 오차 매개변수(reference systematic error parameter)에 수렴할 수 있다.
4. 실험결과
4-1. 시뮬레이션
실제 로봇으로 실험을 하기 전에, 알고리즘의 성능평가를 위하여 Matlab을 이용한 시뮬레이션을 먼저 수행하였다. 시뮬레이션의 시나리오는 앞서 설명한 바와 같이 홈포지션에서 로봇이 출발하여 임의의 궤도를 따라 움직인 후 다시 돌아오는 홈포지셔닝 패턴을 10회 반복하는 것이다. 시뮬레이션의 조건은 다음과 같다 .
- 시뮬레이션 언어 : Matlab
- 엔코더 샘플링 타임 (encoder sampling time) : 0.025초
- 양쪽 바퀴의 측정된 반지름 : 50mm
- 두 바퀴간의 간격 : 400mm
- 엔코더의 레졸루션 : 360 신호/회전
- 모션 잡음(motion noise) : 표준편차 10%의 가우시안 분포
- 측정 잡음(measurement noise) : 10mm, 10mm, 0.02rad 의 표준편차를 갖는 가우시안 분포
- 실제 시스템오차매개변수 :
Figure 112007058712790-pat00056
=0.99
Figure 112007058712790-pat00057
=1.02
Figure 112007058712790-pat00058
=1.01
- AKF parameter
Figure 112007058712790-pat00059
Figure 112007058712790-pat00060
Figure 112007058712790-pat00061
위의 조건을 바탕으로 시뮬레이션을 수행한 결과는 도4, 5와 같다.
도4의 시뮬레이션 결과와 같이 처음 단계에서는 홈포지션까지 돌아오는 로봇의 실제 경로와 로봇이 추측한 오도메트리의 경로가 많이 차이가 났다. 그러나 점차 홈포지셔닝을 측정으로 이용하여 시스템 오차 매개변수를 도5와 같이 보정시켜준 결과, 매회 홈포지셔닝을 거듭할수록 오도메트리의 경로는 실제 경로와 가까워짐을 알 수 있다. 또한 시스템 오차 매개변수의 값 역시 시뮬레이션에서 준 참조값( reference value)에 수렴하였음을 확인할 수 있다.
최종 추정된 시스템오차매개변수
Figure 112007058712790-pat00062
= 0.98862,
Figure 112007058712790-pat00063
= 1.0205,
Figure 112007058712790-pat00064
= 1.0149
시스템오차매개변수 참조값 (reference value)
Figure 112007058712790-pat00065
= 0.99
Figure 112007058712790-pat00066
= 1.02
Figure 112007058712790-pat00067
= 1.01
4-2. 실제 환경에서의 실험 결과
시뮬레이션 결과를 바탕으로 실제 로봇을 이용하여 실험을 하였다. 실험에 사용한 로봇은 시판중인 유진로보틱스社의 청소로봇 아이클레보 Free 제품의 주행모듈을 이용하였다. 자동 홈포지셔닝 기능을 가지고 있으며 수동으로 로봇의 조정이 가능하다. 로봇의 엔코더 값과 양바퀴의 크기(wheel radius), 양바퀴 사이의 거리(base length)를 측정하여 로봇의 오도메트리 경로를 추정할 수 있었으며 실험에 사용한 로봇의 구성은 다음과 같다.
- 로봇명 : 유진로보틱스社 아이클레보 free
- 엔코더 샘플링 타임 : 0.03초
- 엔코더 레졸루션 : 900 신호/회전
- 바퀴 반지름 : 42mm
- 바퀴간의 거리 : 298mm
- 자동 홈포지셔닝 기능 있음
시뮬레이션과 동일한 방법으로 홈포지션에서 로봇을 출발 시킨 후 임의의 경 로로 움직인 후 자동 홈포지셔닝 기능을 이용하여 다시 홈포지션까지 돌아온다. 앞의 동작을 20회 반복한다.
실제 로봇으로 한 실험이기에 정확한 참조값은 알 수 없지만, 도7과 같이 시스템 오차 파라미터 3개 모두 어떤 값에 수렴하였음을 확인할 수 있었다.
최종 시스템오차매개변수
Figure 112007058712790-pat00068
= 0.9727,
Figure 112007058712790-pat00069
= 0.9704,
Figure 112007058712790-pat00070
= 0.9929
도8은 최종적으로 보정된 시스템 오차 매개변수를 기반으로 한 오도메트리 경로와, 보정되기 전 시스템 오차매개변수를 기반으로 한 오도메트리 경로를 함께 그린 그림이다. 실제 실험에서는 로봇의 절대 경로를 정확히 알 수 없기에 중요 길목(way point)만 붉은점으로 표시하였다. 도7에서 볼 수 있듯이 보정후의 경로가 way point를 더 근접하게 지나갔으며 홈포지셔닝에도 보다 잘 성공하였음을 확인할 수 있었다.
본 발명에서는 홈포지셔닝을 이용한 차동주행방식 로봇의 오도메트리 보정의 새로운 방법을 제시하였으며, 시뮬레이션과 실제 로봇을 통한 실험으로 그 성능을 평가하였다.
본 발명에서 제시한 방법은 기존의 온라인 보정 방법이 가지고 있는 임의의 패스를 움직이며 자동화하기 쉽다는 장점을 갖으면서도, 온라인 보정 방법이 갖는 결정적인 문제점인 센서의 성능에 오도메트리 보정 성능이 좌우된다는 단점을 홈포지셔닝을 이용함으로써 극복하였다.
시뮬레이션을 통한 실험에서는 고의로 만들어 준 편향오차를 정확히 극복함을 확인할 수 있었으며, 실제 로봇을 이용한 실험에서 역시 보정 전보다 확연히 성능이 향상된 오도메트리 경로를 그리며 주행하였다. 특히 실험에 사용된 실험용 로봇이 아닌 이미 시중에서 청소용 로봇으로 판매되고 있는 저가형 로봇이라는 것을 고려해보면, 본 오도메트리 보정은 기존의 기술들에 비해 상용화에 보다 가까운 기술임을 확인할 수 있었다.
도1은 본 발명에서 사용된 차동주행 방식을 설명하는 도면
도2는 본 발명에서 홈포지셔닝을 이용한 시스템 오차 매개변수의 추정방법을 도시함.
도3은 본 발명에서 홈포지셔닝 장면을 도시함.
도4는 본 발명에 따라 실제 경로와 오도메트리 경로의 시뮬레이션 비교 결과를 도시함.
도5는 본 발명에 따라 시스템 오차 매개 변수의 시뮬레이션 결과를 도시함.
도6은 본 발명의 실험에 사용된 로봇을 도시함.
도7은 도6의 로봇을 사용한 시스템 오차 매개변수의 실험 결과를 도시함.
도8은 도6의 로봇을 사용한 오도메트리 경로의 실험 결과를 도시함.

Claims (7)

  1. 삭제
  2. 삭제
  3. 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법에 있어서,
    로봇이 홈포지션에서 이동을 시작하는 단계;
    상기 로봇이 임의의 괘도를 주행하는 단계;
    상기 로봇이 홈포지션으로 돌아오는 왔을 때, 상기 로봇이 추정한 자신의 위치와 실제 홈포지션의 위치의 차이를 비교하여 시스템 오차 매개변수를 업데이트하는 단계;
    상기의 단계들을 시스템 오차 매개변수가 임의 값에 수렴할 때까지 반복하는 단계를 포함하고,
    상기 이동로봇의 양바퀴의 구름거리에 의해서 상기 이동로봇의 상기 시스템 오차 매개변수와 비시스템 오차 매개변수가 모델링 되며,
    상기 비시스템 오차는 바퀴의 구름거리에 비례하는 표준편차를 갖는 가우시안 랜덤 잡음 형태인 것을 특징으로 하는 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법.
  4. 제3항에 있어서, 상기 이동로봇의 기구학적 운동 모델은 하기 식들에 의해 결정되는 것을 특징으로 하는 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법.
    Figure 112008059149550-pat00071
    (수학식1)
    Figure 112008059149550-pat00072
    (수학식2)
    Figure 112008059149550-pat00073
    (수학식3)
    Figure 112008059149550-pat00074
    : 측정된 오른쪽/왼쪽 바퀴 반지름을 이용해 구한 오른쪽/왼쪽 바퀴의 구름거리
    : 측정된 오른쪽/왼쪽 바퀴의 반지름
    d : 측정된 두 바퀴 사이의 거리
    Figure 112008059149550-pat00076
    : k번째 스텝, 오른쪽/왼쪽 엔코더 펄스 수
    Figure 112008059149550-pat00077
    : 한바퀴 돌 때 나오는 엔코더의 펄스 수
    Figure 112008059149550-pat00078
    : 측정된 바퀴 크기로부터 구한 오른쪽/왼쪽 바퀴의 구름거리
    Figure 112008059149550-pat00079
    : k번째 스텝, 로봇의 이동거리
    Figure 112008059149550-pat00080
    : k번째 스텝, 로봇의 회전각 변화
    Figure 112008059149550-pat00081
    : k번째 스텝, 로봇의 x축 위치
    Figure 112008059149550-pat00082
    : k번째 스텝, 로봇의 y축 위치
    Figure 112008059149550-pat00083
    : k번째 스텝, 로봇의 회전각
  5. 제4항에 있어서, 상기 이동로봇의 양바퀴의 구름거리에 의해서 상기 이동로봇의 상기 시스템 오차 매개변수와 비시스템 오차 매개변수가 하기의 구름거리 오차 모델 식들에 따라 모델링 되는 것을 특징으로 하는 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법.
    Figure 112008059149550-pat00084
    (수학식4)
    Figure 112008059149550-pat00085
    (수학식5)
    Figure 112008059149550-pat00086
    (수학식6)
    여기서,
    Figure 112008059149550-pat00103
    은 비시스템적 오차 원인을 나타내고,
    Figure 112008059149550-pat00104
    는 양바퀴의 구름거리에 따른 비시스템 오차 매개변수이다.
  6. 제5항에 있어서, 상기 이동로봇의 k번째 이동거리와 회전각 변화는 하기 식들에 의해 결정되는 것을 특징으로 하는 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법.
    Figure 112008059149550-pat00087
    (수학식7)
    Figure 112008059149550-pat00088
    (수학식8)
    여기서,
    Figure 112008059149550-pat00105
    는 보정된 실제 두 바퀴간의 거리이다
  7. 제4항에 있어서, 상기 이동로봇의 자기 위치의 추정은 하기 식들에 의해 결정되는 것을 특징으로 하는 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법.
    Figure 112007058712790-pat00089
    (수학식11)
KR1020070081585A 2007-08-14 2007-08-14 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법 KR100864801B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070081585A KR100864801B1 (ko) 2007-08-14 2007-08-14 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070081585A KR100864801B1 (ko) 2007-08-14 2007-08-14 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법

Publications (2)

Publication Number Publication Date
KR20070090864A KR20070090864A (ko) 2007-09-06
KR100864801B1 true KR100864801B1 (ko) 2008-10-23

Family

ID=38689102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070081585A KR100864801B1 (ko) 2007-08-14 2007-08-14 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법

Country Status (1)

Country Link
KR (1) KR100864801B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101222298B1 (ko) 2010-09-08 2013-01-15 고려대학교 산학협력단 2-륜 이동 로봇의 오도메트리 오차 보정 방법
CN106393104A (zh) * 2016-08-25 2017-02-15 北京创想智控科技有限公司 一种移动机器人的行程校准方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103284662B (zh) * 2012-03-02 2016-09-21 恩斯迈电子(深圳)有限公司 清扫***及其控制方法
KR101508860B1 (ko) 2013-12-31 2015-04-07 고려대학교 산학협력단 레이저 거리 센서에 의해 측정된 측정 거리의 거리 유형을 평가하는 방법 및 이를 이용한 이동 로봇의 위치 추정 방법
KR102026376B1 (ko) 2018-01-11 2019-09-30 서울대학교산학협력단 구조적 환경 특징을 이용한 영상 기반 주행 거리 측정 시스템 및 방법
WO2019194636A1 (ko) * 2018-04-06 2019-10-10 엘지전자 주식회사 이동로봇과 이동로봇의 제어방법
CN110181511B (zh) * 2019-05-22 2020-10-23 上海展湾信息科技有限公司 机器人零点丢失检测及辅助零点校准的方法及***
CN112649017B (zh) * 2019-10-10 2024-05-17 北京京东乾石科技有限公司 一种里程计***误差的标定方法和装置
CN115019537B (zh) * 2022-06-20 2023-11-14 芜湖宏景电子股份有限公司 一种应用于低质量网络条件下的智能导航***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050088636A (ko) * 2004-03-02 2005-09-07 학교법인 포항공과대학교 동기구동형 이동로봇의 오도메트리 오차모델 생성방법
KR20060088333A (ko) * 2005-02-01 2006-08-04 삼성전자주식회사 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법및 장치
JP2007156576A (ja) 2005-11-30 2007-06-21 Mitsubishi Heavy Ind Ltd 走行台車のオドメトリ(車輪距離計)パラメータ調整方法及び装置
KR20070072306A (ko) * 2005-12-29 2007-07-04 한국생산기술연구원 이동 로봇의 위치 추정 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050088636A (ko) * 2004-03-02 2005-09-07 학교법인 포항공과대학교 동기구동형 이동로봇의 오도메트리 오차모델 생성방법
KR20060088333A (ko) * 2005-02-01 2006-08-04 삼성전자주식회사 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법및 장치
JP2007156576A (ja) 2005-11-30 2007-06-21 Mitsubishi Heavy Ind Ltd 走行台車のオドメトリ(車輪距離計)パラメータ調整方法及び装置
KR20070072306A (ko) * 2005-12-29 2007-07-04 한국생산기술연구원 이동 로봇의 위치 추정 시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101222298B1 (ko) 2010-09-08 2013-01-15 고려대학교 산학협력단 2-륜 이동 로봇의 오도메트리 오차 보정 방법
CN106393104A (zh) * 2016-08-25 2017-02-15 北京创想智控科技有限公司 一种移动机器人的行程校准方法

Also Published As

Publication number Publication date
KR20070090864A (ko) 2007-09-06

Similar Documents

Publication Publication Date Title
KR100864801B1 (ko) 이동로봇에서 홈포지셔닝을 이용한 오도메트리 보정 방법
Maye et al. Self-supervised calibration for robotic systems
Moreno et al. A genetic algorithm for mobile robot localization using ultrasonic sensors
US10860035B2 (en) Travel history storage method, method for producing travel path model, method for estimating local position, and travel history storage device
Kümmerle et al. Simultaneous calibration, localization, and mapping
EP1548534B1 (en) Method and apparatus for using rotational movement amount of mobile device and computer-readable recording medium for storing computer program
CN112882053B (zh) 一种主动标定激光雷达和编码器外参的方法
US20070271003A1 (en) Robot using absolute azimuth and mapping method thereof
JP2019207678A (ja) 低速特徴からのメトリック表現の教師なし学習
Ivanjko et al. Extended Kalman filter based mobile robot pose tracking using occupancy grid maps
Yatim et al. Particle filter in simultaneous localization and mapping (Slam) using differential drive mobile robot
Burguera et al. Probabilistic sonar scan matching for robust localization
De Cecco Sensor fusion of inertial-odometric navigation as a function of the actual manoeuvres of autonomous guided vehicles
Font et al. Mobile robot localization. Revisiting the triangulation methods
Rouxel et al. Learning the odometry on a small humanoid robot
Zeghmi et al. A Kalman-particle hybrid filter for improved localization of AGV in indoor environment
González et al. Comparative study of localization techniques for mobile robots based on indirect kalman filter
Kröse et al. Accurate estimation of environment parameters from ultrasonic data
CN115328168A (zh) 基于自适应强跟踪的移动机器人同步定位与建图方法及***
Sumanarathna et al. Simulation of mobile robot navigation with sensor fusion on an uneven path
Goudar et al. Range-visual-inertial sensor fusion for micro aerial vehicle localization and navigation
Yun et al. Odometry calibration using home positioning function for mobile robot
Azizi et al. Mobile robot position determination
Wei et al. Neural network based extended kalman filter for localization of mobile robots
Xu et al. Laser sensor based localization of mobile robot using Unscented Kalman Filter

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: 20110916

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee