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 PDF

Info

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
Application number
JP2015054608A
Other languages
Japanese (ja)
Other versions
JP2016172309A (en
Inventor
将弘 土井
将弘 土井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2015054608A priority Critical patent/JP6447278B2/en
Publication of JP2016172309A publication Critical patent/JP2016172309A/en
Application granted granted Critical
Publication of JP6447278B2 publication Critical patent/JP6447278B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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), Patent Document 1 and Patent Document 2 can be cited as prior art applicable to multipoint contact control. Patent Document 1 is an extension of the conventional composite compliance control, which is a stabilization technology for biped walking, so that it can be used for multi-legged robots having three or more grounding points including the floor surface. Patent Document 2 discloses a stabilization technique that can cope with multipoint contact control having contact points other than the floor surface.

特許第4126064号Japanese Patent No. 4126064 特許第5398592号Japanese Patent No. 5398592

特許文献1の複合コンプライアンス制御はZMPを用いた安定化技術である。ZMP(zero moment point)とは、所定のZMP平面(通常は床面)上のモーメントの釣り合い位置(全体のモーメントが釣り合って丁度0になる位置)のことである。ZMPを用いた安定化技術は、歩行のように環境との接触点がほぼ床面に限定されているような運動には適するが、任意の複数の接触点で環境と接触するような運動には適さない。すなわち、特許文献1は多点接触に対応してはいるが、基本的には床面上に接触点を持つロボット(つまり、多脚ロボット)を対象にした技術である。   The composite compliance control of Patent Document 1 is a stabilization technique using ZMP. ZMP (zero moment point) is a moment balance position (position where the entire moment is balanced and exactly 0) on a predetermined ZMP plane (usually the floor). Stabilization technology using ZMP is suitable for movements where the point of contact with the environment is almost limited to the floor, such as walking, but for movements that make contact with the environment at any number of points of contact. Is not suitable. In other words, Patent Document 1 is a technique for a robot having a contact point on the floor surface (that is, a multi-legged robot) although it is compatible with multi-point contact.

一方、特許文献2の安定化技術は、ZMPを用いておらず、床面以外の接触点を持つロボットの多点接触制御に対応できる。しかしながら、特許文献2が開示するアルゴリズムは、各接触点が属する面を、予め設定された仮想面に投影することを前提として制御則が組み立てられている。すなわち、実際に手や足等の接触点が接触している、壁や床等の接触面上における力の分配を直接計算することなく、仮想面群というギミックを用いて制御則を組み立てている。   On the other hand, the stabilization technique of Patent Document 2 does not use ZMP, and can cope with multipoint contact control of a robot having contact points other than the floor surface. However, in the algorithm disclosed in Patent Document 2, the control law is assembled on the assumption that the surface to which each contact point belongs is projected onto a preset virtual surface. In other words, the control law is assembled using a virtual surface group gimmick without directly calculating the force distribution on the contact surface such as the wall or floor where the contact points such as hands and feet are actually in contact. .

特許文献2のアルゴリズムは、面同士が直交もしくは平行に対向した面群(仮想面群)を前提とするものである。そして、例えば接触点の摩擦力が不足して所望の並進力が得られないような場合に、平行に対向する各仮想面への押し付け力(垂直抗力)を増加させることで摩擦力を増加させる、という補償方法を用いている。ここで、仮に仮想面が平行に対向しておらず任意の傾きを持っている場合には、互いの面に生ずる垂直抗力の向きが一致しないので、上述のように単純に垂直抗力を増加させるというようなロジックではこの問題を解決できない。すなわち、特許文献2の安定化技術は、制御ロジック全体が、面同士が直交もしくは平行に対向した面群を前提にする必要がある。そのために、実際の接触面ではなく仮想面を設定しているのである。   The algorithm of Patent Document 2 is based on a surface group (virtual surface group) in which the surfaces face each other orthogonally or in parallel. For example, when a desired translational force cannot be obtained due to a shortage of the frictional force at the contact point, the frictional force is increased by increasing the pressing force (vertical drag) on each parallel virtual surface. The compensation method is used. Here, if the virtual surfaces do not face each other in parallel and have an arbitrary inclination, the directions of the normal forces generated on the surfaces do not coincide with each other, so that the normal force is simply increased as described above. Such a logic cannot solve this problem. In other words, the stabilization technique of Patent Document 2 requires that the entire control logic be based on a group of surfaces whose surfaces face each other orthogonally or in parallel. Therefore, a virtual surface is set instead of an actual contact surface.

そのため、特許文献2の安定化技術は、任意の角度を持つ接触面群(例えば相対的に45度ずつ傾いた複数の面など)に対する適用性が著しく低いという問題がある。また、摩擦力と内力を活用することによって安定化可能な場合であっても、運動状態が不適切である旨の誤判定を起こすという問題も抱えている。   For this reason, the stabilization technique of Patent Document 2 has a problem that applicability to a contact surface group having an arbitrary angle (for example, a plurality of surfaces inclined relatively by 45 degrees) is extremely low. Moreover, even if it is a case where it can stabilize by utilizing a frictional force and internal force, it also has the problem of causing the misjudgment that a motion state is inappropriate.

また、特許文献2の安定化技術では、重心や姿勢角のフィードバック制御が公知のPD制御で構成されている。PD制御では、各接触点の位置や姿勢の情報(例えばどのような向きに力を発生し易いか、どの方向ならどの程度の合力を安定に発生できるか等の情報)は全く考慮されない。   Further, in the stabilization technique of Patent Document 2, feedback control of the center of gravity and posture angle is configured by known PD control. In the PD control, information on the position and orientation of each contact point (for example, information on what direction the force is likely to be generated and how much force can be stably generated in which direction) is not considered at all.

本発明はこうした課題に鑑みてなされたものであり、その目的は、高い安定化性能を有する多点接触ロボット、多点接触ロボットの制御方法及びプログラムを提供することにある。   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.

本発明の実施の形態にかかる多点接触ロボット100の構成を示す図である。It is a figure which shows the structure of the multipoint contact robot 100 concerning embodiment of this invention. 多点接触ロボット100にかかる接触力を示す図である。FIG. 4 is a diagram showing a contact force applied to the multipoint contact robot 100. 多点接触ロボット100の接触点の座標系及び接触多角形を示す図である。2 is a diagram illustrating a coordinate system and a contact polygon of a contact point of the multipoint contact robot 100. FIG. 多点接触ロボット100の接触点の安定化条件を示す図である。FIG. 4 is a diagram showing a stabilization condition for contact points of the multipoint contact robot 100. 多点接触ロボット100の制御フレームワークを示す図である。2 is a diagram showing a control framework of the multipoint contact robot 100. FIG. 多点接触ロボット100の制御フレームワークを示す図である。2 is a diagram showing a control framework of the multipoint contact robot 100. FIG. 多点接触ロボット100の制御方法を示す図である。2 is a diagram illustrating a control method of the multipoint contact robot 100. FIG. 多点接触ロボット100の制御方法を示す図である。2 is a diagram illustrating a control method of the multipoint contact robot 100. FIG. 多点接触ロボット100の構成を示す図である。1 is a diagram showing a configuration of a multipoint contact robot 100. FIG. 多点接触ロボット100の構成を示す図である。1 is a diagram showing a configuration of a multipoint contact robot 100. FIG.

本発明の実施形態を図示するとともに図中の各要素に付した符号を参照して説明する。   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 multipoint contact robot 100 has three axes for the hip joint, one axis for the knee joint, two axes for the ankle joint, three axes for the shoulder joint (shoulder pitch, shoulder roll, shoulder yaw), and one axis for the elbow joint (elbow pitch). ) And the wrist joint is composed of three axes (wrist yaw, wrist pitch, wrist roll). The mechanical configuration of the multipoint contact robot is not limited to this, but the degree of freedom of the hand (arm) is 6 or more and the degree of freedom of the foot (leg) is 6 or more.

多点接触ロボット100は、各関節にエンコーダ付きモータ1、2、・・・、28を有している。各関節のモータ(関節駆動手段)1a、2a、・・・、28a(図10)は、各関節の関節角度θ1、θ2、・・・、θ28を調整できる。一方、各関節のエンコーダ(関節角度検出手段)1b、2b、・・・、28bは、各関節の関節角度θ1、θ2・・・、θ28を計測することができる。   The multipoint contact robot 100 has motors 1, 2,..., 28 with encoders at each joint. Motors (joint driving means) 1a, 2a,..., 28a (FIG. 10) of each joint can adjust the joint angles θ1, θ2,. On the other hand, encoders (joint angle detection means) 1b, 2b,..., 28b of each joint can measure joint angles θ1, θ2,.

また、多点接触ロボット100は、足先部(足平部)および手先部(手の平部)に接触力センサ25を有している。ここで接触力とは6軸力であり、図2に示すように、x軸、y軸およびz軸方向の力fの組(f、f、fと、x軸回り、y軸回りおよびz軸回りの力τの組(τ、τ、τと、である。なお、x軸およびy軸は、鉛直方向であるz軸に垂直な面内で互いに直交する軸とする。 Further, the multipoint contact robot 100 has a contact force sensor 25 at a tip part (foot part) and a hand part (palm part). Here, the contact force is a six-axis force. As shown in FIG. 2, a set of forces f in the x-axis, y-axis, and z-axis directions (f x , f y , f z ) T , A set of forces τ around the y-axis and the z-axis (τ x , τ y , τ z ) T. Note that the x-axis and the y-axis are axes orthogonal to each other in a plane perpendicular to the z-axis that is the vertical direction.

この多点接触ロボットは、移動時に、右足、左足、右手又は左手などの接触点のうち複数を、床、壁、あるいはテーブルなどの接触面に接触させながら移動する。   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 multipoint contact robot 100. The multipoint contact robot 100 includes motors 1a to 24a and encoders 1b to 24b of each joint, a force sensor 25, and a controller 210.

コントローラ210には、各関節のエンコーダ1b乃至24b及び力センサ25から、センサ検出値が入力される。また、コントローラ210は、各関節のモータ1a乃至24aに対して駆動信号を出力する。   Sensor detection values are input to the controller 210 from the encoders 1b to 24b and the force sensor 25 of each joint. Further, the controller 210 outputs a drive signal to the motors 1a to 24a of each joint.

コントローラ210は、主要なハードウェア構成として、制御処理、演算処理等を行うCPU(Central Processing Unit)210aと、CPU210aによって実行される制御プログラム、演算プログラム等が記憶されたROM(Read Only Memory)210bと、処理データ等を一時的に記憶するRAM(Random Access Memory)210cと、を有するマイクロコンピュータにより構成されている。また、これらCPU210a、ROM210b、及びRAM210cは、データバス210dによって相互に接続されている。必要なプログラムを不揮発性記録媒体に記録しておき、必要に応じてインストールするようにしてもよい。   The controller 210 includes, as main hardware configurations, a CPU (Central Processing Unit) 210a that performs control processing, arithmetic processing, and the like, and a ROM (Read Only Memory) 210b that stores control programs, arithmetic programs, and the like executed by the CPU 210a. And a RAM (Random Access Memory) 210c that temporarily stores processing data and the like. The CPU 210a, ROM 210b, and RAM 210c are connected to each other by a data bus 210d. Necessary programs may be recorded on a non-volatile recording medium and installed as necessary.

ここで図1の機能ブロック図を用いて、コントローラ210の機能構成について説明する。同時に、図5を用いて、多点接触ロボットにおける多点接触動作の生成及び制御フレームワークについて説明する。   Here, the functional configuration of the controller 210 will be described with reference to the functional block diagram of FIG. At the same time, the generation and control framework of the multipoint contact operation in the multipoint contact robot will be described with reference to FIG.

(a)接触点計画
接触点計画部211は、多点接触ロボットがあるタスク(移動も含む)を実行するための、適切な接触点の位置及び姿勢を計画する。なお、接触点計画はユーザにより入力されても良い。
(A) Contact Point Planning The contact point planning unit 211 plans an appropriate position and posture of a contact point for executing a task (including movement) with a multipoint contact robot. The contact point plan may be input by the user.

(b)軌道生成
軌道生成部212は、接触点計画部211が計画した接触点位置及び姿勢に基づいて、将来にわたって発散及び破綻しない安定な重心軌道、力指令値軌道、手先や足先の位置、及び姿勢軌道を生成する。
(B) Trajectory generation The trajectory generation unit 212 is based on the contact point position and posture planned by the contact point planning unit 211, and stable center of gravity trajectory, force command value trajectory, positions of the hand and the tip of the foot, which do not diverge and fail in the future. , And generate a posture trajectory.

(c)状態推定
状態推定部213は、多点接触ロボットの胴体に搭載されたIMU(3軸ジャイロ、3軸加速度計)や各接触点(例えば手先や足先等)の力センサ等を用いて、現在の重心位置、速度、及び胴体姿勢を推定する。
(C) State Estimation The state estimation unit 213 uses an IMU (3-axis gyro, 3-axis accelerometer) mounted on the body of a multi-point contact robot, a force sensor of each contact point (for example, a hand or a tip), and the like. Thus, the current center of gravity position, speed, and body posture are estimated.

(d)状態安定化
状態安定化部214は、状態推定部213が推定した多点接触ロボットの状態と、軌道生成部212が生成した目標軌道と、の差が0に漸近するよう、状態フィードバックにより各接触点の6軸力指令値を修正する。
(D) State Stabilization The state stabilization unit 214 provides state feedback so that the difference between the state of the multipoint contact robot estimated by the state estimation unit 213 and the target trajectory generated by the trajectory generation unit 212 is asymptotic to zero. To correct the 6-axis force command value of each contact point.

(e)接触力制御
接触力制御部215は、各接触点の6軸力指令値を実現するよう、力センサを用いてインピーダンス制御を行い、接触点(例えば手先や足先等)の位置及び姿勢を修正する。
(E) Contact force control The contact force control unit 215 performs impedance control using a force sensor so as to realize a six-axis force command value of each contact point, and determines the position of the contact point (for example, a hand or a tip). Correct posture.

(f)全身IK
全身IK部216は、接触力制御部215が算出した重心位置、手先や足先の位置、姿勢、及び重心周りの角運動量等の指令値を達成するように、逆運動学(IK:inverse kinematics)により全身の関節角を求める。
(F) Whole body IK
The whole body IK unit 216 performs inverse kinematics (IK: inverse kinematics) so as to achieve command values such as the position of the center of gravity calculated by the contact force control unit 215, the positions and postures of the hands and toes, and the angular momentum around the center of gravity. ) To obtain the joint angle of the whole body.

(g)関節サーボ
関節サーボ部217は、全身IK部216が求めた関節角度指令値に基づいて各軸で位置サーボ制御を行う。
(G) Joint Servo The joint servo unit 217 performs position servo control on each axis based on the joint angle command value obtained by the whole body IK unit 216.

ここで、上記(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 controller 210 typically processes (a) contact point planning, (b) trajectory generation, (d) state stabilization, (e) contact force control, (f) whole body IK, and (g) joint servo in this order. To control the operation of the multipoint contact robot. The important point is that the controller 210 performs feedback processing of (b) trajectory generation and (c) state estimation. Here, the trajectory generation unit 212 generates a target trajectory for the future starting from the current state of the multipoint contact robot at regular intervals. Similarly, a feedback loop exists between (d) state stabilization and (c) state estimation. Here, the state stabilization unit 214 corrects the force command value so that the difference between the current state of the multipoint contact robot and the target trajectory gradually approaches zero.

本実施の形態の特徴は、これら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 state estimation unit 213 feeds back the state estimation result of the multipoint contact robot to the trajectory generation unit 212 and the state stabilization unit 214 at different periods. The controller 210 executes a feedback loop between the trajectory generation unit 212 and the state estimation unit 213 with a relatively long cycle (for example, 20 ms). On the other hand, the feedback loop between the state stabilization unit 214 and the state estimation unit 213 is executed with a relatively short period (for example, 1 ms).

フィードバック周期を異ならせてよい理由は次のとおりである。(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 controller 210 can execute (b) trajectory generation processing and real-time posture control processing according to (d) to (g) at different periods. Needless to say, the amount of calculation allowed is different between the trajectory generation process and the real-time attitude control process. Since real-time attitude control processing needs to be executed in a short time, it is necessary to devise a technique for minimizing the amount of calculation.

次に、本実施の形態にかかる多点接触制御処理のアルゴリズムの一例について説明する。はじめに、本実施の形態にかかる多点接触制御処理の考え方について説明する。   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とすると、運動方程式は

Figure 0006447278
と表される。 In the present embodiment, a model in which the inertia of the entire multipoint contact robot is represented by one center of gravity and a six-axis force is defined for each contact point (FIG. 2). At this time, if the translational momentum of the center of gravity is P, the rotational momentum around the center of gravity is L, and the number of contact points is n, the equation of motion is
Figure 0006447278
It is expressed.

ここで、「重心位置、胴体姿勢角度、重心周り角運動量、各接触点の力、各接触点のモーメント」の指令値を

Figure 0006447278
とし、誤差量を導入して
Figure 0006447278
とすると、式(1)は
Figure 0006447278
と表される。 Here, the command values for “center of gravity position, fuselage posture angle, angular momentum around the center of gravity, force at each contact point, moment at each contact point” are
Figure 0006447278
And introduce the error amount
Figure 0006447278
Then, equation (1) becomes
Figure 0006447278
It is expressed.

軌道生成部212によって生成される指令値は当然、式(1)を満たし

Figure 0006447278
が成り立っているので、上式(数4)と差を取れば
Figure 0006447278
となる。ただし、誤差の2乗項は十分小さいとして近似的に
Figure 0006447278
とした。 The command value generated by the trajectory generator 212 naturally satisfies the formula (1).
Figure 0006447278
Therefore, if we take the difference from the above equation (Equation 4)
Figure 0006447278
It becomes. However, the error square term is small enough to approximate
Figure 0006447278
It was.

式(2)を行列表現に書き直せば

Figure 0006447278

となる。ただし、
Figure 0006447278
とする。 If equation (2) is rewritten into matrix representation
Figure 0006447278

It becomes. However,
Figure 0006447278
And

さらに、

Figure 0006447278
とおけば、式(3)は簡単に
Figure 0006447278
と書くことができる。ここで、ηは多点接触ロボットと目標軌道とのずれ量、uは接触点における荷重を示す。A及びBをシステム行列という。 further,
Figure 0006447278
Then, formula (3) is easy
Figure 0006447278
Can be written. Here, η indicates the amount of deviation between the multipoint contact robot and the target trajectory, and u indicates the load at the contact point. A and B are called system matrices.

ここで、状態推定部213で推定された結果として、「重心位置、速度、胴体姿勢角度、重心周り角運動量」の推定値

Figure 0006447278
が状態安定化部214に入力されるものとする。 Here, as a result estimated by the state estimation unit 213, an estimated value of “center of gravity position, speed, body posture angle, angular momentum around the center of gravity”
Figure 0006447278
Is input to the state stabilization unit 214.

状態安定化部214の目的は

Figure 0006447278
を達成することである。 The purpose of the state stabilization unit 214 is
Figure 0006447278
Is to achieve.

ここで誤差を

Figure 0006447278
と定義する。ただし、kは姿勢角誤差のフィードバックゲイン、eΦは瞬間的な姿勢角誤差をグローバル座標系で表現したベクトルである。eΦは、オイラー角とクォータニオンとの変換関数をCquatとすれば次式で表される。
Figure 0006447278
Where the error is
Figure 0006447278
It is defined as Here, k is a feedback gain of the posture angle error, and is a vector expressing the instantaneous posture angle error in the global coordinate system. e Φ is expressed by the following equation when the conversion function between the Euler angle and the quaternion is Cquat .
Figure 0006447278

式(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)で定義した時に、

Figure 0006447278
となれば良い。 Therefore, the state stabilizing unit 214 can achieve the purpose of the equation (5) by feeding back the error of the equation (6) and performing control so that the error is reduced. That is, when the error is defined by equation (6),
Figure 0006447278
It will be good.

そこで本実施の形態では、誤差の漸近収束と各接触力への負荷の分配を目的として、次のような評価関数で表される最適レギュレータを適用する。

Figure 0006447278
この最適レギュレータ問題は従来から非常に多くの分野で使われており、解もよく知られている。
Figure 0006447278
ここで、Pはリッカチ方程式の解
Figure 0006447278
である。また、Kはずれ量ηを打ち消す荷重uを得るためのゲインを示す。 Therefore, in the present embodiment, an optimum regulator represented by the following evaluation function is applied for the purpose of asymptotic convergence of error and distribution of load to each contact force.
Figure 0006447278
This optimal regulator problem has been used in many fields in the past, and its solution is well known.
Figure 0006447278
Where P is the solution of the Riccati equation
Figure 0006447278
It is. K represents a gain for obtaining a load u that cancels out the shift amount η.

このように、状態安定化部214は、状態推定部213が観測した誤差量(状態量)をフィードバックすることによって、式(7)を達成する補正力及びモーメントを算出することができる。   As described above, the state stabilization unit 214 can calculate the correction force and the moment that achieve Equation (7) by feeding back the error amount (state amount) observed by the state estimation unit 213.

ここで、以下の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がついている)と、接触多角形(接触点の支持多角形)を示した。接触点座標は接触点を原点として接触面の姿勢rに合わせて定義されているものとする。このとき、接触座標系で定義された6軸力

Figure 0006447278

は、接触面の姿勢行列
Figure 0006447278

(rot()はオイラー角と姿勢行列に変換する関数)を用いて、
Figure 0006447278

と表される。 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
Figure 0006447278

Is the posture matrix of the contact surface
Figure 0006447278

(Rot () is a function that converts Euler angles and attitude matrices)
Figure 0006447278

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)接触点が接触面から離れない為には、接触面の鉛直力が正であれば良い。すなわち、次式を満たす必要がある。

Figure 0006447278
(1) In order for the contact point not to be separated from the contact surface, the vertical force on the contact surface may be positive. That is, it is necessary to satisfy the following formula.
Figure 0006447278

(2)接触点が接触面で滑らない為には、接触面に平行な2軸力が摩擦力以下であれば良い。すなわち次式がその条件である。ただし接触面の摩擦係数をμとする。

Figure 0006447278
(2) In order for the contact point not to slip on the contact surface, the biaxial force parallel to the contact surface may be equal to or less than the friction force. That is, the following equation is the condition. However, the friction coefficient of the contact surface is μ i .
Figure 0006447278

(3)接触点が剥がれない為の条件は、接触多角形のh個の頂点座標(x il,y il),・・・,(x ih,y ih)を用いて以下のように表される(ただし接触多角形の頂点は反時計回りに順に与えられているものとする)。

Figure 0006447278
(3) The conditions for preventing the contact point from peeling off are as follows using h vertex coordinates (x l il , y l il ), ..., (x l ih , y l ih ) of the contact polygon. (Note that the vertices of the contact polygon are given in order counterclockwise).
Figure 0006447278

式(9)、(10)、(11)及び(12)をまとめると

Figure 0006447278
となる。
Figure 0006447278
の関係を用いて更に式(13)を書き直せば、
Figure 0006447278
となる。ただし、
Figure 0006447278
とした。 Summarizing equations (9), (10), (11) and (12)
Figure 0006447278
It becomes.
Figure 0006447278
If the equation (13) is rewritten using the relationship of
Figure 0006447278
It becomes. However,
Figure 0006447278
It was.

式(14)を全接触点について書き並べると

Figure 0006447278
と表すことができる。ただし、
Figure 0006447278
とする。 When formula (14) is written for all contact points,
Figure 0006447278
It can be expressed as. However,
Figure 0006447278
And

課題(イ)とは、式(8)のフィードバックの結果、式(15)が満たされないために、接触点を安定に保つ条件式(10)、(11)及び(12)が満たされず、もって接触点で接触部位が滑りや剥がれを引き起こすという問題である。そこで本実施の形態では、直近で式(15)を満たしつつ、評価関数

Figure 0006447278
を最小化するようなフィードバックゲインを算出する。 The problem (b) is that, as a result of the feedback of the equation (8), the equation (15) is not satisfied, so the conditional equations (10), (11) and (12) for keeping the contact point stable are not satisfied. This is a problem that the contact part causes slipping or peeling at the contact point. Therefore, in the present embodiment, the evaluation function is satisfied while satisfying the expression (15) most recently.
Figure 0006447278
Calculate a feedback gain that minimizes.

この問題は、LMI(Linear Matrix Inequality)を用いて次のような最適化問題を解くことにより、解を得ることが可能である。

Figure 0006447278
ただし、ηは最も直近で得られた誤差値である。 This problem can be obtained by solving the following optimization problem using LMI (Linear Matrix Inequality).
Figure 0006447278
However, η n is the error value obtained most recently.

式(16)の形式の最適化問題は、収束計算による求解法である内点法を用いて効率良く解を求められることがよく知られている。式(16)の求解結果Pを用いて

Figure 0006447278
のようにフィードバックゲインが計算される。
接触点における摩擦力又は鉛直力を含む制約条件を課すことにより、補正によって接触点におけるすべりやはがれなどの不安定性を考慮した状態安定を行うことができる。 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)
Figure 0006447278
The feedback gain is calculated as follows.
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 error calculator 2132 and the state feedback 2142.

図6のブロック線図は、複数の機能ブロックと、機能ブロック間のデータの入出力を示す矢印とからなっている。軌道生成器2121及び最適ゲイン計算器2122は、軌道生成部212に含まれる機能ブロックである。状態推定器2131及び誤差計算器2132は、状態推定部213に含まれる。状態フィードバック2142は、状態安定化部214に含まれる。また、図6において、接触点パラメータs=(μ,(x il,y il),・・・,(x ih,y 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 trajectory generator 2121 and the optimum gain calculator 2122 are functional blocks included in the trajectory generator 212. The state estimator 2131 and the error calculator 2132 are included in the state estimator 213. The state feedback 2142 is included in the state stabilization unit 214. Further, in FIG. 6, the contact point parameters s i = (μ i, ( x l il, y l il), ···, (x l ih, y l ih)) is the friction coefficient of the contact points and contact polygon .

このうち、軌道生成器2121及び最適ゲイン計算器2122は、長い周期、典型的には20ms周期で処理を実行する。一方、状態推定器2131、誤差計算器2132及び状態フィードバック2142は、短い周期、典型的には1ms周期で処理を実行する。




Among these, the trajectory generator 2121 and the optimum gain calculator 2122 execute processing in a long cycle, typically a 20 ms cycle. On the other hand, the state estimator 2131, the error calculator 2132, and the state feedback 2142 execute processing in a short cycle, typically 1 ms.




まず長い周期、典型的には20ms周期で処理が実行される機能ブロックの動作について説明する。軌道生成器2121が、接触点計画部211又は上位装置によって計画された接触点位置及び姿勢p[k],r[k]及び接触点パラメータs[k]に基づいて、重心位置及び速度q[k],q[k]、胴体姿勢角φ[k]、重心周り角運動量L[k]、接触点の力及びモーメントfid[k],τid[k]、手先及び足先位置並びに姿勢(接触点含む)p [k],r [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 point planning unit 211 or the host device, the trajectory generator 2121 Velocity q d [k], q d [k], fuselage posture angle φ d [k], center of gravity angular momentum L d [k], force and moment of contact point f id [k], τ id [k], A time series trajectory of the hand and foot tip positions and postures (including contact points) p t i [k] and r t i [k] is generated and stored in the trajectory buffer. Here, as the trajectory generator, for example, the one described in Japanese Patent Application No. 2013-254899 can be used.

最適ゲイン計算器2122は、軌道生成器2121から、重心位置、重心周り角運動量、接触点の6軸力の現在の目標値q、L、fid及びτid、並びに接触点の位置pi及び接触点パラメータsを取得する(図7、S101)。そして、これらの取得値を用い、数10に従ってシステム行列A、Bを求める(S102)。また、数31に示した不等式制約条件G、wを求める(S103)。 The optimum gain calculator 2122 receives from the trajectory generator 2121 the center of gravity position, the angular momentum around the center of gravity, the current target values q d , L d , f id and τ id of the six contact point forces, and the contact point positions pi and Contact point parameter s i is acquired (FIG. 7, S101). Then, using these acquired values, system matrices A and B are obtained according to Equation 10 (S102). Further, the inequality constraint conditions G and w shown in Expression 31 are obtained (S103).

また、最適ゲイン計算器2122は、誤差計算器2132から状態誤差値の最新値(現在値)ηを取得する(図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 state estimator 2131 outputs the current center-of-gravity position and velocity q, q, the body posture angle φ, and the center-of-gravity angular momentum L using each sensor value. As the state estimator 2131, for example, the one described in Japanese Patent Application No. 2014-089943 can be used.

誤差計算器2132は、軌道バッファから現在時刻における目標値q、q、φ、Lを取得する(図8、S202)。また、状態推定器2131から状態推定値q、q、φ、Lを取得する(S203)。そして、誤差計算器2132は、これらの値を用い、式(6)に基づいて現在誤差ベクトルηを計算する。 The error calculator 2132 obtains target values q d , q d , φ d , and L d at the current time from the trajectory buffer (FIG. 8, S202). In addition, state estimation values q, q, φ, and L are acquired from the state estimator 2131 (S203). Then, the error calculator 2132 uses these values to calculate the current error vector η based on Equation (6).

状態フィードバック2142は、最適ゲイン計算器2122から最適フィードバックゲインKを取得する(図8、S201)。また、誤差計算器2132から誤差ベクトルηを取得する(S204)。そして、Kとηとを乗算して、接触点の補正力及びモーメントΔf,Δτを計算する(S205)。さらに、fref =fid[j]+Δf,τref =τid[j]+Δτのように、現在時刻における目標6軸力に上記補正量を加算することで、6軸力指令値を出力する(S206)。 The state feedback 2142 acquires the optimum feedback gain K from the optimum gain calculator 2122 (S201 in FIG. 8). Further, the error vector η is acquired from the error calculator 2132 (S204). Then, the correction force and moments Δf i and Δτ i of the contact point are calculated by multiplying K and η (S205). Further, a six-axis force command is obtained by adding the correction amount to the target six-axis force at the current time as f ref i = f id [j] + Δf i , τ ref i = τ id [j] + Δτ i. A value is output (S206).

本実施の形態によれば、軌道生成部212における軌道生成処理(最適ゲイン計算を含む)と、状態安定化部214による姿勢制御処理(誤差フィードバックを含む)とは、異なる周期で実行される。これにより、状態安定化部214は、比較的計算量の多い、すなわち計算に時間を要する最適ゲイン計算処理に影響されることなく、比較的短い時間で誤差フィードバック処理を実行できるようになる。そのため、早い周期で姿勢制御を行うことができ、任意の多点接触状態において重心軌道追従・安定化性能を向上させることができる。   According to the present embodiment, the trajectory generation processing (including optimal gain calculation) in the trajectory generation unit 212 and the attitude control processing (including error feedback) by the state stabilization unit 214 are executed at different periods. As a result, the state stabilization unit 214 can execute the error feedback process in a relatively short time without being affected by the optimum gain calculation process that requires a relatively large amount of calculation, that is, that requires time for the calculation. Therefore, posture control can be performed at an early cycle, and the center of gravity trajectory tracking / stabilization performance can be improved in an arbitrary multipoint contact state.

また、本実施の形態によれば、状態安定化部214は、式(16)による定式化と、図5に示すフレームワークとにより、各接触点の安定化を保ちつつ軌道追従誤差をゼロに漸近させる処理を、低い計算コストで高速に実行することができる。これにより、状態安定化部214は、早い周期で姿勢制御を行うことができ、任意の多点接触状態において重心軌道追従・安定化性能を向上させることができる。   Further, according to the present embodiment, the state stabilization unit 214 reduces the trajectory tracking error to zero while maintaining the stabilization of each contact point by the formulation according to the equation (16) and the framework shown in FIG. The asymptotic process can be executed at high speed with low calculation cost. Thereby, the state stabilization part 214 can perform attitude | position control with an early period, and can improve center-of-gravity track following and stabilization performance in arbitrary multipoint contact states.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では、式(13)を接触点の接触安定性を保証する条件のみで構成したが、例えば鉛直接触力の上限値を設定して

Figure 0006447278
のような条件を追加し、式(13)を
Figure 0006447278
とし、式(14)を
Figure 0006447278
とすることも可能である。 Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, in the above-described embodiment, the expression (13) is configured only under the condition for guaranteeing the contact stability of the contact point. For example, the upper limit value of the vertical contact force is set.
Figure 0006447278
And add the condition like
Figure 0006447278
And formula (14)
Figure 0006447278
It is also possible.

また、上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、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 SYMBOLS 100 Multipoint contact robot 210 Controller 211 Contact point plan part 212 Trajectory generation part 2121 Trajectory generator 2122 Optimal gain calculator 213 State estimation part 2131 State estimator 214 State stabilization part 2132 Error calculator 2142 State feedback 215 Contact force control part 216 Whole body IK part 217 Joint servo part

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.
コンピュータに、請求項4乃至6いずれか1項記載の多点接触ロボットの制御方法を実行させるためのプログラム。   A program for causing a computer to execute the control method for a multipoint contact robot according to any one of claims 4 to 6.
JP2015054608A 2015-03-18 2015-03-18 Multipoint contact robot, control method and program for multipoint contact robot Active JP6447278B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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