JP2011014100A - Inverted pendulum type mobile body and control method for the same - Google Patents

Inverted pendulum type mobile body and control method for the same Download PDF

Info

Publication number
JP2011014100A
JP2011014100A JP2009160133A JP2009160133A JP2011014100A JP 2011014100 A JP2011014100 A JP 2011014100A JP 2009160133 A JP2009160133 A JP 2009160133A JP 2009160133 A JP2009160133 A JP 2009160133A JP 2011014100 A JP2011014100 A JP 2011014100A
Authority
JP
Japan
Prior art keywords
moving body
target
command value
control command
calculated
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
JP2009160133A
Other languages
Japanese (ja)
Other versions
JP5336955B2 (en
Inventor
Yuji Tsusaka
祐司 津坂
Kazuhiro Shintani
和宏 新谷
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
Toyota Central R&D Labs Inc
Original Assignee
Toyota Motor Corp
Toyota Central R&D Labs Inc
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, Toyota Central R&D Labs Inc filed Critical Toyota Motor Corp
Priority to JP2009160133A priority Critical patent/JP5336955B2/en
Publication of JP2011014100A publication Critical patent/JP2011014100A/en
Application granted granted Critical
Publication of JP5336955B2 publication Critical patent/JP5336955B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/72Electric energy management in electromobility

Abstract

PROBLEM TO BE SOLVED: To provide an inverted pendulum type mobile body which travels with high accuracy on a target path.SOLUTION: This mobile body includes wheels and a vehicle body supported by the wheels and travels on the path while maintaining the vehicle body in an inverted state by allowing the wheels to be driven in rotation. This moving body includes means (40, 32) for calculating a first control command value for controlling the position of the mobile body in the proceeding direction while maintaining the inversion of the vehicle body by using a target track expressing a target position of the mobile body by a time function, means (50, 34) for calculating a second control command value for controlling the angle in the turning direction of the mobile body by using the information regarding the target track and the actually measured or estimated position of the mobile body in the proceeding direction, and means (22, 24) for driving the wheels based on the first control command value and the second control command value.

Description

本発明は、倒立振子型の移動体に関する。特に、倒立振子型の移動体が設定された目標経路上を精度よく走行するための技術に関する。
本明細書中、「移動体の進行方向」とは、移動体が移動する平面において、その平面に投影した車輪の回転軸に対して直交する方向をいう。「移動体の旋回方向」とは、移動体の鉛直軸回りの方向をいう。また、「目標軌道」とは、移動体の経時的な目標位置(すなわち、移動体の目標位置(目標経路)を時間の関数として表したもの)をいう。
The present invention relates to an inverted pendulum type moving body. In particular, the present invention relates to a technique for accurately traveling on a target route on which an inverted pendulum type moving body is set.
In this specification, the “traveling direction of the moving body” refers to a direction orthogonal to the rotation axis of the wheel projected on the plane on which the moving body moves. The “turning direction of the moving body” refers to a direction around the vertical axis of the moving body. The “target trajectory” refers to a target position with time of the moving body (that is, a target position (target path) of the moving body expressed as a function of time).

倒立振子型の移動体は、車輪と、その車輪に支持される車体を備えている。この移動体では、車体の重心が車輪の回転中心よりも上方に位置し、車輪を回転駆動しないと車体が倒立状態を維持できない。このため、この種の移動体では、車輪を回転駆動することで、車体を倒立状態に維持しながら路面上を走行する。この種の移動体の従来技術としては、例えば、特許文献1,2に開示されたものが知られている。   The inverted pendulum type moving body includes a wheel and a vehicle body supported by the wheel. In this moving body, the center of gravity of the vehicle body is located above the center of rotation of the wheel, and the vehicle body cannot be maintained in an inverted state unless the wheel is driven to rotate. For this reason, this type of moving body travels on the road surface while maintaining the vehicle body in an inverted state by rotationally driving the wheels. As a conventional technique of this type of moving body, for example, those disclosed in Patent Documents 1 and 2 are known.

特開2004−295430号公報JP 2004-295430 A 特開2007−319991号公報JP 2007-319991 A

倒立振子型の移動体では、移動体の進行方向の速度応答性が、移動体の旋回方向の速度応答性に対して遅いという構造的な特性を有している。詳細に説明すると、図12に示すように、倒立振子型の移動体では、車体が倒立状態を維持するために、車輪100と路面Rの接触点Aまわりのモーメントが0とならなければならない。すなわち、移動体の進行方向の慣性力maによる接触点Aまわりのモーメントと、移動体に作用する重力mgによる接触点Aまわりのモーメントが0とならなければならない。このため、移動体の進行方向の加速度は、車体の傾斜角の関数となり、突変させることが不可能となる。一方、移動体の旋回方向の加速度については上述した問題はなく、事実上、ステップ状に加速度を変化させることが可能となる。従って、倒立振子型の移動体では、移動体の進行方向の速度応答性が、移動体の旋回方向の速度応答性に対して遅いという特性を有している。かかる特性を無視して目標軌道を設定すると、車輪移動の持つ非ホロノミック拘束により移動体が目標軌道からずれ、目標の経路を走行しないという問題が生じることがある。   The inverted pendulum type moving body has a structural characteristic that the speed response in the moving direction of the moving body is slower than the speed response in the turning direction of the moving body. More specifically, as shown in FIG. 12, in the inverted pendulum type moving body, the moment around the contact point A between the wheel 100 and the road surface R must be zero in order to maintain the vehicle body in an inverted state. That is, the moment around the contact point A due to the inertial force ma in the traveling direction of the moving body and the moment around the contact point A due to gravity mg acting on the moving body must be zero. For this reason, the acceleration in the traveling direction of the moving body is a function of the tilt angle of the vehicle body and cannot be changed suddenly. On the other hand, the acceleration in the turning direction of the mobile body does not have the above-described problem, and it is possible to change the acceleration in a step-like manner. Therefore, the inverted pendulum type moving body has a characteristic that the speed response in the moving direction of the moving body is slower than the speed response in the turning direction of the moving body. If the target trajectory is set ignoring such characteristics, there may be a problem that the moving body deviates from the target trajectory due to the nonholonomic constraint of wheel movement and does not travel on the target route.

本発明は、上記した実情に鑑みてなされたものであり、倒立振子型の移動体の特性を考慮することなく目標軌道を設定しても、目標経路上を精度良く走行することができる倒立振子型の移動体を提供する。   The present invention has been made in view of the above circumstances, and an inverted pendulum that can travel on a target route with high accuracy even if a target trajectory is set without considering the characteristics of an inverted pendulum type moving body. Provide a moving body of the mold.

本発明の倒立振子型の移動体は、車輪と、車輪に支持される車体を備えており、車輪を回転駆動することで車体を倒立状態に維持しながら路面上を走行する。この移動体は、第1制御指令値算出手段と第2制御指令値算出手段と駆動手段を備えている。第1制御指令値算出手段は、移動体の目標位置を時間の関数で表した目標軌道を用いて、車体が倒立を維持しつつ移動体の進行方向の位置を制御するための第1制御指令値を算出する。第2制御指令値算出手段は、目標軌道と実測又は推定される移動体の進行方向の位置に関する情報とを用いて、移動体の旋回方向の角度を制御するための第2制御指令値を算出する。駆動手段は、第1制御指令値と第2制御指令値に基づいて車輪を駆動する。
この移動体では、第1制御指令値算出手段が進行方向の位置を制御するための第1制御指令値を算出し、第2制御指令値算出手段が旋回方向の角度を制御するための第2制御指令値を算出し、これらの制御指令値に基づいて車輪が駆動される。ここで、第2制御指令値算出手段は、目標軌道と移動体の進行方向の位置に関する情報を用いて第2制御指令値を算出する。このため、移動体の進行方向の応答速度の遅れによって移動体が目標軌道からずれた場合は、そのずれを修正して旋回方向の第2制御指令値を算出することができる。これによって、移動体は目標経路上を精度よく走行することができる。
ここで、「移動体の進行方向の位置に関する情報」とは、移動体の進行方向の位置(移動距離)を特定することができる情報であり、例えば、移動体の進行方向の加速度、速度等の物理量が相当する。
The inverted pendulum type moving body of the present invention includes a wheel and a vehicle body supported by the wheel, and travels on the road surface while maintaining the vehicle body in an inverted state by rotationally driving the wheel. The moving body includes first control command value calculation means, second control command value calculation means, and drive means. The first control command value calculating means uses a target trajectory representing the target position of the moving body as a function of time, and controls the position of the moving body in the traveling direction while maintaining the vehicle body inverted. Calculate the value. The second control command value calculating means calculates a second control command value for controlling the angle of the moving body in the turning direction, using the target trajectory and the information on the actually measured or estimated position of the moving body in the traveling direction. To do. The driving means drives the wheel based on the first control command value and the second control command value.
In this moving body, the first control command value calculating means calculates the first control command value for controlling the position in the traveling direction, and the second control command value calculating means is the second for controlling the angle in the turning direction. Control command values are calculated, and the wheels are driven based on these control command values. Here, the second control command value calculation means calculates the second control command value using information on the target trajectory and the position of the moving body in the traveling direction. For this reason, when the moving body deviates from the target trajectory due to a delay in response speed in the traveling direction of the moving body, the second control command value in the turning direction can be calculated by correcting the deviation. Thereby, the moving body can travel on the target route with high accuracy.
Here, the “information on the position of the moving body in the traveling direction” is information that can specify the position (moving distance) of the moving body in the traveling direction. Corresponds to the physical quantity.

上記移動体では、第1制御指令値算出手段と第2制御指令値算出手段と駆動手段とを所定周期毎に繰り返し実行することで、移動体が路面上を走行することが好ましい。
この構成によると、所定周期毎に制御指令値が算出され、目標経路からのずれが所定周期毎に修正される。このため、移動体は目標経路上を精度よく走行することができる。
In the moving body, it is preferable that the moving body travels on the road surface by repeatedly executing the first control command value calculating means, the second control command value calculating means, and the driving means at predetermined intervals.
According to this configuration, the control command value is calculated every predetermined cycle, and the deviation from the target route is corrected every predetermined cycle. For this reason, the moving body can travel on the target route with high accuracy.

上記移動体の一の態様では、移動体の進行方向の位置に関する情報を測定するためのセンサ(例えば、車輪の回転角速度を検出するエンコーダ等)をさらに備えることができる。第2制御指令値算出手段は、「目標軌道」と「センサの検出結果から得られた移動体の進行方向の位置に関する情報」とから算出される「その測定された進行方向の位置に関する情報に対応した移動体の目標位置」に基づいて、移動体の旋回方向の角度を制御するための第2制御指令値を算出することが好ましい。
この構成によると、測定された進行方向の位置に関する情報を利用して旋回方向の第2制御指令値が算出される。実測された位置に関する情報を利用することで、目標経路に沿った(目標経路に近い又は目標経路の形状に沿った)動きが実現でき、移動体は目標経路上を精度よく移動することができる。
In one aspect of the moving body, a sensor (for example, an encoder that detects a rotational angular velocity of a wheel) for measuring information related to a position in the traveling direction of the moving body can be further provided. The second control command value calculating means calculates “information about the position of the measured traveling direction” calculated from “target trajectory” and “information about the position of the moving body in the traveling direction obtained from the detection result of the sensor”. It is preferable to calculate a second control command value for controlling the angle of the turning direction of the moving body based on the “target position of the corresponding moving body”.
According to this configuration, the second control command value in the turning direction is calculated using information on the measured position in the traveling direction. By using the information about the actually measured position, it is possible to realize movement along the target path (close to the target path or along the shape of the target path), and the moving body can move on the target path with high accuracy. .

上記移動体の他の態様では、第2制御指令値算出手段は、「目標軌道」と「第1制御指令値算出手段で算出された第1制御指令値から推定される移動体の進行方向の位置に関する情報」とから算出される「その推定された進行方向の位置に関する情報に対応した移動体の目標位置」に基づいて、移動体の旋回方向の角度を制御するための第2制御指令値を算出することが好ましい。
この構成によると、第1制御指令値から推定される移動体の進行方向の位置に関する情報を利用して第2制御指令値が算出される。第1制御指令値から推定される進行方向の位置に関する情報を利用することで、移動体の目標経路からのずれを見込んで旋回方向の制御指令値を算出することができる。この構成によっても、移動体は目標経路上を精度よく移動することができる。
In another aspect of the above moving body, the second control command value calculating means includes a “target trajectory” and a “traveling direction of the moving body estimated from the first control command value calculated by the first control command value calculating means”. Second control command value for controlling the angle of the turning direction of the moving body based on “the target position of the moving body corresponding to the information on the position in the estimated traveling direction” calculated from the “information on the position” Is preferably calculated.
According to this configuration, the second control command value is calculated using information on the position of the moving body in the traveling direction estimated from the first control command value. By using the information related to the position in the traveling direction estimated from the first control command value, the control command value in the turning direction can be calculated in consideration of the deviation of the moving body from the target route. Also with this configuration, the moving body can move on the target route with high accuracy.

上記移動体の他の態様では、移動体の位置と旋回方向の角度を測定するセンサと、センサの検出結果と目標軌道から得られる(1)移動体の進行方向の位置偏差と(2)移動体の進行方向に直交する方向の位置偏差と(3)移動体の旋回方向の角度偏差とに基づいて、移動体の進行方向の位置に関する目標値と、移動体の旋回方向の角度に関する目標値を算出するトラッキングコントローラをさらに備えることができる。そして、第1制御指令値算出手段は、トラッキングコントローラで算出された移動体の進行方向の位置に関する目標値に基づいて第1制御指令値を算出し、第2制御指令値算出手段は、トラッキングコントローラで算出された移動体の旋回方向の角度に関する目標値と算出された第1制御指令値に基づいて、第2制御指令値を算出することが好ましい。
この構成によると、センサの検出結果から移動体の位置及び旋回方向の角度(すなわち、向き(姿勢))が分かり、これらを用いて目標軌道からの偏差が特定され、この特定された偏差を用いて移動体の進行方向及び旋回方向の各目標値が算出される。そして、これらの目標値に基づいて、第1制御指令値と第2制御指令値を算出する。その際、第1制御指令値を利用して第2制御指令値を算出するため、進行方向の遅れを考慮して旋回方向の第2制御指令値が算出される。この構成によっても、移動体は目標経路上を精度よく移動することができる。
In another aspect of the moving body, a sensor that measures the position of the moving body and an angle in the turning direction, a detection result of the sensor and a target trajectory, (1) position deviation in the traveling direction of the moving body, and (2) movement Based on the positional deviation in the direction perpendicular to the moving direction of the body and (3) the angular deviation in the turning direction of the moving body, the target value related to the position of the moving body in the moving direction and the target value related to the angle of the moving body in the turning direction A tracking controller for calculating the value can be further provided. Then, the first control command value calculating means calculates the first control command value based on the target value related to the position of the moving body in the traveling direction calculated by the tracking controller, and the second control command value calculating means is the tracking controller. It is preferable to calculate the second control command value based on the target value regarding the angle of the turning direction of the moving body calculated in step 1 and the calculated first control command value.
According to this configuration, the position of the moving body and the angle in the turning direction (that is, the orientation (posture)) can be determined from the detection result of the sensor, and the deviation from the target trajectory is specified using these, and this specified deviation is used. Thus, each target value in the traveling direction and the turning direction of the moving body is calculated. Based on these target values, the first control command value and the second control command value are calculated. At this time, since the second control command value is calculated using the first control command value, the second control command value in the turning direction is calculated in consideration of the delay in the traveling direction. Also with this configuration, the moving body can move on the target route with high accuracy.

また、本発明は、目標経路を精度よく走行することができる倒立振子型の移動体の制御方法を提供する。すなわち、この制御方法は、車輪と、車輪に支持される車体と、車輪を回転駆動する駆動装置と、駆動装置を制御する制御装置を備えており、駆動装置によって車輪を回転駆動することで車体を倒立状態に維持しながら路面上を走行する倒立振子型移動体の制御方法である。
この制御方法では、(1)移動体の目標位置を時間の関数で表した目標軌道を用いて、車体が倒立を維持しつつ移動体の進行方向の位置を制御するための第1制御指令値を算出する工程と、(2)目標軌道と実測又は推定される移動体の進行方向の位置に関する情報とを用いて、移動体の旋回方向の角度を制御するための第2制御指令値を算出する工程と、(3)第1制御指令値と第2制御指令値に基づいて車輪を駆動する工程と、を有している。そして、上記各工程を繰返し実行することで移動体を制御する。
この制御方法によっても、移動体の進行方向の位置に関する情報を利用して移動体の旋回方向の制御指令値を算出するため、移動体は目標経路上を精度よく移動することができる。
In addition, the present invention provides an inverted pendulum type moving body control method capable of accurately traveling on a target route. That is, this control method includes a wheel, a vehicle body supported by the wheel, a drive device that rotationally drives the wheel, and a control device that controls the drive device, and the vehicle body is driven by rotating the wheel by the drive device. This is a control method for an inverted pendulum type moving body that travels on the road surface while maintaining an inverted state.
In this control method, (1) a first control command value for controlling the position of the moving body in the traveling direction while maintaining the vehicle body inverted using a target trajectory representing the target position of the moving body as a function of time. And (2) calculating a second control command value for controlling the angle of the turning direction of the moving body using the target trajectory and the information about the position of the moving body that is actually measured or estimated. And (3) driving the wheel based on the first control command value and the second control command value. And a mobile body is controlled by performing repeatedly each said process.
Also with this control method, since the control command value in the turning direction of the moving body is calculated using the information related to the position of the moving body in the traveling direction, the moving body can accurately move on the target route.

移動体の斜視図。The perspective view of a moving body. 移動体の進行方向と旋回方向を説明するための図。The figure for demonstrating the advancing direction and turning direction of a mobile body. 制御装置30の機能ブロック図。The functional block diagram of the control apparatus 30. FIG. 進行方向目標値算出部40の機能ブロック図。The functional block diagram of the advancing direction target value calculation part 40. FIG. 旋回方向目標値算出部50の機能ブロック図。The functional block diagram of the turning direction target value calculation part 50. FIG. 制御装置30の処理を示すフローチャート。4 is a flowchart showing processing of the control device 30. 第1実施例の移動体の動作を説明するための図。The figure for demonstrating operation | movement of the moving body of 1st Example. 第2実施例に係る制御装置60の機能ブロック図。The functional block diagram of the control apparatus 60 which concerns on 2nd Example. 制御装置60の処理を示すフローチャート。The flowchart which shows the process of the control apparatus 60. FIG. 第3実施例に係る制御装置88の機能ブロック図。The functional block diagram of the control apparatus 88 which concerns on 3rd Example. 制御装置88の処理を示すフローチャート。The flowchart which shows the process of the control apparatus 88. FIG. 倒立振子型の移動体の構造的な特性を説明するための図。The figure for demonstrating the structural characteristic of the movable body of an inverted pendulum type.

下記に詳細に説明する実施例の主要な特徴を最初に列記する。
(形態1)移動体は、同一の車軸上に配された2つの車輪と、車輪によって支持される車体によって構成される。
(形態2)車体は、各車輪を駆動するモータと、車体の傾斜角速度を検出するジャイロセンサと、各モータの回転角速度を検出するエンコーダと、これらのセンサの検出結果に応じてモータを駆動する制御装置を備えている。
(形態3)制御装置は、目標軌道(x(t),y(t))を用いて、移動体の進行方向の位置を制御するための制御指令値を算出する。
(形態4)制御装置は、車体の進行方向の位置と速度と加速度の少なくとも一つを用いて、目標軌道(x(t),y(t))を修正する。そして、修正した目標軌道(x’,y’)を用いて、移動体の旋回方向の角度を制御する制御指令値を算出する。
(形態5)制御装置は、エンコーダにより検出されたモータの回転角速度を用いて、直前の制御周期から移動体が移動した距離を算出する。次に、算出された移動距離と目標軌道(x(t),y(t))を用いて、その移動距離を実現すべきだった時刻t’を算出する。そして、時刻t’における目標軌道(x(t’),y(t’))を用いて、移動体の旋回方向の角度を制御するための制御指令値を算出する。
(形態6)制御装置は、今回の制御周期で算出された「移動体の進行方向の位置を制御するための制御指令値」を用いて、今回の制御周期において移動体が移動するであろう距離を算出する。次に、算出された移動距離と目標軌道(x(t),y(t))を用いて、その移動距離を実現すべき時刻t’を算出する。そして、時刻t’における目標軌道(x(t’),y(t’))を用いて、移動体の旋回方向の角度を制御するための制御指令値を算出する。
(形態7)移動体は、移動体の位置と姿勢(x,y,φ)を測定するセンサを備える。この種のセンサとしては、GPSセンサ、レーザレンジセンサ、モーションキャプチャ等を用いることができる。
(形態8)制御装置は、測定した移動体の位置と姿勢(x,y,φ)と、目標軌道(x(t),y(t))とから、(1)移動体の進行方向の位置偏差と(2)移動体の進行方向に直交する方向の位置偏差と(3)移動体の姿勢偏差を算出する。次に、算出されたこれらの偏差を用いて、移動体の進行方向の位置に関する目標値(例えば、進行方向の速度)と、移動体の旋回方向の角度に関する目標値(例えば、旋回方向の角速度)を算出する。そして、移動体の進行方向の位置を制御するための制御指令値については、算出された進行方向の位置に関する目標値を用いて算出する。移動体の旋回方向の角度を制御するための制御指令値については、算出された進行方向の位置に関する目標値と、算出された移動体の旋回方向の角度に関する目標値と、算出された移動体の進行方向の位置を制御するための制御指令値を用いて算出する。
(形態9)形態8において、移動体の旋回方向の角度を制御するための制御指令値は、「移動体の旋回方向の角度に関する目標値」に、「移動体の進行方向の位置に関する目標値」と「移動体の進行方向の位置を制御するための制御指令値」の比(すなわち、「移動体の進行方向の位置を制御するための制御指令値」/「移動体の進行方向の位置に関する目標値」)を掛けて算出された「移動体の旋回方向の角度に関する新しい目標値」に基づいて算出される。
The main features of the embodiments described in detail below are listed first.
(Mode 1) The moving body is composed of two wheels arranged on the same axle and a vehicle body supported by the wheels.
(Mode 2) The vehicle body drives the motor according to the detection results of the motors that drive the wheels, the gyro sensor that detects the tilt angular velocity of the vehicle body, the encoder that detects the rotational angular velocity of each motor, and the sensors. A control device is provided.
(Mode 3) The control device calculates a control command value for controlling the position of the moving body in the traveling direction using the target trajectory (x (t), y (t)).
(Mode 4) The control device corrects the target trajectory (x (t), y (t)) using at least one of the position in the traveling direction of the vehicle body, the velocity, and the acceleration. Then, using the corrected target trajectory (x ′, y ′), a control command value for controlling the angle of the moving body in the turning direction is calculated.
(Mode 5) The control device calculates the distance traveled by the moving body from the immediately preceding control cycle, using the rotational angular velocity of the motor detected by the encoder. Next, using the calculated moving distance and the target trajectory (x (t), y (t)), a time t ′ at which the moving distance should have been realized is calculated. Then, using the target trajectory (x (t ′), y (t ′)) at time t ′, a control command value for controlling the angle of the moving body in the turning direction is calculated.
(Mode 6) The control device will move the moving body in the current control cycle using the “control command value for controlling the position of the moving body in the traveling direction” calculated in the current control cycle. Calculate the distance. Next, using the calculated moving distance and the target trajectory (x (t), y (t)), a time t ′ at which the moving distance is to be realized is calculated. Then, using the target trajectory (x (t ′), y (t ′)) at time t ′, a control command value for controlling the angle of the moving body in the turning direction is calculated.
(Mode 7) The moving body includes a sensor that measures the position and orientation (x, y, φ) of the moving body. As this type of sensor, a GPS sensor, a laser range sensor, a motion capture, or the like can be used.
(Mode 8) The control device, based on the measured position and orientation (x, y, φ) of the moving body and the target trajectory (x (t), y (t)), (1) the traveling direction of the moving body The position deviation, (2) the position deviation in the direction orthogonal to the traveling direction of the moving body, and (3) the posture deviation of the moving body are calculated. Next, using these calculated deviations, a target value related to the position of the moving body in the traveling direction (for example, speed in the traveling direction) and a target value related to the angle in the turning direction of the moving body (for example, angular velocity in the turning direction). ) Is calculated. And about the control command value for controlling the position of the advancing direction of a mobile body, it calculates using the target value regarding the position of the calculated advancing direction. Regarding the control command value for controlling the angle of the turning direction of the moving body, the target value related to the calculated position in the traveling direction, the target value related to the calculated angle of the turning direction of the moving body, and the calculated moving body It calculates using the control command value for controlling the position of the advancing direction.
(Mode 9) In mode 8, the control command value for controlling the angle of the moving body in the turning direction is “target value related to the angle of the moving body in the turning direction” and “target value related to the position of the moving body in the traveling direction”. ”And“ control command value for controlling the position of the moving body in the traveling direction ”(ie,“ control command value for controlling the position of the moving body in the traveling direction ”/“ position of the moving body in the traveling direction ” Is calculated based on “a new target value related to the angle of the moving body in the turning direction”.

(第1実施例) 本発明の一実施例に係る倒立振子型の移動体について、図面を参照しながら説明する。図1に示すように、移動体10は、車軸16上に配された2つの車輪12、14と、車輪12、14によって車軸16周りに傾動可能に支持された車体20によって構成される。車体20の重心は、車軸16よりも上方に位置している。移動体10は、車輪12、14を駆動することによって車体20の倒立状態を維持し、かつ、車輪12、14を駆動することによって床面を走行する。 First Embodiment An inverted pendulum type moving body according to an embodiment of the present invention will be described with reference to the drawings. As shown in FIG. 1, the moving body 10 includes two wheels 12 and 14 disposed on an axle 16 and a vehicle body 20 supported by the wheels 12 and 14 so as to be tiltable around the axle 16. The center of gravity of the vehicle body 20 is located above the axle 16. The moving body 10 maintains the inverted state of the vehicle body 20 by driving the wheels 12 and 14, and travels on the floor surface by driving the wheels 12 and 14.

車輪12は、モータ22と接続されており、モータ22によって駆動される。車輪14は、モータ24と接続されており、モータ24によって駆動される。すなわち、車輪12、14はそれぞれ独立して駆動される。車体20の倒立状態は、車体20の傾斜角θ(車体20の重心から車軸16に下ろした垂線と、鉛直軸とが成す角度)に応じて車輪12、14を駆動することによって維持される。また、車輪12、14を駆動することによって、移動体10は床面を走行する。移動体10の旋回方向(鉛直軸回りの方向)の角度φは、車輪12、14のそれぞれの回転角速度を制御することによって変更することができる。すなわち、移動体10の床面(x−y平面)上の運動は、その非ホロノミック拘束によって、移動体10の進行方向(車軸16に対して直交する方向)の速度rと、移動体10の旋回方向(鉛直軸回りの方向)の角速度φ’で表される(図2参照)。   The wheel 12 is connected to the motor 22 and is driven by the motor 22. The wheel 14 is connected to a motor 24 and is driven by the motor 24. That is, the wheels 12 and 14 are driven independently. The inverted state of the vehicle body 20 is maintained by driving the wheels 12 and 14 in accordance with the inclination angle θ of the vehicle body 20 (the angle formed by the vertical line drawn from the center of gravity of the vehicle body 20 to the axle 16 and the vertical axis). Moreover, the mobile body 10 travels on the floor surface by driving the wheels 12 and 14. The angle φ in the turning direction (the direction around the vertical axis) of the moving body 10 can be changed by controlling the rotational angular velocities of the wheels 12 and 14. That is, the movement of the moving body 10 on the floor surface (xy plane) is caused by the non-holonomic constraint of the speed r in the traveling direction of the moving body 10 (direction perpendicular to the axle 16) and the movement of the moving body 10. It is represented by an angular velocity φ ′ in the turning direction (direction around the vertical axis) (see FIG. 2).

車体20は、車輪12、14を駆動するモータ22、24と、車体20の傾斜角速度θ’を検出するジャイロセンサ28と、モータ22、24に制御指令値を出力する制御装置30を備えている。   The vehicle body 20 includes motors 22 and 24 that drive the wheels 12 and 14, a gyro sensor 28 that detects the inclination angular velocity θ ′ of the vehicle body 20, and a control device 30 that outputs a control command value to the motors 22 and 24. .

車体20内に配されたモータ22、24は、車輪12、14に連結されている。また、モータ22、24は制御装置30と電気的に接続されている。モータ22、24は、制御装置30から入力される制御指令値にしたがって、車輪12、14を駆動する。
モータ22にはエンコーダ22aが設けられている。エンコーダ22aは、制御装置30と電気的に接続されている。エンコーダ22aは、モータ22の回転角速度(すなわち、車輪12の回転角速度)を検出する。エンコーダ22aが検出した車輪12の回転角速度は、制御装置30に入力される。また、モータ24にもエンコーダ24aが設けられている。エンコーダ24aは、車輪14の回転角速度を検出する。エンコーダ24aが検出した車輪14の回転角速度も、制御装置30に入力される。
Motors 22 and 24 arranged in the vehicle body 20 are connected to the wheels 12 and 14. The motors 22 and 24 are electrically connected to the control device 30. The motors 22 and 24 drive the wheels 12 and 14 in accordance with a control command value input from the control device 30.
The motor 22 is provided with an encoder 22a. The encoder 22a is electrically connected to the control device 30. The encoder 22a detects the rotational angular velocity of the motor 22 (that is, the rotational angular velocity of the wheel 12). The rotational angular velocity of the wheel 12 detected by the encoder 22a is input to the control device 30. The motor 24 is also provided with an encoder 24a. The encoder 24 a detects the rotational angular velocity of the wheel 14. The rotational angular velocity of the wheel 14 detected by the encoder 24 a is also input to the control device 30.

ジャイロセンサ28は、車体20の内部に配されている。ジャイロセンサ28は制御装置30と電気的に接続されている。ジャイロセンサ28は、車体20の傾斜角速度θ’を検出する。検出した傾斜角速度θ’は、制御装置30に入力される。   The gyro sensor 28 is disposed inside the vehicle body 20. The gyro sensor 28 is electrically connected to the control device 30. The gyro sensor 28 detects the inclination angular velocity θ ′ of the vehicle body 20. The detected tilt angular velocity θ ′ is input to the control device 30.

制御装置30は、CPU,ROM,RAMを備えたマイクロプロセッサによって構成されている。制御装置30は、車体20内に配されている。制御装置30は、モータ22、24と、エンコーダ22a、24aと、ジャイロセンサ28に電気的に接続されている。
図3は制御装置30の機能を示すブロック図である。図3に示すように、制御装置30は、目標軌道入力部38、進行方向目標値算出部40、倒立制御コントローラ32、旋回方向目標値算出部50、旋回制御コントローラ34、指令値合成部36によって構成されている。なお、図3においては、図の見易さを考慮してモータ及びエンコーダを1つだけ図示したが、実際には2つのモータ22、24にそれぞれ独立して制御指令値が出力される。
The control device 30 is constituted by a microprocessor having a CPU, a ROM, and a RAM. The control device 30 is disposed in the vehicle body 20. The control device 30 is electrically connected to the motors 22 and 24, the encoders 22a and 24a, and the gyro sensor 28.
FIG. 3 is a block diagram illustrating functions of the control device 30. As shown in FIG. 3, the control device 30 includes a target trajectory input unit 38, a traveling direction target value calculation unit 40, an inversion control controller 32, a turning direction target value calculation unit 50, a turning control controller 34, and a command value synthesis unit 36. It is configured. In FIG. 3, only one motor and encoder are illustrated in consideration of easy viewing, but actually, control command values are independently output to the two motors 22 and 24.

目標軌道入力部38は、移動体10の目標軌道(x(t),y(t))を記憶する。目標軌道入力部38に記憶されている目標軌道(x(t),y(t))は、進行方向目標値算出部40と旋回方向目標値算出部50に入力される。目標軌道(x(t),y(t))は、移動体10の床面上の位置(x,y)を時間tの関数で表したものである。目標軌道(x(t),y(t))は、外部装置(例えば、遠隔操縦装置又はあらかじめ決められた起動を生成する装置など)を用いて、目標軌道入力部38に入力される。   The target trajectory input unit 38 stores the target trajectory (x (t), y (t)) of the moving body 10. The target trajectory (x (t), y (t)) stored in the target trajectory input unit 38 is input to the traveling direction target value calculation unit 40 and the turning direction target value calculation unit 50. The target trajectory (x (t), y (t)) represents the position (x, y) on the floor surface of the moving body 10 as a function of time t. The target trajectory (x (t), y (t)) is input to the target trajectory input unit 38 using an external device (for example, a remote control device or a device that generates a predetermined activation).

進行方向目標値算出部40は、制御周期毎に、目標軌道(x(t),y(t))を用いて、移動体10の進行方向の制御目標値(目標接線速度s’(t)、目標経路長s(t))を算出する。進行方向目標値算出部40の詳細については、後で詳述する。   The traveling direction target value calculation unit 40 uses the target trajectory (x (t), y (t)) for each control cycle, and the traveling target control target value (target tangential velocity s ′ (t)). , Target route length s (t)) is calculated. Details of the traveling direction target value calculation unit 40 will be described later.

倒立制御コントローラ32は、制御周期毎に、ジャイロセンサ28で検出された車体20の傾斜角速度θ’と、エンコーダ22a,24aで検出された車輪12,14の回転角速度と、進行方向目標値算出部40で算出された目標経路長s(t)及び目標接線速度s’(t)に基づいて、移動体10が倒立を維持し、かつ、移動体10の進行方向の位置を制御するための制御指令値を算出する。具体的には、エンコーダ22a,24aで検出された車輪12,14の回転角速度と車体の傾斜角(ジャイロセンサ28で検出)から算出される移動体の経路長s(t)と目標経路長s(t)との偏差を小さくし、エンコーダ22a,24aで検出された車輪12,14の回転角速度から算出される移動体の接線速度s’(t)と目標接線速度s’(t)との偏差を小さくし、かつ、ジャイロセンサ28で検出された車体20の傾斜角速度θ’に基づいて移動体10が倒立を維持するように、各モータ22,24を駆動するためのトルク指令値を算出する。倒立制御コントローラ32の具体的な構成としては、例えば、特許文献1に開示された構成を用いることができる。 The inversion control controller 32, for each control cycle, the inclination angular velocity θ ′ of the vehicle body 20 detected by the gyro sensor 28, the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a, and the traveling direction target value calculation unit. Based on the target path length s (t) and the target tangential speed s ′ (t) calculated at 40, the moving body 10 maintains an inverted position and controls the position of the moving body 10 in the traveling direction. Calculate the command value. Specifically, the path length s r (t) and the target path length of the moving body calculated from the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a and the tilt angle of the vehicle body (detected by the gyro sensor 28). The deviation from s (t) is reduced, and the tangential speed s r ′ (t) and the target tangential speed s ′ (t) of the moving body calculated from the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a. Torque command values for driving the motors 22 and 24 so that the mobile body 10 is inverted based on the inclination angular velocity θ ′ of the vehicle body 20 detected by the gyro sensor 28. Is calculated. As a specific configuration of the inverted control controller 32, for example, the configuration disclosed in Patent Document 1 can be used.

旋回方向目標値算出部50は、制御周期毎に、目標軌道(x(t),y(t))と、エンコーダ22a,24aで検出された車輪12,14の回転角速度を用いて、移動体10の旋回方向の制御目標値(目標角度φ、目標角速度φ’)を算出する。   The turning direction target value calculation unit 50 uses the target trajectory (x (t), y (t)) and the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a for each control cycle. 10 control target values (target angle φ, target angular velocity φ ′) in the turning direction are calculated.

旋回制御コントローラ34は、制御周期毎に、エンコーダ22a,24aで検出された車輪12,14の回転角速度と、旋回方向目標値算出部50で算出された目標角度φ及び目標角速度φ’に基づいて、移動体10の旋回方向の位置を制御するための制御指令値を算出する。具体的には、「エンコーダ22a,24aで検出された車輪12,14の回転角速度から算出される移動体10の現在の角度φ」と目標角度φとの偏差と、「エンコーダ22a,24aで検出された車輪12,14の回転角速度から算出される移動体の角速度φ’」と目標角速度φ’との偏差を小さくするように、各モータ22,24を駆動するためのトルク指令値を算出する。なお、旋回制御コントローラ34の具体的な構成としては、例えば、特許文献1に開示された構成を用いることができる。 The turning controller 34 is based on the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a, the target angle φ and the target angular velocity φ ′ calculated by the turning direction target value calculation unit 50 for each control cycle. Then, a control command value for controlling the position of the moving body 10 in the turning direction is calculated. Specifically, the deviation between the “current angle φ r of the moving body 10 calculated from the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a” and the target angle φ, and “the encoders 22a and 24a Torque command values for driving the motors 22 and 24 so as to reduce the deviation between the angular velocity φ r ′ of the moving body calculated from the detected rotational angular velocities of the wheels 12 and 14 and the target angular velocity φ ′. calculate. As a specific configuration of the turning control controller 34, for example, the configuration disclosed in Patent Document 1 can be used.

指令値合成部36は、倒立制御コントローラ32から出力されるトルク指令値と、旋回制御コントローラ34から出力されるトルク指令値を合成し、その合成したトルク指令値をモータ22,24に出力する。モータ22,24は、この合成したトルク指令値に基づいて駆動される。   The command value synthesis unit 36 synthesizes the torque command value output from the inverted control controller 32 and the torque command value output from the turning control controller 34, and outputs the synthesized torque command value to the motors 22 and 24. The motors 22 and 24 are driven based on the combined torque command value.

次に、上述した進行方向目標値算出部40の詳細な構成について説明する。図4は進行方向目標値算出部40の機能を示すブロック図である。図4に示すように、進行方向目標値算出部40は、目標速度算出部42と目標接線速度算出部44と目標経路長算出部46によって構成される。
目標速度算出部42は、目標軌道入力部38から入力された目標軌道(x(t),y(t))から移動体10の目標速度を算出する。具体的には、目標軌道(x(t),y(t))を微分することによって、目標速度(x’(t),y’(t))を算出する。算出された目標速度(x’(t),y’(t))は目標接線速度算出部44に入力される。
目標接線速度算出部44は、入力された目標速度(x’(t),y’(t))から目標接線速度を算出する。目標接線速度とは、ベクトルで与えられた目標速度(x’(t),y’(t))の絶対値(スカラー)である。したがって、目標接線速度s’(t)は、(x’(t)+y’(t)1/2によって算出される。算出された目標接線速度s’(t)は、倒立制御コントローラ32と目標経路長算出部46に入力される。
目標経路長算出部46は、入力された目標接線速度(x’(t)+y’(t)1/2を積分することによって移動体10の目標経路長s(t)を算出する。算出された目標経路長s(t)は、倒立制御コントローラ32と目標経路長算出部46に入力される。
上述したことから明らかなように、移動体10の進行方向の目標値(目標接線速度s’、目標経路長s)は目標軌道(x(t),y(t))のみに基づいて算出される。
Next, a detailed configuration of the above-described traveling direction target value calculation unit 40 will be described. FIG. 4 is a block diagram illustrating functions of the traveling direction target value calculation unit 40. As shown in FIG. 4, the traveling direction target value calculation unit 40 includes a target speed calculation unit 42, a target tangential speed calculation unit 44, and a target path length calculation unit 46.
The target speed calculation unit 42 calculates the target speed of the moving body 10 from the target trajectory (x (t), y (t)) input from the target trajectory input unit 38. Specifically, the target velocity (x ′ (t), y ′ (t)) is calculated by differentiating the target trajectory (x (t), y (t)). The calculated target speed (x ′ (t), y ′ (t)) is input to the target tangential speed calculation unit 44.
The target tangential speed calculation unit 44 calculates the target tangential speed from the input target speed (x ′ (t), y ′ (t)). The target tangential speed is an absolute value (scalar) of a target speed (x ′ (t), y ′ (t)) given by a vector. Therefore, the target tangential velocity s ′ (t) is calculated by (x ′ (t) 2 + y ′ (t) 2 ) 1/2 . The calculated target tangential speed s ′ (t) is input to the inversion control controller 32 and the target path length calculation unit 46.
The target path length calculation unit 46 calculates the target path length s (t) of the moving body 10 by integrating the input target tangential velocity (x ′ (t) 2 + y ′ (t) 2 ) 1/2. . The calculated target path length s (t) is input to the inversion control controller 32 and the target path length calculation unit 46.
As is clear from the above, the target values (target tangential speed s ′, target path length s) of the moving body 10 are calculated based only on the target trajectory (x (t), y (t)). The

次に、上述した旋回方向目標値算出部50の詳細な構成について説明する。図5は旋回方向目標値算出部50の機能を示すブロック図である。図5に示すように、旋回方向目標値算出部50は、計測接線速度算出部59と、計測経路長算出部58と、修正時刻算出部57と、新目標位置算出部51と、新目標速度算出部52と、新目標加速度算出部54と、目標姿勢(角度)算出部53と、新目標曲率算出部55と、目標角速度算出部56によって構成される。   Next, a detailed configuration of the above-described turning direction target value calculation unit 50 will be described. FIG. 5 is a block diagram illustrating functions of the turning direction target value calculation unit 50. As shown in FIG. 5, the turning direction target value calculation unit 50 includes a measured tangential speed calculation unit 59, a measurement path length calculation unit 58, a correction time calculation unit 57, a new target position calculation unit 51, and a new target speed. The calculation unit 52, the new target acceleration calculation unit 54, the target posture (angle) calculation unit 53, the new target curvature calculation unit 55, and the target angular velocity calculation unit 56 are configured.

計測接線速度算出部59と計測経路長算出部58と修正時刻算出部57と新目標位置算出部51は、エンコーダ22a,24aで検出された車輪12,14の回転角速度を用いて、進行方向の応答性の遅れを考慮した新しい目標位置(x,y)を算出する。
すなわち、計測接線速度算出部59は、エンコーダ22a,24aで検出された車輪12,14の回転角速度から、移動体10の接線速度s’を算出する。すなわち、車輪12,14の回転角速度と、車輪12,14の幾何学的関係(車輪12,14の直径,車輪12,14間の距離)とから、移動体10の接線速度s’を算出する。算出された接線速度s’は、目標角度算出部56と計測経路長算出部58に入力される。
計測経路長算出部58は、計測接線速度算出部59で算出された接線速度s’を積分することによって、移動体10の経路長sを算出する。算出された経路長sは、修正時刻算出部57に入力される。
修正時刻算出部57は、算出された経路長sと目標軌道(x(t),y(t))とから、その算出された経路長sを実現すべきであった時刻t’を算出する。すなわち、目標軌道(x(t),y(t))から時間tと目標経路長s(t)の関係が得られる。次いで、時間tと目標経路長s(t)の関係に基づいて、計測経路長算出部58で算出された経路長sとなるときの時刻t’を算出する。算出された時刻t’は新目標位置算出部51に入力される。
新目標位置算出部51は、修正時刻算出部57で算出した時刻t’を用いて、新しい目標位置(x(t’),y(t’))を算出する。したがって、進行方向の速度応答性の遅れから、現実の経路長sが目標軌道から得られる目標経路長s(t)とならない場合には、経路長sを実現すべきであった時刻t’が求められ、その時刻t’における目標位置が新しい目標位置(x(t’),y(t’))として採用される。
The measurement tangential velocity calculation unit 59, the measurement path length calculation unit 58, the correction time calculation unit 57, and the new target position calculation unit 51 use the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a, respectively. A new target position (x, y) is calculated in consideration of the response delay.
That is, the measured tangential velocity calculation unit 59 calculates the tangential velocity s r ′ of the moving body 10 from the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a. That is, the tangential velocity s r ′ of the moving body 10 is calculated from the rotational angular velocity of the wheels 12 and 14 and the geometrical relationship (the diameter of the wheels 12 and 14 and the distance between the wheels 12 and 14). To do. The calculated tangential velocity s r ′ is input to the target angle calculation unit 56 and the measurement path length calculation unit 58.
The measurement path length calculation unit 58 calculates the path length s r of the moving body 10 by integrating the tangential speed s r ′ calculated by the measurement tangential speed calculation unit 59. The calculated route length s r is input to the correction time calculation unit 57.
The correction time calculation unit 57 calculates a time t ′ at which the calculated route length s r should be realized from the calculated route length s r and the target trajectory (x (t), y (t)). calculate. That is, the relationship between the time t and the target path length s (t) is obtained from the target trajectory (x (t), y (t)). Next, based on the relationship between the time t and the target route length s (t), a time t ′ when the route length s r calculated by the measured route length calculation unit 58 is obtained is calculated. The calculated time t ′ is input to the new target position calculation unit 51.
The new target position calculation unit 51 uses the time t ′ calculated by the correction time calculation unit 57 to calculate a new target position (x (t ′), y (t ′)). Therefore, when the actual path length s r does not become the target path length s (t) obtained from the target trajectory due to the delay in speed response in the traveling direction, the time t when the path length s r should have been realized. 'Is obtained, and the target position at the time t' is adopted as the new target position (x (t '), y (t')).

新目標速度算出部52と目標姿勢算出部53と新目標加速度算出部54と新目標曲率算出部55と目標角速度算出部56は、上記のように算出された新しい目標位置(x(t’),y(t’))に基づいて、移動体10の旋回方向の制御目標値(目標角度φ、目標角速度φ’)を算出する。
すなわち、新目標速度算出部52は、新しく算出された新目標位置(x(t’),y(t’))を用いて、移動体10の新目標速度を算出する。具体的には、新目標位置(x(t’),y(t’))を微分することによって、新目標速度(x’(t’),y’(t’))を算出する。算出された新目標速度(x’(t’),y’(t’))は目標姿勢算出部53と新目標加速度算出部44と新目標曲率算出部55に入力される。
目標姿勢算出部53は、算出された新目標速度(x’(t’),y’(t’))を用いて、移動体10の目標姿勢(すなわち、旋回方向の目標角度φ)を算出する。すなわち、tanφ=[y’(t’)]/[x’(t’)]の関係が成立するため、この式に算出された新目標速度(x’(t’),y’(t’))を代入することで、目標角度φが算出される。算出された目標角度φは、旋回制御コントローラ34に入力される。
新目標加速度算出部54は、算出された新目標速度(x’(t’),y’(t’))を用いて、移動体10の新目標加速度を算出する。具体的には、新目標速度(x’(t’),y’(t’))を微分することによって、新目標加速度(x’’(t’),y’’(t’))を算出する。算出された新目標加速度(x’’(t’),y’’(t’))は、新目標曲率算出部55に入力される。
新目標曲率算出部55は、新目標速度(x’(t’),y’(t’))と、新目標加速度(x’’(t’),y’’(t’))を用いて、移動体10の新目標曲率1/Rを算出する。具体的には、新目標速度(x’(t’),y’(t’))から移動体の目標接線速度v’を算出し、新目標加速度(x’’(t’),y’’(t’))から移動体の法線方向の目標加速度aを算出する。ここで、目標接線速度v’と法線方向の加速度aと曲率半径Rの間には、a=v’/Rの関係が成立する。このため、目標接線速度v’と法線方向の加速度aが分かると、曲率半径Rを算出することができる(すなわち、曲率1/Rを算出することができる)。算出された曲率1/Rは目標角度算出部56に入力される。
目標角速度算出部56は、計測接線速度算出部59で算出された現実の接線速度s’と、算出された曲率1/Rを用いて、移動体10の旋回方向の目標角速度φ’を算出する。具体的には、接線速度s’に曲率(1/R)を掛けることで目標角速度φ’を算出する。算出された目標角速度φ’は旋回制御コントローラ34に入力される。
The new target velocity calculation unit 52, the target posture calculation unit 53, the new target acceleration calculation unit 54, the new target curvature calculation unit 55, and the target angular velocity calculation unit 56 are calculated using the new target position (x (t ′)) calculated as described above. , Y (t ′)), a control target value (target angle φ, target angular velocity φ ′) in the turning direction of the moving body 10 is calculated.
That is, the new target speed calculation unit 52 calculates the new target speed of the moving body 10 using the newly calculated new target position (x (t ′), y (t ′)). Specifically, the new target speed (x ′ (t ′), y ′ (t ′)) is calculated by differentiating the new target position (x (t ′), y (t ′)). The calculated new target speed (x ′ (t ′), y ′ (t ′)) is input to the target posture calculation unit 53, the new target acceleration calculation unit 44, and the new target curvature calculation unit 55.
The target posture calculation unit 53 calculates the target posture of the moving body 10 (that is, the target angle φ in the turning direction) using the calculated new target speed (x ′ (t ′), y ′ (t ′)). To do. That is, since the relationship of tan φ = [y ′ (t ′)] / [x ′ (t ′)] is established, the new target speeds (x ′ (t ′), y ′ (t ′) calculated by this equation are satisfied. )) Is substituted to calculate the target angle φ. The calculated target angle φ is input to the turning control controller 34.
The new target acceleration calculation unit 54 calculates the new target acceleration of the moving body 10 using the calculated new target speed (x ′ (t ′), y ′ (t ′)). Specifically, the new target acceleration (x ″ (t ′), y ″ (t ′)) is obtained by differentiating the new target speed (x ′ (t ′), y ′ (t ′)). calculate. The calculated new target acceleration (x ″ (t ′), y ″ (t ′)) is input to the new target curvature calculation unit 55.
The new target curvature calculation unit 55 uses the new target speed (x ′ (t ′), y ′ (t ′)) and the new target acceleration (x ″ (t ′), y ″ (t ′)). Thus, the new target curvature 1 / R of the moving body 10 is calculated. Specifically, the target tangential speed v ′ of the moving body is calculated from the new target speed (x ′ (t ′), y ′ (t ′)), and the new target acceleration (x ″ (t ′), y ′ It calculates the target acceleration a n of the normal direction of the moving body from the '(t')). Here, the target tangential velocity v 'between the acceleration a n and the curvature radius R of the normal direction, a n = v' relationship 2 / R is satisfied. Therefore, when an acceleration a n of the target tangential velocity v 'and the normal direction is known, it is possible to calculate the radius of curvature R (i.e., it is possible to calculate the curvature 1 / R). The calculated curvature 1 / R is input to the target angle calculation unit 56.
The target angular velocity calculation unit 56 calculates the target angular velocity φ ′ in the turning direction of the moving body 10 using the actual tangential velocity s r ′ calculated by the measured tangential velocity calculation unit 59 and the calculated curvature 1 / R. To do. Specifically, the target angular velocity φ ′ is calculated by multiplying the tangential velocity s r ′ by the curvature (1 / R). The calculated target angular velocity φ ′ is input to the turning controller 34.

なお、上述した実施例では、移動体10の旋回方向の位置を制御するために、移動体10の旋回方向の目標角度φ及び目標角速度φ’を用いた。しかしながら、目標角度φと目標角速度φ’の両者を常に使う必要はなく、例えば、移動体10の旋回方向の目標角度φにのみ基づいて、移動体10の旋回方向の位置を制御するようにしてもよい。この場合は、上述した新目標加速度算出部54と新目標曲率算出部55と目標角速度算出部56を無くすことができ、旋回方向目標値算出部50の構成を簡略化することができる。   In the above-described embodiment, the target angle φ and the target angular velocity φ ′ of the turning direction of the moving body 10 are used to control the position of the moving body 10 in the turning direction. However, it is not always necessary to use both the target angle φ and the target angular velocity φ ′. For example, the position of the moving body 10 in the turning direction is controlled based only on the target angle φ in the turning direction of the moving body 10. Also good. In this case, the new target acceleration calculator 54, the new target curvature calculator 55, and the target angular velocity calculator 56 described above can be eliminated, and the configuration of the turning direction target value calculator 50 can be simplified.

次に、上述のように構成される制御装置30によって行われる処理について説明する。図6は制御装置30の処理手順を示すフローチャートである。
図6に示すように、制御装置30は、まず、制御装置30が起動されてからの時間t(すなわち、移動体10の制御開始時からの経過時間)を読み込む(S2)。時間tは、例えば、制御装置30にタイマを装備し、このタイマによって制御開始時からの経過時間を計測することで得られる。
次に、各モータ22,24のエンコーダ22a,24aの値(すなわち、車輪12,14の回転角速度)を読込む(S4)。
次に、ステップS4で読込んだエンコーダ22a,24aの値から、移動体10の現在の接線速度s’と、経路長sと、旋回方向の角度(姿勢)φと、旋回方向の角速度φ’を算出する(S6)。すなわち、エンコーダ22a,24aの値から車輪12,14の回転速度を算出し、この算出された回転速度と車輪12,14の幾何学的関係から移動体10のx方向、y方向、φ方向の速度を算出する(例えば、特許文献1に開示されたヤコビ行列を利用して算出することができる)。次いで、算出された各速度成分から、移動体10の現在の接線速度s’と、経路長sと、旋回方向の角度(姿勢)φと、旋回方向の角速度φ’を算出する。
ステップS8では、ジャイロセンサ28で検出された傾斜角速度θ’を読込む。
ステップS10では、ステップS2で読み込んだ時間tと、目標軌道入力部38に記憶されている目標軌道データ(x(t),y(t))とから、目標接線速度s’(t)と目標経路長s(t)を算出する(進行方向目標値算出部40の説明参照)。
次に、ステップS6で算出された現在の接線速度s’及び経路長sと、ステップS8で読み込まれた傾斜角速度θ’と、ステップS10で算出された目標接線速度s’(t)と目標経路長s(t)とを用いて、移動体10の進行方向に関するモータ22,24のトルク指令値をそれぞれ算出する(S12)。
次に、ステップS6で算出した現在の経路長sを用いて、その経路長sを実現すべきであった時刻t’を求め(S14)、その求めた修正時刻t’から移動体10の旋回方向の目標角度(目標姿勢)φと目標角速度φ’を算出する(s16)。(旋回方向目標値算出部50の説明を参照)。
次に、ステップS6で算出された現在の旋回方向の角度(姿勢)φ及び角速度φ’と、ステップS14で算出された旋回方向の目標角度(目標姿勢)φ及び目標角速度φ’とを用いて、移動体10の旋回方向に関するモータ22,24のトルク指令値をそれぞれ算出する(S18)。
ステップS20では、ステップS12で算出されたトルク指令値と、ステップS18で算出されたトルク指令値を加算し、これらの値をモータ22,24(詳細には、モータ22,24を駆動するモータ駆動回路)に出力する。これによって、各車輪12,14が駆動されることとなる。ステップS20が終わるとステップ2に戻り、次の制御タイミングにおける処理が開始される。
なお、ステップS2〜ステップS20までの処理は、所定の時間間隔(例えば、10ms)で行われる。これによって、移動体10は、制御周期毎に、目標軌道からのずれが補正されることとなる。
Next, processing performed by the control device 30 configured as described above will be described. FIG. 6 is a flowchart showing a processing procedure of the control device 30.
As shown in FIG. 6, the control device 30 first reads a time t after the control device 30 is activated (that is, an elapsed time since the start of the control of the moving body 10) (S2). The time t is obtained, for example, by installing a timer in the control device 30 and measuring the elapsed time from the start of control using this timer.
Next, the values of the encoders 22a and 24a of the motors 22 and 24 (that is, the rotational angular velocities of the wheels 12 and 14) are read (S4).
Next, from the values of the encoders 22a and 24a read in step S4, the current tangential speed s r ′ of the moving body 10, the path length s r , the turning direction angle (posture) φ r, and the turning direction An angular velocity φ r ′ is calculated (S6). That is, the rotational speeds of the wheels 12 and 14 are calculated from the values of the encoders 22a and 24a, and the x-direction, y-direction, and φ-direction of the moving body 10 are calculated from the calculated rotational speed and the geometric relationship between the wheels 12 and 14. The speed is calculated (for example, it can be calculated using the Jacobian matrix disclosed in Patent Document 1). Next, the current tangential speed s r ′, path length s r , turning direction angle (posture) φ r , and turning direction angular speed φ r ′ of the moving body 10 are calculated from the calculated speed components. .
In step S8, the tilt angular velocity θ ′ detected by the gyro sensor 28 is read.
In step S10, the target tangential velocity s' (t) and the target are obtained from the time t read in step S2 and the target trajectory data (x (t), y (t)) stored in the target trajectory input unit 38. The path length s (t) is calculated (see the description of the traveling direction target value calculation unit 40).
Next, the current tangential velocity s r ′ and path length s r calculated in step S6, the tilt angular velocity θ ′ read in step S8, and the target tangential velocity s ′ (t) calculated in step S10. Using the target path length s (t), torque command values of the motors 22 and 24 relating to the traveling direction of the moving body 10 are calculated (S12).
Next, using the current route length s r calculated in step S6, a time t ′ at which the route length s r should have been obtained is obtained (S14), and the moving object 10 is obtained from the obtained correction time t ′. The target angle (target posture) φ and the target angular velocity φ ′ in the turning direction are calculated (s16). (Refer to the description of the turning direction target value calculation unit 50).
Next, the current turning direction angle (posture) φ r and angular velocity φ r ′ calculated in step S6 and the turning direction target angle (target posture) φ and target angular velocity φ ′ calculated in step S14 are obtained. The torque command values of the motors 22 and 24 relating to the turning direction of the moving body 10 are respectively calculated (S18).
In step S20, the torque command value calculated in step S12 and the torque command value calculated in step S18 are added, and these values are added to the motors 22 and 24 (specifically, the motor drive for driving the motors 22 and 24). Circuit). As a result, the wheels 12 and 14 are driven. When step S20 ends, the process returns to step 2 to start processing at the next control timing.
Note that the processing from step S2 to step S20 is performed at a predetermined time interval (for example, 10 ms). Thereby, the mobile body 10 will correct | amend the deviation | shift from a target track | orbit for every control period.

上述した移動体10が目標軌道(x(t),y(t))からずれた場合における移動体10の動作について、図7を参照して説明する。なお、移動体10の制御周期はΔtとする。図7では、x−y平面上に目標軌道が設定されており、この目標軌道に従って本実施例の移動体10が走行した走行経路と、この目標軌道に従って従来技術に係る移動体が走行した走行経路とが模式的に示されている。図7に示すように、目標軌道として時刻tのときの目標位置P(t),時刻t+Δtのときの目標位置P(t+Δt),時刻t+2Δtのときの目標位置P(t+2Δt),時刻t+3Δtのときの目標位置P(t+3Δt)が設定されている。移動体は時刻tで目標位置P(t)にいるものとし、この位置P(t)から目標軌道(P→P→P→P→・)と移動するものとする。 The operation of the moving body 10 when the moving body 10 described above deviates from the target trajectory (x (t), y (t)) will be described with reference to FIG. Note that the control cycle of the moving body 10 is Δt. In FIG. 7, a target trajectory is set on the xy plane, a travel route on which the moving body 10 of the present embodiment travels according to the target trajectory, and a travel on which the mobile body according to the related art travels according to the target trajectory. A route is schematically shown. As shown in FIG. 7, the target position P 1 (t 1) at time t 1 as the target trajectory, the target position P 2 (t 1 + Δt) at time t 1 + Delta] t, the target at time t 1 + 2? T The target position P 4 (t 1 + 3Δt) at the time of position P 3 (t 1 + 2Δt) and time t 1 + 3Δt is set. The moving body is assumed to be at the target position P 1 (t 1 ) at time t 1 and moves from this position P 1 (t 1 ) to the target trajectory (P 1 → P 2 → P 3 → P 4 →). And

まず、従来技術に係る倒立振子型の移動体の場合を説明する。移動体は、まず、時刻tの位置P(t)から時刻t+Δtの目標位置P(t+Δt)に移動するための制御指令値を算出し、この制御指令値に基づいて車輪12,14を駆動する。この際、進行方向については速度応答性の遅れがあるため、移動体は目標位置Pから目標位置Pに到達するために必要な距離(経路長)を移動することができない。一方、旋回方向については速度応答性の遅れがなく、目標軌道で設定された通りに制御される。そのため、移動体は、時刻t+Δtにおいて目標位置Pからずれた位置P’に移動する。
次に、移動体は、目標位置Pから目標位置Pに移動するための制御指令値を算出し、この制御指令値に基づいて車輪12,14を駆動する。この際も、進行方向については速度応答性の遅れから、移動体は目標位置Pから目標位置Pに到達するために必要な距離(経路長)を移動することはできないものとする。一方、旋回方向については速度応答性の遅れがなく、目標軌道で設定された通りに制御される。そのため、移動体は、時刻t+2Δtにおいて目標位置Pからさらにずれた位置P’’に移動する。
以下、同様に目標位置Pから目標位置Pに移動するための制御指令値を算出し、この制御指令値に基づいて車輪12,14を駆動する。この場合も、進行方向の速度応答性の遅れから、移動体は目標軌道からさらにずれた位置P’’に移動する。
このように、従来技術の移動体では、進行方向の速度応答性の遅れから移動体が目標軌道からずれると、そのずれが修正されることなく制御指令値が算出される。このため、目標軌道からのずれが大きくなっていく。
First, the case of an inverted pendulum type moving body according to the prior art will be described. Mobile first calculates the control command value for moving to a position P 1 at time t 1 (t 1) from the time t 1 + Delta] t of the target position P 2 (t 1 + Δt) , based on the control command value To drive the wheels 12 and 14. At this time, since there is a delay in speed response in the traveling direction, the moving body cannot move the distance (path length) necessary to reach the target position P 2 from the target position P 1 . On the other hand, the turning direction is controlled as set in the target trajectory without any delay in speed response. Therefore, the moving body moves to a position P 2 ′ that deviates from the target position P 2 at time t 1 + Δt.
Next, the mobile calculates the control command value for moving from the target position P 2 to the target position P 3, to drive the wheels 12, 14 on the basis of the control command value. Also in this case, the delay of the speed responsive for the traveling direction, the mobile shall not be able to move a distance (path length) required to reach the target position P 2 to the target position P 3. On the other hand, the turning direction is controlled as set in the target trajectory without any delay in speed response. Therefore, the moving body moves to a position P 3 ″ further deviated from the target position P 3 at time t 1 + 2Δt.
Hereinafter, similarly calculates a control command value for moving from the target position P 3 to the target position P 4, to drive the wheels 12, 14 on the basis of the control command value. Also in this case, the moving body moves to a position P 4 ″ further deviated from the target trajectory due to a delay in speed response in the traveling direction.
As described above, when the moving body deviates from the target trajectory due to the delay in the speed response in the traveling direction, the control command value is calculated without correcting the deviation. For this reason, the deviation from the target trajectory increases.

次に、本実施例の移動体10の場合を説明する。移動体10は、上述の場合と同様に、まず、時刻tの位置P(t)から時刻tの目標位置P(t+Δt)に移動するための制御指令値を算出し、この制御指令値に基づいて車輪12,14を駆動する。この場合も、進行方向については速度応答性の遅れから、移動体は目標位置Pから目標位置Pに到達するために必要な距離(経路長)を移動することはできない。一方、旋回方向については速度応答性の遅れがないため、目標軌道で設定された通りに制御される。そのため、移動体は、従来技術と同様、目標位置Pからずれた位置P’に移動する。
次に、移動体10は、進行方向については、目標位置P(t+Δt)から目標位置P(t+2Δt)に移動するための制御指令値を算出する。一方、旋回方向については、点Pから点P’間の距離に対応した目標軌道上の点P2nを基準として制御目標値を算出する。ここで、目標軌道どおりに移動体が移動した場合に、目標軌道上の点P2nを移動体10が時刻t’で通過するものとする。旋回方向の制御目標値は、点P(t’)(時刻t’における目標軌道上の点)から点P(t’+Δt)(時刻t’+Δt)における目標軌道上の点)に移動するための制御指令値を算出する。次に、これらの制御目標値に基づいて車輪12,14が駆動される。このため、移動体は点P’から点P’に移動する。これによって、移動体10は目標軌道に近づくこととなる。
以下、同様に、進行方向については目標位置P(t+2Δt)から目標位置P(t+3Δt)に移動するための制御指令値を算出する。旋回方向については、移動体10の現在の位置P’を基準として制御指令値が算出される。このため、移動体10は点P’から点P’に移動することとなる。
Next, the case of the moving body 10 of the present embodiment will be described. Moving body 10, similarly to the case described above, first, it calculates a control command value for moving to a position P 1 (t 1) from the time t 2 the target position P 2 at time t 1 (t 1 + Δt) The wheels 12 and 14 are driven based on the control command value. Again, the speed response of the delay for the travel direction, the moving body can not move the distance (path length) required to reach the target position P 1 to the target position P 2. On the other hand, since there is no speed response delay in the turning direction, the turning direction is controlled as set in the target trajectory. Therefore, the moving body moves to a position P 2 ′ that deviates from the target position P 2 , as in the prior art.
Next, the moving body 10 calculates a control command value for moving from the target position P 2 (t 1 + Δt) to the target position P 3 (t 1 + 2Δt) in the traveling direction. On the other hand, for the turning direction, the control target value is calculated with reference to the point P 2n on the target trajectory corresponding to the distance between the point P 1 and the point P 2 ′. Here, when the moving body moves according to the target trajectory, the moving body 10 passes through the point P2n on the target trajectory at time t ′. The control target value in the turning direction moves from point P (t ′) (a point on the target trajectory at time t ′) to point P (t ′ + Δt) (a point on the target trajectory at time t ′ + Δt). The control command value is calculated. Next, the wheels 12 and 14 are driven based on these control target values. For this reason, the moving body moves from the point P 2 ′ to the point P 3 ′. As a result, the moving body 10 approaches the target trajectory.
Hereinafter, similarly, in the traveling direction, a control command value for moving from the target position P 3 (t 1 + 2Δt) to the target position P 4 (t 1 + 3Δt) is calculated. For the turning direction, a control command value is calculated based on the current position P 3 ′ of the moving body 10. For this reason, the moving body 10 moves from the point P 3 ′ to the point P 4 ′.

上述した説明から明らかなように、本実施例の移動体10では、進行方向の速度応答性の遅れから移動体10が目標軌道からずれると、旋回方向については、そのずれた位置を基準として制御指令値が算出される。すなわち、進行方向の移動距離(実際に移動した経路長)に応じて、旋回方向の制御指令値が算出される。これによって、移動体10の目標軌道からのずれが修正され、移動体10は目標経路上を精度よく走行することができる。   As is clear from the above description, in the moving body 10 of the present embodiment, when the moving body 10 deviates from the target trajectory due to a delay in speed response in the traveling direction, the turning direction is controlled based on the deviated position. A command value is calculated. That is, the control command value in the turning direction is calculated according to the moving distance in the traveling direction (the actually traveled path length). Thereby, the deviation of the moving body 10 from the target trajectory is corrected, and the moving body 10 can travel on the target route with high accuracy.

(第2実施例) 次に、本発明の第2実施例に係る移動体について説明する。なお、第2実施例の移動体は、第1実施例の移動体と略同一の構成を備えており、制御装置60の構成のみが相違する。以下では、第1実施例と異なる点を中心に説明する。 Second Example Next, a moving body according to a second example of the present invention will be described. Note that the moving body of the second embodiment has substantially the same configuration as the moving body of the first embodiment, and only the configuration of the control device 60 is different. Below, it demonstrates centering on a different point from 1st Example.

図8は第2実施例の制御装置60の機能を示すブロック図である。図8に示すように、制御装置60は、目標軌道入力部38と、移動体の進行方向の制御指令値を算出するための進行方向目標値算出部62と倒立制御コントローラ64と目標接線速度算出部66と、移動体の旋回方向の制御指令値を算出する旋回方向制御指令値算出部70と、車輪角速度制御器68を有している。   FIG. 8 is a block diagram showing functions of the control device 60 of the second embodiment. As shown in FIG. 8, the control device 60 includes a target trajectory input unit 38, a traveling direction target value calculation unit 62 for calculating a control command value in the traveling direction of the moving body, an inverted control controller 64, and a target tangential velocity calculation. A turning direction control command value calculation unit 70 that calculates a control command value for the turning direction of the moving body, and a wheel angular velocity controller 68.

目標軌道入力部38は、第1実施例と同様に、移動体の目標軌道(x(t),y(t))を記憶している。進行方向目標値算出部62も、第1実施例と同様、移動体の目標軌道(x(t),y(t))を用いて、移動体10の進行方向の制御目標値(目標接線速度s’(t)、目標経路長s(t))を算出する。算出された制御目標値(目標接線速度s’(t)、目標経路長s(t))は、倒立制御用コントローラ64に入力される。   The target trajectory input unit 38 stores the target trajectory (x (t), y (t)) of the moving body, as in the first embodiment. Similarly to the first embodiment, the traveling direction target value calculation unit 62 also uses the target trajectory (x (t), y (t)) of the moving body to control the traveling direction control target value (target tangential velocity). s ′ (t), target route length s (t)) is calculated. The calculated control target values (target tangential speed s ′ (t), target path length s (t)) are input to the inversion control controller 64.

倒立制御用コントローラ64も、第1実施例と同様に、エンコーダ22a,24aで検出された車輪12,14の回転角速度から算出される移動体の経路長s(t)と目標経路長s(t)との偏差を小さくし、エンコーダ22a,24aで検出された車輪12,14の回転角速度から算出される移動体の接線速度s’(t)と目標接線速度s’(t)との偏差を小さくし、かつ、ジャイロセンサ28で検出された車体20の傾斜角速度θ’に基づいて移動体10が倒立を維持するように、各モータ22,24を駆動するための制御指令値を算出する。ただし、第2実施例の倒立制御用コントローラ64は、第1実施例と異なり、制御指令値として、移動体の目標接線加速度(以下、新目標接線加速度という)を出力する。この倒立制御用コントローラ64の設計手法としては、特許文献1に開示された設計手法と同様の手法を用いることができる。すなわち、τ(トルク)=I(慣性モーメント)×ω’(角加速度)の関係から、特許文献1に示すような運動方程式を角加速度ω’を用いて表し、その運動方程式に対して特許文献1と同様の手法を適用して設計することができる。 Similarly to the first embodiment, the inversion control controller 64 also includes the path length s r (t) of the moving body calculated from the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a and the target path length s ( t), and the difference between the tangential speed s r '(t) and the target tangential speed s' (t) of the moving body calculated from the rotational angular velocities of the wheels 12 and 14 detected by the encoders 22a and 24a. Based on the inclination angular velocity θ ′ of the vehicle body 20 detected by the gyro sensor 28, the control command value for driving the motors 22 and 24 is calculated so that the moving body 10 is kept inverted. To do. However, unlike the first embodiment, the inversion control controller 64 of the second embodiment outputs a target tangential acceleration (hereinafter referred to as a new target tangential acceleration) of the moving body as a control command value. As a design method of the inversion control controller 64, a method similar to the design method disclosed in Patent Document 1 can be used. That is, from the relationship of τ (torque) = I (moment of inertia) × ω ′ (angular acceleration), an equation of motion as shown in Patent Document 1 is expressed using the angular acceleration ω ′, and the patent literature describes the equation of motion. 1 can be applied by applying the same method as in FIG.

目標接線速度算出部66は、倒立制御用コントローラ64で算出された新目標接線加速度を積分して新目標接線速度を算出する。この新目標接線速度は、旋回方向制御指令値算出部70と車輪角速度制御器68に出力される。   The target tangential speed calculation unit 66 integrates the new target tangential acceleration calculated by the inversion control controller 64 to calculate a new target tangential speed. The new target tangential velocity is output to the turning direction control command value calculation unit 70 and the wheel angular velocity controller 68.

旋回方向制御指令値算出部70は、目標軌道(x(t),y(t))と、目標接線速度算出部66で算出された新目標接線速度(すなわち、進行方向の遅れが含まれたもの)を用いて、移動体10の旋回方向の制御指令値(目標角速度φ’)を算出する。旋回方向制御指令値算出部70は、複数の算出部72,74,76,78,80,82,84によって構成され、これらが順に所定の演算を行うことで旋回方向の制御指令値(目標角速度φ’)を算出している。
具体的には、旋回方向制御指令値算出部70は、まず、目標接線速度算出部66で算出された新目標接線速度を用いて、移動体の推定経路長を算出する(新経路長算出部76)。次に、移動体の推定される経路長から、その経路長を実現すべき時刻t’を算出する(修正時刻算出部74)。次に、算出した時刻t’と目標軌道(x(t),y(t))から新しい目標位置(x(t’),y(t’))を算出する(新目標位置算出部72)。新しい目標位置(x(t’),y(t’))が算出されると、その目標位置(x(t’),y(t’))から新目標速度を算出する(新目標速度算出部78)。次いで、その算出された新目標速度から新目標加速度を算出し(新目標加速度算出部80)、その新目標加速度と新目標速度から曲率1/Rを算出する(目標曲率算出部82)。最後に、新目標速度算出部78で算出された新目標速度と、目標曲率算出部82で算出された曲率1/Rを掛けて、目標角速度φ’を算出する(目標角速度算出部84)。この算出された目標角速度φ’は車輪角速度制御器68に入力される。
The turning direction control command value calculation unit 70 includes the target trajectory (x (t), y (t)) and the new target tangential velocity calculated by the target tangential velocity calculation unit 66 (that is, a delay in the traveling direction). The control command value (target angular velocity φ ′) in the turning direction of the moving body 10 is calculated using the above. The turning direction control command value calculation unit 70 includes a plurality of calculation units 72, 74, 76, 78, 80, 82, and 84, which perform predetermined calculations in order, thereby controlling the turning direction control command value (target angular velocity). φ ′) is calculated.
Specifically, the turning direction control command value calculation unit 70 first calculates the estimated path length of the moving body using the new target tangential speed calculated by the target tangential speed calculation unit 66 (new path length calculation unit). 76). Next, a time t ′ at which the path length is to be realized is calculated from the estimated path length of the mobile body (corrected time calculation unit 74). Next, a new target position (x (t ′), y (t ′)) is calculated from the calculated time t ′ and the target trajectory (x (t), y (t)) (new target position calculation unit 72). . When a new target position (x (t ′), y (t ′)) is calculated, a new target speed is calculated from the target position (x (t ′), y (t ′)) (new target speed calculation). Part 78). Next, a new target acceleration is calculated from the calculated new target speed (new target acceleration calculation unit 80), and a curvature 1 / R is calculated from the new target acceleration and the new target speed (target curvature calculation unit 82). Finally, the target angular velocity φ ′ is calculated by multiplying the new target velocity calculated by the new target velocity calculating unit 78 and the curvature 1 / R calculated by the target curvature calculating unit 82 (target angular velocity calculating unit 84). The calculated target angular velocity φ ′ is input to the wheel angular velocity controller 68.

車輪角速度制御器68は、目標接線速度算出部66で算出された新目標接線速度と、目標角度算出部84で算出された目標角速度φ’を合成し、各モータ22,24に分配することで、各モータ22,24(各車輪12,14)の目標角速度を算出する。そして、算出された目標角速度とエンコーダ22a,24aで検出される目標角速度との偏差が0となるようにモータ22,24を駆動する。   The wheel angular velocity controller 68 combines the new target tangential velocity calculated by the target tangential velocity calculation unit 66 and the target angular velocity φ ′ calculated by the target angle calculation unit 84, and distributes them to the motors 22 and 24. The target angular velocity of each motor 22, 24 (each wheel 12, 14) is calculated. Then, the motors 22 and 24 are driven so that the deviation between the calculated target angular velocity and the target angular velocity detected by the encoders 22a and 24a becomes zero.

上述したことから明らかなように、第2実施例では、進行方向の制御指令値である新目標接線速度(進行方向の応答速度の遅れが含まれた接線速度)から今回の周期で移動する経路長を算出し、その経路長を実現すべき時刻t’の目標位置(x(t’),y(t’))に基づいて旋回方向の制御指令値を算出する。すなわち、第2実施例では、進行方向の制御指令値から今回の周期で予測されるずれを考慮して、旋回方向の制御指令値が算出されている。   As is clear from the above description, in the second embodiment, the route travels in this cycle from the new target tangential speed (tangential speed including a delay in the response speed in the traveling direction) that is the control command value in the traveling direction. The length is calculated, and the control command value in the turning direction is calculated based on the target position (x (t ′), y (t ′)) at the time t ′ at which the path length is to be realized. That is, in the second embodiment, the control command value in the turning direction is calculated in consideration of the deviation predicted from the control command value in the traveling direction in the current cycle.

次に、上述のように構成される制御装置60によって行われる処理について説明する。図9は制御装置60の処理手順を示すフローチャートである。
図9に示すように、制御装置60は、まず、制御装置60が起動されてからの時間t(制御開始時からの経過時間)を読み込む(S22)。次に、各モータ22,24のエンコーダ22a,24aの値(すなわち、車輪12,13の回転角速度)と、ジャイロセンサ28の値(車体の傾斜角速度)を読込む(S23)。また、読み込んだエンコーダ22a,24aの値から、移動体10の現在の接線速度s’と、経路長sを算出する。
次に、ステップS22で読み込んだ時刻tより移動体の目標接線速度及び目標経路長を算出し(S24)、この算出した目標接線速度及び目標経路長と、エンコーダ22a,24aの値から得られた現在の接線速度及び経路長と、ジャイロセンサ28の傾斜角速度とから、倒立制御用の制御指令値(目標接線加速度)を算出する(S26)。
ステップS28では、ステップS26で算出した制御指令値(加速度)を積分して新目標接線速度を算出する。次いで、ステップS28で算出した新目標接線速度より新経路長を算出し(S30)、この新経路長より修正時刻t’を算出する(S32)。次いで、ステップS32で求めた修正時刻t’から移動体10の旋回方向の目標角速度φ’を算出する(S34)。
次に、ステップS28で算出した新目標接線速度と、ステップS34で算出した目標角速度φ’を合成し、その合成したものを各モータ12,14に分配し、各モータ12,14の目標角速度を算出する(S36)。
次いで、ステップS36で算出された目標角速度とエンコーダ22a,24aで測定された車輪回転速度の偏差が0となるように、モータ22,24を制御する(S38)。これによって、各車輪12,14が駆動されることとなる。ステップS38が終わるとステップ22に戻り、次の制御タイミングにおける処理が開始される。
Next, processing performed by the control device 60 configured as described above will be described. FIG. 9 is a flowchart showing a processing procedure of the control device 60.
As shown in FIG. 9, the control device 60 first reads a time t (elapsed time from the start of control) since the control device 60 was activated (S22). Next, the values of the encoders 22a and 24a of the motors 22 and 24 (that is, the rotational angular velocities of the wheels 12 and 13) and the value of the gyro sensor 28 (the inclination angular velocity of the vehicle body) are read (S23). Further, the current tangential velocity s r ′ and path length s r of the moving body 10 are calculated from the read values of the encoders 22a and 24a.
Next, the target tangential speed and target path length of the moving body are calculated from the time t read in step S22 (S24), and obtained from the calculated target tangential speed and target path length and the values of the encoders 22a and 24a. A control command value (target tangential acceleration) for inversion control is calculated from the current tangential speed and path length and the inclination angular velocity of the gyro sensor 28 (S26).
In step S28, the control command value (acceleration) calculated in step S26 is integrated to calculate a new target tangential velocity. Next, a new path length is calculated from the new target tangential velocity calculated in step S28 (S30), and a correction time t ′ is calculated from the new path length (S32). Next, the target angular velocity φ ′ in the turning direction of the moving body 10 is calculated from the correction time t ′ obtained in step S32 (S34).
Next, the new target tangential velocity calculated in step S28 and the target angular velocity φ ′ calculated in step S34 are combined, and the combined result is distributed to the motors 12, 14, and the target angular velocity of each motor 12, 14 is determined. Calculate (S36).
Next, the motors 22 and 24 are controlled so that the deviation between the target angular velocity calculated in step S36 and the wheel rotational speed measured by the encoders 22a and 24a becomes zero (S38). As a result, the wheels 12 and 14 are driven. When step S38 ends, the process returns to step 22, and processing at the next control timing is started.

上述した説明から明らかなように、第2実施例の移動体では、進行方向の制御指令値である新目標接線速度を用いて移動体の目標位置(進行方向の遅れを含んだ目標位置)を算出し、この目標位置に基づいて旋回方向の制御指令値(目標角速度)を算出する。このため、進行方向の速度応答の遅れによる目標軌道からのずれを見込んでモータ22,24が駆動されることとなり、移動体の目標軌道からのずれが未然に防止される。
また、第2実施例では、エンコーダ22a,24aの検出結果が車輪角速度制御器68にフィードバックされる構成とされている。このため、フィードバックループが小さくなり、モータ22,24を所望の角度に精度良く制御できる。これによって、移動体は、目標軌道によって規定される目標経路上を精度良く走行することができる。
As is apparent from the above description, in the moving body of the second embodiment, the target position of the moving body (target position including the delay in the traveling direction) is determined using the new target tangential velocity that is the control command value in the traveling direction. Based on this target position, a control command value (target angular velocity) in the turning direction is calculated. For this reason, the motors 22 and 24 are driven in anticipation of a deviation from the target trajectory due to a speed response delay in the traveling direction, and the deviation of the moving body from the target trajectory is prevented in advance.
In the second embodiment, the detection results of the encoders 22 a and 24 a are fed back to the wheel angular velocity controller 68. For this reason, the feedback loop becomes small, and the motors 22 and 24 can be accurately controlled to a desired angle. Thereby, the moving body can travel on the target route defined by the target track with high accuracy.

(第3実施例) 次に、本発明の第3実施例に係る移動体について説明する。なお、第3実施例の移動体は、移動体の位置(x、y)と姿勢(φ)を検出するセンサを備え、そのセンサの検出結果を用いる点で、第1実施例や第2実施例の移動体とは異なる。以下の説明では、上述した実施例とは異なる点を中心に説明する。 (Third embodiment) Next, a moving body according to a third embodiment of the present invention will be described. The moving body of the third embodiment includes a sensor that detects the position (x, y) and posture (φ) of the moving body, and uses the detection result of the sensor in the first and second embodiments. It is different from the moving body in the example. In the following description, the points different from the above-described embodiment will be mainly described.

図10は第3実施例の移動体の制御装置88の機能を示すブロック図である。図10に示すように、制御装置88には位置・姿勢センサ86とジャイロセンサ28とエンコーダ22a,24aが接続されている。
位置・姿勢センサ86は、移動体の位置(x,y)と姿勢(φ)を検出する。位置・姿勢センサ86には、例えば、レーザレンジセンサを用いることができる。レーザレンジセンサは、レーザを照射することによって、レーザが照射された物体までの距離を検出する。このため、移動体が走行する部屋の壁の形状を記憶したマップと、レーザを全方位(360度)に照射したときの壁の形状とを照合することで、移動体の位置と姿勢(x,y,φ)を得ることができる。位置・姿勢センサ86の検出結果(x,y,φ)は、制御装置88に入力される。なお、位置・姿勢センサ86には、GPSセンサやモーションキャプチャ等を用いることもできる。
FIG. 10 is a block diagram showing functions of the moving body control device 88 of the third embodiment. As shown in FIG. 10, a position / posture sensor 86, a gyro sensor 28, and encoders 22a and 24a are connected to the control device 88.
The position / posture sensor 86 detects the position (x, y) and posture (φ) of the moving body. As the position / posture sensor 86, for example, a laser range sensor can be used. The laser range sensor detects the distance to the object irradiated with the laser by irradiating the laser. For this reason, the position and posture (x) of the moving body is checked by comparing the map storing the shape of the wall of the room where the moving body travels with the shape of the wall when the laser is irradiated in all directions (360 degrees). , Y, φ) can be obtained. The detection result (x, y, φ) of the position / posture sensor 86 is input to the control device 88. The position / orientation sensor 86 may be a GPS sensor, motion capture, or the like.

制御装置88は、位置・姿勢センサ86の検出結果(x,y,φ)と、ジャイロセンサ28の検出結果θ’と、エンコーダ22a,24aの検出結果とに基づいて、モータ22,24を制御する。制御装置88は、様々な機能38,90〜112を備えており、これらが所定の演算を行うことでモータ22,24を制御するための制御指令値(目標角速度)を算出している。
具体的には、制御装置88は、目標軌道入力部38に記憶されている目標軌道(x(t),y(t))を微分することで、移動体の目標速度(x’(t),y’(t))を算出する。そして、φ=Arctan(y’(t)/x’(t))の式にx’(t)とy’(t)を代入し、移動体の目標姿勢φを算出する(目標姿勢算出部90)。
目標姿勢が算出されると、その目標姿勢と位置・姿勢センサで検出された移動体の姿勢(φ)から姿勢偏差Δφを算出し(偏差算出部92)、その姿勢偏差Δφを軌道トラッキングコントローラ100に入力する。
また、目標軌道(x(t),y(t))から算出される移動体の位置と、位置・姿勢センサ86の検出結果から算出される現在の移動体の位置とを用いて、移動体の進行方向の位置偏差を算出し(偏差算出部94)、その位置偏差を軌道トラッキングコントローラ100に入力する。
また、目標軌道(x(t),y(t))から算出される移動体の位置と、位置・姿勢センサ86の検出結果から算出される現在の移動体の位置とを用いて、移動体の進行方向に直交する方向の位置偏差を算出し(偏差算出部96)、その偏差を軌道トラッキングコントローラ100に入力する。
The control device 88 controls the motors 22 and 24 based on the detection result (x, y, φ) of the position / posture sensor 86, the detection result θ ′ of the gyro sensor 28, and the detection results of the encoders 22a and 24a. To do. The control device 88 includes various functions 38 and 90 to 112, and these perform predetermined calculations to calculate control command values (target angular velocities) for controlling the motors 22 and 24.
Specifically, the control device 88 differentiates the target trajectory (x (t), y (t)) stored in the target trajectory input unit 38 to obtain the target speed (x ′ (t)) of the moving object. , Y ′ (t)). Then, x ′ (t) and y ′ (t) are substituted into the equation φ = Arctan (y ′ (t) / x ′ (t)) to calculate the target posture φ of the moving body (target posture calculation unit 90).
When the target posture is calculated, a posture deviation Δφ is calculated from the target posture and the posture (φ) of the moving body detected by the position / posture sensor (deviation calculation unit 92), and the posture deviation Δφ is calculated as the trajectory tracking controller 100. To enter.
Further, using the position of the moving body calculated from the target trajectory (x (t), y (t)) and the current position of the moving body calculated from the detection result of the position / posture sensor 86, the moving body Is calculated (deviation calculation unit 94), and the positional deviation is input to the trajectory tracking controller 100.
Further, using the position of the moving body calculated from the target trajectory (x (t), y (t)) and the current position of the moving body calculated from the detection result of the position / posture sensor 86, the moving body The position deviation in the direction orthogonal to the traveling direction is calculated (deviation calculation unit 96), and the deviation is input to the trajectory tracking controller 100.

軌道トラッキングコントローラ100は、上記の各偏差を入力とし、これらの偏差を0とするような目標接線速度と目標角速度を算出する。軌道トラッキングコントローラ100の具体的な構成例としては、例えば、特開平3−24605号公報に開示されている。   The trajectory tracking controller 100 receives each of the above deviations and calculates a target tangential velocity and a target angular velocity such that these deviations are zero. A specific configuration example of the trajectory tracking controller 100 is disclosed in, for example, Japanese Patent Laid-Open No. 3-24605.

制御装置88は、軌道トラッキングコントローラ100によって算出された目標接線速度を倒立制御用コントローラ110に入力する。また、算出された目標接線速度を積分して目標経路長を算出し(経路長算出部102)、その目標経路長を倒立制御用コントローラ110に入力する。倒立制御用コントローラ110は、ジャイロセンサ28の検出結果、エンコーダ22a,24aの検出結果、並びに入力された目標接線速度及び目標経路長に基づいて、移動体の進行方向の制御指令値(新接線加速度)を算出する。なお、倒立制御用コントローラ110は、第2実施例の倒立制御用コントローラ64と同一である。
次に、倒立制御用コントローラ110で算出された新接線加速度を積分して新接線速度を算出する(新接線速度算出部108)。算出された新接線速度と軌道トラッキングコントローラ100によって算出された目標接線速度の比(新接線速度/目標接線速度)を算出する(速度比算出部104)。すなわち、倒立制御用コントローラ110で処理された新接線速度は、移動体の進行方向の応答遅れが考慮されたものとなっている。一方、軌道トラッキングコントローラ100で算出された目標接線速度は、移動体の進行方向の応答遅れが考慮されていない。このため、新接線速度と目標接線速度の比を求めることで、移動体の進行方向の速度応答の遅れの程度が算出される。
次に、軌道トラッキングコントローラ100で算出された目標角速度に上記の比(新接線速度/目標接線速度)を掛けて、移動体の旋回方向の制御指令値(目標角速度)を算出する(旋回方向の新目標算出部106)。
車輪角速度制御器112は、新接線速度算出部108で算出された制御指令値(新接線速度)と、目標角度算出部106で算出された制御指令値(目標角速度φ’)を合成して、各モータ22,24に分配することで、各モータ22,24(各車輪12,14)の目標角速度を算出する。そして、算出された目標角速度とエンコーダ22a,24aで検出される目標角速度との偏差が0となるようにモータ22,24を駆動する。
The control device 88 inputs the target tangential speed calculated by the trajectory tracking controller 100 to the inversion control controller 110. Further, the target path length is calculated by integrating the calculated target tangential velocity (path length calculation unit 102), and the target path length is input to the inversion control controller 110. Based on the detection result of the gyro sensor 28, the detection results of the encoders 22a and 24a, and the input target tangential speed and target path length, the inversion control controller 110 controls the moving body control command value (new tangential acceleration). ) Is calculated. The inversion control controller 110 is the same as the inversion control controller 64 of the second embodiment.
Next, a new tangential velocity is calculated by integrating the new tangential acceleration calculated by the inversion control controller 110 (new tangential velocity calculation unit 108). A ratio (new tangential speed / target tangential speed) between the calculated new tangential speed and the target tangential speed calculated by the trajectory tracking controller 100 is calculated (speed ratio calculation unit 104). In other words, the new tangential speed processed by the inversion control controller 110 takes into account the response delay in the traveling direction of the moving body. On the other hand, the target tangential velocity calculated by the trajectory tracking controller 100 does not take into account the response delay in the traveling direction of the moving body. For this reason, the degree of delay of the speed response in the traveling direction of the moving body is calculated by obtaining the ratio between the new tangential speed and the target tangential speed.
Next, the target angular velocity calculated by the trajectory tracking controller 100 is multiplied by the above ratio (new tangential velocity / target tangential velocity) to calculate a control command value (target angular velocity) of the turning direction of the moving body (in the turning direction). New target calculation unit 106).
The wheel angular velocity controller 112 combines the control command value (new tangential velocity) calculated by the new tangential velocity calculation unit 108 and the control command value (target angular velocity φ ′) calculated by the target angle calculation unit 106, By distributing to each motor 22, 24, the target angular velocity of each motor 22, 24 (each wheel 12, 14) is calculated. Then, the motors 22 and 24 are driven so that the deviation between the calculated target angular velocity and the target angular velocity detected by the encoders 22a and 24a becomes zero.

次に、上述のように構成される制御装置88によって行われる処理について説明する。図11は制御装置88の処理手順を示すフローチャートである。
図11に示すように、制御装置88は、まず、制御装置88が起動されてからの時間t(すなわち、制御開始時からの経過時間)を読み込む(S42)。次に、位置・姿勢センサ86の出力を読み込む(S43)。また、ジャイロセンサ28の出力、エンコーダ22a,24aの出力を読み込む(S44)。
次に、目標軌道から目標接線速度を算出し、この目標接線速度から目標姿勢(φ)を算出する(S46)。そして、位置・姿勢センサ86の出力と目標軌道から、各偏差(Δx,Δy,Δφ)を算出する(S48)。次いで、ステップS48で算出した偏差を用いて、軌道トラッキングコントローラ110が移動体の目標接線速度と目標角速度(旋回方向の目標角速度)を算出する(S50)。ステップS50で目標接線速度が算出されると、その目標接線速度を積分して目標経路長が算出される(S52)。次に、ステップS44で検出された検出結果と、ステップS50で算出された目標接線速度と、ステップS52で算出された目標経路長とを用いて、倒立制御用の新接線加速度を算出する(S54)。
ステップS52で算出された新接線加速度は積分されて新接線速度が算出される(S56)。次に、ステップS50で算出した目標接線速度とステップS56で算出した新接線速度の速度比(新接線速度/目標接線速度)を算出し(S58)、この速度比(新目標接線速度/目標接線速度)をステップS50で算出された目標角速度に掛け、旋回方向の目標角速度を修正する(S60)。
次に、ステップS56で算出した新接線速度と、ステップS60で算出した目標角速度φ’を合成し、その合成したものを各モータ12,14に分配し、各モータ12,14の目標角速度を算出する(S62)。
次いで、ステップS62で算出された目標加速度とエンコーダ22a,24aで測定された車輪回転速度の偏差が0となるように、モータ22,24を制御する(S64)。これによって、各車輪12,14が駆動されることとなる。ステップS64が終わるとステップ42に戻り、次の制御タイミングにおける処理が開始される。
Next, processing performed by the control device 88 configured as described above will be described. FIG. 11 is a flowchart showing the processing procedure of the control device 88.
As shown in FIG. 11, the control device 88 first reads a time t (that is, an elapsed time from the start of control) after the control device 88 is activated (S42). Next, the output of the position / posture sensor 86 is read (S43). Further, the output of the gyro sensor 28 and the outputs of the encoders 22a and 24a are read (S44).
Next, a target tangential speed is calculated from the target trajectory, and a target posture (φ) is calculated from the target tangential speed (S46). Then, each deviation (Δx, Δy, Δφ) is calculated from the output of the position / posture sensor 86 and the target trajectory (S48). Next, the trajectory tracking controller 110 calculates the target tangential velocity and target angular velocity (target angular velocity in the turning direction) of the moving body using the deviation calculated in step S48 (S50). When the target tangential speed is calculated in step S50, the target path length is calculated by integrating the target tangential speed (S52). Next, a new tangential acceleration for inversion control is calculated using the detection result detected in step S44, the target tangential velocity calculated in step S50, and the target path length calculated in step S52 (S54). ).
The new tangential acceleration calculated in step S52 is integrated to calculate a new tangential velocity (S56). Next, a speed ratio (new tangential speed / target tangential speed) between the target tangential speed calculated in step S50 and the new tangential speed calculated in step S56 is calculated (S58), and this speed ratio (new target tangential speed / target tangent). (Speed) is multiplied by the target angular velocity calculated in step S50 to correct the target angular velocity in the turning direction (S60).
Next, the new tangential velocity calculated in step S56 and the target angular velocity φ ′ calculated in step S60 are combined, and the combined result is distributed to the motors 12 and 14, and the target angular velocity of each motor 12 and 14 is calculated. (S62).
Next, the motors 22 and 24 are controlled so that the deviation between the target acceleration calculated in step S62 and the wheel rotation speed measured by the encoders 22a and 24a becomes zero (S64). As a result, the wheels 12 and 14 are driven. When step S64 ends, the process returns to step 42 and processing at the next control timing is started.

上述した説明から明らかなように、第3実施例の移動体では、位置・姿勢センサ86の検出結果を用いて移動体が目標経路上を移動するよう制御する。また、旋回方向の目標角速度は、進行方向の速度応答性の遅れを考慮して修正されている。これらによって、移動体は目標経路上を精度良く走行することができる。   As is apparent from the above description, the moving body of the third embodiment is controlled so that the moving body moves on the target route using the detection result of the position / posture sensor 86. Further, the target angular velocity in the turning direction is corrected in consideration of a delay in velocity response in the traveling direction. As a result, the mobile body can travel on the target route with high accuracy.

以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
Specific examples of the present invention have been described in detail above, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above.
The technical elements described in this specification or the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technology illustrated in the present specification or the drawings achieves a plurality of objects at the same time, and has technical utility by achieving one of the objects.

10:移動体
12、14:車輪
16:車軸
20:車体
22、24:モータ
22a、24a:エンコーダ
28:ジャイロセンサ
30,60,88:制御装置
10: moving body 12, 14: wheel 16: axle 20: vehicle body 22, 24: motor 22a, 24a: encoder 28: gyro sensor 30, 60, 88: control device

Claims (6)

車輪と、車輪に支持される車体を備えており、車輪を回転駆動することで車体を倒立状態に維持しながら路面上を走行する倒立振子型の移動体であって、
移動体の目標位置を時間の関数で表した目標軌道を用いて、車体が倒立を維持しつつ移動体の進行方向の位置を制御するための第1制御指令値を算出する手段と、
前記目標軌道と実測又は推定される移動体の進行方向の位置に関する情報とを用いて、移動体の旋回方向の角度を制御するための第2制御指令値を算出する手段と、
第1制御指令値と第2制御指令値に基づいて車輪を駆動する手段と、を備えている倒立振子型移動体。
An inverted pendulum type moving body that includes a wheel and a vehicle body supported by the wheel, and that runs on the road surface while rotating the wheel to maintain the vehicle body in an inverted state,
Means for calculating a first control command value for controlling the position of the moving body in the traveling direction while maintaining the vehicle body inversion using the target trajectory representing the target position of the moving body as a function of time;
Means for calculating a second control command value for controlling the angle of the turning direction of the moving body using the target trajectory and the information about the position in the traveling direction of the moving body that is actually measured or estimated;
An inverted pendulum type moving body comprising: means for driving a wheel based on a first control command value and a second control command value.
第1制御指令値算出手段と第2制御指令値算出手段と駆動手段とを所定周期毎に繰り返し実行することで、移動体が路面上を走行することを特徴とする請求項1の倒立振子型移動体。   2. The inverted pendulum type according to claim 1, wherein the movable body travels on the road surface by repeatedly executing the first control command value calculating means, the second control command value calculating means, and the driving means at predetermined intervals. Moving body. 移動体の進行方向の位置に関する情報を測定するためのセンサをさらに備えており、
第2制御指令値算出手段は、「目標軌道」と「センサの検出結果から得られた移動体の進行方向の位置に関する情報」とから算出される「その測定された進行方向の位置に関する情報に対応した移動体の目標位置」に基づいて、移動体の旋回方向の角度を制御するための第2制御指令値を算出することを特徴とする請求項2に記載の倒立振子型移動体。
A sensor for measuring information about the position of the moving body in the direction of travel;
The second control command value calculating means calculates “information about the position of the measured traveling direction” calculated from “target trajectory” and “information about the position of the moving body in the traveling direction obtained from the detection result of the sensor”. The inverted pendulum type moving body according to claim 2, wherein a second control command value for controlling an angle in a turning direction of the moving body is calculated based on a "target position of the corresponding moving body".
第2制御指令値算出手段は、「目標軌道」と「第1制御指令値算出手段で算出された第1制御指令値から推定される移動体の進行方向の位置に関する情報」とから算出される「その推定された進行方向の位置に関する情報に対応した移動体の目標位置」に基づいて、移動体の旋回方向の角度を制御するための第2制御指令値を算出することを特徴とする請求項2に記載の倒立振子型移動体。   The second control command value calculating means is calculated from “target trajectory” and “information on the position of the moving body in the traveling direction estimated from the first control command value calculated by the first control command value calculating means”. The second control command value for controlling the angle of the turning direction of the moving body is calculated based on "the target position of the moving body corresponding to the information on the estimated position in the traveling direction". The inverted pendulum type moving body according to Item 2. 移動体の位置と旋回方向の角度を測定するセンサと、
センサの検出結果と目標軌道から得られる(1)移動体の進行方向の位置偏差と(2)移動体の進行方向に直交する方向の位置偏差と(3)移動体の旋回方向の角度偏差とに基づいて、移動体の進行方向の位置に関する目標値と、移動体の旋回方向の角度に関する目標値を算出するトラッキングコントローラと、をさらに備えており、
第1制御指令値算出手段は、トラッキングコントローラで算出された移動体の進行方向の位置に関する目標値に基づいて第1制御指令値を算出し、
第2制御指令値算出手段は、トラッキングコントローラで算出された移動体の旋回方向の角度に関する目標値と算出された第1制御指令値に基づいて第2制御指令値を算出することを特徴とする請求項2に記載の倒立振子型移動体。
A sensor for measuring the position of the moving body and the angle of the turning direction;
(1) Position deviation in the traveling direction of the moving body, (2) Position deviation in the direction perpendicular to the traveling direction of the moving body, and (3) Angular deviation in the turning direction of the moving body. And a tracking controller that calculates a target value related to the position of the moving body in the traveling direction and a target value related to the angle of the turning direction of the moving body,
The first control command value calculating means calculates a first control command value based on a target value related to the position of the moving body in the traveling direction calculated by the tracking controller,
The second control command value calculating means calculates the second control command value based on the target value calculated in the turning direction of the moving body calculated by the tracking controller and the calculated first control command value. The inverted pendulum type moving body according to claim 2.
車輪と、車輪に支持される車体と、車輪を回転駆動する駆動装置と、駆動装置を制御する制御装置を備えており、駆動装置によって車輪を回転駆動することで車体を倒立状態に維持しながら路面上を走行する倒立振子型移動体の制御方法であって、
移動体の目標位置を時間の関数で表した目標軌道を用いて、車体が倒立を維持しつつ移動体の進行方向の位置を制御するための第1制御指令値を算出する工程と、
前記目標軌道と実測又は推定される移動体の進行方向の位置に関する情報とを用いて、移動体の旋回方向の角度を制御するための第2制御指令値を算出する工程と、
第1制御指令値と第2制御指令値に基づいて車輪を駆動する工程と、を有しており、
上記各工程を繰返し実行することで移動体を制御することを特徴とする倒立振子型移動体の制御方法。
A wheel, a vehicle body supported by the wheel, a drive device that rotationally drives the wheel, and a control device that controls the drive device are provided, and the vehicle body is maintained in an inverted state by rotationally driving the wheel by the drive device. A method for controlling an inverted pendulum type moving body traveling on a road surface,
Calculating a first control command value for controlling the position of the moving body in the advancing direction while maintaining the vehicle body inverted using a target trajectory representing the target position of the moving body as a function of time;
A step of calculating a second control command value for controlling the angle of the turning direction of the moving body using the target trajectory and the information on the position of the moving body that is actually measured or estimated;
And driving the wheel based on the first control command value and the second control command value,
A control method for an inverted pendulum type moving body, characterized in that the moving body is controlled by repeatedly executing the above steps.
JP2009160133A 2009-07-06 2009-07-06 Inverted pendulum type moving body and control method thereof Expired - Fee Related JP5336955B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009160133A JP5336955B2 (en) 2009-07-06 2009-07-06 Inverted pendulum type moving body and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009160133A JP5336955B2 (en) 2009-07-06 2009-07-06 Inverted pendulum type moving body and control method thereof

Publications (2)

Publication Number Publication Date
JP2011014100A true JP2011014100A (en) 2011-01-20
JP5336955B2 JP5336955B2 (en) 2013-11-06

Family

ID=43592885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009160133A Expired - Fee Related JP5336955B2 (en) 2009-07-06 2009-07-06 Inverted pendulum type moving body and control method thereof

Country Status (1)

Country Link
JP (1) JP5336955B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012244684A (en) * 2011-05-17 2012-12-10 Toyota Motor Corp Moving body control method and program
CN105867371A (en) * 2016-04-06 2016-08-17 北京小米移动软件有限公司 Method and apparatus for controlling balance car to move
WO2020049809A1 (en) * 2018-09-05 2020-03-12 日本電気株式会社 Motion control device, motion control method, non-transitory computer-readable medium, and motion control system
WO2022012156A1 (en) * 2020-07-14 2022-01-20 江南大学 Iterative feedback tuning control for rotating inverted pendulum and robust optimisation method therefor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295430A (en) * 2003-03-26 2004-10-21 Toyota Motor Corp Moving carrier and method for controlling moving carrier

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295430A (en) * 2003-03-26 2004-10-21 Toyota Motor Corp Moving carrier and method for controlling moving carrier

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012244684A (en) * 2011-05-17 2012-12-10 Toyota Motor Corp Moving body control method and program
CN105867371A (en) * 2016-04-06 2016-08-17 北京小米移动软件有限公司 Method and apparatus for controlling balance car to move
CN105867371B (en) * 2016-04-06 2019-05-21 北京小米移动软件有限公司 Control the mobile method and device of balance car
WO2020049809A1 (en) * 2018-09-05 2020-03-12 日本電気株式会社 Motion control device, motion control method, non-transitory computer-readable medium, and motion control system
JPWO2020049809A1 (en) * 2018-09-05 2021-08-26 日本電気株式会社 Motion control device, motion control method, motion control program, and motion control system
JP7078120B2 (en) 2018-09-05 2022-05-31 日本電気株式会社 Motion control device, motion control method, motion control program, and motion control system
WO2022012156A1 (en) * 2020-07-14 2022-01-20 江南大学 Iterative feedback tuning control for rotating inverted pendulum and robust optimisation method therefor

Also Published As

Publication number Publication date
JP5336955B2 (en) 2013-11-06

Similar Documents

Publication Publication Date Title
JP4760162B2 (en) Control method of mobile cart and mobile cart
JP3993883B2 (en) Inverted two-wheeled traveling robot and control method thereof
JP7093504B2 (en) Driver torque estimation device and steering device equipped with it
JP2007219986A (en) Inversion moving device and its control method
JP5321681B2 (en) Moving direction control device and computer program
US8935050B2 (en) Moving body control system, moving body control method, and non-transitory computer readable medium storing control program
JP2019014468A (en) Steering apparatus
JP2008059497A (en) Mobile body and its control method
CN105083376A (en) Steering system
JP2010035330A (en) Travel device and control method of travel device
JP4138546B2 (en) Mobile cart and control method of mobile cart
US10046796B2 (en) Travelling apparatus, control method of travelling apparatus, and control program of travelling apparatus
CN109144078A (en) One kind being based on the conllinear Twin Rudders wheel AGV route method for correcting error of two-dimension code navigation and system
JP5336955B2 (en) Inverted pendulum type moving body and control method thereof
Kim et al. Stable control of the bicycle robot on a curved path by using a reaction wheel
JP2702370B2 (en) Mobile robot with navigation system using inertia
JP5240365B2 (en) Moving direction control device and computer program
JP2003276628A (en) Automatic steering device
JP5907037B2 (en) Moving body
JP4577247B2 (en) Mobile body and control method thereof
JP4646640B2 (en) Mobile cart and control method of mobile cart
JP2015158390A (en) control object model and attitude control method
JP2005080902A (en) Method and apparatus for controlling posture of driving body and traveling vehicle
JP7391616B2 (en) Mobile body pose estimation device
JP2006334729A (en) Inverted pendulum type carriage robot and its controlling method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130225

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: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R150 Certificate of patent or registration of utility model

Ref document number: 5336955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees