JP2013116530A - Gait generating device for legged mobile robot and operational target generating device for robot - Google Patents

Gait generating device for legged mobile robot and operational target generating device for robot Download PDF

Info

Publication number
JP2013116530A
JP2013116530A JP2011265277A JP2011265277A JP2013116530A JP 2013116530 A JP2013116530 A JP 2013116530A JP 2011265277 A JP2011265277 A JP 2011265277A JP 2011265277 A JP2011265277 A JP 2011265277A JP 2013116530 A JP2013116530 A JP 2013116530A
Authority
JP
Japan
Prior art keywords
target
vector
posture
gait
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.)
Granted
Application number
JP2011265277A
Other languages
Japanese (ja)
Other versions
JP5623376B2 (en
Inventor
Masao Kanazawa
雅夫 金澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2011265277A priority Critical patent/JP5623376B2/en
Publication of JP2013116530A publication Critical patent/JP2013116530A/en
Application granted granted Critical
Publication of JP5623376B2 publication Critical patent/JP5623376B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a device capable of sequentially generating the desired motion of a robot while sequentially determining an appropriate Jacobian matrix which can compensate an influence of the non-linearity of relation between quantities of states associated with each other by the Jacobian matrix.SOLUTION: A gait generating device 32 for generating a target gait (desired motion) of the robot 1 sequentially determines a desired value vector Vb_cmd2 of a body motion velocity vector by multiplying a desired value vector S_cmd of a vector S to be controlled having a desired value vector P_cmd2 or the like of a translational momentum vector of the whole gravity center of the robot 1 as a component by a pseudo inverse matrix of the Jacobian matrix, and integrates the vector Vb_cmd2 to determine a desired position and a desired posture of the body 2. In determining the Jacobian matrix, a future gait is estimated, and the Jacobian matrix is determined using the operational state of the robot 1 specified by the estimated gait as origination.

Description

本発明は脚式移動ロボットの歩容生成装置及びロボットの動作目標生成装置に関する。   The present invention relates to a gait generator for a legged mobile robot and an operation target generator for a robot.

脚式移動ロボットの目標歩容等、種々様々なロボットの動作目標を生成する場合、該動作目標の生成のために、ヤコビアン行列を用いる場合がある。例えば特許文献1には、脚式移動ロボットの各関節の変位量の単位時間当たりの変化量(1階微分値)からロボットの全体重心の並進運動量や該全体重心周りの角運動量への線形写像を表すヤコビアン行列を用いて、ロボットの全体重心の並進運動量や該全体重心周りの角運動量の目標値に対応する脚式移動ロボットの各関節の変位量の目標値を決定する技術が記載されている。   When generating various types of robot motion targets such as a target gait of a legged mobile robot, a Jacobian matrix may be used to generate the motion targets. For example, Patent Document 1 discloses a linear mapping from a change amount (first-order differential value) per unit time of a displacement amount of each joint of a legged mobile robot to a translational momentum of the entire center of gravity of the robot and an angular momentum around the entire center of gravity. Describes a technique for determining a target value of a displacement amount of each joint of a legged mobile robot corresponding to a target value of a translational momentum of the robot's overall center of gravity and an angular momentum around the overall center of gravity using a Jacobian matrix representing Yes.

特開2006−315095号公報JP 2006-315095 A

上記ヤコビアン行列は、それを一般化していえば、ロボットの関節の変位量等、該ロボットの所定種類の状態量の単位時間当たりの変化量(時間的変化率)を成分として構成される第1状態量ベクトルと、該第1状態量ベクトルを線形写像してなるベクトルとして表される第2状態量ベクトルとに関する前記線形写像を表す行列である。換言すれば、ヤコビアン行列は、上記第1状態量ベクトルを積分したもの(上記所定種類の状態量を成分とするベクトル)の微小変化に対する第2状態量ベクトルの積分値の変化の感度を表す行列である。   If the above-mentioned Jacobian matrix is generalized, a first state constituted by a change amount (time change rate) per unit time of a predetermined kind of state amount of the robot, such as a displacement amount of the joint of the robot, as a component It is a matrix showing the said linear mapping regarding a quantity vector and the 2nd state quantity vector represented as a vector formed by linearly mapping this 1st state quantity vector. In other words, the Jacobian matrix is a matrix that represents the sensitivity of the change in the integrated value of the second state quantity vector to the minute change of the integration of the first state quantity vector (the vector having the predetermined type of state quantity as a component). It is.

このようなヤコビアン行列は、一般に、ロボットの各関節の変位量の組により規定される該ロボットの全体の動作状態に応じて変化する。このため、ロボットの瞬時瞬時の動作目標を決定する処理でヤコビアン行列を用いる場合、該ヤコビアン行列は、通常、上記記第1状態量ベクトルの各成分の積分値としての状態量の変化が、既に決定済のロボットの動作目標のうちの最新値により規定される動作状態を起点して生じるものとして算出される。   Such a Jacobian matrix generally changes in accordance with the overall operation state of the robot defined by a set of displacement amounts of each joint of the robot. For this reason, when a Jacobian matrix is used in the process of determining the instantaneous instantaneous motion target of the robot, the Jacobian matrix usually has a change in state quantity as an integral value of each component of the first state quantity vector. It is calculated as a starting point of the motion state defined by the latest value of the determined robot motion targets.

そして、このように算出したヤコビアン行列を用いてロボットの動作目標を決定する場合、例えば、上記第1状態量ベクトル及び第2状態量ベクトルのいずれか一方の目標値に対応する他方の目標値がヤコビアン行列を用いて算出され、この算出した他方の目標値が、ロボットの動作目標の生成処理周期毎の、第1状態量ベクトル又は第2状態量ベクトルの積分値の変化量を規定するものとして、ロボットの動作目標が決定されることとなる。   When determining the robot motion target using the Jacobian matrix calculated in this way, for example, the other target value corresponding to one of the first state quantity vector and the second state quantity vector is The other target value calculated using the Jacobian matrix prescribes the amount of change in the integral value of the first state quantity vector or the second state quantity vector for each generation processing cycle of the robot motion target. Then, the operation target of the robot is determined.

一方、上記第1状態量ベクトルを積分したもの(上記所定種類の状態量を成分とするベクトル)と、上記第2状態量ベクトルの積分値との間の関係は、非線形な関係となる場合が多い。このため、上記の如く既に決定済のロボットの動作目標のうちの最新値により規定される動作状態を起点してヤコビアン行列を算出し、その算出したヤコビアン行列を用いてロボットの動作目標を所定の演算処理周期で逐次決定するようにした場合には、各演算処理周期毎の第1状態量ベクトルの積分値の変化と、第2状態量ベクトルの積分値の変化との間の関係が、実際の関係に対してずれを生じやすい。   On the other hand, the relationship between the integration of the first state quantity vector (the vector having the predetermined type of state quantity as a component) and the integration value of the second state quantity vector may be a non-linear relationship. Many. For this reason, the Jacobian matrix is calculated starting from the motion state defined by the latest value of the robot motion targets that have already been determined as described above, and the robot motion target is set to a predetermined value using the calculated Jacobian matrix. When it is determined sequentially in the calculation processing cycle, the relationship between the change in the integration value of the first state quantity vector and the change in the integration value of the second state quantity vector for each calculation processing cycle is actually Deviation tends to occur with respect to the relationship.

ひいては、逐次生成されるロボットの動作目標が、上記第1状態量ベクトル及び第2状態量ベクトルのいずれか一方の目標値に対して不整合なものとなってしまい、本来の目標とする動作からずれた動作目標が生成されてしまうという不都合がある。   As a result, the operation target of the robot that is sequentially generated becomes inconsistent with the target value of one of the first state quantity vector and the second state quantity vector. There is an inconvenience that a shifted operation target is generated.

例えば前記特許文献1に見られる如き脚式移動ロボットの動作制御においては、該ロボットの生成される目標歩容における該ロボットの全体重心の並進運動量や該全体重心周りの角運動量とが、それぞれの目標値からずれを生じやすい。   For example, in the motion control of a legged mobile robot as shown in Patent Document 1, the translational momentum of the robot's overall center of gravity and the angular momentum around the overall center of gravity in the target gait generated by the robot are respectively Deviation from the target value is likely to occur.

本発明は、かかる背景に鑑みてなされたものであり、ロボットの一例としての脚式移動ロボットにおいて、ヤコビアン行列により関連付けられる状態量の間の関係の非線形性の影響を補償し得る適切なヤコビアン行列を逐次決定しつつ、該移動ロボットの目標歩容を逐次生成することができる歩容生成装置を提供することを目的とする。   The present invention has been made in view of such a background, and in a legged mobile robot as an example of a robot, an appropriate Jacobian matrix capable of compensating for the influence of nonlinearity of the relationship between state quantities related by the Jacobian matrix. It is an object of the present invention to provide a gait generator capable of sequentially generating a target gait of the mobile robot while sequentially determining.

また、本発明は、より一般的な態様として、種々様々なロボットにおいて、ヤコビアン行列により関連付けられる状態量の間の関係の非線形性の影響を補償し得る適切なヤコビアン行列を逐次決定しつつ、該ロボットの動作目標を逐次生成することができる動作目標生成装置を提供することを目的とする。   Further, the present invention, as a more general aspect, sequentially determines an appropriate Jacobian matrix that can compensate for the influence of nonlinearity of the relationship between the state quantities related by the Jacobian matrix in various different robots. An object of the present invention is to provide an operation target generation device capable of sequentially generating operation targets of a robot.

本発明の脚式移動ロボットの歩容生成装置は、上記の目的を達成するために、基体から延設されると共に複数の関節がそれぞれ備えられた複数の脚リンクの運動によって移動する脚式移動ロボットの各関節の変位量を規定する目標歩容を逐次生成する歩容生成装置であって、
前記目標歩容の構成要素としての前記移動ロボットの各脚リンクの先端部の位置及び姿勢の目標値である目標脚位置姿勢を逐次決定する目標脚位置姿勢決定手段と、
前記基体の位置及び姿勢の単位時間当たりの変化量を成分として構成される基体運動速度ベクトルを線形写像してなるベクトルとして表される制御対象ベクトルの目標値である目標制御対象ベクトルを逐次決定する目標制御対象ベクトル決定手段と、
前記線形写像を表すヤコビアン行列を逐次決定しつつ、該ヤコビアン行列の擬似逆行列を、前記目標制御対象ベクトルに乗じることにより、前記基体運動速度ベクトルの目標値を逐次決定する基体運動速度目標値決定手段と、
前記決定された基体運動速度ベクトルの目標値を逐次積分することにより、前記目標歩容の構成要素としての前記基体の位置及び姿勢の目標値である目標基体位置姿勢を逐次決定する目標基体位置姿勢決定手段とを備え、
前記基体運動速度目標値決定手段は、前記基体運動速度ベクトルの新たな目標値を決定するために用いる前記ヤコビアン行列を決定するとき、既に決定された前記移動ロボットの目標歩容のうちの最新値の目標歩容に対応する時刻と前記基体運動速度ベクトルの新たな目標値に応じて目標基体位置姿勢が規定される新たな目標歩容に対応する時刻との間の期間内での前記移動ロボットの将来の歩容の瞬時値を、前記最新値の目標歩容とその直前の1つ以上の過去値の目標歩容とに基づいて推定し、その推定した将来の歩容の瞬時値を、前記基体運動速度ベクトルの新たな目標値による前記基体の位置及び姿勢の変化の起点となる前記移動ロボットの動作状態として用いて、該移動ロボットの当該起点の動作状態に対応する前記ヤコビアン行列を決定することを特徴とする(第1発明)。
In order to achieve the above object, a gait generator for a legged mobile robot according to the present invention is a legged movement that moves by the movement of a plurality of leg links that extend from a base and each have a plurality of joints. A gait generator that sequentially generates a target gait that defines a displacement amount of each joint of a robot,
Target leg position / posture determination means for sequentially determining a target leg position / posture which is a target value of the position and posture of the tip of each leg link of the mobile robot as a component of the target gait;
A target control target vector, which is a target value of a control target vector expressed as a vector obtained by linearly mapping a base body motion speed vector composed of the amount of change per unit time in the position and orientation of the base body, is sequentially determined. A target control target vector determining means;
Substrate motion speed target value determination that sequentially determines a target value of the base body motion speed vector by multiplying the target control target vector by a pseudo inverse matrix of the Jacobian matrix while sequentially determining a Jacobian matrix representing the linear mapping Means,
A target substrate position / posture that sequentially determines a target substrate position / posture that is a target value of the position / posture of the base as a component of the target gait by sequentially integrating the determined target values of the base body velocity vector. A determination means,
The base body motion speed target value determining means determines the Jacobian matrix used for determining a new target value of the base body motion speed vector, and is the latest value of the already determined target gaits of the mobile robot. The mobile robot within a period between a time corresponding to a target gait of the robot and a time corresponding to a new target gait in which a target base body position / posture is defined according to a new target value of the base body motion speed vector Is estimated based on the latest target gait and the previous one or more target gaits of the past value, and the estimated future gait instantaneous value is: The Jacobian matrix corresponding to the operating state of the starting point of the mobile robot, which is used as the operating state of the mobile robot that becomes the starting point of the change in the position and orientation of the base body by the new target value of the base body motion velocity vector Determination characterized in that it (the first invention).

かかる第1発明によれば、前記目標脚位置姿勢決定手段により決定された各脚リンクの目標脚位置姿勢(各脚リンクの先端部の位置及び姿勢の目標値)と、前記基体運動速度ベクトル目標値決定手段に逐次決定される基体運動速度ベクトル(基体の位置及び姿勢の単位時間当たりの変化量を成分として構成されるベクトル)の目標値を前記目標基体位置姿勢決定手段により逐次積分することにより決定された目標基体位置姿勢(基体の位置及び姿勢の目標値)とが前記目標歩容の構成要素として逐次決定されることとなる。   According to the first aspect of the invention, the target leg position / posture of each leg link determined by the target leg position / posture determination means (target value of the position and posture of the tip of each leg link) and the base body motion speed vector target By successively integrating the target value of the base body motion speed vector (a vector constituted by using the amount of change per unit time of the base body position and orientation as a component) sequentially determined by the value determining means by the target base body position and orientation determining means. The determined target base body position and orientation (target values of the base body position and orientation) are sequentially determined as components of the target gait.

この場合、基体運動速度ベクトルの目標値を決定する基体運動速度目標値決定手段は、基体運動速度ベクトルから、前記制御対象ベクトルへの線形写像を表すヤコビアン行列を逐次決定しつつ、該ヤコビアン行列の擬似逆行列を、前記制御対象ベクトルの基本目標値に乗じることにより、前記基体運動速度ベクトルの目標値を決定する。   In this case, the base body motion speed target value determining means for determining the target value of the base body motion speed vector sequentially determines a Jacobian matrix representing a linear mapping from the base body motion speed vector to the control target vector, and the Jacobian matrix The target value of the base body motion speed vector is determined by multiplying the basic target value of the control target vector by the pseudo inverse matrix.

このため、基体運動速度ベクトルの目標値、ひいては、前記目標基体位置姿勢を構成要素とする目標歩容は、目標制御対象ベクトルの各成分の値を目標として逐次決定されることとなる。   For this reason, the target value of the base body motion speed vector, and hence the target gait having the target base body position / posture as components, are sequentially determined with the values of the respective components of the target control target vector as targets.

ここで、第1発明では、前記基体運動速度目標値決定手段は、前記基体運動速度ベクトルの新たな目標値を決定するために用いる前記ヤコビアン行列を決定するとき、既に決定された前記移動ロボットの目標歩容のうちの最新値の目標歩容に対応する時刻と前記基体運動速度ベクトルの新たな目標値に応じて目標基体位置姿勢が規定される新たな目標歩容に対応する時刻との間の期間内での前記移動ロボットの将来の歩容の瞬時値を、前記最新値の目標歩容とその直前の1つ以上の過去値の目標歩容とに基づいて推定し、その推定した将来の歩容の瞬時値を、前記基体運動速度ベクトルによる前記基体の位置及び姿勢の変化の起点となる前記移動ロボットの動作状態として用いて、該移動ロボットの当該起点の動作状態に対応する前記ヤコビアン行列を決定する。   Here, in the first invention, the base body motion speed target value determining means determines the Jacobian matrix used for determining a new target value of the base body motion speed vector when the mobile robot already determined is determined. Between the time corresponding to the latest target gait of the target gait and the time corresponding to the new target gait in which the target base body position / posture is defined according to the new target value of the base body motion speed vector The instantaneous value of the future gait of the mobile robot within the period of is estimated based on the target gait of the latest value and the target gait of one or more past values immediately before it, and the estimated future Using the instantaneous value of the gait of the mobile robot as the operating state of the mobile robot that is the starting point of the change in the position and posture of the base body based on the base body speed vector, the Jacobian corresponding to the operating state of the mobile robot at the starting point. To determine the emissions matrix.

すなわち、前記最新値の目標歩容により規定される前記移動ロボットの動作状態よりも、将来の予測される動作状態寄りにずらした動作状態を、前記基体運動速度ベクトルによる前記基体の位置及び姿勢の変化(換言すれば基体運動速度ベクトルの積分値の変化)の起点として、前記ヤコビアン行列が決定される。   That is, an operation state shifted toward a predicted operation state in the future from the operation state of the mobile robot defined by the latest target gait is changed to the position and posture of the substrate by the substrate movement speed vector. The Jacobian matrix is determined as the starting point of the change (in other words, the change in the integral value of the base body motion velocity vector).

このようにすることで、基体運動速度ベクトルの積分値としての基体の位置及び姿勢と、前記制御対象ベクトルの積分値に相当する状態量との間の関係が非線形な関係であっても、該非線形性の影響を補償し、目標制御対象ベクトルを満たす上で最適な基体運動速度ベクトルの値に対して一致度合いの高い基体運動速度ベクトルの目標値を決定できる。ひいては、目標制御対象ベクトルを満たし得る目標歩容を高い信頼性で生成することができる。   In this way, even if the relationship between the position and orientation of the base body as the integral value of the base body motion speed vector and the state quantity corresponding to the integral value of the control target vector is a non-linear relationship, It is possible to compensate for the influence of the non-linearity and determine the target value of the base body motion speed vector having a high degree of coincidence with the optimal base body motion speed vector value for satisfying the target control target vector. As a result, the target gait that can satisfy the target control target vector can be generated with high reliability.

よって、第1発明によれば、ヤコビアン行列により関連付けられる状態量の間の関係の非線形性の影響を補償し得る適切なヤコビアン行列を逐次決定しつつ、目標制御対象ベクトルを満たし得る移動ロボットの目標歩容を逐次生成することができる。   Therefore, according to the first invention, the target of the mobile robot that can satisfy the target control target vector while sequentially determining an appropriate Jacobian matrix that can compensate for the influence of the nonlinearity of the relationship between the state quantities related by the Jacobian matrix Gait can be generated sequentially.

かかる第1発明では、より具体的な形態として、次のような構成を採用できる。すなわち、前記基体運動速度目標値決定手段は、前記最新値の目標歩容における目標基体位置姿勢と該最新値の目標歩容の1つ前の過去値の目標歩容における目標基体位置姿勢との差分に“0”と“1”との間の範囲内であらかじめ定めた係数Kを乗じてなる補正量を、前記最新値の目標歩容における目標基体位置姿勢に加えることにより該目標基体位置姿勢の将来の瞬時値を推定する手段と、各脚リンク毎に前記最新値の目標歩容における目標脚位置姿勢と該最新値の1つ前の過去値の目標歩容における目標脚位置姿勢との差分に前記係数Kを乗じてなる補正量を、前記最新値の目標歩容における目標脚位置姿勢に加えることにより各脚リンクの目標脚位置姿勢の将来の瞬時値を推定する手段とを備え、前記推定された目標基体位置姿勢の将来の瞬時値と各脚リンクの目標脚位置姿勢の将来の瞬時値とを構成要素とする歩容を、前記移動ロボットの当該起点の動作状態として用いる(第2発明)。   In the first invention, the following configuration can be adopted as a more specific form. In other words, the base body speed target value determination means determines a target base body position / posture in the target gait having the latest value and a target base body position / posture in the target gait having a previous value immediately before the target gait having the latest value. By adding a correction amount obtained by multiplying the difference by a predetermined coefficient K within a range between “0” and “1” to the target base body position / posture in the latest target gait, the target base body position / posture And a target leg position / posture in the target gait of the latest value and a target leg position / posture in the target gait of the previous previous value of the latest value for each leg link. Means for estimating a future instantaneous value of the target leg position / posture of each leg link by adding a correction amount obtained by multiplying the difference by the coefficient K to the target leg position / posture of the latest target gait; Of the estimated target substrate position and posture The gait to future instantaneous value and the components of the target leg position and posture of the instantaneous value and each leg link of years, is used as the operating state of the starting point of the mobile robot (second invention).

この第2発明によれば、上記係数Kを用いることで、既に決定された目標歩容のうちの前記最新値の目標歩容と、その1つ前の過去値の目標歩容とから、最新値の目標歩容に対応する時刻と前記新たな目標歩容に対応する時刻との間の期間内での前記移動ロボットの将来の歩容の瞬時値を、簡易な手法で適切に推定することができる。   According to the second aspect of the invention, by using the coefficient K, the latest gait of the latest gait among the already determined target gaits and the previous target gait of the previous value are updated. The instantaneous value of the future gait of the mobile robot within a period between the time corresponding to the target gait of the value and the time corresponding to the new target gait is appropriately estimated by a simple method. Can do.

前記第1発明又は第2発明において、前記制御対象ベクトルは、種々様々なものを採用することができる。一例として、前記制御対象ベクトルは、例えば、その成分として、少なくとも前記移動ロボットの全体重心の並進運動量ベクトルの各成分と該全体重心周りの角運動量ベクトルの各成分とを含むベクトルであってよい(第3発明)。   In the first invention or the second invention, various kinds of control target vectors can be adopted. As an example, the control target vector may be, for example, a vector including at least each component of the translational momentum vector of the overall center of gravity of the mobile robot and each component of the angular momentum vector around the overall center of gravity of the mobile robot ( Third invention).

ここで、移動ロボットの全体重心の並進運動量ベクトルの時間的変化率と、該全体重心周りの角運動量ベクトルの時間的変化率とは、該移動ロボットに作用する外力を規定するものとなる。従って、制御対象ベクトルの成分に、前記移動ロボットの全体重心の並進運動量ベクトルの各成分と該全体重心周りの角運動量ベクトルの各成分とを含めることで、結果的に、該移動ロボットに作用する外力が所要の外力になるように、該移動ロボットの目標歩容を生成できることとなる。   Here, the temporal change rate of the translational momentum vector around the entire center of gravity of the mobile robot and the temporal change rate of the angular momentum vector around the overall center of gravity define the external force acting on the mobile robot. Therefore, by including each component of the translational momentum vector of the overall center of gravity of the mobile robot and each component of the angular momentum vector around the overall center of gravity in the component of the control target vector, it acts on the mobile robot as a result. The target gait of the mobile robot can be generated so that the external force becomes the required external force.

なお、制御対象ベクトルの成分は、上記第3発明の形態に限られるものではなく、基体の運動に応じて制御可能な任意の種類の状態量を採用することができる。   The component of the control target vector is not limited to that of the third aspect of the present invention, and any kind of state quantity that can be controlled according to the motion of the substrate can be employed.

上記第1〜第3発明では、ロボットが脚式移動ロボットである場合についての発明であるが、上記第1発明の如くヤコビアン行列を決定する技術は、脚式移動ロボットに限らず、設置型の作業ロボット等、種々様々のロボットに対して適用することができる。   In the first to third aspects of the invention, the robot is a legged mobile robot. However, the technology for determining the Jacobian matrix as in the first aspect of the invention is not limited to the legged mobile robot. The present invention can be applied to various types of robots such as work robots.

そこで、本発明では、上記第1発明をより一般化した発明として、本発明のロボットの動作目標生成装置を構築した。この動作目標生成装置は、複数のリンクを複数の関節により連結して構成されたロボットの所定種類の状態量の単位時間当たりの変化量を成分として構成される第1状態量ベクトルと、該第1状態量ベクトルを線形写像してなるベクトルとして表される第2状態量ベクトルとの間の前記線形写像を表すヤコビアン行列を逐次決定しつつ、該ヤコビアン行列を用いて前記ロボットの各関節の変位量を規定する該ロボットの動作目標を逐次決定する装置において、
前記ロボットの新たな動作目標を決定するとき、既に決定された前記ロボットの動作目標のうちの最新値の動作目標に対応する時刻と新たな動作目標に対応する時刻との間の期間内での前記ロボットの将来の動作目標の瞬時値を、前記最新値の動作目標とその直前の1つ以上の過去値の動作目標とに基づいて推定し、その推定した将来の動作目標の瞬時値を、前記第1状態量ベクトルによる前記所定種類の状態量の変化の起点となる前記ロボットの動作状態として用いて、該ロボットの当該起点の動作状態に対応する前記ヤコビアン行列を決定するヤコビアン行列決定手段を備えることを特徴とする(第4発明)。
Therefore, in the present invention, a robot motion target generation apparatus of the present invention is constructed as an invention that is a more generalized version of the first invention. The motion target generation device includes a first state quantity vector configured with a change amount per unit time of a predetermined kind of state quantity of a robot configured by connecting a plurality of links by a plurality of joints, Displacement of each joint of the robot using the Jacobian matrix while sequentially determining a Jacobian matrix representing the linear mapping between the second state quantity vector expressed as a vector obtained by linearly mapping one state quantity vector In an apparatus for sequentially determining an operation target of the robot that defines an amount,
When determining a new motion target of the robot, a time period between a time corresponding to the latest motion target of the robot motion targets already determined and a time corresponding to the new motion target is determined. An instantaneous value of the future motion target of the robot is estimated based on the latest motion target and one or more previous motion targets immediately before, and the estimated future motion target instantaneous value is Jacobian matrix determining means for determining the Jacobian matrix corresponding to the operation state of the starting point of the robot, using the operation state of the robot as a starting point of the change of the predetermined type of state amount by the first state amount vector. It is provided (4th invention).

かかる第4発明によれば、前記ヤコビアン行列決定手段は、前記ロボットの新たな動作目標を決定するとき、その動作目標の決定のために用いるヤコビアン行列を、第1発明と同様の仕方で決定する。すなわち、前記ヤコビアン行列決定手段は、既に決定された前記ロボットの動作目標のうちの最新値の動作目標に対応する時刻と新たな動作目標に対応する時刻との間の期間内での前記ロボットの将来の動作目標の瞬時値を、前記最新値の動作目標とその直前の1つ以上の過去値の動作目標とに基づいて推定し、その推定した将来の動作目標の瞬時値を、前記第1状態量ベクトルによる前記所定種類の状態量の変化の起点となる前記ロボットの動作状態として用いて、該ロボットの当該起点の動作状態に対応する前記ヤコビアン行列を決定する。   According to the fourth invention, when the Jacobian matrix determining means determines a new motion target of the robot, it determines the Jacobian matrix used for determining the motion target in the same manner as in the first invention. . That is, the Jacobian matrix determining means is configured to determine whether or not the robot within the period between the time corresponding to the latest motion target among the motion targets already determined and the time corresponding to the new motion target. An instantaneous value of a future motion target is estimated based on the latest motion target and one or more previous motion targets immediately before, and the estimated future motion target instantaneous value is the first value. The Jacobian matrix corresponding to the operation state of the starting point of the robot is determined using the operation state of the robot as the starting point of the change of the predetermined type of state amount by the state amount vector.

従って、前記最新値の動作目標により規定される前記ロボットの動作状態よりも、将来の予測される動作状態寄りにずらした動作状態を、前記第1状態量ベクトルによる前記所定種類の状態量の変化(換言すれば第1状態量ベクトルの積分値の変化)の起点として、前記ヤコビアン行列が決定される。   Accordingly, a change in the state quantity of the predetermined type by the first state quantity vector is performed by shifting an operation state that is shifted closer to a predicted operation state in the future than the operation state of the robot specified by the latest operation target. The Jacobian matrix is determined as a starting point (in other words, a change in the integral value of the first state quantity vector).

このようにすることで、第1状態量ベクトルの積分値としての前記所定種類の状態量と、前記第2状態量ベクトルの積分値に相当する状態量との間の関係が非線形な関係であっても、該非線形性の影響を補償し、第1状態量ベクトル及び第2状態量ベクトルの一方の目標値から、他方の目標値を高い信頼性で決定できる。ひいては、第1状態量ベクトル及び第2状態量ベクトルの一方の目標値を満たし得る目標歩容を高い信頼性で生成することができることとなる。   By doing so, the relationship between the predetermined type of state quantity as the integral value of the first state quantity vector and the state quantity corresponding to the integral value of the second state quantity vector is a non-linear relationship. However, the influence of the nonlinearity is compensated, and the other target value can be determined with high reliability from one target value of the first state quantity vector and the second state quantity vector. As a result, a target gait that can satisfy one target value of the first state quantity vector and the second state quantity vector can be generated with high reliability.

なお、第4発明において、前記第1状態量ベクトル、第2状態量ベクトルとして、それぞれ、第1発明における基体運動速度ベクトル、制御対象ベクトルを採用した場合には、該第4発明におけるヤコビアン行列の決定処理は、第1発明におけるヤコビアン行列の決定処理と同等になる。   In the fourth invention, when the base motion velocity vector and the control target vector in the first invention are adopted as the first state quantity vector and the second state quantity vector, respectively, the Jacobian matrix in the fourth invention is The determination process is equivalent to the determination process of the Jacobian matrix in the first invention.

本発明の一実施形態における脚式移動ロボットの概略構成を示す図。The figure which shows schematic structure of the leg type mobile robot in one Embodiment of this invention. 図1に示す脚式移動ロボットの制御に関する構成を示す図。The figure which shows the structure regarding control of the leg type mobile robot shown in FIG. 図2に示す歩容生成部の機能を示すブロック図。The block diagram which shows the function of the gait generator shown in FIG. 図3に示す目標脚位置姿勢決定部で決定する目標脚位置姿勢の軌道の例を示す図。The figure which shows the example of the track | orbit of the target leg position and orientation determined by the target leg position and orientation determination unit shown in FIG. 図3に示す基本動作目標値決定部の処理で用いる動力学モデルを模式的に示す図。The figure which shows typically the dynamic model used by the process of the basic operation target value determination part shown in FIG. 図3に示す期待運動速度目標値決定部の処理を説明するためのグラフ。The graph for demonstrating the process of the expected exercise speed target value determination part shown in FIG. 図7(a),(b)はそれぞれ実施例、比較例におけるロボットの基体の姿勢(傾斜角度)の経時変化の例を示すグラフ。FIGS. 7A and 7B are graphs showing examples of changes over time in the posture (tilt angle) of the base of the robot in the examples and comparative examples, respectively. 図8(a),(b)はそれぞれ実施例、比較例におけるロボットの全体重心の並進運動量の誤差の経時変化の例を示すグラフ。FIGS. 8A and 8B are graphs showing examples of changes over time in the translational momentum error of the entire center of gravity of the robot in the example and the comparative example, respectively. 図9(a),(b)はそれぞれ実施例、比較例におけるロボットの全体重心周りの角運動量の誤差の経時変化の例を示すグラフ。FIGS. 9A and 9B are graphs showing examples of changes over time in errors of angular momentum around the entire center of gravity of the robot in the example and the comparative example, respectively.

以下、本発明の一実施形態を図1〜図6を参照して説明する。   Hereinafter, an embodiment of the present invention will be described with reference to FIGS.

図1は、本実施形態で例示する脚式移動ロボットの概略構成を模式的に示している。この脚式移動ロボット1(以下、単にロボット1という)は、基体2と、基体2から延設された左右一対(2つ)の脚リンク3R,3Lとを有する2足移動ロボットである。   FIG. 1 schematically shows a schematic configuration of a legged mobile robot exemplified in this embodiment. The legged mobile robot 1 (hereinafter simply referred to as the robot 1) is a biped mobile robot having a base body 2 and a pair of left and right (two) leg links 3R and 3L extending from the base body 2.

なお、本明細書では、ロボット1の前方に向かって右側の部材又はその部材に関連する量を示す変数に符号“R”を付加し、ロボット1の前方に向かって左側の部材又はその部材に関連する量を示す変数に符号“L”を付加する。ただし、右側、左側を特に区別する必要が無いときは、符号“R”,“L”を省略することがある。   In this specification, a symbol “R” is added to the variable indicating the right member or the amount related to the member toward the front of the robot 1, and the left member or the member toward the front of the robot 1 is added. The code “L” is added to the variable indicating the related quantity. However, when there is no need to distinguish between the right side and the left side, the symbols “R” and “L” may be omitted.

基体2は、ロボット1の上体に相当するリンク部分である。この基体2は、本実施形態では、下側基体10と、この下側基体10の上方に配置された上側基体11との2つの要素リンクから構成されている。下側基体10は、ロボット1の腰部に相当する部分、上側基体11は、ロボット1胸部に相当する部分である。そして、上側基体11は、ヨー軸周り(Z軸周り)の回転自由度を有する基体回旋用関節12を介して下側基体10に連結されている。   The base 2 is a link portion corresponding to the upper body of the robot 1. In this embodiment, the base body 2 is composed of two element links of a lower base body 10 and an upper base body 11 disposed above the lower base body 10. The lower base 10 is a part corresponding to the waist of the robot 1, and the upper base 11 is a part corresponding to the chest of the robot 1. The upper substrate 11 is connected to the lower substrate 10 via a substrate rotation joint 12 having a degree of freedom of rotation about the yaw axis (around the Z axis).

左右一対の脚リンク3R,3Lは、互いに同じ構造のものである。具体的には、各脚リンク3は、下側基体10に股関節部13を介して連結された大腿部14と、この大腿部14に膝関節部15を介して連結された下腿部16と、この下腿部16に足首関節部17を介して連結された足平部18とを、該脚リンク3を構成する複数の要素リンクとして備える。この場合、各脚リンク3の先端部は、足平部18により構成される。   The pair of left and right leg links 3R, 3L have the same structure. Specifically, each leg link 3 includes a thigh 14 connected to the lower base 10 via a hip joint 13, and a crus connected to the thigh 14 via a knee joint 15. 16 and a foot 18 connected to the crus 16 via an ankle joint 17 is provided as a plurality of element links constituting the leg link 3. In this case, the distal end portion of each leg link 3 is constituted by a foot portion 18.

そして、各脚リンク3の股関節部13は、ヨー軸周り、ピッチ軸周り(Y軸周り)及びロール軸周り(X軸周り)の回転自由度をそれぞれ有する3つの関節19,20,21により構成されている。また、膝関節部15は、ピッチ軸まわりの回転自由度を有する関節22により構成されている。また、足首関節部17は、ピッチ軸周り及びロール軸周りの回転自由度をそれぞれ有する2つの関節23,24により構成されている。   The hip joint portion 13 of each leg link 3 is composed of three joints 19, 20, and 21 having degrees of freedom of rotation around the yaw axis, the pitch axis (around the Y axis), and the roll axis (around the X axis), respectively. Has been. The knee joint portion 15 is constituted by a joint 22 having a degree of freedom of rotation around the pitch axis. The ankle joint portion 17 includes two joints 23 and 24 each having a degree of freedom of rotation about the pitch axis and the roll axis.

従って、各脚リンク3の先端部である足平部18は、本実施形態では、下側基体10に対して、6自由度の運動自由度を有する。なお、上記の説明における各脚リンク3の関節19〜24の回転軸(ロール軸、ピッチ軸、ヨー軸)は、脚リンク3を上下方向に延在させた状態での回転軸を示している。   Therefore, the foot 18 which is the tip of each leg link 3 has six degrees of freedom of movement with respect to the lower base body 10 in this embodiment. Note that the rotation axes (roll axis, pitch axis, yaw axis) of the joints 19 to 24 of each leg link 3 in the above description indicate the rotation axes in a state where the leg link 3 extends in the vertical direction. .

以上が、本実施形態のロボット1の基本構造である。かかる構成のロボット1は、各脚リンク3の6個の関節19〜24を駆動することによって、各脚リンク3の空間的な運動が行なわれ、この運動によって床上を移動することが可能となっている。例えば、人の歩行動作あるいは走行動作と同様の形態(歩容)で脚リンク3R,3Lを運動させることによって、ロボット1の歩行動作あるいは走行動作を行なうことが可能である。   The above is the basic structure of the robot 1 of the present embodiment. In the robot 1 having such a configuration, by driving the six joints 19 to 24 of each leg link 3, spatial movement of each leg link 3 is performed, and it is possible to move on the floor by this movement. ing. For example, it is possible to perform the walking motion or the traveling motion of the robot 1 by moving the leg links 3R, 3L in the same form (gait) as the human walking motion or the traveling motion.

また、本実施形態では、基体2を構成する下側基体10と、上側基体11とが関節12を介して連結されているので、この関節12を駆動することによって、基体2をその体幹軸に相当する関節12の回転軸周りに捩じることが可能となっている。   In the present embodiment, the lower base body 10 and the upper base body 11 constituting the base body 2 are connected via the joint 12, so that the base body 2 is moved to its trunk axis by driving the joint 12. It is possible to twist around the rotation axis of the joint 12 corresponding to.

補足すると、本実施形態のロボット1は、上記基体2、及び脚リンク3R,3Lだけでなく、例えば上側基体11の両側部から延設された腕リンクや、該上側基体11の上端部に搭載した頭部等を備えていてもよい。また、基体2の関節12を省略し、下側基体10及び上側基体11を一体に構成してもよい。   Supplementally, the robot 1 according to the present embodiment is mounted not only on the base 2 and the leg links 3R and 3L but also on arm links extending from both sides of the upper base 11 and the upper end of the upper base 11, for example. The head may be provided. Further, the joint 12 of the base 2 may be omitted, and the lower base 10 and the upper base 11 may be configured integrally.

図1での図示は省略したが、ロボット1には、図2に示すように、上記の各関節をそれぞれ回転駆動する関節アクチュエータ30と、ロボット1の動作制御を行なう制御処理ユニット31とが搭載されている。   Although not shown in FIG. 1, the robot 1 is equipped with a joint actuator 30 that rotationally drives each of the joints and a control processing unit 31 that controls the operation of the robot 1, as shown in FIG. 2. Has been.

関節アクチュエータ30は、例えば電動モータあるいは油圧アクチュエータにより構成されたものであり、各関節毎に備えられている。この場合、各関節アクチュエータ30による各関節の駆動機構は公知の構造のものでよい。また、関節アクチュエータ30は、回転型のアクチュエータに限らず、直動型のアクチュエータであってもよい。   The joint actuator 30 is constituted by, for example, an electric motor or a hydraulic actuator, and is provided for each joint. In this case, the drive mechanism of each joint by each joint actuator 30 may have a known structure. The joint actuator 30 is not limited to a rotary actuator, and may be a direct acting actuator.

制御処理ユニット31は、CPU、RAM、ROM、インターフェース回路等を含む電子回路ユニットである。この制御処理ユニット31は、実装されるプログラム等により実現される主要な機能として、ロボット1の目標歩容を逐次生成する歩容生成部32と、該目標歩容に応じてロボット1の各関節の変位量(回転角)を関節アクチュエータ30を介して制御する関節アクチュエータ制御部33とを備える。   The control processing unit 31 is an electronic circuit unit including a CPU, a RAM, a ROM, an interface circuit, and the like. The control processing unit 31 includes a gait generator 32 that sequentially generates a target gait of the robot 1 and main joint functions of the robot 1 according to the target gait. And a joint actuator control unit 33 that controls the amount of displacement (rotation angle) through the joint actuator 30.

歩容生成部32は、本発明の装置としての機能を制御処理ユニット31に付与するものである。この歩容生成部32は、ロボット1の目標歩容の構成要素として、各脚リンク3の先端部を構成する足平部18の空間的な位置及び姿勢の目標値である目標脚位置姿勢と、基体2の空間的な位置及び姿勢の目標値である目標基体位置姿勢とを逐次決定する処理を後述する如く実行する。   The gait generator 32 provides the control processing unit 31 with the function of the apparatus of the present invention. This gait generator 32 is a target leg position / posture which is a target value of the spatial position and posture of the foot 18 constituting the tip of each leg link 3 as a component of the target gait of the robot 1. Then, the process of sequentially determining the target substrate position and orientation, which is the target value of the spatial position and orientation of the substrate 2, is executed as described later.

この場合、本実施形態では、基体2は関節12を備えるため、上側基体11を下側基体10に対して関節12の回転軸周りに捩じることが可能となっている。このため、本実施形態における目標基体位置姿勢は、より詳しくは、下側基体10の空間的な位置及び姿勢の目標値と、上側基体11の下側基体10に対する捩じり角(関節12の変位量)の目標値とから構成される。   In this case, in this embodiment, since the base body 2 includes the joint 12, the upper base body 11 can be twisted around the rotation axis of the joint 12 with respect to the lower base body 10. Therefore, more specifically, the target base body position / posture in the present embodiment is the target value of the spatial position and posture of the lower base 10 and the torsion angle (the joint 12 of the joint 12) with respect to the lower base 10 of the upper base 11. Displacement) and a target value.

また、各脚リンク3の足平部18の位置は、より詳しくは、該足平部18のあらかじめ定めた代表点の位置であり、該足平部18の姿勢は、該足平部18の空間的な向きを意味する。このことは、下側基体10の位置及び姿勢についても同様である。   More specifically, the position of the foot 18 of each leg link 3 is the position of a predetermined representative point of the foot 18, and the posture of the foot 18 is the position of the foot 18. Means spatial orientation. The same applies to the position and posture of the lower base 10.

これらの位置及び姿勢は、ロボット1の動作環境の床面に対して固定された慣性座標系であるグローバル座標系で見た位置及び姿勢として記述される。このグローバル座標系は、任意に設計的に定めたものでよい。一例としては、例えばロボット1の両脚リンク3R,3Lのうちの支持脚(遊脚としての一方の脚リンク3の足平部18を空中で動かすときにロボット1の自重を支えることとなる他方の脚リンク3)の足平部18の接地時における該足平部18の直下(もしくはその近辺)の床面上に原点を有し、且つ、該足平部18の前後方向の水平軸及び左右方向の水平軸をそれぞれX軸、Y軸とし、鉛直軸をZ軸とする3軸直交座標系(所謂、支持脚座標系)をグローバル座標系として用いることができる。   These positions and postures are described as positions and postures viewed in a global coordinate system, which is an inertial coordinate system fixed with respect to the floor surface of the operating environment of the robot 1. This global coordinate system may be arbitrarily determined in design. As an example, for example, the supporting leg of the leg links 3R, 3L of the robot 1 (the other leg that supports the weight of the robot 1 when the foot 18 of the leg link 3 as a free leg is moved in the air). The leg link 3) has an origin on the floor surface directly below (or in the vicinity of) the foot 18 when the foot 18 is in contact with the ground, and the foot 18 has a horizontal axis in the front-rear direction and left and right A three-axis orthogonal coordinate system (so-called support leg coordinate system) in which the horizontal axis in each direction is the X axis and the Y axis, and the vertical axis is the Z axis can be used as the global coordinate system.

本実施形態では、便宜上、グローバル座標系として上記支持脚座標系が用いられるものとする。そして、特にことわらない限り、X軸、Y軸、Z軸は、上記支持脚座標系の座標軸を意味するものとする。   In the present embodiment, for the sake of convenience, the support leg coordinate system is used as the global coordinate system. Unless otherwise specified, the X-axis, Y-axis, and Z-axis mean coordinate axes in the support leg coordinate system.

補足すると、基体2を構成する下側基体10及び上側基体11の一方の基体10又は11の空間的な位置及び姿勢と、関節12の変位量とが決まれば、他方の基体11又は10の空間的な位置及び姿勢も一義的に決まる。従って、目標基体位置姿勢は、上側基体11の空間的な位置及び姿勢の目標値と、関節12の変位量の目標値との組により構成されていてもよい。   Supplementally, if the spatial position and posture of one base 10 or 11 of the lower base 10 and the upper base 11 constituting the base 2 and the displacement amount of the joint 12 are determined, the space of the other base 11 or 10 is determined. The specific position and posture are also uniquely determined. Therefore, the target base body position / posture may be configured by a set of a target value of the spatial position and posture of the upper base body 11 and a target value of the displacement amount of the joint 12.

関節アクチュエータ制御部33は、各関節の実際の変位量を、歩容生成部32により決定された目標歩容により規定されるロボット1の各関節の変位量の目標値に追従させるように、各関節に対応する関節アクチュエータ30を制御する。   The joint actuator control unit 33 makes the actual displacement amount of each joint follow the target value of the displacement amount of each joint of the robot 1 defined by the target gait determined by the gait generation unit 32. The joint actuator 30 corresponding to the joint is controlled.

この場合、各関節の実際の変位量(回転角)が、図示しないロータリエンコーダ等の変位量センサにより検出される。そして、関節アクチュエータ制御部33は、各関節の実際の変位量の検出値と目標値との偏差に応じて、フィードバック制御により関節アクチュエータ30の駆動力を制御する。   In this case, the actual displacement amount (rotation angle) of each joint is detected by a displacement amount sensor such as a rotary encoder (not shown). The joint actuator controller 33 controls the driving force of the joint actuator 30 by feedback control according to the deviation between the detected value of the actual displacement amount of each joint and the target value.

以降、制御処理ユニット31の歩容生成部32の処理を詳細に説明する。   Hereinafter, the process of the gait generator 32 of the control processing unit 31 will be described in detail.

図3に示すように、歩容生成部32は、目標歩容を生成するための主要な処理部として、目標脚位置姿勢を逐次決定する目標脚位置姿勢決定部41と、各脚リンク3の足平部18の位置及び姿勢以外のロボット1の所定種類の状態量に関する基本の動作目標を逐次決定する基本動作目標値決定部42とを備える。   As shown in FIG. 3, the gait generator 32 is a main processing unit for generating a target gait, a target leg position / posture determination unit 41 that sequentially determines a target leg position / posture, and each leg link 3. A basic motion target value determining unit that sequentially determines a basic motion target related to a predetermined type of state quantity of the robot 1 other than the position and posture of the foot 18.

この場合、基本動作目標値決定部42が決定する動作目標は、ロボット1の全体重心の位置の基本の目標値である基本目標重心位置↑Xg_cmd1と、ロボット1の全体の並進運動量ベクトル(=全体重心の並進運動量ベクトル)の基本の目標値である基本目標並進運動量ベクトル↑P_cmd1と、ロボット1の全体重心周りの全体の角運動量ベクトルの基本の目標値である基本目標角運動量ベクトル↑L_cmd1と、基体2の位置及び姿勢の基本の目標値である基本目標基体位置姿勢とから構成される。   In this case, the motion target determined by the basic motion target value determination unit 42 is the basic target center-of-gravity position ↑ Xg_cmd1, which is the basic target value of the position of the overall center of gravity of the robot 1, and the overall translational momentum vector (= total of the robot 1). Basic target translational momentum vector ↑ P_cmd1, which is a basic target value of the translational momentum vector of the center of gravity), and basic target angular momentum vector ↑ L_cmd1, which is a basic target value of the overall angular momentum vector around the entire center of gravity of the robot 1, It consists of a basic target base body position / posture which is a basic target value of the position and posture of the base body 2.

なお、基本目標重心位置↑Xg_cmd1、基本目標並進運動量ベクトル↑P_cmd1、基本目標角運動量ベクトル↑L_cmd1は、それぞれ、グローバル座標系の各座標成分を構成要素とする3成分のベクトル(縦ベクトル)である。本実施形態の説明では、“↑”は、ベクトル(縦ベクトル)を表記する記号として用いる。   Note that the basic target center-of-gravity position ↑ Xg_cmd1, the basic target translational momentum vector ↑ P_cmd1, and the basic target angular momentum vector ↑ L_cmd1 are each a three-component vector (vertical vector) having each coordinate component of the global coordinate system as a component. . In the description of this embodiment, “↑” is used as a symbol representing a vector (vertical vector).

また、歩容生成部32は、基本動作目標値決定部42により決定する基本の動作目標のうちの基本目標並進運動量ベクトル↑P_cmd1を修正してなる修正後基本目標並進運動量ベクトル↑P_cmd2を逐次決定する基本目標並進運動量修正部43と、基体2の位置及び姿勢の単位時間当たりの変化量(すなわち変化速度)の基本の目標値である基本目標基体運動速度ベクトル↑Vb_cmd1を逐次決定する基本目標基体運動速度決定部44と、修正後基本目標並進運動量ベクトル↑P_cmd2、基本目標角運動量ベクトル↑L_cmd1及び基本目標基体運動速度ベクトル↑Vb_cmd1を目標として、基体2の位置及び姿勢の単位時間当たりの変化量の目標値である目標基体運動速度ベクトル↑Vb_cmd2を逐次決定する基体運動速度目標値決定部45とを備える。   Further, the gait generator 32 sequentially determines a corrected basic target translational momentum vector ↑ P_cmd2 obtained by correcting the basic target translational momentum vector ↑ P_cmd1 among the basic motion targets determined by the basic motion target value determination unit 42. Basic target translational momentum correcting unit 43, and a basic target basic body that sequentially determines a basic target basic body motion speed vector ↑ Vb_cmd1 that is a basic target value of a change amount (ie, a change speed) of the position and orientation of the base body 2 per unit time The amount of change per unit time of the position and posture of the base body 2 with the movement speed determination unit 44, the corrected basic target translational momentum vector ↑ P_cmd2, the basic target angular momentum vector ↑ L_cmd1, and the basic target body movement speed vector ↑ Vb_cmd1 And a base body motion speed target value determining unit 45 for sequentially determining a target base body motion speed vector ↑ Vb_cmd2 that is a target value of.

上記基本目標基体運動速度ベクトル↑Vb_cmd1及び目標基体運動速度ベクトル↑Vb_cmd2は、それぞれ、グローバル座標系で見た基体2の代表点(本実施形態では下側基体10の代表点)の並進移動速度の各座標軸成分と、グローバル座標系で見た基体2の姿勢(本実施形態では下側基体10の姿勢)の各座標軸周りの角速度成分と、基体2の関節12の変位量の時間的変化率(角速度)とを並べた7成分のベクトル(縦ベクトル)である。   The basic target substrate motion velocity vector ↑ Vb_cmd1 and the target substrate motion velocity vector ↑ Vb_cmd2 are respectively the translational movement speeds of the representative points of the substrate 2 (representative points of the lower substrate 10 in this embodiment) viewed in the global coordinate system. Each coordinate axis component, an angular velocity component around each coordinate axis of the posture of the base body 2 (in this embodiment, the posture of the lower base body 10) viewed in the global coordinate system, and a temporal change rate of the displacement amount of the joint 12 of the base body 2 ( 7-component vector (vertical vector) arranged with (angular velocity).

また、目標基体運動速度ベクトル↑Vb_cmd2は、換言すれば、歩容生成部32が逐次決定する目標歩容における目標基体位置姿勢の時間的変化率である。   In other words, the target base body motion speed vector ↑ Vb_cmd2 is a temporal change rate of the target base body position / posture in the target gait sequentially determined by the gait generator 32.

歩容生成部32はさらに、基体運動速度目標値決定部45により逐次決定される目標基体運動速度ベクトル↑Vb_cmd2を積分する(↑Vb_cmd2の各成分を積分する)ことにより目標基体位置姿勢を逐次決定する目標基体位置姿勢決定部46と、目標基体位置姿勢及び両脚リンク3R,3Lの目標脚位置姿勢を構成要素とする目標歩容により規定されるロボット1の全体重心の位置である目標歩容上重心位置↑Xg_cmd2を逐次算出する目標歩容上重心位置算出部47とを備える。   Further, the gait generator 32 sequentially determines the target base body position / posture by integrating the target base body speed vector ↑ Vb_cmd2 sequentially determined by the base body speed target value determining section 45 (integrating each component of ↑ Vb_cmd2). On the target gait, which is the position of the overall center of gravity of the robot 1 defined by the target gait having the target base body position / posture determination unit 46 and the target base body position / posture and the target leg position / posture of the both leg links 3R, 3L as constituent elements. And a gravity center position calculation unit 47 on the target gait that sequentially calculates the gravity center position ↑ Xg_cmd2.

上記目標歩容上重心位置↑Xg_cmd2は、基本目標重心位置↑Xg_cmd1と同様に、グローバル座標系の各座標成分を構成要素とする3成分のベクトル(縦ベクトル)である。   The center centroid position ↑ Xg_cmd2 in the target gait is a three-component vector (vertical vector) having each coordinate component in the global coordinate system as a constituent element, like the basic target centroid position ↑ Xg_cmd1.

本実施形態では、歩容生成部32はさらに、目標歩容を構成する目標基体位置姿勢及び両脚リンク3R,3Lの目標脚位置姿勢を用いて、ロボット1の各関節の変位量の目標値である目標関節変位量を逐次決定する目標関節変位量決定部48を備えている。ただし、この目標関節変位量決定部48は、前記関節アクチュエータ制御部33に備えるようにしてもよい。   In the present embodiment, the gait generator 32 further uses the target base body position / posture constituting the target gait and the target leg position / posture of the both leg links 3R, 3L as a target value of the displacement amount of each joint of the robot 1. A target joint displacement amount determination unit 48 that sequentially determines a certain target joint displacement amount is provided. However, the target joint displacement amount determination unit 48 may be provided in the joint actuator control unit 33.

歩容生成部32は、以上の各処理部41〜48の処理を所定の演算処理周期で逐次実行することにより、目標歩容の構成要素である目標基体位置姿勢と、両脚リンク3R,3Lの目標脚位置姿勢とを逐次決定すると共に、該目標歩容に対応する各関節の目標関節変位量を逐次決定する。   The gait generator 32 sequentially executes the processing of each of the above-described processing units 41 to 48 at a predetermined calculation processing cycle, so that the target base body position / posture, which is a component of the target gait, and the both leg links 3R, 3L. The target leg position / posture are sequentially determined, and the target joint displacement amount of each joint corresponding to the target gait is sequentially determined.

以下に、歩容生成部32の各処理部41〜48の処理の詳細を含めて、歩容生成部32の処理の全体を説明する。なお、本実施形態では、主に、ロボット1の歩行動作又は走行動作による移動を行なうための目標歩容を生成する場合を一例として歩容生成部32の処理を説明する。   Below, the whole process of the gait generator 32 will be described, including details of the processes of the processing units 41 to 48 of the gait generator 32. In the present embodiment, the process of the gait generator 32 will be mainly described by taking as an example the case of generating a target gait for performing movement by the walking motion or running motion of the robot 1.

歩容生成部32は、各演算処理周期において、まず、目標脚位置姿勢決定部41及び基本動作目標値決定部42の処理を実行する。   The gait generator 32 first performs the processing of the target leg position / posture determination unit 41 and the basic motion target value determination unit 42 in each calculation processing cycle.

本実施形態では、目標脚位置姿勢決定部41及び基本動作目標値決定部42には、脚リンク3R,3Lのうちの遊脚の着地が行なわれる毎に、次回の遊脚を含めて複数歩分の遊脚の足平部18の目標とする着地位置及び着地姿勢である目標着地位置姿勢と、目標とする着地時刻である目標着地時刻とが与えられるようになっている。なお、目標着地時刻の代わりに、ロボット1の1歩分の期間(歩容周期)の目標時間を用いててもよい。   In the present embodiment, the target leg position / posture determination unit 41 and the basic motion target value determination unit 42 include a plurality of steps including the next free leg each time the free leg of the leg links 3R and 3L is landed. A target landing position and posture that is a target landing position and landing posture of the foot 18 of the free leg and a target landing time that is a target landing time are given. Instead of the target landing time, a target time for a period of one step (gait cycle) of the robot 1 may be used.

上記目標着地位置姿勢及び目標着地時刻は、ロボット1の移動計画や、操縦装置による移動指令に基づいて決定される。その決定処理は、制御処理ユニット31で行なうようにしてもよいことはもちろんであるが、ロボット1の外部のサーバで行うようにしてもよい。   The target landing position / posture and the target landing time are determined based on a movement plan of the robot 1 and a movement command from the control device. The determination process may be performed by the control processing unit 31, but may be performed by a server outside the robot 1.

そして、目標脚位置姿勢決定部41は、与えられた目標着地位置姿勢及び目標着地時刻に応じて、各脚リンク3の足平部18の離床直前の接地状態での位置及び姿勢から次の目標着地位置姿勢に至る位置及び姿勢の目標軌道(足平部18の位置及び姿勢の目標値の時系列パターン)を決定し、その目標軌道の瞬時値として各脚リンク3の目標脚位置姿勢を逐次決定する。   Then, the target leg position / posture determination unit 41 determines the next target landing position / posture from the position and posture of the foot 18 of each leg link 3 in the ground contact state immediately before leaving the floor according to the given target landing position / posture and the target landing time. The target trajectory of the position and posture to reach the landing position / posture (time series pattern of the target value of the position and posture of the foot 18) is determined, and the target leg position / posture of each leg link 3 is sequentially determined as the instantaneous value of the target trajectory. decide.

この場合、各脚リンク3の足平部18の位置及び姿勢の目標軌道(目標脚位置姿勢の軌道)は、該脚リンク3が遊脚となる期間で、例えば図4に例示するようなパターンで該足平部18の目標位置及び目標姿勢が連続的に変化しつつ、該足平部18が空中を移動するように決定される。この目標軌道の始端の足平部18の位置及び姿勢は、離床前の着地動作時の目標着地位置姿勢に相当し、該目標軌道の終端の足平部18の位置及び姿勢は、次の目標着地位置姿勢に相当する。   In this case, the target trajectory (the trajectory of the target leg position / posture) of the position and posture of the foot 18 of each leg link 3 is a period in which the leg link 3 is a free leg, for example, a pattern as illustrated in FIG. Thus, it is determined that the foot 18 moves in the air while the target position and the target posture of the foot 18 change continuously. The position and posture of the foot 18 at the start of the target track correspond to the target landing position and posture at the time of landing before leaving the floor, and the position and posture of the foot 18 at the end of the target track are the next target. This corresponds to the landing position / posture.

なお、各脚リンク3の足平部18の接地中においては、該脚リンク3の位置及び姿勢の目標軌道は、該脚リンク3の足平部18の位置及び姿勢を一定もしくはほぼ一定に保つように決定してもよいことはもちろんであるが、該足平部18の接地箇所が、該足平部18の踵寄りの箇所から爪先寄りの箇所に移行していくように決定してもよい。   During the ground contact of the foot portion 18 of each leg link 3, the target trajectory of the position and posture of the leg link 3 keeps the position and posture of the foot portion 18 of the leg link 3 constant or substantially constant. Of course, it may be determined in such a way that the ground contact portion of the foot portion 18 may be determined so as to shift from the portion closer to the heel of the foot portion 18 to the portion closer to the toe. Good.

また、各脚リンク3の足平部18の空中での姿勢の軌道は、該足平部18の姿勢を一定もしくはほぼ一定に保つように決定してもよい。   Further, the trajectory of the foot portion 18 of each leg link 3 in the air may be determined so that the posture of the foot portion 18 is kept constant or substantially constant.

基本動作目標値決定部42は、与えられた目標着地位置姿勢及び目標着地時刻に応じて(あるいは、各脚リンク3の足平部18の接地中の目標脚位置姿勢の軌道に応じて)、ZMP(Zero Moment Point)の目標位置である目標ZMPの軌道を決定する。   The basic motion target value determination unit 42 according to the given target landing position / posture and target landing time (or according to the trajectory of the target leg position / posture during contact of the foot 18 of each leg link 3). The trajectory of the target ZMP which is the target position of ZMP (Zero Moment Point) is determined.

この場合、目標ZMPの軌道は、目標ZMPが所謂、支持多角形内でその境界に近づき過ぎずないような領域(ZMPの存在許容領域)に位置し、且つ、不連続的な変化を生じないように設定される。このような目標ZMPの軌道の設定手法としては、例えば特許第3674789号にて本願出願人が説明した手法等、公知の手法を用いることができる。   In this case, the trajectory of the target ZMP is located in a region where the target ZMP is not so close to the boundary in the so-called support polygon (ZMP existence allowable region), and no discontinuous change occurs. Is set as follows. As a method for setting the trajectory of the target ZMP, a known method such as the method described by the present applicant in Japanese Patent No. 3675789 can be used.

そして、基本動作目標値決定部42は、目標脚位置姿勢決定部41により決定された目標脚位置姿勢の時系列と、ロボット1の動力学(ロボット1に作用する外力(ここでは床反力)とロボット1の運動との関係)を表すものとしてあらかじめ定められた動力学モデルとを用いて、該動力学モデル上で目標ZMPを満足し得る基体2の位置及び姿勢が前記基本目標基体位置姿勢として逐次決定される。   Then, the basic motion target value determination unit 42 determines the time series of the target leg position / posture determined by the target leg position / posture determination unit 41 and the dynamics of the robot 1 (external force acting on the robot 1 (here, floor reaction force)). The position and posture of the base body 2 that can satisfy the target ZMP on the dynamic model using the predetermined dynamic model representing the relationship between the robot and the motion of the robot 1). Are sequentially determined.

ここで、目標ZMPを満足し得る基体2の位置及び姿勢というのは、上記動力学モデルにおいて、該基体2の位置及び姿勢の時系列と、両脚リンク3R,3Lの目標脚位置姿勢の時系列とにより規定されるロボット1の全体の運動によって発生する慣性力と該ロボット1に作用する重力との合力によって、目標ZMP周りに発生するモーメントの水平軸周り成分(X軸周り成分及びY軸周り成分)がゼロになるような、基体2の位置及び姿勢を意味する。   Here, the position and posture of the base body 2 that can satisfy the target ZMP are the time series of the position and posture of the base body 2 and the time series of the target leg position and posture of the both leg links 3R and 3L in the dynamic model. The component around the horizontal axis (the component around the X axis and the component around the Y axis) of the moment generated around the target ZMP by the resultant force of the inertial force generated by the entire motion of the robot 1 defined by the above and the gravity acting on the robot 1 It means the position and posture of the substrate 2 such that the component) becomes zero.

上記動力学モデルとしては、目標ZMPを満足し得る基体2の位置及び姿勢を比較的容易に算出し得るように、線形性の高い動力学モデルが使用される。例えば、特許第3674789号にて本願出願人が説明した動力学モデル(特許第3674789号の図10に示す動力学モデル)が、基本動作目標値決定部42の処理における動力学モデルとして採用することができる。   As the dynamic model, a highly linear dynamic model is used so that the position and posture of the substrate 2 that can satisfy the target ZMP can be calculated relatively easily. For example, the dynamic model (the dynamic model shown in FIG. 10 of Japanese Patent No. 3675789) described by the applicant of the present application in Japanese Patent No. 3675789 is adopted as the dynamic model in the processing of the basic motion target value determining unit. Can do.

該動力学モデルは、図5に示すように、各脚リンク3R,3Lと基体2(ロボット1の上体)とにそれぞれ対応する3つの質点3mR,3mL,2mと、基体2の姿勢(詳しくは、下側基体10のX軸周り及びY軸周りの姿勢)の変化に伴う慣性力モーメントを発生するフライホイールFH(質量を持たずにイナーシャを有するフライホイール)とを備える動力学モデルである。そして、この場合、基本目標基体位置姿勢は、特許第3674789号にて本願出願人が説明した目標上体位置姿勢の決定手法と同様の手法によって、決定することができる。   As shown in FIG. 5, the dynamic model includes three mass points 3mR, 3mL, 2m corresponding to the leg links 3R, 3L and the base body 2 (the upper body of the robot 1), and the posture of the base body 2 (in detail). Is a dynamic model including a flywheel FH (flywheel having inertia without a mass) that generates an inertial force moment accompanying changes in the lower base body 10 around the X axis and the Y axis. . In this case, the basic target base body position / posture can be determined by a method similar to the target body position / posture determination method described by the applicant of the present application in Japanese Patent No. 3675789.

このようにすることにより、上記動力学モデル上において、ZMPが支持多角形内に収まり、また、ロボット1に作用する床反力のうちの摩擦力成分が適切な許容範囲内に収まる、というような所要の動力学的な制約条件が満たされるように、基本目標基体位置姿勢を決定できることとなる。   By doing so, on the dynamic model, the ZMP falls within the support polygon, and the frictional force component of the floor reaction force acting on the robot 1 falls within an appropriate allowable range. Therefore, the basic target base body position / posture can be determined so as to satisfy the required dynamic constraints.

なお、本実施形態では、基本目標基体位置姿勢のうち、基体2の関節12の変位量の目標値は、例えば、上側基体11が関節12の回転軸周りに回転することで目標ZMP周りに発生する鉛直軸周りのモーメントが、各質点3mR,3mL,2mの並進運動によって目標ZMP周りに発生する鉛直軸周りのモーメントを打ち消すように決定される。   In the present embodiment, of the basic target base body position and orientation, the target value of the displacement amount of the joint 12 of the base body 2 is generated around the target ZMP as the upper base body 11 rotates around the rotation axis of the joint 12, for example. The moment around the vertical axis is determined so as to cancel out the moment around the vertical axis generated around the target ZMP by the translational motion of each of the mass points 3mR, 3mL, and 2m.

ただし、関節12の変位量の目標値は、例えば一定値であってもよく、あるいは、一定のパターンで周期的に(脚リンク3R,3Lの運動に同期した周期で)変化するように設定されていてもよい。   However, the target value of the displacement amount of the joint 12 may be a fixed value, for example, or is set to change periodically (with a period synchronized with the movement of the leg links 3R, 3L) in a fixed pattern. It may be.

本実施形態では、基本動作目標値決定部42は、さらに、上記の如く決定した基本目標基体位置姿勢の時系列と、目標脚位置姿勢決定部41により決定された目標脚位置姿勢の時系列とから、上記動力学モデルを用いて、該動力学モデル上でのロボット1の全体重心の位置と、該全体重心の並進運動量ベクトルと、該全体重心周りの角運動量ベクトルとを、それぞれ、前記基本目標重心位置↑Xg_cmd1、基本目標並進運動量ベクトル↑P_cmd1、基本目標角運動量ベクトル↑L_cmd1として算出する。   In the present embodiment, the basic motion target value determination unit 42 further includes a time series of the basic target base body position / posture determined as described above, and a time series of the target leg position / posture determined by the target leg position / posture determination unit 41. From the dynamic model, the position of the total center of gravity of the robot 1 on the dynamic model, the translational momentum vector of the total center of gravity, and the angular momentum vector around the total center of gravity, The target center of gravity position ↑ Xg_cmd1, the basic target translational momentum vector ↑ P_cmd1, and the basic target angular momentum vector ↑ L_cmd1 are calculated.

この場合、基本目標重心位置↑Xg_cmd1は、各演算処理周期における脚リンク3R,3Lのそれぞれの目標脚位置姿勢と基本目標基体位置姿勢とにより規定される質点3mR,3mL,2mの全体の重心の位置(位置ベクトル)として算出される。すなわち、脚リンク3R,3Lのそれぞれの目標脚位置姿勢と基本目標基体位置姿勢とにより規定される各質点3mR,3mL,2mの位置ベクトルに、各質点3mR,3mL,2mの質量を乗じてなるベクトルの総和のベクトルを、ロボット1の全体の質量(=質点3mR,3mL,2mの総和の質量)により除算してなるベクトルが、基本目標重心位置↑Xg_cmd1として算出される。   In this case, the basic target center-of-gravity position ↑ Xg_cmd1 is the total center of gravity of the mass points 3mR, 3mL, 2m defined by the target leg position / posture of the leg links 3R, 3L and the basic target base body position / posture in each calculation processing cycle. Calculated as a position (position vector). That is, the position vector of each mass point 3mR, 3mL, 2m defined by the target leg position / posture of each leg link 3R, 3L and the basic target base body position / posture is multiplied by the mass of each mass point 3mR, 3mL, 2m. A vector obtained by dividing the vector sum vector by the total mass of the robot 1 (= mass mass of the mass points 3 mR, 3 mL, 2 m) is calculated as the basic target center-of-gravity position ↑ Xg_cmd1.

また、基本目標並進運動量ベクトル↑P_cmd1は、脚リンク3R,3Lのそれぞれの目標脚位置姿勢の時系列と基本目標基体位置姿勢の時系列とにより規定される質点3mR,3mL,2mの全体の重心の移動速度ベクトル(=↑Xg_cmd1の時間的変化率)にロボット1の全体の質量を乗じることにより算出される。すなわち、質点3mR,3mL,2mの全体の重心の並進運動量ベクトルが、基本目標並進運動量ベクトル↑P_cmd1として算出される。   The basic target translational momentum vector ↑ P_cmd1 is the center of gravity of the mass points 3mR, 3mL, and 2m defined by the time series of the target leg position and posture of the leg links 3R and 3L and the time series of the basic target body position and posture. Is calculated by multiplying the movement speed vector (= ↑ Xg_cmd1 with time) by the total mass of the robot 1. That is, the translational momentum vector of the entire center of gravity of the mass points 3mR, 3mL, and 2m is calculated as the basic target translational momentum vector ↑ P_cmd1.

また、基本目標角運動量ベクトル↑L_cmd1は、脚リンク3R,3Lのそれぞれの目標脚位置姿勢の時系列により規定される質点3mR,3mLのそれぞれの並進運動量ベクトルが、質点3mR,3mL,2mの全体の重心の周りに発生する角運動量ベクトルと、基本目標基体位置姿勢の時系列により規定される質点2mの並進運動量ベクトルが、質点3mR,3mL,2mの全体の重心の周りに発生する角運動量ベクトルと、基本目標基体位置姿勢のうちの基体2の姿勢の時系列により規定されるフライホイールFHの回転運動によって発生する角運動量ベクトルと、下側基体10に対する上側基体11の回転運動(関節12の回転軸周りの回転運動)によって発生する角運動量ベクトルとの総和の角運動量ベクトルとして算出される。   The basic target angular momentum vector ↑ L_cmd1 is the translational momentum vector of the mass points 3mR and 3mL defined by the time series of the target leg position and posture of the leg links 3R and 3L, and the mass points 3mR, 3mL and 2m as a whole. Angular momentum vector generated around the center of gravity of the entire mass point 3mR, 3mL, 2m, the angular momentum vector generated around the center of gravity of the material and the translational momentum vector of the mass point 2m defined by the time series of the basic target body position and orientation And the angular momentum vector generated by the rotational motion of the flywheel FH defined by the time series of the posture of the base body 2 in the basic target base body position / posture, and the rotational movement of the upper base body 11 relative to the lower base body 10 (of the joint 12). It is calculated as a sum of angular momentum vectors with the angular momentum vector generated by the rotational motion around the rotational axis.

補足すると、ロボット1が腕リンク等、基体2に対して可動な他のリンクを備える場合には、基本動作目標値決定部42は、当該他のリンクの各関節の変位量を規定する目標値(例えば、当該他のリンクの先端部の目標位置及び目標姿勢、あるいは、当該他のリンクの先端部の各関節の変位量の目標値等)も決定する。   Supplementally, when the robot 1 includes another link that is movable with respect to the base 2 such as an arm link, the basic motion target value determination unit 42 sets a target value that defines the displacement amount of each joint of the other link. (For example, the target position and target posture of the tip of the other link or the target value of the displacement amount of each joint of the tip of the other link) is also determined.

この場合、ロボット1の歩行動作又は走行動作を行なう目標歩容の生成処理では、当該他のリンク(例えば腕リンク)の各関節の変位量を規定する目標値は、例えば、基体2のうちの上側基体11に対する当該他のリンクの各部の相対的な位置及び姿勢を定常的に一定に保持するような目標値でよい。このようにした場合には、上記動力学モデルにおける質点2mの質量や、フライホイールFHのイナーシャ(慣性モーメント)は、当該他のリンクの影響分を含めて設定しておけばよい。   In this case, in the target gait generation process for performing the walking motion or the traveling motion of the robot 1, the target value that defines the displacement amount of each joint of the other link (for example, the arm link) is, for example, that of the base 2 The target value may be such that the relative position and posture of each part of the other link with respect to the upper base 11 are constantly maintained constant. In this case, the mass of the mass point 2 m and the inertia (moment of inertia) of the flywheel FH in the dynamic model may be set including the influence of the other links.

以上のように目標脚位置姿勢決定部41及び基本動作目標値決定部42の処理を実行した後、次に、歩容生成部32は、目標歩容上重心位置算出部47の処理と、前記基本目標並進運動量修正部43及び基本目標基体運動速度決定部44の処理とを実行する。   After executing the processing of the target leg position / posture determination unit 41 and the basic motion target value determination unit 42 as described above, the gait generation unit 32 then performs the processing of the center of gravity position calculation unit 47 on the target gait, The basic target translational momentum correcting unit 43 and the basic target base body motion speed determining unit 44 are executed.

目標歩容上重心位置算出部47には、歩容生成部32が前回の演算処理周期で最終的に決定した目標歩容の構成要素(目標脚位置姿勢及び目標基体位置姿勢)、換言すれば、歩容生成部32が既に決定した目標歩容のうちの最新の(現在の)目標歩容の構成要素が与えられる。   In the target gait center-of-gravity position calculation unit 47, the constituent elements of the target gait (target leg position / posture and target base body position / posture) finally determined by the gait generation unit 32 in the previous calculation processing cycle, in other words, The component of the latest (current) desired gait among the desired gaits already determined by the gait generator 32 is given.

そして、目標歩容上重心位置算出部47は、与えられた目標歩容の構成要素により規定されるロボット1の全体重心の位置(グローバル座標系で見た位置ベクトル)を、ロボット1の幾何学モデル(剛体リンクモデル)に基づく幾何学演算によって算出し、この算出した位置を目標歩容上重心位置↑Xg_cmd2として決定する。   Then, the center-of-gravity position calculation unit 47 on the target gait calculates the position of the entire center of gravity of the robot 1 defined by the components of the given target gait (position vector viewed in the global coordinate system) as the geometry of the robot 1. It is calculated by geometric calculation based on the model (rigid link model), and this calculated position is determined as the center of gravity position ↑ Xg_cmd2 on the target gait.

さらに詳細には、上記幾何学演算に用いるロボット1の幾何学モデルは、例えばロボット1の各要素リンクの重心位置に質点(該要素リンクの質量を有する質点)が設定されたモデルである。   More specifically, the geometric model of the robot 1 used for the geometric calculation is a model in which a mass point (a mass point having the mass of the element link) is set at the center of gravity of each element link of the robot 1, for example.

そして、目標歩容上重心位置算出部47は、まず、与えられた最新の目標歩容から、該目標歩容により規定されるロボット1の各関節の変位量を逆運動学演算の処理により算出する。   Then, the center of gravity position calculation unit 47 on the target gait first calculates the displacement amount of each joint of the robot 1 defined by the target gait by the process of inverse kinematics calculation from the latest target gait given. To do.

次いで、目標歩容上重心位置算出部47は、この算出した各関節の変位量と、与えられた最新の目標歩容の目標脚位置姿勢又は目標基体位置姿勢とにより規定される上記幾何学モデルの各質点の位置を算出する。   Next, the center of gravity position calculation unit 47 in the target gait is the geometric model defined by the calculated displacement amount of each joint and the target leg position or target body position / posture of the latest target gait given. The position of each mass point is calculated.

そして、目標歩容上重心位置算出部47は、このように算出した各質点の位置と、該質点の質量とから、該幾何学モデルの全ての質点の質量中心の位置としてのロボット1の全体重心の位置を算出する。このように算出されたロボット1の全体重心の位置が、上記目標歩容上重心位置↑Xg_cmd2として決定される。   Then, the center of gravity position calculation unit 47 in the target gait calculates the entire robot 1 as the positions of the mass centers of all the mass points of the geometric model from the positions of the mass points calculated in this way and the masses of the mass points. Calculate the position of the center of gravity. The position of the overall center of gravity of the robot 1 calculated in this way is determined as the center of gravity position ↑ Xg_cmd2 in the target gait.

なお、歩容生成部32の前回の演算処理周期で最終的に決定された最新の目標歩容に対応する目標歩容上重心位置↑Xg_cmd2を目標歩容上重心位置算出部47により上記の如く決定する処理は、前回の演算処理周期で行なうようにしてもよい。   It should be noted that the target gait center of gravity position ↑ Xg_cmd2 corresponding to the latest target gait finally determined in the previous calculation processing cycle of the gait generator 32 is obtained by the target gait center of gravity position calculation unit 47 as described above. The determination process may be performed in the previous calculation processing cycle.

補足すると、ロボット1が腕リンク等、基体2に対して可動な他のリンクを備える場合には、当該他のリンクの質量を考慮した幾何学モデルを用いて上記目標歩容上重心位置↑Xg_cmd2を決定すればよい。   Supplementally, when the robot 1 is provided with another link that is movable with respect to the base 2 such as an arm link, the center of gravity position ↑ Xg_cmd2 in the target gait using a geometric model considering the mass of the other link. Can be determined.

この場合には、目標歩容上重心位置算出部47には、目標脚位置姿勢及び目標基体位置姿勢に加えて、当該他のリンクの各関節の変位量を規定する目標値(例えば、当該他のリンクの先端部の目標位置及び目標姿勢、あるいは、当該他のリンクの先端部の各関節の変位量の目標値等)も与えられる。   In this case, in addition to the target leg position and target base body position / posture, the target gait center-of-gravity position calculation unit 47 sets a target value (for example, the other link) that defines the displacement amount of each joint of the other link. The target position and target posture of the tip of the link, or the target value of the displacement amount of each joint at the tip of the other link) is also given.

そして、ロボット1の全体重心の位置としての目標歩容上重心位置↑Xg_cmd2は、当該他のリンクに対応する質点を含めた幾何学モデルに基づく幾何学演算によって、算出するようにすればよい。   Then, the center of gravity position ↑ Xg_cmd2 in the target gait as the position of the entire center of gravity of the robot 1 may be calculated by a geometric calculation based on a geometric model including a mass point corresponding to the other link.

ただし、上記他のリンクの質量が基体2の質量に比して十分に微小である場合には、当該他のリンクの質量を無視して構成した幾何学モデル、あるいは、当該他のリンクの質量を基体2の質量に含めて構成した幾何学モデルを用いて目標歩容上重心位置↑Xg_cmd2を決定するようにしてもよい。   However, when the mass of the other link is sufficiently smaller than the mass of the base body 2, the geometric model constructed by ignoring the mass of the other link, or the mass of the other link The center of gravity position ↑ Xg_cmd2 in the target gait may be determined using a geometric model configured by including the above in the mass of the base 2.

また、例えば、基体2の上側基体11から腕リンクが延設されている場合において、移動ロボット1の歩行動作又は走行動作における上側基体11に対する腕リンクの姿勢を一定もしくはほぼ一定に保持するような場合には、該腕リンクが実質的に上側基体11と一体の部分となる。このため、この場合には、当該他のリンクの質量を上側基体11の質量に含めて構成した幾何学モデルを用いて目標歩容上重心位置↑Xg_cmd2を決定するようにすればよい。   Further, for example, when the arm link is extended from the upper base body 11 of the base body 2, the posture of the arm link with respect to the upper base body 11 in the walking operation or the traveling operation of the mobile robot 1 is kept constant or substantially constant. In some cases, the arm link is substantially an integral part of the upper base 11. Therefore, in this case, the center of gravity position ↑ Xg_cmd2 on the target gait may be determined using a geometric model configured by including the mass of the other link in the mass of the upper base 11.

基本目標並進運動量修正部43には、基本動作目標値決定部42から基本目標重心位置↑Xg_cmd1と基本目標並進運動量ベクトル↑P_cmd1とが逐次与えられると共に、目標歩容上重心位置算出部47から目標歩容上重心位置↑Xg_cmd2が逐次与えられる。   The basic target translational momentum correcting unit 43 is sequentially given the basic target center-of-gravity position ↑ Xg_cmd1 and the basic target translational momentum vector ↑ P_cmd1 from the basic motion target value determining unit 42 and from the target gait center-of-gravity position calculating unit 47 to the target The center of gravity position ↑ Xg_cmd2 in the gait is given sequentially.

なお、以降の説明では、歩容生成部32の処理で決定される↑Xg_cmd1、↑P_cmd1、↑Xg_cmd2等の各変数の値に関し、歩容生成部32の現在の(今回の)演算処理周期で決定される値と、前回の演算処理周期で決定された値とを区別する必要がある場合に、前者の値を今回値、後者の値を前回値ということがある。   In the following description, regarding the values of the variables such as ↑ Xg_cmd1, ↑ P_cmd1, ↑ Xg_cmd2, etc. determined by the processing of the gait generator 32, the current (current) calculation processing cycle of the gait generator 32 is used. When it is necessary to distinguish between the determined value and the value determined in the previous calculation processing cycle, the former value may be referred to as the current value and the latter value may be referred to as the previous value.

基本目標並進運動量修正部43は、まず、与えられた基本目標重心位置↑Xg_cmd1と、目標歩容上重心位置↑Xg_cmd2との偏差(=↑Xg_cmd1−↑Xg_cmd2)を演算部43aで算出する。   The basic target translational momentum correcting unit 43 first calculates a deviation (= ↑ Xg_cmd1- ↑ Xg_cmd2) between the given basic target center-of-gravity position ↑ Xg_cmd1 and the target gait center-of-gravity position ↑ Xg_cmd2 by the calculation unit 43a.

この場合、基本目標重心位置↑Xg_cmd1の今回値に対応する目標歩容の今回値は未だ決定されていない。そして、本実施形態では、目標歩容上重心位置↑Xg_cmd2の今回値は、目標歩容の前回値に対応するロボット1の全体重心の位置である。このため、演算部43aの処理では、基本目標重心位置↑Xg_cmd1の前回値と、目標歩容上重心位置↑Xg_cmd2の今回値と用いて上記偏差(以降、重心位置偏差という)が算出される。   In this case, the current value of the target gait corresponding to the current value of the basic target center-of-gravity position ↑ Xg_cmd1 has not yet been determined. In this embodiment, the current value of the center of gravity position ↑ Xg_cmd2 on the target gait is the position of the overall center of gravity of the robot 1 corresponding to the previous value of the target gait. Therefore, in the processing of the calculation unit 43a, the deviation (hereinafter referred to as the gravity center position deviation) is calculated using the previous value of the basic target gravity center position ↑ Xg_cmd1 and the current value of the gravity center position ↑ Xg_cmd2 on the target gait.

さらに、基本目標並進運動量修正部43は、演算部43aで算出した重心位置偏差偏差(=↑Xg_cmd1−↑Xg_cmd2)にあらかじめ定めた所定値のゲインKgを乗じる処理を演算部43bで実行する。これにより、上記偏差をゼロに近づけるように基本目標並進運動量ベクトル↑P_cmd1を補正するための操作量(フィードバック操作量)が算出される。   Further, the basic target translational momentum correcting unit 43 executes a process of multiplying the gravity center position deviation deviation (= ↑ Xg_cmd1- ↑ Xg_cmd2) calculated by the calculating unit 43a by a predetermined gain Kg by the calculating unit 43b. Thereby, an operation amount (feedback operation amount) for correcting the basic target translational momentum vector ↑ P_cmd1 so that the deviation approaches zero is calculated.

次いで、基本目標並進運動量修正部43は、基本目標並進運動量ベクトル↑P_cmd1の今回値を、演算部43bで算出した操作量によって補正する処理を演算部43cで実行する。この補正処理は、↑P_cmd1の今回値に演算部43bで算出した操作量を加算することにより行なわれる。これにより、演算部43cの出力として、修正後基本並進運動量ベクトル↑P_cmd2(今回値)が算出される。   Next, the basic target translational momentum correcting unit 43 executes a process of correcting the current value of the basic target translational momentum vector ↑ P_cmd1 by the operation amount calculated by the calculation unit 43b in the calculation unit 43c. This correction process is performed by adding the operation amount calculated by the calculation unit 43b to the current value of ↑ P_cmd1. As a result, a corrected basic translational momentum vector ↑ P_cmd2 (current value) is calculated as an output of the calculation unit 43c.

従って、各演算処理周期において、修正後基本並進運動量ベクトル↑P_cmd2(今回値)は、次式(1)により基本目標並進運動量ベクトル↑P_cmd1の今回値を修正することで算出される。   Accordingly, the corrected basic translational momentum vector ↑ P_cmd2 (current value) is calculated by correcting the current value of the basic target translational momentum vector ↑ P_cmd1 by the following equation (1) in each calculation processing cycle.


↑P_cmd2=↑P_cmd1+Kg・(↑Xg_cmd1−↑Xg_cmd2) ……(1)

すなわち、↑P_cmd2は、重心位置偏差(↑Xg_cmd1−↑Xg_cmd2)をフィードバック制御則としての比例則によりゼロに近づけるように決定したフィードバック操作量によって↑P_cmd1を補正することにより決定される。

↑ P_cmd2 = ↑ P_cmd1 + Kg ・ (↑ Xg_cmd1− ↑ Xg_cmd2) …… (1)

That is, ↑ P_cmd2 is determined by correcting ↑ P_cmd1 by the feedback operation amount determined so that the center-of-gravity position deviation (↑ Xg_cmd1− ↑ Xg_cmd2) approaches zero by the proportional law as the feedback control law.

なお、上記ゲインKgはスカラー及び対角行列(ゲイン行列)のいずれであってもよい。ゲインKgを対角行列とした場合には、重心位置偏差の各成分(X軸、Y軸、Z軸の各座標軸成分)毎にフィードバックゲインを設定することが可能である。   The gain Kg may be a scalar or a diagonal matrix (gain matrix). When the gain Kg is a diagonal matrix, it is possible to set a feedback gain for each component (X-axis, Y-axis, and Z-axis coordinate axis components) of the gravity center position deviation.

基本目標基体運動速度決定部44には、基本動作目標値決定部42から基本目標基体位置姿勢が逐次与えられると共に、目標基体位置姿勢決定部46(詳細は後述する)から目標基体位置姿勢が逐次与えられる。   The basic target base body motion speed determination unit 44 is sequentially given the basic target base body position / posture from the basic motion target value determination unit 42 and the target base body position / posture from the target base body position / posture determination unit 46 (details will be described later). Given.

そして、基本目標基体運動速度決定部44は、まず、与えられた基本目標基体位置姿勢と、目標基体位置姿勢との偏差(=基本目標基体位置姿勢−目標基体位置姿勢)を演算部44aで算出する。   The basic target base body motion speed determination unit 44 first calculates a deviation (= basic target base body position / posture−target base body position / posture) between the given basic target base body position / posture and the target base body position / posture by the arithmetic unit 44a. To do.

この場合、基本目標基体位置姿勢の今回値に対応する目標基体位置姿勢は未だ決定されていない。このため、演算部44aの処理では、基本目標基体位置姿勢の前回値と、目標基体位置姿勢の前回値と用いて上記偏差(以降、基体位置姿勢偏差という)が算出される。   In this case, the target base position / posture corresponding to the current value of the basic target base body position / posture has not been determined yet. For this reason, in the processing of the calculation unit 44a, the deviation (hereinafter referred to as the base body position / posture deviation) is calculated using the previous value of the basic target base body position / posture and the previous value of the target base body position / posture.

さらに、基本目標基体運動速度決定部44は、演算部44aで算出した基体位置姿勢偏差にあらかじめ定めた所定値のゲインKbを乗じる処理を演算部44bで実行する。これにより、上記基体位置姿勢偏差をゼロに近づけて、目標基体位置姿勢が基本目標基体位置姿勢から乖離しないようにするための操作量(フィードバック操作量)として、基体2の位置及び姿勢の単位時間当たりの変化量の目標値により構成される基本目標基体運動速度ベクトル↑Vb_cmd1が算出される。   Further, the basic target base body motion speed determination unit 44 executes a process of multiplying the base body position / posture deviation calculated by the arithmetic unit 44a by a predetermined gain Kb in the arithmetic unit 44b. Thereby, the unit time of the position and orientation of the substrate 2 is used as an operation amount (feedback operation amount) for making the substrate position and orientation deviation close to zero so that the target substrate position and orientation does not deviate from the basic target substrate position and orientation. A basic target base body motion speed vector ↑ Vb_cmd1 constituted by the target value of the amount of change per hit is calculated.

従って、各演算処理周期において、基本目標基体運動速度ベクトル↑Vb_cmd1は、次式(2)により算出される。   Accordingly, in each arithmetic processing cycle, the basic target base body motion speed vector ↑ Vb_cmd1 is calculated by the following equation (2).


↑Vb_cmd1=Kb・(基本目標基体位置姿勢−目標基体位置姿勢) ……(2)

すなわち、↑Vb_cmd1は、基体位置姿勢偏差(=基本目標基体位置姿勢−目標基体位置姿勢)をフィードバック制御則としての比例則によりゼロに近づけるように決定したフィードバック操作量として決定される。

↑ Vb_cmd1 = Kb (Basic target base body position / posture-Target base body position / posture) (2)

That is, ↑ Vb_cmd1 is determined as a feedback operation amount that is determined so that the base body position / posture deviation (= basic target base body position / posture−target base body position / posture) approaches zero by a proportional law as a feedback control law.

なお、上記ゲインKbはスカラー及び対角行列(ゲイン行列)のいずれであってもよい。ゲインKbを対角行列とした場合には、基体位置姿勢偏差の各成分(基体2の各座標軸方向の位置の偏差、基体2の各座標軸周りの姿勢の偏差(角度偏差)、及び基体2の関節12の変位量の偏差(角度偏差))毎にフィードバックゲインを設定することが可能である。   The gain Kb may be either a scalar or a diagonal matrix (gain matrix). When the gain Kb is a diagonal matrix, each component of the base body position / posture deviation (deviation of the position of the base body 2 in each coordinate axis direction, deviation of the posture of the base body 2 around each coordinate axis (angle deviation)), and It is possible to set a feedback gain for each displacement amount deviation (angle deviation) of the joint 12.

以上のように目標歩容上重心位置算出部47、基本目標並進運動量修正部43及び基本目標基体運動速度決定部44の処理を実行した後、歩容生成部32は、次に基体運動速度目標値決定部45の処理を実行する。   As described above, after executing the processes of the center of gravity position calculating unit 47 on the target gait, the basic target translational momentum correcting unit 43, and the basic target base body motion speed determining unit 44, the gait generating unit 32 then selects the base body motion speed target. The process of the value determining unit 45 is executed.

この基体運動速度目標値決定部45は、基体2の位置及び姿勢の単位時間当たりの変化量を成分として構成される基体運動速度ベクトル↑Vbから、ロボット1の全体重心の並進運動量ベクトル↑Pの各成分と、ロボット1の全体重心の周りの角運動量ベクトル↑Lの各成分と、基体運動速度ベクトル↑Vbの各成分とにより構成されるベクトルである制御対象ベクトル↑Sへの線形写像を表すヤコビアン行列を用いて基体運動速度ベクトル↑Vbの目標値である目標基体運動速度ベクトル↑Vb_cmd2を決定する。   The base body motion speed target value determination unit 45 calculates a translational motion amount vector ↑ P of the entire center of gravity of the robot 1 from a base body motion speed vector ↑ Vb composed of a change amount per unit time of the position and orientation of the base body 2 as a component. This represents a linear mapping to a control target vector ↑ S, which is a vector composed of each component, each component of the angular momentum vector ↑ L around the entire center of gravity of the robot 1, and each component of the base body motion speed vector ↑ Vb. A target substrate motion speed vector ↑ Vb_cmd2 which is a target value of the substrate motion speed vector ↑ Vb is determined using the Jacobian matrix.

上記制御対象ベクトル↑Sは、↑P、↑L、↑Vbの各成分を並べた縦ベクトルである。より具体的には、↑P、↑L、↑Vbをそれぞれの成分を用いて表記したものを、↑P≡[Px,Py,Pz]T、↑L≡[Lx,Ly,Lz]T、↑Vb≡[Vbx,Vby,Vbz,ωbx,ωby,ωbz,ωbt]Tとおくと(上付き添え字Tは転置を表す)、↑Sは、例えば次式(3)により表記される縦ベクトルである。 The control target vector ↑ S is a vertical vector in which the components ↑ P, ↑ L, and ↑ Vb are arranged. More specifically, ↑ P, ↑ L, and ↑ Vb are expressed using the respective components as ↑ P≡ [Px, Py, Pz] T , ↑ L≡ [Lx, Ly, Lz] T , ↑ Vb≡ [Vbx, Vby, Vbz, ωbx, ωby, ωbz, ωbt] T (superscript T represents transposition) ↑ S is a vertical vector expressed by the following equation (3), for example It is.


↑S≡[↑P,↑L,↑Vb]T
≡[Px,Py,Pz,Lx,Ly,Lz,Vbx,Vby,Vbz,ωbx,ωby,ωbz,ωbt]T
……(3)

なお、Px,Py,Pzは、それぞれ↑PのX軸方向成分、Y軸方向成分、Z軸方向成分であり、Lx,Ly,Lzは、それぞれ↑LのX軸周り成分、Y軸周り成分、Z軸周り成分である。また、Vbx、Vby、Vbzは、それぞれ、基体2の代表点の移動速度のうちのX軸方向成分、Y軸方向成分、Z軸方向成分、ωbx、ωby、ωbzは、それぞれ、基体2の姿勢の時間的変化率のうちのX軸周りの角速度成分、Y軸周りの角速度成分、Z軸周りの角速度成分、ωbtは、基体2の関節12の変位量の時間的変化率(角速度)である。

↑ S≡ [↑ P, ↑ L, ↑ Vb] T
≡ [Px, Py, Pz, Lx, Ly, Lz, Vbx, Vby, Vbz, ωbx, ωby, ωbz, ωbt] T
...... (3)

Px, Py, and Pz are the X-axis direction component, Y-axis direction component, and Z-axis direction component of ↑ P, respectively. Lx, Ly, and Lz are the X-axis component and the Y-axis component of ↑ L, respectively. , The component around the Z axis. Vbx, Vby, and Vbz are the X-axis direction component, the Y-axis direction component, the Z-axis direction component, and ωbx, ωby, and ωbz, respectively, of the moving speed of the representative point of the base body 2, respectively. Of the time rate of change, the angular velocity component around the X axis, the angular velocity component around the Y axis, the angular velocity component around the Z axis, and ωbt are the temporal change rate (angular velocity) of the displacement amount of the joint 12 of the base 2. .

また、↑Vbから↑Sへの線形写像を表すヤコビアン行列をAとおくと、その線形写像は、次式(4)により表される。   If a Jacobian matrix representing a linear mapping from ↑ Vb to ↑ S is A, the linear mapping is represented by the following equation (4).


↑S=A・↑Vb ……(4)

この場合、ヤコビアン行列Aは、次式(5)で示すように、↑Vbから↑P、↑Lのそれぞれへの線形写像を表す慣性行列M,Hと、↑Vbから↑Vbへの線形写像を表す単位行列E(↑Vbの成分数と同次数の単位行列)とを縦に並べた行列となる。なお、本実施形態では、↑Vbは7成分のベクトルであるので、M,Hはそれぞれ3行7列の慣性行列、Eは7行7列の単位行列である。従って、本実施形態では、ヤコビアン行列Aは、13行7列の行列である。

↑ S = A ・ ↑ Vb (4)

In this case, the Jacobian matrix A has inertia matrices M and H representing linear mapping from ↑ Vb to ↑ P and ↑ L, and linear mapping from ↑ Vb to ↑ Vb, as shown in the following equation (5). Is a matrix in which a unit matrix E (↑, unit matrix of the same order as the number of components of Vb) is vertically arranged. In this embodiment, since ↑ Vb is a 7-component vector, M and H are 3 × 7 inertia matrices, and E is a 7 × 7 unit matrix. Therefore, in the present embodiment, the Jacobian matrix A is a 13 × 7 matrix.

Figure 2013116530
Figure 2013116530

かかるヤコビアン行列Aを用いる基体運動速度目標値決定部45の処理の全体は、次のように行なわれる。   The entire processing of the base body motion speed target value determination unit 45 using the Jacobian matrix A is performed as follows.

すなわち、基体運動速度目標値決定部45は、各演算処理周期において、まず、式(4)の線形写像を表すヤコビアン行列Aを決定する。さらに、基体運動速度目標値決定部45は、算出したヤコビアン行列Aの擬似逆行列A+を決定する。 That is, the base body motion speed target value determination unit 45 first determines the Jacobian matrix A representing the linear mapping of Expression (4) in each calculation processing cycle. Further, the base body motion speed target value determination unit 45 determines a pseudo inverse matrix A + of the calculated Jacobian matrix A.

そして、基体運動速度目標値決定部45は、基本目標並進運動量修正部43により決定された修正後基本並進運動量ベクトル↑P_cmd2(今回値)と、基本動作目標値決定部42により決定された基本目標角運動量ベクトル↑L_cmd1(今回値)と、基本目標基体運動速度決定部44により決定された基本目標基体運動速度ベクトル↑Vb_cmd1(今回値)とをそれぞれ、前記式(3)の↑P、↑L、↑Vbの目標値とすることで構成される制御対象ベクトル↑Sの目標値↑S_cmd(以下、目標制御対象ベクトル↑S_cmdという)と、上記擬似逆行列A+とから次式(6)の右辺の演算(↑S_cmdにA+を乗じる演算処理)を行なうことで、↑S_cmdに対応する↑Vbの目標値としての目標基体運動速度ベクトル↑Vb_cmd2を決定する。 Then, the base body motion speed target value determination unit 45 includes the corrected basic translational momentum vector ↑ P_cmd2 (current value) determined by the basic target translational momentum correction unit 43 and the basic target determined by the basic motion target value determination unit 42. The angular momentum vector ↑ L_cmd1 (current value) and the basic target base body motion speed vector ↑ Vb_cmd1 (current value) determined by the basic target base body speed determination unit 44 are respectively represented by ↑ P and ↑ L in the above equation (3). , ↑ Vb target value ↑ S_cmd of the control target vector ↑ S (hereinafter referred to as target control target vector ↑ S_cmd) and the pseudo inverse matrix A + By performing the calculation on the right side (the calculation process of multiplying ↑ S_cmd by A + ), the target base body motion speed vector ↑ Vb_cmd2 as the target value of ↑ Vb corresponding to ↑ S_cmd is determined.


↑Vb_cmd2=A+・↑S_cmd ……(6)

このように目標基体運動速度ベクトル↑Vb_cmd2を決定する処理において、基体運動速度目標値決定部45は、本実施形態ではヤコビアン行列Aを次のように決定する。

↑ Vb_cmd2 = A +・ ↑ S_cmd (6)

In the process of determining the target base body motion speed vector ↑ Vb_cmd2 in this way, the base body speed target value determination unit 45 determines the Jacobian matrix A in the present embodiment as follows.

まず、本実施形態におけるヤコビアン行列Aの決定手法に関する前提事項を説明しておく。前記式(4)の線形写像を表すヤコビアン行列Aは、その構成要素である慣性行列M、Hと単位行列EとのうちのM、Hを変数とするヤコビアン行列である。   First, the premise regarding the determination method of the Jacobian matrix A in the present embodiment will be described. The Jacobian matrix A representing the linear mapping of the equation (4) is a Jacobian matrix having M and H of its inertia matrixes M and H and unit matrix E as variables.

かかるヤコビアン行列Aは、基本的には、ロボット1の現在の目標歩容(前回の演算処理周期で決定した目標歩容)により規定されるロボット1の動作状態を起点として、当該起点の動作状態から基体2の位置及び姿勢の各成分を微小変化させた場合にそれに起因して発生するロボット1の全体重心の並進運動量ベクトル↑P及び該全体重心周りの角運動量ベクトル↑Lの発生感度を表す行列として算出すればよい。   The Jacobian matrix A is basically based on the operation state of the robot 1 defined by the current target gait of the robot 1 (the target gait determined in the previous calculation processing cycle). Represents the generation sensitivity of the translational momentum vector ↑ P of the overall center of gravity of the robot 1 and the angular momentum vector ↑ L around the overall center of gravity of the robot 1 that is generated when the position and orientation components of the base 2 are slightly changed. What is necessary is just to calculate as a matrix.

この場合、上記起点の動作状態から基体2の位置及び姿勢の各成分を微小変化させた場合にそれに起因して発生するロボット1の全体重心の並進運動量ベクトル↑P及び該全体重心周りの角運動量ベクトル↑Lは、例えばロボット1の各リンク毎にその重心位置の質点と該重心位置周りのイナーシャ(慣性モーメント)とを設定した動力学モデル(以降、このような動力学モデルをフルモデルという)を用いて算出することができる。その算出手法は、公知の手法を採用することができる。   In this case, the translational momentum vector ↑ P of the total center of gravity of the robot 1 and the angular momentum around the total center of gravity of the robot 1 generated by minutely changing each component of the position and posture of the base 2 from the operating state of the starting point. The vector ↑ L is, for example, a dynamic model in which the mass point of the center of gravity and the inertia (moment of inertia) around the center of gravity are set for each link of the robot 1 (hereinafter, such a dynamic model is referred to as a full model). Can be used to calculate. A known method can be adopted as the calculation method.

ただし、本実施形態では、目標制御対象ベクトル↑S_cmdに応じて決定する目標基体運動速度ベクトル↑Vb_cmd2の信頼性をより一層高めるために、現在の時刻(今回の演算処理周期の時刻)から次回の演算処理周期の時刻との間の期間内(1演算処理周期の時間内)での将来の目標歩容(目標脚位置姿勢及び目標基体位置姿勢)の瞬時値を推定し、その推定した将来の目標歩容の瞬時値により規定されるロボット1の動作状態を起点としてヤコビアン行列Aを決定することとした。   However, in this embodiment, in order to further improve the reliability of the target base body motion speed vector ↑ Vb_cmd2 determined according to the target control target vector ↑ S_cmd, the current time (the time of the current processing cycle) is changed to the next time. Estimate the instantaneous value of the future target gait (target leg position / posture and target base body position / posture) within the period (within the time of one computation process cycle) from the time of the computation cycle, and the estimated future The Jacobian matrix A is determined based on the operation state of the robot 1 defined by the instantaneous value of the target gait.

換言すれば、各演算処理周期において、ヤコビアン行列Aを算出するための起点とするロボット1の動作状態を、現在の目標歩容により規定される動作状態から、将来の予想される動作状態寄りにずらした上で、ヤコビアン行列Aを算出する。   In other words, in each calculation processing cycle, the operation state of the robot 1 that is the starting point for calculating the Jacobian matrix A is shifted from the operation state defined by the current target gait to a predicted operation state in the future. After shifting, the Jacobian matrix A is calculated.

これは次の理由による。すなわち、基体2の位置及び姿勢の微小変化と、それに起因して発生する↑P及び↑Lとの間の関係は一般には非線形性を有するため、ロボット1の現在の目標歩容の状態を起点として決定したヤコビアン行列Aを用いた場合には、上記式(6)により決定される↑Vb_cmd2が、↑S_cmdを実現するための最適な値からずれを生じやすい。   This is due to the following reason. That is, since the relationship between the minute change in the position and posture of the base 2 and the ↑ P and ↑ L generated due to the change is generally nonlinear, the current target gait state of the robot 1 is the starting point. When the Jacobian matrix A determined as is used, ↑ Vb_cmd2 determined by the above equation (6) is likely to deviate from the optimum value for realizing ↑ S_cmd.

例えば、脚リンク3R,3Lの足平部18R,18Lの位置及び姿勢を一定に保持した場合における基体2の位置Xbと、ロボット1の全体重心の位置Xgにロボット1の全体質量Mallを乗算したもの(=Mall・Xg)との間の関係に着目すると、該関係は、一般には、図6に実線の曲線a1で例示する如く、非線形な関係となる。   For example, the position Xb of the base 2 and the position Xg of the total center of gravity of the robot 1 when the positions and postures of the foot portions 18R and 18L of the leg links 3R and 3L are kept constant are multiplied by the total mass Mall of the robot 1. Focusing on the relationship between the objects (= Mall · Xg), this relationship is generally a non-linear relationship as illustrated by a solid curve a1 in FIG.

なお、ここでは、Xb、Xgは、理解の便宜上、グローバル座標系のX軸方向又はY軸方向又はZ軸方向のいずれかの一軸方向の位置、例えばX軸方向の位置とする。この場合、Mall・Xgは、ロボット1の全体重心のX軸方向の並進運動量の積分値に相当する状態量である。   Here, for convenience of understanding, Xb and Xg are assumed to be positions in one of the X-axis direction, Y-axis direction, and Z-axis direction of the global coordinate system, for example, positions in the X-axis direction. In this case, Mall · Xg is a state quantity corresponding to the integral value of the translational momentum of the entire center of gravity of the robot 1 in the X-axis direction.

そして、現在の目標歩容における基体2の現在の位置が、例えば図6中に示すXb(k)であるとした場合、現在の目標歩容の状態を起点として決定されるヤコビアン行列A(以降、これを基本ヤコビアン行列A1という)では、Xbの微小変化と、これに対応するMall・Xgの変化との間の関係は、Xb(k)の位置での曲線a1の接線a2により示される線形関係として表されることとなる。   If the current position of the base 2 in the current desired gait is, for example, Xb (k) shown in FIG. 6, the Jacobian matrix A (hereinafter referred to as the starting point of the current desired gait state) In the basic Jacobian matrix A1, the relationship between the minute change of Xb and the corresponding change of Mall · Xg is a linearity indicated by the tangent line a2 of the curve a1 at the position of Xb (k). It will be expressed as a relationship.

従って、目標制御対象ベクトル↑S_cmdに対応する目標基体運動速度ベクトル↑Vb_cmd2を、上記基本ヤコビアン行列A1の擬似逆行列を用いて前記式(6)により決定した場合には、歩容生成部32の演算処理の1周期(1演算処理周期)Δtに時間における基体2の位置Xbの目標とする変化量は、図6に示すΔXb_aとなる。   Therefore, when the target base body motion speed vector ↑ Vb_cmd2 corresponding to the target control target vector ↑ S_cmd is determined by the above equation (6) using the pseudo inverse matrix of the basic Jacobian matrix A1, the gait generator 32 The target amount of change in the position Xb of the base 2 in time during one calculation process cycle (one calculation process period) Δt is ΔXb_a shown in FIG.

このΔXb_aは、上記の如く基本ヤコビアン行列A1の擬似逆行列を用いて決定した↑Vb_cmd2のうちの、位置Xbの時間的変化率に相当する成分Vbxの値にΔtを乗じてなる値である。換言すれば、ΔXb_aは、基体2の位置Xbと、Mall・Xgとの間の関係が、上記接線a2で表される関係であると仮定した場合に、ΔXb_aに対応するMall・Xgの変化量が、目標制御対象ベクトル↑S_cmdの構成要素である↑P_cmd2のうちのX軸方向の並進運動量の目標値Px_cmd2にΔtを乗じてなる値(=Px_cmd2・Δt)となるようなXbの変化量である。   This ΔXb_a is a value obtained by multiplying Δt by the value of the component Vbx corresponding to the temporal change rate of the position Xb in ↑ Vb_cmd2 determined using the pseudo inverse matrix of the basic Jacobian matrix A1 as described above. In other words, ΔXb_a is the amount of change in Mall · Xg corresponding to ΔXb_a, assuming that the relationship between the position Xb of the substrate 2 and Mall · Xg is the relationship represented by the tangent line a2. Is the amount of change in Xb such that the target value Px_cmd2 of the translational momentum in the X-axis direction of the ↑ P_cmd2 component of the target control target vector ↑ S_cmd is multiplied by Δt (= Px_cmd2 · Δt) is there.

ただし、基体2の位置Xbと、Mall・Xgとの間の実際の関係が、曲線a1で表される関係である場合には、ΔXb_aに対応するMall・Xgの実際の変化量は、図6中のMall・ΔXg_aとなる。この値Mall・ΔXg_aは、一般には、目標制御対象ベクトル↑S_cmdにより規定されるMall・Xgの変化量の目標値としての上記の値Px_cmd2・Δtに対して誤差を生じるものとなる。   However, when the actual relationship between the position Xb of the substrate 2 and Mall · Xg is the relationship represented by the curve a1, the actual change amount of Mall · Xg corresponding to ΔXb_a is shown in FIG. The middle Mall · ΔXg_a. This value Mall · ΔXg_a generally causes an error with respect to the value Px_cmd2 · Δt as the target value of the change amount of Mall · Xg defined by the target control target vector ↑ S_cmd.

そして、基体2の位置Xbと、Mall・Xgとの間の実際の関係が、曲線a1で表される関係である場合には、Mall・Xgの変化量が、目標制御対象ベクトル↑S_cmdにより規定されるMall・Xgの変化量の目標値Px_cmd2・Δtになるようにするための、基体2の位置Xbの適切な変化量は、図6に示すΔXb_b(≠ΔXb_a)である。   If the actual relationship between the position Xb of the substrate 2 and Mall · Xg is the relationship represented by the curve a1, the change amount of Mall · Xg is defined by the target control target vector ↑ S_cmd. An appropriate amount of change in the position Xb of the base body 2 to achieve the target value Px_cmd2 · Δt of the amount of change of Mall · Xg is ΔXb_b (≠ ΔXb_a) shown in FIG.

一方、現在の目標歩容における基体2の位置Xb(k)と、この位置Xb(k)から上記ΔXb_bだけ変化させた位置Xb(k)+ΔXb_bとの間の中間の位置Xb(k)+ΔXb_c(ただし、0<ΔXb_c<ΔXb_b)を想定した場合、微分積分学における平均値の定理に基づいて、当該中間の位置Xb(k)+ΔXb_cでの曲線a1の接線a3の傾きを、位置Xb(k)での曲線a1上の点と、位置Xb(k)+ΔXb_bでの曲線a1上の点とを結ぶ直線a4の傾きに一致もしくは近似させることができる。   On the other hand, an intermediate position Xb (k) + ΔXb_c between the position Xb (k) of the base 2 in the current target gait and the position Xb (k) + ΔXb_b changed from the position Xb (k) by ΔXb_b. However, when 0 <ΔXb_c <ΔXb_b) is assumed, the slope of the tangent line a3 of the curve a1 at the intermediate position Xb (k) + ΔXb_c is calculated based on the mean value theorem in calculus and the position Xb (k). Can be matched or approximated to the slope of the straight line a4 connecting the point on the curve a1 with the point on the curve a1 at the position Xb (k) + ΔXb_b.

従って、基体2の位置Xbが当該中間の位置Xb(k)+ΔXb_cとなるような将来の目標歩容を起点として、ヤコビアン行列Aを決定し、このヤコビアン行列Aの擬似逆行列A+を用いて↑Vb_cmd2を決定するようにすれば、この↑Vb_cmd2により規定される基体2の位置Xbの変化量を、上記の適切な変化量ΔXb_bに一致させ、もしくは、該変化量ΔXb_bに対して近似精度の高い値にすることができる。すなわち、↑Vb_cmd2の信頼性を高めることができる。 Accordingly, the Jacobian matrix A is determined based on a future target gait such that the position Xb of the base 2 becomes the intermediate position Xb (k) + ΔXb_c, and the pseudo inverse matrix A + of the Jacobian matrix A is used. If Vb_cmd2 is determined, the amount of change in the position Xb of the substrate 2 defined by ↑ Vb_cmd2 is made to coincide with the above-mentioned appropriate amount of change ΔXb_b, or approximate accuracy with respect to the amount of change ΔXb_b. Can be high. That is, the reliability of ↑ Vb_cmd2 can be improved.

かかる事項は、↑S_cmdのうちの↑P_cmd2に影響を及ぼす↑Vb_cmd2の成分に限らず、↑L_cmd1に影響を及ぼす↑Vb_cmd2の成分についても同様に言える事項である。   This matter is not limited to the component of ↑ Vb_cmd2 that affects ↑ P_cmd2 of ↑ S_cmd, but also applies to the component of ↑ Vb_cmd2 that affects ↑ L_cmd1.

そこで、本実施形態では、上記の如く、現在の時刻(今回の演算処理周期の時刻)から次回の演算処理周期の時刻との間の期間内(1演算処理周期の時間内)での将来の目標歩容(目標脚位置姿勢及び目標基体位置姿勢)の瞬時値を推定し、その推定した将来の目標歩容の瞬時値により規定されるロボット1の動作状態を起点として、ヤコビアン行列Aを決定することとした。   Therefore, in the present embodiment, as described above, the future in the period (within the time of one arithmetic processing cycle) between the current time (the time of the current arithmetic processing cycle) and the time of the next arithmetic processing cycle. The instantaneous value of the target gait (target leg position / posture and target base body position / posture) is estimated, and the Jacobian matrix A is determined from the motion state of the robot 1 defined by the estimated instantaneous value of the future target gait. It was decided to.

この場合、本実施形態では、ヤコビアン行列Aを決定するための起点とする動作状態を規定する将来の目標歩容(以降、これをヤコビアン行列決定用目標歩容という)の構成要素である目標脚位置姿勢及び目標基体位置姿勢(以降、これらをヤコビアン行列決定用目標脚位置姿勢、ヤコビアン行列決定用目標基体位置姿勢という)の瞬時値は、次のように決定される。   In this case, in the present embodiment, a target leg that is a component of a future target gait that defines an operating state for determining the Jacobian matrix A (hereinafter referred to as a Jacobian matrix determination target gait). The instantaneous values of the position / posture and the target base body position / posture (hereinafter referred to as the Jacobian matrix determination target leg position / posture and the Jacobian matrix determination target base body position / posture) are determined as follows.

すなわち、基体運動速度目標値決定部45は、次式(7a)で示す如く、現在の目標基体位置姿勢(前回の演算処理周期で決定された目標基体位置姿勢。以下、これを目標基体位置姿勢(k)と表記する)と、1演算処理周期前の目標基体位置姿勢(前々回の演算処理周期で決定された目標基体位置姿勢。以下、これを目標基体位置姿勢(k-1)と表記する)との偏差、すなわち、前回の演算処理周期で決定された目標基体位置姿勢の変化量(=目標基体位置姿勢(k)−目標基体位置姿勢(k-1))に所定値の係数Kpを乗じてなる補正項を、目標基体位置姿勢(k)に加え合わせることによって、ヤコビンアン行列決定用目標基体位置姿勢を決定する。   That is, as shown in the following equation (7a), the base movement speed target value determination unit 45 determines the current target base body position / posture (the target base body position / posture determined in the previous calculation processing cycle. (denoted as (k)) and the target substrate position / posture one calculation processing cycle before (the target substrate position / posture determined in the previous calculation processing cycle, hereinafter referred to as target substrate position / posture (k-1)) ), That is, a target base body position / posture change amount determined in the previous calculation processing cycle (= target base body position / posture (k) −target base body position / posture (k−1)) is set to a predetermined coefficient Kp. By adding a correction term obtained by multiplication to the target base body position / posture (k), the target base body position / posture for determining the Jacobin An matrix is determined.

同様に、基体運動速度目標値決定部45は、次式(7b)で示す如く、各脚リンク3毎の現在の目標脚位置姿勢(前回の演算処理周期で決定された目標脚位置姿勢。以下、これを目標脚位置姿勢(k)と表記する)と、1演算処理周期前の目標脚位置姿勢(前々回の演算処理周期で決定された目標脚位置姿勢。以下、これを目標脚位置姿勢(k-1)と表記する)との偏差、すなわち、前回の演算処理周期で決定された目標脚位置姿勢の変化量(=目標脚位置姿勢(k)−目標脚位置姿勢(k-1))に上記係数Kpを乗じてなる補正項を、目標脚位置姿勢(k)に加え合わせることによって、ヤコビンアン行列決定用目標基体位置姿勢を決定する。   Similarly, the base body motion speed target value determination unit 45, as shown by the following equation (7b), present target leg position / posture for each leg link 3 (target leg position / posture determined in the previous calculation processing cycle. , This is expressed as a target leg position / posture (k)) and a target leg position / posture one calculation processing cycle before (the target leg position / posture determined in the previous calculation processing cycle. k-1)), that is, the amount of change in the target leg position / posture determined in the previous calculation processing cycle (= target leg position / posture (k) −target leg position / posture (k-1)) Is added to the target leg position / posture (k) to determine the target base body position / posture for determining the Jacobin An matrix.

なお、上記係数Kpは、0≦Kp≦1の範囲であらかじめ決定された値である。本実施形態では、例えばKp=0.5である。   The coefficient Kp is a value determined in advance in the range of 0 ≦ Kp ≦ 1. In this embodiment, for example, Kp = 0.5.


ヤコビンアン行列決定用目標基体位置姿勢
=目標基体位置姿勢(k)+Kp・(目標基体位置姿勢(k)−目標基体位置姿勢(k-1))
……(7a)

ヤコビンアン行列決定用目標脚位置姿勢
=目標脚位置姿勢(k)+Kp・(目標脚位置姿勢(k)−目標脚位置姿勢(k-1))
……(7b)

従って、本実施形態では、ヤコビアン行列決定用目標歩容は、歩容生成部32の演算処理周期毎の目標歩容の変化量の時系列のうちの最新値に応じて、現在の目標歩容を補正してなる歩容として決定される。

Target base body position / posture for determining the Jacobinan matrix = target base body position / posture (k) + Kp (target base body position / posture (k) -target base body position / posture (k-1))
...... (7a)

Target leg position / posture for determining the Jacobinan matrix = target leg position / posture (k) + Kp (target leg position / posture (k) -target leg position / posture (k-1))
...... (7b)

Therefore, in the present embodiment, the target gait for determining the Jacobian matrix is the current target gait according to the latest value in the time series of the change amount of the target gait for each arithmetic processing cycle of the gait generator 32. Is determined as a gait obtained by correcting.

なお、ロボット1が腕リンク等、基体2に対して可動な他のリンクを備える場合には、当該他のリンクの先端部の将来の目標位置及び目標姿勢、あるいは、当該他のリンクの各関節の将来の目標変位量を、ヤコビンアン行列決定用目標基体位置姿勢やヤコビアン行列決定用目標脚位置姿勢と同じ手法で求めるようにすればよい。   When the robot 1 is provided with other links movable relative to the base 2 such as arm links, the future target position and target posture of the tip of the other links, or each joint of the other links The future target displacement amount may be obtained by the same method as the target body position / posture for determining the Jacobin matrix and the target leg position / posture for determining the Jacobian matrix.

また、ヤコビアン行列決定用目標歩容は、現在の目標歩容と、1演算処理周期前の目標歩容とを含めて、3個以上の演算処理周期分の目標歩容から決定するようにしてもよい。   The target gait for determining the Jacobian matrix is determined from the target gaits for three or more calculation processing cycles including the current target gait and the target gait one calculation processing cycle before. Also good.

そして、基体運動速度目標値決定部45は、上記の如く決定したヤコビアン行列決定用目標歩容の状態を起点として、当該起点の状態から基体2の位置及び姿勢の各成分を微小変化させた場合にそれに起因して発生するロボット1の全体重心の並進運動量ベクトル↑P及び該全体重心周りの角運動量ベクトル↑Lの発生感度を表す行列としてのヤコビアン行列Aを前記フルモデルを用いて算出する。この算出の仕方は、公知の手法と同様でよい。   Then, the base body motion speed target value determination unit 45 starts from the state of the target gait for determining the Jacobian matrix determined as described above, and minutely changes the position and posture components of the base body 2 from the state of the start point. The translational momentum vector ↑ P of the entire center of gravity of the robot 1 and the Jacobian matrix A as a matrix representing the generation sensitivity of the angular momentum vector ↑ L around the entire center of gravity are calculated using the full model. This calculation method may be the same as a known method.

なお、ヤコビアン行列Aを算出するために用いる動力学モデルは、前記フルモデルと異なる動力学モデル(例えば一部のリンクのイナーシャを無視した動力学モデル等)であってもよいが、できるだけ動力学的精度の高い動力学モデル(前記基本動作目標値決定部42の処理で用いる動力学モデルよりも動力学的精度の高い動力学モデル)を使用することが望ましい。ここで、動力学的精度が高いというのは、ロボット1の運動によって動力学モデル上で発生するトータルの慣性力の、実際のロボット1で発生するトータルの慣性力に対する近似精度が高いことを意味する。   The dynamic model used to calculate the Jacobian matrix A may be a dynamic model different from the full model (for example, a dynamic model that ignores inertia of some links), but the dynamic model is as much as possible. It is desirable to use a dynamic model having a high dynamic accuracy (a dynamic model having a higher dynamic accuracy than the dynamic model used in the processing of the basic operation target value determination unit 42). Here, the high dynamic accuracy means that the approximate accuracy of the total inertia force generated on the dynamic model by the movement of the robot 1 to the total inertia force generated in the actual robot 1 is high. To do.

次に、上記の如く決定したヤコビアン行列Aの擬似逆行列A+は、本実施形態では、次のように決定される。 Next, the pseudo inverse matrix A + of the Jacobian matrix A determined as described above is determined as follows in this embodiment.

本実施形態では、所謂、特異点低感度運動分解行列(SR-Inverse)を擬似逆行列A+として決定する。この場合、ヤコビアン行列Aの擬似逆行列A+は、W、Vを任意の重み行列(対角行列)として、次式(8a)又は(8b)により算出することができる。 In the present embodiment, a so-called singular point low sensitivity motion decomposition matrix (SR-Inverse) is determined as a pseudo inverse matrix A + . In this case, the pseudo inverse matrix A + of the Jacobian matrix A can be calculated by the following equation (8a) or (8b), where W and V are arbitrary weight matrices (diagonal matrices).


+=W-1・AT・(A・W-1・AT+V)-1 ……(8a)
+=(AT・V-1・A+W)-1・AT・V-1 ……(8b)

これらの式(8a)又は(8b)によりに算出される擬似逆行列A+は、次式(9)に与えられる評価関数fの値が最小となるような目標基体運動速度ベクトル↑Vb_cmd2を、前記式(6)により算出することができる擬似逆行列である。

A + = W -1 · AT · (A · W -1 · AT + V) -1 (8a)
A + = (A T · V -1 · A + W) -1 · A T · V -1 (8b)

The pseudo inverse matrix A + calculated by these equations (8a) or (8b) is a target substrate motion velocity vector ↑ Vb_cmd2 that minimizes the value of the evaluation function f given by the following equation (9): It is a pseudo inverse matrix that can be calculated by the equation (6).


f=(↑Vb_cmd2)T・W・↑Vb_cmd2
+(↑S_cmd - A・↑Vb_cmd2)T・V・(↑S_cmd - A・↑Vb_cmd2)
……(9)

なお、評価関数fの値が最小になるということは、↑Vb_cmd2の各成分の二乗値を、Wの各対角成分を重み係数として線形結合してなる値と、↑S_cmd及びA・↑Vb_cmd2の差分のベクトルの各成分の二乗値を、Vの各対角成分を重み係数として線形結合してなる値との総和が最小になることを意味する。

f = (↑ Vb_cmd2) T・ W ・ ↑ Vb_cmd2
+ (↑ S_cmd-A ・ ↑ Vb_cmd2) T・ V ・ (↑ S_cmd-A ・ ↑ Vb_cmd2)
...... (9)

Note that the value of the evaluation function f is minimum means that the square value of each component of ↑ Vb_cmd2 is linearly combined with each diagonal component of W as a weighting factor, and ↑ S_cmd and A · ↑ Vb_cmd2 This means that the sum of the square value of each component of the difference vector and the value obtained by linearly combining each diagonal component of V as a weighting coefficient is minimized.

前記重み行列Wは、目標基体運動速度ベクトル↑Vb_cmd2の成分数と同じ次数(本実施形態では、7次数)の対角行列である。この重み行列Wの各対角成分の値(重み係数)は、例えば↑Vb_cmd2の各成分の値の許容範囲等を考慮して設定すればよい。   The weight matrix W is a diagonal matrix having the same order (seventh order in the present embodiment) as the number of components of the target base body motion speed vector ↑ Vb_cmd2. The value (weighting coefficient) of each diagonal component of the weight matrix W may be set in consideration of the allowable range of the value of each component of ↑ Vb_cmd2, for example.

また、重み行列Vは、目標制御対象ベクトル↑S_cmdと同じ次数(本実施形態では、13次数)の対角行列である。この重み行列Vの各対角成分の値(重み係数)は、例えばA・↑Vb_cmd2により算出される制御対象ベクトル↑Sの各成分の値の、目標制御対象ベクトル↑S_cmdにより規定される目標値に対する誤差の許容度合いに応じて設定すればよい。   The weight matrix V is a diagonal matrix having the same order (13th order in this embodiment) as the target control target vector ↑ S_cmd. The value (weighting coefficient) of each diagonal component of the weight matrix V is, for example, the target value defined by the target control target vector ↑ S_cmd of the value of each component of the control target vector ↑ S calculated by A · ↑ Vb_cmd2. It may be set according to the tolerance of the error with respect to.

なお、重み行列W,Vは、それぞれ単位行列であってもよい。また、式(8a)におけるV、式(8b)におけるWは、それぞれ零行列であってもよい。   Each of the weight matrices W and V may be a unit matrix. Further, V in Expression (8a) and W in Expression (8b) may each be a zero matrix.

ヤコビアン行列Aの擬似逆行列A+は、前記式(8a),(8b)のいずれの演算式により算出してもよいが、本実施形態では、基体運動速度目標値決定部45は、例えば前記式(8b)を用いて擬似逆行列A+を算出する。この場合、本実施形態では、前記基本目標基体運動速度ベクトル↑Vb_cmd1を目標基体運動速度ベクトル↑Vb_cmd2の基準目標とすることから、重み行列Wを例えば零行列に設定した。 Although the pseudo inverse matrix A + of the Jacobian matrix A may be calculated by any of the equations (8a) and (8b), in the present embodiment, the base body motion speed target value determination unit 45, for example, The pseudo inverse matrix A + is calculated using equation (8b). In this case, in this embodiment, since the basic target base body motion speed vector ↑ Vb_cmd1 is set as a reference target for the target base body motion speed vector ↑ Vb_cmd2, the weight matrix W is set to, for example, a zero matrix.

また、重み行列Vに関しては、例えば、目標制御対象ベクトル↑S_cmdのうちの並進運動量ベクトル↑Pの目標値(=↑P_cmd2)と角運動量ベクトル↑Lの目標値(=↑L_cmd1)とに対応する対角成分(6個の対角成分)と、↑S_cmdのうちの基体運動速度ベクトル↑Vbの目標値(=↑Vb_cmd)のうち、関節12の変位量の目標値を除く成分(すなわち下側基体10の位置及び姿勢の目標値)に対応する対角成分(6個の対角成分)と、関節12の変位量の目標値に対応する対角成分(1個の対角成分)との3種類の対角成分に分類して、各種類の対角成分の値を設定した。   The weight matrix V corresponds to, for example, the target value (= ↑ P_cmd2) of the translational momentum vector ↑ P and the target value (= ↑ L_cmd1) of the angular momentum vector ↑ L in the target control target vector ↑ S_cmd. Among the diagonal components (six diagonal components) and the target value (= ↑ Vb_cmd) of the base body motion velocity vector ↑ Vb in ↑ S_cmd, the component excluding the target value of the displacement amount of the joint 12 (that is, the lower side) The diagonal component (six diagonal components) corresponding to the target value of the position and orientation of the base body 10 and the diagonal component corresponding to the target value of the displacement amount of the joint 12 (one diagonal component) By classifying into three types of diagonal components, the value of each type of diagonal component was set.

一例として、重み行列Vの対角成分のうち、並進運動量ベクトル↑Pの目標値と角運動量ベクトル↑Lの目標値とに対応する6個の対角成分の値を1.0、下側基体10の位置及び姿勢の目標値に対応する6個の対角成分の値を0.5、基体2の関節12の変位量の目標値に対応する1個の対角成分の値を0.1というように、重み行列Vを設定した。   As an example, among the diagonal components of the weight matrix V, the values of the six diagonal components corresponding to the target value of the translational momentum vector ↑ P and the target value of the angular momentum vector ↑ L are 1.0, The value of six diagonal components corresponding to the target values of 10 positions and postures is 0.5, and the value of one diagonal component corresponding to the target value of the displacement amount of the joint 12 of the base 2 is 0.1. Thus, a weight matrix V was set.

本実施形態では、基体運動速度目標値決定部45は、各演算処理周期において、以上の如くあらかじめ設定された重み行列W,Vを用いて前記式(8b)によりヤコビアン行列Aの擬似逆行列A+を決定する。 In the present embodiment, the base body motion speed target value determination unit 45 uses the weight matrixes W and V set in advance as described above in each calculation processing cycle, and the pseudo inverse matrix A of the Jacobian matrix A according to the above equation (8b). Determine + .

そして、この擬似逆行列A+と、前記目標制御対象ベクトル↑S_cmd(今回値)とから前記式(6)により目標基体運動速度ベクトル↑Vb_cmd2(今回値)を決定する。 Then, from the pseudo inverse matrix A + and the target control target vector ↑ S_cmd (current value), the target base body motion speed vector ↑ Vb_cmd2 (current value) is determined by the above equation (6).

この場合、本実施形態では重み行列Wを零行列としたので、式(9)の右辺の第2項を最小化するように、すなわち、↑S_cmd及びA・↑Vb_cmd2の差分のベクトルの各成分の二乗値を、重み行列Vの各対角成分を重み係数として線形結合してなる値を最小化するように、↑Vb_cmd2が決定されることとなる。   In this case, since the weight matrix W is a zero matrix in this embodiment, the second term on the right side of Equation (9) is minimized, that is, each component of the difference vector of ↑ S_cmd and A · ↑ Vb_cmd2 ↑ Vb_cmd2 is determined so as to minimize a value obtained by linearly combining the squared values of each of the diagonal components of the weight matrix V as weighting coefficients.

また、この場合、↑S_cmdは、修正後基本並進運動量ベクトル↑P_cmd2及び基本目標角運動量ベクトル↑L_cmd1に加えて、前記基体位置偏差をゼロに近づけるための操作量たる基本目標基体運動速度ベクトル↑Vb_cmd1を含んでいるため、↑Vb_cmd2は、↑Vb_cmd1から乖離しないようにしつつ、前記式(6)の右辺により算出される制御対象ベクトル(=A・↑Vb_cmd2)のうちの並進運動量ベクトル↑Pと、角運動量ベクトル↑Lとがそれぞれ極力、修正後目標並進運動量ベクトル↑P_cmd2、目標角運動量ベクトル↑L_cmd1に一致するように決定されることとなる。   Further, in this case, ↑ S_cmd is a basic target base body motion speed vector ↑ Vb_cmd1 as an operation amount for bringing the base body position deviation close to zero in addition to the corrected basic translational momentum vector ↑ P_cmd2 and the basic target angular momentum vector ↑ L_cmd1. Therefore, ↑ Vb_cmd2 does not deviate from ↑ Vb_cmd1, and the translational momentum vector ↑ P of the control target vector (= A · ↑ Vb_cmd2) calculated by the right side of the equation (6), The angular momentum vector ↑ L is determined so as to coincide with the corrected target translational momentum vector ↑ P_cmd2 and the target angular momentum vector ↑ L_cmd1 as much as possible.

以上が本実施形態における基体運動速度目標値決定部45の処理の詳細である。   The above is the details of the processing of the base body motion speed target value determination unit 45 in the present embodiment.

歩容生成部32は、以上の如く基体運動速度目標値決定部45の処理を実行した後、次に、目標基体位置姿勢決定部46の処理を実行する。   The gait generator 32 executes the processing of the target body position / posture determination unit 46 after executing the processing of the target body speed target value determination unit 45 as described above.

この目標基体位置姿勢決定部46は、基体運動速度目標値決定部45で決定された目標基体運動速度ベクトル↑Vb_cmd2を逐次積分することによって、目標基体位置姿勢を決定する。   The target base body position / posture determination unit 46 determines the target base body position / posture by sequentially integrating the target base body speed vector ↑ Vb_cmd2 determined by the base body speed target value determination unit 45.

具体的には、目標基体位置姿勢決定部46は、各演算処理周期において、目標基体運動速度ベクトル↑Vb_cmd2の今回値に歩容生成部32の演算処理周期の時間Δtを乗じてなる値(=↑Vb_cmd2・Δt)を、現在の目標基体位置姿勢の値(前回の演算処理周期において決定した値)に加えることにより、目標基体位置姿勢の今回値を決定する。   Specifically, the target base body position / posture determination unit 46 multiplies the current value of the target base body motion velocity vector ↑ Vb_cmd2 by the time Δt of the arithmetic processing cycle of the gait generator 32 in each arithmetic processing cycle (= ↑ Vb_cmd2 · Δt) is added to the current target base body position / posture value (the value determined in the previous calculation processing cycle) to determine the current value of the target base body position / posture.

本実施形態では、歩容生成部32の各演算処理周期において、以上の如く目標基体位置姿勢決定部46により決定される目標基体位置姿勢(今回値)と、前記目標脚位置姿勢決定部41により決定される各脚リンク3の目標脚位置姿勢(今回値)とが、目標歩容(今回値)の構成要素とされる。   In this embodiment, in each calculation processing cycle of the gait generator 32, the target base body position / posture (current value) determined by the target base body position / posture determination unit 46 as described above and the target leg position / posture determination unit 41 are as described above. The determined target leg position / posture (current value) of each leg link 3 is a component of the target gait (current value).

そして、本実施形態では、歩容生成部32は、さらに、目標関節変位量決定部48の処理を実行する。この目標関節変位量決定部48には、各演算処理周期において、決定された目標歩容の構成要素(目標基体位置姿勢及び目標脚位置姿勢)が与えられる。   In the present embodiment, the gait generator 32 further executes the processing of the target joint displacement amount determiner 48. The target joint displacement amount determination unit 48 is provided with components of the determined target gait (target base body position / posture and target leg position / posture) in each calculation processing cycle.

そして、目標関節変位量決定部48は、与えられた目標歩容により規定されるロボット1の各関節の目標関節変位量を、ロボット1の幾何学モデル(剛体リンクモデル)に基づく逆運動学の演算処理によって算出する。この場合、ロボット1の幾何学モデルは、前記目標歩容上重心位置算出部47で用いるものと同じである。   Then, the target joint displacement amount determination unit 48 calculates the target joint displacement amount of each joint of the robot 1 defined by the given target gait by inverse kinematics based on the geometric model (rigid link model) of the robot 1. Calculated by arithmetic processing. In this case, the geometric model of the robot 1 is the same as that used by the gravity center position calculation unit 47 in the target gait.

なお、前記目標歩容上重心位置算出部47では、目標歩容(目標基体位置姿勢及び目標脚位置姿勢)の代わりに、目標関節変位量決定部48で決定された各関節の目標関節変位量(前回値)を用いて、目標歩容上重心位置↑Xg_cmd2を決定するようにしてもよい。このようにした場合には、目標歩容上重心位置算出部47で、目標歩容により規定される各関節の変位量を算出する処理は不要である。   In the target gait center of gravity position calculation unit 47, instead of the target gait (target base body position / posture and target leg position / posture), the target joint displacement amount of each joint determined by the target joint displacement amount determination unit 48 is used. (Previous value) may be used to determine the center of gravity position ↑ Xg_cmd2 in the target gait. In such a case, the target gait center-of-gravity position calculation unit 47 does not need to calculate the displacement amount of each joint defined by the target gait.

補足すると、ロボット1が腕リンク等、基体2に対して可動な他のリンクを備える場合には、ロボット1の目標歩容のうちの当該他のリンクに関する構成要素は、例えば基本動作目標値決定部42で適宜、決定しておくようにすればよい。一例として、ロボット1が上側基体11から延設された腕リンクを備える場合には、該ロボット1の歩行動作又は走行動作を行なう目標歩容の生成処理では、該目標歩容における上側基体11に対する該腕リンクの全体の姿勢(ひいては、該腕リンクの各関節の変位量)を、一定の姿勢としたり、あるいは、基体2の関節12の回転軸周りに周期的に腕リンクの全体を動かすような該腕リンクの目標歩容を採用すればよい。   Supplementally, when the robot 1 is provided with another link that is movable with respect to the base body 2 such as an arm link, the component related to the other link in the target gait of the robot 1 is, for example, the basic motion target value determination What is necessary is just to make it determine suitably in the part 42. As an example, when the robot 1 includes an arm link extending from the upper base 11, the target gait generation process for performing the walking motion or the running motion of the robot 1 is performed on the upper base 11 in the target gait. The entire posture of the arm link (and hence the amount of displacement of each joint of the arm link) is set to a constant posture, or the entire arm link is periodically moved around the rotation axis of the joint 12 of the base 2. The target gait of the arm link may be adopted.

以上が、本実施形態における歩容生成部32の処理の詳細である。   The above is the details of the processing of the gait generator 32 in the present embodiment.

ここで、以上説明した実施形態と本願発明との対応関係について補足しておく。本実施形態では、制御処理ユニット31は、歩容生成部32を備えることによって、本発明の歩容生成装置又は動作目標生成装置としての機能を有する。なお、この場合、歩容生成部32が逐次生成する目標歩容が、本発明の動作目標生成装置における動作目標に相当する。   Here, the correspondence between the embodiment described above and the present invention will be supplemented. In the present embodiment, the control processing unit 31 includes the gait generator 32, thereby having a function as a gait generator or an operation target generator of the present invention. In this case, the target gait sequentially generated by the gait generator 32 corresponds to the operation target in the operation target generation device of the present invention.

そして、歩容生成部32の目標脚位置姿勢決定部41、基体運動速度目標値決定部45、目標基体位置姿勢決定部46の処理によってそれぞれ、本発明の歩容生成装置における目標脚位置姿勢決定手段、基体運動速度目標値決定手段、目標基体位置姿勢決定手段が実現される。さらに、基本動作目標値決定部42、基本目標並進運動量修正部43、及び基本目標基体運動速度決定部44の処理の全体によって、本発明の歩容生成装置における目標制御対象ベクトル決定手段が実現される。   Then, the target leg position / posture determination in the gait generator of the present invention is performed by the processing of the target leg position / posture determination unit 41, the base body speed target value determination unit 45, and the target base body position / posture determination unit 46 of the gait generation unit 32, respectively. Means, base body movement speed target value determination means, and target base body position / posture determination means are realized. Furthermore, the overall processing of the basic motion target value determination unit 42, the basic target translational momentum correction unit 43, and the basic target base body motion speed determination unit 44 realizes a target control target vector determination unit in the gait generator of the present invention. The

また、基体運動速度目標値決定部45におけるヤコビアン行列Aを決定する処理によって、本発明の動作目標生成装置におけるヤコビアン行列決定手段が決定される。この場合、前記基体運動速度ベクトル↑Vbと、制御対象ベクトル↑Sとがそれぞれ、本発明の動作目標生成装置における第1状態量ベクトル、第2状態量ベクトルに相当する。   Further, the processing for determining the Jacobian matrix A in the base body motion speed target value determination unit 45 determines the Jacobian matrix determination means in the motion target generation device of the present invention. In this case, the base body motion speed vector ↑ Vb and the control target vector ↑ S correspond to the first state quantity vector and the second state quantity vector in the operation target generation device of the present invention, respectively.

以上説明した本実施形態によれば、前記基体運動速度目標値決定部45は、修正後基本並進運動量ベクトル↑P_cmd2、基本目標角運動量ベクトル↑L_cmd1及び基本目標基体運動速度ベクトル↑Vb_cmd1により構成される目標制御対象ベクトル↑S_cmdを目標として、この↑S_cmdにヤコビアン行列Aの擬似逆行列A+に乗じることにより目標基体運動速度ベクトル↑Vb_cmd2が逐次決定される。そして、この↑Vb_cmd2を積分することにより、目標歩容における目標基体位置姿勢が決定される。 According to the present embodiment described above, the base body motion speed target value determination unit 45 includes the corrected basic translational momentum vector ↑ P_cmd2, the basic target angular momentum vector ↑ L_cmd1, and the basic target base body motion speed vector ↑ Vb_cmd1. A target base motion velocity vector ↑ Vb_cmd2 is sequentially determined by multiplying the ↑ S_cmd by the pseudo inverse matrix A + of the Jacobian matrix A with the target control target vector ↑ S_cmd as a target. Then, by integrating this ↑ Vb_cmd2, the target base body position / posture in the target gait is determined.

この場合、目標制御対象ベクトル↑S_cmdの構成要素のうちの並進運動量ベクトル↑Pの目標値として設定される修正後基本並進運動量ベクトル↑P_cmd2は、基本動作目標値決定部42で決定した基本目標並進運動量ベクトル↑P_cmd1を基準の目標としつつ、目標歩容上重心位置↑Xg_cmd2が、基本動作目標値決定部42で決定した基本目標重心位置↑Xg_cmd1からずれるのを抑制するためのフィードバック操作量により該基本目標並進運動量ベクトル↑P_cmd1を修正することにより決定される。   In this case, the corrected basic translational momentum vector ↑ P_cmd2 set as the target value of the translational momentum vector ↑ P among the components of the target control target vector ↑ S_cmd is the basic target translation determined by the basic motion target value determination unit 42. With the momentum vector ↑ P_cmd1 as a reference target, the center of gravity position ↑ Xg_cmd2 on the target gait is controlled by the feedback operation amount for suppressing the deviation from the basic target centroid position ↑ Xg_cmd1 determined by the basic motion target value determination unit 42. It is determined by correcting the basic target translational momentum vector ↑ P_cmd1.

また、目標制御対象ベクトル↑S_cmdの構成要素のうちの角運動量ベクトル↑Lの目標値として、基本動作目標値決定部42で決定された基本角並進運動量ベクトル↑P_cmd2が設定される。   Further, the basic angular translational momentum vector ↑ P_cmd2 determined by the basic motion target value determining unit 42 is set as the target value of the angular momentum vector ↑ L among the components of the target control target vector ↑ S_cmd.

また、目標制御対象ベクトル↑S_cmdの構成要素のうちの基体運動速度ベクトル↑Vbの目標値して設定される基本目標基体運動速度ベクトル↑Vb_cmd1は、目標歩容における目標基体位置姿勢が、基本動作目標値決定部42で決定した基本目標基体位置姿勢からずれるのを抑制するためのフィードバック操作量として決定される。   The basic target base body motion speed vector ↑ Vb_cmd1 set as the target value of the base body motion speed vector ↑ Vb among the constituent elements of the target control target vector ↑ S_cmd is the basic base motion in the target gait. It is determined as a feedback operation amount for suppressing deviation from the basic target base body position / posture determined by the target value determination unit 42.

従って、基体運動速度目標値決定部45で逐次決定される目標基体運動速度ベクトル↑Vb_cmd2は、基本動作目標値決定部42の処理における動力学モデル上で満たすようにした動力学を極力崩さないようにしつつ、目標基体運動速度ベクトル↑Vb_cmd2を積分することにより決定される目標基体位置姿勢が、基本動作目標値決定部42で決定した基本目標基体位置姿勢から乖離することがないように、決定されることとなる。   Therefore, the target base body motion speed vector ↑ Vb_cmd2 sequentially determined by the base body motion speed target value determination unit 45 does not destroy the dynamics satisfied on the dynamic model in the processing of the basic motion target value determination unit 42 as much as possible. However, the target base body position / posture determined by integrating the target base body velocity vector ↑ Vb_cmd2 is determined so as not to deviate from the basic target base body position / posture determined by the basic motion target value determination unit 42. The Rukoto.

このため、本実施形態によれば、動力学的な要件を満たしつつ、ロボット1が姿勢を崩すことが無いような目標歩容を生成できる。   Therefore, according to this embodiment, it is possible to generate a target gait that satisfies the dynamic requirements and does not cause the robot 1 to lose its posture.

また、基体運動速度目標値決定部45の処理では、ロボット1の基体2の位置及び姿勢と、ロボット1の全体重心の並進運動量ベクトルの積分値に相当する状態量や全体重心周りの角運動量ベクトルの積分値に相当する状態量との間の非線形性を考慮して、将来の目標歩容の推定値としての前記ヤコビアン行列決定用目標歩容を起点として、ヤコビアン行列Aを決定するようにしたので、目標制御対象ベクトル↑S_cmdを実現するための基体運動速度ベクトル↑Vbの値として、このヤコビアン行列Aの擬似逆行列A+を目標制御対象ベクトル↑S_cmdに乗じることによって決定される目標基体運動速度ベクトル↑Vb_cmd2の信頼性を高めることができる。 Further, in the processing of the base body motion speed target value determination unit 45, the position and orientation of the base body 2 of the robot 1 and the state quantity corresponding to the integral value of the translational momentum vector of the entire center of gravity of the robot 1 and the angular momentum vector around the entire center of gravity The Jacobian matrix A is determined with the target gait for determining the Jacobian matrix as an estimated value of the future target gait as a starting point in consideration of the nonlinearity with the state quantity corresponding to the integral value of Therefore, the target base body motion determined by multiplying the target control target vector ↑ S_cmd by the pseudo inverse matrix A + of the Jacobian matrix A as the value of the base body motion speed vector ↑ Vb for realizing the target control target vector ↑ S_cmd. The reliability of the velocity vector ↑ Vb_cmd2 can be improved.

換言すれば、↑Vb_cmd2に、決定したヤコビアン行列Aを乗じることによって得られる制御対象ベクトル↑Sの値の、目標制御対象ベクトル↑S_cmdに対する一致度合いを高めることができる。   In other words, the degree of coincidence of the value of the control target vector ↑ S obtained by multiplying the determined Jacobian matrix A by ↑ Vb_cmd2 with respect to the target control target vector ↑ S_cmd can be increased.

加えて、本実施形態では、ヤコビアン行列Aの擬似逆行列A+を、特異点低感度運動分解行列(SR-Inverse)としたので、を該ヤコビアン行列の擬似逆行列として用いて前記基体運動速度ベクトルの目標値を決定する↑S_cmdとA・↑Vb_cmd2との差分のベクトルの各成分の二乗値を、対角行列Vの各対角成分である重み係数により線形結合してなる値を最小化することができる。 In addition, in the present embodiment, since the pseudo inverse matrix A + of the Jacobian matrix A is a singular point low sensitivity motion decomposition matrix (SR-Inverse), the substrate motion speed is used by using the pseudo inverse matrix of the Jacobian matrix. Determine the target value of the vector ↑ Minimize the value obtained by linearly combining the square value of each component of the vector of the difference between S_cmd and A · ↑ Vb_cmd2 by the weighting factor that is each diagonal component of the diagonal matrix V can do.

従って、目標制御対象ベクトル↑S_cmdを実現する上で適切な目標歩容を逐次決定することができる。   Therefore, an appropriate target gait can be sequentially determined for realizing the target control target vector ↑ S_cmd.

ここで、本実施形態の上記の効果に関する検証結果について図7〜図9を参照して以下に説明する。   Here, verification results regarding the above-described effects of the present embodiment will be described below with reference to FIGS.

図7(a)のグラフa1は、本実施形態の実施例における目標基体位置姿勢のうちの、下側基体10のY軸周り(ピッチ軸周り)の傾斜角の経時変化を示している。この場合、ロボット1の目標歩容は、例えば400mmの最大歩幅で歩行を行なう歩容である。また、この実施例における基本目標基体位置姿勢のうちの、下側基体10のY軸周り(ピッチ軸周り)の姿勢は0degである。   A graph a <b> 1 in FIG. 7A shows the change with time of the inclination angle around the Y axis (around the pitch axis) of the lower substrate 10 in the target substrate position and orientation in the example of the present embodiment. In this case, the target gait of the robot 1 is a gait for walking with a maximum stride of 400 mm, for example. Of the basic target substrate position and posture in this embodiment, the posture of the lower substrate 10 around the Y axis (around the pitch axis) is 0 deg.

また、図7(b)のグラフa2は、比較例における目標基体位置姿勢のうちの、下側基体10のY軸周り(ピッチ軸周り)の傾斜角の経時変化を示している。   A graph a2 in FIG. 7B shows a change with time of the inclination angle around the Y axis (around the pitch axis) of the lower substrate 10 in the target substrate position and orientation in the comparative example.

この場合、比較例におけるロボット1の目標歩容は、図7(a)の実施例と同様に、400mmの最大歩幅で歩行を行なう歩容である。また、この比較例における基本目標基体位置姿勢のうちの、下側基体10のY軸周り(ピッチ軸周り)の姿勢は、図7(a)の実施例と同様に0degである。   In this case, the target gait of the robot 1 in the comparative example is a gait that walks with a maximum stride of 400 mm, as in the embodiment of FIG. Of the basic target substrate position and posture in this comparative example, the posture around the Y axis (around the pitch axis) of the lower substrate 10 is 0 deg as in the embodiment of FIG.

ただし、この比較例においては、目標制御対象ベクトルから基本基体運動速度ベクトル↑Vb_cmd1を除外し、修正後基本目標並進運動量ベクトル↑P_cmd2と、基本目標角運動量ベクトル↑L_cmd1とにより目標制御対象ベクトルを構成するものとした。   However, in this comparative example, the basic body motion velocity vector ↑ Vb_cmd1 is excluded from the target control target vector, and the target control target vector is constituted by the corrected basic target translational momentum vector ↑ P_cmd2 and the basic target angular momentum vector ↑ L_cmd1. To do.

図7(b)を参照して判るように、基体運動速度ベクトル↑Vb_cmd1を目標制御対象ベクトル↑S_cmdの構成要素として含まない比較例では目標基体位置姿勢が、最終的に基本目標基体位置姿勢(=0deg)に対して13deg程度の定常的なずれを生じた。   As can be seen with reference to FIG. 7B, in the comparative example not including the base body motion speed vector ↑ Vb_cmd1 as a constituent element of the target control target vector ↑ S_cmd, the target base body position / posture is finally the basic target base body position / posture ( = 0 deg), a steady deviation of about 13 deg was generated.

これに対して、基体運動速度ベクトル↑Vb_cmd1を目標制御対象ベクトル↑S_cmdの構成要素として含む実施例では、図7(a)に示すように目標基体位置姿勢の、基本目標基体位置姿勢に対する定常的なずれを解消することができた。   On the other hand, in the embodiment including the base body motion speed vector ↑ Vb_cmd1 as a component of the target control target vector ↑ S_cmd, the target base body position / posture is stationary with respect to the basic target base body position / posture as shown in FIG. The gap was resolved.

従って、基体運動速度ベクトル↑Vb_cmd1を目標制御対象ベクトル↑S_cmdの構成要素として含む本実施形態によれば、基体運動速度ベクトル↑Vb_cmd1を目標制御対象ベクトル↑S_cmdに含めない場合に比して、目標基体位置姿勢を、基本目標基体位置姿勢から大きく乖離させることなく該基本目標基体位置姿勢に追従させることができることが判る。   Therefore, according to the present embodiment including the base body motion speed vector ↑ Vb_cmd1 as a constituent element of the target control target vector ↑ S_cmd, the target motion speed vector ↑ Vb_cmd1 is compared with the case where the base control speed vector ↑ Vb_cmd1 is not included in the target control target vector ↑ S_cmd. It can be seen that the base position / posture can be made to follow the basic target base position / posture without greatly deviating from the basic target base position / posture.

次に、図8(a)及び図9(a)のそれぞれのグラフb1、c1は、それぞれ、本実施形態の実施例で作成した目標歩容により規定されるロボット1の全体重心のX軸方向の並進運動量の誤差(基本目標並進運動量ベクトル↑P_cmd1のX軸方向成分に対する誤差)、該目標歩容により規定されるロボット1の全体重心でのY軸周り(ピッチ軸周り)の角運動量の誤差(基本目標角運動量ベクトル↑L_cmd1のY軸周り成分に対する誤差)の経時変化を示すグラフである。この場合、ロボット1の目標歩容は、例えば355mmの最大歩幅で歩行を行なう歩容である。   Next, the graphs b1 and c1 in FIG. 8A and FIG. 9A respectively indicate the X-axis direction of the entire center of gravity of the robot 1 defined by the target gait created in the example of this embodiment. Error of translational momentum of the robot (error with respect to the X-axis direction component of the basic target translational momentum vector ↑ P_cmd1), error of angular momentum around the Y axis (around the pitch axis) at the entire center of gravity of the robot 1 defined by the target gait It is a graph which shows a time-dependent change (error with respect to the component of the basic target angular momentum vector ↑ L_cmd1 around the Y axis). In this case, the target gait of the robot 1 is a gait for walking with a maximum stride of, for example, 355 mm.

また、図8(b)及び図9(b)のそれぞれのグラフb2、c3は、それぞれ、比較例で作成した目標歩容により規定されるロボット1の全体重心のX軸方向の並進運動量の誤差(基本目標並進運動量ベクトル↑P_cmd1のX軸方向成分に対する誤差)、該目標歩容により規定されるロボット1の全体重心でのY軸周り(ピッチ軸周り)の角運動量の誤差(基本目標角運動量ベクトル↑L_cmd1のY軸周り成分に対する誤差)の経時変化を示すグラフである。   Also, the graphs b2 and c3 in FIG. 8B and FIG. 9B respectively show the translational momentum errors in the X-axis direction of the entire center of gravity of the robot 1 defined by the target gait created in the comparative example. (Error with respect to X-axis direction component of basic target translational momentum vector ↑ P_cmd1), error of angular momentum around Y axis (around pitch axis) at the total center of gravity of robot 1 defined by the target gait (basic target angular momentum It is a graph which shows a time-dependent change of the error about the Y axis component of the vector ↑ L_cmd1.

ただし、図8(b)及び図9(b)の比較例においては、各演算処理周期においてヤコビアン行列Aを算出するときの起点とするロボット1の動作状態は、図8(a)及び図9(a)の実施例と異なり、前回の演算処理周期で決定した目標歩容(既に決定された目標歩容のうちの最新値の目標歩容)により規定される動作状態とした。   However, in the comparative example of FIG. 8B and FIG. 9B, the operation state of the robot 1 as a starting point when calculating the Jacobian matrix A in each arithmetic processing cycle is as shown in FIG. 8A and FIG. Unlike the embodiment of (a), the operation state is defined by the target gait determined in the previous calculation processing cycle (the latest value of the target gait already determined).

なお、図8(a)及び図9(a)の実施例と、図8(b)及び図9(b)の比較例とでは、ヤコビアン行列Aの決定処理の相違による効果を明確にするために、目標制御対象ベクトル↑S_cmdの構成要素のうち、前記修正後基本並進運動量ベクトル↑P_cmd2を、基本目標並進運動量ベクトル↑P_cmd1に一致させるものとした。   8A and 9A and the comparative example of FIGS. 8B and 9B, in order to clarify the effect due to the difference in the determination process of the Jacobian matrix A. Further, among the components of the target control target vector ↑ S_cmd, the corrected basic translational momentum vector ↑ P_cmd2 is made to coincide with the basic target translational momentum vector ↑ P_cmd1.

図8(b)のグラフb2で見られるように、比較例では、ロボット1の全体重心の並進運動量(X軸方向の並進運動量)の誤差の絶対値は、最大で2.3kg・m/s程度であった。これに対して、図8(a)のグラフb1で見られるように、実施例では、ロボット1の全体重心の並進運動量(X軸方向の並進運動量)の誤差の絶対値は、最大でも0.008kg・m/s以下に収まっている。   8B, in the comparative example, the absolute value of the error of the translational momentum (translational momentum in the X-axis direction) of the entire center of gravity of the robot 1 is 2.3 kg · m / s at the maximum. It was about. On the other hand, as can be seen from the graph b1 in FIG. 8A, in the embodiment, the absolute value of the error of the translational momentum (translational momentum in the X-axis direction) of the entire center of gravity of the robot 1 is 0. It is below 008kg · m / s.

また、図9(b)のグラフc2で見られるように、比較例では、ロボット1の全体重心周りの角運動量(Y軸周りの角運動量)の誤差の絶対値は、最大で0.8kg・m/s程度であった。これに対して、図9(a)のグラフc1で見られるように、実施例では、ロボット1の全体重心周りの角運動量(Y軸周りの角運動量)の誤差の絶対値は、最大でも0.003kg・m/s以下に収まっている。   9B, in the comparative example, the absolute value of the error of the angular momentum around the entire center of gravity of the robot 1 (angular momentum around the Y axis) is 0.8 kg · It was about m / s. On the other hand, as can be seen from the graph c1 in FIG. 9A, in the embodiment, the absolute value of the error of the angular momentum around the entire center of gravity of the robot 1 (angular momentum around the Y axis) is 0 at the maximum. It is within 0.003kg ・ m / s.

従って、ヤコビアン行列Aを算出するためのロボット1の起点の動作状態として、現在の目標歩容により規定される動作状態よりも将来の予測される動作状態寄りにずらした動作状態を用いる本実施形態によれば、ヤコビアン行列Aを算出するためのロボット1の起点の動作状態として、現在の目標歩容により規定される動作状態を用いる場合に比して、目標制御対象ベクトル↑S_cmdにより精度よく追従させ得る目標歩容を生成できることがわかる。   Therefore, this embodiment uses an operation state shifted from the operation state defined by the current target gait closer to the predicted operation state in the future as the operation state of the robot 1 for calculating the Jacobian matrix A. According to the above, the target control target vector ↑ S_cmd is followed more accurately than when the operation state defined by the current target gait is used as the operation state of the starting point of the robot 1 for calculating the Jacobian matrix A. It can be seen that the desired gait can be generated.

なお、前記実施形態では、2つの脚リンクを有する2足移動ロボット1を例にとって説明したが、本発明の歩容生成装置は、3つの以上の脚リンクを有する脚式移動ロボットについても適用できる。   In the above embodiment, the biped mobile robot 1 having two leg links has been described as an example. However, the gait generator of the present invention can also be applied to a legged mobile robot having three or more leg links. .

また、前記実施形態では、擬似逆行列A+を前記式(8b)により算出するようにしたが、前記式(8a)により算出するようにしてもよい。 In the embodiment, the pseudo inverse matrix A + is calculated by the equation (8b), but may be calculated by the equation (8a).

また、前記実施形態におけるロボット1は、基体2に関節12を備えるロボットであるが、基体2の下側基体10と上側基体11とが一体に構成されたものであってもよい。この場合には、基本目標基体運動速度ベクトル↑Vb_cmd1や、目標基体運動速度ベクトル↑Vb_cmd2は、関節12の変位量の時間的変化率の成分を除いた6成分のベクトルにより構成すればよい。   The robot 1 in the above embodiment is a robot having the joint 12 on the base body 2, but the lower base body 10 and the upper base body 11 may be integrally formed. In this case, the basic target base body motion velocity vector ↑ Vb_cmd1 and the target base body motion speed vector ↑ Vb_cmd2 may be configured by six-component vectors excluding the temporal change rate component of the displacement amount of the joint 12.

あるいは、下側基体10と上側基体11との間に2自由度以上の自由度を有する関節(2軸以上の軸周りの回転可能な関節)を備えるようにしてもよい。そして、この場合、基本目標基体運動速度ベクトル↑Vb_cmd1や、目標基体運動速度ベクトル↑Vb_cmd2を、下側基体10の位置及び姿勢の時間的変化率の成分と、下側基体10及び上側基体11の間の関節の各軸周りの方向の変位量の時間的変化率の成分とにより構成してもよい。   Alternatively, a joint (a rotatable joint around two or more axes) having two or more degrees of freedom may be provided between the lower base 10 and the upper base 11. In this case, the basic target base body motion speed vector ↑ Vb_cmd1 and the target base body motion speed vector ↑ Vb_cmd2 are set to the components of the temporal change rate of the position and orientation of the lower base body 10 and the lower base body 10 and the upper base body 11. You may comprise by the component of the temporal change rate of the displacement amount of the direction around each axis | shaft of a joint between.

また、前記実施形態におけるロボット1の各脚リンク3は、6自由度のリンク機構であるが、7自由度以上の自由度を有するリンク機構であってもよい。   In addition, each leg link 3 of the robot 1 in the embodiment is a link mechanism having 6 degrees of freedom, but may be a link mechanism having 7 degrees of freedom or more.

また、前記実施形態では、制御対象ベクトル↑Sの構成要素として、基体運動速度ベクトル↑Vbを含めるようにしたが、↑Vbを除外して、並進運動量ベクトル↑Pと角運動量ベクトル↑Lとから制御対象ベクトル↑Sを構成してもよい。   In the embodiment, the base body motion speed vector ↑ Vb is included as a component of the control target vector ↑ S. However, from the translational momentum vector ↑ P and the angular momentum vector ↑ L, excluding ↑ Vb. The control target vector ↑ S may be configured.

また、本発明の動作目標生成装置に関して言えば、対象とするロボットは前記ロボット1の如き脚式移動ロボットに限らず、例えば設置型の作業ロボットであってもよく、あるいは、移動のための手段として車輪もしくはクローラ等を備える移動型の作業ロボットであってもよい。   Further, regarding the motion target generation device of the present invention, the target robot is not limited to the legged mobile robot such as the robot 1, but may be, for example, an installation work robot or means for movement. A mobile work robot having wheels or a crawler may be used.

この場合、本発明の動作目標生成装置における第1状態量ベクトルとしては、例えば、上記の如き作業ロボットに備えた各関節の変位量の単位時間当たりの変化量を成分として構成されるベクトル等を採用することができる。また第2状態量ベクトルとしては、作業ロボットの先端部の位置又は姿勢の時間的変化率(並進速度又は回転角速度)、あるいは、該先端部に作用する力、あるいは、該作業ロボットの全体重心の並進運動量又は該全体重心周りの角運動量を成分として構成されるベクトル等を採用することができる。これらの第1状態量ベクトルや第2状態量ベクトルの種類は、ロボットの仕様や、要求される動作目標もしくは性能等を考慮して適宜、設計的に設定することができる。   In this case, as the first state quantity vector in the motion target generation device of the present invention, for example, a vector configured with the amount of change per unit time of the displacement amount of each joint included in the work robot as described above as a component, etc. Can be adopted. Further, the second state quantity vector includes a time change rate (translation speed or rotational angular velocity) of the position or posture of the tip of the work robot, a force acting on the tip, or the total center of gravity of the work robot. A vector or the like configured with a translational momentum or an angular momentum around the entire center of gravity as a component can be employed. The types of the first state quantity vector and the second state quantity vector can be appropriately set in design in consideration of the robot specifications, the required operation target or performance, and the like.

1…移動ロボット、2…基体、3R,3L…脚リンク、41…目標脚位置姿勢決定部(目標脚位置姿勢決定手段)、42…基本動作目標値決定部(目標制御対象ベクトル決定手段)、43…基本目標並進運動量修正部(目標制御対象ベクトル決定手段)、44…基本目標基体運動速度決定部(目標制御対象ベクトル決定手段)、45…基体運動速度目標値決定部(基体運動速度目標値決定手段、ヤコビアン行列決定手段)、46…目標基体位置姿勢決定部(目標基体位置姿勢決定手段)。   DESCRIPTION OF SYMBOLS 1 ... Mobile robot, 2 ... Base | substrate, 3R, 3L ... Leg link, 41 ... Target leg position / posture determination part (target leg position / posture determination means), 42 ... Basic motion target value determination part (target control object vector determination means), 43: Basic target translational momentum correction unit (target control target vector determination means) 44: Basic target base body motion speed determination section (target control target vector determination means) 45: Base body motion speed target value determination section (base motion speed target value) Determination means, Jacobian matrix determination means), 46... Target substrate position / posture determination unit (target substrate position / posture determination means).

Claims (4)

基体から延設されると共に複数の関節がそれぞれ備えられた複数の脚リンクの運動によって移動する脚式移動ロボットの各関節の変位量を規定する目標歩容を逐次生成する歩容生成装置であって、
前記目標歩容の構成要素としての前記移動ロボットの各脚リンクの先端部の位置及び姿勢の目標値である目標脚位置姿勢を逐次決定する目標脚位置姿勢決定手段と、
前記基体の位置及び姿勢の単位時間当たりの変化量を成分として構成される基体運動速度ベクトルを線形写像してなるベクトルとして表される制御対象ベクトルの目標値である目標制御対象ベクトルを逐次決定する目標制御対象ベクトル決定手段と、
前記線形写像を表すヤコビアン行列を逐次決定しつつ、該ヤコビアン行列の擬似逆行列を、前記目標制御対象ベクトルに乗じることにより、前記基体運動速度ベクトルの目標値を決定する基体運動速度目標値決定手段と、
前記決定された基体運動速度ベクトルの目標値を逐次積分することにより、前記目標歩容の構成要素としての前記基体の位置及び姿勢の目標値である目標基体位置姿勢を逐次決定する目標基体位置姿勢決定手段とを備え、
前記基体運動速度目標値決定手段は、前記基体運動速度ベクトルの新たな目標値を決定するために用いる前記ヤコビアン行列を決定するとき、既に決定された前記移動ロボットの目標歩容のうちの最新値の目標歩容に対応する時刻と前記基体運動速度ベクトルの新たな目標値に応じて目標基体位置姿勢が規定される新たな目標歩容に対応する時刻との間の期間内での前記移動ロボットの将来の歩容の瞬時値を、前記最新値の目標歩容とその直前の1つ以上の過去値の目標歩容とに基づいて推定し、その推定した将来の歩容の瞬時値を、前記基体運動速度ベクトルの新たな目標値による前記基体の位置及び姿勢の変化の起点となる前記移動ロボットの動作状態として用いて、該移動ロボットの当該起点の動作状態に対応する前記ヤコビアン行列を決定することを特徴とする脚式移動ロボットの歩容生成装置。
A gait generator that sequentially generates a target gait that defines a displacement amount of each joint of a legged mobile robot that extends from a base and moves by movement of a plurality of leg links each provided with a plurality of joints. And
Target leg position / posture determination means for sequentially determining a target leg position / posture which is a target value of the position and posture of the tip of each leg link of the mobile robot as a component of the target gait;
A target control target vector, which is a target value of a control target vector expressed as a vector obtained by linearly mapping a base body motion speed vector composed of the amount of change per unit time in the position and orientation of the base body, is sequentially determined. A target control target vector determining means;
Substrate motion speed target value determining means for sequentially determining the Jacobian matrix representing the linear mapping and multiplying the target control target vector by the pseudo inverse matrix of the Jacobian matrix to determine the target value of the base body motion speed vector When,
A target substrate position / posture that sequentially determines a target substrate position / posture that is a target value of the position / posture of the base as a component of the target gait by sequentially integrating the determined target values of the base body velocity vector. A determination means,
The base body motion speed target value determining means determines the Jacobian matrix used for determining a new target value of the base body motion speed vector, and is the latest value of the already determined target gaits of the mobile robot. The mobile robot within a period between a time corresponding to a target gait of the robot and a time corresponding to a new target gait in which a target base body position / posture is defined according to a new target value of the base body motion speed vector Is estimated based on the latest target gait and the previous one or more target gaits of the past value, and the estimated future gait instantaneous value is: The Jacobian matrix corresponding to the operating state of the starting point of the mobile robot, which is used as the operating state of the mobile robot that becomes the starting point of the change in the position and orientation of the base body by the new target value of the base body motion velocity vector Determining gait generating device of a legged mobile robot which is characterized in that.
請求項1記載の脚式移動ロボットの歩容生成装置において、
前記基体運動速度目標値決定手段は、前記最新値の目標歩容における目標基体位置姿勢と該最新値の目標歩容の1つ前の過去値の目標歩容における目標基体位置姿勢との差分に“0”と“1”との間の範囲内であらかじめ定めた係数Kを乗じてなる補正量を、前記最新値の目標歩容における目標基体位置姿勢に加えることにより該目標基体位置姿勢の将来の瞬時値を推定する手段と、各脚リンク毎に前記最新値の目標歩容における目標脚位置姿勢と該最新値の1つ前の過去値の目標歩容における目標脚位置姿勢との差分に前記係数Kを乗じてなる補正量を、前記最新値の目標歩容における目標脚位置姿勢に加えることにより各脚リンクの目標脚位置姿勢の将来の瞬時値を推定する手段とを備え、前記推定された目標基体位置姿勢の将来の瞬時値と各脚リンクの目標脚位置姿勢の将来の瞬時値とを構成要素とする歩容を、前記移動ロボットの当該起点の動作状態として用いることを特徴とする脚式移動ロボットの歩容生成装置。
The gait generator for a legged mobile robot according to claim 1,
The base body movement speed target value determining means is configured to calculate a difference between a target base body position / posture in the latest target gait and a target base body position / posture in a previous target gait immediately before the latest target gait. By adding a correction amount obtained by multiplying a predetermined coefficient K within the range between “0” and “1” to the target base body position / posture in the latest target gait, the future of the target base body position / posture And a difference between the target leg position / posture in the target gait with the latest value and the target leg position / posture in the target gait with the previous previous value of the latest value for each leg link. Means for estimating a future instantaneous value of the target leg position / posture of each leg link by adding a correction amount obtained by multiplying the coefficient K to the target leg position / posture of the latest target gait. Future moment of the desired target body position and orientation The future of gait instantaneous value and the components, the gait generation system of a legged mobile robot which comprises using as the operating state of the starting point of the mobile robot of the target leg position and posture of each leg link.
請求項1又は2記載の脚式移動ロボットの歩容生成装置において、
前記制御対象ベクトルは、その成分として、少なくとも前記移動ロボットの全体重心の並進運動量ベクトルの各成分と該全体重心周りの角運動量ベクトルの各成分とを含むベクトルであることを特徴とする脚式移動ロボットの歩容生成装置。
The gait generator for a legged mobile robot according to claim 1 or 2,
The control object vector is a legged movement characterized in that the vector includes at least each component of the translational momentum vector of the overall center of gravity of the mobile robot and each component of the angular momentum vector around the overall center of gravity of the mobile robot. Robot gait generator.
複数のリンクを複数の関節により連結して構成されたロボットの所定種類の状態量の単位時間当たりの変化量を成分として構成される第1状態量ベクトルと、該第1状態量ベクトルを線形写像してなるベクトルとして表される第2状態量ベクトルとの間の前記線形写像を表すヤコビアン行列を逐次決定しつつ、該ヤコビアン行列を用いて前記ロボットの各関節の変位量を規定する該ロボットの動作目標を逐次決定する装置において、
前記ロボットの新たな動作目標を決定するとき、既に決定された前記ロボットの動作目標のうちの最新値の動作目標に対応する時刻と新たな動作目標に対応する時刻との間の期間内での前記ロボットの将来の動作目標の瞬時値を、前記最新値の動作目標とその直前の1つ以上の過去値の動作目標とに基づいて推定し、その推定した将来の動作目標の瞬時値を、前記第1状態量ベクトルによる前記所定種類の状態量の変化の起点となる前記ロボットの動作状態として用いて、該ロボットの当該起点の動作状態に対応する前記ヤコビアン行列を決定するヤコビアン行列決定手段を備えることを特徴とするロボットの動作目標生成装置。
A first state quantity vector composed of a change amount per unit time of a predetermined kind of state quantity of a robot configured by connecting a plurality of links by a plurality of joints, and a linear mapping of the first state quantity vector The robot of the robot defining a displacement amount of each joint of the robot using the Jacobian matrix while sequentially determining a Jacobian matrix representing the linear mapping between the second state quantity vector expressed as a vector In an apparatus for sequentially determining an operation target,
When determining a new motion target of the robot, a time period between a time corresponding to the latest motion target of the robot motion targets already determined and a time corresponding to the new motion target is determined. An instantaneous value of the future motion target of the robot is estimated based on the latest motion target and one or more previous motion targets immediately before, and the estimated future motion target instantaneous value is Jacobian matrix determining means for determining the Jacobian matrix corresponding to the operation state of the starting point of the robot, using the operation state of the robot as a starting point of the change of the predetermined type of state amount by the first state amount vector. A robot motion target generation apparatus comprising:
JP2011265277A 2011-12-02 2011-12-02 Gait generator for legged mobile robot and motion target generator for robot Active JP5623376B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011265277A JP5623376B2 (en) 2011-12-02 2011-12-02 Gait generator for legged mobile robot and motion target generator for robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011265277A JP5623376B2 (en) 2011-12-02 2011-12-02 Gait generator for legged mobile robot and motion target generator for robot

Publications (2)

Publication Number Publication Date
JP2013116530A true JP2013116530A (en) 2013-06-13
JP5623376B2 JP5623376B2 (en) 2014-11-12

Family

ID=48711442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011265277A Active JP5623376B2 (en) 2011-12-02 2011-12-02 Gait generator for legged mobile robot and motion target generator for robot

Country Status (1)

Country Link
JP (1) JP5623376B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016172309A (en) * 2015-03-18 2016-09-29 トヨタ自動車株式会社 Multi-point contact robot, and method and program for controlling multi-point contact robot
CN115407791A (en) * 2022-08-19 2022-11-29 沈阳工业大学 Walking training robot track tracking method considering gravity center shift influence

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168605A (en) * 1993-09-10 1995-07-04 Fujitsu Ltd System identifying device
JP2004237403A (en) * 2003-02-06 2004-08-26 Toyota Motor Corp Data creation device for controlling bipedal robot and calculation method of zmp position
WO2005068136A1 (en) * 2004-01-13 2005-07-28 Honda Motor Co., Ltd. Gait generator for mobile robot
JP2006315095A (en) * 2005-05-10 2006-11-24 Toyota Motor Corp Robot and control method for it
JP2011152634A (en) * 2009-12-28 2011-08-11 Honda Motor Co Ltd Control device for robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168605A (en) * 1993-09-10 1995-07-04 Fujitsu Ltd System identifying device
JP2004237403A (en) * 2003-02-06 2004-08-26 Toyota Motor Corp Data creation device for controlling bipedal robot and calculation method of zmp position
WO2005068136A1 (en) * 2004-01-13 2005-07-28 Honda Motor Co., Ltd. Gait generator for mobile robot
JP2006315095A (en) * 2005-05-10 2006-11-24 Toyota Motor Corp Robot and control method for it
JP2011152634A (en) * 2009-12-28 2011-08-11 Honda Motor Co Ltd Control device for robot

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016172309A (en) * 2015-03-18 2016-09-29 トヨタ自動車株式会社 Multi-point contact robot, and method and program for controlling multi-point contact robot
CN115407791A (en) * 2022-08-19 2022-11-29 沈阳工业大学 Walking training robot track tracking method considering gravity center shift influence
CN115407791B (en) * 2022-08-19 2023-12-12 沈阳工业大学 Walking training robot track tracking method considering gravity center offset influence

Also Published As

Publication number Publication date
JP5623376B2 (en) 2014-11-12

Similar Documents

Publication Publication Date Title
JP5661023B2 (en) Gait generator for legged mobile robot and motion target generator for robot
US8204625B2 (en) Gait creation device of leg-type mobile robot
JP4800037B2 (en) Gait generator for mobile robot
US7991508B2 (en) Gait generating system and control device of legged mobile robot
US7873436B2 (en) Gait generator for mobile robot
KR101131775B1 (en) Controller of leg type moving robot
US7734377B2 (en) Gait generator of legged mobile robot
US8504208B2 (en) Mobile object controller and floor surface estimator
US7840309B2 (en) Gait generating device of legged mobile robot
US8682488B2 (en) Humanoid robot and walking control method thereof
JP6228079B2 (en) Mobile robot motion target generator
JP5623375B2 (en) Gait generator for legged mobile robot
JP6240590B2 (en) Mobile robot controller
JP5623376B2 (en) Gait generator for legged mobile robot and motion target generator for robot
JP5616289B2 (en) Floor surface estimation device
JP2009107033A (en) Legged mobile robot and its control method
JP5616288B2 (en) Control device for moving body
JP4946566B2 (en) Walking robot and walking control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140811

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140924

R150 Certificate of patent or registration of utility model

Ref document number: 5623376

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250