KR20080090215A - 이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법 - Google Patents

이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법 Download PDF

Info

Publication number
KR20080090215A
KR20080090215A KR1020070033455A KR20070033455A KR20080090215A KR 20080090215 A KR20080090215 A KR 20080090215A KR 1020070033455 A KR1020070033455 A KR 1020070033455A KR 20070033455 A KR20070033455 A KR 20070033455A KR 20080090215 A KR20080090215 A KR 20080090215A
Authority
KR
South Korea
Prior art keywords
mobile robot
gyro sensor
scale factor
encoder
rotation angle
Prior art date
Application number
KR1020070033455A
Other languages
English (en)
Other versions
KR100886340B1 (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 KR1020070033455A priority Critical patent/KR100886340B1/ko
Priority to US12/000,012 priority patent/US8135562B2/en
Publication of KR20080090215A publication Critical patent/KR20080090215A/ko
Application granted granted Critical
Publication of KR100886340B1 publication Critical patent/KR100886340B1/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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • G01C19/02Rotary gyroscopes
    • G01C19/42Rotary gyroscopes for indicating rate of turn; for integrating rate of turn
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Manufacturing & Machinery (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Gyroscopes (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 이동 로봇에 구비된 자이로 센서의 캘리브레이션(calibration) 방법 및 장치에 관한 것이다.
본 발명의 일 실시예에 따른 캘리브레이션 장치는 고정 환경에 대한 영상 데이터를 획득하는 카메라와, 상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 복수의 회전 각속도를 계산하는 회전각 계산부와, 상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터를 출력하는 자이로 센서와, 상기 복수의 원 데이터 및 상기 복수의 회전 각속도 간의 관계를 나타내는 스케일 인자를 계산하는 스케일 인자 계산부로 이루어진다.
카메라, 자이로 센서, 엔코더, 스케일 인자, 가중 최소 자승법

Description

이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법{Apparatus and method for calibrating gyro-sensor of mobile robot}
도 1은 회전 테이블을 이용하는 종래의 캘리브레이션의 구성을 도시한 도면.
도 2는 본 발명의 제1 실시예에 따른 동작을 개략적으로 보여주는 도면.
도 3은 본 발명의 제1 실시예에 따른 이동 로봇의 구성을 도시한 블록도.
도 4는 회전각 계산부가 회전각을 계산하는 과정을 설명하기 위한 도면.
도 5는 이동 로봇이 두 개의 바퀴를 이용하여 제자리에서 회전하는 것을 보여주는 도면.
도 6은 세 개의 시간에서 계산된 방향각들을 표시한 그래프.
도 7은 자이로 전압과 각속도 간의 관계를 보여주는 그래프.
도 8은 정지 상태에서 자이로 센서의 바이어스 드리프트를 보여주는 도면.
도 9는 이동 중 바이어스를 추정하는 예를 보여주는 도면.
도 10은 시간에 따른 가중치 함수의 예를 도시한 그래프.
도 11은 시간에 따른 가중치 함수의 다른 예를 도시한 그래프.
도 12는 주 프로세서에서 이루어지는 동작의 과정을 보여주는 흐름도.
도 13은 자이로 프로세서에서 이루어지는 동작의 과정을 보여주는 흐름도.
도 14는 본 발명의 제2 실시예에 따른 이동 로봇의 구성을 도시한 블록도.
(도면의 주요부분에 대한 부호 설명)
100, 200 : 이동 로봇 110, 210 : 자이로 센서
120, 220 : 자이로 프로세서 121, 221 : 데이터 저장부
122, 222 : 스케일 인자 계산부 123, 223 : 각속도 계산부
130, 230 : 주 프로세서 131, 231 : 회전각 계산부
132 : 참조 각속도 계산부 133, 233 : 모터 제어부
140, 240 : 카메라 151, 251 : 모터
152 : 엔코더
본 발명은 이동 로봇에 관한 것으로, 보다 자세하게는 이동 로봇에 구비된 자이로 센서(자이로스코프 센서)의 캘리브레이션(calibration) 방법 및 장치에 관한 것이다.
일반적으로 로봇은 산업용으로 개발되어 공장자동화의 일환으로 사용되거나, 인간이 견딜 수 없는 극한의 환경에서 인간을 대신하여 작업을 수행하는 데 사용되어 왔다. 이러한 로봇 공학분야는 근래에 들어 최첨단의 우주개발산업에 사용되면서 발전을 거듭하여 최근에 들어서는 인간친화적인 가정용 로봇의 개발에까지 이르렀다. 덧붙여, 로봇은 의료용 기기를 대체하여 인간 생체 내에 투입됨으로써, 기존의 의료용 기기로는 치료가 불가능했던 미세한 인간 생체조직의 치료에까지 이용된 다. 이와 같은 눈부신 로봇공학의 발전은 인터넷에 의한 정보혁명과 이를 뒤이어 유행하고 있는 생명공학분야를 대체하여 새롭게 등장할 최첨단 분야로서 각광받고 있다.
이 중 상기 가정용 로봇은 산업용 로봇에 국한되어왔던 기존의 중공업 중심의 로봇공학분야를 경공업 중심의 로봇공학 분야까지 확대시킨 주역으로서 가장 기본적으로 상기되는 것으로 청소용 로봇을 그 예로 들 수 있다. 이러한 상기 청소용 로봇은 통상 이동을 위한 구동수단과, 청소를 위한 청소 수단 그리고, 자신의 위치 또는 사용자 리모컨의 위치를 측정하기 위한 위치 측정 수단 등으로 구성된다.
청소용 로봇과 같은 이동 로봇에서 자기의 정확한 위치를 파악하는 것은 가장 기본적이고 중요한 기능이다. 이동 로봇의 절대 위치를 계산하는 방법으로는 초음파 센서를 채용한 비콘(beacon)을 가정내에 장착하는 방법이나 실내용 GPS(Global Positioning System)를 이용하는 방법이 있고, 상대 위치를 결정하는 방법으로는 엔코더(encoder)로부터 회전속도와 직진속도를 구하고 이를 적분하여 위치를 구하는 방법이나, 가속도 센서로부터 구한 가속도 값을 두 번 적분하여 위치를 구하는 방법, 또는 자이로 센서의 출력 값인 회전 속도를 적분하여 방향을 구하는 방법 등이 알려져 있다.
이 중에서, 자이로 센서는 각속도를 측정하는 장치이며 측정된 각속도를 시간에 대하여 한 번 적분하면 로봇의 방위각을 측정할 수 있게 된다. 이러한 자이로 센서는 이동 로봇의 위치를 계산하는데 있어서, 주변 환경에 강인하고 독립적(stand-alone)인 구현이 가능하게 한다. 그런데, 이러한 자이로 센서를 이용하여 정확한 측정 값을 얻기 위해서는, 바이어스 드리프트를 보정하는 작업과 캘리브레이션 작업이 병행되어야 한다.
상기 바이어스 드리프트란 정지시 자이로의 신호 레벨이 시간에 따라서 변화되는 것을 의미하고, 캘리브레이션이란 자이로 센서로부터 얻어지는 신호 레벨(원(raw) 데이터)을 실제 물리적인 값(각속도)으로 매핑시키는 작업, 즉 스케일 인자를 구하는 작업을 의미한다.
통상, 바이어스 드리프트는 이동 로봇의 정지시에 얻은 신호 레벨만큼 현재 신호 레벨을 보정하는 간단한 방법이 많이 사용되고 있다. 그러나, 캘리브레이션에 관해서는 일반화된 방법이 없고, 데이터 시트나 회전 테이블을 이용하는 방법 등이 알려져 있는 정도이다.
데이터 시트는 자이로 센서의 제조자가 실험을 통하여 원 데이터 및 각속도 간의 관계를 단속적으로 기재한 표를 의미한다. 그러나, 상기 데이터 시트는 특정 조건에서 작성된 것이기 때문에, 자이로 센서의 에이징(aging)이나 외부 온도 변화에 따라 스케일 인자가 변화가 되는 점이 고려되어 있지 않다.
한편, 회전 테이블을 이용하는 종래의 캘리브레이션이 적용된 이동 로봇(10)의 일 예는 도 1에 도시된다. 상기 이동 로봇(10)은 회전 관성을 측정하여 원 데이터를 출력하는 자이로 센서(11)와, 이동 로봇을 장착하여 회전시키는 회전 테이블을 포함하며 상기 회전 테이블의 각속도를 측정하는 지그(Jig, 13) 및 상기 측정된 각속도를 기반으로 원 데이터에 대한 스케일 인자를 구하고 이를 자이로 센서(11)에 제공하는 처리 모듈(12)로 이루어진다.
그러나, 이와 같은 종래의 이동 로봇(10)은 고가의 지그가 필요하다는 점, 캘리브레이션을 위해서는 이동 로봇을 지그에 장착하여야 하므로 이동 로봇이 이동 중에 실시간으로 캘리브레이션이 이루어질 수 없다는 점 등의 단점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 이동 로봇에 장착되는 자이로 센서의 캘리브레이션에 있어서의 정확도 향상 및 비용 절감을 도모하는 것이다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 이동 로봇의 이동 중에도 캘리브레이션이 가능하도록 하는 방법 및 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 기술적 과제를 달성하기 위한, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치는, 고정 환경에 대한 영상 데이터를 획득하는 카메라; 상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 복수의 회전 각속도를 계산하는 회전각 계산부; 상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터를 출력하는 자이로 센서; 및 상기 복수의 원 데이터 및 상기 복수의 회전 각속도 간의 관계를 나타내는 스케일 인자를 계산하는 스케일 인자 계산부를 포함한다.
상기한 기술적 과제를 달성하기 위한, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치는, 고정 환경에 대한 영상 데이터를 획득하는 카메라; 상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 회전각을 계산하는 회전각 계산부; 모터의 회전 속도에 따른 엔코더 데이터를 출력하는 엔코더; 상기 계산된 회전각 및 상기 회전각에 대응되는 엔코더 데이터를 이용하여 엔코더 파라미터를 계산하고, 상기 계산된 엔코더 파라미터에 복수의 엔코더 데이터를 적용하여 복수의 참조 각속도를 구하는 참조 각속도 계산부; 상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터를 출력하는 자이로 센서; 및 상기 복수의 원 데이터 및 상기 복수의 참조 각속도 간의 관계를 나타내는 스케일 인자를 계산하는 스케일 인자 계산부를 포함한다.
상기한 기술적 과제를 달성하기 위한, 이동 로봇의 자이로 센서를 캘리브레이션하는 방법은, 고정 환경에 대한 영상 데이터를 획득하는 단계; 상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 복수의 회전 각속도를 계산하는 단계; 및 상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터 및 상기 복수의 회전 각속도 간의 관계를 나타내는 스케일 인자를 계산하는 단계를 포함한다.
상기한 기술적 과제를 달성하기 위한, 이동 로봇의 자이로 센서를 캘리브레이션하는 방법은, 고정 환경에 대한 영상 데이터를 획득하는 단계; 상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 회전각을 계산하는 단계; 상기 계산된 회전각 및 상기 회전각에 대응되는 엔코더 데이터를 이용하여 엔코더 파라미터를 계산하는 단계; 상기 계산된 엔코더 파라미터에 복수의 엔코더 데이터를 적용하여 복수의 참조 각속도를 구하는 단계; 및 상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터 및 상기 복수의 참조 각속도 간의 관계를 나타내는 스케일 인자를 계산 하는 단계를 포함한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시예를 상세히 설명한다.
본 발명에서는 고정 환경(예: 천장)의 영상을 사용하여 참조(reference) 각속도를 구하고 이를 자이로 출력값에 매핑시켜 스케일 인자를 자동으로 계산하는 방법을 제공한다. 이 때, 자이로 센서의 바이어스 드리프트의 영향을 최소화하기 위하여 가중 최소 자승법(Weighted Least Square, WLS)을 사용한다. 자이로 센서의 정확도를 높이기 위해서는 상기 가중 최소 자승법에 사용되는 가중치는 적절히 선택될 필요가 있다.
도 2는 본 발명의 제1 실시예에 따른 동작을 개략적으로 보여주는 도면이다.
천정과 같은 고정 환경을 촬영하여 얻어진 영상 데이터는 엔코더의 기구학적 파라미터를 추정하는 데 사용된다. 상기 파라미터에 대한 추정치를 근거로 엔코더를 보정하게 되면, 엔코더는 실시간으로 참조 각속도를 제공할 수 있게 된다. 결국, 상기 제공된 참조 각속도는 자이로 캘리브레이션에 이용되며, 가중 최소 자승 법을 통하여 최종적으로 자이로 센서의 스케일 인자가 구해진다. 즉, 제1 실시예는 영상 데이터를 이용하여 엔코더를 보정하고 보정된 엔코더로부터 계산된 참조 각속도를 기준으로 자이로 캘리브레이션을 수행하는 경우이다.
도 3은 본 발명의 제1 실시예에 따른 이동 로봇(100) 내지 자이로 센서를 캘리브레이션하는 장치의 구성을 도시한 블록도이다. 본 발명에 있어서 자이로 센서를 캘리브레이션하는 장치는 이동 로봇(100) 내에 장착되며, 이동 로봇(100)과 실질적으로 동일한 의미를 갖는다. 따라서, 이하에서는 양자를 이동 로봇(100)으로 통일하여 기재하기로 한다.
이동 로봇(100)은 자이로 센서(110), 자이로 프로세서(120), 주 프로세서(130), 카메라(140), 모터(151) 및 엔코더(152)를 포함하여 구성될 수 있다.
자이로 센서(110)는 이동 로봇(100)의 회전 관성에 따른 원(raw) 데이터를 출력한다. 이하, 본 발명에서는 상기 원 데이터의 예로서 전압 신호(이하, 자이로 전압이라고 함)을 이용하는 것으로 하여 설명한다.
카메라(140)는 천정, 벽 등의 고정 환경을 촬영한 후, 촬영된 영상 데이터를 주 프로세서(130)에 제공한다. 카메라(140)는 CCD(Charge Coupled Device), CMOS(Complementary Metal Oxide Semiconductor), CIS(Contact Iamge Sensor) 또는 기타 알려진 이미지 센서를 구비한다.
모터(151)는 이동 로봇(100)이 이동할 수 있도록 동력을 제공한다. 모터(151)는 회전 모터, 스텝 모터, 리니어 모터 등 이동 로봇(100)의 운동을 제공하는 어떤 종류의 모터이어도 무방하다. 실제 이동 로봇(100)의 운동을 위해서는 모 터(151)와 연결된 적어도 2 이상의 바퀴가 구비된다.
엔코더(152)는 모터(151)와 연결되며, 모터(151)의 회전 속도를 감지한다. 이를 통하여, 이동 로봇(100)의 이전 위치와 현재 위치 사이의 위치 변화 및 방향 변화를 측정한다. 엔코더(152)는 일반적으로 로봇의 위치 이동 또는 방향 변화 지령을 내리고 로봇이 이에 추종하여 움직일 때 그 움직임을 제어할 목적으로 설치된다. 엔코더(152)를 이용하면 움직인 거리 및 방향을 적분하여 현재 이동 로봇의 위치 및 회전각을 알 수 있다. 만일 적분 오차가 없다면 엔코더(152) 만으로도 로봇의 로컬라이제이션이 가능하겠지만, 엔코더(152)는 짧은 기간에는 비교적 정확하나 샘플링시마다 오차가 누적되는 단점이 있다.
주 프로세서(130)는 세부적으로, 회전각 계산부(131), 참조 각도 계산부(132) 및 모터 제어부(133)로 구성될 수 있다.
회전각 계산부(131)는 복수의 영상 데이터를 분석하여 이동 로봇(100)의 회전각 또는 방향각(head angle)을 계산한다. 방향각(heading angle)은 절대 좌표에서의 기준 방향과 이동 로봇(100)의 정면이 향하는 방향 사이의 각도를 의미하고, 회전각은 이동 로봇(100)이 소정의 시간 동안 실제로 회전한 각도를 의미한다. 따라서, 회전각은 두 시점에서의 방향각의 차이로 표현될 수 있다.
회전각 계산부(131)의 보다 상세한 동작은 도 4를 참조하여 후술하기로 한다.
모터 제어부(133)는 엔코더(152)로부터 엔코더 데이터를 수신하고, 제어 신호를 통하여 모터(151)를 제어한다. 상기 엔코더 데이터는 엔코더(152)로부터 출력 되는 원 데이터이다. 캘리브레이션을 위해서, 모터 제어부(133)는 소정 패턴으로 이동 로봇(100)을 회전시킨다.
참조 각속도 계산부(132)는 상기 계산된 회전각 및 상기 회전각에 대응되는 엔코더 데이터를 이용하여 엔코더 파라미터를 계산하고, 상기 계산된 엔코더 파라미터에 복수의 실시간 엔코더 데이터를 적용하여 참조 각속도를 구한다. 물론, 회전각 계산부(131)에 의하여 계산된 회전각을 이용하여 자이로 프로세서(120)가 직접 캘리브레이션을 수행할 수도 있다. 그러나, 카메라(140)에 포착된 영상 데이터를 이용하여 회전각을 계산하는 것은 연속적으로 수행될 수 없으므로(예: 이동 로봇(100)이 90도 회전시 마다 회전각을 계산함), 엔코더 데이터를 이용하여 참조 각속도를 계산하는 것이다.
이와 같은 참조 각속도를 구하는 보다 자세한 계산 과정은 도 6, 7을 참조하여 후술하기로 한다.
자이로 프로세서(120)는 주 프로세서(130)로부터 제공된 참조 각속도 및 자이로 센서(110)로부터 제공되는 자이로 전압간의 관계로부터 스케일 인자를 계산한다. 그리고, 상기 계산된 스케일 인자에 추후 실시간으로 입력되는 자이로 전압을 적용하여 이동 로봇(100)의 각속도를 계산한다.
자이로 프로세서(120)는 세부적으로, 데이터 저장부(121), 스케일 인자 계산부(122) 및 각속도 계산부(123)로 구성될 수 있다.
데이터 저장부(121)는 자이로 전압 및 참조 각속도의 쌍(데이터 쌍)을 특정 시점마다 저장한다.
스케일 인자 계산부(122)는 상기 저장된 복수의 데이터 쌍에 가중 최소 자승법(WLS)을 적용하여 자이로 전압 및 참조 각속도 간의 관계를 나타내는 스케일 인자를 계산한다. 스케일 인자를 계산하는 보다 자세한 방법은 도 7내지 9를 참조하여 후술하기로 한다.
각속도 계산부(123)는 상기 계산된 스케일 인자에 추후 실시간으로 입력되는 자이로 전압을 적용하여 이동 로봇(100)의 각속도를 실시간으로 계산한다. 물론, 스케일 인자가 스케일 인자 계산부(122)에 의하여 업데이트된다면 각속도 계산부(123)는 업데이트된 스케일 인자를 이용하여 이동 로봇(100)의 각속도를 계산한다.
도 4는 회전각 계산부(131)가 회전각을 계산하는 과정을 설명하기 위한 도면이다.
모터 제어부(133)는 이동 로봇(100)이 주행 중에 방향 전환을 하거나, 정지 중에 지면과 수직 방향의 축을 중심으로 회전시킨다. 보다 정확하게 회전각을 계산하기 위해서는 후자와 같이, 이동 로봇(100)이 이동하지 않고 회전만 하는 것이 바람직하다.
이동 로봇(100)은 도 5에서 도시하는 바와 같이, 두 개의 바퀴(101, 102)만을 이용하여 이동없이 회전하는 것이 가능하다. 모터 제어부(133)는 두 개의 바퀴(101, 102)를 동일한 속도로 반대 방향으로 회전하도록 모터(151)를 제어하면, 이동 로봇(100)은 지면과 수직 방향의 축(103)을 중심으로 회전하게 된다.
이동 로봇(100)이 회전하는 경우에는, 카메라(140)에 의하여 포착되는 영상 도 상기 회전되는 각도만큼 회전하게 된다. 이 때, 카메라(140)는 회전 전 영상에 관한 영상 데이터와, 회전 후 영상에 관한 영상 데이터를 얻어서 회전각 계산부(131)에 제공한다.
회전각 계산부(131)는, 회전 전 영상을 회전시키면서 회전 후 영상과 비교하면 양 영상의 차이가 최소가 되는 회전각을 찾는다. 물론, 회전 전 영상을 상기 회전각만큼 회전 시킨 영상과 회전 후 영상이 완전히 일치할 수는 없으므로, 양 영상의 차이를 정량화하여 표현할 수 있는 기법이 필요한데, 일 예로서 Lucas-Kanade 알고리즘을 이용할 수 있다.
도 4를 참조하면, 회전각 계산부(131)는 좌표 매핑 블록(40)을 이용한다. 좌표 매핑 블록(40)은 카메라(140)가 수신한 영상(45, 46)에 대하여 X축을 각도, Y축을 거리로 하는 극좌표 영상(43, 44)을 얻는다. 이 때, 제1 극좌표 영상(43)과 제2 극좌표 영상(44)의 원점은 좌표 매핑 전의 영상(45, 46)의 기준선(41, 42)을 기준으로 정할 수 있는데, 기준선(41, 42)은 영상의 광학 중심점을 끝점으로 하여 임의로 정할 수 있다. 한편, 회전 이동을 종료한 시점의 영상(46)은 회전 이동 명령을 수신한 시점의 영상(45)보다 소정의 시간 지연이 발생하게 된다.
회전각 계산부(131)는 제2 극좌표 영상(44)을 X축의 양의 방향을 따라 일정한 각도 간격으로 이동하면서 제1 극좌표 영상(43)과 제2 극좌표 영상(44)을 비교한다. 예컨대 X축이 0도에서 360도의 범위를 갖는 경우, 제2 극좌표 영상(44)을 1도 간격으로 우측으로 이동하고, 이동한 후의 영상을 제1 극좌표 영상(43)과 비교한다. 제2 극좌표 영상(44)의 X축은 각도를 나타내므로, 제2 극좌표 영상(44)을 1 도 간격으로 이동할 때 360도를 넘는 제2 극좌표 영상(44)의 일부분은 회전되어 X축의 0도 부분으로 이동하게 된다.
이러한 방법으로 제2 극좌표 영상(44)를 1도 간격으로 X축의 양의 방향을 따라 이동할 때마다, 1도 간격으로 연속된 360개의 각도(0도부터 359도) 각각에 해당하는 제1 극좌표 영상(43) 정보와 제2 극좌표 영상(44) 정보의 차이값(이하, '영상 정보 차이 값'라고 한다)을 얻는다. 이 때, 360개의 각도에 대하여 영상 정보 차이 값을 얻게 되는데, 각각의 영상 정보 차이 값을 제곱하여 모두 더한 값을 얻을 수 있는데. 이 값을 SSD(Sum of Squared Distance)'라고 정의할 수 있다.
회전각 계산부(131)는 상기 SSD가 최소일 때의 영상의 회전각을 이동 로봇(100)의 회전각으로 결정한다.
도 6 및 도 7은 참조 각속도 계산부(132)의 동작을 설명하기 위한 도면들이다. 이 중에서 도 6은 세 개의 시간(t1, t2, t3)에서 회전각 계산부(131)에서 계산된 방향각(q1, q2, q3)을 표시한 그래프이다.
일반적으로 엔코더(152)로부터 측정되는 회전각 Δ q en 은 다음의 수학식 1과 같이 모델링될 수 있다. 여기서, k1 및 k2는 비례 상수이다.
Figure 112007026214523-PAT00001
수학식 1에서 ΔUL은 왼쪽 바퀴의 엔코더 변위(엔코더 펄스의 개수로부터 계산될 수 있음)를 의미하고, ΔUR은 오른쪽 바퀴의 엔코더 변위를 의미한다. 그리고, D는 양 바퀴 간의 거리를 의미한다. 여기서, α1, α2를 엔코더 파라미터라고 정의할 수 있다. 즉, 엔코더 파라미터란, 회전각 계산부(131)에서 계산된 회전각을 상기 이동 로봇의 각 바퀴에 대한 엔코더 변위들의 선형 결합으로 나타낼 때의 계수라고 정의할 수 있다.
그런데, 실제 이동 로봇(100)에 있어서, α1, α2는 정확하게 알 수 있는 값이 아니며, 주행 환경에 따라서 달라지게 마련이다. 따라서, 설령 그 값이 이동 로봇(100)의 제조자에 의하여 제공된다고 하더라도, 실제 주행시에는 오차가 발생할 수 밖에 없다.
따라서, 회전각 계산부(131)에서 계산된 회전각 및 이에 대응되는 엔코더 변위를 비교하여 엔코더 파라미터를 계산할 필요가 있다. 다음의 수학식 2는 α1, α2를 계산하는 방법을 보여준다.
Figure 112007026214523-PAT00002
수학식 2에서 Dq 12 및 Dq 23 은 각각 t1에서 t2사이의 회전각 및 t2에서 t3사이의 회전각을 의미한다. 따라서, Dq 12 및 는 Dq 23 은 각각 q 2 -q 1 q 3 -q 2 나타낼 수도 있다. 그리고, ΔUR,t12 및 ΔUL , t12는 시간 t1에서 t2까지 오른쪽 바퀴의 엔코더 변위 및 왼쪽 바퀴의 엔코더 변위를, ΔUR , t23 및 ΔUL , t23는 시간 t2에서 t3까지 오른쪽 바퀴의 엔코더 변위 및 왼쪽 바퀴의 엔코더 변위를 각각 나타낸다.
참조 각속도 계산부(132)는 수학식 2에서 α1, α2, 즉 엔코더 파라미터를 구할 수 있다. 이러한 엔코더 파라미터는 회전각 계산부(131)로부터 업데이트된 회전각들이 제공될 때까지는 고정된 값으로 유지될 수 있다.
일단, 엔코더 파라미터가 결정되면, 참조 각속도 계산부(132)는 모터 제어부(133)로부터 상기 엔코더 파라미터에, 실시간으로 입력되는 엔코더 데이터를 적용하여 각속도를 구하고 이를 자이로 프로세서(120)에 제공한다. 참조 각속도 계산부(132)에서 구한 각속도는 자이로 프로세서(120)의 캘리브레이션을 위하여 사용되므로 "참조 각속도(reference angular velocity)"라고 정의할 수 있다.
다음의 도 7 내지 도 9는 스케일 인자 계산부(122)에서 이루어지는 동작을 설명하기 위한 도면들이다.
이 중에서 도 7은 자이로 전압(ωz)과 각속도(y) 간의 관계를 보여주는 그래프의 예로서, 이와 같은 함수 f(ωz)를 구하는 과정이 바로 스케일 인자를 계산하는 과정(캘리브레이션 과정)이라고 볼 수 있다.
일반적으로 자이로 전압(ωz)와 실제 물리적으로 의미있는 값, 즉 각속도(y) 간의 관계는 다음의 수학식 3과 같이 모델링될 수 있다.
Figure 112007026214523-PAT00003
여기서, f(ωz)는 자이로 전압에 스케일 인자를 적용한 함수이고, Bz는 바이어스 항으로서 상수이다. 그 이외의 Mxωx+ Myωy는 커플링 항이고, Bgxax+Bgyay+Bgzaz는 중력 성분 항이다. f(ωz) 및 Bz를 제외한 항은 특별한 환경에 적용되는 경우를 제외하고는 각속도(y)에 미치는 영향이 미미하므로 생략될 수 있다.
ωz를 x라고 표기하고, f(x)를 n차의 다항식으로 가정하면, f(x)는 다음의 수학식 4와 같이 표현될 수 있다.
Figure 112007026214523-PAT00004
그런데, 이동 로봇(100)이 정지하고 있는 중에도 자이로 센서의 소자 특성으로 인하여 바이어스 드리프트(바이어스가 시간에 따라 변화하는 현상)가 발생한다.
도 8은 정지 상태에서 자이로 센서의 바이어스 드리프트를 보여주는 도면이다. 이와 같은 바이어스 드리프트는 저가의 자이로 센서에 있어서 특히 심하게 나타난다. 일반적으로, 자이로 센서를 통한 각속도의 계산의 정확도에 있어서 바이어스 드리프트는 상당한 영향을 미친다. 따라서, 상기 캘리브레이션 과정에서는 이러한 바이어스 드리프트도 아울러 고려할 필요가 있다.
일반적으로 바이어스 보정하는 방법은, 실시간 자이로 전압에서 이동 로봇(100)의 정지 중에 측정된 바이어스만큼을 차감하는 것이다. 바이어스는 시간에 따라 수시로 변동하므로 이동 로봇(100)이 정지할 때마다 업데이트되는 것이 바람직하다. 다만, 이동 중에는 바이어스의 정확한 값을 측정할 수는 없으므로, 정지 중에 측정된 바이어스를 보간하여 이동 중 바이어스를 추정할 필요가 있다.
도 9는 이동 중 바이어스를 추정하는 예를 보여주는 도면이다. 이동 로봇(100)은 시간 t1 이전에는 정지한 상태에 있으며, t1 내지 tm 사이에서는 도 9에 도시된 예와 같은 패턴의 운동을 한 후, 다시 tm 이후에는 다시 정지한다. 이 동안 자이로 전압도 변화하게 된다. 이 때, t1에서의 바이어스 B1과 t2에서의 바이어스 B2는 서로 다른 값일 수 있다. 따라서, 운동 중인 구간(t1 내지 tm)에서의 바이어스는 상기 B1 및 B2를 이용하여 보간할 필요가 있다. 이러한 보간에 사용되는 함수(보간 함수)로는 여러 가지가 있을 수 있겠지만, 본 발명에서는 상기 보간 함수(b(x))로서 선형 함수를 사용한다. 어쨌든, 보간 함수(b(x))를 결정하면 이동 중 임의의 시간(ti)에서 바이어스 값(b(ti))을 구할 수 있다. 이하 본 명세서에서 b(ti)는 단순히 bi로 표시할 것이다.
이와 같이, 이동 중 바이어스를 구한 후에는 자이로 전압을 상기 구한 바이어스만큼 차감하여야 한다. 상기 차감된 결과 값, 즉 보정된 자이로 전압은 물리적으로 의미있는 값인 회전각과 대응된다.
그러므로, 수학식 4에서 x는 보정된 자이로 전압을 의미한다고 볼 수 있다. 임의의 시간 인덱스 i에서의 보정된 자이로 전압(xi) 및 잔차(Ri)는 다음의 수학식 5와 같이 표시된다.
Figure 112007026214523-PAT00005
여기서, gi, yi, bi는 각각 시간 인덱스 i에서의 보정전 자이로 전압, 각속도 및 바이어스를 나타낸다. 그리고, f(xi)는 최종적으로 그 계수를 결정하여야하는 함수, 즉 목적 함수이다.
전체 시간 구간(i=1 내지 m)에서 상기 잔차의 합을 최소로 하는 f(xi)의 계수 a0 내지 an를 구하는 것이 소위 최소 자승법(Least Square, LS)이다. 상기 구한 계수들의 집합이 바로 스케일 인자이다.
이와 같이 단순 최소 자승법을 이용하여 스케일 인자를 결정하는 것도 가능하지만, 상기 bi가 추정된 값이고 i에 따라서 bi의 신뢰도가 다르다는 점을 고려하면 가중 최소 자승법(WLS)을 사용하여 자이로 센서의 정확성을 보다 높일 수 있을 것이다.
도 9에서 바이어스에 대한 보간 함수(b(x))는 적어도 t1 및 tm에서는 정확하며, 그 근처에서는 신뢰도가 높지만 그로부터 멀어지면 신뢰도가 낮을 것이라고 추 측할 수 있다. 따라서, 정지에서 이동으로 또는 이동에서 정지로 전환되는 경계(이하, 이동 상태 및 정지 상태를 구분하는 경계라고 함)로부터 멀수록 낮은 가중치를 주는 것이 합리적이다.
도 10은 시간에 따른 가중치 함수(w(x))의 예를 도시한 그래프이다. 도 10에서 가중치 함수(w(x))는 양 쪽 경계(t1 및 tm)에서 멀어질수록 선형적으로 가중치가 낮아지는 형태를 갖는다. 물론, 가중치 함수(w(x))의 형태로는 선형 이외에 도 11과 같은 곡선 형태로 이루어져도 무방하다. 어쨌든 양 쪽 경계에서 멀어질수록 가중치가 낮아진다는 점에서는 마찬가지이다.
가중 최소 자승법을 사용할 경우, 수학식 5의 잔차에 가중치를 적용한 합, 즉 잔차(Ri)의 가중합(R)은 다음의 수학식 6과 같이 표시될 수 있다.
Figure 112007026214523-PAT00006
상기 가중합(R)을 최소화하는 스케일 인자(A)는 다음의 수학식 7을 이용하여 구할 수 있다. 수학식 7에서 A, X, Y는 수학식 8에서 정의되어 있다.
Figure 112007026214523-PAT00007
Figure 112007026214523-PAT00008
도 12는 주 프로세서(130)에서 이루어지는 동작의 과정을 보여주는 흐름도이다.
먼저, 모터 제어부(133)는 모터(151)에 제어 신호를 보내어 이동 로봇(100)을 소정의 속도 패턴으로 회전시킨다(S21). 속도 패턴은 등속도 기타 임의의 패턴이어도 무방하다. 이 때, 카메라(140)는 상기 회전시 소정의 위치(예: 90도 각도 마다)에서 영상 데이터를 획득하고, 이를 회전각 계산부(131)에 제공한다.
회전각 계산부(131)는 상기 제공된 영상 데이터로부터 회전각을 계산한다(S22). 이와 같은 회전각을 계산하는 과정은 회전 전 영상을 회전시키면서 회전 후 영상과 비교하면 양 영상의 차이가 최소가 되는 회전각을 찾는 방식으로 이루어진다.
모터 제어부(133)는 이동 로봇(100)이 소정 패턴으로 회전하는 동안, 엔코더 펄스를 소정의 메모리(미도시됨)에 저장한다(S23). 상기 엔코더 펄스의 수는 소정 시간 간격 동안의 이동 로봇(100)의 바퀴(101, 102)의 회전 수 내지 엔코더 변위를 의미한다.
참조 각속도 계산부(132)는 상기 계산된 회전각 및 엔코더 변위를 이용하여 엔코더 파라미터를 결정하고(S24), 상기 엔코더 파라미터에 실시간 엔코더 데이터를 적용하여 참조 각속도를 구한다(S25). 상기 구한 참조 각속도는 이동 로봇(100)의 캘리브레이션을 위한 회전이 종료될 때까지(S26), 자이로 프로세서(120)에 계속적으로 제공된다.
도 13은 자이로 프로세서(120)에서 이루어지는 동작의 과정을 보여주는 흐름도이다.
먼저, 데이터 저장부(121)는, 캘리브레이션을 위한 회전이 계속되는 동안, 주 프로세서(130)로부터 제공되는 참조 각속도를 수신하여 저장한다(S31). 이 때, 자이로 센서(110)로부터 출력되는 자이로 전압도 아울러 수신하여 저장한다(S32). 바람직하게는, 데이터 저장부(121)는 상기 캘리브레이션을 위한 회전이 계속되는 동안 상기 참조 각속도 및 상기 자이로 전압의 데이터 쌍들을 저장한다.
스케일 인자 계산을 위해서는 바이어스를 알아야 하므로, 스케일 인자 계산부(122)는 이동 로봇(100)이 정지하는 경우(S33의 예), 자이로 전압을 수신하고 그 때의 자이로 전압(또는 정지 중 전압의 평균)을 현재의 바이어스로 추정한다.
만약, 이동 로봇(100)이 회전 중인 경우에는(S33의 아니오), 스케일 인자 계산부(122)는 각 시간 인덱스에서의 가중치를 결정한다(S35). 상기 가중치 결정의 예는 도 10 및 도 11에서 설명한 바 있다.
그리고, 스케일 인자 계산부(122)는 상기 가중치 및 상기 저장된 데이터 쌍들을 기초로 가중 최소 자승법을 적용하여 스케일 인자를 계산한다(S36). 물론, 스 케일 인자 계산부(122)는 S35 단계를 생략하고 저장된 데이터 쌍들에 단순 최소 자승법을 적용할 수도 있다.
이상의 과정을 통하여 자이로 센서에 대한 캘리브레이션은 완료된다. 추후, 각속도 계산부(123)는 상기 계산된 스케일 인자에 입력되는 자이로 전압을 적용하여 이동 로봇(100)의 각속도를 실시간으로 계산한다.
다음의 표 1은 단순히 자이로 센서의 데이터 쉬트를 사용하여 이동 로봇(100)의 각속도를 계산한 경우와, 본 발명의 제1 실시예를 적용하여 이동 로봇(100)의 각속도를 비교한 실험 결과를 보여주는 표이다. 상기 실험에서 이동 로봇(100)은 제자리에서 10회전 하였으며 각 회전시 마다 발생된 오차가 표 1에 기입되어 있다. 상기 오차의 단위는 도(degree)이다.
  데이터 쉬트를 사용한 경우 제1 실시예를 적용한 경우
1 24.73 -0.17
2 23.33 -1.57
3 23.70 -1.20
4 23.61 -1.29
5 24.23 -0.68
6 -25.92 0.59
7 -25.78 0.76
8 -25.81 0.74
9 -25.34 1.17
10 -25.63 0.91
평균 24.83 0.99
표 1을 통하여 쉽게 알 수 있는 바와 같이, 본 발명의 제1 실시예에 따라 자동 캘리브레이션을 수행할 경우에는 단순한 데이터 쉬트를 사용하는 경우에 비하여 오차가 월등히 낮아진다.
도 14는 본 발명의 제2 실시예에 따른 이동 로봇(200)의 구성을 도시한 블록도이다. 상기 제2 실시예는 자이로 프로세서(120)가 회전각 계산부(131)에 의하여 계산된 회전각을 직접 이용하여 캘리브레이션을 수행하는 방식이다. 따라서 도 3의 제1 실시예와 비교할 때, 이동 로봇(200)은 엔코더(152) 및 참조 각속도 계산부(132)가 생략되는 보다 간단한 구조를 갖는다.
다만, 카메라(140)를 이용한 방향각 계산의 특성상 샘플링 주기(예: 90도 단위)가 클 수밖에 없으며, 따라서 회전각에 대한 충분한 샘플 데이터을 얻기 위해서는 모터 제어부(233)가 이동 로봇(200)을 여러 번 회전시키고 영상 분석을 통한 회전각 계산도 여러 번 수행되어야 하는 점은 제1 실시예와의 차이점이다. 제1 실시예에서는, 최소의 방향각 계산만으로도 참조 각속도에 대한 충분한 샘플 데이터를 얻을 수 있으므로 가중 최소 자승법을 적용하기가 용이하다. 아무튼, 제2 실시예에서도 회전각에 대한 충분한 샘플 데이터를 얻을 수 있다면, 스케일 인자 계산부(222)가 가중 최소 자승법을 적용하는 것은 문제가 없다. 실제로, 회전각 계산부(231)는 소정의 시간 간격 내의 회전각을 계산하지만, 상기 계산된 회전각을 상기 시간 간격으로 나누면 각속도를 얻을 수 있다. 제2 실시예에서는, 이러한 각속도가 자이로 프로세서(220)에 참조 각속도로서 제공되는 것이다.
제1 실시예와 제2 실시예는 참조 각속도를 어떻게 제공하는가에만 차이가 있을 뿐이고, 자이로 프로세서(220)가 참조 각속도를 처리하는 과정은 서로 공통되므로 중복된 설명은 생략하기로 한다.
지금까지 도 3 및 도 14의 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
상술한 바와 같이 본 발명에 따르면, 고가의 지그를 사용하지 않고도 로봇 스스로의 회전에 의하여 자이로 센서의 캘리브레이션이 자동으로 수행될 수 있다.
또한, 본 발명에 따르면, 자이로 센서의 바이어스 드리프트 특성을 고려한 가중 최소 자승법을 이용하여 캘리브레이션 성능 향상시킬 수 있다.
그리고, 본 발명에 따르면, 상시 캘리브레이션이 가능하기 때문에 자이로 센서의 에이징 및 온도 변화에 따른 스케일 인자의 변동에 적응적으로 대처할 수 있다.

Claims (23)

  1. 고정 환경에 대한 영상 데이터를 획득하는 카메라;
    상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 복수의 회전 각속도를 계산하는 회전각 계산부;
    상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터를 출력하는 자이로 센서; 및
    상기 복수의 원 데이터 및 상기 복수의 회전 각속도 간의 관계를 나타내는 스케일 인자를 계산하는 스케일 인자 계산부를 포함하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  2. 제1항에 있어서,
    상기 고정 환경은 천정인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  3. 제1항에 있어서, 상기 원 데이터는
    상기 자이로 센서의 출력 전압인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  4. 제1항에 있어서,
    상기 이동 로봇의 소정의 각속도 패턴으로 회전시키는 모터 제어부를 더 포함하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  5. 제1항에 있어서, 상기 스케일 인자 계산부는
    상기 복수의 원 데이터 및 상기 복수의 회전 각속도로 이루어지는 복수의 데이터 쌍에 최소 자승법을 적용하여 상기 스케일 인자를 계산하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  6. 제5항에 있어서,
    상기 최소 자승법은 가중 최소 자승법이고,
    상기 스케일 인자 계산부는 상기 복수의 데이터 쌍 각각에 대한 가중치를 부여하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  7. 제6항에 있어서, 상기 가중치는
    상기 이동 로봇의 이동 상태 및 정지 상태를 구분하는 경계에 가까울수록 더 큰 값이 부여되는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  8. 제5항에 있어서, 상기 스케일 인자는
    소정 차수의 다항식의 계수들의 집합인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  9. 제5항에 있어서, 상기 스케일 인자 계산부는
    상기 이동 로봇의 정지시에 측정된 원 데이터에 의하여, 상기 이동 로봇의 회전 중에 상기 자이로 센서의 바이어스를 보간하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  10. 제9항에 있어서, 상기 최소 자승법에서 사용되는 목적 함수에 입력되는 값은 상기 원 데이터에서 상기 보간된 바이어스를 차감한 값인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  11. 고정 환경에 대한 영상 데이터를 획득하는 카메라;
    상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 회전각을 계산하는 회전각 계산부;
    모터의 회전 속도에 따른 엔코더 데이터를 출력하는 엔코더;
    상기 계산된 회전각 및 상기 회전각에 대응되는 엔코더 데이터를 이용하여 엔코더 파라미터를 계산하고, 상기 계산된 엔코더 파라미터에 복수의 엔코더 데이터를 적용하여 복수의 참조 각속도를 구하는 참조 각속도 계산부;
    상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터를 출력하는 자이로 센서; 및
    상기 복수의 원 데이터 및 상기 복수의 참조 각속도 간의 관계를 나타내는 스케일 인자를 계산하는 스케일 인자 계산부를 포함하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  12. 제11항에 있어서, 상기 엔코더 파라미터는
    상기 계산된 회전각을 상기 이동 로봇의 각 바퀴에 대한 엔코더 변위들의 선형 결합으로 나타낼 때의 계수들인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  13. 제11항에 있어서,
    상기 고정 환경은 천정인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  14. 제11항에 있어서, 상기 원 데이터는
    상기 자이로 센서의 출력 전압인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  15. 제11항에 있어서,
    상기 이동 로봇의 소정의 각속도 패턴으로 회전시키는 모터 제어부를 더 포함하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  16. 제11항에 있어서, 상기 스케일 인자 계산부는
    상기 복수의 원 데이터 및 상기 복수의 참조 각속도로 이루어지는 복수의 데이터 쌍에 최소 자승법을 적용하여 상기 스케일 인자를 계산하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  17. 제16항에 있어서,
    상기 최소 자승법은 가중 최소 자승법이고,
    상기 스케일 인자 계산부는 상기 복수의 데이터 쌍 각각에 대한 가중치를 부여하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  18. 제17항에 있어서, 상기 가중치는
    상기 이동 로봇의 회전 상태 및 정지 상태를 구분하는 경계에 가까울수록 더 큰 값이 부여되는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  19. 제16항에 있어서, 상기 스케일 인자는
    소정 차수의 다항식의 계수들의 집합인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  20. 제16항에 있어서, 상기 스케일 인자 계산부는
    상기 이동 로봇의 정지시에 측정된 원 데이터에 의하여, 상기 이동 로봇의 회전 중에 상기 자이로 센서의 바이어스를 보간하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  21. 제20항에 있어서, 상기 최소 자승법에서 사용되는 목적 함수에 입력되는 값은 상기 원 데이터에서 상기 보간된 바이어스를 차감한 값인, 이동 로봇의 자이로 센서를 캘리브레이션하는 장치.
  22. 고정 환경에 대한 영상 데이터를 획득하는 단계;
    상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 복수의 회전 각속도를 계산하는 단계; 및
    상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터 및 상기 복수의 회전 각속도 간의 관계를 나타내는 스케일 인자를 계산하는 단계를 포함하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 방법.
  23. 고정 환경에 대한 영상 데이터를 획득하는 단계;
    상기 획득된 영상 데이터의 분석을 토대로 이동 로봇의 회전각을 계산하는 단계;
    상기 계산된 회전각 및 상기 회전각에 대응되는 엔코더 데이터를 이용하여 엔코더 파라미터를 계산하는 단계;
    상기 계산된 엔코더 파라미터에 복수의 엔코더 데이터를 적용하여 복수의 참 조 각속도를 구하는 단계; 및
    상기 이동 로봇의 회전 관성에 따른 복수의 원 데이터 및 상기 복수의 참조 각속도 간의 관계를 나타내는 스케일 인자를 계산하는 단계를 포함하는, 이동 로봇의 자이로 센서를 캘리브레이션하는 방법.
KR1020070033455A 2007-04-04 2007-04-04 이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법 KR100886340B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070033455A KR100886340B1 (ko) 2007-04-04 2007-04-04 이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법
US12/000,012 US8135562B2 (en) 2007-04-04 2007-12-06 System, method and medium calibrating gyrosensors of mobile robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070033455A KR100886340B1 (ko) 2007-04-04 2007-04-04 이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080090215A true KR20080090215A (ko) 2008-10-08
KR100886340B1 KR100886340B1 (ko) 2009-03-03

Family

ID=39827702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070033455A KR100886340B1 (ko) 2007-04-04 2007-04-04 이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법

Country Status (2)

Country Link
US (1) US8135562B2 (ko)
KR (1) KR100886340B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101008360B1 (ko) * 2008-07-01 2011-01-14 (주)마이크로인피니티 이동 로봇에서의 자이로 센서 오차를 교정하는 장치 및방법
KR101503046B1 (ko) * 2013-08-22 2015-03-24 한국과학기술연구원 다축 감지 장치 및 이의 교정 방법
KR20210026795A (ko) * 2019-09-02 2021-03-10 경북대학교 산학협력단 Imu 센서와 카메라를 이용한 하이브리드 실내 측위 시스템

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008128674A (ja) * 2006-11-16 2008-06-05 Eastman Kodak Co 角速度較正方法
KR101170781B1 (ko) 2008-08-19 2012-08-03 세종대학교산학협력단 기준 회전각을 이용한 자이로스코프의 오차 보정 방법 및 장치
KR101685151B1 (ko) * 2010-01-08 2016-12-12 삼성전자주식회사 캘리브레이션 장치
US9664528B2 (en) * 2012-03-27 2017-05-30 Autoliv Asp, Inc. Inertial sensor enhancement
US9013617B2 (en) 2012-10-12 2015-04-21 Qualcomm Incorporated Gyroscope conditioning and gyro-camera alignment
JP6152511B2 (ja) * 2013-03-29 2017-06-28 株式会社メガチップス 携帯端末装置、プログラムおよび補正方法
US10132647B2 (en) * 2013-10-24 2018-11-20 Mtd Products Inc Methods and apparatus for increasing accuracy and reliability of gyrosopic sensors
DE102014210739A1 (de) * 2014-06-05 2015-12-17 Robert Bosch Gmbh Verfahren zur Kalibrierung eines Drehratensensors und elektrisches Gerät
DE102014225858A1 (de) 2014-12-15 2016-06-16 Robert Bosch Gmbh Verfahren zum Kalibrieren eines mikromechanischen Sensorelements und ein System zum Kalibrieren einesmikromechanischen Sensorelements
US10043076B1 (en) 2016-08-29 2018-08-07 PerceptIn, Inc. Visual-inertial positional awareness for autonomous and non-autonomous tracking
US10366508B1 (en) 2016-08-29 2019-07-30 Perceptin Shenzhen Limited Visual-inertial positional awareness for autonomous and non-autonomous device
US10453213B2 (en) 2016-08-29 2019-10-22 Trifo, Inc. Mapping optimization in autonomous and non-autonomous platforms
US10032276B1 (en) * 2016-08-29 2018-07-24 PerceptIn, Inc. Visual-inertial positional awareness for autonomous and non-autonomous device
US10162362B2 (en) 2016-08-29 2018-12-25 PerceptIn, Inc. Fault tolerance to provide robust tracking for autonomous positional awareness
US10395117B1 (en) 2016-08-29 2019-08-27 Trifo, Inc. Visual-inertial positional awareness for autonomous and non-autonomous tracking
US11314262B2 (en) 2016-08-29 2022-04-26 Trifo, Inc. Autonomous platform guidance systems with task planning and obstacle avoidance
US10410328B1 (en) 2016-08-29 2019-09-10 Perceptin Shenzhen Limited Visual-inertial positional awareness for autonomous and non-autonomous device
US10571926B1 (en) 2016-08-29 2020-02-25 Trifo, Inc. Autonomous platform guidance systems with auxiliary sensors and obstacle avoidance
US10390003B1 (en) 2016-08-29 2019-08-20 Perceptln Shenzhen Limited Visual-inertial positional awareness for autonomous and non-autonomous device
US10571925B1 (en) 2016-08-29 2020-02-25 Trifo, Inc. Autonomous platform guidance systems with auxiliary sensors and task planning
US10402663B1 (en) 2016-08-29 2019-09-03 Trifo, Inc. Visual-inertial positional awareness for autonomous and non-autonomous mapping
CN106226558A (zh) * 2016-09-23 2016-12-14 中国地震局工程力学研究所 一种检测力平衡加速度传感器极性的方法及装置
US10843068B2 (en) 2017-01-18 2020-11-24 Xvisio Technology Corp. 6DoF inside-out tracking game controller
US10444761B2 (en) 2017-06-14 2019-10-15 Trifo, Inc. Monocular modes for autonomous platform guidance systems with auxiliary sensors
US10496104B1 (en) 2017-07-05 2019-12-03 Perceptin Shenzhen Limited Positional awareness with quadocular sensor in autonomous platforms
CN109000612B (zh) * 2018-06-19 2020-11-27 深圳市道通智能航空技术有限公司 设备的角度估算方法、装置、摄像组件及飞行器
EP3857167A4 (en) * 2018-09-25 2022-08-10 Ceva Technologies, Inc. METHOD AND DEVICE FOR CALIBRATION OF THE ZERO RATE OUTPUT OF A SENSOR
CN111400842B (zh) * 2018-12-17 2023-08-15 北京华航无线电测量研究所 一种高精度框架角补偿方法
US11774983B1 (en) 2019-01-02 2023-10-03 Trifo, Inc. Autonomous platform guidance systems with unknown environment mapping
KR102356752B1 (ko) * 2019-04-16 2022-01-28 주식회사 유진로봇 모바일 로봇의 초기화 진단 방법 및 시스템
KR20220031041A (ko) * 2019-06-28 2022-03-11 세바 테크놀러지, 인크. 자이로스코프 및 광학 흐름 센서 스케일 켈리브레이션
CN113124859B (zh) * 2019-12-30 2023-03-21 北京极智嘉科技股份有限公司 机器人、角速度校正方法及计算机可读存储介质
CN116100576B (zh) * 2023-04-13 2023-07-07 广东美的制冷设备有限公司 一种移动机器人及其安全监测模块

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02266213A (ja) 1989-04-06 1990-10-31 Nec Home Electron Ltd 振動ジャイロ装置
US5646843A (en) * 1990-02-05 1997-07-08 Caterpillar Inc. Apparatus and method for surface based vehicle control system
JPH04238216A (ja) * 1991-01-23 1992-08-26 Sumitomo Electric Ind Ltd ジャイロのスケールファクタの算出方法
JPH06331365A (ja) 1993-05-27 1994-12-02 Hitachi Cable Ltd 回転角速度センサの校正方法
JPH0783672A (ja) 1993-09-13 1995-03-28 Hitachi Cable Ltd 光ファイバジャイロ
JPH07167658A (ja) 1993-12-15 1995-07-04 Hitachi Cable Ltd レートジャイロ方位計
US5421187A (en) * 1993-12-28 1995-06-06 Honeywell Inc. Calibration of an internal sensor system
DE19721217C1 (de) * 1997-05-21 1998-08-27 Daimler Benz Aerospace Ag Vorrichtung zur Kalibrierung mehrerer Kreiselsysteme
KR20000007267A (ko) * 1998-07-01 2000-02-07 김덕중 캘리브레이션 정보를 이용한 로봇의 이동 위치 보정 방법
KR100326000B1 (ko) * 1999-02-25 2002-03-07 윤종용 무인차의 위치보정장치 및 위치보정방법
FR2836215B1 (fr) * 2002-02-21 2004-11-05 Yodea Systeme et procede de modelisation et de restitution tridimensionnelle d'un objet
KR100560966B1 (ko) * 2004-10-12 2006-03-15 삼성광주전자 주식회사 로봇 청소기의 자이로 센서 보정방법
KR101227008B1 (ko) * 2005-03-14 2013-01-28 삼성전자주식회사 모빌로봇 시스템의 자이로스코프 보정장치 및 이를 이용한보정방법
JP2007086076A (ja) * 2005-09-21 2007-04-05 Samsung Electronics Co Ltd ジャイロセンサの補正方法及び補正装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101008360B1 (ko) * 2008-07-01 2011-01-14 (주)마이크로인피니티 이동 로봇에서의 자이로 센서 오차를 교정하는 장치 및방법
KR101503046B1 (ko) * 2013-08-22 2015-03-24 한국과학기술연구원 다축 감지 장치 및 이의 교정 방법
KR20210026795A (ko) * 2019-09-02 2021-03-10 경북대학교 산학협력단 Imu 센서와 카메라를 이용한 하이브리드 실내 측위 시스템

Also Published As

Publication number Publication date
KR100886340B1 (ko) 2009-03-03
US8135562B2 (en) 2012-03-13
US20080249732A1 (en) 2008-10-09

Similar Documents

Publication Publication Date Title
KR100886340B1 (ko) 이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법
CN111052183B (zh) 利用事件相机的视觉惯性里程计
KR100772915B1 (ko) 이동 로봇에 장착된 자이로의 바이어스를 보정하는 장치 및방법
CN109394095B (zh) 一种机器人运动地毯偏移的控制方法、芯片及清洁机器人
KR101008360B1 (ko) 이동 로봇에서의 자이로 센서 오차를 교정하는 장치 및방법
US10513036B2 (en) Calibration system and calibration method
CN102914293A (zh) 信息处理设备和信息处理方法
JP6622765B2 (ja) ロボットシステム
JP2007086076A (ja) ジャイロセンサの補正方法及び補正装置
US10814481B2 (en) Robot system for performing learning control by using motor encoder and sensor
KR101390466B1 (ko) 이동로봇 및 레이저 스캐너가 고속으로 움직일 때 측정된 스캔 거리 데이터들의 동적 오차 보정 방법 및 이를 이용한 스캔 거리 데이터 측정 장치
CN111002304B (zh) 用于获取机械手的末端执行器的位置和定位的装置
US11874666B2 (en) Self-location estimation method
JP2001050741A (ja) ロボットのキャリブレーション方法及び装置
KR101685151B1 (ko) 캘리브레이션 장치
JP2022538327A (ja) 平面ロボットシステム中のimuによる、動的なオプティカルフローセンサの較正のための方法および装置
CN114174770A (zh) 磁性编码器校准
KR102561103B1 (ko) 로봇 보정 시스템 및 그것의 보정 방법
US11662742B2 (en) Self-position estimation method
CN113310505A (zh) 传感器系统的外参标定方法、装置及电子设备
JP7008736B2 (ja) 画像キャプチャ方法および画像キャプチャ装置
Nasir et al. Autonomous mobile robot localization using Kalman filter
Lee et al. Self-calibration of gyro using monocular SLAM for an indoor mobile robot
Bak et al. Location estimation using delayed measurements
Lele et al. Evaluation of solid state accelerometer sensor for effective position estimation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130115

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180119

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20200120

Year of fee payment: 12