JP2011008637A - Robot control apparatus, robot control program and robot control method - Google Patents

Robot control apparatus, robot control program and robot control method Download PDF

Info

Publication number
JP2011008637A
JP2011008637A JP2009152957A JP2009152957A JP2011008637A JP 2011008637 A JP2011008637 A JP 2011008637A JP 2009152957 A JP2009152957 A JP 2009152957A JP 2009152957 A JP2009152957 A JP 2009152957A JP 2011008637 A JP2011008637 A JP 2011008637A
Authority
JP
Japan
Prior art keywords
robot
turning
wheel
turn
error
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2009152957A
Other languages
Japanese (ja)
Other versions
JP5487756B2 (en
Inventor
Takashi Kyo
山 姜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009152957A priority Critical patent/JP5487756B2/en
Publication of JP2011008637A publication Critical patent/JP2011008637A/en
Application granted granted Critical
Publication of JP5487756B2 publication Critical patent/JP5487756B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To correctly and efficiently adjust errors pertaining to self-position estimation of a robot.SOLUTION: A robot control apparatus 1 includes a movement controller 10 such that when detecting a turning instruction for turning the body of the robot from a turning start position centered at a prescribed position by a prescribed angle where the positions of the body of the robot before and after the turning analogous to each other, starts turning of the body of the robot, according to the turning operations of two wheels for moving the body of the robot; a measurement section 20, that measures robot positions and robot orientations pertaining to those before and after turning of the body of the robot with reference to a mark arranged at a position separated from the body of the robot; and a calculator 30, that calculates errors pertaining to the wheels of the robot, on the basis of a difference between the robot positions pertaining to those before and after the turning and a difference of the robot orientations pertaining to those before and after the turning.

Description

本発明は、ロボット制御装置、ロボット制御プログラムおよびロボット制御方法に関する。   The present invention relates to a robot control device, a robot control program, and a robot control method.

近年、2輪駆動の移動ロボットが自律走行等を行う際、自己の位置を車輪の回転量によって推定するオドメトリの技術が利用されている。オドメトリとは、2つの車輪の各回転速度からロボットの併進速度およびロボット本体の角速度を求め、これらを積分してロボットの位置および姿勢を推定する技術である。   In recent years, when a two-wheel drive mobile robot performs autonomous traveling or the like, an odometry technique for estimating its own position based on the amount of rotation of a wheel has been used. Odometry is a technique for estimating the robot translation speed and the robot body angular speed from the rotational speeds of two wheels, and integrating these to estimate the position and orientation of the robot.

かかるオドメトリの技術では、2つの車輪の各半径および2つの車輪間の距離が、ロボットの自己位置推定の精度を左右する重要なパラメータとなる。   In such odometry technology, the radii of two wheels and the distance between the two wheels are important parameters that determine the accuracy of the self-position estimation of the robot.

ところが、2つの車輪のどちらか一方若しくは両方の車輪の半径、または車輪間の距離が、ロボットの経年の運用または衝突等により変化する場合があり、自己位置推定の精度に影響を及ぼす。また、車輪の速度を制御するギア間の噛み合わせの隙間(バックラッシュ)も自己位置推定誤差の原因となる。   However, the radius of one or both of the two wheels or the distance between the wheels may change due to the operation or collision of the robot over time, which affects the accuracy of self-position estimation. In addition, a gap (backlash) between the gears that controls the speed of the wheels also causes a self-position estimation error.

そこで、従来では、ロボット管理者が、オドメトリに関わるパラメータの誤差を定期的に点検して、誤差に応じたパラメータの補正や部品の交換を行っていた。   Therefore, conventionally, a robot administrator regularly checks for errors in parameters related to odometry, and corrects parameters or replaces parts according to the errors.

また、2輪駆動の移動ロボットをスタート位置から特定距離にあるゴール位置に向けて走行させて、走行後に撮像した目印の撮像画像とあらかじめ撮像した同一目印の画像とを用いて、当該移動ロボットのオドメトリに関わるパラメータの誤差を調整するパラメータ調整装置が開示されている。   In addition, a two-wheel drive mobile robot is caused to travel toward a goal position at a specific distance from the start position, and an image of the mark captured after the travel and an image of the same mark captured in advance are used. A parameter adjustment device for adjusting an error of a parameter related to odometry is disclosed.

特開2007−156576号公報JP 2007-156576 A

しかしながら、移動ロボットの自己位置推定に関わる誤差を調整する従来の技術では、当該誤差を正確且つ効率的に調整することができないという問題がある。   However, the conventional technique for adjusting the error related to the self-position estimation of the mobile robot has a problem that the error cannot be adjusted accurately and efficiently.

すなわち、従来のパラメータ調整装置では、走行後に目印を撮像する場合、目印までの撮像距離等の撮像条件が変わると撮像精度も変わってしまい、撮像誤差によりオドメトリに関わるパラメータの誤差を正確に特定することができない。その結果、パラメータ調整装置は、オドメトリに関わるパラメータの誤差を正確に調整することができない。   That is, in the conventional parameter adjustment device, when imaging a mark after traveling, the imaging accuracy also changes if the imaging conditions such as the imaging distance to the mark change, and the parameter error related to odometry is accurately specified by the imaging error. I can't. As a result, the parameter adjustment device cannot accurately adjust the error of the parameter related to odometry.

また、ロボット管理者による誤差の調整では、作業時間を多く要し、コスト高となってしまう。   In addition, the adjustment of the error by the robot administrator requires a lot of work time and increases the cost.

本発明は、上記に鑑みてなされたものであって、移動ロボットの自己位置推定に関わる誤差を正確且つ効率的に調整することができるロボット制御装置、ロボット制御プログラムおよびロボット制御方法を提供することを目的とする。   The present invention has been made in view of the above, and provides a robot control device, a robot control program, and a robot control method capable of accurately and efficiently adjusting an error related to self-position estimation of a mobile robot. With the goal.

上述した問題を解決し、目的を達成するために、ロボット制御装置は、ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を旋回前後の位置が近似した位置となるように所定角度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始する移動制御部と、当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する計測部と、前記計測部にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わる誤差を算出する算出部とを備える構成を採る。   In order to solve the above-described problems and achieve the object, the robot control device sets a predetermined position from the turning start position of the robot body so that the position before and after the turning of the robot body is approximated. When a turning instruction to turn the angle is detected, a movement control unit that starts turning of the robot main body according to the rotational operation of the two wheels that move the robot main body, and a mark that is located away from the robot main body And measuring the robot position and the robot orientation related to before and after turning of the robot body, the difference between the robot position related to before and after the turn measured by the measuring unit, and between the robot orientation related to before and after the turn A configuration is provided that includes a calculation unit that calculates an error related to the wheel based on the difference.

以上により、ロボット制御装置は、ロボットの車輪に関わる誤差を正確且つ効率的に算出することができ、当該誤差の調整精度を向上させることができるという効果を奏する。   As described above, the robot control apparatus can accurately and efficiently calculate an error related to the robot wheel, and has an effect of improving the adjustment accuracy of the error.

図1は、実施例1に係るロボット制御装置の構成を示す機能ブロック図である。FIG. 1 is a functional block diagram illustrating the configuration of the robot control apparatus according to the first embodiment. 図2は、実施例1に係るロボット制御装置の計測を説明するための図である。FIG. 2 is a diagram for explaining measurement by the robot control apparatus according to the first embodiment. 図3は、移動ロボット運動学モデルの説明を示す図である。FIG. 3 is a diagram illustrating a mobile robot kinematic model. 図4は、実施例2に係るロボット制御装置の構成を示す機能ブロック図である。FIG. 4 is a functional block diagram illustrating the configuration of the robot control apparatus according to the second embodiment. 図5は、座標の定義を示す図である。FIG. 5 is a diagram illustrating the definition of coordinates. 図6は、旋回後ロボット本体の絶対座標を算出する方法を示す図である。FIG. 6 is a diagram illustrating a method of calculating the absolute coordinates of the robot body after turning. 図7は、実施例2に係るロボット制御装置の誤差補正手順を示すフローチャートである。FIG. 7 is a flowchart illustrating an error correction procedure of the robot control apparatus according to the second embodiment. 図8は、実施例3に係るロボット制御装置の構成を示す機能ブロック図である。FIG. 8 is a functional block diagram illustrating the configuration of the robot control apparatus according to the third embodiment. 図9は、ガタ量を算出する方法を示す図である。FIG. 9 is a diagram illustrating a method for calculating the backlash amount. 図10は、実施例3に係るロボット制御装置のガタ量補正手順を示すフローチャートである。FIG. 10 is a flowchart illustrating the play amount correction procedure of the robot control apparatus according to the third embodiment.

以下に、本発明に係るロボット制御装置、ロボット制御プログラムおよびロボット制御方法の実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。   Hereinafter, embodiments of a robot control device, a robot control program, and a robot control method according to the present invention will be described in detail with reference to the drawings. In addition, this invention is not limited by the present Example.

図1は、本実施例1に係るロボット制御装置の構成を示す機能ブロック図である。図1に示すように、ロボット制御装置1は、移動制御部10、計測部20および算出部30を有している。   FIG. 1 is a functional block diagram illustrating the configuration of the robot control apparatus according to the first embodiment. As illustrated in FIG. 1, the robot control device 1 includes a movement control unit 10, a measurement unit 20, and a calculation unit 30.

ロボット制御装置1は、車輪に関わるパラメータを用いてロボット本体の自己位置を推定する装置あり、特にオドメトリによる自己位置推定を行う。   The robot control apparatus 1 is an apparatus that estimates a self-position of a robot body using parameters related to wheels, and particularly performs self-position estimation by odometry.

移動制御部10は、ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を旋回前後の位置が近似した位置となるように所定角度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始する。ここで、所定角度とは、例えば360度や360度の複数倍であるがこれに限定されず、1度や2度等旋回前後の位置が近似した位置となるような角度であれば良い。   When the movement control unit 10 detects a turning instruction for turning the robot body by a predetermined angle around the predetermined position from the turning start position of the robot body so that the position before and after turning is approximated, the movement control unit 10 moves the robot body. The robot body starts to turn according to the rotational movement of the two wheels to be moved. Here, the predetermined angle is, for example, 360 degrees or a multiple of 360 degrees, but is not limited thereto, and may be any angle that approximates the position before and after the turn such as 1 degree or 2 degrees.

計測部20は、ロボット本体から離間した位置にある目印(以下、「ランドマーク」という。)を基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する。ここで、ロボット本体の旋回前後に関わるロボット位置およびロボット方位の計測について、図2を参照して説明する。図2は、実施例1に係るロボット制御装置1のロボット位置およびロボット方位の計測を説明するための図である。   The measurement unit 20 measures a robot position and a robot orientation related to before and after turning of the robot body with reference to a mark (hereinafter referred to as “landmark”) located at a position away from the robot body. Here, the measurement of the robot position and the robot orientation related to before and after turning of the robot body will be described with reference to FIG. FIG. 2 is a diagram for explaining the measurement of the robot position and the robot orientation of the robot control apparatus 1 according to the first embodiment.

移動ロボットは、旋回前に所定のランドマークを抽出する。そして、移動ロボットは、ロボット本体の旋回開始位置から、抽出されたランドマークに対して相対位置および相対方位を計測して、ランドマークに対する自己のロボット位置およびロボット方位とする。なお、計測方法として、例えば2台のステレオカメラをロボットに搭載してステレオ視覚を用いて計測する方法があるが、これに限定されるものではない。また、ランドマークには、目印として特徴があり計測しやすい標的であれば良く、例えばロボットの充電機がある。   The mobile robot extracts a predetermined landmark before turning. Then, the mobile robot measures the relative position and relative orientation with respect to the extracted landmark from the turning start position of the robot body, and sets it as its own robot position and robot orientation with respect to the landmark. As a measurement method, for example, there is a method in which two stereo cameras are mounted on a robot and measurement is performed using stereo vision. However, the measurement method is not limited thereto. The landmark may be any target that has a characteristic as a mark and is easy to measure, such as a robot charger.

次に、移動ロボットは、ロボット本体の旋回開始位置から所定位置を中心にして、旋回前後の位置が近似した位置となる所定角度、例えば360度旋回する。そして、移動ロボットは、旋回後の旋回終了位置から、旋回前と同じランドマークに対して相対位置および相対方位を計測して、ランドマークに対する自己のロボット位置およびロボット方位とする。   Next, the mobile robot turns around a predetermined position from the turning start position of the robot body at a predetermined angle, for example, 360 degrees, at which the position before and after the turn is approximate. Then, the mobile robot measures the relative position and relative azimuth with respect to the same landmark as before the turn from the turn end position after the turn, and sets it as its own robot position and robot azimuth with respect to the landmark.

ここで、移動ロボットは、例えば所定角度を360度とした場合、360度旋回指示に基づいて旋回しているため、車輪に関わる誤差がなければ、360度旋回後には旋回前の位置および方位に戻ることができる。ところが、移動ロボットは、車輪に関わる誤差があると、360度旋回後には旋回前の位置および方位に戻ることができない。すなわち、旋回後のランドマークに対する自己のロボット位置は、旋回前のランドマークに対する自己のロボット位置と同一にならない。そして、旋回後のロボット方位も同様に旋回前のロボット方位と同一にならない。   Here, for example, when the predetermined angle is set to 360 degrees, the mobile robot is turning based on a 360-degree turning instruction. Therefore, if there is no error related to the wheels, the position and orientation before turning are set after 360-degree turning. You can go back. However, if there is an error related to the wheel, the mobile robot cannot return to the position and direction before the turn after turning 360 degrees. That is, the position of the robot with respect to the landmark after the turn is not the same as the position of the robot with respect to the landmark before the turn. Similarly, the orientation of the robot after turning is not the same as the orientation of the robot before turning.

そこで、旋回前後のロボット位置およびロボット方位を用いて、車輪に関わる誤差を、後記する算出部30によって算出する。   Therefore, using the robot position and the robot orientation before and after the turn, an error relating to the wheel is calculated by the calculation unit 30 described later.

図1に戻って、算出部30は、計測部20にて計測した旋回前後に関わるロボット位置間の差分および旋回前後に関わるロボット方位間の差分に基づき、車輪に関わる誤差を算出する。   Returning to FIG. 1, the calculation unit 30 calculates the error related to the wheel based on the difference between the robot positions related to before and after the turn measured by the measurement unit 20 and the difference between the robot orientations before and after the turn.

上記実施例1によれば、ロボット制御装置1は、ロボット本体を旋回前後の位置が近似した位置となるような所定角度旋回させてロボット本体の位置等を計測しているため、旋回前後のロボット本体の位置が近似し、旋回前後の計測条件の変動も小さく済むこととなる。そのため、ロボット制御装置1は、ロボットの車輪に関わる誤差を正確に算出することができ、当該誤差の調整精度を向上させることができる。   According to the first embodiment, the robot control apparatus 1 measures the position of the robot body by turning the robot body by a predetermined angle so that the position before and after turning is approximated. The position of the main body is approximated, and fluctuations in measurement conditions before and after the turn are reduced. Therefore, the robot control apparatus 1 can accurately calculate an error related to the robot wheel, and can improve the adjustment accuracy of the error.

また、ロボット制御装置1は、ロボットの車輪に関わる誤差を自動的に算出することができ、その後、当該誤差を補正することにより効率的な調整を行うことができる。   In addition, the robot control apparatus 1 can automatically calculate an error related to the robot wheel, and can then perform an efficient adjustment by correcting the error.

ところで、移動ロボットのオドメトリによる自己位置推定は、運動学モデルを用いて行われる。この運動学モデルについて、図3を参照して説明する。図3は、移動ロボット運動学モデルの説明を示す図である。   By the way, self-position estimation by odometry of a mobile robot is performed using a kinematic model. This kinematic model will be described with reference to FIG. FIG. 3 is a diagram illustrating a mobile robot kinematic model.

まず、移動ロボットの運動学モデルを説明するための定義を行う。ロボットは、2つの車輪を有するものとする。そして、ロボットの位置および方位は、座標軸をX軸(X)およびY軸(Y)とした絶対座標系と、座標軸をX軸(X)およびY軸(Y)として且つロボットの中心を原点としたロボット座標系とから表される。ロボットの位置及び方位は、図3の例では、絶対座標系では(xG、、θ)で表され、ロボット座標系では(0、0、θ)で表される。ここで、θは、絶対座標系の原点からロボットに対する絶対方位であり、θは、ロボット座標系の原点からロボットが視ている相対方位、すなわちロボットの姿勢を指す。 First, a definition for explaining a kinematic model of a mobile robot is made. The robot is assumed to have two wheels. The position and orientation of the robot are determined with the absolute coordinate system having the coordinate axes as the X axis (X G ) and the Y axis (Y G ), the coordinate axes as the X axis (X R ), and the Y axis (Y R ). It is expressed from the robot coordinate system with the center as the origin. Position and orientation of the robot, in the example of FIG. 3, the absolute coordinate system is represented by (x G, y G, θ G), a robot coordinate system represented by (0,0, theta). Here, θ G is an absolute azimuth with respect to the robot from the origin of the absolute coordinate system, and θ represents a relative azimuth viewed by the robot from the origin of the robot coordinate system, that is, the posture of the robot.

また、ロボットの2つの車輪は、それぞれ右車輪の半径をr(単位:m、以下同じ)、左車輪の半径をrとし、両車輪間の距離をl(単位:m)とし、これらが運動学モデルでは重要な、車輪に関わるパラメータとなる。 The two wheels of the robot have a right wheel radius of r 1 (unit: m, the same applies hereinafter), a left wheel radius of r 2 and a distance between both wheels of l (unit: m). Is an important parameter related to wheels in kinematic models.

さらに、車輪の回転速度は、それぞれ右車輪の回転速度をφ(単位:rad/秒、以下同じ)、左車輪の回転速度をφとする。また、ロボット本体の前進速度をv(単位:m/秒)、ロボット本体の回転速度をω(単位:m/秒)とする。 Further, regarding the rotation speed of the wheel, the rotation speed of the right wheel is φ 1 (unit: rad / second, the same applies hereinafter), and the rotation speed of the left wheel is φ 2 . Further, the forward speed of the robot body is v (unit: m / second), and the rotational speed of the robot body is ω (unit: m / second).

例えば、正転方向にφの回転速度で右車輪を回転させ、正転方向と反対方向に−φの回転速度で左車輪を回転させると、ロボット本体は(xG、)を中心にその場で旋回して、ロボット本体の回転速度ωが発生する。また、φ=φの回転速度で右車輪および左車輪を回転させると、ロボット本体の回転速度ωは発生しないが、ロボットの前進速度vが発生する。つまり、左右車輪の回転速度φおよびφによってロボット本体の絶対座標が決定されることになる。 For example, by rotating the right wheel in phi 1 of the rotational speed in the forward direction, to rotate the left wheel in the direction opposite to the forward direction at a rotational speed of -.phi 1, the robot main body (x G, y G) The robot body turns at the spot to generate the rotational speed ω of the robot body. Further, when the right wheel and the left wheel are rotated at a rotational speed of φ 1 = φ 2 , the rotational speed ω of the robot main body is not generated, but the robot forward speed v is generated. That is, the absolute coordinates of the robot body are determined by the rotational speeds φ 1 and φ 2 of the left and right wheels.

このような定義の下、移動ロボットの運動学モデルでは、絶対座標系で観測されるロボットの状態、すなわちロボットの絶対位置(x、y)および絶対方位θを式(1)および(2)のように表すことができる。なお、式(2)では、ロボットの状態をロボットの速度として表している。

Figure 2011008637
Figure 2011008637
Under such a definition, in the kinematic model of the mobile robot, the state of the robot observed in the absolute coordinate system, that is, the absolute position (x, y) and the absolute direction θ of the robot are expressed by the equations (1) and (2). Can be expressed as: In equation (2), the state of the robot is expressed as the speed of the robot.
Figure 2011008637
Figure 2011008637

式(2)により、ロボットの絶対位置および絶対方位(xG、、θ)は、左右車輪の回転速度φおよびφ以外に車輪に関わるパラメータとなる車輪の半径r、rおよび両車輪間の距離lによって決定される。 According to the equation (2), the absolute position and the absolute orientation (x G, y G , θ G ) of the robot are determined by the wheel radii r 1 , r which are parameters related to the wheels other than the rotational speeds φ 1 and φ 2 of the left and right wheels 2 and the distance l between the two wheels.

そして、ロボット座標系から絶対座標系へのロボットの速度に関する変換は、式(4)で表される回転変換の行列を用いて以下の式(3)のようになる。

Figure 2011008637
Figure 2011008637
Then, the transformation related to the robot speed from the robot coordinate system to the absolute coordinate system is represented by the following equation (3) using the rotation transformation matrix represented by the equation (4).
Figure 2011008637
Figure 2011008637

さらに、ロボット座標系でのロボットの右車輪の回転速度ωは、右車輪の回転速度φを用いて、以下の式(5)のようになる。また、ロボットの左車輪の回転速度ωは、左車輪の回転速度φを用いて、以下の式(6)のようになる。

Figure 2011008637
Figure 2011008637
Further, the rotational speed ω 1 of the right wheel of the robot in the robot coordinate system is expressed by the following equation (5) using the rotational speed Φ 1 of the right wheel. Further, the rotation speed ω 2 of the left wheel of the robot is expressed by the following equation (6) using the rotation speed φ 2 of the left wheel.
Figure 2011008637
Figure 2011008637

そして、車輪の回転速度から導出されロボットの自己位置を推定する際に使用される運動方程式は、回転変換の行列(8)を用いて式(7)のようになる。

Figure 2011008637
Figure 2011008637
Then, an equation of motion derived from the rotational speed of the wheel and used when estimating the robot's self-position is as shown in Expression (7) using the matrix (8) of rotation conversion.
Figure 2011008637
Figure 2011008637

上記した運動方程式によると、運動方程式に設定された車輪の半径r、rまたは両車輪間の距離lが、実際の車輪の半径または両車輪間の距離とそれぞれ異なると、移動後のロボットの絶対位置および方位(xG、、θ)が不正確となる。例えば、時間の経過による摩擦、さらには衝突等によって車輪の半径または車輪間の距離が変化することがある。その場合、運動学モデル(運動方程式)にパラメータとして設定された車輪の半径または車輪間の距離と実際の車輪の半径または車輪間の距離との間でそれぞれ誤差が生じることとなり、その結果、運動学モデルを用いた自己位置推定に誤差が生じることになる。したがって、車輪の半径または車輪間の距離が変化した場合には、運動学モデルにパラメータとして設定される車輪の半径または車輪間の距離を含む車輪に関わるパラメータを補正することが重要となる。 According to the above equation of motion, if the wheel radius r 1 , r 2 or the distance l between both wheels set in the equation of motion is different from the actual wheel radius or the distance between both wheels, the robot after movement absolute position and orientation (x G, y G, θ G) is inaccurate. For example, the radius of the wheel or the distance between the wheels may change due to friction over time, or even a collision. In that case, an error occurs between the wheel radius or the distance between the wheels set as a parameter in the kinematic model (the equation of motion) and the actual wheel radius or the distance between the wheels. An error will occur in the self-position estimation using the scientific model. Therefore, when the wheel radius or the distance between the wheels changes, it is important to correct the wheel-related parameters including the wheel radius or the distance between the wheels set as parameters in the kinematic model.

そこで、実施例2では、車輪に関わるパラメータのうち車輪の半径および車輪間の距離に関わる誤差を算出して、算出された誤差に基づき、当該車輪に関わるパラメータを補正する場合について説明する。   Therefore, in the second embodiment, a case will be described in which an error related to a wheel radius and a distance between wheels is calculated among parameters related to a wheel, and the parameter related to the wheel is corrected based on the calculated error.

図4は、本実施例2に係るロボット制御装置2の構成を示す機能ブロック図である。なお、図1に示すロボット制御装置1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。   FIG. 4 is a functional block diagram illustrating the configuration of the robot control apparatus 2 according to the second embodiment. In addition, about the structure same as the robot control apparatus 1 shown in FIG. 1, the same code | symbol is attached | subjected and description about the overlapping structure and operation | movement is abbreviate | omitted.

図4に示すロボット制御装置2と実施例1に係るロボット制御装置1とが異なるところは、車輪に関わる誤差を算出する算出部30に旋回後絶対座標算出部31および誤差算出部32を追加し、指示部40、記憶部50、補正部60および報知部70を追加した点にある。   The difference between the robot control device 2 shown in FIG. 4 and the robot control device 1 according to the first embodiment is that a post-turning absolute coordinate calculation unit 31 and an error calculation unit 32 are added to a calculation unit 30 that calculates an error related to a wheel. The instruction unit 40, the storage unit 50, the correction unit 60, and the notification unit 70 are added.

指示部40は、車輪に関わる誤差を補正するよう指示する機能部であり、パラメータ誤差補正指示部41を有する。   The instruction unit 40 is a functional unit that instructs to correct an error related to the wheel, and includes a parameter error correction instruction unit 41.

パラメータ誤差補正指示部41は、計測可能なランドマークを抽出後、車輪に関わるパラメータの誤差を補正部60に補正させるために、所定位置を中心にして当該ロボット本体を360度旋回させる旋回指示を移動制御部10に対して行う。なお、パラメータ誤差補正指示部41は、計測可能なランドマークを抽出できない場合には、場所を移動して計測可能なランドマークを抽出後、当該旋回指示を行う。なお、ランドマークは、ロボット本体から離間した位置にあるものとする。   The parameter error correction instruction unit 41 extracts a measurable landmark, and then, in order to cause the correction unit 60 to correct a parameter error relating to the wheel, provides a turn instruction to turn the robot body 360 degrees around a predetermined position. This is performed for the movement control unit 10. If the measurable landmark cannot be extracted, the parameter error correction instructing unit 41 performs the turn instruction after extracting the measurable landmark by moving the place. The landmark is assumed to be at a position separated from the robot body.

移動制御部10は、所定位置を中心にしてロボット本体を360度旋回させる旋回指示をパラメータ誤差補正指示部41から取得すると、ロボット本体を旋回させるために必要な両車輪の回転速度を記憶部50から読み出す。また、移動制御部10は、記憶部50から読み出された両車輪の回転速度に基づいて、所定位置を中心にロボット本体を360度旋回させる場合に要する動作時間を算出する。この動作時間の算出は、例えばノミナル運動モデルを用いて算出される。   When the movement control unit 10 obtains from the parameter error correction instruction unit 41 a turning instruction to turn the robot body 360 degrees around a predetermined position, the movement control unit 10 stores the rotation speeds of both wheels necessary to turn the robot body. Read from. Further, the movement control unit 10 calculates an operation time required for turning the robot body 360 degrees around a predetermined position based on the rotation speeds of both wheels read from the storage unit 50. This operation time is calculated using, for example, a nominal motion model.

また、移動制御部10は、ロボット本体の旋回前に車輪内のギアによるバックラッシュを除去する動作を行う。具体的には、移動制御部10は、ロボット本体の旋回を開始する前に、車輪内の第1ギア部および第2ギア部同士を噛合わせて第1ギア部および第2ギア部をロボット本体の旋回方向にゆっくりと回転させる。そして、移動制御部10は、第1ギア部の旋回方向側の噛合部位と第2ギア部の噛合部位とが完全に接触した状態で、ロボット本体の旋回を開始する。   In addition, the movement control unit 10 performs an operation of removing backlash due to gears in the wheels before the robot body turns. Specifically, before starting the turning of the robot body, the movement control unit 10 meshes the first gear part and the second gear part in the wheel to move the first gear part and the second gear part to the robot body. Rotate slowly in the swivel direction. Then, the movement control unit 10 starts to turn the robot body in a state where the meshing portion of the first gear portion on the turning direction side and the meshing portion of the second gear portion are in complete contact.

なお、バックラッシュとは、車輪内の噛合っている第1ギア部と第2ギア部との噛合わせの隙間(遊び部分)のことである。このように、ロボット本体の旋回前にバックラッシュを除去することにより、バックラッシュによる車輪の回転量の誤差を排除することができ、車輪に関わるパラメータの誤差をより正確に算出することができる。   The backlash is a meshing gap (play portion) between the meshed first gear portion and the second gear portion in the wheel. Thus, by removing the backlash before turning the robot body, it is possible to eliminate the error in the rotation amount of the wheel due to the backlash, and to calculate the parameter error relating to the wheel more accurately.

また、移動制御部10は、ロボット本体の旋回前(バックラッシュ除去後)およびロボット本体の旋回後に、ロボット本体の位置および方位を計測するように計測部20に指示する。   In addition, the movement control unit 10 instructs the measurement unit 20 to measure the position and orientation of the robot body before turning the robot body (after removing the backlash) and after turning the robot body.

さらに、移動制御部10は、バックラッシュ除去後の旋回開始位置から所定位置を中心にして、算出された動作時間分、ロボット本体を旋回させる。   Further, the movement control unit 10 turns the robot main body for the calculated operation time around the predetermined position from the turning start position after the backlash removal.

計測部20は、パラメータ誤差補正指示部41によって抽出されたランドマークを基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する。具体的には、計測部20は、ロボット本体の旋回前に、ロボット本体の位置および方位を計測する旨の指示を移動制御部10から取得すると、ロボット本体の旋回開始位置からランドマークに対して相対位置および相対方位を計測する。そして、計測部20は、計測した相対位置および相対方位を、ランドマークに対する自己のロボット位置およびロボット方位として記憶部50に格納する。   The measuring unit 20 measures the robot position and the robot orientation related to before and after turning of the robot body with reference to the landmark extracted by the parameter error correction instruction unit 41. Specifically, when the measurement unit 20 obtains an instruction to measure the position and orientation of the robot body from the movement control unit 10 before turning the robot body, the measurement unit 20 starts from the turning start position of the robot body to the landmark. Measure relative position and orientation. Then, the measurement unit 20 stores the measured relative position and relative orientation in the storage unit 50 as its own robot position and robot orientation with respect to the landmark.

また、計測部20は、ロボット本体の旋回後にロボット本体の位置および方位を計測する旨の指示を移動制御部10から取得すると、ロボット本体の旋回終了位置からランドマークに対して相対位置および相対方位を計測する。そして、計測部20は、計測した相対位置および相対方位を、ランドマークに対する自己のロボット位置およびロボット方位として記憶部50に格納する。   In addition, when the measurement unit 20 receives an instruction from the movement control unit 10 to measure the position and orientation of the robot body after the robot body turns, the measurement unit 20 determines the relative position and relative direction with respect to the landmark from the turn end position of the robot body. Measure. Then, the measurement unit 20 stores the measured relative position and relative orientation in the storage unit 50 as its own robot position and robot orientation with respect to the landmark.

記憶部50は、車輪に関わるパラメータの誤差を算出するために必要な値を記憶する機能部である。具体的には、記憶部50は、ロボット本体の旋回前後のロボット位置およびロボット方位を記憶する。また、記憶部50は、車輪に関わるパラメータ内の複数の要素、すなわち、両車輪の各半径、両車輪間の距離および両車輪の各回転速度をあらかじめ記憶する。   The memory | storage part 50 is a function part which memorize | stores a value required in order to calculate the error of the parameter regarding a wheel. Specifically, the storage unit 50 stores the robot position and the robot orientation before and after turning of the robot body. Moreover, the memory | storage part 50 memorize | stores beforehand the several element in the parameter regarding a wheel, ie, each radius of both wheels, the distance between both wheels, and each rotational speed of both wheels.

旋回後絶対座標算出部31は、計測部20によって計測された旋回前後のランドマークに対する自己のロボット位置および旋回開始位置に基づき、旋回後のロボットの絶対位置(旋回終了位置)を算出する。なお、旋回開始位置は、絶対座標系上の絶対位置を指す。   The after-turning absolute coordinate calculation unit 31 calculates the absolute position (turning end position) of the robot after turning based on its own robot position and turning start position with respect to the landmarks before and after turning measured by the measuring unit 20. The turning start position refers to an absolute position on the absolute coordinate system.

また、旋回後絶対座標算出部31は、計測部20によって計測された旋回前後のランドマークに対する自己のロボット方位および旋回開始位置でのロボットの絶対方位に基づき、旋回終了位置でのロボットの絶対方位を算出する。なお、旋回終了位置でのロボット本体の絶対座標(絶対位置および絶対方位)を算出する方法は後に詳述するものとする。   The absolute coordinate calculation unit 31 after turning is based on the robot's own orientation with respect to the landmarks before and after turning measured by the measuring unit 20 and the absolute orientation of the robot at the turning start position. Is calculated. A method for calculating the absolute coordinates (absolute position and absolute orientation) of the robot body at the turning end position will be described in detail later.

誤差算出部32は、旋回後絶対座標算出部31によって算出されたロボットの旋回前後の絶対座標の差分に基づき、車輪の半径が変化したことによる誤差または車輪間の距離が変化したことによる誤差を算出する。例えば、誤差算出部32は、車輪の半径に関する誤差として、実際の左右車輪の半径の比率を算出する。また、誤差算出部32は、車輪間の距離に関する誤差として、パラメータに設定された車輪間距離に対する実際の車輪間距離の比率を算出する。   Based on the difference between the absolute coordinates before and after the turn of the robot calculated by the absolute coordinate calculation unit 31 after turning, the error calculation unit 32 calculates an error due to a change in the wheel radius or an error due to a change in the distance between the wheels. calculate. For example, the error calculator 32 calculates the ratio of the actual radius of the left and right wheels as an error related to the radius of the wheel. Moreover, the error calculation part 32 calculates the ratio of the actual distance between wheels with respect to the distance between wheels set to the parameter as an error regarding the distance between wheels.

ここで、車輪に関わるパラメータ内の車輪の半径または車輪間の距離に関わる誤差の算出方法について、図5および図6を参照して説明する。図5は、座標の定義を示す図であり、図6は、旋回後のロボット本体の絶対座標を算出する方法を示す図である。   Here, a method of calculating an error relating to a wheel radius or a distance between wheels in parameters relating to the wheel will be described with reference to FIGS. 5 and 6. FIG. 5 is a diagram illustrating the definition of coordinates, and FIG. 6 is a diagram illustrating a method of calculating absolute coordinates of the robot body after turning.

まず、図5では、ロボットから離間した位置にあるランドマークと、旋回中心に旋回した旋回前後のロボットが絶対座標系上に表されている。ロボット本体の旋回開始位置の絶対座標は、G(x0、、θ)である。 First, in FIG. 5, landmarks that are located away from the robot and the robot before and after turning that turns around the turning center are shown on the absolute coordinate system. The absolute coordinates of the turning start position of the robot body is G 0 (x 0, y 0 , θ 0 ).

また、旋回前のロボット本体のランドマークに対する相対位置および相対方位は、相対座標M(xm0、m0、θm0)として定義される。旋回中心を中心に旋回開始位置から360度旋回後のロボット本体のランドマークに対する相対位置および相対方位は、相対座標M(xm1、m1、θm1)として定義される。 In addition, the relative position and relative direction with respect to the landmark of the robot body before turning are defined as relative coordinates M 0 (x m0, y m0 , θ m0 ). A relative position and a relative direction with respect to the landmark of the robot body after 360 degrees of turning from the turning start position around the turning center are defined as relative coordinates M 1 (x m1, y m1 , θ m1 ).

図5における座標の定義の下、相対座標MおよびMおよび旋回前のロボット本体の絶対座標G(x0、、θ)に基づいて、旋回後のロボット本体の絶対座標G(x1、、θ)が算出される。 Under the definition of coordinates in FIG. 5, based on the relative coordinates M 0 and M 1 and the absolute coordinates G 0 (x 0, y 0 , θ 0 ) of the robot body before turning, the absolute coordinates G of the robot body after turning 1 (x 1, y 1 , θ 1 ) is calculated.

図6は、旋回後のロボット本体の絶対座標を算出する方法を示す図である。   FIG. 6 is a diagram illustrating a method of calculating absolute coordinates of the robot body after turning.

まず、旋回前のロボット本体の絶対方位と、旋回前のロボット本体のランドマークに対する相対方位とに基づいて、式(9)に示すようにランドマークの絶対方位を算出する。

Figure 2011008637
First, based on the absolute azimuth of the robot body before turning and the relative azimuth relative to the landmark of the robot body before turning, the absolute azimuth of the landmark is calculated as shown in Equation (9).
Figure 2011008637

次に、ランドマークの絶対方位と、旋回後のロボット本体の絶対方位および旋回後のロボット本体のランドマークに対する相対方位との関係は、式(10)のようになる。

Figure 2011008637
Next, the relationship between the absolute azimuth of the landmark, the absolute azimuth of the robot body after the turn, and the relative azimuth of the robot body after the turn with respect to the landmark is expressed by Expression (10).
Figure 2011008637

そうすると、式(9)および式(10)によって、式(11)に示すように、旋回後のロボット本体の絶対方位は、式(11)に示すように算出できる。

Figure 2011008637
Then, as shown in Expression (11), the absolute orientation of the robot body after turning can be calculated as shown in Expression (11) by Expression (9) and Expression (10).
Figure 2011008637

また、旋回前のロボット本体の絶対位置および旋回前のロボット本体のランドマークに対する相対位置に基づいて、式(12)に示すようにランドマークの絶対位置を算出する。なお、相対位置を絶対座標系に変換するために、回転変換の行列(13)を使用する。

Figure 2011008637
Figure 2011008637
Further, based on the absolute position of the robot body before turning and the relative position with respect to the landmark of the robot body before turning, the absolute position of the landmark is calculated as shown in Expression (12). In order to convert the relative position into the absolute coordinate system, a rotation conversion matrix (13) is used.
Figure 2011008637
Figure 2011008637

次に、ランドマークの絶対位置と、旋回後のロボット本体の絶対位置および旋回後のロボット本体のランドマークに対する相対位置との関係は、式(14)のようになる。

Figure 2011008637
Next, the relationship between the absolute position of the landmark, the absolute position of the robot main body after turning, and the relative position of the robot main body after turning with respect to the landmark is expressed by Expression (14).
Figure 2011008637

そうすると、式(12)および式(14)によって、式(15)に示すように旋回後のロボット本体の絶対位置は、式(15)に示すように算出できる。

Figure 2011008637
Then, the absolute position of the robot body after turning can be calculated as shown in Expression (15) by Expression (12) and Expression (14) as shown in Expression (15).
Figure 2011008637

ここで、移動ロボットの運動学モデルにより、車輪の回転速度が常数の場合、ロボットの動作時間tに応じてロボットの絶対方位θは、式(16)より式(17)に変換して表わすことができる。なお、旋回前のロボットの絶対座標は(0、0、0)であるものとする。また、φおよびφはそれぞれ右車輪および左車輪の回転速度、rおよびrはそれぞれ右車輪および左車輪の半径、lは両車輪間の距離を指すものとする。

Figure 2011008637
Figure 2011008637
Here, according to the kinematic model of the mobile robot, when the rotational speed of the wheel is a constant, the absolute azimuth θ of the robot is expressed by converting the equation (16) into the equation (17) according to the operation time t of the robot. Can do. It is assumed that the absolute coordinates of the robot before turning are (0, 0, 0). Also, φ 1 and φ 2 are the rotation speeds of the right wheel and the left wheel, r 1 and r 2 are the radii of the right wheel and the left wheel, respectively, and l is the distance between the two wheels.
Figure 2011008637
Figure 2011008637

また、同様に、ロボットの絶対位置xは、式(18)より式(19)に変換して表わすことができる。

Figure 2011008637
Figure 2011008637
Similarly, the absolute position x of the robot can be expressed by converting equation (18) into equation (19).
Figure 2011008637
Figure 2011008637

さらに、ロボットが360度旋回した後ではロボットの方位(姿勢)が2π付近となるため、sin(x)をxで代入すると、360度旋回後のロボットの絶対方位および絶対位置は、式(20)および(21)により表わすことができる。なお、Cは、2πを指すものとする。

Figure 2011008637
Figure 2011008637
Furthermore, since the robot orientation (posture) is around 2π after the robot has turned 360 degrees, substituting sin (x) by x, the absolute orientation and absolute position of the robot after 360 degrees turn are expressed by the equation (20 ) And (21). Note that C indicates 2π.
Figure 2011008637
Figure 2011008637

ここで、両車輪の回転速度を常数にしてロボット本体を360度旋回させるという条件により、以下に示すように変数を定義することができる。   Here, variables can be defined as shown below under the condition that the rotational speed of both wheels is a constant and the robot body is turned 360 degrees.

例えば、車輪の半径が変化したことによる誤差eを、式(22)のように、左右車輪の半径の比率で表わすものとする。ここでは、誤差eは、右車輪の半径rに対する左車輪の半径r2の比率を指している。

Figure 2011008637
For example, the error e 1 due to the change in the wheel radius is represented by the ratio of the left and right wheel radii as shown in Equation (22). Here, the error e 1 indicates the ratio of the radius r 2 of the left wheel to the radius r 1 of the right wheel.
Figure 2011008637

また、車輪間の距離が変化したことによる誤差eを、式(23)のように、パラメータに設定された車輪間距離Lに対する実際の車輪間距離lの比率で表わすものとする。

Figure 2011008637
Moreover, the error e 2 by the distance between the wheels is changed, as in Equation (23), shall be expressed by the ratio of the actual wheel distance l to the wheel distance L set in the parameter.
Figure 2011008637

また、車輪の回転速度φ、φおよび旋回時間tは、それぞれ式(24)および式(25)のように表わされる。なお、φは、あらかじめ定められた回転速度であるものとする。また、旋回時間tは、ロボット本体が360度旋回するのに要する動作時間Tである。

Figure 2011008637
Figure 2011008637
Further, the rotational speeds φ 1 and φ 2 and the turning time t of the wheel are expressed as in the equations (24) and (25), respectively. Note that φ is a predetermined rotation speed. The turning time t is an operation time T required for the robot body to turn 360 degrees.
Figure 2011008637
Figure 2011008637

これらの変数を式(20)および(21)に代入し、さらにロボット旋回前後の絶対方位の差分を式(20)の左辺に代入し、ロボット旋回前後の絶対位置の差分を式(21)の左辺に代入して、車輪の半径に関わる誤差eおよび車輪間距離に関わる誤差eを算出する。すなわち、式(11)によって算出されたロボット旋回後の絶対方位θR_new(以降、θとする。)を式(20)の左辺に代入し、式(15)によって算出されたロボット旋回後の絶対位置PR_new(以降、xとする。)を式(21)の左辺に代入する。これにより、ロボット本体が360度旋回するのに要する動作時間Tだけ旋回した結果、旋回後の絶対座標が旋回前の絶対座標(0、0、0)との差分になり、差分に応じた誤差(eおよびe)を算出できる。 Substituting these variables into equations (20) and (21), substituting the difference in absolute azimuth before and after turning the robot into the left side of equation (20), and calculating the difference in absolute position before and after turning the robot in equation (21) Substituting into the left side, an error e 1 related to the wheel radius and an error e 2 related to the distance between the wheels are calculated. That is, the absolute orientation θ R_new (hereinafter referred to as θ 1 ) after turning the robot calculated by the equation (11) is substituted into the left side of the equation (20), and after the robot turning calculated by the equation (15). absolute position P R_new (hereinafter referred to as x 1.) is substituted into the left-hand side of equation (21). As a result, as a result of turning for the operation time T required for the robot body to turn 360 degrees, the absolute coordinates after turning become a difference from the absolute coordinates (0, 0, 0) before turning, and an error corresponding to the difference. (E 1 and e 2 ) can be calculated.

その結果、車輪の半径が変化したことによる誤差eは、式(26)によって表され、車輪間の距離が変化したことによる誤差eは、式(27)によって表わされる。

Figure 2011008637
Figure 2011008637
As a result, the error e 1 due to the change in the wheel radius is expressed by Expression (26), and the error e 2 due to the change in the distance between the wheels is expressed by Expression (27).
Figure 2011008637
Figure 2011008637

このようにして、車輪に関わるパラメータ内の車輪の半径に関する誤差eおよび車輪間の距離に関する誤差eをそれぞれ算出することができる。 In this way, the error e 1 related to the wheel radius and the error e 2 related to the distance between the wheels in the parameters related to the wheel can be calculated.

図4に戻って、補正部60は、車輪に関わるパラメータを補正する機能部であり、パラメータ補正部61を有する。   Returning to FIG. 4, the correction unit 60 is a functional unit that corrects parameters related to the wheels, and includes a parameter correction unit 61.

パラメータ補正部61は、誤差算出部32にて算出された誤差に基づき、車輪に関わるパラメータを補正する。例えば、パラメータ補正部61は、誤差算出部32にて算出された車輪の半径に関わる誤差eおよび車輪間の距離に関わる誤差eを前述した運動モデルで使用される運動方程式のパラメータに反映させるように補正する。 The parameter correction unit 61 corrects the parameters related to the wheels based on the error calculated by the error calculation unit 32. For example, the parameter correction unit 61 reflects the error e 1 related to the wheel radius calculated by the error calculation unit 32 and the error e 2 related to the distance between the wheels in the parameters of the motion equation used in the motion model described above. Make corrections.

具体的には、式(26)による車輪の半径が変化したことによる誤差eを用いて、ロボットが移動する際に使用する運動方程式(式(7))の車輪の半径を補正する。すなわち、運動方程式の左車輪の半径rを、式(22)を用いてe×rに置換する。また、式(27)による車輪間の距離が変化したことによる誤差eを用いて、ロボットが移動する際に使用する運動方程式(式(7))の車輪間の距離を補正する。すなわち、運動方程式の両車輪間の距離lを、式(23)を用いてl×eに置換する。以下の式(28)が補正後の運動方程式となる。

Figure 2011008637
Specifically, using the error e 1 by the radius of the wheel according to formula (26) is changed to correct a radius of a wheel of the equations of motion used when the robot moves (Equation (7)). That is, the radius r 2 of the left wheel in the equation of motion is replaced with e 1 × r 1 using equation (22). Further, using the error e 2 by the distance between the wheels according to formula (27) is changed to correct the distance between the wheels of the equations of motion used when the robot moves (Equation (7)). That is, the distance l between the two wheels in the equation of motion is replaced with l × e 2 using equation (23). The following equation (28) is the equation of motion after correction.
Figure 2011008637

なお、パラメータ補正部61は、移動制御部10、計測部20および算出部30によって実行される誤差分析を、あらかじめ定められた回数分実行して、誤差分析結果の平均を用いて車輪に関わるパラメータを補正しても良い。   The parameter correction unit 61 performs error analysis executed by the movement control unit 10, the measurement unit 20, and the calculation unit 30 for a predetermined number of times, and uses the average of the error analysis results to determine the parameters related to the wheels. May be corrected.

報知部70は、誤差算出部32にて算出された誤差が異常閾値を超えた場合、車輪の異常を報知する。具体的には、報知部70は、車輪の半径に関わる誤差または車輪間の距離に関わる誤差のうちいずれか一方でも異常閾値を越えた場合、異常がある旨を、ロボットを管理する計算機システムに送信する。例えば、異常には、車輪の異常、計測機器の異常または組み立て不良による異常を含むものとする。   When the error calculated by the error calculation unit 32 exceeds the abnormality threshold, the notification unit 70 notifies the wheel abnormality. Specifically, the notification unit 70 informs the computer system that manages the robot that there is an abnormality when any one of the error relating to the radius of the wheel or the error relating to the distance between the wheels exceeds the abnormality threshold. Send. For example, the abnormality includes an abnormality of a wheel, an abnormality of a measuring device, or an abnormality due to an assembly failure.

次に、実施例2に係るロボット制御装置の誤差補正手順を、図7を参照して説明する。図7は、実施例2に係るロボット制御装置の誤差補正手順を示すフローチャートである。   Next, an error correction procedure of the robot control apparatus according to the second embodiment will be described with reference to FIG. FIG. 7 is a flowchart illustrating an error correction procedure of the robot control apparatus according to the second embodiment.

まず、パラメータ誤差補正指示部41は、計測可能なランドマークを抽出して(ステップS11)、所定位置を中心にしてロボット本体を360度旋回させるように移動制御部10に指示する。   First, the parameter error correction instruction unit 41 extracts measurable landmarks (step S11), and instructs the movement control unit 10 to turn the robot body 360 degrees around a predetermined position.

すると、移動制御部10は、ロボット本体の旋回前に車輪内のギアによるバックラッシュを除去する動作を行う(ステップS12)。これにより、移動制御部10は、バックラッシュによる車輪の回転量の誤差を排除することができるため、車輪に関わるパラメータの誤差をより正確に算出することができる。   Then, the movement control part 10 performs the operation | movement which removes the backlash by the gear in a wheel before turning of a robot main body (step S12). Thereby, since the movement control part 10 can exclude the error of the rotation amount of the wheel due to the backlash, the error of the parameter relating to the wheel can be calculated more accurately.

バックラッシュ除去後、計測部20は、ロボット本体の旋回開始位置からランドマークに対して相対位置および相対方位を計測して(ステップS13)、ランドマークに対する自己のロボット位置およびロボット方位とする。   After the backlash removal, the measurement unit 20 measures the relative position and relative orientation with respect to the landmark from the turning start position of the robot body (step S13), and sets it as its own robot position and robot orientation with respect to the landmark.

そして、移動制御部10は、所定位置を中心にして、旋回開始位置からロボット本体を360度旋回させる場合に要する動作時間分、ロボット本体を旋回させる(ステップS14)。なお、移動制御部10は、例えばノミナル運動モデルを使って、記憶部50に記憶された両車輪の回転速度に基づいた動作時間を算出する。   Then, the movement control unit 10 turns the robot body for the operation time required to turn the robot body 360 degrees from the turning start position around the predetermined position (step S14). The movement control unit 10 calculates an operation time based on the rotation speeds of both wheels stored in the storage unit 50 using, for example, a nominal motion model.

ロボット本体の旋回後、計測部20は、ロボット本体の旋回終了位置からランドマークに対して相対位置および相対方位を計測して(ステップS15)、ランドマークに対する自己のロボット位置およびロボット方位とする。   After the turning of the robot body, the measuring unit 20 measures the relative position and relative direction with respect to the landmark from the turning end position of the robot body (step S15), and sets it as its own robot position and robot orientation with respect to the landmark.

引き続き、旋回後絶対座標算出部31は、旋回前後のランドマークに対する自己のロボット位置およびロボット方位と、旋回開始位置およびロボットの絶対方位とに基づき、旋回後のロボットの絶対位置および絶対方位を算出する。そして、誤差算出部32は、ロボットの旋回前後の絶対座標(絶対位置、絶対方位)の差分に基づき、車輪に関わるパラメータ内の車輪の半径に関する誤差および車輪間の距離に関する誤差をそれぞれ算出する(ステップS16)。   Subsequently, the absolute coordinate calculation unit 31 after the turn calculates the absolute position and the absolute direction of the robot after the turn based on its own robot position and robot orientation with respect to the landmarks before and after the turn, and the turn start position and the absolute direction of the robot. To do. Then, the error calculation unit 32 calculates an error related to the wheel radius and an error related to the distance between the wheels in the parameters related to the wheels based on the difference between the absolute coordinates (absolute position and absolute direction) before and after the turning of the robot ( Step S16).

また、誤差算出部32は、車輪に関わるパラメータに誤差があるか否かを判定する(ステップS17)。具体的には、誤差算出部32は、車輪に関わるパラメータ内の車輪の半径に関する誤差および車輪間の距離に関する誤差のうちいずれか一方でも誤差があるか否かを判定する。   Further, the error calculation unit 32 determines whether or not there is an error in the parameters related to the wheels (step S17). Specifically, the error calculation unit 32 determines whether there is an error in any one of an error related to a wheel radius and an error related to a distance between the wheels in a parameter related to the wheel.

そして、誤差算出部32は、車輪に関わるパラメータ内の車輪の半径に関する誤差および車輪間の距離に関する誤差のうちいずれも誤差がない場合(ステップS17No)、誤差補正処理を終了する。   Then, when there is no error in the error relating to the wheel radius and the error relating to the distance between the wheels in the parameters relating to the wheels, the error calculating unit 32 ends the error correction process.

一方、誤差算出部32は、車輪に関わるパラメータ内の車輪の半径に関する誤差および車輪間の距離に関する誤差のうちいずれか一方でも誤差がある場合(ステップS17Yes)、当該誤差が異常閾値を超えているか否かを判定する(ステップS18)。   On the other hand, if there is an error in any one of the error relating to the wheel radius and the error relating to the distance between the wheels in the parameter relating to the wheel (Yes in step S17), the error calculating unit 32 determines whether the error exceeds the abnormal threshold. It is determined whether or not (step S18).

そして、誤差算出部32は、誤差が異常閾値を超えていない場合(ステップS18No)、車輪の半径に関わる誤差e1および車輪間の距離に関わる誤差e2を前述した運動モデルに用いられる運動方程式のパラメータに反映させるように補正する(ステップS19)。   Then, when the error does not exceed the abnormal threshold (No in step S18), the error calculation unit 32 sets the error e1 related to the radius of the wheel and the error e2 related to the distance between the wheels to parameters of the equation of motion used in the above-described motion model. (Step S19).

一方、誤差算出部32は、誤差異常閾値を超えている場合(ステップS18Yes)、異常がある旨を、ロボットを管理する計算機システムに報知する(ステップS20)。   On the other hand, if the error calculation unit 32 exceeds the error abnormality threshold (Yes in step S18), the error calculation unit 32 notifies the computer system that manages the robot that there is an abnormality (step S20).

上記実施例2によれば、ロボット制御装置2は、ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を360度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始し、当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット位置及びロボット方位を計測し、計測した旋回前後に関わるロボット位置間の差分及び旋回前後に関わるロボット方位間の差分に基づき、車輪に関わるパラメータ内の車輪の半径に関する誤差および車輪間の距離に関する誤差を算出するようにした。さらに、ロボット制御装置2は、算出した誤差に基づき、車輪に関わるパラメータを補正するようにした。   According to the second embodiment, when the robot control device 2 detects a turning instruction to turn the robot body 360 degrees around a predetermined position from the turning start position of the robot body, the robot control device 2 moves the robot body. In response to the rotation of the wheel, the robot body starts to turn, and the position and orientation of the robot before and after the turn of the robot body is measured and measured with reference to a mark at a position away from the robot body. Based on the difference between the robot positions before and after the turn and the difference between the robot orientations before and after the turn, an error related to the wheel radius and an error related to the distance between the wheels in the parameters related to the wheel were calculated. Further, the robot controller 2 corrects the parameters related to the wheels based on the calculated error.

かかる構成によれば、ロボット制御装置2は、ロボット本体を360度旋回させてロボット本体の位置等を計測しているため、旋回前後のロボット本体の位置が近似し、旋回前後の計測条件の変動も小さく済むこととなる。そのため、ロボット制御装置2は、ロボットの車輪に関わるパラメータの誤差を正確に算出することができ、オドメトリによる自己位置推定の調整精度を向上させることができる。   According to such a configuration, since the robot control device 2 rotates the robot body 360 degrees and measures the position of the robot body, the position of the robot body before and after the rotation approximates, and the measurement conditions before and after the turn vary. Will be small. Therefore, the robot control device 2 can accurately calculate the error of the parameter related to the robot wheel, and can improve the adjustment accuracy of the self-position estimation by odometry.

また、ロボット制御装置2は、ロボットの車輪に関わるパラメータの誤差を自動的に算出することができ、その後、当該パラメータを補正することによりオドメトリによる自己位置推定の調整を効率的に行うことができる。   Further, the robot control device 2 can automatically calculate an error of a parameter related to the wheel of the robot, and then can efficiently adjust self-position estimation by odometry by correcting the parameter. .

さらに、ロボット制御装置2は、ロボットを360度旋回させる場所と目印とがあれば、車輪に関わるパラメータの誤差を調整することができるため、ロボットを直進させて当該誤差を調整するよりも場所を選ばないで容易に調整することができる。   Furthermore, since the robot controller 2 can adjust the error of the parameters related to the wheels if there is a place where the robot turns 360 degrees and the mark, the robot control device 2 can set the place rather than moving the robot straight and adjusting the error. It can be easily adjusted without choosing.

なお、上記実施例2においては、移動制御部10は、ロボットから離間した位置を中心にして、ロボット本体を360度旋回させるようにした。しかし、移動制御部10は、ロボット本体の2つの車輪間の中央位置を中心にして、ロボット本体を360度旋回させるようにしても同様の効果が得られることは言うまでもない。   In the second embodiment, the movement control unit 10 rotates the robot body 360 degrees around the position separated from the robot. However, it goes without saying that the same effect can be obtained even if the movement control unit 10 turns the robot body 360 degrees around the central position between the two wheels of the robot body.

また、上記実施例2においては、パラメータ誤差補正指示部41は、ロボット本体を360度旋回させる旋回指示を行うものとした。しかし、パラメータ誤差補正指示部41は、誤差を拡大させるために、ロボット本体を360度複数回旋回させる旋回指示をしても同様の効果が得られることは言うまでもない。   In the second embodiment, the parameter error correction instruction unit 41 performs a turning instruction for turning the robot body 360 degrees. However, it goes without saying that the same effect can be obtained even if the parameter error correction instructing unit 41 gives a turning instruction to turn the robot body 360 degrees a plurality of times in order to increase the error.

ところで、実施例2では、車輪に関わるパラメータのうち車輪の半径および車輪間の距離に関わる誤差を算出して、算出された誤差に基づき当該車輪に関わるパラメータを補正して、オドメトリによる自己位置推定の調整精度を向上させる場合について説明した。しかし、車輪に関わるパラメータを補正した後、バックラッシュによる間隙距離(以降、「ガタ量」という。)を算出して、算出されたガタ量に基づき当該車輪の回転量を補正して、オドメトリによる自己位置推定の調整精度をさらに向上させるようにしても良く、実施例3として、以下に説明する。   By the way, in the second embodiment, an error related to the wheel radius and the distance between the wheels is calculated among the parameters related to the wheel, the parameter related to the wheel is corrected based on the calculated error, and self-position estimation by odometry is performed. The case where the adjustment accuracy is improved has been described. However, after correcting the parameters related to the wheel, the gap distance due to backlash (hereinafter referred to as “backlash amount”) is calculated, and the rotation amount of the wheel is corrected based on the calculated backlash amount. The adjustment accuracy of the self-position estimation may be further improved, which will be described below as a third embodiment.

図8は、本実施例3に係るロボット制御装置3の構成を示す機能ブロック図である。なお、図4に示すロボット制御装置2と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。   FIG. 8 is a functional block diagram illustrating the configuration of the robot control apparatus 3 according to the third embodiment. In addition, about the structure same as the robot control apparatus 2 shown in FIG. 4, the same code | symbol is attached | subjected and description about the overlapping structure and operation | movement is abbreviate | omitted.

図8に示すロボット制御装置3と実施例2に係るロボット制御装置2とが異なるところは、指示部40にガタ補正指示部42、算出部30にガタ量算出部33および補正部60にガタ量補正部62を追加した点にある。   The robot control device 3 shown in FIG. 8 and the robot control device 2 according to the second embodiment are different from each other in that the instruction unit 40 has a backlash correction instruction unit 42, the calculation unit 30 has a backlash amount calculation unit 33, and the correction unit 60 has a backlash amount. The correction unit 62 is added.

ガタ補正指示部42は、計測可能なランドマークを抽出後、ガタ量を補正部60に補正させるために、所定位置を中心にしてロボット本体を所定角度旋回させる旋回指示を移動制御部10に対して行う。なお、パラメータ誤差補正指示部41は、計測可能なランドマークを抽出できない場合には、場所を移動して計測可能なランドマークを抽出後、当該旋回指示を行う。また、ガタ補正指示部42は、車輪に関わるパラメータを補正した後、連続して旋回指示を行っても良いし、連続しないで改めて旋回指示を行っても良い。   The play correction instruction unit 42 extracts a measurable landmark and then gives a turn instruction to the movement control unit 10 to turn the robot body around a predetermined position by a predetermined angle in order to cause the correction unit 60 to correct the play amount. Do it. If the measurable landmark cannot be extracted, the parameter error correction instructing unit 41 performs the turn instruction after extracting the measurable landmark by moving the place. Further, the backlash correction instruction unit 42 may continuously give a turn instruction after correcting the parameters related to the wheels, or may give a turn instruction again without being continued.

移動制御部10は、旋回指示をガタ補正指示部42から取得すると、車輪内の第1ギア部および第2ギア部同士を噛合わせて第1ギア部および第2ギア部をロボット本体の任意方向にゆっくりと回転させて、第1ギア部の任意方向側の噛合部位と第2ギア部の噛合部位とが完全に接触した状態にする。   When the movement control unit 10 obtains the turning instruction from the backlash correction instruction unit 42, the first gear unit and the second gear unit in the wheel mesh with each other to move the first gear unit and the second gear unit in any direction of the robot body. And the meshing part of the first gear part on the arbitrary direction side and the meshing part of the second gear part are in complete contact with each other.

また、移動制御部10は、旋回指示に応じてロボット本体を旋回させるために必要な両車輪の回転速度を記憶部50から読み出す。また、移動制御部10は、記憶部50から読み出された両車輪の回転速度に基づいて、所定位置を中心にロボット本体を所定角度旋回させる場合に要する動作時間を算出する。この動作時間の算出は、例えばノミナル運動モデルを使って算出される。   Further, the movement control unit 10 reads from the storage unit 50 the rotational speeds of both wheels necessary for turning the robot body according to the turning instruction. Further, the movement control unit 10 calculates an operation time required for turning the robot main body by a predetermined angle around a predetermined position based on the rotation speeds of both wheels read from the storage unit 50. This operation time is calculated using, for example, a nominal motion model.

なお、移動制御部10はガタ量の算出を目的としてロボット本体を旋回させるため、所定角度は所定位置を中心に例えば1度から2度程度であれば良い。また、所定位置は、ロボット本体の2つの車輪間の中央を示すロボット中心とするが、これに限定されるものではない。   Since the movement control unit 10 turns the robot body for the purpose of calculating the backlash, the predetermined angle may be about 1 to 2 degrees, for example, with the predetermined position as the center. The predetermined position is the robot center indicating the center between the two wheels of the robot body, but is not limited to this.

また、移動制御部10は、ロボット本体の旋回前(任意方向にゆっくり回転させた後)および旋回後にロボット本体の位置および方位を計測するように計測部20に指示する。   In addition, the movement control unit 10 instructs the measurement unit 20 to measure the position and orientation of the robot body before turning (after slowly rotating in an arbitrary direction) and after turning.

さらに、移動制御部10は、任意方向にゆっくり回転させた後の旋回開始位置からロボット中心を中心にして、算出された動作時間分、ロボット本体を旋回させる。   Further, the movement control unit 10 turns the robot main body for the calculated operation time from the turning start position after slowly rotating in an arbitrary direction around the robot center.

ガタ量算出部33は、計測部20によって計測された旋回前後のランドマークに対する自己のロボット方位および旋回開始位置でのロボットの絶対方位に基づき、旋回後のロボットの絶対方位を算出する。   The play amount calculation unit 33 calculates the absolute azimuth of the robot after the turn based on the own robot azimuth with respect to the landmarks before and after the turn measured by the measurement unit 20 and the absolute azimuth of the robot at the turn start position.

また、ガタ量算出部33は、算出されたロボットの旋回前後の絶対方位の差分に基づき、ガタ量を算出する。   Further, the backlash amount calculation unit 33 calculates a backlash amount based on the calculated difference in absolute azimuth before and after the turning of the robot.

ここで、ガタ量の算出方法について、図9を参照して説明する。図9は、ガタ量を算出する方法を示す図である。   Here, a method for calculating the backlash will be described with reference to FIG. FIG. 9 is a diagram illustrating a method for calculating the backlash amount.

まず、移動制御部10は、ロボット中心を旋回中心に、ロボット本体の車輪内の第1ギア部aおよび第2ギア部bをA1方向にゆっくり回転させて、第1ギア部aのA1方向側の噛合部位と第2ギア部bの噛合部位とが完全に接触した状態にする。この状態でのロボット本体の絶対座標G(x0、、θ)を、旋回開始位置の絶対座標(0、0、0)とする。 First, the movement control unit 10 slowly rotates the first gear part a and the second gear part b in the wheels of the robot main body in the A1 direction with the robot center as the turning center, and the A1 direction side of the first gear part a. The meshing part and the meshing part of the second gear part b are brought into full contact with each other. The absolute coordinates G 0 (x 0, y 0 , θ 0 ) of the robot body in this state are set as the absolute coordinates ( 0, 0 , 0 ) of the turning start position.

次に、旋回開始位置から旋回前のロボット本体のランドマークに対する相対位置および相対方位が、計測部20によって計測され、相対座標M(xm0、ym、θm)として定義される。 Next, the relative position and relative orientation of the robot body before turning from the turning start position to the landmark are measured by the measuring unit 20 and defined as relative coordinates M 0 (x m0, ym 0 , θm 0 ).

さらに、移動制御部10は、ロボット中心を旋回中心に、旋回開始位置からA1方向と反対方向A2に角度θ旋回させる場合に要する動作時間分旋回させる。そして、旋回後のロボット本体のランドマークに対する相対位置および相対方位が、計測部20によって計測され、相対座標M(xm1、ym、θm)として定義される。 Furthermore, the movement control unit 10, the rotation center of the robot center, operating pivot time required when the angle θ is c pivot from the turning start position and in the opposite direction A2 A1 direction. Then, the relative position and relative orientation of the robot body after turning with respect to the landmark are measured by the measurement unit 20 and defined as relative coordinates M 1 (x m1, ym 1 , θm 1 ).

ロボット本体の旋回前後の相対座標MおよびMおよび旋回前のロボット本体の絶対座標Gに基づいて、旋回後のロボット本体の絶対座標Gが算出される。なお、旋回後のロボット本体の絶対座標の算出方法は、前述した「旋回後のロボット本体の絶対座標を算出する方法」と同様であるため、その説明を省略する。 Based on the relative coordinates M 0 and M 1 before and after turning of the robot body and the absolute coordinate G 0 of the robot body before turning, the absolute coordinate G 1 of the robot body after turning is calculated. The method for calculating the absolute coordinates of the robot main body after turning is the same as the above-described “method for calculating the absolute coordinates of the robot main body after turning”, and thus the description thereof is omitted.

ここで、旋回後のロボット本体の絶対座標Gの絶対方位は、旋回前の絶対座標Gの絶対方位が「0」であることにより、旋回後の相対方位θm1と旋回前の相対方位θm0との差分と一致する。つまり、この旋回前後の相対方位の差(θm1−θm0)は、ロボット本体が実際に旋回した角度と一致することになる。その結果、旋回指示された角度θと、ロボット本体が実際に旋回した角度との差分により、ガタ量が算出される。すなわち、ガタ量eは、以下の式(29)によって表される。
=θ−(θm1−θm0)・・・(29)
Here, the absolute azimuth of the absolute coordinate G 1 of post-turning robot body by absolute direction of the absolute coordinate G 0 before rotation is "0", the relative orientation of the front pivot relative orientation theta m1 after turning This agrees with the difference with θ m0 . That is, the difference between the relative azimuths before and after the turn (θ m1 −θ m0 ) matches the angle at which the robot body actually turns. As a result, the backlash amount is calculated based on a difference between the angle θ c instructed to turn and the angle at which the robot body actually turns. That is, amount of play e 3 is expressed by the following equation (29).
e 3 = θ c − (θ m1 −θ m0 ) (29)

図8に戻って、ガタ量算出部33は、算出したガタ量を記憶部50に格納する。   Returning to FIG. 8, the backlash amount calculation unit 33 stores the calculated backlash amount in the storage unit 50.

ガタ量補正部62は、車輪の回転速度に変化があったとき、ガタ量算出部33によって算出されたガタ量に基づき、車輪の回転量を補正する。具体的には、ガタ量補正部62は、車輪の回転速度の回転方向が反対方向に変化したとき、記憶部50によって記憶されたガタ量を車輪の回転量に加算してロボット本体の軌道を補正する。   When there is a change in the rotation speed of the wheel, the backlash amount correction unit 62 corrects the rotation amount of the wheel based on the backlash amount calculated by the backlash amount calculation unit 33. Specifically, the play amount correction unit 62 adds the play amount stored in the storage unit 50 to the wheel rotation amount when the rotation direction of the rotation speed of the wheel changes in the opposite direction, thereby changing the trajectory of the robot body. to correct.

次に、実施例3に係るロボット制御装置のガタ量補正手順を、図10を参照して説明する。図10は、実施例3に係るロボット制御装置のガタ量補正手順を示すフローチャートである。なお、ステップS21〜S25は、ガタ量を算出する手順を説明し、ステップS26〜S28は、ガタ量を補正する手順を説明する。   Next, the play amount correction procedure of the robot control apparatus according to the third embodiment will be described with reference to FIG. FIG. 10 is a flowchart illustrating the play amount correction procedure of the robot control apparatus according to the third embodiment. Steps S21 to S25 describe the procedure for calculating the backlash amount, and steps S26 to S28 describe the procedure for correcting the backlash amount.

まず、ガタ補正指示部42は、車輪に関わるパラメータを補正した後、計測可能なランドマークを抽出して(ステップS21)、所定位置を中心にしてロボット本体を所定角度旋回させるように移動制御部10に指示する。なお、所定角度は所定位置を中心に例えば1度から2度程度であれば良い。また、所定位置は、ロボット本体の2つの車輪間の中央を示すロボット中心とするが、これに限定されるものではない。   First, the backlash correction instruction unit 42 corrects the parameters related to the wheels, then extracts measurable landmarks (step S21), and moves the control unit so that the robot body turns around a predetermined position by a predetermined angle. Instruct 10. The predetermined angle may be, for example, about 1 to 2 degrees around the predetermined position. The predetermined position is the robot center indicating the center between the two wheels of the robot body, but is not limited to this.

すると、移動制御部10が所定角度の旋回前にロボット本体を任意方向にゆっくり回転させる。そして、計測部20は、回転後の旋回開始位置からランドマークに対して相対位置および相対方位を計測して(ステップS22)、ランドマークに対する自己のロボット位置およびロボット方位とする。なお、所定角度の旋回前に任意方向にゆっくり回転させるのは、第1ギア部の任意方向側の噛合部位と第2ギア部の噛合部位とが完全に接触した状態にするためである。   Then, the movement control unit 10 slowly rotates the robot body in an arbitrary direction before turning at a predetermined angle. Then, the measurement unit 20 measures the relative position and relative orientation with respect to the landmark from the turning start position after rotation (step S22), and sets the robot position and orientation as its own robot with respect to the landmark. Note that the reason why the rotation is slowly performed in an arbitrary direction before turning at a predetermined angle is to make the engagement portion on the arbitrary direction side of the first gear portion completely contact with the engagement portion of the second gear portion.

引き続き、移動制御部10は、所定位置を中心にして旋回開始位置から任意方向と反対方向に所定角度旋回させる場合に要する動作時間分、ロボット本体を旋回させる(ステップS23)。   Subsequently, the movement control unit 10 turns the robot body for an operation time required for turning at a predetermined angle from the turning start position in a direction opposite to an arbitrary direction around the predetermined position (step S23).

ロボット本体の旋回後、計測部20は、ロボット本体の旋回終了位置からランドマークに対して相対位置および相対方位を計測して(ステップS24)、ランドマークに対する自己のロボット位置およびロボット方位とする。   After the turning of the robot body, the measuring unit 20 measures the relative position and relative direction with respect to the landmark from the turning end position of the robot body (step S24), and sets it as its own robot position and robot orientation with respect to the landmark.

引き続き、ガタ量算出部33は、旋回前後のランドマークに対する自己のロボット方位と旋回開始位置のロボットの絶対方位とに基づき、旋回後のロボットの絶対方位を算出する。さらに、ガタ量算出部33は、ロボットの旋回前後の絶対方位の差分に基づき、ガタ量を算出して(ステップS25)、記憶部50に格納する。   Subsequently, the play amount calculation unit 33 calculates the absolute azimuth of the robot after the turn based on the robot azimuth with respect to the landmarks before and after the turn and the absolute azimuth of the robot at the turn start position. Further, the backlash amount calculation unit 33 calculates a backlash amount based on the difference in absolute azimuth before and after turning of the robot (step S25) and stores it in the storage unit 50.

その後、車輪の回転速度に変化があったとき、ガタ量補正部62は、車輪の回転速度の回転方向に変化があるか否かを判定する(ステップS26)。そして、ガタ量補正部62は、車輪の回転速度の回転方向に変化がある場合には(ステップS26Yes)、記憶部50によって記憶されたガタ量を車輪の回転量に加算して、ロボット本体の軌道を補正して(ステップS27)、ステップS28に遷移する。   Thereafter, when there is a change in the rotational speed of the wheel, the backlash correction unit 62 determines whether or not there is a change in the rotational direction of the rotational speed of the wheel (step S26). When there is a change in the rotational direction of the rotational speed of the wheel (Yes at Step S26), the backlash amount correcting unit 62 adds the backlash amount stored in the storage unit 50 to the rotational amount of the wheel, The trajectory is corrected (step S27), and the process proceeds to step S28.

一方、ガタ量補正部62は、車輪の回転速度の回転方向に変化がない場合には(ステップS26No)、モータ制御部(図示せず)に速度指令を指示する(ステップS28)。   On the other hand, when there is no change in the rotational direction of the rotational speed of the wheel (No at Step S26), the backlash amount correcting unit 62 instructs a speed command to a motor control unit (not shown) (Step S28).

上記実施例3によれば、ロボット制御装置3は、車輪に関わるパラメータの補正後、車輪内の第1ギア部および第2ギア部を任意方向にロボット本体を回転させて、回転後の旋回開始位置からロボット中心を中心としてロボット本体を任意方向と反対方向に所定角度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット方位を計測し、計測した旋回前後に関わるロボット方位間の差分に基づき、第1ギア部の噛合部分および第2ギア部の噛合部分同士の間隙距離(ガタ量)を算出するようにした。さらに、ロボット制御装置3は、車輪の回転方向と反対方向に車輪を回転させた場合、算出されたガタ量を車輪の回転量に加算して補正するようにした。   According to the third embodiment, the robot control device 3 starts the turning after the rotation by rotating the robot body in an arbitrary direction with the first gear portion and the second gear portion in the wheel after correcting the parameters relating to the wheel. When a turn instruction for turning the robot body by a predetermined angle in a direction opposite to an arbitrary direction from the position is detected, the robot body starts turning, and a mark at a position away from the robot body is used as a reference. The robot orientation related to before and after turning of the robot body is measured, and based on the difference between the measured robot orientations before and after turning, the gap distance between the meshing portion of the first gear portion and the meshing portion of the second gear portion (backlash amount) ) Was calculated. Further, the robot controller 3 corrects the calculated play amount by adding the calculated play amount to the wheel rotation amount when the wheel is rotated in a direction opposite to the wheel rotation direction.

かかる構成によれば、ロボット制御装置3は、オドメトリによる自己位置推定に関わる誤差となるガタ量を補正することにより、さらに自己位置推定の調整精度を向上させることができる。   According to such a configuration, the robot control device 3 can further improve the adjustment accuracy of the self-position estimation by correcting the backlash amount that is an error related to the self-position estimation by odometry.

また、ロボット制御装置3は、仮に所定角度がロボット中心を中心に0度に近い角度であれば旋回前後のロボット本体の位置が近似することになり、旋回前後の計測条件の変動も小さく済むことになる。そのため、ロボット制御装置3は、自己位置推定に関わる誤差となるガタ量を正確に算出することができ、オドメトリによる自己位置推定の調整精度を向上させることができる。   In addition, if the predetermined angle is close to 0 degrees with respect to the center of the robot, the robot controller 3 approximates the position of the robot body before and after the turn, and fluctuations in measurement conditions before and after the turn can be reduced. become. Therefore, the robot control device 3 can accurately calculate the amount of backlash that is an error related to self-position estimation, and can improve the adjustment accuracy of self-position estimation by odometry.

さらに、ロボット制御装置3は、ガタ量を自動的に算出することができ、その後、算出されたガタ量を補正することによりオドメトリによる自己位置推定の調整を効率的に行うことができる。   Further, the robot control device 3 can automatically calculate the amount of play, and then can efficiently adjust the self-position estimation by odometry by correcting the calculated amount of play.

また、ロボット制御装置3は、ロボットをロボット中心に旋回させる場所と目印とがあれば、ガタ量を算出することができるため、仮にロボットを直進させてガタ量を算出するよりも場所を選ばないで容易に調整することができる。   Further, the robot control device 3 can calculate the amount of play if there is a place and a mark for turning the robot around the center of the robot. Therefore, the robot control device 3 can select a place rather than calculating the amount of play by moving the robot straight. Can be easily adjusted.

以上、上記実施例によって本発明の技術的思想の範囲が限定されるものではなく、特許請求の範囲に記載した技術的範囲の範囲を逸脱しない限り、各種様々な実施例が実施可能であることは言うまでもない。また、本実施例に記載した効果は、これに限定されるものではない。   As described above, the scope of the technical idea of the present invention is not limited by the above-described embodiments, and various embodiments can be implemented without departing from the scope of the technical scope described in the claims. Needless to say. Moreover, the effect described in the present Example is not limited to this.

また、図示したロボット制御装置1〜3の各構成要素は機能概念的に記載したものであって、必ずしも物理的に図示のように構成されるものではなく、そのロボット制御装置1〜3の具体的な態様は図示のものに限縮されるものでは到底ないことは言うまでもない。   The components of the robot control devices 1 to 3 shown in the figure are conceptually described, and are not necessarily physically configured as shown. Needless to say, the specific embodiment is not limited to that shown in the drawings.

なお、ロボット制御装置1〜3にて行われる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。   The processing functions performed by the robot control devices 1 to 3 are all or any part of a micro processing unit such as a CPU (Central Processing Unit) (or MPU (Micro Processing Unit) or MCU (Micro Controller Unit). -It is implement | achieved by the program analyzed and executed by the said computer (or microcomputers, such as MPU and MCU), or may be implement | achieved as hardware by a wired logic.

また、ロボット制御装置1〜3にて行われる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行させるために、コンピュータ読み取り可能な記録媒体に記録されるものであっても良く、この場合でも、上記実施例と同様の効果が得られることは言うまでもない。   The processing functions performed by the robot control devices 1 to 3 are all or some of the processing functions, such as a CPU (Central Processing Unit) (or MPU (Micro Processing Unit), MCU (Micro Controller Unit), etc.). The computer may be recorded on a computer-readable recording medium so as to be analyzed and executed by the CPU (or a microcomputer such as an MPU or MCU). Needless to say, similar effects can be obtained.

以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。   The following additional remarks are disclosed regarding the embodiment according to the above example.

(付記1)ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を旋回前後の位置が近似した位置となるように所定角度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始する移動制御部と、
当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する計測部と、
前記計測部にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わる誤差を算出する算出部と
を有することを特徴とするロボット制御装置。
(Supplementary note 1) When a turning instruction for turning the robot main body by a predetermined angle from the turning start position of the robot main body to a position approximate to the position before and after the turning is detected, the robot main body is moved. A movement control unit for starting the turning of the robot body according to the rotational movement of the two wheels;
A measurement unit that measures a robot position and a robot orientation related to before and after turning of the robot body with reference to a mark located at a position away from the robot body;
A calculation unit that calculates an error related to the wheel based on a difference between robot positions related to before and after the turn measured by the measurement unit and a difference between robot orientations related to before and after the turn. Control device.

(付記2)前記移動制御部は、
前記旋回開始位置から所定位置を中心にして、前記ロボット本体を360度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、
前記算出部は、
前記計測部にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わるパラメータ内の複数の要素のうち、少なくとも前記車輪の半径または車輪間の距離に関わる誤差を算出することを特徴とする付記1に記載のロボット制御装置。
(Appendix 2) The movement control unit
When a turning instruction for turning the robot body 360 degrees around a predetermined position from the turning start position is detected, the robot body starts turning.
The calculation unit includes:
Based on the difference between the robot positions related before and after the turn measured by the measurement unit and the difference between the robot orientations before and after the turn, at least the radius of the wheel or the plurality of elements in the parameters related to the wheel The robot control device according to appendix 1, wherein an error related to a distance between wheels is calculated.

(付記3)前記算出部にて算出した前記誤差に基づき、前記車輪に関わるパラメータを補正する補正部を有することを特徴とする付記1または付記2に記載のロボット制御装置。 (Supplementary Note 3) The robot control device according to Supplementary Note 1 or 2, wherein the robot control device includes a correction unit that corrects a parameter related to the wheel based on the error calculated by the calculation unit.

(付記4)前記移動制御部は、
前記旋回開始位置から前記所定位置を中心にして、前記ロボット本体を複数回360度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始することを特徴とする付記1から付記3のいずれか1つに記載のロボット制御装置。
(Appendix 4) The movement control unit
Any one of appendix 1 to appendix 3, wherein when a turning instruction for turning the robot body 360 degrees a plurality of times around the predetermined position from the turning start position is detected, turning of the robot body is started. The robot control apparatus according to one.

(付記5)前記算出部にて算出した前記誤差が異常閾値を超えた場合、前記車輪の異常を報知する報知部を有することを特徴とする付記1から付記4のいずれか1つに記載のロボット制御装置。 (Additional remark 5) It has an alerting | reporting part which alert | reports the abnormality of the said wheel when the said error calculated in the said calculation part exceeds an abnormality threshold value, It is any one of the additional remarks 1 to 4 characterized by the above-mentioned. Robot control device.

(付記6)前記移動制御部は、
前記ロボット本体の旋回を開始する前に、前記車輪内の第1ギア部および第2ギア部同士を噛合して前記第1ギア部および前記第2ギア部を正転方向に回転させて、前記第1ギア部の前記正転方向側の噛合部位と当該第2ギアの噛合部位とが完全に接触した状態で、前記ロボット本体の旋回を開始することを特徴とする付記1から付記5のいずれか1つに記載のロボット制御装置。
(Appendix 6) The movement control unit
Before starting the turning of the robot body, the first gear portion and the second gear portion in the wheel are meshed with each other, the first gear portion and the second gear portion are rotated in the forward rotation direction, Any one of appendix 1 to appendix 5 characterized in that the robot body starts turning in a state in which the meshing portion of the first gear portion on the forward rotation direction side and the meshing portion of the second gear are completely in contact with each other. The robot control apparatus as described in any one.

(付記7)前記移動制御部は、
前記ロボット本体の旋回を開始する前に、前記第1ギア部および前記第2ギア部を正転方向と反対方向に回転させて、回転後の前記旋回開始位置から所定位置を中心として前記ロボット本体を前記正転方向に前記所定角度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、
前記算出部は、
前記計測部にて計測した前記所定角度の旋回前後のロボット方位に基づき、前記第1ギア部の噛合部分および前記第2ギア部の噛合部分同士の間隙距離を算出することを特徴とする付記6に記載のロボット制御装置。
(Appendix 7) The movement control unit
Before starting the turning of the robot body, the robot body rotates the first gear part and the second gear part in the direction opposite to the normal rotation direction, and the robot body is centered on a predetermined position from the turning start position after the rotation. When the turn instruction to turn the predetermined angle in the forward rotation direction is detected, the robot body starts turning.
The calculation unit includes:
The gap distance between the meshing part of the first gear part and the meshing part of the second gear part is calculated on the basis of the robot azimuth before and after turning at the predetermined angle measured by the measurement part. The robot control device described in 1.

(付記8)前記所定位置は、
前記ロボット本体の2つの車輪間の中央であることを特徴とする付記7に記載のロボット制御装置。
(Appendix 8) The predetermined position is:
The robot control device according to appendix 7, wherein the robot control device is in the center between two wheels of the robot body.

(付記9)前記正転方向と反対方向に前記車輪を回転させた場合、前記算出部にて算出した前記間隙距離を前記車輪の回転量に加算して補正する補正部を有することを特徴とする付記7または付記8に記載のロボット制御装置。 (Additional remark 9) When the said wheel is rotated in the direction opposite to the said normal rotation direction, it has a correction | amendment part which adds and correct | amends the said clearance distance calculated in the said calculation part to the rotation amount of the said wheel, It is characterized by the above-mentioned. The robot controller according to appendix 7 or appendix 8.

(付記10)ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を旋回前後の位置が近似した位置となるように所定角度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始する移動制御手順と、
当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する計測手順と、
前記計測手順にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わる誤差を算出する算出手順と
をコンピュータに実行させることを特徴とするロボット制御プログラム。
(Supplementary Note 10) When a turning instruction for turning the robot main body by a predetermined angle from the turning start position of the robot main body to a position approximate to the position before and after the turning is detected, the robot main body is moved. A movement control procedure for starting the turning of the robot body according to the rotational movement of the two wheels;
A measurement procedure for measuring a robot position and a robot orientation related to before and after turning of the robot body with reference to a mark located at a position away from the robot body;
Causing the computer to execute a calculation procedure for calculating an error relating to the wheel based on the difference between the robot positions related to before and after the turn measured in the measurement procedure and the difference between the robot orientations related to before and after the turn. A robot control program.

(付記11)前記移動制御手順は、
前記旋回開始位置から所定位置を中心にして、前記ロボット本体を360度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、
前記算出手順は、
前記計測手順にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わるパラメータ内の複数の要素のうち、少なくとも前記車輪の半径または車輪間の距離に関わる誤差を算出することを特徴とする付記10に記載のロボット制御プログラム。
(Supplementary Note 11) The movement control procedure is as follows:
When a turning instruction for turning the robot body 360 degrees around a predetermined position from the turning start position is detected, the robot body starts turning.
The calculation procedure is as follows:
Based on the difference between the robot positions related to before and after the turn measured in the measurement procedure and the difference between the robot orientations before and after the turn, at least the radius of the wheel or the plurality of elements in the parameters related to the wheel The robot control program according to appendix 10, wherein an error relating to a distance between wheels is calculated.

(付記12)前記算出手順にて算出した前記誤差に基づき、前記車輪に関わるパラメータを補正する補正手順を含むことを特徴とする付記10または付記11に記載のロボット制御プログラム。 (Additional remark 12) The robot control program according to additional remark 10 or additional remark 11 characterized by including the correction procedure which corrects the parameter concerning the wheel based on the error computed by the calculation procedure.

(付記13)前記移動制御手順は、
前記旋回開始位置から前記所定位置を中心にして、前記ロボット本体を複数回360度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始することを特徴とする付記10から付記12のいずれか1つに記載のロボット制御プログラム。
(Supplementary Note 13) The movement control procedure is as follows.
Any one of appendix 10 to appendix 12, wherein when a turn instruction for turning the robot body a plurality of 360 degrees around the predetermined position from the turning start position is detected, the robot body starts to turn. The robot control program according to one.

(付記14)前記算出手順にて算出した前記誤差が異常閾値を超えた場合、前記車輪の異常を報知する報知手順を含むことを特徴とする付記10から付記13のいずれか1つに記載のロボット制御プログラム。 (Supplementary note 14) According to any one of supplementary note 10 to supplementary note 13, including a notification procedure for notifying the abnormality of the wheel when the error calculated in the calculation procedure exceeds an abnormality threshold. Robot control program.

(付記15)前記移動制御手順は、
前記ロボット本体の旋回を開始する前に、前記車輪内の第1ギア部および第2ギア部同士を噛合して前記第1ギア部および前記第2ギア部を正転方向に回転させて、前記第1ギア部の前記正転方向側の噛合部位と当該第2ギアの噛合部位とが完全に接触した状態で、前記ロボット本体の旋回を開始することを特徴とする付記10から付記14のいずれか1つに記載のロボット制御プログラム。
(Supplementary Note 15) The movement control procedure is as follows.
Before starting the turning of the robot body, the first gear portion and the second gear portion in the wheel are meshed with each other, the first gear portion and the second gear portion are rotated in the forward rotation direction, Any one of Supplementary Note 10 to Supplementary Note 14, wherein the robot main body starts turning in a state where the meshing portion of the first gear portion on the forward rotation direction side and the meshing portion of the second gear are in complete contact with each other. The robot control program according to any one of the above.

(付記16)前記移動制御手順は、
前記ロボット本体の旋回を開始する前に、前記第1ギア部および前記第2ギア部を正転方向と反対方向に回転させて、回転後の前記旋回開始位置から所定位置を中心として前記ロボット本体を前記正転方向に前記所定角度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、
前記算出手順は、
前記計測手順にて計測した前記所定角度の旋回前後のロボット方位に基づき、前記第1ギア部の噛合部分および前記第2ギア部の噛合部分同士の間隙距離を算出することを特徴とする付記15に記載のロボット制御プログラム。
(Supplementary Note 16) The movement control procedure is as follows.
Before starting the turning of the robot body, the robot body rotates the first gear part and the second gear part in the direction opposite to the normal rotation direction, and the robot body is centered on a predetermined position from the turning start position after the rotation. When the turn instruction to turn the predetermined angle in the forward rotation direction is detected, the robot body starts turning.
The calculation procedure is as follows:
The gap distance between the meshing portion of the first gear portion and the meshing portion of the second gear portion is calculated based on the robot orientation before and after the turn of the predetermined angle measured in the measurement procedure. The robot control program described in 1.

(付記17)前記所定位置は、
前記ロボット本体の2つの車輪間の中央であることを特徴とする付記16に記載のロボット制御プログラム。
(Supplementary Note 17) The predetermined position is:
The robot control program according to appendix 16, wherein the program is the center between two wheels of the robot body.

(付記18)前記正転方向と反対方向に前記車輪を回転させた場合、前記算出手順にて算出した前記間隙距離を前記車輪の回転量に加算して補正する補正手順を有することを特徴とする付記16または付記17に記載のロボット制御プログラム。 (Additional remark 18) When the said wheel is rotated in the direction opposite to the said normal rotation direction, it has the correction | amendment procedure which adds and correct | amends the said gap | interval distance calculated in the said calculation procedure to the rotation amount of the said wheel, It is characterized by the above-mentioned. The robot control program according to appendix 16 or appendix 17.

(付記19)コンピュータが2輪駆動のロボットを制御するロボット制御方法であって、
ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を旋回前後の位置が近似した位置となるように所定角度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始する移動制御工程と、
当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する計測工程と、
前記計測工程にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わる誤差を算出する算出工程と
を含むことを特徴とするロボット制御方法。
(Supplementary note 19) A robot control method in which a computer controls a two-wheel drive robot,
When a turning instruction for turning the robot main body by a predetermined angle from the turning start position of the robot main body to a predetermined position so that the position before and after the turning is approximated is detected, the two wheels that move the robot main body are detected. A movement control step for starting the turning of the robot body according to the rotation operation;
A measurement process for measuring a robot position and a robot orientation related to before and after turning of the robot body, with reference to a mark located at a position away from the robot body,
A calculation step of calculating an error related to the wheel based on a difference between the robot positions related to before and after the turn measured in the measurement step and a difference between the robot orientations related to before and after the turn. Control method.

(付記20)前記移動制御工程は、
前記旋回開始位置から所定位置を中心にして、前記ロボット本体を360度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、
前記算出工程は、
前記計測工程にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わるパラメータ内の複数の要素のうち、少なくとも前記車輪の半径または車輪間の距離に関わる誤差を算出することを特徴とする付記19に記載のロボット制御方法。
(Supplementary note 20) The movement control step includes:
When a turning instruction for turning the robot body 360 degrees around a predetermined position from the turning start position is detected, the robot body starts turning.
The calculation step includes
Based on the difference between the robot positions related before and after the turn measured in the measurement step and the difference between the robot orientations before and after the turn, at least the radius of the wheel or the plurality of elements in the parameters related to the wheel 20. The robot control method according to appendix 19, wherein an error related to a distance between wheels is calculated.

(付記21)前記算出工程にて算出した前記誤差に基づき、前記車輪に関わるパラメータを補正する補正工程を含むことを特徴とする付記19または付記20に記載のロボット制御方法。 (Supplementary note 21) The robot control method according to supplementary note 19 or supplementary note 20, which includes a correction step of correcting a parameter related to the wheel based on the error calculated in the calculation step.

(付記22)前記移動制御工程は、
前記旋回開始位置から前記所定位置を中心にして、前記ロボット本体を複数回360度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始することを特徴とする付記19から付記21のいずれか1つに記載のロボット制御方法。
(Supplementary Note 22) The movement control step includes:
Any one of Supplementary Note 19 to Supplementary Note 21, wherein when a turning instruction for turning the robot body a plurality of 360 degrees around the predetermined position from the turning start position is detected, turning of the robot body is started. The robot control method according to one.

(付記23)前記算出工程にて算出した前記誤差が異常閾値を超えた場合、前記車輪の異常を報知する報知工程を含むことを特徴とする付記19から付記22のいずれか1つに記載のロボット制御方法。 (Additional remark 23) When the said error calculated at the said calculation process exceeds the abnormality threshold value, the alerting | reporting process of alerting | reporting the abnormality of the said wheel is included, The additional description 19 to Additional remark 22 characterized by the above-mentioned. Robot control method.

(付記24)前記移動制御工程は、
前記ロボット本体の旋回を開始する前に、前記車輪内の第1ギア部および第2ギア部同士を噛合して前記第1ギア部および前記第2ギア部を正転方向に回転させて、前記第1ギア部の前記正転方向側の噛合部位と当該第2ギアの噛合部位とが完全に接触した状態で、前記ロボット本体の旋回を開始することを特徴とする付記19から付記23のいずれか1つに記載のロボット制御方法。
(Supplementary Note 24) The movement control step includes:
Before starting the turning of the robot body, the first gear portion and the second gear portion in the wheel are meshed with each other, the first gear portion and the second gear portion are rotated in the forward rotation direction, Any one of appendix 19 to appendix 23, wherein the robot body starts turning in a state where the meshing portion of the first gear portion on the forward rotation direction side and the meshing portion of the second gear are completely in contact with each other. The robot control method according to claim 1.

(付記25)前記移動制御工程は、
前記ロボット本体の旋回を開始する前に、前記第1ギア部および前記第2ギア部を正転方向と反対方向に回転させて、回転後の前記旋回開始位置から所定位置を中心として前記ロボット本体を前記正転方向に前記所定角度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、
前記算出工程は、
前記計測工程にて計測した前記所定角度の旋回前後のロボット方位に基づき、前記第1ギア部の噛合部分および前記第2ギア部の噛合部分同士の間隙距離を算出することを特徴とする付記24に記載のロボット制御方法。
(Supplementary Note 25) The movement control step includes:
Before starting the turning of the robot body, the robot body rotates the first gear part and the second gear part in the direction opposite to the normal rotation direction, and the robot body is centered on a predetermined position from the turning start position after the rotation. When the turn instruction to turn the predetermined angle in the forward rotation direction is detected, the robot body starts turning.
The calculation step includes
The gap distance between the meshing part of the first gear part and the meshing part of the second gear part is calculated on the basis of the robot orientation before and after turning at the predetermined angle measured in the measurement step. The robot control method described in 1.

(付記26)前記所定位置は、
前記ロボット本体の2つの車輪間の中央であることを特徴とする付記25に記載のロボット制御方法。
(Supplementary Note 26) The predetermined position is:
26. The robot control method according to appendix 25, wherein the robot control method is in the center between two wheels of the robot body.

(付記27)前記正転方向と反対方向に前記車輪を回転させた場合、前記算出工程にて算出した前記間隙距離を前記車輪の回転量に加算して補正する補正工程を含むことを特徴とする付記25または付記26に記載のロボット制御方法。 (Additional remark 27) When the said wheel is rotated in the direction opposite to the said normal rotation direction, the correction process which adds and correct | amends the said gap | interval distance calculated at the said calculation process to the rotation amount of the said wheel is characterized by the above-mentioned. The robot control method according to appendix 25 or appendix 26.

1、2、3 ロボット制御装置
10 移動制御部
20 計測部
30 算出部
31 旋回後絶対座標算出部
32 誤差算出部
33 ガタ量算出部
40 指示部
41 パラメータ誤差補正指示部
42 ガタ補正指示部
50 記憶部
60 補正部
61 パラメータ補正部
62 ガタ量補正部
70 報知部
1, 2, 3 Robot control device 10 Movement control unit 20 Measurement unit 30 Calculation unit 31 Post-turning absolute coordinate calculation unit 32 Error calculation unit 33 Backlash amount calculation unit 40 Instruction unit 41 Parameter error correction instruction unit 42 Backlash correction instruction unit 50 Storage Unit 60 correction unit 61 parameter correction unit 62 backlash amount correction unit 70 notification unit

Claims (7)

ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を旋回前後の位置が近似した位置となるように所定角度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始する移動制御部と、
当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する計測部と、
前記計測部にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わる誤差を算出する算出部と
を有することを特徴とするロボット制御装置。
When a turning instruction for turning the robot main body by a predetermined angle from the turning start position of the robot main body to a predetermined position so that the position before and after the turning is approximated is detected, the two wheels that move the robot main body are detected. A movement control unit for starting the turning of the robot body according to the rotation operation;
A measurement unit that measures a robot position and a robot orientation related to before and after turning of the robot body with reference to a mark located at a position away from the robot body;
A calculation unit that calculates an error related to the wheel based on a difference between robot positions related to before and after the turn measured by the measurement unit and a difference between robot orientations related to before and after the turn. Control device.
前記移動制御部は、
前記旋回開始位置から所定位置を中心にして、前記ロボット本体を360度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、
前記算出部は、
前記計測部にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わるパラメータ内の複数の要素のうち、少なくとも前記車輪の半径または車輪間の距離に関わる誤差を算出することを特徴とする請求項1に記載のロボット制御装置。
The movement control unit
When a turning instruction for turning the robot body 360 degrees around a predetermined position from the turning start position is detected, the robot body starts turning.
The calculation unit includes:
Based on the difference between the robot positions related before and after the turn measured by the measurement unit and the difference between the robot orientations before and after the turn, at least the radius of the wheel or the plurality of elements in the parameters related to the wheel The robot control apparatus according to claim 1, wherein an error related to a distance between the wheels is calculated.
前記算出部にて算出した前記誤差に基づき、前記車輪に関わるパラメータを補正する補正部を有することを特徴とする請求項1または請求項2に記載のロボット制御装置。   The robot control apparatus according to claim 1, further comprising a correction unit that corrects a parameter related to the wheel based on the error calculated by the calculation unit. 前記移動制御部は、
前記ロボット本体の旋回を開始する前に、前記車輪内の第1ギア部および第2ギア部同士を噛合して前記第1ギア部および前記第2ギア部を正転方向に回転させて、前記第1ギア部の前記正転方向側の噛合部位と当該第2ギアの噛合部位とが完全に接触した状態で、前記ロボット本体の旋回を開始することを特徴とする請求項1から請求項3のいずれか1つに記載のロボット制御装置。
The movement control unit
Before starting the turning of the robot body, the first gear portion and the second gear portion in the wheel are meshed with each other, the first gear portion and the second gear portion are rotated in the forward rotation direction, 4. The turning of the robot main body is started in a state where the meshing portion of the first gear portion on the forward rotation direction side and the meshing portion of the second gear are completely in contact with each other. The robot control device according to any one of the above.
前記移動制御部は、
前記ロボット本体の旋回を開始する前に、前記第1ギア部および前記第2ギア部を正転方向と反対方向に回転させて、回転後の前記旋回開始位置から所定位置を中心として前記ロボット本体を前記正転方向に前記所定角度旋回させる旋回指示を検出すると、当該ロボット本体の旋回を開始し、
前記算出部は、
前記計測部にて計測した前記所定角度の旋回前後のロボット方位に基づき、前記第1ギア部の噛合部分および前記第2ギア部の噛合部分同士の間隙距離を算出することを特徴とする請求項4に記載のロボット制御装置。
The movement control unit
Before starting the turning of the robot body, the robot body rotates the first gear part and the second gear part in the direction opposite to the normal rotation direction, and the robot body is centered on a predetermined position from the turning start position after the rotation. When the turn instruction to turn the predetermined angle in the forward rotation direction is detected, the robot body starts turning.
The calculation unit includes:
The gap distance between the meshing portion of the first gear portion and the meshing portion of the second gear portion is calculated based on the robot orientation before and after the turn of the predetermined angle measured by the measurement unit. 4. The robot control device according to 4.
ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を旋回前後の位置が近似した位置となるように所定角度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始する移動制御手順と、
当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する計測手順と、
前記計測手順にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わる誤差を算出する算出手順と
をコンピュータに実行させることを特徴とするロボット制御プログラム。
When a turning instruction for turning the robot main body by a predetermined angle from the turning start position of the robot main body to a predetermined position so that the position before and after the turning is approximated is detected, the two wheels that move the robot main body are detected. A movement control procedure for starting the turning of the robot body according to the rotation operation;
A measurement procedure for measuring a robot position and a robot orientation related to before and after turning of the robot body with reference to a mark located at a position away from the robot body;
Causing the computer to execute a calculation procedure for calculating an error relating to the wheel based on the difference between the robot positions related to before and after the turn measured in the measurement procedure and the difference between the robot orientations related to before and after the turn. A robot control program.
コンピュータが2輪駆動のロボットを制御するロボット制御方法であって、
ロボット本体の旋回開始位置から所定位置を中心にして、当該ロボット本体を旋回前後の位置が近似した位置となるように所定角度旋回させる旋回指示を検出すると、当該ロボット本体を移動させる2つの車輪の回転動作に応じて、当該ロボット本体の旋回を開始する移動制御工程と、
当該ロボット本体から離間した位置にある目印を基準にして、当該ロボット本体の旋回前後に関わるロボット位置およびロボット方位を計測する計測工程と、
前記計測工程にて計測した前記旋回前後に関わるロボット位置間の差分および前記旋回前後に関わるロボット方位間の差分に基づき、前記車輪に関わる誤差を算出する算出工程と
を含むことを特徴とするロボット制御方法。
A robot control method in which a computer controls a two-wheel drive robot,
When a turning instruction for turning the robot main body by a predetermined angle from the turning start position of the robot main body to a predetermined position so that the position before and after the turning is approximated is detected, the two wheels that move the robot main body are detected. A movement control step for starting the turning of the robot body according to the rotation operation;
A measurement step for measuring a robot position and a robot orientation related to before and after turning of the robot body, with reference to a mark located at a position away from the robot body;
A calculation step of calculating an error related to the wheel based on a difference between the robot positions related to before and after the turn measured in the measurement step and a difference between the robot orientations related to before and after the turn. Control method.
JP2009152957A 2009-06-26 2009-06-26 Robot control apparatus, robot control program, and robot control method Expired - Fee Related JP5487756B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009152957A JP5487756B2 (en) 2009-06-26 2009-06-26 Robot control apparatus, robot control program, and robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009152957A JP5487756B2 (en) 2009-06-26 2009-06-26 Robot control apparatus, robot control program, and robot control method

Publications (2)

Publication Number Publication Date
JP2011008637A true JP2011008637A (en) 2011-01-13
JP5487756B2 JP5487756B2 (en) 2014-05-07

Family

ID=43565188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009152957A Expired - Fee Related JP5487756B2 (en) 2009-06-26 2009-06-26 Robot control apparatus, robot control program, and robot control method

Country Status (1)

Country Link
JP (1) JP5487756B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108372518A (en) * 2018-01-08 2018-08-07 浙江立石机器人技术有限公司 Robot turning error scaling method, apparatus and system
CN112230653A (en) * 2020-09-24 2021-01-15 北京旷视机器人技术有限公司 Method and device for determining driving wheel parameters and automatic navigation vehicle

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111515916A (en) * 2020-04-29 2020-08-11 广州高新兴机器人有限公司 Method and device for calibrating errors of front steering system of robot

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6281166A (en) * 1985-10-03 1987-04-14 Data Iisuto Kk Method for driving scanning head
JPS62140784A (en) * 1985-12-17 1987-06-24 フアナツク株式会社 Backlash compensator for robot
JPS6320508A (en) * 1986-07-14 1988-01-28 Tsubakimoto Chain Co Guiding method for autonomous running car
JP2000121357A (en) * 1998-10-19 2000-04-28 Sumitomo Heavy Ind Ltd Position measuring instrument for moving body
WO2004103649A1 (en) * 2003-05-20 2004-12-02 Fujitsu Limited Method for controlling backlash compensation, backlash compensation controller and program for controlling backlash compensation
US20050192721A1 (en) * 2004-02-27 2005-09-01 Jouppi Norman P. Mobile device control system
JP2006252349A (en) * 2005-03-11 2006-09-21 Secom Co Ltd Mobile robot
JP2006349399A (en) * 2005-06-14 2006-12-28 Yaskawa Electric Corp Azimuthal angle measuring instrument and movable body
JP2007156576A (en) * 2005-11-30 2007-06-21 Mitsubishi Heavy Ind Ltd Method and device for adjusting odometry(wheel range finder) parameter for traveling carrier
JP2007322138A (en) * 2006-05-30 2007-12-13 Toyota Motor Corp Moving device, and own position estimation method for moving device
JP2008250589A (en) * 2007-03-30 2008-10-16 Equos Research Co Ltd Wheel radius estimation device
JP2008290184A (en) * 2007-05-24 2008-12-04 Fujitsu Ltd Correcting robot system and correcting method of distance sensor
JP2010003240A (en) * 2008-06-23 2010-01-07 Fujitsu Ltd Rescue robot system, rescue method, and rescue robot

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6281166A (en) * 1985-10-03 1987-04-14 Data Iisuto Kk Method for driving scanning head
JPS62140784A (en) * 1985-12-17 1987-06-24 フアナツク株式会社 Backlash compensator for robot
JPS6320508A (en) * 1986-07-14 1988-01-28 Tsubakimoto Chain Co Guiding method for autonomous running car
JP2000121357A (en) * 1998-10-19 2000-04-28 Sumitomo Heavy Ind Ltd Position measuring instrument for moving body
WO2004103649A1 (en) * 2003-05-20 2004-12-02 Fujitsu Limited Method for controlling backlash compensation, backlash compensation controller and program for controlling backlash compensation
US20050192721A1 (en) * 2004-02-27 2005-09-01 Jouppi Norman P. Mobile device control system
JP2006252349A (en) * 2005-03-11 2006-09-21 Secom Co Ltd Mobile robot
JP2006349399A (en) * 2005-06-14 2006-12-28 Yaskawa Electric Corp Azimuthal angle measuring instrument and movable body
JP2007156576A (en) * 2005-11-30 2007-06-21 Mitsubishi Heavy Ind Ltd Method and device for adjusting odometry(wheel range finder) parameter for traveling carrier
JP2007322138A (en) * 2006-05-30 2007-12-13 Toyota Motor Corp Moving device, and own position estimation method for moving device
JP2008250589A (en) * 2007-03-30 2008-10-16 Equos Research Co Ltd Wheel radius estimation device
JP2008290184A (en) * 2007-05-24 2008-12-04 Fujitsu Ltd Correcting robot system and correcting method of distance sensor
JP2010003240A (en) * 2008-06-23 2010-01-07 Fujitsu Ltd Rescue robot system, rescue method, and rescue robot

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108372518A (en) * 2018-01-08 2018-08-07 浙江立石机器人技术有限公司 Robot turning error scaling method, apparatus and system
CN112230653A (en) * 2020-09-24 2021-01-15 北京旷视机器人技术有限公司 Method and device for determining driving wheel parameters and automatic navigation vehicle

Also Published As

Publication number Publication date
JP5487756B2 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
EP3078459B1 (en) Robot controlling method, robot apparatus, program and recording medium
JP5912627B2 (en) Imaging inspection apparatus, control apparatus and control method thereof
JP6493570B2 (en) Electric power steering device
JP2017124455A (en) Robot device, robot control method, program and record medium
US10814481B2 (en) Robot system for performing learning control by using motor encoder and sensor
JP2008059218A (en) Method for restoring self-position of autonomously traveling robot
JP4635971B2 (en) External force detection method, manipulator control method, and manipulator control system
JP5487756B2 (en) Robot control apparatus, robot control program, and robot control method
US11161697B2 (en) Work robot system and work robot
CN111409632A (en) Vehicle control method and device, computer equipment and storage medium
JP2008183690A (en) Robot control device and system
JP5338968B2 (en) Steering control device
EP4028311A1 (en) Drift stabilization system and method for vehicles and trailer reverse assist systems while straight line backing of trailer
CN111634331A (en) Steering control method, device and system for automatic driving vehicle
CN112388602B (en) Calibration method, device and equipment of mobile robot
US9270209B2 (en) Servo apparatus, and controlling method of servo apparatus
JP2019077026A5 (en)
JP2010110878A (en) Articulated robot device and method for controlling the same
CN110837257A (en) AGV composite positioning navigation system based on iGPS and vision
JP2020006469A (en) Automatic machine and controller
JP2007007804A (en) Method of detecting abnormality of position measuring means and direction measuring means of autonomous moving robot, and autonomous moving robot
JP2636675B2 (en) Guidance tracking device
JP5381039B2 (en) Articulated manipulator tip position control method and articulated manipulator
US20170060103A1 (en) Robot control device for controlling motor-driven robot
CN114001656B (en) Detection error correction method and device for optical displacement detection device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5487756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees