JP2011224757A - Device for controlling two-leg mobile robot and gait generating device - Google Patents

Device for controlling two-leg mobile robot and gait generating device Download PDF

Info

Publication number
JP2011224757A
JP2011224757A JP2010099090A JP2010099090A JP2011224757A JP 2011224757 A JP2011224757 A JP 2011224757A JP 2010099090 A JP2010099090 A JP 2010099090A JP 2010099090 A JP2010099090 A JP 2010099090A JP 2011224757 A JP2011224757 A JP 2011224757A
Authority
JP
Japan
Prior art keywords
gait
leg
robot
time
posture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010099090A
Other languages
Japanese (ja)
Other versions
JP5468974B2 (en
Inventor
Shinya Jokura
信也 城倉
Hiroyuki Kaneko
広幸 金子
Masakazu Kawai
雅和 河合
Tomoaki Tanaka
智明 田中
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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2010099090A priority Critical patent/JP5468974B2/en
Priority to US13/086,872 priority patent/US9120512B2/en
Publication of JP2011224757A publication Critical patent/JP2011224757A/en
Application granted granted Critical
Publication of JP5468974B2 publication Critical patent/JP5468974B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent a large moment from acting on a joint of a base end part of a leg body carrying out floor-leaving and floor-landing actions when making a two-leg mobile robot carry out one-leg hopping action.SOLUTION: When making the two-leg mobile robot 1 carry out the one-leg hopping action, the target movement (a target posture of an upper body 24) of the robot 1 is generated in such a way that a base end part of a leg body 2 (the leg body 2 at a free leg side) different from a leg body 2 at a support leg side is present at a relatively higher position than the base end part of the leg body 2 at the support leg side, in a floor landing state after floor-leaving of the leg body 2 (the leg body 2 at the support leg side) carrying out the floor-leaving and floor-landing actions.

Description

本発明は、2足移動ロボットの制御装置及び歩容生成装置に関する。   The present invention relates to a control device and a gait generator for a biped mobile robot.

人型ロボット等、上体に関節を介して連結された2つの脚体を有する2足移動ロボットでは、各脚体の離床動作とこれに続く着床動作とから成る一連の動作(以降、単に離床・着床動作ということがある)を、2つの脚体で交互に切替えつつ行なうことによって(すなわち、ロボットの歩行動作あるいは走行動作を行なうことによって)、ロボットの移動を行なう技術が従来より本願出願人等により提案されている(例えば特許文献1を参照)。   In a biped mobile robot having two legs connected to the upper body via a joint, such as a humanoid robot, a series of actions (hereinafter, simply referred to as a floor movement operation of each leg and a subsequent landing operation) A technique for moving a robot by performing switching between the two legs alternately (sometimes referred to as leaving or landing) (ie, by walking or running the robot) has been conventionally applied. It has been proposed by the applicant or the like (see, for example, Patent Document 1).

特許第3674788号Japanese Patent No. 3675788

ところで、2足移動ロボットにおいて要求される2つの脚体の動作の形態は、上記離床・着床動作を2つの脚体で交互に切替えつつ行なう動作に限られるものではない。例えば、2足移動ロボットと他の物体との接触等によって、該ロボットに横向きの外力が作用したような場合に、ロボットの姿勢の崩れを回避するために、2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体だけで上記離床・着床動作を1回もしくは複数回行なう動作(以下、片脚ホッピング動作ということがある)を該ロボットに行なわせることが好ましい場合がある。また、ロボットの操縦者の要求等に応じて、適宜、片脚ホッピング動作をロボットに行わせるようにすることも考えられる。   By the way, the form of the movement of the two legs required in the biped mobile robot is not limited to the movement performed by alternately switching the above-mentioned getting-off / landing operation between the two legs. For example, when a lateral external force is applied to the robot due to contact between the biped mobile robot and another object or the like, one of the two legs is avoided in order to avoid the posture of the robot from collapsing. It is preferable to cause the robot to perform an operation (hereinafter also referred to as a one-leg hopping operation) of performing the above-mentioned floor leaving / landing operation only once or a plurality of times only with the other leg while the leg is left. There is a case. It is also conceivable to cause the robot to perform a one-leg hopping operation according to the request of the robot operator.

一方、2足移動ロボットは、一般に左右対称構造のロボットであるため、上記離床・着床動作を2つの脚体で交互に切替えつつ行なう場合(ロボットの歩行動作あるいは走行動作を行なう場合)には、該ロボットをラテラルプレーン(前額面)で見たときの該ロボットの上体(基体)の姿勢は、通常、該ロボットを直立姿勢で起立させた場合の姿勢もしくはそれに近い姿勢(ラテラルプレーンで見た上体の体幹軸の方向がほぼ鉛直方向となる姿勢)に保たれる。   On the other hand, biped mobile robots are generally bilaterally symmetric robots. Therefore, when the above-mentioned leaving and landing operations are alternately switched between two legs (when the robot is walking or running). The posture of the upper body (base) of the robot when the robot is viewed in a lateral plane (frontal plane) is usually the posture when the robot is standing upright or a posture close to the posture (viewed in the lateral plane). The posture in which the direction of the trunk axis of the upper body is substantially vertical).

しかるに、前記片脚ホッピング動作をロボットに行わせる場合に、ロボットの上体の姿勢を歩行動作あるいは走行動作と同じような姿勢に保つようにすると、次のような不都合が生じることが本願発明者の検討により判明した。   However, when causing the robot to perform the one-leg hopping operation, if the posture of the upper body of the robot is maintained in the same posture as the walking operation or the running operation, the following inconvenience occurs. It became clear by examination.

すなわち、2足移動ロボットに上記片脚ホッピング動作を行なわせる場合においては、離床・着床動作を行なう片方の脚体が離床後に着床した状態において、ロボットの全体重心点、該片方の脚体の接地面のほぼ直上に位置することが望ましい。   That is, when the biped mobile robot performs the above-described one-leg hopping operation, in the state where one leg that performs the floor leaving / landing operation has landed after leaving the floor, the overall center of gravity of the robot, the one leg It is desirable to be located almost directly above the ground contact surface.

この場合、ラテラルプレーンで見たロボットの上体の体幹軸がほぼ鉛直方向に向いている場合(上体の姿勢が上記直立姿勢もしくはこれに近い姿勢である場合)には、着床している片方の脚体の基端部(上体との連結部)の位置が、上記片方の脚体の接地面の直上から横方向にずれた位置に存在することとなる。これは、左右対称構造の2足移動ロボットでは、該ロボットの上体の体幹軸がほぼ鉛直方向に向いている状態におけるロボットの全体重心点が、該ロボットの横方向(左右方向)で、2つの脚体の基端部の間の中央付近に存在するからである。   In this case, if the trunk axis of the upper body of the robot viewed in the lateral plane is oriented in a substantially vertical direction (when the upper body is in the upright position or a position close to the above), the user must land The position of the base end portion (the connecting portion with the upper body) of the one leg that is present is located at a position that is laterally shifted from immediately above the ground contact surface of the one leg. This is because, in a biped mobile robot with a bilaterally symmetric structure, the center of gravity of the robot in a state where the trunk axis of the upper body of the robot is substantially in the vertical direction is the lateral direction (left-right direction) of the robot, This is because it exists near the center between the base ends of the two legs.

このため、特に、当該片方の脚体が離床後に、着床した直後の期間において、ロボットに作用する重力と鉛直方向の慣性力とに起因して(換言すればこれらの重力と慣性力との合力に釣り合う床反力に起因して)、当該片方の脚体の基端部の関節に対して、ロボットの前後方向の軸周り(ロール軸周り)で比較的大きなモーメントが作用する。   Therefore, in particular, during the period immediately after the one leg leaves the floor after landing, it is caused by the gravity acting on the robot and the inertial force in the vertical direction (in other words, the gravity and inertial force Due to the floor reaction force that balances the resultant force), a relatively large moment acts around the axis in the front-rear direction of the robot (around the roll axis) on the joint at the base end of the one leg.

この結果、当該片方の脚体の基端部の関節又はこれを駆動するアクチュエータの大型化や、重量の増大化を招くという不都合がある。   As a result, there is an inconvenience that the joint of the base end portion of the one leg or the actuator for driving the same is increased and the weight is increased.

本発明は、かかる背景に鑑みてなされたものであり、2足移動ロボットに片脚ホッピング動作を行なわせるときに、離床・着床動作を行なう脚体の基端部の関節に大きなモーメントが作用するのを防止することができる2足移動ロボットの制御装置と歩容生成装置とを提供することを目的とする。   The present invention has been made in view of such a background, and when a bipedal mobile robot performs a one-leg hopping operation, a large moment acts on the joint of the base end portion of the leg that performs the floor leaving and landing operations. An object of the present invention is to provide a control device for a bipedal mobile robot and a gait generator that can prevent this from occurring.

本発明の2足移動ロボットの制御装置は、上体に関節を介して基端部が連結された2つの脚体を有する2足移動ロボットであり、該ロボットが実現可能な動作として、前記2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体のみにより離床動作とこれに続く着床動作とが行なわれる動作である片脚ホッピング動作を含む2足移動ロボットの制御装置であって、前記片脚ホッピング動作を前記ロボットに行わせるとき、前記他方の脚体の離床後の着床状態において、前記他方の脚体(以降、支持脚側脚体ということがある)の基端部よりも前記一方の脚体(以降、遊脚側脚体ということがある)の基端部の方が相対的に高い位置に存在するように、前記ロボットの目標運動を少なくとも含む目標歩容を生成する目標歩容生成手段と、前記生成された目標歩容に応じて前記ロボットの各関節の動作制御を行なう関節制御手段とを備えることを特徴とする(第1発明)。   The control device for a biped mobile robot according to the present invention is a biped mobile robot having two legs whose base ends are connected to the upper body via joints. A biped mobile robot including a one-leg hopping operation in which one of the two legs is removed from the floor and the other leg is used to perform the leaving action and the subsequent landing action. In the control device, when the robot performs the one leg hopping operation, the other leg (hereinafter referred to as a supporting leg side leg) may be in the landing state after the other leg leaves the floor. ) At least the target motion of the robot so that the base end of the one leg (hereinafter sometimes referred to as the free leg side leg) is located at a relatively higher position than the base end of A target gait generating means for generating a target gait including Characterized in that it comprises a joint control means for controlling an operation of each joint of the robot in accordance with the desired gait the generated (first invention).

かかる第1発明によれば、前記目標歩容生成手段は、前記片脚ホッピング動作を前記ロボットに行わせるとき、離床動作と着床動作とを行なう前記支持脚側脚体の離床後の着床状態において、前記支持脚側脚体の基端部よりも前記遊脚側脚体の基端部の方が相対的に高い位置に存在するように、前記ロボットの目標運動を少なくとも含む目標歩容を生成する。   According to the first aspect of the invention, the target gait generating means performs landing after leaving the supporting leg side leg that performs the leaving action and the landing action when the robot performs the one leg hopping action. In the state, the target gait including at least the target motion of the robot so that the base end of the free leg side leg exists at a position relatively higher than the base end of the support leg side leg. Is generated.

ここで、前記支持脚側脚体の基端部の高さと前記遊脚側脚体の基端部の高さとの差が無い状態でのロボットの上体の姿勢は、該ロボットが直立姿勢で起立している状態での上体の姿勢に相当する。   Here, the posture of the upper body of the robot in a state where there is no difference between the height of the base end portion of the supporting leg side leg and the height of the base end portion of the free leg side leg, the robot is in an upright posture. Corresponds to the posture of the upper body while standing.

このため、支持脚側脚体の離床後の着床状態において前記目標歩容生成手段が生成する上記目標歩容における上体の姿勢は、上記直立姿勢での上体の姿勢よりも、該上体の上部寄りの部分が、支持脚側脚体の基端部の直上に近づくように傾斜した姿勢となる。   For this reason, the posture of the upper body in the target gait generated by the target gait generating means in the landing state after leaving the supporting leg-side leg is higher than the posture of the upper body in the upright posture. The portion closer to the upper part of the body is inclined so as to approach directly above the base end of the supporting leg side leg.

このように傾斜した上体の姿勢においては、ロボットの全体の重心点と支持脚側脚体の基端部との間の水平方向の距離は、上体の姿勢が上記直立姿勢に対応する姿勢である場合に比して短いものとなる。   In the posture of the body tilted in this way, the horizontal distance between the center of gravity of the entire robot and the base end of the supporting leg side leg is the posture in which the body posture corresponds to the upright posture. This is shorter than the case of.

そして、第1発明では、上記の如く生成される目標歩容に応じて前記ロボットの各関節の動作制御が行なわれる。   In the first invention, motion control of each joint of the robot is performed according to the target gait generated as described above.

この結果、ロボットの片脚ホッピング動作での支持脚側脚体の離床後の着床状態において、ロボットに作用する重力と鉛直方向の慣性力との合力、又はその合力に釣り合う床反力に起因して、支持脚側脚体の基端部の関節に大きなモーメントが作用するのが抑制されることとなる。   As a result, in the landing state of the supporting leg side leg after leaving the floor in the one-leg hopping operation of the robot, it is caused by the resultant force of gravity acting on the robot and the inertial force in the vertical direction, or the floor reaction force that balances the resultant force. Thus, it is possible to suppress a large moment from acting on the joint at the base end portion of the supporting leg side leg.

よって第1発明によれば、2足移動ロボットに片脚ホッピング動作を行なわせるときに、離床・着床動作を行なう脚体の基端部の関節に大きなモーメントが作用するのを防止することができる。   Therefore, according to the first aspect of the present invention, it is possible to prevent a large moment from acting on the joint of the base end portion of the leg that performs the floor leaving / landing operation when the biped mobile robot performs the one leg hopping operation. it can.

また、本発明の2足移動ロボットの制御装置は、上体に関節を介して基端部が連結された2つの脚体を有する2足移動ロボットであり、該ロボットが実現可能な動作として、前記2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体のみにより離床動作とこれに続く着床動作とが行なわれる動作である片脚ホッピング動作を含む2足移動ロボットの制御装置であって、前記片脚ホッピング動作を前記ロボットに行わせるとき、前記他方の脚体の離床後の着床状態において、前記ロボットの全体の重心点と前記他方の脚体の基端部との水平方向距離が、前記ロボットが直立姿勢で起立している状態での当該水平方向距離よりも短くなるように前記ロボットの目標運動を少なくとも含む目標歩容を生成する目標歩容生成手段と、前記生成された目標歩容に応じて前記ロボットの各関節の動作制御を行なう関節制御手段とを備えることを特徴とする(第2発明)。   Further, the control device for a biped mobile robot of the present invention is a biped mobile robot having two legs whose base ends are connected to the upper body via joints. Two-legged movement including a one-leg hopping operation in which one of the two legs is removed from the floor and only the other leg is used to perform a leaving action and a subsequent landing action. When the robot performs the one-leg hopping operation, the robot's overall center-of-gravity point and the base of the other leg in the landing state after the other leg leaves the floor. Target gait generation that generates a target gait that includes at least the target motion of the robot so that a horizontal distance to the end is shorter than the horizontal distance in a state where the robot stands in an upright posture Means and said raw Depending on the desired gait, which is characterized in that it comprises a joint control means for controlling an operation of each joint of the robot (second invention).

この第2発明によれば、前記目標歩容生成手段は、前記片脚ホッピング動作を前記ロボットに行わせるとき、前記他方の脚体(支持脚側脚体)の離床後の着床状態において、前記ロボットの全体の重心点と前記他方の脚体の基端部との水平方向距離が、前記ロボットが直立姿勢で起立している状態での当該水平方向距離よりも短くなるように前記ロボットの目標運動を少なくとも含む目標歩容を生成する。   According to the second aspect of the present invention, when the desired gait generating means causes the one-leg hopping operation to be performed by the robot, in the landing state after the other leg (supporting leg-side leg) leaves the floor, The horizontal distance between the center of gravity of the entire robot and the base end of the other leg is shorter than the horizontal distance when the robot stands upright. A target gait including at least the target motion is generated.

このため、支持脚側脚体の離床後の着床状態において生成される目標歩容にあっては、第1発明と同様に、ロボットの全体の重心点と支持脚側脚体の基端部との間の水平方向の距離は、上体の姿勢が上記直立姿勢に対応する姿勢である場合に比して短いものとなる。   For this reason, in the target gait generated in the landing state after the support leg-side leg leaves the floor, as in the first invention, the center of gravity of the entire robot and the base end of the support leg-side leg The horizontal distance between the upper body and the body is shorter than when the body posture is a posture corresponding to the upright posture.

そして、第2発明では、このように生成された目標歩容に応じてロボットの各関節の動作制御が行なわれる。   In the second invention, motion control of each joint of the robot is performed according to the target gait thus generated.

この結果、片脚ホッピング動作における支持脚側脚体の離床後の着床状態において、ロボットに作用する重力と鉛直方向の慣性力との合力、又はその合力に釣り合う床反力に起因して、支持脚側脚体の基端部の関節に大きなモーメントが作用するのが抑制されることとなる。   As a result, in the landing state after leaving the support leg side leg in the one leg hopping operation, due to the resultant force of gravity acting on the robot and the inertia force in the vertical direction, or the floor reaction force that balances the resultant force, It is suppressed that a big moment acts on the joint of the base end part of the supporting leg side leg.

よって第2発明によれば、2足移動ロボットに片脚ホッピング動作を行なわせるときに、離床・着床動作を行なう脚体の基端部の関節に大きなモーメントが作用するのを防止することができる。   Therefore, according to the second aspect of the present invention, it is possible to prevent a large moment from acting on the joint of the base end portion of the leg that performs the floor leaving / landing operation when the biped mobile robot performs the one leg hopping operation. it can.

上記第1発明又は第2発明においては、前記他方の脚体の離床後の着床状態において前記目標歩容生成手段が生成する目標運動は、前記ロボットの全体の重心点と、該他方の脚体の基端部とが、該他方の脚体の接地面の直上で上下に並ぶように配置される目標運動であることが好ましい(第3発明)。   In the first invention or the second invention, the target motion generated by the target gait generating means in the landing state after the other leg leaves the floor is the center of gravity of the entire robot and the other leg. It is preferable that the base end portion of the body is a target motion that is arranged so as to be aligned vertically above the ground contact surface of the other leg (third invention).

この第3発明によれば、前記基端部に作用するモーメントをほぼゼロにすることができ、前記基端部の関節を駆動するアクチュエータ(例えばモータ)の負荷を軽減することができる。   According to the third aspect of the invention, the moment acting on the base end portion can be made substantially zero, and the load on an actuator (for example, a motor) that drives the joint of the base end portion can be reduced.

また、本発明の2足移動ロボットの歩容生成装置は、上体に関節を介して基端部が連結された2つの脚体を有する2足移動ロボットであり、該ロボットが実現可能な動作として、前記2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体のみにより離床動作とこれに続く着床動作とが行なわれる動作である片脚ホッピング動作を含む2足移動ロボットの歩容生成装置であって、前記片脚ホッピング動作を前記ロボットに行わせるための該ロボットの目標運動を少なくとも含む目標歩容を生成するとき、前記他方の脚体の離床後の着床状態において、前記他方の脚体の基端部よりも前記一方の脚体の基端部の方が相対的に高い位置に存在するように前記ロボットの目標運動を生成する目標運動生成手段を備えることを特徴とする(第4発明)。   In addition, the gait generator for a biped mobile robot of the present invention is a biped mobile robot having two legs whose base ends are connected to the upper body via joints, and the robot can perform an operation. 2 including a one-leg hopping operation in which a floor leaving operation and a subsequent landing operation are performed only by the other leg in a state where one of the two legs is removed from the floor. A gait generating device for a legged mobile robot, wherein when generating a target gait including at least a target motion of the robot for causing the robot to perform the one-leg hopping motion, Target motion generating means for generating the target motion of the robot so that the base end of the one leg exists at a relatively higher position than the base end of the other leg in the landing state (No. 1) Invention).

この第4発明によれば、前記目標運動生成手段は、前記片脚ホッピング動作を前記ロボットに行わせるための該ロボットの目標運動を少なくとも含む目標歩容を生成するとき、前記他方の脚体(支持脚側脚体)の離床後の着床状態において、該支持脚側脚体の基端部よりも前記一方の脚体(遊脚側脚体)の基端部の方が相対的に高い位置に存在するように前記ロボットの目標運動を生成する。   According to the fourth aspect of the invention, when the target motion generating means generates a target gait including at least the target motion of the robot for causing the robot to perform the one leg hopping motion, the other leg ( In the landing state after leaving the support leg side leg), the base end portion of the one leg (leg leg side leg) is relatively higher than the base end portion of the support leg side leg. The target motion of the robot is generated so as to exist at the position.

このため、支持脚側脚体の離床後の着床状態において生成される目標運動にあっては、第1発明と同様に、ロボットの全体の重心点と支持脚側脚体の基端部との間の水平方向の距離は、上体の姿勢が上記直立姿勢に対応する姿勢である場合に比して短いものとなる。   For this reason, in the target motion generated in the landing state after the support leg-side leg leaves the floor, as in the first invention, the overall center of gravity of the robot and the base end of the support leg-side leg The horizontal distance between the two is shorter than when the posture of the upper body is a posture corresponding to the upright posture.

この結果、片脚ホッピング動作における支持脚側脚体の離床後の着床状態において、ロボットに作用する重力と鉛直方向の慣性力との合力、又はその合力に釣り合う床反力に起因して、支持脚側脚体の基端部の関節に大きなモーメントが作用するのを抑制し得る目標運動が生成されることとなる。   As a result, in the landing state after leaving the support leg side leg in the one leg hopping operation, due to the resultant force of gravity acting on the robot and the inertia force in the vertical direction, or the floor reaction force that balances the resultant force, A target motion that can suppress a large moment from acting on the joint at the base end of the supporting leg side leg is generated.

よって第4発明によれば、2足移動ロボットに片脚ホッピング動作を行なわせるときに、離床・着床動作を行なう脚体の基端部の関節に大きなモーメントが作用するのを防止することができる目標運動を生成することができる。   Therefore, according to the fourth aspect of the present invention, it is possible to prevent a large moment from acting on the joint of the base end portion of the leg that performs the floor leaving / landing operation when the biped mobile robot performs the one leg hopping operation. A possible target motion can be generated.

また、本発明の2足移動ロボットの歩容生成装置は、上体に関節を介して基端部が連結された2つの脚体を有する2足移動ロボットであり、該ロボットが実現可能な動作として、前記2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体のみにより離床動作とこれに続く着床動作とが行なわれる動作である片脚ホッピング動作を含む2足移動ロボットの歩容生成装置であって、前記片脚ホッピング動作を前記ロボットに行わせるための該ロボットの目標運動を少なくとも含む目標歩容を生成するとき、前記他方の脚体の離床後の着床状態において、前記ロボットの全体の重心点と前記他方の脚体の基端部との水平方向距離が、前記ロボットが直立姿勢で起立している状態での当該水平方向距離よりも短くなるように前記ロボットの目標運動を生成する目標運動生成手段を備えることを特徴とする(第5発明)
この第5発明によれば、前記目標運動生成手段は、前記片脚ホッピング動作を前記ロボットに行わせるための該ロボットの目標運動を少なくとも含む目標歩容を生成するとき、前記他方の脚体(支持脚側脚体)の離床後の着床状態において、前記ロボットの全体の重心点と前記他方の脚体の基端部との水平方向距離が、前記ロボットが直立姿勢で起立している状態での当該水平方向距離よりも短くなるように前記ロボットの目標運動を生成する。
In addition, the gait generator for a biped mobile robot of the present invention is a biped mobile robot having two legs whose base ends are connected to the upper body via joints, and the robot can perform an operation. 2 including a one-leg hopping operation in which a floor leaving operation and a subsequent landing operation are performed only by the other leg in a state where one of the two legs is removed from the floor. A gait generating device for a legged mobile robot, wherein when generating a target gait including at least a target motion of the robot for causing the robot to perform the one-leg hopping motion, In the landing state, the horizontal distance between the center of gravity of the entire robot and the base end of the other leg is shorter than the horizontal distance when the robot stands upright. So that the robot Characterized in that it comprises a desired motion generating means for generating a target motion (fifth invention)
According to the fifth aspect of the present invention, when the target motion generating means generates a target gait including at least the target motion of the robot for causing the robot to perform the one leg hopping motion, the other leg ( In the landing state after leaving the support leg-side leg), the horizontal distance between the center of gravity of the entire robot and the base end of the other leg is such that the robot stands upright. The target motion of the robot is generated so as to be shorter than the horizontal distance at.

このため、支持脚側脚体の離床後の着床状態において生成される目標運動にあっては、第1発明と同様に、ロボットの全体の重心点と支持脚側脚体の基端部との間の水平方向の距離は、上体の姿勢が上記直立姿勢に対応する姿勢である場合に比して短いものとなる。   For this reason, in the target motion generated in the landing state after the support leg-side leg leaves the floor, as in the first invention, the overall center of gravity of the robot and the base end of the support leg-side leg The horizontal distance between the two is shorter than when the posture of the upper body is a posture corresponding to the upright posture.

この結果、片脚ホッピング動作における支持脚側脚体の離床後の着床状態において、ロボットに作用する重力と鉛直方向の慣性力との合力、又はその合力に釣り合う床反力に起因して、支持脚側脚体の基端部の関節に大きなモーメントが作用するのを抑制し得る目標運動が生成されることとなる。   As a result, in the landing state after leaving the support leg side leg in the one leg hopping operation, due to the resultant force of gravity acting on the robot and the inertia force in the vertical direction, or the floor reaction force that balances the resultant force, A target motion that can suppress a large moment from acting on the joint at the base end of the supporting leg side leg is generated.

よって第5発明によれば、2足移動ロボットに片脚ホッピング動作を行なわせるときに、離床・着床動作を行なう脚体の基端部の関節に大きなモーメントが作用するのを防止することができる目標運動を生成することができる。   Therefore, according to the fifth aspect of the present invention, it is possible to prevent a large moment from acting on the joint of the base end portion of the leg that performs the floor leaving / landing operation when the biped mobile robot performs the one leg hopping operation. A possible target motion can be generated.

上記第4発明又は第5発明においては、前記片脚ホッピング動作を前記ロボットに行わせるときに前記目標歩容生成手段が生成する目標運動は、前記ロボットの全体の重心点と、該他方の脚体の基端部とが、該他方の脚体の接地面の直上で上下に並ぶように配置される目標運動であることが好ましい(第6発明)。   In the fourth invention or the fifth invention, the target motion generated by the target gait generating means when the robot performs the one-leg hopping motion is the center of gravity of the entire robot and the other leg. It is preferable that the base end of the body is a target motion that is arranged so as to be lined up and down immediately above the ground contact surface of the other leg (the sixth invention).

この第6発明によれば、前記第3発明と同様に、前記基端部に作用するモーメントをほぼゼロにすることができ、前記基端部の関節を駆動するアクチュエータ(例えばモータ)の負荷を軽減することができる。   According to the sixth aspect of the invention, as in the third aspect of the invention, the moment acting on the base end can be made substantially zero, and the load of an actuator (for example, a motor) that drives the joint of the base end can be reduced. Can be reduced.

本発明の実施形態における2足移動ロボットの全体的構成の概略を示す図。The figure which shows the outline of the whole structure of the bipedal mobile robot in embodiment of this invention. 図1のロボットに備えた制御ユニットの構成を示すブロック図。The block diagram which shows the structure of the control unit with which the robot of FIG. 1 was equipped. 図2の制御ユニットの機能的構成を示すブロック図。The block diagram which shows the functional structure of the control unit of FIG. 片脚ホッピング歩容を例示する説明図。Explanatory drawing which illustrates a one leg hopping gait. 歩容生成に使用する動力学モデルを示す図。The figure which shows the dynamic model used for gait generation. 図3に示す歩容生成装置のメインルーチン処理を示すフローチャート。The flowchart which shows the main routine process of the gait generator shown in FIG. 片脚ホッピング歩容における足平の着地位置姿勢と支持脚座標系とを例示する図。The figure which illustrates the landing position and posture of a foot in a one-leg hopping gait, and a support leg coordinate system. 図6に示すS022のサブルーチン処理を示すフローチャート。7 is a flowchart showing a subroutine process of S022 shown in FIG. 片脚ホッピング歩容におけるX軸周り(ロール方向)の基準上体姿勢角の設定例を示すグラフ。The graph which shows the example of a setting of the reference body posture angle of the X-axis periphery (roll direction) in a one leg hopping gait. 図9に示す基準上体姿勢角の設定指針を説明するための図。The figure for demonstrating the setting guideline of the reference | standard body posture angle shown in FIG. 図9に示す基準上体姿勢角に対応するロボットの動作状態を示す図。The figure which shows the operation state of the robot corresponding to the reference | standard body posture angle shown in FIG. 定常歩容での目標床反力鉛直成分の設定例を示すグラフ。The graph which shows the example of a setting of the desired floor reaction force vertical component in a normal gait. 定常歩容での床反力水平成分許容範囲の設定例を示すグラフ。The graph which shows the example of a setting of the floor reaction force horizontal component tolerance | permissible_range in a normal gait. 図6に示すS024のサブルーチン処理を示すフローチャート。7 is a flowchart showing a subroutine process of S024 shown in FIG. 図14に示すS208のサブルーチン処理を示すフローチャート。15 is a flowchart showing a subroutine process of S208 shown in FIG. 図15に示すS306のサブルーチン処理を示すフローチャート。16 is a flowchart showing a subroutine process of S306 shown in FIG. 図16に示すS412のサブルーチン処理を示すフローチャート。17 is a flowchart showing a subroutine process of S412 shown in FIG. 図17のS518で設定する上体姿勢復元モーメントZMP換算値のパターンの設定例を示すグラフ。The graph which shows the example of a setting of the pattern of the body posture restoring moment ZMP conversion value set by S518 of FIG. 図6に示すS026のサブルーチン処理を示すフローチャート。7 is a flowchart showing a subroutine process of S026 shown in FIG. 今回歩容の床反力鉛直成分の設定例を示すグラフ。The graph which shows the setting example of the floor reaction force vertical component of a gait this time. 今回歩容の床反力水平成分許容範囲の設定例を示すグラフ。The graph which shows the setting example of the floor reaction force horizontal component allowable range of a gait this time. 図6に示すS028のサブルーチン処理を示すフローチャート。7 is a flowchart showing subroutine processing of S028 shown in FIG. 図22に示すS702のサブルーチン処理を示すフローチャート。23 is a flowchart showing a subroutine process of S702 shown in FIG. 図23に示すS806のサブルーチン処理を示すフローチャート。The flowchart which shows the subroutine processing of S806 shown in FIG. 図24に示すS912のサブルーチン処理を示すフローチャート。The flowchart which shows the subroutine processing of S912 shown in FIG. 図22のS716で用いるZMP修正量の設定例を示すグラフ。The graph which shows the example of a setting of the ZMP correction amount used by S716 of FIG. 片脚ホッピング歩容から歩行歩容又は走行歩容の移行を行なう場合におけるX軸周り(ロール方向)の基準上体姿勢角の設定例を示すグラフ。The graph which shows the example of a setting of the reference | standard body posture angle | corner of the X-axis periphery (roll direction) in the case of changing a walking gait or a running gait from a one leg hopping gait. 歩行歩容又は走行歩容から片脚ホッピング歩容への移行を行なう場合におけるX軸周り(ロール方向)の基準上体姿勢角の設定例を示すグラフ。The graph which shows the example of a setting of the reference | standard body posture angle of the X-axis periphery (roll direction) in the case of changing to a one-leg hopping gait from a walking gait or a running gait.

以下、本発明の一実施形態を説明する。   Hereinafter, an embodiment of the present invention will be described.

図1に示す如く、本実施形態の2足移動ロボット1(以下、単にロボット1という)は、基体としての上体24と、この上体24から延設された左右一対の脚体(脚部リンク)2R,2Lとを備える左右対称構造のロボットである。なお、本実施形態の説明では、符号「R」,「L」はそれぞれ右側脚体、左側脚体に対応するものであることを示す。   As shown in FIG. 1, a bipedal mobile robot 1 (hereinafter simply referred to as a robot 1) of the present embodiment includes an upper body 24 as a base and a pair of left and right legs (leg portions) extending from the upper body 24. Link) 2R, 2L is a robot with a symmetrical structure. In the description of the present embodiment, the symbols “R” and “L” correspond to the right leg and the left leg, respectively.

上体24は、両脚体2R,2Lの基端部(上端部)に後述する腰関節(股関節)を介して連結されており、両脚体2R,2Lのうちの接地した脚体によって床面の上方に支持される。   The upper body 24 is connected to the base ends (upper end portions) of both legs 2R, 2L via a hip joint (hip joint), which will be described later, and the ground surface of the legs 2R, 2L touches the floor surface. Supported upward.

両脚体2R,2Lは同一構造であり、それぞれ6個の関節を備える。その6個の関節は上体24側から順に、腰(股)の回旋用(上体24に対するヨー方向の回転用)の関節10R,10Lと、腰(股)のロール方向(X軸まわり)の回転用の関節12R,12Lと、腰(股)のピッチ方向(Y軸まわり)の回転用の関節14R,14Lと、膝部のピッチ方向の回転用の関節16R,16Lと、足首部のピッチ方向の回転用の関節18R,18Lと、足首部のロール方向の回転用の関節20R,20Lとから構成される。   Both legs 2R and 2L have the same structure, and each has six joints. The six joints are, in order from the upper body 24 side, joints 10R and 10L for rotating the hip (crotch) (for rotating in the yaw direction with respect to the upper body 24), and the roll direction of the hip (crotch) (around the X axis). Joints 12R, 12L for rotation, joints 14R, 14L for rotation in the hip (crotch) pitch direction (around the Y axis), joints 16R, 16L for rotation in the pitch direction of the knee, It consists of joints 18R, 18L for rotation in the pitch direction and joints 20R, 20L for rotation in the roll direction of the ankle part.

なお、上記X軸、Y軸、Z軸は、後述する支持脚座標系の3つの座標軸を意味する。この支持脚座標系のX軸方向、Y軸方向は、水平面上で互いに直交する2軸方向であり、X軸方向はロボット1の前後方向(ロール軸方向)、Y軸方向はロボット1の左右方向(ピッチ軸方向)に相当する。また、Z軸方向は鉛直方向(重力方向)であり、ロボット1の上下方向(ヨー軸方向)に相当する。   The X axis, the Y axis, and the Z axis mean three coordinate axes of a support leg coordinate system described later. In this support leg coordinate system, the X-axis direction and the Y-axis direction are two axis directions orthogonal to each other on the horizontal plane, the X-axis direction is the front-rear direction (roll axis direction) of the robot 1, and the Y-axis direction is the left-right direction of the robot This corresponds to the direction (pitch axis direction). The Z-axis direction is the vertical direction (gravity direction) and corresponds to the vertical direction (yaw axis direction) of the robot 1.

各脚体2R(L)の関節10R(L),12R(L),14R(L)によって3自由度の腰関節(股関節)が構成され、関節16R(L)によって1自由度の膝関節が構成され、関節18R(L),20R(L)によって2自由度の足首関節が構成されている。   The joints 10R (L), 12R (L), and 14R (L) of each leg 2R (L) constitute a three-degree-of-freedom hip joint (hip joint), and the joint 16R (L) constitutes a one-degree-of-freedom knee joint. An ankle joint having two degrees of freedom is configured by the joints 18R (L) and 20R (L).

そして、腰関節(股関節)10R(L),12R(L),14R(L)と膝関節16R(L)とは大腿リンク28R(L)で連結され、膝関節16R(L)と足首関節18R(L),20R(L)とは下腿リンク30R(L)で連結されている。また、各脚体2R(L)の足首関節18R(L),20R(L)の下部に、各脚体2R(L)の先端部(下端部)を構成する足平22R(L)が取着されている。また、各脚体2R(L)の上端部(基端部)が、腰関節(股関節)10R(L),12R(L),14R(L)を介して上体24に連結されている。   The hip joints (hip joints) 10R (L), 12R (L), 14R (L) and the knee joint 16R (L) are connected by a thigh link 28R (L), and the knee joint 16R (L) and the ankle joint 18R. (L) and 20R (L) are connected by a crus link 30R (L). Also, a foot 22R (L) constituting the tip (lower end) of each leg 2R (L) is attached to the lower part of the ankle joints 18R (L), 20R (L) of each leg 2R (L). It is worn. Further, the upper end (base end) of each leg 2R (L) is connected to the upper body 24 via the hip joints (hip joints) 10R (L), 12R (L), and 14R (L).

上記した各関節は、公知の構造のものでよい。この場合、各関節を回転駆動するアクチュエータは、例えば、減速機を備える電動モータ42(図2参照)により構成される。   Each of the joints described above may have a known structure. In this case, the actuator that rotationally drives each joint is configured by, for example, an electric motor 42 (see FIG. 2) that includes a speed reducer.

なお、本実施形態では、各脚体2R(L)の足首関節18R(L),20R(L)と足平22R(L)との間には、図示を省略するゴムやばね等の弾性体を内蔵するばね機構部32が介装されている。また、各足平22R(L)の底面には、ゴム等からなる足底弾性体34が取付けられている。これらのばね機構部32及び足底弾性体34は、各脚体2R(L)が受ける床反力により弾性変形することによって、緩衝機構又はコンプライアンス機構として機能する。   In this embodiment, between the ankle joints 18R (L), 20R (L) and the foot 22R (L) of each leg 2R (L), an elastic body such as rubber or a spring is omitted. Is inserted. Further, a sole elastic body 34 made of rubber or the like is attached to the bottom surface of each foot 22R (L). The spring mechanism 32 and the sole elastic body 34 function as a buffer mechanism or a compliance mechanism by being elastically deformed by the floor reaction force received by each leg 2R (L).

各脚体2R(L)の上記構成により、各脚体2R(L)の足平22R(L)は、上体24に対して6自由度を有する。そして、ロボット1の移動に際して両脚体2R,2Lを合わせて6*2=12個(本明細書で「*」はスカラに対する演算においては乗算を示し、ベクトルに対する演算においては外積を示す)の関節をそれぞれ適宜な角度に駆動することで、両足平22R,22Lの所望の運動を行なうことができる。これにより、ロボット1は歩行動作や走行動作等、3次元空間を移動する運動を行うことが可能となっている。   With the above-described configuration of each leg 2R (L), the foot 22R (L) of each leg 2R (L) has six degrees of freedom with respect to the upper body 24. When the robot 1 moves, the joints of both legs 2R and 2L are 6 * 2 = 12 joints (in the present specification, “*” indicates multiplication in the calculation for the scalar and outer product in the calculation for the vector). By driving each at an appropriate angle, it is possible to perform a desired movement of both feet 22R and 22L. Thereby, the robot 1 can perform a movement that moves in a three-dimensional space, such as a walking action and a running action.

なお、図示は省略するが、本実施形態では、上体24の上部の両側部には左右一対の腕体が取り付けられると共に、上体24の上端部には頭部が搭載される。そして、各腕体は、それに備える複数の関節(肩関節、肘関節、手首関節など)によって、該腕体を上体24に対して前後に振る等の運動を行なうことが可能となっている。ただし、これらの腕体および頭部は無くてもよい。   Although illustration is omitted, in the present embodiment, a pair of left and right arms are attached to both sides of the upper portion of the upper body 24, and a head is mounted on the upper end portion of the upper body 24. Each arm body can perform a motion such as swinging the arm body back and forth with respect to the upper body 24 by a plurality of joints (shoulder joint, elbow joint, wrist joint, etc.) provided therein. . However, these arms and heads may be omitted.

上体24の内部にはロボット1の動作制御を行う制御ユニット26が格納されている。なお、図1では図示の便宜上、制御ユニット26を上体24の外部に記載している。   A control unit 26 that controls the operation of the robot 1 is stored in the upper body 24. In FIG. 1, for convenience of illustration, the control unit 26 is illustrated outside the upper body 24.

各脚体2R(L)の足首関節18R(L),20R(L)と前記ばね機構部32との間には、足平22R(L)に作用する床反力を計測するための6軸力センサ36が介装されている。この6軸力センサ36は、足平22R(L)から伝達される床反力の3軸方向の並進力成分及び3軸まわりのモーメント成分を検出し、その検出信号を制御ユニット26に出力する。   Between the ankle joints 18R (L) and 20R (L) of each leg 2R (L) and the spring mechanism portion 32, there are six axes for measuring the floor reaction force acting on the foot 22R (L). A force sensor 36 is interposed. The six-axis force sensor 36 detects the translational force component in the three-axis direction and the moment component around the three axes of the floor reaction force transmitted from the foot 22R (L), and outputs the detection signal to the control unit 26. .

上体24には、鉛直方向(重力方向)に対する上体24の傾斜角(ロール方向及びピッチ方向の傾斜角)とその変化速度(角速度)とを計測するための傾斜センサ38が搭載されている。この傾斜センサ38は、より詳しくは、加速度センサとジャイロセンサ等のレートセンサ(角速度センサ)とから構成され、これらのセンサの検出信号を制御ユニット26に出力する。そして、制御ユニット26において、傾斜センサ38の出力を基に、公知の手法によって鉛直方向に対する上体24の傾斜角と角速度とが計測される。   The body 24 is equipped with an inclination sensor 38 for measuring the inclination angle (inclination angle in the roll direction and the pitch direction) of the body 24 with respect to the vertical direction (gravity direction) and the rate of change (angular velocity) thereof. . More specifically, the tilt sensor 38 includes an acceleration sensor and a rate sensor (angular velocity sensor) such as a gyro sensor, and outputs detection signals of these sensors to the control unit 26. Then, in the control unit 26, based on the output of the tilt sensor 38, the tilt angle and the angular velocity of the body 24 with respect to the vertical direction are measured by a known method.

また、各関節を回転駆動する電動モータ42(図2参照)には、各関節の回転角を検出するためのエンコーダ(ロータリエンコーダ)40(図2参照)が付設され、該エンコーダ40の検出信号が制御ユニット26に出力される。   In addition, an electric motor 42 (see FIG. 2) that rotationally drives each joint is provided with an encoder (rotary encoder) 40 (see FIG. 2) for detecting the rotation angle of each joint. Is output to the control unit 26.

図2を参照して、制御ユニット26はマイクロコンピュータを有する電子回路ユニットにより構成されており、CPUからなる第1演算装置50及び第2演算装置52、A/D変換器54、カウンタ56、D/A変換器58、RAM60、ROM62、並びにこれらの間のデータ授受を行なうバスライン64を備えている。   Referring to FIG. 2, the control unit 26 is composed of an electronic circuit unit having a microcomputer, and includes a first arithmetic unit 50 and a second arithmetic unit 52 comprising an CPU, an A / D converter 54, a counter 56, D / A converter 58, RAM 60, ROM 62, and bus line 64 for exchanging data between them.

この制御ユニット26では、前記6軸力センサ36及び傾斜センサ38の出力はA/D変換器54でデジタル値に変換された後、バスライン64を介してRAM60に入力される。また、ロボット1の各関節のエンコーダ(ロータリエンコーダ)40の出力はカウンタ56を介してRAM60に入力される。   In the control unit 26, the outputs of the six-axis force sensor 36 and the tilt sensor 38 are converted to digital values by the A / D converter 54 and then input to the RAM 60 via the bus line 64. Further, the output of the encoder (rotary encoder) 40 of each joint of the robot 1 is input to the RAM 60 via the counter 56.

前記第1演算装置50は、後述する目標歩容を生成すると共に、関節変位指令(各関節の回転角の目標値)を算出し、RAM60に送出する。また、第2演算装置52はRAM60から関節変位指令と、前記エンコーダ40の出力からカウンタ56を介して計測された実関節変位(各関節の回転角の実測値)とを読み出し、該実関節変位を関節変位指令に追従させるために必要な各関節の電動モータ42の駆動指令(電動モータ42の出力トルクを規定する指令値)を算出する。   The first arithmetic unit 50 generates a target gait described later, calculates a joint displacement command (target value of the rotation angle of each joint), and sends it to the RAM 60. Further, the second arithmetic unit 52 reads out the joint displacement command from the RAM 60 and the actual joint displacement (actual value of the rotation angle of each joint) measured from the output of the encoder 40 via the counter 56, and the actual joint displacement. To drive the electric motor 42 of each joint necessary to follow the joint displacement command (command value defining the output torque of the electric motor 42).

そして、第2演算装置52は、その算出した駆動指令をD/A変換器58を介して電動モータ42の駆動用のサーボアンプ44に出力する。このとき、サーボアンプ44は、入力された駆動指令に応じて電動モータ42を駆動する(電動モータ42に通電する)。これにより、各関節の実関節変位が関節変位指令に追従するように制御される。   Then, the second arithmetic unit 52 outputs the calculated drive command to the servo amplifier 44 for driving the electric motor 42 via the D / A converter 58. At this time, the servo amplifier 44 drives the electric motor 42 according to the input drive command (energizes the electric motor 42). Thereby, the actual joint displacement of each joint is controlled to follow the joint displacement command.

次に、図3のブロック図を参照して、本実施形態におけるロボット1の制御ユニット26が実行する処理をより具体的に説明する。図3中の「実ロボット」以外の部分が制御ユニット26が実行する処理(主として第1演算装置50及び第2演算装置52の処理)によって実現される機能である。   Next, the process executed by the control unit 26 of the robot 1 in this embodiment will be described more specifically with reference to the block diagram of FIG. Portions other than the “real robot” in FIG. 3 are functions realized by processing executed by the control unit 26 (mainly processing of the first arithmetic device 50 and the second arithmetic device 52).

なお、図3では、便宜上、ロボット1に搭載された前記の各センサの出力から制御ユニット26が認識する実測値(実関節変位など)が実ロボット1から出力されるものとして示している。また、以下の説明では、脚体2R,2Lの左右を特に区別する必要がないときは、前記符号R,Lを省略する。   In FIG. 3, for the sake of convenience, actual values (actual joint displacement, etc.) recognized by the control unit 26 from the outputs of the respective sensors mounted on the robot 1 are shown as being output from the actual robot 1. In the following description, the symbols R and L are omitted when it is not necessary to distinguish between the left and right legs 2R and 2L.

制御ユニット26は、後述の如く目標歩容を自在かつリアルタイムに生成して出力する歩容生成装置100を備えている。この歩容生成装置100は、本発明における目標歩容生成手段又は目標運動生成手段として機能するものである。   The control unit 26 includes a gait generator 100 that generates and outputs a desired gait freely and in real time as will be described later. This gait generator 100 functions as a target gait generator or a target motion generator in the present invention.

この歩容生成装置100が出力する目標歩容は、ロボット1の各関節の変位量(回転角)の目標値の時系列パターンを規定する目標運動軌道(目標運動の軌道)と、ロボット1に作用させるべき外力に関する目標軌道とから構成される。   The target gait output by the gait generator 100 includes a target motion trajectory (target motion trajectory) that defines a time-series pattern of target values of displacement amounts (rotation angles) of the joints of the robot 1, and the robot 1. It consists of a target trajectory related to the external force to be applied.

目標運動軌道は、本実施形態では、目標上体位置姿勢軌道(上体24の目標位置及び目標姿勢の軌道)と目標足平位置姿勢軌道(各足平22の目標位置及び目標姿勢の軌道)と目標腕姿勢軌道(各腕体の目標姿勢の軌道)とから構成される。また、外力に関する目標軌道は、目標全床反力中心点(目標ZMP)軌道と目標全床反力軌道とから構成される。なお、脚体2や腕体以外に、上体24に対して可動な部位を備える場合には、その可動部位の目標位置姿勢軌道が上記目標運動軌道に加えられる。   In this embodiment, the target motion trajectory is a target body position / posture trajectory (trajectory of the target position and target posture of the body 24) and a target foot position / posture trajectory (trajectory of the target position and target posture of each foot 22). And the target arm posture trajectory (the trajectory of the target posture of each arm body). The target trajectory related to the external force is composed of a target total floor reaction force center point (target ZMP) trajectory and a target total floor reaction force trajectory. In addition to the leg body 2 and the arm body, when a portion that is movable with respect to the upper body 24 is provided, the target position / posture trajectory of the movable portion is added to the target motion trajectory.

ここで、上記目標歩容に係わる用語について補足しておく。なお、以下の説明では、誤解を生じるおそれがない場合には、しばしば「目標」を省略する。   Here, the terms related to the target gait will be supplemented. In the following description, “target” is often omitted when there is no risk of misunderstanding.

目標歩容における「軌道」は時間的変化のパターン(瞬時値の時系列パターン)を意味する。   The “trajectory” in the target gait means a temporal change pattern (time-series pattern of instantaneous values).

上体24の位置及び速度は、上体24のあらかじめ定めた代表点(例えば左右の股関節の間の中央点等)の位置及びその移動速度を意味する。同様に、各足平22の位置及び速度は、各足平22のあらかじめ定めた代表点の位置及びその移動速度を意味する。各足平22の代表点は、本実施形態では、各足平22の底面上の点、例えば、各脚体2の足首関節の中心から各足平22の底面への垂線が該底面と交わる点に設定される。   The position and speed of the upper body 24 mean the position of a predetermined representative point of the upper body 24 (for example, the center point between the left and right hip joints) and the moving speed thereof. Similarly, the position and speed of each foot 22 mean the position of the representative point determined in advance of each foot 22 and its moving speed. In this embodiment, the representative point of each foot 22 is a point on the bottom surface of each foot 22, for example, a perpendicular line from the center of the ankle joint of each leg 2 to the bottom surface of each foot 22 intersects the bottom surface. Set to a point.

また、「姿勢」は空間的な向きを意味する。例えば上体姿勢は鉛直方向に対するロール方向(X軸まわり)の上体24の傾斜角(姿勢角)とピッチ方向(Y軸まわり)の上体24の傾斜角(姿勢角)とで表され、足平姿勢は各足平22に固定的に設定された2軸の空間的な方位角で表される。本明細書では、上体姿勢は上体姿勢角ということもある。なお、上体姿勢にヨー方向(Z軸まわり)の上体24の回転角を含めてもよい。   “Position” means a spatial orientation. For example, the body posture is represented by the inclination angle (posture angle) of the upper body 24 in the roll direction (around the X axis) and the inclination angle (posture angle) of the upper body 24 in the pitch direction (around the Y axis), The foot posture is represented by a biaxial spatial azimuth angle fixedly set on each foot 22. In this specification, the body posture is sometimes referred to as a body posture angle. The body posture may include the rotation angle of the body 24 in the yaw direction (around the Z axis).

また、各足平22に作用する床反力(並進力及びモーメントからなる床反力)を「各足平床反力」と呼び、ロボット1の全て(2つ)の足平22R,22Lについての「各足平床反力」の合力を「全床反力」という。ただし、以下の説明においては、各足平床反力はほとんど言及しないので、特にことわらない限り、「床反力」は「全床反力」と同義として扱う。   In addition, the floor reaction force (the floor reaction force consisting of translational force and moment) acting on each foot 22 is called “each foot floor reaction force”, and all (two) feet 22R and 22L of the robot 1 The resultant force of “each foot floor reaction force” is called “whole floor reaction force”. However, in the following description, since each foot floor reaction force is hardly mentioned, “floor reaction force” is treated as the same as “total floor reaction force” unless otherwise specified.

目標床反力は、一般には、作用点と、その作用点に作用する並進力及びモーメントにより表現される。但し、本実施形態では、説明の便宜上、作用点と、その作用点に作用する並進力及びモーメントを区別し、目標床反力には作用点は含まれないものとする。そして、本実施形態では、目標床反力中心点を目標床反力の作用点とする。この場合、目標床反力のモーメント成分は、鉛直成分(Z軸周りのモーメント成分)を除いて零になる。   The target floor reaction force is generally expressed by an action point and a translational force and a moment acting on the action point. However, in this embodiment, for the sake of convenience of explanation, it is assumed that an action point is distinguished from a translational force and a moment acting on the action point, and the target floor reaction force does not include the action point. In the present embodiment, the target floor reaction force center point is set as the action point of the target floor reaction force. In this case, the moment component of the desired floor reaction force is zero except for the vertical component (moment component around the Z axis).

なお、以降の説明では、床反力の並進力成分(並進床反力)の鉛直成分及び水平成分をそれぞれ、床反力鉛直成分、床反力水平成分という。また、床反力のモーメント成分(床反力モーメント)の鉛直成分及び水平成分をそれぞれ、床反力モーメント鉛直成分、床反力モーメント水平成分という。   In the following description, the vertical component and the horizontal component of the translational force component (translational floor reaction force) of the floor reaction force are referred to as a floor reaction force vertical component and a floor reaction force horizontal component, respectively. Also, the vertical component and horizontal component of the moment component (floor reaction force moment) of the floor reaction force are referred to as the floor reaction force moment vertical component and the floor reaction force moment horizontal component, respectively.

ZMP(Zero Moment Point)は、ロボット1の運動によって発生する慣性力とロボット1に作用する重力との合力がその点まわりに作用するモーメントの水平成分(水平軸まわりのモーメント成分)が零になる床面上の点を意味する。動力学的平衡条件を満足する歩容では、ZMPと床反力中心点とは一致する。このため、本実施形態では、目標床反力中心点を、しばしば目標ZMPと称する。   In ZMP (Zero Moment Point), the horizontal component (moment component around the horizontal axis) of the moment that the resultant force of the inertial force generated by the motion of the robot 1 and the gravity acting on the robot 1 acts around that point becomes zero. It means a point on the floor. In a gait that satisfies the dynamic equilibrium condition, the ZMP and the floor reaction force central point coincide. For this reason, in this embodiment, the target floor reaction force central point is often referred to as a target ZMP.

なお、本実施形態では、目標歩容のうち、目標上体位置姿勢、目標足平位置姿勢、目標全床反力中心点(目標ZMP)、目標全床反力は、ロボット1の動作環境(外界)の床に対して固定されるグローバル座標系としての後述の支持脚座標系で記述される。また、目標腕姿勢は、上体24に対する相対的な姿勢として記述される。   In the present embodiment, in the desired gait, the desired body position / posture, the desired foot position / posture, the desired total floor reaction force central point (target ZMP), and the desired total floor reaction force are determined based on the operating environment ( It is described in a support leg coordinate system, which will be described later, as a global coordinate system fixed to the floor of the outside world. The target arm posture is described as a relative posture with respect to the upper body 24.

本実施形態の歩容生成装置100は、各脚体2の離床・着床動作(離床動作とこれに続く着床動作とからなる一連の動作)を2つの脚体2,2で交互に行なうことによって、ロボット1を移動させる歩容(ロボット1に歩行動作を行なわせる歩行歩容又は走行動作を行なわせる走行歩容)と、片脚ホッピング動作(一方の脚体2を離床させた状態で、他方の脚体2だけで離床・着床動作を行う動作)をロボット1に行わせる歩容(以降、片脚ホッピング歩容という)とを生成することが可能である。   The gait generator 100 according to the present embodiment alternately performs the leaving and landing operations (a series of operations including the leaving operation and the subsequent landing operation) of the legs 2 by the two legs 2 and 2. Thus, a gait for moving the robot 1 (a walking gait that causes the robot 1 to perform a walking operation or a traveling gait that performs a traveling operation) and a one-leg hopping operation (with one leg 2 leaving the floor) Further, it is possible to generate a gait (hereinafter referred to as a one-leg hopping gait) that causes the robot 1 to perform a floor leaving / landing operation using only the other leg 2.

これらの歩容のうち、上記歩行歩容又は走行歩容の生成の仕方は、本実施形態では、前記特許文献1の実施形態に記載されたものと同じである。一方、片脚ホッピング歩容の生成処理においては、歩容生成用の一部のパラメータの設定の仕方等が歩行歩容又は走行歩容の生成処理と相違する。   Among these gaits, the method of generating the walking gait or the running gait is the same as that described in the embodiment of Patent Document 1 in the present embodiment. On the other hand, in the one-leg hopping gait generation process, the method of setting some parameters for gait generation is different from the walking gait or running gait generation process.

そこで、前記片脚ホッピング歩容におけるロボット1の動作(片脚ホッピング動作)の概要を図4を参照して説明しておく。なお、以降の説明では、「着床」を、「着地」又は「接地」と言い換えることがある。   An outline of the operation of the robot 1 (single leg hopping operation) in the one leg hopping gait will be described with reference to FIG. In the following description, “landing” may be referred to as “landing” or “grounding”.

図4の時刻t1での状態は、片脚ホッピング歩容の初期状態を示している。この初期状態は、2つの脚体2,2の一方の脚体2(図示例では左側の脚体2L)を離床させ、且つ、他方の脚体2(図示例では右側の脚体2R)を着床させた状態である。すなわち、この初期状態は、片方の脚体2のみが着床している状態である。   The state at time t1 in FIG. 4 shows the initial state of the one-leg hopping gait. In this initial state, one leg 2 (the left leg 2L in the illustrated example) of the two legs 2, 2 is removed from the floor, and the other leg 2 (the right leg 2R in the illustrated example) is removed. It is in the state where it is made to land. That is, this initial state is a state where only one leg 2 is landing.

なお、この初期状態は、ロボット1が両脚体2,2を着床させて移動を停止した状態から、一方の脚体2を離床させた状態でもよいが、歩行動作又は走行動作の途中の状態であってもよい。   The initial state may be a state in which the robot 1 has landed both legs 2 and 2 and stopped moving, but one of the legs 2 has left the floor, but is in the middle of walking or running. It may be.

片脚ホッピング動作では、次に、ロボット1は、上記一方の脚体2(2L)を離床させたまま、他方の脚体2(2R)で床面を蹴って空中に浮上し(時刻t2)、目標とする位置に向かって空中を移動する。   In the one-leg hopping operation, the robot 1 then kicks the floor with the other leg 2 (2R) and floats in the air with the one leg 2 (2L) leaving the floor (time t2). , Move in the air towards the target position.

次いで、ロボット1は、上記他方の脚体2(2R)で着地する(時刻t3)。この場合、この着地直後においては、着地衝撃を緩和するために、ロボット1は、上記一方の脚体2(2L)を離床させたまま、他方の脚体2(2R)を膝関節で屈曲させていくことによって、ロボット1の全体重心を下降させる。   Next, the robot 1 lands on the other leg 2 (2R) (time t3). In this case, immediately after the landing, in order to reduce the landing impact, the robot 1 bends the other leg 2 (2R) at the knee joint while leaving the one leg 2 (2L) off the floor. As a result, the entire center of gravity of the robot 1 is lowered.

その後は、片脚ホッピング動作を継続する場合には、時刻t1からの動作と同様の動作が繰り返される。また、片脚ホッピング動作から、例えば前記歩行動作又は走行動作に移行する場合には、時刻t4で離床している上記一方の脚体2(2L)を着床させることとなる。   Thereafter, when the one-leg hopping operation is continued, the same operation as the operation from time t1 is repeated. In addition, when the single leg hopping operation is shifted to, for example, the walking operation or the running operation, the one leg 2 (2L) that has left the floor at time t4 is landed.

以上が片脚ホッピング動作の概要である。なお、図4では、左側の脚体2Lを離床状態に維持する片脚ホッピング動作を例示したが、右側の脚体2Rを離床状態に維持する片脚ホッピング動作についても同様である。   The above is the outline of the single leg hopping operation. In FIG. 4, the one-leg hopping operation for maintaining the left leg 2 </ b> L in the leaving state is illustrated, but the same applies to the one-leg hopping operation for maintaining the right leg 2 </ b> R in the leaving state.

なお、以降の説明では、ロボット1の歩行歩容、走行歩容及び片脚ホッピング歩容のいずれにおいても、2つの脚体2,2のうち、ロボット1の自重を支える方の脚体2(自重を支える床反力を受ける脚体2)を支持脚又は支持脚側脚体、支持脚でない方の脚体2を遊脚又は遊脚側脚体ということがある。この場合、両脚体2,2が離床状態となる期間である空中期を有する走行歩容又は片脚ホッピング歩容においては、該空中期では、いずれの脚体2,2もロボット1の自重を支える脚体ではないものの、便宜上、該空中期の直前に支持脚であった脚体2を、該空中期においても支持脚又は支持脚側脚体という。   In the following description, in any of the walking gait, running gait and single-leg hopping gait of the robot 1, the leg 2 which supports the weight of the robot 1 out of the two legs 2 and 2 ( The leg 2) that receives the floor reaction force that supports its own weight may be referred to as a supporting leg or a supporting leg side leg, and the leg 2 that is not a supporting leg may be referred to as a free leg or a free leg side leg. In this case, in a running gait or a one-leg hopping gait having an aerial period in which both legs 2 and 2 are in the state of getting out of bed, in the aerial period, both legs 2 and 2 lose their own weight. Although it is not a supporting leg, for the sake of convenience, the leg 2 that was a supporting leg immediately before the aerial period is also referred to as a supporting leg or a supporting leg side leg even in the aerial period.

前記片脚ホッピング歩容は、換言すれば、空中期を有し、この空中期の前と後とで、支持脚と遊脚とをそれぞれ同じ脚体2に保つ歩容である。これに対して、前記歩行歩容又は走行歩容は、換言すれば、支持脚と遊脚とをそれぞれ2つの脚体2,2で交互に切替えながらロボット1を移動させる歩容である。   In other words, the one-leg hopping gait is a gait having an aerial period and maintaining the supporting leg and the free leg in the same leg 2 before and after the aerial period. On the other hand, the walking gait or the running gait is, in other words, a gait in which the robot 1 is moved while the support leg and the free leg are alternately switched by the two legs 2 and 2 respectively.

また、前記支持脚座標系について説明しておくと、本実施形態では、該支持脚座標系は、支持脚として着床している脚体2の足平22の位置姿勢を、該足平22の底面のほぼ全面が床面と平行な姿勢で該床面に接触(密着)する位置姿勢に一致させた状態(以降、この状態での支持脚の足平22の位置姿勢を基本着地位置姿勢という)において、該支持脚側脚体2の足首中心から床面に延ばした垂線が該床面と交わる点を原点とし、その原点を通る水平面をXY平面とする、床に固定された座標系である。この場合、支持脚座標系のX軸方向、Y軸方向は、それぞれ支持脚側脚体2の足平22(詳しくは、水平面に投影した見た足平22)の前後方向、左右方向である。また、Z軸方向は鉛直方向である。   The support leg coordinate system will be described. In the present embodiment, the support leg coordinate system indicates the position and orientation of the foot 22 of the leg 2 that is landing as a support leg. A state in which almost the entire bottom surface of the base plate is in a position parallel to the floor surface and matched with the position / posture in contact (contact) with the floor surface (hereinafter, the position / posture of the foot 22 of the support leg in this state is the basic landing position / posture) The coordinate system fixed to the floor, in which the perpendicular line extending from the center of the ankle of the supporting leg side leg 2 to the floor surface intersects with the floor surface, and the horizontal plane passing through the origin is the XY plane It is. In this case, the X-axis direction and the Y-axis direction of the support leg coordinate system are respectively the front-rear direction and the left-right direction of the foot 22 of the support leg-side leg 2 (specifically, the foot 22 viewed on the horizontal plane). . The Z-axis direction is the vertical direction.

従って、本実施形態における支持脚座標系は、その原点の位置とX軸及びY軸の方向とが、支持脚として着床している脚体2の足平22の基本着地位置姿勢に対して上記の関係に従って規定される3軸直交座標系(XYZ座標系)である。   Therefore, the support leg coordinate system in the present embodiment is such that the position of the origin and the directions of the X axis and the Y axis are relative to the basic landing position / posture of the foot 22 of the leg 2 that is landing as a support leg. It is a three-axis orthogonal coordinate system (XYZ coordinate system) defined according to the above relationship.

尚、支持脚の着床中の目標足平位置姿勢は、その着床中のある時刻で前記基本着地位置姿勢に一致することは必ずしも必要ではない。この場合、支持脚座標系を規定する前記基本着地位置姿勢は、目標歩容において着床している足平22を、仮想的に滑らせないように回転させることによって達成し得る基本着地位置姿勢(該足平22の底面のほぼ全面が床面に接触する位置姿勢)を意味する。   It should be noted that the desired foot position / posture during landing of the support leg does not necessarily need to coincide with the basic landing position / posture at a certain time during the landing. In this case, the basic landing position / posture that defines the support leg coordinate system can be achieved by rotating the foot 22 landing in the target gait so as not to slip virtually. (Position and posture in which almost the entire bottom surface of the foot 22 is in contact with the floor surface).

補足すると、支持脚座標系の原点は、必ずしも上記の点である必要はなく、上記の点からずらした床面上の点であってもよい。また、本実施形態では、支持脚座標系は、支持脚の着地毎に更新されることとなるが、該支持脚座標系の原点の位置及び座標軸の姿勢を一定に保つようにしてもよい。   Supplementally, the origin of the support leg coordinate system does not necessarily have to be the above point, and may be a point on the floor surface shifted from the above point. In this embodiment, the support leg coordinate system is updated every time the support leg lands. However, the position of the origin of the support leg coordinate system and the attitude of the coordinate axes may be kept constant.

次に、本実施形態で歩容生成処理に使用するロボット1の動力学モデルを図5を参照して説明しておく。なお、この動力学モデルは、前記特許文献1の図10に示した動力学モデルと同じであるので、本実施形態では概略的な説明に留める。   Next, a dynamic model of the robot 1 used for gait generation processing in this embodiment will be described with reference to FIG. Since this dynamic model is the same as the dynamic model shown in FIG. 10 of Patent Document 1, only a schematic description is given in this embodiment.

図5を参照して、本実施形態で歩容生成処理に使用するロボット1の動力学モデルは、例えば前記特許文献1の図10に示した動力学モデルと同じである。すなわち、この動力学モデルは、ロボット1の各脚体2にそれぞれ対応する2つの質点2m,2m、及び上体24に対応する質点24mからなる合計3質点と、イナーシャ(慣性モーメント)があって質量のないフライホイールFHとから構成されるモデルである。   With reference to FIG. 5, the dynamic model of the robot 1 used for the gait generation process in the present embodiment is the same as the dynamic model shown in FIG. That is, this dynamic model has a total of three mass points consisting of two mass points 2m, 2m corresponding to each leg 2 of the robot 1 and a mass point 24m corresponding to the upper body 24, and inertia (moment of inertia). This model is composed of a flywheel FH having no mass.

なお、上体質点24mの質量には、脚体2,2以外で上体24に連結もしくは固定されて部位(腕体など)の質量も含まれる。   The mass of the upper mass point 24m includes the mass of a part (such as an arm body) that is connected to or fixed to the upper body 24 other than the legs 2 and 2.

この動力学モデルでは、脚体2,2の動力学(各質点2m,2mの動力学)と上体24の動力学(質点24m及びフライホイールFHの動力学)とが相互に非干渉に構成されると共に、ロボット1全体の動力学は、それらの線形結合で表される。   In this dynamic model, the dynamics of the legs 2 and 2 (the dynamics of the mass points 2m and 2m) and the dynamics of the upper body 24 (the dynamics of the mass point 24m and the flywheel FH) are configured to be non-interfering with each other. At the same time, the dynamics of the entire robot 1 is expressed by their linear combination.

この動力学モデルの挙動(該動力学モデル上でのロボットの動力学)は、以下に示すように数式化される。ただし、説明を簡単にするために、サジタルプレーン(支持脚座標系のX軸及びZ軸を含むXZ平面(矢状面))での運動方程式のみを記述し、ラテラルプレーン(支持脚座標系のY軸及びZ軸を含むYZ平面(前額面))での運動方程式を省略した。   The behavior of this dynamic model (the dynamics of the robot on the dynamic model) is expressed as follows. However, to simplify the explanation, only the equation of motion in the sagittal plane (XZ plane (sagittal plane) including the X axis and Z axis of the support leg coordinate system) is described, and the lateral plane (support leg coordinate system The equation of motion in the YZ plane (frontal plane) including the Y axis and the Z axis is omitted.

説明の便宜上、動力学モデルに関する変数及びパラメータを以下のように定義する。   For convenience of explanation, variables and parameters relating to the dynamic model are defined as follows.


Zsup:支持脚質点鉛直位置
Zswg:遊脚質点鉛直位置
Zb:上体質点鉛直位置
ZGtotal:全体重心鉛直位置
Xsup:支持脚質点水平位置
Xswg:遊脚質点水平位置
Xb:上体質点水平位置
XGtotal:全体重心水平位置
θby:鉛直方向に対するY軸周りの上体姿勢角(傾斜角)
mb:上体質点質量
msup:支持脚質点質量
mswg:遊脚質点質量
mtotal:ロボット総質量(=mb+msup+mswg)
J:フライホイールFHの慣性モーメント
Fx:床反力水平成分
Fz:床反力鉛直成分
My:目標ZMPまわりの床反力モーメント(詳しくは床反力モーメントのY軸周り成分)

なお、本実施形態では、各脚体2の質点2mの位置は、その脚体2の足平22の位置及び姿勢に応じて規定される位置である。また、上体質点24mの位置は、上体24の位置及び姿勢に応じて規定される位置である。また、フライホイールFHの回転角度は、上体姿勢角に一致するものとされる。

Zsup: Support leg mass point vertical position Zswg: Swing leg mass point vertical position Zb: Upper body mass point vertical position ZGtotal: Whole center of gravity vertical position Xsup: Support leg mass point horizontal position Xswg: Swing leg mass point horizontal position Xb: Upper body mass point horizontal position XGtotal: Whole center of gravity horizontal position θby: Body posture angle (tilt angle) around Y axis relative to vertical direction
mb: Mass of upper body mass
msup: Mass of support leg mass
mswg: Free leg mass
mtotal: Total robot mass (= mb + msup + mswg)
J: Moment of inertia of flywheel FH
Fx: Floor reaction force horizontal component
Fz: Floor reaction force vertical component
My: Floor reaction force moment around the target ZMP (specifically, the component around the Y axis of the floor reaction force moment)

In the present embodiment, the position of the mass point 2m of each leg 2 is a position defined according to the position and posture of the foot 22 of the leg 2. The position of the body mass point 24m is a position defined according to the position and posture of the body 24. Further, the rotation angle of the flywheel FH is assumed to coincide with the body posture angle.

また、任意の変数Aに対して、dA/dtはAの1階微分を表わし、d2A/dt2はAの2階微分を表わす。従って、変数Aが変位ならば、dA/dtは速度、d2A/dt2は加速度を意味する。また、gは重力加速度定数を示す。ここでは、gは正の値とする。   For any variable A, dA / dt represents the first derivative of A, and d2A / dt2 represents the second derivative of A. Therefore, if the variable A is displacement, dA / dt means velocity and d2A / dt2 means acceleration. G represents a gravitational acceleration constant. Here, g is a positive value.

上記動力学モデルの運動方程式(動力学モデル上でのロボットの動力学)は、次式01、式02、式03で表される。   The equation of motion of the dynamic model (the dynamics of the robot on the dynamic model) is expressed by the following equation 01, equation 02, and equation 03.


Fz=mb*(g+d2Zb/dt2)+msup*(g+d2Zsup/dt2)
+mswg*(g+d2Zswg/dt2) ……式01
Fx=mb*d2Xb/dt2+msup*d2Xsup/dt2+mswg*d2Xswg/dt2
……式02
My=−mb*(Xb−Xzmp)*(g+d2Zb/dt2)+mb*(Zb−Zzmp)*d2Xb/dt2
−msup*(Xsup−Xzmp)*(g+d2Zsup/dt2)
+msup*(Zsup−Zzmp)*d2Xsup/dt2
−mswg*(Xswg−Xzmp)*(g+d2Zswg/dt2)
+mswg*(Zswg−Zzmp)*d2Xswg/dt2+J*d2θby/dt2
……式03

また、ロボット1の全体重心の位置には次の関係式が成立する。
ZGtotal=(mb*Zb+msup*Zsup+mswg*Zswg)/mtotal ……式04
XGtotal=(mb*Xb+msup*Xsup+mswg*Xswg)/mtotal ……式05

以上が歩容生成装置100の歩容生成処理で使用する動力学モデルである。この動力学モデルでは、ロボット1の全体重心を動かさないように(すなわち、ロボット1に作用する並進力反力が変化しないように)、ロボット1の上体姿勢角を変化させる運動が、フライホイールFHの回転運動として表現される。そして、ロボット1の上体24の並進運動が、上体質点24bの並進運動として表現される。

Fz = mb * (g + d2Zb / dt2) + msup * (g + d2Zsup / dt2)
+ Mswg * (g + d2Zswg / dt2) ...... Formula 01
Fx = mb * d2Xb / dt2 + msup * d2Xsup / dt2 + mswg * d2Xswg / dt2
…… Formula 02
My = -mb * (Xb-Xzmp) * (g + d2Zb / dt2) + mb * (Zb-Zzmp) * d2Xb / dt2
-Msup * (Xsup-Xzmp) * (g + d2Zsup / dt2)
+ Msup * (Zsup-Zzmp) * d2Xsup / dt2
-Mswg * (Xswg-Xzmp) * (g + d2Zswg / dt2)
+ Mswg * (Zswg−Zzmp) * d2Xswg / dt2 + J * d2θby / dt2
...... Formula 03

Further, the following relational expression is established at the position of the entire center of gravity of the robot 1.
ZGtotal = (mb * Zb + msup * Zsup + mswg * Zswg) / mtotal …… Formula 04
XGtotal = (mb * Xb + msup * Xsup + mswg * Xswg) / mtotal ...... Formula 05

The above is the dynamic model used in the gait generation process of the gait generator 100. In this dynamic model, the motion of changing the body posture angle of the robot 1 is a flywheel so as not to move the entire center of gravity of the robot 1 (that is, the translational force reaction force acting on the robot 1 does not change). Expressed as FH rotational motion. The translational motion of the upper body 24 of the robot 1 is expressed as a translational motion of the upper body point 24b.

補足すると、動力学モデルは、前記特許文献1の図10に示したものと異なるものであってもよい。例えば、ロボット1の各リンクに質点を有するような多質点モデルによって、ロボット1の動力学を表現する動力学モデルを使用してもよい。   Supplementally, the dynamic model may be different from that shown in FIG. For example, a dynamic model that expresses the dynamics of the robot 1 may be used by a multi-mass model having a mass at each link of the robot 1.

次に、歩容生成装置100の処理の概略を説明する。歩容生成装置100には、生成すべき目標歩容におけるロボット1の動作の種別(本実施形態では、歩行動作、走行動作、片脚ホッピング動作)を指定するデータや、支持脚側脚体2の足平22の着床時の位置姿勢及びタイミングを指定するデータ等が入力される。そして、歩容生成装置100は、これらの入力データを基に、1歩分の歩容を単位として、その1歩分の目標歩容を順番に生成する。   Next, an outline of processing of the gait generator 100 will be described. The gait generator 100 includes data for specifying the type of motion of the robot 1 in the target gait to be generated (in this embodiment, walking motion, running motion, one-leg hopping motion), and the supporting leg-side leg 2. The data and the like for designating the position and orientation and timing of the foot 22 of the foot when landing are input. Then, the gait generator 100 sequentially generates a target gait for one step in units of the gait for one step based on these input data.

ここで、本実施形態では、「1歩分の歩容」というのは、前記歩行歩容又は走行歩容では、一方の脚体2の着床動作と、これに続く他方の脚体2の着床動作との間の期間分の歩容を意味する。また、前記片脚ホッピング歩容においては、「1歩分の歩容」は、支持脚としての一方の脚体2の着床動作と、該一方の脚体2の次の着床動作との間の期間分の歩容を意味する。   Here, in the present embodiment, “a gait for one step” means that in the walking gait or the running gait, the landing operation of one leg 2 and the subsequent leg 2 are continued. It means the gait for the period between landing operations. In the one-leg hopping gait, “a gait for one step” refers to a landing operation of one leg 2 as a supporting leg and a next landing operation of the one leg 2. It means the gait for the period between.

以降の説明では、新たに生成しようとしている目標歩容(1歩分の目標歩容)を「今回歩容」、その次の目標歩容を「次回歩容」、さらにその次の目標歩容を「次次回歩容」というように呼ぶ。また、「今回歩容」の1つ前に生成した目標歩容を「前回歩容」と呼ぶ。   In the following explanation, the target gait to be newly generated (target gait for one step) is “current gait”, the next target gait is “next gait”, and the next target gait. Is called “next gait”. A target gait generated immediately before the “current time gait” is referred to as a “previous gait”.

上記今回歩容の生成処理においては、歩容生成装置100は、上記入力データを用いて、目標足平位置姿勢軌道、目標床反力鉛直成分軌道、目標ZMP軌道等、今回歩容の一部の構成要素を規定するパラメータとしての今回歩容パラメータを決定する。   In the current time gait generation process, the gait generating device 100 uses the input data to generate a part of the current time gait such as a desired foot position / posture trajectory, a desired floor reaction force vertical component trajectory, and a desired ZMP trajectory. This time gait parameter is determined as a parameter that defines the constituent elements of.

この場合、歩容生成装置100は、ロボット1の運動の継続性を確保し得る今回歩容を生成するために、今回歩容に続く仮想的な周期的歩容(同じパターンのロボット1の運動が一定周期で継続的に繰り返される歩容)としての定常旋回歩容を決定した上で、今回歩容を将来において定常旋回歩容に収束させ得るように、今回歩容パラメータを決定する。そして、歩容生成装置100は、この今回歩容パラメータと前記動力学モデルとを用いて、今回歩容の瞬時値を逐次生成する。   In this case, the gait generator 100 generates a virtual periodic gait following the current gait (the motion of the robot 1 having the same pattern) to generate the current gait that can ensure the continuity of the movement of the robot 1. Gait parameters are determined so that the current time's gait can be converged to the normal turning gait in the future. The gait generator 100 sequentially generates instantaneous values of the current time gait using the current time gait parameters and the dynamic model.

以下に、歩容生成装置100の歩容生成処理の詳細を図6〜図26を参照しつつ説明する。   Details of the gait generating process of the gait generating device 100 will be described below with reference to FIGS.

歩容生成装置100は、図6のフローチャートに示す処理を実行することで、目標歩容を生成する。なお、以降の説明では、前記特許文献1の実施形態に記載されている処理と同じ処理については、詳細な説明を省略することがある。   The gait generator 100 generates a target gait by executing the processing shown in the flowchart of FIG. In the following description, detailed description of the same processing as that described in the embodiment of Patent Document 1 may be omitted.

まず、S010において時刻tを“0”に初期化するなど種々の初期化作業が行なわれる。この処理は、歩容生成装置100の起動時等に行なわれる。   First, various initialization operations such as initializing time t to “0” in S010 are performed. This process is performed when the gait generator 100 is activated.

次いで、S012を経てS014に進み、歩容生成装置100は、制御周期(図6のフローチャートの演算処理周期)毎のタイマ割り込みを待つ。制御周期はΔtである。   Next, the process proceeds to S014 through S012, and the gait generator 100 waits for a timer interrupt for each control cycle (the calculation processing cycle in the flowchart of FIG. 6). The control period is Δt.

次いで、S016に進み、歩容生成装置100は、歩容の切り替わり目であるか否かを判断する。このとき、歩容の切り替わり目である場合には、S018の処理を経て、S020に進む。この場合、S018では、歩容生成装置100は、時刻tを“0”に初期化する。また、S016で歩容の切り替わり目でない場合には、S032に進む。   Next, in S016, the gait generator 100 determines whether or not it is a gait change. At this time, if the gait is switched, the process proceeds to S020 through the process of S018. In this case, in S018, the gait generator 100 initializes the time t to “0”. If the gait is not switched at S016, the process proceeds to S032.

ここで、上記「歩容の切り替わり目」は、前回歩容の生成が完了し、今回歩容の生成を開始するタイミングを意味する。   Here, the “gait changeover” means the timing when generation of the previous time's gait is completed and generation of the current time's gait is started.

S018の次のS020では、歩容生成装置100は、今回歩容及び次回歩容におけるロボット1の動作モードと、次回歩容及び次次回歩容の支持脚座標系(詳しくは、該支持脚座標系の原点の位置及び各座標軸の姿勢)と、今回歩容及び次回歩容の歩容周期とを読み込む。   In S020 next to S018, the gait generator 100 determines the operation mode of the robot 1 in the current time gait and the next time gait, and the support leg coordinate system of the next time and next time gait (specifically, the support leg coordinates). The position of the origin of the system and the posture of each coordinate axis) and the gait cycle of the current time gait and the next time gait.

ここで、ロボット1の動作モードは、ロボット1の動作の種別を指定するデータであり、本実施形態では、歩行動作用、走行動作用、片脚ホッピング動作用のいずれかの動作モードである。   Here, the operation mode of the robot 1 is data designating the type of operation of the robot 1, and in this embodiment, the operation mode is any one of the walking operation mode, the traveling operation mode, and the one-leg hopping operation mode.

また、次回歩容支持脚座標系は、その原点の位置及び座標軸の向き(姿勢)が、次回歩容での支持脚として予定されている脚体2の足平22の着地予定位置姿勢(詳しくは、該足平22の着床中のある時刻(例えば着床開始時)における着地予定位置姿勢)に対応する前記基本着地位置姿勢に応じて前記した関係で規定される支持脚座標系である。すなわち、次回歩容支持脚座標系は、次回歩容での支持脚側脚体2の足平22の着床時の位置姿勢を、該足平22の着地予定位置姿勢に対応する前記基本着地位置姿勢に一致させた状態で、該支持脚側脚体2の足首関節の中心から、該足平22の底面に延ばした垂線が該床面と交わる点を原点とし、且つ、該足平22の前後方向の水平軸と左右方向の水平軸とをそれぞれX軸、Y軸とすると共に鉛直軸をZ軸とする支持脚座標系である。   In the next time's gait support leg coordinate system, the position of the origin and the direction (posture) of the coordinate axis are the planned landing position / posture of the foot 22 of the leg 2 that is planned as the support leg in the next gait (details). Is a support leg coordinate system defined by the above-described relationship according to the basic landing position / posture corresponding to a certain time during landing of the foot 22 (for example, a planned landing position / posture at the start of landing). . That is, the next time's gait supporting leg coordinate system has the basic landing corresponding to the planned landing position / posture of the foot 22 at the time of landing of the foot 22 of the supporting leg side leg 2 in the next time's gait. In a state where it matches the position and orientation, the origin is a point where a perpendicular extending from the center of the ankle joint of the supporting leg side leg 2 to the bottom surface of the foot 22 intersects the floor surface, and the foot 22 This is a support leg coordinate system in which the horizontal axis in the front-rear direction and the horizontal axis in the left-right direction are the X axis and the Y axis, respectively, and the vertical axis is the Z axis.

同様に、次次回歩容支持脚座標系は、その原点の位置及び座標軸の向きが、次次回歩容での支持脚として予定されている脚体2の足平22の着地予定位置姿勢に対応する前記基本着地位置姿勢に応じて前記した関係で規定される支持脚座標系である。   Similarly, in the next gait support leg coordinate system, the position of the origin and the direction of the coordinate axis correspond to the planned landing position / posture of the foot 22 of the leg 2 which is planned as the support leg in the next gait. It is a support leg coordinate system prescribed | regulated by the relationship mentioned above according to the said basic landing position attitude | position.

また、今回歩容周期は、今回歩容の開始から終了までの時間であり、次回歩容周期は、次回歩容の開始から終了までの時間である。   The current time gait cycle is the time from the start to the end of the current time gait, and the next time gait cycle is the time from the start to the end of the next time gait.

S20で歩容生成装置100が読み込む上記の動作モード、支持脚座標系、及び歩容周期は、本実施形態では、ロボット1の外部の操縦装置やサーバ等から制御ユニット26に与えられるロボット1の動作に関する指示情報(例えばロボット1の動作の種別、移動速度、移動方向、移動計画等を指示する情報)や、ロボット1の動作環境(外界)に関する環境情報(例えば床形状情報や地図情報等)、前記傾斜センサ38等を含むセンサ群の出力に基づき認識されるセンシング情報等を基に、制御ユニット26の図示しない処理装置により決定されたものである。   In the present embodiment, the operation mode, the supporting leg coordinate system, and the gait cycle read by the gait generator 100 in S20 are the robot 1 given to the control unit 26 from a control device or server outside the robot 1 in this embodiment. Instruction information related to the operation (for example, information indicating the type of movement of the robot 1, movement speed, movement direction, movement plan, etc.), and environmental information related to the operation environment (external world) of the robot 1 (eg, floor shape information, map information, etc.) These are determined by a processing device (not shown) of the control unit 26 based on sensing information and the like recognized based on the output of the sensor group including the tilt sensor 38 and the like.

なお、上記次回歩容支持脚座標系及び次次回歩容支持脚座標系の代わりに、次回歩容及び次次回歩容のそれぞれにおける支持脚の足平22の前記基本着地位置姿勢の要求値を制御ユニット26で決定しておき、これらの要求値をS20で読み込むようにしてもよい。   Instead of the next gait supporting leg coordinate system and the next gait supporting leg coordinate system, the required value of the basic landing position / posture of the foot 22 of the supporting leg in each of the next gait and the next gait is determined. It may be determined by the control unit 26, and these required values may be read in S20.

図7は、例えば今回歩容及び次回歩容の動作モードが片脚ホッピング動作用の動作モードである場合に、S20で読み込まれる次回歩容支持脚座標系及び次次回歩容支持脚座標系を例示している。この例では、今回歩容及び次回歩容における片脚ホッピング歩容は、右側脚体2Rを支持脚とする歩容であり、今回歩容及び次回歩容のそれぞれの空中期にロボット1が概略右向きに移動している。なお、図示例では、前回歩容は歩行歩容である。また、図7中の足平22は、各支持脚座標系に対応する前記基本着地位置姿勢の足平22を示している。   FIG. 7 shows the next time gait support leg coordinate system and the next time gait support leg coordinate system read in S20 when the operation mode of the current time gait and the next time gait is the operation mode for the single leg hopping operation, for example. Illustrated. In this example, the one-leg hopping gait in the current time gait and the next time gait is a gait with the right leg 2R as the supporting leg, and the robot 1 is roughly in the air during each of the current time gait and the next time gait. It is moving to the right. In the illustrated example, the previous time gait is a walking gait. Further, the foot 22 in FIG. 7 indicates the foot 22 in the basic landing position / posture corresponding to each support leg coordinate system.

次いでS022に進み、歩容生成装置100は、今回歩容に続く仮想的な周期的歩容(今回歩容の将来の収束目標とする仮想的な周期的歩容)としての定常旋回歩容の歩容パラメータを決定する。該歩容パラメータは、本実施形態では、定常旋回歩容における目標足平位置姿勢軌道を規定する足平軌道パラメータ、基準とする上体姿勢軌道を規定する基準上体姿勢軌道パラメータ、目標腕姿勢軌道を規定する腕姿勢軌道パラメータ、目標ZMP軌道を規定するZMP軌道パラメータ、目標床反力鉛直成分軌道を規定する床反力鉛直成分軌道パラメータと、目標床反力水平成分の許容範囲を規定するパラメータとが含まれる。   Next, proceeding to S022, the gait generator 100 determines the normal turning gait as a virtual periodic gait following the current gait (a virtual periodic gait that is a future convergence target of the current gait). Determine gait parameters. In this embodiment, the gait parameters include a foot trajectory parameter that defines a desired foot position / posture trajectory in a normal turning gait, a reference body posture trajectory parameter that defines a reference body posture trajectory, and a target arm posture. Specifies the arm posture trajectory parameter that defines the trajectory, the ZMP trajectory parameter that defines the target ZMP trajectory, the floor reaction force vertical component trajectory parameter that defines the target floor reaction force vertical component trajectory, and the allowable range of the target floor reaction force horizontal component Parameters.

ここで、上記「定常旋回歩容」は、前記特許文献1の実施形態にて説明されている如く、その歩容を繰り返したときに歩容の境界(1周期毎の歩容の境界)においてロボット1の運動状態(ロボット1の各部の位置姿勢や、その変化速度等の運動状態)に不連続が生じないような周期的歩容を意味する。換言すれば、「定常旋回歩容」は、歩容の軌道の不連続を発生することなく、同じパターンの運動を繰り返すことができる周期的歩容である。   Here, the “steady turning gait” is the gait boundary (gait boundary for each cycle) when the gait is repeated as described in the embodiment of Patent Document 1. It means a periodic gait that does not cause discontinuity in the motion state of the robot 1 (the motion state such as the position and orientation of each part of the robot 1 and its changing speed). In other words, the “steady turning gait” is a periodic gait that can repeat the motion of the same pattern without causing discontinuity of the trajectory of the gait.

周期的歩容である定常旋回歩容は、本実施形態では、ロボット1の2歩分の歩容、すなわち今回歩容に続く第1旋回歩容と該第1旋回歩容に続く第2旋回歩容とからなる歩容を1周期分の歩容として、その1周期分の歩容を一定周期で繰り返す歩容である。   In this embodiment, the normal turning gait that is a periodic gait is a gait for two steps of the robot 1, that is, a first turning gait following the current time gait and a second turning following the first turning gait. A gait consisting of gaits is a gait for one cycle, and the gait for one cycle is repeated at a constant cycle.

定常旋回歩容(以降、単に定常歩容ということがある)について補足すると、歩行歩容又は走行歩容の如く、支持脚と遊脚とを2つの脚体で交互に切替える歩容では、定常歩容の1周期分の歩容には、少なくとも2歩分の歩容が含まれる必要がある。一方、支持脚と遊脚とがそれぞれ同じ脚体2に保持される片脚ホッピング歩容にあっては、定常歩容の1周期分の歩容は、1歩分の歩容であってもよい。但し、本実施形態では、片脚ホッピング歩容の生成処理を、歩行歩容又は走行歩容の生成処理と整合させるために、片脚ホッピング歩容においても、定常歩容の1周期分の歩容を2歩分の歩容とする。この場合、本実施形態では、片脚ホッピング歩容の定常歩容では、その第1旋回歩容と第2旋回歩容とは(より正確には、次回歩容支持脚座標系から見た第1旋回歩容と次次回歩容支持脚座標系から見た第2旋回歩容とは)、同一パターンの歩容である。   Supplementing the normal turning gait (hereinafter sometimes referred to simply as the normal gait), the gait in which the support leg and the free leg are alternately switched between the two legs, such as the walking gait or the running gait, is steady. A gait for one cycle of the gait needs to include a gait for at least two steps. On the other hand, in a one-leg hopping gait in which the support leg and the free leg are held by the same leg 2, the gait for one cycle of the normal gait is the gait for one step. Good. However, in the present embodiment, in order to match the one-leg hopping gait generation process with the walking gait or the running gait generation process, even in the one-leg hopping gait, a step for one cycle of the normal gait. The gait is the gait for two steps. In this case, in this embodiment, in the normal gait of the one-leg hopping gait, the first turning gait and the second turning gait (more precisely, the first gait when viewed from the next time gait supporting leg coordinate system). The first turning gait and the second turning gait as viewed from the next time gait supporting leg coordinate system) are gaits having the same pattern.

本実施形態では、片脚ホッピング歩容を生成する場合においても、特許文献1の実施形態と同様に、ロボット1の継続的な運動を可能とする目標歩容を生成するための指標として、次式10により定義される発散成分を用いる。なお、ω0は片脚ホッピング歩容用のある所定の値である。   In this embodiment, even when generating a one-leg hopping gait, as in the embodiment of Patent Document 1, the following is used as an index for generating a target gait that enables continuous movement of the robot 1. The divergent component defined by Equation 10 is used. Note that ω0 is a predetermined value for a one-leg hopping gait.


発散成分=上体質点水平位置+上体質点水平速度/ω0 ……式10

そして、歩容生成装置100は、定常歩容の初期発散成分(定常歩容の開始時刻での上記発散成分の値)を決定した上で、この初期発散成分に、今回歩容の終端発散成分(今回歩容の終了時刻での発散成分の値)を一致させることを指針として、今回歩容を生成する。これにより、将来において定常歩容に収束させ得る今回歩容を生成する。

Divergent component = Upper body point horizontal position + Upper body point horizontal velocity / ω0 ...... Equation 10

Then, the gait generator 100 determines the initial divergent component of the normal gait (the value of the divergent component at the start time of the normal gait), and adds the final divergent component of the current time gait to this initial divergent component. The current time gait is generated with the guideline of matching (the value of the divergent component at the end time of the current time gait). This generates a current time gait that can be converged to a normal gait in the future.

本題に戻り、S022では、歩容生成装置100は、図8のフローチャートに示すサブルーチン処理を実行する。   Returning to the main subject, in S022, the gait generator 100 executes the subroutine processing shown in the flowchart of FIG.

まず、S100において、歩容生成装置100は、今回歩容、第1旋回歩容、第2旋回歩容の順に足平位置姿勢軌道がつながるように、定常歩容の歩容パラメータのうちの足平軌道パラメータを決定する。   First, in S100, the gait generator 100 causes the foot in the gait parameters of the normal gait so that the foot position / posture trajectory is connected in the order of the current time gait, the first turning gait, and the second turning gait. Determine flat trajectory parameters.

ここで、図7に示した如く次回歩容が片脚ホッピング歩容である場合には、定常歩容も片脚ホッピング歩容である。この場合、例えば以下のように足平軌道パラメータが決定される。尚、以降の説明では、支持脚側脚体2の足平22を支持脚足平22と称し、遊脚側脚体2の足平22を遊脚足平22と称する。また、歩容の「初期」、「終端」はそれぞれ歩容の開始時刻、終了時刻、あるいは、それらの時刻における瞬時歩容を意味する。   Here, when the next time's gait is a one-leg hopping gait as shown in FIG. 7, the normal gait is also a one-leg hopping gait. In this case, for example, the foot trajectory parameters are determined as follows. In the following description, the foot 22 of the supporting leg side leg 2 is referred to as a supporting leg foot 22, and the foot 22 of the free leg side leg 2 is referred to as a free leg foot 22. The “initial” and “end” of the gait mean the gait start time, end time, or instantaneous gait at those times, respectively.

足平軌道パラメータは、第1旋回歩容及び第2旋回歩容の初期及び終端のそれぞれにおける支持脚足平及び遊脚足平のそれぞれの位置姿勢、各旋回歩容の歩容周期等から構成される。   Foot trajectory parameters are composed of the position and orientation of the supporting leg foot and the free leg foot at the beginning and the end of the first turning gait and the second turning gait, the gait cycle of each turning gait, etc. Is done.

今回歩容が片脚ホッピング歩容である場合、この足平軌道パラメータのうち、第1旋回歩容初期遊脚足平位置姿勢は、次回歩容支持脚座標系から見た今回歩容終端遊脚足平位置姿勢とされる。   If the current time's gait is a one-leg hopping gait, among the foot trajectory parameters, the first swing gait initial free leg foot position / posture is the current time's gait end play as viewed from the next time's gait supporting leg coordinate system. The leg foot position / posture is assumed.

本実施形態では、次回歩容支持脚座標系から見た今回歩容終端遊脚足平位置姿勢は、あらかじめ設定された所定の位置姿勢(空中に存在する位置姿勢。以降、片脚ホッピング歩容終端遊脚足平位置姿勢という)である。   In the present embodiment, the foot position / posture at the end of the current time's gait viewed from the next time's gait supporting leg coordinate system is a predetermined position / posture (position / posture existing in the air. Hereinafter, one-leg hopping gait) This is referred to as the final free leg foot position / posture).

また、第1旋回歩容初期支持脚足平位置姿勢は、次回歩容支持脚座標系から見た今回歩容終端支持脚足平位置姿勢とされる。   Further, the initial support leg foot position / posture of the first turning gait is the support leg foot position / posture at the end of the current time gait viewed from the next time's gait support leg coordinate system.

この場合、本実施形態では、今回歩容が片脚ホッピング歩容である場合、次回歩容支持脚座標系から見た今回歩容終端支持脚足平位置姿勢は、次回歩容支持脚座標系に対応して定まる前記基本着地位置姿勢(次回歩容支持脚座標の原点の位置とX軸及びY軸の向きとを規定する基本着地位置姿勢)である。すなわち、今回歩容終端支持脚足平位置姿勢は、支持脚足平22の位置姿勢を該今回歩容終端支持脚足平位置姿勢に一致させて着床させた場合に、該支持脚足平22の足首中心から床面に延ばした垂線が該床面と交わる点が、次回歩容支持脚座標系の原点に一致し、且つ、水平面に投影してなる該支持脚足平22の前後方向と左右方向とがそれぞれ次回歩容支持脚座標系のX軸方向とY軸方向とに一致することとなる、基本着地位置姿勢である。   In this case, in this embodiment, when the current time gait is a one-leg hopping gait, the current time gait end support leg foot position / posture viewed from the next time gait support leg coordinate system is the next time gait support leg coordinate system. The basic landing position / posture (basic landing position / posture that defines the position of the origin of the next time's gait support leg coordinates and the directions of the X-axis and the Y-axis). That is, the current leg gait support leg foot position / posture is determined when the position / posture of the support leg foot 22 matches the current leg gait end support leg foot position / posture. The point where the perpendicular extending from the center of the ankle 22 to the floor intersects with the floor is the same as the origin of the next time's gait supporting leg coordinate system, and the longitudinal direction of the supporting leg foot 22 projected onto the horizontal plane And the left-right direction are basic landing position / postures that correspond to the X-axis direction and the Y-axis direction of the next time's gait support leg coordinate system, respectively.

第1旋回歩容終端遊脚足平位置姿勢は、次回歩容支持脚座標系から見た足平位置姿勢で表現され、この足平位置姿勢を次次回歩容支持脚座標系から見た位置姿勢に変換した場合に、前記片脚ホッピング歩容終端遊脚足平位置姿勢に一致するように設定される。   The free leg foot position / posture at the end of the first turning gait is expressed by the foot position / posture viewed from the next time's gait supporting leg coordinate system, and the foot position / posture is viewed from the next time's gait supporting leg coordinate system. When converted into a posture, the position is set so as to coincide with the free leg foot position / posture at the end of the one-leg hopping gait.

第1旋回歩容終端支持脚足平位置姿勢は、次回歩容支持脚座標系から見た足平位置姿勢で表現され、この足平位置姿勢を次次回歩容支持脚座標系から見た位置姿勢に変換した場合に、該次次回歩容支持脚座標系に対応して定まる前記基本着地位置姿勢(次次回歩容支持脚座標系の原点の位置とX軸及びY軸の向きとを規定する前記基本着地位置姿勢)に一致するように設定される。   The foot position / posture at the end of the first turning gait is expressed by the foot position / posture viewed from the next time's gait supporting leg coordinate system, and the foot position / posture is viewed from the next time's gait supporting leg coordinate system. The basic landing position / posture determined in accordance with the next gait support leg coordinate system (the position of the origin of the next gait support leg coordinate system and the directions of the X-axis and the Y-axis are defined when converted into a posture. The basic landing position / posture).

第2旋回歩容初期遊脚足平位置姿勢は、次次回歩容支持脚座標系から見た第1旋回歩容終端遊脚足平位置姿勢(すなわち、前記片脚ホッピング歩容終端遊脚足平位置姿勢)とされる。   The free leg foot position / posture at the initial stage of the second turning gait is the free leg foot position / posture at the end of the first turning gait as viewed from the next time's gait supporting leg coordinate system (that is, the free leg foot at the end of the one leg hopping gait) Flat position).

第2旋回歩容初期支持脚足平位置姿勢は、次次回歩容支持脚座標系から見た第1旋回歩容終端支持脚足平位置姿勢(すなわち、次次回歩容支持脚座標系の原点の位置とX軸及びY軸の向きとを規定する前記基本着地位置姿勢)とされる。   The initial support leg foot position / posture of the second turning gait is the support foot / posture position / posture of the end of the first turning gait as viewed from the next gait support leg coordinate system (that is, the origin of the next gait support leg coordinate system). And the basic landing position / posture that defines the X-axis and Y-axis orientations).

第2旋回歩容終端遊脚足平位置姿勢は、次次回歩容支持脚座標系から見た足平位置姿勢で表現され、次回歩容支持脚座標系から見た第1旋回歩容終端遊脚足平位置姿勢と一致するように設定される。   The free leg foot position / posture at the end of the second turning gait is represented by the foot position / posture as viewed from the next time's gait supporting leg coordinate system, and the first turning gait end position game as viewed from the next time's gait supporting leg coordinate system. It is set to match the leg foot position / posture.

第2旋回歩容終端支持脚足平位置姿勢は、次次回歩容支持脚座標系から見た足平位置姿勢で表現され、次回歩容支持脚座標系から見た第1旋回歩容終端支持脚足平位置姿勢と一致するように設定される。   The foot position / posture at the end of the second turning gait supporting leg is expressed by the foot position / posture as viewed from the next time's gait supporting leg coordinate system, and is supported at the end of the first turning gait as viewed from the next time's gait supporting leg coordinate system. It is set to match the leg foot position / posture.

第1旋回歩容及び第2旋回歩容の歩容周期は、次回歩容周期と同一に設定される。   The gait cycles of the first turning gait and the second turning gait are set to be the same as the next time gait cycle.

以上が、次回歩容が片脚ホッピング歩容である場合にS100で決定される足平軌道パラメータの例である。   The above is an example of the foot trajectory parameters determined in S100 when the next time's gait is a one-leg hopping gait.

次に、S102に進み、目標上体姿勢が追従すべき基準上体姿勢軌道を規定する基準上体姿勢軌道パラメータが決定される。   Next, proceeding to S102, a reference body posture trajectory parameter that defines a reference body posture trajectory that the target body posture should follow is determined.

本実施形態では、片脚ホッピング歩容を繰り返す定常歩容(以降、片脚ホッピング定常歩容ということがある)における基準上体姿勢角は一定値とされ、この一定値の基準上体姿勢角が基準上体姿勢軌道パラメータとして決定される。この基準上体姿勢角は、以下に説明する如く設定された姿勢角(傾斜角)である。   In the present embodiment, the reference body posture angle in a normal gait that repeats a one-leg hopping gait (hereinafter sometimes referred to as a single-leg hopping normal gait) is a constant value, and the reference body posture angle of this constant value is used. Is determined as the reference body posture trajectory parameter. The reference body posture angle is a posture angle (tilt angle) set as described below.

片脚ホッピング定常歩容の基準上体姿勢角のうち、Y軸周り(ピッチ方向)の成分(鉛直方向に対する上体24のY軸周りの傾斜角)は、本実施形態では、XZ平面(サジタルプレーン)で見たロボット1の上体24の体幹軸の方向が鉛直方向となる姿勢角(ロボット1を直立姿勢で起立させた場合の上体姿勢角)に設定される。   Of the reference body posture angle of the one-leg hopping normal gait, the component around the Y axis (pitch direction) (inclination angle around the Y axis of the body 24 with respect to the vertical direction) is the XZ plane (sagittal) in this embodiment. It is set to a posture angle (a body posture angle when the robot 1 is erected in an upright posture) in which the direction of the trunk axis of the upper body 24 of the robot 1 viewed in a plane is a vertical direction.

一方、片脚ホッピング定常歩容の基準上体姿勢角のうち、X軸周り(ロール方向)の成分(鉛直方向に対する上体24のX軸周りの傾斜角)は、YZ平面(ラテラルプレーン)で見たロボット1の上体24の体幹軸の方向が鉛直方向からロボット1の右側又は左側に傾いたものとなる姿勢角に設定される。   On the other hand, of the reference body posture angle of the normal gait for one leg hopping, the component around the X axis (roll direction) (the inclination angle of the body 24 around the X axis with respect to the vertical direction) is the YZ plane (lateral plane). The direction of the trunk axis of the upper body 24 of the viewed robot 1 is set to a posture angle that is inclined from the vertical direction to the right side or the left side of the robot 1.

具体的には、図9に示す如く、片脚ホッピング定常歩容の支持脚が右側脚体2Rである場合には、X軸周りの基準上体姿勢角は、該片脚ホッピング定常歩容の1周期の全期間において、上体24の体幹軸の方向が鉛直方向からX軸周りで正の向き(ロボット1の前方に向かって時計周りの向き)に、所定角度である図中の片脚ホッピング用ロール方向上体姿勢角だけ傾いたものとなる姿勢角に設定される。   Specifically, as shown in FIG. 9, when the supporting leg of the one-leg hopping normal gait is the right leg 2R, the reference body posture angle around the X axis is the one-leg hopping normal gait. In the whole period of one cycle, the direction of the trunk axis of the upper body 24 is a predetermined angle in the positive direction around the X axis from the vertical direction (the clockwise direction toward the front of the robot 1). It is set to a posture angle that is inclined by the body posture angle in the roll direction for leg hopping.

また、片脚ホッピング定常歩容の支持脚が左側脚体2Lである場合には、X軸周りの基準上体姿勢角は、該片脚ホッピング定常歩容の1周期の全期間において、上体24の体幹軸が、鉛直方向からロール方向(X軸周り)で負の向き(ロボット1の前方に向かって反時計周りの向き)に上記片脚ホッピング用ロール方向上体姿勢角だけ傾いたものとなる姿勢角に設定される。   When the supporting leg of the one-leg hopping normal gait is the left leg 2L, the reference body posture angle around the X axis is the upper body in the entire period of one cycle of the one-leg hopping normal gait. 24 trunk axes tilted in the negative direction (counterclockwise direction toward the front of the robot 1) in the roll direction (around the X axis) from the vertical direction by the body posture angle in the roll direction for one leg hopping. It is set to the posture angle that becomes the thing.

なお、本実施形態の説明では、上体24の体幹軸の方向が鉛直方向に一致する状態(上体姿勢が、ロボット1を直立姿勢で起立させた場合の上体姿勢に一致する状態)での基準上体姿勢角を“0”とする。   In the description of the present embodiment, the state of the trunk axis of the body 24 matches the vertical direction (the body posture matches the body posture when the robot 1 stands upright). The reference body posture angle at is set to “0”.

上記片脚ホッピング用ロール方向上体姿勢角は、以下に図10及び図11を参照して説明するような指針で設定されている。   The one-leg hopping roll direction body posture angle is set with a pointer as described below with reference to FIGS. 10 and 11.

図10は、片脚ホッピング歩容における空中期の後の支持脚(図示例では右側脚体2R)の着床状態において、仮に、上体24を傾けずに、上体姿勢角を“0”とした場合のロボット1の動作状態を示している。この動作状態は、図4に示した片脚ホッピング動作における時刻t3とt4との間の時刻での動作状態に相当している。   FIG. 10 shows that the body posture angle is set to “0” without tilting the upper body 24 in the landing state of the supporting leg (right leg 2R in the illustrated example) after the mid-air period in the one-leg hopping gait. The operation state of the robot 1 is shown. This operation state corresponds to an operation state at a time between times t3 and t4 in the one-leg hopping operation shown in FIG.

片脚ホッピング歩容における空中期の後の支持脚の着床直後の状態においては、支持脚足平22(22R)の接地面からロボット1に作用する並進床反力の作用線は、図示の如く、ロボット1の全体重心Ga(ロボット1の全体の重心点Ga)の近くを通ることが必要となる。なぜなら、該作用線が全体重心Gaから大きく離れていると、全体重心Ga周りに床反力によるモーメントが発生し、ロボット1全体が大きく回転してしまうからである。   In the state immediately after landing of the support leg after the mid-air period in the one-leg hopping gait, the action line of the translational floor reaction force acting on the robot 1 from the contact surface of the support leg foot 22 (22R) is shown in the figure. Thus, it is necessary to pass near the entire center of gravity Ga of the robot 1 (the center of gravity point Ga of the entire robot 1). This is because if the action line is far away from the overall center of gravity Ga, a moment due to the floor reaction force is generated around the overall center of gravity Ga, and the entire robot 1 rotates greatly.

この状況において、図10に示す如く、仮に、上体24を傾けずに、上体姿勢角を“0”とした場合には、支持脚の股関節と、並進床反力の作用線との間のY軸方向(ロボット1の横方向)の距離Ofsが比較的大きなものとなる。   In this situation, as shown in FIG. 10, if the body posture angle is set to “0” without tilting the body 24, it is between the hip joint of the support leg and the line of action of the translational floor reaction force. The distance Ofs in the Y-axis direction (lateral direction of the robot 1) is relatively large.

このため、支持脚の股関節には、概略鉛直方向の並進床反力によってロール方向(X軸周り)に比較的大きなモーメントが作用することとなる。特に、空中期の後の支持脚の着床後に、該支持脚を屈曲させることによってロボット1の全体重心Gaの高さが最も低くなる時刻付近(図4の時刻t4付近)での並進床反力が大きくなることから、上記モーメントも大きなものとなる。このため、支持脚の股関節に該モーメントに抗する比較的大きな駆動トルクを作用させることが必要となる。   For this reason, a relatively large moment acts on the hip joint of the support leg in the roll direction (around the X axis) due to the substantially vertical translational floor reaction force. In particular, after the landing of the support leg after the mid-air period, the translational floor reaction near the time when the height of the overall center of gravity Ga of the robot 1 becomes the lowest by bending the support leg (near time t4 in FIG. 4). Since the force is increased, the moment is also increased. For this reason, it is necessary to apply a relatively large driving torque against the moment to the hip joint of the support leg.

そこで、本実施形態では、空中期の後の支持脚の着床状態で該支持脚の股関節に作用するモーメントを低減するために、片脚ホッピング歩容における上体24を、図11に示す如く傾斜させるものとした。この場合、より詳しくは、傾斜させた上体姿勢は、支持脚(図示例では右側脚体2R)の股関節よりも、遊脚(図示例では左側脚体2L)の股関節の方が相対的に高い位置になるように、上体24の体幹軸の方向を鉛直方向から傾斜させてなる上体姿勢である。   Therefore, in this embodiment, in order to reduce the moment acting on the hip joint of the support leg in the landing state of the support leg after the mid-air period, the upper body 24 in the one leg hopping gait is as shown in FIG. Inclined. In this case, more specifically, the tilted body posture is relatively more in the hip joint of the free leg (left leg 2L in the illustrated example) than in the hip joint of the support leg (right leg 2R in the illustrated example). The body posture is obtained by inclining the direction of the trunk axis of the body 24 from the vertical direction so as to be in a high position.

なお、支持脚が右側脚体2Rである場合には、支持脚の股関節よりも、遊脚の股関節の方が相対的に高い位置になるように、上体24の体幹軸を鉛直方向から傾斜させるということは、X軸周りで正の向きに(ロボット1の前方に向かって時計周りに)上体24の体幹軸を鉛直方向に対して傾斜させることによって実現される。支持脚が左側脚体2Lである場合には、支持脚の股関節よりも、遊脚の股関節の方が相対的に高い位置になるように、上体24の体幹軸を鉛直方向から傾斜させるということは、X軸周りで負の向きに(ロボット1の前方に向かって反時計周りに)上体24の体幹軸を鉛直方向に対して傾斜させることによって実現される。   When the support leg is the right leg 2R, the trunk axis of the upper body 24 is set in the vertical direction so that the hip joint of the free leg is positioned higher than the hip joint of the support leg. Inclining is realized by inclining the trunk axis of the upper body 24 with respect to the vertical direction in the positive direction around the X axis (clockwise toward the front of the robot 1). When the support leg is the left leg 2L, the trunk axis of the upper body 24 is inclined from the vertical direction so that the hip joint of the free leg is positioned relatively higher than the hip joint of the support leg. This is realized by inclining the trunk axis of the upper body 24 with respect to the vertical direction in the negative direction around the X axis (counterclockwise toward the front of the robot 1).

このように、ロボット1の上体姿勢を、X軸周りで鉛直方向に対して傾斜させることによって、ロボット1の全体重心Gaが支持脚足平22の接地面のほぼ真上の位置に存在するように支持脚側脚体2の各関節を動作させた状態において、支持脚の股関節と、並進床反力の作用線との間のY軸方向(ロボット1の横方向)の距離Ofsを、上体姿勢角が“0”である場合(図10に示す場合)に比して、図11に示す如く小さくできることとなる。ひいては、並進床反力によって、支持脚の股関節に作用するモーメントを低減できることとなる。   In this way, by tilting the upper body posture of the robot 1 with respect to the vertical direction around the X axis, the overall center of gravity Ga of the robot 1 is located almost directly above the ground contact surface of the support leg foot 22. In the state where the joints of the support leg side leg 2 are operated as described above, the distance Ofs in the Y-axis direction (lateral direction of the robot 1) between the hip joint of the support leg and the action line of the translational floor reaction force is Compared to the case where the body posture angle is “0” (the case shown in FIG. 10), the posture angle can be reduced as shown in FIG. As a result, the moment acting on the hip joint of the support leg can be reduced by the translational floor reaction force.

図9に示した前記片脚ホッピング用ロール方向上体姿勢角は、上記の如く支持脚の股関節に作用するモーメントを低減し得るように設定された、X軸周りの上体姿勢角の基準目標値である。この片脚ホッピング用ロール方向上体姿勢角は、これにロボット1の上体姿勢角を一致させ、且つ、ロボット1の全体重心Gaが着床している支持脚足平22の接地面のほぼ真上の位置に存在するように支持脚側脚体2の各関節を動作させた場合に、上記距離Ofsが“0”、もしくは“0”近傍の所定範囲内の値になるようにあらかじめ設定されている。   The one-leg hopping roll direction body posture angle shown in FIG. 9 is set so as to reduce the moment acting on the hip joint of the support leg as described above. Value. The body posture angle in the roll direction for one leg hopping is substantially equal to the body posture angle of the robot 1 and the ground contact surface of the supporting leg foot 22 on which the entire center of gravity Ga of the robot 1 is landed. When each joint of the supporting leg side leg 2 is moved so that it exists at a position directly above, the distance Ofs is set to “0” or a value within a predetermined range near “0”. Has been.

なお、本実施形態では、片脚ホッピング定常歩容の基準上体姿勢角を該定常歩容の全期間において一定値としたが、該基準上体姿勢角を片脚ホッピング定常歩容の1周期の期間内で連続的に変化させるようにしてもよい。ただし、この場合、空中期の後の支持脚の着床状態となる期間内で(特に、ロボット1に作用する床反力鉛直成分の大きさが最大となる近辺の期間内で)、X軸周りの基準上体姿勢角が上記片脚ホッピング用ロール方向上体姿勢角もしくはそれに近い姿勢角となるように、X軸周りの基準上体姿勢角を変化させる。   In this embodiment, the reference body posture angle of the one-leg hopping normal gait is set to a constant value throughout the normal gait, but the reference body posture angle is set to one cycle of the one-leg hopping normal gait. You may make it change continuously within this period. However, in this case, within the period when the support leg is in the grounded state after the aerial period (particularly, within the period in the vicinity where the magnitude of the vertical component of the floor reaction force acting on the robot 1 is maximum), the X axis The reference body posture angle around the X axis is changed so that the surrounding reference body posture angle is equal to or close to the one-leg hopping roll direction body posture angle.

以降の説明では、特にことわらない限り、「定常歩容」又は「定常旋回歩容」は、片脚ホッピング定常歩容であるとする。   In the following description, unless otherwise specified, it is assumed that the “normal gait” or “normal turning gait” is a one-leg hopping normal gait.

図8の説明に戻って、以上の如く基準上体姿勢軌道パラメータ(基準上体姿勢角)を決定した後、次にS104に進み、歩容生成装置100は、Z軸(あるいは上体体幹軸)周りの両腕体の角運動量変化に関すること以外の腕姿勢軌道パラメータが決定される。たとえば、上体24に対する腕体全体の相対重心位置の軌道を規定するパラメータが腕姿勢軌道パラメータとして決定される。この場合、本実施形態では、腕体全体の相対重心位置は、上体24に対して一定に維持されるように設定される。   Returning to the description of FIG. 8, after determining the reference body posture trajectory parameter (reference body posture angle) as described above, the process proceeds to S <b> 104, and the gait generator 100 determines the Z axis (or the body trunk). Arm posture trajectory parameters other than those related to changes in angular momentum of both arms around the axis) are determined. For example, a parameter that defines the trajectory of the relative center of gravity position of the entire arm body with respect to the upper body 24 is determined as the arm posture trajectory parameter. In this case, in the present embodiment, the relative center-of-gravity position of the entire arm body is set to be kept constant with respect to the upper body 24.

次に、S106に進み、歩容生成装置100は、床反力鉛直成分軌道パラメータを決定する。具体的には、片脚ホッピング定常歩容の床反力鉛直成分軌道は、例えば図12に示すようなパターンで設定される。そのパターンでは、第1旋回歩容及び第2旋回歩容のいずれにおいても、片脚支持期(片脚ホッピング歩容の支持脚が着床している期間)では床反力鉛直成分が台形状に変化し、空中期では床反力鉛直成分が“0”に維持される。そして、このパターンの折れ点の時刻や、台形部分の高さ(ピーク値)が床反力鉛直成分軌道パラメータとして決定される。   Next, proceeding to S106, the gait generator 100 determines a floor reaction force vertical component trajectory parameter. Specifically, the floor reaction force vertical component trajectory of the one-leg hopping normal gait is set in a pattern as shown in FIG. 12, for example. In that pattern, in both the first turning gait and the second turning gait, the floor reaction force vertical component is trapezoidal during the one-leg support period (the period during which the support leg of the one-leg hopping gait is landing). The floor reaction force vertical component is maintained at “0” in the air. Then, the break point time of the pattern and the height (peak value) of the trapezoidal portion are determined as the floor reaction force vertical component trajectory parameters.

この床反力鉛直成分軌道パラメータは、片脚ホッピング定常歩容の1周期分の期間における床反力鉛直成分の平均値が、ロボット1の全体に作用する重力と同じ大きさで反対向きになるように決定される。これは、定常歩容のあらゆる状態量(ロボット1の各部の位置、姿勢、速度等の運動状態量)についての初期状態(定常歩容の第1旋回歩容の支持脚座標系から見た該第1旋回歩容の初期状態)と終端状態(定常歩容の第2旋回歩容に続く第1旋回歩容の支持脚座標系から見た該第2旋回歩容の終端状態)とが一致しているという条件(以下、この条件を定常歩容の境界条件ということがある)を満足する必要があるからである。   In this floor reaction force vertical component trajectory parameter, the average value of the floor reaction force vertical component in the period of one cycle of the one-leg hopping normal gait is the same magnitude as the gravity acting on the entire robot 1 and is in the opposite direction. To be determined. This is the initial state of all state quantities of the normal gait (motion state quantities such as the position, posture, speed, etc. of each part of the robot 1) as seen from the supporting leg coordinate system of the first turning gait of the normal gait. The initial state of the first turning gait) and the terminal state (the terminal state of the second turning gait as seen from the supporting leg coordinate system of the first turning gait following the second turning gait of the normal gait) are the same. This is because it is necessary to satisfy a condition that it is satisfied (hereinafter, this condition may be referred to as a boundary condition of a normal gait).

次いで、S108に進み、歩容生成装置100は、上記のごとく設定した床反力鉛直成分軌道に応じて、床反力水平成分の許容範囲[Fxmin,Fxmax](より詳しくはこれを規定するパラメータ)を設定する。   Next, in S108, the gait generator 100 determines the floor reaction force horizontal component permissible range [Fxmin, Fxmax] (more specifically, parameters defining this) according to the floor reaction force vertical component trajectory set as described above. ) Is set.

この許容範囲[Fxmin,Fxmax]は、例えば図13に示す如く設定される。図13の負側の折れ線が床反力水平成分許容下限値Fxmin、正側の折れ線が床反力水平成分許容上限値Fxmaxを表す。   The allowable ranges [Fxmin, Fxmax] are set as shown in FIG. 13, for example. The negative broken line in FIG. 13 represents the floor reaction force horizontal component allowable lower limit value Fxmin, and the positive broken line represents the floor reaction force horizontal component allowable upper limit value Fxmax.

これらの床反力水平成分許容下限値Fxmin及び床反力水平成分許容上限値Fxmaxは、それらの大きさ(絶対値)が、支持脚足平22と床面との間で発生可能な摩擦力の大きさの上限値を超えないように設定される。   These floor reaction force horizontal component permissible lower limit value Fxmin and floor reaction force horizontal component permissible upper limit value Fxmax are the frictional force that can be generated between the support leg foot 22 and the floor surface in terms of their magnitude (absolute value). It is set so as not to exceed the upper limit of the size of.

図示の例では、Fxmin及びFxmaxは、S106で決定した床反力鉛直成分に応じて、次式12a,12bより設定される。なお、ここでは、説明の便宜上、床面は水平面であるとしている。   In the illustrated example, Fxmin and Fxmax are set from the following expressions 12a and 12b according to the floor reaction force vertical component determined in S106. Here, for convenience of explanation, the floor is assumed to be a horizontal plane.


Fxmin=−ka*μ*床反力鉛直成分 ……式12a
Fxmax=ka*μ*床反力鉛直成分 ……式12b

これらの式12a,12bにおけるkaは正の定数(<1)、μは足平22と床面との間の摩擦係数である。この場合、床反力水平成分許容範囲を規定するパラメータとしては、例では、式12a,12bにおける(ka*μ)の値を用いることができる。

Fxmin = −ka * μ * Floor reaction force vertical component …… Formula 12a
Fxmax = ka * μ * Floor reaction force vertical component ...... Formula 12b

In these equations 12a and 12b, ka is a positive constant (<1), and μ is a coefficient of friction between the foot 22 and the floor. In this case, as a parameter for defining the floor reaction force horizontal component allowable range, in the example, the value of (ka * μ) in Expressions 12a and 12b can be used.

なお、床反力水平成分許容範囲は、足平22と床面との間で発生可能な摩擦力の限界内であれば、他の手法により設定してもよい。   The floor reaction force horizontal component allowable range may be set by another method as long as it is within the limit of the frictional force that can be generated between the foot 22 and the floor surface.

次いで、S110に進み、歩容生成装置100は、片脚ホッピング定常歩容の目標ZMP軌道を規定するZMP軌道パラメータを決定する。この場合、該ZMP軌道パラメータは、これにより規定される目標ZMPが例えば次のように変化するように決定される。   Next, proceeding to S110, the gait generator 100 determines a ZMP trajectory parameter that defines a target ZMP trajectory of the one-leg hopping normal gait. In this case, the ZMP trajectory parameter is determined so that the target ZMP defined thereby changes as follows, for example.

すなわち、片脚ホッピング定常歩容の第1旋回歩容における目標ZMP軌道は、例えば図7の次回歩容支持脚座標系に対応する支持脚足平22(図示例では22R)と次次回歩容支持脚座標系に対応する支持脚足平22(図示例では22R)との間の目標ZMP軌道で示す如く決定される。なお、図7に示す目標ZMP軌道のうち、実線で示す部分は、支持脚足平22が着床している状態での目標ZMP軌道を示し、破線で示す部分は空中期での目標ZMP軌道を示している。   That is, the target ZMP trajectory in the first turning gait of the one-leg hopping normal gait is, for example, the support leg foot 22 (22R in the illustrated example) corresponding to the next gait support leg coordinate system of FIG. It is determined as shown by the target ZMP trajectory with the support leg foot 22 (22R in the illustrated example) corresponding to the support leg coordinate system. Of the target ZMP trajectory shown in FIG. 7, the solid line indicates the target ZMP trajectory when the support leg foot 22 is landing, and the broken line indicates the target ZMP trajectory in the air phase. Is shown.

図7に示す例では、次回歩容支持脚座標系に対応する支持脚足平22(図示例では22R)の接地面内のほぼ中央の点が片脚ホッピング定常歩容の初期(第1旋回歩容の初期)の目標ZMPとして設定される。また、次次回歩容支持脚座標系に対応する支持脚足平22(図示例では22R)の接地面内のほぼ中央の点が第1旋回歩容の終端の目標ZMPとして設定される。そして、第1旋回歩容における目標ZMP軌道は、その初期の目標ZMPから終端の目標ZMPまでZMPの位置が連続的に変化していくように設定される。この場合、片脚支持期における目標ZMPは、該片脚支持期の一部の期間(例えば片脚支持期の開始直後の期間)において、一定に保つようにしてもよい。   In the example shown in FIG. 7, the substantially center point in the contact surface of the supporting leg foot 22 (22R in the illustrated example) corresponding to the next time gait supporting leg coordinate system is the initial (first turning) of the one-leg hopping normal gait. It is set as the target ZMP in the initial stage of the gait. In addition, a substantially center point within the contact surface of the support leg foot 22 (22R in the illustrated example) corresponding to the next time gait support leg coordinate system is set as a target ZMP at the end of the first turning gait. The target ZMP trajectory in the first turning gait is set such that the position of the ZMP continuously changes from the initial target ZMP to the final target ZMP. In this case, the target ZMP in the one-leg support period may be kept constant during a part of the one-leg support period (for example, a period immediately after the start of the one-leg support period).

図示は省略するが、片脚ホッピング定常歩容の第2旋回歩容における目標ZMP軌道も上記と同様に設定される。   Although illustration is omitted, the target ZMP trajectory in the second turning gait of the one-leg hopping normal gait is also set in the same manner as described above.

この場合、第1旋回歩容及び第2旋回歩容のそれぞれの初期及び終端における目標ZMPや、空中期の開始直前(片脚支持期の終了直前)の目標ZMP等が、片脚ホッピング定常歩容のZMP軌道パラメータとして決定される。   In this case, the target ZMP at the initial stage and the end of each of the first turning gait and the second turning gait, the target ZMP immediately before the start of the aerial period (immediately before the end of the one-leg support period), etc. Is determined as the ZMP trajectory parameter.

なお、片脚支持期における目標ZMPは、支持脚足平22の接地面の境界に近づき過ぎないように(所謂、安定余裕が高くなるように)設定することが望ましい。また、目標ZMPは急激に変化しないように設定することが望ましい。   The target ZMP in the one-leg support period is desirably set so as not to approach the boundary of the ground contact surface of the support leg foot 22 (so as to increase the so-called stability margin). The target ZMP is preferably set so as not to change rapidly.

次いで、S112に進み、歩容生成装置100は、定常歩容の1周期の初期時刻Ts及び終端時刻Teを以下のように再定義する。   Next, in S112, the gait generator 100 redefines the initial time Ts and the end time Te of one cycle of the normal gait as follows.

本実施形態では、定常歩容の決定を容易にするために、定常歩容を決定するまでは、定常歩容の1歩の初期時刻Ts及び終端時刻Teを便宜上、図12に示した如く定める。すなわち、第1旋回歩容の片脚支持期の後半において床反力鉛直成分がある程度減少した時刻Tsが定常歩容の初期時刻Tsとして設定される。   In this embodiment, in order to facilitate the determination of the normal gait, the initial time Ts and the end time Te of one step of the normal gait are determined as shown in FIG. 12 for the sake of convenience until the normal gait is determined. . That is, the time Ts when the floor reaction force vertical component is reduced to some extent in the second half of the one-leg support period of the first turning gait is set as the initial time Ts of the normal gait.

また、この初期時刻Tsに、定常歩容の1周期Tcyc(第1旋回歩容と第2旋回歩容との総和の時間)を加えてなる時刻が定常歩容の終端時刻Teとして設定される。   Further, a time obtained by adding one cycle Tcyc of the normal gait (the total time of the first turning gait and the second turning gait) to the initial time Ts is set as the end time Te of the normal gait. .

本実施形態では、定常歩容を決定した後に、定常歩容の初期時刻を本来の時刻(支持脚足平22の着地当初の時刻)に戻す。以下の説明では、定常歩容の本来の初期時刻を“0”とし、定常歩容を決定するまで用いる上記初期時刻Tsと区別する。   In this embodiment, after the normal gait is determined, the initial time of the normal gait is returned to the original time (the time when the support leg foot 22 landed). In the following description, the original initial time of the normal gait is set to “0”, and is distinguished from the initial time Ts used until the normal gait is determined.

以上が、図6のS022の処理の詳細である。   The above is the details of the processing in S022 of FIG.

図6に戻って、歩容生成装置100は、上記の如くS022の処理を実行した後、S024に進み、定常歩容の初期状態を算出する。ここで算出する初期状態は、具体的には、定常歩容の初期上体位置速度(初期上体位置及び初期上体速度)、初期発散成分、初期上体姿勢角及びその角速度である。これらの初期状態の算出は、図14のフローチャートに示す処理によって、探索的に行なわれる。   Returning to FIG. 6, the gait generator 100 executes the process of S022 as described above, and then proceeds to S024 to calculate the initial state of the normal gait. Specifically, the initial state calculated here is the initial body position velocity (initial body position and initial body velocity) of the normal gait, the initial divergence component, the initial body posture angle, and the angular velocity thereof. The calculation of these initial states is carried out exploratively by the processing shown in the flowchart of FIG.

以下説明すると、まず、S200において、歩容生成装置100は、定常歩容パラメータ(図6のS022で決定した歩容パラメータ)に基づいて、定常歩容の目標足平位置姿勢、目標腕姿勢、および目標上体姿勢角の初期状態(初期時刻Tsでの状態)を決定する。ここで「状態」とは、位置又は姿勢とその時間的変化率(位置又は姿勢の変化速度)との組を意味する。   To describe below, first, in S200, the gait generator 100 determines the desired foot position / posture, the desired arm posture of the normal gait based on the normal gait parameters (gait parameters determined in S022 of FIG. 6), And the initial state (state at the initial time Ts) of the target body posture angle is determined. Here, the “state” means a set of a position or posture and a temporal change rate (change speed of the position or posture).

この場合、支持脚側の足平位置姿勢の初期状態と、遊脚側の足平位置姿勢の初期状態とは、図8のS100で決定した足平軌道パラメータに基づいて決定される。   In this case, the initial state of the foot position / posture on the support leg side and the initial state of the foot position / posture on the free leg side are determined based on the foot trajectory parameters determined in S100 of FIG.

具体的には、片脚ホッピング定常歩容における支持脚側の足平位置姿勢の初期状態に関しては、前記第1旋回歩容初期支持脚足平位置姿勢から第1旋回歩容終端支持脚足平位置姿勢に至る支持脚足平22の位置姿勢軌道が、前記特許文献1の実施形態で走行歩容における足平位置姿勢軌道を生成する場合と同様に、有限時間整定フィルタを用いて生成される。そして、この足平位置姿勢軌道における初期時刻Tsでの位置及び姿勢と、その位置及び姿勢のそれぞれの変化速度(時間的変化率)とが、支持脚側の足平位置姿勢の初期状態として決定される。   Specifically, with regard to the initial state of the foot position / posture on the support leg side in the one-leg hopping normal gait, the foot leg / posture at the end of the first turning gait from the first foot position / posture of the first turning gait initial supporting gait. The position / posture trajectory of the supporting leg foot 22 reaching the position / posture is generated by using a finite time settling filter in the same manner as the case of generating the foot position / posture trajectory in the running gait in the embodiment of Patent Document 1. . Then, the position and posture at the initial time Ts in the foot position / posture trajectory, and the respective change speeds (temporal change rates) of the position and posture are determined as the initial state of the foot position / posture on the supporting leg side. Is done.

同様に、片脚ホッピング定常歩容における遊脚側の足平位置姿勢の初期状態に関しては、前記第1旋回歩容初期遊脚足平位置姿勢から第1旋回歩容終端遊脚足平位置姿勢に至る遊脚足平22の位置姿勢軌道が、有限時間整定フィルタを用いて生成される。そして、この足平位置姿勢軌道における初期時刻Tsでの位置及び姿勢と、その位置及び姿勢のそれぞれの変化速度とが、遊脚側の足平位置姿勢の初期状態として決定される。   Similarly, regarding the initial state of the foot position / posture on the free leg side in the one-leg hopping normal gait, the first leg position / posture at the end of the first turning gait from the initial foot position / posture of the first turning gait. The position / orientation trajectory of the free leg foot 22 is generated using a finite time settling filter. Then, the position and posture at the initial time Ts in the foot position / posture trajectory and the changing speeds of the position and posture are determined as the initial state of the foot position / posture on the free leg side.

なお、この場合、片脚ホッピング定常歩容の空中期における支持脚足平や遊脚足平の高さ(鉛直方向の位置)の最大値は、例えば、前記第1旋回歩容初期支持脚足平位置姿勢に対応する支持脚足平の位置と前記第1旋回歩容終端支持脚足平位置姿勢に対応する支持脚足平の位置との間の距離や、第1旋回歩容の歩容周期等に応じて決定される。   In this case, the maximum value of the height (vertical position) of the supporting leg foot and the free leg foot in the mid-air period of the one-leg hopping normal gait is, for example, the first supporting leg leg in the first turning gait. The distance between the position of the supporting leg foot corresponding to the flat position and posture and the position of the supporting leg foot corresponding to the end supporting leg foot position and posture of the first turning gait, and the gait of the first turning gait. It is determined according to the period or the like.

また、目標腕姿勢の初期状態は、図8のS104で決定した腕姿勢軌道パラメータに基づいて時刻Tsにおける腕姿勢(上体24に対する両腕体の全体重心位置等)とその変化速度とを求めることで決定される。   In addition, the initial state of the target arm posture is obtained based on the arm posture trajectory parameter determined in S104 of FIG. 8 and the arm posture at the time Ts (the overall center of gravity position of both arms with respect to the upper body 24) and the rate of change thereof. Is determined.

また、目標上体姿勢角の初期状態は、図8のS102で決定した基準上体姿勢軌道パラメータにより規定される時刻Tsでの基準上体姿勢角及びその角速度が該目標上体姿勢角の初期状態として決定される。なお、本実施形態では、片脚ホッピング定常歩容における基準上体姿勢角は一定値であるので、目標上体姿勢角の角速度の初期状態は“0”である。   In addition, the initial state of the target body posture angle is that the reference body posture angle and its angular velocity at the time Ts defined by the reference body posture trajectory parameter determined in S102 of FIG. Determined as a state. In this embodiment, since the reference body posture angle in the one-leg hopping normal gait is a constant value, the initial state of the angular velocity of the target body posture angle is “0”.

次いで歩容生成装置100は、S202において初期上体水平位置速度の候補(時刻Tsでの上体24の水平位置及び水平速度の候補)である(Xs,Vxs)(Xs:水平位置、Vxs:水平速度)を仮決めする。ここで仮決めする候補(Xs,Vxs)は、任意でよいが、例えば前回歩容の生成時に求めた定常歩容の初期状態(時刻Tsでの状態)における上体水平位置速度を候補(Xs,Vxs)として仮決めすればよい。   Next, in S202, the gait generator 100 is an initial body horizontal position speed candidate (horizontal position and horizontal speed candidate of the body 24 at time Ts) (Xs, Vxs) (Xs: horizontal position, Vxs: (Horizontal speed) is provisionally determined. The candidates (Xs, Vxs) to be tentatively determined here may be arbitrary. For example, the body horizontal position speed in the initial state (state at time Ts) of the normal gait obtained at the time of generating the previous gait is a candidate (Xs , Vxs).

尚、説明を簡略にするため、サジタルプレーン(XZ平面)上でX軸方向での定常歩容の初期状態(初期上体水平位置速度)を探索する場合を例にとって説明する。ただし、実際には位置及び速度のいずれについても、X軸方向と、Y軸方向とで別々に、あるいは同時に定常歩容の初期状態(定常歩容の前記境界条件を満たす初期状態)を探索する必要がある。   In order to simplify the description, a case where an initial state (initial body horizontal position speed) of a normal gait in the X-axis direction is searched on the sagittal plane (XZ plane) will be described as an example. In practice, however, the initial state of the normal gait (the initial state satisfying the boundary condition of the normal gait) is searched separately for the position and the velocity separately in the X-axis direction and the Y-axis direction or simultaneously. There is a need.

探索的な決定手法としては、擬似ヤコビアン(感度マトリックス)を求め、最急降下法などにより次候補を決定する方法や、シンプレックス法などを用いればよい。本実施形態では、例えば最急降下法を用いる。   As an exploratory determination method, a pseudo Jacobian (sensitivity matrix) is obtained, and the next candidate is determined by the steepest descent method or the simplex method. In the present embodiment, for example, the steepest descent method is used.

次いで、S204を経てS206に進み、歩容生成装置100は、定常歩容の初期時刻(時刻Ts)での上体24の鉛直位置(Z軸方向位置)Zs及び鉛直速度(Z軸方向速度)Vzsの組である初期上体鉛直位置速度(Zs,Vzs)を決定する。   Next, the process proceeds to S206 via S204, and the gait generator 100 determines the vertical position (Z-axis direction position) Zs and the vertical speed (Z-axis direction speed) of the body 24 at the initial time (time Ts) of the normal gait. An initial body vertical position velocity (Zs, Vzs) which is a set of Vzs is determined.

初期上体鉛直速度Vzsは、本実施形態では例えば以下のように決定される。   The initial body vertical velocity Vzs is determined in the present embodiment as follows, for example.

ロボット1には、動力学的関係として、次式が成立する。   The following formula is established for the robot 1 as a dynamic relationship.


終端全体重心鉛直位置−初期全体重心鉛直位置
=(床反力鉛直成分/ロボットの全体質量)の2階積分
+重力加速度の2階積分
+初期全体重心鉛直速度*1周期の時間
…式13

但し、式13の重力加速度は負の値とする。

Terminal total center-of-gravity vertical position-initial total center-of-gravity vertical position = (floor reaction force vertical component / total mass of robot) + second-order integral + gravity acceleration second-order integral + initial total center-of-gravity vertical velocity * 1 period time
... Formula 13

However, the gravitational acceleration of Equation 13 is a negative value.

また、定常歩容では、終端全体重心鉛直位置と初期全体重心鉛直位置は一致するので、上記の式13の右辺は“0”にならなければならない。従って、これらの関係から初期全体重心鉛直速度を求めることができる。   Further, in the normal gait, the terminal overall center-of-gravity vertical position and the initial overall center-of-gravity vertical position coincide with each other, so the right side of Equation 13 must be “0”. Therefore, the initial overall center-of-gravity vertical velocity can be obtained from these relationships.

具体的には、まず、前記図8のS106で設定した床反力鉛直成分軌道パラメータから算出される床反力鉛直成分をロボット1の全体質量で割った値を、定常歩容の1周期の期間(時刻Tsから時刻Teまでの期間)で2階積分することにより、床反力鉛直成分による全体重心移動量(式13の右辺第1項)が求められる。   Specifically, first, a value obtained by dividing the floor reaction force vertical component calculated from the floor reaction force vertical component trajectory parameter set in S106 of FIG. 8 by the total mass of the robot 1 is obtained as one cycle of the normal gait. By performing second-order integration over a period (period from time Ts to time Te), the total center-of-gravity movement amount (first term on the right side of Equation 13) by the floor reaction force vertical component is obtained.

さらに、重力加速度を定常歩容の1周期の期間で2階積分することにより、重力による全体重心移動量(式13の右辺第2項)が求められる。そして、上記の如く求めた床反力による全体重心移動量と重力による全体重心移動量との和の符号を反転させたものを、定常歩容の1周期Tcycの時間で割ることにより、初期全体重心鉛直速度が求められる。   Furthermore, the total center-of-gravity movement amount due to gravity (the second term on the right side of Equation 13) is obtained by integrating the gravitational acceleration on the second floor in the period of one cycle of the normal gait. Then, by inverting the sign of the sum of the total center-of-gravity movement amount due to the floor reaction force and the total gravity center movement amount due to gravity as described above, dividing by the time of one cycle Tcyc of the normal gait, the initial total The center-of-gravity vertical velocity is determined.

次に、初期上体鉛直位置Zsを求めるために、次式14を用いて、時刻“0”での全体重心鉛直速度が求められる。この場合、次式14における時刻Tsの全体重心鉛直速度には、式13に基づいて上記の通り求めた値を代入する。また、積分期間は時刻“0”から時刻Tsまでの期間とする。   Next, in order to obtain the initial body vertical position Zs, the overall center-of-gravity vertical velocity at time “0” is obtained using the following equation (14). In this case, the value obtained as described above based on Equation 13 is substituted for the overall center-of-gravity vertical velocity at time Ts in Equation 14 below. The integration period is a period from time “0” to time Ts.


時刻Tsの全体重心鉛直速度−時刻“0”の全体重心鉛直速度
=(床反力鉛直成分/ロボットの全体質量)の1階積分
+重力加速度の1階積分
…式14
(ただし、重力加速度は負の値とする。)

次に、例えば、本願出願人が先に特開平10−86080号公報で提案した上体高さ決定手法を用いて時刻“0”における上体鉛直位置が決定される。このとき、時刻“0”における足平位置姿勢(図8のS100で決定した第1旋回歩容初期支持脚足平位置姿勢及び第1旋回歩容初期遊脚足平位置姿勢)と、各脚体2の膝部の曲げ角に関する所定の幾何学的条件とに基づいて、時刻“0”での各脚体2,2の膝部が伸び切らないような上体鉛直位置(上体高さ)が決定される。

Total center-of-gravity vertical velocity at time Ts−total center-of-gravity vertical velocity at time “0” = (first floor integral of floor reaction force vertical component / total mass of robot) + first-order integral of gravity acceleration
... Formula 14
(However, gravity acceleration is a negative value.)

Next, for example, the body vertical position at time “0” is determined using the body height determination method previously proposed by the applicant of the present application in Japanese Patent Laid-Open No. 10-86080. At this time, the foot position / posture at the time “0” (the first foot position / posture of the first turning gait initial supporting gait determined in S100 of FIG. 8 and the foot position / posture of the first swing gait initial free leg) and each leg Based on a predetermined geometric condition regarding the bending angle of the knee of the body 2, the body vertical position (body height) at which the knee of each leg 2, 2 does not fully extend at time “0”. Is determined.

具体的には、支持脚側脚体2の膝曲げ角をθsup、遊脚側脚体2の膝曲げ角をθswgとしたとき、例えばそれらの膝曲げ角θsup,θswgの正弦値の逆数の和がある所定値(有限値)になるように、上体鉛直位置が決定される。ここで、膝曲げ角θsup,θswgは、各脚体2の大腿部の軸心に対する下腿部の軸心の角度であり、各脚体2が伸びきった状態から膝部を曲げていくに伴い、“0”から増加していく角度である。   Specifically, when the knee bending angle of the supporting leg side leg 2 is θsup and the knee bending angle of the free leg side leg 2 is θswg, for example, the sum of the reciprocals of the sine values of the knee bending angles θsup and θswg The body vertical position is determined so that becomes a predetermined value (finite value). Here, the knee bending angles θsup and θswg are angles of the axis of the lower leg with respect to the axis of the thigh of each leg 2, and the knee is bent from the state where each leg 2 is fully extended. Accordingly, the angle increases from “0”.

次に、このように決定した時刻“0”における上体鉛直位置や、足平位置姿勢などから時刻“0”における全体重心鉛直位置が求められる。例えば図5に示したモデルに対応する前記式04のキネマティクスモデルを用いることで、時刻“0”における全体重心鉛直位置が求められる。   Next, the total center-of-gravity vertical position at time “0” is obtained from the vertical body position at time “0” and the foot position / posture determined as described above. For example, by using the kinematic model of the equation 04 corresponding to the model shown in FIG. 5, the overall center-of-gravity vertical position at time “0” is obtained.

具体的には、時刻“0”での上体鉛直位置と上体姿勢角とから上体質点24mの鉛直位置が求められる。また、時刻“0”での支持脚足平位置姿勢及び遊脚足平位置姿勢(これらは、図8のS100で設定した第1旋回歩容初期支持脚足平位置姿勢及び第1旋回歩容初期遊脚足平位置姿勢である)とからそれぞれ支持脚質点2m及び遊脚質点2mの鉛直位置が求められる。そして、これらの求めた上体質点24m、支持脚質点2m及び遊脚質点2mの鉛直位置を、前記式04のZb、Zsup、Zswgに代入することで、全体重心鉛直位置(式04のZGtotal)が求められる。なお、ロボット1のより厳密なモデル(例えば、ロボット1の各リンクに対応する質点を有するモデル)を用い、時刻“0”での上体水平位置や腕姿勢をも考慮して、時刻“0”での全体重心鉛直位置を求めるようにしてもよい。   Specifically, the vertical position of the body mass point 24m is obtained from the body vertical position and body posture angle at time “0”. Also, the supporting leg foot position / posture and the free leg foot position / posture at time “0” (these are the first supporting gait initial position / posture and the first turning gait set in S100 of FIG. 8). The vertical positions of the supporting leg mass point 2m and the free leg mass point 2m are obtained respectively. Then, by substituting the obtained vertical positions of the upper body mass point 24m, the supporting leg mass point 2m, and the free leg mass point 2m into Zb, Zsup, and Zswg in the above-described equation 04, the total center-of-gravity vertical position (ZGtotal in the equation 04) Is required. It should be noted that a more rigorous model of the robot 1 (for example, a model having a mass point corresponding to each link of the robot 1) is used and the horizontal position and arm posture of the upper body at the time “0” are also taken into consideration. The total center-of-gravity vertical position at “” may be obtained.

次に、前記式13において、上記の如く求めた時刻“0”での全体重心鉛直位置を同式13の左辺の初期全体重心鉛直位置に代入し、上記の如く求めた時刻“0”での全体重心鉛直速度を同式13の右辺の初期全体重心鉛直速度に代入し、さらに、同式13の1周期の時間をTs(=時刻“0”から時刻Tsまでの時間)とし、積分期間を時刻“0”から時刻Tsまでの期間とすることで、式13の左辺の終端全体重心鉛直位置の値が算出され、この算出値が初期(時刻Ts)全体重心鉛直位置として得られる。   Next, in Formula 13, the overall center of gravity vertical position at time “0” obtained as described above is substituted into the initial overall center of gravity vertical position on the left side of Equation 13, and at time “0” obtained as described above. Substituting the total center-of-gravity vertical velocity into the initial total center-of-gravity vertical velocity on the right side of equation (13), and further assuming that one cycle time of equation (13) is Ts (= time from time “0” to time Ts), and the integration period is By setting the period from time “0” to time Ts, the value of the terminal overall center of gravity vertical position on the left side of Equation 13 is calculated, and this calculated value is obtained as the initial (time Ts) overall center of gravity vertical position.

さらに、この求めた初期(時刻Ts)全体重心鉛直位置と時刻Tsにおける足平位置姿勢(S200で決定された初期状態の足平位置姿勢)とから、ロボット1のモデル(例えば式04のキネマティクスモデル)を用いて、初期(時刻Ts)上体鉛直位置Zsが求められる。   Further, from the obtained initial (time Ts) overall center-of-gravity vertical position and the foot position / posture at the time Ts (the foot position / posture in the initial state determined in S200), a model of the robot 1 (for example, kinematics of Formula 04). Model) is used to determine the initial (time Ts) body vertical position Zs.

具体的には、時刻Tsにおける支持脚及び遊脚の各平位置姿勢から、図5に示したモデルの支持脚質点2m及び遊脚質点2mの鉛直位置が求められる。そして、これらの鉛直位置と、上記の如く求めた初期(時刻Ts)全体重心鉛直位置とを式04に適用することで、上体質点24mの鉛直位置(式04のZb)が求められる。そして、この上体質点24mの鉛直位置と時刻Tsでの上体姿勢(S200で決定された初期状態の上体姿勢)とから初期(時刻Ts)上体鉛直位置Zsが求められる。なお、この場合も、より厳密なモデルを用い、上体水平位置や腕姿勢をも考慮して初期上体鉛直位置Zsを求めるようにしてもよい。   Specifically, the vertical positions of the support leg mass point 2m and the free leg mass point 2m of the model shown in FIG. 5 are obtained from the flat position / posture of the support leg and the free leg at time Ts. Then, by applying these vertical positions and the initial (time Ts) overall center-of-gravity vertical position obtained as described above to Expression 04, the vertical position of the body mass point 24m (Zb in Expression 04) is obtained. The initial (time Ts) body vertical position Zs is obtained from the vertical position of the body mass point 24m and the body posture at the time Ts (the body posture in the initial state determined in S200). In this case as well, the initial body vertical position Zs may be obtained using a more rigorous model and taking into account the body horizontal position and arm posture.

さらに、前記S200で決定した足平位置姿勢の初期状態や、S206で求めた初期全体重心鉛直速度等から、ロボット1のモデル(例えば式04のキネマティクスモデル)を用いて、初期(時刻Ts)上体鉛直速度が求められる。   Furthermore, from the initial state of the foot position / posture determined in S200 and the initial overall center-of-gravity vertical velocity determined in S206, the initial (time Ts) is determined using the model of the robot 1 (for example, the kinematics model of Expression 04). The body vertical velocity is required.

具体的には、式04の両辺を時間微分してなる式に、前記式13に基づいて求めた初期全体重心鉛直速度と、支持脚及び遊脚の各足平位置姿勢の初期状態により規定される支持脚質点2m及び遊脚質点2mの鉛直速度とを適用することで、上体質点22mの鉛直速度が求められる。そして、この上体質点22mの鉛直速度と上体姿勢角の初期状態(S200もしくは後述のS208で決定されたもの)とから、上体鉛直速度が求められる。なお、各足平位置姿勢の初期状態や、初期全体重心鉛直速度のほか、腕姿勢の初期状態(S200で決定されたもの)、仮決定した上体水平位置の初期状態(S202もしくは後述のS216もしくはS218で仮決定された最新のもの)、上記の如く求めた初期上体鉛直位置を考慮し、上記の如く求めた初期全体重心鉛直速度を満足するような初期上体鉛直速度を、ロボット1のより厳密なモデルを用いて求めるようにしてもよい。   Specifically, an equation obtained by differentiating both sides of the equation 04 with respect to time is defined by the initial overall center-of-gravity vertical velocity obtained based on the equation 13 and the initial state of each foot position / posture of the support leg and the free leg. The vertical velocity of the upper body mass point 22m is obtained by applying the vertical velocity of the supporting leg mass point 2m and the free leg mass point 2m. The body vertical velocity is determined from the vertical velocity of the body mass point 22m and the initial state of the body posture angle (determined in S200 or S208 described later). In addition to the initial state of each foot position / posture, the initial overall center-of-gravity vertical velocity, the initial state of the arm posture (determined in S200), and the initial state of the temporarily determined body horizontal position (S202 or S216 described later) Alternatively, the initial body vertical velocity that satisfies the initial overall center-of-gravity vertical velocity obtained as described above in consideration of the initial body vertical position obtained as described above is determined by the robot 1 in consideration of the initial body vertical position obtained as described above. You may make it obtain | require using a more exact model.

S206の処理の後、次いでS208に進み、歩容生成装置100は、定常歩容の候補としての歩容(定常歩容の1周期分の歩容)を仮生成する。より具体的には、前記図6のS022で決定した定常歩容の歩容パラメータを基に、初期時刻Tsから終端時刻Teまでの各瞬間(所定の刻み時間毎の時刻)における目標ZMP、目標床反力鉛直成分、目標足平位置姿勢、基準上体姿勢、目標腕姿勢及び床反力水平成分許容範囲が逐次求められる。   After the process of S206, the process then proceeds to S208, where the gait generator 100 temporarily generates a gait as a normal gait candidate (a gait for one cycle of the normal gait). More specifically, based on the gait parameters of the normal gait determined in S022 of FIG. 6, the target ZMP and the target at each moment (time at each predetermined step time) from the initial time Ts to the end time Te. The floor reaction force vertical component, the desired foot position / posture, the reference body posture, the target arm posture, and the floor reaction force horizontal component allowable range are sequentially obtained.

そして、求めた目標ZMPと目標床反力鉛直成分とに関する動力学的平衡条件、並びに床反力水平成分許容範囲の条件を満足するように、前記動力学モデル(図5のモデル)を用いて、上体位置姿勢を逐次決定することによって、初期時刻Tsから終端時刻Teまでの1周期分の定常歩容を生成する。   Then, using the dynamic model (model of FIG. 5) so as to satisfy the dynamic equilibrium condition regarding the obtained target ZMP and the desired floor reaction force vertical component and the condition of the floor reaction force horizontal component allowable range. By successively determining the body position and posture, a normal gait for one cycle from the initial time Ts to the end time Te is generated.

この場合、前記上体水平位置速度(Xs,Vxs)、上体鉛直位置速度(Zs、Vzs)が上体24の初期(時刻Ts)状態とされる。また、上体姿勢は、基準上体姿勢になるべく一致するように生成される。   In this case, the body horizontal position speed (Xs, Vxs) and the body vertical position speed (Zs, Vzs) are set to the initial state (time Ts) of the body 24. Further, the body posture is generated so as to coincide with the reference body posture as much as possible.

なお、S208での定常歩容の生成は歩容生成装置100の内部で行われるだけであり、歩容生成装置100から出力されるものではない。   Note that the generation of the normal gait in S208 is only performed inside the gait generator 100, and is not output from the gait generator 100.

S208の処理は、具体的には、図15のフローチャートに示す如く実行される。   Specifically, the process of S208 is executed as shown in the flowchart of FIG.

以下説明すると、歩容生成装置100は、まず、S300において、諸々の初期化を行なう。   In the following, the gait generator 100 first performs various initializations in S300.

具体的には、歩容生成用時刻Tkに定常歩容の初期時刻Tsが代入される。また、上体水平位置速度に、初期(時刻Ts)上体水平位置速度(Xs,Vxs)の最新の候補値(図14のS202もしくは後述のS216もしくはS218で決定された最新の候補値)が代入され、上体鉛直位置速度に、初期(時刻Ts)上体鉛直位置速度(Zs,Vzs)の最新値(図14のS206で決定された最新値)が代入される。また、上体姿勢角に、基準上体姿勢角の初期値(時刻Tsでの基準上体姿勢)が代入され、上体姿勢角速度に、基準上体姿勢角速度の初期値(時刻Tsでの基準上体姿勢角速度)が代入される。補足すると、後述するごとく最終的には初期(時刻Ts)上体姿勢角速度の初期値は変更されるので、上体姿勢角速度の初期値を、基準上体姿勢角速度の初期値と異なる値に設定してもよい。   Specifically, the initial time Ts of the normal gait is substituted for the gait generation time Tk. In addition, the latest candidate value of the initial (time Ts) body horizontal position speed (Xs, Vxs) (the latest candidate value determined in S202 of FIG. 14 or S216 or S218 described later) is set as the body horizontal position speed. The latest value of the initial (time Ts) body vertical position speed (Zs, Vzs) (the latest value determined in S206 of FIG. 14) is substituted for the body vertical position speed. Also, the initial value of the reference body posture angle (reference body posture at time Ts) is substituted into the body posture angle, and the initial value of the reference body posture angular velocity (reference value at time Ts) is substituted into the body posture angular velocity. (Body posture angular velocity) is substituted. Supplementally, as will be described later, the initial value of the body posture angular velocity is changed at the initial stage (time Ts), so the initial value of the body posture angular velocity is set to a value different from the initial value of the reference body posture angular velocity. May be.

次いで、S302を経てS304において、歩容生成装置100は、歩容生成用時刻Tk(現在値)が終端時刻Te(=Ts+Tcyc)以前の時刻であるか否か(Tk≦Teであるか否か)を判断する。この判断結果が肯定的である場合には、歩容生成装置100は、S306の処理(詳細は後述する)を実行することによって、時刻Tkでの歩容の瞬時値を決定する。   Next, in S304 via S302, the gait generator 100 determines whether the gait generation time Tk (current value) is a time before the end time Te (= Ts + Tcyc) (Tk ≦ Te). ). If this determination result is affirmative, the gait generator 100 determines the instantaneous value of the gait at time Tk by executing the process of S306 (details will be described later).

次いで、S308に進み、歩容生成装置100は、歩容生成用時刻Tkを所定の刻み時間ΔTkだけ増加させた後、S304の判断を再び行なう。ここで、刻み時間ΔTkは、例えば制御周期Δtと一致させておけばよい。ただし、演算量を低減するために、ΔTkをΔtよりも長い時間に設定してもよい。   Next, in S308, the gait generator 100 increases the gait generation time Tk by a predetermined step time ΔTk, and then performs the determination in S304 again. Here, the step time ΔTk may be set to coincide with the control cycle Δt, for example. However, in order to reduce the amount of calculation, ΔTk may be set to a time longer than Δt.

S304の判断結果が否定的である場合には、S310に進む。以上の処理により、S310に進むまでに定常歩容が初期(時刻Ts)から終端(時刻Te)まで生成される。   If the determination result in S304 is negative, the process proceeds to S310. With the above processing, a normal gait is generated from the initial time (time Ts) to the end (time Te) before proceeding to S310.

以下に、S306で定常歩容の瞬時値を決定する処理の詳細を図16及び図17のフローチャートを参照して説明する。   Details of the process for determining the instantaneous value of the normal gait in S306 will be described below with reference to the flowcharts of FIGS.

S306の処理は、図16のフローチャートに示す如く実行される。   The process of S306 is executed as shown in the flowchart of FIG.

まずS400において、歩容生成装置100は、定常歩容パラメータ(詳しくは床反力鉛直成分軌道パラメータ)を基に、図12に示した目標床反力鉛直成分の時刻Tkでの瞬時値を求める。   First, in S400, the gait generator 100 obtains an instantaneous value at the time Tk of the desired floor reaction force vertical component shown in FIG. 12 based on the normal gait parameter (specifically, the floor reaction force vertical component trajectory parameter). .

次いでS402に進み、歩容生成装置100は、定常歩容パラメータ(詳しくはZMP軌道パラメータ)を基に、時刻Tkでの目標ZMPの瞬時値を求める。   Next, in S402, the gait generator 100 obtains an instantaneous value of the target ZMP at time Tk based on the normal gait parameters (specifically, ZMP trajectory parameters).

次いでS404に進み、歩容生成装置100は、定常歩容パラメータ(詳しくは足平軌道パラメータ、基準上体姿勢軌道パラメータ、及び腕姿勢軌道パラメータ)を基に、時刻Tkにおける目標足平位置姿勢、基準上体姿勢及び目標腕姿勢の瞬時値をそれぞれ求める。但し、目標腕姿勢に関しては、より詳しくは両腕体の全体重心位置が決定されるが、鉛直軸(又は上体24の体幹軸)まわりの角運動量を変化させる腕体の運動(腕振り運動)は、未だ決定されていない。   Next, in S404, the gait generator 100, based on the normal gait parameters (specifically, the foot trajectory parameters, the reference body posture trajectory parameters, and the arm posture trajectory parameters), the desired foot position / posture at the time Tk, Instantaneous values of the reference body posture and the target arm posture are obtained. However, regarding the target arm posture, the position of the center of gravity of both arms is determined in more detail, but the movement of the arm (arm swing) that changes the angular momentum around the vertical axis (or the trunk axis of the upper body 24). Exercise) has not yet been determined.

なお、時刻Tkでの目標足平位置姿勢の瞬時値は、図14のS200で初期時刻Tsでの足平位置姿勢を求めた場合と同様に、有限時間整定フィルタを使用して求められる。   Note that the instantaneous value of the desired foot position / posture at time Tk is obtained using a finite time settling filter in the same manner as when the foot position / posture at initial time Ts is obtained in S200 of FIG.

次いでS406に進み、歩容生成装置100は、目標床反力鉛直成分を満足する(ロボット1の鉛直方向の慣性力と重力との和を目標床反力鉛直成分に釣り合わせる)ような全体重心鉛直位置速度の瞬時値(時刻Tkでの瞬時値)を算出する。   Next, in S406, the gait generator 100 satisfies the target floor reaction force vertical component (the total center of gravity such that the sum of the vertical inertia force and gravity of the robot 1 is balanced with the target floor reaction force vertical component). An instantaneous value (instantaneous value at time Tk) of the vertical position velocity is calculated.

具体的には、床反力鉛直成分(≧0)とロボット1の全体に作用する重力(ここでは重力<0とする)との総和を、ロボット1の全体質量により除算することによって、ロボット1の全体重心鉛直加速度(全体重心の鉛直方向の加速度)が求められる。   Specifically, by dividing the sum of the floor reaction force vertical component (≧ 0) and the gravity acting on the entire robot 1 (here, gravity <0) by the total mass of the robot 1, the robot 1 The overall center-of-gravity vertical acceleration (the vertical acceleration of the overall center of gravity) is obtained.

そして、この全体重心鉛直加速度を積分することにより、時刻Tkでの全体重心鉛直速度が算出される。さらにこの全体重心鉛直速度を積分することにより、時刻Tkでの全体重心鉛直位置が算出される。これらの算出は、より具体的には、次式15及び式16により行なわれる。   Then, the total center-of-gravity vertical velocity at time Tk is calculated by integrating the total center-of-gravity vertical acceleration. Further, by integrating this total center-of-gravity vertical velocity, the total center-of-gravity vertical position at time Tk is calculated. More specifically, these calculations are performed by the following equations 15 and 16.


時刻Tkにおける全体重心鉛直速度
=時刻(Tk−ΔTk)における全体重心鉛直速度
+((時刻Tkにおける反力鉛直成分/ロボットの全体質量)
+重力加速度)*ΔTk
……式15

時刻Tkにおける全体重心鉛直位置
=時刻(Tk−ΔTk)における全体重心鉛直位置
+時刻Tkにおける全体重心鉛直速度*ΔTk
……式16

なお、式15における重力加速度は、負の値である。

Total center-of-gravity vertical velocity at time Tk = total center-of-gravity vertical velocity at time (Tk−ΔTk) + ((reaction force vertical component at time Tk / total mass of robot))
+ Gravity acceleration) * ΔTk
...... Formula 15

Overall center of gravity vertical position at time Tk = Overall center of gravity vertical position at time (Tk−ΔTk) + Overall center of gravity vertical speed at time Tk * ΔTk
...... Formula 16

Note that the gravitational acceleration in Expression 15 is a negative value.

次いでS408に進み、歩容生成装置100は、時刻Tkでの全体重心鉛直位置を満足する上体鉛直位置を算出する。具体的には、例えば図5のモデルに係わる前記式04を用いて上体鉛直位置が算出される。すなわち、時刻Tkでの支持脚及び遊脚の目標足平位置姿勢から、支持脚質点2m及び遊脚質点2mの鉛直位置が求められる。そして、これらの支持脚質点2m及び遊脚質点2mの鉛直位置と、S406で求めた時刻Tkでの全体重心鉛直位置とを式04に適用することで、上体質点24mの鉛直位置が求められる。さらに、この求めた上体質点24mの鉛直位置と時刻(Tk−ΔTk)の目標上体姿勢角(又は時刻Tkでの目標上体姿勢角の予測値)とから上体鉛直位置が求められる。   Next, in S408, the gait generator 100 calculates a body vertical position that satisfies the overall center-of-gravity vertical position at time Tk. Specifically, for example, the body vertical position is calculated using the above-described equation 04 related to the model of FIG. That is, the vertical positions of the support leg mass point 2m and the free leg mass point 2m are obtained from the target foot position / posture of the support leg and the free leg at time Tk. Then, the vertical position of the upper mass point 24m is obtained by applying the vertical position of the support leg mass point 2m and the free leg mass point 2m and the total center-of-gravity vertical position at time Tk obtained in S406 to Expression 04. . Further, the body vertical position is obtained from the obtained vertical position of the body mass point 24m and the target body posture angle at time (Tk−ΔTk) (or the predicted value of the target body posture angle at time Tk).

なお、より厳密なモデル(例えばロボット1の各リンクに対応する質点を有するモデル)を用いて上体鉛直位置を求めてもよい。   Note that the body vertical position may be obtained using a more strict model (for example, a model having a mass point corresponding to each link of the robot 1).

次いでS410に進み、歩容生成装置100は、定常歩容パラメータ(詳しくは、床反力水平成分許容範囲を規定するパラメータ)を基に、図13に示した床反力水平成分許容範囲[Fxmin,Fxmax]の時刻Tkにおける瞬時値を算出する。   Next, the process proceeds to S410, and the gait generator 100 determines the floor reaction force horizontal component allowable range [Fxmin shown in FIG. 13 based on the normal gait parameters (specifically, parameters that define the floor reaction force horizontal component allowable range). , Fxmax] at the time Tk.

次いでS412に進み、歩容生成装置100は、時刻Tkでの上体水平加速度と上体姿勢角加速度とを決定する。この場合、これらの上体水平加速度と上体姿勢角速度とは、目標ZMPを満足する(詳しくは、ロボット1の目標運動によって発生する慣性力とロボット1に作用する重力との合力が目標ZMPまわりに発生するモーメントの水平成分が“0”であるという条件を満足する)ことに加えて、ロボット1の水平方向の慣性力に釣り合う床反力水平成分Fxが許容範囲[Fxmin,Fxmax]から逸脱しないという条件と、上体姿勢角速度が定常歩容の初期時刻Tsと終端時刻Teとで一致するという条件とを満足するように決定される。   Next, in S412, the gait generator 100 determines the body horizontal acceleration and the body posture angular acceleration at time Tk. In this case, the body horizontal acceleration and the body posture angular velocity satisfy the target ZMP (specifically, the resultant force of the inertial force generated by the target motion of the robot 1 and the gravity acting on the robot 1 is about the target ZMP. In addition to satisfying the condition that the horizontal component of the moment generated in the robot is “0”), the floor reaction force horizontal component Fx that balances the horizontal inertial force of the robot 1 deviates from the allowable range [Fxmin, Fxmax]. And the condition that the body posture angular velocity coincides with the initial time Ts and the end time Te of the normal gait.

このS412の処理は、図17のフローチャートに示す如く実行される。   The process of S412 is executed as shown in the flowchart of FIG.

まず、S500において、歩容生成装置100は、図12に示した時刻Tm、Ts2、Tm2を設定する。本実施形態では、時刻Tmは、第2旋回歩容の開始直後で、床反力鉛直成分がある所定の大きさまで増加した時刻に設定される。また、時刻Ts2は、第2旋回歩容の片脚支持期の後半において床反力鉛直成分がある程度減少した時刻に設定される。また、時刻Tm2は、第2旋回歩容の空中期の後の第1旋回歩容の開始直後で、床反力鉛直成分がある所定の大きさまで増加した時刻に設定される。   First, in S500, the gait generator 100 sets times Tm, Ts2, and Tm2 shown in FIG. In the present embodiment, the time Tm is set to a time immediately after the start of the second turning gait and the floor reaction force vertical component has increased to a predetermined magnitude. The time Ts2 is set to a time when the floor reaction force vertical component is reduced to some extent in the second half of the one-leg support period of the second turning gait. Also, the time Tm2 is set to a time immediately after the start of the first turning gait after the mid-air period of the second turning gait and when the floor reaction force vertical component has increased to a certain magnitude.

次いで、S502に進み、歩容生成装置100は、現在時刻Tkが、時刻TsからTmまでの期間内の時刻と、時刻Ts2からTm2までの期間内の時刻とのうちのいずれか一方の時刻であるか否かを判断する。このS502の判定結果が肯定的となる場合(時刻Tkでの床反力水平成分の許容範囲が比較的狭いか、もしくは“0”である場合)には、S504に進む。また、S502の判断結果が否定的となる場合(時刻Tkでの床反力水平成分の許容範囲が比較的広い場合)には、S518に進む。   Next, in S502, the gait generator 100 determines that the current time Tk is one of the time within the period from time Ts to Tm and the time within the period from time Ts2 to Tm2. Judge whether there is. If the determination result in S502 is affirmative (if the allowable range of the floor reaction force horizontal component at time Tk is relatively narrow or “0”), the process proceeds to S504. If the determination result in S502 is negative (if the allowable range of the floor reaction force horizontal component at time Tk is relatively wide), the process proceeds to S518.

上記S504では、歩容生成装置100は、時刻Tkでの上体姿勢角加速度が時刻Tkでの基準上体姿勢角加速度β0(片脚ホッピング歩容の基準上体姿勢軌道パラメータにより規定される基準上体姿勢の角加速度)に一致すると仮定して、時刻Tkでの目標ZMPを満足するために必要な上体水平加速度をαtmpとして求める。このαtmpは、例えば図5の動力学モデルに係わる前記式03を用いて求められる。   In step S504, the gait generator 100 determines that the body posture angular acceleration at time Tk is the reference body posture angular acceleration β0 at time Tk (the reference body posture trajectory parameter defined for the one leg hopping gait). The body horizontal acceleration necessary to satisfy the target ZMP at the time Tk is obtained as αtmp, assuming that it matches the angular acceleration of the body posture). This αtmp is obtained by using the above equation 03 related to the dynamic model of FIG. 5, for example.

より具体的には、例えば、現在時刻Tkまでに求められた目標足平位置姿勢の時系列を用いて、現在時刻Tkにおける支持脚質点2m及び遊脚質点2mの鉛直加速度が求められると共に、現在時刻Tkの目標足平位置姿勢から支持脚質点2m及び遊脚質点2mの鉛直位置が求められる。また、現在時刻Tkの目標上体鉛直位置を用いて上体質点24mの鉛直位置が求められると共に、現在時刻Tkまでに求めた目標上体鉛直位置の時系列値を用いて現在時刻Tkにおける上体質点24mの鉛直加速度が求められる。そして、これらの求めた値を前記式03に代入すると共に、同式03のMy、d2θby/dt2をそれぞれ、“0”、β0に一致させてなる式から算出される上体質点水平加速度d2Xb/dt2が上体水平加速度αtmpとして求められる。この場合、本実施形態では、片脚ホッピング定常歩容の基準上体姿勢角は、前記した如く一定値であるため、基準上体姿勢角加速度β0は常に“0”である
なお、より厳密な動力学モデルを用いて、目標ZMP周りの床反力モーメントの水平成分を“0”にするような上体水平加速度αtmpを探索的に求めるようにしてもよい。
More specifically, for example, the vertical acceleration of the supporting leg mass point 2m and the free leg mass point 2m at the current time Tk is obtained using the time series of the desired foot position / posture obtained up to the current time Tk, and the current From the target foot position / posture at time Tk, the vertical positions of the supporting leg mass point 2m and the free leg mass point 2m are obtained. Further, the vertical position of the body mass point 24m is obtained using the target body vertical position at the current time Tk, and the time series value of the target body vertical position obtained up to the current time Tk is used to obtain the upper position at the current time Tk. The vertical acceleration of the mass point 24m is obtained. Then, these calculated values are substituted into the above equation 03, and My body, d2θby / dt2 in the equation 03 is calculated from an equation obtained by matching “0” and β0, respectively, and the body mass horizontal acceleration d2Xb / dt2 is obtained as the body horizontal acceleration αtmp. In this case, in this embodiment, since the reference body posture angle of the one-leg hopping normal gait is a constant value as described above, the reference body posture angular acceleration β0 is always “0”. The body horizontal acceleration αtmp may be obtained in an exploratory manner so that the horizontal component of the floor reaction force moment around the target ZMP is set to “0” using a dynamic model.

次に、S506に進み、歩容生成装置100は、上体水平加速度がαtmpである場合の時刻Tkにおける床反力水平成分Fxtmpを動力学モデルを用いて求める。本実施形態においては、前記動力学モデルの式02を用いてFxtmpが求められる。すなわち、次式17によってFxtmpが求められる。但し、d2Xsup/dt2及びd2Xswg/dt2はそれぞれ時刻Tkにおける支持脚足平質点水平加速度、遊脚足平質点水平加速度を表す。   Next, proceeding to S506, the gait generator 100 obtains the floor reaction force horizontal component Fxtmp at time Tk when the body horizontal acceleration is αtmp using the dynamic model. In the present embodiment, Fxtmp is obtained using Equation 02 of the dynamic model. That is, Fxtmp is obtained by the following equation 17. Here, d2Xsup / dt2 and d2Xswg / dt2 represent the support leg foot mass horizontal acceleration and the free leg foot mass horizontal acceleration at time Tk, respectively.


Fxtmp=mb*αtmp+msup*d2Xsup/dt2+mswg*d2Xswg/dt2 ……式17

次に、S508に進み、歩容生成装置100は、Fxtmpと現在時刻Tkでの床反力水平成分許容範囲の上限値Fxmax及び下限値Fxminとの大小関係を判断する。そして、この判断結果に応じて、歩容生成装置100は、上体水平加速度αと、これによって発生する床反力水平成分Fxと、上体姿勢角加速度βとを次のように決定する(S508〜S516)。

Fxtmp = mb * αtmp + msup * d2Xsup / dt2 + mswg * d2Xswg / dt2

Next, proceeding to S508, the gait generator 100 determines the magnitude relationship between Fxtmp and the upper limit value Fxmax and the lower limit value Fxmin of the floor reaction force horizontal component allowable range at the current time Tk. Then, according to the determination result, the gait generator 100 determines the body horizontal acceleration α, the floor reaction force horizontal component Fx generated thereby, and the body posture angular acceleration β as follows ( S508 to S516).

すなわち、
Fxtmp>Fxmaxならば、S510に進み、次式によりFxが決定される。
Fx=Fxmax ……式18
また、
Fxtmp<Fxminならば、S512に進み、次式によりFxが決定される。
Fx=Fxmin ……式19
また、Fxtmpが、床反力水平成分許容範囲[Fxmin,Fxmax]内に存在するならば、S514に進み、次式によりFxが決定される。
Fx=Fxtmp ……式20

そして、いずれの場合においても、次いでS516に進み、次式21、22により上体水平加速度α、上体姿勢角加速度βが決定される。
α=αtmp+(Fx−Fxtmp)/ΔFp ……式21
β=β0+(αtmp−α)*ΔMp/ΔMr ……式22

ここで、ΔFpは、上体水平加速度を単位加速度だけ変化させた場合の床反力水平成分の変化量、ΔMpは、上体水平加速度を単位加速度だけ変化させた場合の目標ZMP周りの床反力モーメントの水平成分の変化量、ΔMrは、ロボット1の全体重心を摂動させることなく、上体姿勢角加速度を単位角加速度だけ変化させた場合の目標ZMP周りの床反力モーメントの水平成分の変化量である。これらのΔFp、ΔMp、ΔMrは、本実施形態では、図5の動力学モデルに関する前記式02、03、04に基づいて、それぞれ、次式02a,03a,04aにより決定される値である。
That is,
If Fxtmp> Fxmax, the process proceeds to S510, and Fx is determined by the following equation.
Fx = Fxmax ...... Formula 18
Also,
If Fxtmp <Fxmin, the process proceeds to S512, and Fx is determined by the following equation.
Fx = Fxmin ...... Formula 19
If Fxtmp exists in the floor reaction force horizontal component allowable range [Fxmin, Fxmax], the process proceeds to S514, and Fx is determined by the following equation.
Fx = Fxtmp ...... Formula 20

In either case, the process then proceeds to S516, and the body horizontal acceleration α and the body posture angular acceleration β are determined by the following equations 21 and 22.
α = αtmp + (Fx−Fxtmp) / ΔFp (Formula 21)
β = β0 + (αtmp−α) * ΔMp / ΔMr Equation 22

Here, ΔFp is the amount of change in the floor reaction force horizontal component when the body horizontal acceleration is changed by the unit acceleration, and ΔMp is the floor reaction around the target ZMP when the body horizontal acceleration is changed by the unit acceleration. The change amount ΔMr of the horizontal component of the force moment is the horizontal component of the floor reaction force moment around the target ZMP when the body posture angular acceleration is changed by the unit angular acceleration without perturbing the entire center of gravity of the robot 1. The amount of change. In the present embodiment, these ΔFp, ΔMp, and ΔMr are values determined by the following equations 02a, 03a, and 04a based on the equations 02, 03, and 04 related to the dynamic model of FIG.


ΔFp=mb ……式02a
ΔMp=mb*(Zb−Zzmp) ……式03a
ΔMr=J ……式04a

補足すると、より動力学演算の精度を高めようとするならば、上記のごとく上体姿勢角加速度βを求めた後、この上体姿勢角加速度βと上体水平加速度αとを合成した運動によって目標ZMPを満足させ得る上体水平加速度αを、より厳密な動力学モデルを用いて解析的あるいは探索的に決定することが好ましい。この場合、探索的な決定手法としては、例えば、擬似ヤコビアン(感度マトリックス)を求め、擬似ニュートン法などにより次候補を決定する方法や、シンプレックス法などを用いればよい。

ΔFp = mb Equation 02a
ΔMp = mb * (Zb−Zzmp) …… Formula 03a
ΔMr = J ...... Formula 04a

Supplementally, if the accuracy of the dynamics calculation is to be increased, the body posture angular acceleration β is calculated as described above, and then the body posture angular acceleration β and the body horizontal acceleration α are combined. The body horizontal acceleration α that can satisfy the target ZMP is preferably determined analytically or exploratively using a stricter dynamic model. In this case, as an exploratory determination method, for example, a pseudo Jacobian (sensitivity matrix) is obtained, and a next candidate is determined by a pseudo Newton method, a simplex method, or the like may be used.

さらに床反力水平成分Fxが床反力水平成分許容範囲[Fxmin,Fxmax]を厳密に越えないようにするために、S510においては、Fx=Fxmaxとなり、且つ、目標ZMP周りの床反力モーメントの水平成分が“0”になるように、上体水平加速度αと上体角加速度βとの組を探索的に求めるようにしてもよい。同様に、S512においては、Fx=Fxminとなり、且つ、目標ZMP周りの床反力モーメントの水平成分が“0”になるように、αとβとの組を探索的に求めるようにしてもよい。   Further, in order to prevent the floor reaction force horizontal component Fx from strictly exceeding the floor reaction force horizontal component allowable range [Fxmin, Fxmax], in S510, Fx = Fxmax and the floor reaction force moment around the target ZMP. Alternatively, the set of the body horizontal acceleration α and the body angular acceleration β may be obtained in an exploratory manner so that the horizontal component becomes “0”. Similarly, in S512, a set of α and β may be obtained in an exploratory manner so that Fx = Fxmin and the horizontal component of the floor reaction force moment around the target ZMP is “0”. .

以上のS504〜S514の処理によって、Fxtmpが許容範囲[Fxmin,Fxmax]内に収まる場合には、FxtmpがそのままFxとなる。また、Fxtmpが許容範囲[Fxmin,Fxmax]の上限値Fxmaxを超え、もしくは下限値Fxminを下回った場合には、それぞれFxは、それぞれ強制的にFxmax、Fxminに制限される。特に片脚ホッピング定常歩容の空中期では、常に、Fxmax=Fxmin=0であるので、Fx=0となる。   When Fxtmp falls within the allowable range [Fxmin, Fxmax] by the above processing of S504 to S514, Fxtmp becomes Fx as it is. In addition, when Fxtmp exceeds the upper limit value Fxmax of the allowable range [Fxmin, Fxmax] or falls below the lower limit value Fxmin, Fx is forcibly limited to Fxmax and Fxmin, respectively. In particular, in the aerial phase of the one-leg hopping normal gait, Fxmax = Fxmin = 0, so that Fx = 0.

また、上体姿勢角加速度βは、Fxが許容範囲[Fxmin,Fxmax]を越えないように、上体水平加速度αを制限したことによって目標ZMP周りに発生する床反力モーメントを打ち消す床反力モーメントを発生させるように決定される。   The body posture angular acceleration β is a floor reaction force that cancels the floor reaction force moment generated around the target ZMP by limiting the body horizontal acceleration α so that Fx does not exceed the allowable range [Fxmin, Fxmax]. It is determined to generate a moment.

以上が、時刻Tkが、時刻TsからTmまでの期間内の時刻、又は、時刻Ts2からTm2までの期間内の時刻である場合の処理である。   The above is the processing when the time Tk is the time within the period from the time Ts to Tm, or the time within the period from the time Ts2 to Tm2.

S502の判定結果が否定的である場合(Tm≦Tk<Ts2、又はTm2≦Tk≦Teである場合)には歩容生成装置100は、以下の処理を実行する。まず、S518に進み、上体姿勢角速度を、現在時刻Tkが時刻Ts2以前ならば時刻Ts2までに、そうでないならば時刻Teまでに、初期値(現在時刻kが時刻Ts2以前ならば時刻Tsでの値、そうでないならば時刻Ts2での値)に戻すための上体姿勢角加速度を発生させる床反力モーメントのZMP換算値(以降、上体姿勢復元モーメントZMP換算値と呼び、ZMPrecと略す)のパターンを設定する。   When the determination result in S502 is negative (when Tm ≦ Tk <Ts2 or Tm2 ≦ Tk ≦ Te), the gait generator 100 executes the following processing. First, proceeding to S518, the body posture angular velocity is set to the initial value (at time Ts if current time k is before time Ts2), or by time Ts2 if current time Tk is before time Ts2, otherwise it is before time Ts2. ZMP converted value of the floor reaction force moment that generates the body posture angular acceleration to return to the value of (or otherwise at time Ts2) (hereinafter referred to as the body posture restoring moment ZMP converted value, abbreviated as ZMPrec) ) Pattern.

この場合、現在時刻Tkが時刻Tm2以降の時期の処理は、時刻Ts2以前の時期の処理と同じである。そこで、以下に、現在時刻Tkが時刻Ts2以前の時期である場合の処理を代表的に説明する。   In this case, the processing at the time when the current time Tk is after the time Tm2 is the same as the processing at the time before the time Ts2. Therefore, the processing when the current time Tk is before the time Ts2 will be representatively described below.

時刻Tm以降、時刻Ts2までに、上体姿勢角速度を初期値(時刻Tsでの値)に戻すための上体姿勢角加速度パターンにおける時刻Tkでの値をβ(k)とする。   The value at time Tk in the body posture angular acceleration pattern for returning the body posture angular velocity to the initial value (value at time Ts) by time Ts2 after time Tm is β (k).

このとき、このβ(k)に起因して、床反力モーメントβ(k)*ΔMrが発生する。この結果、時刻Tkにおける床反力鉛直成分がFz(k)であるとすると、ロボット1の運動から算出されるZMP(k)の水平位置は、次式23で求められるΔZMP(k)だけ目標ZMPからずれることとなる。   At this time, floor reaction force moment β (k) * ΔMr is generated due to β (k). As a result, if the floor reaction force vertical component at time Tk is Fz (k), the horizontal position of ZMP (k) calculated from the motion of the robot 1 is the target by ΔZMP (k) obtained by the following equation (23). It will deviate from ZMP.


ΔZMP(k)=−β(k)*ΔMr/Fz(k) ……式23

従って、ΔMrのパターンとFz(k)のパターンとが決まっていれば(既知であれば)、ΔZMP(k)のパターンを適切に設定することによって、式23を満足する上体姿勢角加速度パターンを発生させて、上体姿勢角速度を基準上体姿勢軌道の初期(時刻Ts)状態における上体姿勢角速度に戻すことができる。

ΔZMP (k) = − β (k) * ΔMr / Fz (k) Equation 23

Therefore, if the pattern of ΔMr and the pattern of Fz (k) are determined (if known), the body posture angular acceleration pattern that satisfies Expression 23 is set by appropriately setting the pattern of ΔZMP (k). And the body posture angular velocity can be returned to the body posture angular velocity in the initial (time Ts) state of the reference body posture trajectory.

前記上体姿勢復元モーメントZMP換算値(ZMPrec)は、そのように適切に設定されたΔZMP(k)を意味する。なお、式23におけるΔMrは、厳密には一定値ではないが、本実施形態では、近似的に一定値(=J)であるとする。   The body posture restoring moment ZMP converted value (ZMPrec) means ΔZMP (k) appropriately set as described above. Note that ΔMr in Equation 23 is not strictly a constant value, but is approximately a constant value (= J) in the present embodiment.

この場合、β(k)とZMPrecとの間の関係は、次式24により与えられる。   In this case, the relationship between β (k) and ZMPrec is given by


β(k)=−ZMPrec*Fz(k)/ΔMr ……式24

以降、このβ(k)を上体姿勢復元用角加速度という。

β (k) = − ZMPrec * Fz (k) / ΔMr Equation 24

Hereinafter, this β (k) is referred to as an angular acceleration for body posture restoration.

本実施形態では、上記ZMPrecのパターン形状を、例えば図18に示す如く、台形状とする。そして、歩容生成装置100は、時刻Ts2での上体姿勢角速度を時刻Tsでの上体姿勢角速度に一致させるために、時刻TsからTs2までの上体姿勢角加速度βの積分値が“0”になるように、ZMPrecのパターンを規定するパラメータ(台形の高さ等)を決定する。   In the present embodiment, the ZMPrec pattern shape is a trapezoidal shape as shown in FIG. 18, for example. Then, the gait generator 100 sets the integral value of the body posture angular acceleration β from time Ts to Ts2 to “0” in order to make the body posture angular velocity at time Ts2 coincide with the body posture angular velocity at time Ts. The parameters that define the ZMPrec pattern (such as the height of the trapezoid) are determined so that “

すなわち、時刻Tmから時刻Ts2までの期間で、式24によりZMPrecに応じて決定されるβ(k)と、基準上体姿勢角加速度β0との総和の角加速度を積分してなる積分値が、時刻Tsから時刻Tmまでの期間における上体姿勢角加速度β(図17のS504〜S516で前述のように求められた角加速度)の積分値に−1を乗じた値に一致するように、ZMPrecのパターンを規定するパラメータが決定される。   That is, during the period from time Tm to time Ts2, an integral value obtained by integrating the angular acceleration of the sum of β (k) determined according to ZMPrec by Equation 24 and the reference body posture angular acceleration β0 is: ZMPrec so as to coincide with a value obtained by multiplying the integral value of the body posture angular acceleration β (angular acceleration obtained as described above in S504 to S516 in FIG. 17) by −1 in the period from time Ts to time Tm. Parameters defining the pattern are determined.

この場合、本実施形態では、歩容生成装置100は、ZMPrecの台形状のパターンにおける折れ点の時刻を時刻TmとTs2との間の規定の(既知の)時刻とすると共に、該台形状のパターンの高さを該パターンを規定する未知数のパラメータとし、上記関係を満足するZMPrecのパターンの高さを求める。これにより、台形状のパターンの高さが、ZMPrecのパターンを規定するパラメータとして算出される。   In this case, in the present embodiment, the gait generator 100 sets the time of the break point in the trapezoidal pattern of ZMPrec as the prescribed (known) time between the times Tm and Ts2, and the trapezoidal shape. Using the height of the pattern as an unknown parameter that defines the pattern, the height of the ZMPrec pattern that satisfies the above relationship is obtained. As a result, the height of the trapezoidal pattern is calculated as a parameter that defines the ZMPrec pattern.

次いでS520に進み、歩容生成装置100は、上記の如く決定したZMPrecのパターンに基づいて、時刻Tkにおける上体姿勢復元モーメントZMP換算値ZMPrecを算出する。   Next, in S520, the gait generator 100 calculates the body posture restoring moment ZMP converted value ZMPrec at time Tk based on the ZMPrec pattern determined as described above.

次いでS522に進み、歩容生成装置100は、時刻TkでのZMPrecの値から、前記式24により算出される上体姿勢復元用角加速度β(k)を、時刻Tkでの基準上体姿勢角加速度β0に加え合わせることによって、時刻Tkにおける上体姿勢角加速度βを算出する。   Next, in S522, the gait generator 100 uses the ZMPrec value at time Tk to calculate the body posture restoration angular acceleration β (k) calculated by the above equation 24 to the reference body posture angle at time Tk. By adding to the acceleration β0, the body posture angular acceleration β at the time Tk is calculated.

すなわち、次式24aにより、βが算出される。   That is, β is calculated by the following equation 24a.


β=β0+β(k)
=β0−ZMPrec*Fz(k)/ΔMr ……式24a

次いでS524に進み、前記S504と同じ処理を実行することによって、時刻Tkでの上体姿勢角加速度が時刻Tkでの基準上体姿勢角加速度β0に一致すると仮定して、時刻Tkでの目標ZMPを満足するために必要な上体水平加速度をαtmpとして求める。

β = β0 + β (k)
= Β0−ZMPrec * Fz (k) / ΔMr …… Formula 24a

Next, in S524, by executing the same processing as S504, it is assumed that the body posture angular acceleration at the time Tk matches the reference body posture angular acceleration β0 at the time Tk, and the target ZMP at the time Tk. The body horizontal acceleration necessary to satisfy the above is obtained as αtmp.

次いでS526に進み、歩容生成装置100は、次式25を用いて、上体水平加速度αを算出する。   Next, in S526, the gait generator 100 calculates the horizontal body acceleration α using the following equation 25.


α=αtmp−(ΔMr/ΔMp)*(β−β0)
=αtmp−(ΔMr/ΔMp)*β(k)
……式25

さらにS528に進み、歩容生成装置100は、上体水平加速度が上記の如く求めたαである場合の時刻Tkにおける床反力水平成分Fxを動力学モデルを用いて求める。この場合、前記式17の右辺のαtmpをαに置き換えてなる次式26によって、Fxが算出される。

α = αtmp− (ΔMr / ΔMp) * (β−β0)
= Αtmp− (ΔMr / ΔMp) * β (k)
...... Formula 25

In step S528, the gait generator 100 uses the dynamic model to determine the floor reaction force horizontal component Fx at time Tk when the horizontal acceleration of the body is α as described above. In this case, Fx is calculated by the following equation 26 obtained by replacing αtmp on the right side of the equation 17 with α.


Fx=mb*α+msup*d2Xsup/dt2+mswg*d2Xswg/dt2 ……式26

補足すると、より動力学演算の精度を高めようとするならば、上記のごとく上体姿勢角加速度βを求めた後、S526において、上体姿勢角加速度βと上体水平加速度αとを合成した運動によって目標ZMPを満足させ得る上体水平加速度αを、より厳密な動力学モデルを用いて解析的あるいは探索的に決定することが好ましい。

Fx = mb * α + msup * d2Xsup / dt2 + mswg * d2Xswg / dt2 Equation 26

Supplementally, if the accuracy of the dynamics calculation is to be increased, the body posture angular acceleration β is obtained as described above, and then the body posture angular acceleration β and the body horizontal acceleration α are synthesized in S526. The body horizontal acceleration α that can satisfy the target ZMP by movement is preferably determined analytically or exploratively using a stricter dynamic model.

以上説明したS518〜S528の処理が、S502の判定結果が否定的である場合(Tm≦Tk<Ts2、又はTm2≦Tk≦Teである場合)の処理である。   The processing of S518 to S528 described above is processing when the determination result of S502 is negative (when Tm ≦ Tk <Ts2 or Tm2 ≦ Tk ≦ Te).

この場合、時刻TmからTs2までの期間と時刻Tm2からTeまでの期間とにおいては、床反力水平成分許容範囲が十分に大きいため、目標ZMPを満足しつつ、上体姿勢角速度を戻すように上体姿勢角加速度βを決定しても、床反力水平成分Fxが、許容範囲[Fxmin,Fxmax]から逸脱するのを回避することができる。   In this case, since the floor reaction force horizontal component allowable range is sufficiently large in the period from time Tm to Ts2 and in the period from time Tm2 to Te, the body posture angular velocity is returned while satisfying the target ZMP. Even if the body posture angular acceleration β is determined, it is possible to avoid the floor reaction force horizontal component Fx from deviating from the allowable range [Fxmin, Fxmax].

次いで図16のS414に進み、歩容生成装置100は、S412で求めた上体水平加速度を逐次積分する(時刻Tsから現在時刻Tkまで積算する)ことにより時刻Tkでの上体水平速度を求める。さらに、歩容生成装置100は、その上体水平速度を逐次積分する(時刻Tsから現在時刻Tkまで積算する)ことにより、時刻Tkでの上体水平位置を求める。また、歩容生成装置100は、S412で求めた上体姿勢角加速度を逐次積分する(時刻Tsから現在時刻Tkまで積算する)ことにより時刻Tkでの上体姿勢角速度を求める。さらに、さらに歩容生成装置100は、その上体姿勢角速度を逐次積分する(時刻Tsから現在時刻Tkまで積算する)ことにより、時刻Tkでの上体姿勢角を求める。   Next, the process proceeds to S414 in FIG. 16, and the gait generator 100 obtains the body horizontal velocity at time Tk by sequentially integrating the body horizontal acceleration obtained in S412 (accumulating from time Ts to the current time Tk). . Further, the gait generator 100 obtains the body horizontal position at the time Tk by sequentially integrating the body horizontal speed (accumulating from the time Ts to the current time Tk). The gait generator 100 obtains the body posture angular velocity at time Tk by sequentially integrating the body posture angular acceleration obtained in S412 (accumulating from time Ts to the current time Tk). Further, the gait generator 100 obtains the body posture angle at the time Tk by sequentially integrating the body posture angular velocity (accumulating from the time Ts to the current time Tk).

以上のごとく定常歩容の瞬時値を決定する図15のS306の処理を実行した後、S308に進み、歩容生成用時刻Tkの値が刻み時間ΔTkだけ増加される。   After executing the process of S306 in FIG. 15 for determining the instantaneous value of the normal gait as described above, the process proceeds to S308, and the value of the gait generation time Tk is increased by the increment time ΔTk.

次いでS304に戻り、S304に示す条件が成立している限り、歩容生成装置100は、S306及びS308の処理を繰り返す。そして、S304に示す条件が成立しなくなったら、すなわち終端時刻Te(=Ts+Tcyc)まで、定常歩容の生成が完了したら、S310に進む。   Next, returning to S304, as long as the condition shown in S304 is satisfied, the gait generator 100 repeats the processes of S306 and S308. Then, when the condition shown in S304 is not satisfied, that is, when the generation of the normal gait is completed until the end time Te (= Ts + Tcyc), the process proceeds to S310.

S310では、歩容生成装置100は、初期(時刻Ts)上体姿勢角と初期(時刻Ts)上体姿勢角速度とを、上記の如くS300〜S308の処理により生成された定常歩容(以降、これを仮歩容ということがある)の終端時刻Teでの上体姿勢角などを基に修正する。この修正は、上体姿勢角及びその角速度に関する定常歩容の境界条件(定常歩容の初期と終端とで上体姿勢角及び角速度がそれぞれ一致するという条件)を満たすようにするためのものである。   In S310, the gait generator 100 determines the initial (time Ts) body posture angle and the initial (time Ts) body posture angular velocity from the normal gait generated by the processing of S300 to S308 as described above (hereinafter, referred to as “posture gait”). This is corrected based on the body posture angle at the end time Te of the temporary gait). This modification is intended to satisfy the boundary condition of the normal gait related to the body posture angle and its angular velocity (the condition that the body posture angle and angular velocity are the same at the beginning and end of the normal gait). is there.

本実施形態では、この修正は、例えば次式30,31に従って行なわれる。   In the present embodiment, this correction is performed according to the following equations 30 and 31, for example.


新たな初期上体姿勢角速度
=仮歩容の初期上体姿勢角速度
−(仮歩容の終端上体姿勢角−仮歩容の初期上体姿勢角)/Tcyc
……式30

新たな初期上体姿勢角=基準上体姿勢角初期値 ……式31

これらの式30、31における「初期」、「終端」は、それぞれ、時刻Ts、Teを意味する。

New initial body posture angular velocity = initial body posture angular velocity of provisional gait− (terminal body posture angle of provisional gait−initial body posture angle of provisional gait) / Tcyc
...... Formula 30

New initial body posture angle = reference body posture angle initial value ...... Equation 31

“Initial” and “end” in these expressions 30 and 31 mean time Ts and Te, respectively.

なお、初期上体姿勢角は、本実施形態では、式31のように基準上体姿勢角初期値に一致させるようにしたが、例えば、定常歩容の上体姿勢角の平均値が基準上体姿勢角初期値に一致するように初期上体姿勢角を設定するようにしてもよい。あるいは、定常歩容の上体姿勢角の最大値と最小値との平均値が基準上体姿勢角初期値に一致するように初期上体姿勢角を設定してもよい。   In this embodiment, the initial body posture angle is set to be equal to the reference body posture angle initial value as shown in Equation 31, but for example, the average value of the body posture angle of the normal gait is the reference value. The initial body posture angle may be set so as to match the body posture angle initial value. Alternatively, the initial body posture angle may be set such that the average value of the maximum and minimum body posture angles of the normal gait matches the reference body posture angle initial value.

図15のS310の処理を完了した後、図14のS210に進む。このS210では、歩容製生成装置100は、S208で生成した定常歩容(仮歩容)の終端上体水平位置速度(時刻Teでの上体水平位置及び上体水平速度)を、その瞬間の支持脚に対応する支持脚座標系から見た値に変換し、その値を(Xe,Vxe)とする(Xe:終端上体水平位置、Vxe:終端上体水平速度)。   After completing the process of S310 of FIG. 15, the process proceeds to S210 of FIG. In S210, the gait generator 100 determines the final body horizontal position velocity (body horizontal position and body horizontal velocity at time Te) of the normal gait (provisional gait) generated in S208 at the moment. Is converted into a value viewed from the support leg coordinate system corresponding to the support leg, and the value is (Xe, Vxe) (Xe: end body horizontal position, Vxe: end body horizontal speed).

次いでS212に進み、歩容生成装置100は、初期上体水平位置速度(Xs,Vxs)と終端上体水平位置速度(Xe,Vxe)との差を境界条件誤差(errx,errv)として算出する。定常歩容では、前記境界条件を満たす必要があるので、境界条件誤差(errx,errv)が“0”又はほぼ“0”でなければならない。   Next, in S212, the gait generator 100 calculates the difference between the initial body horizontal position speed (Xs, Vxs) and the terminal body horizontal position speed (Xe, Vxe) as the boundary condition error (errx, errv). . In the normal gait, the boundary condition needs to be satisfied, so the boundary condition error (errx, errv) must be “0” or almost “0”.

次いでS214に進み、歩容生成装置100は、S212で算出した境界条件誤差(errx,errv)が、あらかじめ設定された許容範囲内にあるか否かが判断される。なお、このように境界条件誤差(errx,errv)が許容範囲にあるか否かを判断する代わりに、前記式10により定義される発散成分と、前記式10の右辺の「+」を「−」に置き換えた式により定義される収束成分とを用い、初期発散成分(=Xs+Vxs/ω0)と終端発散成分(=Xe+Vxe/ω0)との差、及び初期収束成分(=Xs−Vxs/ω0)と終端収束成分(=Xe−Vxe/ω0)との差がそれぞれある許容範囲内にあるか否か判断するようにしてもよい。   Next, in S214, the gait generator 100 determines whether or not the boundary condition error (errx, errv) calculated in S212 is within a preset allowable range. Instead of determining whether or not the boundary condition error (errx, errv) is within the allowable range in this way, the divergence component defined by the expression 10 and the “+” on the right side of the expression 10 are expressed as “−. And the difference between the initial divergence component (= Xs + Vxs / ω0) and the terminal divergence component (= Xe + Vxe / ω0), and the initial convergence component (= Xs−Vxs / ω0). It may be determined whether the difference between the terminal convergence component (= Xe−Vxe / ω0) is within a certain allowable range.

S214の判断結果が否定的である場合には、境界条件誤差(errx,errv)が“0”又はほぼ“0”となる(Xs,Vxs)を探索的に求めるために、S216に進む。このS216では、歩容生成装置100は、(Xs,Vxs)の付近に複数(本実施形態では2つ)の初期値候補(Xs+ΔXs,Vxs),(Xs,Vxs+ΔVxs)を決定する。ここで、ΔXs,ΔVxsは、それぞれXs,Vxsに対する所定の微小変化量を意味している。そして、これらの初期値候補のそれぞれを上体水平位置速度の初期状態として、前記S208と同様の処理によって定常歩容が生成される。さらに、その生成された定常歩容の終端上体位置速度を、その瞬間(時刻Te)の支持脚に対応する支持脚座標系から見た値に変換した値(Xe+ΔXe1,Vxe+ΔVxe1),(Xe+ΔXe2,Vxe+ΔVxe2)が求められる。ここで、(Xe+ΔXe1,Vxe+ΔVxe1)は(Xs+ΔXs,Vxs)に対応する終端上体位置速度を意味し、(Xe+ΔXe2,Vxe+ΔVxe2)は(Xs,Vxs+ΔVxs)に対応する終端上体位置速度を意味している。なお、この場合の定常歩容(仮歩容)の生成処理では、上体水平位置速度以外の変数の初期状態(時刻Tsでの状態)は、例えば上体水平位置速度の初期値候補を(Xs,Vxs)とした場合と同一に設定すればよい。S216ではさらに、前記S210と同様の処理によって、各初期値候補とこれに対応する終端上体位置速度との差、すなわち、各初期値候補(Xs+ΔXs,Vxs),(Xs,Vxs+ΔVxs)のそれぞれに対応する境界条件誤差(errx,errv)が求められる。   If the determination result in S214 is negative, the process proceeds to S216 in order to search for (Xs, Vxs) where the boundary condition error (errx, errv) is “0” or almost “0” (Xs, Vxs). In S216, the gait generator 100 determines a plurality (two in this embodiment) of initial value candidates (Xs + ΔXs, Vxs) and (Xs, Vxs + ΔVxs) in the vicinity of (Xs, Vxs). Here, ΔXs and ΔVxs mean predetermined minute change amounts with respect to Xs and Vxs, respectively. Then, with each of these initial value candidates as the initial state of the body horizontal position speed, a normal gait is generated by the same processing as in S208. Further, values (Xe + ΔXe1, Vxe + ΔVxe1), (Xe + ΔXe2,) obtained by converting the terminal body position speed of the generated normal gait into values viewed from the support leg coordinate system corresponding to the support leg at the moment (time Te). Vxe + ΔVxe2) is obtained. Here, (Xe + ΔXe1, Vxe + ΔVxe1) means the terminal body position velocity corresponding to (Xs + ΔXs, Vxs), and (Xe + ΔXe2, Vxe + ΔVxe2) means the terminal body position velocity corresponding to (Xs, Vxs + ΔVxs). . In the normal gait (provisional gait) generation process in this case, the initial state of the variable other than the body horizontal position speed (state at time Ts) is, for example, an initial value candidate of the body horizontal position speed ( Xs, Vxs). Further, in S216, by the same process as in S210, the difference between each initial value candidate and the corresponding terminal body position velocity, that is, each of the initial value candidates (Xs + ΔXs, Vxs) and (Xs, Vxs + ΔVxs) is determined. Corresponding boundary condition errors (errx, errv) are determined.

次いでS218に進み、歩容生成装置100は、(Xs,Vxs)及びその付近の初期値候補(Xs+ΔXs,Vxs),(Xs,Vxs+ΔVxs)のそれぞれに対する上体水平位置速度境界条件誤差を基に、(Xs,Vxs)の次の初期値候補が探索手法(擬似ヤコビアン(感度マトリックス)を求め、最急降下法などにより次候補を決定する方法や、シンプレックス法など)により決定する。   Subsequently, the gait generator 100 proceeds to S218, on the basis of the body horizontal position velocity boundary condition error for each of (Xs, Vxs) and initial value candidates (Xs + ΔXs, Vxs) and (Xs, Vxs + ΔVxs) in the vicinity thereof. The next initial value candidate of (Xs, Vxs) is determined by a search method (a method of obtaining a pseudo Jacobian (sensitivity matrix) and determining the next candidate by the steepest descent method or the simplex method).

すなわち、(Xs,Vxs)及びその付近の初期値候補(Xs+ΔXs,Vxs),(Xs,Vxs+ΔVxs)のそれぞれに対する境界条件誤差によって、上体水平位置及び上体水平速度をそれぞれ初期値候補(Xs,Vxs)から微小変化させたときの、上体水平位置速度境界条件誤差の変化度合いを示す感度マトリックスが求められ、その感度マトリックスに基づいて、境界条件誤差をより小さくするような初期値候補(Xs,Vxs)が新たに決定される。そして、このように上体水平位置速度の新たな初期値候補(Xs,Vxs)が決定された後、S206に戻る。   That is, the body horizontal position and the body horizontal velocity are respectively set to the initial value candidates (Xs, Vxs) and the initial value candidates (Xs, Vxs) and the initial value candidates (Xs, Vxs, Vxs) and (Xs, Vxs + ΔVxs). A sensitivity matrix indicating the degree of change in the body horizontal position / velocity boundary condition error when it is slightly changed from Vxs) is obtained, and based on the sensitivity matrix, an initial value candidate (Xs) that makes the boundary condition error smaller , Vxs) is newly determined. Then, after the new initial value candidate (Xs, Vxs) of the body horizontal position speed is determined in this way, the process returns to S206.

S214の判断結果が否定的となる限りは上記した処理(S206〜S218の処理)が繰り返される。なお、この場合、上体水平位置速度の新たな初期値候補(Xs,Vxs)に対応する定常歩容の生成処理(S208)におけるS300では、上体姿勢角速度の初期値は、基準上体姿勢角速度の初期値ではなく、上体水平位置速度の前回の初期値候補(Xs,Vxs)に対応するS208の処理におけるS310で決定したものに設定される。そして、S214の判断結果が肯定的になると、繰り返しループ(S204)を抜けてS220に進む。なお、S204の繰り返しループを抜けたときの直前に生成された仮歩容が、境界条件を満たす定常歩容として得られることとなる。   As long as the determination result in S214 is negative, the above processing (the processing in S206 to S218) is repeated. In this case, in S300 in the normal gait generation process (S208) corresponding to the new initial value candidate (Xs, Vxs) of the body horizontal position speed, the initial value of the body posture angular velocity is the reference body posture. Instead of the initial value of the angular velocity, it is set to the value determined in S310 in the processing of S208 corresponding to the previous initial value candidate (Xs, Vxs) of the body horizontal position velocity. If the determination result in S214 is affirmative, the process exits the repeat loop (S204) and proceeds to S220. Note that the provisional gait generated immediately before exiting the repeat loop of S204 is obtained as a normal gait that satisfies the boundary condition.

S220では、歩容生成装置100は、本来の初期時刻“0”(今回歩容の終端時刻)における初期上体水平位置速度(X0,Vx0)と初期時刻“0”における初期上体鉛直位置速度(Z0,Vz0)と初期時刻“0”における初期上体姿勢角及び角速度とを求める。   In S220, the gait generator 100 determines the initial body horizontal position velocity (X0, Vx0) at the original initial time “0” (the end time of the current gait) and the initial body vertical position velocity at the initial time “0”. (Z0, Vz0) and the initial body posture angle and angular velocity at the initial time “0” are obtained.

具体的には、(X0,Vx0)と(Z0,Vz0)は、図16に示したS408及びS414において、第2旋回歩容から第1旋回歩容に切り換わった瞬間の時刻、すなわち、時刻Tk=Tcyc(=Te−Ts)であるときに決定された上体水平位置速度と上体鉛直位置速度とを、それぞれ時刻Tcycから始まる第1旋回歩容の支持脚に対応する支持脚座標系から見た値に変換してなる値に決定される。同様に、初期時刻“0”における初期上体姿勢角及び角速度は、時刻Tcycであるときに決定された上体姿勢角及び角加速度を、時刻Tcycから第1旋回歩容の支持脚に対応する支持脚座標系から見た値に変換してなる値に決定される。   Specifically, (X0, Vx0) and (Z0, Vz0) are the time instants when switching from the second turning gait to the first turning gait in S408 and S414 shown in FIG. The body horizontal position velocity and the body vertical position velocity determined when Tk = Tcyc (= Te−Ts), respectively, are the support leg coordinate systems corresponding to the support legs of the first turning gait starting at time Tcyc. It is determined to be a value obtained by converting to a value seen from the above. Similarly, the initial body posture angle and angular velocity at the initial time “0” correspond to the body posture angle and angular acceleration determined at time Tcyc, corresponding to the support leg of the first turning gait from time Tcyc. It is determined to be a value obtained by converting into a value seen from the support leg coordinate system.

次いでS222に進み、歩容生成装置100は、定常歩容初期発散成分q[0]が、前記式10に対応する次式40により算出する。   Next, in S222, the gait generator 100 calculates the normal gait initial divergent component q [0] by the following equation 40 corresponding to the equation 10.


q[0]=X0+V0/ω0 ……式40

q [0] = X0 + V0 / ω0 Equation 40

さらに、S224に進み、歩容生成装置100は、定常歩容初期発散成分q[0]を、今回歩容支持脚座標系から見た値に変換してなる値を、q”[0]として求める。また、歩容生成装置100は、初期上体鉛直位置速度(Z0,Vz0)を、今回歩容支持脚座標系から見た値に変換してなる値を、(Z0”,Vz0”)として求める。   Further, proceeding to S224, the gait generator 100 converts the normal gait initial divergent component q [0] into a value viewed from the current time's gait supporting leg coordinate system as q ″ [0]. In addition, the gait generator 100 converts the initial body vertical position velocity (Z0, Vz0) into a value as viewed from the current time's gait support leg coordinate system (Z0 ″, Vz0 ″). Asking.

補足すると、(Z0”,Vz0”)は、第2旋回歩容の支持脚座標系(図7の次次回歩容支持脚座標系)から見た第2旋回歩容の終端上体鉛直位置速度に一致している。また、q”[0]は第2旋回歩容の支持脚座標系から見た第2旋回歩容の終端発散成分に一致している。従って、これらの一致関係を利用して、(Z0”,Vz0”)及びq”[0]を算出するようにしてもよい。   Supplementally, (Z0 ″, Vz0 ″) is the body vertical position velocity at the end of the second turning gait as seen from the supporting leg coordinate system of the second turning gait (next gait supporting leg coordinate system of FIG. 7). It matches. Further, q ″ [0] matches the terminal divergence component of the second turning gait as seen from the supporting leg coordinate system of the second turning gait. Therefore, using these matching relationships, (Z0 ″ , Vz0 ″) and q ″ [0] may be calculated.

以上により、図6のS024の処理、すなわち定常歩容の初期状態を求めるサブルーチン処理が終了する。   Thus, the processing of S024 in FIG. 6, that is, the subroutine processing for determining the initial state of the normal gait is completed.

次いで、図6のS026に進み、歩容生成装置100は、今回歩容の歩容パラメータを決定(一部は仮決定)する。S026の処理は、図19に示すフローチャートに従って実行される。   Next, the process proceeds to S026 in FIG. 6, and the gait generator 100 determines the gait parameters of the current time's gait (partially determined). The process of S026 is executed according to the flowchart shown in FIG.

まず、S600において、歩容生成装置100は、今回歩容の足平位置姿勢軌道が定常歩容の足平位置姿勢軌道に連続的につながるように、今回歩容の足平軌道パラメータを決定する。今回歩容が片脚ホッピング歩容である場合、この足平軌道パラメータは、次のように決定される。   First, in S600, the gait generator 100 determines the foot gait parameters of the current time gait so that the foot position / posture trajectory of the current time gait is continuously connected to the foot position / posture trajectory of the normal gait. . When the current time's gait is a one-leg hopping gait, the foot trajectory parameters are determined as follows.

今回歩容初期遊脚足平位置姿勢は、今回歩容支持脚座標系から見た現在の遊脚足平位置姿勢(前回歩容終端遊脚足平位置姿勢)に設定される。同様に、今回歩容初期支持脚足平位置姿勢は、今回歩容支持脚座標系から見た現在の支持脚足平位置姿勢(前回歩容終端支持脚足平位置姿勢)に設定される。   The current free gait foot position / posture of the current time's gait is set to the current free leg foot position / posture (previous gait end free leg foot position / posture) viewed from the current time's gait supporting leg coordinate system. Similarly, the current support gait initial support leg foot position / posture is set to the current support leg foot position / posture (previous gait end support leg foot position / posture) viewed from the current time's gait support leg coordinate system.

また、今回歩容終端遊脚足平位置姿勢は、前記片脚ホッピング歩容終端遊脚足平位置姿勢を、今回歩容支持脚座標系から見た位置姿勢に設定される。   Further, the free leg foot position / posture at the end of the current time gait is set to the position / posture of the free leg foot position / posture at the end of the one-leg hopping gait as viewed from the current time's gait supporting leg coordinate system.

さらに、今回歩容終端支持脚足平位置姿勢は、次回歩容支持脚座標系に対応する前記基本着地位置姿勢(次回歩容支持脚座標の原点の位置とX軸及びY軸の向きとを規定する基本着地位置姿勢)を、今回歩容支持脚座標系から見た位置姿勢に設定される。   Further, the foot position / posture at the end of the current time's gait is determined based on the basic landing position / posture corresponding to the next time's gait supporting leg coordinate system (the position of the origin of the next time's gait supporting leg coordinates and the directions of the X and Y axes). The specified basic landing position / posture) is set to the position / posture viewed from the current time's gait supporting leg coordinate system.

次いで、S602に進み、歩容生成装置100は、今回歩容の基準上体姿勢軌道が、定常歩容の基準上体姿勢軌道パラメータに連続的につながるように、今回歩容の基準上体姿勢軌道パラメータを決定する。   Next, proceeding to S602, the gait generator 100 causes the current gait reference body posture trajectory to be continuously connected to the standard gait reference body posture trajectory parameter of the normal gait. Determine trajectory parameters.

本実施形態では、今回歩容及び次回歩容が片脚ホッピング歩容である場合、今回歩容の基準上体姿勢軌道パラメータは、今回歩容の基準上体姿勢角を、片脚ホッピング定常歩容における基準上体姿勢角と同一の一定値に維持するように決定される。すなわち、X軸周りの基準上体姿勢角及びY軸周りの基準上体姿勢角は、それぞれ、前記片脚ホッピング用ロール方向上体姿勢角、“0”とされ、これらの値が今回歩容の基準上体姿勢軌道パラメータとして決定される。   In the present embodiment, when the current time gait and the next time gait are single leg hopping gaits, the reference body posture trajectory parameter of the current time gait is the normal body posture trajectory of the current time gait. It is determined so as to maintain the same constant value as the reference body posture angle in the case. That is, the reference body posture angle around the X axis and the reference body posture angle around the Y axis are set to the above-mentioned one-leg hopping roll direction body posture angle, “0”, and these values are the current time's gait. As a reference body posture trajectory parameter.

次いで、S604に進み、歩容生成装置100は、今回歩容の腕姿勢軌道パラメータを、定常歩容の腕姿勢軌道パラメータと同様に決定する。但し、今回歩容の腕姿勢軌道が定常歩容の腕姿勢軌道に連続的につながるように今回歩容の腕姿勢軌道パラメータが決定される。なお、ここで決定される腕姿勢軌道パラメータは、定常歩容の腕姿勢軌道パラメータを決定する場合と同様、Z軸(あるいは上体体幹軸)まわりの両腕体の角運動量変化に関すること以外の運動パラメータ(具体的には、上体24に対する両腕体の相対重心位置の軌道を規定するパラメータ)である。   Next, in step S604, the gait generator 100 determines the arm posture trajectory parameters of the current time gait in the same manner as the arm posture trajectory parameters of the normal gait. However, the arm posture trajectory parameter of the current time gait is determined so that the arm posture trajectory of the current time gait is continuously connected to the arm posture trajectory of the normal gait. Note that the arm posture trajectory parameters determined here are the same as when determining the arm posture trajectory parameters of the normal gait, except for those related to the angular momentum change of both arms around the Z axis (or upper body trunk axis). Motion parameters (specifically, parameters defining the trajectory of the relative center of gravity position of both arms with respect to the upper body 24).

次いで、S606に進み、歩容生成装置100は、今回歩容の床反力鉛直成分軌道パラメータを決定する。今回歩容及び次回歩容が片脚ホッピング歩容である場合、今回歩容の床反力鉛直成分軌道パラメータは、それにより規定される床反力鉛直成分軌道が、前記した片脚ホッピング定常歩容の各旋回歩容の床反力鉛直成分軌道と同様のパターンになるように決定される。すなわち、図20に示すパターンで床反力鉛直成分軌道が変化するように、今回歩容の床反力鉛直成分軌道パラメータが決定される。   Next, proceeding to S606, the gait generator 100 determines a floor reaction force vertical component trajectory parameter of the current time's gait. If the current time's gait and the next time's gait are single leg hopping gaits, the floor reaction force vertical component trajectory parameters of the current time's gait are determined by the floor reaction force vertical component trajectory defined by the gait as described above. It is determined to have a pattern similar to the floor reaction force vertical component trajectory of each turning gait. That is, the floor reaction force vertical component trajectory parameter of the current time's gait is determined so that the floor reaction force vertical component trajectory changes in the pattern shown in FIG.

この場合、床反力鉛直成分軌道パラメータは、今回歩容の全体重心鉛直位置速度と床反力鉛直成分軌道とが、前記片脚ホッピング定常歩容に連続的につながるように決定される。   In this case, the floor reaction force vertical component trajectory parameter is determined so that the overall center-of-gravity vertical position velocity of the current time's gait and the floor reaction force vertical component trajectory are continuously connected to the one-leg hopping normal gait.

具体的には、まず、図6のS024の処理で最終的に求めた定常歩容の初期上体位置姿勢及びその変化速度等の初期運動状態から、ロボット1のキネマティクスモデル(例えば図5のモデル)を用いて今回歩容支持脚座標系から見た定常歩容の初期全体重心鉛直位置速度が求められる。   Specifically, first, the kinematics model (for example, FIG. 5) of the robot 1 is determined from the initial body position and posture of the normal gait finally obtained by the processing of S024 in FIG. Model) to obtain the initial overall center-of-gravity vertical position velocity of the normal gait viewed from the gait supporting leg coordinate system.

例えば、今回歩容支持脚座標系から見た定常歩容の初期全体重心鉛直位置は、今回歩容支持脚座標系から見た定常歩容の初期上体鉛直位置に対応する図5のモデルの上体質点鉛直位置と、今回歩容支持脚座標系から見た定常歩容の初期の各足平位置に対応する図5のモデルの支持脚質点鉛直位置及び遊脚質点鉛直位置とから、前記式04により求められる。   For example, the initial overall center-of-gravity vertical position of the normal gait viewed from the current time's gait supporting leg coordinate system corresponds to the initial body vertical position of the normal gait viewed from the current time's gait supporting leg coordinate system. From the upper body mass point vertical position and the supporting leg mass point vertical position and the free leg mass point vertical position of the model of FIG. 5 corresponding to each initial foot position of the normal gait viewed from the current time gait supporting leg coordinate system, It is calculated | required by Formula 04.

また、今回歩容支持脚座標系から見た定常歩容の初期全体重心鉛直速度は、今回歩容支持脚座標系から見た定常歩容の上体鉛直速度に対応する図5のモデルの上体質点鉛直速度と、今回歩容支持脚座標系から見た定常歩容の初期の各足平鉛直速度に対応する図5のモデルの支持脚質点鉛直速度及び遊脚質点鉛直速度とから、前記式04の両辺を微分してなる式により求められる。   Further, the initial overall center-of-gravity vertical velocity of the normal gait viewed from the current time's gait supporting leg coordinate system is based on the model of FIG. 5 corresponding to the upper body vertical velocity of the normal gait viewed from the current time's gait supporting leg coordinate system. From the body point vertical velocity and the supporting leg mass point vertical velocity and free leg mass point vertical velocity of the model of FIG. 5 corresponding to the initial foot vertical velocity of the normal gait as seen from the gait supporting leg coordinate system this time, It is obtained by an expression obtained by differentiating both sides of Expression 04.

なお、これらの初期全体重心鉛直位置速度は、定常歩容の初期運動状態から、より厳密なモデルを用いて算出するようにしてもよい。   These initial overall center-of-gravity vertical position velocities may be calculated using a more rigorous model from the initial motion state of the normal gait.

そして、このようにして求めた定常歩容の初期全体重心鉛直位置速度を前記式13及び次式41の終端全体重心鉛直位置速度に代入すると共に、前回歩容終端の全体重心鉛直位置速度(より詳しくは、前回歩容終端の全体重心鉛直位置及び全体重心鉛直速度を今回歩容支持脚座標系から見た値)を前記式13及び次式41の初期全体重心鉛直位置速度に代入し、式13及び式41の関係を満足するように、今回歩容の床反力鉛直成分軌道パラメータが決定される。なお、式13及び式41における積分は今回歩容の初期から終端までの期間での積分である。   Then, the initial total center-of-gravity vertical position speed of the normal gait obtained in this way is substituted into the terminal total center-of-gravity vertical position speed of Equation 13 and Formula 41 below, and Specifically, the total center of gravity vertical position and the total center of gravity vertical velocity at the end of the previous gait are values substituted for the initial total center of gravity vertical position velocity of Equation 13 and Equation 41 below. The floor reaction force vertical component trajectory parameter of the current time's gait is determined so as to satisfy the relationship of 13 and Equation 41. Note that the integrals in Equation 13 and Equation 41 are integrals during the period from the beginning to the end of the current time's gait.


終端全体重心鉛直速度−初期全体重心鉛直速度
=(床反力鉛直成分/ロボットの質量)の1階積分
+重力加速度の1階積分
…式41

ただし、式41の重力加速度は負の値とする。

Final total center-of-gravity vertical velocity-initial total center-of-gravity vertical velocity = first floor integral of (floor reaction force vertical component / robot mass) + first floor integral of gravitational acceleration
... Formula 41

However, the gravitational acceleration of Expression 41 is a negative value.

より具体的には、まず、図20のような床反力鉛直成分パターンを規定する床反力鉛直成分軌道パラメータ(折れ点の時刻等)のうちの、少なくとも2つのパラメータを独立な未知変数として、その未知変数の値を、式13と式41とからなる連立方程式によって決定する。   More specifically, first, at least two parameters of floor reaction force vertical component trajectory parameters (such as break point time) defining the floor reaction force vertical component pattern as shown in FIG. 20 are set as independent unknown variables. The value of the unknown variable is determined by simultaneous equations consisting of Equation 13 and Equation 41.

未知変数とするパラメータには、例えば、図20の台形の高さ(床反力鉛直成分のピーク値)と幅(片脚支持期の時間)とを選択すればよい。この場合、図20の台形の両側部分の傾きは今回歩容周期等に応じてあらかじめ定めた値とし、あるいは、片脚支持期から空中期に移行する時刻を除く床反力鉛直成分パターンの折れ点の時刻を今回歩容周期等に応じてあらかじめ定めた値とする。   For example, the height of the trapezoid (the peak value of the floor reaction force vertical component) and the width (the time of the one-leg support period) of FIG. In this case, the slopes of both sides of the trapezoid in FIG. 20 are set to predetermined values according to the current time's gait cycle or the like, or the floor reaction force vertical component pattern except the time of transition from the one-leg support period to the aerial period is broken. The point time is set to a predetermined value according to the current time's gait cycle or the like.

次いで、S608に進み、歩容生成装置100は、床反力水平成分許容範囲[Fxmin,Fxmax](具体的には該床反力水平成分許容範囲のパターンを規定するパラメータ)が、定常歩容の第1旋回歩容又は第2旋回歩容と同様に決定される。たとえば図21に示すようなパターンで床反力水平成分許範囲が設定される。本実施形態では、先にS606で決定した床反力鉛直成分軌道から、前記式12a,12bに基づいて床反力水平成分許容範囲が決定される。   Next, in S608, the gait generator 100 determines that the floor reaction force horizontal component permissible range [Fxmin, Fxmax] (specifically, parameters that define the pattern of the floor reaction force horizontal component permissible range) is a normal gait. Determined in the same manner as the first turning gait or the second turning gait. For example, the floor reaction force horizontal component allowable range is set in a pattern as shown in FIG. In the present embodiment, the floor reaction force horizontal component allowable range is determined based on the above formulas 12a and 12b from the floor reaction force vertical component trajectory previously determined in S606.

次いで、S610に進み、歩容生成装置100は、今回歩容のZMP軌道を規定するZMP軌道パラメータを仮決定する。   Next, in S610, the gait generator 100 tentatively determines ZMP trajectory parameters that define the ZMP trajectory of the current time's gait.

この場合、該ZMP軌道パラメータは、これにより規定される目標ZMPが、安定余裕が高く、且つ急激に変化しないという要件を満たしつつ、前回歩容の終端での目標ZMPから、定常歩容の初期の目標ZMPまで連続的に変化するように決定される。   In this case, the ZMP trajectory parameter satisfies the requirement that the target ZMP defined thereby has a high stability margin and does not change abruptly, and from the target ZMP at the end of the previous gait, the initial normal gait. It is determined so as to continuously change up to the target ZMP.

この目標ZMPは、今回歩容及び次回歩容が片脚ホッピング歩容である場合、例えば図7の今回歩容支持脚座標系に対応する支持脚足平22(図示例では22R)と次回歩容支持脚座標系に対応する支持脚足平22(図示例では22R)との間の目標ZMP軌道で示す如く決定される。   When the current time gait and the next time gait are one-leg hopping gaits, this target ZMP is, for example, the support leg foot 22 (22R in the illustrated example) corresponding to the current time gait support leg coordinate system of FIG. It is determined as shown by the target ZMP trajectory with the support leg foot 22 (22R in the illustrated example) corresponding to the support leg coordinate system.

この例では、前回歩容は、歩行歩容(又は走行歩容)であり、今回歩容の片脚支持期では、目標ZMPは、支持脚足平22(22R)の踵寄りの位置(前回歩容の終端での目標ZMPの位置)から、該支持脚足平22の接地面の右前寄りの位置に向かって連続的に移動するように設定される。そして、空中期では、目標ZMPは、支持脚足平22の接地面の右前寄りの位置から、次回歩容支持脚座標系に対応する支持脚足平22(22R)の接地面内のほぼ中央の点(定常歩容の初期の目標ZMPの位置)まで連続的に移動していくように設定される。この場合、片脚支持期における目標ZMPは、該片脚支持期の一部の期間において、一定に保つようにしてもよい。   In this example, the previous gait is a walking gait (or a running gait), and in the one-leg support period of the current time's gait, the target ZMP is a position closer to the heel of the support leg foot 22 (22R) (previous time). It is set so as to continuously move from the position of the target ZMP at the end of the gait) toward the right front side of the ground contact surface of the supporting leg foot 22. In the aerial period, the target ZMP is determined from the position on the right front side of the ground contact surface of the support leg foot 22 to approximately the center in the ground contact surface of the support leg foot 22 (22R) corresponding to the next time gait support leg coordinate system. It is set so as to continuously move to the point (position of the target ZMP in the initial stage of the normal gait). In this case, the target ZMP in the one-leg support period may be kept constant during a part of the one-leg support period.

そして、S610では、片脚支持期の終了直前の目標ZMPの位置等が、今回歩容のZMP軌道パラメータとして決定される。   In step S610, the position of the target ZMP immediately before the end of the one-leg support period is determined as the ZMP trajectory parameter of the current time gait.

なお、前回歩容が片脚ホッピング歩容である場合には、目標ZMPは、定常歩容の第1旋回歩容と同じようなパターンで設定すればよい。   When the previous gait is a one-leg hopping gait, the target ZMP may be set in a pattern similar to the first turning gait of the normal gait.

補足すると、S610で決定される今回歩容のZMP軌道パラメータは、仮決定されただけであり、後述するように修正される。そこで、上記のごとくS610で仮決定したZMP軌道パラメータにより規定される今回歩容のZMP軌道を、以降、今回歩容の仮目標ZMP軌道という。   Supplementally, the ZMP trajectory parameter of the current time's gait determined in S610 is only provisionally determined and is corrected as described later. Therefore, the ZMP trajectory of the current time gait defined by the ZMP trajectory parameters provisionally determined in S610 as described above is hereinafter referred to as a temporary target ZMP trajectory of the current time gait.

次いで、S612に進み、歩容生成装置100は、上体姿勢復元期間[Ta,Tb]を決定する。上体姿勢角復元期間の開始時刻Taは、定常歩容の第2旋回歩容におけるTmに相当し、上体姿勢復元期間の終了時刻Tbは、定常歩容の第2旋回歩容におけるTs2に相当するものである。これらの時刻Ta,Tbの設定の仕方は、それぞれTm及びTs2の設定の仕方と同様である。従って、上体姿勢復元期間[Ta,Tb]は、図20に例示する如く決定される。   Next, in S612, the gait generator 100 determines the body posture restoration period [Ta, Tb]. The start time Ta of the body posture angle restoration period is equivalent to Tm in the second turning gait of the normal gait, and the end time Tb of the body posture restoration period is Ts2 in the second turning gait of the normal gait. It is equivalent. The way of setting these times Ta and Tb is the same as the way of setting Tm and Ts2. Therefore, the body posture restoration period [Ta, Tb] is determined as illustrated in FIG.

以上がS026で実行される処理である。   The above is the process executed in S026.

図6の説明に戻って、上記のごとくS026に示す処理(今回歩容の歩容パラメータを決定もしくは仮決定する処理)を行った後、次いでS028に進み、歩容生成装置100は、今回歩容の歩容パラメータを修正する(今回歩容パラメータを確定する)。ここで修正する歩容パラメータは、前記仮目標ZMP軌道を規定するZMP軌道パラメータである。このS028の処理では、上体位置姿勢軌道を定常歩容に連続させ、もしくは漸近させるべくZMP軌道パラメータが修正される。   Returning to the description of FIG. 6, after performing the process shown in S026 (the process of determining or provisionally determining the gait parameters of the current time's gait) as described above, the process then proceeds to S028, where the gait generating device 100 determines Correct the gait parameter of the gait (confirm the gait parameter this time). The gait parameter to be corrected here is a ZMP trajectory parameter that defines the temporary target ZMP trajectory. In the processing of S028, the ZMP trajectory parameters are corrected so that the body position / posture trajectory is made continuous or asymptotic to the normal gait.

このS028の処理は、具体的には、図22のフローチャートに従って実行される。   Specifically, the process of S028 is executed according to the flowchart of FIG.

まずS700を経てS702に進み、仮今回歩容パラメータを基に、今回歩容の終端時刻までの仮今回歩容が生成される。なお、仮今回歩容パラメータは、仮目標ZMP軌道(S026又は後述のS716で決定された仮目標ZMP軌道)を規定するZMP軌道パラメータと、S026で前記した如く決定された、ZMP軌道パラメータ以外の歩容パラメータとの組を意味する。   First, the process proceeds to S702 via S700, and based on the provisional current time gait parameter, a provisional current time gait up to the end time of the current time gait is generated. The temporary current time gait parameter is a parameter other than the ZMP trajectory parameter that defines the temporary target ZMP trajectory (the temporary target ZMP trajectory determined in S026 or S716 described later) and the ZMP trajectory parameter determined as described above in S026. It means a set with gait parameters.

このS702の処理は、具体的には、図23のフローチャートに従って実行される。   Specifically, the process of S702 is executed according to the flowchart of FIG.

以下説明すると、歩容生成装置100は、S800において、諸々の初期化を行なう。具体的には、仮歩容生成用時刻(仮今回歩容の生成用時刻)Tkに“0”が代入される。また、前回歩容の終端状態(より具体的には、前回歩容の終端時刻における上体水平位置速度、上体鉛直位置速度、上体姿勢角及びその角速度、目標足平位置姿勢、目標腕姿勢などの運動状態)を今回支持脚座標系から見た状態に変換したものを、仮今回歩容の初期状態として設定する。   As will be described below, the gait generator 100 performs various initializations in S800. Specifically, “0” is substituted into the provisional gait generation time (temporary current time gait generation time) Tk. Also, the last state of the previous gait (more specifically, the body horizontal position speed, the body vertical position speed, the body posture angle and its angular speed at the end time of the previous gait, the desired foot position / posture, the target arm) The motion state such as the posture) converted to the state viewed from the current support leg coordinate system is set as the initial state of the provisional current time gait.

次いで、S802を経てS804において、歩容生成装置100は、仮歩容生成用時刻Tkが今回歩容の終端時刻Tcurr以前の時刻であるか否か(Tk≦Tcurrであるか否か)を判断する。そして、この判断結果が肯定的である場合には、S806に進み、歩容生成装置100は、今回歩容の瞬時値(時刻Tkでの値)を決定する。次いでS808に進み、歩容生成装置100は、仮歩容生成用時刻Tkを所定の刻み時間ΔTkだけ増加させた後、S804の判断を再び行なう。なお、刻み時間ΔTkは、例えば、制御周期Δtに一致する時間である。   Next, in step S804 through step S802, the gait generator 100 determines whether the provisional gait generation time Tk is a time before the end time Tcurr of the current time gait (whether Tk ≦ Tcurr). To do. If the determination result is affirmative, the process proceeds to S806, and the gait generator 100 determines the instantaneous value (value at time Tk) of the current time gait. Next, in S808, the gait generator 100 increases the temporary gait generation time Tk by a predetermined step time ΔTk, and then makes the determination in S804 again. Note that the step time ΔTk is, for example, a time that coincides with the control cycle Δt.

また、S804の判断結果が否定的である場合には、図23に示すフローチャートの処理が完了する。   If the determination result in S804 is negative, the process of the flowchart shown in FIG. 23 is completed.

以上の処理により、仮今回歩容が初期から終端まで生成される。   Through the above processing, a provisional current time gait is generated from the initial stage to the end.

S806の処理は、具体的には、図24のフローチャートに従って実行される。   Specifically, the process of S806 is executed according to the flowchart of FIG.

まずS900において、歩容生成装置100は、歩容パラメータ(詳しくは仮今回歩容の床反力鉛直成分軌道パラメータ)を基に、図20に示した目標床反力鉛直成分の時刻Tkでの瞬時値を求める。   First, in S900, the gait generator 100 is based on the gait parameters (specifically, the floor reaction force vertical component trajectory parameters of the provisional current time gait) at the time Tk of the desired floor reaction force vertical component shown in FIG. Find the instantaneous value.

次いで、S902において、歩容生成装置100は、歩容パラメータ(詳しくは、仮今回歩容のZMP軌道パラメータ)を基に、時刻Tkでの仮目標ZMPの瞬時値を求める。   Next, in S902, the gait generator 100 obtains an instantaneous value of the temporary target ZMP at time Tk based on the gait parameters (specifically, the ZMP trajectory parameters of the temporary current time gait).

次いでS904に進み、歩容生成装置100は、歩容パラメータ(詳しくは、足平軌道パラメータ、基準上体姿勢軌道パラメータ及び腕姿勢軌道パラメータ)を基に、時刻Tkにおける目標足平位置姿勢、基準上体姿勢及び目標腕姿勢の瞬時値をそれぞれ求める。但し、目標腕姿勢に関しては、より詳しくは両腕体の全体重心位置が決定されるが、鉛直軸(又は上体24の体幹軸)まわりの角運動量を変化させる腕体の運動(腕振り運動)は、未だ決定されていない。   Next, in step S904, the gait generator 100 determines the desired foot position / posture and reference at time Tk based on the gait parameters (specifically, foot trajectory parameters, reference body posture trajectory parameters, and arm posture trajectory parameters). Instantaneous values of upper body posture and target arm posture are obtained. However, regarding the target arm posture, the position of the center of gravity of both arms is determined in more detail, but the movement of the arm (arm swing) that changes the angular momentum around the vertical axis (or the trunk axis of the upper body 24). Exercise) has not yet been determined.

なお、時刻Tkでの目標足平位置姿勢の瞬時値は、図14のS200で初期時刻Tsでの足平位置姿勢を求めた場合と同様に、有限時間整定フィルタを使用して求められる。   Note that the instantaneous value of the desired foot position / posture at time Tk is obtained using a finite time settling filter in the same manner as when the foot position / posture at initial time Ts is obtained in S200 of FIG.

次いでS906に進み、歩容生成装置100は、S900で求めた目標床反力鉛直成分を満足する(ロボット1の鉛直方向の慣性力と重力との和を目標床反力鉛直成分に釣り合わせる)ような全体重心鉛直位置速度を算出する。この算出は、具体的には図16のS406と同様の処理により行なわれる。   Next, in S906, the gait generator 100 satisfies the desired floor reaction force vertical component obtained in S900 (the sum of the vertical inertia force and gravity of the robot 1 is balanced with the desired floor reaction force vertical component). The overall center-of-gravity vertical position speed is calculated. Specifically, this calculation is performed by the same processing as S406 in FIG.

次いでS908に進み、歩容生成装置100は、上記の如く求めた全体重心鉛直位置を満足する上体鉛直位置の時刻Tkでの瞬時値を算出する。この算出は、具体的には、前記図16のS408と同様の処理により行なわれる。   Next, in S908, the gait generator 100 calculates an instantaneous value at time Tk of the body vertical position that satisfies the overall center-of-gravity vertical position obtained as described above. Specifically, this calculation is performed by the same process as in S408 of FIG.

次いでS910に進み、歩容生成装置100は、歩容パラメータ(詳しくは、仮今回歩容の床反力水平成分許容範囲を規定するパラメータ)に基づいて、図21に示す床反力水平成分許容範囲[Fxmin,Fxmax]の時刻Tkにおける瞬時値を算出する。   Next, proceeding to S910, the gait generating device 100 determines the floor reaction force horizontal component permissible shown in FIG. 21 based on the gait parameters (specifically, parameters that define the floor reaction force horizontal component permissible range of the provisional current time gait). The instantaneous value at time Tk in the range [Fxmin, Fxmax] is calculated.

次いでS912に進み、歩容生成装置100は、仮今回歩容の時刻Tkでの上体水平加速度と上体姿勢角加速度とを決定する。この場合、これらの上体水平加速度と上体姿勢角速度とは、目標ZMPを満足する(詳しくは、ロボット1の目標運動によって発生する慣性力とロボット1に作用する重力との合力が目標ZMPまわりに発生するモーメントの水平成分が“0”であるという条件を満足する)ことに加えて、ロボット1の水平方向の慣性力に釣り合う床反力水平成分Fxが許容範囲[Fxmin,Fxmax]から逸脱しないという条件を満足するように決定される。   Next, in S912, the gait generator 100 determines the body horizontal acceleration and the body posture angular acceleration at the time Tk of the provisional current time gait. In this case, the body horizontal acceleration and the body posture angular velocity satisfy the target ZMP (specifically, the resultant force of the inertial force generated by the target motion of the robot 1 and the gravity acting on the robot 1 is about the target ZMP. In addition to satisfying the condition that the horizontal component of the moment generated in the robot is “0”), the floor reaction force horizontal component Fx that balances the horizontal inertial force of the robot 1 deviates from the allowable range [Fxmin, Fxmax]. It is determined so as to satisfy the condition of not.

この処理は、図16のS412の処理とは若干異なる。   This process is slightly different from the process of S412 in FIG.

S912の処理は、具体的には、図25のフローチャートに示す如く実行される。   Specifically, the process of S912 is executed as shown in the flowchart of FIG.

まずS1000おいて、歩容生成装置100は、時刻Tkが図19のS612で設定した上体姿勢復元期間[Ta,Tb]内の時刻であるか否かを判断する。   First, in S1000, the gait generator 100 determines whether or not the time Tk is within the body posture restoration period [Ta, Tb] set in S612 of FIG.

この判断結果が否定的である場合(時刻Tkでの床反力水平成分許容範囲が比較的狭いか、もしくは“0”である場合)には、歩容生成装置100は、S1002からS1014までの処理を実行する。このS1002からS1014までの処理は、前述の図17のS504からS516までの処理と同じであるので、説明を省略する。   When this determination result is negative (when the floor reaction force horizontal component permissible range at time Tk is relatively narrow or “0”), the gait generator 100 performs the processing from S1002 to S1014. Execute the process. The processing from S1002 to S1014 is the same as the processing from S504 to S516 in FIG.

一方、S1000の判断結果が肯定的である場合(時刻Tkでの床反力水平成分の許容範囲が比較的広い場合)には、S1016に進み、歩容生成装置100は、上体姿勢復元モーメントZMP換算値ZMPrecのパターンを設定する。この場合、定常歩容の生成に係わる図17のS518と異なり、ZMPrecは、一定値“0”となるパターン(すなわち図18に示す台形パターンの高さが“0”であるパターン)に設定される。   On the other hand, when the determination result in S1000 is affirmative (when the allowable range of the floor reaction force horizontal component at time Tk is relatively wide), the process proceeds to S1016, and the gait generator 100 causes the body posture restoring moment. The pattern of the ZMP conversion value ZMPrec is set. In this case, unlike S518 in FIG. 17 relating to generation of a normal gait, ZMPrec is set to a pattern having a constant value “0” (that is, a pattern in which the height of the trapezoidal pattern shown in FIG. 18 is “0”). The

次に、S1018からS1026までの処理が行われる。S1018からS1026までの処理は、図17のS520からS528までの処理と同じであるので説明を省略する。   Next, the processing from S1018 to S1026 is performed. The processing from S1018 to S1026 is the same as the processing from S520 to S528 in FIG.

なお、S1016〜S1026の処理では、上体姿勢復元モーメントZMP換算値ZMPrecの瞬時値は常に“0”になるので、S1020で求められる上体姿勢角加速度βは、時刻Tkでの基準上体姿勢角加速度β0に一致する。従って、β=β0として、S1022、S1024及びS1026の処理のみを行なうようにしてもよい。また、S1024で算出される上体水平加速度αは、常にαtempに一致するので、S1024の処理は省略してもよい。   In the processing of S1016 to S1026, since the instantaneous value of the body posture restoring moment ZMP converted value ZMPrec is always “0”, the body posture angular acceleration β obtained in S1020 is the reference body posture at time Tk. It corresponds to the angular acceleration β0. Therefore, it is possible to set only β = β0 and perform only the processing of S1022, S1024, and S1026. Further, since the body horizontal acceleration α calculated in S1024 always coincides with αtemp, the processing in S1024 may be omitted.

以上のごとく図24のS912の処理を完了した後、次いでS914に進み、歩容生成装置100は、S912で求めた上体水平加速度を逐次積分する(今回歩容の初期時刻“0”から現在時刻Tkまで積算する)ことにより時刻Tkでの上体水平速度を求める。さらに、歩容生成装置100は、その上体水平速度を逐次積分する(今回歩容の初期時刻“0”から現在時刻Tkまで積算する)ことにより、時刻Tkでの上体水平位置を求める。また、歩容生成装置100は、S912で求めた上体姿勢角加速度を逐次積分する(今回歩容の初期時刻“0”から現在時刻Tkまで積算する)ことにより時刻Tkでの上体姿勢角速度を求める。さらに、さらに歩容生成装置100は、その上体姿勢角速度を逐次積分する(今回歩容の初期時刻“0”から現在時刻Tkまで積算する)ことにより、時刻Tkでの上体姿勢角を求める。   After completing the process of S912 in FIG. 24 as described above, the process then proceeds to S914, where the gait generator 100 sequentially integrates the body horizontal acceleration obtained in S912 (from the initial time “0” of the current time gait to the current time). The body horizontal velocity at time Tk is obtained by integrating until time Tk). Furthermore, the gait generator 100 obtains the body horizontal position at the time Tk by sequentially integrating the body horizontal velocity (accumulating from the initial time “0” of the current time gait to the current time Tk). Further, the gait generator 100 successively integrates the body posture angular acceleration obtained in S912 (accumulates from the initial time “0” of the current time gait to the current time Tk) to thereby obtain the body posture angular velocity at the time Tk. Ask for. Further, the gait generator 100 obtains the body posture angle at the time Tk by successively integrating the body posture angular velocity (accumulating from the initial time “0” of the current time gait to the current time Tk). .

以上のごとく図22のS702の処理(終端時刻までの仮今回歩容の生成処理)が完了した後、次にS704に進む。このS704では、歩容生成装置100は、S702で求めた仮今回歩容の終端での上体水平位置速度(Xe,Vxe)(Xe:仮今回歩容の終端上体水平位置、Vxe:仮今回歩容の終端上体水平速度)から、前記式10に基づいて仮今回歩容の終端発散成分qe1(=Xe+Vxe/ω0)を算出する。   As described above, after the processing of S702 in FIG. 22 (provisional current time gait generation processing up to the end time) is completed, the process proceeds to S704. In S704, the gait generator 100 determines the body horizontal position speed (Xe, Vxe) at the end of the provisional current time gait obtained in S702 (Xe: body horizontal position at the end of the provisional current time gait, Vxe: provisional. The terminal divergent component qe1 (= Xe + Vxe / ω0) of the provisional current time gait is calculated from the current body gait end body horizontal velocity) on the basis of the equation (10).

次いでS706に進み、歩容生成装置100は、仮今回歩容の終端発散成分qe1と、図14のS224で先に求めた定常歩容の初期発散成分q0”との差である終端発散成分誤差errq(=qe1−q0”)を算出する。   Next, the processing proceeds to S706, where the gait generator 100 determines the terminal divergence component error which is the difference between the terminal divergence component qe1 of the provisional current time gait and the initial divergence component q0 "of the normal gait previously obtained in S224 of FIG. errq (= qe1−q0 ″) is calculated.

次いで、S708に進んで、歩容生成装置100は、算出した終端発散成分誤差errqが許容範囲内(“0”近傍の所定の範囲)にあるか否か判断する。   Next, proceeding to S708, the gait generator 100 determines whether or not the calculated terminal divergence component error errq is within an allowable range (a predetermined range near “0”).

このS708の判断結果が否定的である場合には、S710に進み、歩容生成装置100は、a=Δa(Δaは所定の微小量)として設定した図26に示すZMP修正量により現在の仮目標ZMP軌道を修正してなる目標ZMP軌道を用いて、前記S702と同様に、終端時刻までの仮今回歩容を生成する。   If the determination result in S708 is negative, the process proceeds to S710, and the gait generator 100 uses the ZMP correction amount shown in FIG. 26 set as a = Δa (Δa is a predetermined minute amount) as the current temporary value. Using the target ZMP trajectory obtained by correcting the target ZMP trajectory, a temporary current time gait up to the end time is generated as in S702.

ここで、図26を参照して、ZMP修正量は、今回歩容の終端発散成分を定常歩容の初期発散成分にできるだけ一致させる(ひいては、今回歩容の上体位置姿勢軌道を将来において、定常歩容の上体位置姿勢軌道に収束させる)ために、仮目標ZMPの修正を行なう(仮目標ZMPに加え合わせる)修正量を意味する。そして、本実施形態では、このZMP修正量は、台形パターンの修正量とされ、この台形パターンの高さが、上記“a”である。   Here, referring to FIG. 26, the ZMP correction amount matches the terminal divergence component of the current time gait with the initial divergence component of the normal gait as much as possible (as a result, the body position / posture trajectory of the current time gait in the future This means a correction amount for correcting (adding to the temporary target ZMP) the temporary target ZMP in order to converge to the body position / posture trajectory of the normal gait. In this embodiment, the ZMP correction amount is a trapezoid pattern correction amount, and the height of the trapezoid pattern is “a”.

この場合、本実施形態では、台形パターンのZMP修正量による仮目標ZMPの修正は、床反力水平成分許容範囲が十分に広いものとなる期間としての前記上体姿勢復元期間[Ta,Tb]で行なうようにしており、上記台形パターンは、上体姿勢復元期間[Ta,Tb]内で設定されている。なお、S710でa=Δaとするのは、現在の仮目標ZMP軌道を上記台形パターンのZMP修正量によって微小量、修正したときの前記終端発散成分誤差errqの変化を観測するためである。   In this case, in the present embodiment, the correction of the temporary target ZMP by the ZMP correction amount of the trapezoid pattern is the body posture restoration period [Ta, Tb] as a period in which the floor reaction force horizontal component allowable range is sufficiently wide. The trapezoid pattern is set within the body posture restoration period [Ta, Tb]. Note that a = Δa is set in step S710 in order to observe a change in the terminal divergence component error errq when the current temporary target ZMP trajectory is corrected by a minute amount by the ZMP correction amount of the trapezoid pattern.

なお、上記Δaは、微小量の定数でよいが、以下に説明する繰り返し演算によって終端発散成分誤差errqが小さくなるにつれてΔaを減少させるように該Δaを設定するようにしてもよい。   Note that Δa may be a small amount of constant, but Δa may be set so as to decrease Δa as the terminal divergence component error errq is reduced by repeated calculation described below.

上記のようにS710にて、ZMP修正量による修正後の仮目標ZMP軌道を用いて仮今回歩容を生成した後、次にS712に進む。このS712では、歩容生成装置100は、S710で生成した仮今回歩容の終端での上体水平位置速度(Xe1,Vxe1)(Xe1:仮今回歩容の終端上体水平位置、Vxe1:仮今回歩容の終端上体水平速度)から、前記式10に基づいて、仮今回歩容(S710で生成した仮今回歩容)の終端発散成分qe2(=Xe1+Vxe1/ω0)を算出する。   As described above, after generating the temporary current time gait using the temporary target ZMP trajectory corrected by the ZMP correction amount in S710, the process proceeds to S712. In S712, the gait generator 100 determines the horizontal horizontal position velocity (Xe1, Vxe1) at the end of the provisional current time gait generated in S710 (Xe1: the final body horizontal position of the provisional current time gait, Vxe1: provisional. Based on Equation 10 above, the terminal divergent component qe2 (= Xe1 + Vxe1 / ω0) of the provisional current time gait (the provisional current time gait generated in S710) is calculated from the current body gait end body horizontal velocity).

次いでS714に進み、歩容生成装置100は、パラメータ感度r(Δaに対する終端発散成分誤差errqの変化の割合)を図中に示す式により算出する。すなわち、qe2とqe1との差をΔaにより除算することにより、パラメータ感度rが算出される。   Next, proceeding to S714, the gait generator 100 calculates the parameter sensitivity r (the rate of change of the terminal divergence component error errq with respect to Δa) using the formula shown in the figure. That is, the parameter sensitivity r is calculated by dividing the difference between qe2 and qe1 by Δa.

次いで、さらに、S716に進み、歩容生成装置100は、a=−errq/r、すなわちS706で求めた終端発散成分誤差errqを、S714で求めたパラメータ感度rで除算してなる値を高さaとすることによって台形パターンのZMP修正量を設定し、このZMP修正量により仮目標ZMP軌道(S702の処理で仮今回歩容を生成するために使用した仮目標ZMP軌道)を修正することによって、新たな仮目標ZMP軌道を決定する。   Next, the process further proceeds to S716, where the gait generator 100 increases the value obtained by dividing the terminal divergence component error errq obtained in S706 by the parameter sensitivity r obtained in S714, a = −errq / r. By setting the ZMP correction amount of the trapezoid pattern by setting a, the temporary target ZMP trajectory (the temporary target ZMP trajectory used for generating the temporary current time gait in the processing of S702) is corrected by this ZMP correction amount. A new temporary target ZMP trajectory is determined.

次いで、歩容生成装置100は、S702からの処理を再び実行する。なお、この場合、S702では、S716で決定された新たな仮目標ZMP軌道を用いて、仮今回歩容が生成される。   Next, the gait generator 100 executes the processing from S702 again. In this case, in S702, a temporary current time gait is generated using the new temporary target ZMP trajectory determined in S716.

そして、S708の判断結果が否定的となる限りは、上記したS702〜S716の処理が繰り返され、S708の判断結果が肯定的となった場合には、その繰り返しループを抜けてS718に進む。   Then, as long as the determination result in S708 is negative, the processing in S702 to S716 described above is repeated. If the determination result in S708 is positive, the process goes through the repetition loop and proceeds to S718.

以上のS702〜S716の処理の繰り返しによって、仮目標ZMP軌道は、仮今回歩容の終端発散成分が定常歩容の初期発散成分に一致もしくはほぼ一致するように修正されることとなる。   By repeating the processes of S702 to S716, the temporary target ZMP trajectory is corrected so that the terminal divergent component of the temporary current time gait matches or substantially matches the initial divergent component of the normal gait.

次に、S718では、歩容生成装置100は、仮今回歩容(S702〜S716の繰り返しループを抜ける直前のS702で生成された仮今回歩容)と定常歩容とを基に、今回歩容の上体姿勢角を定常歩容の上体姿勢角に近づけるように、今回歩容の上体姿勢復元モーメントZMP換算値(ZMPrec)のパターンを決定する。   Next, in S718, the gait generating device 100 determines the current time gait based on the temporary current time gait (the temporary current time gait generated in S702 immediately before exiting the repeat loop of S702 to S716) and the normal gait. The pattern of the body posture restoring moment ZMP converted value (ZMPrec) of the current time's gait is determined so that the body posture angle of the current time gait approaches the body posture angle of the normal gait.

この場合、上体姿勢復元モーメントZMP換算値(ZMPrec)のパターンは、仮今回歩容の終端上体姿勢角と定常歩容の初期上体姿勢角との差、及び仮今回歩容の終端上体姿勢角速度と定常歩容の初期上体姿勢角速度との差などを基に決定される。   In this case, the pattern of the body posture restoring moment ZMP converted value (ZMPrec) is the difference between the terminal body posture angle of the provisional current time gait and the initial body posture angle of the normal gait, and the terminal body of the provisional current time gait. It is determined based on the difference between the body posture angular velocity and the initial body posture angular velocity of the normal gait.

ここで決定するZMPrecは、後述する今回歩容の瞬時値の生成処理(S032の処理)で、床反力水平成分許容範囲が十分に大きいものとなる期間(前記上体姿勢復元期間[Ta,Tb])において、上体姿勢角軌道を定常歩容につながらせる(近づける)ように上体姿勢角加速度を発生させても、今回歩容終端発散成分と定常歩容初期発散成分との一致性(S708の条件)を維持できるように、仮目標ZMPを修正するためのものである。   The ZMPrec determined here is a period during which the floor reaction force horizontal component allowable range is sufficiently large in the instantaneous value generation process of the current time gait described later (the process of S032) (the body posture restoration period [Ta, Tb]), even if the body posture angular acceleration is generated so that the body posture angular trajectory can be connected to the normal gait, the consistency between the current gait end divergence component and the normal gait initial divergence component This is for correcting the temporary target ZMP so that (condition of S708) can be maintained.

このZMPrecは、前記定常歩容の生成処理で説明したものと同様に台形状のパターンであり、次のように決定される。すなわち、図18に例示したZMPrecの台形パターンにおいて、台形の頂点(折れ点)の時刻は、前記上体姿勢復元期間[Ta,Tb]内の所定の時刻(例えば前記ZMP修正量の台形パターンの折れ点の時刻)とされる。そして、台形高さを未知数のパラメータとし、以下のようにZMPrecの台形高さが求められる。なお、S718では図18におけるTm及びTs2をそれぞれTa,Tbに置き換えるものとする。   This ZMPrec is a trapezoidal pattern similar to that described in the normal gait generation process, and is determined as follows. That is, in the trapezoidal pattern of ZMPrec illustrated in FIG. 18, the time of the apex (folding point) of the trapezoid is a predetermined time within the body posture restoration period [Ta, Tb] (for example, the trapezoidal pattern of the ZMP correction amount). (Time of break point). Then, using the trapezoidal height as an unknown parameter, the trapezoidal height of ZMPrec is obtained as follows. In S718, Tm and Ts2 in FIG. 18 are replaced with Ta and Tb, respectively.

上記のように上体姿勢復元モーメントZMP換算値ZMPrecのパターンの未知数のパラメータが1つである場合には、今回歩容の終端において上体姿勢角と上体姿勢角速度との両方を定常歩容に連続につなげることは一般的にはできない。そこで、本実施形態では、複数の歩容周期で徐々に、生成される歩容の状態が定常歩容の状態に近づくように、未知数のパラメータを決定することとする。   As described above, when there is one unknown parameter of the pattern of the body posture restoring moment ZMP converted value ZMPrec, both the body posture angle and the body posture angular velocity at the end of the current time's gait are steady gaits. In general, it is not possible to connect them continuously. Therefore, in the present embodiment, the unknown parameter is determined so that the gait state generated gradually approaches the normal gait state in a plurality of gait cycles.

補足すると、ZMPrecのパターンをより複雑にすることによって、そのパターンの未知数のパラメータを2つ以上にしてもよい。そして、今回歩容の終端において上体姿勢角と上体姿勢角速度との両者を定常歩容に連続につなげるように2つ以上の未知数のパラメータを決定するようにしてもよい。ただし、このようにした場合には、ZMPrecのパターンがジグザグに変動し過ぎるおそれがある。   Supplementally, by making the ZMPrec pattern more complex, the number of unknown parameters of the pattern may be two or more. Then, two or more unknown parameters may be determined so that both the body posture angle and the body posture angular velocity are continuously connected to the normal gait at the end of the current time's gait. However, in this case, there is a possibility that the ZMPrec pattern fluctuates too much in a zigzag manner.

ZMPrecの未知数のパラメータとしての台形高さは、以下に説明する如く決定される。以下では、算出原理を説明した後、算出手順を説明する。   The trapezoidal height as an unknown parameter of ZMPrec is determined as described below. Hereinafter, after describing the calculation principle, the calculation procedure will be described.

前述のごとくS702でZMPrec=0として生成した仮今回歩容の終端上体姿勢角と定常歩容の初期上体姿勢角との差をθerrとする。また、この仮今回歩容の終端上体姿勢角速度と定常歩容の初期上体姿勢角速度との差をVθerrとする。   As described above, the difference between the terminal body posture angle of the provisional current time gait generated with ZMPrec = 0 in S702 and the initial body posture angle of the normal gait is defined as θerr. The difference between the terminal body posture angular velocity of the provisional current time gait and the initial body posture angular velocity of the normal gait is defined as Vθerr.

ここで、ZMPrecのパターンの台形高さをある値bcurrとして今回歩容を生成し、引き続いて、今回歩容と同様のアルゴリズムによって定常歩容の第1旋回歩容を生成する場合を想定する。但し、第1旋回歩容の上体姿勢復元モーメントZMP換算値ZMPrecパターンの高さは、図17のS518において求められた第1旋回歩容のZMPrecパターンの高さ(図18に例示する台形パターンの高さ)とある値b1との和であるとする。   Here, it is assumed that the current time gait is generated with the trapezoidal height of the ZMPrec pattern as a certain value bcurr, and then the first turning gait of the normal gait is generated by the same algorithm as the current time gait. However, the height of the body posture restoring moment ZMP converted value ZMPrec pattern of the first turning gait is the height of the ZMPrec pattern of the first turning gait obtained in S518 of FIG. 17 (the trapezoid pattern illustrated in FIG. 18). ) And a certain value b1.

このようにして生成された歩容をZMPrec修正歩容と呼び、その終端(第1旋回歩容の終端)の上体姿勢角とその角速度とをそれぞれθ1、Vθ1とする。   The gait thus generated is called a ZMPrec corrected gait, and the body posture angle and its angular velocity at its end (the end of the first turning gait) are θ1 and Vθ1, respectively.

図6のS024の処理(定常歩容の初期状態を決定する処理)が完了した時点で求められた本来の定常歩容(最終的にS310で決定された定常歩容の初期上体姿勢角及び角速度を初期値とし、第1旋回歩容及び第2旋回歩容のそれぞれのZMPrecのパターンをS518において求められたパターンとした場合の定常歩容)の第1旋回歩容の終端上体姿勢角と角速度とをそれぞれθ1org、Vθ1orgとする。   The original normal gait (finally the initial body posture angle of the normal gait determined in S310 and the initial body posture angle determined at the time when the process of S024 in FIG. 6 (process for determining the initial state of the normal gait) is completed. The normal body posture angle of the first turning gait of the normal turning gait when the angular velocity is the initial value and the ZMPrec patterns of the first turning gait and the second turning gait are the patterns obtained in S518. And angular velocity are θ1org and Vθ1org, respectively.

ここで、Δθ1、ΔVθ1を次のように定義する。   Here, Δθ1 and ΔVθ1 are defined as follows.


Δθ1=θ1−θ1org ……式50
ΔVθ1=Vθ1−Vθ1org ……式51

上記Δθ1は、ZMPrec修正歩容の終端における上体姿勢角と本来の定常歩容の第1旋回歩容の終端における上体姿勢角との差を意味する。同様に、Vθ1は、ZMPrec修正歩容の終端における上体姿勢角速度と本来の定常歩容の第1旋回歩容の終端における上体姿勢角速度との差を意味する。もし、Δθ1及びΔVθ1が“0”になれば、ZMPrec修正歩容に引き続いて、今回歩容と同様のアルゴリズムによって、ZMPrecパターンをS518において求められた第2旋回歩容用のZMPrecに一致させて該第2旋回歩容を生成すれば、その第2旋回歩容の上体姿勢角と角速度とに関しては、本来の定常歩容の第2旋回歩容のそれに一致する。

Δθ1 = θ1−θ1org …… Formula 50
ΔVθ1 = Vθ1−Vθ1org ...... Formula 51

Δθ1 means the difference between the body posture angle at the end of the ZMPrec corrected gait and the body posture angle at the end of the first turning gait of the original normal gait. Similarly, Vθ1 means the difference between the body posture angular velocity at the end of the ZMPrec corrected gait and the body posture angular velocity at the end of the first turning gait of the original normal gait. If Δθ1 and ΔVθ1 become “0”, the ZMPrec pattern is matched with the ZMPrec for the second turning gait obtained in S518 by the same algorithm as the current time gait following the ZMPrec corrected gait. If the second turning gait is generated, the body posture angle and angular velocity of the second turning gait coincide with those of the second turning gait of the original normal gait.

従って、Δθ1及びΔVθ1が“0”となるbcurr(以降、今回歩容台形高さbcurrという)とb1(以降、第1旋回歩容台形高さb1という)とを求め、求めたbcurrを今回歩容の台形高さとして最終的に決定すればよい。   Accordingly, bcurr (hereinafter referred to as the current time gait trapezoidal height bcurr) and b1 (hereinafter referred to as the first turning gait trapezoidal height b1) at which Δθ1 and ΔVθ1 are “0” are obtained, and the obtained bcurr is determined as the current step. The final trapezoidal height may be determined.

一方、ロボット1の上体姿勢角に関する動力学モデルが、図5に示すフライホイールFHのような線形特性を持つことから、Δθ1及びΔVθ1は、今回歩容台形高さbcurr、第1旋回歩容台形高さb1、仮今回歩容の終端上体姿勢角と定常歩容の初期上体姿勢角との差θerr、仮今回歩容の終端上体姿勢角速度と定常歩容の初期上体姿勢角速度との差Vθerrと以下の関係を持つ。   On the other hand, since the dynamic model related to the body posture angle of the robot 1 has linear characteristics like the flywheel FH shown in FIG. 5, Δθ1 and ΔVθ1 are the gait trapezoid height bcurr this time, the first turning gait. Trapezoidal height b1, the difference between the terminal body posture angle of the temporary gait and the initial body posture angle of the normal gait θerr, the terminal body posture angular velocity of the temporary gait and the initial body posture angular velocity of the normal gait And the following relationship with the difference Vθerr.


Δθ1=c11*bcurr+c12*b1+θerr+e1*Vθerr ……式52
ΔVθ1=c21*bcurr+c22*b1+e2*Vθerr ……式53

但し、c11、c12、c21、c22、e1、e2は、今回歩容の歩容周期、第1旋回歩容の歩容周期、上体姿勢復元モーメントZMP換算値ZMPrecのパターンのパラメータ(特に時間に関するパラメータ)などによって一義的に決定される係数である。

Δθ1 = c11 * bcurr + c12 * b1 + θerr + e1 * Vθerr …… Formula 52
ΔVθ1 = c21 * bcurr + c22 * b1 + e2 * Vθerr …… Formula 53

However, c11, c12, c21, c22, e1, e2 are the gait cycle of the current time's gait, the gait cycle of the first turning gait, and the pattern parameters of the body posture restoring moment ZMP converted value ZMPrec (especially regarding time) The coefficient is uniquely determined by the parameter).

以上の原理に基づき、歩容生成装置100は、ZMPrecの未知数のパラメータとしての台形高さを、次のように決定する。   Based on the above principle, the gait generator 100 determines the trapezoid height as an unknown parameter of ZMPrec as follows.

まず、歩容生成装置100は、仮今回歩容と定常歩容との境界での上体姿勢角の差θerrと上体姿勢角速度の差Vθerrとを求める。   First, the gait generator 100 obtains a body posture angle difference θerr and a body posture angular velocity difference Vθerr at the boundary between the provisional current time gait and the normal gait.

次いで、歩容生成装置100は、式52,53の係数であるc11、c12、c21、c22、e1、e2を、今回歩容の歩容周期、第1旋回歩容の歩容周期、上体姿勢復元モーメントZMP換算値ZMPrecのパターンのパラメータ(特に時間に関するパラメータ)などを基に決定する。   Next, the gait generator 100 uses c11, c12, c21, c22, e1, and e2 as coefficients of the equations 52 and 53 as the gait cycle of the current time gait, the gait cycle of the first turning gait, and the upper body. It is determined based on the pattern parameters (particularly parameters relating to time) of the posture restoring moment ZMP converted value ZMPrec.

次いで、歩容生成装置100は、式52、式53の右辺の演算結果の値が“0”となるように今回歩容台形高さbcurr及び第1旋回歩容台形高さb1を決定する。すなわち、式52、式53の左辺を“0”とした連立方程式を解くことによって、bcurr、b1が求められる。   Next, the gait generator 100 determines the current time gait trapezoidal height bcurr and the first turning gait trapezoidal height b1 so that the value of the calculation result on the right side of Equations 52 and 53 is “0”. That is, bcurr and b1 are obtained by solving simultaneous equations with the left side of Expressions 52 and 53 set to “0”.

そして、歩容生成装置100は、上記の如く求めたbcurrを、今回歩容の上体姿勢復元モーメントZMP換算値(ZMPrec)の台形パターンの台形高さとして決定する。   The gait generator 100 determines the bcurr obtained as described above as the trapezoidal height of the trapezoid pattern of the body posture restoring moment ZMP converted value (ZMPrec) of the current time's gait.

以上の如くS718で上体姿勢復元モーメントZMP換算値ZMPrecのパターンを決定した後、次に、S720に進む。このS720では、歩容生成装置100は、現在の仮目標ZMP軌道(S702〜S716の繰り返しループを抜けたときの仮目標ZMP軌道)に、S718で決定した上体姿勢復元モーメントZMP換算値のパターンを重畳する(加え合わせる)ことによって得られるパターンを、今回歩容の目標ZMP軌道として決定する。   As described above, after determining the pattern of the body posture restoring moment ZMP converted value ZMPrec in S718, the process proceeds to S720. In S720, the gait generator 100 sets the body posture restoring moment ZMP converted value pattern determined in S718 to the current temporary target ZMP trajectory (the temporary target ZMP trajectory when the loop of S702 to S716 is repeated). The pattern obtained by superimposing (adding together) is determined as the target ZMP trajectory of the current time's gait.

以上の如く、仮目標ZMP軌道に上体姿勢復元モーメントZMP換算値のパターンを重畳することによって今回歩容の目標ZMP軌道を決定することによって、上体水平位置軌道を仮今回歩容の水平位置軌道からずらさない(ひいては、今回歩容の終端発散成分が定常歩容の初期発散成分とほぼ一致する状態を保つ)ようにしつつ、今回歩容の上体姿勢角軌道が定常歩容につながるように、今回歩容の歩容パラメータが最終的に決定されることとなる。   As described above, by determining the target ZMP trajectory of the current time gait by superimposing the body posture restoring moment ZMP converted value pattern on the temporary target ZMP trajectory, the horizontal position trajectory of the body is changed to the horizontal position of the temporary current gait. The body posture angular trajectory of the current time's gait will lead to the normal gait, while keeping the trajectory out of the trajectory (and thus keeping the terminal divergence component of the current time's gait almost the same as the initial divergence component of the normal gait) In addition, the gait parameters of the current time's gait are finally determined.

図6に戻って、上記のごとくS028において今回歩容パラメータを修正した後(今回歩容パラメータを確定した後)、あるいはS016の判断結果が否定的である場合には、S030に進み、歩容生成装置100は、今回歩容の瞬時値を決定する。   Returning to FIG. 6, after correcting the current time gait parameter in S028 as described above (after confirming the current time gait parameter), or when the determination result in S016 is negative, the process proceeds to S030 and the gait. The generation device 100 determines an instantaneous value of the current time's gait.

S030では、歩容生成装置100は、図24のS900からS910までと同一の処理を実行し、次いで、S912のサブルーチン処理である図25のS1000〜S1026の処理を実行する。但し、この場合、S030の処理の中で実行される図25のS1016においては、上体姿勢復元モーメントZMP換算値(ZMPrec)のパターンとして、前記S028の処理の中で実行される図22のS718で決定した上体姿勢復元モーメントZMP換算値(ZMPrec)のパターンが設定される。   In S030, the gait generator 100 executes the same processing as S900 to S910 of FIG. 24, and then executes the processing of S1000 to S1026 of FIG. 25 which is the subroutine processing of S912. However, in this case, in S1016 of FIG. 25 executed in the process of S030, as a pattern of the body posture restoring moment ZMP converted value (ZMPrec), S718 of FIG. 22 executed in the process of S028. The pattern of the body posture restoring moment ZMP converted value (ZMPrec) determined in (1) is set.

次いで、歩容生成装置100は、図24のS914と同一の処理が実行し、これにより、図6のS030の処理が完了する。   Next, the gait generator 100 executes the same processing as S914 in FIG. 24, whereby the processing in S030 in FIG. 6 is completed.

なお、S030の処理の中での時刻Tkは、歩容生成装置100の現在の制御周期(今回制御周期)の時刻tである。   The time Tk in the process of S030 is the time t of the current control cycle (current control cycle) of the gait generator 100.

次いでS032に進み、歩容生成装置100は、スピン力をキャンセルする(ロボット1の腕体以外の運動によって目標ZMP周りに発生する床反力モーメント鉛直成分(Z軸周り成分)を“0”又はほぼ“0”にするための腕振り動作(左右の腕体を前後逆方向に振る運動)を決定する。   Next, the processing proceeds to S032, and the gait generator 100 cancels the spin force (the floor reaction force moment vertical component (Z-axis component) generated around the target ZMP by a motion other than the arm of the robot 1 is “0” or An arm swinging motion (a motion of swinging the left and right arm bodies in the reverse direction) is determined to make it almost “0”.

具体的には、腕体の腕振り動作を行なわないように今回歩容を生成したと仮定した場合の床反力モーメント鉛直成分軌道(厳密には、腕体を振らずに今回歩容を生成した場合において、ロボット1の運動によって発生する慣性力とロボット1に作用する重力との合力が目標ZMPに作用するモーメント鉛直成分軌道の各瞬時値の符号を反転したもの)が求められる。すなわち、S030の処理によって生成された今回歩容の運動(これには腕振り動作は含まれていない)によって目標ZMP周りに発生する慣性力モーメント鉛直成分の瞬時値に釣り合う床反力モーメント鉛直成分の瞬時値が算出される。そして、この床反力モーメント鉛直成分の瞬時値を、腕振り動作の等価慣性モーメントで除算することにより、スピン力をキャンセルするのに必要な腕振り動作の角加速度が求められる。なお、腕の振りが大きくなり過ぎる場合には、床反力モーメント鉛直成分の瞬時値を、腕振り動作の等価慣性モーメントよりも大きな値で除算することによって、腕振り動作の角加速度を求めるようにしてもよい。   Specifically, the floor reaction force moment vertical component trajectory assuming that the current time's gait was generated so as not to perform arm swinging motion of the arm body (strictly, the current time's gait is generated without shaking the arm body) In this case, the resultant force of the inertial force generated by the motion of the robot 1 and the gravity acting on the robot 1 is obtained by reversing the sign of each instantaneous value of the moment vertical component trajectory acting on the target ZMP). That is, the floor reaction force moment vertical component that balances the instantaneous value of the inertial force moment vertical component generated around the target ZMP by the motion of the current time's gait generated by the processing of S030 (this does not include the arm swing motion). The instantaneous value of is calculated. Then, by dividing the instantaneous value of the vertical component of the floor reaction force moment by the equivalent moment of inertia of the arm swing motion, the angular acceleration of the arm swing motion necessary for canceling the spin force is obtained. If the arm swing is too large, the instantaneous value of the floor reaction force moment vertical component should be divided by a value larger than the equivalent inertia moment of the arm swing motion to obtain the angular acceleration of the arm swing motion. It may be.

次に、歩容生成装置100は、この腕振り動作の角加速度を2階積分し、この積分値をローカットフィルタに通すことによって得られる角度を腕振り動作角とする。これにより、腕振り動作を含む両腕体の姿勢が決定されることとなる。但し、腕振り動作では、左右の腕体を前後逆方向に振り、両腕体の重心位置を変化させないようにする。   Next, the gait generator 100 performs second-order integration of the angular acceleration of this arm swing motion, and sets the angle obtained by passing this integrated value through the low cut filter as the arm swing motion angle. Thereby, the postures of both arms including the arm swinging motion are determined. However, in the arm swinging operation, the left and right arm bodies are swung in the reverse direction, so that the center of gravity positions of both arm bodies are not changed.

なお、スピン力をキャンセルするための腕振り動作を定常歩容でも生成しておき、これにつながるように、今回歩容における腕振り動作を決定するようにしてもよい。   Note that an arm swing motion for canceling the spin force may be generated even in a normal gait, and the arm swing motion in the current time gait may be determined so as to lead to this.

次いでS034に進み、歩容生成装置100は、歩容生成用時刻tをΔt(歩容生成装置100の制御周期)だけ増やし、S014からの処理を再び実行する。   Next, proceeding to S034, the gait generator 100 increases the gait generation time t by Δt (control cycle of the gait generator 100), and executes the processing from S014 again.

以上が、歩容生成装置100における目標歩容の生成処理である。   The above is the target gait generation process in the gait generator 100.

次に、図3を参照して制御ユニット26によるロボット1の動作制御を説明する。歩容生成装置100において、上記したように生成された目標歩容のうち、目標上体位置姿勢軌道と目標腕姿勢軌道とが、ロボット幾何学モデル(逆キネマティクス演算部)102に出力される。   Next, operation control of the robot 1 by the control unit 26 will be described with reference to FIG. In the gait generator 100, the target body position / posture trajectory and the target arm posture trajectory among the target gaits generated as described above are output to the robot geometric model (reverse kinematics calculation unit) 102. .

また、目標足平位置姿勢軌道、目標ZMP軌道(目標全床反力中心点軌道)、及び目標全床反力軌道(目標床反力水平成分と目標床反力鉛直成分)は、複合コンプライアンス動作決定部104と目標床反力分配器106とに出力される。   The target foot position / posture trajectory, target ZMP trajectory (target floor reaction force center point trajectory), and target floor total reaction force trajectory (target floor reaction force horizontal component and target floor reaction force vertical component) The data is output to the determination unit 104 and the target floor reaction force distributor 106.

そして、目標床反力分配器106で、目標全床反力は各足平22R,22Lに分配され、各足平22R,22L毎の床反力中心点の目標位置である目標各足平床反力中心点と、各足平22R,22L毎の目標床反力である目標各足平床反力が決定される。この決定された目標各足平床反力中心点及び目標各足平床反力は複合コンプライアンス動作決定部104に入力される。   Then, the desired floor reaction force distributor 106 distributes the desired total floor reaction force to each foot 22R, 22L, and each desired foot floor reaction, which is the target position of the floor reaction force center point for each foot 22R, 22L. The force center point and each desired foot floor reaction force, which is the desired floor reaction force for each foot 22R, 22L, are determined. The determined desired foot floor reaction force center point and the desired foot floor reaction force are input to the composite compliance operation determining unit 104.

複合コンプライアンス動作決定部104から、機構変形補償付き修正目標足平位置姿勢軌道がロボット幾何学モデル102に出力される。ロボット幾何学モデル102は、入力された目標上体位置姿勢軌道と機構変形補償付き修正目標足平位置姿勢軌道とから、それらを満足する脚体2,2の12個の関節(10R(L)など)の関節変位指令(各関節の変位量の指令値)を算出し、この関節変位指令を関節変位コントローラ108に出力する。   From the composite compliance operation determination unit 104, the corrected desired foot position / posture trajectory with mechanism deformation compensation is output to the robot geometric model 102. The robot geometric model 102 has 12 joints (10R (L)) of the legs 2 and 2 that satisfy the target body position / posture trajectory and the corrected target foot position / posture trajectory with mechanism deformation compensation. The joint displacement command (the command value of the displacement amount of each joint) is calculated, and this joint displacement command is output to the joint displacement controller 108.

関節変位コントローラ108は、ロボット幾何学モデル102で算出された関節変位指令を目標値として、この目標値にロボット1の12個の関節の変位量を追従制御する。また、ロボット幾何学モデル102は、目標腕姿勢軌道を満足する各腕体の関節の関節変位指令を算出して関節変位コントローラ108に出力する。そして、変位コントローラ108は、ロボット幾何学モデル102で算出された関節変位指令を目標値として、この目標値にロボット1の腕体の関節の変位量を追従制御する。   The joint displacement controller 108 uses the joint displacement command calculated by the robot geometric model 102 as a target value, and controls the displacement amounts of the twelve joints of the robot 1 to follow the target value. Further, the robot geometric model 102 calculates a joint displacement command for each arm body satisfying the target arm posture trajectory and outputs the joint displacement command to the joint displacement controller 108. Then, the displacement controller 108 uses the joint displacement command calculated by the robot geometric model 102 as a target value, and controls the displacement amount of the joint of the arm body of the robot 1 to follow the target value.

ロボット1に作用する床反力(詳しくは各足平22に作用する実床反力である実各足床反力)が、前記6軸力センサ36の出力を基に、制御ユニット26で検出される。その検出値は前記複合コンプライアンス動作決定部104に入力される。   A floor reaction force acting on the robot 1 (specifically, an actual foot reaction force acting on each foot 22) is detected by the control unit 26 based on the output of the six-axis force sensor 36. Is done. The detected value is input to the composite compliance operation determination unit 104.

また、ロボット1の実上体姿勢角(詳しくはロール方向(X軸周り)の実上体姿勢角とピッチ方向(Y軸周り)の実上体姿勢角)が、前記傾斜センサ38の出力を基に、制御ユニット26で検出され、その検出値は姿勢安定化制御演算部112に入力される。この姿勢安定化制御演算部112では、ロボット1の実上体姿勢角を目標上体姿勢角に復元するためにロボット1に付加的に作用させる床反力操作量として、目標全床反力中心点(目標ZMP)周りの補償全床反力モーメントがPD則等のフィードバック制御則により算出される。そして、この補償全床反力モーメントが複合コンプライアンス動作決定部104に入力される。   The actual body posture angle of the robot 1 (specifically, the actual body posture angle in the roll direction (around the X axis) and the actual body posture angle in the pitch direction (around the Y axis)) outputs the output of the tilt sensor 38. Based on this, the control unit 26 detects the detected value, and the detected value is input to the posture stabilization control calculation unit 112. In this posture stabilization control calculation unit 112, the target total floor reaction force center is used as a floor reaction force operation amount to be additionally applied to the robot 1 in order to restore the actual body posture angle of the robot 1 to the target body posture angle. The compensated total floor reaction force moment around the point (target ZMP) is calculated by a feedback control law such as the PD law. This compensated total floor reaction force moment is input to the composite compliance operation determination unit 104.

複合コンプライアンス動作決定部104は、入力値に基づいて目標床反力を修正する。具体的には、目標全床反力中心点(目標ZMP)周りに補償全床反力モーメントが作用するように目標床反力を修正する。そして、複合コンプライアンス動作決定部104は、ロボット1の実際の各足平位置姿勢を、歩容生成装置100が生成した目標足平位置姿勢に追従させつつ、実際の床反力を修正された目標床反力に追従させるように上記機構変形補償付き修正目標足平位置姿勢軌道を決定する。但し、ロボット1の全ての運動状態と床反力とを目標に一致させることは事実上不可能であるので、これらの間にトレードオフ関係を与えて妥協的になるべく一致させる。すなわち、各目標に対する制御偏差に重みを与えて、該制御偏差の絶対値又は2乗値の重み付き平均が最小になるように制御する。これにより、実際の足平位置姿勢と床反力とが、それぞれ、目標足平位置姿勢(歩容生成装置100で生成された目標足平位置姿勢)と修正された目標床反力とに概ね追従するように制御される。   The composite compliance operation determining unit 104 corrects the target floor reaction force based on the input value. Specifically, the target floor reaction force is corrected so that the compensated total floor reaction force moment acts around the target total floor reaction force central point (target ZMP). Then, the composite compliance action determination unit 104 follows the target foot position / posture generated by the gait generator 100 while causing the actual foot position / posture of the robot 1 to follow the target floor reaction force corrected. The corrected desired foot position / posture trajectory with mechanism deformation compensation is determined so as to follow the floor reaction force. However, since it is practically impossible to match all the motion states of the robot 1 and the floor reaction force to the target, a trade-off relationship is given between them to make them coincide as much as possible. That is, the control deviation for each target is given a weight, and control is performed so that the weighted average of the absolute value or the square value of the control deviation is minimized. As a result, the actual foot position / posture and the floor reaction force are approximately equal to the target foot position / posture (the target foot position / posture generated by the gait generator 100) and the corrected target floor reaction force, respectively. It is controlled to follow.

なお、上記した複合コンプライアンス動作決定部104などの構成及び動作は、本出願人が先に出願した特開平10−277969号公報などに詳細に記載されているので、本明細書での説明は以上に留める。   The configuration and operation of the composite compliance operation determination unit 104 and the like described above are described in detail in Japanese Patent Application Laid-Open No. 10-277969 filed earlier by the applicant of the present application. Keep on.

補足すると、本実施形態では、図3に示す制御ユニット26の機能のうち、歩容生成装置100を除く部分によって、本発明における関節制御手段が実現される。   Supplementally, in the present embodiment, the joint control means in the present invention is realized by a portion of the function of the control unit 26 shown in FIG. 3 excluding the gait generator 100.

以上説明した本実施形態によれば、ロボット1が片脚ホッピング動作を行なう場合(歩容生成装置100が片脚ホッピング歩容を生成する場合)に、ロール方向の(X軸周りの)基準上体姿勢角として、図9に示した片脚ホッピング用ロール方向上体姿勢角が設定される。このため、空中期の後の支持脚の着床状態におけるロール方向の目標上体姿勢角は、基準上体姿勢角としての片脚ホッピング用ロール方向上体姿勢角に一致するか、もしくはこれに近い姿勢角に決定されることとなる。ここで、空中期の後の支持脚の着床状態におけるロール方向の目標上体姿勢角が必ずしも基準上体姿勢角に一致しないのは、水平床反力許容範囲を満足させるために、基準上体姿勢角から修正されるためである。   According to the present embodiment described above, when the robot 1 performs a one-leg hopping operation (when the gait generator 100 generates a one-leg hopping gait), the reference in the roll direction (around the X axis) As the body posture angle, the one-leg hopping roll direction body posture angle shown in FIG. 9 is set. For this reason, the target body posture angle in the roll direction in the landing state of the support legs after the aerial period is equal to or equal to the roll direction body posture angle for one leg hopping as the reference body posture angle. A close attitude angle will be determined. Here, the target body posture angle in the roll direction in the landing state of the support legs after the aerial period does not necessarily match the reference body posture angle. This is because the body posture angle is corrected.

従って、片脚ホッピング動作の空中期の後の支持脚の着床状態において、目標上体姿勢角は、図11に示す如く、支持脚側脚体2の基端部(股関節)よりも遊脚側脚体2の基端部(股関節)が相対的に高い位置になるように上体24が傾斜する姿勢角となる。このため、ロボット1の全体重心Gaが、支持脚側脚体2の股関節の直上位置もしくはそれに近い位置に存在するようにロボット1の目標歩容(片脚ホッピング歩容)が生成されることとなる。   Therefore, in the landing state of the support leg after the mid-air period of the one-leg hopping operation, the target body posture angle is set to be a free leg rather than the base end portion (hip joint) of the support leg-side leg 2 as shown in FIG. The posture angle is such that the upper body 24 is inclined so that the base end (hip joint) of the side leg 2 is at a relatively high position. For this reason, the target gait (one-leg hopping gait) of the robot 1 is generated so that the entire center of gravity Ga of the robot 1 exists at a position immediately above the hip joint of the supporting leg side leg 2 or a position close thereto. Become.

また、支持脚の着床状態において支持脚足平22の接地面内に設定される目標ZMPを満足するように目標歩容が生成されるので、支持脚側脚体2の着床直後の上記全体重心Gaは、結果的には、支持脚足平22の接地面のほぼ直上に位置することとなる。   In addition, since the target gait is generated so as to satisfy the target ZMP set in the ground contact surface of the support leg foot 22 in the landing state of the support leg, the above-mentioned immediately after landing of the support leg side leg 2 is performed. As a result, the overall center of gravity Ga is located almost immediately above the ground contact surface of the support leg foot 22.

この結果、この目標歩容(片脚ホッピング歩容)に追従させるようにロボット1の動作制御を行うことで、片脚ホッピング動作の空中期の直後の支持脚側脚体2の着床動作時に、ロボット1の動力学的平衡条件を満たしつつ、支持脚側脚体2の股関節に大きなモーメント(X軸周りのモーメント)が作用するのを防止することができる。ひいては、該股関節の関節アクチュエータ(本実施形態では電動モータ42)の負担を軽減し、該関節アクチュエータや股関節の小型化あるいは軽量化を図ることができると共に、該関節アクチュエータや股関節の耐久性を高めることができる。   As a result, by controlling the operation of the robot 1 so as to follow this target gait (single leg hopping gait), the landing leg movement of the supporting leg side leg 2 immediately after the mid-air period of the one leg hopping action is performed. Thus, it is possible to prevent a large moment (moment about the X axis) from acting on the hip joint of the supporting leg-side leg 2 while satisfying the dynamic equilibrium condition of the robot 1. As a result, the burden on the joint actuator of the hip joint (the electric motor 42 in this embodiment) can be reduced, the joint actuator and the hip joint can be reduced in size or weight, and the durability of the joint actuator and the hip joint can be increased. be able to.

なお、以上説明した実施形態では、歩行歩容又は走行歩容の生成処理は、前記特許文献1の実施形態に記載されたものと同一であるので、これらの歩行歩容又は走行歩容における基準上体姿勢は、例えば、直立姿勢でロボット1が起立している場合の上体姿勢(体幹軸を鉛直方向に向けた姿勢)とされる。   In the embodiment described above, the generation process of the walking gait or the running gait is the same as that described in the embodiment of Patent Document 1, and thus the reference in these walking gait or the running gait. The body posture is, for example, a body posture when the robot 1 is standing in an upright posture (a posture in which the trunk axis is directed in the vertical direction).

この場合、片脚ホッピング歩容から走行歩容又は歩行歩容への移行時、あるいは、走行歩容又は歩行歩容から片脚ホッピング歩容への移行時には、基準上体姿勢軌道は、その移行前の歩容に対応する基準上体姿勢軌道から、移行後の歩容に対応する基準上体姿勢軌道に連続的に変化していくように設定することが望ましい。   In this case, the reference body posture trajectory is changed at the transition from the one-leg hopping gait to the running gait or the walking gait, or at the transition from the running gait or the walking gait to the one-leg hopping gait. It is desirable to set so that the reference body posture trajectory corresponding to the previous gait continuously changes to the reference body posture trajectory corresponding to the gait after the transition.

具体的には、例えば、今回歩容が片脚ホッピング歩容であり、次回歩容が歩行歩容又は走行歩容である場合には、今回歩容のロール方向の(X軸周りの)基準上体姿勢軌道は、図27に示す如く、前記片脚ホッピング用ロール方向上体姿勢角から“0”まで滑らかに変化していくように設定することが好ましい。   Specifically, for example, when the current time's gait is a one-leg hopping gait and the next time's gait is a walking gait or a running gait, a reference in the roll direction (around the X axis) of the current time's gait. As shown in FIG. 27, the body posture trajectory is preferably set so as to smoothly change from the body posture angle in the roll direction for one leg hopping to “0”.

また、例えば、今回歩容が歩行歩容又は走行歩容であり、次回歩容が片脚ホッピング歩容である場合には、今回歩容のロール方向の(X軸周りの)基準上体姿勢角軌道は、図28に示す如く、“0”から前記片脚ホッピング用ロール方向上体姿勢角まで滑らかに変化していくように設定することが好ましい。   Also, for example, when the current time's gait is a walking gait or a running gait and the next time's gait is a one-leg hopping gait, the reference body posture in the roll direction of the current time's gait (around the X axis) As shown in FIG. 28, the angular trajectory is preferably set so as to smoothly change from “0” to the one-leg hopping roll direction body posture angle.

以上説明した実施形態では、今回歩容の続く仮想的な周期的歩容としての定常歩容を決定した上で、今回歩容の終端発散成分を定常歩容の終端発散成分にほぼ一致させるように(ひいては、今回歩容が将来において定常歩容に収束し得るように)、今回歩容を生成するようした。但し、本発明は、定常歩容を決定することを必須とするものではない。すなわち、ロボット1の姿勢の継続的な安定性を保つことができる歩容を生成することができる手法であれば、その他の手法で、片脚ホッピング歩容等の歩容を生成するようにしてもよい。   In the embodiment described above, after determining the normal gait as a virtual periodic gait following the current time's gait, the terminal divergence component of the current time's gait is substantially matched with the terminal divergence component of the normal gait. On the other hand (so that the current time's gait can converge to a normal gait in the future), the current time's gait is generated. However, the present invention does not necessarily determine the normal gait. That is, as long as it is a technique that can generate a gait that can maintain the continuous stability of the posture of the robot 1, a gait such as a one-leg hopping gait is generated by other techniques. Also good.

また、歩容生成用の動力学モデルは、図5に示した動力学モデルに限られるものではない。例えば、ロボット1の各リンクに質点を有するような多質点モデルを動力学モデルとして使用してもよい。歩容生成用の動力学モデルは、片脚ホッピング動作等におけるロボット1の動力学を適切に表現し得るものであれば、その他の動力学モデルを使用してもよい。   Further, the dynamic model for generating gaits is not limited to the dynamic model shown in FIG. For example, a multi-mass model having a mass on each link of the robot 1 may be used as the dynamic model. As the gait generation dynamic model, any other dynamic model may be used as long as it can appropriately express the dynamics of the robot 1 in a one-leg hopping motion or the like.

あるいは、例えば特許第4246538号等にて本願出願人が開示している歩容生成技術のように、比較的単純な動力学モデルを使用して、目標歩容を生成した後、その目標歩容をより厳密な動力学モデルを用いて補正することによって、片脚ホッピング歩容を含めた種々の目標歩容を生成するようにしてもよい。   Alternatively, the target gait is generated after the target gait is generated using a relatively simple dynamic model, such as the gait generation technique disclosed by the present applicant in, for example, Japanese Patent No. 4246538. May be generated using a stricter dynamic model to generate various desired gaits including a one-leg hopping gait.

また、前記実施形態では、ロボット1の動作中にリアルタイムで目標歩容を生成する場合を例にとって説明したが、本発明の歩容生成装置にあっては、実際のロボット1の動作時以外の任意の時期に、コンピュータを使用してロボットの目標歩容を生成するものであってもよい。   In the above-described embodiment, the case where the target gait is generated in real time during the operation of the robot 1 has been described as an example. The robot may generate a target gait of the robot at any time using a computer.

1…2足移動ロボット、2R,2L…脚体、24…上体、26…制御ユニット(目標歩容生成手段、目標運動生成手段、関節制御手段)、100…歩容生成装置(目標歩容生成手段、目標運動生成手段)。   DESCRIPTION OF SYMBOLS 1 ... Biped mobile robot, 2R, 2L ... Leg, 24 ... Upper body, 26 ... Control unit (target gait generating means, target motion generating means, joint control means), 100 ... Gait generating device (target gait) Generating means, target motion generating means).

Claims (6)

上体に関節を介して基端部が連結された2つの脚体を有する2足移動ロボットであり、該ロボットが実現可能な動作として、前記2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体のみにより離床動作とこれに続く着床動作とが行なわれる動作である片脚ホッピング動作を含む2足移動ロボットの制御装置であって、
前記片脚ホッピング動作を前記ロボットに行わせるとき、前記他方の脚体の離床後の着床状態において、前記他方の脚体の基端部よりも前記一方の脚体の基端部の方が相対的に高い位置に存在するように、前記ロボットの目標運動を少なくとも含む目標歩容を生成する目標歩容生成手段と、
前記生成された目標歩容に応じて前記ロボットの各関節の動作制御を行なう関節制御手段とを備えることを特徴とする2足移動ロボットの制御装置。
A bipedal mobile robot having two legs whose base ends are connected to the upper body via joints. As an operation that can be realized by the robot, one of the two legs is removed from the floor. A control device for a biped mobile robot including a one-leg hopping operation in which a floor leaving operation and a subsequent landing operation are performed only by the other leg in the state where
When the robot performs the one-leg hopping operation, the base end of the one leg is more than the base end of the other leg in the landing state after leaving the other leg. Target gait generating means for generating a target gait including at least a target motion of the robot so as to exist at a relatively high position;
A biped mobile robot control device comprising: joint control means for controlling the operation of each joint of the robot according to the generated target gait.
上体に関節を介して基端部が連結された2つの脚体を有する2足移動ロボットであり、該ロボットが実現可能な動作として、前記2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体のみにより離床動作とこれに続く着床動作とが行なわれる動作である片脚ホッピング動作を含む2足移動ロボットの制御装置であって、
前記片脚ホッピング動作を前記ロボットに行わせるとき、前記他方の脚体の離床後の着床状態において、前記ロボットの全体の重心点の位置を、前記ロボットの全体の重心点と前記他方の脚体の基端部との水平方向距離が、前記ロボットが直立姿勢で起立している状態での当該水平方向距離よりも短くなるように前記ロボットの目標運動を少なくとも含む目標歩容を生成する目標歩容生成手段と、
前記生成された目標歩容に応じて前記ロボットの各関節の動作制御を行なう関節制御手段とを備えることを特徴とする2足移動ロボットの制御装置。
A bipedal mobile robot having two legs whose base ends are connected to the upper body via joints. As an operation that can be realized by the robot, one of the two legs is removed from the floor. A control device for a biped mobile robot including a one-leg hopping operation in which a floor leaving operation and a subsequent landing operation are performed only by the other leg in the state where
When causing the robot to perform the one-leg hopping operation, the position of the center of gravity of the entire robot is set to the position of the center of gravity of the robot and the other leg in the landing state after leaving the other leg. A target that generates a target gait that includes at least the target motion of the robot so that a horizontal distance to the base end of the body is shorter than the horizontal distance in a state where the robot stands in an upright posture Gait generating means;
A biped mobile robot control device comprising: joint control means for controlling the operation of each joint of the robot according to the generated target gait.
請求項1又は2記載の2足移動ロボットの制御装置において、
前記他方の脚体の離床後の着床状態において前記目標歩容生成手段が生成する目標運動は、前記ロボットの全体の重心点と、該他方の脚体の基端部とが、該他方の脚体の接地面の直上で上下に並ぶように配置される目標運動であることを特徴とする2足移動ロボットの制御装置。
The control apparatus for a biped mobile robot according to claim 1 or 2,
The target motion generated by the target gait generating means in the landing state after leaving the other leg is that the center of gravity of the entire robot and the base end of the other leg are A control device for a biped mobile robot, characterized in that the target motion is arranged so as to be arranged vertically above the ground contact surface of the leg.
上体に関節を介して基端部が連結された2つの脚体を有する2足移動ロボットであり、該ロボットが実現可能な動作として、前記2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体のみにより離床動作とこれに続く着床動作とが行なわれる動作である片脚ホッピング動作を含む2足移動ロボットの歩容生成装置であって、
前記片脚ホッピング動作を前記ロボットに行わせるための該ロボットの目標運動を少なくとも含む目標歩容を生成するとき、前記他方の脚体の離床後の着床状態において、前記他方の脚体の基端部よりも前記一方の脚体の基端部の方が相対的に高い位置に存在するように前記ロボットの目標運動を生成する目標運動生成手段を備えることを特徴とする2足移動ロボットの歩容生成装置。
A bipedal mobile robot having two legs whose base ends are connected to the upper body via joints. As an operation that can be realized by the robot, one of the two legs is removed from the floor. A gait generator for a biped mobile robot including a one-leg hopping operation in which a floor leaving operation and a subsequent landing operation are performed only by the other leg in the state where
When generating a target gait that includes at least the target motion of the robot for causing the robot to perform the one-leg hopping operation, the base of the other leg in the landing state after leaving the other leg A bipedal mobile robot comprising target motion generation means for generating a target motion of the robot so that a base end portion of the one leg is located at a relatively higher position than an end portion. Gait generator.
上体に関節を介して基端部が連結された2つの脚体を有する2足移動ロボットであり、該ロボットが実現可能な動作として、前記2つの脚体のうちの一方の脚体を離床させた状態で、他方の脚体のみにより離床動作とこれに続く着床動作とが行なわれる動作である片脚ホッピング動作を含む2足移動ロボットの歩容生成装置であって、
前記片脚ホッピング動作を前記ロボットに行わせるための該ロボットの目標運動を少なくとも含む目標歩容を生成するとき、前記他方の脚体の離床後の着床状態において、前記ロボットの全体の重心点と前記他方の脚体の基端部との水平方向距離が、前記ロボットが直立姿勢で起立している状態での当該水平方向距離よりも短くなるように前記ロボットの目標運動を生成する目標運動生成手段を備えることを特徴とする2足移動ロボットの歩容生成装置。
A bipedal mobile robot having two legs whose base ends are connected to the upper body via joints. As an operation that can be realized by the robot, one of the two legs is removed from the floor. A gait generator for a biped mobile robot including a one-leg hopping operation in which a floor leaving operation and a subsequent landing operation are performed only by the other leg in the state where
When generating a target gait that includes at least the target motion of the robot for causing the robot to perform the one-leg hopping operation, the center of gravity of the entire robot in the landing state after leaving the other leg A target motion that generates a target motion of the robot such that a horizontal distance between the base and the base end of the other leg is shorter than the horizontal distance when the robot stands upright A gait generating device for a biped mobile robot, characterized by comprising generating means.
請求項4又は5記載の2足移動ロボットの歩容生成装置において、
前記他方の脚体の離床後の着床状態において前記目標歩容生成手段が生成する目標運動は、前記ロボットの全体の重心点と、該他方の脚体の基端部とが、該他方の脚体の接地面の直上で上下に並ぶように配置される目標運動であることを特徴とする2足移動ロボットの歩容生成装置。
The gait generator for a biped mobile robot according to claim 4 or 5,
The target motion generated by the target gait generating means in the landing state after leaving the other leg is that the center of gravity of the entire robot and the base end of the other leg are 2. A gait generator for a biped mobile robot, wherein the gait generator is a target motion arranged so as to be lined up and down immediately above the ground contact surface of the leg.
JP2010099090A 2010-04-22 2010-04-22 Biped mobile robot controller and gait generator Expired - Fee Related JP5468974B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010099090A JP5468974B2 (en) 2010-04-22 2010-04-22 Biped mobile robot controller and gait generator
US13/086,872 US9120512B2 (en) 2010-04-22 2011-04-14 Control device and gait generating device for bipedal mobile robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010099090A JP5468974B2 (en) 2010-04-22 2010-04-22 Biped mobile robot controller and gait generator

Publications (2)

Publication Number Publication Date
JP2011224757A true JP2011224757A (en) 2011-11-10
JP5468974B2 JP5468974B2 (en) 2014-04-09

Family

ID=45040758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010099090A Expired - Fee Related JP5468974B2 (en) 2010-04-22 2010-04-22 Biped mobile robot controller and gait generator

Country Status (1)

Country Link
JP (1) JP5468974B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017529246A (en) * 2014-08-25 2017-10-05 グーグル インコーポレイテッド Natural pitch and roll

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110281228B (en) * 2019-06-28 2020-10-09 北京理工大学 Planning control method for humanoid robot to cross vertical barrier

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0472755B2 (en) * 1984-11-08 1992-11-19 Hitoshi Takahashi
JP3674788B2 (en) * 2001-12-28 2005-07-20 本田技研工業株式会社 Gait generator for legged mobile robot
JP2005305597A (en) * 2004-04-21 2005-11-04 Sony Corp Robot device and its control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0472755B2 (en) * 1984-11-08 1992-11-19 Hitoshi Takahashi
JP3674788B2 (en) * 2001-12-28 2005-07-20 本田技研工業株式会社 Gait generator for legged mobile robot
JP2005305597A (en) * 2004-04-21 2005-11-04 Sony Corp Robot device and its control method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017529246A (en) * 2014-08-25 2017-10-05 グーグル インコーポレイテッド Natural pitch and roll
US10105850B2 (en) 2014-08-25 2018-10-23 Boston Dynamics, Inc. Natural pitch and roll
JP2019089200A (en) * 2014-08-25 2019-06-13 ボストン ダイナミクス,インコーポレイテッド Natural pitch and roll
US10654168B2 (en) 2014-08-25 2020-05-19 Boston Dynamics, Inc. Natural pitch and roll
JP2021041532A (en) * 2014-08-25 2021-03-18 ボストン ダイナミクス,インコーポレイテッド Natural pitch and roll
US11426875B2 (en) 2014-08-25 2022-08-30 Boston Dynamics, Inc. Natural pitch and roll
US11911916B2 (en) 2014-08-25 2024-02-27 Boston Dynamics, Inc. Natural pitch and roll

Also Published As

Publication number Publication date
JP5468974B2 (en) 2014-04-09

Similar Documents

Publication Publication Date Title
JP3640255B2 (en) Gait generator for legged mobile robot
JP5221688B2 (en) Gait generator for legged mobile robot
JP4805818B2 (en) Gait generator for mobile robot
JP4800037B2 (en) Gait generator for mobile robot
JP5219956B2 (en) Control device for moving body
JP4199236B2 (en) Gait generator for legged mobile robot
JP4800038B2 (en) Gait generator for mobile robot
JP5465074B2 (en) Biped mobile robot controller
JP5468974B2 (en) Biped mobile robot controller and gait generator
JP5404543B2 (en) Control device for legged mobile robot
JP5232120B2 (en) Control device for moving body
JP5404544B2 (en) Control device for legged mobile robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140130

R150 Certificate of patent or registration of utility model

Ref document number: 5468974

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees