KR20060088333A - Method and apparatus for correcting systematic error using magnetic field - Google Patents

Method and apparatus for correcting systematic error using magnetic field Download PDF

Info

Publication number
KR20060088333A
KR20060088333A KR1020050009187A KR20050009187A KR20060088333A KR 20060088333 A KR20060088333 A KR 20060088333A KR 1020050009187 A KR1020050009187 A KR 1020050009187A KR 20050009187 A KR20050009187 A KR 20050009187A KR 20060088333 A KR20060088333 A KR 20060088333A
Authority
KR
South Korea
Prior art keywords
angle
robot
error
distance
unit
Prior art date
Application number
KR1020050009187A
Other languages
Korean (ko)
Other versions
KR100621096B1 (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 삼성전자주식회사
Priority to KR1020050009187A priority Critical patent/KR100621096B1/en
Publication of KR20060088333A publication Critical patent/KR20060088333A/en
Application granted granted Critical
Publication of KR100621096B1 publication Critical patent/KR100621096B1/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/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • 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
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/02Magnetic compasses
    • G01C17/28Electromagnetic compasses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/02Magnetic compasses
    • G01C17/28Electromagnetic compasses
    • G01C17/30Earth-inductor compasses

Abstract

자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for correcting a system error of a robot using a magnetic field.

본 발명의 일 실시예에 따른 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법은 기준 위치에서 절대방위각과 기준좌표축과의 차이인 차이각을 계산하는 제 1 계산 단계, 상기 기준 위치에서 로봇을 소정 거리만큼 이동시키는 단계, 상기 이동한 로봇의 변위에 따른 로봇의 절대방위각과 기준좌표축과의 차이인 차이각을 계산하는 제 2 계산 단계, 및 상기 제 1 계산 단계에서의 차이각과 상기 제 2 계산 단계에서의 차이각으로 상기 로봇의 오차를 보정하는 단계를 포함한다.A method for correcting a system error of a robot using a magnetic field according to an embodiment of the present invention includes a first calculation step of calculating a difference angle that is a difference between an absolute azimuth angle and a reference coordinate axis at a reference position, and predetermined robots at the reference position. Moving a distance by a distance, calculating a difference angle that is a difference between the absolute azimuth angle of the robot and a reference coordinate axis according to the displacement of the moved robot, and the difference angle and the second calculation step in the first calculation step. Compensating the error of the robot by the difference angle in.

나침반(Compass), 자기장 정보, 추측항법Compass, magnetic field information, dead reckoning

Description

자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법 및 장치{Method and apparatus for correcting systematic error using magnetic field}Method and apparatus for correcting system error of a robot using magnetic field {Method and apparatus for correcting systematic error using magnetic field}

도 1a와 도 1b는 종래에 이동 로봇에서 발생하는 시스템적 에러를 보정하는 방법을 보여주는 일 실시예이다.1A and 1B illustrate an exemplary method of compensating for a system error occurring in a conventional mobile robot.

도 2는 본 발명의 일 실시예에 따른 나침반 센서가 장착된 로봇이 이동하여 위치를 보정하는 예시도이다.2 is an exemplary view of correcting a position by moving a robot equipped with a compass sensor according to an embodiment of the present invention.

도 3은 나침반 센서의 특성을 보여주는 그래프이다.3 is a graph showing the characteristics of the compass sensor.

도 4는 본 발명의 일 실시예에 따른 나침반 센서가 로봇의 방위각을 보정하는 예를 보여주는 예시도이다.4 is an exemplary view showing an example in which the compass sensor according to an embodiment of the present invention corrects the azimuth angle of the robot.

도 5는 본 발명의 일 실시예에 따른 나침반 센서를 이용하여 보정하는 순서도이다.5 is a flowchart for correcting using a compass sensor according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 로봇의 일부 구성요소를 보여주는 구성도이다.6 is a block diagram showing some components of the robot according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

130: 계측부 300: 나침반 센서부130: measurement unit 300: compass sensor unit

510: 오차보정부510: error correction

스스로 이동하는 로봇의 경우, 현재 위치가 어디인지를 명확히 아는 것이 이동에 있어서 필수적인 요소이다. 따라서 로봇의 위치 정보를 습득하는 분야(Localization)에 대해 많은 연구가 있어왔다. In the case of a robot moving by itself, it is essential to know clearly where the current position is. Therefore, much research has been done on the area of localization of robots.

그중에서도 추측 항법(Dead Reckoning)은 출발지의 위치와 로봇이 이동한 거리를 계산하여 현재의 위치가 어디인지를 계산하는 방식이다. 기준이 되는 위치에 대한 정보만 알면, 로봇이 이동한 방향과 이동한 거리를 통해 현재 위치를 산술적으로 계산할 수 있다는 점에서 많은 로봇, 또는 이동형 기기에 적용되고 있다. 그러나, 로봇의 이동은 기계를 통해 이루어지며, 여기에는 로봇의 바퀴에 대한 정보나 방향에 대한 정보에 있어서 실제 정보와 계산된 정보와의 차이가 발생할 수 있다. 이를 시스템적인 에러(Systematic error)라고 한다. 한편 로봇이 이동시에 바퀴가 미끄러지거나, 또는 외부 요인에 의해 각도가 틀어지는 상황도 발생할 수 있다. 이를 비시스템적 에러(Nonsystematic error)라고 한다.Among them, dead reckoning calculates where the current position is by calculating the position of the starting point and the distance traveled by the robot. If only the information on the reference position is known, it is applied to many robots or mobile devices in that the current position can be arithmetically calculated through the direction in which the robot moves and the distance traveled. However, the movement of the robot is made through a machine, where a difference between the actual information and the calculated information may occur in the information about the wheel or the direction of the robot. This is called a systematic error. On the other hand, when the robot moves, the wheels may slide or the angle may change due to external factors. This is called nonsystematic error.

시스템적인 에러를 유발하는 것은 측정했거나 추산했던 로봇의 바퀴의 지름, 또는 바퀴와 바퀴 사이의 거리(Wheelbase)에 있어서 차이가 있거나, 또는 이동 방향을 제어하는 기기가 정확하게 방향을 잡아주지 않아서 발생하는 각도의 오차 등이 있다. 이러한 에러를 보정하지 않을 경우, 에러는 누적될 수 있다. 따라서, 추측 항법만으로는 에러의 누적을 피할 수 없으므로, 단독으로 로봇의 위치를 설정하고 이동하는 것에는 한계가 있다. The cause of a systemic error is a difference in the diameter of the wheel of the robot, measured or estimated, or the wheelbase (Wheelbase), or the angle caused by the device not controlling the direction of movement correctly. Error. If these errors are not corrected, errors can accumulate. Therefore, since the accumulation of errors cannot be avoided only by the dead reckoning, there is a limit in setting and moving the robot by itself.

도 1a와 도 1b는 종래에 이동 로봇에서 발생하는 시스템적 에러를 보정하는 방법을 보여주는 일 실시예이다.1A and 1B illustrate an exemplary method of compensating for a system error occurring in a conventional mobile robot.

도 1a는 산술적인 이동시 나타나는 결과를 보여준다. 산술적인 계산에 의할 때, 로봇이 4m의 거리를 반시계 방향 또는 시계 방향으로 이동하며 직각으로 방향을 변경할 경우, 원래의 위치에 도달하게 된다. 그러나 전술한 시스템적 에러에 의해 실제로 이동했을 경우에는 각도와 거리의 오류로 인해 도 1b와 같이 출발점과 도착점이 달라질 수 있다.1A shows the results of arithmetic migration. By arithmetic calculations, if the robot moves a distance of 4m counterclockwise or clockwise and changes its direction at right angles, it will reach its original position. However, when actually moved by the aforementioned system error, the starting point and the arrival point may be changed as shown in FIG. 1B due to the error of the angle and distance.

이를 보정하기 위해서는 도 1b와 같이 로봇을 이동시킨 후, 측정한 오차를 계산하여 이동시 보정된 값으로 계산할 수 있게 한다. 측정한 오차에는 바퀴의 지름, 바퀴와 바퀴 사이의 거리, 각도 등이 될 수 있다.In order to correct this, the robot is moved as shown in FIG. 1B, and the measured error is calculated to calculate the corrected value during the movement. The measured error may be the diameter of the wheel, the distance between the wheels, and the angle.

보정된 결과에 따라 5cm 라 알고 있던 바퀴의 지름이 4.6cm 인 경우, 보정한 지름에 의해 로봇의 이동시에 어느 정도의 거리를 이동해야 할지 알 수 있다. 또한, 각도 측정에 있어서 90도로 알고 있었는데 87도가 나온다면, 다음에 각도를 측정하는 경우, 이 오류만큼 보정할 수 있다("Correction of Systematic Odometry Errors in Mobile Robots", Johann Borenstein, Liquiang Feng).If the diameter of the wheel, known as 5cm, is 4.6cm according to the result of the correction, it is possible to know how much distance should be moved when the robot moves by the correction diameter. In addition, if the angle was measured at 90 degrees and 87 degrees, then the next angle can be corrected by this error ("Correction of Systematic Odometry Errors in Mobile Robots", Johann Borenstein, Liquiang Feng).

그런데, 살펴본 방식으로 로봇의 오류를 보정하기 위해서는 로봇을 도 1b와 같이 이동시킨 후, 로봇의 위치를 직접 측정하여 계산해야 한다. 예를 들어, 도 1b와 같이 로봇을 이동시킨 후에 로봇을 옮기고, 로봇의 중앙의 위치를 출발점 위치와 비교하여 계산하는 과정이 필요하다. 따라서 오류 한 회를 측정하는 데에도 오랜 시간이 걸릴 뿐만 아니라, 정확한 측정을 위해서는 여러 회를 거쳐 측정해야 한 다는 문제점이 있다.However, in order to correct the error of the robot in the above-described manner, after moving the robot as shown in FIG. 1B, the position of the robot must be directly measured and calculated. For example, after moving the robot as shown in FIG. 1B, the robot is moved and a process of calculating the position of the center of the robot is compared with the starting point position. Therefore, not only takes a long time to measure one error, but also has a problem that the measurement must be made several times in order to make accurate measurements.

또한, 모든 로봇에 이 방식을 적용시켜서 보정을 수행하기 위해서는 로봇 하나하나에 대해 보정을 수행해야 함을 의미한다. 즉, 로봇을 생산한 후에 오류가 있는지 검토하기 위해서는 일일이 도 1b에 나타난 방식으로 로봇을 이동시킨 후에 오차를 계산해야 하는데, 다량의 로봇을 생산하는 경우에 이 방식을 적용하는 것은 무리가 있다. 또한 보정을 하기 위한 측정시에도 로봇을 움직이는 과정에서 에러가 발생할 수 있다.In addition, in order to perform the correction by applying this method to all the robots, it means that the correction must be performed for each robot. That is, in order to examine whether there is an error after producing the robot, it is necessary to calculate the error after moving the robot in the manner shown in FIG. 1B one by one, and it is unreasonable to apply this method when producing a large number of robots. In addition, errors can occur during the movement of the robot even during measurements to calibrate.

이외에도 천정에 카메라를 설치하거나 조명을 설치하여 이를 기준으로 위치를 측정하는 방법도 제시되었다. 그러나, 영상 처리를 위해 추가의 마이크로 프로세서를 장착해야 하는 문제점, 그리고 조명은 방안의 물체에 따라 달리 변할 수 있다는 점에서 정확한 측정에 어려움이 있었다.In addition, a method of measuring a location based on a camera or lighting on the ceiling was also presented. However, there has been a problem in that accurate measurement is required in that an additional microprocessor is required for image processing, and lighting may vary according to objects in a room.

따라서, 누적되는 에러를 보정하며, 또한 보정에 있어서 많은 시간과 작업없이 정확도를 향상시키는 방법 및 장치가 필요하다.Therefore, there is a need for a method and apparatus that corrects cumulative errors and also improves accuracy without much time and effort in calibration.

본 발명의 기술적 과제는 로봇에 존재하는 시스템적 에러를 쉽게 보정하는데 있다.The technical problem of the present invention is to easily correct the system errors present in the robot.

본 발명의 다른 기술적 과제는 시스템적 에러의 누적을 막으면서 추측항법을 가능하게 하는데 있다.Another technical problem of the present invention is to enable dead reckoning while preventing the accumulation of systemic errors.

본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것 이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.

자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for correcting a system error of a robot using a magnetic field.

본 발명의 일 실시예에 따른 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법은 기준 위치에서 절대방위각과 기준좌표축과의 차이인 차이각을 계산하는 제 1 계산 단계, 상기 기준 위치에서 로봇을 소정 거리만큼 이동시키는 단계, 상기 이동한 로봇의 변위에 따른 로봇의 절대방위각과 기준좌표축과의 차이인 차이각을 계산하는 제 2 계산 단계, 및 상기 제 1 계산 단계에서의 차이각과 상기 제 2 계산 단계에서의 차이각으로 상기 로봇의 오차를 보정하는 단계를 포함한다.A method for correcting a system error of a robot using a magnetic field according to an embodiment of the present invention includes a first calculation step of calculating a difference angle that is a difference between an absolute azimuth angle and a reference coordinate axis at a reference position, and predetermined robots at the reference position. Moving a distance by a distance, calculating a difference angle that is a difference between the absolute azimuth angle of the robot and a reference coordinate axis according to the displacement of the moved robot, and the difference angle and the second calculation step in the first calculation step. Compensating the error of the robot by the difference angle in.

설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그러나 용어의 설명은 본 명세서의 이해를 돕기 위한 것으로서 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.Prior to the description, the meaning of terms used in the present specification will be briefly described. However, it should be noted that the terminology is used to limit the technical spirit of the present invention unless it is explicitly described as limiting the present invention as an explanation of the present specification.

- 나침반 센서(Compass Sensor)Compass Sensor

나침반 센서는 지구 자기장을 기준으로 방위를 정하는 센서이다. 절대방위각을 측정하므로 에러가 누적되지 않는다. 또한, 동일 장소에서 시간에 따른 변화가 매우 적은 편이다. 한편 위치에 따른 오차는 크므로, 이전 위치와 현재 위치의 차이를 쉽게 알 수 있다.The compass sensor is a sensor that orients itself based on the earth's magnetic field. Since the absolute azimuth angle is measured, the error does not accumulate. In addition, there is very little change over time in the same place. On the other hand, since the error according to the position is large, it is easy to see the difference between the previous position and the current position.

- 기준위치(Base Position)Base Position

위치를 측정하기 위한 기준을 의미한다. 기준위치와의 거리, 방향 등을 측정하여, 현재 위치를 측정할 수 있다. 본 명세서에서의 기준 위치는 로봇이 출발하여 귀환하는 지점이다. 통상적인 가정용 로봇 또는 이동기기들이 충전 등의 용도로 홈베이스(Home Base)를 가지므로 이러한 홈베이스가 기준위치가 될 수 있다.Refers to the criteria for measuring position. The current position may be measured by measuring a distance and a direction from the reference position. The reference position in this specification is a point from which the robot starts and returns. Since home robots or mobile devices have a home base for charging or the like, such a home base may be a reference position.

도 2는 본 발명의 일 실시예에 따른 나침반 센서가 장착된 로봇이 이동하여 위치를 보정하는 예시도이다.2 is an exemplary view of correcting a position by moving a robot equipped with a compass sensor according to an embodiment of the present invention.

(a)는 홈베이스를 떠나기 전의 상황이다. 로봇은 홈베이스를 떠나기 전 나침반 센서를 통해 절대방위각과 기준위치인 홈베이스와의 초기 각도 차이를 기록한다. (a) is the situation before leaving home base. Before leaving the home base, the robot records the initial angle difference between the absolute azimuth and the reference home base through the compass sensor.

(b)는 이동하는 로봇을 보여준다. 이동시에는 절대방위각을 측정하지 않는다. 그리고 계측기(odometry)등을 통해 바퀴의 회전 등을 통해 추측 항법(Dead Reckoning)을 수행한다.(b) shows a moving robot. The absolute azimuth angle is not measured during movement. And dead reckoning is performed through the rotation of wheels through odometry.

(c)는 로봇이 홈베이스로 귀환한 상황이다. 로봇은 나침반 센서를 통해 현재의 절대방위각을 산출한다. 그리고 (b)의 과정에서 계측기 등을 통해 산출한 각도와 비교하여 방위각을 보정하고, 계측기를 튜닝(Tunning)한다. 튜닝하여 보정된 각도와 보정된 바퀴 지름을 통해 (a), (b), (c) 과정을 수행한다. 이를 통해 지속적으로 보정을 수행할 수 있다.(c) is the situation where the robot returns to the home base. The robot calculates the current absolute azimuth from the compass sensor. The azimuth angle is corrected by comparing with the angle calculated by the measuring instrument in the process of (b), and the measuring instrument is tuned. Perform the steps (a), (b), and (c) by adjusting the corrected angle and the corrected wheel diameter. This allows for continuous calibration.

도 3은 나침반 센서의 특성을 보여주는 그래프이다. 나침반 센서가 4m x 4m 의 사각 영역을 주행하면서 측정한 각도의 오차를 보여준다. 위치에 따라 오차의 크기가 심하게 변하는 것을 알 수 있다. 이는 지구 자기장이 실내 환경에서는 위치 에 따라 다른 정도로 왜곡되기 때문이다. 하지만 그래프의 시작점과 끝점의 오차는 거의 동일하다는 것을 발견할 수 있는데, 끝점은 4m x 4m 사각 영역을 주행하고 나서 시작 위치로 귀환한 시점이고, 이는 특정 위치에서의 나침반 센서의 오차는 시간에 따라 변하지 않고, 균일하다는 것을 의미한다.3 is a graph showing the characteristics of the compass sensor. The compass sensor shows an error in the measured angle as it travels in a 4m x 4m square area. It can be seen that the magnitude of the error varies greatly depending on the position. This is because the Earth's magnetic field is distorted to varying degrees in indoor environments. However, you can find that the error between the starting point and the ending point of the graph is almost the same, the end point is the point when the vehicle returns to the starting position after driving the 4m x 4m square area. It does not change, it means uniform.

도 4는 본 발명의 일 실시예에 따른 나침반 센서가 로봇의 방위각을 보정하는 예를 보여주는 예시도이다.4 is an exemplary view showing an example in which the compass sensor according to an embodiment of the present invention corrects the azimuth angle of the robot.

초기에 로봇의 기준좌표축과 나침반 센서간의 차이를 계산한다. 도 4에서 로봇의 기준좌표축에 의한 각도(Θi)를 측정하면 80도이다. 그리고 나침반 센서로 각도(Θci)를 측정하면 90도이다. 따라서 이들간에는 10도의 오차가 존재한다.Initially, the difference between the robot's reference axis and the compass sensor is calculated. In FIG. 4, the angle Θ i measured by the reference coordinate axis of the robot is 80 degrees. And measuring the angle (Θ ci ) with a compass sensor is 90 degrees. Therefore, there is an error of 10 degrees between them.

그리고 로봇을 일정거리를 이동시킨후, 원래 위치로 복귀하였을 때 각도를 측정한다. Θf는 로봇이 이동한 후에 기준좌표축에 의한 각도로, 로봇은 추측항법을 통해 초기의 80도에 맞게끔 이동하였으므로, Θf는 80도이다. 그런데, 나침반 센서로 측정한 값은 95도이다. 출발 전에 나침반 센서와 로봇의 기준좌표축과 10도의 오차가 있으므로, 실제 로봇은 85도임을 알 수 있다. 따라서 5도 만큼의 시스템 에러가 발생한 것이고, 이를 토대로 오차를 보정할 수 있다.After the robot moves a certain distance, the angle is measured when the robot returns to its original position. Θ f is the angle based on the reference coordinate axis after the robot moves, and since the robot moved to the initial 80 degrees through dead reckoning, Θ f is 80 degrees. By the way, the value measured by the compass sensor is 95 degrees. Since there is an error of 10 degrees from the reference sensor axis of the compass sensor and the robot before departure, it can be seen that the actual robot is 85 degrees. Therefore, a system error of 5 degrees has occurred, and the error can be corrected based on this.

도 5는 본 발명의 일 실시예에 따른 나침반 센서를 이용하여 보정하는 순서도이다.5 is a flowchart for correcting using a compass sensor according to an embodiment of the present invention.

먼저 로봇의 초기 위치를 측정한다(S110). 홈베이스와 같이 기준위치를 측정 하는 것을 의미한다. 그리고 나침반 센서를 통해 방위각(θci)을 측정한다(S112). 그리고 로봇의 기준좌표축과의 차이(θoffset = θci - θi)를 기록한다(S114). 이는 로봇이 다시 홈베이스로 복귀했을 때 측정한 기준좌표축에 오차가 발생할 경우 이를 보정하기 위한 기준을 구하기 위함이다. First, the initial position of the robot is measured (S110). It means to measure the reference position like the groove base. The azimuth angle θ ci is measured through the compass sensor (S112). And the difference (θ offset = θ cii ) and the reference coordinate axis of the robot is recorded (S114). This is to obtain a standard for correcting an error in the reference coordinate axis measured when the robot returns to the home base.

측정이 완료한 후에는 로봇을 이동시킨다(S120). 로봇은 이동중에 계측기(Odometry)를 이용하여 추측 항법(Dead Reckoning)을 수행한다(S122). 그 결과 좌표에 대한 거리 정보인 xd, yd, 그리고 각도 정보인 θd를 계산한다. 거리정보는 좌측 바퀴와 우측 바퀴의 누적된 회전 각도를 통해 구할 수 있다. 그리고 이동한 각도는 좌측 바퀴와 우측 바퀴의 누적된 이동 거리의 차를 이용하여 구할 수 있다.After the measurement is completed, the robot is moved (S120). The robot performs dead reckoning using an odometry while moving (S122). As a result, xd, yd, and angle information θd, which are distance information about coordinates, are calculated. The distance information can be obtained through the accumulated rotation angles of the left wheel and the right wheel. The moved angle can be obtained by using the difference between the accumulated moving distances of the left wheel and the right wheel.

S122 과정의 추측 항법으로 로봇은 홈베이스로 귀환한다(S124). 귀환한 위치에서 다시 나침반 센서를 통해 절대방위각 (θcf)을 측정한다(S126). 그리고 방위각을 보정한다(S128). 방위각의 보정은 S126 단계에서 측정한 방위각 데이터(θcf)와 S114 단계에서 계산한 θoffset을 뺀 결과인 θf를 사용한다. θf가 예전의 θi와 다를 경우에는 오차가 발생한 것이므로, 이 오차를 토대로 좌, 우측 바퀴의 지름에 대한 오차인 er, el을 구하여 바퀴의 좌, 우 지름을 보정한다(S130).The robot returns to the home base by the dead reckoning of step S122 (S124). The absolute azimuth angle θ cf is measured by the compass sensor at the returned position (S126). And azimuth is corrected (S128). The correction of the azimuth angle uses θ f which is the result of subtracting the azimuth data θ cf measured in step S126 and θ offset calculated in step S114. If θ f is different from the previous θ i , an error has occurred, and the left and right diameters of the wheels are corrected by obtaining er and el, which are errors with respect to the diameters of the left and right wheels, based on this error (S130).

아래의 수식을 통해 오차를 보정하는 과정을 알 수 있다.The following formula shows the process of correcting the error.

Figure 112005006120783-PAT00001
Figure 112005006120783-PAT00002
Figure 112005006120783-PAT00001
Figure 112005006120783-PAT00002

Figure 112005006120783-PAT00003
Figure 112005006120783-PAT00004
Figure 112005006120783-PAT00003
Figure 112005006120783-PAT00004

먼저 우측 바퀴의 이동 거리인 Ur과 좌측 바퀴의 이동 거리 Ul은 수학식 1을 통해 구할 수 있다. k는 변환 인자(Conversion factor)이고, Nr, Nl은 각각 우측과 좌측 바퀴가 회전하면서 누적된 각을 의미한다. 또한, Dr, Dl은 각각 우측, 좌측 바퀴의 지름이며, D'r, D'l은 각각 우측, 좌측 바퀴의 실제 지름을 의미한다. 따라서, 실제 바퀴 지름과 산술적인 바퀴 지름간의 오차는 eDr, eDl이다. 이동거리는 변환 인자와 누적된 각과 바퀴의 지름에 π를 곱한 결과이다. First, the moving distance U r of the right wheel and the moving distance U l of the left wheel can be obtained through Equation 1. k is a conversion factor, and N r and N l represent the accumulated angles as the right and left wheels rotate. In addition, D r and D l are the diameters of the right and left wheels, respectively, and D ' r and D' l are the actual diameters of the right and left wheels, respectively. Therefore, the error between the actual wheel diameter and the arithmetic wheel diameter is e Dr , e Dl . The distance traveled is the product of the conversion factor, the accumulated angle and the wheel diameter multiplied by π.

이동한 후의 각도는 초기 각도에서 좌측 바퀴와 우측 바퀴의 이동거리의 누적된 차이를 계산하여 산출할 수 있다. 이는 수학식 2에 나타나있다.The angle after the movement may be calculated by calculating a cumulative difference between the movement distances of the left wheel and the right wheel at the initial angle. This is shown in equation (2).

Figure 112005006120783-PAT00005
Figure 112005006120783-PAT00005

초기에 로봇의 방향에 대해 계측기가 측정한 각도가 Θ0, 나침반 센서가 측정한 각도가 ΘC0 이다. 그리고 이동한 후에 계측기가 측정한 각도가 Θ이며, 나침반 센서가 측정한 각도는 ΘC 이다.Initially, the angle measured by the instrument relative to the robot's direction is Θ 0 and the angle measured by the compass sensor is Θ C0 . After moving, the angle measured by the instrument is Θ and the angle measured by the compass sensor is Θ C.

수학식 2에 나타나듯이, 좌우 바퀴가 회전하여 로봇이 이동한 경우에 누적된 거리와 두 바퀴 사이의 거리의 비를 누적하여 더한 경우, 이동에 의해 변화된 각도 를 얻을 수 있다. 수학식 2의 Ur, Ul에 수학식 1을 적용했을 때 수학식 3과 같이 계산할 수 있다.As shown in Equation 2, when the left and right wheels are rotated and the robot moves, the cumulative distance and the distance between the two wheels are accumulated and added to obtain an angle changed by the movement. When Equation 1 is applied to U r and U l in Equation 2, Equation 3 can be calculated.

Figure 112005006120783-PAT00006
Figure 112005006120783-PAT00006

Figure 112005006120783-PAT00007
Figure 112005006120783-PAT00007

Figure 112005006120783-PAT00008
Figure 112005006120783-PAT00008

상기 식의 결과에서 전반부의

Figure 112005006120783-PAT00009
는 나침반 센서로 측정한 결과이며
Figure 112005006120783-PAT00010
는 각도에 있어서의 오류(eΘ)이다. The first half of the equation
Figure 112005006120783-PAT00009
Is the result measured by the compass sensor
Figure 112005006120783-PAT00010
Is the error in angle (e Θ ).

각도에 있어서의 오류를 풀기 위해 수학식 4와 같이 전개한다.In order to solve the error in the angle is developed as shown in equation (4).

Figure 112005006120783-PAT00011
Figure 112005006120783-PAT00011

한편, 본 실험에서 직진시에는 에러가 없다는 것을 가정할 때, 즉, 회전 시에만 에러가 발생한다는 것을 가정할 때 수학식 5와 같은 식이 도출될 수 있다. 이는 직진은 보상하지 않음을 의미한다.On the other hand, in the present experiment, assuming that there is no error when going straight, that is, assuming that an error occurs only during rotation, the equation (5) can be derived. This means that going straight does not compensate.

Figure 112005006120783-PAT00012
Figure 112005006120783-PAT00012

수학식 5를 수학식 4에 대입시켜서 산출된 결과는 수학식 6과 같다.The result calculated by substituting Equation 5 into Equation 4 is expressed as Equation 6.

Figure 112005006120783-PAT00013
Figure 112005006120783-PAT00013

수학식 5에서 eDr과 eDl은 부호만 반대임을 알 수 있다. 따라서, 수학식 6을 통해 eDl을 수학식 7과 같이 산출할 수 있다.In Equation 5, it can be seen that e Dr and e Dl have only opposite signs. Accordingly, e Dl may be calculated as in Equation 7 through Equation 6.

Figure 112005006120783-PAT00014
Figure 112005006120783-PAT00014

한편, 이전에 나침반 센서를 통해 측정한 각도와 로봇이 측정한 각도 사이의 오차는 Θoffset 이므로 수학식 8과 같다.On the other hand, since the error between the angle previously measured by the compass sensor and the angle measured by the robot is Θ offset is the same as Equation 8.

Figure 112005006120783-PAT00015
Figure 112005006120783-PAT00015

그 결과 각도의 오차는 수학식 9와 같이 로봇의 현재 각도에서 나침반 센서에서 Θoffset을 뺀 값을 통해 구할 수 있다.As a result, the error of the angle can be obtained by subtracting Θ offset from the compass sensor from the current angle of the robot as shown in Equation (9).

Figure 112005006120783-PAT00016
Figure 112005006120783-PAT00016

도 6은 본 발명의 일 실시예에 따른 로봇의 일부 구성요소를 보여주는 구성도이다.6 is a block diagram showing some components of the robot according to an embodiment of the present invention.

본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~모듈' 또는 '~부'는 어떤 기능들을 수행한다. 그렇지만 '~모듈' 또는 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~모듈' 또는 '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~모듈' 또는 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.The term '~ part' used in this embodiment, that is, '~ module' or '~ table' means a hardware component such as software, FPGA or ASIC, and '~ module' or '~ part' Perform the functions. However, the term 'module' or 'unit' is not limited to software or hardware. The '~ module' or '~ part' may be configured to reside in an addressable storage medium or may be configured to play one or more processors. Thus, as an example, '~ module' or '~' means components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, and the like. , Procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and modules may be combined into a smaller number of components and modules or further separated into additional components and modules. In addition, the components and modules may be implemented to play one or more CPUs in a device or secure multimedia card.

도 6은 크게 3가지 구성요소로 나뉘어진다. 절대방위각을 측정하는 나침반 센서부(300), 주행을 담당하며 주행거리를 측정하는 이동부(100), 그리고 나침반 센서부(300)와 이동부(100)에서 생성한 데이터를 취합하여, 오류를 보정하는 제어부(500)를 포함한다.6 is largely divided into three components. Compass sensor unit 300 for measuring the absolute azimuth angle, the moving unit 100 in charge of driving and measuring the mileage, and collects the data generated by the compass sensor unit 300 and the moving unit 100, the error And a controller 500 to correct.

나침반 센서부(300)는 절대방위각을 측정한다. 절대방위각이란, 자북극과 자남극을 기준으로 한 각도로, 동일한 장소에서는 언제나 동일한 값을 나타낸다. 나침반 센서부(300)는 자화된 금속과 회전각도를 감지하는 센서로 구성할 수 있다.The compass sensor unit 300 measures the absolute azimuth angle. Absolute azimuth is an angle based on magnetic north pole and magnetic south pole and always shows the same value in the same place. Compass sensor unit 300 may be configured as a sensor for detecting the magnetized metal and the rotation angle.

이동부(100)는 크게 주행부(110)와 계측부(130)를 포함한다. 도면에 미도시 되었으나 주행부에 동력을 전달하는 동력 전달부를 더 포함할 수 있다. 주행부(110)는 바퀴와 같이 이동을 가능하게 하는 부재를 포함한다. 계측부(130)는 주행부(110)의 회전수를 계산하여 이동 거리가 얼마인지를 계산한다. 본 명세서에서 언급한 계측기를 포함하며, 계측부(130)가 계산한 이동 거리의 오차는 주행부(110)의 지름의 크기를 잘못 계산한 경우, 또는 계측부(130)가 계산한 회전수가 실제와 다른 경우 등에서 발생 가능하다.The moving unit 100 largely includes a driving unit 110 and a measuring unit 130. Although not shown in the drawings may further include a power transmission unit for transmitting power to the driving unit. The driving unit 110 includes a member that enables movement such as a wheel. The measurement unit 130 calculates the rotation speed of the driving unit 110 to calculate how much the moving distance is. Including the measuring instrument mentioned herein, the error of the movement distance calculated by the measuring unit 130 is incorrectly calculated the size of the diameter of the driving unit 110, or the rotation speed calculated by the measuring unit 130 is different from the actual Can occur in such cases.

제어부는 오차 보정부(510), 절대방위각 제어부(530), 각도 측정부(540), 그리고 거리 측정부(560)를 포함한다.The controller includes an error corrector 510, an absolute azimuth controller 530, an angle measurer 540, and a distance measurer 560.

절대방위각 제어부(530)는 나침반 센서(100)가 센싱한 절대방위각을 저장하고, 이동 후에 측정한 나침반 센서(100)의 절대방위각을 비교하는 작업을 한다.The absolute azimuth control unit 530 stores the absolute azimuth angle sensed by the compass sensor 100 and compares the absolute azimuth angles of the compass sensor 100 measured after the movement.

거리 측정부(560)는 계측부(130)에서 측정한 주행부(110)의 이동 거리를 취합하여 거리를 측정한다. 좌, 우의 바퀴로 구성된 주행부(110)의 경우, 좌측과 우측 바퀴의 회전의 차이가 발생하므로 이동 거리를 산출하는 데에는 여러가지 계산 이 필요하다.The distance measuring unit 560 collects the moving distances of the driving unit 110 measured by the measuring unit 130 and measures the distance. In the case of the driving unit 110 composed of left and right wheels, since a difference in rotation of the left and right wheels occurs, various calculations are required to calculate the moving distance.

각도 측정부(540)는 계측부(130)에서 측정한 좌, 우측의 이동 거리의 차이에서 로봇의 이동 각도를 측정한다. 또한 로봇의 기준좌표축을 측정한다.The angle measuring unit 540 measures the moving angle of the robot in the difference between the moving distances of the left and right sides measured by the measuring unit 130. It also measures the robot's reference coordinate axis.

오차 보정부(510)는 절대방위각 제어부(530)에서 측정한 절대방위각과 각도 측정부(540) 및 거리 측정부(560)에서 측정한 결과에서 나온 값을 비교하여 오차가 발생할 시, 이를 보정하는 작업을 수행한다.The error correction unit 510 compares the absolute azimuth angle measured by the absolute azimuth angle controller 530 with values obtained from the results measured by the angle measuring unit 540 and the distance measuring unit 560 to correct the error when the error occurs. Do the work.

표 1은 본 발명에서 사용하는 나침반 센서의 방위각 보정 성능을 보여주는 표이다.Table 1 is a table showing the azimuth correction performance of the compass sensor used in the present invention.

반시계방향Counterclockwise 시계방향Clockwise 계측기 (튜닝없이)Instrument (without tuning) 계측기 (UMB)Instrument (UMB) 나침반Compass 계측기 (튜닝없이)Instrument (without tuning) 계측기 (UMB)Instrument (UMB) 나침반Compass 1One 4.094.09 0.490.49 0.150.15 4.574.57 0.890.89 0.450.45 22 4.594.59 0.990.99 0.60.6 4.564.56 0.890.89 0.010.01 33 4.094.09 0.490.49 0.290.29 4.584.58 0.910.91 0.230.23 44 5.075.07 1.471.47 0.010.01 4.574.57 0.890.89 00 55 5.065.06 1.461.46 0.490.49 3.913.91 0.230.23 0.360.36 66 5.065.06 1.461.46 0.570.57 3.963.96 0.290.29 0.80.8 77 4.064.06 0.450.45 0.250.25 3.933.93 0.250.25 2.122.12 88 5.255.25 1.651.65 0.280.28 3.943.94 0.270.27 0.970.97 평균Average 4.664.66 1.061.06 0.330.33 4.254.25 0.580.58 0.620.62

일정 방향, 즉 반시계 방향 또는 시계 방향으로 로봇을 주행시킨 후, 각각의 센서로 측정된 방위각의 정확도를 비교하는 실험이다. 실험 횟수로는 반시계 방향 8회, 시계 방향 8회이며, 각 실험은 계측기(odometry)로 측정한 각도의 차이, 그리고 나침반 센서의 각도의 차이, 그리고 나침반 센서에 의해 튜닝이 된 계측기가 측정한 각도의 차이를 나타내고 있다.After running the robot in a certain direction, that is, counterclockwise or clockwise, the experiment compares the accuracy of the azimuth measured by each sensor. The number of experiments is 8 times counterclockwise and 8 times clockwise. Each experiment measures the difference between the angle measured by the odometry, the difference between the angle of the compass sensor, and the instrument tuned by the compass sensor. The difference in angle is shown.

반시계 방향으로 로봇을 주행시킨 경우, 튜닝을 하지 않은 경우 계측기의 오차는 평균 4.66도이다. 계측기를 통해 튜닝을 한 경우의 오차는 1.06이다. 그러나 나침반 센서는 평균 평균 0.33도의 오차를 가지고 있음을 알 수 있다. 계측기의 오차보다 나침반 센서의 오차가 낮은 것을 알 수 있다. If the robot is run counterclockwise, the instrument's error is 4.66 degrees on average without tuning. The error when tuning through the instrument is 1.06. However, it can be seen that the compass sensor has an average error of 0.33 degrees. It can be seen that the error of the compass sensor is lower than the error of the instrument.

한편 시계 방향으로 로봇을 주행시킨 경우, 튜닝을 하지 않은 경우 계측기의 오차는 평균 4.25도이며 튜닝을 한 경우에는 오차가 0.58도이다. 나침반 센서는 평균 0.62도의 오차를 가지고 있다. On the other hand, if the robot is driven in the clockwise direction, the average error of the instrument without tuning is 4.25 degrees, and if tuned, the error is 0.58 degrees. The compass sensor has an average error of 0.62 degrees.

8회씩, 반시계방향과 시계방향으로 실험한 결과 나침반 센서를 사용할 경우 계측기를 사용한 경우보다 오차가 적다.Eight times, experiments counterclockwise and clockwise showed less error when using a compass sensor than when using a meter.

표 2는 본 발명의 일 실시예와 기존의 UMB 방식의 성능을 비교한 실험 결과이다.Table 2 is an experimental result comparing the performance of the embodiment of the present invention and the conventional UMB method.

반시계방향Counterclockwise 시계방향Clockwise Ex(mm)Ex (mm) Ey(mm)Ey (mm) EΘ(deg)EΘ (deg) Ex(mm)Ex (mm) Ey(mm)Ey (mm) EΘ(deg)EΘ (deg) UMB마크UMB Mark 39.9639.96 28.2428.24 1.061.06 37.5137.51 30.9530.95 0.580.58 본 실시예Example 15.2815.28 11.3711.37 0.470.47 13.9013.90 18.8218.82 0.640.64 성능 향상Improve performance 61.8%61.8% 59.7%59.7% 55.7%55.7% 62.9%62.9% 39.2%39.2% -10.6%-10.6%

실험은 4m x 4m 사각 영역을 시계 방향 또는 반시계 방향으로 로봇을 주행시킨 계측 데이터를 바탕으로 UMB 마크 테스트(UMB mark test)를 이용해 계산된 튜닝 팩터를 사용한 결과와 본 명세서에서 제시한 방법을 적용한 결과를 비교하고 있다.The experiment is based on the measurement data obtained by driving the robot clockwise or counterclockwise in a 4m x 4m square area, using the tuning factor calculated using the UMB mark test and applying the method presented here. Comparing the results.

반시계방향(CCW)으로 주행시킨 경우, x좌표를 기준으로 UMB 마크 테스트의 경우 39.36 mm의 오차가 있으나 나침반 센서를 쓸 경우 15.28 mm의 오차가 있으며, 약 61.8%의 성능 향상이 있다. y좌표를 기준으로 UMB 마크 테스트의 경우 28.24 mm의 오차가 있으나 나침반 센서를 쓸 경우 11.37 mm의 오차가 있으며, 약 59.7%의 성능 향상이 있다. 그리고 각도의 오차에 있어서 UMB 마크 테스트의 경우 1.06도의 오차가 있으나 나침반 센서를 쓸 경우 0.47도의 오차가 있으며, 약 55.7%의 성능 향상이 있다.When driving in the counterclockwise direction (CCW), there is an error of 39.36 mm for the UMB mark test based on the x coordinate, but an error of 15.28 mm when using the compass sensor, and there is an improvement of about 61.8%. There is an error of 28.24 mm for the UMB mark test based on the y-coordinate, but an error of 11.37 mm for the compass sensor, and an improvement of about 59.7%. There is an error of 1.06 degrees in the UMB mark test, but an error of 0.47 degrees in the compass sensor, and an improvement of about 55.7%.

시계방향(CW)으로 주행시킨 경우, x좌표를 기준으로 UMB 마크 테스트의 경우 37.51 mm의 오차가 있으나 나침반 센서를 쓸 경우 13.90 mm의 오차가 있으며, 약 62.9%의 성능 향상이 있다. y좌표를 기준으로 UMB 마크 테스트의 경우 30.95 mm의 오차가 있으나 나침반 센서를 쓸 경우 18.82 mm의 오차가 있으며, 약 39.2%의 성능 향상이 있다. 한편 각도의 오차에 있어서 UMB 마크 테스트의 경우 0.58도의 오차가 있으나 나침반 센서를 쓸 경우 0.64도의 오차가 있으나, 이 차이는 매우 미미한 차이라 볼 수 있다.When driving clockwise (CW), there is an error of 37.51 mm for the UMB mark test based on the x-coordinate, but an error of 13.90 mm for the compass sensor, and an improvement of about 62.9%. There is an error of 30.95 mm for the UMB mark test based on the y-coordinate, but an error of 18.82 mm for the compass sensor, and an improvement of about 39.2%. On the other hand, there is an error of 0.58 degrees in the UMB mark test in the error of the angle, but there is an error of 0.64 degrees in the compass sensor. However, this difference is a very slight difference.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art will appreciate that the present invention can be embodied in other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is indicated by the scope of the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and the equivalent concept are included in the scope of the present invention. Should be interpreted.

본 발명을 구현함으로써 오차가 누적되지 않는 추측항법 로봇을 구현할 수 있다. By implementing the present invention it is possible to implement a dead reckoning robot that does not accumulate errors.

본 발명을 구현함으로써 자동으로 오차를 보정하는 로봇을 제공할 수 있다.By implementing the present invention can provide a robot that automatically corrects the error.

Claims (13)

기준 위치에서 절대방위각과 기준좌표축과의 차이인 차이각을 계산하는 제 1 계산 단계;A first calculating step of calculating a difference angle that is a difference between the absolute azimuth angle and the reference coordinate axis at the reference position; 상기 기준 위치에서 로봇을 소정 거리만큼 이동시키는 단계;Moving the robot by a predetermined distance from the reference position; 상기 이동한 로봇의 변위에 따른 로봇의 절대방위각과 기준좌표축과의 차이인 차이각을 계산하는 제 2 계산 단계; 및A second calculating step of calculating a difference angle which is a difference between an absolute azimuth angle of the robot and a reference coordinate axis according to the displacement of the moved robot; And 상기 제 1 계산 단계에서의 차이각과 상기 제 2 계산 단계에서의 차이각으로 상기 로봇의 오차를 보정하는 단계를 포함하는, 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법.Correcting the error of the robot by the difference angle in the first calculation step and the difference angle in the second calculation step. 제 1항에 있어서,The method of claim 1, 상기 절대방위각은 나침반 센서를 이용하여 측정하는, 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법.The absolute azimuth angle is measured using a compass sensor, using a magnetic field to correct the system error of the robot. 제 1항에 있어서,The method of claim 1, 상기 이동시키는 단계는 상기 로봇을 상기 기준 위치로 복귀시키는 단계인, 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법.And the moving step is a step of returning the robot to the reference position. 제 1항에 있어서,The method of claim 1, 상기 이동시키는 단계는The moving step 왼쪽 바퀴의 누적 이동 거리와 오른쪽 바퀴의 누적 이동 거리를 기록하는 단계를 포함하는, 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법.And recording the cumulative travel distance of the left wheel and the cumulative travel distance of the right wheel. 제 4항에 있어서,The method of claim 4, wherein 상기 보정하는 단계는The correcting step 상기 기록한 누적 이동 거리에 의한 이동 각도를 계산하는 단계; 및Calculating a moving angle by the recorded cumulative moving distance; And 상기 계산한 이동 각도와 상기 제 1 계산 단계에서 계산한 차이각을 비교하여 상기 누적 이동 거리의 오차를 계산하는 단계를 포함하는, 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법.And calculating the error of the cumulative movement distance by comparing the calculated movement angle with the difference angle calculated in the first calculation step. 제 1항에 있어서,The method of claim 1, 상기 보정하는 단계는The correcting step 상기 로봇의 왼쪽 바퀴의 지름과 오른쪽 바퀴의 지름의 오차를 보정하는 단계를 포함하는, 자기장을 이용하여 로봇의 시스템 오류를 보정하는 방법.And correcting an error between the diameter of the left wheel and the diameter of the right wheel of the robot. 기준좌표축에 대한 정보를 제어하고 이동한 각도를 측정하는 각도 측정부; 및An angle measuring unit for controlling the information about the reference coordinate axis and measuring the moved angle; And 이동 전후에 상기 각도 측정부에서 측정한 기준좌표축과 절대방위각 사이의 차이각을 계산하여, 로봇의 오차를 보정하는 오차보정부를 포함하는, 자기장을 이 용하여 시스템 오류를 보정하는 로봇.A robot for correcting a system error by using a magnetic field, comprising an error correction unit for calculating the difference angle between the reference coordinate axis and the absolute azimuth angle measured by the angle measuring unit before and after the movement. 제 7항에 있어서,The method of claim 7, wherein 절대방위각을 측정하는 나침반 센서부; 및Compass sensor unit for measuring the absolute azimuth angle; And 상기 나침반 센서부에서 측정한 절대방위각을 저장하고 상기 나침반 센서부를 제어하는 절대방위각 제어부를 더 포함하며, And storing an absolute azimuth angle measured by the compass sensor unit and controlling the compass sensor unit. 상기 오차보정부는 상기 절대방위각 제어부를 통해 절대방위각에 대한 정보를 얻는, 자기장을 이용하여 시스템 오류를 보정하는 로봇.The error compensator is a robot for correcting a system error using a magnetic field, to obtain information about the absolute azimuth angle through the absolute azimuth control unit. 제 7항에 있어서,The method of claim 7, wherein 이동 거리를 측정하는 계측부; 및A measuring unit measuring a moving distance; And 상기 계측부를 통해 이동 거리를 계산하는 거리 측정부를 더 포함하며,Further comprising a distance measuring unit for calculating the moving distance through the measuring unit, 상기 각도 측정부는 상기 거리 측정부에서 측정한 거리를 통해 이동한 각도를 측정하며,The angle measuring unit measures an angle moved through the distance measured by the distance measuring unit, 상기 오차보정부는 상기 절대방위각과 상기 각도측정부 및 상기 거리 측정부에서 측정한 결과를 비교하여 오차를 구하는, 자기장을 이용하여 시스템 오류를 보정하는 로봇.The error compensating unit corrects a system error using a magnetic field to obtain an error by comparing the absolute azimuth angle and the results measured by the angle measuring unit and the distance measuring unit. 제 7항에 있어서,The method of claim 7, wherein 상기 계측부는 이동시 누적된 회전 각도를 계산하여 이동 거리를 측정하는, 자기장을 이용하여 시스템 오류를 보정하는 로봇.The measuring unit calculates the accumulated rotation angle during movement to measure the movement distance, the robot for correcting the system error using a magnetic field. 제 7항에 있어서,The method of claim 7, wherein 상기 로봇을 소정 거리만큼 이동시키는 주행부를 포함하며,It includes a driving unit for moving the robot by a predetermined distance, 상기 거리 측정부는 상기 주행부의 누적된 이동 거리를 기록하는, 자기장을 이용하여 시스템 오류를 보정하는 로봇.And the distance measuring unit corrects a system error by using a magnetic field to record the accumulated moving distance of the driving unit. 제 11항에 있어서,The method of claim 11, 상기 주행부는 상기 로봇을 출발 위치로 복귀시키는, 자기장을 이용하여 시스템 오류를 보정하는 로봇.And the traveling unit corrects a system error by using a magnetic field to return the robot to a starting position. 제 7항에 있어서,The method of claim 7, wherein 상기 오차 보정부는 상기 거리 측정부에서 기록한 로봇의 누적 이동 거리와 상기 각도 측정부의 누적 이동 각도를 계산하여, 상기 나침반 센서부에서 측정하는 절대방위각과의 차이각으로 상기 주행부의 오차를 구하는, 자기장을 이용하여 시스템 오류를 보정하는 로봇.The error correction unit calculates the cumulative movement distance of the robot recorded by the distance measuring unit and the cumulative movement angle of the angle measuring unit, and calculates an error of the driving unit by a difference angle between the absolute azimuth angle measured by the compass sensor unit. Robot that corrects system errors.
KR1020050009187A 2005-02-01 2005-02-01 Method and apparatus for correcting systematic error using magnetic field KR100621096B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050009187A KR100621096B1 (en) 2005-02-01 2005-02-01 Method and apparatus for correcting systematic error using magnetic field

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050009187A KR100621096B1 (en) 2005-02-01 2005-02-01 Method and apparatus for correcting systematic error using magnetic field

Publications (2)

Publication Number Publication Date
KR20060088333A true KR20060088333A (en) 2006-08-04
KR100621096B1 KR100621096B1 (en) 2006-09-13

Family

ID=37176807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050009187A KR100621096B1 (en) 2005-02-01 2005-02-01 Method and apparatus for correcting systematic error using magnetic field

Country Status (1)

Country Link
KR (1) KR100621096B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100864801B1 (en) * 2007-08-14 2008-10-23 포항공과대학교 산학협력단 Odometry Calibration method with Home Positioning in Mobile Robot
CN105437230A (en) * 2015-12-09 2016-03-30 珠海格力电器股份有限公司 Tool coordinate calibration device and method for industrial robot
WO2017007089A1 (en) * 2015-07-03 2017-01-12 한국과학기술원 Method and device for relocating mobile robot in indoor environment
CN106393104A (en) * 2016-08-25 2017-02-15 北京创想智控科技有限公司 Stroke calibration method of mobile robot

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6689566B1 (en) * 1999-01-14 2004-02-10 Scantibodies Laboratory, Inc. Methods, kits, and antibodies for detecting parathyroid hormone
JP2000242332A (en) 1999-02-24 2000-09-08 Matsushita Electric Ind Co Ltd Autonomous travel robot, and its steering method and system
JP5079952B2 (en) 2001-08-23 2012-11-21 旭化成エレクトロニクス株式会社 Azimuth measuring device
KR20030064242A (en) * 2002-01-25 2003-07-31 주식회사 알파인터넷 Phone number service with automatic transmitter of the phone number and call connection
KR100561855B1 (en) * 2002-12-30 2006-03-16 삼성전자주식회사 Robot localization system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100864801B1 (en) * 2007-08-14 2008-10-23 포항공과대학교 산학협력단 Odometry Calibration method with Home Positioning in Mobile Robot
WO2017007089A1 (en) * 2015-07-03 2017-01-12 한국과학기술원 Method and device for relocating mobile robot in indoor environment
CN105437230A (en) * 2015-12-09 2016-03-30 珠海格力电器股份有限公司 Tool coordinate calibration device and method for industrial robot
CN106393104A (en) * 2016-08-25 2017-02-15 北京创想智控科技有限公司 Stroke calibration method of mobile robot

Also Published As

Publication number Publication date
KR100621096B1 (en) 2006-09-13

Similar Documents

Publication Publication Date Title
US8538671B2 (en) Apparatus and method for detecting position and orientation of mobile object
US8135562B2 (en) System, method and medium calibrating gyrosensors of mobile robots
CN106289327B (en) A kind of difference mobile robot mileage meter calibration method
CN108731673B (en) Autonomous navigation positioning method and system for robot
US7613581B2 (en) Method, apparatus, and medium for calibrating compass sensor in consideration of magnetic environment and method, apparatus, and medium for measuring azimuth using the compass sensor calibration method, apparatus, and medium
US11486988B2 (en) Method for calibrating the alignment of a moving object sensor
WO2015131464A1 (en) Method and device for correcting error of vehicle positioning
CN105737853B (en) A kind of drift calibration method of robot inertial navigation system
KR100621096B1 (en) Method and apparatus for correcting systematic error using magnetic field
CN109856640B (en) Single-line laser radar two-dimensional positioning method based on reflecting column or reflecting plate
CN109552417A (en) A kind of calibration method and system of driving wheel angle zero bias
Lin et al. Calibration for odometry of omnidirectional mobile robots based on kinematic correction
CN111625004A (en) Automatic calibration method and system for zero offset of AGV steering wheel
JP2009193097A (en) Control device for mobile robot and mobile robot system
CN112388602B (en) Calibration method, device and equipment of mobile robot
Peng et al. A novel algorithm based on nonlinear optimization for parameters calibration of wheeled robot mobile chasses
WO2019093316A1 (en) Moving body positioning device, and calibration method therefor
JP6707627B2 (en) Measuring device, measuring method, and program
KR100962674B1 (en) The method for estimating location of moble robot and mobile robot thereof
WO1995016184A1 (en) Apparatus for determining position of moving body
JP2017181195A (en) Measurement device, measurement method, and program
WO2018126911A1 (en) Positioning method and apparatus, service processing system and computer readable storage medium
CN114394102B (en) Calibration method of attitude sensor and running device
JP2958020B2 (en) Travel control device for mobile vehicles
CN115855116B (en) Error calibration process generation method and system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee