JP4492395B2 - Legged robot and its motion control method - Google Patents

Legged robot and its motion control method Download PDF

Info

Publication number
JP4492395B2
JP4492395B2 JP2005065827A JP2005065827A JP4492395B2 JP 4492395 B2 JP4492395 B2 JP 4492395B2 JP 2005065827 A JP2005065827 A JP 2005065827A JP 2005065827 A JP2005065827 A JP 2005065827A JP 4492395 B2 JP4492395 B2 JP 4492395B2
Authority
JP
Japan
Prior art keywords
gravity
center
trajectory
landing
robot
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
JP2005065827A
Other languages
Japanese (ja)
Other versions
JP2006247769A (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 JP2005065827A priority Critical patent/JP4492395B2/en
Publication of JP2006247769A publication Critical patent/JP2006247769A/en
Application granted granted Critical
Publication of JP4492395B2 publication Critical patent/JP4492395B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、脚式ロボットとその動作を制御する方法に関する。   The present invention relates to a legged robot and a method for controlling its operation.

少なくとも1つの脚リンクを備え、移動しようとする方向へ脚リンクを振り出し、振り出して接地した脚リンクを支持脚とする動作を繰り返して移動するロボットが開発されている。
上記のような脚式ロボットは、ZMP(Zero Moment Point)を利用して制御することによって、安定した歩行を実現できることが知られている。ZMPは、ロボットに作用する外力(慣性力を含む)によるモーメントの総和が0となる床上の点を意味する。
1つの脚リンクのみが接地している状態でも、ZMPが支持脚の足平内に存在していれば、ロボットは倒れることがない。例えば2つの脚リンクを備えるロボットの場合、一方の脚リンクを支持脚とし、他方の脚リンクを遊脚として前方に振り出することによって移動する。この片足接地状態の間、ZMPが支持脚の足平内に存在していれば、ロボットは倒れることがない。遊脚としていた脚リンクが接地し、2つの脚リンクが接地している間に、ZMPがそれまで支持脚であった脚リンクの足平内から新たに接地した脚リンクの足平内へ移行すれば、ロボットは倒れることがなく、それまで支持脚であった脚リンクを前方に振り出すことが可能となる。それまで支持脚であった脚リンクを前方に振り出す時に、ZMPが新たな支持脚の足平内に存在していれば、ロボットは倒れることがない。
上記の動作を繰り返すことによって、ロボットは倒れることなく歩行を継続することができる。
A robot has been developed that includes at least one leg link, swings out the leg link in the direction of movement, and moves repeatedly by using the leg link that has been swung out and grounded as a support leg.
It is known that the legged robot as described above can realize stable walking by controlling using a ZMP (Zero Moment Point). ZMP means a point on the floor where the sum of moments due to external force (including inertial force) acting on the robot becomes zero.
Even when only one leg link is in contact with the ground, if the ZMP exists in the foot of the support leg, the robot will not fall down. For example, in the case of a robot having two leg links, the robot moves by swinging forward with one leg link as a supporting leg and the other leg link as a free leg. If the ZMP is present in the foot of the support leg during this one-foot grounding state, the robot will not fall down. If the leg link that was used as a free leg is grounded and the two leg links are grounded, the ZMP will move from the foot of the leg link that was the supporting leg to the foot of the newly grounded leg link. The robot does not fall down, and the leg link that has been the supporting leg can be swung forward. If the ZMP is present in the foot of the new support leg when the leg link that has been the support leg is swung forward, the robot will not fall down.
By repeating the above operation, the robot can continue walking without falling down.

ヒトが行う動作には、歩行のほかにも様々な態様が存在する。走ったり、跳躍したり、けんけんでバランスをとったりすることが可能なロボットが待望されている。
上記したような動作は、いずれも空中相(ロボットが空中に浮いている相)を備えている。空中相ではロボットに重力のみが作用しており、ZMPを定義することができない。空中相の前後に亘ってロボットを安定させる技術が必要とされている。
In addition to walking, there are various modes of human actions. There is a long-awaited robot that can run, jump, and balance.
Each of the operations described above has an aerial phase (a phase in which the robot is floating in the air). In the air phase, only gravity acts on the robot, and ZMP cannot be defined. There is a need for technology to stabilize the robot before and after the aerial phase.

脚式ロボットに、空中相を含む動作を実現させるための技術が開発されている。例えば特許文献1に、空中相の前後の接地相(ロボットが床に接地している相)において、ZMP方程式(ロボットの姿勢とその時間的変化からZMPを算出する方程式)で算出されるZMPが目標ZMPに一致する重心軌道を算出する技術が開示されている。この技術では、脚リンクの足先の位置・姿勢の軌道を設定し、ロボットの動作を複数の動作区間に分割し、分割された動作区間のそれぞれについて重心軌道を計算する。分割された動作区間のうちで、いずれか1つの脚リンクが接地して支持脚としている相(接地相)においては、(1)ZMP軌道は加速度を有さない、(2)重心高さは一定である、(3)外モーメントは一定である、という仮定に基づいて導出される重心軌道の解析解を予め用意しておき、その解析解の係数を実時間で付与することによって重心軌道を計算する。重心軌道が計算されると、その重心軌道を実現する関節角目標値が計算され、計算された関節角目標値に基づいて関節を駆動し、脚式ロボットは動作を実現する。
また実際のロボットの運動状態をフィードバックするために、特許文献1に記載の技術では、制御サイクル毎にロボットの実際の運動状態を検出し、ロボットの実際の重心の位置・速度と目標とする重心の位置・速度の偏差を算出し、実際の重心の位置・速度に適合するようにその後の重心軌道を更新する。
なお本明細書で「軌道」とは、位置の経時的な変化を記述するデータのことを言う。
Techniques have been developed to allow legged robots to perform motions including the aerial phase. For example, in Patent Document 1, in the ground phase before and after the aerial phase (phase in which the robot is grounded on the floor), ZMP calculated by the ZMP equation (equation for calculating ZMP from the posture of the robot and its temporal change) A technique for calculating a center-of-gravity trajectory that matches a target ZMP is disclosed. In this technique, the trajectory of the position / posture of the toe of the leg link is set, the robot motion is divided into a plurality of motion sections, and the center of gravity trajectory is calculated for each of the divided motion sections. Among the divided motion sections, in the phase (grounding phase) in which any one leg link is grounded and used as the support leg (grounding phase), (1) the ZMP trajectory has no acceleration, (2) the center of gravity height is (3) Analytical solution of the center of gravity trajectory derived based on the assumption that the external moment is constant is prepared in advance, and the center of gravity trajectory is determined by giving the coefficient of the analytical solution in real time. calculate. When the center of gravity trajectory is calculated, a joint angle target value that realizes the center of gravity trajectory is calculated, and the joint is driven based on the calculated joint angle target value, so that the legged robot realizes the operation.
In addition, in order to feed back the actual robot motion state, the technique described in Patent Document 1 detects the actual motion state of the robot for each control cycle, and the actual position and speed of the robot's actual center of gravity and the target center of gravity. The position / velocity deviation is calculated and the subsequent center-of-gravity trajectory is updated to match the actual position / speed of the center of gravity.
In this specification, “orbit” refers to data that describes a change in position over time.

特許文献2にも、ZMP方程式で算出されるZMPが目標ZMPに一致する重心軌道を算出する技術が開示されている。この技術でも、脚リンクの足先の位置・姿勢の軌道を設定し、ロボットの動作を複数の動作区間に分割し、分割された動作区間のそれぞれについて重心軌道を計算する。重心軌道の計算において、接地相については、(1)ZMP軌道は加速度を有さない、(2)重心高さは一定である、(3)外モーメントは一定である、という仮定に基づいて導出される重心軌道の解析解を予め用意しておき、その解析解のパラメータを実時間で与える。また無接地状態と接地状態の境界近傍では、上記した解析解を修正し、重心軌道の連続性を確保する。
特開2004−142095号公報 特開2004−167676号公報
Patent Document 2 also discloses a technique for calculating a center-of-gravity trajectory in which the ZMP calculated by the ZMP equation matches the target ZMP. Also in this technique, the trajectory of the position / posture of the foot tip of the leg link is set, the robot motion is divided into a plurality of motion sections, and the center of gravity trajectory is calculated for each of the divided motion sections. In the calculation of the center of gravity trajectory, the ground phase is derived on the assumption that (1) the ZMP trajectory has no acceleration, (2) the height of the center of gravity is constant, and (3) the external moment is constant. An analytical solution for the center of gravity trajectory to be performed is prepared in advance, and parameters of the analytical solution are given in real time. Also, in the vicinity of the boundary between the no-ground state and the ground state, the above analytical solution is corrected to ensure the continuity of the center of gravity trajectory.
JP 2004-142095 A JP 2004-167676 A

特許文献1および2に記載の技術によれば、空中相を含む動作を実現するロボットにおいて、ロボットの実際の運動状態をフィードバックしてロボットのその後の動作を再計画することによって、安定した動作を実現することができる。   According to the techniques described in Patent Documents 1 and 2, in a robot that realizes an operation including an aerial phase, stable operation can be achieved by feeding back the actual motion state of the robot and replanning the subsequent operation of the robot. Can be realized.

しかしながら、上記した技術は更なる改善の余地を残している。
特許文献1および2に記載の技術では、実際の運動状態に基づいて更新されるのは重心軌道のみであり、脚リンクの足先の位置・姿勢の軌道は更新されない。足先の位置および姿勢の軌道は、実際のロボットの運動状態に関わらず、歩幅・歩行周期・旋回角などの歩容パラメータと、環境形状に基づいて設定されている。このような動作制御は、実際のロボットの運動状態が目標とする運動状態からわずかに外れている場合であっても、ロボットに所望の歩幅・歩行周期・旋回角を実現させることができるという点で有効である。
しかしながら、実際のロボットの運動状態が、目標とする運動状態から大きく外れた場合には、上記した技術ではロボットの動作を安定させることができない。上記した技術では、例えばロボットに予期せぬ外力が作用して、実際の重心軌道が目標とする重心軌道から大きく外れた場合であっても、目標とする足先の位置・姿勢の軌道については変更されない。従ってロボットは無理な体勢であっても目標とする足先の位置・姿勢を実現しようとするため、その後の動作が不安定なものとなりがちである。
上記のような状況は、ロボットが接地相から踏切って跳躍し、宙に浮いた後、着地して再び接地相へ移行する場合に特に顕著に見られる。宙に浮いた状態では、どれだけロボットの関節角を駆動したとしても、ロボットの重心の軌道は変更することができない。実際の軌道が目標とする軌道とずれている場合であっても、着地するまでの間は重心軌道を変更することができない。しかしながら、ロボットが足先を着地させる位置は予め決定されており、実際の重心軌道を反映して変更されることはない。その結果、ロボットは着地後のZMPを目標とする足先位置に維持しようとして無理な姿勢を取り、その後の挙動を不安定なものとしてしまうか、着地後のZMPを目標とする足先位置に維持することができずに、着地した直後に転倒してしまう。
However, the technique described above leaves room for further improvement.
In the techniques described in Patent Documents 1 and 2, only the center-of-gravity trajectory is updated based on the actual motion state, and the position / posture trajectory of the foottip of the leg link is not updated. The foot position and posture trajectory is set based on the gait parameters such as stride, walking period, turning angle, and environment shape, regardless of the actual robot motion state. Such motion control allows the robot to achieve the desired stride, walking cycle, and turning angle even when the actual robot motion state is slightly different from the target motion state. It is effective in.
However, when the actual robot motion state deviates significantly from the target motion state, the above-described technique cannot stabilize the robot operation. In the above-described technology, for example, even when an unexpected external force acts on the robot and the actual center-of-gravity trajectory deviates greatly from the target center-of-gravity trajectory, Not changed. Therefore, even if the robot is in an unreasonable posture, the robot tends to realize the target position / posture of the toes, and the subsequent operation tends to be unstable.
The above situation is particularly noticeable when the robot jumps from the ground phase, jumps, floats in the air, then lands and transitions to the ground phase again. When floating in the air, no matter how much the robot's joint angle is driven, the trajectory of the center of gravity of the robot cannot be changed. Even if the actual trajectory deviates from the target trajectory, the center of gravity trajectory cannot be changed until landing. However, the position where the robot will land the foot is determined in advance and is not changed to reflect the actual center of gravity trajectory. As a result, the robot takes an unreasonable posture in an attempt to maintain the ZMP after landing at the target toe position and makes the subsequent behavior unstable, or the ZMP after landing becomes the target toe position. It cannot be maintained and falls immediately after landing.

宙に浮いた状態から着地するロボットにおいては、着地の直後における動作の安定性を確保することが極めて重要である。そのためには、宙に浮いた状態におけるロボットの実際の運動状態を計測し、計測された運動状態に基づいて、着地するまでのロボットの重心軌道と足先の位置・姿勢の軌道、および着地後のロボットの重心軌道と足先の位置・姿勢の軌道を更新することが可能な技術が待望されている。   In a robot that lands from a state of floating in the air, it is extremely important to ensure the stability of the operation immediately after landing. To do this, measure the actual motion state of the robot when it is floating in the air, and based on the measured motion state, the center of gravity trajectory of the robot until landing, the trajectory of the position / posture of the toes, and after landing A technology that can update the trajectory of the center of gravity of the robot and the trajectory of the position and posture of the toes is awaited.

本発明は上記課題を解決する。本発明は踏切って、宙に浮き、着地する動作を実現する脚式ロボットにおいて、宙に浮いている間の実際のロボットの運動状態が、目標とするロボットの運動状態から大きく外れる場合であっても、着地後の動作を安定させることが可能な技術を提供する。   The present invention solves the above problems. The present invention relates to a legged robot that realizes a crossing, floating and landing motion, in which the actual robot motion state while floating in the air deviates significantly from the target robot motion state. However, a technique capable of stabilizing the operation after landing is provided.

本発明で具現化されるロボットは、関節角を変えることによって、踏切り、宙に浮き、着地する動作を実現する脚式ロボットである。そのロボットは、踏切り時の重心速度を検出する手段と、検出された踏切り時の重心速度と予め与えられた着地予定時刻に基づいて踏切りから着地までの予定重心軌道を生成する手段と、生成された着地までの予定重心軌道から得られる、着地予定時刻における重心の予定位置と予定速度を初期値として、着地後の予定ZMP軌道が予め与えられた目標ZMP軌道に一致するように、次に着地する予定の足先の着地予定位置を決定するとともに着地後の予定重心軌道を生成する手段と、前記着地予定時刻に前記着地予定位置となるように、着地までの、次に着地する予定の足先の予定軌道を生成する手段と、生成された着地までの予定重心軌道と脚リンクの足先の予定軌道に基づいて着地までの関節角の目標値の経時的データを生成する手段と、生成された着地後の予定重心軌道と足先の着地予定位置に基づいて着地後の関節角の目標値の経時的データを生成する手段と、生成された関節角の目標値の経時的データに基づいて関節を回転する手段とを備えている。着地までと着地後の関節角の目標値の経時的データは、脚式ロボットが前記踏切りの後に宙に浮いている間に生成される。なお、以下では予定重心軌道、足先の予定軌道を単に重心軌道、足先の軌道と称する場合がある。 The robot embodied in the present invention is a legged robot that realizes the operation of crossing, floating in the air, and landing by changing the joint angle. That robot includes means for detecting a velocity of the center of gravity of the case railroad crossing, and means for generating a scheduled trajectory of the center of gravity to the landing from takeoff based on a previously given landing time and velocity of the center of gravity of the case takeoff detected, it is generated Next, landing is made so that the planned ZMP trajectory after landing matches the target ZMP trajectory given in advance with the planned center of gravity position and planned speed at the scheduled landing time obtained from the planned center of gravity trajectory up to the final landing as initial values. Means for determining a planned landing position of a toe that is scheduled to be generated and generating a planned center-of-gravity trajectory after landing, and a foot that is scheduled to land next until landing so as to be the planned landing position at the scheduled landing time means for generating a previous scheduled trajectory, means for generating a chronological data of target values of the joint angles of up to landing based on calendar appointments pathway of the tip of the foot of the center of gravity trajectory and leg link to the generated landing Means for generating a chronological data of target values of the joint angle after landing on the basis of the generated predetermined landing position of the planned trajectory of the center of gravity and foot after landing, chronological data of the generated target values of the joint angles And a means for rotating the joint based on. The time-lapse data of the target value of the joint angle until landing and after landing is generated while the legged robot is floating in the air after the crossing. In the following description, the planned center of gravity trajectory and the planned toe trajectory may be simply referred to as the center of gravity trajectory and the toe trajectory.

上記した脚式ロボットは、踏切った時点での重心速度を検出し、検出された重心速度に基づいて、踏切りから着地までの重心軌道を生成する。これによって、空中相におけるロボットの実際の動作が、目標としていた動作と大きく異なる場合であっても、実際の重心速度に適合した重心軌道を生成することができる。
そして、上記した脚式ロボットは、生成された踏切りから着地までの重心軌道に基づいて、着地後の重心軌道を生成する。計測された実際の重心速度に基づく重心軌道に基づいて、着地後の重心軌道を生成することから、着地衝撃を緩和するための重心の沈み込みを許容した安定な動作を実現することが可能となる。
そして、上記した脚式ロボットは、生成された着地後の重心軌道に基づいて、着地までの脚リンクの足先の軌道を生成する。これによって、空中相におけるロボットの実際の動作が目標としていた動作と大きく異なる場合であっても、実際の重心速度に適合した空中相における重心軌道と、その重心軌道に適合した着地後の重心軌道から、空中相における脚リンクの足先の軌道が生成される。脚リンクを着地する位置は、実際に計測された重心速度によるときの重心軌道に基づいて生成されるため、ロボットは無理な姿勢を取ることがなく、着地後も安定して動作を継続することができる。
上記した脚式ロボットは、上記のようにして生成された空中相での重心軌道と脚リンクの足先の軌道に基づいて、空中相での各関節の関節角目標値の経時的データを生成し、上記のようにして生成された着地後の重心軌道に基づいて、着地後の各関節の関節角目標値の経時的データを生成し、生成された関節角目標値の経時的データに基づいて、関節を回転する。着地後の接地相においては、脚リンクの足先は接地しており、床に対して移動しないため、脚リンクの足先の軌道の生成は必ずしも必要ではない。
The legged robot described above detects the center of gravity speed at the time of crossing, and generates a center of gravity trajectory from the level crossing to the landing based on the detected center of gravity speed. Thereby, even if the actual motion of the robot in the aerial phase is significantly different from the target motion, it is possible to generate a center of gravity trajectory that matches the actual center of gravity speed.
Then, the legged robot described above generates a center of gravity trajectory after landing based on the generated center of gravity trajectory from the crossing to the landing. Since the center of gravity trajectory after landing is generated based on the center of gravity trajectory based on the measured actual center of gravity speed, it is possible to realize stable operation that allows the center of gravity to sink to alleviate the landing impact. Become.
The legged robot described above generates a trajectory of the foot of the leg link up to the landing based on the generated center of gravity trajectory after landing. As a result, even if the actual motion of the robot in the aerial phase is significantly different from the target motion, the center of gravity trajectory in the aerial phase that matches the actual center of gravity velocity and the center of gravity trajectory after landing that matches the center of gravity trajectory From, the trajectory of the foot of the leg link in the aerial phase is generated. The landing position of the leg link is generated based on the center of gravity trajectory at the time of the actually measured center of gravity speed, so the robot will not take an excessive posture and will continue to operate stably after landing. Can do.
The above legged robot generates temporal data of joint angle target values of each joint in the aerial phase based on the center of gravity trajectory and the leg link foot trajectory in the aerial phase generated as described above. Then, based on the center of gravity trajectory after landing generated as described above, the temporal data of the joint angle target value of each joint after landing is generated, and based on the temporal data of the generated joint angle target value Rotate the joints. In the ground contact phase after landing, the foot links of the leg links are in contact with the ground and do not move relative to the floor.

上記した脚式ロボットは、踏切り時に検出される重心速度に基づいて、踏切りから着地までの重心軌道と、着地後の重心軌道を更新し、更新された重心軌道に合わせて着地までの脚リンクの足先の軌道を更新することができる。これによって、空中相での実際の重心軌道が目標とする重心軌道から大きく外れた場合であっても、実際の重心軌道に合わせて脚リンクが着地する位置が更新され、着地後の動作を安定して実現することができる。   The legged robot described above updates the center-of-gravity trajectory from the level crossing to the landing and the center-of-gravity trajectory after landing based on the center-of-gravity velocity detected at the level crossing, and the leg link of the leg link to the landing according to the updated center-of-gravity trajectory. The toe trajectory can be updated. As a result, even if the actual center-of-gravity orbit in the aerial phase deviates significantly from the target center-of-gravity orbit, the position at which the leg link lands is updated according to the actual center-of-gravity orbit and the operation after landing is stabilized. Can be realized.

上記した脚式ロボットにおいて、前記着地後の重心軌道を生成する手段は、踏切りから着地までの重心の鉛直方向軌道に基づいて、着地後の重心の鉛直方向軌道を生成する手段と、生成された着地後の重心の鉛直方向軌道と、ZMP方程式を離散化した3項方程式と、着地後の目標とする相対ZMPと、着地の時点と着地後の所定の時点における重心の水平方向速度とに基づいて、着地後の重心の水平方向軌道を計算する手段とを備えることが好ましい。   In the legged robot described above, the means for generating the center of gravity trajectory after landing is generated based on the vertical trajectory of the center of gravity after landing from the level crossing to the landing, and means for generating a vertical trajectory of the center of gravity after landing Based on the vertical trajectory of the center of gravity after landing, the ternary equation obtained by discretizing the ZMP equation, the target relative ZMP after landing, and the horizontal speed of the center of gravity at the time of landing and a predetermined time after landing And means for calculating the horizontal trajectory of the center of gravity after landing.

上記の脚式ロボットは、着地後の重心の鉛直方向軌道を生成する手段を備えており、着地後に沈み込む動作を実現する鉛直方向の動きを規定することができる。本発明の脚式ロボットでは、その鉛直方向軌道を加味してZMPが目標ZMPに一致する水平方向軌道を計算する。鉛直方向軌道が規定され、水平方向軌道を仮定すれば、ロボットの姿勢の経時的変化が規定され、慣性力を計算することができ、ZMPを計算することができる。この関係を活用すると、数学的には、上記関係から計算されるZMPが目標ZMPに一致する水平方向軌道を計算することが可能となる。鉛直方向軌道と水平方向軌道からZMPを計算するには、鉛直方向の加速度と速度と、水平方向の加速度と速度が必要とされる。鉛直方向軌道と水平方向軌道を単位時間間隔で離散化すると、速度は単位時間の開始時と終了時の2つの位置座標から計算できる。加速度は連続する2個の単位時間の開始時と中間時と終了時の3つの位置座標から計算できる。例えば単位時間Δtで離散化した時刻をt1、t2、t3・・・とする。時刻t3における速度は、時刻t2と時刻t3における2つの位置座標から計算できる。時刻t3における加速度は、時刻t1と時刻t2と時刻t3における3つの位置座標から計算できる。もっとも、上記は一例であり、時刻t2における速度を、時刻t2と時刻t3における2つの位置座標から計算してもよいし、時刻t2における加速度を、時刻t1と時刻t2と時刻t3における3つの位置座標から計算してもよい。重要なことは、3つの位置座標からZMPを計算できることである。先の例で言えば、時刻t3におけるZMPは、時刻t1と時刻t2と時刻t3における3つの位置座標から計算できる。あるいは、基準の取り方によっては、時刻t2におけるZMPを時刻t1と時刻t2と時刻t3における3つの位置座標から計算することもできるし、時刻t1におけるZMPを時刻t1と時刻t2と時刻t3における3つの位置座標から計算することもできる。重要なことは、3つの時刻における位置座標からZMPを計算することができるということである。   The legged robot includes a means for generating a vertical trajectory of the center of gravity after landing, and can define a vertical movement that realizes a sinking operation after landing. In the legged robot according to the present invention, the horizontal trajectory in which the ZMP matches the target ZMP is calculated in consideration of the vertical trajectory. If a vertical trajectory is defined and a horizontal trajectory is assumed, a change in the posture of the robot with time is defined, inertial force can be calculated, and ZMP can be calculated. Utilizing this relationship, mathematically, it is possible to calculate a horizontal trajectory in which the ZMP calculated from the above relationship matches the target ZMP. In order to calculate the ZMP from the vertical trajectory and the horizontal trajectory, vertical acceleration and velocity, and horizontal acceleration and velocity are required. If the vertical trajectory and the horizontal trajectory are discretized at unit time intervals, the velocity can be calculated from two position coordinates at the start and end of the unit time. The acceleration can be calculated from three position coordinates at the start, middle and end of two consecutive unit times. For example, the times discretized by the unit time Δt are t1, t2, t3,. The speed at time t3 can be calculated from the two position coordinates at time t2 and time t3. The acceleration at time t3 can be calculated from the three position coordinates at time t1, time t2, and time t3. However, the above is an example, and the speed at time t2 may be calculated from the two position coordinates at time t2 and time t3, and the acceleration at time t2 is calculated from the three positions at time t1, time t2, and time t3. You may calculate from a coordinate. What is important is that the ZMP can be calculated from three position coordinates. In the above example, ZMP at time t3 can be calculated from three position coordinates at time t1, time t2, and time t3. Alternatively, the ZMP at the time t2 can be calculated from the three position coordinates at the time t1, the time t2, and the time t3 depending on how to take the reference. It can also be calculated from two position coordinates. What is important is that the ZMP can be calculated from the position coordinates at three times.

本明細書では、単位時間で離散化した3つの時刻の位置座標からZMPを計算する式を「ZMP方程式を離散化した3項方程式」という。この3項方程式を利用すると、目標ZMPと一致するZMPを実現する水平方向軌道を計算することが可能となる。単位時間で離散化した時刻毎の重心の水平位置を計算することが可能となる。
本発明のロボットは、鉛直方向軌道を加味して水平方向軌道を計算する手段を備えており、着地後に沈み込む動作を実現する鉛直方向の動きを規定すれば、その上下動を前提とした重心軌道を計算する。着地後に沈み込む動作を実現する際に、ZMPが目標ZMPからずれてロボットが転倒することを防止することができる。
目標ZMPと一致するZMPを実現する水平方向軌道を計算するためには境界条件を必要とする。本発明では、着地後の接地相の開始時(着地の時点)と完了時(着地後の所定の時点)における重心の水平方向速度を境界条件とする。この境界条件を満たす水平方向軌道が計算され、着地の前後において重心速度が連続する水平方向軌道を計算することができる。
着地後の所定の時点は、着地した脚リンクが着地から継続して支持脚として接地している間であれば、どのような時点であってもよい。例えば、着地後に沈み込む動作を実現する場合、着地後の所定の時点としては沈み込み動作の完了の時点とすることができる。着地後に沈み込む動作を実現する際に、ZMPが目標ZMPからずれてロボットが転倒することを防止することができる。
上記した脚式ロボットによれば、着地衝撃を緩和するために着地後に実施する沈み込む動作を実現する鉛直方向の動きを規定することができる。
In this specification, an equation for calculating ZMP from the position coordinates of three times discretized in unit time is referred to as “a ternary equation obtained by discretizing a ZMP equation”. By using this ternary equation, it is possible to calculate a horizontal trajectory that realizes a ZMP that matches the target ZMP. It becomes possible to calculate the horizontal position of the center of gravity for each time discretized in unit time.
The robot of the present invention includes means for calculating a horizontal trajectory in consideration of a vertical trajectory, and if a vertical motion that realizes a sinking operation after landing is defined, the center of gravity assuming the vertical motion Calculate the trajectory. When realizing the operation of sinking after landing, it is possible to prevent the ZMP from deviating from the target ZMP and the robot falling.
Boundary conditions are required to calculate a horizontal trajectory that realizes a ZMP that matches the target ZMP. In the present invention, the horizontal speed of the center of gravity at the start of the ground phase after landing (at the time of landing) and at the time of completion (a predetermined time after landing) is used as the boundary condition. A horizontal trajectory that satisfies this boundary condition is calculated, and a horizontal trajectory in which the center of gravity speed continues before and after landing can be calculated.
The predetermined time point after landing may be any time point as long as the landing leg link is continuously grounded as a support leg from the landing. For example, in the case of realizing an operation of sinking after landing, the predetermined time after landing can be the time of completion of the sinking operation. When realizing the operation of sinking after landing, it is possible to prevent the ZMP from deviating from the target ZMP and the robot falling.
According to the legged robot described above, it is possible to define a vertical movement that realizes a sinking operation performed after landing in order to reduce the landing impact.

上記したように、「ZMP方程式を離散化した3項方程式」を利用すると、目標ZMPと一致するZMPを実現する水平方向軌道を計算することが可能となる。この場合、着地後の重心の鉛直方向軌道から計算される係数を持つ3重対角行列と、着地後の重心の水平方向軌道の列と、着地後の目標とする相対ZMPと着地の時点と着地後の所定の時点の動作完了時における重心の水平方向速度から計算される距離の列との間に成立する連立方程式を解いて、着地後の重心の水平方向軌道を計算する手段をさらに備えることが好ましい。   As described above, when the “ternary equation obtained by discretizing the ZMP equation” is used, it is possible to calculate a horizontal trajectory that realizes a ZMP that matches the target ZMP. In this case, a tridiagonal matrix having coefficients calculated from the vertical orbit of the center of gravity after landing, a sequence of horizontal orbits of the center of gravity after landing, the target relative ZMP after landing, and the time of landing Means for calculating a horizontal trajectory of the center of gravity after landing by solving simultaneous equations established with a sequence of distances calculated from the horizontal speed of the center of gravity at the completion of the operation at a predetermined time after landing It is preferable.

3重対角行列を用いて表現される連立方程式に対しては、少ない計算負荷で高速に求解する技術が従来から開発されている。従って、脚式ロボットの重心の水平方向軌道を計算するために、3重対角行列を用いて表現される連立方程式を生成し、その連立方程式を解いて重心の水平方向軌道を計算するようにすると、少ない計算負荷で高速に水平方向軌道を計算することができる。   For simultaneous equations expressed using a tridiagonal matrix, a technique for solving at high speed with a small calculation load has been developed. Therefore, in order to calculate the horizontal trajectory of the center of gravity of the legged robot, a simultaneous equation expressed using a tridiagonal matrix is generated, and the horizontal trajectory of the center of gravity is calculated by solving the simultaneous equations. Then, the horizontal trajectory can be calculated at high speed with a small calculation load.

本発明は脚式ロボットの動作制御方法としても具現化される。
本発明の方法は、関節角を変えることによって、踏切り、宙に浮き、着地する動作を実現する脚式ロボットの動作を制御する方法である。その方法は、踏切り時の重心速度を検出する工程と、検出された踏切り時の重心速度と予め与えられた着地予定時刻に基づいて踏切りから着地までの予定重心軌道を生成する工程と、生成された着地までの予定重心軌道から得られる、着地予定時刻における重心の予定位置と予定速度を初期値として、着地後の予定ZMP軌道が予め与えられた目標ZMP軌道に一致するように、次に着地する予定の足先の着地予定位置を決定するとともに着地後の予定重心軌道を生成する工程と、着地予定時刻に前記着地予定位置となるように、着地までの、次に着地する予定の足先の予定軌道を生成する工程と、生成された着地までの予定重心軌道と足先の予定軌道に基づいて着地までの関節角の目標値の経時的データを生成する工程と、生成された着地後の予定重心軌道と足先の着地予定位置に基づいて着地後の関節角の目標値の経時的データを生成する工程と、生成された関節角の目標値の経時的データに基づいて関節を回転する工程とを備えている。着地までと着地後の関節角の目標値の経時的データは、脚式ロボットが前記踏切りの後に宙に浮いている間に生成される。
The present invention is also embodied as a motion control method for a legged robot.
The method of the present invention is a method for controlling the operation of a legged robot that realizes the operation of crossing, floating in the air, and landing by changing the joint angle. The method includes the steps of detecting the velocity of the center of gravity of the case railroad crossing, and generating an expected trajectory of the center of gravity to the landing from takeoff based on a previously given landing time and velocity of the center of gravity of the case takeoff detected, it is generated Next, landing is made so that the planned ZMP trajectory after landing matches the target ZMP trajectory given in advance with the planned center of gravity position and planned speed at the scheduled landing time obtained from the planned center of gravity trajectory up to the final landing as initial values. Determining a planned landing position of a toe to be scheduled and generating a planned center-of-gravity trajectory after landing, and a toe that is scheduled to land next until landing so that the planned landing position is the planned landing position generating a schedule orbit, and generating a chronological data of target values of the joint angles of up to landing based on planned trajectory plan centroid trajectory and feet to the generated landing, generated landing Rotation generating a temporal data scheduled trajectory of the center of gravity and a target value of the joint angle after landing on the basis of the landing position of the foot, the joint on the basis of the time data of the generated target values of the joint angles of the And a process of performing. The time-lapse data of the target value of the joint angle until landing and after landing is generated while the legged robot is floating in the air after the crossing.

本発明の技術を用いることによって、踏切って、宙に浮き、着地する動作を実現する脚式ロボットにおいて、宙に浮いている間の実際のロボットの運動状態が目標とするロボットの運動状態から大きく外れる場合であっても、着地後の動作を安定して実現することができる。   By using the technology of the present invention, in a legged robot that realizes a crossing, floating and landing motion, the actual robot motion state while floating in the air is determined from the target robot motion state. Even if it is far off, the operation after landing can be realized stably.

以下、以下に説明する実施例の主要な特徴を列記する。
(形態1)関節角を変えることによって、踏切り、宙に浮き、着地する動作を実現する脚式ロボットであって、
踏切り時の重心速度と重心まわりの角運動量を検出する手段と、
検出された踏切り時の重心速度に基づいて、踏切りから着地までの重心軌道を生成する手段と、
生成された踏切りから着地までの重心軌道に基づいて、着地後の重心軌道を生成する手段と、
生成された着地後の重心軌道に基づいて、着地までの脚リンクの足先の軌道を生成する手段と、
生成された着地までの重心軌道と脚リンクの足先の軌道と検出された重心まわりの角運動量に基づいて、着地までの関節角の目標値の経時的データを生成する手段と、
生成された着地後の重心軌道に基づいて、着地後の関節角の目標値の経時的データを生成する手段と、
生成された関節角の目標値の経時的データに基づいて、関節を回転する手段と、
を備えることを特徴とする脚式ロボット。
The main features of the embodiments described below are listed below.
(Mode 1) A legged robot that realizes a crossing, floating in the air, and landing by changing the joint angle,
Means for detecting the center of gravity speed and the angular momentum around the center of gravity at the crossing;
Means for generating a center-of-gravity trajectory from the crossing to the landing based on the detected center-of-gravity speed at the crossing;
Means for generating a center of gravity trajectory after landing based on the generated center of gravity trajectory from crossing to landing;
Means for generating a trajectory of the foot of the leg link to the landing based on the generated center of gravity trajectory after landing;
Means for generating temporal data of the target value of the joint angle to the landing based on the generated center of gravity trajectory to the landing and the foot link of the leg link and the angular momentum around the detected center of gravity;
Means for generating temporal data of the target value of the joint angle after landing based on the generated center of gravity trajectory after landing;
A means for rotating the joint based on the generated temporal data of the target value of the joint angle;
A legged robot characterized by comprising:

図面を参照しながら、本発明の一実施例に係るロボット2の動作制御技術について説明する。
図1は本実施例のロボット2の概要を示している。ロボット2は体幹4と左脚リンク6と右脚リンク8と制御部10とコントローラ12とセンサ14を備えている。
左脚リンク6は一方の端部を股関節を介して体幹4に揺動可能に接続されている。左脚リンク6はさらに膝関節と足首関節を備え、先端には足平を備えている。
右脚リンク8は股関節を介して体幹4に揺動可能に接続されている。右脚リンク8はさらに膝関節と足首関節を備え、先端には足平を備えている。
ロボット2の各関節はアクチュエータ(図示されない)を備えており、それらのアクチュエータは制御部10からの指示によって回転駆動する。左脚リンク6と右脚リンク8の足平の中心には、それぞれ基準点L0、R0が設けられている。基準点L0、R0は、ロボット2の動作パターンを生成する際の基準となる点である。図中Gは、ロボット2の重心の位置を示す。
またロボット2の各関節はエンコーダ(図示されない)を備えており、それらのエンコーダは制御部10に関節角の経時的変化を出力する。
制御部10はCPU、ROM、RAM、ハードディスク等を有するコンピュータ装置である。制御部10はコントローラ12と通信可能であり、ユーザーが操作するコントローラ12から指令値を入力する。制御部10はユーザーから入力される指令値に基づいて、ロボット2の動作パターンを生成ないし計算する。制御部10は生成した動作パターンを記憶し、記憶された動作パターンを実現するように各関節を駆動する。制御部10の詳細については、後に詳述する。
センサ14は体幹4に位置と姿勢を固定された加速度センサ(図示されない)とジャイロセンサ(図示されない)を備えている。加速度センサは3軸の加速度を計測可能であり、ジャイロセンサは3軸まわりの角速度を計測可能である。加速度センサおよびジャイロセンサの計測点は、ロボット2が直立して静止した状態での重心の位置Gとほぼ一致するように、その位置を調整されている。センサ14は制御部10に接続されており、制御部10からの指示に応じて加速度と角速度をそれぞれ計測し、制御部10へ送信する。
With reference to the drawings, an operation control technique of the robot 2 according to an embodiment of the present invention will be described.
FIG. 1 shows an outline of the robot 2 of this embodiment. The robot 2 includes a trunk 4, a left leg link 6, a right leg link 8, a control unit 10, a controller 12, and a sensor 14.
The left leg link 6 is swingably connected to the trunk 4 at one end via a hip joint. The left leg link 6 further includes a knee joint and an ankle joint, and a foot at the tip.
The right leg link 8 is swingably connected to the trunk 4 via the hip joint. The right leg link 8 further includes a knee joint and an ankle joint, and a foot at the tip.
Each joint of the robot 2 includes actuators (not shown), and these actuators are rotationally driven by instructions from the control unit 10. Reference points L0 and R0 are provided at the centers of the feet of the left leg link 6 and the right leg link 8, respectively. The reference points L0 and R0 are points that serve as a reference when generating an operation pattern of the robot 2. In the figure, G indicates the position of the center of gravity of the robot 2.
Each joint of the robot 2 includes an encoder (not shown), and these encoders output a change in the joint angle over time to the control unit 10.
The control unit 10 is a computer device having a CPU, ROM, RAM, hard disk and the like. The control unit 10 can communicate with the controller 12 and inputs a command value from the controller 12 operated by the user. The control unit 10 generates or calculates an operation pattern of the robot 2 based on a command value input from the user. The control unit 10 stores the generated motion pattern and drives each joint so as to realize the stored motion pattern. Details of the control unit 10 will be described later.
The sensor 14 includes an acceleration sensor (not shown) and a gyro sensor (not shown) whose positions and postures are fixed to the trunk 4. The acceleration sensor can measure the triaxial acceleration, and the gyro sensor can measure the angular velocity around the three axes. The positions of the measurement points of the acceleration sensor and the gyro sensor are adjusted so as to substantially coincide with the position G of the center of gravity when the robot 2 is upright and stationary. The sensor 14 is connected to the control unit 10, and measures acceleration and angular velocity according to instructions from the control unit 10, and transmits them to the control unit 10.

図2は本実施例のロボット2が実現する動作の概要を例示している。本実施例のロボット2は、姿勢A1から左脚リンク6を支持脚とする接地相で動作し、右脚リンク8を前方へ振り出して姿勢A2へ移行する。ロボット2は姿勢A2で踏切り、空中相へ移行する。ロボット2は姿勢A3を経て、姿勢A4で右脚リンク8から着地する。ロボット2は姿勢A4から右脚リンク8を支持脚とする接地相で動作し、左脚リンク6を前方へ振り出して姿勢A5へ移行する。ロボット2は姿勢A5で踏切り、空中相へ移行する。ロボット2は姿勢A6を経て、姿勢A7で左脚リンク6から着地する。ロボット2は姿勢A7から左脚リンク6を支持脚とする接地相で動作し、右脚リンク8を前方へ振り出して姿勢A8へ移行する。姿勢A8で支持脚を左脚リンク6から右脚リンク8へ入れ替えて、姿勢A8から右脚リンク8を支持脚とする接地相で動作し、左脚リンク6を前方へ振り出して姿勢A9へ移行する。
図2の破線は、上記した動作態様におけるロボット2の重心の概略の軌道を示している。ロボット2が跳躍する直前の接地相(すなわち、姿勢A1から姿勢A2までの接地相と、姿勢A4から姿勢A5までの接地相)では、その後の跳躍に備えて重心を沈み込ませている。またロボット2が着地した直後の接地相(すなわち、姿勢A4から姿勢A5までの接地相と、姿勢A7から姿勢A8までの接地相)では、跳躍による着地衝撃を和らげるために重心を沈み込ませている。姿勢A4から姿勢A5までの接地相での動作は、着地衝撃を緩和するための重心の沈み込みと、跳躍の準備のための重心の沈み込みとを兼ねている。
上記した動作態様はあくまでも例示のために示したものであり、本実施例のロボット2は接地相と空中相を組み合わせた様々な動作を実現することができる。ロボット2が実現する動作態様は、ユーザーが任意に設定することが可能である。例えば一本足でけんけんをする動作などが含まれていてもよい。
FIG. 2 illustrates an outline of the operation realized by the robot 2 of the present embodiment. The robot 2 according to the present embodiment operates in a grounding phase using the left leg link 6 as a support leg from the posture A1, swings the right leg link 8 forward, and shifts to the posture A2. The robot 2 takes off in the posture A2 and shifts to the aerial phase. The robot 2 lands from the right leg link 8 in the posture A4 through the posture A3. The robot 2 operates from the posture A4 in the ground phase with the right leg link 8 as the supporting leg, swings the left leg link 6 forward, and moves to the posture A5. The robot 2 takes off at posture A5 and moves to the aerial phase. The robot 2 lands from the left leg link 6 in the posture A7 through the posture A6. The robot 2 operates from the posture A7 in the ground phase using the left leg link 6 as the supporting leg, swings the right leg link 8 forward, and shifts to the posture A8. In posture A8, the support leg is switched from the left leg link 6 to the right leg link 8 and operates in the grounding phase from the posture A8 with the right leg link 8 as the support leg, and the left leg link 6 is swung forward to move to the posture A9. To do.
A broken line in FIG. 2 indicates a rough trajectory of the center of gravity of the robot 2 in the above-described operation mode. In the contact phase immediately before the robot 2 jumps (that is, the contact phase from posture A1 to posture A2 and the contact phase from posture A4 to posture A5), the center of gravity is sunk in preparation for the subsequent jump. Also, in the ground contact phase immediately after landing of the robot 2 (that is, the ground contact phase from posture A4 to posture A5 and the ground contact phase from posture A7 to posture A8), the center of gravity is submerged to reduce the landing impact caused by jumping. Yes. The operation in the contact phase from the posture A4 to the posture A5 serves as both the sinking of the center of gravity for mitigating the landing impact and the sinking of the center of gravity for preparation for jumping.
The above-described operation mode is shown for illustrative purposes only, and the robot 2 of the present embodiment can realize various operations combining the ground phase and the air phase. The operation mode realized by the robot 2 can be arbitrarily set by the user. For example, it may include an action of performing a fight with one leg.

本実施例のロボット2では、生成しようとする動作の態様を、幾つかの動作区間に分割して、予め各動作区間における動作パターンを生成し、記憶している。本実施例のロボット2では、生成する動作の態様において、支持脚となる脚リンクが接地してその足平内にZMPが位置する時点から、次に支持脚となる脚リンクが接地してその足平内にZMPが位置する時点までを、1つの動作区間とする。このような場合、1つの動作区間は、接地相とそれに続く空中相、又は接地相のみによって構成される。
図2に示す動作態様を扱う場合には、最初の接地相の開始時点(すなわち姿勢A1の時点であり、沈み込み動作の開始する時点)から、その接地相に続く空中相の完了時点(すなわち姿勢A4の時点)までを区間1とし、区間1に続く接地相の開始時点(すなわち姿勢A4の時点)から、その接地相に続く空中相の完了時点(すなわち姿勢A7の時点)までを区間2とし、区間2に続く接地相の開始時点(すなわち姿勢A7の時点)からその接地相の完了時点(すなわち姿勢A8の時点)までを区間3とし、区間3に続く接地相の開始時点(すなわち姿勢A8の時点)からその接地相の完了時点(すなわち姿勢A9の時点)までを区間4とする。
In the robot 2 of the present embodiment, the mode of motion to be generated is divided into several motion sections, and motion patterns in each motion section are generated and stored in advance. In the robot 2 according to the present embodiment, in the mode of motion to be generated, the leg link serving as the support leg is grounded and the leg link is grounded after the leg link serving as the support leg is grounded and the ZMP is positioned in the foot. Up to the time when the ZMP is located in the plane is defined as one operation section. In such a case, one operation section is constituted by the ground phase and the subsequent air phase or only the ground phase.
In the case of dealing with the operation mode shown in FIG. 2, from the start time of the first ground phase (that is, the time point of the posture A1 and the start of the sinking operation), the completion time of the air phase following the ground phase (that is, the time point) Section 1 is set to section 1 until the time of posture A4, and section 2 is from the start time of the ground phase following section 1 (that is, the time of position A4) to the completion time of the aerial phase following that ground phase (that is, the position of posture A7). The section from the start time of the ground phase following section 2 (ie, the time of attitude A7) to the completion time of the ground phase (ie, the time of attitude A8) is section 3, and the start time of the ground phase following section 3 (ie, attitude) A section 4 is defined from the time point A8) to the time point when the grounding phase is completed (that is, the time point of the posture A9).

以下では、ロボット2の軌道を表現する座標系として、ロボット2の外部で床に固定された座標系(x, y, z)を用いる。またロボット2上の基準点に固定された座標系を(x'、y'、z')で表現する。本実施例のロボット2では、図2に示すように、支持脚の足平の中心を座標系(x'、y'、z')の基準点とする。空中相ではどの脚リンクも接地しておらず、ロボット2を支持する脚リンクは存在していないが、便宜上、着地したときに支持脚となる脚リンクを空中相における支持脚と呼ぶ。本実施例のロボット2では、空中相においても接地相と同じように支持脚の足平の中心の点を基準点とする。空中相ではロボット2の重心だけでなく上記の基準点も床に対して移動する。以下ではロボット2上の基準点に固定された座標系(x', y', z')で記述された位置、速度、加速度および軌道を、それぞれ相対位置、相対速度、相対加速度および相対軌道と表現する。また、座標系(x', y', z')で記述されたZMPを相対ZMPと表現する。   In the following, a coordinate system (x, y, z) fixed to the floor outside the robot 2 is used as a coordinate system representing the trajectory of the robot 2. A coordinate system fixed to the reference point on the robot 2 is expressed by (x ′, y ′, z ′). In the robot 2 of the present embodiment, as shown in FIG. 2, the center of the foot of the support leg is set as a reference point of the coordinate system (x ′, y ′, z ′). In the aerial phase, no leg link is grounded, and there is no leg link that supports the robot 2, but for convenience, a leg link that becomes a support leg when landing is called a support leg in the aerial phase. In the robot 2 of the present embodiment, the center point of the foot of the support leg is set as the reference point in the aerial phase as in the ground phase. In the aerial phase, not only the center of gravity of the robot 2 but also the reference point moves with respect to the floor. In the following, the position, velocity, acceleration and trajectory described in the coordinate system (x ', y', z ') fixed to the reference point on the robot 2 are respectively referred to as relative position, relative velocity, relative acceleration and relative trajectory. Express. A ZMP described in the coordinate system (x ′, y ′, z ′) is expressed as a relative ZMP.

本実施例のロボット2は、各動作区間の動作パターンを生成して記憶しており、記憶された動作パターンを逐次読み出して動作を実現していく。
ロボット2の動作中にユーザーから指令値が入力されると、ロボット2はそれ以降の動作パターンを再度生成して、新たに入力された指令値に応じた動作パターンを記憶する。記憶された新たな動作パターンは、それ以降の動作に反映される。
上記のようにして、本発明のロボット2は、ユーザーからの指令値が入力される度に、動作パターンを更新しながら動作を継続する。
また本実施例のロボット2は、接地相から空中相へ切替わるときに、実際の重心速度と重心まわりの角運動量を検出して、それ以降の動作パターンを再度生成し、実際の重心速度と重心まわりの角運動量に応じた動作パターンを記憶する。記憶された動作パターンは、それ以降の動作に反映される。
The robot 2 of the present embodiment generates and stores motion patterns for each motion section, and sequentially reads the stored motion patterns to realize the motion.
When a command value is input from the user during the operation of the robot 2, the robot 2 generates a subsequent operation pattern again and stores the operation pattern corresponding to the newly input command value. The stored new operation pattern is reflected in subsequent operations.
As described above, the robot 2 of the present invention continues the operation while updating the operation pattern every time a command value from the user is input.
Further, when the robot 2 of this embodiment switches from the ground phase to the aerial phase, it detects the actual center-of-gravity speed and angular momentum around the center of gravity, generates the subsequent motion pattern again, and determines the actual center-of-gravity speed and An operation pattern corresponding to the angular momentum around the center of gravity is stored. The stored operation pattern is reflected in subsequent operations.

以下では制御部10の動作の詳細について、図3のブロック図と、図4および図7のフローチャートを用いて説明する。
図3は制御部10の機能の構成を示すブロック図である。制御部10はユーザー指令値記憶部302と、空中相重心鉛直軌道生成部304と、接地相重心鉛直軌道生成部306と、接地相重心水平軌道計算部308と、空中相重心水平軌道計算部310と、重心相対軌道計算部314と、遊脚相対軌道計算部316と、関節角目標値演算部318と、関節駆動部320と、センサ制御部354と、目標角運動量更新部362を備えている。ここでは重心の軌道を計算して生成することから、計算、生成、演算の語を区別なく用いる。重心の鉛直軌道は、ユーザー指令値から直接的に計算されることから生成の語を用い、重心の水平軌道は後述のZMP方程式を満足するよう計算されることから計算の語を用いることがあるが、技術的には生成も計算も特に区別するものではない。
Details of the operation of the control unit 10 will be described below with reference to the block diagram of FIG. 3 and the flowcharts of FIGS. 4 and 7.
FIG. 3 is a block diagram illustrating a functional configuration of the control unit 10. The control unit 10 includes a user command value storage unit 302, an aerial phase centroid vertical trajectory generation unit 304, a ground phase centroid vertical trajectory generation unit 306, a ground phase centroid horizontal trajectory calculation unit 308, and an aerial phase centroid horizontal trajectory calculation unit 310. And a gravity center relative trajectory calculation unit 314, a free leg relative trajectory calculation unit 316, a joint angle target value calculation unit 318, a joint drive unit 320, a sensor control unit 354, and a target angular momentum update unit 362. . Here, since the center of gravity trajectory is calculated and generated, the terms “calculation”, “generation”, and “calculation” are used without distinction. Since the vertical trajectory of the center of gravity is calculated directly from the user command value, the generated word is used, and the horizontal trajectory of the center of gravity is calculated so as to satisfy the ZMP equation described later. However, technically, there is no particular distinction between generation and calculation.

ユーザー指令値記憶部302は、ユーザーから入力されるユーザー指令値352を記憶する。ユーザー指令値記憶部302は、(1)動作の態様321、(2)空中相における跳躍高さ322、(3)動作の切替りにおける重心の高さ324、(4)接地相の継続時間326、(5)接地相における相対ZMP軌道328、(6)目標角運動量の経時的データ330、(7)動作の切替りにおける重心の水平方向速度332、(8)踏切り時の遊脚足先の位置および速度334、等のデータを記憶している。これらのデータの詳細については後述する。
ロボット2の動作中に新たなユーザー指令値352が入力されると、制御部10はユーザー指令値記憶部302に記憶されたユーザー指令値を、新たに入力されたユーザー指令値に置き換える。制御部10は新たにユーザー指令値が入力されると、それ以降の動作パターンを生成する処理を実施する。ユーザーから入力される新たな指令値は、それ以降のロボット2の動作の生成に反映される。ユーザーは、ロボット2の運動を視認しながら、例えばジョイスティック等のコントローラ12を用いてユーザー指令値を入力することで、ロボット2の動作をリアルタイムに制御することができる。
The user command value storage unit 302 stores a user command value 352 input from the user. The user command value storage unit 302 includes (1) an operation mode 321, (2) a jump height 322 in the aerial phase, (3) a center of gravity height 324 in switching the operation, and (4) a ground phase duration 326. , (5) Relative ZMP trajectory 328 in the ground phase, (6) Time-dependent data 330 of the target angular momentum, (7) Horizontal velocity 332 of the center of gravity in switching the operation, (8) Free leg toe at crossing Data such as position and speed 334 are stored. Details of these data will be described later.
When a new user command value 352 is input during the operation of the robot 2, the control unit 10 replaces the user command value stored in the user command value storage unit 302 with the newly input user command value. When a user command value is newly input, the control unit 10 performs a process of generating a subsequent operation pattern. The new command value input from the user is reflected in the generation of the motion of the robot 2 thereafter. The user can control the operation of the robot 2 in real time by inputting a user command value using the controller 12 such as a joystick while visually recognizing the motion of the robot 2.

空中相重心鉛直軌道生成部304と、接地相重心鉛直軌道生成部306と、接地相重心水平軌道計算部308と、空中相重心水平軌道計算部310は、ユーザー指令値記憶部302に記憶されているユーザー指令値と、センサ制御部354によって計測される踏切り時の重心鉛直速度356、踏切り時の重心水平速度358に基づいて、各動作区間におけるロボット2の重心の軌道を生成する。ここで生成される重心の軌道は、各動作区間において、ロボット2の外部に固定された座標系(x, y, z)で記述されたものであるが、接地相においてはロボット2の基準点(支持脚の足平に位置する)が床に対して移動しないため、ロボット2の基準点に固定された座標系(x’, y’, z’)で記述されたデータとして扱うことができる。各軌道生成部および計算部で行われる処理の詳細については、後に詳述する。   The aerial phase centroid vertical trajectory generation unit 304, the ground phase centroid vertical trajectory generation unit 306, the ground phase centroid horizontal trajectory calculation unit 308, and the aerial phase centroid horizontal trajectory calculation unit 310 are stored in the user command value storage unit 302. The trajectory of the center of gravity of the robot 2 in each operation section is generated based on the user command value, the center-of-gravity vertical speed 356 at the crossing measured by the sensor control unit 354, and the center-of-gravity horizontal speed 358 at the crossing. The trajectory of the center of gravity generated here is described in the coordinate system (x, y, z) fixed outside the robot 2 in each motion section, but in the ground phase, the reference point of the robot 2 Since it does not move with respect to the floor (located on the foot of the support leg), it can be handled as data described in the coordinate system (x ′, y ′, z ′) fixed to the reference point of the robot 2 . Details of processing performed in each trajectory generation unit and calculation unit will be described later.

空中相重心鉛直軌道336は、各動作区間におけるロボット2の空中相での重心の鉛直方向軌道を記述するデータであり、動作区間の順序を示す符号と、その動作区間における空中相での重心の鉛直方向軌道が、関連付けられている。空中相重心鉛直軌道生成部304で、ある動作区間における重心の鉛直方向軌道が生成されるたびに、空中相重心鉛直軌道336は更新されていく。   The aerial phase center of gravity vertical trajectory 336 is data describing the vertical direction trajectory of the center of gravity in the aerial phase of the robot 2 in each motion section, and a code indicating the order of the motion sections and the center of gravity in the aerial phase in the motion section. A vertical trajectory is associated. The aerial phase centroid vertical trajectory 336 is updated each time the aerial phase centroid vertical trajectory generation unit 304 generates a vertical centroid trajectory in a certain motion section.

空中相重心水平軌道342も、空中相重心鉛直軌道336と同様に、各動作区間におけるロボット2の空中相での重心の水平方向軌道を記述するデータであり、動作区間の順序を示す符号と、その動作区間における空中相での重心の水平方向軌道が、関連付けられている。空中相重心水平軌道計算部310で、ある動作区間における重心の水平方向軌道が計算されるたびに、空中相重心水平軌道342は更新されていく。
接地相重心鉛直軌道338、接地相重心水平軌道340も、上記した空中相重心鉛直軌道336、空中相重心水平軌道342と同様に、各動作区間におけるロボット2の接地相での重心の軌道を記述するデータである。これらのデータは、動作区間の順序を示す符号と、その動作区間における接地相での重心の軌道が、関連付けられている。これらのデータは、対応する軌道生成部ないし計算部で、ある動作区間における重心の軌道が生成されるたびに、更新されていく。
The aerial phase center of gravity horizontal trajectory 342 is also data similar to the aerial phase center of gravity vertical trajectory 336 and describes the horizontal direction trajectory of the center of gravity in the aerial phase of the robot 2 in each motion section, and a code indicating the order of the motion sections; The horizontal trajectory of the center of gravity in the aerial phase in the operating section is associated. The aerial phase centroid horizontal trajectory 342 is updated each time the aerial phase centroid horizontal trajectory calculation unit 310 calculates the horizontal trajectory of the centroid in a certain operation section.
The ground phase centroid vertical trajectory 338 and the ground phase centroid horizontal trajectory 340 also describe the trajectory of the center of gravity in the ground phase of the robot 2 in each operation section in the same manner as the air phase centroid vertical trajectory 336 and the air phase centroid horizontal trajectory 342 described above. It is data to be. In these data, a code indicating the order of the operation sections is associated with the trajectory of the center of gravity in the ground phase in the operation sections. These data are updated every time a trajectory of the center of gravity in a certain motion section is generated by the corresponding trajectory generator or calculator.

重心相対軌道計算部314は、空中相重心鉛直軌道生成部304と、接地相重心鉛直軌道生成部306と、接地相重心水平軌道計算部308と、空中相重心水平軌道計算部310で生成されるロボット2の重心の軌道と、遊脚相対軌道計算部316で計算される遊脚相対軌道348に基づいて、ロボット2の重心相対軌道346を計算する。   The center-of-gravity relative trajectory calculation unit 314 is generated by the aerial phase center-of-gravity vertical trajectory generation unit 304, the ground-phase center-of-gravity vertical trajectory generation unit 306, the ground-phase center-of-gravity horizontal trajectory calculation unit 308, and the aerial phase center-of-gravity horizontal trajectory calculation unit 310. Based on the trajectory of the center of gravity of the robot 2 and the free leg relative trajectory 348 calculated by the free leg relative trajectory calculation unit 316, the center of gravity relative trajectory 346 of the robot 2 is calculated.

重心相対軌道346は、ロボット2の支持脚の足先に設けられた基準点を原点とする座標系(x', y', z')で重心の軌道を記述したものである。重心相対軌道346は、動作区間の順序を示す符号と、その動作区間における重心の相対軌道が、関連付けられている。重心相対軌道計算部314で、ある動作区間における重心の相対軌道が計算されるたびに、重心相対軌道346は更新されていく。   The center-of-gravity relative trajectory 346 describes the center-of-gravity trajectory in a coordinate system (x ′, y ′, z ′) with the reference point provided at the tip of the support leg of the robot 2 as the origin. The center-of-gravity relative trajectory 346 is associated with a code indicating the order of the motion sections and the relative trajectory of the center of gravity in the motion sections. The center-of-gravity relative trajectory calculation unit 314 updates the center-of-gravity relative trajectory 346 every time the center-of-gravity relative trajectory is calculated in a certain motion section.

遊脚相対軌道計算部316は、重心相対軌道計算部314で計算されるロボット2の重心相対軌道346と、ユーザー指令値記憶部302に記憶されているユーザー指令値に基づいて、ロボット2の遊脚の足先の相対軌道348を計算する。ここで計算される遊脚の足先の相対軌道348は、ロボット2の支持脚の足先に設けられた基準点を原点とする座標系(x', y', z')で記述されたものである。
遊脚相対軌道348は、各動作区間におけるロボット2の遊脚の足先の基準点の相対軌道を記述するデータであって、動作区間の順序を示す符号と、その動作区間における遊脚の足先の基準点の相対軌道が、関連付けられている。遊脚相対軌道計算部316で、ある動作区間における遊脚の相対軌道が計算されるたびに、遊脚相対軌道348は更新されていく。
The free leg relative trajectory calculation unit 316 is based on the center of gravity relative trajectory 346 of the robot 2 calculated by the center of gravity relative trajectory calculation unit 314 and the user command value stored in the user command value storage unit 302. A relative trajectory 348 of the leg tip is calculated. The relative trajectory 348 of the toe of the free leg calculated here is described in a coordinate system (x ′, y ′, z ′) with the reference point provided at the toe of the supporting leg of the robot 2 as the origin. Is.
The free leg relative trajectory 348 is data describing the relative trajectory of the reference point of the toe of the free leg of the robot 2 in each motion section, and includes a code indicating the order of the motion sections and the leg of the free leg in the motion section. The relative trajectory of the previous reference point is associated. The free leg relative trajectory 348 is updated each time the free leg relative trajectory calculation unit 316 calculates the relative trajectory of the free leg in a certain motion section.

関節角目標値演算部318は、重心相対軌道計算部314で計算されるロボット2の重心相対軌道346と、遊脚相対軌道計算部316で計算されるロボット2の遊脚の足先の基準点の相対軌道348に基づいて、ロボット2の各関節の関節角目標値の経時的データ350を演算する。
関節角目標値経時的データ350は、ロボット2の各関節の目標関節角の経時的データであって、対応する動作区間の順序を示す符号が関連付けられている。関節角目標値演算部318で演算が実施されるたびに、関節角目標値経時的データ350は更新されていく。
The joint angle target value calculation unit 318 includes a reference point of the toe of the free leg of the robot 2 calculated by the relative gravity center trajectory 346 of the robot 2 calculated by the relative gravity track calculation unit 314 and the free leg relative trajectory calculation unit 316. Based on the relative trajectory 348, the temporal data 350 of the joint angle target value of each joint of the robot 2 is calculated.
The joint angle target value temporal data 350 is temporal data of the target joint angle of each joint of the robot 2 and is associated with a code indicating the order of the corresponding motion sections. Each time the joint angle target value calculation unit 318 performs the calculation, the joint angle target value temporal data 350 is updated.

関節駆動部320は、関節角目標値の経時的データ350に基づいて、ロボット2の各関節を駆動する。   The joint driving unit 320 drives each joint of the robot 2 based on the temporal data 350 of the joint angle target value.

センサ制御部354は、ロボット2が接地相から踏切って空中相へ移行するときに、センサ14に指示を送信して、踏切りの時点における加速度と角速度の計測を実施させる。センサ14から加速度および角速度の計測値が入力されると、センサ制御部354は踏切り時のロボット2の重心鉛直速度356、重心水平速度358および重心まわりの角運動量360を算出する。   The sensor control unit 354 transmits an instruction to the sensor 14 when the robot 2 takes a step from the ground phase and shifts to the aerial phase, and causes the acceleration and the angular velocity at the time of the crossing to be measured. When measured values of acceleration and angular velocity are input from the sensor 14, the sensor control unit 354 calculates the center-of-gravity vertical velocity 356, the center-of-gravity horizontal velocity 358, and the angular momentum 360 around the center of gravity at the time of the crossing.

目標角運動量更新部362は、センサ制御部354から出力される踏切り時の角運動量360に基づいて、ユーザー指令値記憶部302に記憶された目標角運動量経時的データ330を更新する。   The target angular momentum update unit 362 updates the target angular momentum temporal data 330 stored in the user command value storage unit 302 based on the angular momentum 360 at the time of crossing output from the sensor control unit 354.

図4を参照しながら、本発明のロボット2の制御部10が行う、動作の生成の処理を説明する。図4の処理は、任意の態様の動作を扱うことができるが、以下では例として図2に示す動作の態様を扱う場合について説明する。   With reference to FIG. 4, a motion generation process performed by the control unit 10 of the robot 2 of the present invention will be described. The process of FIG. 4 can handle an operation of an arbitrary mode. Hereinafter, a case of handling the mode of operation shown in FIG. 2 will be described as an example.

まずステップS402では、動作を生成する動作区間の番号を示す変数kを1に設定する。   First, in step S402, a variable k indicating the number of an operation section for generating an operation is set to 1.

次にステップS404では、最初の動作区間である区間1の重心の軌道を生成する。
ステップS404で実施する区間1の重心の軌道の生成は、ステップS408からステップS420で後述する一般的な区間kにおける重心の軌道の生成と同様であり、ステップS404はステップS408からステップS420の処理をまとめて表現したものである。重心軌道の生成処理の詳細については後述する。
ステップS404の処理を実行することによって、区間1における重心の鉛直方向軌道および水平方向軌道が生成される。図2に示すように、区間1は接地相と空中相を備えている。生成された区間1の重心の軌道は、空中相重心鉛直軌道336、接地相重心鉛直軌道338、接地相重心水平軌道340、空中相重心水平軌道342に反映される。
Next, in step S404, a trajectory of the center of gravity of section 1 which is the first motion section is generated.
The generation of the center-of-gravity trajectory of the section 1 performed in step S404 is the same as the generation of the center-of-gravity trajectory in the general section k described later in steps S408 to S420, and step S404 performs the processing from step S408 to step S420. It is expressed collectively. Details of the process of generating the center of gravity trajectory will be described later.
By executing the process of step S404, the vertical trajectory and the horizontal trajectory of the center of gravity in the section 1 are generated. As shown in FIG. 2, the section 1 has a ground phase and an air phase. The generated center-of-gravity orbits of the section 1 are reflected in the aerial phase center-of-gravity vertical track 336, the ground-phase center-of-gravity vertical track 338, the ground-phase center-of-gravity horizontal track 340, and the aerial phase center-of-gravity horizontal track 342.

ステップS406では、動作を生成する区間を示す番号kに1を加える。   In step S406, 1 is added to the number k indicating the section for generating the motion.

ステップS408では、制御部10はこれから動作を生成する区間kの動作に関するユーザー指令値をユーザー指令値記憶部302から読み出す。ユーザー指令値としては、以下のパラメータを与えることができる。
(1)ロボット2の動作の態様321
(2)空中相における重心の跳躍高さ322
(3)動作の切替りにおける重心の高さ(鉛直方向位置)324
(4)接地相の継続時間326
(5)接地相における相対ZMP軌道328
(6)接地相および空中相における目標角運動量経時的データ330
(7)動作の切替りにおける重心の水平方向速度332
(8)踏切りの時点における遊脚足先の位置および速度334
In step S <b> 408, the control unit 10 reads the user command value related to the operation in the section k in which the operation is to be generated from the user command value storage unit 302. The following parameters can be given as user command values.
(1) Operation mode 321 of the robot 2
(2) The jump height 322 of the center of gravity in the air phase
(3) Height of center of gravity (vertical position) 324 in switching of operation
(4) Duration of ground phase 326
(5) Relative ZMP trajectory 328 in the ground phase
(6) Target angular momentum temporal data 330 in the ground phase and the air phase
(7) Horizontal velocity 332 of the center of gravity in switching the operation
(8) Position and velocity 334 of the free leg foot at the time of crossing

上記(1)のロボット2の動作の態様321は、各動作区間におけるロボット2の動作の特徴を示している。上記のロボット2の動作の態様321は、動作区間の順序を示す符号と、各動作区間における空中相の有無を示す符号と、各動作区間の接地相で支持脚となる脚リンクを識別する符号とを備えており、ユーザーが任意に与えることができる。   The operation mode 321 of the robot 2 in (1) above shows the characteristics of the operation of the robot 2 in each operation section. The operation mode 321 of the robot 2 includes a code indicating the order of the motion sections, a code indicating the presence / absence of an aerial phase in each motion section, and a code for identifying a leg link that is a support leg in the ground phase of each motion section. And can be given arbitrarily by the user.

上記(2)の空中相における重心の跳躍高さは、ロボット2の動作が空中相を備える場合に、ロボット2の重心が到達する最大の高さであって、ロボット2のアクチュエータの性能が許す範囲内で、ユーザーが任意に与えることができる。   The jump height of the center of gravity in the aerial phase (2) is the maximum height at which the center of gravity of the robot 2 reaches when the operation of the robot 2 includes the aerial phase, and the performance of the actuator of the robot 2 permits. Within the range, the user can arbitrarily give.

上記(3)の動作の切替りにおける重心の高さ(鉛直方向位置)324は、ロボット2の動作が接地相と空中相の間で、あるいは接地相と接地相の間で切り替わるときに、ロボット2の重心が実現する高さであって、ロボット2の機構が幾何学的に許す範囲内で、ユーザーが任意に与えることができる。   The height (vertical direction position) 324 of the center of gravity in the switching of the operation of (3) above is determined when the operation of the robot 2 is switched between the ground phase and the air phase or between the ground phase and the ground phase. The height can be realized by the center of gravity of 2, and can be arbitrarily given by the user within a range that the mechanism of the robot 2 allows geometrically.

上記(4)の接地相の継続時間326は、各動作区間において接地相が継続する時間であって、ユーザーが任意に与えることができる。   The duration 326 of the ground phase in (4) above is a time during which the ground phase continues in each operation section, and can be arbitrarily given by the user.

上記(5)の接地相における相対ZMP軌道は、接地相における目標ZMPの支持脚の足平の基準点に対する位置の経時的データであって、支持脚となる脚リンクの足平内に存在するという制約のもとで、ユーザーが任意に与えることができる。接地相においては、支持脚となる脚リンクの足平内にZMPが存在していれば、ロボット2は転倒することなく動作を継続することができる。
本実施例のロボット2では、接地相における相対ZMP軌道を、支持脚の足平の中心に固定するように設定する。このような相対ZMP軌道が実現される場合、ロボット2は転倒することなく、安定して動作を実現することができる。なお接地相における相対ZMP軌道は、その接地相の間で足平の内部に維持されていれば、どのような軌道を与えてもよい。例えば接地相の間に支持脚の足平の内部の後方から前方へ移動するような軌道を用いてもよい。このような相対ZMP軌道が実現される場合も、ロボット2は転倒することなく、安定して動作を実現することができる。
The relative ZMP trajectory in the grounding phase of (5) above is the time-dependent data of the position of the target ZMP in the grounding phase with respect to the foot reference point of the supporting leg, and is present in the foot of the leg link serving as the supporting leg. Can be given arbitrarily by the user under constraints. In the grounding phase, if the ZMP exists in the foot of the leg link serving as the support leg, the robot 2 can continue the operation without falling down.
In the robot 2 of the present embodiment, the relative ZMP trajectory in the ground phase is set to be fixed at the center of the foot of the support leg. When such a relative ZMP trajectory is realized, the robot 2 can stably operate without falling down. The relative ZMP trajectory in the ground phase may be any trajectory as long as it is maintained within the foot between the ground phases. For example, a track that moves from the rear to the front inside the foot of the support leg during the ground phase may be used. Even when such a relative ZMP trajectory is realized, the robot 2 can stably operate without falling down.

上記(6)の接地相および空中相における目標角運動量経時的データ330は、ロボット2が実現する重心まわりの回転運動の角運動量の経時的データであって、アクチュエータの性能が許す範囲内で、ユーザーが任意に与えることができる。ロボット2のロール軸(x'軸)およびピッチ軸(y'軸)まわりの角運動量は、ロボット2が所望の姿勢を実現するように設定することが可能である。ヨー軸(z'軸)まわりの角運動量は、ロボット2が所望の旋回動作を実現するように設定することが可能である。
本実施例のロボット2では、すべての動作区間において、ロール軸、ピッチ軸およびヨー軸まわりの角運動量は0となるように設定する。
The target angular momentum time-dependent data 330 in the ground phase and the air phase in (6) above is the time-dependent data of the angular momentum of the rotational motion around the center of gravity realized by the robot 2 and within the range permitted by the performance of the actuator. Can be given arbitrarily by the user. The angular momentum about the roll axis (x ′ axis) and the pitch axis (y ′ axis) of the robot 2 can be set so that the robot 2 realizes a desired posture. The angular momentum around the yaw axis (z ′ axis) can be set so that the robot 2 realizes a desired turning motion.
In the robot 2 of the present embodiment, the angular momentum about the roll axis, the pitch axis, and the yaw axis is set to 0 in all the motion sections.

上記(7)の動作の切替りにおける重心の水平方向速度332は、ロボット2の動作が接地相と空中相の間で切り替わるとき、あるいは接地相と接地相の間で切り替わるときに、ロボット2の重心が実現する水平方向速度であって、ロボット2のアクチュエータの性能が許す範囲内で、ユーザーが任意に与えることができる。   The horizontal direction velocity 332 of the center of gravity in the switching of the operation of (7) above is determined when the operation of the robot 2 is switched between the ground phase and the air phase, or when the operation of the robot 2 is switched between the ground phase and the ground phase. The horizontal speed achieved by the center of gravity can be arbitrarily given by the user within a range allowed by the performance of the actuator of the robot 2.

上記(8)の踏切りの時点における遊脚足先の位置および速度334は、ロボット2が接地相から空中相に移行する時点における遊脚足先の支持脚足先から見た位置と速度であって、ロボット2の機構が幾何学的に許す範囲で、ユーザーが任意に与えることができる。   The position and speed 334 of the free leg toe at the time of the crossing in (8) above are the position and speed of the free leg toe as seen from the supporting leg toe when the robot 2 transitions from the ground phase to the aerial phase. Thus, the user can arbitrarily give it as long as the mechanism of the robot 2 geometrically allows.

図4のステップS410では、区間kの動作が空中相を備えるか否かを判断する。区間kが空中相を備える場合(ステップS410でYESの場合)、区間kの空中相の動作を生成するために、処理はステップS412へ進む。区間kが空中相を備えない場合(ステップS410でNOの場合)、区間kの接地相の動作を生成するために、処理はステップS414へ進む。
例えばkが2の場合、区間2の動作は空中相を備えているため、処理はステップS412へ進む。
In step S410 of FIG. 4, it is determined whether or not the operation in the section k includes an aerial phase. If section k includes an aerial phase (YES in step S410), the process proceeds to step S412 to generate an operation of the aerial phase in section k. If the section k does not include the aerial phase (NO in step S410), the process proceeds to step S414 to generate the operation of the ground phase of the section k.
For example, when k is 2, since the operation in the section 2 includes an aerial phase, the process proceeds to step S412.

ステップS412では、区間kの空中相における重心の鉛直方向軌道を生成する。
空中相ではロボット2が空中に浮いており、重力のみが外力としてロボット2に作用する。従って、空中相ではロボット2の関節をどのように駆動したとしても、その重心の軌道は以下に示す軌道となる。
In step S412, a vertical orbit of the center of gravity in the aerial phase of section k is generated.
In the aerial phase, the robot 2 is floating in the air, and only gravity acts on the robot 2 as an external force. Therefore, no matter how the joint of the robot 2 is driven in the air phase, the trajectory of the center of gravity is the trajectory shown below.

Figure 0004492395
Figure 0004492395

上式のgは重力加速度であり、上式のvz0は区間kで踏切りの時点での重心の鉛直方向の速度であり、z0は踏切りの時点における重心の鉛直方向の位置である。上記のvz0,z0を与えることによって、空中相における重心の鉛直方向軌道を生成することができる。
上記のz0は、踏切りの時点における重心の高さであり、ステップS408においてユーザー指令値として与えられている。
また上記のvz0は、踏切りの時点における重心の鉛直方向速度である。このvz0は、ステップS408で与えられるユーザー指令値の跳躍高さから算出することができる。踏切りの時点における重心の鉛直方向の速度vz0は、跳躍高さhと重力加速度gを用いて以下によって算出される。
In the above equation, g is the gravitational acceleration, v z0 in the above equation is the vertical speed of the center of gravity at the time of crossing in the section k, and z 0 is the vertical position of the center of gravity at the time of crossing. By giving the above v z0 and z 0 , the vertical trajectory of the center of gravity in the air phase can be generated.
The above z 0 is the height of the center of gravity at the time of the crossing, and is given as a user command value in step S408.
Also, the above-mentioned v z0 is the vertical speed of the center of gravity at the time of crossing. This v z0 can be calculated from the jump height of the user command value given in step S408. The vertical velocity v z0 of the center of gravity at the time of the crossing is calculated as follows using the jump height h and the gravitational acceleration g.

Figure 0004492395
Figure 0004492395

なお、跳躍高さhをユーザー指令値として入力する代わりに、vz0を直接ユーザー指令値として与えてもよい。 Instead of inputting the jump height h as a user command value, v z0 may be directly given as a user command value.

ステップS412を実施することによって、区間kの空中相におけるロボット2の重心の鉛直方向の軌道を生成することができる。
図5の(a)はロボット2の重心の鉛直方向軌道を模式的に示している。例えばkが2である場合、ステップS412では区間2の空中相の鉛直方向軌道102が生成される。
またステップS412で生成された空中相におけるロボット2の重心の鉛直方向軌道102から、空中相が継続する時間を算出することができる。算出される空中相の継続時間は、後のステップS420からステップS422での処理に用いられる。
By performing step S412, the vertical trajectory of the center of gravity of the robot 2 in the aerial phase of the section k can be generated.
FIG. 5A schematically shows the vertical trajectory of the center of gravity of the robot 2. For example, if k is 2, the vertical phase trajectory 102 of the aerial phase of section 2 is generated in step S412.
Further, the time during which the aerial phase continues can be calculated from the vertical trajectory 102 of the center of gravity of the robot 2 in the aerial phase generated in step S412. The calculated duration of the aerial phase is used for processing in later steps S420 to S422.

ステップS414では、区間kの接地相における重心の鉛直方向軌道を生成する。区間kの接地相における重心の鉛直方向軌道は、その接地相の前後の動作における重心の鉛直方向軌道と滑らかに接続するように生成する。   In step S414, a vertical trajectory of the center of gravity in the ground phase of section k is generated. The vertical trajectory of the center of gravity in the ground phase of the section k is generated so as to be smoothly connected to the vertical trajectory of the center of gravity in the operation before and after the ground phase.

区間kの接地相の開始時における重心の鉛直方向位置と速度は、すでに生成されている区間k-1の重心の鉛直方向軌道に基づいて、区間k-1の完了時における重心の鉛直方向位置と位置と速度に一致させる。例えばkが2である場合、すでに生成されている区間1の空中相での重心の鉛直方向軌道112に基づいて、区間1の完了時108での重心の鉛直方向位置と速度を特定し、特定された位置と速度を区間kの接地相の開始時の条件とする。
また、ステップS404における区間1の重心の鉛直方向軌道の生成の場合、区間kの接地相の開始時の条件は任意に与えることができる。本実施例のロボット2では、区間1の接地相の開始時の条件として、重心の鉛直方向位置をユーザー指令値である重心高さ324として、重心の鉛直方向速度を0とする。
The vertical position and velocity of the center of gravity at the start of the grounding phase of section k are based on the vertical trajectory of the center of gravity of section k-1 that has already been generated, and the vertical position of the center of gravity at the completion of section k-1 And match the position and speed. For example, when k is 2, the vertical position and speed of the center of gravity at the time of completion 108 of the section 1 are specified based on the already generated vertical trajectory 112 of the center of gravity in the aerial phase of the section 1 and specified. The determined position and speed are the conditions at the start of the ground phase in section k.
Further, in the case of generating the vertical trajectory of the center of gravity of the section 1 in step S404, the condition at the start of the ground phase of the section k can be arbitrarily given. In the robot 2 according to the present embodiment, the vertical position of the center of gravity is set as the user-instructed height 324 as the vertical position of the center of gravity as the condition at the start of the grounding phase in the section 1, and the vertical speed of the center of gravity is set to zero.

区間kの接地相の完了時における重心の鉛直方向位置と速度は、その後の空中相または接地相の開始時における重心の鉛直方向位置と速度に一致させる。
区間kが空中相を備える場合には、接地相の完了時における重心の鉛直方向の位置と速度は、ステップS412ですでに生成されている空中相での重心の鉛直方向軌道から設定することができる。例えばkが2である場合、接地相の完了時110における重心の鉛直方向位置と速度は、ステップS412ですでに生成されている空中相での重心の鉛直方向軌道102から、空中相の開始時110での重心の鉛直方向位置と速度を特定し、特定された位置と速度を接地相の完了時の条件とする。
また区間kが空中相を備えておらず、接地相の完了時が区間k+1の接地相の開始時と接続する場合には、区間kの完了時における重心の鉛直方向位置は、ステップS408で与えられるユーザー指令値から設定することができる。この場合、重心の鉛直方向速度は任意に与えることができる。例えばkが3である場合、区間3は空中相を備えておらず、接地相の重心の鉛直方向軌道114の完了時116は次の動作区間である区間4の接地相の重心の鉛直方向軌道115(この時点ではまだ生成されていない)と接続する。このような場合、重心の鉛直方向位置は、ユーザー指令値として与えられる重心の高さ324をそのまま用いる。重心の鉛直方向速度は、任意に与えることができる。
The vertical position and speed of the center of gravity at the time of completion of the ground phase of the section k are matched with the vertical position and speed of the center of gravity at the start of the subsequent aerial phase or ground phase.
When the section k includes the aerial phase, the vertical position and velocity of the center of gravity at the completion of the ground phase can be set from the vertical orbit of the center of gravity in the aerial phase already generated in step S412. it can. For example, if k is 2, the vertical position and speed of the center of gravity at the time of completion 110 of the ground phase are calculated from the vertical direction trajectory 102 of the center of gravity in the aerial phase already generated in step S412. The vertical position and speed of the center of gravity at 110 are specified, and the specified position and speed are used as the conditions for completion of the ground phase.
If the section k does not have an aerial phase and the completion of the ground phase is connected to the start of the ground phase of the section k + 1, the vertical position of the center of gravity at the completion of the section k is determined in step S408. It can be set from the user command value given by. In this case, the vertical speed of the center of gravity can be arbitrarily given. For example, when k is 3, section 3 does not have an aerial phase, and when the vertical trajectory 114 of the ground phase center of gravity 114 is completed, the vertical trajectory of the ground phase of the ground phase of section 4 is the next operation section. 115 (not generated yet). In such a case, the center-of-gravity height 324 given as the user command value is used as it is as the vertical position of the center of gravity. The vertical speed of the center of gravity can be arbitrarily given.

上記のようにして設定された開始時と完了時の条件をもとに、多項式補間を用いて接地相における重心の鉛直方向軌道を生成する。例えば開始時と完了時の位置と速度を拘束条件として、2次または3次の多項式を用いた補間によって、区間kの接地相における重心の鉛直方向軌道を生成する。この結果、例えば接地相の開始時の鉛直方向速度が0であり、接地相の終了時での鉛直方向速度がvz0である場合、接地相の間に沈み込んでから上昇し、終了時に鉛直方向速度がvz0となる鉛直方向速度を生成することができる。 Based on the start and completion conditions set as described above, a vertical trajectory of the center of gravity in the ground phase is generated using polynomial interpolation. For example, a vertical trajectory of the center of gravity in the ground phase of the section k is generated by interpolation using a quadratic or cubic polynomial with the start and completion positions and velocities as constraints. As a result, for example, when the vertical velocity at the start of the ground phase is 0 and the vertical velocity at the end of the ground phase is v z0 , the velocity increases after sinking during the ground phase, A vertical velocity with a directional velocity of v z0 can be generated.

ステップS414の処理を実施することによって、区間kの接地相における重心の鉛直方向軌道を生成することができる。上記の処理によって生成される重心の鉛直方向軌道は、ロボット2の外部に固定された座標系(x, y, z)で記述されたものである。しかしながら、接地相においてはロボット2上の基準点が存在する支持脚の足平は床に対して移動しないため、上記の軌道はそのまま座標系(x', y', z')で記述されたものに容易に置き換えることができる。図5の(a)では、座標系(x, y, z)で記述された軌道を破線で示し、座標系(x', y', z')で記述された軌道を実線で示している。   By performing the process of step S414, the vertical trajectory of the center of gravity in the ground phase of the section k can be generated. The vertical direction trajectory of the center of gravity generated by the above process is described in a coordinate system (x, y, z) fixed outside the robot 2. However, since the foot of the support leg on which the reference point on the robot 2 exists does not move with respect to the floor in the ground contact phase, the above trajectory is described as it is in the coordinate system (x ', y', z '). It can be easily replaced with something. In FIG. 5A, the trajectory described in the coordinate system (x, y, z) is indicated by a broken line, and the trajectory described in the coordinate system (x ′, y ′, z ′) is indicated by a solid line. .

ステップS416では、区間kの接地相における重心の水平方向軌道を計算する。重心の水平方向軌道は、その接地相での重心の鉛直方向軌道と、目標とする相対ZMP軌道と、目標とする角運動量の経時的データと、その接地相の開始時と完了時における重心の水平方向速度の条件に基づいて決定される。ステップS416では、重心の鉛直方向軌道と水平方向軌道を実現したときの実際の相対ZMP軌道が、目標とする相対ZMP軌道に一致するように、重心の水平方向軌道を計算する。
区間kの接地相での重心の鉛直方向軌道は、ステップS414ですでに生成されている。目標とする相対ZMP軌道と角運動量の経時的データは、ステップS408でユーザー指令値として与えられている。接地相の開始時における重心の水平方向速度は、すでに生成されている区間k-1の重心軌道から、区間k-1の完了時における重心の水平方向速度を特定することで与えられる。接地相の完了時における重心の水平方向速度は、ステップS408でユーザー指令値として与えられている。ステップS420では、これらの条件を満足するように、接地相での重心の水平方向軌道を計算する。
In step S416, the horizontal trajectory of the center of gravity in the ground phase of the section k is calculated. The horizontal trajectory of the center of gravity is the vertical trajectory of the center of gravity in the ground phase, the target relative ZMP trajectory, the temporal data of the target angular momentum, and the center of gravity at the start and completion of the ground phase. It is determined based on the horizontal speed condition. In step S416, the horizontal trajectory of the center of gravity is calculated so that the actual relative ZMP trajectory when the vertical trajectory and the horizontal trajectory of the center of gravity coincide with the target relative ZMP trajectory.
The vertical trajectory of the center of gravity in the ground phase of the section k has already been generated in step S414. The time-dependent data of the target relative ZMP trajectory and angular momentum are given as user command values in step S408. The horizontal speed of the center of gravity at the start of the ground phase is given by specifying the horizontal speed of the center of gravity at the completion of the section k-1 from the center of gravity trajectory of the section k-1 that has already been generated. The horizontal speed of the center of gravity at the completion of the ground phase is given as a user command value in step S408. In step S420, the horizontal trajectory of the center of gravity in the ground phase is calculated so as to satisfy these conditions.

以下では接地相における重心の水平方向軌道の計算について説明する。
ロボット2が実現する相対ZMP位置(px',py')は、ロボット2の相対重心位置(x',y',z')と支持脚の足先を原点とする座標系から見たロボット2の重心まわりの角速度(ωx',ωy')から計算することができる。ロボット2の相対重心位置とロボット2の重心まわりの角速度から、実際のZMPを計算する下記の式をZMP方程式と呼ぶ。
Hereinafter, calculation of the horizontal trajectory of the center of gravity in the ground phase will be described.
The relative ZMP position (p x ′ , p y ′ ) realized by the robot 2 is viewed from the coordinate system with the origin of the relative center of gravity position (x ′, y ′, z ′) of the robot 2 and the tip of the support leg. It can be calculated from the angular velocity (ω x ′ , ω y ′ ) around the center of gravity of the robot 2. The following equation for calculating the actual ZMP from the relative center of gravity position of the robot 2 and the angular velocity around the center of gravity of the robot 2 is called a ZMP equation.

Figure 0004492395
Figure 0004492395

ここで、(1)は時間tに関する1階微分を示し、(2)は時間tに関する2階微分を示している。また、mはロボット2の質量である。
上式のz'およびz'(2)は、ロボット2の支持脚の足先を原点とする重心の鉛直方向位置と鉛直方向加速度である。接地相ではロボット2の支持脚の足先は床に対して移動しないため、z'およびz'(2)はステップS414で生成された重心の鉛直方向軌道から特定することができる。
上式のIx'ωx' (1)とIy'ωy' (1)は、ロボット2の回転慣性の影響を示す。本実施例では、すべての動作区間においてロール軸(x'軸)およびピッチ軸(y'軸)まわりの角運動量を0としており、Ix'ωx' (1)とIy'ωy' (1)は0である。
Here, (1) indicates the first derivative with respect to time t, and (2) indicates the second derivative with respect to time t. M is the mass of the robot 2.
Z ′ and z ′ (2) in the above expression are the vertical position and vertical acceleration of the center of gravity with the toe of the support leg of the robot 2 as the origin. Since the toes of the support legs of the robot 2 do not move relative to the floor in the grounding phase, z ′ and z ′ (2) can be specified from the vertical trajectory of the center of gravity generated in step S414.
The above formulas I x ′ ω x ′ (1) and I y ′ ω y ′ (1) indicate the influence of the rotational inertia of the robot 2. In this embodiment, the angular momentum about the roll axis (x ′ axis) and the pitch axis (y ′ axis) is set to 0 in all the motion sections, and I x ′ ω x ′ (1) and I y ′ ω y ′. (1) is 0.

上記のZMP方程式を離散化することによって、重心の水平方向位置(x'、y')の経時的データを算出する式を導出することができる。ここで言う離散化は、前述のように、時間tに関して単位時間Δtを用いて行う。例えば重心のx'方向の軌道に関しては、下記の関係式を得る。   By discretizing the above ZMP equation, an equation for calculating temporal data of the horizontal position (x ′, y ′) of the center of gravity can be derived. Discretization here is performed using the unit time Δt with respect to the time t as described above. For example, for the x ′ direction trajectory of the center of gravity, the following relational expression is obtained.

Figure 0004492395
Figure 0004492395

ここでx'iとpx'iは、それぞれ重心のx'方向軌道x'(t)と、x'方向の相対ZMP軌道px'(t)を離散化した変数である。iは単位時間で区分した時刻の順序を示す。数式4は、時刻iにおけるZMPのx'方向座標px'iが、直前のx'方向座標x'i-1と、そのときのx'方向座標x'iと、直後のx'方向座標x'i+1から計算できることを示している。係数ai,bi,ciは、下記によって算出される係数である。 Here, x ′ i and p x′i are variables obtained by discretizing the x′- direction trajectory x ′ (t) of the center of gravity and the relative ZMP trajectory p x ′ (t) in the x ′ direction, respectively. i indicates the order of time divided by unit time. Equation 4 shows that the x ′ direction coordinate p x′i of the ZMP at time i is the immediately preceding x ′ direction coordinate x ′ i−1 , the x ′ direction coordinate x ′ i at that time, and the immediately following x ′ direction coordinate. It can be calculated from x ′ i + 1 . The coefficients a i , b i , and c i are coefficients calculated as follows.

Figure 0004492395
Figure 0004492395

上記のΔtはZMP方程式の離散化に用いる時間幅であり、z'iとz'(2) iはそれぞれ重心の鉛直方向の位置と加速度を離散化した変数である。本実施例では、Δtは接地相の継続時間をn等分する時間幅である。 Δt is a time width used for discretization of the ZMP equation, and z ′ i and z ′ (2) i are variables obtained by discretizing the vertical position and acceleration of the center of gravity, respectively. In this embodiment, Δt is a time width that divides the duration of the ground phase into n equal parts.

また係数diは、下記によって算出される係数である。 The coefficient d i is a coefficient calculated by the following.

Figure 0004492395
Figure 0004492395

ここでIy'ωy' (1) iは、目標とするピッチ軸(y'軸)まわりの角運動量を離散化した変数である。なお本実施例のロボット2では、目標とする角運動量は0としているから、図4に示す処理においてdiは全て0である。 Here, I y ′ ω y ′ (1) i is a variable obtained by discretizing the angular momentum about the target pitch axis (y ′ axis). In the robot 2 of the present embodiment, the target angular momentum is 0, so d i is all 0 in the process shown in FIG.

本実施例のロボット2では、接地相の開始時と完了時において、重心の軌道が滑らかに変化するように、ロボット2の動作を計算する。このように動作を計算することで、例えばロボット2が踏切りや着地を行う場合や、支持脚を入れ替える場合であっても、ロボット2の重心位置は滑らかに推移し、ロボット2は安定した動作を実現する。
区間kの開始時の重心のx'方向速度vx'0は、分割時間幅Δtと、重心の位置x'0、x'1とを用いて、以下によって表現される。
In the robot 2 of the present embodiment, the operation of the robot 2 is calculated so that the trajectory of the center of gravity changes smoothly at the start and completion of the ground phase. By calculating the motion in this way, for example, even when the robot 2 performs a crossing or landing, or when the support leg is replaced, the center of gravity of the robot 2 changes smoothly, and the robot 2 performs a stable motion. Realize.
The x′- direction velocity v x′0 of the center of gravity at the start of the section k is expressed by the following using the division time width Δt and the positions of the center of gravity x ′ 0 and x ′ 1 .

Figure 0004492395
Figure 0004492395

上記した区間kの開始時における重心のx'方向速度vx'0は、すでに計算されている区間k-1の重心の軌道から設定される。例えばkが2である場合、区間2の開始時108での重心の水平方向速度vx'0は、区間1の水平方向軌道120から、区間1の完了時108での重心の水平方向速度として特定する。 The x′- direction velocity v x′0 of the center of gravity at the start of the section k is set from the orbit of the center of gravity of the section k−1 that has already been calculated. For example, when k is 2, the horizontal speed v x′0 of the center of gravity at the start 108 of the section 2 is calculated as the horizontal speed of the center of gravity at the completion 108 of the section 1 from the horizontal trajectory 120 of the section 1. Identify.

同じように、区間kの接地相の完了時における重心のx'方向速度vx'n-1は、分割時間幅Δtと、重心の位置x'n-2、x'n-1と、以下の関係がある。 Similarly, the x′- direction velocity v x′n−1 of the center of gravity at the completion of the ground phase of the section k is the division time width Δt, the positions of the center of gravity x ′ n−2 , x ′ n−1, and so on. There is a relationship.

Figure 0004492395
Figure 0004492395

上記した区間kの完了時における重心のx'方向速度vx'n-1は、ステップS408でユーザー指令値として設定されている。 The x′- direction velocity v x′n−1 of the center of gravity at the completion of the section k is set as a user command value in step S408.

上記した関係を整理すると、結局のところ、実現される相対ZMP軌道が目標とする相対ZMP軌道と等しくなる、区間kの接地相における重心のx'方向軌道(x'0,x'1,・・・,x'n-1)は、以下の三重対角行列で示される方程式(3項方程式)を解くことによって算出することができる。 When the above relations are arranged, after all, the realized relative ZMP trajectory becomes equal to the target relative ZMP trajectory, and the x ′ direction trajectory (x ′ 0 , x ′ 1 ,. .., X ′ n−1 ) can be calculated by solving an equation (ternary equation) represented by the following tridiagonal matrix.

Figure 0004492395
Figure 0004492395

上式において、左辺は行列と列ベクトルの積で表現されており、その行列は鉛直方向軌道から計算される係数を持つ3重対角行列である。3重対角行列とは、対角成分とそれに隣接する副対角成分のみが有意な値を備え、それ以外の成分が0である行列のことを言う。左辺の列ベクトルは、重心のx'方向軌道(x'0,x'1,・・・,x'n-1)を示す列ベクトルである。右辺の列ベクトルは、目標とする相対ZMP軌道に目標とする角運動量に基づく補正を加えたものと、接地相の開始時における重心のx'方向速度vx'0に単位時間Δtを乗じて距離に変換した値vx'0Δtと、接地相の終了時における重心のx'方向速度vx'n-1に単位時間Δtを乗じて距離に変換した値vx'n-1Δtとを備える列ベクトルである。 In the above equation, the left side is expressed by the product of a matrix and a column vector, and the matrix is a tridiagonal matrix having coefficients calculated from the vertical trajectory. The tridiagonal matrix refers to a matrix in which only a diagonal component and a sub-diagonal component adjacent to the diagonal component have significant values and the other components are zero. The column vector on the left side is a column vector indicating the x ′ direction trajectory (x ′ 0 , x ′ 1 ,..., X ′ n−1 ) of the center of gravity. The column vector on the right-hand side is obtained by multiplying the target relative ZMP trajectory with correction based on the target angular momentum, and multiplying the x′- direction velocity v x′0 of the center of gravity at the start of the ground phase by the unit time Δt. The value v x'0 Δt converted to distance and the value v x'n-1 Δt converted to distance by multiplying the x'- direction velocity v x'n-1 of the center of gravity at the end of the ground phase by unit time Δt Is a column vector.

数式8において、左辺の3重対角行列の逆行列を算出し、その逆行列と右辺との積を計算することによって、未知数(x'0,x'1,・・・,x'n-1)を計算することができる。従って、重心のx'方向軌道を計算することができる。
上記した計算では、試行錯誤的に重心の水平方向軌道を計算することなく、直接的に目標とする相対ZMP軌道を満足する重心の水平方向軌道を計算することができる。上記した計算は少ない計算量で実施することが可能であり、接地相重心水平軌道計算部308は高速で計算を実施することができる。
In Equation 8, an unknown matrix (x ′ 0 , x ′ 1 ,..., X ′ n− is calculated by calculating the inverse matrix of the tridiagonal matrix on the left side and calculating the product of the inverse matrix and the right side. 1 ) can be calculated. Therefore, the x ′ direction trajectory of the center of gravity can be calculated.
In the above calculation, the horizontal trajectory of the center of gravity that directly satisfies the target relative ZMP trajectory can be calculated without calculating the horizontal trajectory of the center of gravity by trial and error. The above-described calculation can be performed with a small amount of calculation, and the ground phase center-of-gravity horizontal trajectory calculation unit 308 can perform the calculation at high speed.

図5の(b)はロボット2の重心の水平方向軌道を示す。例えばkが2である場合、ステップS416では区間2の接地相の水平方向軌道118が計算される。
図6にkが2である場合にステップS416で計算されるx'方向軌道(x'0,x'1,・・・,x'n-1)の詳細を示す。
FIG. 5B shows the horizontal trajectory of the center of gravity of the robot 2. For example, when k is 2, the horizontal trajectory 118 of the ground phase in section 2 is calculated in step S416.
FIG. 6 shows details of the x′-direction trajectory (x ′ 0 , x ′ 1 ,..., X ′ n−1 ) calculated in step S416 when k is 2.

区間kの接地相におけるy'方向の重心軌道(y'1,・・・,y'n-1)についても、y'方向の相対ZMP位置(py'1,・・・,py'n-2)と、目標とするロール軸(x'軸)まわりの角運動量と、区間kの接地相の開始時速度vy'0と完了時速度vy'n-1から、x'方向の重心軌道(x'0,x'1,・・・,x'n-1)と同様にして算出することができる。 'Center of gravity pathway in the direction (y' y in the ground phase of Interval k 1, ···, y 'n -1) for even, y' direction relative ZMP position (p y'1, ···, p y ' n-2 ), the angular momentum around the target roll axis (x 'axis), and the ground phase starting speed v y'0 and completion speed v y'n-1 in the section k, in the x' direction Can be calculated in the same manner as the center-of-gravity trajectory (x ′ 0 , x ′ 1 ,..., X ′ n−1 ).

なお上記した水平方向速度vx'0,vy'0の代わりに、重心が移動する方向を示す水平方向の単位ベクトルnx',ny'と速度絶対値|v|を指令値としてユーザーが与えてもよい。このような場合、水平方向速度vx'0,vy'0は、以下によって算出される。 Users as a command value | Note the above-mentioned horizontal velocity v x'0, instead of v y'0, unit vector in the horizontal direction indicating the direction in which the center of gravity is moved n x ', n y' and speed absolute value | v May give. In such a case, the horizontal velocities v x′0 and v y′0 are calculated as follows.

Figure 0004492395
Figure 0004492395

ステップS414とステップS416の処理を実施することによって、接地相における重心の軌道を生成することができる。例えばkが2である場合、区間2の接地相における重心の軌道を生成することができる。区間2の接地相では、その後に続く区間2の空中相での跳躍に備えて、ロボット2の重心を沈み込ませる動作を実現することができる。また区間2の接地相では、重心を沈み込ませることによって、その直前の区間1の空中相に起因する着地衝撃を緩和する動作も実現している。
上記の処理によって生成される重心の軌道を実現することで、ロボット2はZMPを支持脚の足平の内部に維持しながら、重心を上下動させる動作を実現することができる。
By performing the processing of step S414 and step S416, the trajectory of the center of gravity in the ground phase can be generated. For example, when k is 2, the trajectory of the center of gravity in the ground phase in section 2 can be generated. In the contact phase of the section 2, it is possible to realize an operation of sinking the center of gravity of the robot 2 in preparation for the subsequent jump in the air phase of the section 2. Moreover, in the ground contact phase of the section 2, the operation | movement which relieve | moderates the landing impact resulting from the aerial phase of the section 1 immediately before by subtracting a gravity center is also implement | achieved.
By realizing the trajectory of the center of gravity generated by the above processing, the robot 2 can realize an operation of moving the center of gravity up and down while maintaining the ZMP inside the foot of the support leg.

上述した方法によって生成される重心軌道の場合、接地相の開始時と完了時において、ZMP方程式で計算されるZMPが、目標ZMPに一致することは必ずしも保証されていない。しかしながら、接地相の開始時と完了時において重心速度を滑らかに接続していることと、ZMP方程式を満足しない期間が非常に短い(ZMP方程式の離散化に用いる時間幅Δtの2倍程度である)ことから、上記で生成される動作を実現するロボット2は転倒することなく安定した動作をすることができる。   In the case of the center of gravity trajectory generated by the above-described method, it is not always guaranteed that the ZMP calculated by the ZMP equation coincides with the target ZMP at the start and completion of the ground phase. However, the center-of-gravity velocity is smoothly connected at the start and completion of the ground phase, and the period during which the ZMP equation is not satisfied is very short (about twice the time width Δt used for discretization of the ZMP equation). Therefore, the robot 2 that realizes the operation generated above can perform a stable operation without falling down.

ステップS418では、区間kの動作が空中相を備えるか否かを判断する。区間kが空中相を備える場合(ステップS418でYESの場合)、区間kの空中相の動作を計算するために、処理はステップS420へ進む。区間kが空中相を備えない場合(ステップS418でNOの場合)、処理はステップS424へ進む。
例えばkが2の場合、区間2の動作は空中相を備えているため、処理はステップS420へ進む。
In step S418, it is determined whether or not the operation in the section k includes an aerial phase. When the section k includes the aerial phase (YES in step S418), the process proceeds to step S420 to calculate the operation of the aerial phase of the section k. When the section k does not have an aerial phase (NO in step S418), the process proceeds to step S424.
For example, when k is 2, since the operation in section 2 has an aerial phase, the process proceeds to step S420.

ステップS420では、区間kの空中相における重心の水平方向軌道を計算する。空中相ではロボット2が空中に浮いており、重力のみが外力としてロボット2に作用する。従って、空中相においてはロボット2の関節をどのように駆動したとしても、ロボット2の重心は以下に示すように水平方向に等速直線運動をする。   In step S420, the horizontal trajectory of the center of gravity in the aerial phase of section k is calculated. In the aerial phase, the robot 2 is floating in the air, and only gravity acts on the robot 2 as an external force. Therefore, in the aerial phase, no matter how the joints of the robot 2 are driven, the center of gravity of the robot 2 performs a constant-velocity linear motion in the horizontal direction as shown below.

Figure 0004492395
Figure 0004492395

上式のvx0,vy0はロボット2の踏切りの時点での重心の水平方向の速度であり、x0,y0は踏切の時点での重心の水平方向の位置である。
上記のvx0,vy0は、ロボット2の踏切りの時点での重心の水平方向速度でもあり、ロボット2が着地する時点での重心の水平方向速度でもある。vx0,vy0動作の切替りにおける重心の水平方向速度と等しく、ステップS408においてユーザー指令値として与えられている。
上記のx0,y0は、ロボット2の踏切りの時点での重心の水平方向の位置であり、ステップS416ですでに計算されている区間kの接地相の完了時の重心の水平方向位置と等しい。
上述したvx0,vy0,x0,y0を与えることによって、重心の水平方向軌道を計算することができる。
In the above equation, v x0 and v y0 are horizontal speeds of the center of gravity at the time of the crossing of the robot 2, and x 0 and y 0 are horizontal positions of the center of gravity at the time of the crossing.
The above v x0 and v y0 are also the horizontal speed of the center of gravity at the time of the crossing of the robot 2 and the horizontal speed of the center of gravity at the time of landing of the robot 2. v x0 and v y0 are equal to the horizontal speed of the center of gravity in switching the operation, and are given as user command values in step S408.
The above x 0 and y 0 are horizontal positions of the center of gravity at the time of the crossing of the robot 2, and the horizontal position of the center of gravity when the ground phase of the section k already calculated in step S416 is completed. equal.
By giving v x0 , v y0 , x 0 and y 0 described above, the horizontal trajectory of the center of gravity can be calculated.

ステップS422では、区間k-1における重心の相対軌道を計算する。接地相については、支持脚の足先は床に対して移動しないため、ステップS410からステップS420で生成された重心軌道を、重心の相対軌道に容易に置き換えることができる。空中相の重心の相対軌道は、重心と支持脚の足先との位置関係から計算される。空中相では支持脚も床に対して移動しているため、重心の相対軌道を計算することは、重心に対する支持脚の足先の軌道を計算することに等しい。空中相における支持脚の足先の軌道は、踏切りの時点および着地の時点において、その空中相の前後の接地相における支持脚の足先の軌道と、滑らかに接続するように計算する必要がある。空中相における重心と支持脚の足先との相対位置は、その後の接地相における重心と支持脚の足先との相対位置と滑らかに接続する必要があるため、区間kの接地相での重心の相対軌道を計算したのちに、区間k-1の空中相の重心の相対軌道を計算する。
例えばkが2である場合、図5の(a)および(b)の区間2の接地相での重心の相対軌道106、118を生成したのちに、区間1の空中相の重心の相対軌道128、120を計算する。
区間k-1が空中相を備えていない場合、重心の相対軌道はすなわち、重心から見た支持脚の足先の相対軌道であるから、ステップS422では特に処理を行うことなく、ステップS424へ進む。
なお、図5の(a)および(b)では、接地相から空中相へ切替る時に支持脚が入れ替わっているために、重心の相対軌道(実線で示す曲線)は不連続に変化している。一方で、空中相から接地相へ切替る時には支持脚が入れ替らないため、重心の相対軌道は連続に変化している。しかしながら、ロボット2の外部から見た重心の軌道(図5の破線で示す曲線。接地相では、重心の相対軌道と一致している)および支持脚の足先の軌道は、それぞれ連続した軌道であることに注意されたい。
In step S422, the relative trajectory of the center of gravity in the section k-1 is calculated. Regarding the ground contact phase, the toes of the support legs do not move with respect to the floor, so that the gravity center trajectory generated in steps S410 to S420 can be easily replaced with the relative trajectory of the gravity center. The relative trajectory of the center of gravity of the aerial phase is calculated from the positional relationship between the center of gravity and the feet of the support legs. Since the support legs are also moved relative to the floor in the aerial phase, calculating the relative trajectory of the center of gravity is equivalent to calculating the trajectory of the foot of the support leg relative to the center of gravity. The trajectory of the foot of the support leg in the aerial phase needs to be calculated so that it smoothly connects with the trajectory of the foot of the support leg in the ground phase before and after the aerial phase at the time of crossing and landing. . The relative position between the center of gravity in the aerial phase and the toes of the support legs must be smoothly connected to the relative position of the center of gravity and the toes of the support legs in the subsequent grounding phase. After calculating the relative orbit of, calculate the relative orbit of the center of gravity of the aerial phase of interval k-1.
For example, when k is 2, after the relative trajectories 106 and 118 of the center of gravity in the ground phase in the section 2 in FIGS. 5A and 5B are generated, the relative trajectories 128 in the center of the air phase in the section 1 are generated. , 120 is calculated.
When the section k-1 does not include the aerial phase, the relative trajectory of the center of gravity is the relative trajectory of the toes of the support leg as viewed from the center of gravity, and thus the process proceeds to step S424 without performing any particular processing in step S422. .
In FIGS. 5A and 5B, since the support legs are switched when switching from the ground phase to the aerial phase, the relative trajectory of the center of gravity (the curve indicated by the solid line) changes discontinuously. . On the other hand, since the support legs are not interchanged when switching from the aerial phase to the ground phase, the relative trajectory of the center of gravity changes continuously. However, the trajectory of the center of gravity viewed from the outside of the robot 2 (the curve shown by the broken line in FIG. 5; in the contact phase, it coincides with the relative trajectory of the center of gravity) and the trajectory of the foot of the support leg are continuous trajectories. Note that there are.

踏切りの時点において、支持脚は入れ替わる場合もあるし、入れ替わらない場合もある。例えばロボット2が1つの脚リンクを支持脚として踏切り、空中相を経た後に、他の脚リンクを支持脚として着地する場合には、踏切りの時点において支持脚は入れ替わる。上記とは異なり、ロボット2が1つの脚リンクを支持脚として踏切り、空中相を経た後に、同一の脚リンクを支持脚として着地する場合には、踏切りの時点において支持脚は入れ替わらない。
踏切りの時点で支持脚が入れ替わる場合、区間k-1の空中相の開始時における重心から見た支持脚の相対軌道(すなわち重心の相対軌道)は、区間k-1の接地相の完了時における遊脚の重心から見た相対軌道と滑らかに接続するように設定する。区間k-1の接地相の完了時における遊脚の足先の重心から見た位置と速度は、ユーザー指令値の踏切りの時点における遊脚の足先の位置と速度334と、区間k-1の接地相の完了時における重心の相対軌道から、算出することができる。
踏切りの時点で支持脚が入れ替わらない場合、区間k-1の空中相の開始時における支持脚の相対軌道(すなわち重心の相対軌道)は、区間k-1の接地相における支持脚の相対軌道(すなわち重心の相対軌道)と滑らかに接続するように設定する。すなわち、区間k-1の接地相における重心の相対軌道から、区間k-1の接地相の完了時における重心の相対位置と速度を特定し、区間k-1の空中相の開始時における重心の相対位置と速度として設定する。
例えばkが2である場合、区間1の空中相の踏切りの時点で支持脚は左脚リンク6から右脚リンク8へ入れ替わる。従って、図5の(a)および(b)の区間1の空中相の重心の相対軌道128、120を計算するにあたっては、その空中相の開始時126における重心の相対位置と速度は、ユーザー指令値の踏切りの時点における遊脚の足先の位置と速度334と、区間1の接地相の完了時における重心の相対軌道122、124から算出する。
At the time of the crossing, the support legs may or may not be replaced. For example, when the robot 2 crosses one leg link as a supporting leg and passes through the aerial phase and then lands as another leg link as a supporting leg, the supporting leg is switched at the time of the crossing. Unlike the above, when the robot 2 crosses one leg link as a support leg and passes through the aerial phase and then lands as the same leg link as a support leg, the support leg is not replaced at the time of the crossing.
If the support legs change at the time of the crossing, the relative trajectory of the support legs from the center of gravity at the start of the aerial phase of section k-1 (ie, the relative trajectory of the center of gravity) is Set to connect smoothly with the relative trajectory seen from the center of gravity of the free leg. The position and speed seen from the center of gravity of the toe of the free leg at the time of completion of the grounding phase of the section k-1 are the position and speed 334 of the toe of the free leg at the time of the crossing of the user command value, and the section k-1 It can be calculated from the relative trajectory of the center of gravity at the completion of the grounding phase.
If the support legs do not change at the level crossing, the relative trajectory of the support legs at the start of the aerial phase of section k-1 (ie, the relative trajectory of the center of gravity) is the relative trajectory of the support legs in the ground phase of section k-1 (Ie, the relative trajectory of the center of gravity). That is, the relative position and speed of the center of gravity at the completion of the ground phase of section k-1 are identified from the relative trajectory of the center of gravity at the ground phase of section k-1, and the center of gravity at the start of the aerial phase of section k-1 is determined. Set as relative position and speed.
For example, when k is 2, the support leg is switched from the left leg link 6 to the right leg link 8 at the time of the crossing of the aerial phase of the section 1. Therefore, in calculating the relative orbits 128 and 120 of the center of gravity of the aerial phase in section 1 in FIGS. 5A and 5B, the relative position and speed of the center of gravity at the start 126 of the aerial phase are determined by the user command. It is calculated from the position and speed 334 of the toe of the free leg at the time of the crossing of the value, and the relative trajectories 122 and 124 of the center of gravity at the completion of the grounding phase of the section 1.

着地の時点においては、区間kの接地相の開始時における重心の相対軌道と滑らかに接続するように、空中相の重心の相対軌道を計算する。区間kの接地相における重心の相対軌道は、ステップS414およびステップS416ですでに与えられている。すなわち、区間kの接地相における重心の相対軌道から、区間kの接地相の開始時における重心の相対位置と速度を特定し、区間k-1の空中相の完了時における重心の相対位置と速度として設定する。
例えばkが2である場合、図5の(a)および(b)の区間1の空中相における重心の相対軌道128、120を計算するにあたっては、その空中相の完了時108における重心の相対位置と速度を、区間2の接地相における重心の相対軌道106、118に基づいて、その接地相の開始時108における重心の相対位置と速度に一致させる。
At the time of landing, the relative trajectory of the center of gravity of the aerial phase is calculated so as to be smoothly connected to the relative trajectory of the center of gravity at the start of the ground phase in the section k. The relative trajectory of the center of gravity in the ground phase of section k has already been given in steps S414 and S416. That is, the relative position and speed of the center of gravity at the start of the ground phase of section k is determined from the relative trajectory of the center of gravity in the ground phase of section k, and the relative position and speed of the center of gravity at the completion of the aerial phase of section k-1 Set as.
For example, when k is 2, in calculating the relative trajectories 128 and 120 of the center of gravity in the aerial phase of the section 1 in FIGS. 5A and 5B, the relative position of the center of gravity at the time when the aerial phase is completed 108 is calculated. And the speed are matched with the relative position and speed of the center of gravity at the start time 108 of the ground phase based on the relative trajectories 106 and 118 of the center of gravity in the ground phase of section 2.

区間k-1の空中相における重心の相対軌道は、上記した開始時と完了時での条件に基づいて、例えば多項式補間を用いることによって、計算することができる。   The relative trajectory of the center of gravity in the aerial phase of the section k-1 can be calculated by using, for example, polynomial interpolation based on the above conditions at the start time and completion time.

図4のステップS424では、区間k-1における遊脚の足先の相対軌道を計算する。
区間k-1における遊脚の足先の相対軌道は、区間k-1の前後における脚リンクの動作と滑らかに接続するように計算する。
In step S424 in FIG. 4, the relative trajectory of the toe of the free leg in the section k-1 is calculated.
The relative trajectory of the toe of the free leg in the section k-1 is calculated so as to be smoothly connected to the movement of the leg link before and after the section k-1.

区間k-1の接地相の開始時における遊脚の足先の相対位置および速度は、区間k-2における重心の相対軌道(すなわち重心からみた支持脚の相対軌道)と、区間k-2における重心と遊脚のそれぞれの相対軌道に基づいて、区間k-1の開始時で遊脚となっている脚リンクの足先が滑らかに移動するように設定する。kが2である場合には、区間1の接地相の開始時における遊脚の足先の相対位置および速度として、区間1で遊脚となる脚リンクの動作開始時の足先の相対位置および速度を用いる。   The relative position and speed of the toes of the free leg at the start of the grounding phase in section k-1 are the relative trajectory of the center of gravity in section k-2 (that is, the relative trajectory of the support leg as viewed from the center of gravity), and in section k-2 Based on the relative trajectories of the center of gravity and the free leg, the toes of the leg link that is the free leg at the start of the section k-1 are set to move smoothly. When k is 2, the relative position and speed of the toes of the free leg at the start of the grounding phase of the section 1 are used as Use speed.

区間k-1の接地相の完了時における遊脚の足先の相対軌道は、区間k-1が空中相を備える場合と備えない場合とで扱いが異なる。
区間k-1が空中相を備える場合、踏切りの時点における遊脚の足先の位置と速度は、ステップS408でユーザー指令値として与えられている。従って、区間k-1の接地相の完了時における遊脚の足先は、ユーザー指令値と一致するように設定される。
区間k-1が空中相を備えない場合、区間k-1の接地相の完了時は、区間kの接地相の開始時と接続する。接地相から接地相へ移行する場合、支持脚となる脚リンクは入れ替わる。従って、本実施例のロボット2ではこのような場合、区間k-1の接地相の完了時における遊脚の位置と速度は、区間k-1の接地相の完了時における重心の位置と速度と、区間kの開始時における重心の相対位置と速度に基づいて、脚リンクの足先の移動が滑らかなものとなるように設定する。
The relative trajectory of the toe of the free leg at the completion of the ground phase of the section k-1 is handled differently depending on whether the section k-1 has the aerial phase or not.
When the section k-1 has an aerial phase, the position and speed of the free leg's toe at the time of the crossing are given as user command values in step S408. Therefore, the toe of the free leg at the time of completion of the ground phase of the section k-1 is set to match the user command value.
When section k-1 does not have an aerial phase, when the ground phase of section k-1 is completed, connection is made with the start of the ground phase of section k. When transitioning from the ground phase to the ground phase, the leg links that are the support legs are switched. Therefore, in the robot 2 of this embodiment, in such a case, the position and speed of the free leg when the ground phase of the section k-1 is completed are the position and speed of the center of gravity when the ground phase of the section k-1 is completed. Based on the relative position and speed of the center of gravity at the start of the section k, setting is made so that the movement of the toes of the leg link is smooth.

区間k-1が空中相を備える場合には、空中相における遊脚の足先の相対軌道は下記によって計算される。空中相における遊脚の足先の相対軌道は、踏切りの時点で支持脚が入れ替わる場合と入れ替わらない場合とで扱いが異なる。
踏切りの時点で支持脚が入れ替わる場合、区間k-1の空中相の開始時における遊脚の足先の重心から見た位置と速度は、区間k-1の接地相の完了時における支持脚の重心から見た位置と速度に一致させる。区間k-1の空中相の完了時における遊脚の足先の位置と速度は、任意に与えることができる。
踏切りの時点で支持脚が入れ替わらない場合、区間k-1の空中相の開始時における遊脚の足先の重心から見た位置と速度は、区間k-1の接地相の完了時における遊脚の重心から見た位置と速度に一致させる。区間k-1の空中相の完了時における遊脚の足先の位置と速度は、任意に与えることができる。
When the section k-1 has an aerial phase, the relative trajectory of the free leg's foot in the aerial phase is calculated as follows. The relative trajectory of the toes of the free leg in the aerial phase is handled differently depending on whether or not the supporting leg is replaced at the time of the crossing.
When the support leg is switched at the time of the crossing, the position and speed viewed from the center of gravity of the toe of the free leg at the start of the aerial phase of section k-1 Match the position and speed as seen from the center of gravity. The position and speed of the toe of the free leg at the completion of the aerial phase of the section k-1 can be arbitrarily given.
If the support legs do not change at the level crossing, the position and speed seen from the center of gravity of the toes of the free leg at the start of the aerial phase of section k-1 Match the position and speed as seen from the center of gravity of the leg. The position and speed of the toe of the free leg at the completion of the aerial phase of the section k-1 can be arbitrarily given.

上記した遊脚の足先の相対軌道の計算は、接地相および必要であれば空中相の開始時と完了時における位置と速度の条件に基づいて、例えば多項式補間を用いることによって、計算することができる。   The above-mentioned calculation of the relative trajectory of the toes of the free leg is calculated by using, for example, polynomial interpolation based on the position and speed conditions at the start and completion of the ground phase and, if necessary, the aerial phase. Can do.

ステップS426では、上述した処理によって計算された重心および遊脚の相対軌道を実現する、関節角の目標値を算出する。関節角の目標値はいわゆる逆キネマティクス演算によって算出することができる。
重心の相対並進運動量Pg、重心の相対角運動量Lg、遊脚足先の相対速度vfおよび遊脚足先の角速度ωfは、関節角の角速度θ(1)と、それぞれヤコビ行列Jg(θ)、Kg(θ)、Jf(θ)、Kf(θ)を用いて、以下で表現される。
In step S426, a target value of the joint angle that realizes the center of gravity and the relative trajectory of the free leg calculated by the above-described processing is calculated. The target value of the joint angle can be calculated by so-called inverse kinematics calculation.
The relative translational momentum P g of the center of gravity, the relative angular momentum L g of the center of gravity, the relative velocity v f of the free leg toe and the angular velocity ω f of the free leg toe are the angular velocity θ (1) of the joint angle and the Jacobian matrix J, respectively. It is expressed as follows using g (θ), K g (θ), J f (θ), and K f (θ).

Figure 0004492395
Figure 0004492395

上式のうち関節角の角速度θ(1)は関節角の角度θを時間に関して1階微分したものである。関節角の角度θは、以下に示すように、ロボット2の関節角群(θ1、θ2、・・・、θn-1)である。 In the above equation, the angular velocity θ (1) of the joint angle is a first-order differentiation of the angle θ of the joint angle with respect to time. The joint angle θ is a group of joint angles (θ 1 , θ 2 ,..., Θ n-1 ) of the robot 2 as shown below.

Figure 0004492395
Figure 0004492395

重心の相対並進運動量Pg、重心の相対角運動量Lg、遊脚足先の相対速度vfおよび遊脚足先の角速度ωfは、それぞれ以下である。 The relative translational momentum P g of the center of gravity, the relative angular momentum L g of the center of gravity, the relative speed v f of the free leg foot, and the angular speed ω f of the free leg foot are as follows.

Figure 0004492395
Figure 0004492395

ただし、上記において(θgx'、θgy'、θgz')は支持脚の足先に固定された座標系から見た重心の相対回転角であり、(x'f、y'f、z'f)は遊脚の足先の相対位置であり、(θx'f、θy'f、θz'f)は遊脚足先の相対回転角である。 However, in the above, (θ gx ′ , θ gy ′ , θ gz ′ ) is the relative rotation angle of the center of gravity viewed from the coordinate system fixed to the toes of the support leg, and (x ′ f , y ′ f , z ' f ) is the relative position of the toe of the free leg, and (θ x'f , θ y'f , θ z'f ) is the relative rotation angle of the toe of the free leg.

遊脚足先のヤコビ行列は、遊脚の数だけ存在する。本実施例のロボット2は、2つの脚リンクを備えており、遊脚を1の脚リンクとして関節角の目標値を演算する。
目標とするロボット2の運動Pg、Lg、vf、ωfを満たす関節角速度θ(1)は、無数の解を持つ冗長系となっている。本実施例のロボット2では、第1サブタスクとして目標とする重心の相対速度を実現すること、第2サブタスクとして目標とする角運動量を実現すること、第3サブタスクとして目標とする遊脚足先の相対軌道を実現することを条件として、目標関節角の経時的データを演算する。上記したような複数のヤコビ行列で表される拘束条件を、それぞれの条件に優先度をつけながら、冗長度の許す限り最適な解を求める手法は、従来から提案されており、説明を省略する。
There are as many Jacobian matrices at the tip of the free leg as there are free legs. The robot 2 of this embodiment includes two leg links, and calculates a target value of the joint angle with the free leg as one leg link.
The joint angular velocity θ (1) satisfying the motions P g , L g , v f , and ω f of the target robot 2 is a redundant system having an infinite number of solutions. In the robot 2 of the present embodiment, a target relative speed of the center of gravity is realized as the first subtask, a target angular momentum is realized as the second subtask, and the target of the free leg toe as the third subtask is achieved. On the condition that the relative trajectory is realized, the temporal data of the target joint angle is calculated. A method for obtaining an optimal solution as long as the redundancy allows, while giving priority to each of the constraint conditions represented by a plurality of Jacobian matrices as described above, has been proposed so far and will not be described. .

上記のうち、目標とする重心の相対速度は、ステップS422で与えられている。目標とする角運動量は、ユーザー指令値で与えられている。本実施例のロボット2では、目標とする角運動量は0である。目標とする遊脚足先の相対軌道はステップS424で与えられている。   Among the above, the target relative speed of the center of gravity is given in step S422. The target angular momentum is given as a user command value. In the robot 2 of the present embodiment, the target angular momentum is zero. The target relative trajectory of the free leg foot is given in step S424.

上記した処理を実施することによって、重心の相対軌道、目標とする角運動量、および遊脚足先の相対軌道を拘束条件として、関節角の目標値を演算することができる。これによって、ロボット2の安定な動作パターンを生成することができる。このような手法をとることによって、脚だけでなく腕や胴体などのすべてのロボット2の自由度を用いて動作パターンを生成することが可能となり、より自然で柔軟な動作パターンを作り出すことができる。
ステップS426で演算される関節角目標値の経時的データ350は、制御部10に記憶される。
By performing the above processing, the target value of the joint angle can be calculated using the relative trajectory of the center of gravity, the target angular momentum, and the relative trajectory of the free leg toe as constraint conditions. Thereby, a stable operation pattern of the robot 2 can be generated. By adopting such a method, it becomes possible to generate a motion pattern using the degrees of freedom of all robots 2 such as arms and torso as well as legs, and a more natural and flexible motion pattern can be created. .
The temporal data 350 of the joint angle target value calculated in step S426 is stored in the control unit 10.

ステップS428では、全ての動作区間について、重心軌道の生成が終了しているか否かを判断する。この判断は、処理の対象としている動作区間の番号kを、最後の動作区間の番号kmaxと比較することによって行う。本実施例のロボット2では、図2に示す動作態様を想定しており、最後の動作区間の番号kmaxは4である。kがkmax以上の場合(ステップS428でYESの場合)、全ての動作区間について、重心軌道の生成が終了したと判断して、処理はステップS430へ進む。kがkmax未満の場合(ステップS428でNOの場合)、未だ重心軌道を生成していない動作区間について重心軌道を生成するために、処理はステップS406へ移行し、ステップS406からステップS428までの処理を繰返し実施する。   In step S428, it is determined whether or not the generation of the center-of-gravity trajectory has been completed for all the motion sections. This determination is made by comparing the number k of the motion section to be processed with the number kmax of the last motion section. In the robot 2 of the present embodiment, the operation mode shown in FIG. 2 is assumed, and the number kmax of the last operation section is 4. If k is equal to or greater than kmax (YES in step S428), it is determined that the generation of the center of gravity trajectory has been completed for all the motion sections, and the process proceeds to step S430. If k is less than kmax (NO in step S428), the process proceeds to step S406 to generate a centroid trajectory for the motion section for which a centroid trajectory has not yet been generated, and the processes from step S406 to step S428 are performed. Repeatedly.

ステップS430では、最後の動作区間kについて、重心の相対軌道、遊脚の相対軌道および関節角目標値の経時的データを生成する。ステップS430で実施する処理は、ステップS422、S424およびS426で詳述した処理と同様であるので、説明を省略する。   In step S430, the time-dependent data of the relative trajectory of the center of gravity, the relative trajectory of the free leg, and the joint angle target value is generated for the last motion section k. The process performed in step S430 is the same as the process described in detail in steps S422, S424, and S426, and thus the description thereof is omitted.

上記した図4の処理によって、図2に示す動作の態様を実現する関節角目標値の経時的データ350が生成される。生成された関節角目標値の経時的データ350は、制御部10に記憶される。   By the above-described processing of FIG. 4, the temporal data 350 of the joint angle target value that realizes the mode of operation shown in FIG. 2 is generated. The generated temporal data 350 of the joint angle target value is stored in the control unit 10.

ロボット2に実際に動作を開始させると、制御部10は記憶された関節角目標値の経時的データ350に基づいて、関節駆動部320でロボット2の各関節を逐次駆動していく。これによって、ロボット2はユーザー指令値に基づいた安定した動作を実現していく。   When the robot 2 actually starts the operation, the control unit 10 sequentially drives each joint of the robot 2 by the joint driving unit 320 based on the stored temporal data 350 of the joint angle target value. As a result, the robot 2 realizes a stable operation based on the user command value.

本実施例のロボット2において、制御部10は記憶された関節角目標値の経時的データ350を読み出しながら、動作区間の切替わりを看視する。動作区間の切替わりを検出すると、制御部10は図7に示す動作の更新処理を実施する。   In the robot 2 according to the present embodiment, the control unit 10 watches the switching of the motion section while reading the stored temporal data 350 of the joint angle target value. When detecting the switching of the operation section, the control unit 10 performs an operation update process shown in FIG.

以下では図7を参照しながら、制御部10が行う動作の更新処理について説明する。
ステップS702では、その時点でロボット2が実現している動作の動作区間kを特定する。
ステップS704では、区間kが空中相を含むか否かを判断する。区間kが空中相を含む場合(ステップS704でYESの場合)、処理はステップS706へ進み、動作パターンの更新処理を実施する。区間kが空中相を含まない場合(ステップS704でNOの場合)、制御部10は動作パターンを更新することなく、処理を終了する。
Hereinafter, an operation update process performed by the control unit 10 will be described with reference to FIG.
In step S702, the motion section k of the motion realized by the robot 2 at that time is specified.
In step S704, it is determined whether or not the section k includes an aerial phase. If the section k includes an aerial phase (YES in step S704), the process proceeds to step S706, and an operation pattern update process is performed. When the section k does not include the aerial phase (NO in step S704), the control unit 10 ends the process without updating the operation pattern.

ステップS706では、区間kの踏切りの時点における重心の速度と、重心まわりの角運動量を計測する。制御部10は区間kについての接地相重心鉛直軌道338に基いてロボット2が踏切るタイミングを特定し、ロボット2が踏切るタイミングにおいてセンサ制御部354に重心速度と角運動量の計測を指示する。   In step S706, the speed of the center of gravity and the angular momentum around the center of gravity at the time of crossing in the section k are measured. The control unit 10 specifies the timing at which the robot 2 steps based on the ground phase gravity center vertical trajectory 338 for the section k, and instructs the sensor control unit 354 to measure the center of gravity speed and the angular momentum at the timing at which the robot 2 steps.

センサ制御部354は、ロボット2が実際に動作を開始してから、所定の時間間隔毎に、センサ14に指示して加速度を計測し、加速度の経時的変化を記憶している。
センサ14で計測される加速度は、センサ14の計測点における加速度であって、ロボット2の重心における加速度ではない。センサ制御部354はセンサ14の計測点における加速度から、重心の加速度を算出する。重心の加速度は、例えばエンコーダの出力からロボット2の各関節の関節角の実際の経時的変化を記憶しておき、各関節の関節角の経時的変化から重心とセンサ14の計測点との相対加速度を算出して、その相対加速度を計測されたセンサ14の計測点における加速度に加えることによって、算出することができる。
センサ制御部354は、上記で算出される重心の加速度の経時的変化を記憶している。またロボット2が実際に動作を開始した時点から現在までの重心の加速度を積分することで、重心速度を算出しその経時的変化を記憶している。
センサ制御部354は重心速度の計測を指示されると、その時点での重心速度を踏切り時の重心鉛直速度356、踏切り時の重心水平速度358として出力する。
The sensor control unit 354 instructs the sensor 14 to measure acceleration every predetermined time interval after the robot 2 actually starts to operate, and stores the change in acceleration over time.
The acceleration measured by the sensor 14 is the acceleration at the measurement point of the sensor 14 and not the acceleration at the center of gravity of the robot 2. The sensor control unit 354 calculates the acceleration of the center of gravity from the acceleration at the measurement point of the sensor 14. For the acceleration of the center of gravity, for example, the actual temporal change of the joint angle of each joint of the robot 2 is stored from the output of the encoder, and the center of gravity and the measurement point of the sensor 14 are relative to each other from the temporal change of the joint angle of each joint. The acceleration can be calculated by adding the relative acceleration to the acceleration at the measured measurement point of the sensor 14.
The sensor control unit 354 stores the temporal change in the acceleration of the center of gravity calculated above. Further, by integrating the acceleration of the center of gravity from the time when the robot 2 actually starts operation to the present, the center of gravity speed is calculated and the change with time is stored.
When instructed to measure the center of gravity speed, the sensor control unit 354 outputs the center of gravity speed at that time as the center of gravity vertical speed 356 at the time of crossing and the center of gravity horizontal speed 358 at the time of crossing.

センサ制御部354は、角運動量の計測を指示されると、センサ14に指示して計測点における角速度を計測する。
センサ14で計測された角速度は、センサ14の計測点まわりの角速度であって、ロボット2の重心まわりの角速度ではない。センサ制御部354はセンサ14の計測点まわりの角速度から、重心まわりの角速度を算出する。重心まわりの角速度は、例えばエンコーダの出力から各関節の関節角の実際の経時的変化を記憶しておき、重心に対するセンサ14の計測点の角速度を算出して、その結果に計測されたセンサ14の計測点まわりの角速度を加えることによって、算出することができる。
センサ制御部354は、上記の算出された重心まわりの角速度と、踏切り時の姿勢におけるロボット2の慣性モーメントから、踏切り時の角運動量360を決定する。
When instructed to measure angular momentum, the sensor control unit 354 instructs the sensor 14 to measure the angular velocity at the measurement point.
The angular velocity measured by the sensor 14 is an angular velocity around the measurement point of the sensor 14 and is not an angular velocity around the center of gravity of the robot 2. The sensor control unit 354 calculates the angular velocity around the center of gravity from the angular velocity around the measurement point of the sensor 14. As the angular velocity around the center of gravity, for example, the actual temporal change of the joint angle of each joint is stored from the output of the encoder, the angular velocity of the measurement point of the sensor 14 with respect to the center of gravity is calculated, and the sensor 14 measured as the result is calculated. It can be calculated by adding the angular velocity around the measurement point.
The sensor control unit 354 determines the angular momentum 360 at the level crossing from the calculated angular velocity around the center of gravity and the inertia moment of the robot 2 in the posture at the level crossing.

またステップS706では、目標角運動量経時的データ330の更新も行う。
ステップS706では、区間kの空中相に関して、センサ制御部354から出力される踏切り時の角運動量360を、新たな目標角運動量として設定する。区間k+1以降に関しての目標角運動量は、変更することなく、ユーザー指令値として入力される値をそのまま使用する。
In step S706, the target angular momentum temporal data 330 is also updated.
In step S706, regarding the aerial phase of the section k, the angular momentum 360 at the time of crossing output from the sensor control unit 354 is set as a new target angular momentum. As the target angular momentum for the section k + 1 and thereafter, the value input as the user command value is used as it is without being changed.

ステップS708では、区間kの空中相における重心の鉛直方向軌道を生成する。ステップS708で行う処理は、図4のステップS412での処理と同様である。ただし図4のステップS412では重心の初速度としてユーザー指令値である跳躍高さ322から算出される値を用いたが、図7のステップS708では重心の初速度としてセンサ制御部354から出力された実際のロボット2の重心の鉛直方向速度356を用いる。
ステップS708で新たに生成された区間kの空中相における重心の鉛直方向軌道は、記憶されているデータと置き換えられて、その後の動作の生成に利用される。
図8の(a)は更新処理を行う前の重心の鉛直方向軌道を示しており、(b)は更新処理を実施した後の重心の鉛直方向軌道を示している。
ステップS708の処理では、(a)に示す空中相における重心の鉛直方向軌道112は、図8では矢印830で示される実際の重心の鉛直方向速度356に基づいて、(b)に示す空中相における重心の鉛直方向軌道812に更新される。
In step S708, a vertical trajectory of the center of gravity in the aerial phase of section k is generated. The process performed in step S708 is the same as the process in step S412 of FIG. However, in step S412 in FIG. 4, a value calculated from the jump height 322, which is a user command value, is used as the initial velocity of the center of gravity. However, in step S708 in FIG. 7, the initial velocity of the center of gravity is output from the sensor control unit 354. The vertical speed 356 of the actual center of gravity of the robot 2 is used.
The vertical trajectory of the center of gravity in the aerial phase of the section k newly generated in step S708 is replaced with the stored data and used for the generation of the subsequent operation.
FIG. 8A shows the vertical trajectory of the center of gravity before the update process is performed, and FIG. 8B shows the vertical trajectory of the center of gravity after the update process is performed.
In the process of step S708, the vertical trajectory 112 of the center of gravity in the aerial phase shown in (a) is based on the vertical velocity 356 of the actual center of gravity indicated by the arrow 830 in FIG. Updated to the vertical trajectory 812 of the center of gravity.

ステップS710では、区間kの空中相における重心の水平方向軌道を生成する。ステップS710で行う処理は、図4のステップS420での処理と同様である。ただし図4のステップS420では重心の初速度としてユーザー指令値を用いたが、図7のステップS710では重心の初速度として計測された実際のロボット2の重心の水平方向速度358を用いる。
ステップS708、ステップS710の処理によって、区間kの空中相において、その後着地するまでの間の重心の軌道が更新される。ステップS712以降の処理では、着地した後の動作について更新処理を行う。
In step S710, a horizontal trajectory of the center of gravity in the aerial phase of section k is generated. The process performed in step S710 is the same as the process in step S420 of FIG. However, in step S420 in FIG. 4, the user command value is used as the initial velocity of the center of gravity, but in step S710 in FIG. 7, the horizontal velocity 358 of the actual center of gravity of the robot 2 measured as the initial velocity of the center of gravity is used.
By the processes in steps S708 and S710, the trajectory of the center of gravity until the landing is updated in the aerial phase of the section k. In the processing after step S712, the update processing is performed for the operation after landing.

ステップS712では、処理の対象とする区間kを1進める。
ステップS714からステップS726までの処理では、区間kにおける重心軌道を再度生成する。区間kにおける重心軌道の生成は、図4のステップS408からステップS420までの処理と同様であるから、説明を省略する。
ステップS714からステップS726までの処理によって、着地後の区間kにおける重心の軌道が更新される。ステップS728以降の処理では、区間k-1における脚リンクの足先の軌道の更新を行う。図7の更新処理においてステップS728以降の処理を最初に実施する場合には、現在ロボット2が実現している動作区間における、着地するまでの間の脚リンクの足先の軌道を更新する処理に相当する。
In step S712, the section k to be processed is advanced by 1.
In the processing from step S714 to step S726, the barycentric trajectory in the section k is generated again. The generation of the center-of-gravity trajectory in the section k is the same as the processing from step S408 to step S420 in FIG.
By the processing from step S714 to step S726, the trajectory of the center of gravity in the section k after landing is updated. In the processing after step S728, the trajectory of the foot of the leg link in the section k-1 is updated. In the update process of FIG. 7, when the process after step S728 is first performed, the process of updating the foot link trajectory of the leg link until landing in the operation section currently realized by the robot 2 is performed. Equivalent to.

ステップS728では、区間k-1における重心の相対軌道を生成する。またステップS730では、区間k-1における遊脚の相対軌道を生成する。これらの処理は、図4のステップS422、ステップS424の処理と同様であるから、説明を省略する。   In step S728, a relative trajectory of the center of gravity in the section k-1 is generated. In step S730, the relative trajectory of the free leg in the section k-1 is generated. These processes are the same as the processes in steps S422 and S424 in FIG.

ステップS732では、区間k-1における関節角目標値を生成する。ステップS732の処理は、図4のステップS426と同様であるから、説明を省略する。   In step S732, a joint angle target value in section k-1 is generated. The processing in step S732 is the same as that in step S426 in FIG.

ステップS734では、全ての動作区間について、重心軌道の更新が終了しているか否かを判断する。この判断では、kをkmaxと比較する。図2に示す動作態様の場合、kmaxは4である。kがkmax以上の場合(ステップS734でYESの場合)、全ての動作区間について、重心軌道の更新が終了したと判断して、処理はステップS736へ進む。kがkmax未満の場合(ステップS734でNOの場合)、さらに重心軌道を更新するために、処理はステップSS712へ移行し、ステップS712からステップS734までの処理を繰返し実施する。   In step S734, it is determined whether or not the update of the center of gravity trajectory has been completed for all the motion sections. In this determination, k is compared with kmax. In the case of the operation mode shown in FIG. If k is equal to or greater than kmax (YES in step S734), it is determined that the update of the center of gravity trajectory has been completed for all the motion sections, and the process proceeds to step S736. If k is less than kmax (NO in step S734), the process proceeds to step SS712 to further update the center of gravity trajectory, and the processes from step S712 to step S734 are repeatedly performed.

ステップS736では、最後の動作区間kについて、重心の相対軌道、遊脚の相対軌道および関節角目標値の経時的データを生成する。ステップS734で実施する処理は、ステップS728、S730およびS732で詳述した処理と同様であるので、説明を省略する。   In step S736, the time-dependent data of the relative trajectory of the center of gravity, the relative trajectory of the free leg, and the joint angle target value is generated for the last motion section k. The processing performed in step S734 is the same as the processing described in detail in steps S728, S730, and S732, and thus description thereof is omitted.

上記した図7の処理によって、ロボット2の動作パターンは更新される。図8の(a)は図7の更新処理を実施する前の重心の鉛直方向軌道を示しており、(b)は図7の更新処理を実施した後の重心の鉛直方向軌道を示している。
区間1の踏切り時において、図中矢印830で示される計測された実際の重心の鉛直方向速度356が、目標とする重心の鉛直方向軌道112に適合しない場合であっても、(b)に示すように、矢印830で示される計測された重心の鉛直方向速度356に適合する重心の鉛直方向軌道812に更新される。そして、区間1の空中相における重心の鉛直方向軌道812の更新に合わせて、区間2以降の重心の鉛直方向軌道802、806が更新される。そして、更新された区間2の接地相における重心の鉛直方向軌道806に適合するように、区間1の空中相における重心の相対軌道828が更新される。空中相における重心の相対軌道は、すなわち空中相における重心に対する支持脚の足先の軌道を示している。
図8には遊脚の足先の相対軌道を図示していないが、遊脚足先の相対軌道についても、重心の相対軌道828と同様に、実際のロボット2の運動状態に適合するように更新される。
図8では鉛直方向の軌道について図示しているが、水平方向の軌道についても、同様に更新される。
The operation pattern of the robot 2 is updated by the process of FIG. 8A shows the vertical trajectory of the center of gravity before the update process of FIG. 7 is performed, and FIG. 8B shows the vertical trajectory of the center of gravity after the update process of FIG. 7 is performed. .
Even when the measured vertical velocity 356 of the center of gravity indicated by the arrow 830 in the drawing does not match the vertical track 112 of the target center of gravity at the crossing of the section 1, it is shown in (b). As described above, the center-of-gravity vertical trajectory 812 that matches the measured center-of-gravity vertical speed 356 is updated. Then, the vertical trajectories 802 and 806 of the center of gravity after the section 2 are updated in accordance with the update of the vertical trajectory 812 of the center of gravity in the aerial phase of the section 1. Then, the relative trajectory 828 of the center of gravity in the aerial phase of the section 1 is updated so as to match the updated vertical track 806 of the center of gravity in the ground phase of the section 2. The relative trajectory of the center of gravity in the air phase indicates the trajectory of the foot of the support leg with respect to the center of gravity in the air phase.
Although the relative trajectory of the free leg toe is not shown in FIG. 8, the relative trajectory of the free leg toe is adapted to the actual motion state of the robot 2, similarly to the relative trajectory 828 of the center of gravity. Updated.
Although FIG. 8 illustrates the vertical trajectory, the horizontal trajectory is similarly updated.

上記の処理においては、ロボット2が踏切ってから着地するまでの間に、着地するまでの重心軌道が更新され、着地後の重心軌道が更新されて、着地するまでの脚リンクの足先の軌道が更新される。これによって、脚リンクが着地する位置は、重心の軌道と同様に、実際のロボット2の運動状態に応じて更新される。
従って、ロボット2の実際の運動状態が、目標とする運動状態から大きく外れてしまった場合であっても、ロボット2は無理な姿勢をとることがなく、安定して着地後の動作を実現することができる。
In the above processing, the center-of-gravity trajectory until landing is updated between the time the robot 2 crosses and the landing, the center-of-gravity trajectory after the landing is updated, and the foot link of the leg link until landing is updated. The trajectory is updated. As a result, the position where the leg link lands is updated according to the actual movement state of the robot 2 as in the case of the center of gravity trajectory.
Therefore, even when the actual motion state of the robot 2 deviates significantly from the target motion state, the robot 2 does not take an unreasonable posture and stably realizes the operation after landing. be able to.

本実施例では動作区間が切替わるごとに空中相の有無を評価し、予め生成された関節角目標値の経時的データに基づいてロボット2が踏切った時点を検出している。踏切り時点の検出はこれに限らず、例えば、ロボット2の足平に力センサまたは測距センサを配置し、支持脚の足平が床から離れたか否かを検出することによって、ロボット2の踏切り時点を検出してもよい。   In the present embodiment, the presence / absence of an aerial phase is evaluated every time the motion section is switched, and the time point when the robot 2 crosses is detected based on the temporal data of the joint angle target value generated in advance. The detection of the crossing time is not limited to this. For example, a force sensor or a distance measuring sensor is arranged on the foot of the robot 2 to detect whether the foot of the supporting leg is away from the floor. A time point may be detected.

上記の実施例では、体幹4に設けられた加速度センサの計測値と、各関節の関節角の経時的変化から重心の加速度を算出し、重心の加速度を積分することによって重心速度を検出する例を説明した。重心加速度の検出はこれに限らず、例えば複数の加速度センサをロボット2に搭載して、それらの加速度センサの計測点の位置と計測値から、重心の加速度を算出してもよい。また加速度センサの計測値とジャイロセンサの計測値から、重心の加速度を算出してもよい。   In the above embodiment, the center-of-gravity velocity is detected by calculating the acceleration of the center of gravity from the measurement value of the acceleration sensor provided on the trunk 4 and the temporal change in the joint angle of each joint, and integrating the acceleration of the center of gravity. An example was explained. The detection of the center-of-gravity acceleration is not limited to this. For example, a plurality of acceleration sensors may be mounted on the robot 2 and the acceleration of the center of gravity may be calculated from the positions and measurement values of the measurement points of these acceleration sensors. Further, the acceleration of the center of gravity may be calculated from the measurement value of the acceleration sensor and the measurement value of the gyro sensor.

上記ではセンサ14から計測される加速度に基づいて重心速度を計測する例を説明したが、重心速度の計測はこれに限らない。
例えば位置が既知である対象までの距離を知ることが可能な測距センサを用いてロボット2の代表点の位置を計測し、代表点と重心との相対的な位置関係を各関節の関節角から算出し、重心と代表点の相対位置と計測される代表点の位置とから重心の位置を算出し、その時間変化率を算出することによっても、重心の速度を知ることができる。また、センサ14としてGPS受信機を体幹4に搭載し、取得される位置と各関節の関節角から重心の位置を算出し、重心位置の経時的変化から重心速度を算出してもよい。
また、各関節の関節角の経時的変化のみを用いて直接的に重心速度を算出してもよい。
In the above description, the example in which the center of gravity speed is measured based on the acceleration measured from the sensor 14 has been described. However, the center of gravity speed is not limited to this.
For example, the position of the representative point of the robot 2 is measured using a distance measuring sensor capable of knowing the distance to the target whose position is known, and the relative positional relationship between the representative point and the center of gravity is determined as the joint angle of each joint. The speed of the center of gravity can also be obtained by calculating the position of the center of gravity from the relative position of the center of gravity and the representative point and the position of the representative point to be measured, and calculating the rate of change over time. Alternatively, a GPS receiver may be mounted on the trunk 4 as the sensor 14, the position of the center of gravity may be calculated from the acquired position and the joint angle of each joint, and the center of gravity speed may be calculated from the change over time of the center of gravity position.
Alternatively, the center-of-gravity velocity may be calculated directly using only the temporal change in the joint angle of each joint.

上記の実施例では、体幹4に設けられた角速度センサを用いて重心まわりの角運動量を検出する例を説明した。重心まわりの角運動量の検出はこれに限らず、例えばエンコーダ等によって各関節の関節角の経時的変化を計測し、直接的に重心まわりの角運動量を算出してもよい。   In the above embodiment, the example in which the angular momentum around the center of gravity is detected using the angular velocity sensor provided on the trunk 4 has been described. The detection of the angular momentum around the center of gravity is not limited to this. For example, the temporal change in the joint angle of each joint may be measured by an encoder or the like, and the angular momentum around the center of gravity may be directly calculated.

上記の実施例では2の脚リンクを備える脚式ロボット2について説明したが、本発明は3以上の脚リンクを備える脚式ロボットとして具現化することもできるし、1の脚リンクのみを備える脚式ロボットとして具現化することもできる。   In the above embodiment, the legged robot 2 having two leg links has been described. However, the present invention can be embodied as a legged robot having three or more leg links, or a leg having only one leg link. It can also be embodied as a type robot.

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

図1は本発明のロボット2の概観を示す図である。FIG. 1 is a diagram showing an overview of a robot 2 according to the present invention. 図2は本発明のロボット2の動作の概要を示す図である。FIG. 2 is a diagram showing an outline of the operation of the robot 2 of the present invention. 図3は本発明のロボット2の制御部10の構成を示すブロック図である。FIG. 3 is a block diagram showing the configuration of the control unit 10 of the robot 2 of the present invention. 図4は本発明のロボット2の制御部10が実施する動作生成の処理を示すフローチャートである。FIG. 4 is a flowchart showing a motion generation process performed by the control unit 10 of the robot 2 of the present invention. 図5は制御部10で生成されるロボット2の重心の相対軌道を示す図である。FIG. 5 is a diagram showing a relative trajectory of the center of gravity of the robot 2 generated by the control unit 10. 図6は制御部10で生成されるロボット2の重心の相対軌道の一部を示す図である。FIG. 6 is a diagram illustrating a part of the relative trajectory of the center of gravity of the robot 2 generated by the control unit 10. 図7は制御部10が実施する動作更新の処理を示すフレーチャートである。FIG. 7 is a flowchart showing the operation update process performed by the control unit 10. 図8は制御部10で更新されるロボット2の重心の相対軌道を示す図である。FIG. 8 is a diagram showing the relative trajectory of the center of gravity of the robot 2 updated by the control unit 10.

符号の説明Explanation of symbols

2・・・脚式ロボット
4・・・体幹
6・・・左脚リンク
8・・・右脚リンク
10・・・制御部
12・・・コントローラ
14・・・センサ
102、106、114、115、122、128・・・重心の鉛直軌道
104、118、120、124・・・重心の水平軌道
108、110、116、126・・・動作区間の境界
802、806、812、828・・・重心の鉛直方向軌道
830・・・矢印
2 ... leg type robot 4 ... trunk 6 ... left leg link 8 ... right leg link 10 ... control unit 12 ... controller 14 ... sensors 102, 106, 114, 115 , 122, 128... Vertical trajectory of the center of gravity 104, 118, 120, 124... Horizontal trajectory of the center of gravity 108, 110, 116, 126... Boundary of movement section 802, 806, 812, 828. Vertical trajectory 830 ... arrow

Claims (4)

関節角を変えることによって、踏切り、宙に浮き、着地する動作を実現する脚式ロボットであって、
踏切り時の重心速度を検出する手段と、
検出された踏切り時の重心速度と予め与えられた着地予定時刻に基づいて、踏切りから着地までの予定重心軌道を生成する手段と、
生成された着地までの予定重心軌道から得られる、着地予定時刻における重心の予定位置と予定速度を初期値として、着地後の予定ZMP軌道が予め与えられた目標ZMP軌道に一致するように、次に着地する予定の足先の着地予定位置を決定するとともに着地後の予定重心軌道を生成する手段と、
前記着地予定時刻に前記着地予定位置となるように、着地までの、次に着地する予定の足先の予定軌道を生成する手段と、
生成された着地までの予定重心軌道と足先の前記予定軌道に基づいて、着地までの関節角の目標値の経時的データを生成する手段と、
生成された着地後の予定重心軌道と足先の着地予定位置に基づいて、着地後の関節角の目標値の経時的データを生成する手段と、
生成された関節角の目標値の経時的データに基づいて、関節を回転する手段と、
を備えており、
着地までと着地後の関節角の目標値の経時的データを、脚式ロボットが前記踏切りの後に宙に浮いている間に生成することを特徴とする脚式ロボット。
It is a legged robot that realizes the operation of crossing, floating in the air and landing by changing the joint angle,
Means for detecting the center of gravity speed at the crossing;
Means for generating a planned center-of-gravity trajectory from the level crossing to the landing based on the detected center-of-gravity speed at the level crossing and a predetermined landing scheduled time ;
The planned ZMP trajectory after landing is obtained by using the planned center of gravity trajectory and planned speed at the scheduled landing time obtained from the generated planned center of gravity trajectory up to the landing so that the planned ZMP trajectory after landing coincides with a predetermined target ZMP trajectory. Means for determining a planned landing position of a toe that is scheduled to land on and generating a planned center-of-gravity trajectory after landing;
Means for generating a planned trajectory of a foot to be landed next until landing, so as to be the planned landing position at the planned landing time ;
Based on the expected trajectory of the planned trajectory of the center of gravity and foot to the generated landing, it means for generating a chronological data of target values of the joint angles of up to landing,
Means for generating temporal data of the target value of the joint angle after landing based on the generated planned center of gravity trajectory after landing and the planned landing position of the toe ;
A means for rotating the joint based on the generated temporal data of the target value of the joint angle;
Equipped with a,
Legged robot of up landing chronological data of target values of the joint angles after landing, characterized that you generated while the legged robot is floating in the air after takeoff said.
前記着地後の予定重心軌道を生成する手段は、
踏切りから着地までの重心の鉛直方向軌道に基づいて、着地後の重心の鉛直方向軌道を生成する手段と、
生成された着地後の重心の鉛直方向軌道と、ZMP方程式を離散化した3項方程式と、着地後の目標とする相対ZMPと、着地予定時刻と着地後の所定の時点における重心の水平方向速度とに基づいて、着地後の重心の水平方向軌道を計算する手段と、
を備えることを特徴とする請求項1の脚式ロボット。
Means for generating a planned center of gravity trajectory after landing,
Means for generating a vertical trajectory of the center of gravity after landing based on the vertical trajectory of the center of gravity from the crossing to the landing;
The generated vertical trajectory of the center of gravity after landing, the ternary equation obtained by discretizing the ZMP equation, the target relative ZMP after landing, the scheduled landing time, and the horizontal speed of the center of gravity at a predetermined time after landing And a means for calculating a horizontal trajectory of the center of gravity after landing based on
The legged robot according to claim 1, further comprising:
前記着地後の重心の水平方向軌道を計算する手段は、着地後の重心の鉛直方向軌道から計算される係数を持つ3重対角行列と、着地後の重心の水平方向軌道の列、着地後の目標とする相対ZMPと着地の時点と着地後の所定の時点における重心の水平方向速度から計算される距離の列との間に成立する連立方程式を解いて、着地後の重心の水平方向軌道を計算する手段をさらに備えることを特徴とする請求項2の脚式ロボット。   The means for calculating the horizontal trajectory of the center of gravity after landing includes a triple diagonal matrix having a coefficient calculated from the vertical trajectory of the center of gravity after landing, a sequence of horizontal trajectories of the center of gravity after landing, Solving the simultaneous equations established between the target relative ZMP and the sequence of distances calculated from the horizontal speed of the center of gravity at a predetermined time after landing and the horizontal trajectory of the center of gravity after landing The legged robot according to claim 2, further comprising means for calculating 関節角を変えることによって、踏切り、宙に浮き、着地する動作を実現する脚式ロボットの動作を制御する方法であって、
踏切り時の重心速度を検出する工程と、
検出された踏切り時の重心速度と予め与えられた着地予定時刻に基づいて、踏切りから着地までの予定重心軌道を生成する工程と、
生成された着地までの予定重心軌道から得られる、着地予定時刻における重心の予定位置と予定速度を初期値として、着地後の予定ZMP軌道が予め与えられた目標ZMP軌道に一致するように、次に着地する予定の足先の着地予定位置を決定するとともに着地後の予定重心軌道を生成する工程と、
前記着地予定時刻に前記着地予定位置となるように、着地までの、次に着地する予定の足先の予定軌道を生成する工程と、
生成された着地までの予定重心軌道と足先の前記予定軌道に基づいて、着地までの関節角の目標値の経時的データを生成する工程と、
生成された着地後の予定重心軌道と足先の着地予定位置に基づいて、着地後の関節角の目標値の経時的データを生成する工程と、
生成された関節角の目標値の経時的データに基づいて、関節を回転する工程と、
を備えており、
着地までと着地後の関節角の目標値の経時的データを、脚式ロボットが前記踏切りの後に宙に浮いている間に生成することを特徴とする脚式ロボットの動作制御方法。
A method of controlling the movement of a legged robot that realizes a crossing, floating in the air, and landing by changing the joint angle,
Detecting the center-of-gravity speed at the crossing;
Generating a planned center-of-gravity trajectory from the level crossing to landing based on the detected center-of-gravity speed at the level crossing and a predetermined landing scheduled time ;
The planned ZMP trajectory after landing is obtained by using the planned center of gravity trajectory and planned speed at the scheduled landing time obtained from the generated planned center of gravity trajectory up to the landing so that the planned ZMP trajectory after landing coincides with a predetermined target ZMP trajectory. Determining a planned landing position of a toe that is scheduled to land on and generating a planned center-of-gravity trajectory after landing;
Generating a planned trajectory of a foot to be landed next until landing, so as to be the planned landing position at the planned landing time ;
Based on the expected trajectory of the planned trajectory of the center of gravity and foot to the generated landing, and generating a chronological data of target values of the joint angles of up to landing,
Generating temporal data of the target value of the joint angle after landing based on the generated planned center-of-gravity trajectory after landing and the planned landing position of the toe ;
A step of rotating the joint based on the generated temporal data of the target value of the joint angle;
Equipped with a,
Chronological data of target values of the joint angles after landing until landing, generated to an operation control method of the legged robot according to claim Rukoto while the legged robot is floating in the air after takeoff said.
JP2005065827A 2005-03-09 2005-03-09 Legged robot and its motion control method Active JP4492395B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005065827A JP4492395B2 (en) 2005-03-09 2005-03-09 Legged robot and its motion control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005065827A JP4492395B2 (en) 2005-03-09 2005-03-09 Legged robot and its motion control method

Publications (2)

Publication Number Publication Date
JP2006247769A JP2006247769A (en) 2006-09-21
JP4492395B2 true JP4492395B2 (en) 2010-06-30

Family

ID=37088775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005065827A Active JP4492395B2 (en) 2005-03-09 2005-03-09 Legged robot and its motion control method

Country Status (1)

Country Link
JP (1) JP4492395B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4548135B2 (en) 2005-02-03 2010-09-22 トヨタ自動車株式会社 Legged robot and its control method
JP4591419B2 (en) 2006-07-18 2010-12-01 トヨタ自動車株式会社 Robot and its control method
WO2008105506A1 (en) * 2007-02-28 2008-09-04 The University Of Tokyo Gait generating device, walking body device having same, and gait generating method
JP2009214255A (en) * 2008-03-12 2009-09-24 Toyota Motor Corp Leg type robot and its control method
JP5232124B2 (en) * 2009-10-28 2013-07-10 本田技研工業株式会社 Control device for legged mobile robot
JP5392125B2 (en) * 2010-02-05 2014-01-22 トヨタ自動車株式会社 Biped walking robot and gait data generation method therefor
US9120512B2 (en) 2010-04-22 2015-09-01 Honda Motor Co., Ltd. Control device and gait generating device for bipedal mobile robot
JP5465074B2 (en) * 2010-04-22 2014-04-09 本田技研工業株式会社 Biped mobile robot controller
JP7034035B2 (en) * 2018-08-23 2022-03-11 株式会社日立製作所 Motion generation method for autonomous learning robot device and autonomous learning robot device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003057429A1 (en) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
WO2003061917A1 (en) * 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Controller of legged mobile robot
WO2003090978A1 (en) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Control device of legged mobile robot
WO2003090982A1 (en) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Control device and footstep determination device for legged mobile robot
JP2004167676A (en) * 2002-11-06 2004-06-17 Sony Corp Robot device, motion control device and motion control method of robot device
WO2005000534A1 (en) * 2003-06-27 2005-01-06 Honda Motor Co., Ltd. Control device for legged mobile robot

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003057429A1 (en) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
WO2003057425A1 (en) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Gait producing device for leg type movable robot, and control device
WO2003061917A1 (en) * 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Controller of legged mobile robot
WO2003090978A1 (en) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Control device of legged mobile robot
WO2003090982A1 (en) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Control device and footstep determination device for legged mobile robot
JP2004167676A (en) * 2002-11-06 2004-06-17 Sony Corp Robot device, motion control device and motion control method of robot device
WO2005000534A1 (en) * 2003-06-27 2005-01-06 Honda Motor Co., Ltd. Control device for legged mobile robot

Also Published As

Publication number Publication date
JP2006247769A (en) 2006-09-21

Similar Documents

Publication Publication Date Title
JP4548135B2 (en) Legged robot and its control method
JP4492395B2 (en) Legged robot and its motion control method
JP4591419B2 (en) Robot and its control method
CN111891252B (en) Body posture slope self-adaptive control method of four-footed bionic robot
JP4513320B2 (en) Robot apparatus and motion control method of robot apparatus
US9073209B2 (en) Walking robot and control method thereof
JP5483997B2 (en) Control device for legged mobile robot
JP4392037B2 (en) Legged robot and control method thereof
JP6823569B2 (en) Target ZMP orbit generator
US20050107916A1 (en) Robot device and control method of robot device
CN107351936B (en) Walking control method, recording medium, and biped walking robot
JP5392125B2 (en) Biped walking robot and gait data generation method therefor
JP5859036B2 (en) robot
JP4810880B2 (en) Robot and its control method
JP4483254B2 (en) Robot apparatus and control method of robot apparatus
JP2006082146A (en) Robot walking using passive variation of joint angle and its controlling method
JP2007007803A (en) Robot and control method thereof
JP5463991B2 (en) Biped walking robot
JP3674787B2 (en) Robot apparatus motion control device, motion control method, and computer program
JP4696728B2 (en) Legged robot and its control method
JP2011131301A (en) Legged robot and method of generating gait data for the same
JP2008229747A (en) System with leg type robot and gait generating device
JP4848686B2 (en) Legged robot and its motion adjustment method
JP2007007801A (en) Legged robot and control method thereof
JP2015098066A (en) Movement control system for bipedal running robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100212

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100329

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4