Nothing Special   »   [go: up one dir, main page]

JP5035005B2 - Legged robot, its control method, and its control system - Google Patents

Legged robot, its control method, and its control system Download PDF

Info

Publication number
JP5035005B2
JP5035005B2 JP2008037126A JP2008037126A JP5035005B2 JP 5035005 B2 JP5035005 B2 JP 5035005B2 JP 2008037126 A JP2008037126 A JP 2008037126A JP 2008037126 A JP2008037126 A JP 2008037126A JP 5035005 B2 JP5035005 B2 JP 5035005B2
Authority
JP
Japan
Prior art keywords
legged robot
center
rotational momentum
gravity
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008037126A
Other languages
Japanese (ja)
Other versions
JP2009195999A (en
Inventor
敬介 菅
大作 本田
竜介 但馬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2008037126A priority Critical patent/JP5035005B2/en
Publication of JP2009195999A publication Critical patent/JP2009195999A/en
Application granted granted Critical
Publication of JP5035005B2 publication Critical patent/JP5035005B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は関節角を変更して動作する脚式ロボット、その制御方法、その制御システムに関する。   The present invention relates to a legged robot that operates by changing a joint angle, a control method thereof, and a control system thereof.

脚式ロボットの歩行軌道を計算する技術が数多く提案されている。歩行軌道計算技術としては、ロボットの重心位置軌道を計算する技術がよく知られている(例えば特許文献1など)。特許文献1には、ZMP方程式で算出されるZMPが目標ZMPに一致するように重心軌道を算出する技術が開示されている。尚、本明細書で「軌道」とは、位置の経時的な変化を記述するデータのことを言う。
特開2004−167676号公報
Many techniques for calculating the walking trajectory of a legged robot have been proposed. As a walking trajectory calculation technique, a technique for calculating the center of gravity position trajectory of a robot is well known (for example, Patent Document 1). Patent Document 1 discloses a technique for calculating the center of gravity trajectory so that the ZMP calculated by the ZMP equation matches the target ZMP. In this specification, “orbit” refers to data describing a change in position over time.
JP 2004-167676 A

ZMP方程式の求解では、一般的には、ロボットの重心周りの回転運動の角運動量軌道を用いて、ロボットの重心軌道を計算する。しかし、従来技術では、ロボットの重心軌道を求めることに主眼を置くものであり、ロボットが転倒しない条件を満足しながら、妥当な角運動量を設定する方法については考慮がなされていないものであった。従来技術では、例えば、ロボットの角運動量を0であるものと仮定する、又は角運動量を外乱として扱うものであった。角運動量を0とした場合には、当該角運動量が保存されるものとして軌道計算を行っていた。   In solving the ZMP equation, generally, the center of gravity trajectory of the robot is calculated using the angular momentum trajectory of the rotational motion around the center of gravity of the robot. However, the prior art focuses on determining the center of gravity trajectory of the robot, and does not consider a method for setting an appropriate angular momentum while satisfying the condition that the robot does not fall. . In the prior art, for example, it is assumed that the angular momentum of the robot is zero, or the angular momentum is treated as a disturbance. When the angular momentum is set to 0, the trajectory calculation is performed assuming that the angular momentum is preserved.

運動中の角運動量を0と仮定した場合には、実際には、計算された重心軌道はロボットの上体が回転した不自然な軌道となり、角運動量の時間変化率によってもロボットの転倒が引き起こされる。   Assuming that the angular momentum during movement is zero, the calculated center of gravity trajectory is actually an unnatural trajectory in which the upper body of the robot rotates, and the robot's overturning is caused by the rate of change of angular momentum over time. It is.

2足歩行ロボットにおいて、例えば角運動量を0と仮定してその場足踏み動作の軌道計算を行った場合には、ロボットの重心が左に動いたときには、角運動量を0として保存するため、その上体が右に回転する。即ち、ロボットは上体の動きに対して角運動量を0に維持しようとするため、その上体が大きく回転して姿勢が崩れてしまう。また、走行動作を行った場合においても、ロボットは前方へ一歩踏み出すごとに上体が後方へと回転して、その姿勢が反ったものとなっていた。   In a biped robot, for example, when the trajectory calculation of the stepping motion on the spot is performed assuming that the angular momentum is 0, when the center of gravity of the robot moves to the left, the angular momentum is stored as 0. The body rotates to the right. That is, since the robot tries to maintain the angular momentum with respect to the movement of the upper body, the upper body rotates greatly and the posture is lost. In addition, even when a running operation is performed, the robot turns its upper body backward each time it steps forward, and its posture is warped.

このようなロボットの動作は見た目にも不自然であるばかりでなく、股関節などに対して大きなトルクを発生させ、過大な負荷をかけるなどの問題がある。人間が足踏み動作を行う場合には、上体を回転させずにその姿勢を維持したまま動作を実現することができる。このことからも、人間と同様に自然な姿勢でロボットが動作を実現するためには、角運動量の軌道を0とするのではなく、何らかの妥当な値を設定する必要があるものと考えられる。   Such an operation of the robot is not only unnatural in appearance, but also has a problem that a large torque is generated on the hip joint and an excessive load is applied. When a human performs a stepping motion, the motion can be realized while maintaining the posture without rotating the upper body. From this, it is considered that some appropriate value should be set instead of setting the trajectory of the angular momentum to 0 in order for the robot to realize the motion with a natural posture like a human.

このように、角運動量を0として扱う従来の動作においては、ロボットの上体が不自然な動きになるという問題点があった。   As described above, in the conventional operation in which the angular momentum is set to 0, there is a problem that the upper body of the robot moves unnaturally.

上述した問題点を鑑みて、本出願人は先に出願した出願(特願2007―08585号)において、上体が自然な動きとなる軌道を計算可能な脚式ロボット、及びその制御方法を提案している。出願(特願2007―08585号)において提案される脚式ロボット、及びその制御方法では、角運動量を重心の移動速度に比例するものとし、角運動量と重心速度との関係を規定する角運動量パラメータを用いて重心軌道を計算するものである。出願(特願2007―08585号)において提案される脚式ロボット、及びその制御方法によれば、例えばロボットの重心が左に動いた場合には、その重心の移動に応じて上体も左に回転するため、計算された軌道に基づくロボットの動作が不自然な動作となることを防ぐことができる。   In view of the above-mentioned problems, the present applicant has proposed a legged robot capable of calculating a trajectory in which the upper body moves naturally in a previously filed application (Japanese Patent Application No. 2007-08585) and a control method thereof. is doing. In the legged robot proposed in the application (Japanese Patent Application No. 2007-08585) and its control method, the angular momentum parameter is defined so that the angular momentum is proportional to the moving speed of the center of gravity and the relationship between the angular momentum and the center of gravity speed is specified. Is used to calculate the center of gravity trajectory. According to the legged robot proposed in the application (Japanese Patent Application No. 2007-08585) and its control method, for example, when the center of gravity of the robot moves to the left, the upper body also moves to the left according to the movement of the center of gravity. Since it rotates, it is possible to prevent the movement of the robot based on the calculated trajectory from becoming unnatural.

しかしながら、出願(特願2007―08585号)において提案される脚式ロボット、及びその制御方法では、角運動量パラメータなどについて、ロボットの姿勢を確認しながら事前に最適な値を調整する必要がある。また、ロボットの重量配分や、重心位置によってもパラメータが変化するため、ロボット毎にパラメータの再調整が必要となり、手間が掛かるという課題を残していた。また、出願(特願200708585号)において提案される脚式ロボット、及びその制御方法では、事前に設定した回転運動量からロボットの上体姿勢がなりゆきで決定されるため、ロボットの速度が変化する場合などには、その変化に対応した回転運動量で、自然な姿勢角となる重心軌道を良好に計算することができない場合があった。   However, in the legged robot proposed in the application (Japanese Patent Application No. 2007-08585) and its control method, it is necessary to adjust the optimum value of the angular momentum parameter and the like in advance while confirming the posture of the robot. In addition, since the parameters change depending on the weight distribution of the robot and the position of the center of gravity, it is necessary to readjust the parameters for each robot, which is troublesome. Further, in the legged robot proposed in the application (Japanese Patent Application No. 200708585) and its control method, the robot's body posture is determined from the rotational momentum set in advance, so the speed of the robot changes. In some cases, the center-of-gravity trajectory that is a natural posture angle cannot be calculated satisfactorily with the rotational momentum corresponding to the change.

このように、角運動量を0として扱う従来の動作においては、ロボットの上体が不自然な動きになるという問題点があった。また、パラメータの再調整などの不要な処理が発生すると共に、速度が変化する場合などの過渡的な状況に良好に対応することができない場合があった。   As described above, in the conventional operation in which the angular momentum is set to 0, there is a problem that the upper body of the robot moves unnaturally. In addition, unnecessary processing such as readjustment of parameters may occur, and it may not be possible to cope with a transient situation such as when the speed changes.

本発明は、かかる課題を解決するためになされたものであり、パラメータ調整などの不要な処理を実行すること無く、姿勢角の安定した重心軌道データを容易に計算することができ、自然な姿勢で歩行/走行動作を実現可能な脚式ロボット、その制御方法、その制御システムを提供することを目的とする。   The present invention has been made to solve such a problem, and it is possible to easily calculate center-of-gravity trajectory data with a stable posture angle without performing unnecessary processing such as parameter adjustment, and a natural posture. It is an object of the present invention to provide a legged robot capable of realizing walking / running operation, a control method thereof, and a control system thereof.

本発明にかかる脚式ロボットは、関節角を変更して動作する脚式ロボットであって、前記脚式ロボットに指令する目標速度に応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算する手段と、計算された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算する手段と、計算された前記重心軌道に基づいて、前記関節を回転する手段とを備えるものである。   The legged robot according to the present invention is a legged robot that operates by changing a joint angle, and the posture angle of the upper body of the legged robot does not vary according to a target speed commanded to the legged robot. Means for calculating a rotational momentum around the center of gravity of the legged robot; means for calculating a center of gravity trajectory of the legged robot by solving a ZMP equation using the calculated rotational momentum; And a means for rotating the joint based on the center of gravity trajectory.

このように、目標速度に応じて、上体の姿勢角が変動せずに安定する場合の回転運動量を計算し、その回転運動量を用いて重心軌道を計算することで、パラメータ調整などの不要な処理を実行すること無く、姿勢角の安定した重心軌道データを容易に計算することができ、自然な姿勢で歩行/走行動作を実現することができる。また、目標速度に応じて、最適な回転運動量を計算するため、ロボットの速度が変化する過渡的な状況においても、自然な姿勢となる重心軌道を計算することができる。   Thus, according to the target speed, the rotational momentum when the posture angle of the upper body is stable without fluctuation is calculated, and the center of gravity trajectory is calculated using the rotational momentum. Without executing the process, it is possible to easily calculate the center-of-gravity trajectory data with a stable posture angle, and to realize a walking / running operation with a natural posture. Further, since the optimum rotational momentum is calculated according to the target speed, the center of gravity trajectory that assumes a natural posture can be calculated even in a transient situation where the speed of the robot changes.

また、計算された前記回転運動量を記憶する手段を更に備え、前記重心軌道を計算する手段は、記憶された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算するようにしてもよい。これにより、重心軌道の計算処理では、記憶された回転運動量を用いてZMP方程式を求解することができるため、回転運動量の計算処理回数を削減することができる。このため、自然な姿勢を実現するための回転運動量の計算処理を実行する場合であっても、計算量の増加を抑制しつつ、姿勢角の安定した重心軌道データを容易に計算することができる。   Further, the apparatus further comprises means for storing the calculated rotational momentum, and the means for calculating the center of gravity trajectory calculates the center of gravity trajectory of the legged robot by solving a ZMP equation using the stored rotational momentum. You may make it calculate. Thereby, in the calculation process of the center-of-gravity trajectory, the ZMP equation can be solved using the stored rotational momentum, so that the number of rotational momentum calculation processes can be reduced. For this reason, even when the rotational momentum calculation process for realizing a natural posture is executed, it is possible to easily calculate the center-of-gravity trajectory data with a stable posture angle while suppressing an increase in the amount of calculation. .

さらにまた、前記回転運動量を計算する手段は、所定の周期単位の前記脚式ロボットの重心周りの回転運動量を計算して、前記回転運動量を記憶する手段に記憶し、前記重心軌道を計算する手段は、前記目標速度に応じて、多項式補間処理により、記憶された前記所定の周期単位の回転運動量から前記周期間の回転運動量を計算して、計算された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算するようにしてもよい。これにより、記憶する回転運動量のデータ量をより削減することができると共に、一歩時間が異なる場合であっても所望の回転運動量を容易に取得することができる。   Furthermore, the means for calculating the rotational momentum calculates the rotational momentum around the center of gravity of the legged robot in a predetermined cycle unit, stores the rotational momentum in the means for storing the rotational momentum, and means for calculating the center of gravity trajectory Calculates the rotational momentum between the cycles from the stored rotational momentum in the predetermined cycle unit according to the target speed, and solves the ZMP equation using the calculated rotational momentum. By doing so, the center-of-gravity trajectory of the legged robot may be calculated. Thereby, the data amount of the rotational momentum to be stored can be further reduced, and the desired rotational momentum can be easily acquired even when the one-step time is different.

また、前記回転運動量を計算する手段は、前記脚式ロボットに指令する目標速度と一歩の継続時間とに応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算するようにしてもよい。   In addition, the means for calculating the rotational momentum is the position around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to the target speed commanded to the legged robot and the duration of one step. You may make it calculate the rotational momentum of.

さらにまた、前記回転運動量を計算する手段は、前記脚式ロボットに指令する目標速度と、一歩の継続時間と、前記脚式ロボットの状態が遷移する遷移時間とに応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算するようにしてもよい。   Furthermore, the means for calculating the rotational momentum is based on the target speed commanded to the legged robot, the duration of one step, and the transition time for transition of the state of the legged robot. The rotational momentum around the center of gravity of the legged robot in which the posture angle of the upper body does not change may be calculated.

また、前記回転運動量を計算する手段は、前記脚式ロボットに指令する目標速度に応じた、前記脚式ロボットの、左足平位置と右足平位置と体幹姿勢を示すデータと、前記位置姿勢を実現する体幹位置を示すデータを入力して記憶する手段と、前記データ群から、前記脚式ロボットをモデル化した「左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、各質点の位置及び速度を計算して、前記脚式ロボットの重心周りの回転運動量を計算する手段を備えるようにしてもよい。   The means for calculating the rotational momentum includes data indicating a left foot position, a right foot position, and a trunk posture of the legged robot according to a target speed commanded to the legged robot, and the position and posture. Means for inputting and storing data indicating the trunk position to be realized, and modeling the legged robot from the data group, “mass at left knee position, right knee position, left foot vicinity position, and right foot position. It is also possible to provide means for calculating the rotational momentum around the center of gravity of the legged robot by calculating the position and velocity of each mass point using a “dynamic system in which there are concentrated”.

さらにまた、前記重心軌道を生成する手段は、鉛直方向軌道及び計算された前記回転運動量に基づいて計算される係数を持つ行列と、重心軌道の列と、目標ZMPの列との間に成立する連立方程式を解いて重心軌道を計算するようにしてもよい。   Furthermore, the means for generating the center of gravity trajectory is established between a matrix having a coefficient calculated based on the vertical direction trajectory and the calculated rotational momentum, a column of the center of gravity trajectory, and a column of the target ZMP. You may make it calculate a gravity center orbit by solving simultaneous equations.

本発明にかかる脚式ロボットの制御方法は、指令する目標速度に応じて、脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算するステップと、計算された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算するステップと、計算された前記重心軌道に基づいて、前記脚式ロボットの関節を回転するステップとを備えるものである。   The legged robot control method according to the present invention includes a step of calculating a rotational momentum around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to a commanded target speed. The step of calculating the center of gravity trajectory of the legged robot by solving the ZMP equation using the rotational momentum and the step of rotating the joint of the legged robot based on the calculated center of gravity trajectory. It is to be prepared.

本発明にかかる脚式ロボットの制御システムは、関節角を変更して動作する脚式ロボットの制御システムであって、前記脚式ロボットに指令する目標速度に応じた、前記脚式ロボットの、左足平位置と右足平位置と体幹姿勢を示すデータと、前記位置姿勢を実現する体幹位置を示すデータを入力して記憶する入力データ記憶部と、前記データ群から、前記脚式ロボットをモデル化した「左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、各質点の位置及び速度を計算して、前記脚式ロボットの重心周りの回転運動量を計算する回転運動量計算部と、計算された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算する重心軌道計算部と、計算された前記重心軌道に基づいて、前記関節を回転する関節駆動部とを備えるものである。   A control system for a legged robot according to the present invention is a control system for a legged robot that operates by changing a joint angle, and the left leg of the legged robot according to a target speed commanded to the legged robot. The legged robot is modeled from the data group, the data indicating the flat position, the right foot position, and the trunk posture, the input data storage unit that stores the data indicating the trunk position that realizes the position and posture, and the data group. The above-mentioned legged robot calculates the position and velocity of each mass point using the "Left Knee Position, Right Knee Position, Left Foot Position and Right Foot Position". A rotational momentum calculation unit that calculates the rotational momentum around the center of gravity of the robot, and a center of gravity trajectory calculation unit that calculates the center of gravity trajectory of the legged robot by solving the ZMP equation using the calculated rotational momentum. Before Based on the trajectory of the center of gravity, in which and a joint driving unit for rotating the joint.

本発明によれば、パラメータ調整などの不要な処理を実行すること無く、姿勢角の安定した重心軌道データを容易に計算することができ、自然な姿勢で歩行/走行動作を実現可能な脚式ロボット、その制御方法、その制御システムを提供することを目的とする。   According to the present invention, it is possible to easily calculate center-of-gravity trajectory data with a stable posture angle without executing unnecessary processing such as parameter adjustment, and to realize a walking / running motion in a natural posture. An object is to provide a robot, a control method thereof, and a control system thereof.

発明の実施の形態1.
本実施の形態1に係る脚式ロボットは、まず、指令する目標速度に応じて、脚式ロボットの上体の姿勢角が変動しない重心周りの回転運動量を計算する。次いで、脚式ロボットは、計算された回転運動量を用いてZMP方程式を求解することで、ロボットの重心軌道を計算する。そして、脚式ロボットは、計算された重心軌道に基づいて、関節角を変更して動作する。
Embodiment 1 of the Invention
The legged robot according to the first embodiment first calculates the rotational momentum around the center of gravity where the posture angle of the upper body of the legged robot does not vary according to the commanded target speed. Next, the legged robot calculates the center-of-gravity trajectory of the robot by solving the ZMP equation using the calculated rotational momentum. The legged robot operates by changing the joint angle based on the calculated center of gravity trajectory.

以下、図面を参照しながら本実施の形態1に係るロボットの制御方法について説明する。図1は、本実施の形態1に係る脚式ロボットの概要を示す図である。ロボット2は、体幹4と、左脚リンク6と、右脚リンク8と、制御部10と、コントローラ12を備えている。左脚リンク6は一方の端部は股関節を介して体幹4に揺動可能に接続されている。左脚リンク6はさらに膝関節と足首関節を備え、先端には足平を備えている。右脚リンク8は一方の端部は股関節を介して体幹4に揺動可能に接続されている。右脚リンク8はさらに膝関節と足首関節を備え、先端には足平を備えている。ロボット2の各関節はアクチュエータ(不図示)を備えており、それらのアクチュエータは制御部10からの指示によって回転駆動する。左脚リンク6と右脚リンク8の足平の中心には、それぞれ基準点L、Rが設けられている。基準点L、Rは、ロボット2の動作パターンを生成する際の基準となる点である。図中Gは、ロボット2の重心位置を示す。 Hereinafter, the robot control method according to the first embodiment will be described with reference to the drawings. FIG. 1 is a diagram showing an outline of the legged robot according to the first embodiment. The robot 2 includes a trunk 4, a left leg link 6, a right leg link 8, a control unit 10, and a controller 12. One end of the left leg link 6 is swingably connected to the trunk 4 via a hip joint. The left leg link 6 further includes a knee joint and an ankle joint, and a foot at the tip. One end of the right leg link 8 is swingably connected to the trunk 4 via a hip joint. The right leg link 8 further includes a knee joint and an ankle joint, and a foot at the tip. Each joint of the robot 2 includes actuators (not shown), and these actuators are rotationally driven according to instructions from the control unit 10. Reference points L 0 and R 0 are provided at the centers of the feet of the left leg link 6 and the right leg link 8, respectively. The reference points L 0 and R 0 are points that serve as a reference when generating an operation pattern of the robot 2. G in the figure indicates the position of the center of gravity of the robot 2.

制御部10は、CPU、ROM、RAM、ハードディスクなどを有するコンピュータ装置である。制御部10はコントローラ12と通信可能であり、ユーザーが操作するコントローラ12から指令値を入力する。制御部10はユーザーから入力される指令値に基づいて、ロボット2の動作パターンを生成ないし計算する。制御部10は生成した動作パターンを記憶し、記憶された動作パターンを実現するように各関節を駆動する。制御部10の詳細については後述する。   The control unit 10 is a computer device having a CPU, ROM, RAM, hard disk, and the like. The control unit 10 can communicate with the controller 12 and inputs a command value from the controller 12 operated by the user. The control unit 10 generates or calculates an operation pattern of the robot 2 based on a command value input from the user. The control unit 10 stores the generated motion pattern and drives each joint so as to realize the stored motion pattern. Details of the control unit 10 will be described later.

以下では、ロボット2の軌道を表現するための座標系として、ロボット2の外部で床に固定された座標系(x,y,z)を用いる。また、ロボット2上の基準点に固定された座標系を(x',y',z')で表現する。本実施の形態1に係るロボット2では、図1に示すように、支持脚の足平の中心を座標系(x',y',z')の基準点とする。以下では、ロボット2の基準点に固定された座標系(x',y',z')で記述された位置、速度、加速度及び軌道を、それぞれ、相対位置、相対速度、相対加速度及び相対軌道と表現する。   In the following, a coordinate system (x, y, z) fixed to the floor outside the robot 2 is used as a coordinate system for expressing the trajectory of the robot 2. A coordinate system fixed to the reference point on the robot 2 is expressed by (x ′, y ′, z ′). In the robot 2 according to the first embodiment, as shown in FIG. 1, the foot center of the support leg is set as a reference point of the coordinate system (x ′, y ′, z ′). In the following, the position, velocity, acceleration, and trajectory described in the coordinate system (x ′, y ′, z ′) fixed to the reference point of the robot 2 are respectively represented by the relative position, relative velocity, relative acceleration, and relative trajectory. It expresses.

本実施の形態1に係るロボット2は、動作開始から完了までの動作パターンを生成して記憶しており、記憶された動作パターンを逐次読み出して動作を実現していく。ロボット2の動作中にユーザーから指令値が入力されると、ロボット2はそれ以降の動作パターンを再度生成して、新たに入力された指令値に応じた動作パターンを記憶する。記憶された新たな動作パターンは、それ以降の動作に反映される。上記のようにして、本実施の形態1に係るロボット2は、リアルタイムに動作パターンを生成しながら歩行していく。   The robot 2 according to the first embodiment generates and stores an operation pattern from the start to the end of the operation, and sequentially reads the stored operation pattern to realize the operation. When a command value is input from the user during the operation of the robot 2, the robot 2 generates a subsequent operation pattern again and stores the operation pattern corresponding to the newly input command value. The stored new operation pattern is reflected in subsequent operations. As described above, the robot 2 according to the first embodiment walks while generating an operation pattern in real time.

続いて、制御部10の動作の詳細について説明する。図2は、制御部10の機能の構成を示す機能ブロック図である。制御部10は、回転運動量計算部21と、回転運動量記憶部22と、軌道計算部30と、目標姿勢計算部40と、関節駆動部50を備えている。ここでは重心の軌道を計算して生成することから、計算、生成、演算の語を区別なく用いる。   Next, details of the operation of the control unit 10 will be described. FIG. 2 is a functional block diagram illustrating a functional configuration of the control unit 10. The control unit 10 includes a rotational momentum calculation unit 21, a rotational momentum storage unit 22, a trajectory calculation unit 30, a target posture calculation unit 40, and a joint drive unit 50. Here, since the center of gravity trajectory is calculated and generated, the terms “calculation”, “generation”, and “calculation” are used interchangeably.

回転運動量計算部21は、ユーザーがロボット2に指令する目標速度に応じて、ロボット2の上体4の姿勢角が変動しないロボット2の重心周りの回転運動量を計算する。計算された回転運動量は、回転運動量記憶部22に記憶される。回転運動量の計算方法の詳細については後述する。   The rotational momentum calculation unit 21 calculates the rotational momentum around the center of gravity of the robot 2 where the posture angle of the upper body 4 of the robot 2 does not vary according to the target speed commanded by the user to the robot 2. The calculated rotational momentum is stored in the rotational momentum storage unit 22. Details of the calculation method of the rotational momentum will be described later.

軌道計算部30は、目標速度決定部31と、目標回転運動量決定部32と、仮重心軌道計算部33と、ZMP補償計算部34と、遊脚軌道計算部37とを備える。軌道計算部30は、回転運動量記憶部22に記憶された回転運動量を用いてZMP方程式を求解することで、ロボット2の重心軌道及び遊脚の足先軌道を計算する。目標姿勢計算部40は、計算された重心軌道及び遊脚軌道を実現する、ロボット2の目標姿勢を計算する。関節駆動部50は、計算された目標姿勢に基づいて、ロボット2の各関節を駆動する。   The trajectory calculation unit 30 includes a target speed determination unit 31, a target rotational momentum determination unit 32, a temporary center of gravity trajectory calculation unit 33, a ZMP compensation calculation unit 34, and a free leg trajectory calculation unit 37. The trajectory calculation unit 30 calculates the center of gravity trajectory of the robot 2 and the toe trajectory of the free leg by solving the ZMP equation using the rotational momentum stored in the rotational momentum storage unit 22. The target posture calculation unit 40 calculates the target posture of the robot 2 that realizes the calculated center of gravity trajectory and free leg trajectory. The joint drive unit 50 drives each joint of the robot 2 based on the calculated target posture.

続いて、回転運動量を計算する方法について説明する。図3を参照して、ロボット2が上体姿勢を安定して動作可能な回転運動量の計算方法について説明する。この回転運動量計算部21は、ロボット2の起動時に用いられ、ロボット2の上体を安定させながら動作可能な回転運動量を計算する。この回転運動量計算部21で計算された回転運動量データは、回転運動量記憶部22に記憶される。後述するように、ロボット2は、記憶された回転運動量データを用いて、歩行するための軌道データを計算する。回転運動量計算部21は、十分に高速に回転運動量を計算することができる。例えば、一歩の継続時間が1秒程度である場合に、その一歩分の回転運動量を5msec以下で計算することができ、2秒では400ケース以上の回転運動量を計算することができる。ロボット2が歩行している様子を見ながら、ユーザーがジョイスティック等を使って次の一歩の足の運びを指定してから、次の一歩を実際に実施するまでの短時間の間に、次の一歩のための回転運動量データを作成することができるために、実質的にはリアルタイムで回転運動量データを作成することができる。尚、ロボット2の起動時に回転運動量を計算し、以後は、周期運動として回転運動量計算処理を繰り返すようにしてもよい。   Next, a method for calculating the rotational momentum will be described. With reference to FIG. 3, the calculation method of the rotational momentum in which the robot 2 can stably operate the body posture will be described. The rotational momentum calculation unit 21 is used when the robot 2 is activated, and calculates the rotational momentum that can be operated while stabilizing the upper body of the robot 2. The rotational momentum data calculated by the rotational momentum calculation unit 21 is stored in the rotational momentum storage unit 22. As will be described later, the robot 2 calculates trajectory data for walking using the stored rotational momentum data. The rotational momentum calculator 21 can calculate the rotational momentum sufficiently fast. For example, when the duration of one step is about 1 second, the rotational momentum of that step can be calculated in 5 msec or less, and in 2 seconds, the rotational momentum of 400 cases or more can be calculated. While watching the robot 2 walking, the user specifies the next step with the joystick etc. Since rotational momentum data for one step can be created, rotational momentum data can be created substantially in real time. The rotational momentum may be calculated when the robot 2 is activated, and thereafter, the rotational momentum calculation process may be repeated as a periodic motion.

まず、ユーザーが、回転運動量計算部21に、ロボット2の目標速度に応じた、ロボット2を歩行させたいコース等のデータを入力する。具体的には、図3の左下の(A)に示される、5個のベクトルと1個のスカラ量を入力する。ベクトルCは左足平位置ベクトルであり、座標原点Oから見たロボット2の左足平位置を示す。ベクトルDは左足平姿勢ベクトルであり、左足平の向きを示す。ベクトルEは右足平位置ベクトルであり、座標原点Oから見たロボット2の右足平位置を示す。ベクトルFは右足平姿勢ベクトルであり、右足平の向きを示す。ベクトルRは体幹姿勢ベクトルであり、ロボット2の体幹の向きを示す。人間の背骨に相当する部材が伸びる方向を示す。ロボット2の胴部が腰部(下胴部)と上胴部に分離されている場合には、腰部が体幹に相当し、体幹姿勢ベクトルRは腰部に垂直な方向を定義する。Qは、体幹高さであり、人間で言う腰位置の高さに相当する。ユーザーは、これらの5種のベクトルと1種のスカラ量を時系列に従って次々に入力する。これら5種のベクトルと1種のスカラ量は、ロボット2の目標速度を実現するように計算されたものであると共に、ロボット2の上体の姿勢角が変動しないように計算されたものである。   First, the user inputs data such as a course on which the robot 2 is desired to walk according to the target speed of the robot 2 to the rotational momentum calculator 21. Specifically, five vectors and one scalar quantity shown in the lower left (A) of FIG. 3 are input. A vector C is a left foot position vector, which indicates the left foot position of the robot 2 as viewed from the coordinate origin O. A vector D is a left foot posture vector and indicates the direction of the left foot. A vector E is a right foot position vector, which indicates the right foot position of the robot 2 as viewed from the coordinate origin O. A vector F is a right foot posture vector and indicates the direction of the right foot. A vector R is a trunk posture vector and indicates the direction of the trunk of the robot 2. A direction in which a member corresponding to a human spine extends is shown. When the torso of the robot 2 is separated into a waist (lower torso) and an upper torso, the waist corresponds to the trunk, and the trunk posture vector R defines a direction perpendicular to the waist. Q is the trunk height, which corresponds to the height of the waist position that humans say. The user successively inputs these five types of vectors and one type of scalar quantity in time series. These five types of vectors and one type of scalar are calculated so as to realize the target speed of the robot 2 and are calculated so that the posture angle of the upper body of the robot 2 does not fluctuate. .

また、これらの5種のベクトルと1種のスカラ量を時系列に従って入力する場合には、これら5種のベクトルと1種のスカラ量は、ロボット2の一歩の継続時間に応じた時系列データを入力してもよいし、ロボット2の状態が遷移する遷移時間に応じた時系列データを入力するようにしてもよい。ここで、遷移時間とは、ロボット2の両脚が床面から離床している期間である空中相へと遷移するための時間、及び両脚により床面に着床している両脚期へと遷移するための時間である。尚、このためのデータ入力支援ソフトが開発されており、主要タイミングでのデータを指定することで、時系列での中間データが補完計算されるようになっている。また、一歩分の入力データを繰り返して利用するように指示することで、入力量を低減することができる。   Further, when these five types of vectors and one type of scalar quantity are input in time series, these five types of vectors and one type of scalar quantity are time series data corresponding to the duration of one step of the robot 2. Or time-series data corresponding to the transition time during which the state of the robot 2 transitions may be input. Here, the transition time refers to the time for transitioning to the aerial phase, which is the period during which both legs of the robot 2 are leaving the floor, and the transition to the both leg phase where both legs are landing on the floor. It is time for. Data input support software for this purpose has been developed. By specifying data at main timing, intermediate data in time series is complementarily calculated. In addition, the input amount can be reduced by instructing to repeatedly use the input data for one step.

さらにまた、ユーザーがジョイスティック等で歩行コースや目標速度等を指示することもある。一歩分の標準的な足平姿勢ベクトルの変化パターンと体幹姿勢ベクトルの変化パターンと体幹高さの変化パターンを記憶しておくと、ユーザーがジョイスティック等で歩行コースや目標速度を指示することによって、一歩分の5種ベクトルC(t),D(t),E(t),F(t),R(t)と1種スカラ量Q(t)を生成して記憶することができる。回転運動量データを作成するのに必要な5種のベクトルC(t),D(t),E(t),F(t),R(t)と1の種スカラ量Q(t)は、回転運動量計算部21に入力されて記憶装置292に記憶される。   Furthermore, the user may instruct a walking course, a target speed, etc. with a joystick or the like. If the standard foot posture vector change pattern, trunk posture vector change pattern, and trunk height change pattern for one step are stored, the user can specify the walking course and target speed with a joystick, etc. Can generate and store the five types of vectors C (t), D (t), E (t), F (t), R (t) and one type of scalar quantity Q (t) for one step. . Five types of vectors C (t), D (t), E (t), F (t), R (t) and one type of scalar quantity Q (t) necessary for creating rotational momentum data are: It is input to the rotational momentum calculation unit 21 and stored in the storage device 292.

ユーザーは、更に、目標ZMP位置ベクトルを時系列に従って入力する。この場合、ベクトルC乃至Fによって、左足接地状態・両足接地状態・右足接地状態の別がわかっていることから、左足接地状態では左足接地面内の位置を指定し、右足接地状態では右足接地面内の位置を指定する。ベクトルC乃至Fを用いることによって、目標ZMP位置ベクトル(ZMP*ベクトル)を指定することができる。歩行時に観測される実際ZMPが目標ZMPに一致するように制御することによって、ロボット2は転倒しないで歩行することが可能となる。   The user further inputs a target ZMP position vector according to a time series. In this case, since the distinction between the left foot contact state, the two foot contact state, and the right foot contact state is known from the vectors C to F, the position in the left foot contact surface is specified in the left foot contact state, and the right foot contact surface in the right foot contact state. Specify the position within. By using the vectors C to F, a target ZMP position vector (ZMP * vector) can be designated. By controlling the actual ZMP observed during walking so as to match the target ZMP, the robot 2 can walk without falling.

回転運動量計算部21は、まず、ユーザーが入力した5種のベクトルと1種のスカラ量に基づいて、実際に生じるであろうZMPを計算して目標ZMPとの偏差を求め、そのZMP偏差から目標ZMPをもたらす体幹位置ベクトルPを計算する。そして、回転運動量計算部21は、ユーザーが入力した5種のベクトルと1種のスカラ量と、計算された体幹位置ベクトルPとに基づいて、回転運動量データを計算する。手段294は、5種のベクトルと1種のスカラ量で定義されるロボット2の位置と姿勢を実現する一つの体幹位置を示すデータを生成する。5種のベクトルと1種のスカラ量で定義されるロボット2の位置と姿勢を実現する体幹位置は複数存在するので一意に決定することができない。ここでは任意の一個を採用する。体幹位置ベクトルPを生成すると、6種のベクトルC,D,E,F,P,Rが揃うので、ロボット2の位置と姿勢が一意に決定される。   First, the rotational momentum calculation unit 21 calculates ZMP that will actually occur based on the five types of vectors and one type of scalar input by the user, obtains the deviation from the target ZMP, and calculates the deviation from the ZMP deviation. A trunk position vector P that yields the target ZMP is calculated. Then, the rotational momentum calculation unit 21 calculates rotational momentum data based on the five types of vectors, one type of scalar amount, and the calculated trunk position vector P input by the user. The means 294 generates data indicating one trunk position that realizes the position and posture of the robot 2 defined by five types of vectors and one type of scalar. Since there are a plurality of trunk positions that realize the position and posture of the robot 2 defined by five types of vectors and one type of scalar, it cannot be uniquely determined. Here, an arbitrary one is adopted. When the trunk position vector P is generated, six types of vectors C, D, E, F, P, and R are prepared, so that the position and posture of the robot 2 are uniquely determined.

ここで用いる体幹ベクトルPは、仮に用いられるものであり、後述する手段310によって補正されるので、ラフなものでよい。人が指定して回転運動量計算部21に入力して記憶してもよいし、回転運動量計算部21で生成してもよい。   The trunk vector P used here is temporarily used and is corrected by the means 310 described later, and may be rough. It may be specified by a person, input to the rotational momentum calculation unit 21 and stored, or may be generated by the rotational momentum calculation unit 21.

体幹位置ベクトルPに対する、体幹姿勢ベクトルRや足先位置ベクトルC,Eや足先姿勢ベクトルD,Fや体幹高さQや目標ZMPベクトルの変化パターンを規格化しておくことができる。一歩分の変化パターンが規格化されていれば、人が体幹位置ベクトルPを指定することによって、回転運動量計算部21が必要とする5種のベクトルと1種のスカラ量を入力することができる。体幹位置ベクトルPはジョイスティック等を利用して指定することができる。歩行するロボット2を観測しながらジョイスティック等を操作して体幹位置ベクトルPをリアルタイムで入力することが可能である。体幹位置ベクトルPをリアルタイムで入力することができ、回転運動量計算部21が必要とする5種のベクトルと1個のスカラ量をリアルタイムで入力することができ、回転運動量計算部21がリアルタイムの制御に間に合うほど高速に回転運動量データを計算できれば、ロボット2の歩行軌道をリアルタイムで指定することができる。   The trunk posture vector R, the toe position vectors C and E, the toe posture vectors D and F, the trunk height Q, and the target ZMP vector can be standardized with respect to the trunk position vector P. If the change pattern for one step is standardized, a person can input the five types of vectors and one type of scalar required by the rotational momentum calculation unit 21 by designating the trunk position vector P. it can. The trunk position vector P can be specified using a joystick or the like. It is possible to input the trunk position vector P in real time by operating a joystick or the like while observing the walking robot 2. The trunk position vector P can be inputted in real time, the five types of vectors and one scalar quantity required by the rotational momentum calculating unit 21 can be inputted in real time, and the rotational momentum calculating unit 21 can be inputted in real time. If the rotational momentum data can be calculated at a higher speed in time for the control, the walking trajectory of the robot 2 can be specified in real time.

体幹の位置Pと姿勢Rが決定されれば、左右の股関節の位置が決定する。左足平位置Cと左足平姿勢Dが決定されれば、左足首の位置が決定する。左股関節の位置と左足首の位置が決定されれば、左膝の位置Gが決定される。左腿の長さと左脛の長さが既知であり、左膝関節の回転自由度が1自由度しかないことから、左股関節の位置と左足首の位置が決まれば左膝の位置Gが一意に決定される。同様に、右足平位置Eと右足平姿勢Fから、右足首の位置が決定する。右股関節の位置と右足首の位置から、右膝の位置Hが決定される。手段296は、上記の幾何学的関係を利用して、左膝位置ベクトルGと右膝位置ベクトルHを計算する。手段298では、ロボット2のZMP位置を計算する。ここでは、図4に示した6質点系モデルを用いる。   If the trunk position P and posture R are determined, the positions of the left and right hip joints are determined. If the left foot position C and the left foot posture D are determined, the position of the left ankle is determined. If the position of the left hip joint and the position of the left ankle are determined, the position G of the left knee is determined. Since the length of the left thigh and the length of the left shin are known and the left knee joint has only one degree of freedom of rotation, the position of the left knee is unique if the position of the left hip joint and the position of the left ankle are determined. To be determined. Similarly, the position of the right ankle is determined from the right foot position E and the right foot posture F. The right knee position H is determined from the position of the right hip joint and the position of the right ankle. The means 296 calculates the left knee position vector G and the right knee position vector H using the above geometric relationship. The means 298 calculates the ZMP position of the robot 2. Here, the 6-mass system model shown in FIG. 4 is used.

6質点を持つ力学系では、左足平近傍位置に、左脛下半分324の質量と左足首322の質量と左足平320の質量の合計質量M1が集中して存在する。右足平近傍位置に、右脛下半分340の質量と右足首338の質量と右足平336の質量の合計質量M3が集中して存在する。左膝位置に、左脛上半分326の質量と左膝関節328の質量と左腿下半分330の質量の合計質量M2が集中して存在する。右膝位置に、右脛上半分342の質量と右膝関節344の質量と右腿下半分346の質量の合計質量M4が集中して存在する。体幹下部基準点に、左腿上半分332の質量と左股関節334の質量と右腿上半分348の質量と右股関節350の質量と体幹下半分352の質量の合計質量M5が集中して存在する。体幹上部基準点に、体幹上半分354の質量M6が集中して存在するものとする。   In the dynamic system having six mass points, the total mass M1 of the mass of the lower left shin half 324, the mass of the left ankle 322, and the mass of the left foot 320 is concentrated in the vicinity of the left foot. The total mass M3 of the mass of the lower right shin half 340, the mass of the right ankle 338, and the mass of the right foot 336 is concentrated in the vicinity of the right foot. The total mass M2 of the mass of the left upper shin half 326, the mass of the left knee joint 328, and the mass of the left lower leg half 330 is concentrated at the left knee position. A total mass M4 of the mass of the right upper shin half 342, the mass of the right knee joint 344, and the mass of the right lower leg half 346 is concentrated at the right knee position. The total mass M5 of the mass of the left upper thigh half 332, the mass of the left hip joint 334, the mass of the right upper thigh half 348, the mass of the right hip joint 350, and the mass of the lower trunk half 352 is concentrated on the lower trunk reference point. Exists. It is assumed that the mass M6 of the upper half 354 of the trunk is concentrated on the upper trunk reference point.

質点M1の位置は、左足平近傍位置にあればよく、左足首関節位置からずれていてもよく、左足平位置ベクトルCの終点からずれていてもよい。質点M3の位置は、右足平近傍位置にあればよく、右足首関節位置からずれていてもよく、右足平位置ベクトルEの終点からずれていてもよい。これに対し、質点M2の位置は、左膝関節置にあるとするのが極めて効果的であり、左膝関節置に質量が集中して存在しているとすることによって、ZMP位置の計算が極めて簡単化され、体幹位置の補正量の計算が極めて簡単化される。同様に、質点M4の位置は、右膝関節置にあるとするのが極めて効果的である。質点M5とM6は人間の背骨上に存在している。その高さは、集中質量M5とM6を用いて体幹の水平軸回りの慣性モーメントを計算した値と、実際の体幹の水平軸回りの慣性モーメントが一致する高さに設定しておくことが好ましい。   The position of the mass point M1 may be in the vicinity of the left foot, may be deviated from the left ankle joint position, or may be deviated from the end point of the left foot position vector C. The position of the mass point M3 may be in the vicinity of the right foot, may be deviated from the right ankle joint position, or may be deviated from the end point of the right foot position vector E. On the other hand, it is extremely effective that the position of the mass point M2 is at the left knee joint placement, and since the mass is concentrated on the left knee joint placement, the calculation of the ZMP position is possible. The calculation of the correction amount of the trunk position is greatly simplified. Similarly, it is extremely effective that the position of the mass point M4 is at the right knee joint placement. The mass points M5 and M6 exist on the human spine. The height should be set so that the value obtained by calculating the moment of inertia around the horizontal axis of the trunk using the concentrated masses M5 and M6 matches the actual moment of inertia around the horizontal axis of the trunk. Is preferred.

図3の手段298では、手段296で決定されるロボット2の位置と姿勢の変化から、質点M1乃至M6の速度と加速度と、集中質量M5とM6による水平軸回りの慣性モーメントを利用して、ロボット2に生じるZMP位置を計算する。   The means 298 in FIG. 3 uses the speed and acceleration of the mass points M1 to M6 and the moment of inertia about the horizontal axis due to the concentrated masses M5 and M6 from the change in the position and posture of the robot 2 determined by the means 296. The ZMP position generated in the robot 2 is calculated.

図3に示す回転運動量計算部21は、目標ZMP位置を示すデータを入力して記憶する手段292を備えており、手段298で計算されたZMP位置と、手段292に記憶されている目標ZMP位置との偏差を計算することができる(手段300)。   The rotational momentum calculation unit 21 shown in FIG. 3 includes means 292 for inputting and storing data indicating the target ZMP position, and the ZMP position calculated by the means 298 and the target ZMP position stored in the means 292. Can be calculated (means 300).

回転運動量計算部21は、手段300で計算されたZMP偏差を解消するのに必要な体幹位置ベクトルの補正量を計算して、目標ZMP位置と等しいZMP位置が計算される体幹位置ベクトルPを計算する手段310を備えている。手段310は、体幹位置を示すデータをどれだけ補正すると左膝位置と右膝位置を示すデータがどれだけ変化してZMP位置を示すデータがどれだけ変化するか示関係を利用して体幹位置を示すデータの補正量を求める。補正手段310によると、繰返し計算して補正量を収束させる必要がなく、一度の補正でZMP偏差を解消することができる。体幹位置の補正量から左膝位置と右膝位置の移動量を計算するにあたって、体幹位置の補正量ΔPに係数をかけることによって左膝位置と右膝位置の移動量を計算するようにすると計算が一層に簡単化される。体幹高さと膝位置高さの比例係数を利用することによって、体幹位置の補正量ΔPから左膝位置と右膝位置の移動量を簡単に計算することができる。   The rotational momentum calculation unit 21 calculates a trunk position vector correction amount necessary to eliminate the ZMP deviation calculated by the means 300, and a trunk position vector P from which a ZMP position equal to the target ZMP position is calculated. Means 310 is calculated. The means 310 corrects how much the data indicating the trunk position is corrected, how much the data indicating the left knee position and the right knee position is changed, and how much the data indicating the ZMP position is changed. The correction amount of the data indicating the position is obtained. According to the correction means 310, it is not necessary to repeatedly calculate and converge the correction amount, and the ZMP deviation can be eliminated by a single correction. In calculating the movement amount of the left knee position and the right knee position from the correction amount of the trunk position, the movement amount of the left knee position and the right knee position is calculated by multiplying the correction amount ΔP of the trunk position by a coefficient. This further simplifies the calculation. By using the proportional coefficient between the trunk height and the knee position height, the movement amounts of the left knee position and the right knee position can be easily calculated from the trunk position correction amount ΔP.

上述したようにして、目標ZMP位置にほぼ一致するZMP位置が計算されるが、体幹位置ベクトルPを1回補正しただけでは、なおもZMP偏差が十分に解消されない場合がある。この場合、手段298以降を再度活用して2回補正すると、ZMP偏差をさらに解消することができる。このように、目標ZMPによく追従する体幹位置ベクトルPを含む歩容データを、少ない計算量で短時間で計算できることが検証されている。   As described above, a ZMP position that substantially coincides with the target ZMP position is calculated. However, there is a case where the ZMP deviation is not sufficiently solved by correcting the trunk position vector P once. In this case, the ZMP deviation can be further eliminated if the means 298 and the subsequent steps are used again and corrected twice. As described above, it has been verified that gait data including the trunk position vector P that closely follows the target ZMP can be calculated in a short time with a small amount of calculation.

手段312では、ロボット2に指令する目標速度と、一歩の継続時間と、ロボット2の状態が遷移する遷移時間とに応じて計算された歩容データ(5種のベクトルと1種のスカラ量と、計算された体幹位置ベクトルPを含む)に基づいて、ロボット2の上体の姿勢角が変動しないロボット2の重心周りの回転運動量を計算する。手段312は、これら歩容データから、各質点の位置及び速度を計算して、各質点の中心周りの角運動量を計算する。手段312は、各質点の中心位置と重心位置との位置関係を用いて、各質点の中心周りの角運動量から、ロボット2の重心周りの回転運動量を計算する。   In the means 312, gait data (5 types of vectors and 1 type of scalar quantity calculated according to the target speed commanded to the robot 2, the duration of one step, and the transition time during which the state of the robot 2 changes) , Including the calculated trunk position vector P), the rotational momentum around the center of gravity of the robot 2 where the posture angle of the upper body of the robot 2 does not vary is calculated. The means 312 calculates the position and velocity of each mass point from these gait data, and calculates the angular momentum around the center of each mass point. The means 312 calculates the rotational momentum around the center of gravity of the robot 2 from the angular momentum around the center of each mass point using the positional relationship between the center position of each mass point and the center of gravity position.

制御部10は、このようにして計算された回転運動量を、回転運動量記憶部22に記憶する。記憶する回転運動量データは、所定の周期単位ごとに離散化された回転運動量データとして記憶してもよい。   The control unit 10 stores the rotational momentum calculated in this way in the rotational momentum storage unit 22. The stored rotational momentum data may be stored as rotational momentum data discretized for each predetermined cycle unit.

軌道計算部30は、回転運動量を用いてZMP方程式を求解することで、ロボット2の重心軌道及び遊脚の足先軌道を計算する。まず、目標速度決定部31は、ユーザーがロボット2に指令する目標速度に応じて、ロボット2の目標速度を決定し、目標回転運動量決定部32及び仮重心軌道計算部33へと目標速度を出力する。目標速度は、ロボット2のアクチュエータの性能が許す範囲で、ユーザーが任意に与えることができる。   The trajectory calculation unit 30 calculates the center of gravity trajectory of the robot 2 and the toe trajectory of the free leg by solving the ZMP equation using the rotational momentum. First, the target speed determination unit 31 determines the target speed of the robot 2 according to the target speed commanded by the user to the robot 2, and outputs the target speed to the target rotational momentum determination unit 32 and the provisional gravity center trajectory calculation unit 33. To do. The target speed can be arbitrarily given by the user as long as the performance of the actuator of the robot 2 allows.

目標回転運動量決定部32は、入力された目標速度に応じて、回転運動量記憶部22に記憶された回転運動量を読み出す。目標回転運動量決定部32は、入力された目標速度と、一歩の継続時間と、遷移時間などの走行条件に応じて、現在の走行状態に最も近い状況で計算された回転運動量を読み出す。所定の周期単位で離散化された回転運動量データが回転運動量記憶部22に記憶されている場合には、目標回転運動量決定部32は、記憶されている所定の周期単位の回転運動量データから、多項式補間処理により、それら周期間の回転運動量を計算する。ロボット2の重心周りの回転運動量は、一歩の間に大きく変動することは少ないため、所定の周期単位で離散化されたデータのみを記憶することで、記憶する回転運動量のデータ量をより削減することができると共に、一歩の継続時間が異なる場合であっても所望の回転運動量を柔軟に取得することができる。   The target rotational momentum determination unit 32 reads the rotational momentum stored in the rotational momentum storage unit 22 according to the input target speed. The target rotational momentum determination unit 32 reads the rotational momentum calculated in the situation closest to the current traveling state according to the input target speed, the duration of one step, and the traveling conditions such as the transition time. When the rotational momentum data discretized in a predetermined cycle unit is stored in the rotational momentum storage unit 22, the target rotational momentum determination unit 32 calculates a polynomial from the stored rotational momentum data in a predetermined cycle unit. The rotational momentum between these periods is calculated by interpolation processing. Since the rotational momentum around the center of gravity of the robot 2 is unlikely to fluctuate greatly during one step, the data amount of the rotational momentum to be stored is further reduced by storing only the data discretized in a predetermined cycle unit. In addition, the desired rotational momentum can be flexibly acquired even when the duration of one step is different.

仮重心軌道計算部33は、入力された目標速度に応じて、ロボット2の仮の重心軌道を計算する。重心の相対軌道は、目標とする相対ZMP軌道と、重心周りの回転運動量と、動作の開始時及び完了時における重心の水平方向速度(目標速度)の条件に基づいて決定される。重心の相対軌道を実現したときの実際の相対ZMP軌道が、目標とする相対ZMP軌道に一致するように、重心の相対軌道を計算する。   The temporary center of gravity trajectory calculation unit 33 calculates the temporary center of gravity trajectory of the robot 2 according to the input target speed. The relative trajectory of the center of gravity is determined based on the conditions of the target relative ZMP trajectory, the rotational momentum around the center of gravity, and the horizontal speed (target speed) of the center of gravity at the start and end of the operation. The relative trajectory of the center of gravity is calculated so that the actual relative ZMP trajectory when the relative trajectory of the center of gravity is realized matches the target relative ZMP trajectory.

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

ここで、重心の相対軌道の計算方法について説明する。ロボット2が実現する相対ZMP位置(qx',qy')は、ロボット2の相対重心位置(x',y',z')と、ロボット2の重心まわりの回転運動量(rx',ry')から計算することができる。ロボット2の相対重心位置とロボット2の重心まわりの角運動量から、実際に生じるZMPを計算する下記の式をZMP方程式と呼ぶ。 Here, a method for calculating the relative trajectory of the center of gravity will be described. The relative ZMP position (q x ′ , q y ′ ) realized by the robot 2 includes the relative center of gravity position (x ′, y ′, z ′) of the robot 2 and the rotational momentum (r x ′ , r y ′ ). The following equation for calculating the ZMP actually generated from the relative center of gravity position of the robot 2 and the angular momentum around the center of gravity of the robot 2 is called a ZMP equation.

Figure 0005035005
Figure 0005035005

ここで、(1)は時間tに関する1階微分を示し、(2)は時間tに関する2階微分を示している。また、mはロボット2の質量であり、gは重力加速度である。上式のz'及びz'(2)は、ロボット2の支持脚の足先を原点とする、重心の鉛直方向位置と鉛直方向加速度である。上式のrx' (1)とry' (1)は、重心まわりの回転運動量の微分成分を示す。 Here, (1) shows the first order derivative with respect to time t, and (2) shows the second order derivative with respect to time t. Further, m is the mass of the robot 2 and g is the gravitational acceleration. Z ′ and z ′ (2) in the above expression are the vertical position and vertical acceleration of the center of gravity with the toe of the support leg of the robot 2 as the origin. In the above equation, r x ′ (1) and r y ′ (1) indicate differential components of rotational momentum around the center of gravity.

仮重心軌道計算部33では、ロボット2の重心まわりの回転運動量(rx',ry')の時系列的変化と、重心の鉛直方向軌道z'を、ユーザーからの指令等に基づいて決定する。そして、上記のZMP方程式を求解することで、ロボット2の重心の水平方向軌道(x',y')を計算する。尚、上記のZMP方程式を離散化した3項方程式を解くことによって、ロボット2の重心の水平方向軌道(x',y')を計算することができる。重心軌道を高速に計算するため、例えば、鉛直方向軌道及び計算された回転運動量に基づいて計算される係数を持つ行列と、重心軌道の列と、目標ZMPの列との間に成立する連立方程式を解いて重心軌道を計算するようにしてもよい。この3項方程式を用いた重心の水平方向軌道の計算方法は、本出願人が先に出願した特願2007―08585号の明細書に記載されている。但し、この特許出願は、本出願の時点で未だ公開されていないことに留意されたい。 The provisional center-of-gravity trajectory calculation unit 33 determines a time-series change in the rotational momentum (r x ′ , r y ′ ) around the center of gravity of the robot 2 and the vertical trajectory z ′ of the center of gravity based on a command from the user or the like. To do. Then, the horizontal trajectory (x ′, y ′) of the center of gravity of the robot 2 is calculated by solving the above ZMP equation. The horizontal trajectory (x ′, y ′) of the center of gravity of the robot 2 can be calculated by solving a ternary equation obtained by discretizing the ZMP equation. In order to calculate the center of gravity trajectory at high speed, for example, simultaneous equations established between a matrix having a coefficient calculated based on the vertical direction trajectory and the calculated rotational momentum, a column of the center of gravity trajectory, and a column of the target ZMP The center of gravity trajectory may be calculated by solving A method for calculating the horizontal trajectory of the center of gravity using this ternary equation is described in the specification of Japanese Patent Application No. 2007-08585 filed earlier by the present applicant. However, it should be noted that this patent application has not yet been published at the time of this application.

ZMP補償計算部34の重心軌道計算部35は、目標回転運動量決定部32から入力される目標回転運動量と、仮重心軌道計算部33において計算された仮重心軌道とから、ロボット2の重心を実際に追従させる重心軌道を計算する。重心軌道計算部35は、重心の鉛直方向軌道z'を、ユーザーからの指令等に基づいて決定し、目標回転運動量決定部32から入力される目標回転運動量と、仮重心軌道計算部33において計算された仮重心位置とから、上記のZMP方程式を解いてZMP位置を計算する。そして、重心軌道計算部35は、計算されたZMP位置と、手段292に記憶されている目標ZMP軌道との偏差を計算する。重心軌道計算部35は、計算されたZMP偏差を解消するのに必要な重心位置の補正量を計算して、目標ZMP位置と等しいZMP位置が計算される重心位置を計算する。このように計算された重心軌道を実現することで、ロボット2はZMPを支持脚の足平の内部に維持しながら、自然な姿勢で動作を実現することができる。   The center of gravity trajectory calculation unit 35 of the ZMP compensation calculation unit 34 actually calculates the center of gravity of the robot 2 from the target rotational momentum input from the target rotational momentum determination unit 32 and the temporary center of gravity trajectory calculated by the temporary center of gravity trajectory calculation unit 33. Calculate the center of gravity trajectory to follow. The center-of-gravity trajectory calculation unit 35 determines the vertical center-of-gravity z ′ of the center of gravity based on a command from the user and the like, and is calculated by the target rotational momentum input from the target rotational momentum determination unit 32 and the provisional center-of-gravity trajectory calculation unit 33. The ZMP position is calculated by solving the above ZMP equation from the calculated temporary center of gravity position. Then, the center-of-gravity trajectory calculation unit 35 calculates a deviation between the calculated ZMP position and the target ZMP trajectory stored in the means 292. The center-of-gravity trajectory calculation unit 35 calculates a correction amount of the center-of-gravity position necessary for eliminating the calculated ZMP deviation, and calculates a center-of-gravity position where a ZMP position equal to the target ZMP position is calculated. By realizing the calculated center-of-gravity trajectory, the robot 2 can realize a motion in a natural posture while maintaining the ZMP inside the foot of the support leg.

ZMP補償計算部34の着地位置計算部36は、計算された複数歩数分の重心軌道から、遊脚の足先の着地位置を計算する。遊脚軌道計算部37は、計算された足先の着地位置から、遊脚の足先の相対軌道を計算する。遊脚の足先の相対軌道は、動作の前後における脚リンクの動作と滑らかに接続するように計算する。遊脚の足先の相対軌道の計算は、例えば多項式補間を用いることによって、計算することができる。   The landing position calculation unit 36 of the ZMP compensation calculation unit 34 calculates the landing position of the toe of the free leg from the calculated gravity center trajectories for a plurality of steps. The free leg trajectory calculation unit 37 calculates a relative trajectory of the free leg's toe from the calculated landing position of the toe. The relative trajectory of the toes of the free leg is calculated so as to smoothly connect with the movement of the leg link before and after the movement. The relative trajectory of the free leg's foot can be calculated by using, for example, polynomial interpolation.

目標姿勢計算部40は、計算された重心軌道及び遊脚軌道を実現する、関節角の目標値を算出する。関節角の目標値はいわゆる逆キネマティクス演算によって算出することができる。ロボット2の相対並進運動量P、ロボット2の相対角運動量L、遊脚足先の相対速度v及び遊脚足先の角速度ωは、関節角の角速度θ(1)と、それぞれヤコビ行列J(θ)、K(θ)、J(θ)、K(θ)を用いて、以下で表現される。 The target posture calculation unit 40 calculates a target value of the joint angle that realizes the calculated center of gravity trajectory and free leg trajectory. The target value of the joint angle can be calculated by so-called inverse kinematics calculation. The relative translational momentum P g of the robot 2, the relative angular momentum L g of the robot 2, the relative velocity v f and the free leg foot of the angular velocity omega f of the free leg foot, and the angular velocity theta (1) of the joint angle, respectively Jacobi Using the matrices J g (θ), K g (θ), J f (θ), and K f (θ), they are expressed as follows.

Figure 0005035005
Figure 0005035005

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

Figure 0005035005
Figure 0005035005

ロボット2の相対並進運動量P、ロボット2の相対角運動量L、遊脚足先の相対速度v及び遊脚足先の角速度ωは、それぞれ以下である。 The relative translational momentum P g of the robot 2, the relative angular momentum L g of the robot 2, the relative velocity v f and the free leg foot of the angular velocity omega f of the free leg foot is less, respectively.

Figure 0005035005
Figure 0005035005

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

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

演算された関節角目標値の経時的データは、制御部10に記憶されている。例えば、一歩分相当の関節角目標値の経時的データが計算され記憶される。制御部10は上記した処理と並列して、関節角目標値の経時的データに基づいて、関節駆動部50でロボット2の各関節を逐次駆動していく。これによって、ロボット2はユーザー指令値に基づいた、姿勢の安定した動作を実現していく。   The temporal data of the calculated joint angle target value is stored in the control unit 10. For example, temporal data of the joint angle target value corresponding to one step is calculated and stored. In parallel with the above processing, the control unit 10 sequentially drives each joint of the robot 2 by the joint driving unit 50 based on the temporal data of the joint angle target value. As a result, the robot 2 realizes a stable posture operation based on the user command value.

以上説明したように、本実施の形態1に係るロボット2は、ロボット2に指令する目標速度に応じて、ロボット2の上体の姿勢角が変動しない重心周りの回転運動量を計算する。そして、計算された回転運動量を記憶しておき、記憶された回転運動量を用いてZMP方程式を求解することで、ロボット2の重心軌道を計算する。ロボット2は、記憶された回転運動量を用いてZMP方程式を求解することで、ロボット2の重心軌道を計算し、計算された重心軌道に基づいて、関節を回転する。   As described above, the robot 2 according to the first embodiment calculates the rotational momentum around the center of gravity where the posture angle of the upper body of the robot 2 does not vary according to the target speed commanded to the robot 2. Then, the calculated rotational momentum is stored, and the center of gravity trajectory of the robot 2 is calculated by solving the ZMP equation using the stored rotational momentum. The robot 2 calculates the center of gravity trajectory of the robot 2 by solving the ZMP equation using the stored rotational momentum, and rotates the joint based on the calculated center of gravity trajectory.

このように、目標速度に応じて、上体の姿勢角が変動せずに安定する場合の回転運動量を計算し、その回転運動量を用いて重心軌道を計算することで、パラメータ調整などの不要な処理を実行すること無く、姿勢角の安定した重心軌道データを容易に計算することができ、自然な姿勢で歩行/走行動作を実現することができる。また、重心軌道の計算処理においては、記憶された回転運動量を用いてZMP方程式を求解することで、回転運動量の計算処理回数を削減することができる。従って、このような回転運動量の計算処理を実行する場合であっても、計算量の増加を抑制しつつ、姿勢角の安定した重心軌道データを容易に計算することができる。   Thus, according to the target speed, the rotational momentum when the posture angle of the upper body is stable without fluctuation is calculated, and the center of gravity trajectory is calculated using the rotational momentum. Without executing the process, it is possible to easily calculate the center-of-gravity trajectory data with a stable posture angle, and to realize a walking / running operation with a natural posture. In the calculation process of the center of gravity trajectory, the number of rotational momentum calculation processes can be reduced by solving the ZMP equation using the stored rotational momentum. Therefore, even when such a rotational momentum calculation process is executed, it is possible to easily calculate the center-of-gravity trajectory data with a stable posture angle while suppressing an increase in the calculation amount.

その他の実施の形態.
上述した実施の形態1においては、回転運動量計算部21が、6質点モデルを用いて、上体の姿勢角が変動しない回転運動量を計算するものとしたが本発明はこれに限定されず、例えば、12関節、13リンクの力学系を用いて回転運動量を計算するようにしてもよい。
Other embodiments.
In the first embodiment described above, the rotational momentum calculation unit 21 calculates the rotational momentum in which the posture angle of the upper body does not vary using the six mass point model, but the present invention is not limited to this. For example, The rotational momentum may be calculated using a dynamic system of 12 joints and 13 links.

また、上述した実施の形態1においては、軌道計算部30が一歩相当の軌道データを計算するものとしたが本発明はこれに限定されず、計算する軌道データは、一歩部相当分よりも短い時間区分に対応する部分の軌道データを取得するようにしてもよい。   In the first embodiment described above, the trajectory calculation unit 30 calculates trajectory data corresponding to one step. However, the present invention is not limited to this, and the trajectory data to be calculated is shorter than that corresponding to one step. Orbital data of a portion corresponding to the time segment may be acquired.

さらにまた、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。   Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above.

本発明の実施の形態にかかるロボットの構成図である。It is a block diagram of the robot concerning embodiment of this invention. 本発明の実施の形態にかかるロボットの制御部の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the control part of the robot concerning embodiment of this invention. 本発明の実施の形態に係る回転運動量計算部の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the rotational momentum calculation part which concerns on embodiment of this invention. 本発明の実施の形態に係る6質点系モデルを示す概念図である。It is a conceptual diagram which shows the 6 mass point type | system | group model which concerns on embodiment of this invention.

符号の説明Explanation of symbols

2 脚式ロボット、4 体幹、6 左脚リンク、8 右脚リンク、10 制御部、
12 コントローラ、
21 回転運動量計算部、22 回転運動量記憶部、30 軌道計算部、
31 目標速度決定部、32 目標回転運動量決定部、33 仮重心軌道計算部、
34 ZMP補償計算部、35 重心軌道計算部、36 着地位置計算部、
37 遊脚軌道計算部、40 目標姿勢計算部、50 関節駆動部、
328 左膝関節、334 左股関節、344 右膝関節、350 右股関節、
320 左足平、322 左足首、324 左脛下半分、326 左脛上半分、
330 左腿下半分、332 左腿上半分、336 右足平、338 右足首、
340 右脛下半分、342 右脛上半分、346 右腿下半分、348 右腿上半分、
352 体幹下半分、354 体幹上半分
2 legged robot, 4 trunk, 6 left leg link, 8 right leg link, 10 control unit,
12 controller,
21 rotational momentum calculation unit, 22 rotational momentum storage unit, 30 orbit calculation unit,
31 target speed determination unit, 32 target rotational momentum determination unit, 33 temporary center of gravity trajectory calculation unit,
34 ZMP compensation calculation unit, 35 Center of gravity trajectory calculation unit, 36 Landing position calculation unit,
37 free leg trajectory calculation unit, 40 target posture calculation unit, 50 joint drive unit,
328 Left knee joint, 334 Left hip joint, 344 Right knee joint, 350 Right hip joint,
320 left foot, 322 left ankle, 324 left shin lower half, 326 left shin upper half,
330 left lower thigh, 332 left upper thigh, 336 right foot, 338 right ankle,
340 Lower right shin half, 342 Upper right shin upper half, 346 Lower right thigh half, 348 Upper right thigh half,
352 Lower trunk half, 354 Upper trunk half

Claims (10)

関節角を変更して動作する脚式ロボットであって、
前記脚式ロボットに指令する目標速度に応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算する手段と
計算された前記回転運動量を記憶する手段と、
記憶された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算する手段と、
計算された前記重心軌道に基づいて、前記関節を回転する手段と、を備え、
前記回転運動量を計算する手段は、
所定の周期単位の前記脚式ロボットの重心周りの回転運動量を計算して、前記回転運動量を記憶する手段に記憶し、
前記重心軌道を計算する手段は、
前記目標速度に応じて、多項式補間処理により、記憶された前記所定の周期単位の回転運動量から前記周期間の回転運動量を計算して、計算された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算する、
脚式ロボット。
A legged robot that operates by changing the joint angle,
Means for calculating a rotational momentum around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to a target speed commanded to the legged robot ;
Means for storing the calculated rotational momentum;
By solving the ZMP equation using the pre-Symbol rotational momentum stored, means for calculating a centroid trajectory of the legged robot,
Means for rotating the joint based on the calculated center of gravity trajectory ,
The means for calculating the rotational momentum is:
Calculate the rotational momentum around the center of gravity of the legged robot in a predetermined cycle unit, and store it in the means for storing the rotational momentum,
The means for calculating the center of gravity trajectory is:
According to the target speed, a rotational momentum between the periods is calculated from the stored rotational momentum of the predetermined period by polynomial interpolation processing, and a ZMP equation is solved using the calculated rotational momentum. To calculate the center of gravity trajectory of the legged robot,
Legged robot.
関節角を変更して動作する脚式ロボットであって、
前記脚式ロボットに指令する目標速度に応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算する手段と、
計算された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算する手段と、
計算された前記重心軌道に基づいて、前記関節を回転する手段と、を備え、
前記回転運動量を計算する手段は、
前記脚式ロボットに指令する目標速度と一歩の継続時間とに応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算する、
脚式ロボット。
A legged robot that operates by changing the joint angle,
Means for calculating a rotational momentum around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to a target speed commanded to the legged robot;
Means for calculating a center-of-gravity trajectory of the legged robot by solving a ZMP equation using the calculated rotational momentum;
Means for rotating the joint based on the calculated center of gravity trajectory ,
The means for calculating the rotational momentum is:
Calculating the rotational momentum around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to the target speed commanded to the legged robot and the duration of one step;
Legged robot.
前記回転運動量を計算する手段は、
前記脚式ロボットに指令する目標速度と、一歩の継続時間と、前記脚式ロボットの状態が遷移する遷移時間とに応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算する
ことを特徴とする請求項1または2いずれか1項記載の脚式ロボット。
The means for calculating the rotational momentum is:
The legged robot in which the posture angle of the upper body of the legged robot does not vary according to the target speed commanded to the legged robot, the duration of one step, and the transition time during which the state of the legged robot transitions claim 1 or 2 have Zureka 1 wherein the legged robot, wherein calculating the rotational momentum around the center of gravity.
前記回転運動量を計算する手段は、
前記脚式ロボットに指令する目標速度に応じた、前記脚式ロボットの、左足平位置と右足平位置と体幹姿勢を示すデータと、前記位置姿勢を実現する体幹位置を示すデータを入力して記憶する手段と、
前記データ群から、前記脚式ロボットをモデル化した「左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、各質点の位置及び速度を計算して、前記脚式ロボットの重心周りの回転運動量を計算する手段
を備えることを特徴とする請求項1乃至3いずれか1項記載の脚式ロボット。
The means for calculating the rotational momentum is:
According to the target speed commanded to the legged robot, data indicating the left foot position, right foot position and trunk posture of the legged robot, and data indicating the trunk position realizing the position and posture are input. Means for memorizing and
From the data group, the position of each mass point is modeled using a "dynamic system in which mass concentrates at the left knee position, right knee position, left foot position, and right foot position" that models the legged robot. and calculates the speed, the legged claim 1乃optimum 3 have Zureka 1 wherein the legged robot according to, characterized in that it comprises means for calculating the rotational momentum around the center of gravity of the robot.
前記重心軌道を生成する手段は、
鉛直方向軌道及び計算された前記回転運動量に基づいて計算される係数を持つ行列と、重心軌道の列と、目標ZMPの列との間に成立する連立方程式を解いて重心軌道を計算する
ことを特徴とする請求項1乃至4いずれか1項記載の脚式ロボット。
The means for generating the center of gravity trajectory is:
Calculating a centroid trajectory by solving a matrix having a coefficient calculated based on the vertical trajectory and the calculated rotational momentum, a centroid trajectory sequence, and a target ZMP sequence. claim 1乃optimum 4 have Zureka 1 wherein the legged robot according to features.
指令する目標速度に応じて、脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算するステップと、
記憶された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算するステップと、
計算された前記重心軌道に基づいて、前記脚式ロボットの関節を回転するステップと、を備え、
前記回転運動量を計算するステップでは、
所定の周期単位の前記脚式ロボットの重心周りの回転運動量を計算して、前記回転運動量を記憶し、
前記重心軌道を計算するステップでは、
前記目標速度に応じて、多項式補間処理により、記憶された前記所定の周期単位の回転運動量から前記周期間の回転運動量を計算して、計算された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算する、
脚式ロボットの制御方法。
Calculating a rotational momentum around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to the commanded target speed;
By solving the ZMP equation using the pre-Symbol rotational momentum stored, calculating the center of gravity pathway of the legged robot,
Rotating the joint of the legged robot based on the calculated center of gravity trajectory ,
In the step of calculating the rotational momentum,
Calculate the rotational momentum around the center of gravity of the legged robot in a predetermined cycle unit, store the rotational momentum,
In the step of calculating the center of gravity trajectory,
According to the target speed, a rotational momentum between the periods is calculated from the stored rotational momentum of the predetermined period by polynomial interpolation processing, and a ZMP equation is solved using the calculated rotational momentum. To calculate the center of gravity trajectory of the legged robot,
Control method for legged robot.
指令する目標速度に応じて、脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算するステップと、
計算された前記回転運動量を用いてZMP方程式を求解することで、前記脚式ロボットの重心軌道を計算するステップと、
計算された前記重心軌道に基づいて、前記脚式ロボットの関節を回転するステップと、を備え、
前記回転運動量を計算するステップでは、
指令する目標速度と一歩の継続時間とに応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算する、
脚式ロボットの制御方法。
Calculating a rotational momentum around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to the commanded target speed;
Calculating a center-of-gravity trajectory of the legged robot by solving a ZMP equation using the calculated rotational momentum;
Rotating the joint of the legged robot based on the calculated center of gravity trajectory ,
In the step of calculating the rotational momentum,
Calculating the rotational momentum around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to the commanded target speed and the duration of one step;
Control method for legged robot.
前記回転運動量を計算するステップでは、
指令する目標速度と、一歩の継続時間と、前記脚式ロボットの状態が遷移する遷移時間とに応じて、前記脚式ロボットの上体の姿勢角が変動しない前記脚式ロボットの重心周りの回転運動量を計算する
ことを特徴とする請求項6または7いずれか1項記載の脚式ロボットの制御方法。
In the step of calculating the rotational momentum,
Rotation around the center of gravity of the legged robot in which the posture angle of the upper body of the legged robot does not vary according to the commanded target speed, the duration of one step, and the transition time during which the state of the legged robot transitions claim 6 or 7 have Zureka 1 wherein the legged robot control method, wherein the calculating the momentum.
前記回転運動量を計算するステップは、
前記脚式ロボットをモデル化した「左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、各質点の位置及び速度を計算して、前記脚式ロボットの重心周りの回転運動量を計算するステップ
を備えることを特徴とする請求項6乃至8いずれか1項記載の脚式ロボットの制御方法。
The step of calculating the rotational momentum comprises:
The position and speed of each mass point are calculated using the “dynamic system in which mass is concentrated at the left knee position, right knee position, left foot position, and right foot position” that models the legged robot. Te, the control method of the legged legged robot according to claim 6 to 8 have Zureka preceding claim, characterized in that it comprises the step of calculating the rotational momentum around the center of gravity of the robot.
前記重心軌道を生成するステップでは、
鉛直方向軌道及び計算された前記回転運動量に基づいて計算される係数を持つ行列と、重心軌道の列と、目標ZMPの列との間に成立する連立方程式を解いて重心軌道を計算する
ことを特徴とする請求項6乃至9いずれか1項記載の脚式ロボットの制御方法。
In the step of generating the center of gravity trajectory,
Calculating a centroid trajectory by solving a matrix having a coefficient calculated based on the vertical trajectory and the calculated rotational momentum, a centroid trajectory sequence, and a target ZMP sequence. control method for a legged robot according to claim 6 to 9 have Zureka preceding claim, characterized.
JP2008037126A 2008-02-19 2008-02-19 Legged robot, its control method, and its control system Expired - Fee Related JP5035005B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008037126A JP5035005B2 (en) 2008-02-19 2008-02-19 Legged robot, its control method, and its control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008037126A JP5035005B2 (en) 2008-02-19 2008-02-19 Legged robot, its control method, and its control system

Publications (2)

Publication Number Publication Date
JP2009195999A JP2009195999A (en) 2009-09-03
JP5035005B2 true JP5035005B2 (en) 2012-09-26

Family

ID=41140110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008037126A Expired - Fee Related JP5035005B2 (en) 2008-02-19 2008-02-19 Legged robot, its control method, and its control system

Country Status (1)

Country Link
JP (1) JP5035005B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009214255A (en) * 2008-03-12 2009-09-24 Toyota Motor Corp Leg type robot and its control method
JP5440152B2 (en) * 2009-12-22 2014-03-12 トヨタ自動車株式会社 Legged robot and gait data generation method for it
CN101847009B (en) * 2010-05-28 2011-12-14 广东工业大学 Biped robot gait energy efficiency optimization method
CN110371213A (en) * 2019-07-12 2019-10-25 沈阳城市学院 A kind of biped robot's walking planning and control method
CN116619361A (en) * 2023-05-16 2023-08-22 傅利叶动力(北京)科技有限公司 Biped robot mass distribution method and biped robot

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3599244B2 (en) * 2002-11-06 2004-12-08 ソニー株式会社 Robot device, motion control device of robot device, and motion control method
JP3888310B2 (en) * 2003-02-06 2007-02-28 トヨタ自動車株式会社 Data creation device for walking robot control and ZMP position calculation method
JP4440759B2 (en) * 2004-12-17 2010-03-24 本田技研工業株式会社 Method for estimating floor reaction force of biped walking object
JP4810880B2 (en) * 2005-05-10 2011-11-09 トヨタ自動車株式会社 Robot and its control method
JP4591419B2 (en) * 2006-07-18 2010-12-01 トヨタ自動車株式会社 Robot and its control method

Also Published As

Publication number Publication date
JP2009195999A (en) 2009-09-03

Similar Documents

Publication Publication Date Title
JP4513320B2 (en) Robot apparatus and motion control method of robot apparatus
JP4392037B2 (en) Legged robot and control method thereof
JP4818716B2 (en) Robot controller
JP6823569B2 (en) Target ZMP orbit generator
JP3760186B2 (en) Biped walking type moving device, walking control device thereof, and walking control method
JP4812426B2 (en) Robot controller
JP5071140B2 (en) Legged robot and control method thereof
WO2004030870A1 (en) Robot device and control method of robot device
WO2004041484A1 (en) Robot device, motion control device for robot device and motion control method
WO2002087832A1 (en) Device for generating motion of legged mobile robot
JP2007296618A (en) Driving method, driving control device and robot
WO2006067904A1 (en) Legged mobile robot and gait generating device
JPWO2006064598A1 (en) Legged mobile robot and its control program
JP5035005B2 (en) Legged robot, its control method, and its control system
US20240000648A1 (en) Method for moving an exoskeleton
US20070267994A1 (en) Legged Robot, Method for Controlling Legged Robot, and Device and Method for Generating Gait Data
JP4483254B2 (en) Robot apparatus and control method of robot apparatus
JP5632609B2 (en) Robot control apparatus and robot control method
JP2004237403A (en) Data creation device for controlling bipedal robot and calculation method of zmp position
JP3726097B2 (en) Posture control device for legged mobile robot
JP4587699B2 (en) Robot apparatus and control method thereof
JP4583098B2 (en) Robot motion pattern creation program, motion pattern creation device, and robot using the same.
JP4311159B2 (en) Robot gait data creation device and system
JP2001277158A (en) System and method for controlling operation of legged locomotion robot
JP2008142861A (en) Gait data production device and gait data production method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120618

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5035005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees