KR20080094618A - 인코더 및 가속도 센서를 이용한 위치 추정 시스템 및 방법 - Google Patents

인코더 및 가속도 센서를 이용한 위치 추정 시스템 및 방법 Download PDF

Info

Publication number
KR20080094618A
KR20080094618A KR1020080036213A KR20080036213A KR20080094618A KR 20080094618 A KR20080094618 A KR 20080094618A KR 1020080036213 A KR1020080036213 A KR 1020080036213A KR 20080036213 A KR20080036213 A KR 20080036213A KR 20080094618 A KR20080094618 A KR 20080094618A
Authority
KR
South Korea
Prior art keywords
speed
rotation angle
encoder
error
acceleration sensor
Prior art date
Application number
KR1020080036213A
Other languages
English (en)
Other versions
KR100946676B1 (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 (주)에스엠엘전자
Publication of KR20080094618A publication Critical patent/KR20080094618A/ko
Application granted granted Critical
Publication of KR100946676B1 publication Critical patent/KR100946676B1/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/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices

Landscapes

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

Abstract

이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 가속도 센서; 상기 이동체의 이동 거리를 검출하는 하나 이상의 인코더; 상기 가속도 센서에서 검출된 양 방향 가속도 및 상기 인코더에서 검출된 이동 거리를 사용하여, 상기 가속도 센서에 의한 속도 및 회전 각도와 상기 인코더에 의한 속도 및 회전 각도를 산출하는 분석 모듈; 상기 분석 모듈에서 산출된 각각의 속도 및 회전 각도를 사용하여 오차가 보정된 속도 및 회전 각도를 산출하는 보정 모듈; 및 상기 보정 모듈에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 위치추정 모듈을 포함하는 것을 특징으로 하는 위치 추정 시스템이 개시된다. 본 발명에 따른 위치 추정 시스템 및 방법을 사용하여 정확하게 이동 로봇의 위치를 추정할 수 있다. 또한, 소형의 가속도 센서를 사용하므로 크기가 작고, 인코더와 가속도 센서를 이용한 위치 추정 알고리즘이 복잡하지 않으므로 개발 시간을 단축할 수 있다. 나아가, 저가의 가속도 센서를 사용하며, 고사양의 마이크로프로세서가 필요하지 않으므로 부품 비용이 절감된다.
Figure P1020080036213
가속도 센서, 인코더, MEMS, 위치 추정, 이동 로봇

Description

인코더 및 가속도 센서를 이용한 위치 추정 시스템 및 방법{System and method for position estimation using enconders and accelerometers}
본 발명은 2축 가속도 센서 및 인코더를 이용한 위치 추정 시스템 및 방법에 관한 것으로, 상세하게는 이동 로봇 등에서 구동바퀴의 슬립(slip)으로 인해 발생하는 인코더의 오차를 가속도 센서로 보정하고, 가속도 센서의 적분 오차를 인코더로 보정함으로써 이동 로봇의 정확한 위치를 추정할 수 있는 위치 추정 시스템 및 방법에 관한 것이다.
이동 로봇 등과 같이 자율적으로 이동할 수 있도록 구성된 물체에 있어서, 로봇의 효율적인 제어 및 자기 위치 인식을 위해서는 정확한 위치 추정이 필요하다. 예를 들어, 현재 가정에서 사용하고 있는 보편적인 이동 로봇으로 청소 로봇이 있다. 청소 로봇은 이미 프로그램된 이동 경로 및 주행 방법에 따라 이동하면서 이물질을 흡입하여 청소를 하는 로봇이다. 이러한 청소 로봇의 청소 효율을 높이기 위해서는 구석구석 청소가 가능하면서, 이미 청소를 하고 지나간 구역은 다시 지나가지 않고, 청소를 하지 않은 구역을 청소하는 주행 방법이 필요하다. 그러므로 청소 효율을 높이기 위하여 다양한 주행 방법이 사용되고 있으며, 장애물과의 충돌을 피하기 위한 다양한 센서들이 탑재되어 사용되고 있다.
그러나, 전술한 바와 같이 이동 로봇의 청소 효율을 높이기 위한 다양한 주행 방법 및 센서들의 이용은 청소 로봇의 정확한 위치를 알고 있다는 전제 하에서만 구현될 수 있다. 만약, 청소 효율을 극대화한 주행 방법과 센서들의 조합을 사용하더라도, 실제 청소 로봇의 위치를 정확히 알지 못한다면 효율적인 청소 성능을 발휘하기가 어렵다.
전술한 문제점을 해결하기 위해서, 청소 로봇을 포함하는 이동 로봇의 위치 추정을 위해 사용되는 가장 보편적인 방법은 이동 로봇의 구동 바퀴에 장착된 인코더를 사용하는 것이다. 대부분의 이동 로봇은 바퀴로 이동하며, 구동 바퀴에 장착된 인코더는 바퀴의 회전수를 계수하여 회전수에 따라 이동 로봇의 이동거리를 추정할 수 있다. 또한, 바퀴를 두 개 이상 사용하여 사용 가능한 인코더 데이터가 두 개 이상인 경우, 각 인코더 값의 차를 계산하여 회전 각속도 및 회전 각도 추정이 가능하다.
그러나, 인코더를 이용한 위치 추정은 구동 바퀴와 맞닿은 바닥면의 미끄러짐에 의한 슬립(slip)이 발생하는 경우 실제 움직인 거리와 인코더에 의한 추정 거리가 상이한 값을 가지는 단점이 있다. 슬립은 미끄러운 바닥, 카펫, 문턱을 넘는 경우, 충돌에 의한 경우 등 다양한 원인으로 인하여 발생한다. 슬립은 실내에서 사용되는 이동 로봇에게는 빈번하게 발생하게 되며, 결과적으로 인코더만을 이용할 경우 이동 로봇의 위치를 정확히 추정하는 것이 어렵다.
슬립으로 인한 인코더의 위치 추정 오차를 보정하기 위하여 인도어(indoor) GPS, 카메라를 이용한 이미지 프로세스 및 바닥면의 바코드를 이용한 위치 추정 등의 다양한 방법이 사용되고 있다. 그러나, 인도어 GPS의 경우 실내에 추가적으로 설비를 구축해야 하기 때문에 비용 및 공간적인 측면에서 단점이 있다. 카메라를 이용한 이미지 프로세스 또한 비용 및 알고리즘의 복잡성뿐만 아니라 실시간 프로세싱 구현이 어렵다는 단점이 있으며, 바닥면의 바코드를 이용하는 경우에도 실내의 바닥에 바코드를 깔아야 하기 때문에 비용이 많이 드는 문제점이 있다.
전술한 종래 기술의 문제점을 해결하기 위한 본 발명은, 추가적인 설비 없이도 이동 로봇의 위치를 정확하게 측정할 수 있으며, 슬립이 발생하는 경우에도 이동 로봇의 위치를 오차 없이 산출할 수 있도록 2축 가속도 센서와 인코더를 함께 이용하는 위치 추정 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 위치 추정 시스템은, 이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 가속도 센서; 상기 이동체의 이동 거리를 검출하는 하나 이상의 인코더; 상기 가속도 센서에서 검출된 양 방향 가속도 및 상기 인코더에서 검출된 이동 거리를 사용하여, 상기 가속도 센서에 의한 속도 및 회전 각도와 상기 인코더에 의한 속도 및 회전 각도를 산출하는 분석 모듈; 상기 분석 모듈에서 산출된 각각의 속도 및 회전 각도를 사용하여 오차가 보정된 속도 및 회전 각도를 산출하는 보정 모듈; 및 상기 보정 모듈에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 위치추정 모듈을 포함하여 구성될 수 있다.
본 발명의 일 실시예에 따른 위치 추정 방법은, 가속도 센서를 사용하여 이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 단계 (a); 인코더를 사용하여 상기 이동체의 이동 거리를 검출하는 단계 (b); 상기 단계 (a)에서 검출된 양 방향 가속도 및 상기 단계 (b)에서 검출된 이동 거리를 사 용하여, 상기 가속도 센서에 의한 속도 및 회전 각도와 상기 인코더에 의한 속도 및 회전 각도를 산출하는 단계 (c); 상기 단계 (c)에서 산출된 각각의 속도 및 회전 각도를 사용하여 오차가 보정된 속도 및 회전 각도를 산출하는 단계 (d); 및 상기 단계 (d)에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 단계 (e)를 포함하여 구성될 수 있다.
본 발명에 따른 위치 추정 시스템 및 방법을 사용하여 정확하게 이동 로봇의 위치를 추정할 수 있다. 또한, 소형의 가속도 센서를 사용하므로 크기가 작고, 인코더와 가속도 센서를 이용한 위치 추정 알고리즘이 복잡하지 않으므로 개발 시간을 단축할 수 있다. 나아가, 저가의 가속도 센서를 사용하며, 고사양의 마이크로프로세서가 필요하지 않으므로 부품 비용이 절감되는 이점이 있다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 살펴본다.
도 1은 본 발명의 일 실시예에 따른 위치 추정 시스템의 구성을 도시한 블록도이다. 상기 실시예에 따른 위치 추정 시스템은, 이동 로봇을 포함하는 이동체에 부착된 가속도 센서(10) 및 인코더(20)를 사용하여 물체의 위치를 추정한다. 가속도 센서(10)는 이동체의 이동 방향 및 이동 방향에 수직한 방향의 양 방향 가속도를 검출하고, 인코더(20)는 이동체의 구동 바퀴에 부착되어 바퀴의 회전수를 계수 함으로써 이동체의 이동 거리를 검출한다.
분석 모듈(30)은 가속도 센서(10)에서 검출된 양 방향 가속도 및 인코더(20)에서 검출된 이동 거리를 수신한다. 분석 모듈(30)에 포함된 제1 분석부(31)에서는 가속도 센서(10)에 의한 이동체의 속도 및 회전 각도를 산출하며, 제2 분석부(32)에서는 인코더(20)에 의한 이동체의 속도 및 회전 각도를 산출한다. 본 발명의 일 실시예에는, 가속도 센서(10)의 측정에 의한 적분 오차를 제거하기 위해 분석 모듈(30)에 연결된 리셋 모듈(40)이 포함될 수도 있다.
분석 모듈(30)에서 산출된 각각의 속도 및 회전 각도는 보정 모듈(50)로 전달된다. 보정 모듈(50)에서는 각각의 속도 및 회전 각도를 이용하여 오차가 보정된 이동체의 속도를 산출하는 속도 보정부(51) 및 오차가 보정된 회전 각도를 산출하는 각도 보정부(52)가 포함된다. 본 발명의 일 실시예에서, 속도 보정부(51)는 이동체의 구동 바퀴에 슬립이 발생하였는지 여부를 판단하기 위한 슬립 검출부(미도시)를 포함할 수도 있다. 보정 모듈(50)에서 오차가 보정된 속도 및 회전 각도는 위치산출 모듈(60)로 전달되며, 위치산출 모듈(60)에서는 칼만 필터(Kalman Filter) 등을 사용하여 이동 로봇의 위치를 산출한다.
도 2는 본 발명의 일 실시예에 따른 위치 추정 방법의 각 단계를 도시한 순서도이다. 상기 실시예에 따른 위치 추정 방법은 이동 로봇에 부착된 가속도 센서(10)를 사용하여 이동 로봇의 이동 방향 및 이동 방향에 수직한 수직 방향 가속도를 검출하는 것으로 시작된다(S101, S102). 가속도 센서(10)는 이동 로봇의 이동 방향 및 수직 방향의 가속도를 검출하기 위한 센서로서, 일 실시예에서 가속도 센서(10)는 2축 가속도 센서로 구성될 수도 있다. 바람직하게는, 가속도 센서(10)는 MEMS(Micro Electro Mechanical System) 2축 가속도 센서로 구성될 수 있다. 또한, 이동 로봇의 바퀴에는 인코더(20)가 부착되어 있어 구동 바퀴의 회전수를 계수하며, 계수한 회전수를 사용하여 이동 로봇의 이동 거리를 검출한다(S103).
도 3은 이동 로봇에서 가속도 센서(10) 및 인코더(20)의 배치를 도시한 개략도이다. 도 3에 도시되는 바와 같이, 가속도 센서(10)는 이동 로봇의 일단에 부착되어, 2축 가속도 센서에서 가속도를 검출하는 하나의 축이 이동 로봇의 이동 방향과 정렬되도록 배치된다. 또한, 인코더(20)는 이동 로봇의 양 측면에 위치한 구동 바퀴에 부착된다. 도 3에 도시된 실시예에서는 구동 바퀴가 이동 로봇의 양 측면에 위치하여 인코더(20)가 이동 로봇의 양 측면에 부착되었으나, 다른 실시예에 인코더(20)는 상이한 위치에 부착되는 것도 가능하다.
가속도 센서(10)에서 검출된 양 방향 가속도 및 인코더(20)에서 검출된 이동 거리는 분석 모듈(30)로 전달된다. 분석 모듈(30)에 포함된 제1 분석부(31)는 가속도 센서(10)에서 측정된 가속도를 사용하여 이동 로봇의 속도 및 회전 각도를 검출한다. 먼저, 이동 로봇의 회전 각도를 구하는 과정이 설명된다. 도 3에 도시된 바와 같이 이동 로봇의 중심 O에서 미리 설정된 거리 r만큼 떨어져 있는 가속도 센서(10)에서 가속도를 측정할 경우, 측정된 수직 방향 가속도를
Figure 112008027821967-PAT00001
라 하면 이동 로봇의 회전 각가속도
Figure 112008027821967-PAT00002
는 하기 수학식 1에 의하여 구할 수 있다(S104).
Figure 112008027821967-PAT00003
다음으로, 제1 분석부(31)는 회전 각가속도를 적분하여 하기 수학식 2에 의해 이동 로봇의 회전 각속도
Figure 112008027821967-PAT00004
를 산출한다(S105).
Figure 112008027821967-PAT00005
다음으로, 제1 분석부(31)는 회전 각속도를 적분하여 하기 수학식 3에 의해 이동 로봇의 회전 각도
Figure 112008027821967-PAT00006
를 산출한다(S111).
Figure 112008027821967-PAT00007
또한, 제1 분석부(31)는 가속도 센서(10)에서 측정된 이동 방향 가속도를 사용하여 이동 로봇의 속도를 산출한다(S106). 가속도 센서(10)에서는 이동 로봇의 이동 방향의 가속도가 산출되므로, 제1 분석부(31)는 가속도 센서(10)에서 산출된 이동 방향 가속도
Figure 112008027821967-PAT00008
를 적분함으로써 하기 수학식 4에 의하여 이동 로봇의 속도를 구할 수 있다.
Figure 112008027821967-PAT00009
제1 분석부(31)에서는, 상기 수학식 4에 의하여 구한 속도를 사용하여, 도 4에 도시된 각 축 Xposition 및 Yposition 방향 속도를 얻는다. 도 4에 도시된 바와 같이 이동 로봇의 회전 각도가 미리 설정된 Xposition 축을 기준으로 하여
Figure 112008027821967-PAT00010
만큼의 각도일 경우, 각 축 방향의 속도
Figure 112008027821967-PAT00011
Figure 112008027821967-PAT00012
는 삼각 함수를 사용하여 하기 수학식 5 및 수학식 6에 의해 구할 수 있다(S112).
Figure 112008027821967-PAT00013
Figure 112008027821967-PAT00014
본 발명의 일 실시예에서는, 제1 분석부(31)에서 가속도 센서(10)에 의한 속 도 및 회전 각도를 산출하는 과정에서, 분석 모듈(30)에 연결된 리셋 모듈(40)이 속도 및 회전 각도를 리셋하도록 구성될 수도 있다(S105 내지 S110). 가속도 센서(10)에 의한 속도 및 각속도는 적분을 사용하여 산출되므로, 잡음 등에 의한 적분 오차가 계속해서 누적된다. 이러한 적분 오차는 결과적으로 위치 추정 오차가 되므로, 적분 오차를 제거하여야 한다. 따라서, 리셋 모듈(40)에서는 인코더(20) 값을 사용하여 제1 분석부(31)에서 산출되는 속도 및 각속도를 리셋하는 과정을 수행한다.
리셋 동작을 위해서, 이동 로봇은 주행 중에 미리 설정된 주기 마다 소정의 시간동안 정지한다. 정지 주기는 여러 가지 방법으로 정할 수 있다. 예를 들면, 로봇이 직선주행을 하다가 회전을 하는 시기에 잠시 정지하는 모션을 주는 것이 가능하다. 이동 로봇이 정지하면 인코더(20)에서 검출되는 이동 거리의 변화량이 작아지게 된다. 따라서 리셋 모듈(40)에서는 인코더(20)에서 검출된 이동 거리의 분산을 구하여, 분산이 미리 설정된 한계 분산값 이내일 경우 이동 로봇이 정지한 것으로 판단한다(S107, S108). 이동 로봇이 정지하면, 리셋 모듈(40)은 제1 분석부(31)에서 산출된 속도 및 각속도를 0으로 설정한다(S109, S110). 전술한 과정에 의해, 제1 분석부(31)에서 산출된 속도 및 각속도를 주기적으로 리셋하여 적분 오차를 제거할 수 있다.
한편, 분석 모듈(30)의 제2 분석부(31)에서는 인코더(20)에서 검출된 이동 거리를 사용하여 이동 로봇의 속도 및 회전 각도를 산출한다(S113). 인코더(20)는 인코더값으로 이동 로봇의 이동 거리를 출력하며, 제2 분석부(32)는 이동 거리를 단위 시간으로 나누어 이동 로봇의 속도를 산출할 수 있다. 일 실시예에서, 로봇의 속도는 좌우 인코더 값에서 계산된 속도를 평균하여 사용할 수 있다.
속도가 산출되면, 전술한 수학식 5 및 수학식 6과 동일한 과정에 따라, 삼각함수를 사용하여 인코더(20)에 의한 각 축 방향 속도
Figure 112008027821967-PAT00015
Figure 112008027821967-PAT00016
를 산출한다. 또한, 이동 로봇의 각 구동 바퀴에 부착된 인코더(21)에서 검출된 인코더값을 비교하여, 양 인코더 값의 차이를 통하여 이동 로봇의 회전 각도를 산출한다. 인코더를 이용한 회전 각도 계산은 하기 수학식 7 및 수학식 8과 같다.
Figure 112008027821967-PAT00017
Figure 112008027821967-PAT00018
상기 수학식 7 및 수학식 8에서,
Figure 112008027821967-PAT00019
는 인코더(20)로 계산된 각속도,
Figure 112008027821967-PAT00020
는 인코더(20)로 계산된 우측(좌측) 바퀴 속도, b는 바퀴 사이의 거리,
Figure 112008027821967-PAT00021
는 인코더(20)로 계산된 회전 각도이다.
제1 및 제2 분석부(31, 32)에서 산출된, 가속도 센서(10) 및 인코더(20) 각각에 의한 속도 및 회전 각도는 보정 모듈(50)로 전달된다. 먼저, 보정 모듈(50)에 포함된 속도 보정부(51)에서 이동 로봇의 속도 오차를 보정한다. 오차 보정을 위하여, 속도 보정부(51)는 이동 로봇의 속도 오차를 다음과 같이 정의한다(S114). 제1 분석부(31)에서 산출된 가속도 센서(10)에 의한 Xposition 축 방향 속도를
Figure 112008027821967-PAT00022
, 제2 분석부(32)에서 산출된 인코더(20)에 의한 Xposition 축 방향 속도를
Figure 112008027821967-PAT00023
라 할 경우, Xposition 축 방향 속도 오차
Figure 112008027821967-PAT00024
는 하기 수학식 9에 의하여 구할 수 있다.
Figure 112008027821967-PAT00025
마찬가지로, Yposition 축 방향 속도 오차
Figure 112008027821967-PAT00026
는 하기 수학식 10에 의하여 정의된다.
Figure 112008027821967-PAT00027
상기 수학식 10에서
Figure 112008027821967-PAT00028
는 제2 분석부(32)에서 산출된 인코더(20)에 의한 Yposition 축 방향 속도이며,
Figure 112008027821967-PAT00029
는 제1 분석부(31)에서 산출된 가속도 센서(10)에 의한 Yposition 축 방향 속도이다.
속도 보정부(51)에서는 상기 수학식 9 및 수학식 10에 의하여 산출된 속도 오차에 적절한 가중치를 곱한 속도 오차를 사용하여 보정된 속도를 산출한다. 가중치를 결정하기 위해 먼저 측정된 가속도를 사용하여 슬립이 발생하였는지 여부를 판단하여야 한다. 이를 위하여, 속도 보정부(51)에서는 가속도 센서(10)의 측정값을 미리 설정된 한계 가속도와 비교하여, 한계 가속도를 초과하는 경우 슬립이 발생하는 것으로 판단한다(S115).
슬립이 발생한 것으로 판단된 경우, 속도 보정부(51)에서는 상기 수학식 9 및 수학식 10에 의하여 산출된 속도 오차에 미리 설정된 가중치
Figure 112008027821967-PAT00030
를 곱하여 가중치가 곱해진 속도 오차
Figure 112008027821967-PAT00031
Figure 112008027821967-PAT00032
를 산출한다(S116). 가중치의 값은 슬립이 발생함에 따라 가속도 센서(10) 및 인코더(20) 검출값의 차이를 반영하기 위한 값으로, 필요에 따라 적절히 설정될 수 있다.
반면, 슬립이 발생하지 않은 것으로 판단될 경우에는 가중치의 값은 1이 되며, 따라서 상기 수학식 7 및 수학식 8에 의하여 산출된 속도 오차의 값이 그대로 가중치가 적용된 속도 오차로 사용된다(S117).
속도 오차가 산출되면, 속도 보정부(51)에서는 가속도 센서(10)에 의한 속도에서 속도 오차를 빼고, 하기 수학식 11 및 수학식 12에 의하여 오차가 보정된 각 축 방향 속도
Figure 112008027821967-PAT00033
Figure 112008027821967-PAT00034
를 산출한다(S118).
Figure 112008027821967-PAT00035
Figure 112008027821967-PAT00036
다음으로, 각도 보정부(52)에서는 제1 분석부(31)에서 산출된 가속도 센서(10)에 의한 회전 각도와 제2 분석부(32)에서 산출된 인코더(20)에 의한 회전 각도 사이의 오차를 보정한다. 우선, 가속도 센서(10)에 의한 회전 각도를
Figure 112008027821967-PAT00037
, 인코더(20)에 의한 회전 각도를
Figure 112008027821967-PAT00038
라 할 경우, 회전 각도 오차
Figure 112008027821967-PAT00039
는 하기 수학식 13에 의하여 정의된다.
Figure 112008027821967-PAT00040
다음으로, 각도 보정부(52)는 상기 수학식 13에 의해 산출된 회전 각도 오차 를 인코더(20)에 의한 회전 각도에 더하여, 하기 수학식 14에 의해 보정된 회전 각도
Figure 112008027821967-PAT00041
를 산출한다(S119).
Figure 112008027821967-PAT00042
보정 모듈(50)에서 보정된 속도 및 보정된 회전 각도가 산출되면, 보정된 속도 및 회전 각도는 위치산출 모듈(60)로 전달된다. 위치산출 모듈(60)에서는 슬립 오차가 보정된 이동 로봇의 속도 및 회전 각도를 사용하여 이동 로봇의 위치를 추정한다(S120). 예컨대, 위치산출 모듈(40)에서는 각 축 방향의 속도를 적분하여 산출된 각 축 상의 이동 로봇의 좌표와, 이동 로봇의 회전 각도로써 이동 로봇의 위치를 표시하는 것이 가능하다. 또한 본 발명의 일실시예에서, 위치산출 모듈(60)은 전술한 적분 과정에 의하여 산출된 이동 로봇의 위치 정보에 칼만 필터(Kalman Filter)를 사용하여 필터링하여, 이동 로봇의 최종 위치를 추정할 수도 있다(S121).
이상에서 설명한 바와 같이, 본 발명에 따른 위치 추정 시스템 및 방법을 사용하여 이동 로봇 등과 같은 이동체의 위치를 추정함으로써, 이동 로봇의 바퀴의 미끄러짐으로 인하여 발생하는 슬립으로 인한 위치 추정 오차를 효과적으로 제거하고 이동 로봇의 위치를 정확하게 추정할 수 있다. 본 발명에 따른 위치 추정 시스 템은 소형의 2축 가속도 센서를 사용하므로 크기가 작다. 또한, 저가인 2축 가속도 센서를 사용하고, 이동 로봇에 장착된 센서 외에 추가적인 설비를 필요로 하지 않으며, 고사양의 마이크로프로세서가 필요하지 않아 부품 비용이 절감된다. 나아가, 인코더와 가속도 센서를 이용한 위치 추정 알고리즘이 복잡하지 않으므로 개발 시간을 단축할 수 있는 이점이 있다.
이상 본 발명의 특정 실시예를 도시하고 설명하였으나, 본 발명의 기술사상은 첨부된 도면과 상기한 설명내용에 한정하지 않으며 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 형태의 변형이 가능함은 이 분야의 통상의 지식을 가진 자에게는 자명한 사실이며, 이러한 형태의 변형은, 본 발명의 정신에 위배되지 않는 범위 내에서 본 발명의 특허청구범위에 속한다고 볼 것이다.
도 1은 본 발명의 일 실시예에 따른 위치 추정 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 위치 추정 방법의 각 단계를 도시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 위치 추정 시스템에서 가속도 센서 및 인코더의 배치를 도시한 개략도이다.
도 4는 본 발명의 일 실시예에 따른 위치 추정 시스템에서 이동체의 회전 각도 및 각 축 방향을 도시한 개략도이다.

Claims (16)

  1. 이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 가속도 센서;
    상기 이동체의 이동 거리를 검출하는 하나 이상의 인코더;
    상기 가속도 센서에서 검출된 양 방향 가속도 및 상기 인코더에서 검출된 이동 거리를 사용하여, 상기 가속도 센서에 의한 속도 및 회전 각도와 상기 인코더에 의한 속도 및 회전 각도를 산출하는 분석 모듈;
    상기 분석 모듈에서 산출된 각각의 속도 및 회전 각도를 사용하여 오차가 보정된 속도 및 회전 각도를 산출하는 보정 모듈; 및
    상기 보정 모듈에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 위치추정 모듈을 포함하는 것을 특징으로 하는 위치 추정 시스템.
  2. 제 1항에 있어서,
    상기 분석 모듈은,
    상기 가속도 센서에서 검출된 이동 방향 가속도를 사용하여 상기 가속도 센서에 의한 속도를 산출하고, 상기 가속도 센서에서 검출된 상기 이동 방향에 수직한 방향의 가속도를 사용하여 각속도를 산출하며 산출된 각속도를 통해 상기 가속도 센서에 의한 회전 각도를 산출하는 제1 분석부; 및
    상기 인코더에서 검출된 이동 거리를 사용하여 상기 인코더에 의한 속도 및 회전 각도를 산출하는 제2 분석부를 포함하는 것을 특징으로 하는 위치 추정 시스템.
  3. 제 2항에 있어서,
    상기 인코더에서 검출된 이동 거리의 분산이 미리 설정된 값 이내일 경우, 상기 제1 분석부에서 산출된 속도 및 각속도를 0으로 설정하는 리셋 모듈을 더 포함하는 것을 특징으로 하는 위치 추정 시스템.
  4. 제 1항에 있어서,
    상기 보정 모듈은,
    상기 가속도 센서에 의한 속도 및 상기 인코더에 의한 속도를 사용하여 오차가 보정된 속도를 산출하는 속도 보정부; 및
    상기 가속도 센서에 의한 회전 각도 및 상기 인코더에 의한 회전 각도를 사용하여 오차가 보정된 회전 각도를 산출하는 각도 보정부를 포함하는 것을 특징으로 하는 위치 추정 시스템.
  5. 제 4항에 있어서,
    상기 속도 보정부는,
    상기 가속도 센서에 의한 속도를
    Figure 112008027821967-PAT00043
    , 상기 인코더에 의한 속도를
    Figure 112008027821967-PAT00044
    , 속도의 오차를
    Figure 112008027821967-PAT00045
    라 할 경우,
    Figure 112008027821967-PAT00046
    의 수학식에 의하여 상기 오차를 산출하며,
    상기 오차에 대한 가중치를
    Figure 112008027821967-PAT00047
    , 상기 오차가 보정된 속도를
    Figure 112008027821967-PAT00048
    라 할 경우,
    Figure 112008027821967-PAT00049
    의 수학식에 의하여 상기 오차가 보정된 속도를 산출하는 것을 특징으로 하는 위치 추정 시스템.
  6. 제 4항에 있어서,
    상기 속도 보정부는,
    상기 가속도 센서에서 검출된 이동 방향 가속도를 미리 설정된 한계 가속도와 비교하여 슬립이 발생하였는지 여부를 판단하는 슬립 검출부를 포함하는 것을 특징으로 하는 위치 추정 시스템.
  7. 제 4항에 있어서,
    상기 각도 보정부는,
    상기 가속도 센서에 의한 회전 각도를
    Figure 112008027821967-PAT00050
    , 상기 인코더에 의한 회전 각도를
    Figure 112008027821967-PAT00051
    , 상기 오차가 보정된 회전 각도를
    Figure 112008027821967-PAT00052
    라 할 경우,
    Figure 112008027821967-PAT00053
    의 수학식에 의하여 상기 오차가 보정된 회전 각도를 산출하는 것을 특징으로 하는 위치 추정 시스템.
  8. 제 1항에 있어서,
    상기 위치추정 모듈은,
    상기 보정 모듈에서 산출된 속도 및 회전 각도에 칼만 필터(Kalman Filter)를 적용하여 상기 이동체의 위치를 추정하는 것을 특징으로 하는 위치 추정 시스템.
  9. 가속도 센서를 사용하여 이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 단계 (a);
    인코더를 사용하여 상기 이동체의 이동 거리를 검출하는 단계 (b);
    상기 단계 (a)에서 검출된 양 방향 가속도 및 상기 단계 (b)에서 검출된 이동 거리를 사용하여, 상기 가속도 센서에 의한 속도 및 회전 각도와 상기 인코더에 의한 속도 및 회전 각도를 산출하는 단계 (c);
    상기 단계 (c)에서 산출된 각각의 속도 및 회전 각도를 사용하여 오차가 보정된 속도 및 회전 각도를 산출하는 단계 (d); 및
    상기 단계 (d)에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 단계 (e)를 포함하는 것을 특징으로 하는 위치 추정 방법.
  10. 제 9항에 있어서,
    상기 단계 (c)는,
    상기 단계 (a)에서 검출된 이동 방향 가속도를 사용하여 상기 가속도 센서에 의한 속도를 산출하고, 상기 단계 (a)에서 검출된 상기 이동 방향에 수직한 방향의 가속도를 사용하여 각속도를 산출하며, 산출된 각속도를 통해 상기 가속도 센서에 의한 회전 각도를 산출하는 단계 (c1); 및
    상기 단계 (b)에서 검출된 이동 거리를 사용하여 상기 인코더에 의한 속도 및 회전 각도를 산출하는 단계 (c2)를 포함하는 것을 특징으로 하는 위치 추정 방법.
  11. 제 10항에 있어서,
    상기 단계 (b)에서 검출된 이동 거리의 분산이 미리 설정된 값 이내인지 판단하는 단계; 및
    상기 이동 거리의 분산이 미리 설정된 값 이내일 경우, 상기 단계 (c1)에서 산출된 속도 및 각속도를 0으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 위치 추정 방법.
  12. 제 9항에 있어서,
    상기 단계 (d)는,
    상기 가속도 센서에 의한 속도 및 상기 인코더에 의한 속도를 사용하여 오차가 보정된 속도를 산출하는 단계 (d1); 및
    상기 가속도 센서에 의한 회전 각도 및 상기 인코더에 의한 회전 각도를 사용하여 오차가 보정된 회전 각도를 산출하는 단계 (d2)를 포함하는 것을 특징으로 하는 위치 추정 방법.
  13. 제 12항에 있어서,
    상기 단계 (d1)은,
    상기 가속도 센서에 의한 속도를
    Figure 112008027821967-PAT00054
    , 상기 인코더에 의한 속도를
    Figure 112008027821967-PAT00055
    , 속도의 오차를
    Figure 112008027821967-PAT00056
    라 할 경우,
    Figure 112008027821967-PAT00057
    의 수학식에 의하여 상기 오차를 산출하는 단계; 및
    상기 오차에 대한 가중치를
    Figure 112008027821967-PAT00058
    , 상기 오차가 보정된 속도를
    Figure 112008027821967-PAT00059
    라 할 경우,
    Figure 112008027821967-PAT00060
    의 수학식에 의하여 상기 오차가 보정된 속도를 산출하는 단계를 포함하는 것을 특징으로 하는 위치 추정 방법.
  14. 제 12항에 있어서,
    상기 단계 (d1)은,
    상기 단계 (a)에서 검출된 이동 방향 가속도를 미리 설정된 한계 가속도와 비교하여 슬립이 발생하였는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 위치 추정 방법.
  15. 제 12항에 있어서,
    상기 단계 (d2)는,
    상기 가속도 센서에 의한 회전 각도를
    Figure 112008027821967-PAT00061
    , 상기 인코더에 의한 회전 각도를
    Figure 112008027821967-PAT00062
    , 상기 오차가 보정된 회전 각도를
    Figure 112008027821967-PAT00063
    라 할 경우,
    Figure 112008027821967-PAT00064
    의 수학식에 의하여 상기 오차가 보정된 회전 각도를 산출하는 단계를 포함하는 것을 특징으로 하는 위치 추정 방법.
  16. 제 9항에 있어서,
    상기 단계 (e)는,
    상기 단계 (d)에서 산출된 속도 및 회전 각도에 칼만 필터(Kalman Filter)를 적용하여 상기 이동체의 위치를 추정하는 단계를 포함하는 것을 특징으로 하는 위치 추정 방법.
KR1020080036213A 2007-04-19 2008-04-18 인코더 및 가속도 센서를 이용한 위치 추정 시스템 및 방법 KR100946676B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20070038161 2007-04-19
KR1020070038161 2007-04-19

Publications (2)

Publication Number Publication Date
KR20080094618A true KR20080094618A (ko) 2008-10-23
KR100946676B1 KR100946676B1 (ko) 2010-03-12

Family

ID=40154710

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080036213A KR100946676B1 (ko) 2007-04-19 2008-04-18 인코더 및 가속도 센서를 이용한 위치 추정 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100946676B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101337541B1 (ko) * 2012-10-25 2013-12-06 국방과학연구소 관성센서를 이용한 이동체의 기관 진동 연산 방법 및 항법 응용
US8634959B2 (en) 2009-08-25 2014-01-21 Samsung Electronics Co., Ltd. Apparatus and method detecting a robot slip
CN106041925A (zh) * 2016-05-30 2016-10-26 北京玄通海纳科技发展有限公司 测量管道机器人行进距离***
US10040198B2 (en) 2014-12-26 2018-08-07 Samsung Eletcronics Co., Ltd. Method of processing location information and method of processing measurement information including the same
KR102259920B1 (ko) * 2020-12-09 2021-06-01 세종대학교산학협력단 실내 환경에서 운행하는 무인 비행체의 방위각의 추정
CN114174011A (zh) * 2019-07-31 2022-03-11 Lg电子株式会社 移动机器人及移动机器人的移动距离计算方法
CN114951003A (zh) * 2022-05-06 2022-08-30 苏州嘉诺智能制造有限公司 基于距离检测的分拣方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210000095A (ko) 2019-06-24 2021-01-04 삼성전자주식회사 자세 추정 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2988699B2 (ja) * 1990-08-29 1999-12-13 ヤマハ発動機株式会社 移動体の位置検知装置
US6454036B1 (en) 2000-05-15 2002-09-24 ′Bots, Inc. Autonomous vehicle navigation system and method
JP2005112498A (ja) 2003-10-03 2005-04-28 Daifuku Co Ltd 移動体
JP2005156496A (ja) * 2003-11-28 2005-06-16 Mitsuba Corp 速度検出装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634959B2 (en) 2009-08-25 2014-01-21 Samsung Electronics Co., Ltd. Apparatus and method detecting a robot slip
KR101337541B1 (ko) * 2012-10-25 2013-12-06 국방과학연구소 관성센서를 이용한 이동체의 기관 진동 연산 방법 및 항법 응용
US10040198B2 (en) 2014-12-26 2018-08-07 Samsung Eletcronics Co., Ltd. Method of processing location information and method of processing measurement information including the same
CN106041925A (zh) * 2016-05-30 2016-10-26 北京玄通海纳科技发展有限公司 测量管道机器人行进距离***
CN114174011A (zh) * 2019-07-31 2022-03-11 Lg电子株式会社 移动机器人及移动机器人的移动距离计算方法
CN114174011B (zh) * 2019-07-31 2024-04-19 Lg电子株式会社 移动机器人
KR102259920B1 (ko) * 2020-12-09 2021-06-01 세종대학교산학협력단 실내 환경에서 운행하는 무인 비행체의 방위각의 추정
CN114951003A (zh) * 2022-05-06 2022-08-30 苏州嘉诺智能制造有限公司 基于距离检测的分拣方法及装置
CN114951003B (zh) * 2022-05-06 2023-12-26 苏州嘉诺智能制造有限公司 基于距离检测的分拣方法及装置

Also Published As

Publication number Publication date
KR100946676B1 (ko) 2010-03-12

Similar Documents

Publication Publication Date Title
KR100946676B1 (ko) 인코더 및 가속도 센서를 이용한 위치 추정 시스템 및 방법
US8873832B2 (en) Slip detection apparatus and method for a mobile robot
KR100843096B1 (ko) 이동 로봇의 주행 상태 판별 장치 및 방법
CN109049006B (zh) 一种扫地机器人的防碰撞检测方法
KR101297388B1 (ko) 위치 보정 기능을 제공하는 이동 장치 및 위치 보정 방법
JP4170284B2 (ja) 移動物体の進行方向の推定方法およびシステム
KR100922494B1 (ko) 이동 로봇의 자세 측정 방법 및 상기 방법을 이용한 위치측정 방법 및 장치
KR100772915B1 (ko) 이동 로봇에 장착된 자이로의 바이어스를 보정하는 장치 및방법
KR101008360B1 (ko) 이동 로봇에서의 자이로 센서 오차를 교정하는 장치 및방법
US8793069B2 (en) Object recognition system for autonomous mobile body
CN111337018B (zh) 定位方法及装置、智能机器人及计算机可读存储介质
US20100312473A1 (en) Method and apparatus to detect platform stationary status using three-axis accelerometer outputs
KR20090009172A (ko) 이동 로봇의 위치 측정 방법 및 장치
KR20110021191A (ko) 로봇의 슬립 감지 장치 및 방법
CN111103877A (zh) 移动机器人打滑预警方法、存储介质以及移动机器人
KR101226767B1 (ko) 주행 장치를 위한 위치측정 시스템 및 방법
JP2001510890A (ja) 自律的移動ユニットの回転状態の検出のための方法及び自律的移動ユニット
KR20090119638A (ko) 로봇 청소기 및 이를 이용한 바닥면 종류 감지 방법
KR101789776B1 (ko) 주행로봇의 진행각 추정을 위한 바이어스 보정 장치 및 방법
KR101372406B1 (ko) 회전축 분석 장치
Tarin et al. Low level sensor fusion for autonomous mobile robot navigation
Ross et al. Analysis of real-time velocity compensation for outdoor optical mouse sensor odometry
JP7152285B2 (ja) 電子機器、補正方法およびプログラム
KR102026398B1 (ko) 실내공간에서 사용자의 걸음 진행방향과 위치를 추정하는 방법 및 시스템
KR102392122B1 (ko) 이동 로봇 및 이의 위치 추정 방법

Legal Events

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

Payment date: 20130228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140304

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150304

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160304

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190221

Year of fee payment: 10