KR20080094618A - System and method for position estimation using enconders and accelerometers - Google Patents

System and method for position estimation using enconders and accelerometers 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
Korean (ko)
Other versions
KR100946676B1 (en
Inventor
임재상
김성욱
Original Assignee
(주)에스엠엘전자
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)에스엠엘전자 filed Critical (주)에스엠엘전자
Publication of KR20080094618A publication Critical patent/KR20080094618A/en
Application granted granted Critical
Publication of KR100946676B1 publication Critical patent/KR100946676B1/en

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

A position estimation system and a method thereof are provided to shorten a development time by simplifying a position estimation algorithm using an encoder and an accelerometer. A position estimation system comprises an accelerometer(10) for detecting bidirectional acceleration of a movable member, at least one encoder(20) for detecting a moving distance of the movable member, an analyzing module(30) for calculating a speed and a rotation angle based on the accelerometer and the encoder, a correction module(50) for calculating a corrected speed and a corrected rotation angle, and a position estimation module(60) for estimating the position of the movable member based on the corrected speed and a corrected rotation angle.

Description

인코더 및 가속도 센서를 이용한 위치 추정 시스템 및 방법{System and method for position estimation using enconders and accelerometers}System and method for position estimation using enconders and accelerometers}

본 발명은 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 acceleration sensor 10 and the encoder 20 attached to the moving object including the moving robot. The acceleration sensor 10 detects both directions of movement of the moving object and acceleration in both directions perpendicular to the moving direction, and the encoder 20 is attached to the driving wheel of the moving object to count the number of revolutions of the wheel to detect the moving distance of the moving object. do.

분석 모듈(30)은 가속도 센서(10)에서 검출된 양 방향 가속도 및 인코더(20)에서 검출된 이동 거리를 수신한다. 분석 모듈(30)에 포함된 제1 분석부(31)에서는 가속도 센서(10)에 의한 이동체의 속도 및 회전 각도를 산출하며, 제2 분석부(32)에서는 인코더(20)에 의한 이동체의 속도 및 회전 각도를 산출한다. 본 발명의 일 실시예에는, 가속도 센서(10)의 측정에 의한 적분 오차를 제거하기 위해 분석 모듈(30)에 연결된 리셋 모듈(40)이 포함될 수도 있다.The analysis module 30 receives the bidirectional acceleration detected by the acceleration sensor 10 and the moving distance detected by the encoder 20. The first analysis unit 31 included in the analysis module 30 calculates the speed and rotation angle of the moving object by the acceleration sensor 10, and the second analyzing unit 32 calculates the speed of the moving object by the encoder 20. And the rotation angle. In one embodiment of the present invention, a reset module 40 connected to the analysis module 30 may be included to eliminate the integration error due to the measurement of the acceleration sensor 10.

분석 모듈(30)에서 산출된 각각의 속도 및 회전 각도는 보정 모듈(50)로 전달된다. 보정 모듈(50)에서는 각각의 속도 및 회전 각도를 이용하여 오차가 보정된 이동체의 속도를 산출하는 속도 보정부(51) 및 오차가 보정된 회전 각도를 산출하는 각도 보정부(52)가 포함된다. 본 발명의 일 실시예에서, 속도 보정부(51)는 이동체의 구동 바퀴에 슬립이 발생하였는지 여부를 판단하기 위한 슬립 검출부(미도시)를 포함할 수도 있다. 보정 모듈(50)에서 오차가 보정된 속도 및 회전 각도는 위치산출 모듈(60)로 전달되며, 위치산출 모듈(60)에서는 칼만 필터(Kalman Filter) 등을 사용하여 이동 로봇의 위치를 산출한다.Each speed and rotation angle calculated by the analysis module 30 is transmitted to the correction module 50. The correction module 50 includes a speed correction unit 51 that calculates the speed of the moving object whose error is corrected by using each speed and the rotation angle, and an angle correction unit 52 that calculates the rotation angle whose error is corrected. . In one embodiment of the present invention, the speed correction unit 51 may include a slip detector (not shown) for determining whether slip has occurred in the driving wheel of the moving object. The speed and rotation angle of which the error is corrected in the correction module 50 are transmitted to the position calculation module 60, and the position calculation module 60 calculates the position of the mobile robot using a Kalman filter or the like.

도 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 acceleration sensor 10 attached to the mobile robot (S101, S102). The acceleration sensor 10 is a sensor for detecting acceleration in a moving direction and a vertical direction of the mobile robot, and in one embodiment, the acceleration sensor 10 may be configured as a 2-axis acceleration sensor. Preferably, the acceleration sensor 10 may be configured as a micro electro mechanical system (MEMS) biaxial acceleration sensor. In addition, the encoder 20 is attached to the wheel of the mobile robot to count the number of revolutions of the driving wheel, and using the counted number of revolutions to detect the moving distance of the mobile robot (S103).

도 3은 이동 로봇에서 가속도 센서(10) 및 인코더(20)의 배치를 도시한 개략도이다. 도 3에 도시되는 바와 같이, 가속도 센서(10)는 이동 로봇의 일단에 부착되어, 2축 가속도 센서에서 가속도를 검출하는 하나의 축이 이동 로봇의 이동 방향과 정렬되도록 배치된다. 또한, 인코더(20)는 이동 로봇의 양 측면에 위치한 구동 바퀴에 부착된다. 도 3에 도시된 실시예에서는 구동 바퀴가 이동 로봇의 양 측면에 위치하여 인코더(20)가 이동 로봇의 양 측면에 부착되었으나, 다른 실시예에 인코더(20)는 상이한 위치에 부착되는 것도 가능하다.3 is a schematic diagram showing the arrangement of the acceleration sensor 10 and the encoder 20 in the mobile robot. As shown in FIG. 3, the acceleration sensor 10 is attached to one end of the mobile robot so that one axis for detecting the acceleration in the two-axis acceleration sensor is arranged to be aligned with the moving direction of the mobile robot. In addition, the encoder 20 is attached to drive wheels located on both sides of the mobile robot. In the embodiment shown in FIG. 3, the driving wheels are located at both sides of the mobile robot so that the encoder 20 is attached to both sides of the mobile robot. However, in another embodiment, the encoder 20 may be attached at different positions. .

가속도 센서(10)에서 검출된 양 방향 가속도 및 인코더(20)에서 검출된 이동 거리는 분석 모듈(30)로 전달된다. 분석 모듈(30)에 포함된 제1 분석부(31)는 가속도 센서(10)에서 측정된 가속도를 사용하여 이동 로봇의 속도 및 회전 각도를 검출한다. 먼저, 이동 로봇의 회전 각도를 구하는 과정이 설명된다. 도 3에 도시된 바와 같이 이동 로봇의 중심 O에서 미리 설정된 거리 r만큼 떨어져 있는 가속도 센서(10)에서 가속도를 측정할 경우, 측정된 수직 방향 가속도를

Figure 112008027821967-PAT00001
라 하면 이동 로봇의 회전 각가속도
Figure 112008027821967-PAT00002
는 하기 수학식 1에 의하여 구할 수 있다(S104).The bidirectional acceleration detected by the acceleration sensor 10 and the moving distance detected by the encoder 20 are transmitted to the analysis module 30. The first analyzer 31 included in the analysis module 30 detects the speed and the rotation angle of the mobile robot using the acceleration measured by the acceleration sensor 10. First, the process of obtaining the rotation angle of the mobile robot is described. As shown in FIG. 3, when the acceleration is measured by the acceleration sensor 10 which is separated from the center O of the mobile robot by a predetermined distance r, the measured vertical acceleration is measured.
Figure 112008027821967-PAT00001
Is the rotational angular acceleration of the mobile robot.
Figure 112008027821967-PAT00002
Can be obtained by the following Equation 1 (S104).

Figure 112008027821967-PAT00003
Figure 112008027821967-PAT00003

다음으로, 제1 분석부(31)는 회전 각가속도를 적분하여 하기 수학식 2에 의해 이동 로봇의 회전 각속도

Figure 112008027821967-PAT00004
를 산출한다(S105).Next, the first analysis unit 31 integrates the rotational angular acceleration and the rotational angular velocity of the mobile robot by Equation 2 below.
Figure 112008027821967-PAT00004
To calculate (S105).

Figure 112008027821967-PAT00005
Figure 112008027821967-PAT00005

다음으로, 제1 분석부(31)는 회전 각속도를 적분하여 하기 수학식 3에 의해 이동 로봇의 회전 각도

Figure 112008027821967-PAT00006
를 산출한다(S111).Next, the first analysis unit 31 integrates the rotational angular velocity and the rotation angle of the mobile robot by Equation 3 below.
Figure 112008027821967-PAT00006
To calculate (S111).

Figure 112008027821967-PAT00007
Figure 112008027821967-PAT00007

또한, 제1 분석부(31)는 가속도 센서(10)에서 측정된 이동 방향 가속도를 사용하여 이동 로봇의 속도를 산출한다(S106). 가속도 센서(10)에서는 이동 로봇의 이동 방향의 가속도가 산출되므로, 제1 분석부(31)는 가속도 센서(10)에서 산출된 이동 방향 가속도

Figure 112008027821967-PAT00008
를 적분함으로써 하기 수학식 4에 의하여 이동 로봇의 속도를 구할 수 있다.In addition, the first analyzer 31 calculates the speed of the mobile robot using the movement direction acceleration measured by the acceleration sensor 10 (S106). In the acceleration sensor 10, since the acceleration in the moving direction of the mobile robot is calculated, the first analysis unit 31 calculates the movement direction acceleration calculated by the acceleration sensor 10.
Figure 112008027821967-PAT00008
By integrating, the speed of the mobile robot can be obtained by the following equation (4).

Figure 112008027821967-PAT00009
Figure 112008027821967-PAT00009

제1 분석부(31)에서는, 상기 수학식 4에 의하여 구한 속도를 사용하여, 도 4에 도시된 각 축 Xposition 및 Yposition 방향 속도를 얻는다. 도 4에 도시된 바와 같이 이동 로봇의 회전 각도가 미리 설정된 Xposition 축을 기준으로 하여

Figure 112008027821967-PAT00010
만큼의 각도일 경우, 각 축 방향의 속도
Figure 112008027821967-PAT00011
Figure 112008027821967-PAT00012
는 삼각 함수를 사용하여 하기 수학식 5 및 수학식 6에 의해 구할 수 있다(S112).In the first analysis unit 31, the speeds obtained by the above equation (4) are used to obtain the respective velocities X position and Y position direction velocities shown in FIG. As shown in FIG. 4, the rotation angle of the mobile robot is based on a preset X position axis.
Figure 112008027821967-PAT00010
Speed in each axial direction
Figure 112008027821967-PAT00011
And
Figure 112008027821967-PAT00012
Can be obtained by the following Equations 5 and 6 using a trigonometric function (S112).

Figure 112008027821967-PAT00013
Figure 112008027821967-PAT00013

Figure 112008027821967-PAT00014
Figure 112008027821967-PAT00014

본 발명의 일 실시예에서는, 제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 acceleration sensor 10 in the first analysis unit 31, the reset module 40 connected to the analysis module 30 is the speed and rotation It may be configured to reset the angle (S105 to S110). Since the velocity and the angular velocity by the acceleration sensor 10 are calculated using the integral, the integral error due to noise or the like continues to accumulate. Since this integration error results in a position estimation error, the integration error should be eliminated. Therefore, the reset module 40 performs a process of resetting the speed and the angular velocity calculated by the first analyzer 31 using the encoder 20 value.

리셋 동작을 위해서, 이동 로봇은 주행 중에 미리 설정된 주기 마다 소정의 시간동안 정지한다. 정지 주기는 여러 가지 방법으로 정할 수 있다. 예를 들면, 로봇이 직선주행을 하다가 회전을 하는 시기에 잠시 정지하는 모션을 주는 것이 가능하다. 이동 로봇이 정지하면 인코더(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 encoder 20 becomes small. Therefore, the reset module 40 obtains the variance of the movement distance detected by the encoder 20, and determines that the mobile robot is stopped when the variance is within a preset limit variance value (S107 and S108). When the mobile robot stops, the reset module 40 sets the velocity and the angular velocity calculated by the first analyzer 31 to 0 (S109 and S110). By the above-described process, the integral error may be removed by periodically resetting the speed and the angular velocity calculated by the first analyzer 31.

한편, 분석 모듈(30)의 제2 분석부(31)에서는 인코더(20)에서 검출된 이동 거리를 사용하여 이동 로봇의 속도 및 회전 각도를 산출한다(S113). 인코더(20)는 인코더값으로 이동 로봇의 이동 거리를 출력하며, 제2 분석부(32)는 이동 거리를 단위 시간으로 나누어 이동 로봇의 속도를 산출할 수 있다. 일 실시예에서, 로봇의 속도는 좌우 인코더 값에서 계산된 속도를 평균하여 사용할 수 있다.On the other hand, the second analysis unit 31 of the analysis module 30 calculates the speed and the rotation angle of the mobile robot using the movement distance detected by the encoder 20 (S113). The encoder 20 outputs a moving distance of the mobile robot as an encoder value, and the second analyzer 32 may calculate the speed of the mobile robot by dividing the moving distance by a unit time. In one embodiment, the speed of the robot can be used by averaging the speed calculated from the left and right encoder values.

속도가 산출되면, 전술한 수학식 5 및 수학식 6과 동일한 과정에 따라, 삼각함수를 사용하여 인코더(20)에 의한 각 축 방향 속도

Figure 112008027821967-PAT00015
Figure 112008027821967-PAT00016
를 산출한다. 또한, 이동 로봇의 각 구동 바퀴에 부착된 인코더(21)에서 검출된 인코더값을 비교하여, 양 인코더 값의 차이를 통하여 이동 로봇의 회전 각도를 산출한다. 인코더를 이용한 회전 각도 계산은 하기 수학식 7 및 수학식 8과 같다.When the velocity is calculated, the axial velocity by the encoder 20 by using a trigonometric function according to the same process as the above-described equations (5) and (6).
Figure 112008027821967-PAT00015
And
Figure 112008027821967-PAT00016
Calculate In addition, by comparing the encoder values detected by the encoders 21 attached to the driving wheels of the mobile robot, the rotation angle of the mobile robot is calculated through the difference between the two encoder values. The rotation angle calculation using the encoder is as shown in Equations 7 and 8 below.

Figure 112008027821967-PAT00017
Figure 112008027821967-PAT00017

Figure 112008027821967-PAT00018
Figure 112008027821967-PAT00018

상기 수학식 7 및 수학식 8에서,

Figure 112008027821967-PAT00019
는 인코더(20)로 계산된 각속도,
Figure 112008027821967-PAT00020
는 인코더(20)로 계산된 우측(좌측) 바퀴 속도, b는 바퀴 사이의 거리,
Figure 112008027821967-PAT00021
는 인코더(20)로 계산된 회전 각도이다.In Equations 7 and 8,
Figure 112008027821967-PAT00019
Is the angular velocity calculated by the encoder 20,
Figure 112008027821967-PAT00020
Is the right (left) wheel speed calculated by encoder 20, b is the distance between the wheels,
Figure 112008027821967-PAT00021
Is the rotation angle calculated by the encoder 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에 의하여 구할 수 있다.The speed and rotation angle of each of the acceleration sensor 10 and the encoder 20 calculated by the first and second analyzers 31 and 32 are transmitted to the correction module 50. First, the speed correction unit 51 included in the correction module 50 corrects the speed error of the mobile robot. For error correction, the speed correction unit 51 defines the speed error of the mobile robot as follows (S114). The X position axial velocity by the acceleration sensor 10 calculated by the first analysis unit 31
Figure 112008027821967-PAT00022
, The X position axial velocity by the encoder 20 calculated by the second analyzer 32
Figure 112008027821967-PAT00023
, The X position axis speed error
Figure 112008027821967-PAT00024
Can be obtained by the following equation (9).

Figure 112008027821967-PAT00025
Figure 112008027821967-PAT00025

마찬가지로, Yposition 축 방향 속도 오차

Figure 112008027821967-PAT00026
는 하기 수학식 10에 의하여 정의된다. Similarly, Y position axial velocity error
Figure 112008027821967-PAT00026
Is defined by Equation 10 below.

Figure 112008027821967-PAT00027
Figure 112008027821967-PAT00027

상기 수학식 10에서

Figure 112008027821967-PAT00028
는 제2 분석부(32)에서 산출된 인코더(20)에 의한 Yposition 축 방향 속도이며,
Figure 112008027821967-PAT00029
는 제1 분석부(31)에서 산출된 가속도 센서(10)에 의한 Yposition 축 방향 속도이다.In Equation 10
Figure 112008027821967-PAT00028
Is the Y position axial velocity by the encoder 20 calculated by the second analysis unit 32,
Figure 112008027821967-PAT00029
Is the Y position axial velocity by the acceleration sensor 10 calculated by the first analyzer 31.

속도 보정부(51)에서는 상기 수학식 9 및 수학식 10에 의하여 산출된 속도 오차에 적절한 가중치를 곱한 속도 오차를 사용하여 보정된 속도를 산출한다. 가중치를 결정하기 위해 먼저 측정된 가속도를 사용하여 슬립이 발생하였는지 여부를 판단하여야 한다. 이를 위하여, 속도 보정부(51)에서는 가속도 센서(10)의 측정값을 미리 설정된 한계 가속도와 비교하여, 한계 가속도를 초과하는 경우 슬립이 발생하는 것으로 판단한다(S115). The speed correction unit 51 calculates the corrected speed by using the speed error obtained by multiplying the speed error calculated by Equations 9 and 10 by an appropriate weight. To determine the weight, the measured acceleration should first be used to determine whether slip has occurred. To this end, the speed correction unit 51 compares the measured value of the acceleration sensor 10 with a preset limit acceleration, and determines that slip occurs when the limit acceleration is exceeded (S115).

슬립이 발생한 것으로 판단된 경우, 속도 보정부(51)에서는 상기 수학식 9 및 수학식 10에 의하여 산출된 속도 오차에 미리 설정된 가중치

Figure 112008027821967-PAT00030
를 곱하여 가중치가 곱해진 속도 오차
Figure 112008027821967-PAT00031
Figure 112008027821967-PAT00032
를 산출한다(S116). 가중치의 값은 슬립이 발생함에 따라 가속도 센서(10) 및 인코더(20) 검출값의 차이를 반영하기 위한 값으로, 필요에 따라 적절히 설정될 수 있다.When it is determined that the slip has occurred, the speed correction unit 51 weights a preset weight to the speed error calculated by the equations (9) and (10).
Figure 112008027821967-PAT00030
Speed error multiplied by
Figure 112008027821967-PAT00031
And
Figure 112008027821967-PAT00032
To calculate (S116). The weight value is a value for reflecting the difference between the detection values of the acceleration sensor 10 and the encoder 20 as slip occurs, and may be appropriately set as necessary.

반면, 슬립이 발생하지 않은 것으로 판단될 경우에는 가중치의 값은 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에 의하여 오차가 보정된 각 축 방향 속도

Figure 112008027821967-PAT00033
Figure 112008027821967-PAT00034
를 산출한다(S118).When the speed error is calculated, the speed correction unit 51 subtracts the speed error from the speed by the acceleration sensor 10, and each axial speed in which the error is corrected by Equations 11 and 12 below.
Figure 112008027821967-PAT00033
And
Figure 112008027821967-PAT00034
To calculate (S118).

Figure 112008027821967-PAT00035
Figure 112008027821967-PAT00035

Figure 112008027821967-PAT00036
Figure 112008027821967-PAT00036

다음으로, 각도 보정부(52)에서는 제1 분석부(31)에서 산출된 가속도 센서(10)에 의한 회전 각도와 제2 분석부(32)에서 산출된 인코더(20)에 의한 회전 각도 사이의 오차를 보정한다. 우선, 가속도 센서(10)에 의한 회전 각도를

Figure 112008027821967-PAT00037
, 인코더(20)에 의한 회전 각도를
Figure 112008027821967-PAT00038
라 할 경우, 회전 각도 오차
Figure 112008027821967-PAT00039
는 하기 수학식 13에 의하여 정의된다.Next, in the angle corrector 52, the angle between the rotation angle by the acceleration sensor 10 calculated by the first analysis unit 31 and the rotation angle by the encoder 20 calculated by the second analysis unit 32 is determined. Correct the error. First, the rotation angle by the acceleration sensor 10
Figure 112008027821967-PAT00037
, The rotation angle by the encoder 20
Figure 112008027821967-PAT00038
If we say, the rotation angle error
Figure 112008027821967-PAT00039
Is defined by the following equation (13).

Figure 112008027821967-PAT00040
Figure 112008027821967-PAT00040

다음으로, 각도 보정부(52)는 상기 수학식 13에 의해 산출된 회전 각도 오차 를 인코더(20)에 의한 회전 각도에 더하여, 하기 수학식 14에 의해 보정된 회전 각도

Figure 112008027821967-PAT00041
를 산출한다(S119).Next, the angle correction unit 52 adds the rotation angle error calculated by Equation 13 to the rotation angle by the encoder 20, and the rotation angle corrected by Equation 14 below.
Figure 112008027821967-PAT00041
To calculate (S119).

Figure 112008027821967-PAT00042
Figure 112008027821967-PAT00042

보정 모듈(50)에서 보정된 속도 및 보정된 회전 각도가 산출되면, 보정된 속도 및 회전 각도는 위치산출 모듈(60)로 전달된다. 위치산출 모듈(60)에서는 슬립 오차가 보정된 이동 로봇의 속도 및 회전 각도를 사용하여 이동 로봇의 위치를 추정한다(S120). 예컨대, 위치산출 모듈(40)에서는 각 축 방향의 속도를 적분하여 산출된 각 축 상의 이동 로봇의 좌표와, 이동 로봇의 회전 각도로써 이동 로봇의 위치를 표시하는 것이 가능하다. 또한 본 발명의 일실시예에서, 위치산출 모듈(60)은 전술한 적분 과정에 의하여 산출된 이동 로봇의 위치 정보에 칼만 필터(Kalman Filter)를 사용하여 필터링하여, 이동 로봇의 최종 위치를 추정할 수도 있다(S121).Once the corrected speed and corrected rotation angle are calculated in the correction module 50, the corrected speed and rotation angle are transmitted to the position calculation module 60. The position calculation module 60 estimates the position of the mobile robot using the speed and the rotation angle of the mobile robot in which the slip error is corrected (S120). For example, the position calculation module 40 can display the position of the mobile robot by the coordinates of the mobile robot on each axis and the rotation angle of the mobile robot calculated by integrating the speeds in the respective axial directions. In addition, in one embodiment of the present invention, the position calculation module 60 filters the position information of the mobile robot calculated by the above-described integration process using a Kalman filter to estimate the final position of the mobile robot. It may also be (S121).

이상에서 설명한 바와 같이, 본 발명에 따른 위치 추정 시스템 및 방법을 사용하여 이동 로봇 등과 같은 이동체의 위치를 추정함으로써, 이동 로봇의 바퀴의 미끄러짐으로 인하여 발생하는 슬립으로 인한 위치 추정 오차를 효과적으로 제거하고 이동 로봇의 위치를 정확하게 추정할 수 있다. 본 발명에 따른 위치 추정 시스 템은 소형의 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)

이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 가속도 센서; An acceleration sensor for detecting acceleration in both directions in a moving direction of the moving body and a direction perpendicular to the moving direction; 상기 이동체의 이동 거리를 검출하는 하나 이상의 인코더; 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 상기 보정 모듈에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 위치추정 모듈을 포함하는 것을 특징으로 하는 위치 추정 시스템.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. 제 1항에 있어서,The method of claim 1, 상기 분석 모듈은, The analysis module, 상기 가속도 센서에서 검출된 이동 방향 가속도를 사용하여 상기 가속도 센서에 의한 속도를 산출하고, 상기 가속도 센서에서 검출된 상기 이동 방향에 수직한 방향의 가속도를 사용하여 각속도를 산출하며 산출된 각속도를 통해 상기 가속도 센서에 의한 회전 각도를 산출하는 제1 분석부; 및 The velocity by the acceleration sensor is calculated using the movement direction acceleration detected by the acceleration sensor, and the angular velocity is calculated using the acceleration in the direction perpendicular to the movement direction detected by the acceleration sensor. A first analyzer configured to calculate a rotation angle by the acceleration sensor; And 상기 인코더에서 검출된 이동 거리를 사용하여 상기 인코더에 의한 속도 및 회전 각도를 산출하는 제2 분석부를 포함하는 것을 특징으로 하는 위치 추정 시스템.And a second analyzer configured to calculate a speed and a rotation angle by the encoder using the movement distance detected by the encoder. 제 2항에 있어서,The method of claim 2, 상기 인코더에서 검출된 이동 거리의 분산이 미리 설정된 값 이내일 경우, 상기 제1 분석부에서 산출된 속도 및 각속도를 0으로 설정하는 리셋 모듈을 더 포함하는 것을 특징으로 하는 위치 추정 시스템.And a reset module for setting the velocity and the angular velocity calculated by the first analyzer to zero when the dispersion of the movement distance detected by the encoder is within a preset value. 제 1항에 있어서,The method of claim 1, 상기 보정 모듈은, The correction module, 상기 가속도 센서에 의한 속도 및 상기 인코더에 의한 속도를 사용하여 오차가 보정된 속도를 산출하는 속도 보정부; 및 A speed correction unit calculating a speed at which an error is corrected using the speed by the acceleration sensor and the speed by the encoder; And 상기 가속도 센서에 의한 회전 각도 및 상기 인코더에 의한 회전 각도를 사용하여 오차가 보정된 회전 각도를 산출하는 각도 보정부를 포함하는 것을 특징으로 하는 위치 추정 시스템.And an angle corrector configured to calculate a rotation angle in which an error is corrected using the rotation angle by the acceleration sensor and the rotation angle by the encoder. 제 4항에 있어서,The method of claim 4, wherein 상기 속도 보정부는,The speed correction unit, 상기 가속도 센서에 의한 속도를
Figure 112008027821967-PAT00043
, 상기 인코더에 의한 속도를
Figure 112008027821967-PAT00044
, 속도의 오차를
Figure 112008027821967-PAT00045
라 할 경우,
Figure 112008027821967-PAT00046
의 수학식에 의하여 상기 오차를 산출하며,
Speed by the acceleration sensor
Figure 112008027821967-PAT00043
Speed by the encoder
Figure 112008027821967-PAT00044
Speed error
Figure 112008027821967-PAT00045
If you do
Figure 112008027821967-PAT00046
The error is calculated by the following equation,
상기 오차에 대한 가중치를
Figure 112008027821967-PAT00047
, 상기 오차가 보정된 속도를
Figure 112008027821967-PAT00048
라 할 경우,
Figure 112008027821967-PAT00049
의 수학식에 의하여 상기 오차가 보정된 속도를 산출하는 것을 특징으로 하는 위치 추정 시스템.
The weight for the error
Figure 112008027821967-PAT00047
, The speed at which the error is corrected
Figure 112008027821967-PAT00048
If you do
Figure 112008027821967-PAT00049
And calculating a speed at which the error is corrected by the following equation.
제 4항에 있어서,The method of claim 4, wherein 상기 속도 보정부는, The speed correction unit, 상기 가속도 센서에서 검출된 이동 방향 가속도를 미리 설정된 한계 가속도와 비교하여 슬립이 발생하였는지 여부를 판단하는 슬립 검출부를 포함하는 것을 특징으로 하는 위치 추정 시스템.And a slip detector configured to determine whether slip has occurred by comparing the movement direction acceleration detected by the acceleration sensor with a preset limit acceleration. 제 4항에 있어서,The method of claim 4, wherein 상기 각도 보정부는,The angle correction unit, 상기 가속도 센서에 의한 회전 각도를
Figure 112008027821967-PAT00050
, 상기 인코더에 의한 회전 각도를
Figure 112008027821967-PAT00051
, 상기 오차가 보정된 회전 각도를
Figure 112008027821967-PAT00052
라 할 경우,
Figure 112008027821967-PAT00053
의 수학식에 의하여 상기 오차가 보정된 회전 각도를 산출하는 것을 특징으로 하는 위치 추정 시스템.
Rotation angle by the acceleration sensor
Figure 112008027821967-PAT00050
, The angle of rotation by the encoder
Figure 112008027821967-PAT00051
, The rotation angle at which the error is corrected
Figure 112008027821967-PAT00052
If you do
Figure 112008027821967-PAT00053
The position estimation system, characterized in that for calculating the rotation angle of the error correction.
제 1항에 있어서,The method of claim 1, 상기 위치추정 모듈은, The location estimation module, 상기 보정 모듈에서 산출된 속도 및 회전 각도에 칼만 필터(Kalman Filter)를 적용하여 상기 이동체의 위치를 추정하는 것을 특징으로 하는 위치 추정 시스템.And a Kalman filter is applied to the speed and rotation angle calculated by the correction module to estimate the position of the moving object. 가속도 센서를 사용하여 이동체의 이동 방향 및 상기 이동 방향에 수직한 방향의 양 방향 가속도를 검출하는 단계 (a);(A) detecting acceleration in both directions of the moving body and the direction perpendicular to the moving direction using an acceleration sensor; 인코더를 사용하여 상기 이동체의 이동 거리를 검출하는 단계 (b);(B) detecting a moving distance of the moving object using an encoder; 상기 단계 (a)에서 검출된 양 방향 가속도 및 상기 단계 (b)에서 검출된 이동 거리를 사용하여, 상기 가속도 센서에 의한 속도 및 회전 각도와 상기 인코더에 의한 속도 및 회전 각도를 산출하는 단계 (c); 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) ); 상기 단계 (c)에서 산출된 각각의 속도 및 회전 각도를 사용하여 오차가 보정된 속도 및 회전 각도를 산출하는 단계 (d); 및 (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 상기 단계 (d)에서 산출된 속도 및 회전 각도를 사용하여 상기 이동체의 위치를 추정하는 단계 (e)를 포함하는 것을 특징으로 하는 위치 추정 방법.And (e) estimating the position of the moving object using the speed and the rotation angle calculated in the step (d). 제 9항에 있어서,The method of claim 9, 상기 단계 (c)는, Step (c) is, 상기 단계 (a)에서 검출된 이동 방향 가속도를 사용하여 상기 가속도 센서에 의한 속도를 산출하고, 상기 단계 (a)에서 검출된 상기 이동 방향에 수직한 방향의 가속도를 사용하여 각속도를 산출하며, 산출된 각속도를 통해 상기 가속도 센서에 의한 회전 각도를 산출하는 단계 (c1); 및The velocity by the acceleration sensor is calculated using the movement direction acceleration detected in step (a), and the angular velocity is calculated using the acceleration in the direction perpendicular to the movement direction detected in step (a), and calculated Calculating a rotation angle by the acceleration sensor based on the obtained angular velocity (c1); And 상기 단계 (b)에서 검출된 이동 거리를 사용하여 상기 인코더에 의한 속도 및 회전 각도를 산출하는 단계 (c2)를 포함하는 것을 특징으로 하는 위치 추정 방법.And (c2) calculating a speed and a rotation angle by the encoder using the movement distance detected in the step (b). 제 10항에 있어서,The method of claim 10, 상기 단계 (b)에서 검출된 이동 거리의 분산이 미리 설정된 값 이내인지 판단하는 단계; 및 Determining whether the variance of the movement distance detected in the step (b) is within a preset value; And 상기 이동 거리의 분산이 미리 설정된 값 이내일 경우, 상기 단계 (c1)에서 산출된 속도 및 각속도를 0으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 위치 추정 방법.And setting the velocity and the angular velocity calculated in the step (c1) to zero when the variance of the movement distance is within a preset value. 제 9항에 있어서,The method of claim 9, 상기 단계 (d)는, Step (d) is, 상기 가속도 센서에 의한 속도 및 상기 인코더에 의한 속도를 사용하여 오차가 보정된 속도를 산출하는 단계 (d1); 및 Calculating a speed at which an error is corrected using the speed by the acceleration sensor and the speed by the encoder (d1); And 상기 가속도 센서에 의한 회전 각도 및 상기 인코더에 의한 회전 각도를 사용하여 오차가 보정된 회전 각도를 산출하는 단계 (d2)를 포함하는 것을 특징으로 하는 위치 추정 방법.And (d2) calculating a rotation angle of which an error is corrected by using the rotation angle by the acceleration sensor and the rotation angle by the encoder. 제 12항에 있어서,The method of claim 12, 상기 단계 (d1)은, Step (d1), 상기 가속도 센서에 의한 속도를
Figure 112008027821967-PAT00054
, 상기 인코더에 의한 속도를
Figure 112008027821967-PAT00055
, 속도의 오차를
Figure 112008027821967-PAT00056
라 할 경우,
Figure 112008027821967-PAT00057
의 수학식에 의하여 상기 오차를 산출하는 단계; 및
Speed by the acceleration sensor
Figure 112008027821967-PAT00054
Speed by the encoder
Figure 112008027821967-PAT00055
Speed error
Figure 112008027821967-PAT00056
If you do
Figure 112008027821967-PAT00057
Calculating the error by the equation; And
상기 오차에 대한 가중치를
Figure 112008027821967-PAT00058
, 상기 오차가 보정된 속도를
Figure 112008027821967-PAT00059
라 할 경우,
Figure 112008027821967-PAT00060
의 수학식에 의하여 상기 오차가 보정된 속도를 산출하는 단계를 포함하는 것을 특징으로 하는 위치 추정 방법.
The weight for the error
Figure 112008027821967-PAT00058
, The speed at which the error is corrected
Figure 112008027821967-PAT00059
If you do
Figure 112008027821967-PAT00060
And calculating a speed at which the error is corrected by the following equation.
제 12항에 있어서,The method of claim 12, 상기 단계 (d1)은, Step (d1), 상기 단계 (a)에서 검출된 이동 방향 가속도를 미리 설정된 한계 가속도와 비교하여 슬립이 발생하였는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 위치 추정 방법.And determining whether slip has occurred by comparing the movement direction acceleration detected in the step (a) with a preset limit acceleration. 제 12항에 있어서,The method of claim 12, 상기 단계 (d2)는, Step (d2), 상기 가속도 센서에 의한 회전 각도를
Figure 112008027821967-PAT00061
, 상기 인코더에 의한 회전 각도를
Figure 112008027821967-PAT00062
, 상기 오차가 보정된 회전 각도를
Figure 112008027821967-PAT00063
라 할 경우,
Figure 112008027821967-PAT00064
의 수학식에 의하여 상기 오차가 보정된 회전 각도를 산출하는 단계를 포함하는 것을 특징으로 하는 위치 추정 방법.
Rotation angle by the acceleration sensor
Figure 112008027821967-PAT00061
, The angle of rotation by the encoder
Figure 112008027821967-PAT00062
, The rotation angle at which the error is corrected
Figure 112008027821967-PAT00063
If you do
Figure 112008027821967-PAT00064
And calculating a rotation angle of which the error is corrected by the equation.
제 9항에 있어서,The method of claim 9, 상기 단계 (e)는, Step (e), 상기 단계 (d)에서 산출된 속도 및 회전 각도에 칼만 필터(Kalman Filter)를 적용하여 상기 이동체의 위치를 추정하는 단계를 포함하는 것을 특징으로 하는 위치 추정 방법.And estimating the position of the moving object by applying a Kalman filter to the speed and rotation angle calculated in the step (d).
KR1020080036213A 2007-04-19 2008-04-18 System and method for position estimation using enconders and accelerometers KR100946676B1 (en)

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 (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 (7)

* Cited by examiner, † Cited by third party
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
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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 (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
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
KR101008360B1 (en) Appratus and method of calibration of a gyro sensor in a mobile robot.
US8793069B2 (en) Object recognition system for autonomous mobile body
CN111337018B (en) Positioning method and device, intelligent robot and computer readable storage medium
US20100312473A1 (en) Method and apparatus to detect platform stationary status using three-axis accelerometer outputs
KR100912874B1 (en) Method and apparatus for relocating a mobile robot
KR20090009172A (en) Method and apparatus for measuring position of the mobile robot
KR20110021191A (en) Apparatus and method for detecting slip of robot
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
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
KR101372406B1 (en) Apparatus for analysizing rotation axis
Tarin et al. Low level sensor fusion for autonomous mobile robot navigation
JP7152285B2 (en) Electronics, correction methods and programs
KR102026398B1 (en) A method and system for estimating a user's walking direction and position in an indoor space

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