KR20080094618A - System and method for position estimation using enconders and accelerometers - Google Patents
System and method for position estimation using enconders and accelerometers Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000001133 acceleration Effects 0.000 claims abstract description 99
- 238000012937 correction Methods 0.000 claims abstract description 29
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 7
- 239000006185 dispersion Substances 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 3
- 238000004140 cleaning Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1651—Programme controls characterised by the control loop acceleration, rate control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing 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
Description
본 발명은 2축 가속도 센서 및 인코더를 이용한 위치 추정 시스템 및 방법에 관한 것으로, 상세하게는 이동 로봇 등에서 구동바퀴의 슬립(slip)으로 인해 발생하는 인코더의 오차를 가속도 센서로 보정하고, 가속도 센서의 적분 오차를 인코더로 보정함으로써 이동 로봇의 정확한 위치를 추정할 수 있는 위치 추정 시스템 및 방법에 관한 것이다.The present invention relates to a position estimation system and method using a two-axis acceleration sensor and encoder, and more particularly, to correct the error of the encoder caused by the slip of the driving wheel in the mobile robot, etc. with the acceleration sensor, The present invention relates to a position estimation system and method for estimating an accurate position of a mobile robot by correcting an integral error with an encoder.
이동 로봇 등과 같이 자율적으로 이동할 수 있도록 구성된 물체에 있어서, 로봇의 효율적인 제어 및 자기 위치 인식을 위해서는 정확한 위치 추정이 필요하다. 예를 들어, 현재 가정에서 사용하고 있는 보편적인 이동 로봇으로 청소 로봇이 있다. 청소 로봇은 이미 프로그램된 이동 경로 및 주행 방법에 따라 이동하면서 이물질을 흡입하여 청소를 하는 로봇이다. 이러한 청소 로봇의 청소 효율을 높이기 위해서는 구석구석 청소가 가능하면서, 이미 청소를 하고 지나간 구역은 다시 지나가지 않고, 청소를 하지 않은 구역을 청소하는 주행 방법이 필요하다. 그러므로 청소 효율을 높이기 위하여 다양한 주행 방법이 사용되고 있으며, 장애물과의 충돌을 피하기 위한 다양한 센서들이 탑재되어 사용되고 있다. In an object configured to move autonomously, such as a mobile robot, accurate position estimation is required for efficient control and magnetic position recognition of the robot. For example, a cleaning robot is a common mobile robot currently used in homes. The cleaning robot is a robot that sucks and cleans foreign substances while moving according to a movement path and a driving method already programmed. In order to increase the cleaning efficiency of the cleaning robot, it is possible to clean every corner, and the driving method that cleans the uncleaned area does not go through the area that has already been cleaned. Therefore, various driving methods are used to increase the cleaning efficiency, and various sensors are installed and used to avoid collision with obstacles.
그러나, 전술한 바와 같이 이동 로봇의 청소 효율을 높이기 위한 다양한 주행 방법 및 센서들의 이용은 청소 로봇의 정확한 위치를 알고 있다는 전제 하에서만 구현될 수 있다. 만약, 청소 효율을 극대화한 주행 방법과 센서들의 조합을 사용하더라도, 실제 청소 로봇의 위치를 정확히 알지 못한다면 효율적인 청소 성능을 발휘하기가 어렵다.However, as described above, the use of various driving methods and sensors to increase the cleaning efficiency of the mobile robot may be implemented only on the premise that the exact position of the cleaning robot is known. If a combination of driving methods and sensors that maximize cleaning efficiency is used, it is difficult to exhibit efficient cleaning performance unless the exact position of the actual cleaning robot is known.
전술한 문제점을 해결하기 위해서, 청소 로봇을 포함하는 이동 로봇의 위치 추정을 위해 사용되는 가장 보편적인 방법은 이동 로봇의 구동 바퀴에 장착된 인코더를 사용하는 것이다. 대부분의 이동 로봇은 바퀴로 이동하며, 구동 바퀴에 장착된 인코더는 바퀴의 회전수를 계수하여 회전수에 따라 이동 로봇의 이동거리를 추정할 수 있다. 또한, 바퀴를 두 개 이상 사용하여 사용 가능한 인코더 데이터가 두 개 이상인 경우, 각 인코더 값의 차를 계산하여 회전 각속도 및 회전 각도 추정이 가능하다. In order to solve the above problems, the most common method used for position estimation of a mobile robot including a cleaning robot is to use an encoder mounted on the driving wheel of the mobile robot. Most mobile robots move with wheels, and an encoder mounted on a driving wheel can estimate the moving distance of the mobile robot according to the number of revolutions by counting the number of revolutions of the wheels. In addition, when there are two or more encoder data available using two or more wheels, the rotation angular velocity and the rotation angle can be estimated by calculating the difference of each encoder value.
그러나, 인코더를 이용한 위치 추정은 구동 바퀴와 맞닿은 바닥면의 미끄러짐에 의한 슬립(slip)이 발생하는 경우 실제 움직인 거리와 인코더에 의한 추정 거리가 상이한 값을 가지는 단점이 있다. 슬립은 미끄러운 바닥, 카펫, 문턱을 넘는 경우, 충돌에 의한 경우 등 다양한 원인으로 인하여 발생한다. 슬립은 실내에서 사용되는 이동 로봇에게는 빈번하게 발생하게 되며, 결과적으로 인코더만을 이용할 경우 이동 로봇의 위치를 정확히 추정하는 것이 어렵다.However, the position estimation using the encoder has a disadvantage in that the actual moving distance and the estimated distance by the encoder have different values when slip occurs due to the slip of the bottom surface in contact with the driving wheel. Slips occur for a variety of reasons, including slippery floors, carpets, thresholds, and collisions. Slip occurs frequently in mobile robots used indoors, and as a result, it is difficult to accurately estimate the position of the mobile robot when using only an encoder.
슬립으로 인한 인코더의 위치 추정 오차를 보정하기 위하여 인도어(indoor) GPS, 카메라를 이용한 이미지 프로세스 및 바닥면의 바코드를 이용한 위치 추정 등의 다양한 방법이 사용되고 있다. 그러나, 인도어 GPS의 경우 실내에 추가적으로 설비를 구축해야 하기 때문에 비용 및 공간적인 측면에서 단점이 있다. 카메라를 이용한 이미지 프로세스 또한 비용 및 알고리즘의 복잡성뿐만 아니라 실시간 프로세싱 구현이 어렵다는 단점이 있으며, 바닥면의 바코드를 이용하는 경우에도 실내의 바닥에 바코드를 깔아야 하기 때문에 비용이 많이 드는 문제점이 있다.Various methods, such as indoor GPS, an image process using a camera, and a location estimation using a barcode on a bottom surface, are used to correct an error of a position estimation of an encoder due to slip. However, indoor GPS has disadvantages in terms of cost and space because additional facilities must be built indoors. The image process using a camera also has a disadvantage in that it is difficult to implement real-time processing as well as cost and complexity of algorithms, and even when using a barcode on the floor, a barcode is required to be placed on the floor of the room, which is expensive.
전술한 종래 기술의 문제점을 해결하기 위한 본 발명은, 추가적인 설비 없이도 이동 로봇의 위치를 정확하게 측정할 수 있으며, 슬립이 발생하는 경우에도 이동 로봇의 위치를 오차 없이 산출할 수 있도록 2축 가속도 센서와 인코더를 함께 이용하는 위치 추정 시스템 및 방법을 제공하는 것을 목적으로 한다.The present invention for solving the above-described problems of the prior art, and can accurately measure the position of the mobile robot without additional equipment, and even if the slip occurs, the two-axis acceleration sensor and so that it can calculate the position of the mobile robot without error It is an object of the present invention to provide a position estimation system and method using an encoder together.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 위치 추정 시스템은, 이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 가속도 센서; 상기 이동체의 이동 거리를 검출하는 하나 이상의 인코더; 상기 가속도 센서에서 검출된 양 방향 가속도 및 상기 인코더에서 검출된 이동 거리를 사용하여, 상기 가속도 센서에 의한 속도 및 회전 각도와 상기 인코더에 의한 속도 및 회전 각도를 산출하는 분석 모듈; 상기 분석 모듈에서 산출된 각각의 속도 및 회전 각도를 사용하여 오차가 보정된 속도 및 회전 각도를 산출하는 보정 모듈; 및 상기 보정 모듈에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 위치추정 모듈을 포함하여 구성될 수 있다.A position estimation system according to an embodiment of the present invention for achieving the above object, an acceleration sensor for detecting the acceleration in both directions of the moving direction and the direction perpendicular to the moving direction of the moving body; At least one encoder for detecting a moving distance of the moving object; An analysis module for calculating the speed and rotation angle by the acceleration sensor and the speed and rotation angle by the encoder using the bidirectional acceleration detected by the acceleration sensor and the moving distance detected by the encoder; A correction module for calculating a speed and a rotation angle at which an error is corrected using the speed and the rotation angle respectively calculated by the analysis module; And a position estimation module for estimating the position of the moving object using the speed and the rotation angle calculated by the correction module.
본 발명의 일 실시예에 따른 위치 추정 방법은, 가속도 센서를 사용하여 이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 단계 (a); 인코더를 사용하여 상기 이동체의 이동 거리를 검출하는 단계 (b); 상기 단계 (a)에서 검출된 양 방향 가속도 및 상기 단계 (b)에서 검출된 이동 거리를 사 용하여, 상기 가속도 센서에 의한 속도 및 회전 각도와 상기 인코더에 의한 속도 및 회전 각도를 산출하는 단계 (c); 상기 단계 (c)에서 산출된 각각의 속도 및 회전 각도를 사용하여 오차가 보정된 속도 및 회전 각도를 산출하는 단계 (d); 및 상기 단계 (d)에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 단계 (e)를 포함하여 구성될 수 있다.According to an aspect of the present invention, there is provided a method for estimating position, comprising: detecting a moving direction of a moving object and acceleration in both directions in a direction perpendicular to the moving direction using an acceleration sensor; (B) detecting a moving distance of the moving object using an encoder; Calculating the speed and rotation angle by the acceleration sensor and the speed and rotation angle by the encoder using the bidirectional acceleration detected in step (a) and the movement distance detected in step (b) (c) ); (D) calculating a speed and rotation angle at which an error is corrected using the respective speed and rotation angle calculated in step (c); And estimating the position of the movable body using the speed and the rotation angle calculated in the step (d).
본 발명에 따른 위치 추정 시스템 및 방법을 사용하여 정확하게 이동 로봇의 위치를 추정할 수 있다. 또한, 소형의 가속도 센서를 사용하므로 크기가 작고, 인코더와 가속도 센서를 이용한 위치 추정 알고리즘이 복잡하지 않으므로 개발 시간을 단축할 수 있다. 나아가, 저가의 가속도 센서를 사용하며, 고사양의 마이크로프로세서가 필요하지 않으므로 부품 비용이 절감되는 이점이 있다.The position estimation system and method according to the present invention can be used to accurately estimate the position of the mobile robot. In addition, since a small acceleration sensor is used, the size is small, and the position estimation algorithm using the encoder and the acceleration sensor is not complicated, so development time can be shortened. Furthermore, it uses low-cost acceleration sensors and does not require high-end microprocessors, thereby reducing component costs.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 살펴본다.Hereinafter, with reference to the accompanying drawings looks at in detail with respect to the preferred embodiment of the present invention.
도 1은 본 발명의 일 실시예에 따른 위치 추정 시스템의 구성을 도시한 블록도이다. 상기 실시예에 따른 위치 추정 시스템은, 이동 로봇을 포함하는 이동체에 부착된 가속도 센서(10) 및 인코더(20)를 사용하여 물체의 위치를 추정한다. 가속도 센서(10)는 이동체의 이동 방향 및 이동 방향에 수직한 방향의 양 방향 가속도를 검출하고, 인코더(20)는 이동체의 구동 바퀴에 부착되어 바퀴의 회전수를 계수 함으로써 이동체의 이동 거리를 검출한다. 1 is a block diagram showing the configuration of a position estimation system according to an embodiment of the present invention. The position estimation system according to the above embodiment estimates the position of an object using the
분석 모듈(30)은 가속도 센서(10)에서 검출된 양 방향 가속도 및 인코더(20)에서 검출된 이동 거리를 수신한다. 분석 모듈(30)에 포함된 제1 분석부(31)에서는 가속도 센서(10)에 의한 이동체의 속도 및 회전 각도를 산출하며, 제2 분석부(32)에서는 인코더(20)에 의한 이동체의 속도 및 회전 각도를 산출한다. 본 발명의 일 실시예에는, 가속도 센서(10)의 측정에 의한 적분 오차를 제거하기 위해 분석 모듈(30)에 연결된 리셋 모듈(40)이 포함될 수도 있다.The
분석 모듈(30)에서 산출된 각각의 속도 및 회전 각도는 보정 모듈(50)로 전달된다. 보정 모듈(50)에서는 각각의 속도 및 회전 각도를 이용하여 오차가 보정된 이동체의 속도를 산출하는 속도 보정부(51) 및 오차가 보정된 회전 각도를 산출하는 각도 보정부(52)가 포함된다. 본 발명의 일 실시예에서, 속도 보정부(51)는 이동체의 구동 바퀴에 슬립이 발생하였는지 여부를 판단하기 위한 슬립 검출부(미도시)를 포함할 수도 있다. 보정 모듈(50)에서 오차가 보정된 속도 및 회전 각도는 위치산출 모듈(60)로 전달되며, 위치산출 모듈(60)에서는 칼만 필터(Kalman Filter) 등을 사용하여 이동 로봇의 위치를 산출한다.Each speed and rotation angle calculated by the
도 2는 본 발명의 일 실시예에 따른 위치 추정 방법의 각 단계를 도시한 순서도이다. 상기 실시예에 따른 위치 추정 방법은 이동 로봇에 부착된 가속도 센서(10)를 사용하여 이동 로봇의 이동 방향 및 이동 방향에 수직한 수직 방향 가속도를 검출하는 것으로 시작된다(S101, S102). 가속도 센서(10)는 이동 로봇의 이동 방향 및 수직 방향의 가속도를 검출하기 위한 센서로서, 일 실시예에서 가속도 센서(10)는 2축 가속도 센서로 구성될 수도 있다. 바람직하게는, 가속도 센서(10)는 MEMS(Micro Electro Mechanical System) 2축 가속도 센서로 구성될 수 있다. 또한, 이동 로봇의 바퀴에는 인코더(20)가 부착되어 있어 구동 바퀴의 회전수를 계수하며, 계수한 회전수를 사용하여 이동 로봇의 이동 거리를 검출한다(S103). 2 is a flowchart illustrating each step of the position estimation method according to an embodiment of the present invention. The position estimation method according to the embodiment starts by detecting the acceleration direction of the mobile robot and the vertical direction perpendicular to the movement direction by using the
도 3은 이동 로봇에서 가속도 센서(10) 및 인코더(20)의 배치를 도시한 개략도이다. 도 3에 도시되는 바와 같이, 가속도 센서(10)는 이동 로봇의 일단에 부착되어, 2축 가속도 센서에서 가속도를 검출하는 하나의 축이 이동 로봇의 이동 방향과 정렬되도록 배치된다. 또한, 인코더(20)는 이동 로봇의 양 측면에 위치한 구동 바퀴에 부착된다. 도 3에 도시된 실시예에서는 구동 바퀴가 이동 로봇의 양 측면에 위치하여 인코더(20)가 이동 로봇의 양 측면에 부착되었으나, 다른 실시예에 인코더(20)는 상이한 위치에 부착되는 것도 가능하다.3 is a schematic diagram showing the arrangement of the
가속도 센서(10)에서 검출된 양 방향 가속도 및 인코더(20)에서 검출된 이동 거리는 분석 모듈(30)로 전달된다. 분석 모듈(30)에 포함된 제1 분석부(31)는 가속도 센서(10)에서 측정된 가속도를 사용하여 이동 로봇의 속도 및 회전 각도를 검출한다. 먼저, 이동 로봇의 회전 각도를 구하는 과정이 설명된다. 도 3에 도시된 바와 같이 이동 로봇의 중심 O에서 미리 설정된 거리 r만큼 떨어져 있는 가속도 센서(10)에서 가속도를 측정할 경우, 측정된 수직 방향 가속도를 라 하면 이동 로봇의 회전 각가속도 는 하기 수학식 1에 의하여 구할 수 있다(S104).The bidirectional acceleration detected by the
다음으로, 제1 분석부(31)는 회전 각가속도를 적분하여 하기 수학식 2에 의해 이동 로봇의 회전 각속도 를 산출한다(S105).Next, the
다음으로, 제1 분석부(31)는 회전 각속도를 적분하여 하기 수학식 3에 의해 이동 로봇의 회전 각도 를 산출한다(S111).Next, the
또한, 제1 분석부(31)는 가속도 센서(10)에서 측정된 이동 방향 가속도를 사용하여 이동 로봇의 속도를 산출한다(S106). 가속도 센서(10)에서는 이동 로봇의 이동 방향의 가속도가 산출되므로, 제1 분석부(31)는 가속도 센서(10)에서 산출된 이동 방향 가속도 를 적분함으로써 하기 수학식 4에 의하여 이동 로봇의 속도를 구할 수 있다.In addition, the
제1 분석부(31)에서는, 상기 수학식 4에 의하여 구한 속도를 사용하여, 도 4에 도시된 각 축 Xposition 및 Yposition 방향 속도를 얻는다. 도 4에 도시된 바와 같이 이동 로봇의 회전 각도가 미리 설정된 Xposition 축을 기준으로 하여 만큼의 각도일 경우, 각 축 방향의 속도 및 는 삼각 함수를 사용하여 하기 수학식 5 및 수학식 6에 의해 구할 수 있다(S112).In the
본 발명의 일 실시예에서는, 제1 분석부(31)에서 가속도 센서(10)에 의한 속 도 및 회전 각도를 산출하는 과정에서, 분석 모듈(30)에 연결된 리셋 모듈(40)이 속도 및 회전 각도를 리셋하도록 구성될 수도 있다(S105 내지 S110). 가속도 센서(10)에 의한 속도 및 각속도는 적분을 사용하여 산출되므로, 잡음 등에 의한 적분 오차가 계속해서 누적된다. 이러한 적분 오차는 결과적으로 위치 추정 오차가 되므로, 적분 오차를 제거하여야 한다. 따라서, 리셋 모듈(40)에서는 인코더(20) 값을 사용하여 제1 분석부(31)에서 산출되는 속도 및 각속도를 리셋하는 과정을 수행한다. In one embodiment of the present invention, in the process of calculating the speed and the rotation angle by the
리셋 동작을 위해서, 이동 로봇은 주행 중에 미리 설정된 주기 마다 소정의 시간동안 정지한다. 정지 주기는 여러 가지 방법으로 정할 수 있다. 예를 들면, 로봇이 직선주행을 하다가 회전을 하는 시기에 잠시 정지하는 모션을 주는 것이 가능하다. 이동 로봇이 정지하면 인코더(20)에서 검출되는 이동 거리의 변화량이 작아지게 된다. 따라서 리셋 모듈(40)에서는 인코더(20)에서 검출된 이동 거리의 분산을 구하여, 분산이 미리 설정된 한계 분산값 이내일 경우 이동 로봇이 정지한 것으로 판단한다(S107, S108). 이동 로봇이 정지하면, 리셋 모듈(40)은 제1 분석부(31)에서 산출된 속도 및 각속도를 0으로 설정한다(S109, S110). 전술한 과정에 의해, 제1 분석부(31)에서 산출된 속도 및 각속도를 주기적으로 리셋하여 적분 오차를 제거할 수 있다.For the reset operation, the mobile robot stops for a predetermined time at predetermined intervals during driving. The stop cycle can be determined in several ways. For example, it is possible to give a motion to stop for a moment when the robot makes a straight run and rotates. When the mobile robot stops, the change amount of the movement distance detected by the
한편, 분석 모듈(30)의 제2 분석부(31)에서는 인코더(20)에서 검출된 이동 거리를 사용하여 이동 로봇의 속도 및 회전 각도를 산출한다(S113). 인코더(20)는 인코더값으로 이동 로봇의 이동 거리를 출력하며, 제2 분석부(32)는 이동 거리를 단위 시간으로 나누어 이동 로봇의 속도를 산출할 수 있다. 일 실시예에서, 로봇의 속도는 좌우 인코더 값에서 계산된 속도를 평균하여 사용할 수 있다.On the other hand, the
속도가 산출되면, 전술한 수학식 5 및 수학식 6과 동일한 과정에 따라, 삼각함수를 사용하여 인코더(20)에 의한 각 축 방향 속도 및 를 산출한다. 또한, 이동 로봇의 각 구동 바퀴에 부착된 인코더(21)에서 검출된 인코더값을 비교하여, 양 인코더 값의 차이를 통하여 이동 로봇의 회전 각도를 산출한다. 인코더를 이용한 회전 각도 계산은 하기 수학식 7 및 수학식 8과 같다.When the velocity is calculated, the axial velocity by the
상기 수학식 7 및 수학식 8에서, 는 인코더(20)로 계산된 각속도, 는 인코더(20)로 계산된 우측(좌측) 바퀴 속도, b는 바퀴 사이의 거리, 는 인코더(20)로 계산된 회전 각도이다.In Equations 7 and 8, Is the angular velocity calculated by the
제1 및 제2 분석부(31, 32)에서 산출된, 가속도 센서(10) 및 인코더(20) 각각에 의한 속도 및 회전 각도는 보정 모듈(50)로 전달된다. 먼저, 보정 모듈(50)에 포함된 속도 보정부(51)에서 이동 로봇의 속도 오차를 보정한다. 오차 보정을 위하여, 속도 보정부(51)는 이동 로봇의 속도 오차를 다음과 같이 정의한다(S114). 제1 분석부(31)에서 산출된 가속도 센서(10)에 의한 Xposition 축 방향 속도를 , 제2 분석부(32)에서 산출된 인코더(20)에 의한 Xposition 축 방향 속도를 라 할 경우, Xposition 축 방향 속도 오차 는 하기 수학식 9에 의하여 구할 수 있다.The speed and rotation angle of each of the
마찬가지로, Yposition 축 방향 속도 오차 는 하기 수학식 10에 의하여 정의된다. Similarly, Y position axial velocity error Is defined by
상기 수학식 10에서 는 제2 분석부(32)에서 산출된 인코더(20)에 의한 Yposition 축 방향 속도이며, 는 제1 분석부(31)에서 산출된 가속도 센서(10)에 의한 Yposition 축 방향 속도이다.In
속도 보정부(51)에서는 상기 수학식 9 및 수학식 10에 의하여 산출된 속도 오차에 적절한 가중치를 곱한 속도 오차를 사용하여 보정된 속도를 산출한다. 가중치를 결정하기 위해 먼저 측정된 가속도를 사용하여 슬립이 발생하였는지 여부를 판단하여야 한다. 이를 위하여, 속도 보정부(51)에서는 가속도 센서(10)의 측정값을 미리 설정된 한계 가속도와 비교하여, 한계 가속도를 초과하는 경우 슬립이 발생하는 것으로 판단한다(S115). The
슬립이 발생한 것으로 판단된 경우, 속도 보정부(51)에서는 상기 수학식 9 및 수학식 10에 의하여 산출된 속도 오차에 미리 설정된 가중치 를 곱하여 가중치가 곱해진 속도 오차 및 를 산출한다(S116). 가중치의 값은 슬립이 발생함에 따라 가속도 센서(10) 및 인코더(20) 검출값의 차이를 반영하기 위한 값으로, 필요에 따라 적절히 설정될 수 있다.When it is determined that the slip has occurred, the
반면, 슬립이 발생하지 않은 것으로 판단될 경우에는 가중치의 값은 1이 되며, 따라서 상기 수학식 7 및 수학식 8에 의하여 산출된 속도 오차의 값이 그대로 가중치가 적용된 속도 오차로 사용된다(S117).On the other hand, if it is determined that the slip does not occur, the value of the weight is 1, and thus, the value of the speed error calculated by Equations 7 and 8 is used as the weighted speed error as it is (S117). .
속도 오차가 산출되면, 속도 보정부(51)에서는 가속도 센서(10)에 의한 속도에서 속도 오차를 빼고, 하기 수학식 11 및 수학식 12에 의하여 오차가 보정된 각 축 방향 속도 및 를 산출한다(S118).When the speed error is calculated, the
다음으로, 각도 보정부(52)에서는 제1 분석부(31)에서 산출된 가속도 센서(10)에 의한 회전 각도와 제2 분석부(32)에서 산출된 인코더(20)에 의한 회전 각도 사이의 오차를 보정한다. 우선, 가속도 센서(10)에 의한 회전 각도를 , 인코더(20)에 의한 회전 각도를 라 할 경우, 회전 각도 오차 는 하기 수학식 13에 의하여 정의된다.Next, in the
다음으로, 각도 보정부(52)는 상기 수학식 13에 의해 산출된 회전 각도 오차 를 인코더(20)에 의한 회전 각도에 더하여, 하기 수학식 14에 의해 보정된 회전 각도 를 산출한다(S119).Next, the
보정 모듈(50)에서 보정된 속도 및 보정된 회전 각도가 산출되면, 보정된 속도 및 회전 각도는 위치산출 모듈(60)로 전달된다. 위치산출 모듈(60)에서는 슬립 오차가 보정된 이동 로봇의 속도 및 회전 각도를 사용하여 이동 로봇의 위치를 추정한다(S120). 예컨대, 위치산출 모듈(40)에서는 각 축 방향의 속도를 적분하여 산출된 각 축 상의 이동 로봇의 좌표와, 이동 로봇의 회전 각도로써 이동 로봇의 위치를 표시하는 것이 가능하다. 또한 본 발명의 일실시예에서, 위치산출 모듈(60)은 전술한 적분 과정에 의하여 산출된 이동 로봇의 위치 정보에 칼만 필터(Kalman Filter)를 사용하여 필터링하여, 이동 로봇의 최종 위치를 추정할 수도 있다(S121).Once the corrected speed and corrected rotation angle are calculated in the
이상에서 설명한 바와 같이, 본 발명에 따른 위치 추정 시스템 및 방법을 사용하여 이동 로봇 등과 같은 이동체의 위치를 추정함으로써, 이동 로봇의 바퀴의 미끄러짐으로 인하여 발생하는 슬립으로 인한 위치 추정 오차를 효과적으로 제거하고 이동 로봇의 위치를 정확하게 추정할 수 있다. 본 발명에 따른 위치 추정 시스 템은 소형의 2축 가속도 센서를 사용하므로 크기가 작다. 또한, 저가인 2축 가속도 센서를 사용하고, 이동 로봇에 장착된 센서 외에 추가적인 설비를 필요로 하지 않으며, 고사양의 마이크로프로세서가 필요하지 않아 부품 비용이 절감된다. 나아가, 인코더와 가속도 센서를 이용한 위치 추정 알고리즘이 복잡하지 않으므로 개발 시간을 단축할 수 있는 이점이 있다.As described above, by estimating the position of a moving object such as a mobile robot using the position estimation system and method according to the present invention, the position estimation error due to the slip caused by the sliding of the wheel of the mobile robot is effectively eliminated and moved. Accurately estimate the position of the robot. The position estimation system according to the present invention is small in size because it uses a small two-axis acceleration sensor. In addition, it uses low-cost two-axis acceleration sensors, requires no additional equipment other than sensors mounted on mobile robots, and eliminates the need for high-end microprocessors, thereby reducing component costs. Furthermore, since the position estimation algorithm using the encoder and the acceleration sensor is not complicated, the development time can be shortened.
이상 본 발명의 특정 실시예를 도시하고 설명하였으나, 본 발명의 기술사상은 첨부된 도면과 상기한 설명내용에 한정하지 않으며 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 형태의 변형이 가능함은 이 분야의 통상의 지식을 가진 자에게는 자명한 사실이며, 이러한 형태의 변형은, 본 발명의 정신에 위배되지 않는 범위 내에서 본 발명의 특허청구범위에 속한다고 볼 것이다. While specific embodiments of the present invention have been illustrated and described, the technical spirit of the present invention is not limited to the accompanying drawings and the above description, and various modifications can be made without departing from the spirit of the present invention. It will be apparent to those skilled in the art, and variations of this form will be regarded as belonging to the claims of the present invention without departing from the spirit of the present invention.
도 1은 본 발명의 일 실시예에 따른 위치 추정 시스템의 구성을 도시한 블록도이다. 1 is a block diagram showing the configuration of a position estimation system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 위치 추정 방법의 각 단계를 도시한 순서도이다. 2 is a flowchart illustrating each step of the position estimation method according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 위치 추정 시스템에서 가속도 센서 및 인코더의 배치를 도시한 개략도이다.3 is a schematic diagram illustrating an arrangement of an acceleration sensor and an encoder in a position estimation system according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 위치 추정 시스템에서 이동체의 회전 각도 및 각 축 방향을 도시한 개략도이다.4 is a schematic diagram showing a rotation angle and each axial direction of the moving body in the position estimation system according to an embodiment of the present invention.
Claims (16)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070038161 | 2007-04-19 | ||
KR20070038161 | 2007-04-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080094618A true KR20080094618A (en) | 2008-10-23 |
KR100946676B1 KR100946676B1 (en) | 2010-03-12 |
Family
ID=40154710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080036213A KR100946676B1 (en) | 2007-04-19 | 2008-04-18 | System and method for position estimation using enconders and accelerometers |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100946676B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101337541B1 (en) * | 2012-10-25 | 2013-12-06 | 국방과학연구소 | Vehicle's engine vibration computation by inertial sensors and application for navigation |
US8634959B2 (en) | 2009-08-25 | 2014-01-21 | Samsung Electronics Co., Ltd. | Apparatus and method detecting a robot slip |
CN106041925A (en) * | 2016-05-30 | 2016-10-26 | 北京玄通海纳科技发展有限公司 | System for measuring advancing distance of pipeline robot |
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 |
CN112697153A (en) * | 2020-12-31 | 2021-04-23 | 广东美的白色家电技术创新中心有限公司 | Positioning method of autonomous mobile device, electronic device and storage medium |
KR102259920B1 (en) * | 2020-12-09 | 2021-06-01 | 세종대학교산학협력단 | Estimation of azimuth angle of unmanned aerial vehicle that operates in indoor environment |
CN114174011A (en) * | 2019-07-31 | 2022-03-11 | Lg电子株式会社 | Mobile robot and method for calculating moving distance of mobile robot |
CN114951003A (en) * | 2022-05-06 | 2022-08-30 | 苏州嘉诺智能制造有限公司 | Sorting method and device based on distance detection |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210000095A (en) | 2019-06-24 | 2021-01-04 | 삼성전자주식회사 | Method for posture estimation and apparatus thereof |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2988699B2 (en) * | 1990-08-29 | 1999-12-13 | ヤマハ発動機株式会社 | Moving object position detection device |
US6454036B1 (en) | 2000-05-15 | 2002-09-24 | ′Bots, Inc. | Autonomous vehicle navigation system and method |
JP2005112498A (en) | 2003-10-03 | 2005-04-28 | Daifuku Co Ltd | Moving body |
JP2005156496A (en) * | 2003-11-28 | 2005-06-16 | Mitsuba Corp | Speed detector |
-
2008
- 2008-04-18 KR KR1020080036213A patent/KR100946676B1/en active IP Right Grant
Cited By (10)
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 (en) * | 2012-10-25 | 2013-12-06 | 국방과학연구소 | Vehicle's engine vibration computation by inertial sensors and application for navigation |
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 (en) * | 2016-05-30 | 2016-10-26 | 北京玄通海纳科技发展有限公司 | System for measuring advancing distance of pipeline robot |
CN114174011A (en) * | 2019-07-31 | 2022-03-11 | Lg电子株式会社 | Mobile robot and method for calculating moving distance of mobile robot |
CN114174011B (en) * | 2019-07-31 | 2024-04-19 | Lg电子株式会社 | Mobile robot |
KR102259920B1 (en) * | 2020-12-09 | 2021-06-01 | 세종대학교산학협력단 | Estimation of azimuth angle of unmanned aerial vehicle that operates in indoor environment |
CN112697153A (en) * | 2020-12-31 | 2021-04-23 | 广东美的白色家电技术创新中心有限公司 | Positioning method of autonomous mobile device, electronic device and storage medium |
CN114951003A (en) * | 2022-05-06 | 2022-08-30 | 苏州嘉诺智能制造有限公司 | Sorting method and device based on distance detection |
CN114951003B (en) * | 2022-05-06 | 2023-12-26 | 苏州嘉诺智能制造有限公司 | Sorting method and device based on distance detection |
Also Published As
Publication number | Publication date |
---|---|
KR100946676B1 (en) | 2010-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100946676B1 (en) | System and method for position estimation using enconders and accelerometers | |
US8873832B2 (en) | Slip detection apparatus and method for a mobile robot | |
KR100843096B1 (en) | Apparatus and method for distinguishing the movement state of moving robot | |
CN109049006B (en) | Anti-collision detection method of sweeping robot | |
KR101297388B1 (en) | Moving apparatus and method for compensating position | |
JP4170284B2 (en) | Method and system for estimating moving direction of moving object | |
KR100922494B1 (en) | Method for measuring pose of a mobile robot and method and apparatus for measuring position of the mobile robot using the method | |
KR100772915B1 (en) | Apparatus and method for correcting bias of gyroscope on a moving robot | |
US8793069B2 (en) | Object recognition system for autonomous mobile body | |
WO2010002152A2 (en) | Apparatus and method for correcting errors in a gyro sensor of a mobile robot | |
CN111337018B (en) | Positioning method and device, intelligent robot and computer readable storage medium | |
KR100912874B1 (en) | Method and apparatus for relocating a mobile robot | |
US20100312473A1 (en) | Method and apparatus to detect platform stationary status using three-axis accelerometer outputs | |
KR20090009172A (en) | Method and apparatus for measuring position of the mobile robot | |
KR20110021191A (en) | Apparatus and method for detecting slip of robot | |
CN110573928A (en) | Angular calibration in light detection and ranging systems | |
CN101685308A (en) | Robot state perception system | |
CN111103877A (en) | Mobile robot slip early warning method, storage medium and mobile robot | |
KR101226767B1 (en) | System and Method for localizationing of Autonomous Vehicle | |
JP2001510890A (en) | Method for detecting the rotational state of an autonomous mobile unit and autonomous mobile unit | |
CN112697153B (en) | Autonomous mobile device positioning method, electronic device and storage medium | |
CN113246137A (en) | Robot collision detection method based on external moment estimation model | |
KR20090119638A (en) | Robot cleaner and method for detecting floor type using the same | |
KR101789776B1 (en) | Bias correcting apparatus for yaw angle estimation of mobile robots and method thereof | |
Tarin et al. | Low level sensor fusion for autonomous mobile robot navigation |
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 |