JP6447278B2 - Multipoint contact robot, control method and program for multipoint contact robot - Google Patents
Multipoint contact robot, control method and program for multipoint contact robot Download PDFInfo
- Publication number
- JP6447278B2 JP6447278B2 JP2015054608A JP2015054608A JP6447278B2 JP 6447278 B2 JP6447278 B2 JP 6447278B2 JP 2015054608 A JP2015054608 A JP 2015054608A JP 2015054608 A JP2015054608 A JP 2015054608A JP 6447278 B2 JP6447278 B2 JP 6447278B2
- Authority
- JP
- Japan
- Prior art keywords
- contact
- trajectory
- error
- state
- gravity
- 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
- Manipulator (AREA)
Description
本発明は、多点接触ロボットの制御に関する。より具体的には、多点接触ロボットを安定かつ高精度に移動させるための制御技術に関する。 The present invention relates to control of a multipoint contact robot. More specifically, the present invention relates to a control technique for moving a multipoint contact robot stably and with high accuracy.
自律的に移動する機能を備えたロボットが開発されており、例えば、多点接触制御により動作するロボットがある。多点接触でロボットを安定に動作させるためには、大きく(A)長期的に安定な軌道を生成する技術、(B)ロボットを生成された軌道に漸近させるため、各接触点における望ましい接触力を計算する安定化技術、及び(C)計算された接触力目標値を達成するように各関節を駆動する力制御技術、の3種類の技術を考慮する必要がある。これら3つの技術を(A)、(B)及び(C)の順に用いることにより、安定な多点接触の動作が実現できる。すなわち、まず(A)比較的長期、つまりある程度の未来にわたる安定な軌道、つまり重心の発散や運動の破綻がない軌道を生成し、次に(B)ロボットの現在の状態量(重心位置、速度及び胴体姿勢等)を上記軌道に漸近させるべく、ロボットの各接触点の力指令値を決定及び修正し、続いて(C)各接触点の反力が力指令値に追従するように力制御を行う。 Robots having a function of moving autonomously have been developed. For example, there are robots that operate by multipoint contact control. In order to operate the robot stably with multi-point contact, (A) a technique for generating a stable trajectory in the long term, and (B) a desired contact force at each contact point in order to make the robot asymptotic to the generated trajectory It is necessary to consider three types of techniques, that is, a stabilization technique for calculating the joint force, and (C) a force control technique for driving each joint so as to achieve the calculated contact force target value. By using these three techniques in the order of (A), (B), and (C), a stable multipoint contact operation can be realized. That is, first, (A) a stable trajectory for a relatively long time, that is, a stable trajectory for a certain degree of future, that is, a trajectory without divergence of the center of gravity or failure of the motion is generated, and then (B) In addition, the force command value at each contact point of the robot is determined and corrected so as to make the body posture, etc. asymptotic to the trajectory, and then (C) force control so that the reaction force at each contact point follows the force command value. I do.
ここで、(B)の安定化技術に注目すると、多点接触制御に適用可能な先行技術としては、特許文献1及び特許文献2が挙げられる。特許文献1は、従来の2足歩行向け安定化技術である複合コンプライアンス制御を、床面上を含む3点以上の接地点を持つ多脚ロボットにも使えるように拡張したものである。特許文献2は、床面以外の接触点を持つ多点接触制御に対応できる安定化技術を開示している。
Here, paying attention to the stabilization technique (B),
特許文献1の複合コンプライアンス制御はZMPを用いた安定化技術である。ZMP(zero moment point)とは、所定のZMP平面(通常は床面)上のモーメントの釣り合い位置(全体のモーメントが釣り合って丁度0になる位置)のことである。ZMPを用いた安定化技術は、歩行のように環境との接触点がほぼ床面に限定されているような運動には適するが、任意の複数の接触点で環境と接触するような運動には適さない。すなわち、特許文献1は多点接触に対応してはいるが、基本的には床面上に接触点を持つロボット(つまり、多脚ロボット)を対象にした技術である。
The composite compliance control of
一方、特許文献2の安定化技術は、ZMPを用いておらず、床面以外の接触点を持つロボットの多点接触制御に対応できる。しかしながら、特許文献2が開示するアルゴリズムは、各接触点が属する面を、予め設定された仮想面に投影することを前提として制御則が組み立てられている。すなわち、実際に手や足等の接触点が接触している、壁や床等の接触面上における力の分配を直接計算することなく、仮想面群というギミックを用いて制御則を組み立てている。
On the other hand, the stabilization technique of
特許文献2のアルゴリズムは、面同士が直交もしくは平行に対向した面群(仮想面群)を前提とするものである。そして、例えば接触点の摩擦力が不足して所望の並進力が得られないような場合に、平行に対向する各仮想面への押し付け力(垂直抗力)を増加させることで摩擦力を増加させる、という補償方法を用いている。ここで、仮に仮想面が平行に対向しておらず任意の傾きを持っている場合には、互いの面に生ずる垂直抗力の向きが一致しないので、上述のように単純に垂直抗力を増加させるというようなロジックではこの問題を解決できない。すなわち、特許文献2の安定化技術は、制御ロジック全体が、面同士が直交もしくは平行に対向した面群を前提にする必要がある。そのために、実際の接触面ではなく仮想面を設定しているのである。
The algorithm of
そのため、特許文献2の安定化技術は、任意の角度を持つ接触面群(例えば相対的に45度ずつ傾いた複数の面など)に対する適用性が著しく低いという問題がある。また、摩擦力と内力を活用することによって安定化可能な場合であっても、運動状態が不適切である旨の誤判定を起こすという問題も抱えている。
For this reason, the stabilization technique of
また、特許文献2の安定化技術では、重心や姿勢角のフィードバック制御が公知のPD制御で構成されている。PD制御では、各接触点の位置や姿勢の情報(例えばどのような向きに力を発生し易いか、どの方向ならどの程度の合力を安定に発生できるか等の情報)は全く考慮されない。
Further, in the stabilization technique of
本発明はこうした課題に鑑みてなされたものであり、その目的は、高い安定化性能を有する多点接触ロボット、多点接触ロボットの制御方法及びプログラムを提供することにある。 The present invention has been made in view of these problems, and an object of the present invention is to provide a multipoint contact robot having high stabilization performance, a control method for the multipoint contact robot, and a program.
本発明にかかる多点接触ロボットは、
複数の接触点を有する多点接触ロボットであって、
目標重心軌道及び前記接触点各々の反力目標値を生成する軌道生成部と、
現在の重心を推定し、前記目標重心軌道と前記現在の重心との誤差を算出する状態推定部と、
前記誤差が前記目標重心軌道に収束するよう前記反力目標値を修正する状態安定化部と、を有し、
前記軌道生成部は、第1の周期で、前記誤差を前記目標重心軌道に収束させるためのフィードバックゲインを算出し、
前記状態安定化部は、前記第1の周期よりも短い第2の周期で、前記誤差と前記フィードバックゲインとに基づき前記反力目標値を修正するものである。
The multipoint contact robot according to the present invention is:
A multi-point contact robot having a plurality of contact points,
A trajectory generator for generating a target gravity center trajectory and a reaction force target value for each of the contact points;
A state estimation unit that estimates a current center of gravity and calculates an error between the target center of gravity trajectory and the current center of gravity;
A state stabilizing unit that corrects the reaction force target value so that the error converges to the target gravity center trajectory,
The trajectory generation unit calculates a feedback gain for converging the error to the target gravity center trajectory in a first period,
The state stabilizing unit corrects the reaction force target value based on the error and the feedback gain in a second period shorter than the first period.
本発明にかかる多点接触ロボットの制御方法は、
複数の接触点を有する多点接触ロボットの目標重心軌道及び前記接触点各々の反力目標値を生成する軌道生成ステップと、
現在の重心を推定し、前記目標重心軌道と前記現在の重心との誤差を算出する誤差計算ステップと、
第1の周期で、前記誤差を前記目標重心軌道に収束させるためのフィードバックゲインを算出する最適ゲイン計算ステップと、
前記第1の周期よりも短い第2の周期で、前記誤差と前記フィードバックゲインとに基づき前記反力目標値を修正する状態フィードバックステップと、を含むものである。
The control method of the multipoint contact robot according to the present invention is as follows.
A trajectory generating step for generating a target center-of-gravity trajectory of a multi-point contact robot having a plurality of contact points and a reaction force target value of each of the contact points;
An error calculating step of estimating a current center of gravity and calculating an error between the target center of gravity trajectory and the current center of gravity;
An optimal gain calculating step for calculating a feedback gain for converging the error to the target gravity center trajectory in a first period;
And a state feedback step of correcting the reaction force target value based on the error and the feedback gain in a second period shorter than the first period.
本発明にかかるプログラムは、上記多点接触ロボットの制御方法をコンピュータに実行させるためのプログラムである。 The program concerning this invention is a program for making a computer perform the control method of the said multipoint contact robot.
本発明によれば、高い安定化性能を有する多点接触制御技術を導入した多点接触ロボット、多点接触ロボットの制御方法及びプログラムを提供できる。 ADVANTAGE OF THE INVENTION According to this invention, the control method and program of a multipoint contact robot which introduced the multipoint contact control technique which has high stabilization performance, and a multipoint contact robot can be provided.
本発明の実施形態を図示するとともに図中の各要素に付した符号を参照して説明する。 An embodiment of the present invention will be illustrated and described with reference to reference numerals attached to elements in the drawing.
本実施形態は多点接触ロボット制御方法に特徴があり、具体的には、多点接触ロボットの移動動作を制御するための多点接触制御技術に特徴を有するのであるが、具体的な多点接触制御方法を説明する前に、制御対象となる多点接触ロボットのハードウェア構成について予め説明しておく。 This embodiment is characterized by a multi-point contact robot control method, specifically, a multi-point contact control technology for controlling the movement operation of the multi-point contact robot. Before describing the contact control method, the hardware configuration of the multipoint contact robot to be controlled will be described in advance.
図9は、多点接触ロボットの機械構成の一例を示した図である。多点接触ロボット100は、股関節が3軸、膝関節が1軸、足首関節が2軸、さらに、肩関節が3軸(肩ピッチ、肩ロール、肩ヨー)、肘関節が1軸(肘ピッチ)、および、手首関節が3軸(手首ヨー、手首ピッチ、手首ロール)、で夫々構成されている。多点接触ロボットの機械構成はこれに限定されないが、手(腕)の自由度は6以上、足(脚)の自由度も6以上は必要である。
FIG. 9 is a diagram illustrating an example of a mechanical configuration of the multipoint contact robot. The
多点接触ロボット100は、各関節にエンコーダ付きモータ1、2、・・・、28を有している。各関節のモータ(関節駆動手段)1a、2a、・・・、28a(図10)は、各関節の関節角度θ1、θ2、・・・、θ28を調整できる。一方、各関節のエンコーダ(関節角度検出手段)1b、2b、・・・、28bは、各関節の関節角度θ1、θ2・・・、θ28を計測することができる。
The
また、多点接触ロボット100は、足先部(足平部)および手先部(手の平部)に接触力センサ25を有している。ここで接触力とは6軸力であり、図2に示すように、x軸、y軸およびz軸方向の力fの組(fx、fy、fz)Tと、x軸回り、y軸回りおよびz軸回りの力τの組(τx、τy、τz)Tと、である。なお、x軸およびy軸は、鉛直方向であるz軸に垂直な面内で互いに直交する軸とする。
Further, the
この多点接触ロボットは、移動時に、右足、左足、右手又は左手などの接触点のうち複数を、床、壁、あるいはテーブルなどの接触面に接触させながら移動する。 The multipoint contact robot moves while contacting a plurality of contact points such as a right foot, a left foot, a right hand, or a left hand with a contact surface such as a floor, a wall, or a table.
図10は、多点接触ロボット100の機能ブロック図である。多点接触ロボット100は、各関節のモータ1a乃至24a及びエンコーダ1b乃至24bと、力センサ25と、コントローラ210と、を備えている。
FIG. 10 is a functional block diagram of the
コントローラ210には、各関節のエンコーダ1b乃至24b及び力センサ25から、センサ検出値が入力される。また、コントローラ210は、各関節のモータ1a乃至24aに対して駆動信号を出力する。
Sensor detection values are input to the
コントローラ210は、主要なハードウェア構成として、制御処理、演算処理等を行うCPU(Central Processing Unit)210aと、CPU210aによって実行される制御プログラム、演算プログラム等が記憶されたROM(Read Only Memory)210bと、処理データ等を一時的に記憶するRAM(Random Access Memory)210cと、を有するマイクロコンピュータにより構成されている。また、これらCPU210a、ROM210b、及びRAM210cは、データバス210dによって相互に接続されている。必要なプログラムを不揮発性記録媒体に記録しておき、必要に応じてインストールするようにしてもよい。
The
ここで図1の機能ブロック図を用いて、コントローラ210の機能構成について説明する。同時に、図5を用いて、多点接触ロボットにおける多点接触動作の生成及び制御フレームワークについて説明する。
Here, the functional configuration of the
(a)接触点計画
接触点計画部211は、多点接触ロボットがあるタスク(移動も含む)を実行するための、適切な接触点の位置及び姿勢を計画する。なお、接触点計画はユーザにより入力されても良い。
(A) Contact Point Planning The contact
(b)軌道生成
軌道生成部212は、接触点計画部211が計画した接触点位置及び姿勢に基づいて、将来にわたって発散及び破綻しない安定な重心軌道、力指令値軌道、手先や足先の位置、及び姿勢軌道を生成する。
(B) Trajectory generation The
(c)状態推定
状態推定部213は、多点接触ロボットの胴体に搭載されたIMU(3軸ジャイロ、3軸加速度計)や各接触点(例えば手先や足先等)の力センサ等を用いて、現在の重心位置、速度、及び胴体姿勢を推定する。
(C) State Estimation The
(d)状態安定化
状態安定化部214は、状態推定部213が推定した多点接触ロボットの状態と、軌道生成部212が生成した目標軌道と、の差が0に漸近するよう、状態フィードバックにより各接触点の6軸力指令値を修正する。
(D) State Stabilization The
(e)接触力制御
接触力制御部215は、各接触点の6軸力指令値を実現するよう、力センサを用いてインピーダンス制御を行い、接触点(例えば手先や足先等)の位置及び姿勢を修正する。
(E) Contact force control The contact
(f)全身IK
全身IK部216は、接触力制御部215が算出した重心位置、手先や足先の位置、姿勢、及び重心周りの角運動量等の指令値を達成するように、逆運動学(IK:inverse kinematics)により全身の関節角を求める。
(F) Whole body IK
The whole
(g)関節サーボ
関節サーボ部217は、全身IK部216が求めた関節角度指令値に基づいて各軸で位置サーボ制御を行う。
(G) Joint Servo The
ここで、上記(a)乃至(g)にかかる各処理自体は公知技術等を用いて実現できるため、本実施の形態においては詳細な説明を省略する。 Here, since each processing itself related to the above (a) to (g) can be realized by using a known technique or the like, detailed description is omitted in the present embodiment.
コントローラ210は、典型的には(a)接触点計画、(b)軌道生成、(d)状態安定化、(e)接触力制御、(f)全身IK、及び(g)関節サーボの順に処理を行うことで、多点接触ロボットの動作を制御する。そして、重要な点として、コントローラ210は、(b)軌道生成と(c)状態推定とのフィードバック処理を実施する。ここで軌道生成部212は、一定時間ごとに、現在の多点接触ロボットの状態を起点として、将来にわたる目標軌道を生成する。同様に、(d)状態安定化と(c)状態推定との間にもフィードバックループが存在する。ここでは、状態安定化部214が、現在の多点接触ロボットの状態と目標軌道との差が0に漸近するよう、力指令値を修正する。
The
本実施の形態の特徴は、これら2つのフィードバックループの周期が異なる点にある。すなわち、状態推定部213は、多点接触ロボットの状態推定結果を、軌道生成部212と状態安定化部214とに対して、それぞれ異なる周期でフィードバックする。コントローラ210は、軌道生成部212と状態推定部213とのフィードバックループは比較的長い周期(例えば20ms)で実行する。一方、状態安定化部214と状態推定部213とのフィードバックループは比較的短い周期(例えば1ms)実行する。
The feature of this embodiment is that the periods of these two feedback loops are different. That is, the
フィードバック周期を異ならせてよい理由は次のとおりである。(d)状態安定化処理は、現在のロボットの状態と目標軌道との差を修正するための制御である。もし、何らかの事情により多点接触ロボットの実際の状態と目標軌道とに差異が生じると、多点接触ロボットの運動は破綻して転倒するなどの可能性がある。そこで、(c)状態推定と(d)状態安定化との間のフィードバック処理はできるだけ短い時間(周期)で実施し、できるだけ素早く(e)乃至(g)による姿勢制御を実行して、多点接触ロボットの状態を安定化させる必要がある。一方、(b)軌道生成処理は、現在の多点接触ロボットの重心位置や速度等を初期状態として、そこから将来にわたる安定軌道を生成する処理である。この処理は必ずしも(d)ほど短い周期で実施する必要はない。 The reason why the feedback period may be different is as follows. (D) State stabilization processing is control for correcting the difference between the current robot state and the target trajectory. If there is a difference between the actual state of the multipoint contact robot and the target trajectory for some reason, the motion of the multipoint contact robot may fail and fall. Therefore, feedback processing between (c) state estimation and (d) state stabilization is performed in as short a time (cycle) as possible, and posture control by (e) to (g) is performed as quickly as possible. It is necessary to stabilize the state of the contact robot. On the other hand, (b) trajectory generation processing is processing for generating a stable trajectory for the future from the initial position of the center of gravity, speed, etc. of the current multipoint contact robot. This process does not necessarily need to be performed with a cycle as short as (d).
このように、コントローラ210は、(b)軌道生成処理と、(d)乃至(g)にかかるリアルタイムの姿勢制御処理と、をそれぞれ異なる周期で実行できる。当然ながら、軌道生成処理と、リアルタイムの姿勢制御処理と、では許容される計算量も各々異なる。リアルタイムの姿勢制御処理は短い時間で実行する必要があるから、計算量をできる限り少なく抑える工夫が必要である。
Thus, the
次に、本実施の形態にかかる多点接触制御処理のアルゴリズムの一例について説明する。はじめに、本実施の形態にかかる多点接触制御処理の考え方について説明する。 Next, an example of an algorithm for multipoint contact control processing according to the present embodiment will be described. First, the concept of the multipoint contact control process according to the present embodiment will be described.
本実施の形態では、多点接触ロボット全体の慣性が1つの重心で表され、各接触点には6軸力が定義されたモデルを用いる(図2)。この時、重心の並進運動量をP、重心回りの回転運動量をL、接触点の数をnとすると、運動方程式は
ここで、「重心位置、胴体姿勢角度、重心周り角運動量、各接触点の力、各接触点のモーメント」の指令値を
軌道生成部212によって生成される指令値は当然、式(1)を満たし
式(2)を行列表現に書き直せば
となる。ただし、
It becomes. However,
さらに、
ここで、状態推定部213で推定された結果として、「重心位置、速度、胴体姿勢角度、重心周り角運動量」の推定値
状態安定化部214の目的は
ここで誤差を
式(6)の第2式は、胴体姿勢角度の誤差にゲインを掛けて重心周り角運動量誤差に足し合わせる形になっており、これは近似的には重心周り角運動量誤差を積分しているとも解釈できる。つまり、重心周り角運動量誤差を減少させるようにフィードバックを行った場合には、近似的にはPI制御を行ったのと同等と解釈できる。 The second equation of equation (6) is obtained by multiplying the error of the body posture angle by a gain and adding it to the angular momentum error around the center of gravity, which is approximately integrating the angular momentum error around the center of gravity. Can also be interpreted. That is, when feedback is performed so as to reduce the angular momentum error around the center of gravity, it can be roughly interpreted as equivalent to performing PI control.
したがって、状態安定化部214は、式(6)の誤差をフィードバックして、誤差が減少するように制御を行えば、式(5)の目的を達成できる。すなわち、誤差を式(6)で定義した時に、
そこで本実施の形態では、誤差の漸近収束と各接触力への負荷の分配を目的として、次のような評価関数で表される最適レギュレータを適用する。
このように、状態安定化部214は、状態推定部213が観測した誤差量(状態量)をフィードバックすることによって、式(7)を達成する補正力及びモーメントを算出することができる。
As described above, the
ここで、以下の2つの課題が生ずる。
(ア)接触点数や接触部位が変化していくのに伴って、システム式(4)が変化する。そのため、上記リッカチ方程式を予め解いておくことができない。一方、リアルタイムで毎回解くと計算時間を要するため、制御周期の上限が制限される。
(イ)状態フィードバックを示す式(8)では補正力及びモーメントの制限が考慮されていない。そのため、補正により、接触点で接触部位が滑る又は剥がれる等の接触不安定を引き起こす可能性がある。
Here, the following two problems arise.
(A) The system equation (4) changes as the number of contact points and contact parts change. For this reason, the Riccati equation cannot be solved in advance. On the other hand, since solving each time in real time requires calculation time, the upper limit of the control cycle is limited.
(A) In the equation (8) indicating the state feedback, the limitation of the correction force and the moment is not considered. Therefore, the correction may cause contact instability such as the contact part slipping or peeling off at the contact point.
まず課題(イ)の解決策を検討する。図3に、接触点の座標系(上添え字lがついている)と、接触多角形(接触点の支持多角形)を示した。接触点座標は接触点を原点として接触面の姿勢riに合わせて定義されているものとする。このとき、接触座標系で定義された6軸力
は、接触面の姿勢行列
(rot()はオイラー角と姿勢行列に変換する関数)を用いて、
と表される。
First, consider the solution to issue (b). FIG. 3 shows the coordinate system of the contact point (with the superscript l) and the contact polygon (support polygon of the contact point). Contact point coordinates is assumed to be defined in accordance with the orientation r i of the contact surface of the contact point as the origin. At this time, the 6-axis force defined in the contact coordinate system
Is the posture matrix of the contact surface
(Rot () is a function that converts Euler angles and attitude matrices)
It is expressed.
図4に示すように、接触点が安定して接触を保つためには以下の3つの条件を満たす必要がある。
(1)接触点が接触面から離れないこと
(2)接触点が接触面で滑らないこと
(3)接触点が接触面から剥がれないこと
As shown in FIG. 4, the following three conditions must be satisfied in order for the contact point to stably maintain contact.
(1) The contact point does not move away from the contact surface. (2) The contact point does not slip on the contact surface. (3) The contact point does not peel off from the contact surface.
(1)接触点が接触面から離れない為には、接触面の鉛直力が正であれば良い。すなわち、次式を満たす必要がある。
(2)接触点が接触面で滑らない為には、接触面に平行な2軸力が摩擦力以下であれば良い。すなわち次式がその条件である。ただし接触面の摩擦係数をμiとする。
(3)接触点が剥がれない為の条件は、接触多角形のh個の頂点座標(xl il,yl il),・・・,(xl ih,yl ih)を用いて以下のように表される(ただし接触多角形の頂点は反時計回りに順に与えられているものとする)。
式(9)、(10)、(11)及び(12)をまとめると
式(14)を全接触点について書き並べると
課題(イ)とは、式(8)のフィードバックの結果、式(15)が満たされないために、接触点を安定に保つ条件式(10)、(11)及び(12)が満たされず、もって接触点で接触部位が滑りや剥がれを引き起こすという問題である。そこで本実施の形態では、直近で式(15)を満たしつつ、評価関数
この問題は、LMI(Linear Matrix Inequality)を用いて次のような最適化問題を解くことにより、解を得ることが可能である。
式(16)の形式の最適化問題は、収束計算による求解法である内点法を用いて効率良く解を求められることがよく知られている。式(16)の求解結果P*を用いて
接触点における摩擦力又は鉛直力を含む制約条件を課すことにより、補正によって接触点におけるすべりやはがれなどの不安定性を考慮した状態安定を行うことができる。
It is well known that the optimization problem in the form of equation (16) can be efficiently obtained using an interior point method which is a solution method by convergence calculation. Using the solution result P * of equation (16)
By imposing a constraint condition including frictional force or vertical force at the contact point, it is possible to perform state stabilization in consideration of instability such as slip or peeling at the contact point by correction.
次に、課題(ア)の解決策について検討する。上記最適化問題は高速に求解することは可能だが、ある程度の計算時間が必要である。そこで、本実施の形態では、フィードバックゲインの計算を(b)軌道生成と同時に行うことにより、課題(ア)を解決する手法を提案する。なお、フィードバックゲインの計算は、(d)状態安定化におけるフィードバックループよりも遅い周期で実行すれば良く、必ずしも(b)軌道生成のフィードバックループと同じ周期で行う必要はない。 Next, the solution to the problem (a) is examined. Although the above optimization problem can be solved at high speed, it requires a certain amount of calculation time. Therefore, in the present embodiment, a method for solving the problem (a) is proposed by performing the calculation of the feedback gain at the same time as (b) trajectory generation. The calculation of the feedback gain may be performed at a cycle slower than that of the feedback loop in (d) state stabilization, and is not necessarily performed at the same cycle as that of the feedback loop for (b) trajectory generation.
すなわち、図5に示すように、本実施の形態では、20ms周期で現在の状態推定量に基づいて式(16)及び(17)を解くことで最適フィードバックゲインKを計算し、求められたフィードバックゲインKを用いて1ms周期で状態フィードバックを行う、というフレームワークを採用する。状態フィードバックの計算自体は、フィードバックゲインと現在の状態推定量から算出した誤差量を乗算するだけなので、非常に少ない計算量で補正力及びモーメントを計算することができる。状態フィードバックの計算を、誤差とフィードバックゲインを積算するだけの計算にとどめるので、短周期で計算することができる。 That is, as shown in FIG. 5, in the present embodiment, the optimal feedback gain K is calculated by solving the equations (16) and (17) based on the current state estimation amount in a cycle of 20 ms, and the obtained feedback A framework is adopted in which state feedback is performed at a 1 ms period using gain K. Since the calculation of the state feedback itself simply multiplies the error amount calculated from the feedback gain and the current state estimation amount, the correction force and moment can be calculated with a very small amount of calculation. Since the calculation of the state feedback is limited to the calculation of adding the error and the feedback gain, it can be calculated in a short period.
図6乃至図8を用いて、本実施の形態の特徴的な部分について再度説明する。図6は、本実施の形態のフレームワークを示すブロック線図である。図7は、最適ゲイン計算器2122の動作を示すフローチャートである。図8は、誤差計算器2132及び状態フィードバック2142の動作を示すフローチャートである。
The characteristic part of this embodiment will be described again with reference to FIGS. FIG. 6 is a block diagram showing the framework of the present embodiment. FIG. 7 is a flowchart showing the operation of the optimum gain calculator 2122. FIG. 8 is a flowchart showing the operations of the
図6のブロック線図は、複数の機能ブロックと、機能ブロック間のデータの入出力を示す矢印とからなっている。軌道生成器2121及び最適ゲイン計算器2122は、軌道生成部212に含まれる機能ブロックである。状態推定器2131及び誤差計算器2132は、状態推定部213に含まれる。状態フィードバック2142は、状態安定化部214に含まれる。また、図6において、接触点パラメータsi=(μi,(xl il,yl il),・・・,(xl ih,yl ih))は接触点の摩擦係数及び接触多角形を表すものとする。
The block diagram in FIG. 6 includes a plurality of functional blocks and arrows indicating input / output of data between the functional blocks. The
このうち、軌道生成器2121及び最適ゲイン計算器2122は、長い周期、典型的には20ms周期で処理を実行する。一方、状態推定器2131、誤差計算器2132及び状態フィードバック2142は、短い周期、典型的には1ms周期で処理を実行する。
Among these, the
まず長い周期、典型的には20ms周期で処理が実行される機能ブロックの動作について説明する。軌道生成器2121が、接触点計画部211又は上位装置によって計画された接触点位置及び姿勢pi[k],ri[k]及び接触点パラメータsi[k]に基づいて、重心位置及び速度qd[k],qd[k]、胴体姿勢角φd[k]、重心周り角運動量Ld[k]、接触点の力及びモーメントfid[k],τid[k]、手先及び足先位置並びに姿勢(接触点含む)pt i[k],rt i[k]の時系列軌道を生成し、軌道バッファに格納する。ここで、軌道生成器としては、例えば特願2013−254989に記載のものを利用できる。
First, the operation of a functional block in which processing is executed in a long cycle, typically a 20 ms cycle will be described. Based on the contact point position and orientation p i [k], r i [k] and the contact point parameter s i [k] planned by the contact
最適ゲイン計算器2122は、軌道生成器2121から、重心位置、重心周り角運動量、接触点の6軸力の現在の目標値qd、Ld、fid及びτid、並びに接触点の位置pi及び接触点パラメータsiを取得する(図7、S101)。そして、これらの取得値を用い、数10に従ってシステム行列A、Bを求める(S102)。また、数31に示した不等式制約条件G、wを求める(S103)。
The optimum gain calculator 2122 receives from the
また、最適ゲイン計算器2122は、誤差計算器2132から状態誤差値の最新値(現在値)ηnを取得する(図7、S104)。そして、式(16)により最適化問題の求解結果P*を得る(S105)。最後に、式(17)及びP*を用いて、最適フィードバックゲインKを算出し、出力する(S106)。 The optimum gain calculator 2122 acquires the latest value (current value) η n of the state error value from the error calculator 2132 (S104 in FIG. 7). Then, a solution P * for the optimization problem is obtained from equation (16) (S105). Finally, the optimum feedback gain K is calculated and output using Expression (17) and P * (S106).
次に短い周期、典型的には1ms周期で処理が実行される機能ブロックの動作について説明する。状態推定器2131が、各センサ値を用いて現在の重心位置及び速度q,q、胴体姿勢角度φ、重心周り角運動量Lを出力する。なお、状態推定器2131としては、例えば特願2014−089943に記載のものを利用できる。
Next, the operation of a functional block in which processing is executed in a short cycle, typically 1 ms, will be described. The
誤差計算器2132は、軌道バッファから現在時刻における目標値qd、qd、φd、Ldを取得する(図8、S202)。また、状態推定器2131から状態推定値q、q、φ、Lを取得する(S203)。そして、誤差計算器2132は、これらの値を用い、式(6)に基づいて現在誤差ベクトルηを計算する。
The
状態フィードバック2142は、最適ゲイン計算器2122から最適フィードバックゲインKを取得する(図8、S201)。また、誤差計算器2132から誤差ベクトルηを取得する(S204)。そして、Kとηとを乗算して、接触点の補正力及びモーメントΔfi,Δτiを計算する(S205)。さらに、fref i=fid[j]+Δfi,τref i=τid[j]+Δτiのように、現在時刻における目標6軸力に上記補正量を加算することで、6軸力指令値を出力する(S206)。
The
本実施の形態によれば、軌道生成部212における軌道生成処理(最適ゲイン計算を含む)と、状態安定化部214による姿勢制御処理(誤差フィードバックを含む)とは、異なる周期で実行される。これにより、状態安定化部214は、比較的計算量の多い、すなわち計算に時間を要する最適ゲイン計算処理に影響されることなく、比較的短い時間で誤差フィードバック処理を実行できるようになる。そのため、早い周期で姿勢制御を行うことができ、任意の多点接触状態において重心軌道追従・安定化性能を向上させることができる。
According to the present embodiment, the trajectory generation processing (including optimal gain calculation) in the
また、本実施の形態によれば、状態安定化部214は、式(16)による定式化と、図5に示すフレームワークとにより、各接触点の安定化を保ちつつ軌道追従誤差をゼロに漸近させる処理を、低い計算コストで高速に実行することができる。これにより、状態安定化部214は、早い周期で姿勢制御を行うことができ、任意の多点接触状態において重心軌道追従・安定化性能を向上させることができる。
Further, according to the present embodiment, the
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では、式(13)を接触点の接触安定性を保証する条件のみで構成したが、例えば鉛直接触力の上限値を設定して
また、上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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-described embodiment, the present invention has been mainly described as a hardware configuration. However, the present invention is not limited to this, and a CPU (Central Processing Unit) executes a computer program for arbitrary processing. Can also be realized. In this case, the computer program can be stored and provided to the computer 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 (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)). The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
100 多点接触ロボット
210 コントローラ
211 接触点計画部
212 軌道生成部
2121 軌道生成器
2122 最適ゲイン計算器
213 状態推定部
2131 状態推定器
214 状態安定化部
2132 誤差計算器
2142 状態フィードバック
215 接触力制御部
216 全身IK部
217 関節サーボ部
DESCRIPTION OF
Claims (7)
目標重心軌道及び前記接触点各々の反力目標値を生成する軌道生成部であって、第1の周期で、現在の状態を初期状態として、将来にわたる前記目標重心軌道及び前記反力目標値を生成する軌道生成部と、
現在の重心を推定し、前記目標重心軌道と前記現在の重心との誤差を算出する状態推定部と、
前記誤差が前記目標重心軌道に収束するよう前記反力目標値を修正する状態安定化部と、を有し、
前記軌道生成部は、前記第1の周期で、評価関数を最小化する最適レギュレータを適用して、前記誤差を前記目標重心軌道に収束させるためのフィードバックゲインを算出し、
前記状態安定化部は、前記第1の周期よりも短い第2の周期で、前記誤差と前記フィードバックゲインとに基づき前記反力目標値を修正する、
多点接触ロボット。 A multi-point contact robot that has a plurality of contact points, moves the contact points in contact with both the floor and other than the floor,
A trajectory generator for generating a target gravity center trajectory and a reaction force target value for each of the contact points, wherein the target gravity center trajectory and the reaction force target value for the future are set in a first cycle, with the current state as an initial state. A trajectory generator to generate,
A state estimation unit that estimates a current center of gravity and calculates an error between the target center of gravity trajectory and the current center of gravity;
A state stabilizing unit that corrects the reaction force target value so that the error converges to the target gravity center trajectory,
The trajectory generator applies an optimal regulator that minimizes an evaluation function in the first period, and calculates a feedback gain for converging the error to the target centroid trajectory,
The state stabilizing unit corrects the reaction force target value based on the error and the feedback gain in a second period shorter than the first period;
Multi-point contact robot.
請求項1記載の多点接触ロボット。 The multipoint contact robot according to claim 1, wherein the trajectory generation unit calculates the feedback gain based on a constraint condition including a frictional force or a vertical force at the contact point.
請求項1又は2記載の多点接触ロボット。 The multipoint contact robot according to claim 1, wherein the state stabilization unit corrects the reaction force target value by multiplying the error and the feedback gain.
現在の状態を初期状態として、将来にわたる前記多点接触ロボットの目標重心軌道及び前記接触点各々の反力目標値を第1の周期で生成する軌道生成ステップと、
現在の重心を推定し、前記目標重心軌道と前記現在の重心との誤差を算出する誤差計算ステップと、
評価関数を最小化する最適レギュレータを適用して、前記第1の周期で、前記誤差を前記目標重心軌道に収束させるためのフィードバックゲインを算出する最適ゲイン計算ステップと、
前記第1の周期よりも短い第2の周期で、前記誤差と前記フィードバックゲインとに基づき前記反力目標値を修正する状態フィードバックステップと、を含む
多点接触ロボットの制御方法。 A control method for a multi-point contact robot that has a plurality of contact points, moves the contact points in contact with both the floor and other than the floor,
The current state as an initial state, the trajectory generation step of generating a reaction force target value of the target barycentric trajectory and the contact points each of said multipoint contact robot the future in the first period,
An error calculating step of estimating a current center of gravity and calculating an error between the target center of gravity trajectory and the current center of gravity;
Applying an optimal regulator that minimizes the evaluation function, and calculating an optimum gain calculating step for calculating a feedback gain for converging the error to the target centroid trajectory in the first period;
A state feedback step of correcting the reaction force target value based on the error and the feedback gain in a second period shorter than the first period.
請求項4記載の多点接触ロボットの制御方法。 The multipoint contact robot control method according to claim 4, wherein the optimum gain calculating step calculates the feedback gain based on a constraint condition including a frictional force or a vertical force at the contact point.
請求項4又は5記載の多点接触ロボットの制御方法。 The multipoint contact robot control method according to claim 4, wherein the state feedback step corrects the reaction force target value by multiplying the error and the feedback gain.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015054608A JP6447278B2 (en) | 2015-03-18 | 2015-03-18 | Multipoint contact robot, control method and program for multipoint contact robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015054608A JP6447278B2 (en) | 2015-03-18 | 2015-03-18 | Multipoint contact robot, control method and program for multipoint contact robot |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016172309A JP2016172309A (en) | 2016-09-29 |
JP6447278B2 true JP6447278B2 (en) | 2019-01-09 |
Family
ID=57008502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015054608A Active JP6447278B2 (en) | 2015-03-18 | 2015-03-18 | Multipoint contact robot, control method and program for multipoint contact robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6447278B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017118982A1 (en) * | 2017-04-23 | 2018-10-25 | Franka Emika Gmbh | Robot and method for operating a robot |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3270766B2 (en) * | 1992-03-04 | 2002-04-02 | 本田技研工業株式会社 | Control device for legged mobile robot |
JP4485279B2 (en) * | 2004-08-02 | 2010-06-16 | 本田技研工業株式会社 | Gait generation device and control device for legged mobile robot |
JP5219956B2 (en) * | 2009-07-23 | 2013-06-26 | 本田技研工業株式会社 | Control device for moving body |
JP5392125B2 (en) * | 2010-02-05 | 2014-01-22 | トヨタ自動車株式会社 | Biped walking robot and gait data generation method therefor |
JP5398592B2 (en) * | 2010-03-01 | 2014-01-29 | 本田技研工業株式会社 | Motion evaluation system for legged mobile robots |
JP5616290B2 (en) * | 2011-05-25 | 2014-10-29 | 本田技研工業株式会社 | Control device for moving body |
JP2011255500A (en) * | 2011-08-01 | 2011-12-22 | National Institute Of Advanced Industrial Science & Technology | Control device for legged mobile robot |
JP5623376B2 (en) * | 2011-12-02 | 2014-11-12 | 本田技研工業株式会社 | Gait generator for legged mobile robot and motion target generator for robot |
-
2015
- 2015-03-18 JP JP2015054608A patent/JP6447278B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016172309A (en) | 2016-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Feng et al. | Optimization‐based full body control for the darpa robotics challenge | |
Saab et al. | Dynamic whole-body motion generation under rigid contacts and other unilateral constraints | |
Feng et al. | Optimization based controller design and implementation for the atlas robot in the darpa robotics challenge finals | |
JP5910647B2 (en) | Mobile robot movement control method | |
US20220019196A1 (en) | Feedforward control method for floating base dynamics, computer-readable storage medium and robot | |
Hu et al. | Adaptive backstepping trajectory tracking control of robot manipulator | |
Mason et al. | Balancing and walking using full dynamics LQR control with contact constraints | |
US20150158181A1 (en) | Robot control apparatus, robot control method, program, recording medium and robot system | |
US8874263B2 (en) | Walking robot and control method thereof | |
Missura et al. | Omnidirectional capture steps for bipedal walking | |
Moro et al. | An attractor-based whole-body motion control (WBMC) system for humanoid robots | |
US11465281B2 (en) | Dynamic planning controller | |
JP5859036B2 (en) | robot | |
Cherubini et al. | Multimodal control for human-robot cooperation | |
JP2010131702A (en) | Robot device | |
JP6321905B2 (en) | Joint system control method, storage medium, and control system | |
JP6781101B2 (en) | Non-linear system control method, biped robot control device, biped robot control method and its program | |
US20230234222A1 (en) | Humanoid robot balance control method, humanoid robot, and storage medium | |
Carlési et al. | Nonlinear model predictive running control of kangaroo robot: A one-leg planar underactuated hopping robot | |
JP6447278B2 (en) | Multipoint contact robot, control method and program for multipoint contact robot | |
Stasse et al. | Fast foot prints re-planning and motion generation during walking in physical human-humanoid interaction | |
JP6168158B2 (en) | Mobile robot movement control method and mobile robot | |
Yamamoto et al. | Switching control and quick stepping motion generation based on the maximal CPI sets for falling avoidance of humanoid robots | |
JP7221833B2 (en) | Nonlinear model predictive controller | |
JP2012223864A (en) | Motion data generation system and motion data generation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180327 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181017 |
|
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: 20181106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181119 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6447278 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |