JP7221833B2 - Nonlinear model predictive controller - Google Patents
Nonlinear model predictive controller Download PDFInfo
- Publication number
- JP7221833B2 JP7221833B2 JP2019158051A JP2019158051A JP7221833B2 JP 7221833 B2 JP7221833 B2 JP 7221833B2 JP 2019158051 A JP2019158051 A JP 2019158051A JP 2019158051 A JP2019158051 A JP 2019158051A JP 7221833 B2 JP7221833 B2 JP 7221833B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- robot
- leg
- time
- collision
- 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.)
- Active
Links
Images
Landscapes
- Feedback Control In General (AREA)
Description
特許法第30条第2項適用 平成30年8月31日開催の「非線形現象の特徴化に基づく制御理論調査研究会 第5回研究会」にて発表Application of Article 30,
本発明は、非線形モデル予測制御装置に関する。 The present invention relates to a nonlinear model predictive controller.
二足歩行ロボットのような安定性の低いシステムを制御する際には、未来(有限時間後まで)のシステム挙動を予測しながら制御を行うモデル予測制御(receding horizon control;リシーディングホライゾン制御)を用いることが有効である。モデル予測制御は、制御周期(サンプリング周期)ごとに各時刻から有限時間未来までの最適制御問題を解き、制御入力値を決定するフィードバック制御である。 When controlling a system with low stability, such as a bipedal robot, model predictive control (receding horizon control) is used to perform control while predicting future system behavior (until a finite amount of time). It is effective to use Model predictive control is feedback control that solves an optimum control problem from each time to a finite time future for each control cycle (sampling cycle) to determine a control input value.
フィードバック制御において、二足歩行ロボットは歩行動作等を伴う非線形性の高いシステムであるので、二足歩行ロボットの制御は、非線形モデル予測制御によって行われることが好ましい。 In feedback control, since the bipedal robot is a highly nonlinear system involving walking motions, etc., the control of the bipedal robot is preferably performed by nonlinear model predictive control.
非特許文献1には、周囲物との衝突を前提とした制御対象(例えばロボットの脚の動作)の非線形制御モデル制御装置が開示されている。
Non-Patent
しかしながら、周囲物との衝突(例えばロボットの脚の接地)が将来(次の瞬間)のどのタイミングで発生するかを予測しながら制御することは難しい。そのため、非特許文献1に記載の技術では、周囲物との衝突のタイミングを予め設定した仮の時刻として制御を実行している。よって、将来の実際の衝突タイミングに制御結果がより良く合う高精度な非線形モデル予測制御装置が望まれる。
However, it is difficult to control while predicting at what timing in the future (the next moment) a collision with a surrounding object (for example, a leg of the robot touches the ground) will occur. Therefore, in the technique described in
本発明は、上述のような実状に鑑みてなされたものであり、周囲物と衝突することを前提とした制御対象に対し、将来の実際の衝突タイミングに制御結果がより良く合う高精度な非線形モデル予測制御装置を提供することを、その目的とする。 The present invention has been made in view of the above-mentioned actual situation. The object is to provide a model predictive controller.
本発明にかかる非線形モデル予測制御装置は、制御対象の非線形制御モデルの最適化問題を演算しながらフィードバック制御を行うことによって、各時刻において将来の制御対象の応答を予測しながら制御対象の制御を行うことが可能に構成された非線形モデル予測制御装置であって、繰り返し周囲物との衝突が発生することを前提とする動作を実行制御されるように構成された制御対象に対して、各時刻において当該時刻から所定期間後までにおける当該衝突の回数を予測する予測手段と、周囲物との衝突が発生することを前提とした前記非線形制御モデルの最適化問題の演算を、予測した衝突回数に応じて実行する演算手段と、を備える、ものである。 The nonlinear model predictive control device according to the present invention performs feedback control while calculating the optimization problem of the nonlinear control model of the controlled object, thereby controlling the controlled object while predicting the future response of the controlled object at each time. A non-linear model predictive control device configured to be able to perform the following at each time on a controlled object configured to be executed and controlled on the premise that it repeatedly collides with a surrounding object: predicting means for predicting the number of collisions for a predetermined period after the current time, and computing the optimization problem of the non-linear control model on the premise that collisions with surrounding objects will occur, based on the predicted number of collisions. and computing means for executing in response.
本発明は、上述したように、各時刻において所定期間後までに制御対象が衝突する回数を予測し、その予測した衝突回数に応じて非線形制御モデルの最適化問題を演算している。したがって、本発明にかかる非線形モデル予測制御装置によれば、将来の実際の衝突タイミングに制御結果がより良く合う高精度な予測制御を実行することができる。 As described above, the present invention predicts the number of collisions of the controlled object within a predetermined period of time at each time, and calculates the optimization problem of the nonlinear control model according to the predicted number of collisions. Therefore, according to the nonlinear model predictive control device according to the present invention, highly accurate predictive control can be executed in which the control result better matches the actual collision timing in the future.
本発明によれば、周囲物と衝突することを前提とした制御対象に対し、将来の実際の衝突タイミングに制御結果がより良く合う高精度な非線形モデル予測制御装置を提供できる。 According to the present invention, it is possible to provide a highly accurate non-linear model predictive control device in which the control result better matches the future actual collision timing for a controlled object that is assumed to collide with a surrounding object.
以下、図面を参照して本発明の実施の形態について説明する。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. In each drawing, the same elements are denoted by the same reference numerals, and redundant description is omitted as necessary.
<実施の形態1>
図1は、実施の形態1にかかるロボットシステム1を示す概略図である。また、図2は、実施の形態1にかかるロボットシステム1の構成を示す機能ブロック図である。ロボットシステム1は、ロボット100と、ロボットの動作を制御する制御装置2とを有する。
<
FIG. 1 is a schematic diagram showing a
ロボット100は、胴体102と、2つの脚である右脚110R及び左脚110Lとを有する。ロボット100は、2つの脚(右脚110R及び左脚110L)を用いて歩行動作を行うことが可能な二足歩行ロボットである。右脚110R及び左脚110Lは、ロボット100の胴体102の下部に設けられている。ここで、図1に示すように、ロボット100の前方向をX軸方向、上方向をY軸方向とする。また、以下、右脚110Rに関する構成要素の符号に「R」を付し、左脚110Lに関する構成要素の符号に「L」を付すが、それぞれの構成要素について左右を区別しない場合には、「R」及び「L」は、適宜、省略され得る。
The
右脚110Rは、胴体102に近い方から順に、股関節部120Rと、上腿部112Rと、膝関節部122Rと、下腿部114Rと、足首関節部124Rと、足部116Rとを有する。同様に、左脚110Lは、胴体102に近い方から順に、股関節部120Lと、上腿部112Lと、膝関節部122Lと、下腿部114Lと、足首関節部124Lと、足部116Lとを有する。足部116R及び足部116Lの底部には、それぞれ足裏センサ118が設けられている。足裏センサ118は、足部116の底部に加わる荷重を検出する。
The
股関節部120R及び股関節部120Lは、胴体102の下部に取り付けられている。そして、股関節部120R及び股関節部120Lを介して、それぞれ、上腿部112R及び上腿部112Lが胴体102と接続されている。言い換えると、右脚110R及び左脚110Lは、それぞれ、股関節部120R及び股関節部120Lを介して、胴体102と接続されている。
The
また、膝関節部122Rを介して、上腿部112Rと下腿部114Rとが接続されている。同様に、膝関節部122Lを介して、上腿部112Lと下腿部114Lとが接続されている。また、足首関節部124Rを介して、下腿部114Rと足部116Rとが接続されている。同様に、足首関節部124Lを介して、下腿部114Lと足部116Lとが接続されている。
Also, the
股関節部120は、XY平面に垂直な軸(つまりロボット100の横方向に水平な軸)の周りに回転する。これにより、右脚110R及び左脚110Lは、前後に動作し得る。したがって、ロボット100は、右脚110R及び左脚110Lを交互に前に出すことにより歩行動作を行うことができる。
The hip joint 120 rotates around an axis perpendicular to the XY plane (that is, an axis horizontal to the lateral direction of the robot 100). This allows the
膝関節部122は、XY平面に垂直な軸の周りに回転する。これにより、右脚110R及び左脚110Lは、膝関節部122で屈曲動作を行うことができる。また、足首関節部124は、XY平面に垂直な軸の周りに回転する。これにより、足部116は、下腿部114に対して上下に動作し得る。
The knee joint part 122 rotates around an axis perpendicular to the XY plane. As a result, the
図2に示すように、ロボット100の各関節部(股関節部120、膝関節部122及び足首関節部124)は、角度センサ130と、モータ140とを有する。角度センサ130は、例えばエンコーダであって、各関節部の関節角度を検出する。モータ140は、各関節部を動作させる、アクチュエータとしての機能を有する。また、各関節部は、各関節部のモータ140のトルクを検出するトルクセンサ136を有してもよい。また、ロボット100の周囲の状態を検出するためのカメラが、胴体102に内蔵されていてもよい。
As shown in FIG. 2 , each joint (hip joint 120 , knee joint 122 and ankle joint 124 ) of the
制御装置2は、例えばコンピュータとしての機能を有する。制御装置2は、ロボット100の内部(例えば胴体102)に搭載されてもよい。また、制御装置2は、ロボット100と物理的に離れていてもよく、その場合、ロボット100と有線又は無線を介して通信可能に接続されてもよい。制御装置2は、ロボット100の動作、特に、右脚110R及び左脚110Lの動作を制御する。さらに具体的には、制御装置2は、各関節部のモータのトルクを制御することで、右脚110R及び左脚110Lの姿勢を制御する。つまり、ロボットシステム1において、制御装置2はマスタ装置としての機能を有し、ロボット100はスレーブ装置としての機能を有する。
The
制御装置2は、主要なハードウェア構成として、CPU(Central Processing Unit)4と、ROM(Read Only Memory)6と、RAM(Random Access Memory)8とを有する。CPU4は、制御処理及び演算処理等を行う演算装置としての機能を有する。ROM6は、CPU4によって実行される制御プログラム及び演算プログラム等を記憶するための機能を有する。RAM8は、処理データ等を一時的に記憶するための機能を有する。
The
また、制御装置2は、状態取得部12、非線形モデル予測制御部14、及びサーボ制御部16(以下、「各構成要素」と称する)を有する。各構成要素は、例えば、CPU4がROM6に記憶されたプログラムを実行することによって実現可能である。また、各構成要素は、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてインストールするようにして、実現するようにしてもよい。なお、各構成要素は、上記のようにソフトウェアによって実現されることに限定されず、何らかの回路素子等のハードウェアによって実現されてもよい。
The
状態取得部12は、ロボット100の現在の歩行に関する状態を示すデータ(状態パラメータ)を取得する、状態取得手段としての機能を有する。状態取得部12は、各センサ(角度センサ130、足裏センサ118及びトルクセンサ136)から、各センサの検出値を取得する。そして、状態取得部12は、取得された検出値(及び検出値から得られた値)を非線形モデル予測制御部14に対して出力する。なお、「検出値から得られた値」とは、例えば、「検出値」が角度センサ130から検出された関節角度である場合、関節角度の速度(変化量,時間微分)であってもよい。この場合、状態パラメータは、関節角度及び関節角度の速度を示してもよい。
The
非線形モデル予測制御部14は、本実施の形態にかかる非線形モデル予測制御装置に相当する部位である。非線形モデル予測制御部14は、ロボット100の動作を制御するための制御入力値(入力値)を算出する算出手段としての機能を有する。非線形モデル予測制御部14は、状態取得部12からの検出値(及び検出値から得られた値)の少なくとも一部を状態パラメータとして入力することができる。非線形モデル予測制御部14は、その状態パラメータに基づいて、モデル予測制御のアルゴリズムを使用してロボット100の動作を制御するための制御入力値を算出する。また、非線形モデル予測制御部14は、算出された制御入力値をサーボ制御部16に対して出力する。
The nonlinear model
非線形モデル予測制御部14は、その状態パラメータに基づいて、非線形モデル予測制御(モデル予測制御)のアルゴリズムを使用して制御対象の動作を制御するための制御入力値を算出し、サーボ制御部16に出力する。非線形モデル予測制御についての詳細は後述する。また、非線形モデル予測制御部14は、ロボットシステム1の外部の上位コントローラ(図示せず)によって、必要な指示値(歩幅、歩行周期等)を入力されてもよい。なお、制御対象がロボット以外のものであった場合でも、出力先が制御対象の部位になるだけで基本的に同様である。
Based on the state parameters, the nonlinear model
サーボ制御部16は、非線形モデル予測制御部14によって算出された制御入力値を用いてロボット100の動作を制御する制御手段としての機能を有する。サーボ制御部16は、算出された制御入力値となるように、ロボット100の各関節部を制御する。また、サーボ制御部16は、サーボアンプの機能を有してもよい。また、サーボ制御部16は、トルク制御を行う場合、各関節部のトルク(関節トルク)が算出された制御入力値となるように、各関節のモータ140を制御する。このとき、サーボ制御部16は、各関節部のトルクセンサ136によって検出されたトルク値を用いてフィードバック制御を行ってもよい。
The
次に、本実施の形態にかかる非線形モデル予測制御について説明する。
非線形モデル予測制御とは、非線形システムに対し、各サンプリング時刻で有限時刻未来までの最適入力(制御入力値の最適解)を求め、得られた入力のうち初期値を実際の入力とする制御である。換言すれば、非線形モデル予測制御部14は、制御対象の非線形制御モデルの最適化問題を演算しながらフィードバック制御を行うことによって、各時刻において将来の制御対象の応答を予測しながら制御対象の制御を行うことが可能に構成されている。非線形モデル予測制御には、非線形最適制御である、フィードバック制御である、及び、拘束条件を組み込み易いという、3つの利点がある。
Next, the nonlinear model predictive control according to this embodiment will be explained.
Non-linear model predictive control is control that determines the optimal input (optimal solution of control input value) for a non-linear system up to a finite time in the future at each sampling time, and uses the initial value of the obtained input as the actual input. be. In other words, the nonlinear model
このように、非線形モデル予測制御は、フィードバック制御であるため外乱に対して強く、拘束条件も多様に組み合わせることができる。このような特徴があるため、非線形モデル予測制御は、多くのシステムへの導入が期待されている。しかしながら、ニュートン法などの従来の反復法では、サンプリング周期内で最適解に収束させることは困難であった。 In this way, since the nonlinear model predictive control is feedback control, it is resistant to disturbances and can be combined with various constraint conditions. Because of these characteristics, nonlinear model predictive control is expected to be introduced to many systems. However, conventional iterative methods such as Newton's method have difficulty converging to the optimum solution within the sampling period.
近年、この問題に対する有効な数値計算法として、C/GMRES(continuation/generalized minimum residual method)法が新たに考案された。C/GMRES法は、連続変形法(continuation method)とGMRES法とを組み合わせたアルゴリズムである。C/GMRES法は、状態変化が連続であるシステムに対し、最適解の連続性を利用して、最適解の変化率を求めながら最適解を追跡していく計算方法である。このC/GMRES法を用いることにより、非線形モデル予測制御においても、実時間(リアルタイム)でシステムを制御することが可能となる。つまり、C/GMRES法を用いることで有限時刻未来までの最適制御問題をサンプリング周期内で解くことが可能になった。本実施の形態においても、C/GMRES法での計算を適用することができる。なお、C/GMRES法については後述する。 In recent years, a new C/GMRES (continuation/generalized minimum residual method) method has been devised as an effective numerical calculation method for this problem. The C/GMRES method is an algorithm that combines the continuation method and the GMRES method. The C/GMRES method is a calculation method for tracking the optimum solution while obtaining the change rate of the optimum solution by utilizing the continuity of the optimum solution for a system in which state changes are continuous. By using this C/GMRES method, it is possible to control the system in real time even in nonlinear model predictive control. That is, by using the C/GMRES method, it has become possible to solve the optimal control problem up to a finite future time within the sampling period. Also in this embodiment, the calculation by the C/GMRES method can be applied. Note that the C/GMRES method will be described later.
そして、本実施の形態にかかる非線形モデル予測制御部14は、その主たる特徴として、次の予測手段及び演算手段を備える。この予測手段は、繰り返し周囲物との衝突(周囲環境との接触等)が発生することを前提とする動作(例えば歩行)を実行制御されるように構成された制御対象に対して、各時刻において当該時刻から所定期間後までにおける当該衝突の回数を予測する。この予測手段は、衝突回数予測手段と称することもできる。
The nonlinear model
上記の演算手段は、周囲物との衝突が起こり得ることを前提とした非線形制御モデルの最適化問題の演算を、予測した衝突回数に応じて(予測した衝突回数ごとに区別して)実行する。以下、このような非線形モデル予測制御部14における制御例について説明する。
The calculation means executes calculations of optimization problems of the nonlinear control model on the premise that collisions with surrounding objects may occur, according to the predicted number of collisions (separately for each predicted number of collisions). An example of control in such a nonlinear model
[制御対象と制御目的]
次に、上述した非線形モデル予測制御を、本実施の形態にかかるロボット100の動作の制御に適用した例について説明する。なお、実施の形態1においては、制御対象としてのロボット100がコンパス型モデルである例について説明するが、非線形モデル予測制御は、ロボット100がコンパス型モデルでなくても適用可能である。
[Control object and control purpose]
Next, an example in which the nonlinear model predictive control described above is applied to control the motion of the
なお、ロボット100の歩行動作は、地面に着いていない脚である遊脚が地面と衝突する(着地する)という動作を含む。この衝突の前後で、ロボット100の一般化速度が不連続に変化する。つまり、このとき、状態ジャンプが発生する。また、一般的に、歩行動作は、周期的な運動である。したがって、ロボット100を、予め定められた周期ごとに状態ジャンプを生じさせる(つまり遊脚を着地させる)ように制御を行うことが可能である。なお、「着地」とは、遊脚が地面と衝突(接触)することに限定されない。つまり、「着地」とは、ロボット100がその上を歩行している面(歩行面)に遊脚が接触することを意味する。
Note that the walking motion of the
図3は、実施の形態1にかかるロボット100をコンパス型モデルに適用する方法を説明するための図である。図3に示した例では、右脚110Rが片脚で支持している期間に地面90に着いている脚支持脚であり、左脚110Lが遊脚(振り脚)である。制御装置2は、支持脚が地面と点接触していることを模擬するため、支持脚(図3の例では右脚110R)の足首関節部124に設けられたトルクセンサ136を用いて、支持脚の足首関節部124のトルクを0に制御する。また、制御装置2は、右脚110R及び左脚110Lの膝関節部122を、伸展状態でロックするように制御する。つまり、制御装置2は、右脚110R及び左脚110Lの膝関節部122の関節角度が伸展状態に対応する角度(例えば0)となるように、膝関節部122のモータ140を制御する。さらに、制御装置2は、遊脚(図3の例では左脚110L)の足裏センサ118を用いて、遊脚の着地を検出する。このようにして、ロボットシステム1は、コンパス型モデルを模擬することができる。
FIG. 3 is a diagram for explaining a method of applying the
図4は、実施の形態1にかかるロボット100をコンパス型モデルに適用した例を説明するための図で、コンパス型ロボットを示す模式図である。図4で例示するロボット(2足歩行ロボット)100は、関節150と、支持脚リンク151と、遊脚リンク152とから構成されるコンパス型モデルにモデル化されている。ここで、関節150は、胴体102及び股関節部120に対応する。また、支持脚リンク151は、右脚110R及び左脚110Lのうちの支持脚に対応する。また、遊脚リンク152は、右脚110R及び左脚110Lのうちの遊脚に対応する。
FIG. 4 is a diagram for explaining an example in which the
関節150の質量をm0とする。また、図4の矢印で示すように、関節150の周りに、制御入力値として入力トルクuが入力される。ここで、支持脚リンク151及び遊脚リンク152の物理的性質は、互いに同じであるとする。支持脚リンク151及び遊脚リンク152の長さを、lとする。また、支持脚リンク151及び遊脚リンク152の質量を、mとする。関節150から各リンクの重心(重心151m及び重心152m)までの長さを、dとする。支持脚リンク151及び遊脚リンク152の重心(重心151m及び重心152m)周りの慣性モーメントを、Iとする。
Assume that the mass of the joint 150 is m0. Also, as indicated by the arrow in FIG. 4, an input torque u is input around the joint 150 as a control input value. Here, it is assumed that the supporting
また、鉛直方向に対する支持脚リンク151の角度をθ1とし、鉛直方向に対する遊脚リンク152の角度をθ2とする。但し、図4において時計回り(各リンクの下端を中心に関節150が前方に回る方向)を正とする。したがって、図4の状態では、θ2<0である。
The angle of the supporting
非線形モデル予測制御部14は、図1のロボット100で例示でき且つ図4で表されるような2足歩行ロボット100を最も単純化したモデル(コンパス型モデル)に対し、制御を行うことになる。この制御は、非線形モデル予測制御を用いた実時間での動的歩行制御である。
The non-linear model
図5は、コンパス型ロボットの片脚支持期と両脚支持期の2つの状態を示す模式図である。図4に示すロボット100の運動では、図5に示すロボット100-1,100-2のようにロボットが2つの状態をとる。ロボット100-1で示す1つの状態は、片脚が地面90に着きもう一方の脚が地面90から離れている状態(片脚支持期)である。ロボット100-2で示すもう1つの状態は、両脚が地面90に着いている状態(両脚支持期)である。以下では、このような片脚支持期に地面90に着いている脚を支持脚、その片脚支持期に地面90に着いていない脚を遊脚と称する。
FIG. 5 is a schematic diagram showing two states of the compass robot, one-leg support period and two-leg support period. In the motion of the
また、歩行動作について次の4つの仮定を置く。
・遊脚と地面90との衝突は完全非弾性衝突とする。すなわち、地面90と衝突した脚が跳ね返ることはない。
・衝突の直後に、それまで支持脚だった脚は相互作用無しで地面90から離れる。
・遊脚と地面90との衝突は一瞬とする。すなわち、両脚支持期は一瞬とする。
・衝突の撃力によりロボットの速度は瞬間的に変わるが、座標は瞬間的には変わらないとものする。
Moreover, the following four assumptions are made about walking motion.
- The collision between the free leg and the
• Immediately after impact, the previously supporting leg leaves the
・The collision between the free leg and the
・It is assumed that the speed of the robot changes instantaneously due to the impact force of the collision, but the coordinates do not change instantaneously.
これらの仮定により、ロボットの歩行動作におけるダイナミクスは、片脚支持期の運動という連続変化、遊脚と地面90との衝突という不連続変化、という2つの事象に分けることができる。次に、これらの仮定に基づき、2つの方程式を導出する。
Based on these assumptions, the dynamics of the walking motion of the robot can be divided into two phenomena: a continuous change of movement during the one-leg support period, and a discontinuous change of collision between the free leg and the
まず片脚支持期の運動方程式は、一般化座標qを
ここで、τ(u)はジョイント部に対する制御入カトルク、M(q)は慣性行列、H(q,q(ドット))は重力とコリオリの力を表す項であり、それぞれ次のような運動方程式で示される通りである。
これより、ロボットの運動方程式及び状態空間ベクトルxを
なお、ここで説明するコンパス型モデルでは、歩行の拘束条件として、ZMP(zero moment point)は考慮されないものとする。 In the compass model described here, ZMP (zero moment point) is not taken into consideration as a constraint condition for walking.
次に、衝突の式を導出する。簡単のため、本実施の形態では衝突後にθ1=θ2という座標の取り直しを行う(但しこの際物理的な意味は一切不変である)。衝突の際に物理的な座標は変わらないという仮定から、衝突直前の座標をq-=[θ1
- θ2
-]Τ、直後の座標をq+=[θ1
+ θ2
+]Τと置き、正方行列を次式のI(バー)で置く。
すると、次式が成り立つ。
それぞれ次式で表される衝突直前の速度、衝突直後の速度
但し、Q-、Q+は下式で示す通りである。
以上により、衝突前後のコンパス型ロボットの状態の変化は、衝突直前と直後の座標x-、x+を用いて
ψ(x)=l(cosθ1-cosθ2)=0 ・・・(A14)
である。
From the above, the change in the state of the compass robot before and after the collision can be calculated using the coordinates x − and x + immediately before and after the collision
is.
上述の説明から分かるように、本実施の形態で例示するコンパス型歩行モデルは、図6で表されるような一般的なモデルで表すことができる。但し、fk(x(t),u(t))はk歩目の時のコンパス型モデルの状態方程式、ψk(x)はk歩目の衝突の条件、γk(x)はk歩目の衝突による状態の不連続変化を表す。また、このモデルは歩行以外にもロボット等が外界との接触を行うモデル全般を表すことができる。 As can be seen from the above description, the compass-type walking model exemplified in the present embodiment can be represented by a general model as shown in FIG. where f k (x(t), u(t)) is the state equation of the compass model at the k-th step, ψ k (x) is the condition for the k-th step collision, and γ k (x) is k Represents a discontinuous change in state due to a step collision. In addition, this model can represent general models in which a robot or the like makes contact with the outside world in addition to walking.
[非線形モデル予測制御とC/GMRES法による実時間制御アルゴリズム]
次に、このように一般化したモデルに対して非線形モデル予測制御を適用する際の最適制御問題の定式化を予測ホライゾン上の衝突の回数ごとに導出するとともに、この非線形モデル予測制御を実時間で実行する実時間制御アルゴリズムについて説明する。
[Non-linear model predictive control and real-time control algorithm by C/GMRES method]
Next, we derive the formulation of the optimal control problem when applying nonlinear model predictive control to such a generalized model for each number of collisions on the prediction horizon. A real-time control algorithm executed in .
ここでは、図6で示した歩行動作を一般化したモデルに対して非線形モデル予測制御を適用する手法を説明する。非線形モデル予測制御(Nonlinear model predictive control;以下NMPC)は、制御対象システムのモデルと、システムの現時刻tの状態に基づき制御される。ここでのモデルは、本実施の形態で言えば状態方程式x(ドット)=fk(x,u)と衝突の式x+=γk(x-)となる。具体的には、NMPCは、上記モデルと現時刻tの状態に基づき、現時刻tから未来t+Tまでのシステムの挙動が最適になるような制御入力uOPT(τ)(t≦τ≦t+Τ)を求める制御則である。また、NMPCは、実際のシステムへの制御入力u(t)を、得られた最適制御入力の初期値、すなわちu(t)=uopt(τ)として与える制御則である。 Here, a method of applying non-linear model predictive control to the generalized model of the walking motion shown in FIG. 6 will be described. Nonlinear model predictive control (hereinafter referred to as NMPC) is controlled based on a model of the system to be controlled and the state of the system at the current time t. In this embodiment, the model is the state equation x(dot)=fk(x, u) and the collision equation x+=γk(x−). Specifically, based on the above model and the state at current time t, NMPC selects the control input uOPT(τ) (t≤τ≤t+T) that optimizes the behavior of the system from current time t to future t+T. This is the desired control law. NMPC is a control law that gives the control input u(t) to the actual system as the initial value of the obtained optimal control input, that is, u(t)=uopt(τ).
*最適性条件の導出*
ここで、システムが衝突のような不連続現象を含む際は、それに応じた最適性条件を導出する必要がある。そこで、ここでは、ホライゾン上での衝突回数に応じた最適性条件を導出する。
*Derivation of optimality condition*
Here, when the system includes discontinuous phenomena such as collisions, it is necessary to derive optimality conditions accordingly. Therefore, here, an optimality condition is derived according to the number of collisions on the horizon.
図6のような状態方程式の切り替えを持つシステムにおいて、状態x∈Rnが状態方程式がfk(x,u)に支配されている時、状態xはサブシステムkに支配され、サブシステムkがアクティブであると記述する。 In a system with state equation switching as in FIG. 6, when state xεR n is governed by state equation f k (x, u), state x is governed by subsystem k, and subsystem k is active.
すなわち、図6のモデルは、サブシステムkがアクティブな時、状態x∈Rnは
ψk(x(tk-))=0 ・・・(A16)
を満たすことで、状態ジャンプ(状態の不連続変化)
x(tk+)=γk(x(tk-)) ・・・(A17)
が起きる。
That is, the model in FIG. 6 states that when subsystem k is active, state xεR n is
By satisfying the state jump (discontinuous change of state)
x(t k +)=γ k (x(t k −)) (A17)
happens.
また、アクティブなサブシステムは、サブシステムkからサブシステムk+1にスイッチし、状態は
このモデルをNMPCによって制御する際には、最適性条件、最適制御の必要条件を導出し、それを数値的に解く必要がある。一方、システムが衝突のような不連続事象を含む際はホライゾン上の衝突の数に応じて最適制御の必要条件が変わってくる。したがって、ここでは次の3つの場面、(場面1)ホライゾン上で衝突が起きない時、(場面2)ホライゾン上で衝突が1回起きる時、(場面3)ホライゾン上で衝突が複数回起きる時、についてそれぞれ最適性条件を導出する。 When controlling this model by NMPC, it is necessary to derive optimality conditions and necessary conditions for optimal control and solve them numerically. On the other hand, when the system contains discontinuous events such as collisions, the optimal control requirements change depending on the number of collisions on the horizon. So here we have three scenarios: (Scene 1) no collision on the horizon, (Scene 2) one collision on the horizon, (Scene 3) multiple collisions on the horizon. , respectively.
つまり、上述のように、非線形モデル予測制御部14は周囲物との衝突が起こり得ることを前提とした非線形制御モデルの最適化問題の演算を行うが、その際、これらの場面に応じて演算を行うことになる。具体的には次の(場面1)~(場面3)に説明するように、衝突が無い場合から複数回発生する場合(総じて、衝突が起こりえる場合)それぞれにおいて最適化問題の演算を行う。
That is, as described above, the nonlinear model
(場面1)ホライゾン上で衝突が起きない時
ホライゾン上で衝突が起きない時、NMPCではシステムのモデル(A15)とシステムの現時刻の状態x(t)に基づき、評価関数
但し、Lkはサブシステムkに割り当てられたステージコスト関数、φkはサブシステムkに割り当てられた終端コスト以降では変数τ(0≦τ≦Τ)を評価区間上の時間パラメータとして扱い、tは定数パラメータとして扱う。また、x*(τ;t)、u*(τ;t)をそれぞれx(t+τ)、u(t+τ)に一致するものとして扱う。 However, L k is the stage cost function assigned to subsystem k, φ k is the terminal cost assigned to subsystem k and thereafter the variable τ (0 ≤ τ ≤ T) is treated as a time parameter on the evaluation interval, and t is treated as a constant parameter. Also, x * (τ; t) and u * (τ; t) are treated as corresponding to x(t+τ) and u(t+τ), respectively.
このとき、NMPCの最適制御問題は
また、実際のシステムヘの制御入力は、
u(t)=u*(0;t) ・・・(A23)
として与えられる。
Also, the control input to the actual system is
u(t)=u * (0;t) (A23)
given as
次に、この非線形最適制御問題を数値的に解くために最適制御問題を離散化して扱う。ホライゾンTをN分割すると、解くべき最適制御問題は、
x0
*(t)=x(t) ・・・(A24)
xi+1
*(t)=xi
*(t)+fk(xi
*(t),ui
*(t))Δτ,
i=0,・・・,N-1
・・・(A25)
のもとで、評価関数
x0 * (t)=x(t) (A24)
x i +1 * (t) = x i * (t) + fk (x i * (t), u i * (t)) Δτ,
i=0,...,N-1
... (A25)
Under the evaluation function
この問題に対して停留条件、最適性条件を導出すると、
Hk(x,u,λ)=Lk(x,u)+λTfk(x,u) ・・・(A30)
である。
Deriving the stationary and optimality conditions for this problem yields
Hk (x,u,λ ) = Lk (x,u)+ λTfk (x,u) (A30)
is.
このとき、最適制御問題は、(A24)-(A29)を満たすような未知量x0 *(t),・・・,xN *(t)、u0 *(t),・・・,uN-1 *(t)、λ0 *(t),・・・,λN *(t)を求める問題となる。もしu0 *(t),・・・,uN-1 *(t)を知っていればx0 *(t),・・・,xN *(t)、λ0 *(t),・・・,λN *(t)は(A24)-(A28)から計算することができる。 At this time, the optimal control problem is the unknown quantity x 0 * (t), . It becomes a problem to find u N−1 * (t), λ 0 * (t), . . . , λ N * (t). If u 0 * (t),..., u N-1 * (t) are known, x 0 * (t),..., x N * (t), λ 0 * (t), . . , λ N * (t) can be calculated from (A24)−(A28).
そこで、本質的な未知量としてU(t)を
このとき、U(t)についての最適性条件で構成されたベクトルは
(場面2)ホライゾン上で衝突が1回起きる時
次に、ホライゾン上で衝突が1回起きる場合について最適性条件を導出する。ホライゾン上の時刻τkで衝突が起きるとすると、状態について、
このとき、最適制御問題は、これらの状態についての方程式のもとで
次に、ホライゾン上で衝突が起きない場合と同様にホライゾン上を離散化して最適性条件を求める。まず、衝突が起きるステップikを
ikΔτ≦τk≦(ik+1)Δτ ・・・(A38)
として定義すると、状態の予測は
, the state prediction is
また、ホライゾン上の状態の初期値はこれまでと同様に
x0
*(t)=x(t) ・・・(A45)
として与えられる。評価関数Jは
given as The evaluation function J is
このとき最適制御問題は、(A39)-(A45)のもとで評価関数(A46)を最小にするような制御入力の系列ui *(t)(i=0,・・・,N-1)、u*(τk+;t)を求める制御入力を求める問題に帰着される。この問題に対して最適性条件を導出するために、衝突条件(A41)に対してラグランジュ乗数ν∈Rlを導入する。このとき、最適性条件は次のように得られる。 At this time, the optimal control problem is a sequence of control inputs u i * (t) (i=0, . . . , N− 1), which reduces to the problem of finding a control input that yields u * (τ k +; t). To derive the optimality condition for this problem, we introduce the Lagrangian multiplier νεR l for the collision condition (A41). Then, the optimality condition is obtained as follows.
このとき、最適制御問題は、(A39)-(A45)、(A48)-(A57)を満たすようなx0 *(t),・・・,xik *(t),x*(τk-;t),x*(τk+;t),xik+1 *(t),・・・,xN *(t),λ0 *(t),・・・,λik *(t),λ*(τk-;t),λ*(τk+;t),λik *(t),・・・,λN *(t),u0 *(t),・・・,uik *(t),u*(τk+;t),uik+1 *(t),・・・,uN-1 *(t),νk *(t),τkを求める問題に帰着される。 At this time, the optimal control problem is x 0 * (t), . . . , x ik * (t), x * (τ k − ; t), x * (τ k +; t), x ik+1 * (t), . . . , x N * (t), λ 0 * ( t), . , λ * (τ k −; t), λ * (τ k +; t), λ ik * (t), ..., λ N * (t), u 0 * (t), ..., In the problem of finding u ik * (t), u * (τ k + ; t), u ik +1 * ( t ) , . be returned.
これらの未知量のうち、本質的な未知量を次のように定義する。
但し、Uk(t)を次のように定義する。
このような定義により、このU(t)が分かっていればx0 *(t),・・・,xik *(t),x*(τk-;t),x*(τk+;t),xik+1 *(t),・・・,xN *(t),λ0 *(t),・・・,λik *(t),・・・,λ*(τk-;t),λ*(τk+;t),λik *(t),・・・,λN *(t)を(A39)-(A45)、(A47)-(A52)から求めることができる。 By such definition, if this U(t) is known, x 0 * (t ) , . . . , x ik * (t), x * (τ k − ; ; t), x ik+1 * (t), ..., x N * (t), λ 0 * (t), ..., λ ik * (t), ..., λ * (τ k - ; t), λ * (τ k +; t), λ ik * (t), ..., λ N * (t) from (A39) - (A45), (A47) - (A52) can be done.
このときU(t)が満たすべき条件は、
但しFk(Uk(t),t)は次式で示される。
(場面3)ホライゾン上で衝突が複数回起きる時
ホライゾンで複数回衝突が起きる場合の最適性条件は、衝突の回数が1回の場合の最適性条件を拡張することで求めることができる。k,・・・,k+l回目の衝突がホライゾン上の時刻τk,・・・,τk+lで起きるとする。このとき、(A38)で求めた衝突が起きるステップik,・・・,ik+lについて、(A40)-(A43)からx*(τk-;t),x*(τk+;t),xik+1
*(t)を、k=k,・・・,k+lについて求めることができる。λについても同様に、(A49)-(A51)からλ*(τk-;t),λ*(τk+;t),λik
*(t)を各ik,・・・,ik+lについて求めることができる。ik,・・・,ik+l以外の全てのiについては、xiとλiはそれぞれ(A39)、(A52)から計算することができる。
(Scene 3) When multiple collisions occur on the horizon The optimality condition when multiple collisions occur on the horizon can be obtained by extending the optimality condition when the number of collisions is one. Let the k, . . . , k + l-th collision occur at times τ k , . At this time, for the steps i k , . ), x ik+1 * (t) can be determined for k=k, . . . , k+l. Similarly, for λ, λ * (τ k −; t), λ * (τ k +; t), λ ik * (t) from (A49)-(A51) to each i k , . . . , i k+l can be determined. For all i except i k , .
このとき本質的な未知量は、
このときU(t)が満たすべき条件は次のようになる。
ここで、Fkは(A61)であり、Fの要素の各ikステップ目については、
*非線形モデル予測制御の実行アルゴリズム*
非線形モデル予測制御を行うためには、上述のように求めた最適性条件を数値的に解く必要がある。本実施の形態では短いサンプリング周期内でもロボットのような複雑なシステムの制御を目標とするため、NMPCの高速数値計算アルゴリズムであるC/GMRES法を用いる。
*Execution algorithm for non-linear model predictive control*
In order to perform nonlinear model predictive control, it is necessary to numerically solve the optimality condition obtained as described above. In this embodiment, the C/GMRES method, which is a high-speed numerical calculation algorithm of NMPC, is used in order to control a complicated system such as a robot even within a short sampling period.
**C/GMRES法**
C/GMRES法は連続変形法とGMRES法を組み合わせた手法である。C/GMRES法では、非線形方程式F(U(t),x(t),t)=0を直接解いてU(t)を直接求めるのではない。C/GMRES法では、U(t)の時間についての連続性を前提として、各サンプリング時刻で最適なU(t)を求め、
U(t+Δt)=U(t)+U(t)Δt ・・・(A64)
として更新する。但し、Δtはサンプリング周期である。
**C/GMRES method**
The C/GMRES method is a method combining the continuous deformation method and the GMRES method. The C/GMRES method does not directly solve the nonlinear equation F(U(t), x(t), t)=0 to obtain U(t) directly. In the C/GMRES method, on the assumption that U(t) is continuous with respect to time, the optimum U(t) is obtained at each sampling time,
U(t+Δt)=U(t)+U(t)Δt (A64)
Update as However, Δt is the sampling period.
C/GMRES法ではU(t)を求めるために連続変形法を用いてF=0を
**C/GMRES法の衝突現象への拡張**
C/GMRES法はU(t)の連続性が前提にされている。その一方で、C/GMRES法は、衝突現象を含むシステムに対する問題は不連続現象が伴い、この(A64)による更新では解の連続性の前提が成り立たなくなる場合がある。この連続性を成り立たせるためには、ホライゾン上でのあるサブシステムkに割り当てられた制御入力が、同様にあるサブシステムに割り当てられた制御入力によって更新される必要がある。
**Extension of the C/GMRES method to collision phenomena**
The C/GMRES method assumes continuity of U(t). On the other hand, in the C/GMRES method, a problem for a system including a collision phenomenon is accompanied by a discontinuity phenomenon, and the update by (A64) may not hold the premise of continuity of the solution. In order for this continuity to hold, the control input assigned to a subsystem k on the horizon needs to be updated by the control input assigned to a similar subsystem.
すなわち、ホライゾン上の任意の衝突kについて、τk(t+Δt)<ikΔτのとき、τk(t+Δt)/Δτ<i≦ikである各iについてui
*(t+Δt)は
同様に、(ik+1)Δτ<τk(t+Δt)のとき、ik<i<τk(t+Δt)/Δτを満たす各iについて、ui
*(t+Δt)を
もう1つの修正点としてヤコビ行列とベクトルの前進差分近似がある。式(A65)のヤコビ行列は、あるベクトルW∈RmN、w∈Rn、ω∈R、十分小さな実数h>0を用いて、
この差分近似も時刻tとt+hにおける予測ホライゾン上のサブシステムについての連続性を前提としている。その一方で、
ikΔτ≦τk(t)<ikΔτ+h ・・・(A69)
のとき、この連続性が成り立たなくなる。
This difference approximation also assumes continuity for the subsystems on the prediction horizon at times t and t+h. On the other hand,
i k Δτ≦τ k (t)<i k Δτ+h (A69)
When , this continuity ceases to hold.
そこで、そのような場合は
**スイッチによって追加される変数の初期化アルゴリズム**
次に、衝突によって追加される変数の初期化アルゴリズムについて説明する。
もし時刻t-Δtのホライゾン上にスイッチkが存在しないが、時刻tには存在する場合、すなわちスイッチkが時刻tにホライゾン上に現れる場合、次のようになる。すなわち、このような場合、時刻t-Δtのときの最適制御問題には含まれていなかった新たな変数u*(τk+;t)、νk
*、τkが時刻tに追加されることになる。このとき新たな変数u*(τk+;t)、νk
*、τkは前の時刻で求めてはいないため、C/GMRES法によりこれらを求めることができない。また、スイッチkがN-1ステップ以前のikで起きたとき、それまでサブシステムkについて最適に求められたuik
*(t),・・・,uN-1
*(t)をサブシステムk+1について最適に求め直す必要がある。但し、サンプリング周期を十分小さくしている限り、ほとんどのケースでは、ik=N-1であり、このとき初期化する変数はu*(τk+;t)、νk
*、τkだけでよい。このとき、本来であればホライゾン全体についてニュートン法などを用いてもう1度最適制御問題を解く必要があるが、計算時間が膨大になってしまうという問題点がある。そこで、少ない計算時間で部分的に最適な値を求めることでこれらの値を初期化する手法を採用するとよい。以下に、そのような手法について説明する。
** Initialization Algorithm for Variables Added by Switches **
Next, we describe the initialization algorithm for variables added by collisions.
If switch k is not on the horizon at time t−Δt, but it is at time t, ie switch k appears on the horizon at time t, then: That is, in such a case, new variables u * (τ k +; t), ν k * , τ k that were not included in the optimal control problem at time t−Δt are added at time t. It will be. At this time, the new variables u * (τ k +; t), ν k * , and τ k have not been obtained at the previous time, so they cannot be obtained by the C/GMRES method. Also , when switch k occurs at i k before N−1 steps, u ik * ( t), . We need to re-determine optimally for system k+1. However, as long as the sampling period is sufficiently small, i k =N−1 in most cases, and the only variables to be initialized at this time are u * (τ k +; t), ν k * , and τ k . OK. At this time, originally, it is necessary to solve the optimum control problem once again using Newton's method or the like for the entire horizon, but there is a problem that the calculation time becomes enormous. Therefore, it is preferable to adopt a method of initializing these values by obtaining partially optimum values in a short calculation time. Such techniques are described below.
まず、ホライゾン上で衝突条件ψ=0が満たされたことを観測したとする。すなわち、あるステップで初めて
ik=N-1のとき:
このとき、もしτk、u*(τk+;t)、νk
*が分かっていれば、既に計算されたxN-1
*(t)、uN-1
*(t)を用いて、
Then, if τ k , u * (τ k +; t), ν k * are known, using the already calculated x N−1 * (t), u N−1 * (t), ,
ここで解く最適制御問題は、(A72)-(A75)のもとで、N-1ステップ以降の評価関数
この問題に対して最適性条件を導出すると、
この初期化の実行は以下のように行われる。ここではホライゾン上で初めてψk(xi
*(t))<0となるのがi=Nである場合を考えているため、まずτkをψk(xN-1
*(t))とψk(xN
*(t))から
そして求めたい未知量を
また、Uk,init(t)が満たすべき条件を
上述した求めたい未知量及びUk,init(t)が満たすべき条件に対して、前進差分ニュートンGMRES法による反復を行う。次のアルゴリズム1では、このUk,init(t)についてこの初期化をまとめている。
The forward difference Newtonian GMRES method iterates over the unknown quantity to be determined and the conditions that U k,init (t) should satisfy.
[アルゴリズム1:Uk,init(t)の初期化(ik=N-1のとき)]
1:τkを(A98)により初期化する。
2:u*(τk+;t)とνk
*(t)に適当な初期推定解を代入する。
3:x*(τk-;t),x*(τk+;t),xN
*(t),λN
*(t),λ*(τk+;t)を求め、Fk,init(Uk,init(t),t)を計算する。
4:while |Fk,init(Uk,init(t),t)|<τinit or i<imax do
5:前進差分Newton-GMRES法をFk,init(Uk,init(t),t)に用いることでΔUk,initを求める。
6:Uk,init(t)をUk,init(t)←Uk,init(t)+ΔUk,initと更新する。
7:x*(τk-;t),x*(τk+;t),xN
*(t),λN
*(t),λ*(τk+;t)を求め、Fk,init(Uk,init(t),t)を計算する。
8:end while
9:Uk,init(t)の初期化終わり。
[Algorithm 1: Initialization of U k,init (t) (when i k =N−1)]
1: Initialize τ k by (A98).
2: Substitute suitable initial guesses for u * (τ k +; t) and ν k * (t).
3: x * (τ k −; t), x * (τ k +; t), x N * (t), λ N * (t), λ * (τ k +; t), F k , init (U k, init (t), t).
4: while |F k, init (U k, init (t), t) |<τ init or i<i max do
5: Obtain ΔU k,init by using the forward difference Newton-GMRES method on F k,init (U k,init (t),t).
6: Update U k,init (t) as U k,init (t)←U k,init (t)+ΔU k,init .
7: x * (τ k −; t), x * (τ k +; t), x N * (t), λ N * (t), λ * (τ k +; t), F k , init (U k, init (t), t).
8: end while
9: End of initialization of U k,init (t).
ik<N-1のとき:
このとき解くべき最適制御問題とは、
The optimal control problem to be solved at this time is
この問題に対して最適性条件を導出すると、次のようになる。
ik=N-1の場合と同様に、xik
*(t),uik
*(t)がこの初期化問題の境界条件として与えられる。この初期化の実行はik=N-1のときと同様である。まず、τkをψk(xik
*(t))とψk(xik+1
*(t))から
次に、u(τk+;t)とνk
*(t)に適当な初期推定解を与える。uik+1
*(t),・・・,uN-1
*(t)については前のサンプリング時刻で求めた値をそのままNewton-GMRES法の初期推定解として用いる。求める未知量を
Uk,init(t)が満たすべき条件は
上述した求めたい未知量及びUk,init(t)が満たすべき条件に対して、前進差分ニュートンGMRES法による反復を行う。次のアルゴリズム2では、このUk,init(t)についてこの初期化をまとめている。
The forward difference Newtonian GMRES method iterates over the unknown quantity to be determined and the conditions that U k,init (t) should satisfy.
[アルゴリズム2:Uk,init(t)の初期化(ik<N-1のとき)]
1:τkを(A98)により初期化する。
2:u*(τk+;t)とνk
*(t)に適当な初期推定解を代入する。
3:x*(τk-;t),x*(τk+;t),xik+1
*(t),・・・,xN
*(t),λN
*(t),・・・,λik+2
*(t),λ*(τk+;t)を求め、Fk,initを計算する。
4:while |Fk,init(U(t),x(t),t)|<τinit or i<imax do
5:前進差分Newton-GMRES法をFk,init(U(t),x(t),t)に用いることでΔUk,initを求める。
6:Uk,init(t)をUk,init(t)←Uk,init(t)+ΔUk,initと更新する。
7:x*(τk-;t),x*(τk+;t),xik+1
*(t),・・・,xN
*(t),λN
*(t),・・・,λik+2
*(t),λ*(τk+;t)を求め、Fk,initを計算する。
8:end while
9:Uk,init(t)の初期化終わり。
[Algorithm 2: Initialization of U k,init (t) (when i k < N−1)]
1: Initialize τ k by (A98).
2: Substitute suitable initial guesses for u * (τ k +; t) and ν k * (t).
3: x * ( τk- ;t), x * ( τk +;t), xik+1 * (t), ..., xN * (t), λN * (t), ... , λ ik+2 * (t), λ * (τ k +; t) to calculate F k,init .
4: while |F k, init (U(t), x(t), t) |<τ init or i<i max do
5: Obtain ΔU k, init by using the forward difference Newton-GMRES method on F k,init (U(t), x(t), t).
6: Update U k,init (t) as U k,init (t)←U k,init (t)+ΔU k,init .
7: x * (τ k −; t), x * (τ k +; t), x ik+1 * (t), ..., x N * (t), λ N * (t), ... , λ ik+2 * (t), λ * (τ k +; t) to calculate F k,init .
8: end while
9: End of initialization of U k,init (t).
[数値シミュレーション]
次に、上述した手法を用いて具体的にコンパス型モデルの歩行制御の数値シミュレーションを実行した結果を示す。以下に説明するシミュレーションは、本実施の形態にかかる非線形モデル予測制御のアルゴリズムを、図4で例示したコンパス型モデルにかかるロボット100に適用したものである。
[Numerical simulation]
Next, the result of numerical simulation of the walking control of the compass type model using the above-described method will be shown. The simulation described below applies the nonlinear model predictive control algorithm according to the present embodiment to the
*評価関数*
まず、コンパス型歩行制御に用いる際の評価関数を設定する。継続的な歩行制御を実現するために、振り足を前に出す動作を評価関数として加えることを考える。すなわち、遊脚を前に出す速度
First, an evaluation function for use in compass-type walking control is set. In order to realize continuous walking control, we consider adding the action of swinging the leg forward as an evaluation function. In other words, the speed at which the free leg moves forward
以上から、評価関数は、
*シミュレーション条件*
シミュレーションに用いたコンパス型モデルの物理パラメータは、m0=m=1.0[kg]、l=1.0[m]、d=0.5[m]、I=0.08333[kg・m2]として与える。
*Simulation conditions*
The physical parameters of the compass model used in the simulation are m 0 =m=1.0 [kg], l=1.0 [m], d=0.5 [m], I=0.08333 [kg· m 2 ].
シミュレーション条件としては、(A6)に基づく状態の初期値はx(0)=[-0.14 0.14 0.50 0.58]T、シミュレーション中のモデルの状態の更新及びサンプリング周期はΔt=0.001[s]とする。評価関数内のパラメータは、q1=q2=1.0、r=0.5、νref=0.5[rad/s]とする。ホライゾンの長さはT(t)=Tf(1-e-αt)、α=1.0、Tf=0.8[s]とし、評価区間の分割数は、N=80とする。また、差分近似(A68)、(A70)の差分は、h=1.0×10-8として与える。 As simulation conditions, the initial value of the state based on (A6) is x(0)=[−0.14 0.14 0.50 0.58] T , and the model state update and sampling period during simulation is Δt = 0.001 [s]. The parameters in the evaluation function are q 1 =q 2 =1.0, r=0.5, v ref =0.5 [rad/s]. The length of the horizon is T(t)=T f (1−e −αt ), α=1.0, T f =0.8 [s], and the division number of the evaluation interval is N=80. Also, the difference between the difference approximations (A68) and (A70) is given as h=1.0×10 −8 .
*シミュレーション結果*
図7~図12は、本実施の形態にかかる非線形モデル予測制御の例として、コンパス型モデルの歩行制御をシミュレーションした結果を示す図である。図13はその歩行制御におけるホライゾン上での予測衝突時刻のグラフを示す図で、図14は図13の一部を拡大したグラフを示す図である。
*simulation result*
7 to 12 are diagrams showing results of simulating walking control of a compass model as an example of nonlinear model predictive control according to the present embodiment. FIG. 13 is a diagram showing a graph of predicted collision times on the horizon in the walking control, and FIG. 14 is a graph showing a part of FIG. 13 enlarged.
図7ではθ1の変化を、図8ではθ2の変化を、図9ではθ1(ドット)の変化を、図10ではθ2(ドット)の変化を、図11ではuの変化を、図12では||F||の変化を、それぞれ示している。 Change in θ 1 in FIG. 7, change in θ 2 in FIG. 8, change in θ 1 (dot) in FIG. 9, change in θ 2 (dot) in FIG. 10, change in u in FIG. FIG. 12 shows changes in ||F||.
図12における||F||(エラーノルム)は、(A32),(A61),(A63)で示す各場面におけるF(U(t),x(t),t)の大きさ、すなわち最適解からの現在の解の誤差を表す。||F||が他の点と比べ大きくなっている点がある。これは、θ1、θ2が垂直になっている時刻、すなわち実際の制御対象が地面と衝突を起こしている時刻と一致している。よって、これは衝突によってホライゾン上の最適性条件(場面1~3について説明した最適性条件)が変わったために生じたと考えられる。その点を考慮すると、図7~図12で示すこのシミュレーション結果は、制御入力が滑らかな挙動となっているのが分かる。
||F|| (error norm) in FIG. Represents the error of the current solution from the solution. There is a point where ||F|| is larger than other points. This coincides with the time when θ 1 and θ 2 are vertical, that is, the time when the actual controlled object collides with the ground. Therefore, it is considered that this occurred because the collision changed the optimality condition on the horizon (the optimality condition described for
図13においては、tk=0になっている時刻では、評価区間上に衝突を検出していないことを表している。また、このシミュレーションで設定した評価区間長さでは、ホライゾン上において1回の衝突のみが起こっていた。図14では、各時刻でホライゾン上の衝突時刻が最適化されていることが分かる。また、サンプリング周期を1[ms]として行った本シミュレーションで、NMPCの1サンプリングあたりの更新時刻は0.8[ms]前後であり、実時間での歩行制御に成功しているのが分かる。 FIG. 13 shows that no collision is detected in the evaluation section at the time when t k =0. Also, in the evaluation section length set in this simulation, only one collision occurred on the horizon. In FIG. 14, it can be seen that the collision time on the horizon is optimized at each time. Also, in this simulation performed with a sampling period of 1 [ms], the update time per sampling of NMPC is around 0.8 [ms], and it can be seen that walking control in real time is successful.
[本実施の形態の特徴について]
上述したように、本実施の形態では、その主たる特徴の一つとして、上記予測手段が制御対象に対して、各時刻において当該時刻から所定期間後までにおける当該衝突の回数を予測する。
[Features of this embodiment]
As described above, in this embodiment, as one of its main features, the prediction means predicts the number of collisions for the controlled object at each time until a predetermined period from that time.
このような未来の衝突回数の予測について簡単に補足説明する。この予測は制御周期ごとに実行され、上述のような最適制御では求解の過程で未来(予測区間内)の各時刻における状態も予測されることになる。よって、今回の最適制御を実行する前に、前回の最適制御で予測された未来の状態に対して例えば(A33)~(A36)を適用することで、未来の衝突回数を予測することができる。また、上述のようにこの予測は制御周期ごとに実行されるため、予測区間(ホライゾン)の長さを一定とすると、歩行速度が上がる程、予測される衝突回数が増え、減速する程、予測される衝突回数が減少することになる。 A brief supplementary explanation of such prediction of the number of future collisions will be given. This prediction is executed for each control cycle, and in the optimum control as described above, the state at each time in the future (within the prediction interval) is also predicted in the process of finding the solution. Therefore, by applying (A33) to (A36) to the future state predicted by the previous optimum control before executing the current optimum control, it is possible to predict the number of future collisions. . In addition, as described above, this prediction is executed for each control cycle, so if the length of the prediction interval (horizon) is constant, the more the walking speed increases, the more collisions are predicted. This will reduce the number of collisions that occur.
そして、上述したように、本実施の形態では、上記演算手段は、周囲物との衝突が起こり得ることを前提とした非線形制御モデルの最適化問題の演算を、予測した衝突回数に応じて(予測した衝突回数ごとに区別して)実行する。この演算について簡単に補足説明する。 Then, as described above, in the present embodiment, the computing means computes the optimization problem of the nonlinear control model on the premise that collisions with surrounding objects may occur, depending on the predicted number of collisions ( (separately for each predicted number of collisions). A brief supplementary explanation of this calculation will be given.
本実施の形態では、最適制御問題の中に衝突時刻を組み込んでいる。すなわち、本実施の形態では、「最適性条件の導出」において場面1~3ごとの制御について例示したように、衝突回数の予測に基づいて上記場面1~3のいずれを用いるか(どの最適制御の必要条件を用いるか)により最適制御問題の切り替えを行っている。なお、衝突時刻を最適化問題に組み込まない、即ち衝突時刻を変更しない場合は、所定の衝突時刻に衝突が起こるように定式化を行い、通常通りC/GMRES法を用いて制御を行うことができる。
In this embodiment, the collision time is incorporated into the optimal control problem. That is, in the present embodiment, as exemplified for the control for each
但し、単純に衝突時刻も最適制御問題に組み込むと、衝突回数によって解くべき最適制御問題が変化するため、前回の求解結果を用いたC/GMRES法のような手法では前回の求解結果を得ることが困難となる場合がある。これは、衝突回数が前回と今回の制御周期で異なっている場合には、前回解いた最適制御問題が今回解こうとしている最適制御問題と異なるためである。具体的には、衝突回数が変わると最適制御問題自体が変わるため、解ベクトルも異なった形になる。例えば衝突条件に対するラグランジュ定数vと衝突時間τなど、前回の最適化問題では解ベクトルに含まれていなかった変数が今回の最適化問題には含まれるようになる。 However, if the collision time is simply incorporated into the optimum control problem, the optimum control problem to be solved will change depending on the number of collisions. can be difficult. This is because if the number of collisions differs between the previous and current control cycles, the optimal control problem solved last time is different from the optimal control problem to be solved this time. Specifically, since the optimal control problem itself changes when the number of collisions changes, the solution vector will also have a different shape. For example, the current optimization problem includes variables that were not included in the solution vector in the previous optimization problem, such as the Lagrangian constant v and the collision time τ for the collision condition.
したがって、本実施の形態として説明したように、最適性条件を切り替えるだけでなく、この切り替えに伴って新たに加わる制御の変数を初期化することが望ましい。この初期化は、前回の求解結果を基にして解ベクトルを初期化するものとなっている。「スイッチによって追加される変数の初期化アルゴリズム」において例示したように、この切り替えに伴って新たに加わる制御の変数とは例えばu*(τk+;t)、νk *、τkを指す。 Therefore, as described in the present embodiment, it is desirable not only to switch the optimality condition, but also to initialize the newly added control variables associated with this switching. This initialization is to initialize the solution vector based on the previous solution finding result. As exemplified in the "initialization algorithm for variables added by the switch", the control variables newly added along with this switching refer to u * (τ k +; t), ν k * , τ k , for example. .
このように、本実施の形態では、衝突回数の予測に基づいて最適制御問題を演算し、前回解いた最適制御問題の解を利用して、今回の最適制御問題の初期値を適切に設定することが好ましい。 Thus, in the present embodiment, the optimum control problem is calculated based on the prediction of the number of collisions, and the solution of the previously solved optimum control problem is used to appropriately set the initial value of the current optimum control problem. is preferred.
以上に説明したように、本実施の形態は、各時刻において所定期間後までに制御対象が衝突する回数を予測し、その予測した衝突回数に応じて非線形制御モデルの最適化問題を演算している。すなわち、本実施の形態では、繰り返し衝突が発生することを前提とする場合において、例えば同じ期間内に衝突が発生する回数ごとに変えて非線形制御モデルを最適化する。 As described above, the present embodiment predicts the number of collisions of the controlled object within a predetermined period of time at each time, and calculates the optimization problem of the nonlinear control model according to the predicted number of collisions. there is That is, in the present embodiment, on the premise that repeated collisions occur, the nonlinear control model is optimized by changing it for each number of collisions that occur within the same period, for example.
よって、本実施の形態によれば、個々の衝突におけるタイミングの予測と実際のずれが小さくなる確率が上がり、また、統計的に見るほど予測と実際のずれはより無くなっていく。これにより、本実施の形態にかかる非線形モデル予測制御装置は、将来の実際の衝突タイミングに制御結果がより良く合う高精度な予測制御を実行することができる。 Therefore, according to the present embodiment, the probability that the difference between the predicted timing and the actual timing in each collision becomes small increases, and statistically speaking, the difference between the predicted timing and the actual timing decreases. As a result, the non-linear model predictive control device according to the present embodiment can execute highly accurate predictive control in which the control result better matches the actual collision timing in the future.
換言すれば、本実施の形態では、最適制御の予測区間上での衝突の回数に応じた定式化を行い、動作の制御に関する制御入力と衝突時刻を同時に最適化しており、それにより、状態に応じて適応的且つ最適な動作が生成可能となる。このような最適制御手法は、任意時刻での切り替えに対応した形で最適制御問題を定式化するとともに、切り替え時刻も制御変数に含めて制御入力と同時に最適化することにより、切替タイミングと予測区間の制御入力を同時最適化する手法と言える。 In other words, in the present embodiment, formulation is performed according to the number of collisions on the prediction interval of the optimum control, and the control input related to the control of the motion and the collision time are optimized at the same time. Adaptive and optimal behavior can be generated accordingly. In such an optimal control method, the optimal control problem is formulated in a way that corresponds to switching at an arbitrary time. It can be said that it is a method to simultaneously optimize the control inputs of
よって、本実施の形態によれば、状態に応じて適切な切り替えタイミングと制御入力を発生できるため、制御対象のより効率的で安定な動作を実現できる。例えば、切り替えのタイミングを予め決めておく場合には、制御の最適性を満たすことは困難となり、どのような状態であっても決められた時刻に衝突を行おうとするため、不自然な動作になったり、電力が大きくなるような入力が必要となったりしてしまう。これに対し、本実施の形態では適切な切り替えタイミングを発生させることができるため制御の最適性を満たすことができる。例えば、歩行動作を例に考えると、外乱が生じて定常的な歩行動作から状態が外れた場合、動作軌道だけでなく、次の足が着地するタイミングも変更することで無理なく(より少ないトルクで)定常状態に戻すことができる。 Therefore, according to the present embodiment, appropriate switching timing and control input can be generated according to the state, so that more efficient and stable operation of the controlled object can be realized. For example, if the switching timing is determined in advance, it becomes difficult to satisfy the optimality of the control. Otherwise, an input that increases power is required. On the other hand, in the present embodiment, it is possible to generate an appropriate switching timing, thereby satisfying the optimality of control. For example, taking walking as an example, when a disturbance occurs and the state deviates from the normal walking motion, not only the motion trajectory but also the timing at which the next foot touches the ground can be changed in a natural way (with less torque). ) can be returned to a steady state.
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、ロボット100の片方の脚は、股関節部120、膝関節部122及び足首関節部124を有するとしたが、このような構成に限られない。ロボット100の脚は、3個よりも少ない数の関節部を有してもよいし、3個よりも多い数の関節部を有してもよい。この場合、状態ベクトル及び関節トルクベクトル(制御入力値)は、関節部の数に応じて、適宜、変更され得る。そして、状態方程式等の関数も、関節部の数に応じて、適宜、変更され得る。
(Modification)
It should be noted that the present invention is not limited to the above embodiments, and can be modified as appropriate without departing from the scope of the invention. For example, one leg of the
また、上述した実施の形態においては、非線形システムが二足歩行ロボットである例について説明した。しかし、本実施の形態にかかる非線形モデル予測制御のアルゴリズムは、二足歩行ロボット以外の非線形システムについても適用可能であり、またコンパス型モデルでなくても適用可能である。 Also, in the above-described embodiments, an example in which the nonlinear system is a bipedal robot has been described. However, the non-linear model predictive control algorithm according to the present embodiment can also be applied to non-linear systems other than bipedal robots, and can also be applied to non-compass models.
つまり、本実施の形態にかかる非線形システムの制御方法は、以下に例示するような、繰り返し周囲物との衝突が発生することを前提とする任意の非線形システムに対して、適用可能である。なお、一見して周囲物との衝突が繰り返し起こりそうもないような制御対象であっても、周囲物との衝突が繰り返し起こり得るような制御を意図的に行うことはあり得るため、本実施の形態は、そのような制御を行う場合にも有益となる。 That is, the nonlinear system control method according to the present embodiment can be applied to any nonlinear system assuming repeated collisions with surrounding objects, such as those exemplified below. It should be noted that even for a controlled object that at first glance seems unlikely to repeatedly collide with surrounding objects, it is possible to intentionally perform control in such a way that collisions with surrounding objects can occur repeatedly. The form of is also useful for such control.
例えば、ロボットに設けたロボットハンド又はロボットアーム等を制御対象とすることもできる。この例における衝突は、ロボットハンド又はロボットアームが、周辺環境又は操作対象等の物体を押圧するとき、物体を把持し又は離すとき、球体等の物体を叩く又は打ち返すとき等に、発生し得る。なお、球体等の物体を打ち返す非線形システムの例として、例えば、卓球ロボットがある。 For example, a robot hand or a robot arm provided on the robot can be controlled. Collisions in this example can occur when a robotic hand or arm presses an object such as the environment or an object to be manipulated, grasps or releases an object, hits or hits an object such as a sphere, and so on. An example of a non-linear system that hits back an object such as a sphere is a table tennis robot.
また、例えば、本実施の形態での制御対象は、腕及び脚を同時に床等に着地して移動可能な人型ロボット又は動物型ロボット等であってもよい。この例における衝突は、人型ロボット又は動物型ロボットが、腕と脚とを同時に、壁、床又はテーブル等に接触して移動するとき、又は、人型ロボット又は動物型ロボットが、梯子又は壁等を登るとき等に、発生し得る。 Further, for example, the object to be controlled in the present embodiment may be a humanoid robot, an animal robot, or the like that can move by landing its arms and legs on the floor at the same time. Collisions in this example are when the humanoid or animal robot moves with its arms and legs simultaneously contacting a wall, floor, table, etc., or when the humanoid or animal robot moves against a ladder or wall. It can occur, for example, when climbing etc.
また、例えば、本実施の形態での制御対象は、ドローン等の無人航空機などであってもよい。この例における衝突は、無人航空機が、操作対象又は検査対象の物体に接触するとき又はその物体から離れるとき、輸送対象又は捕獲対象の物体を把持し又は離すとき等に、発生し得る。 Further, for example, the controlled object in the present embodiment may be an unmanned aerial vehicle such as a drone. A collision in this example may occur when the unmanned aerial vehicle contacts or leaves an object to be manipulated or inspected, grasps or releases an object to be transported or captured, and the like.
また、例えば、本実施の形態での制御対象は、加工機械の工具等であってもよい。この例における衝突は、加工機械の工具が、加工対象等の物体に接触し又は離れるとき等に、発生し得る。 Further, for example, the object to be controlled in the present embodiment may be a tool of a processing machine or the like. Collisions in this example can occur, such as when a tool of a machine tool touches or leaves an object, such as a workpiece.
また、例えば、本実施の形態での制御対象は、自動車のトランスミッション等であってもよい。この例における衝突は、トランスミッションのクラッチが、接触状態(動力の伝達状態)となったとき又は離間状態(動力の遮断状態)なったとき等に、発生し得る。 Further, for example, the controlled object in the present embodiment may be a transmission of an automobile or the like. A collision in this example can occur when the clutch of the transmission is in a contact state (power transmission state) or separated state (power cutoff state).
また、例えば、本実施の形態での制御対象は、飛行機等であってもよい。この例における衝突は、飛行機の離着陸において、接地の前後を含めて運動を最適化するように制御するとき等に、発生し得る。具体的には、所望の経路で着陸しつつ、着陸後すみやかに減速するようにエンジン及び機体を制御するような場合である。 Further, for example, the object to be controlled in this embodiment may be an airplane or the like. A collision in this example can occur during take-off and landing of an airplane, such as when controlling to optimize motion, including before and after touchdown. Specifically, it is a case where the engine and the aircraft are controlled so as to decelerate immediately after landing while landing on a desired route.
また、例えば、本実施の形態での制御対象は、列車等であってもよい。この例における衝突は、列車の連結において、連結の前後を含めて運動を最適化するように制御するとき等に、発生し得る。具体的には、連結時の衝撃及び駆動モータの負荷を軽減するようにモータを制御するような場合である。 Further, for example, the object to be controlled in this embodiment may be a train or the like. Collisions in this example can occur, for example, when train coupling is controlled to optimize motion, including before and after coupling. Specifically, it is a case where the motor is controlled so as to reduce the impact at the time of connection and the load on the drive motor.
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 In the above examples, the programs can be stored and delivered to computers using various types of non-transitory computer readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (eg, flexible discs, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R/W, semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)). The program may also be delivered to the computer on various types of transitory computer readable medium. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can deliver the program to the computer via wired channels, such as wires and optical fibers, or wireless channels.
1・・・ロボットシステム、2・・・制御装置、12・・・状態取得部、14・・・非線形モデル予測制御部、16・・・サーボ制御部、100,100-1,100-2・・・ロボット、102・・・胴体、110L・・・左脚、110R・・・右脚、112・・・上腿部、114・・・下腿部、116・・・足部、118・・・足裏センサ、120・・・股関節部、122・・・膝関節部、124・・・足首関節部、130・・・角度センサ、136・・・トルクセンサ、140・・・モータ、150・・・関節、151・・・支持脚リンク、152・・・遊脚リンク
1... Robot system, 2... Control device, 12... State acquisition unit, 14... Non-linear model prediction control unit, 16... Servo control unit, 100, 100-1, 100-2.
Claims (1)
繰り返し周囲物との衝突が発生することを前提とする動作を実行制御されるように構成された制御対象に対して、各時刻において当該時刻から所定期間後までにおける当該衝突の回数を予測する予測手段と、
周囲物との衝突が発生することを前提とした前記非線形制御モデルの最適化問題の演算を、予測した衝突回数に応じて実行する演算手段と、
を備える、非線形モデル予測制御装置。 A nonlinear model prediction that is configured to be able to control the controlled plant while predicting the future response of the controlled plant at each time by performing feedback control while computing the optimization problem of the nonlinear control model of the controlled plant. a controller,
Prediction that predicts the number of collisions at each time until a predetermined period of time from that time for a controlled object that is configured to execute and control operations on the premise that collisions with surrounding objects will occur repeatedly. means and
a calculation means for executing calculations of the optimization problem of the nonlinear control model on the premise that collisions with surrounding objects will occur, according to the predicted number of collisions;
A nonlinear model predictive controller, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019158051A JP7221833B2 (en) | 2019-08-30 | 2019-08-30 | Nonlinear model predictive controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019158051A JP7221833B2 (en) | 2019-08-30 | 2019-08-30 | Nonlinear model predictive controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021036390A JP2021036390A (en) | 2021-03-04 |
JP7221833B2 true JP7221833B2 (en) | 2023-02-14 |
Family
ID=74716671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019158051A Active JP7221833B2 (en) | 2019-08-30 | 2019-08-30 | Nonlinear model predictive controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7221833B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023048674A (en) | 2021-09-28 | 2023-04-07 | 株式会社J-QuAD DYNAMICS | Control device for movable body |
CN115389077B (en) * | 2022-08-26 | 2024-04-12 | 法奥意威(苏州)机器人系统有限公司 | Collision detection method, collision detection device, control apparatus, and readable storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016198873A (en) | 2015-04-14 | 2016-12-01 | トヨタ自動車株式会社 | Optimum control device, optimum control method, and optimum control program |
JP2018185747A (en) | 2017-04-27 | 2018-11-22 | 国立大学法人京都大学 | Control method of non-linear system, control device of bipedal robot, control method of bipedal robot and program of the same |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09251320A (en) * | 1996-03-14 | 1997-09-22 | Nissan Motor Co Ltd | Robot collision prevention system |
-
2019
- 2019-08-30 JP JP2019158051A patent/JP7221833B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016198873A (en) | 2015-04-14 | 2016-12-01 | トヨタ自動車株式会社 | Optimum control device, optimum control method, and optimum control program |
JP2018185747A (en) | 2017-04-27 | 2018-11-22 | 国立大学法人京都大学 | Control method of non-linear system, control device of bipedal robot, control method of bipedal robot and program of the same |
Also Published As
Publication number | Publication date |
---|---|
JP2021036390A (en) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111558941B (en) | Floating base dynamics feedforward control method and device and multi-legged robot | |
JP5836565B2 (en) | Robot tracking and balancing system and method for mimicking motion capture data | |
Saab et al. | Dynamic whole-body motion generation under rigid contacts and other unilateral constraints | |
US9120227B2 (en) | Human motion tracking control with strict contact force constraints for floating-base humanoid robots | |
JP6781101B2 (en) | Non-linear system control method, biped robot control device, biped robot control method and its program | |
US9327399B2 (en) | Movement control method for mobile robot | |
JP5034235B2 (en) | Control system, control method, and computer program | |
US8504208B2 (en) | Mobile object controller and floor surface estimator | |
JP6421683B2 (en) | Optimal control device, optimal control method, and optimal control program | |
Dantec et al. | Whole-body model predictive control for biped locomotion on a torque-controlled humanoid robot | |
Ishiguro et al. | High speed whole body dynamic motion experiment with real time master-slave humanoid robot system | |
CN106607910A (en) | Robot real-time simulation method | |
JP2013520327A (en) | Joint system control method, storage medium, and control system | |
JP7221833B2 (en) | Nonlinear model predictive controller | |
Feng | Online Hierarchical Optimization for Humanoid Control. | |
WO2006067904A1 (en) | Legged mobile robot and gait generating device | |
WO2024021744A1 (en) | Method and apparatus for controlling legged robot, electronic device, computer-readable storage medium, computer program product and legged robot | |
Ruscelli et al. | A multi-contact motion planning and control strategy for physical interaction tasks using a humanoid robot | |
Samy et al. | QP-based adaptive-gains compliance control in humanoid falls | |
Khazoom et al. | Tailoring solution accuracy for fast whole-body model predictive control of legged robots | |
Suleiman et al. | On humanoid motion optimization | |
JP6168158B2 (en) | Mobile robot movement control method and mobile robot | |
Cisneros et al. | Partial yaw moment compensation using an optimization-based multi-objective motion solver | |
WO2024021767A1 (en) | Method, apparatus and device for controlling legged robot, legged robot, computer-readable storage medium and computer program product | |
JP6447278B2 (en) | Multipoint contact robot, control method and program for multipoint contact robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20190920 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220117 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221228 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7221833 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |