JP2007257200A - Mobile body and control method for it - Google Patents

Mobile body and control method for it Download PDF

Info

Publication number
JP2007257200A
JP2007257200A JP2006079505A JP2006079505A JP2007257200A JP 2007257200 A JP2007257200 A JP 2007257200A JP 2006079505 A JP2006079505 A JP 2006079505A JP 2006079505 A JP2006079505 A JP 2006079505A JP 2007257200 A JP2007257200 A JP 2007257200A
Authority
JP
Japan
Prior art keywords
moving body
speed
straight traveling
traveling speed
constant
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.)
Pending
Application number
JP2006079505A
Other languages
Japanese (ja)
Inventor
Yoshiaki Asahara
佳昭 朝原
Kazuhiro Mima
一博 美馬
Hidenori Yabushita
英典 藪下
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2006079505A priority Critical patent/JP2007257200A/en
Publication of JP2007257200A publication Critical patent/JP2007257200A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a mobile body capable of moving smoothly and a control method for it. <P>SOLUTION: This control method for the mobile body for performing feedback control on movement of the mobile body following a target route is provided with steps for: estimating a positional attitude of the mobile body (a step S102); deciding a turning speed based on the estimated positional attitude and the target route (a step S103), deciding a straight traveling speed of the mobile body from the decided turning speed for keeping kinetic energy of the mobile body constant (a step S104); and controlling a drive mechanism for the mobile body based on the decided turning speed and straight traveling speed. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、移動体及びその制御方法に関し、特に詳しくは目標経路に対して追従する移動体、及びその制御方法に関する。   The present invention relates to a moving body and a control method thereof, and more particularly to a moving body that follows a target route and a control method thereof.

従来より、ロボットや車両等の移動体を目標経路に対して自動追従させる技術が提案されている。例えば、目標経路に対する、移動体の位置の横ずれ量や方位角のずれ量をフィードバック制御することによって自動追従する技術がある。このような、自律型の移動体では、移動開始位置から目標位置までの目標経路を計画している。そして、移動体は、フィードバック制御されながら、目標経路に追従して移動する。   2. Description of the Related Art Conventionally, techniques for automatically moving a moving body such as a robot or a vehicle to a target route have been proposed. For example, there is a technique of automatically following a feedback control of a lateral deviation amount or an azimuth angle deviation amount of a moving body with respect to a target route. In such an autonomous moving body, a target route from the movement start position to the target position is planned. The moving body moves following the target route while being feedback controlled.

このような、自律型の移動体の一例として、2輪車両が挙げられる。2輪車両等の移動体に対する移動制御は、通常、直線移動と、曲線移動とを組み合わせて行なわれる。したがって、直進速度と、旋回速度(角速度)を入力して移動させる方法が一般に使用される。このような旋回速度は、通常、フィードバックから求められる。また、直進速度vは、一定速度として求められている。さらに、目標経路に追従して移動する場合において、曲線部分を安定して移動するために、遠心力が所定のしきい値以下となるよう直進速度を求める技術が開示されている(特許文献1参照)。すなわち、上記の文献では、非ホロノミック2輪型ロボットにおいて、直進速度vを求める指標として、遠心力による制限を加えている。   An example of such an autonomous moving body is a two-wheeled vehicle. Movement control for a moving body such as a two-wheeled vehicle is usually performed by combining linear movement and curved movement. Therefore, a method of moving by inputting a straight traveling speed and a turning speed (angular speed) is generally used. Such a turning speed is usually obtained from feedback. Further, the straight traveling speed v is obtained as a constant speed. Furthermore, in the case of moving following a target route, a technique for obtaining a straight traveling speed so that the centrifugal force becomes a predetermined threshold value or less is disclosed in order to move the curved portion stably (Patent Document 1). reference). That is, in the above-mentioned document, in the non-holonomic two-wheeled robot, a limitation due to centrifugal force is added as an index for obtaining the straight traveling speed v.

特開平11−327641号公報JP-A-11-327641

上記の技術における直進速度vの算出方法について説明する。移動ロボットに加わる遠心力は、f=mvωとして示される。なお、mは移動ロボットの質量、ωは移動ロボットの旋回速度である。なお、曲率κは、旋回速度ωより算出することができる。   A method of calculating the straight traveling speed v in the above technique will be described. The centrifugal force applied to the mobile robot is shown as f = mvω. Here, m is the mass of the mobile robot, and ω is the turning speed of the mobile robot. The curvature κ can be calculated from the turning speed ω.

そして、mvω≦fmaxとして遠心力がしきい値以内となるように設定する。これにより、直進速度vに対する制限は、v≦fmax/mωで与えられる。そして、直進速度の最大値をvmaxとすると、vmax=min(v,fmax/mω)で与えられる。ここで、vは予め設定された値である。そして、移動体は、vmaxの直進速度で移動する。このように、直進速度vがfmax/mωを超えてしまうときは、直進速度vがvとなるよう制限を設けている。 Then, mvω ≦ f max is set so that the centrifugal force is within the threshold value. Thereby, the restriction on the straight traveling speed v is given by v ≦ f max / mω. When the maximum value of the straight traveling speed is v max , v max = min (v 0 , f max / mω) is given. Here, v 0 is a preset value. Then, the moving body moves at a straight speed of v max . Thus, when the straight traveling speed v exceeds f max / mω, a restriction is provided so that the straight traveling speed v becomes v 0 .

このようにして算出された直進速度vと旋回速度ωの関係を図11に示す。この従来技術では、直進速度vに対して遠心力による制限を加えている。しかしながら、この技術では、図11の点線に示すように、加速度が不連続になる。そのため、移動を滑らかにすることができない。すなわち、ω=fmax/mvを境にして、加速度が急激に変化してしまう。このように、従来の技術では、スムーズに移動することができないという問題点がある。 FIG. 11 shows the relationship between the straight speed v calculated in this way and the turning speed ω. In this prior art, the linear velocity v is limited by centrifugal force. However, in this technique, the acceleration becomes discontinuous as shown by the dotted line in FIG. Therefore, the movement cannot be made smooth. That is, the acceleration changes abruptly at ω = f max / mv 0 as a boundary. Thus, the conventional technique has a problem that it cannot move smoothly.

本発明は、かかる課題を解決するためになされたものであり、スムーズに移動することができる移動体、及びその制御方法を提供することを目的とする。   The present invention has been made to solve such a problem, and an object thereof is to provide a moving body that can move smoothly and a control method thereof.

本発明の第1の態様にかかる移動体は、目標経路に対して追従するようフィードバック制御を行う制御部を有する移動体であって、前記制御部が、前記移動体の位置姿勢を推定する位置姿勢推定部と、前記位置姿勢推定部で推定された位置姿勢と前記目標経路とに基づいて、旋回速度を決定する旋回速度決定部と、前記移動体の運動エネルギーが一定となるよう、前記旋回速度決定部で決定された旋回速度から前記移動体の直進速度を決定する直進速度決定部と、前記旋回速度決定部により決定された旋回速度と、前記直進速度決定部により決定された直進速度とに基づいて、前記移動体の駆動機構を制御する駆動制御部と、を備えるものである。これにより、スムーズな移動が可能となる。   The moving body according to the first aspect of the present invention is a moving body having a control unit that performs feedback control so as to follow a target path, and the control unit estimates a position and orientation of the moving body. A posture estimation unit, a turning speed determination unit that determines a turning speed based on the position and posture estimated by the position and posture estimation unit, and the target path, and the turning so that the kinetic energy of the moving body becomes constant A straight-ahead speed determining unit that determines a straight-ahead speed of the moving body from a turning speed determined by the speed-determining unit; a turning speed determined by the turning-speed determining unit; and a straight-ahead speed determined by the straight-ahead speed determining unit; And a drive control unit for controlling the drive mechanism of the moving body. Thereby, smooth movement becomes possible.

本発明の第2の態様にかかる移動体は、上記の移動体において、前記直進速度決定部が、数式3を満たすよう、前記直進速度を決定し、数式3の左辺で示される移動体の運動エネルギーが定数Cで一定となるものである。

Figure 2007257200
(ここで、mは移動体の質量、Iは移動体の慣性モーメント、ωは移動体の旋回速度、vは移動体の直進速度、Cは定数である。)
これにより、スムーズな移動を簡便に制御することができる。 In the mobile body according to the second aspect of the present invention, in the mobile body described above, the linear travel speed determination unit determines the straight travel speed so as to satisfy Formula 3, and the motion of the mobile body represented by the left side of Formula 3 The energy is constant at a constant C.
Figure 2007257200
(Where m is the mass of the moving body, I is the moment of inertia of the moving body, ω is the turning speed of the moving body, v is the straight traveling speed of the moving body, and C is a constant.)
Thereby, smooth movement can be controlled easily.

本発明の第3の態様にかかる移動体は、上記の移動体において、前記旋回速度決定部で決定した旋回速度によらず前記移動体の運動エネルギーが一定となるよう、前記直進速度決定部が前記直進速度を決定するものである。これにより、スムーズな移動を簡便に制御することができる。   In the mobile body according to the third aspect of the present invention, in the mobile body described above, the rectilinear speed determining unit is configured so that the kinetic energy of the mobile body is constant regardless of the turning speed determined by the turning speed determining unit. The straight speed is determined. Thereby, smooth movement can be controlled easily.

本発明の第4の態様にかかる移動体は、上記の移動体において、前記旋回速度決定部で決定した旋回速度が一定の範囲内にある場合に、前記移動体の運動エネルギーが一定となるよう、前記直進速度決定部が前記直進速度を決定するものである。これにより、従来に比べて、スムーズに移動させることができる。   In the mobile body according to the fourth aspect of the present invention, in the above mobile body, when the turning speed determined by the turning speed determination unit is within a certain range, the kinetic energy of the mobile body becomes constant. The straight traveling speed determination unit determines the straight traveling speed. Thereby, it can move smoothly compared with the past.

本発明の第5の態様にかかる移動体は、上記の移動体において、前記旋回速度が前記一定の範囲外にある場合に、前記移動体の遠心力が一定となるよう、前記直進速度決定部が前記直進速度を決定するものである。これにより、移動速度を高くした場合でも、スムーズに移動させることができる。   The moving body according to the fifth aspect of the present invention is the above-described moving body, wherein the straight traveling speed determining unit is configured such that when the turning speed is outside the certain range, the centrifugal force of the moving body is constant. Determines the straight speed. Thereby, even when the movement speed is increased, the movement can be performed smoothly.

本発明の第6の態様にかかる移動体は、上記の移動体において、所定のタスクを実行するタスク処理機構をさらに備え、前記タスクを実行する前後の質量変化に応じて前記移動体の質量を変化させた状態で、前記運動エネルギーを一定とするよう前記直進速度を決定するものである。これにより、質量が変化した場合でも、スムーズに移動させることができる。   A moving body according to a sixth aspect of the present invention further includes a task processing mechanism for executing a predetermined task in the above moving body, and the mass of the moving body is determined in accordance with a mass change before and after executing the task. The straight traveling speed is determined so that the kinetic energy is constant in the changed state. Thereby, even when mass changes, it can be moved smoothly.

本発明の第7の態様にかかる移動体は、上記の移動体において、前記タスクを実行した後の状態と実行する前の状態とで、前記運動エネルギーが異なる値で一定になるよう前記直進速度を決定するものである。これにより、よりスムーズに移動させることができる。   The moving body according to a seventh aspect of the present invention is the above moving body, wherein the linear velocity is such that the kinetic energy is constant at different values in a state after the task is executed and a state before the task is executed. Is to determine. Thereby, it can be moved more smoothly.

本発明の第8の態様にかかる移動体の制御方法は、目標経路に対して追従する移動体の移動をフィードバック制御する制御方法であって、前記移動体の位置姿勢を推定するステップと、前記推定された位置姿勢と前記目標経路とに基づいて、旋回速度を決定するステップと、前記移動体の運動エネルギーが一定となるよう、前記決定された旋回速度から前記移動体の直進速度を決定するステップと、前記決定された旋回速度と、前記決定された直進速度とに基づいて、前記移動体の駆動機構を制御するステップと、を備えるものである。これにより、スムーズな移動が可能となる。   A control method for a mobile object according to an eighth aspect of the present invention is a control method for feedback control of the movement of a mobile object that follows a target route, the step of estimating the position and orientation of the mobile object, A step of determining a turning speed based on the estimated position and orientation and the target route, and a straight traveling speed of the moving body is determined from the determined turning speed so that the kinetic energy of the moving body becomes constant. And a step of controlling a drive mechanism of the moving body based on the determined turning speed and the determined straight traveling speed. Thereby, smooth movement becomes possible.

本発明の第9の態様にかかる移動体の制御方法は、上記の制御方法において、前記直進速度を決定するステップでは、数式4を満たすよう、前記直進速度を決定し、数式4の左辺で示される移動体の運動エネルギーが定数Cで一定となるものである。

Figure 2007257200
(ここで、mは移動体の質量、Iは移動体の慣性モーメント、ωは移動体の旋回速度、vは移動体の直進速度、Cは定数である。)
これにより、スムーズな移動を簡便に制御することができる。 According to a ninth aspect of the present invention, in the method for controlling a moving body according to the above control method, in the step of determining the straight traveling speed, the straight traveling speed is determined so as to satisfy the mathematical formula 4, The kinetic energy of the moving body is constant C.
Figure 2007257200
(Where m is the mass of the moving body, I is the moment of inertia of the moving body, ω is the turning speed of the moving body, v is the straight traveling speed of the moving body, and C is a constant.)
Thereby, smooth movement can be controlled easily.

本発明の第10の態様にかかる移動体の制御方法は、上記の制御方法において、前記直進速度を決定するステップでは、前記決定した旋回速度によらず、前記移動体の運動エネルギーが一定となるよう前記直進速度を決定するものである。これにより、スムーズな移動を簡便に制御することができる。   According to a tenth aspect of the present invention, in the control method for a moving body in the above control method, in the step of determining the straight traveling speed, the kinetic energy of the moving body is constant regardless of the determined turning speed. Thus, the straight speed is determined. Thereby, smooth movement can be controlled easily.

本発明の第11の態様にかかる移動体の制御方法は、上記の制御方法において、前記直進速度を決定するステップでは、前記決定した旋回速度が一定の範囲内にある場合に、前記移動体の運動エネルギーが一定となるよう前記直進速度を決定するものである。これにより、従来に比べて、スムーズに移動させることができる。   According to an eleventh aspect of the present invention, there is provided a method for controlling a moving body according to the above control method, wherein in the step of determining the straight traveling speed, the determined turning speed is within a certain range. The straight traveling speed is determined so that the kinetic energy is constant. Thereby, it can move smoothly compared with the past.

本発明の第12の態様にかかる移動体の制御方法は、上記の制御方法において、前記直進速度を決定するステップでは、前記旋回速度が前記一定の範囲外にある場合に、前記移動体の遠心力が一定になるよう、前記直進速度を決定するものである。これにより、移動速度を高くした場合でも、スムーズに移動させることができる。   According to a twelfth aspect of the present invention, there is provided a control method for a moving body according to the above control method, wherein in the step of determining the straight traveling speed, if the turning speed is outside the predetermined range, the mobile body is centrifuged. The straight traveling speed is determined so that the force is constant. Thereby, even when the movement speed is increased, the movement can be performed smoothly.

本発明の第13の態様にかかる移動体の制御方法は、上記の制御方法において、所定のタスクを実行するステップをさらに備え、前記タスクを実行する前後の質量変化に応じて前記移動体の質量を変化させた状態で、前記運動エネルギーを一定とするよう前記直進速度を決定するものである。これにより、質量が変化させた場合であっても、スムーズに移動させることができる。   A control method for a moving body according to a thirteenth aspect of the present invention further includes a step of executing a predetermined task in the control method described above, wherein the mass of the mobile body is changed according to a mass change before and after executing the task. The straight-advancing speed is determined so that the kinetic energy is constant in a state in which is changed. Thereby, even if it is a case where mass is changed, it can be moved smoothly.

本発明の第14の態様にかかる移動体の制御方法は、上記の制御方法において、前記タスクを実行した後の状態と実行する前の状態とで、前記運動エネルギーが異なる値で一定になるよう前記直進速度を決定するものである。これにより、よりスムーズに移動させることができる。   A mobile body control method according to a fourteenth aspect of the present invention is the above control method, wherein the kinetic energy is constant at different values between a state after the task is executed and a state before the task is executed. The straight speed is determined. Thereby, it can be moved more smoothly.

本発明によれば、スムーズに移動することができる移動体、及びその制御方法を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the mobile body which can move smoothly and its control method can be provided.

発明の実施の形態1.
本実施の形態にかかる移動体について図1を用いて説明する。図1(a)は、本実施の形態にかかる移動体の構成を模式的に示す上面図であり、図1(b)は本実施の形態にかかる移動体の構成を模式的に示す側面図である。10は移動体、11は車体、12は駆動輪、13は受動輪、14は駆動機構、15は制御部である。本実施の形態では、移動体10を対向2輪型の車輪移動ロボットとして説明する。
Embodiment 1 of the Invention
A moving body according to the present embodiment will be described with reference to FIG. FIG. 1A is a top view schematically showing the configuration of the moving body according to the present embodiment, and FIG. 1B is a side view schematically showing the configuration of the moving body according to the present embodiment. It is. Reference numeral 10 denotes a moving body, 11 denotes a vehicle body, 12 denotes driving wheels, 13 denotes passive wheels, 14 denotes a driving mechanism, and 15 denotes a control unit. In the present embodiment, the moving body 10 is described as an opposed two-wheeled wheel moving robot.

移動体10は、非ホロノミックな2輪型自律移動体であり、誤差フィードバックを用いて目標経路に追従している。すなわち、移動体の現在の位置姿勢と、目標経路との間の位置姿勢誤差に基づいて、フィードバック制御がなされる。ここで、位置姿勢とは、位置、及び姿勢(方位)を示すものである。すなわち、移動体10の位置が座標に対応し、姿勢が進行方向に対応している。従って、移動体10の進行方向に応じて、姿勢が変化する。なお、姿勢については、横方向(左右方向)のみを考えてもよく、鉛直方向に対する傾斜度合いを含めてもよい。移動体10は、非ホロノミックの移動ロボットであるため、力学系の拘束条件に速度を含み、時間に対して可積分ではない。車体11の側面下方には、駆動輪12が設けられている。駆動輪12は、車体11の対向する側面にそれぞれ設けられている。車体11の前方中央部には、キャスタ等の受動輪13が設けられている。2つの駆動輪12は、モータ等を有する駆動機構14によって、独立して回転する。すなわち、駆動機構14が左右の駆動輪12を回転させることによって、移動体10が移動する。2つの駆動輪12は、それぞれ異なる駆動機構14に接続されている。したがって、駆動輪12を異なる回転方向、回転速度で回転させることにより、移動体10の移動方向、移動速度を制御することができる。具体的には、駆動輪12を同じ方向、異なる速度で回転させることにより、移動体10の移動方向が変化しながら、移動する。すなわち、2つの駆動輪12の距離、及び回転速度の差に応じて、移動体10がカーブしながら移動する。また、駆動輪12を反対方向に同じ速度で回転させることによって、移動体10がその場で旋回する。さらに、駆動輪12を同じ方向、同じ速度で回転させることにより、移動体10が直進移動する。   The moving body 10 is a non-holonomic two-wheeled autonomous moving body, and follows a target path using error feedback. That is, feedback control is performed based on the position and orientation error between the current position and orientation of the moving body and the target route. Here, the position / orientation indicates the position and orientation (orientation). That is, the position of the moving body 10 corresponds to the coordinates, and the posture corresponds to the traveling direction. Therefore, the posture changes according to the traveling direction of the moving body 10. In addition, about an attitude | position, only the horizontal direction (left-right direction) may be considered and the inclination degree with respect to a perpendicular direction may be included. Since the moving body 10 is a non-holonomic mobile robot, the constraint condition of the dynamic system includes speed and is not integrable with respect to time. Drive wheels 12 are provided below the side surface of the vehicle body 11. The drive wheels 12 are respectively provided on opposite side surfaces of the vehicle body 11. A passive wheel 13 such as a caster is provided at the front center portion of the vehicle body 11. The two drive wheels 12 rotate independently by a drive mechanism 14 having a motor or the like. That is, the moving body 10 moves when the drive mechanism 14 rotates the left and right drive wheels 12. The two drive wheels 12 are connected to different drive mechanisms 14, respectively. Therefore, the moving direction and moving speed of the moving body 10 can be controlled by rotating the drive wheels 12 at different rotating directions and rotating speeds. Specifically, by rotating the drive wheels 12 at the same direction and at different speeds, the moving body 10 moves while changing its moving direction. That is, the moving body 10 moves while curving in accordance with the distance between the two drive wheels 12 and the difference in rotational speed. Further, by rotating the driving wheel 12 in the opposite direction at the same speed, the moving body 10 turns on the spot. Further, the moving body 10 moves straight by rotating the drive wheels 12 in the same direction and at the same speed.

制御部15は、移動体10が目標経路に追従するよう、駆動機構14を制御する。例えば、制御部15は、移動体10の現在位置姿勢、及び目標位置姿勢に基づいて目標経路を計画する。そして、制御部15は、移動体10が目標経路に追従して移動するよう、駆動機構14をフィードバック制御、あるいはフィードフォワード制御を行う。制御部15は、例えば、駆動機構14のモータ又は駆動輪12に取り付けたロータリーエンコーダや、車体11に取り付けたジャイロセンサや、レーザレンジファインダ等からの測定値に基づいて現在の位置を推定する。そして、制御部15は、推定位置に基づいてフィードバック制御を行う。これにより、駆動機構14のモータが適切な回転角度で回転する。そして、駆動輪12が回転して、移動体10が目標経路に追従して移動する。   The control unit 15 controls the drive mechanism 14 so that the moving body 10 follows the target path. For example, the control unit 15 plans a target route based on the current position and orientation of the moving body 10 and the target position and orientation. Then, the control unit 15 performs feedback control or feedforward control on the drive mechanism 14 so that the moving body 10 moves following the target path. The control unit 15 estimates the current position based on measured values from, for example, a rotary encoder attached to the motor or drive wheel 12 of the drive mechanism 14, a gyro sensor attached to the vehicle body 11, a laser range finder, or the like. Then, the control unit 15 performs feedback control based on the estimated position. As a result, the motor of the drive mechanism 14 rotates at an appropriate rotation angle. And the driving wheel 12 rotates and the mobile body 10 moves following a target path | route.

本発明の実施の形態にかかる移動体の制御部15は、例えば、車体11に搭載された演算処理装置により実現される。この演算処理装置は、例えば、中央処理装置(CPU)、ROM、RAM、ハードディスク等の記憶装置、入出力インターフェース等を備えている。ROM等の記憶装置には、オペレーティングシステムと協働してCPU等に命令を与え、アプリケーションプログラムを記録することができ、RAMにロードされることによって実行される。このアプリケーションプログラムは、本発明にかかる制御方法を実現する特有のプログラムを含む。例えば、目標経路を計画するプログラム、センサからの測定値に基づいて位置姿勢を推定するプログラム、現在の位置姿勢から旋回速度(移動体10の旋回時の角速度)及び直進速度を演算するプログラム、旋回速度及び直進速度から駆動輪12の回転速度を計算するプログラムなどを有している。制御部15による追従制御は、中央処理装置がアプリケーションプログラムをRAM上に展開した上で当該アプリケーションプログラムに従った処理を記憶装置に格納されたデータを読み出し、また格納を行なうことにより、実行される。   The control unit 15 of the moving body according to the embodiment of the present invention is realized by, for example, an arithmetic processing device mounted on the vehicle body 11. The arithmetic processing unit includes, for example, a central processing unit (CPU), a storage device such as a ROM, a RAM, and a hard disk, an input / output interface, and the like. In a storage device such as a ROM, an instruction can be given to a CPU or the like in cooperation with an operating system to record an application program, which is executed by being loaded into the RAM. This application program includes a unique program for realizing the control method according to the present invention. For example, a program for planning a target route, a program for estimating a position and orientation based on a measurement value from a sensor, a program for calculating a turning speed (angular speed during turning of the mobile body 10) and a straight traveling speed from the current position and orientation, turning A program for calculating the rotational speed of the drive wheel 12 from the speed and the straight traveling speed is included. The follow-up control by the control unit 15 is executed when the central processing unit develops the application program on the RAM, reads the data stored in the storage device, and performs processing according to the application program, and stores it. .

制御部15の構成について図3を用いて説明する。図3は、本実施の形態かかる移動体10に用いられる制御部15の構成を示すブロック図である。制御部15には、駆動制御部21と、経路生成部22と、現在位置姿勢推定部24と、旋回速度決定部26と、設定値記憶部27と、直進速度決定部28とが設けられている。   The configuration of the control unit 15 will be described with reference to FIG. FIG. 3 is a block diagram showing a configuration of the control unit 15 used in the moving body 10 according to the present embodiment. The control unit 15 includes a drive control unit 21, a route generation unit 22, a current position / orientation estimation unit 24, a turning speed determination unit 26, a set value storage unit 27, and a straight traveling speed determination unit 28. Yes.

目標となる位置姿勢が設定されると、経路生成部22は、移動体10の初期位置姿勢と目標位置姿勢とに基づいて、目標経路を生成する。すなわち、初期の位置姿勢から目標位置までの目標経路を計画する。例えば、移動体10の目標軌道となる目標経路は、しばしば座標の集合として与えられる。座標は、例えば、グリッド状に離散化されたグリッド座標で表現される。グリッド座標を利用するメリットは、最短経路探索を容易に実行できる点や、確実に目的地に到達できる経路を得ることができる点にある。しかしながら、グリッド座標において表現される目標経路は直線と直線が接続された不連続な経路であるため、移動体10がこのような経路を追従することは難しい。そのため、与えられた離散的な経路座標から、移動体10の追従制御に利用可能な滑らかな目標経路を、例えば、重み付き移動平均を利用して補間曲線を求めることにより作成することができる。このように、与えられたマップに対してグリッドを形成することによって、容易に目標経路を計画することができる。   When the target position and orientation are set, the route generation unit 22 generates a target route based on the initial position and orientation of the moving body 10 and the target position and orientation. That is, a target route from the initial position and orientation to the target position is planned. For example, the target route that is the target trajectory of the mobile object 10 is often given as a set of coordinates. The coordinates are expressed by, for example, grid coordinates discretized in a grid shape. The advantage of using the grid coordinates is that a shortest route search can be easily performed and a route that can reliably reach the destination can be obtained. However, since the target route expressed in the grid coordinates is a discontinuous route in which a straight line is connected, it is difficult for the moving body 10 to follow such a route. Therefore, a smooth target path that can be used for follow-up control of the moving body 10 can be created from given discrete path coordinates by, for example, obtaining an interpolation curve using a weighted moving average. In this way, a target route can be easily planned by forming a grid for a given map.

具体的には、例えば、グリッドマップをA*探索(エースター探索)で探索した経路を用いることができる。さらに、グリッドを結んだ線分集合を滑らかにする演算を行なっている。もちろん、上記以外の方法によって目標経路を計画してもよい。例えば、最良優先探索や山登り探索などの探索技法を用いることも可能である。   Specifically, for example, a route obtained by searching the grid map by A * search (Aester search) can be used. Furthermore, the calculation which smoothes the line segment set which connected the grid is performed. Of course, you may plan a target path | route by methods other than the above. For example, a search technique such as a best priority search or a hill-climbing search can be used.

現在位置姿勢の推定に使用されるセンサ18は、移動体10に取り付けられている。したがって、センサ18の測定値に基づいて、現在の位置姿勢が推定される。センサ18としては、例えば、駆動機構14のモータ又は駆動輪12に取り付けたロータリーエンコーダや、車体11に取り付けたジャイロセンサ等がある。さらに、環境認識センサとしてレーザレンジファインダを用いることができる。センサ18は、所定の時間間隔で測定値を制御部15の現在位置姿勢推定部24に出力する。   A sensor 18 used for estimating the current position and orientation is attached to the moving body 10. Therefore, the current position and orientation are estimated based on the measurement value of the sensor 18. Examples of the sensor 18 include a rotary encoder attached to the motor of the drive mechanism 14 or the drive wheel 12, a gyro sensor attached to the vehicle body 11, and the like. Furthermore, a laser range finder can be used as an environment recognition sensor. The sensor 18 outputs measurement values to the current position / orientation estimation unit 24 of the control unit 15 at predetermined time intervals.

現在位置姿勢推定部24は、センサ18の測定値に基づいて移動体10の現在の位置、及び姿勢を推定する。例えば、現在位置の推定には、内界センサであるロータリーエンコーダを用いることができる。ロータリーエンコーダにより左右のモータ、あるいは駆動輪12の回転数を測定する。そして、制御部15は、測定された回転数に基づいて駆動輪12の移動量を算出する。初期の位置姿勢からの移動軌跡を求めることによって、現在の推定位置姿勢を算出することができる。さらに、本実施の形態では、環境認識センサとしてレーザレンジファインダを使用している。そして、現在位置姿勢推定部24は、パーティクルフィルタを利用した自己位置推定を行なっている。なお、姿勢の推定については、ジャイロセンサなどを利用することも可能である。位置推定については、上記の方法に限られるものではない。例えば、加速度センサ、カメラなどのセンサを用いたものを使用する。もちろん、複数の種類のセンサを用いて、位置姿勢を推定してもよい。ここで、現在位置姿勢推定部24によって推定された位置姿勢を(x,y,θ)とする。   The current position / orientation estimation unit 24 estimates the current position and orientation of the moving body 10 based on the measurement value of the sensor 18. For example, the current position can be estimated using a rotary encoder that is an internal sensor. The rotational speed of the left and right motors or drive wheels 12 is measured by a rotary encoder. And the control part 15 calculates the moving amount | distance of the drive wheel 12 based on the measured rotation speed. By obtaining the movement locus from the initial position and orientation, the current estimated position and orientation can be calculated. Furthermore, in this embodiment, a laser range finder is used as an environment recognition sensor. The current position / orientation estimation unit 24 performs self-position estimation using a particle filter. Note that a gyro sensor or the like can also be used for posture estimation. The position estimation is not limited to the above method. For example, an acceleration sensor, a camera or other sensor is used. Of course, the position and orientation may be estimated using a plurality of types of sensors. Here, it is assumed that the position and orientation estimated by the current position and orientation estimation unit 24 is (x, y, θ).

制御位置姿勢算出部25では、目標経路に対する現在位置姿勢からの最寄点を算出する。そして、目標経路上の最寄点の位置を制御位置、最寄点における目標経路の方向を制御姿勢として算出する。すなわち、制御位置姿勢算出部25には、現在位置姿勢推定部24で算出された現在の位置姿勢(x,y,θ)と、経路生成部22で生成された目標経路とが入力される。そして、制御位置姿勢算出部25は、現在の位置姿勢と目標経路とに基づいて、目標経路に対する現在位置からの最寄点を探索する。この最寄点における目標経路の位置姿勢が目標位置姿勢(X,Y,Θ)となる。このように、目標位置姿勢、及び現在位置姿勢は、3つの要素を有するベクトルで示される。最寄点の探索処理については、種々の方法を用いることができるが、本例では、分割法が用いられている。なお、最寄点の算出方法については、後述する。   The control position / orientation calculation unit 25 calculates the nearest point from the current position / orientation with respect to the target route. Then, the position of the nearest point on the target route is calculated as the control position, and the direction of the target route at the nearest point is calculated as the control posture. That is, the current position and orientation (x, y, θ) calculated by the current position and orientation estimation unit 24 and the target route generated by the route generation unit 22 are input to the control position and orientation calculation unit 25. Then, the control position / orientation calculation unit 25 searches for the nearest point from the current position to the target route based on the current position / orientation and the target route. The position and orientation of the target path at this nearest point becomes the target position and orientation (X, Y, Θ). Thus, the target position and orientation and the current position and orientation are indicated by a vector having three elements. Various methods can be used for the nearest point search process. In this example, the division method is used. A method for calculating the nearest point will be described later.

旋回速度決定部26は、目標位置姿勢と現在位置姿勢とに基づいて、旋回速度(旋回角速度)を決定する。この旋回速度で移動体10が移動するよう、後述する駆動制御部21が駆動機構14を制御する。ここで、図3に示すような、移動体ロボット座標系について考える。すなわち、移動体10の位置を原点、移動体10の進行方向をx軸とする座標系について考える。また、移動体10の移動平面において、x軸と垂直な軸をy軸となる。この座標系における目標位置姿勢を図3に示すように(Δx,Δy,Δθ)とする。ここで(Δx,Δy)は、目標経路の最寄点に対する現在位置の位置誤差となる。また、Δθは、目標経路上の最寄点における姿勢と、現在姿勢との間の姿勢誤差となる。なお、図3の目標姿勢ベクトルが、制御位置姿勢、すなわち最寄点での位置姿勢を示している。   The turning speed determination unit 26 determines a turning speed (turning angular speed) based on the target position / posture and the current position / posture. A drive control unit 21 described later controls the drive mechanism 14 so that the moving body 10 moves at this turning speed. Here, consider a mobile robot coordinate system as shown in FIG. That is, consider a coordinate system in which the position of the moving body 10 is the origin and the traveling direction of the moving body 10 is the x-axis. In the moving plane of the moving body 10, the axis perpendicular to the x axis is the y axis. The target position and orientation in this coordinate system is (Δx, Δy, Δθ) as shown in FIG. Here, (Δx, Δy) is a position error of the current position with respect to the nearest point of the target route. Δθ is a posture error between the posture at the nearest point on the target route and the current posture. Note that the target posture vector in FIG. 3 indicates the control position and posture, that is, the position and posture at the nearest point.

ここで、適当なゲインKθ、K、Dθ、Dを設定すると、旋回速度ωは以下の数式5により算出することができる。 Here, when appropriate gains K θ , K y , D θ , and D y are set, the turning speed ω can be calculated by Equation 5 below.

Figure 2007257200
Figure 2007257200

なお、ゲインKθ、K、Dθ、Dは、設定値記憶部27に記憶されている。設定値記憶部27は、例えば、RAMなどの記憶装置であり、設定された値を格納する。したがって、旋回速度決定部26は、設定値記憶部27に記憶されたゲインKθ、K、Dθ、Dを参照して、位置姿勢誤差に応じた旋回速度を算出している。さらにゲインKθ、K、Dθ、Dは条件に応じて可変としてもよい。このように旋回速度決定部26は、目標位置姿勢と現在位置姿勢との誤差に基づいて、旋回速度ωを決定する。このように、旋回速度決定部26は、現在位置姿勢推定部24で推定された現在位置姿勢と目標経路の形状とに基づいて旋回速度ωを決定する。具体的には、制御位置姿勢算出部25が、現在位置姿勢に対する目標経路の最寄点を目標経路の形状に基づき算出する。そして、制御位置姿勢算出部25は、最寄点の座標、及び最寄点における目標経路の方向を制御位置姿勢として算出する。そして、旋回速度決定部26が、フィードバック制御によって、制御位置姿勢と現在位置姿勢との間の位置姿勢誤差に応じて旋回速度ωを決定する。 The gains K θ , K y , D θ , and D y are stored in the set value storage unit 27. The set value storage unit 27 is, for example, a storage device such as a RAM, and stores set values. Therefore, the turning speed determination unit 26 refers to the gains K θ , K y , D θ , and D y stored in the set value storage unit 27 and calculates the turning speed according to the position and orientation error. Furthermore, the gains K θ , K y , D θ , and D y may be variable according to conditions. In this way, the turning speed determination unit 26 determines the turning speed ω based on the error between the target position and posture and the current position and posture. In this way, the turning speed determination unit 26 determines the turning speed ω based on the current position and orientation estimated by the current position and orientation estimation unit 24 and the shape of the target route. Specifically, the control position / orientation calculation unit 25 calculates the closest point of the target route with respect to the current position / orientation based on the shape of the target route. Then, the control position and orientation calculation unit 25 calculates the coordinates of the nearest point and the direction of the target route at the nearest point as the control position and orientation. Then, the turning speed determination unit 26 determines the turning speed ω by feedback control according to the position and orientation error between the control position and orientation and the current position and orientation.

直進速度決定部28は、旋回速度決定部26で決定された旋回速度ωに基づいて、直進速度を決定する。ここで、移動体の質量をm、移動体の慣性モーメントをI、移動体の直進速度をvとすると、直進速度決定部28は以下の数式6を満たすように直進速度を算出する。   The straight speed determination unit 28 determines the straight speed based on the turning speed ω determined by the turning speed determination unit 26. Here, assuming that the mass of the moving body is m, the moment of inertia of the moving body is I, and the straight traveling speed of the moving body is v, the straight traveling speed determination unit 28 calculates the straight traveling speed so as to satisfy the following Expression 6.

Figure 2007257200
Figure 2007257200

ここで、数式6のCは任意の定数である。数式6の左辺は、直進運動による運動エネルギーmv/2と、回転運動による運動エネルギーIω/2との和である。換言すると数式6の左辺は、移動体10の運動エネルギーを示している。直進速度決定部28は、移動体10の運動エネルギーが定数Cで一定になるよう、直進速度vに制限を加えている。このように、運動エネルギー保存の法則を満たすよう、直進速度vを決定する。数式6により、直進速度vは数式7で示されることが分る。 Here, C in Expression 6 is an arbitrary constant. Left side of Equation 6, the kinetic energy mv 2/2 by the linear motion, the sum of the kinetic energy I [omega] 2/2 by the rotational motion. In other words, the left side of Equation 6 indicates the kinetic energy of the moving body 10. The straight traveling speed determination unit 28 limits the straight traveling speed v so that the kinetic energy of the moving body 10 is constant at a constant C. Thus, the straight traveling speed v is determined so as to satisfy the law of conservation of kinetic energy. From Formula 6, it can be seen that the straight traveling speed v is expressed by Formula 7.

Figure 2007257200
Figure 2007257200

このように、旋回速度ωに応じて直進速度vを決定することができる。ここで、移動体10の質量m、及び慣性モーメントIについては、移動体10の設計時のCADデータから算出することができる。すなわち、移動体10を構成する各部品の質量、及び配置に基づいて、移動体10の質量m、及び慣性モーメントIが算出される。移動体10の質量m、及び慣性モーメントIは、設定値記憶部27に記憶されている。さらに、数式6の定数Cについても設定値記憶部27に記憶されている。定数Cは、移動体10が移動時にスリップ、及び横滑りしない値に設定される。また、条件に応じて定数Cを可変とすることもできる。   Thus, the straight traveling speed v can be determined according to the turning speed ω. Here, the mass m and the moment of inertia I of the moving body 10 can be calculated from CAD data at the time of designing the moving body 10. In other words, the mass m and the moment of inertia I of the moving body 10 are calculated based on the mass and arrangement of each component constituting the moving body 10. The mass m and the moment of inertia I of the moving body 10 are stored in the set value storage unit 27. Further, the constant C in Expression 6 is also stored in the set value storage unit 27. The constant C is set to a value that prevents the mobile body 10 from slipping or skidding during movement. Also, the constant C can be made variable according to the conditions.

このように、直進速度決定部28は、旋回速度決定部26で決定された旋回速度ωと、各設定値(質量m、慣性モーメントI、及び、定数C)に基づいて直進速度vを算出する。ここで、旋回速度ωと直進速度vの関係について図4を用いて説明する。図4は、横軸を旋回速度ω、縦軸を直進速度vとしたときのグラフである。すなわち、図4は数式7を示すグラフである。なお、数式7に示されるように、直進速度vと旋回速度ωの関係を示すグラフは半分の楕円形になる。   In this way, the straight traveling speed determination unit 28 calculates the straight traveling speed v based on the turning speed ω determined by the turning speed determination unit 26 and each set value (mass m, inertia moment I, and constant C). . Here, the relationship between the turning speed ω and the straight traveling speed v will be described with reference to FIG. FIG. 4 is a graph when the horizontal axis is the turning speed ω and the vertical axis is the straight traveling speed v. That is, FIG. 4 is a graph showing Equation 7. As shown in Equation 7, the graph showing the relationship between the straight traveling speed v and the turning speed ω is a half ellipse.

数式6を満たすよう制御することにより、旋回速度ωが変化すると、直進速度vが緩やかに変化する。加速度の急激な変化を防ぐことができる。このように、直進速度決定部28は、運動エネルギーが定数Cで一定となるよう、直進速度v、及び旋回速度ωを決定している。すなわち、運動エネルギー保存の法則を満たすよう移動体10を移動させている。これにより、旋回速度ωが変化したときに、加速度が不連続になるのを防ぐことができる。したがって、駆動機構14のモータの回転速度が急激に変化するのを防止でき、移動体10を滑らかに移動させることができる。従って、エネルギー効率の改善も図ることができる。   By controlling to satisfy Expression 6, when the turning speed ω changes, the straight traveling speed v changes gently. A sudden change in acceleration can be prevented. As described above, the straight traveling speed determination unit 28 determines the straight traveling speed v and the turning speed ω so that the kinetic energy is constant at the constant C. That is, the moving body 10 is moved so as to satisfy the law of conservation of kinetic energy. Thereby, it is possible to prevent the acceleration from becoming discontinuous when the turning speed ω changes. Therefore, it is possible to prevent the rotational speed of the motor of the drive mechanism 14 from changing suddenly and to move the moving body 10 smoothly. Therefore, energy efficiency can be improved.

駆動制御部21は、駆動輪12を駆動するための駆動機構14を制御する。具体的には、旋回速度決定部26で決定された旋回速度ω、及び直進速度決定部28で決定された直進速度vに基づいて車輪回転速度を算出する。駆動制御部21は、例えば、逆運動学(I.K.)を解くことによって、左右両輪の回転速度を算出している。すなわち、駆動制御部21は、移動体10の旋回速度、及び直進速度から2つの駆動輪12の回転速度をそれぞれ算出する。そして、左右の駆動輪12の回転速度から、駆動機構14に設けられたモータの回転数、回転方向の制御を行う。すなわち、駆動制御部21は、左右の駆動機構14にそれぞれ駆動信号を出力する。これにより、移動体10が旋回速度決定部26で決定された旋回速度ω、及び直進速度決定部で決定された直進速度vで移動する。さらに、移動体10は目標経路に追従するよう移動する。このようにして、駆動制御部21は、現在の位置姿勢に基づいてフィードバック制御を行う。   The drive control unit 21 controls the drive mechanism 14 for driving the drive wheels 12. Specifically, the wheel rotation speed is calculated based on the turning speed ω determined by the turning speed determination unit 26 and the straight traveling speed v determined by the straight traveling speed determination unit 28. For example, the drive control unit 21 calculates the rotational speeds of the left and right wheels by solving inverse kinematics (IK). That is, the drive control unit 21 calculates the rotational speeds of the two drive wheels 12 from the turning speed and the straight traveling speed of the moving body 10. Then, the rotational speed and rotational direction of the motor provided in the drive mechanism 14 are controlled from the rotational speeds of the left and right drive wheels 12. That is, the drive control unit 21 outputs drive signals to the left and right drive mechanisms 14, respectively. As a result, the moving body 10 moves at the turning speed ω determined by the turning speed determination unit 26 and the straight traveling speed v determined by the straight traveling speed determination unit. Furthermore, the moving body 10 moves so as to follow the target route. In this way, the drive control unit 21 performs feedback control based on the current position and orientation.

制御部15には、例えば、位置姿勢推定プログラム、経路生成プログラム、旋回速度算出プログラム、直進速度算出プログラム、及び車輪角度算出プログラム、駆動制御プログラム等が記憶されている。そして、これらのプログラムを実行することにより、上記の処理が行われる。   The control unit 15 stores, for example, a position / orientation estimation program, a route generation program, a turning speed calculation program, a straight traveling speed calculation program, a wheel angle calculation program, a drive control program, and the like. The above processing is performed by executing these programs.

次に、本実施の形態にかかる移動体10の制御方法について、図5を用いて説明する。図5は、本実施の形態にかかる移動体10の制御方法を示すフローチャートである。まず、経路生成部22が目標経路を生成する(ステップS101)。すなわち、目標位置姿勢までの目標経路が生成される。   Next, a method for controlling the moving body 10 according to the present embodiment will be described with reference to FIG. FIG. 5 is a flowchart showing a method for controlling the moving body 10 according to the present embodiment. First, the route generation unit 22 generates a target route (step S101). That is, a target route to the target position / posture is generated.

そして、移動体10の現在位置姿勢を取得する(ステップS102)。ここでは、センサ18からの測定値に基づいて、現在位置姿勢推定部24が移動体10の現在の位置姿勢を算出する。これにより、現在位置姿勢が推定される。   Then, the current position and orientation of the moving body 10 are acquired (step S102). Here, the current position / orientation estimation unit 24 calculates the current position / orientation of the moving body 10 based on the measurement value from the sensor 18. Thereby, the current position and orientation are estimated.

さらに、制御位置姿勢算出部25が、移動体10をフィードバック制御するための制御位置姿勢を生成する(ステップS103)。すなわち、制御位置姿勢算出部25が、目標経路における現在位置姿勢推定部24で推定された現在位置姿勢からの最寄点を算出する。そして、この最寄点の位置、及び最寄点における目標経路の方向を制御位置姿勢として生成する。   Further, the control position / orientation calculation unit 25 generates a control position / orientation for performing feedback control of the moving body 10 (step S103). That is, the control position / orientation calculation unit 25 calculates the nearest point from the current position / orientation estimated by the current position / orientation estimation unit 24 in the target route. Then, the position of the nearest point and the direction of the target route at the nearest point are generated as the control position / posture.

ここで、図6、図7、及び図8を参照して、目標経路上の最寄点の算出方法について説明する。図6は、最寄点の探索処理を示すフローチャートである図7、及び図8は、最寄点の探索処理を説明するための説明図である。   Here, a method of calculating the nearest point on the target route will be described with reference to FIGS. 6, 7, and 8. FIG. 6 is a flowchart showing the nearest point search process, and FIGS. 7 and 8 are explanatory diagrams for explaining the nearest point search process.

図6に最寄点の探索処理の詳細を示す。図7に示すように、移動体10が点Aにいるときに目標経路100上の最寄点を算出する場合には、節点nの座標と点A間の距離を求める(S201)。このようにして求めた距離が過去に算出した点Aといずれかの節点間の距離の中で最小の距離かどうかを判定する(S202)。判定の結果、最小の距離であると判定された場合には、その節点nを記憶する(S203)。判定の結果、最小の距離でないと判定された場合や、ステップS203により節点nを記憶した場合には、全ての節点を調べたかどうかを判定する(S204)。   FIG. 6 shows details of the nearest point search process. As shown in FIG. 7, when the nearest point on the target path 100 is calculated when the moving body 10 is at the point A, the distance between the coordinates of the node n and the point A is obtained (S201). It is determined whether the distance obtained in this way is the shortest distance between the points A calculated in the past and any of the nodes (S202). As a result of the determination, if it is determined that the distance is the minimum distance, the node n is stored (S203). As a result of the determination, when it is determined that the distance is not the minimum, or when the node n is stored in step S203, it is determined whether all the nodes have been examined (S204).

判定の結果、全ての節点を調べていないと判定された場合には、nに1を加えた節点についてさらにステップS201の処理を実行する。また、判定の結果、全ての節点を調べたと判定された場合には、距離が最小となる節点(最小節点)に対して隣接する二つの節点(隣接節点)のうち、最小節点との間の距離が小さい方の隣接節点を選択し、選択された隣接節点と最小節点間を探索範囲とする(S206)。そして、図8に示されるように、探索範囲とされた節点間の中点を始点Pとし、探索範囲w1を節点間距離Lの1/2とする(S207)。図8に示された例では、始点Pから(1/2)w1、即ち(1/4)Lだけn点側に延長した点PL1から、始点Pから(1/2)w1、即ち(1/4)Lだけn+1点側に延長した点PR1までを探索範囲w1としている。そして、始点Pについて(即ち、nがPに場合について)、n−(1/2)w1の節点PL1と、n+(1/2)w1の節点PR1のいずれが点Aから近いかどうかが判定される(S208)。判定の結果、近い方の節点を近傍点Pとし、さらに近傍点Pからw1の半分のw2を探索範囲として同様に点Aから近いかどうかが判定され、同様の処理を繰り返す(S209)。このような処理の結果、収束した場合には、収束した結果、最も点Aから近いと判定された近傍点Pが最寄点と特定され、その座標が求められる。このようにして、目標経路上の最寄点の位置を探索する。そして、最寄点の座標、及び最寄点における目標経路100の方向を制御位置姿勢として記憶させる。 As a result of the determination, if it is determined that not all the nodes have been examined, the process of step S201 is further executed for the node obtained by adding 1 to n. As a result of the determination, if it is determined that all nodes have been examined, of the two nodes (adjacent nodes) adjacent to the node having the smallest distance (minimum node) between the minimum nodes An adjacent node having a smaller distance is selected, and a search range is set between the selected adjacent node and the minimum node (S206). Then, as illustrated in FIG. 8, the midpoint between which is a search range node to the start point P 0, the search range w1 be the half nodal distance L (S207). In the example shown in FIG. 8, from the start point P 0 to (1/2) w1, that is, from the point P L1 extended to the n point side by (1/4) L, from the start point P 0 to (1/2) w1, That is, the range up to the point PR1 extended to the (n + 1) point side by (1/4) L is set as the search range w1. Then, the start point P 0 (ie, n is the case P 0), and the node P L1 of n- (1/2) w1, n + (1/2) which of w1 node P R1 closer to the point A Is determined (S208). As a result of the determination, it is determined whether the closest node is the vicinity point P, and further whether it is close to the point A using w2 that is half of w1 from the vicinity point P as a search range, and the same processing is repeated (S209). As a result of such processing, when convergence has occurred, the neighboring point P determined to be closest to the point A as a result of convergence is identified as the closest point, and its coordinates are obtained. In this way, the position of the nearest point on the target route is searched. Then, the coordinates of the nearest point and the direction of the target route 100 at the nearest point are stored as the control position and posture.

次に、旋回速度決定部26が制御位置姿勢に基づいて移動体10の旋回速度ωを生成する(ステップS104)。数式5に従って、位置姿勢誤差から旋回速度ωを算出する。これにより、現在位置姿勢と目標経路とに応じた旋回速度ωを算出される。したがって、移動体10は目標経路に近づくようフィードバック制御される。すなわち、この旋回速度ωにより移動体10の姿勢が変化する。そして、移動体10が目標経路の方向に向かって移動する。なお、旋回速度ωを算出するとき、設定値記憶部27に記憶されているゲインが参照される。   Next, the turning speed determination unit 26 generates the turning speed ω of the moving body 10 based on the control position and orientation (step S104). According to Equation 5, the turning speed ω is calculated from the position and orientation error. Thereby, the turning speed ω corresponding to the current position and orientation and the target route is calculated. Therefore, the moving body 10 is feedback controlled so as to approach the target route. That is, the posture of the moving body 10 is changed by the turning speed ω. Then, the moving body 10 moves toward the target route. When calculating the turning speed ω, the gain stored in the set value storage unit 27 is referred to.

直進速度決定部28は、旋回速度ωに基づいて直進速度vを生成する(ステップS105)。移動体10はこの直進速度v、及び旋回速度ωで移動するようフィードバック制御される。本実施の形態は、常に移動体10の運動エネルギーが定数Cで保たれるように直進速度vが決定される。すなわち、数式7によって、旋回速度ωに応じた直進速度vが算出される。なお、直進速度vを算出するとき、設定値記憶部27に記憶されている質量m、慣性モーメントI、及び定数Cが参照される。このように、直進速度決定部28は、現在位置姿勢、及び目標経路に応じて、直進速度vを決定する。すなわち、駆動制御部21は、現在位置姿勢と目標経路との間の位置姿勢誤差に基づいて、移動体10の旋回速度ω及び直進速度vを決定する。   The straight speed determination unit 28 generates a straight speed v based on the turning speed ω (step S105). The moving body 10 is feedback controlled so as to move at the straight traveling speed v and the turning speed ω. In the present embodiment, the straight traveling speed v is determined so that the kinetic energy of the moving body 10 is always maintained at a constant C. In other words, the straight traveling speed v corresponding to the turning speed ω is calculated by Expression 7. When calculating the straight traveling speed v, the mass m, the moment of inertia I, and the constant C stored in the set value storage unit 27 are referred to. As described above, the straight traveling speed determination unit 28 determines the straight traveling speed v according to the current position and orientation and the target route. That is, the drive control unit 21 determines the turning speed ω and the straight traveling speed v of the moving body 10 based on the position and orientation error between the current position and orientation and the target route.

そして、駆動制御部21が旋回速度ω、及び直進速度vから左右の駆動輪12の回転速度を算出する(ステップS6)。すなわち、逆運動学を解くことにより、左右の駆動輪12による速度Vr、Vlがそれぞれ算出される。そして、左右の駆動輪12の速度Vr、Vlと、駆動輪12の半径等に応じて、回転速度を算出する。左右の駆動輪12がそれぞれ算出された回転速度で回転するよう、駆動制御部21は、駆動機構14に設けられたモータを駆動する。したがって、移動体10の直進速度vに運動エネルギーによる制限が加わる。これにより、駆動機構14が駆動され、旋回速度ω、直進速度vで移動体10が移動する(ステップS107)。   Then, the drive control unit 21 calculates the rotational speed of the left and right drive wheels 12 from the turning speed ω and the straight traveling speed v (step S6). That is, by solving the inverse kinematics, the velocities Vr and Vl by the left and right drive wheels 12 are respectively calculated. Then, the rotational speed is calculated according to the speeds Vr and Vl of the left and right drive wheels 12, the radius of the drive wheels 12, and the like. The drive control unit 21 drives a motor provided in the drive mechanism 14 so that the left and right drive wheels 12 rotate at the calculated rotation speed. Therefore, the linear velocity v of the moving body 10 is limited by kinetic energy. Thereby, the drive mechanism 14 is driven, and the moving body 10 moves at the turning speed ω and the straight traveling speed v (step S107).

さらに、上記の処理を繰り返し行い、移動体10を制御する。すなわち、現在位置姿勢の推定(ステップS102)、制御位置姿勢の算出(ステップS103)、旋回速度の決定(ステップS104)、直進速度の決定(ステップS105)、車輪回転速度決定(ステップS106)、及びロボットの移動(ステップS107)を繰り返す。このように、センサ18の測定値に基づく位置姿勢推定を繰り返し行なう。そして、現在位置姿勢、及び目標経路上の最寄点に応じて左右の駆動輪12の回転速度を決定する。上記のフィードバックを繰り返し行い、移動体10の移動を制御する。これにより、移動体10が目標経路に追従するよう、フィードバック制御される。   Further, the above process is repeated to control the moving body 10. That is, estimation of current position and orientation (step S102), calculation of control position and orientation (step S103), determination of turning speed (step S104), determination of straight speed (step S105), wheel rotation speed determination (step S106), and The movement of the robot (step S107) is repeated. In this way, the position and orientation estimation based on the measurement value of the sensor 18 is repeatedly performed. Then, the rotational speeds of the left and right drive wheels 12 are determined according to the current position and orientation and the nearest point on the target route. The above feedback is repeated to control the movement of the moving body 10. Thereby, feedback control is performed so that the moving body 10 follows the target route.

このように、本実施の形態では、旋回速度ωを決定した後、この旋回速度ωに基づいて直進速度vを算出している。さらに、直進速度vには、運動エネルギーによる制限を加えている。すなわち、算出された旋回速度ωによらず運動エネルギーが定数Cで一定となるよう、直進速度vを算出している。これにより、従って、常に一定の運動エネルギーで移動体10を移動させることができるため、移動がスムーズになる。   Thus, in this embodiment, after determining the turning speed ω, the straight traveling speed v is calculated based on the turning speed ω. Further, the linear velocity v is limited by kinetic energy. That is, the straight traveling speed v is calculated so that the kinetic energy is constant at a constant C regardless of the calculated turning speed ω. Accordingly, the moving body 10 can always be moved with constant kinetic energy, so that the movement is smooth.

発明の実施の形態2.
本実施の形態にかかる移動体10は、直進速度の決定の一部が実施の形態1と異なっている。直進速度の決定以外の構成、内容については、実施の形態1と同様であるため説明を省略する。本実施の形態にかかる移動体10は、直進速度vについて、運動エネルギーによる制限のみならず、遠心力による制限を加えている。本実施の形態にかかる移動体10の旋回速度ωと直進速度vとの関係について図9を用いて説明する。図9は、旋回速度ωと直進速度vとの関係を示すグラフである。なお、図9(a)は、遠心力による制限のみを考慮した場合の、直進速度vと旋回速度ωの関係を示すグラフである。図9(b)は、運動エネルギーによる制限のみを考慮した場合の、直進速度vと旋回速度ωの関係を示すグラフである。図9(c)は、本実施の形態にかかる移動体10の直進速度vと旋回速度ωの関係を示すグラフである。
Embodiment 2 of the Invention
The moving body 10 according to the present embodiment differs from the first embodiment in part of the determination of the straight traveling speed. Since the configuration and contents other than the determination of the straight-ahead speed are the same as those in the first embodiment, description thereof is omitted. The moving body 10 according to the present embodiment adds not only a limitation due to kinetic energy but also a limitation due to centrifugal force to the straight traveling speed v. The relationship between the turning speed ω and the straight traveling speed v of the moving body 10 according to the present embodiment will be described with reference to FIG. FIG. 9 is a graph showing the relationship between the turning speed ω and the straight traveling speed v. FIG. 9A is a graph showing the relationship between the straight traveling speed v and the turning speed ω when only the limitation due to the centrifugal force is considered. FIG. 9B is a graph showing the relationship between the straight traveling speed v and the turning speed ω when only the limitation due to kinetic energy is considered. FIG. 9C is a graph showing the relationship between the straight traveling speed v and the turning speed ω of the moving body 10 according to the present embodiment.

本実施の形態では、旋回速度ωが一定の範囲内にある場合には、実施の形態1と同様に運動エネルギーによる制限を加える。すなわち、運動エネルギーが定数Cで一定になるように、直進速度vを算出する。一方、旋回速度ωが一定の範囲外にある場合には、遠心力による制限を加える。   In the present embodiment, when the turning speed ω is within a certain range, a limitation by kinetic energy is added as in the first embodiment. That is, the straight traveling speed v is calculated so that the kinetic energy is constant at a constant C. On the other hand, when the turning speed ω is out of a certain range, a restriction by centrifugal force is added.

ここで、遠心力による制限を加えた場合の、直進速度vの算出方法について説明する。移動体10に加わる遠心力は、f=mvωとして示される。曲率κは、旋回速度ωより算出することができる。また、mは設定値記憶部27に記憶されている値を用いることができる。   Here, a method of calculating the straight traveling speed v when a limitation due to centrifugal force is applied will be described. The centrifugal force applied to the moving body 10 is shown as f = mvω. The curvature κ can be calculated from the turning speed ω. As m, a value stored in the set value storage unit 27 can be used.

そして、mvω≦fmaxとして遠心力がしきい値以内となるように設定する。なお、遠心力の最大値fmaxは、例えば、移動体10が遠心力により、スリップあるいは横滑りしないように設定される。ここで、遠心力の最大値fmaxは設定値記憶部27に記憶させておく。直進速度vに対する制限は、v≦fmax/mωで与えられる。そして、直進速度vはv=min(v,fmax/mω)で与えられる。ここで、vは設定値記憶部27に予め設定されている値である。旋回速度ωに基づいて算出される直進速度がfmax/mωを超えてしまうときは、直進速度がvとなるよう制限を設けている。 Then, mvω ≦ f max is set so that the centrifugal force is within the threshold value. The maximum value f max of the centrifugal force is set so that the moving body 10 does not slip or skid due to the centrifugal force, for example. Here, the maximum value f max of the centrifugal force is stored in the set value storage unit 27. The restriction on the straight traveling speed v is given by v ≦ f max / mω. The straight traveling speed v is given by v = min (v 0 , f max / mω). Here, v 0 is a value preset in the set value storage unit 27. When the straight traveling speed calculated based on the turning speed ω exceeds f max / mω, a restriction is provided so that the straight traveling speed becomes v 0 .

遠心力による制限のみを考えると、直進速度vと旋回速度ωの関係は図9(a)に示すようになる。すなわち、旋回速度ωが0の近傍である時は、直進速度vがvで一定であり、それ以外のときは、直進速度vと旋回速度ωが反比例の関係にある。一方、運動エネルギーによる制限が加わった場合、直進速度vと旋回速度ωの関係は実施の形態1と同様に図9(b)で示される。すなわち、数式6を満たすよう旋回速度ωから直進速度vを算出する。 Considering only the restriction due to the centrifugal force, the relationship between the straight traveling speed v and the turning speed ω is as shown in FIG. That is, when the turning speed ω is in the vicinity of 0, the straight traveling speed v is constant at v 0 , and in other cases, the straight traveling speed v and the turning speed ω are in an inversely proportional relationship. On the other hand, when the limitation by kinetic energy is added, the relationship between the straight traveling speed v and the turning speed ω is shown in FIG. 9B as in the first embodiment. That is, the straight traveling speed v is calculated from the turning speed ω so as to satisfy Expression 6.

本実施の形態では、運動エネルギーによる制限と、遠心力による制限を組み合わせている。そのため、直進速度vと旋回速度ωの関係は図9(c)に示すようになる。直進速度vは、運動エネルギーによる制限から算出した直進速度と、遠心力による制限から算出した直進速度のうちの小さい方となる。ここで、定数Cは、ω=0のときの直進速度がvよりも小さくなるよう設定されている。したがって、旋回速度ωが0近傍となる範囲では、運動エネルギーが一定となるよう直進速度vが算出される。また、旋回速度ωの絶対値が0近傍から大きくなると、遠心力が一定となるよう直進速度vが算出される。すなわち、この範囲では、旋回速度ωと直進速度vとの関係が反比例となる。旋回速度ωの絶対値がさらに大きくなると、運動エネルギーが一定となるよう直進速度vが算出される。なお、旋回速度がある一定値となると、直進速度vが0となり、その場で旋回する。従って、本実施の形態にかかる移動体10の旋回速度ωと直進速度vとの関係は、図9(c)の太線で示される。 In the present embodiment, the limitation by kinetic energy and the limitation by centrifugal force are combined. Therefore, the relationship between the straight traveling speed v and the turning speed ω is as shown in FIG. The straight traveling speed v is the smaller of the straight traveling speed calculated from the restriction by kinetic energy and the straight traveling speed calculated from the restriction by centrifugal force. Here, the constant C is set so that the straight traveling speed when ω = 0 is smaller than v 0 . Therefore, in a range where the turning speed ω is close to 0, the straight traveling speed v is calculated so that the kinetic energy is constant. Further, when the absolute value of the turning speed ω increases from near 0, the straight traveling speed v is calculated so that the centrifugal force becomes constant. That is, in this range, the relationship between the turning speed ω and the straight traveling speed v is inversely proportional. When the absolute value of the turning speed ω is further increased, the straight traveling speed v is calculated so that the kinetic energy becomes constant. When the turning speed reaches a certain value, the straight traveling speed v becomes 0, and the vehicle turns on the spot. Therefore, the relationship between the turning speed ω and the straight traveling speed v of the moving body 10 according to the present embodiment is indicated by a thick line in FIG.

本実施の形態では、旋回速度ωが一定の範囲内にある場合、運動エネルギーが一定となるよう旋回速度ωから直進速度vを算出する。また、旋回速度ωが一定の範囲外にある場合、遠心力が一定となるよう旋回速度ωから直進速度vを算出する。遠心力f=mωvであるため、旋回速度ωと直進速度vの関係は反比例となる。換言すると、直進速度決定部28は、旋回速度ωの値に応じて、運動エネルギーによる制限、又は遠心力による制限の一方を選択する。そして、選択した制限に応じて直進速度vを算出する。上述のように、本実施の形態では、一定の範囲内で、運動エネルギーが一定となるよう旋回速度ωから直進速度vを算出する。一方、旋回速度ωが一定の範囲外のときは、遠心力fが一定となるよう、旋回速度ωから直進速度vを算出する。なお、旋回速度ωが一定の範囲外にあるとき、遠心力以外の制限によって、直進速度vを決定してもよい。   In the present embodiment, when the turning speed ω is within a certain range, the straight traveling speed v is calculated from the turning speed ω so that the kinetic energy becomes constant. Further, when the turning speed ω is out of a certain range, the straight traveling speed v is calculated from the turning speed ω so that the centrifugal force becomes constant. Since the centrifugal force f = mωv, the relationship between the turning speed ω and the straight traveling speed v is inversely proportional. In other words, the straight traveling speed determination unit 28 selects one of the restriction by kinetic energy or the restriction by centrifugal force according to the value of the turning speed ω. Then, the straight traveling speed v is calculated according to the selected restriction. As described above, in the present embodiment, the straight traveling speed v is calculated from the turning speed ω so that the kinetic energy is constant within a certain range. On the other hand, when the turning speed ω is out of a certain range, the straight traveling speed v is calculated from the turning speed ω so that the centrifugal force f becomes constant. When the turning speed ω is out of a certain range, the straight traveling speed v may be determined by a restriction other than the centrifugal force.

実施の形態1では旋回速度ωの全範囲で、運動エネルギーが一定となっていた。すなわち、決定した旋回速度ωによらず、運動エネルギーが一定となっている。一方、本実施の形態では、旋回速度ωが一定の範囲内にある場合のみ、運動エネルギーが一定となる。なお、本発明では、直進速度決定部28が、旋回速度決定部26で決定された旋回速度ωが少なくとも一部の範囲内になった場合に、運動エネルギーが一定となるよう旋回速度ωから直進速度vを決定すればよい。さらに、実施の形態2では、旋回速度ωがその範囲外となった場合は、遠心力による制限を加える。すなわち、遠心力fを一定にするよう旋回速度ωから直進速度vを算出する。   In the first embodiment, the kinetic energy is constant over the entire range of the turning speed ω. That is, the kinetic energy is constant regardless of the determined turning speed ω. On the other hand, in the present embodiment, the kinetic energy is constant only when the turning speed ω is within a certain range. In the present invention, when the turning speed ω determined by the turning speed determination unit 26 falls within at least a part of the range, the straight speed determination unit 28 goes straight from the turning speed ω so that the kinetic energy is constant. What is necessary is just to determine the speed v. Further, in the second embodiment, when the turning speed ω is out of the range, the restriction by the centrifugal force is added. That is, the straight traveling speed v is calculated from the turning speed ω so that the centrifugal force f is constant.

本実施の形態では、移動体10の加速度の急激な変化を緩和することができる。したがって、移動体10を従来技術と比較してスムーズに移動させることができる。さらに、遠心力による制限が加わるため、横滑り、スリップを防止することができる。すなわち、定数C、及びvを適切に設定することで、横滑り、スリップの発生を防ぐことができる。さらに、本実施の形態では、実施の形態1に比べて定数Cを大きくすることができ、高い直進速度vで移動させることが可能となる。 In the present embodiment, a rapid change in the acceleration of the moving body 10 can be mitigated. Therefore, the moving body 10 can be smoothly moved as compared with the prior art. Furthermore, since the restriction | limiting by a centrifugal force is added, a skid and a slip can be prevented. That is, the constant C, and v 0 to are appropriately set, it is possible to prevent skidding, the generation of the slip. Furthermore, in the present embodiment, the constant C can be made larger than that in the first embodiment, and it is possible to move at a high straight traveling speed v.

発明の実施の形態3.
本実施の形態にかかる移動体10について図10を用いて説明する。図10は、本実施の形態にかかる移動体10の構成を模式的に示す側面図である。本実施の形態にかかる移動体10の移動制御は、実施の形態1と基本的に同様である。したがって、実施の形態1と同様の構成、内容については、説明を省略する。本実施の形態にかかる移動体10は、物体を把持するタスクを行なうロボットである。
Embodiment 3 of the Invention
A moving body 10 according to the present embodiment will be described with reference to FIG. FIG. 10 is a side view schematically showing the configuration of the moving body 10 according to the present embodiment. The movement control of the moving body 10 according to the present embodiment is basically the same as that of the first embodiment. Therefore, the description of the same configuration and contents as those in Embodiment 1 is omitted. The moving body 10 according to the present embodiment is a robot that performs a task of gripping an object.

移動体10の車体11には、物体40を把持するためのハンド33が取り付けられている。このハンド33を閉じることにより、対象となる物体40が把持される。また、車体11には回転機構31を介してアーム32が取り付けられている。また、アーム32は直動アクチュエータを有しており、伸縮可能に設けられているそして、アーム32の先端にハンド33が設けられている。回転機構31は、アーム32を所定の角度だけ回転させることができる。   A hand 33 for holding the object 40 is attached to the vehicle body 11 of the moving body 10. By closing the hand 33, the target object 40 is gripped. An arm 32 is attached to the vehicle body 11 via a rotation mechanism 31. Further, the arm 32 has a linear actuator, is provided so as to be extendable and contractible, and a hand 33 is provided at the tip of the arm 32. The rotation mechanism 31 can rotate the arm 32 by a predetermined angle.

物体40を把持する場合、回転機構31、及びアーム32を駆動する。例えば、CCDカメラなどのカメラで物体40の位置を認識して、把持可能な位置にハンド33を移動させる。これにより、物体40を把持可能な位置にハンド33が移動する。そして、ハンド33を閉じて、物体40を把持する。物体40を把持した場合、移動体10の質量が変化する。   When the object 40 is gripped, the rotation mechanism 31 and the arm 32 are driven. For example, the position of the object 40 is recognized by a camera such as a CCD camera, and the hand 33 is moved to a grippable position. As a result, the hand 33 moves to a position where the object 40 can be gripped. Then, the hand 33 is closed and the object 40 is gripped. When the object 40 is gripped, the mass of the moving body 10 changes.

ハンド33は力センサ35が設けられている。力センサ35は、ハンド33に加わる力を検出する。これにより、物体40の質量を測定することができる。そして、物体40の質量を加えて演算処理を行う。すなわち、移動体10本体の質量に対して、把持した物体40の質量を加えて、直進速度vを算出する。例えば、移動体10本体の質量をm、測定された物体40の質量をmとすると、移動体10の全体の質量m=m+mとなる。この場合、物体を把持する前後で質量がmだけ変化している。そして、設定値記憶部27に記憶されている質量mの値を書き換える。これこのmに基づいて、上記の数式7から直進速度vを算出する。すなわち、物体40の質量分だけ移動体10の質量を増加した状態の運動エネルギーから直進速度を決定すればよい。さらに、質量mだけではなく、慣性モーメントIを変えてもよい。すなわち、物体40の質量、及び把持位置から慣性モーメントIを算出してもよい。これにより、移動により適した直進速度を算出することができ、滑らかな移動が可能となる。 The hand 33 is provided with a force sensor 35. The force sensor 35 detects the force applied to the hand 33. Thereby, the mass of the object 40 can be measured. Then, arithmetic processing is performed by adding the mass of the object 40. That is, the straight traveling speed v is calculated by adding the mass of the grasped object 40 to the mass of the moving body 10 main body. For example, if the mass of the main body of the moving body 10 is m 1 and the mass of the measured object 40 is m 2 , the total mass of the moving body 10 is m = m 1 + m 2 . In this case, the mass changes by m 2 before and after gripping the object. Then, the value of the mass m stored in the set value storage unit 27 is rewritten. Based on this m, the straight traveling speed v is calculated from the above equation 7. That is, the straight traveling speed may be determined from the kinetic energy in a state where the mass of the moving body 10 is increased by the mass of the object 40. Furthermore, not only the mass m but also the moment of inertia I may be changed. That is, the inertia moment I may be calculated from the mass of the object 40 and the grip position. As a result, a straight traveling speed more suitable for movement can be calculated, and smooth movement becomes possible.

さらに、移動体10全体の質量が変化した場合、定数Cの値を変えてもよい。すなわち、設定値記憶部27に記憶されている定数Cの値を書き換える。これにより、物体40を把持する前後で、運動エネルギーが異なる値で一定になるよう直進速度vを決定することができる。これにより、質量mに対して好適な直進速度で移動させることができる。従って、物体40を把持した場合でも、安定して移動させることができる。通常、物体を保持して質量が増加した場合は、定数Cを増加させる。   Further, when the mass of the entire moving body 10 changes, the value of the constant C may be changed. That is, the value of the constant C stored in the set value storage unit 27 is rewritten. Thus, the straight traveling speed v can be determined so that the kinetic energy becomes constant at different values before and after gripping the object 40. Thereby, it can be made to move at a suitable straight speed with respect to the mass m. Therefore, even when the object 40 is gripped, it can be moved stably. Normally, when the mass increases while holding the object, the constant C is increased.

さらに、ハンド33を広げて物体40の把持を開放した場合、元の質量に戻して、直進速度を決定することができる。すなわち、物体40の質量分だけ移動体10の質量を減らした状態の運動エネルギーから直進速度を決定すればよい。このように、質量測定器で測定された質量の変化に応じて移動体の質量を増減させる。そして、移動体10の質量を変化させた状態で、運動エネルギーを一定とするよう直進速度vを決定すればよい。これにより、適切な制御を行うことができる。もちろん、物体40の保持を開放した場合、定数Cを元の戻してもよい。すなわち、質量測定器で測定された質量に応じて、定数Cを変化させてもよい。   Furthermore, when the hand 33 is spread and the gripping of the object 40 is released, it is possible to return to the original mass and determine the straight traveling speed. That is, the straight traveling speed may be determined from the kinetic energy in a state where the mass of the moving body 10 is reduced by the mass of the object 40. Thus, the mass of the moving body is increased or decreased according to the change in mass measured by the mass measuring instrument. Then, the straight traveling speed v may be determined so that the kinetic energy is constant while the mass of the moving body 10 is changed. Thereby, appropriate control can be performed. Of course, when the holding of the object 40 is released, the constant C may be restored. That is, the constant C may be changed according to the mass measured by the mass measuring instrument.

本実施の形態では、上記のように、物体を保持した後、その物体の質量を測定している。そして、物体の質量を加えた上で、直進速度を決定している。これにより、よりスムーズに移動させることができる。さらに、物体の質量によって定数Cを変えれば、より適切な制御が可能になる。また、実施の形態2と同様に遠心力による制限を加えてもよい。   In the present embodiment, as described above, after holding an object, the mass of the object is measured. Then, the straight traveling speed is determined after adding the mass of the object. Thereby, it can be moved more smoothly. Furthermore, if the constant C is changed according to the mass of the object, more appropriate control can be performed. Moreover, you may add the restriction | limiting by centrifugal force similarly to Embodiment 2. FIG.

なお、上記の説明では、物体40を把持することによって、移動体10の質量が変化したが、本実施の形態はこれに限るものではない。例えば、物体を吸着する機構などを設けてもよい。すなわち、物体を保持する保持機構が設けられていればよい。また、質量を測定する質量測定器は力センサに限られるものではない。すなわち、保持機構が保持した物体の質量を測定する質量測定器が設けられていればよい。そして、移動体10の質量に物体40の質量を加えて直進速度を算出することで、よりスムーズに移動させることができる。   In the above description, the mass of the moving body 10 is changed by gripping the object 40. However, the present embodiment is not limited to this. For example, a mechanism for attracting an object may be provided. That is, a holding mechanism for holding the object may be provided. Further, the mass measuring device for measuring mass is not limited to the force sensor. That is, it is only necessary to provide a mass measuring device that measures the mass of the object held by the holding mechanism. And it can be made to move more smoothly by adding the mass of the object 40 to the mass of the moving body 10, and calculating a straight-ahead speed.

さらに、移動体10に所定のタスクを実行するタスク処理機構を設けた場合、タスクの処理前後で移動体10の質量が変化することがある。この場合、上記と同様に、タスクを実行する前後の質量変化に応じて移動体10の質量を変化させる。すなわち、タスクの実行によって質量が変化した分だけ、移動体10の質量mを増減させる。そして、質量を変化させた状態で運動エネルギーを一定とするよう直進速度を決定する。すなわち、増加した質量又は、減少した質量を用いて、数式6から直進速度を決定する。これにより、よりスムーズな移動が可能となる。もちろん、タスクの処理によって変化する質量を測定する質量測定器を設けても良い。なお、タスクの実行によって変化する質量が決まっている場合は、質量測定器を設けなくてもよい。すなわち、タスクの処理前後での移動体10の質量を記憶させ、適宜選択すればよい。さらに、タスクを実行した後の状態と実行する前の状態とで定数Cを変化させ、運動エネルギーが異なる値で一定になるよう直進速度を決定してもよい。   Further, when a task processing mechanism for executing a predetermined task is provided in the moving body 10, the mass of the moving body 10 may change before and after the task processing. In this case, similarly to the above, the mass of the moving body 10 is changed according to the mass change before and after executing the task. That is, the mass m of the moving body 10 is increased or decreased by the amount that the mass has changed due to execution of the task. Then, the straight traveling speed is determined so that the kinetic energy is constant in a state where the mass is changed. That is, the straight traveling speed is determined from Equation 6 using the increased mass or the decreased mass. Thereby, smoother movement becomes possible. Of course, you may provide the mass measuring device which measures the mass which changes with processing of a task. In addition, when the mass which changes with execution of a task is decided, it is not necessary to provide a mass measuring device. That is, the mass of the moving body 10 before and after the task processing may be stored and appropriately selected. Furthermore, the constant speed may be determined by changing the constant C between the state after the task is executed and the state before the task is executed so that the kinetic energy becomes constant at different values.

その他の実施の形態.
実施の形態1、2では移動体10を2輪走行の移動体に適用したが、これに限らず、2輪よりも多い、例えば4輪走行のロボットにも適用でき、さらには、1輪走行のロボットや2足歩行・4足歩行のロボットにも適用できる。歩行ロボットの場合には歩幅を制御することにより移動方向を変えて目標経路を追従することができる。さらには、ロボットに限らず、2輪走行や4輪走行の車両であっても適用できる。
Other embodiments.
In the first and second embodiments, the moving body 10 is applied to a two-wheeled moving body. However, the moving body 10 is not limited to this, and can be applied to a four-wheeled robot, for example, more than two wheels. It can also be applied to robots of the above type, bipedal walking and quadruped walking. In the case of a walking robot, it is possible to follow the target route by changing the moving direction by controlling the stride. Furthermore, the present invention is not limited to a robot and can be applied to a two-wheeled or four-wheeled vehicle.

本発明の実施の形態1にかかる移動体の構成を示す図である。It is a figure which shows the structure of the moving body concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる移動体の制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the control part of the moving body concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる移動体の制御方法で用いられる座標系を説明するための図である。It is a figure for demonstrating the coordinate system used with the control method of the moving body concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる移動体における旋回速度と直進速度との関係を示す図である。It is a figure which shows the relationship between the turning speed in the mobile body concerning Embodiment 1 of this invention, and a rectilinear speed. 本発明の実施の形態1にかかる移動体の制御方法を示すフローチャートである。It is a flowchart which shows the control method of the moving body concerning Embodiment 1 of this invention. 本発明の実施の形態1の移動体における、最寄点の探索処理を示すフローチャートである。It is a flowchart which shows the search process of the nearest point in the mobile body of Embodiment 1 of this invention. 本発明の実施の形態1の移動体における、最寄点の探索処理を説明するための説明図である。It is explanatory drawing for demonstrating the search process of the nearest point in the mobile body of Embodiment 1 of this invention. 本発明の実施の形態1の移動体における、最寄点の探索処理を説明するための説明図である。It is explanatory drawing for demonstrating the search process of the nearest point in the mobile body of Embodiment 1 of this invention. 本発明の実施の形態2にかかる移動体の旋回速度と直進速度との関係を示す図である。It is a figure which shows the relationship between the turning speed of the moving body concerning Embodiment 2 of this invention, and a rectilinear speed. 本発明の実施の形態3にかかる移動体の構成を示す図である。It is a figure which shows the structure of the moving body concerning Embodiment 3 of this invention. 従来の移動ロボットにおける旋回速度と直進速度との関係を示す図である。It is a figure which shows the relationship between the turning speed and the straight traveling speed in the conventional mobile robot.

符号の説明Explanation of symbols

10 移動体、11 車両、12 駆動輪、13 従動輪、14 駆動機構、
15 制御部、18 センサ、21 駆動制御部、22 経路生成部、
24 現在位置姿勢推定部、25 制御位置姿勢算出部、26 旋回速度決定部、
27 設定値記憶部、28 直進速度決定部、31 回転機構
32 アーム、33 ハンド、35 質量センサ、40 物体
10 moving bodies, 11 vehicles, 12 driving wheels, 13 driven wheels, 14 driving mechanisms,
15 control unit, 18 sensor, 21 drive control unit, 22 path generation unit,
24 current position and orientation estimation unit, 25 control position and orientation calculation unit, 26 turning speed determination unit,
27 Setting Value Storage Unit, 28 Linear Speed Determination Unit, 31 Rotating Mechanism 32 Arm, 33 Hand, 35 Mass Sensor, 40 Object

Claims (14)

目標経路に対して追従するようフィードバック制御を行う制御部を有する移動体であって、
前記制御部が、
前記移動体の位置姿勢を推定する位置姿勢推定部と、
前記位置姿勢推定部で推定された位置姿勢と前記目標経路の形状とに基づいて、旋回速度を決定する旋回速度決定部と、
前記移動体の運動エネルギーが一定となるよう、前記旋回速度決定部で決定された旋回速度から前記移動体の直進速度を決定する直進速度決定部と、
前記旋回速度決定部により決定された旋回速度と前記直進速度決定部により決定された直進速度とに基づいて、前記移動体の駆動機構を制御する駆動制御部と、を備える移動体。
A moving body having a control unit that performs feedback control so as to follow a target path,
The control unit is
A position and orientation estimation unit for estimating the position and orientation of the mobile body;
A turning speed determination unit that determines a turning speed based on the position and orientation estimated by the position and orientation estimation unit and the shape of the target path;
A rectilinear speed determining unit that determines the rectilinear speed of the moving body from the turning speed determined by the turning speed determining unit so that the kinetic energy of the moving body is constant;
A moving body comprising: a driving control unit that controls a driving mechanism of the moving body based on the turning speed determined by the turning speed determining unit and the straight traveling speed determined by the straight traveling speed determining unit.
前記直進速度決定部が、数式1を満たすよう、前記直進速度を決定し、
数式1の左辺で示される移動体の運動エネルギーが定数Cで一定となる請求項1に記載の移動体。
Figure 2007257200
(ここで、mは移動体の質量、Iは移動体の慣性モーメント、ωは移動体の旋回速度、vは移動体の直進速度、Cは定数である。)
The straight speed determining unit determines the straight speed so as to satisfy Formula 1,
The moving body according to claim 1, wherein the kinetic energy of the moving body indicated by the left side of Formula 1 is constant at a constant C.
Figure 2007257200
(Where m is the mass of the moving body, I is the moment of inertia of the moving body, ω is the turning speed of the moving body, v is the straight traveling speed of the moving body, and C is a constant.)
前記旋回速度決定部で決定した旋回速度によらず前記移動体の運動エネルギーが一定となるよう、前記直進速度決定部が前記直進速度を決定する請求項1又は2に記載の移動体。   The moving body according to claim 1 or 2, wherein the straight traveling speed determining section determines the straight traveling speed so that the kinetic energy of the moving body is constant regardless of the turning speed determined by the turning speed determining section. 前記旋回速度決定部で決定した旋回速度が一定の範囲内にある場合に、前記移動体の運動エネルギーが一定となるよう、前記直進速度決定部が前記直進速度を決定する請求項1又は2に記載の移動体。   The linear travel speed determination unit determines the linear travel speed so that the kinetic energy of the moving body is constant when the rotational speed determined by the rotational speed determination unit is within a certain range. The moving body described. 前記旋回速度が前記一定の範囲外にある場合に、前記移動体の遠心力が一定となるよう、前記直進速度決定部が前記直進速度を決定する請求項4に記載の移動体。   The moving body according to claim 4, wherein when the turning speed is out of the certain range, the rectilinear speed determining unit determines the rectilinear speed so that a centrifugal force of the moving body becomes constant. 所定のタスクを実行するタスク処理機構をさらに備え、
前記タスクを実行する前後の質量変化に応じて前記移動体の質量を変化させた状態で、前記運動エネルギーを一定とするよう前記直進速度を決定する請求項1乃至5のいずれかに記載の移動体。
A task processing mechanism for executing a predetermined task;
The movement according to any one of claims 1 to 5, wherein the straight traveling speed is determined so that the kinetic energy is constant in a state in which the mass of the moving body is changed according to a mass change before and after the task is executed. body.
前記タスクを実行した後の状態と実行する前の状態とで、前記運動エネルギーが異なる値で一定になるよう前記直進速度を決定する請求項6に記載の移動体。   The moving body according to claim 6, wherein the straight traveling speed is determined so that the kinetic energy becomes constant at a different value between a state after the task is executed and a state before the task is executed. 目標経路に対して追従する移動体の移動をフィードバック制御する制御方法であって、
前記移動体の位置姿勢を推定するステップと、
前記推定された位置姿勢と前記目標経路とに基づいて、旋回速度を決定するステップと、
前記移動体の運動エネルギーが一定となるよう、前記決定された旋回速度から前記移動体の直進速度を決定するステップと、
前記決定された旋回速度と前記決定された直進速度とに基づいて、前記移動体の駆動機構を制御するステップと、を備える移動体の制御方法。
A control method for feedback control of movement of a moving body that follows a target route,
Estimating the position and orientation of the moving body;
Determining a turning speed based on the estimated position and orientation and the target route;
Determining a straight traveling speed of the moving body from the determined turning speed so that the kinetic energy of the moving body is constant;
And a step of controlling a driving mechanism of the moving body based on the determined turning speed and the determined straight traveling speed.
前記直進速度を決定するステップでは、数式2を満たすよう、前記直進速度を決定し、
数式2の左辺で示される移動体の運動エネルギーが定数Cで一定となる請求項8に記載の移動体の制御方法。
Figure 2007257200
(ここで、mは移動体の質量、Iは移動体の慣性モーメント、ωは移動体の旋回速度、vは移動体の直進速度、Cは定数である。)
In the step of determining the straight traveling speed, the straight traveling speed is determined so as to satisfy Formula 2,
The method for controlling a moving body according to claim 8, wherein the kinetic energy of the moving body indicated by the left side of Formula 2 is constant at a constant C.
Figure 2007257200
(Where m is the mass of the moving body, I is the moment of inertia of the moving body, ω is the turning speed of the moving body, v is the straight traveling speed of the moving body, and C is a constant.)
前記直進速度を決定するステップでは、前記決定した旋回速度によらず、前記移動体の運動エネルギーが一定となるよう前記直進速度を決定する請求項8又は9に記載の移動体の制御方法。   The method for controlling a moving body according to claim 8 or 9, wherein in the step of determining the straight traveling speed, the straight traveling speed is determined so that the kinetic energy of the moving body is constant regardless of the determined turning speed. 前記直進速度を決定するステップでは、前記決定した旋回速度が一定の範囲内にある場合に、前記移動体の運動エネルギーが一定となるよう前記直進速度を決定する請求項8又は9に記載の移動体の制御方法。   The movement according to claim 8 or 9, wherein in the step of determining the straight traveling speed, the straight traveling speed is determined so that the kinetic energy of the moving body is constant when the determined turning speed is within a certain range. How to control the body. 前記直進速度を決定するステップでは、前記旋回速度が前記一定の範囲外にある場合に、前記移動体の遠心力が一定になるよう、前記直進速度を決定する請求項11に記載の移動体の制御方法。   The step of determining the straight traveling speed determines the straight traveling speed so that the centrifugal force of the moving body becomes constant when the turning speed is out of the certain range. Control method. 所定のタスクを実行するステップをさらに備え、
前記タスクを実行する前後の質量変化に応じて前記移動体の質量を変化させた状態で、前記運動エネルギーを一定とするよう前記直進速度を決定する請求項8乃至12のいずれかに記載の移動体の制御方法。
The method further includes a step of performing a predetermined task,
The movement according to any one of claims 8 to 12, wherein the straight traveling speed is determined so that the kinetic energy is constant in a state where the mass of the moving body is changed in accordance with a mass change before and after the task is executed. How to control the body.
前記タスクを実行した後の状態と実行する前の状態とで、前記運動エネルギーが異なる値で一定になるよう前記直進速度を決定する請求項13に記載の移動体の制御方法。   The method according to claim 13, wherein the straight traveling speed is determined so that the kinetic energy becomes constant at different values in a state after the task is executed and a state before the task is executed.
JP2006079505A 2006-03-22 2006-03-22 Mobile body and control method for it Pending JP2007257200A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006079505A JP2007257200A (en) 2006-03-22 2006-03-22 Mobile body and control method for it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006079505A JP2007257200A (en) 2006-03-22 2006-03-22 Mobile body and control method for it

Publications (1)

Publication Number Publication Date
JP2007257200A true JP2007257200A (en) 2007-10-04

Family

ID=38631405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006079505A Pending JP2007257200A (en) 2006-03-22 2006-03-22 Mobile body and control method for it

Country Status (1)

Country Link
JP (1) JP2007257200A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009294104A (en) * 2008-06-05 2009-12-17 Nissan Motor Co Ltd Position estimation system
US8322468B2 (en) 2009-02-18 2012-12-04 Sony Corporation Robot apparatus and method of controlling the same, and computer program
JP2013101602A (en) * 2011-10-17 2013-05-23 Nsk Ltd Traveling device
CN108475059A (en) * 2015-12-15 2018-08-31 高通股份有限公司 Autonomous vision guided navigation
WO2019042141A1 (en) * 2017-08-29 2019-03-07 清华大学 Centralised-distributed control system for four-wheel independently driven and independently steered electric vehicle
JP2020135488A (en) * 2019-02-20 2020-08-31 株式会社豊田中央研究所 Mobile body control device and mobile body control program
CN111723981A (en) * 2020-06-09 2020-09-29 安徽意欧斯物流机器人有限公司 Forklift AGV optimal path planning method based on multi-condition constraints
CN113985868A (en) * 2021-10-09 2022-01-28 北京科技大学 Method for realizing hierarchical path tracking control of wheeled mobile robot

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009294104A (en) * 2008-06-05 2009-12-17 Nissan Motor Co Ltd Position estimation system
US8322468B2 (en) 2009-02-18 2012-12-04 Sony Corporation Robot apparatus and method of controlling the same, and computer program
JP2013101602A (en) * 2011-10-17 2013-05-23 Nsk Ltd Traveling device
CN108475059A (en) * 2015-12-15 2018-08-31 高通股份有限公司 Autonomous vision guided navigation
JP2019500693A (en) * 2015-12-15 2019-01-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated Autonomous visual navigation
CN108475059B (en) * 2015-12-15 2021-11-09 高通股份有限公司 Autonomous visual navigation
WO2019042141A1 (en) * 2017-08-29 2019-03-07 清华大学 Centralised-distributed control system for four-wheel independently driven and independently steered electric vehicle
JP2020135488A (en) * 2019-02-20 2020-08-31 株式会社豊田中央研究所 Mobile body control device and mobile body control program
CN111723981A (en) * 2020-06-09 2020-09-29 安徽意欧斯物流机器人有限公司 Forklift AGV optimal path planning method based on multi-condition constraints
CN111723981B (en) * 2020-06-09 2024-06-07 安歌智慧科技(上海)有限公司 Multi-condition constraint-based forklift type AGV optimal path planning method
CN113985868A (en) * 2021-10-09 2022-01-28 北京科技大学 Method for realizing hierarchical path tracking control of wheeled mobile robot
CN113985868B (en) * 2021-10-09 2023-08-08 北京科技大学 Layered path tracking control implementation method for wheeled mobile robot

Similar Documents

Publication Publication Date Title
US10065306B2 (en) Traveling robot, motion planning method for traveling robot, and storage medium storing program for traveling robot
JP4297123B2 (en) Trajectory tracking control system and trajectory tracking control method for moving body
Lee et al. Planning and control for collision-free cooperative aerial transportation
JP2007257200A (en) Mobile body and control method for it
Haddadin et al. Real-time reactive motion generation based on variable attractor dynamics and shaped velocities
Alonso-Mora et al. Reciprocal collision avoidance for multiple car-like robots
JP2003241836A (en) Control method and apparatus for free-running mobile unit
JP5837902B2 (en) Autonomous traveling vehicle, autonomous traveling vehicle control system, and autonomous traveling vehicle control method
Indiveri et al. High speed differential drive mobile robot path following control with bounded wheel speed commands
Phunopas et al. Motion Improvement of Four-Wheeled Omnidirectional Mobile Robots for Indoor Terrain.
Huskic et al. Path following control of skid-steered wheeled mobile robots at higher speeds on different terrain types
JP4577247B2 (en) Mobile body and control method thereof
JP6468127B2 (en) Omnidirectional moving body, control method and program thereof
Hu et al. Optimal path planning for mobile manipulator based on manipulability and localizability
Han et al. Robust optimal control of omni-directional mobile robot using model predictive control method
CN117204771A (en) Self-propelled robot, control device, and control method
Vilca et al. An overall control strategy based on target reaching for the navigation of an urban electric vehicle
Vidhyaprakash et al. Positioning of two-Wheeled mobile robot to control wheelslip by using the wheel rotate planning technique
Klančar et al. Combined stochastic-deterministic predictive control using local-minima free navigation
McNinch et al. Application of a coordinated trajectory planning and real-time obstacle avoidance algorithm
CN116009558A (en) Mobile robot path planning method combined with kinematic constraint
Nagata et al. Model predictive obstacle avoidance control for omni-directional mobile robots based on fuzzy potential method
Guo et al. Trajectory tracking of unicycle-type robots with constraints
Miah et al. Universal dynamic tracking control law for mobile robot trajectory tracking
Künemund et al. Fast and accurate trajectory generation for non-circular omnidirectional robots in industrial applications