JP5035005B2 - Legged robot, its control method, and its control system - Google Patents
Legged robot, its control method, and its control system Download PDFInfo
- 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
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に一致するように重心軌道を算出する技術が開示されている。尚、本明細書で「軌道」とは、位置の経時的な変化を記述するデータのことを言う。
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方程式を求解することで、ロボットの重心軌道を計算する。そして、脚式ロボットは、計算された重心軌道に基づいて、関節角を変更して動作する。
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の足平の中心には、それぞれ基準点L0、R0が設けられている。基準点L0、R0は、ロボット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
制御部10は、CPU、ROM、RAM、ハードディスクなどを有するコンピュータ装置である。制御部10はコントローラ12と通信可能であり、ユーザーが操作するコントローラ12から指令値を入力する。制御部10はユーザーから入力される指令値に基づいて、ロボット2の動作パターンを生成ないし計算する。制御部10は生成した動作パターンを記憶し、記憶された動作パターンを実現するように各関節を駆動する。制御部10の詳細については後述する。
The
以下では、ロボット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
本実施の形態1に係るロボット2は、動作開始から完了までの動作パターンを生成して記憶しており、記憶された動作パターンを逐次読み出して動作を実現していく。ロボット2の動作中にユーザーから指令値が入力されると、ロボット2はそれ以降の動作パターンを再度生成して、新たに入力された指令値に応じた動作パターンを記憶する。記憶された新たな動作パターンは、それ以降の動作に反映される。上記のようにして、本実施の形態1に係るロボット2は、リアルタイムに動作パターンを生成しながら歩行していく。
The
続いて、制御部10の動作の詳細について説明する。図2は、制御部10の機能の構成を示す機能ブロック図である。制御部10は、回転運動量計算部21と、回転運動量記憶部22と、軌道計算部30と、目標姿勢計算部40と、関節駆動部50を備えている。ここでは重心の軌道を計算して生成することから、計算、生成、演算の語を区別なく用いる。
Next, details of the operation of the
回転運動量計算部21は、ユーザーがロボット2に指令する目標速度に応じて、ロボット2の上体4の姿勢角が変動しないロボット2の重心周りの回転運動量を計算する。計算された回転運動量は、回転運動量記憶部22に記憶される。回転運動量の計算方法の詳細については後述する。
The rotational
軌道計算部30は、目標速度決定部31と、目標回転運動量決定部32と、仮重心軌道計算部33と、ZMP補償計算部34と、遊脚軌道計算部37とを備える。軌道計算部30は、回転運動量記憶部22に記憶された回転運動量を用いてZMP方程式を求解することで、ロボット2の重心軌道及び遊脚の足先軌道を計算する。目標姿勢計算部40は、計算された重心軌道及び遊脚軌道を実現する、ロボット2の目標姿勢を計算する。関節駆動部50は、計算された目標姿勢に基づいて、ロボット2の各関節を駆動する。
The
続いて、回転運動量を計算する方法について説明する。図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
まず、ユーザーが、回転運動量計算部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
また、これらの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
さらにまた、ユーザーがジョイスティック等で歩行コースや目標速度等を指示することもある。一歩分の標準的な足平姿勢ベクトルの変化パターンと体幹姿勢ベクトルの変化パターンと体幹高さの変化パターンを記憶しておくと、ユーザーがジョイスティック等で歩行コースや目標速度を指示することによって、一歩分の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
ユーザーは、更に、目標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
回転運動量計算部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
ここで用いる体幹ベクトルPは、仮に用いられるものであり、後述する手段310によって補正されるので、ラフなものでよい。人が指定して回転運動量計算部21に入力して記憶してもよいし、回転運動量計算部21で生成してもよい。
The trunk vector P used here is temporarily used and is corrected by the
体幹位置ベクトル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
体幹の位置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
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
質点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
図3に示す回転運動量計算部21は、目標ZMP位置を示すデータを入力して記憶する手段292を備えており、手段298で計算されたZMP位置と、手段292に記憶されている目標ZMP位置との偏差を計算することができる(手段300)。
The rotational
回転運動量計算部21は、手段300で計算されたZMP偏差を解消するのに必要な体幹位置ベクトルの補正量を計算して、目標ZMP位置と等しいZMP位置が計算される体幹位置ベクトルPを計算する手段310を備えている。手段310は、体幹位置を示すデータをどれだけ補正すると左膝位置と右膝位置を示すデータがどれだけ変化してZMP位置を示すデータがどれだけ変化するか示関係を利用して体幹位置を示すデータの補正量を求める。補正手段310によると、繰返し計算して補正量を収束させる必要がなく、一度の補正でZMP偏差を解消することができる。体幹位置の補正量から左膝位置と右膝位置の移動量を計算するにあたって、体幹位置の補正量ΔPに係数をかけることによって左膝位置と右膝位置の移動量を計算するようにすると計算が一層に簡単化される。体幹高さと膝位置高さの比例係数を利用することによって、体幹位置の補正量ΔPから左膝位置と右膝位置の移動量を簡単に計算することができる。
The rotational
上述したようにして、目標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
制御部10は、このようにして計算された回転運動量を、回転運動量記憶部22に記憶する。記憶する回転運動量データは、所定の周期単位ごとに離散化された回転運動量データとして記憶してもよい。
The
軌道計算部30は、回転運動量を用いてZMP方程式を求解することで、ロボット2の重心軌道及び遊脚の足先軌道を計算する。まず、目標速度決定部31は、ユーザーがロボット2に指令する目標速度に応じて、ロボット2の目標速度を決定し、目標回転運動量決定部32及び仮重心軌道計算部33へと目標速度を出力する。目標速度は、ロボット2のアクチュエータの性能が許す範囲で、ユーザーが任意に与えることができる。
The
目標回転運動量決定部32は、入力された目標速度に応じて、回転運動量記憶部22に記憶された回転運動量を読み出す。目標回転運動量決定部32は、入力された目標速度と、一歩の継続時間と、遷移時間などの走行条件に応じて、現在の走行状態に最も近い状況で計算された回転運動量を読み出す。所定の周期単位で離散化された回転運動量データが回転運動量記憶部22に記憶されている場合には、目標回転運動量決定部32は、記憶されている所定の周期単位の回転運動量データから、多項式補間処理により、それら周期間の回転運動量を計算する。ロボット2の重心周りの回転運動量は、一歩の間に大きく変動することは少ないため、所定の周期単位で離散化されたデータのみを記憶することで、記憶する回転運動量のデータ量をより削減することができると共に、一歩の継続時間が異なる場合であっても所望の回転運動量を柔軟に取得することができる。
The target rotational
仮重心軌道計算部33は、入力された目標速度に応じて、ロボット2の仮の重心軌道を計算する。重心の相対軌道は、目標とする相対ZMP軌道と、重心周りの回転運動量と、動作の開始時及び完了時における重心の水平方向速度(目標速度)の条件に基づいて決定される。重心の相対軌道を実現したときの実際の相対ZMP軌道が、目標とする相対ZMP軌道に一致するように、重心の相対軌道を計算する。
The temporary center of gravity
尚、目標とする相対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
ここで、重心の相対軌道の計算方法について説明する。ロボット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
ここで、(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
仮重心軌道計算部33では、ロボット2の重心まわりの回転運動量(rx',ry')の時系列的変化と、重心の鉛直方向軌道z'を、ユーザーからの指令等に基づいて決定する。そして、上記のZMP方程式を求解することで、ロボット2の重心の水平方向軌道(x',y')を計算する。尚、上記のZMP方程式を離散化した3項方程式を解くことによって、ロボット2の重心の水平方向軌道(x',y')を計算することができる。重心軌道を高速に計算するため、例えば、鉛直方向軌道及び計算された回転運動量に基づいて計算される係数を持つ行列と、重心軌道の列と、目標ZMPの列との間に成立する連立方程式を解いて重心軌道を計算するようにしてもよい。この3項方程式を用いた重心の水平方向軌道の計算方法は、本出願人が先に出願した特願2007―08585号の明細書に記載されている。但し、この特許出願は、本出願の時点で未だ公開されていないことに留意されたい。
The provisional center-of-gravity
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
ZMP補償計算部34の着地位置計算部36は、計算された複数歩数分の重心軌道から、遊脚の足先の着地位置を計算する。遊脚軌道計算部37は、計算された足先の着地位置から、遊脚の足先の相対軌道を計算する。遊脚の足先の相対軌道は、動作の前後における脚リンクの動作と滑らかに接続するように計算する。遊脚の足先の相対軌道の計算は、例えば多項式補間を用いることによって、計算することができる。
The landing
目標姿勢計算部40は、計算された重心軌道及び遊脚軌道を実現する、関節角の目標値を算出する。関節角の目標値はいわゆる逆キネマティクス演算によって算出することができる。ロボット2の相対並進運動量Pg、ロボット2の相対角運動量Lg、遊脚足先の相対速度vf及び遊脚足先の角速度ωfは、関節角の角速度θ(1)と、それぞれヤコビ行列Jg(θ)、Kg(θ)、Jf(θ)、Kf(θ)を用いて、以下で表現される。
The target
上記数2のうち関節角の角速度θ(1)は関節角の角度θを時間に関して1階微分したものである。関節角の角度θは、以下に示すように、ロボット2の関節角群(θ1、θ2、・・・、θn−1)である。
In
ロボット2の相対並進運動量Pg、ロボット2の相対角運動量Lg、遊脚足先の相対速度vf及び遊脚足先の角速度ωfは、それぞれ以下である。 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.
遊脚足先のヤコビ行列は、遊脚の数だけ存在する。本実施の形態1に係るロボット2は、2つの脚リンクを備えており、遊脚を1の脚リンクとして関節角の目標値を演算する。目標とするロボット2の運動Pg、Lg、vf、ωfを満たす関節角速度θ(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
上記した処理を実施することによって、重心の軌道、目標とする角運動量、及び遊脚足先の軌道を拘束条件として、関節角の目標値を演算することができる。これによって、ロボット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
演算された関節角目標値の経時的データは、制御部10に記憶されている。例えば、一歩分相当の関節角目標値の経時的データが計算され記憶される。制御部10は上記した処理と並列して、関節角目標値の経時的データに基づいて、関節駆動部50でロボット2の各関節を逐次駆動していく。これによって、ロボット2はユーザー指令値に基づいた、姿勢の安定した動作を実現していく。
The temporal data of the calculated joint angle target value is stored in the
以上説明したように、本実施の形態1に係るロボット2は、ロボット2に指令する目標速度に応じて、ロボット2の上体の姿勢角が変動しない重心周りの回転運動量を計算する。そして、計算された回転運動量を記憶しておき、記憶された回転運動量を用いてZMP方程式を求解することで、ロボット2の重心軌道を計算する。ロボット2は、記憶された回転運動量を用いてZMP方程式を求解することで、ロボット2の重心軌道を計算し、計算された重心軌道に基づいて、関節を回転する。
As described above, the
このように、目標速度に応じて、上体の姿勢角が変動せずに安定する場合の回転運動量を計算し、その回転運動量を用いて重心軌道を計算することで、パラメータ調整などの不要な処理を実行すること無く、姿勢角の安定した重心軌道データを容易に計算することができ、自然な姿勢で歩行/走行動作を実現することができる。また、重心軌道の計算処理においては、記憶された回転運動量を用いて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
また、上述した実施の形態1においては、軌道計算部30が一歩相当の軌道データを計算するものとしたが本発明はこれに限定されず、計算する軌道データは、一歩部相当分よりも短い時間区分に対応する部分の軌道データを取得するようにしてもよい。
In the first embodiment described above, the
さらにまた、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。 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.
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.
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)
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)
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 |
-
2008
- 2008-02-19 JP JP2008037126A patent/JP5035005B2/en not_active Expired - Fee Related
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 |