JP4488811B2 - Robot control method and robot system - Google Patents

Robot control method and robot system Download PDF

Info

Publication number
JP4488811B2
JP4488811B2 JP2004193361A JP2004193361A JP4488811B2 JP 4488811 B2 JP4488811 B2 JP 4488811B2 JP 2004193361 A JP2004193361 A JP 2004193361A JP 2004193361 A JP2004193361 A JP 2004193361A JP 4488811 B2 JP4488811 B2 JP 4488811B2
Authority
JP
Japan
Prior art keywords
robot
target
representative point
calculated
reference position
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004193361A
Other languages
Japanese (ja)
Other versions
JP2006015430A (en
Inventor
仁志 蓮沼
勝己 中嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Motors Ltd
Original Assignee
Kawasaki Jukogyo KK
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 Kawasaki Jukogyo KK filed Critical Kawasaki Jukogyo KK
Priority to JP2004193361A priority Critical patent/JP4488811B2/en
Publication of JP2006015430A publication Critical patent/JP2006015430A/en
Application granted granted Critical
Publication of JP4488811B2 publication Critical patent/JP4488811B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ヒューマノイドなどの自由度の高いロボットをリアルタイムで制御することができるロボット制御方法に関する。   The present invention relates to a robot control method capable of controlling a robot with a high degree of freedom such as a humanoid in real time.

昨今、研究教育分野あるいはエンターテイメント分野での人間型ロボットが脚光を浴びている。しかし、これらの人間型ロボットは、自由度が少なく、人間が行う作業をそのまま肩代わりしてくれるものではない。人間が作業を行う環境と同じ環境で、人間が行う作業をそのまま肩代わりすることができる人間型ロボットの実用化が期待されている。   Recently, humanoid robots in the field of research and education or entertainment are in the spotlight. However, these humanoid robots have a low degree of freedom and do not simply take over the work performed by humans. Practical use of humanoid robots that can take over human work in the same environment as human work is expected.

図24は、人間型ロボットの概略の構成を示す図である。ロボット1は、人間型ロボットであり、頭部2、腕部3a,3b、胴体部4、脚部5a,5b、手部6a,6bを含んで構成される。頭部2は、人間の頭に相当する部位であり、1つのリンクと1つの連結部からなる。腕部3a,3bは、人間の腕に相当する部位であり、それぞれ2つのリンクと3つの連結部からなり、胴体部4は、人間の胴体に相当する部位であり、2つのリンクと1つの連結部からなる。脚部5a,5bは、人間の脚に相当する部位であり、それぞれ3つのリンクと3つの連結部からなり、手部6a,6bは、人間の手に相当する部位であり、1つのリンク部と1つの連結部からなる。連結部は、1つまたは複数のジョイントから構成され、リンクとリンクとを連結する部位である。このジョイントは、1つの自由度を有する。   FIG. 24 is a diagram showing a schematic configuration of a humanoid robot. The robot 1 is a humanoid robot, and includes a head 2, arms 3a and 3b, a torso 4, legs 5a and 5b, and hands 6a and 6b. The head 2 is a part corresponding to a human head, and includes one link and one connecting portion. The arm portions 3a and 3b are portions corresponding to a human arm, each including two links and three connecting portions, and the body portion 4 is a portion corresponding to a human torso and includes two links and one link. Consists of connecting parts. The leg portions 5a and 5b are portions corresponding to human legs, each including three links and three connecting portions, and the hand portions 6a and 6b are portions corresponding to human hands and include one link portion. And one connecting portion. A connection part is a site | part comprised from 1 or several joints, and connects a link and a link. This joint has one degree of freedom.

人間型ロボットは、さらに指などの自由度を含めると、自由度が30自由度を超えることもあり、20自由度以上のロボットを超多自由度ロボットと呼ぶことがある。このような超多自由度ロボットは、実際の作業を行うために必要な自由度に比べ、多くの冗長な軸に自由度を有する。ロボットを動作させるためには、ロボットの位置と姿勢をロボットに指示する必要がある。具体的には、その位置と姿勢を実現するロボットの各軸の値、たとえば角度を計算して、計算した値をロボットの各軸に指令する必要がある。軸の値が既知の軸以外の軸について、各軸の値を求める方法として、評価関数を用いて、各軸の値を変化させて評価関数が最適な値になる各軸の値を導出し、導出された各軸の値をロボットの各軸に指令する各軸の値として求める方法がある。   If the humanoid robot further includes a degree of freedom such as a finger, the degree of freedom may exceed 30 degrees of freedom, and a robot with 20 degrees of freedom or more may be referred to as a super multi-degree-of-freedom robot. Such a super multi-degree-of-freedom robot has a degree of freedom in many redundant axes as compared with the degree of freedom necessary for performing actual work. In order to operate the robot, it is necessary to instruct the robot position and posture. Specifically, it is necessary to calculate a value of each axis of the robot that realizes the position and orientation, for example, an angle, and to command the calculated value to each axis of the robot. For axes other than axes with known axis values, use the evaluation function to derive the value of each axis that changes the value of each axis to obtain the optimal value for the evaluation function. There is a method of obtaining the derived value of each axis as the value of each axis commanded to each axis of the robot.

図25は、評価関数を用いてロボットの各軸の値を求める方法を説明するための図である。作業目標情報(以下作業目標という)、たとえば手先の移動先の位置が指示され、ロボットの各軸の値を求めるときに本処理が行われる。ステップA1では、作業目標が指示される。ステップA2では、冗長軸に対する各軸の値に初期値を設定する。ステップA3では、評価関数に各軸の値を代入して評価値を計算する。ステップA4では、評価関数が最適な評価値になる各軸の値が求まったか否か判定する。最適な評価値になる各軸の値が求まったときは、ステップA5に進み、最適な評価値になる各軸の値が求まらなかったときは、ステップA6に進む。   FIG. 25 is a diagram for explaining a method of obtaining values of each axis of the robot using the evaluation function. This processing is performed when work target information (hereinafter referred to as work target), for example, the position of the movement destination of the hand is instructed and the values of each axis of the robot are obtained. In step A1, a work target is instructed. In step A2, initial values are set for the values of each axis with respect to the redundant axis. In step A3, the evaluation value is calculated by substituting the value of each axis into the evaluation function. In step A4, it is determined whether or not the value of each axis for which the evaluation function is the optimal evaluation value is obtained. When the value of each axis that becomes the optimum evaluation value is obtained, the process proceeds to step A5, and when the value of each axis that becomes the optimum evaluation value is not obtained, the process proceeds to step A6.

ステップA5では、求めた各軸の値をロボットに指令して終了する。ステップA6では、冗長軸に対する各軸の値を変更して、ステップA3に戻る。このように、評価値が最適になる各軸の値を、計算を繰り返すことによって求めることができる。   In step A5, the obtained value of each axis is instructed to the robot, and the process ends. In step A6, the value of each axis with respect to the redundant axis is changed, and the process returns to step A3. In this way, the value of each axis that optimizes the evaluation value can be obtained by repeating the calculation.

人間が指示することができる自由度は、高々12自由度であり、たとえば、マスターアームなどの操縦装置を用いて指示する場合でも12自由度であり、残りの自由度については、計算で求める必要がある。人間型ロボットの場合、残りの自由度は18自由度以上である。このような計算は、上述した評価関数を用いて繰り返し計算で行われるため、計算時間がかかる。そのため計算能力の高いコンピュータを用いてオフラインで計算する必要があり、実時間で計算して、つまり指示が与えられると即時に各軸の値を計算して人間型ロボットに指令することは難しい。   The degree of freedom that can be instructed by a human being is 12 degrees of freedom at most. For example, even when using a control device such as a master arm, the degree of freedom is 12 degrees of freedom, and the remaining degrees of freedom need to be calculated. There is. In the case of a humanoid robot, the remaining degrees of freedom are 18 degrees or more. Since such a calculation is repeatedly performed using the above-described evaluation function, it takes a long calculation time. For this reason, it is necessary to calculate offline using a computer with high calculation capability, and it is difficult to calculate in real time, that is, when an instruction is given, immediately calculate the value of each axis and instruct the humanoid robot.

人間型ロボットを制御する第1の従来技術として、人間の意識動作に対応する動作を操作者によるジョイスティック操作によってロボットに指示を与え、人間の無意識動作に対応する動作をロボットの自律制御で実現する方法を提案している。この方法は、意識して動かしたい部位をスイッチで切替えて選択して指示する方法であって、作業目的に応じてロボットの自律制御を実現する方法を示したものではない(たとえば非特許文献1参照)。   As a first conventional technique for controlling a humanoid robot, an operation corresponding to a human conscious movement is given to the robot by a joystick operation by an operator, and an operation corresponding to a human unconscious movement is realized by autonomous control of the robot. Proposed method. This method is a method of switching and selecting a part to be moved consciously with a switch and instructing it, and does not indicate a method for realizing autonomous control of a robot according to a work purpose (for example, Non-Patent Document 1). reference).

人間型ロボットを制御する第2の従来技術として、人間型ロボットの手先に対して目標位置と目標外力が与えられた場合、ロボットが転倒しないように脚部を自律制御によって動作させる実時間制御方法がある。この方法では、評価関数を用いて最急降下法による繰り返し計算で肩の最適な位置を計算し、2次元モデルのロボットの最適な姿勢を求めているものであり、ロボットの自由度が増大すれば、評価するパラメータは増え、ロボット全体姿勢の評価に対する最適化計算は、非常に計算量が多くなり、実時間性を損なう可能性がある(たとえば非特許文献2参照)。   As a second conventional technique for controlling a humanoid robot, when a target position and a target external force are given to the hand of the humanoid robot, a real-time control method for operating the leg portion by autonomous control so that the robot does not fall down There is. In this method, the optimal position of the shoulder is calculated by iterative calculation by the steepest descent method using the evaluation function, and the optimal posture of the robot of the two-dimensional model is obtained. If the degree of freedom of the robot increases, The number of parameters to be evaluated is increased, and the optimization calculation for the evaluation of the overall robot posture is very computationally intensive and may impair the real-time performance (see Non-Patent Document 2, for example).

人間型ロボットを実時間で操作するときに、操作者の意図通りにロボットの動作を実現するためには、操作者からのロボットの一部に対する指示に基づいて、他の冗長度のある軸の値を短時間で計算する必要がある。特に、遠隔操作によってロボットを制御するときは、ロボットと遠隔操作装置との間の通信の実時間性だけでなく、ロボットに搭載されたコンピュータによって、ロボットの各軸の値を計算する計算周期毎にロボットへの指示を行なうことができる実時間性が重要である。人間型ロボット以外のロボットについても、ロボットの各軸の値の計算は評価関数を用いているので、自由度が20自由度以上になると、計算時間がかかる。   When operating a humanoid robot in real time, in order to achieve the robot's movement as intended by the operator, other redundant axes can be operated based on instructions from the operator to a part of the robot. The value needs to be calculated in a short time. In particular, when controlling a robot by remote operation, not only the real-time property of communication between the robot and the remote control device, but also every calculation cycle in which the value of each axis of the robot is calculated by a computer installed in the robot. It is important to be able to give instructions to the robot in real time. Also for robots other than humanoid robots, the calculation of the value of each axis of the robot uses an evaluation function. Therefore, if the degree of freedom is 20 degrees or more, it takes time to calculate.

Neo Ee Sian、他4名、「ヒューマノイドロボットの全身遠隔操作-モーメンタム・コントロールを用いた全身運動生成-(Whole Body Teleoperation of a Humanoid Robot-A Method of Integrating Operator's Intention and Robot's Autonomy-)」、Proc. IEEE Int. Conf. Robotics and Automation、2003年Neo Ee Sian, 4 others, “Whole Body Teleoperation of a Humanoid Robot-A Method of Integrating Operator's Intention and Robot's Autonomy”, Proc. IEEE Int. Conf. Robotics and Automation, 2003 井上健司、他2名、「腕で作業をしながら移動する人間型ロボットの実時間制御(Sagittal Plane内の運動の制御)」、日本ロボット学会誌18巻1号、2000年1月、P75−86Kenji Inoue and two others, “Real-time control of a humanoid robot that moves while working with arms (control of movement in the Sagittal Plane)”, Journal of the Robotics Society of Japan, Vol. 18, No. 1, January 2000, P75- 86

しかしながら、上述した第1の従来技術は、人間の無意識動作に対応する動作をロボットの自律制御で実現する1つの方法を提案しているが、作業目標に応じた自律制御をどのように実現するかについては示していない。   However, although the above-described first conventional technique proposes one method for realizing an operation corresponding to a human unconscious movement by the autonomous control of the robot, how to realize the autonomous control according to the work target. It is not shown.

上述した第2の従来技術は、ロボットに指令するための各軸の値を、評価関数を用いた繰り返し計算によって求めているために計算時間がかかり、実時間制御を行うことができないという課題がある。   The second prior art described above has a problem that it takes time to calculate the values of each axis for instructing the robot by repeated calculation using an evaluation function, and real-time control cannot be performed. is there.

本発明の目的は、自由度の高いロボットにおいて、作業目標に応じた自律制御を行うためのロボットの各軸の値を短時間に求めることができるロボット制御方法およびロボットシステムを提供することである。   An object of the present invention is to provide a robot control method and a robot system capable of obtaining the values of each axis of a robot for performing autonomous control according to a work target in a short time in a robot with a high degree of freedom. .

本発明は、複数のリンクと各リンクを相互に連結する複数の連結部によって構成されるロボットを制御対象として分割した複数の制御対象領域毎に、前記ロボットが行うべき動作を示す作業目標を達成するための1つの動作条件を予め設定し、かつ作業目標を達成するための制御対象領域毎の目標位置を計算する順序を表す優先度を動作条件の優先度として予め設定する設定工程と
作業目標を表す作業目標情報が指示されたとき、前記制御対象領域毎に、前記制御対象領域に含まれる部位のうちで前記制御対象領域の移動先位置が計算される部位である代表点が前記動作条件に合致する位置を、前記代表点の移動先位置の候補である参照位置として計算する参照位置計算工程と、
前記参照位置計算工程で代表点毎に計算された参照位置に基づいて、前記動作条件の優先度に従って、前記各代表点を移動させるべき目標位置を計算する目標位置計算工程と、
前記目標位置計算工程で計算された目標位置に基づいて前記ロボットの各軸の値を計算する各軸値計算工程と、
前記各軸値計算工程で計算された各軸の値をロボットの各軸に指令する指令工程とを含むことを特徴とするロボット制御方法である。
The present invention, a plurality of control target each area obtained by dividing a robot composed of a plurality of coupling portions as a control object for connecting a plurality of links and each link to each other, the work target indicating an action to the robot performs A setting step for presetting one priority for representing the order of calculating the target position for each control target area for achieving a work target as a priority for the operation condition ;
When work target information representing a work target is instructed , a representative point that is a part for which a movement destination position of the control target area is calculated among the parts included in the control target area for each control target area is A reference position calculation step of calculating a position that matches an operation condition as a reference position that is a candidate for a destination position of the representative point;
Based on the calculated reference position for each representative point in the reference position calculating step, according to the priorities of the operating conditions, and a target position calculating step of calculating a base Ki goal position for moving the respective representative points,
Each axis value calculation step for calculating the value of each axis of the robot based on the target position calculated in the target position calculation step;
And a commanding step of commanding each axis of the robot to the value of each axis calculated in each axis value calculating step.

本発明に従えば、まず、リンクと各リンクを連結する連結部とから構成されるロボットを制御対象として分割した複数の制御対象領域毎に1つの動作条件を予め設定し、かつ目標位置を計算する順序を表す優先度を動作条件の優先度として予め設定する。そして、前記ロボットに作業目標情報が指示されたときに、前記制御対象領域毎に、前記制御対象領域に含まれる部位のうちで前記制御対象領域の移動先位置が計算される部位である代表点が前記動作条件に合致する位置を、前記代表点の移動先位置の候補である参照位置として計算する。次に、代表点毎に計算された参照位置に基づいて、前記動作条件の優先度に従って、前記各代表点を移動させるべき目標位置を計算し、計算された目標位置に基づいて前記ロボットの各軸の値を計算し、計算された各軸の値をロボットの各軸に指令する。 According to the present invention, first, preset one operating condition and a connecting portion for connecting the links and each link in the plurality of control target each area divided as a control target robot configured, and the target position The priority indicating the order of calculation is set in advance as the priority of the operation condition. And when work target information is instructed to the robot, a representative point that is a part for which the movement destination position of the control target area is calculated among the parts included in the control target area for each control target area Is calculated as a reference position that is a candidate for the destination position of the representative point. Then, based on the calculated reference position for each representative point, according to the priorities of the operating conditions, the calculated the base Ki goal position moving the representative points, the robot on the basis of the calculated target position The value of each axis is calculated, and the calculated value of each axis is commanded to each axis of the robot.

このように、ロボットの各軸の値を制御対象領域毎に計算するので、ロボット全体としての繰り返し計算が不要になり、自由度の高いロボットにおいて、作業目標に応じた自律制御を行うためのロボットの各軸の値を短時間に求めることができる。   In this way, since the value of each axis of the robot is calculated for each control target area, it is not necessary to repeatedly calculate the entire robot, and the robot for performing autonomous control according to the work target in a robot with a high degree of freedom. The value of each axis can be obtained in a short time.

また本発明は、前記目標位置計算工程では、前記参照位置計算工程で代表点毎に計算された参照位置が、各代表点が移動することができる移動可能範囲内の所定の範囲である移動許諾範囲内にあるときは、各代表点の参照位置を各代表点の目標位置として計算し、
前記参照位置計算工程で代表点毎に計算された参照位置が対応する代表点の移動許諾範囲内にないときは、前記移動許諾範囲内の位置であって、各制御対象領域の参照位置に最も近い移動許諾範囲内の条件を満たす位置を、各代表点の目標位置として計算することを特徴とする。
According to the present invention, in the target position calculation step, the movement permission that the reference position calculated for each representative point in the reference position calculation step is a predetermined range within a movable range in which each representative point can move. When it is within the range, the reference position of each representative point is calculated as the target position of each representative point,
When the reference position calculated for each representative point in the reference position calculation step is not within the movement permission range of the corresponding representative point, it is the position within the movement permission range and is the closest to the reference position of each control target area. A position satisfying a condition within a close movement permission range is calculated as a target position of each representative point.

本発明に従えば、制御対象領域毎に計算した参照位置が代表点の移動許諾範囲内でないときも、移動許諾範内の位置に目標位置を計算するので、許容される範囲内で動作が可能な各軸の値を短時間に求めることができる。   According to the present invention, even when the reference position calculated for each control target area is not within the movement permission range of the representative point, the target position is calculated at a position within the movement permission range, so that the operation can be performed within the allowable range. The value of each axis can be obtained in a short time.

また本発明は、前記目標位置計算工程では、代表点の目標位置を計算しようとする制御対象領域に隣接する制御対象領域の代表点がすでに計算されているときは、すでに計算された隣接する制御対象領域の代表点の目標位置を基準として制御対象領域の代表点の目標位置を計算することを特徴とする。 In the target position calculating step, when the representative point of the control target area adjacent to the control target area for which the target position of the representative point is to be calculated has already been calculated, the adjacent control already calculated is calculated. The target position of the representative point of the control target area is calculated on the basis of the target position of the representative point of the target area.

本発明に従えば、隣接する制御対象領域の代表点の目標位置の計算を、優先度の高い動作条件が設定された制御対象領域の目標位置を基準に計算しているので、すなわち、他の制御対象領域との関係を考慮する必要がないので、計算量を少なくでき、ロボットの各軸の値を短時間に求めることができる。   According to the present invention, the calculation of the target position of the representative point of the adjacent control target area is calculated based on the target position of the control target area in which the operation condition having a high priority is set. Since it is not necessary to consider the relationship with the control target area, the amount of calculation can be reduced, and the value of each axis of the robot can be obtained in a short time.

また本発明は、前記各代表点の移動許諾範囲を対応する移動可能範囲で除した割合が、優先度の高い動作条件が設定された制御対象領域のほうが優先度の低い動作条件が設定された制御対象領域より小さいことを特徴とする。   Further, according to the present invention, an operation condition having a lower priority is set in a control target area in which an operation condition having a higher priority is set, by dividing the movement permission range of each representative point by a corresponding movable range. It is smaller than the control target area.

本発明に従えば、優先度の高い動作条件が設定された制御対象領域の代表点の移動可能範囲に対する移動許諾範囲の割合を、優先度の低い動作条件が設定された制御対象領域より小さくしているので、優先度の高い動作条件が設定された制御対象領域の代表点の目標位置の影響を少なくすることができる。   According to the present invention, the ratio of the movement permission range to the movable range of the representative point of the control target area for which the high-priority operation condition is set is made smaller than the control target area for which the low-priority operation condition is set. Therefore, it is possible to reduce the influence of the target position of the representative point of the control target area in which the operation condition with high priority is set.

また本発明は、前記制御対象領域毎の代表点の参照位置を並行して計算することを特徴とする。   Further, the present invention is characterized in that a reference position of a representative point for each of the control target areas is calculated in parallel.

本発明に従えば、制御対象領域毎の代表点の参照位置を並行して計算するので、参照位置の計算時間を短時間に行うことができ、さらにロボットの各軸の値を短時間に求めることができる。   According to the present invention, since the reference position of the representative point for each control target area is calculated in parallel, the calculation time of the reference position can be performed in a short time, and further, the value of each axis of the robot is obtained in a short time. be able to.

また本発明は、前記制御対象領域内の各軸の値を制御対象領域毎に並行して計算することを特徴とする。   Further, the present invention is characterized in that the value of each axis in the control target area is calculated in parallel for each control target area.

本発明に従えば、制御対象領域内の各軸の値を制御対象領域毎に並行して計算するので、ロボット全体の各軸の値の計算時間を短時間に行うことができる。   According to the present invention, since the value of each axis in the control target area is calculated in parallel for each control target area, the calculation time of the value of each axis of the entire robot can be shortened.

また本発明は、前記ロボットは、20自由度以上の自由度を有することを特徴とする。
本発明に従えば、繰り返し計算を行わないので、20自由度以上の自由度を有するロボットについて、従来技術による計算時間に比べて、ロボットの各軸の値をより短時間に求めることができる。
In the invention, it is preferable that the robot has 20 degrees of freedom or more.
According to the present invention, since iterative calculation is not performed, the value of each axis of the robot can be obtained in a shorter time than the calculation time according to the prior art for a robot having 20 degrees of freedom or more.

また本発明は、前記制御対象領域の自由度は、6自由度以下であることを特徴とする。
本発明に従えば、制御対象領域の自由度が6自由度以下であるので、つまり制御対象領域内の自由度が少ないので、冗長な自由度を少なくでき、制御対象領域内の各軸の値の計算時間を短くでき、さらにロボットの各軸の値を短時間に求めることができる。
Further, the invention is characterized in that the degree of freedom of the control target area is 6 degrees of freedom or less.
According to the present invention, since the degree of freedom of the control target area is 6 degrees or less, that is, the degree of freedom in the control target area is small, the redundant degree of freedom can be reduced, and the value of each axis in the control target area. The calculation time can be shortened, and the value of each axis of the robot can be obtained in a short time.

また本発明は、前記ロボットは、人間の腕に相当する腕部、人間の胴体に相当する胴体部、人間の脚に相当する脚部とを含む人間型ロボットであり、前記腕部、前記胴体部、および前記脚部をそれぞれ制御対象領域とすることを特徴とする。   Further, the present invention is a humanoid robot including an arm portion corresponding to a human arm, a torso portion corresponding to a human torso, and a leg portion corresponding to a human leg, and the arm portion and the torso And the leg are defined as control target regions.

本発明に従えば、人間型ロボットを腕部、胴体部、および脚部の制御対象領域に分割するので、30自由度以上の自由度の人間型ロボットにも適用することができる。   According to the present invention, since the humanoid robot is divided into the control target areas of the arm part, the torso part, and the leg part, it can be applied to a humanoid robot having 30 degrees of freedom or more.

また本発明は、前記人間型ロボットは、前記腕部の代表点が手先、前記胴体部の代表点が肩、および前記脚部の代表点が腰であり、前記制御対象領域の代表点の移動許諾範囲の移動可能範囲に対する割合が、腰の代表点の割合が肩部の代表点の割合より小さく、かつ肩の代表点の割合が手先の代表点の割合より小さいことを特徴とする。   According to the present invention, in the humanoid robot, the representative point of the arm part is a hand, the representative point of the torso part is a shoulder, and the representative point of the leg part is a waist, and the representative point of the control target area is moved. The ratio of the permitted range to the movable range is characterized in that the ratio of the representative point of the waist is smaller than the ratio of the representative point of the shoulder, and the ratio of the representative point of the shoulder is smaller than the ratio of the representative point of the hand.

本発明に従えば、腰の移動可能範囲に対する移動許諾範囲の割合を肩より小さくし、かつ肩の移動可能範囲に対する移動許諾範囲の割合を手先より小さくしているので、優先度の高い動作条件が設定された脚部の代表点である腰の目標位置の影響を肩および手先より、および肩の目標位置の影響を手先より少なくすることができる。   According to the present invention, the ratio of the movement permission range to the waist movable range is smaller than the shoulder, and the ratio of the movement permission range to the shoulder movable range is smaller than the hand, so that the operation condition with high priority is high. It is possible to reduce the influence of the target position of the waist, which is a representative point of the leg portion set with, from the shoulder and the hand, and the influence of the target position of the shoulder from the hand.

また本発明は、前記参照位置計算工程で、腰の参照位置を計算する際、腰の速度が肩の速度に比例した速度となるように計算することを特徴とする。 The present invention, in the reference position calculating step, when calculating the reference position of the waist, the speed of the waist, characterized in that calculated as a speed proportional to the speed of the shoulder.

本発明に従えば、腰の移動速度を肩の移動速度に比例させているので、胴体部の前屈量を抑えることができる。   According to the present invention, the waist moving speed is proportional to the shoulder moving speed, so that the amount of forward bending of the body portion can be suppressed.

また本発明は、複数のリンクと各リンクを相互に連結する複数の連結部によって構成されるロボットに、前記ロボット制御方法を実行するコンピュータを搭載したことを特徴とするロボットシステムである。   According to another aspect of the present invention, there is provided a robot system in which a computer configured to execute the robot control method is mounted on a robot including a plurality of links and a plurality of connecting portions that connect the links to each other.

本発明に従えば、ロボットに前記ロボット制御方法を実行するコンピュータを搭載しているので、外部の遠隔操作装置から指示する制御情報が作業目標情報に関する情報だけでよく、ロボットシステムと遠隔操作装置との通信情報量を少なくすることができ、さらにロボットの各軸の値を短時間に求めることができる。   According to the present invention, since the robot is equipped with a computer that executes the robot control method, the control information instructed from the external remote operation device may be only information related to the work target information. The amount of communication information can be reduced, and the value of each axis of the robot can be obtained in a short time.

また本発明は、前記ロボットは、作業目標情報を決定するための検知手段を有し、前記検知手段で検知された情報に基づいて作業目標情報を生成し、生成された作業目標情報を前記ロボットの作業目標情報とすることを特徴とする。   According to the present invention, the robot has detection means for determining work target information, generates work target information based on information detected by the detection means, and uses the generated work target information as the robot. It is characterized by the above-mentioned work target information.

本発明に従えば、ロボットが有する検知手段からの情報に基づいてロボットシステムが生成した新たな作業目標情報をロボットへの新たな作業目標情報とすることができるので、より自律したロボットシステムを実現することができ、さらにロボットの各軸の値を短時間に求めることができる。   According to the present invention, the new work target information generated by the robot system based on the information from the detection means of the robot can be used as the new work target information for the robot, thereby realizing a more autonomous robot system. In addition, the value of each axis of the robot can be obtained in a short time.

また本発明は、複数のリンクと各リンクを相互に連結する複数の連結部によって構成されるロボットを制御対象とする複数の制御対象領域に分割する分割工程と、
前記制御対象領域毎に、前記制御対象領域に含まれる部位のうちで前記制御対象領域の移動先位置が計算される部位である代表点を決定する決定工程と、
前記分割工程で分割された複数の制御対象領域毎に、前記ロボットが行うべき動作を示す作業目標を達成するための1つの動作条件を予め設定し、かつ作業目標を達成するための制御対象領域毎の目標位置を計算する順序を表す優先度を動作条件の優先度として予め設定する設定工程と、
作業目標を表す作業目標情報が指示されたときに、前記制御対象領域毎に、前記代表点が前記動作条件に合致する位置を、前記代表点の移動先位置の候補である参照位置として計算する参照位置計算工程と、
前記参照位置計算工程で代表点毎に計算された参照位置に基づいて、前記動作条件の優先度に従って、前記各代表点を移動させるべき目標位置を計算する目標位置計算工程と、
前記目標位置計算工程で計算された目標位置に基づいて前記ロボットの各軸の値を計算する各軸値計算工程と、
前記各軸値計算工程で計算された各軸の値をロボットの各軸に指令する指令工程とを含むことを特徴とするロボット指令決定方法である。
The present invention also includes a dividing step of dividing a robot constituted by a plurality of links and a plurality of connecting portions that connect the links to each other into a plurality of control target areas to be controlled;
For each of the control target areas, a determination step of determining a representative point that is a part in which a movement destination position of the control target area is calculated among the parts included in the control target area;
For each of a plurality of control target areas divided in the dividing step, one operation condition for achieving a work target indicating the action to be performed by the robot is set in advance, and the control target area for achieving the work target A setting step for presetting the priority indicating the order of calculating each target position as the priority of the operation condition ;
When work target information representing a work target is instructed, a position where the representative point matches the operation condition is calculated as a reference position that is a candidate for a destination position of the representative point for each control target region. A reference position calculation step;
Based on the calculated reference position for each representative point in the reference position calculating step, according to the priorities of the operating conditions, and a target position calculating step of calculating a base Ki goal position for moving the respective representative points,
Each axis value calculation step for calculating the value of each axis of the robot based on the target position calculated in the target position calculation step;
And a command step of commanding each axis of the robot with the value of each axis calculated in each axis value calculation step.

本発明に従えば、ロボットを複数に制御対象に分割した制御対象領域を想定し、制御対象領域毎に作業目標情報を達成するための動作条件を優先度を付けて設定し、制御対象領域を移動する位置の候補である参照位置を計算し、計算された参照位置に基づいて、優先度に従って目標位置を計算し、計算された目標位置に基づいてロボットの各軸の値を計算するので、ロボットの制御対象への分割の仕方を変えれば、種々のロボットに適用可能であり、さらにロボット全体としての繰り返し計算が不要になり、ロボットの各軸の値を短時間に求めることができる。   According to the present invention, a control target area obtained by dividing a robot into a plurality of control targets is assumed, operation conditions for achieving work target information are set for each control target area with priority, and the control target areas are defined as Since the reference position that is a candidate for the position to move is calculated, the target position is calculated according to the priority based on the calculated reference position, and the value of each axis of the robot is calculated based on the calculated target position. If the method of dividing the robot into control targets is changed, it can be applied to various robots, and it is not necessary to perform repeated calculation for the entire robot, and the values of each axis of the robot can be obtained in a short time.

本発明によれば、ロボットの各軸の値を短時間に求めることができるので、ロボットを実時間で制御することができ、オフラインでの各軸の値の決定に使用すれば、オフラインでの計算時間を短くすることができる。   According to the present invention, since the value of each axis of the robot can be obtained in a short time, the robot can be controlled in real time, and if used to determine the value of each axis offline, Calculation time can be shortened.

図1は、本発明の実施の一形態であるロボット制御方法が適用されるロボットシステム10の構成を示す図である。ロボットシステム10は、ロボット部11、制御部12、通信部13を含んで構成される。ロボット部11は、撮像部14を含み、複数のリンクと各リンクを相互に連結する複数の連結部によって構成されるロボットであり、たとえば、頭部31、腕部32、胴体部33、脚部34などのサブシステムから構成される人間型ロボットである。撮像部14は、CCDカメラなどの映像を撮影する部位であり、たとえば人間型ロボットの場合、ロボット部11の頭部31に搭載され、撮影した映像を制御部12に送信する。   FIG. 1 is a diagram showing a configuration of a robot system 10 to which a robot control method according to an embodiment of the present invention is applied. The robot system 10 includes a robot unit 11, a control unit 12, and a communication unit 13. The robot unit 11 is a robot that includes the imaging unit 14 and includes a plurality of links and a plurality of connecting units that connect the links to each other. For example, the head unit 31, the arm unit 32, the body unit 33, and the leg unit This is a humanoid robot composed of 34 subsystems. The imaging unit 14 is a part that captures images such as a CCD camera. For example, in the case of a humanoid robot, the imaging unit 14 is mounted on the head 31 of the robot unit 11 and transmits the captured images to the control unit 12.

制御部12は、ロボットシステム10全体を制御する部位であり、OS(Operating
System)が稼動するコンピュータによって実現される。コンピュータは、ロボット部11に搭載され、図2または図21に示すロボット制御方法を実行することができる。制御部12は、遠隔操作装置20からロボットが行うべき動作を示す作業目標情報(以下作業目標という)作業目標を受信すると、作業目標を実現するためのロボットの各軸の値を、図2または図21に示すロボット制御方法によって計算し、計算した各軸の値をロボット部11に指令する。制御部12は、通信部13を介して、撮像部14からの映像を遠隔操作装置20に送信する。
The control unit 12 is a part that controls the entire robot system 10 and is an OS (Operating System).
System). The computer is mounted on the robot unit 11 and can execute the robot control method shown in FIG. 2 or FIG. When the control unit 12 receives work target information (hereinafter referred to as a work target) indicating the operation to be performed by the robot from the remote control device 20, the control unit 12 sets the values of the axes of the robot for realizing the work target as shown in FIG. The robot control method shown in FIG. 21 is used for calculation, and the calculated value of each axis is instructed to the robot unit 11. The control unit 12 transmits the video from the imaging unit 14 to the remote control device 20 via the communication unit 13.

通信部13は、遠隔操作装置20と通信を行う部位であり、遠隔操作装置20から受信した情報を制御部12に送信し、制御部12からの情報を遠隔操作装置20に送信する。   The communication unit 13 is a part that communicates with the remote operation device 20, transmits information received from the remote operation device 20 to the control unit 12, and transmits information from the control unit 12 to the remote operation device 20.

遠隔操作装置20は、操作者が入力したロボットシステム10への指示をロボットシステム10に送信するための装置であり、入力部21、制御部22、通信部23、および表示部24を含んで構成される。ロボットシステム10との通信は、有線・無線を問わず、たとえば、ネットワークを介した通信でもよく、専用の通信回線を用いてもよい。   The remote operation device 20 is a device for transmitting an instruction to the robot system 10 input by the operator to the robot system 10, and includes an input unit 21, a control unit 22, a communication unit 23, and a display unit 24. Is done. Communication with the robot system 10 may be wired or wireless, for example, communication via a network or a dedicated communication line.

入力部21は、マスターアームあるいはジョイスティックなどの入力装置から構成され、キーボードおよびマウスなどの入力装置を併用してもよい。入力部21は、これらの入力装置から入力された情報を制御部22に送信する。   The input unit 21 includes an input device such as a master arm or a joystick, and may use an input device such as a keyboard and a mouse together. The input unit 21 transmits information input from these input devices to the control unit 22.

制御部22は、遠隔操作装置20全体を制御する部位であり、入力部21から入力された情報のうちロボットシステム10に送信する必要がある情報を通信部23に送る。制御部22は、ロボットシステム10から通信部23を介して受信した情報のうち、表示部24に表示する情報を表示部24に送信する。   The control unit 22 is a part that controls the entire remote operation device 20, and sends information that needs to be transmitted to the robot system 10 among the information input from the input unit 21 to the communication unit 23. Of the information received from the robot system 10 via the communication unit 23, the control unit 22 transmits information to be displayed on the display unit 24 to the display unit 24.

通信部23は、ロボットシステム10と通信を行う部位であり、ロボットシステム10から受信した情報を制御部22に送信し、制御部22からの情報をロボットシステム10に送信する。   The communication unit 23 is a part that communicates with the robot system 10, transmits information received from the robot system 10 to the control unit 22, and transmits information from the control unit 22 to the robot system 10.

表示部24は、液晶ディスプレイなどの表示画面を有する表示装置であり、制御部22から送信された情報を表示画面に表示する。操作者は、表示画面に表示された映像をみながら、入力装置から作業目標を指示しロボットを操作することができる。   The display unit 24 is a display device having a display screen such as a liquid crystal display, and displays information transmitted from the control unit 22 on the display screen. The operator can operate the robot by instructing a work target from the input device while viewing the video displayed on the display screen.

ロボットに前記ロボット制御方法を実行するコンピュータを搭載しているので、外部の遠隔操作装置から指示する制御情報が作業目標に関する情報だけでよく、ロボットシステムと遠隔操作装置との通信情報量を少なくすることができ、さらにロボットの各軸の値を短時間に求めることができる。   Since the robot is equipped with a computer that executes the robot control method, the control information instructed from the external remote control device is only information related to the work target, and the amount of communication information between the robot system and the remote control device is reduced. Furthermore, the value of each axis of the robot can be obtained in a short time.

ロボットシステム10に作業目標を決定するための検知手段、たとえば距離を測るセンサを搭載し、制御部12は、搭載されたセンサで検出された情報に基づいて作業目標を生成し、遠隔操作装置20から受信した作業目標の代わりに、制御部12が生成した作業目標をロボットの作業目標としてもよい。あるいは撮像部14からの情報を基に、制御部12で手先位置を認識し、手先位置が目的の位置に到達していないとき、目的の位置に近づけるための位置を新たな作業目標として生成し、生成した作業目標をロボットの作業目標としてもよい。この場合、作業目標をロボットシステム10自体で生成することができるので、より自律したロボットシステムを実現することができる。   The robot system 10 is equipped with detection means for determining a work target, for example, a sensor for measuring a distance, and the control unit 12 generates a work target based on information detected by the mounted sensor, and the remote control device 20 Instead of the work target received from, the work target generated by the control unit 12 may be used as the robot work target. Alternatively, based on the information from the imaging unit 14, the control unit 12 recognizes the hand position, and when the hand position has not reached the target position, a position for approaching the target position is generated as a new work target. The generated work target may be used as the robot work target. In this case, since the work target can be generated by the robot system 10 itself, a more autonomous robot system can be realized.

図2は、本発明の実施の一形態であるロボット制御方法の工程を示すフローチャートである。本処理は、ジョイスティックなどの入力装置を有する遠隔操作装置から作業目標、つまりロボットが実現すべき動きが指示されたときに開始される。このロボット制御方法は、ロボットの手先、たとえば図24に示したロボットの腕部3aの先端を移動させるという作業目標を、ロボットに指示したときのロボットの各軸の値、たとえば、ロボットの連結部を構成するジョイントの角度を求め、求めた角度をロボットの各軸に指令する方法である。   FIG. 2 is a flowchart showing the steps of the robot control method according to the embodiment of the present invention. This processing is started when a work target, that is, a movement to be realized by the robot is instructed from a remote operation device having an input device such as a joystick. In this robot control method, the robot's hand, for example, the value of each axis of the robot when the work target of moving the tip of the robot arm 3a shown in FIG. Is obtained by obtaining the angles of the joints constituting the, and commanding the obtained angles to each axis of the robot.

ステップS1では、遠隔操作装置からの作業目標、たとえば手先の移動先の指示位置を取得する。ステップS2では、手先が、たとえば腕部3aに設定された動作条件である動作目標に合致する位置を参照位置として計算し、肩、たとえば図24に示したロボットの腕部3aと胴体部4との連結部が、胴体部4に設定された動作目標に合致する位置を参照位置として計算し、腰、たとえば図24に示したロボットの胴体部4と脚部5aとの連結部が、脚部5aの動作目標に合致する位置を、それぞれの参照位置として計算する。   In step S1, a work target from the remote control device, for example, a designated position of a hand movement destination is acquired. In step S2, the position where the hand matches the movement target, which is the movement condition set for the arm 3a, for example, is calculated as a reference position, and the shoulder, for example, the robot arm 3a and the body 4 shown in FIG. Is calculated as a reference position, and the waist, for example, the connection part between the body part 4 and the leg part 5a of the robot shown in FIG. The position that matches the operation target 5a is calculated as each reference position.

動作目標は、遠隔操作装置から指示される作業目標に応じて制御対象領域毎、つまりサブシステム毎に設定される目標であり、たとえばそれぞれのサブシステムに設定された動作目標は、腕部3aは、「作業目標に応じた動作を実現すること」、胴体部4は、「手先の到達範囲を拡大すること」、脚部5aは、「全身のバランスを維持することと上下方向に対する手先の到達範囲を拡大すること」である。それぞれの部位に作業目標を達成するための動作目標を設定しているので、ロボット全体として、ロボットのバランスを維持し、手先の動作範囲を広く保ち、さらに作業目標に応じた動作を実現できる。   The operation target is a target set for each control target area, that is, for each subsystem according to the work target instructed from the remote control device. For example, the operation target set for each subsystem is the arm 3a. , “To realize the operation according to the work target”, the body part 4 “to increase the reach of the hand”, the leg 5a “to maintain the balance of the whole body and reach the hand in the vertical direction “Expanding the scope”. Since the operation target for achieving the work target is set in each part, the robot as a whole can maintain the balance of the robot, keep the operation range of the hand wide, and can realize the operation according to the work target.

サブシステムは、1または複数のリンクが変位可能に連結部で連結されたまとまりであり、たとえば図24に示したロボットでは、腕部3a、胴体部4、脚部5aなどがサブシステムである。参照位置は、手先、肩、腰などの代表点を移動させる位置の候補である。代表点は、ロボット全体の動作を決定する各軸の値を計算するために、ロボットの部位のうちで移動させる位置が最初に計算される部位であり、作業目標によって指示が与えられる部位とサブシステムの連結部とが代表点となり、各サブシステムに1つ設定される。   The subsystem is a group in which one or a plurality of links are connected by a connecting part so as to be displaceable. For example, in the robot shown in FIG. 24, the arm part 3a, the body part 4, the leg part 5a, and the like are subsystems. The reference position is a candidate for a position to move a representative point such as a hand, shoulder, or waist. The representative point is a part in which the position to be moved among the robot parts is calculated first in order to calculate the value of each axis that determines the movement of the entire robot. The connection part of the system is a representative point, and one is set for each subsystem.

ステップS3では、計算された参照位置に基づいて、作業目標を達成するために設定された動作目標の優先度に従って、手先、肩、および腰の目標位置を計算する。動作目標の優先度は、作業目標に応じて決定され、脚部5a、胴体部4、腕部3aの順である。目標位置は、代表点を移動させる位置である。ステップS4では、計算された目標位置に基づいてロボットの各軸の値を計算する。ステップS5では、計算された各軸の値をロボットの各軸に指令して終了する。この実施例では、図24に示した、腕部3a、胴体部4、脚部5aにのみ着目して説明したが、他のサブシステム、たとえば頭部2、腕部3b、脚部5bなどについても動作目標と優先度を設定して計算する。   In step S3, based on the calculated reference position, the target positions of the hand, shoulder and waist are calculated according to the priority of the motion target set to achieve the work target. The priority of the motion target is determined according to the work target, and is in the order of the leg portion 5a, the trunk portion 4, and the arm portion 3a. The target position is a position where the representative point is moved. In step S4, the value of each axis of the robot is calculated based on the calculated target position. In step S5, the calculated value of each axis is instructed to each axis of the robot, and the process ends. In this embodiment, the description has been made by paying attention only to the arm portion 3a, the torso portion 4, and the leg portion 5a shown in FIG. 24, but other subsystems such as the head 2, the arm portion 3b, the leg portion 5b, etc. Also calculate by setting the action target and priority.

図3は、図2に示すロボット制御方法が適用されるロボット30のサブシステムへの分割の一例を示す図である。図3(a)は、ロボット30の概観図である。ロボット30は、頭部31、腕部32、胴体部33、および脚部34を含んで構成される。ロボット30は、机61の上にある対象物62に対して、右腕の手先を移動するところを示している。視野31sは、ロボットの頭部31に搭載された撮像部の視野を示している。   FIG. 3 is a diagram showing an example of dividing the robot 30 into subsystems to which the robot control method shown in FIG. 2 is applied. FIG. 3A is an overview diagram of the robot 30. The robot 30 includes a head portion 31, an arm portion 32, a body portion 33, and a leg portion 34. The robot 30 shows a position where the hand of the right arm moves with respect to the object 62 on the desk 61. A field of view 31s indicates the field of view of the imaging unit mounted on the head 31 of the robot.

図3(b)は、ロボット30を側方から見た図であり、ロボット30は、腕部32、胴体部33、および脚部34を含んで構成され、3つのサブシステムに分割されている。脚部34については、左脚部は右脚部と重なった状態であり、腕部については、左腕部は右腕部に重なった状態である。手部35と頭部31を省略しているが、手部35および頭部31をそれぞれ1つのサブシステムとして含めてもよい。   FIG. 3B is a view of the robot 30 as viewed from the side. The robot 30 includes an arm portion 32, a torso portion 33, and a leg portion 34, and is divided into three subsystems. . Regarding the leg part 34, the left leg part overlaps with the right leg part, and for the arm part, the left arm part overlaps with the right arm part. Although the hand portion 35 and the head portion 31 are omitted, each of the hand portion 35 and the head portion 31 may be included as one subsystem.

腕部32は、手先41、肘42、および第1のリンク51と第2のリンク52を含み、第1のリンク51と第2のリンク52の連結部が肘42である。胴体部33は、肩43、胸44、および第3のリンク53と第4のリンク54を含み、第2のリンク52と第3のリンク53の連結部が肩43であり、第3のリンク53と第4のリンク54の連結部が胸44である。脚部34は、腰45、膝46、および第5のリンク55と第6のリンク56を含み、第4のリンク54と第5のリンク55の連結部が腰45であり、第5のリンク55と第6のリンク56の連結部が膝46である。足47は、いずれにも属さない部位であり、基準点とする。連結部は、変位可能である。   The arm portion 32 includes a hand 41, an elbow 42, and a first link 51 and a second link 52, and a connecting portion between the first link 51 and the second link 52 is the elbow 42. The body portion 33 includes a shoulder 43, a chest 44, and a third link 53 and a fourth link 54. A connecting portion between the second link 52 and the third link 53 is the shoulder 43, and the third link. A connecting portion between 53 and the fourth link 54 is a chest 44. The leg portion 34 includes a waist 45, a knee 46, and a fifth link 55 and a sixth link 56, a connecting portion between the fourth link 54 and the fifth link 55 is the waist 45, and the fifth link A connecting portion between 55 and the sixth link 56 is a knee 46. The foot 47 is a part that does not belong to any of them, and is used as a reference point. The connecting portion can be displaced.

腕部32の代表点は手先41、胴体部33の代表点は肩43、脚部34の代表点は腰45である。この代表点は、ロボット全体の動作を決定する各軸の値を計算するために、ロボットの部位のうちで移動させる位置が最初に計算される部位であり、作業目標によって指示が与えられる部位とサブシステムの連結部が代表点となり、各サブシステムに1つ設定される。この例では、作業目標によって指示が与えられる部位が手先41であり、サブシステムの連結部が肩43と腰45である。   The representative point of the arm part 32 is the hand 41, the representative point of the body part 33 is the shoulder 43, and the representative point of the leg part 34 is the waist 45. This representative point is a part where the position to be moved is calculated first among the parts of the robot in order to calculate the value of each axis that determines the movement of the entire robot, and the part to which an instruction is given by the work target The connecting portion of the subsystem becomes a representative point, and one is set for each subsystem. In this example, a part to which an instruction is given according to a work target is the hand 41, and a connecting portion of the subsystem is a shoulder 43 and a waist 45.

ロボット30は、床面あるいは地面などの水平面60上の足47の位置でバランスが取れた状態、つまり、転倒しない状態であり、以下の説明では、「足の位置を動かさない状態での手先操作」について説明するが、足を動かす場合についても実施可能である。   The robot 30 is in a balanced state at the position of the foot 47 on the horizontal surface 60 such as the floor surface or the ground, that is, in a state where the robot 30 does not fall down. In the following description, “hand operation without moving the foot position” However, the present invention can also be implemented when moving the foot.

図4は、人間型ロボットの各部の自由度を説明するための図である。図4(a)、図4(b)は、図4(c)〜図4(g)に用いられている記号を説明するための図である。図4(a)は、軸方向を中心に回転する同軸ジョイント380を説明するための図である。同軸ジョイント380は、リンク部材381とリンク部材382とを連結し、リンク部材382がリン部材ク381に対して、リンク部材381の軸方向を中心に回転する。図4(b)は、両方のリンク部材の軸を含む平面に垂直な直線でジョイントの中心を通る直線を中心に一方のリンク部材を他方のリンク部材に対して回転させる屈曲ジョイント390を説明するための図である。屈曲ジョイント390は、リンク部材392の中心軸を含む平面上でリンク部材393を屈曲ジョイント390の軸391を中心に回転させる。同軸ジョイント380と屈曲ジョイント390は、それぞれ1つの自由度を有する。   FIG. 4 is a diagram for explaining the degree of freedom of each part of the humanoid robot. 4 (a) and 4 (b) are diagrams for explaining symbols used in FIGS. 4 (c) to 4 (g). FIG. 4A is a view for explaining the coaxial joint 380 that rotates about the axial direction. The coaxial joint 380 connects the link member 381 and the link member 382, and the link member 382 rotates about the axial direction of the link member 381 with respect to the link member 381. FIG. 4B illustrates a bending joint 390 that rotates one link member relative to the other link member about a straight line that passes through the center of the joint in a straight line that is perpendicular to a plane that includes the axes of both link members. FIG. The bending joint 390 rotates the link member 393 around the axis 391 of the bending joint 390 on a plane including the central axis of the link member 392. Each of the coaxial joint 380 and the bending joint 390 has one degree of freedom.

図4(c)は、頭部31の自由度を示す図であり、同軸ジョイント311と屈曲ジョイント312の2つの軸があり、合計2自由度である。同軸ジョイント311と屈曲ジョイント312が頭部31と胴体部33の連結部である首に相当する。図4(d)は、腕部32の自由度を示す図であり、同軸ジョイント321,323,325、屈曲ジョイント322,324,326の6つの軸があり、合計6自由度である。同軸ジョイント321,323、および屈曲ジョイント322が肩に相当し、屈曲ジョイント324が肘に相当し、同軸ジョイント325および屈曲ジョイント326が手首に相当する。   FIG. 4C is a diagram showing the degree of freedom of the head portion 31, and there are two axes of the coaxial joint 311 and the bending joint 312, which is a total of two degrees of freedom. The coaxial joint 311 and the bending joint 312 correspond to a neck that is a connection portion between the head portion 31 and the body portion 33. FIG. 4D is a diagram showing the degree of freedom of the arm portion 32, and there are six axes of coaxial joints 321, 323, 325 and bending joints 322, 324, 326 for a total of 6 degrees of freedom. The coaxial joints 321 and 323 and the bending joint 322 correspond to the shoulder, the bending joint 324 corresponds to the elbow, and the coaxial joint 325 and the bending joint 326 correspond to the wrist.

図4(e)は、胴体部33の自由度を示す図であり、屈曲ジョイント331と同軸ジョイント332の2つの軸があり、合計2自由度である。屈曲ジョイント331と同軸ジョイント332が、胸に相当する。図4(f)は、脚部34の自由度を示す図であり、同軸ジョイント341,343,344,345、同軸ジョイント342,346の6つの軸があり、合計6自由度である。同軸ジョイント341,343、および屈曲ジョイント342が腰、同軸ジョイント344が膝、同軸ジョイント345と屈曲ジョイント346が足首に相当する。図4(g)は、手部35の自由度を示す図であり、屈曲ジョイント351の1つの軸があり、合計1自由度である。屈曲ジョイント351は指の関節に相当し、指の開閉を行う。   FIG. 4 (e) is a diagram showing the degree of freedom of the body portion 33, and there are two axes of a bending joint 331 and a coaxial joint 332, and there are a total of two degrees of freedom. The bending joint 331 and the coaxial joint 332 correspond to the chest. FIG. 4 (f) is a diagram showing the degree of freedom of the leg portion 34, and there are six axes of coaxial joints 341, 343, 344, 345 and coaxial joints 342, 346, for a total of 6 degrees of freedom. The coaxial joints 341 and 343 and the bending joint 342 correspond to the waist, the coaxial joint 344 corresponds to the knee, and the coaxial joint 345 and the bending joint 346 correspond to the ankle. FIG. 4G is a diagram showing the degree of freedom of the hand portion 35, and there is one axis of the bending joint 351, which is a total of one degree of freedom. The bending joint 351 corresponds to a finger joint and opens and closes the finger.

図5は、図2に示すロボット制御方法が適用されるロボット30への作業目標の指示とその指示によるロボットの変位の一例を示す図である。ロボット30への作業目標は、マスターアームあるいはジョイスティックなどの入力部を有する遠隔操作装置から指示される。この例では、作業目標は、手先41を手先の指示位置41aの位置に移動させることである。作業目標を実現するロボットの各軸の値を求めて、求めた各軸の値をロボットの各軸に指令することによって、手先41のロボットの位置と姿勢から、手先が指示位置41aに移動したときの位置と姿勢に変化させる。   FIG. 5 is a diagram illustrating an example of a work target instruction to the robot 30 to which the robot control method illustrated in FIG. 2 is applied and a robot displacement according to the instruction. The work target for the robot 30 is instructed from a remote control device having an input unit such as a master arm or a joystick. In this example, the work target is to move the hand 41 to the position of the hand pointing position 41a. By obtaining the value of each axis of the robot that realizes the work target and instructing each axis of the robot to obtain the value of each axis, the hand moves from the position and posture of the robot of the hand 41 to the designated position 41a. Change the position and posture when.

図6は、図2に示すロボット制御方法での手先41の参照位置の計算のフローチャートである。手先41の参照位置の計算を行うときに本処理が行われる。ステップS10では、遠隔操作装置から指示された手先41の指示位置を手先41の参照位置として終了する。   FIG. 6 is a flowchart of calculation of the reference position of the hand 41 in the robot control method shown in FIG. This process is performed when the reference position of the hand 41 is calculated. In step S <b> 10, the designated position of the hand 41 instructed from the remote operation device is ended as the reference position of the hand 41.

図7は、図2に示すロボット制御方法での肩43の参照位置の計算のフローチャートである。肩43の参照位置の計算を行うときに本処理が行われる。胴体部33の動作目標は、「手先の到達範囲を拡大すること」であり、手先41の参照位置と現在位置および肩43の現在位置から肩43の参照位置を求める。   FIG. 7 is a flowchart of calculation of the reference position of the shoulder 43 in the robot control method shown in FIG. This processing is performed when the reference position of the shoulder 43 is calculated. The operation target of the body part 33 is “enlarge the reach range of the hand”, and the reference position of the shoulder 43 is obtained from the reference position and the current position of the hand 41 and the current position of the shoulder 43.

ステップS20では、肩43の現在位置、つまり前回ロボットの各軸への指令によって移動した位置と手先41の参照位置との距離Larmを計算する。ステップS21では、計算した距離Larmが所定の最大距離Lmaxより長いか否か判定する。計算した距離Larmが所定の最大距離Lmaxより長いときは、ステップS24に進み、計算した距離Larmが所定の最大距離Lmaxより長くないときは、ステップS22に進む。 In step S20, a distance L arm between the current position of the shoulder 43, that is, the position moved by the previous command to each axis of the robot and the reference position of the hand 41 is calculated. In step S21, it is determined whether or not the calculated distance L arm is longer than a predetermined maximum distance L max . When the calculated distance L arm is longer than the predetermined maximum distance L max , the process proceeds to step S24, and when the calculated distance L arm is not longer than the predetermined maximum distance L max , the process proceeds to step S22.

ステップS22では、計算した距離Larmが所定の最小距離Lminより短いか否か判定する。計算した距離Larmが所定の最小距離Lminより短いときは、ステップS23に進み、計算した距離Larmが所定の最小距離Lminより短くないときは、ステップS25に進む。ステップS23では、図7に示すように、肩43の参照位置を、肩43と手先41とを結ぶ直線上で手先41から肩43の方向と反対方向のベクトルと、腰45と肩43とを結ぶ方向と直角方向であって手先41と反対方向のベクトルとの合成ベクトルの方向に肩43を移動させる位置として終了する。 In step S22, it is determined whether or not the calculated distance L arm is shorter than a predetermined minimum distance L min . When the calculated distance L arm is shorter than the predetermined minimum distance L min , the process proceeds to step S23, and when the calculated distance L arm is not shorter than the predetermined minimum distance L min , the process proceeds to step S25. In step S23, as shown in FIG. 7, the reference position of the shoulder 43 is set to a vector in the direction opposite to the direction from the hand 41 to the shoulder 43 on the straight line connecting the shoulder 43 and the hand 41, and the waist 45 and the shoulder 43. The process ends with the position of the shoulder 43 being moved in the direction of the combined vector of the direction perpendicular to the connecting direction and the opposite direction of the hand 41.

ステップS24では、肩43の参照位置を、肩43を手先41の方向に一定速度で移動させる位置として終了する。この場合、一定速度で移動させる位置とは、前回計算した目標位置に移動した際の速度を維持することができる位置のことである。ステップS25では、肩43の現在位置を肩43の参照位置として終了する。   In step S24, the reference position of the shoulder 43 is ended as a position for moving the shoulder 43 in the direction of the hand 41 at a constant speed. In this case, the position to be moved at a constant speed is a position at which the speed when moving to the previously calculated target position can be maintained. In step S25, the current position of the shoulder 43 is set as the reference position of the shoulder 43, and the process ends.

このように、手先41が腕部32の伸びる方向に移動したときは、肩43も追随するので、さらに腕部32を伸ばすことができ、逆に手先41が肩43に近づくときは、胴体部33が手先41の現在位置から離れる方向に移動して、腕部32と胴体部33との干渉、つまり接触または衝突を回避することができる。   Thus, when the hand 41 moves in the direction in which the arm portion 32 extends, the shoulder 43 also follows, so that the arm portion 32 can be further extended. Conversely, when the hand 41 approaches the shoulder 43, the torso portion 33 moves away from the current position of the hand 41 to avoid interference between the arm portion 32 and the body portion 33, that is, contact or collision.

図8は、図2に示すロボット制御方法での肩43の参照位置の計算を説明するための図である。肩43の現在位置と手先41の参照位置との距離Larmが所定の距離Lmaxより長いとき、肩43の移動方向は、手先41から肩43への方向ベクトル80と、腰45と肩43を結ぶ直線81に直角の方向ベクトル82との合成ベクトル83の方向である。 FIG. 8 is a diagram for explaining the calculation of the reference position of the shoulder 43 in the robot control method shown in FIG. When the distance L arm between the current position of the shoulder 43 and the reference position of the hand 41 is longer than the predetermined distance L max , the movement direction of the shoulder 43 is the direction vector 80 from the hand 41 to the shoulder 43, the waist 45 and the shoulder 43. The direction of the combined vector 83 with the direction vector 82 perpendicular to the straight line 81 connecting the two.

図9は、図2に示すロボット制御方法での腰45の参照位置の計算のフローチャートである。腰45の参照位置の計算を行うときに本処理が行われる。脚部34の動作目標は、「人間型ロボットの全身のバランスを維持すること」と「上下方向に対する手先の到達範囲を拡大すること」の2点であり、ロボットの重心位置、手先41の指示位置、および手先41と肩43と腰45の現在位置から腰45の参照位置を求める。   FIG. 9 is a flowchart of calculation of the reference position of the waist 45 in the robot control method shown in FIG. This process is performed when the reference position of the waist 45 is calculated. The movement target of the leg 34 is two points of “maintaining the balance of the whole body of the humanoid robot” and “enlarging the reach range of the hand in the vertical direction”. The reference position of the waist 45 is obtained from the position and the current positions of the hand 41, the shoulder 43, and the waist 45.

ステップS30では、現在の重心位置を計算する。重心位置の計算は、胴体部33と脚部34の動作がロボット動作の動的な動きに大きく影響しない程度の速度で動作を行うと仮定して、つまり、ロボットの動作に伴う慣性を考慮しなくてもよい程度の速度で動作を行うと仮定して行う。全身の重心位置を床面に投影した位置である床面投影点(床面重心点ともいう)が、両足裏で構成される多角形である支持多角形内の所定の範囲内にあるか否かで、腰45の参照位置の水平成分の位置を求める。ロボットの重心位置の求め方については、後述する。   In step S30, the current center-of-gravity position is calculated. The calculation of the center of gravity position assumes that the motion of the body portion 33 and the leg portion 34 moves at a speed that does not greatly affect the dynamic motion of the robot motion, that is, considers the inertia accompanying the motion of the robot. It is assumed that the operation is performed at a speed that is not necessary. Whether the floor projection point (also referred to as the floor center of gravity), which is the position of the center of gravity of the whole body projected on the floor, is within a predetermined range within the support polygon, which is a polygon composed of the soles of both feet. Thus, the position of the horizontal component of the reference position of the waist 45 is obtained. A method for obtaining the position of the center of gravity of the robot will be described later.

ステップS31では、計算された重心位置、つまり床面投影点が、支持多角形の中心点から所定以上の距離か否か判定する。所定以上の距離のときは、ステップS36に進む。所定以上の距離でないときは、ステップS32に進む。ステップS32では、肩43の移動方向が下方向か否か判定する。肩43の移動方向が下方向のときは、ステップS37に進み、肩43の移動方向が下方向でないときは、ステップS33に進む。   In step S31, it is determined whether or not the calculated gravity center position, that is, the floor projection point, is a predetermined distance or more from the center point of the support polygon. If the distance is greater than or equal to the predetermined distance, the process proceeds to step S36. If the distance is not greater than the predetermined distance, the process proceeds to step S32. In step S32, it is determined whether or not the movement direction of the shoulder 43 is downward. When the moving direction of the shoulder 43 is downward, the process proceeds to step S37, and when the moving direction of the shoulder 43 is not downward, the process proceeds to step S33.

ステップS33では、肩43の移動方向が上方向か否か判定する。肩43の移動方向が上方向のときは、ステップS34に進み、肩43の移動方向が上方向でないときは、ステップS39に進む。ステップS34では、腰45の現在位置と肩43の現在位置との距離Lbodyが所定の胴体距離L以上か否かを判定する。距離Lbodyが所定の胴体距離L以上のときは、ステップS35に進み、距離Lbodyが所定の胴体距離L以上でないときは、ステップS39に進む。ステップS35では、腰45の参照位置の垂直成分を肩43の移動速度の垂直成分に比例した速度で上方向に移動する位置として終了する。 In step S33, it is determined whether the moving direction of the shoulder 43 is upward. When the moving direction of the shoulder 43 is upward, the process proceeds to step S34, and when the moving direction of the shoulder 43 is not upward, the process proceeds to step S39. In step S34, it is determined whether or not the distance L body between the current position of the waist 45 and the current position of the shoulder 43 is equal to or greater than a predetermined body distance La. When the distance L body is equal to or larger than a predetermined fuselage distance L a, the process proceeds to step S35, when the distance L body is not predetermined fuselage distance L a or more, the process proceeds to step S39. In step S35, the vertical component of the reference position of the waist 45 is ended as a position to move upward at a speed proportional to the vertical component of the moving speed of the shoulder 43.

ステップS36では、腰45の参照位置の水平成分を、支持多角形の中心方向に、中心からの距離に比例した速度で移動する位置としてステップS32に進む。ステップS37では、後述する胴体部33の傾きθが鉛直方向から所定の角度θ以上傾いているか否か判定する。所定の角度θ以上傾いているときは、ステップS38に進み、所定の角度θ以上傾いていないときは、ステップS39に進む。 In step S36, the process proceeds to step S32 as a position where the horizontal component of the reference position of the waist 45 moves in the center direction of the support polygon at a speed proportional to the distance from the center. At step S37, it is determined whether or not the inclination theta w of the body 33 to be described later is inclined a predetermined angle theta a more from the vertical direction. When tilted a predetermined angle theta a more, the process proceeds to step S38, the when not tilted a predetermined angle theta a or more, the process proceeds to step S39.

ステップS38では、腰45の参照位置の垂直成分を肩43の移動速度の垂直成分に比例した速度で下方向に移動する位置とする。手先41が下方に移動するとき、腰45の位置を動かさずに、胴体部33を深く曲げる動作も考えられるが、脚部関節の動作範囲制限があって実現は難しく、腰45を肩45の動きに連動させて移動させる。ステップS39では、腰の現在位置を腰の参照位置として終了する。   In step S38, the vertical component of the reference position of the waist 45 is set as a position to move downward at a speed proportional to the vertical component of the moving speed of the shoulder 43. When the hand 41 moves downward, an operation of bending the body part 33 deeply without moving the position of the waist 45 is conceivable. However, the movement of the leg joint is limited, which is difficult to realize. Move in conjunction with the movement. In step S39, the current position of the waist is set as the waist reference position, and the process ends.

図10は、腰45の移動を肩43の移動と連動させることについて説明するための図である。図10(a)は、胴体部33の傾きθを説明するための図である。胴体部33の傾きθは、鉛直方向84に対する腰45と肩43とを結ぶ直線81の傾きである。この傾きθが所定の角度θ以上のときに、肩43に連動させて腰45の参照位置を下げる。図10(b)は、腰45を移動しない場合の胴体部33の動き、図10(c)は、腰45を肩43の移動速度に比例した速度で移動した場合の胴体部33の動き、図10(d)は、腰45を一定速度で移動した場合の胴体部33の動きを説明するための図である。 FIG. 10 is a diagram for explaining that the movement of the waist 45 is interlocked with the movement of the shoulder 43. 10 (a) is a diagram for explaining the inclination theta w of the body 33. The inclination θ w of the body part 33 is an inclination of a straight line 81 connecting the waist 45 and the shoulder 43 with respect to the vertical direction 84. When the inclination theta w is greater than or equal to a predetermined angle theta a, lowering the reference position of the waist 45 in conjunction with the shoulder 43. 10B shows the movement of the body part 33 when the waist 45 is not moved, and FIG. 10C shows the movement of the body part 33 when the waist 45 is moved at a speed proportional to the movement speed of the shoulder 43. FIG. 10D is a diagram for explaining the movement of the body portion 33 when the waist 45 is moved at a constant speed.

図10(b)は、腰45を移動しないで、肩43を肩43aの位置まで矢印86aの方向に移動したとき、胸44と肩43とのリンク53の傾きがθ変化している。これに対して、図10(c)は、肩43が肩43aの位置まで矢印86aの方向に移動したときに、腰45は、腰45aの位置まで矢印87aの方向に移動するので、リンク53の角度は、θだけしか変化せず、図10(b)の腰を固定したときのリンクの傾きの変化θより小さくすることができる。つまり、胴体部33が傾く速度を抑えることができ、胴体部の前屈量も抑えることができる。特に、胴体部33が伸びきっているときは、胸44を中心とした肩の回転角度は、腰45を中心とした肩43の回転角度より大きくなる。胴体部33が大きく傾いているとき、たとえば胴体部33の傾きθが45度以上傾いているとき、ロボット全体の質量に占める割合の多い胴体部33の回転速度が大きくなるので、動的な動作の影響、つまり慣性の影響が大きくなり、ロボットが転倒しやすくなる。転倒を防止するために、胴体部33の回転速度を抑えることは、人間型ロボットの安定な制御動作を実現するために効果がある。 FIG. 10 (b), without moving the hips 45, when moved in the direction of arrow 86a of the shoulder 43 to the position of the shoulder 43a, the inclination of the links 53 between the breast 44 and the shoulder 43 is theta b changes. In contrast, in FIG. 10C, when the shoulder 43 moves in the direction of the arrow 86a to the position of the shoulder 43a, the waist 45 moves in the direction of the arrow 87a to the position of the waist 45a. angles, theta c only only does not change, can be less than the slope of the change in theta b of the link when the fixed waist FIG 10 (b). That is, the speed at which the body part 33 tilts can be suppressed, and the amount of forward bending of the body part can also be suppressed. In particular, when the body portion 33 is fully extended, the rotation angle of the shoulder centered on the chest 44 is larger than the rotation angle of the shoulder 43 centered on the waist 45. When the body portion 33 is largely inclined, for example, when the inclination theta w of the body portion 33 is inclined more than 45 degrees, the rotational speed of the proportion of large body portion 33 occupying the total mass of the robot is large, dynamic The influence of movement, that is, the influence of inertia increases, and the robot easily falls. In order to prevent overturning, suppressing the rotational speed of the body portion 33 is effective for realizing a stable control operation of the humanoid robot.

図10(d)は、腰45を肩43の動きとは独立して一定速度で移動する場合を示しており、この場合は、胴体部33が傾く速度を必ずしも抑えることができるとは限らない。肩43が方向86bの方向、つまり、前方方向に移動したときは、肩43は肩43bの位置に移動するが、腰45が方向87bに移動して腰45bの位置に来ると、肩43は43cの位置に移動することになり、肩の参照位置を実現できなくなることがある。従って、肩43が下方に移動するときは、腰45を肩43の移動速度に比例した速度で移動させる必要がある。   FIG. 10 (d) shows a case where the waist 45 moves at a constant speed independent of the movement of the shoulder 43. In this case, the speed at which the body portion 33 tilts cannot always be suppressed. . When the shoulder 43 moves in the direction 86b, that is, in the forward direction, the shoulder 43 moves to the position of the shoulder 43b. However, when the waist 45 moves in the direction 87b and comes to the position of the waist 45b, the shoulder 43 It will move to the position 43c, and the reference position of the shoulder may not be realized. Therefore, when the shoulder 43 moves downward, it is necessary to move the waist 45 at a speed proportional to the movement speed of the shoulder 43.

ロボットの重心位置は、ロボットの各軸の値、つまり角度と、リンクの重心情報から計算する。たとえばロボット30の前後方向をx軸方向とすると、x軸方向の重心位置Xは、式(1)で求めることができる。
X=(M+M+…+M)/(M+M+…+M
…(1)
ここに、Mは、リンクiの重量であり、Xは、リンクiの重心座標である。iは、1〜nの自然数であり、Xは、ロボットが直立状態のときのロボットのx座標を基準としたときのリンクiの重心座標の値である。
The position of the center of gravity of the robot is calculated from the value of each axis of the robot, that is, the angle and the center of gravity information of the link. For example, if the front-rear direction of the robot 30 is the x-axis direction, the center-of-gravity position X in the x-axis direction can be obtained by Expression (1).
X = (M 1 X 1 + M 2 X 2 +... + M n X n ) / (M 1 + M 2 +... + M n )
... (1)
Here, M i is the weight of the link i, and X i is the barycentric coordinate of the link i. i is a natural number from 1 to n, and X i is the value of the barycentric coordinate of the link i when the robot's x coordinate when the robot is upright is used as a reference.

水平面上でロボットのx軸方向と直角の方向であるy軸方向の重心位置Yについても同様に、式(2)で求めることができる。
Y=(M+M+…+M)/(M+M+…+M
…(2)
ここに、Yは、リンクiのy軸方向の重心座標であり、ロボットが直立状態のときのロボットのy座標を基準としたときのリンクiの重心座標の値である。
Similarly, the center-of-gravity position Y in the y-axis direction, which is a direction perpendicular to the x-axis direction of the robot on the horizontal plane, can also be obtained by Expression (2).
Y = (M 1 Y 1 + M 2 Y 2 +... + M n Y n ) / (M 1 + M 2 +... + M n )
... (2)
Here, Y i is the center-of-gravity coordinate of link i in the y-axis direction, and is the value of the center-of-gravity coordinate of link i based on the y-coordinate of the robot when the robot is upright.

図11は、リンクの重心位置の求め方を説明するための図である。リンクA90とリンクB91は、ジョイント92によって連結されている。ジョイント92は、リンクB91と一体であり、ジョイント92を構成する回転軸93は、リンクA90と一体である。この場合、回転軸93の重量は、リンクA90に含まれる。すなわち、ジョイント部分の重量は、一体であるほうのリンクに含めて計算する。それぞれのリンクの重量と重心位置は、3次元CADの設計データなどから求めることができる。   FIG. 11 is a diagram for explaining how to obtain the center of gravity position of the link. The link A90 and the link B91 are connected by a joint 92. The joint 92 is integral with the link B91, and the rotating shaft 93 constituting the joint 92 is integral with the link A90. In this case, the weight of the rotating shaft 93 is included in the link A90. That is, the weight of the joint portion is calculated by including it in the link that is integral. The weight and the position of the center of gravity of each link can be obtained from 3D CAD design data or the like.

図12は、ロボットの座標系を説明するための図である。人間型ロボットについての、参照位置と目標位置は、ロボットの絶対座標系Σからみた座標系で表す。ロボットの絶対座標系Σは、ロボットを初期設定する際に、ロボットの腰座標系Σから鉛直下方向の床面に固定された座標系とする。手先の位置および姿勢の指示は、ロボットの絶対座標系Σからみた手先座標系Σの位置姿勢を指示する。3次元でみると、ロボットの腰座標系Σは、図24に示すように、左右脚の股関節の中間点8である。 FIG. 12 is a diagram for explaining the coordinate system of the robot. For humanoid robot, the reference position and the target position is represented by the absolute coordinate system sigma W seen from the coordinate system of the robot. Absolute coordinate system sigma W of the robot, at the time of initializing the robot, and the coordinate system fixed on the floor of the vertically downward direction from the waist coordinate system sigma k of the robot. Hand position and orientation instruction indicates the position and orientation of the hand coordinate system sigma T viewed from the absolute coordinate system sigma W of the robot. Viewed in three dimensions, the robot's hip coordinate system Σ k is an intermediate point 8 between the hip joints of the left and right legs, as shown in FIG.

リンクのジョイント部分の位置は、ロボットの各軸の値、つまり角度から順変換計算式によって求める。順変換計算式は、ロボット各部のリンク構造に依存した幾何学的関係を利用して作成される。   The position of the joint part of the link is obtained from the value of each axis of the robot, that is, the angle, by a forward conversion formula. The forward conversion calculation formula is created using a geometric relationship depending on the link structure of each part of the robot.

図13は、脚部34の各軸の値から位置姿勢を求める際の各軸の座標系を説明するための図である。ジョイント341〜ジョイント346の角度と座標系を、それぞれθ〜θ、Σ〜Σとし、足首の座標系をΣとする。図13では、ロボットの基準座標系Σは、同軸ジョイント341,343、および屈曲ジョイント342の回転軸の交点であり、図24に示す連結部7の位置である。 FIG. 13 is a diagram for explaining the coordinate system of each axis when obtaining the position and orientation from the value of each axis of the leg portion 34. The angle and the coordinate system of the joint 341~ joint 346, theta 1 through? 6, respectively, and Σ 16, the ankle of the coordinate system and sigma f. In FIG. 13, the reference coordinate system Σ 0 of the robot is the intersection of the rotation axes of the coaxial joints 341 and 343 and the bending joint 342, and is the position of the connecting portion 7 shown in FIG.

距離L〜距離Lは、それぞれ屈曲ジョイント342から屈曲点350まで長さ、屈曲点350から同軸ジョイント344までの長さ、同軸ジョイント344から同軸ジョイント345までの長さを表している。同軸ジョイント345から屈曲ジョイント346までの長さは0である。 The distances L 1 to L 3 represent the length from the bending joint 342 to the bending point 350, the length from the bending point 350 to the coaxial joint 344, and the length from the coaxial joint 344 to the coaxial joint 345, respectively. The length from the coaxial joint 345 to the bending joint 346 is zero.

順変換は、各軸、つまりジョイント341〜ジョイント346の角度が与えられたときの基準座標系Σからみた足首の座標系Σの位置姿勢を求めるものである。位置姿勢を行列で表すと、式(3)として表せる。 The forward conversion is to obtain the position and orientation 0 T f of the ankle coordinate system Σ f viewed from the reference coordinate system Σ 0 when the angles of the respective axes, that is, the joints 341 to 346 are given. When the position and orientation 0 T f is represented by a matrix, it can be represented by Expression (3).

Figure 0004488811
Figure 0004488811

ただし、
11=C345−S345
12=S345+C345−S
13=S345+C345+S
21=S345+C345
22=−C345+S345+C
23=−C345+S345−C
31=−C345
32=C345+S
33=C345−S
X=−L(S+C)−L34−L34
+L
Y=L(C−S)+L34−L34
−L
Z=−L−L34−L
=sin(θ)、C=cos(θ)、nは自然数、
345=sin(θ+θ+θ)、C345=cos(θ+θ+θ
である。
However,
R 11 = C 1 C 345 -S 1 S 2 S 345
R 12 = S 1 S 2 C 345 S 6 + C 1 S 345 S 6 -S 1 C 2 C 6
R 13 = S 1 S 2 C 345 C 6 + C 1 S 345 C 6 + S 1 C 2 S 6
R 21 = S 1 C 345 + C 1 S 2 S 345
R 22 = −C 1 S 2 C 345 S 6 + S 1 S 345 S 6 + C 1 C 2 C 6
R 23 = -C 1 S 2 C 345 C 6 + S 1 S 345 C 6 -C 1 C 2 S 6
R 31 = —C 2 S 345
R 32 = C 2 C 345 S 6 + S 2 C 6
R 33 = C 2 C 345 C 6 -S 2 S 6
X = -L 2 (S 1 S 2 C 3 + C 1 S 3) -L 3 S 1 S 2 C 34 -L 3 C 1 S 34
+ L 1 S 1 C 2
Y = L 2 (C 1 S 2 C 3 -S 1 S 3) + L 3 C 1 S 2 C 34 -L 3 S 1 S 34
-L 1 C 1 C 2
Z = -L 3 C 2 C 3 -L 2 C 2 C 34 -L 1 S 2
S n = sin (θ n ), C n = cos (θ n ), n is a natural number,
S 345 = sin (θ 3 + θ 4 + θ 5 ), C 345 = cos (θ 3 + θ 4 + θ 5 )
It is.

肩43、手先41の座標についても、順変換計算式を用いて計算することができる。
図14は、支持多角形100と床面投影点103との関係を説明するための図である。床面投影点103は、上述したx、y座標を用いることによって、全身の重心位置を床面に投影した位置(x、y)として表すことができる。支持多角形100は、両足裏で構成される多角形であり、床面投影点103が支持多角形内の所定の範囲内にあるか否かで、腰45の参照位置の水平成分の位置を求める。
The coordinates of the shoulder 43 and the hand 41 can also be calculated using a forward conversion formula.
FIG. 14 is a diagram for explaining the relationship between the support polygon 100 and the floor projection point 103. The floor projection point 103 can be expressed as a position (x, y) where the center-of-gravity position of the whole body is projected onto the floor surface by using the above-described x, y coordinates. The support polygon 100 is a polygon constituted by the soles of both feet, and the position of the horizontal component of the reference position of the waist 45 is determined by whether or not the floor projection point 103 is within a predetermined range in the support polygon. Ask.

ロボットの重心位置、つまり床面投影点103が、支持多角形100の中心点102から所定以上の距離、つまり範囲101外か否か判定する。範囲101外のときは、腰45の参照位置の水平成分を、支持多角形100の中心方向105に、中心からの距離Lに比例した速度で移動する位置とする。範囲101外でないときは、腰45の現在位置の水平成分を腰45の参照位置の水平成分とする。 It is determined whether or not the position of the center of gravity of the robot, that is, the floor projection point 103 is a predetermined distance or more from the center point 102 of the support polygon 100, that is, outside the range 101. When the range 101 out of the horizontal component of the reference position of the waist 45, in the central direction 105 of the support polygon 100, and a position that moves a speed proportional to the distance L M of the center. When not outside the range 101, the horizontal component of the current position of the waist 45 is set as the horizontal component of the reference position of the waist 45.

図15は、図2に示すロボット制御方法での腰45の目標位置の計算のフローチャートである。腰45の目標位置の計算を行うときに本処理が行われる。ステップS40では、腰45の参照位置が腰45の後述する移動許諾範囲内か否か判定する。移動許諾範囲内のときは、ステップS41に進み、移動許諾範囲内にないときは、ステップS42に進む。ステップS41では、腰45の参照位置を腰45の目標位置として終了する。ステップS42では、腰45の移動許諾範囲内であって、腰45の現在位置から水平方向で、腰45の参照位置に最も近い位置を、腰45の目標位置として終了する。   FIG. 15 is a flowchart of calculation of the target position of the waist 45 in the robot control method shown in FIG. This process is performed when the target position of the waist 45 is calculated. In step S40, it is determined whether or not the reference position of the waist 45 is within a movement permission range described later of the waist 45. When it is within the movement permission range, the process proceeds to step S41, and when it is not within the movement permission range, the process proceeds to step S42. In step S41, the reference position of the waist 45 is set as the target position of the waist 45, and the process ends. In step S42, the position closest to the reference position of the waist 45 in the horizontal direction from the current position of the waist 45 in the movement permission range of the waist 45 is ended as the target position of the waist 45.

図16は、代表点の移動許諾範囲を説明するための図である。図16(a)は、腰45の移動許諾範囲を説明するための図である。腰45の移動許諾範囲110は、腰45が移動することができる移動可能範囲内の所定の範囲である。この場合、腰45の参照位置111が移動許諾範囲110内にないので、腰45の目標位置は、腰45の水平方向113の方向で、かつ移動許諾範囲110内で、参照位置111に最も近い位置112を目標位置とする。腰45の参照位置が移動許諾範囲110内のときは、参照位置がそのまま目標位置になる。移動許諾範囲110は、移動可能範囲114の所定の範囲である。   FIG. 16 is a diagram for explaining the movement permission range of the representative point. FIG. 16A is a diagram for explaining the movement permission range of the waist 45. The movement permission range 110 of the waist 45 is a predetermined range within the movable range in which the waist 45 can move. In this case, since the reference position 111 of the waist 45 is not in the movement permission range 110, the target position of the waist 45 is closest to the reference position 111 in the horizontal direction 113 of the waist 45 and within the movement permission range 110. The position 112 is set as a target position. When the reference position of the waist 45 is within the movement permission range 110, the reference position becomes the target position as it is. The movement permission range 110 is a predetermined range of the movable range 114.

図16(b)は、肩43の動作許諾範囲を説明するための図である。肩43の移動許諾範囲120は、肩43が移動することができる移動可能範囲内の所定の範囲である。この場合、肩43の参照位置121が移動許諾範囲120内にないので、肩43の目標位置は、移動許諾範囲120内の参照位置121に最も近い位置122を目標位置とする。肩43の参照位置が移動許諾範囲120内のときは、参照位置がそのまま目標位置になる。移動許諾範囲120は、移動可能範囲123の所定の範囲である。   FIG. 16B is a diagram for explaining the operation permission range of the shoulder 43. The movement permission range 120 of the shoulder 43 is a predetermined range within the movable range in which the shoulder 43 can move. In this case, since the reference position 121 of the shoulder 43 is not within the movement permission range 120, the target position of the shoulder 43 is the position 122 closest to the reference position 121 within the movement permission range 120. When the reference position of the shoulder 43 is within the movement permission range 120, the reference position becomes the target position as it is. The movement permission range 120 is a predetermined range of the movable range 123.

図17は、図2に示すロボット制御方法での肩43の目標位置の計算のフローチャートである。肩43の目標位置の計算を行うときに本処理が行われる。ステップS50では、肩43の参照位置が肩43の移動許諾範囲内か否か判定する。移動許諾範囲内のときは、ステップS51に進み、移動許諾範囲内にないときは、ステップS52に進む。ステップS51では、肩43の参照位置を肩43の目標位置として終了する。ステップS52では、肩43の移動許諾範囲内で、肩43の参照位置に最も近い位置を、肩43の目標位置として終了する。   FIG. 17 is a flowchart for calculating the target position of the shoulder 43 in the robot control method shown in FIG. This processing is performed when the target position of the shoulder 43 is calculated. In step S50, it is determined whether or not the reference position of the shoulder 43 is within the movement permission range of the shoulder 43. When it is within the movement permission range, the process proceeds to step S51, and when it is not within the movement permission range, the process proceeds to step S52. In step S51, the reference position of the shoulder 43 is set as the target position of the shoulder 43. In step S <b> 52, the position closest to the reference position of the shoulder 43 within the movement permission range of the shoulder 43 is ended as the target position of the shoulder 43.

図18は、図2に示すロボット制御方法での手先41の目標位置の計算のフローチャートである。手先41の目標位置の計算を行うときに本処理が行われる。手先41の移動許諾範囲は、手先41が移動することができる移動可能範囲内の所定の範囲である。ステップS60では、手先41の参照位置が手先41の移動許諾範囲内か否か判定する。移動許諾範囲内のときは、ステップS61に進み、移動許諾範囲内にないときは、ステップS62に進む。ステップS61では、手先41の参照位置を手先41の目標位置として終了する。ステップS62では、手先41の移動許諾範囲内で、手先41の参照位置に最も近い位置を、手先41の目標位置として終了する。   FIG. 18 is a flowchart of calculation of the target position of the hand 41 in the robot control method shown in FIG. This processing is performed when the target position of the hand 41 is calculated. The movement permission range of the hand 41 is a predetermined range within the movable range in which the hand 41 can move. In step S <b> 60, it is determined whether the reference position of the hand 41 is within the movement permission range of the hand 41. When it is within the movement permission range, the process proceeds to step S61, and when it is not within the movement permission range, the process proceeds to step S62. In step S <b> 61, the reference position of the hand 41 is ended as the target position of the hand 41. In step S 62, the position closest to the reference position of the hand 41 within the movement permission range of the hand 41 is ended as the target position of the hand 41.

隣接するサブシステムの代表点の目標位置の計算を、優先度の高い動作目標が設定されたサブシステムの目標位置を基準に計算しているので、すなわち、他のサブシステムとの関係を考慮する必要がないので、計算量を少なくでき、ロボットの各軸の値を短時間に求めることができる。   The calculation of the target position of the representative point of the adjacent subsystem is calculated based on the target position of the subsystem for which a high-priority operation target has been set, that is, considering the relationship with other subsystems Since there is no need, the amount of calculation can be reduced, and the value of each axis of the robot can be obtained in a short time.

さらに、以前に求めた目標位置と以前に求めた各軸の値とに基づいて新たな目標位値を求めるので、動作しているロボットの現在の状態に基づいた次の目標位置を計算できる。   Further, since a new target position value is obtained based on the previously obtained target position and the previously obtained values of the respective axes, the next target position based on the current state of the operating robot can be calculated.

さらに、優先度の高い動作目標が設定されたサブシステムの代表点の移動可能範囲に対する移動許諾範囲の割合を、優先度の低い動作目標が設定されたサブシステムより小さくしているので、優先度の高い動作目標が設定されたサブシステムの代表点の目標位置の影響を少なくすることができる。   Furthermore, since the ratio of the movement permission range to the movable range of the representative point of the subsystem with the high-priority operation target set is smaller than the subsystem with the low-priority operation target set, the priority It is possible to reduce the influence of the target position of the representative point of the subsystem in which a high operation target is set.

代表点の移動可能範囲に対する移動許諾範囲の割合は、腰45の割合は肩43の割合より小さく、肩43の割合は手先41の割合より小さくする。たとえば、腰45、肩43、手先41の割合が、それぞれ70%、80%、90%という割合である。これは、優先度の高い動作目標が設定されたサブシステムから目標位置を決めるので、腰45の影響が、肩43の影響より大きく、肩43の影響が手先41の影響より大きくなるためであり、影響の大きいサブシステムの移動許諾範囲を厳しくしている。   The ratio of the movement permission range to the movable range of the representative point is such that the ratio of the waist 45 is smaller than the ratio of the shoulder 43 and the ratio of the shoulder 43 is smaller than the ratio of the hand 41. For example, the ratio of the waist 45, the shoulder 43, and the hand 41 is 70%, 80%, and 90%, respectively. This is because the target position is determined from a subsystem in which a high-priority operation target is set, so that the influence of the waist 45 is larger than the influence of the shoulder 43 and the influence of the shoulder 43 is larger than the influence of the hand 41. The movement permission range of subsystems that have a large impact has been tightened.

腰の移動可能範囲に対する移動許諾範囲の割合を肩より小さくし、かつ肩の移動可能範囲に対する移動許諾範囲の割合を手先より小さくしているので、優先度の高い動作目標が設定された脚部の代表点である腰の目標位置の影響を肩および手先より、および肩の目標位置の影響を手先より少なくすることができる。   The ratio of the permitted movement range to the hip movable range is smaller than the shoulder, and the ratio of the permitted movement range to the shoulder movable range is smaller than the hand. The influence of the target position of the waist, which is a representative point, can be made smaller than that of the shoulder and the hand, and the influence of the target position of the shoulder can be made smaller than that of the hand.

このように、目標位置の計算は、参照位置が移動許諾範囲内にあれば、その参照位置を目標値とするので、計算量を少なくすることができる。サブシステム毎に計算した参照位置が代表点の移動許諾範囲内でないときも、移動許諾範内の位置に目標位置を計算するので、許容される範囲内で動作が可能な各軸の値を短時間に求めることができる。つまり、従来技術のように最適な値を求めるのではなく、一定の評価基準の範囲内にあればよいとして計算するので、ロボットの実時間制御を行うことができる。   As described above, the calculation of the target position can be reduced because the reference position is set as the target value if the reference position is within the movement permission range. Even when the reference position calculated for each subsystem is not within the movement permission range of the representative point, the target position is calculated at a position within the movement permission range, so the value of each axis that can operate within the allowable range is shortened. You can ask for time. That is, instead of obtaining an optimum value as in the prior art, the calculation is performed as long as it is within a range of a certain evaluation criterion, so that real-time control of the robot can be performed.

手先41、肩43、および腰45の目標位置が計算されると、これらの目標位置と足の位置との情報に基づいて、ロボットの各軸の値、たとえば角度が、逆運動学計算によって求められる。逆運動学計算は、ロボット各部のリンク構造に依存した幾何学的関係式を利用して、変換式を作成して計算する。具体的には、上述した順変換計算式(3)と、リンク構造に依存して導かれるリンクの位置関係式から、各軸の角度を一意に計算することができる式を解くことによって、ロボットの各軸の値を求める。   When the target positions of the hand 41, the shoulder 43, and the waist 45 are calculated, a value of each axis of the robot, for example, an angle, for example, is obtained by inverse kinematic calculation based on the information on the target position and the foot position. It is done. Inverse kinematics calculation is performed by creating a conversion formula using a geometric relational expression depending on the link structure of each part of the robot. Specifically, the robot can be obtained by solving an equation that can uniquely calculate the angle of each axis from the above-described forward conversion calculation formula (3) and the positional relationship formula of the link that is derived depending on the link structure. Find the value of each axis.

手先41、肩43、および腰45の目標位置は、ロボットの基準座標系Σからみた位置姿勢であるので、たとえば腕部32の逆変換を行なう場合は、肩43の座標系から見た手先41の座標系の位置姿勢を計算して、これを腕の逆変換計算式に用いることで、腕の各軸の角度を計算する。具体例として、図13を用いて順変換について説明した脚部34の逆変換について説明する。基準座標系Σからみた足首の座標系Σの位置姿勢が与えられたときのジョイント341〜ジョイント346の角度θ〜角度θを求める。 Since the target positions of the hand 41, the shoulder 43, and the waist 45 are positions and orientations as seen from the reference coordinate system Σ 0 of the robot, for example, when performing the inverse transformation of the arm 32, the hand as seen from the coordinate system of the shoulder 43 The position and orientation of the 41 coordinate system is calculated, and this is used in the arm inverse transformation calculation formula to calculate the angle of each axis of the arm. As a specific example, the reverse conversion of the leg part 34 described with reference to FIG. 13 will be described. The angles θ 1 to θ 6 of the joints 341 to 346 when the position and orientation 0 T f of the ankle coordinate system Σ f viewed from the reference coordinate system Σ 0 are given are obtained.

基準座標系Σから基準座標系Σからみた足首の座標系Σの位置姿勢は、式(3)で与えられ、行列Rを式(4)で表すと、式(5)の関係式が成立する。 The position and orientation 0 T f of the ankle coordinate system Σ f viewed from the reference coordinate system Σ 0 to the reference coordinate system Σ 0 is given by Expression (3), and the matrix R is expressed by Expression (4). The following relational expression holds.

Figure 0004488811
Figure 0004488811

Figure 0004488811
Figure 0004488811

このとき、足首の座標(x、y、z)には、次の関係がある。
x=−L−L45 …(6)
y=(L+L45)S+L …(7)
z=(L+L45)C−L …(8)
At this time, the coordinates (x, y, z) of the ankle have the following relationship.
x = -L 3 S 5 -L 2 S 45 ... (6)
y = (L 3 C 5 + L 2 C 45 ) S 6 + L 1 C 6 (7)
z = (L 3 C 5 + L 2 C 45 ) C 6 -L 1 S 6 (8)

式(7)と式(8)から次式が成立し、ジョイント346の角度θが求まる。
y−Sz=L
From the equations (7) and (8), the following equation is established, and the angle θ 6 of the joint 346 is obtained.
C 6 y-S 6 z = L 1

式(6)〜式(8)から次式が成立し、ジョイント344の角度θが求まる。
+y+z=L +L +L +2L
From the equations (6) to (8), the following equation is established, and the angle θ 4 of the joint 344 is obtained.
x 2 + y 2 + z 2 = L 1 2 + L 2 2 + L 3 2 + 2L 2 L 3 C 4

式(6)を変形すると、次式が成り立ち、同様に式(8)を変形し、角度θと角度θを代入してSとCを計算することができる。
x=(−L−L)S−L
When the equation (6) is modified, the following equation is established. Similarly, the equation (8) is modified, and the angles θ 4 and θ 6 can be substituted to calculate S 5 and C 5 .
x = (- L 3 -L 2 C 4) S 5 -L 2 S 4 C 5

とCからジョイント345の角度θを計算することができる。
θ=−atan2(S,C
The angle θ 5 of the joint 345 can be calculated from S 5 and C 5 .
θ 5 = −atan2 (S 5 , C 5 )

次に、上述した順変換の関係式から、次式が成り立ち、ジョイント342の角度θを計算することができる。 Next, from the above-described relational expression for forward conversion, the following expression is established, and the angle θ 2 of the joint 342 can be calculated.

=R32−R33
同様に上述した順変換の関係式から、次式が成り立ち、S345とC345を計算することができる。
345=−R31/C
345=(R33+S)/(C
S 2 = R 32 C 6 -R 33 S 6
Similarly, from the relational expression of the forward conversion described above, the following expression is established, and S 345 and C 345 can be calculated.
S 345 = -R 31 / C 2
C 345 = (R 33 + S 2 S 6) / (C 2 C 6)

345とC345から計算したθ345にθとθを代入して、ジョイント343の角度θを計算することができる。
θ345=atan2(S345,C345)=θ+θ+θ
The angle θ 3 of the joint 343 can be calculated by substituting θ 4 and θ 5 into θ 345 calculated from S 345 and C 345 .
θ 345 = atan2 (S 345 , C 345 ) = θ 3 + θ 4 + θ 5

上述した順変換の関係式から、次式が成り立ち、SとCを計算することができる。
=(−S34511+C34521
/(C345 +S 345
=(C34511+S34521
/(C345 +S 345
From the relational expression of the forward conversion described above, the following expression is established, and S 1 and C 1 can be calculated.
S 1 = (− S 2 S 345 R 11 + C 345 R 21 )
/ (C 345 2 + S 2 2 S 345 2 )
C 1 = (C 345 R 11 + S 2 S 345 R 21 )
/ (C 345 2 + S 2 2 S 345 2 )

とCから計算してジョイント341の角度θを計算することができる。
θ=atan2(S,C
The angle θ 1 of the joint 341 can be calculated by calculating from S 1 and C 1 .
θ 1 = atan2 (S 1 , C 1 )

図19は、図2に示すロボット制御方法での参照位置の計算から各軸の値の計算までのアルゴリズムを示す図である。第1の参照位置計算工程70は、手先41の参照位置の計算を行う工程であり、遠隔操作装置から取得した作業目標である手先41の指示位置が入力として与えられると、与えられた手先41の指示位置を手先41の参照位置として出力する。第2の参照位置計算工程71は、肩43の参照位置の計算を行う工程であり、手先41の指示位置と目標位置保持工程76で保持されている手先41の現在位置と肩43の現在位置が入力として与えられると、それらの情報に基づいて肩43の参照位置を計算して出力する。   FIG. 19 is a diagram showing an algorithm from the calculation of the reference position to the calculation of the value of each axis in the robot control method shown in FIG. The first reference position calculation step 70 is a step of calculating the reference position of the hand 41. When the indicated position of the hand 41 that is the work target acquired from the remote operation device is given as an input, the given hand 41 is given. Is output as the reference position of the hand 41. The second reference position calculation step 71 is a step of calculating the reference position of the shoulder 43, and the indicated position of the hand 41, the current position of the hand 41 held in the target position holding step 76, and the current position of the shoulder 43. Is given as an input, the reference position of the shoulder 43 is calculated and output based on the information.

第3の参照位置計算工程72は、腰45の参照位置の計算を行う工程であり、目標位置保持工程76で保持されている肩43の現在位置と腰45の現在位置、および重心位置計算工程78で計算された現在の重心位置が入力として与えられると、それらの情報に基づいて腰45の参照位置を計算して出力する。先41、肩43、および腰45の参照位置の計算は、並行して計算される。   The third reference position calculation step 72 is a step of calculating the reference position of the waist 45, and the current position of the shoulder 43 and the current position of the waist 45 held in the target position holding step 76, and the gravity center position calculation step. When the current center-of-gravity position calculated in 78 is given as an input, the reference position of the waist 45 is calculated and output based on the information. The calculation of the reference positions of the tip 41, the shoulder 43, and the waist 45 is performed in parallel.

サブシステム毎の代表点の参照位置を並行して計算するので、参照位置の計算時間を短時間に行うことができ、さらにロボットの各軸の値を短時間に求めることができる。   Since the reference position of the representative point for each subsystem is calculated in parallel, the calculation time of the reference position can be performed in a short time, and further, the value of each axis of the robot can be determined in a short time.

第1の目標位置計算工程73は、腰45の目標位置の計算を行う工程であり、第3の参照位置計算工程72の出力である腰45の参照位置と、基準の位置である固定されている足の位置とが入力として与えられると、腰45の目標位置を計算して出力する。第2の目標位置計算工程74は、肩43の目標位置の計算を行う工程であり、第2の参照位置計算工程71の出力である肩43の参照位置と、第1の目標位置計算工程73の出力である腰45の目標位置とが入力として与えられると、肩43の目標位置を計算して出力する。   The first target position calculation step 73 is a step of calculating the target position of the waist 45. The reference position of the waist 45, which is the output of the third reference position calculation step 72, and the reference position are fixed. When the position of a foot is given as an input, the target position of the waist 45 is calculated and output. The second target position calculation step 74 is a step of calculating the target position of the shoulder 43. The reference position of the shoulder 43, which is the output of the second reference position calculation step 71, and the first target position calculation step 73. When the target position of the waist 45, which is the output of, is given as an input, the target position of the shoulder 43 is calculated and output.

第3の目標位置計算工程75は、手先41の目標位置の計算を行う工程であり、第1の参照位置計算工程70の出力である手先41の参照位置と、第2の目標位置計算工程74の出力である肩43の目標位置とが入力として与えられると、手先41の目標位置を計算して出力する。   The third target position calculation step 75 is a step of calculating the target position of the hand 41, and the reference position of the hand 41 that is the output of the first reference position calculation step 70 and the second target position calculation step 74. When the target position of the shoulder 43, which is the output of, is given as an input, the target position of the hand 41 is calculated and output.

目標位置保持工程76では、第3の目標位置計算工程75の出力である手先41の目標位置、第2の目標位置計算工程74の出力である肩43の目標位置、および第1の目標位置計算工程73の出力である腰45の目標位置が入力として与えられると、それらの情報を保持するとともに出力する。各軸値計算工程77は、腕部32、胴体部33、脚部34の各軸の値を計算する工程であり、目標位置保持工程76の出力である手先41の目標位置、肩43の目標位置、腰45の目標位置、および足の位置が入力として与えられると、逆運動学計算を行ってロボットの各軸の値を求めて、求めた各軸の値をロボットの各軸に指令する。各軸値計算工程77の出力は、重心位置計算工程78に入力される。重心位置計算工程78では、入力されたロボットの各軸の値に基づいてロボットの重心位置を計算する。各軸値計算工程77での各軸の値の計算は、サブシステム毎に並行して行う。サブシステム内の各軸の値をサブシステム毎に並行して計算するので、ロボット全体の各軸の値の計算時間を短時間に行うことができる。   In the target position holding step 76, the target position of the hand 41 that is the output of the third target position calculating step 75, the target position of the shoulder 43 that is the output of the second target position calculating step 74, and the first target position calculation. When the target position of the waist 45, which is the output of step 73, is given as input, the information is held and output. Each axis value calculation step 77 is a step of calculating values of the respective axes of the arm portion 32, the body portion 33, and the leg portion 34, and the target position of the hand 41 and the target of the shoulder 43 that are outputs of the target position holding step 76. When the position, the target position of the waist 45, and the position of the foot are given as inputs, inverse kinematics calculation is performed to determine the value of each axis of the robot, and the determined value of each axis is commanded to each axis of the robot. . The output of each axis value calculation step 77 is input to the gravity center position calculation step 78. In the center-of-gravity position calculation step 78, the center-of-gravity position of the robot is calculated based on the input values of each axis of the robot. Calculation of the value of each axis in each axis value calculation step 77 is performed in parallel for each subsystem. Since the value of each axis in the subsystem is calculated in parallel for each subsystem, the calculation time of the value of each axis of the entire robot can be shortened.

上述した実施の形態は、ロボット動作の動的な動きに大きく影響しない程度の速度で動作を行うと仮定した場合、つまり、ロボットの動作に伴う慣性を考慮しなくてもよい程度の速度で動作を行うと仮定した場合について、ロボットの全体のバランスを維持することができる。ロボットの動作を速く行うためには、ロボットの動作に伴う動的要素、つまり慣性を考慮する必要がある。目標位置を計算する際に、計算した目標位置を、ロボットの動作に伴う重心移動の慣性に基づいて、目標位置を再計算することによって、動的要素を考慮したロボットの各軸の値を計算することができる。   In the above-described embodiment, it is assumed that the motion is performed at a speed that does not significantly affect the dynamic motion of the robot motion, that is, the motion is performed at a speed that does not require consideration of the inertia associated with the motion of the robot. It is possible to maintain the overall balance of the robot when it is assumed that In order to perform the robot operation quickly, it is necessary to consider a dynamic element accompanying the robot operation, that is, inertia. When calculating the target position, recalculate the target position based on the inertia of the movement of the center of gravity accompanying the movement of the robot, and calculate the value of each axis of the robot considering dynamic elements can do.

ロボットの動作に起因する動的要素、たとえば、動作しているロボットの慣性を考慮して目標位置を再計算するので、より安定した目標位置を計算でき、ロボットの安定性を向上することができる。   The target position is recalculated in consideration of the dynamic factors resulting from the robot's movement, for example, the inertia of the robot in motion, so that a more stable target position can be calculated and the robot's stability can be improved. .

上述した実施の形態では、頭部31をサブシステムとして含めていないが、頭部31をサブシステムとして含める場合は、優先度を低くした動作目標を「頭部の動作目標が作業に必要な視野を確保すること」とし、この場合は、胴体部33は「頭部の動作範囲も広く保つこと」も動作目標とする。人間型ロボットの頭部もサブシステムとして分割すれば、頭部の動作目標を実現することができ、頭部の動作範囲を広く保つことができる。   In the above-described embodiment, the head 31 is not included as a subsystem. However, when the head 31 is included as a subsystem, an operation target with a lower priority is set as “the field of view that the head operation target is necessary for the work”. In this case, the torso unit 33 also has an operation target of “keep the movement range of the head wide”. If the head of the humanoid robot is also divided as a subsystem, the movement target of the head can be realized, and the movement range of the head can be kept wide.

図20は、本発明の実施の他の形態であるロボット制御方法が適用されるロボット200のサブシステムへの分割の一例を示す図である。ロボット200は、サブシステムA201、サブシステムB202、およびサブシステムC203を含んで構成される。サブシステムA201は、リンク220と連結部210、サブシステムB202は、リンク221と連結部211、およびサブシステムC203は、リンク222と連結部212を含み、連結部213によって床面などの水平面230に固定されている。これらのサブシステムの代表点は、それぞれ連結部210、211、212である。この例では、1つのリンクには、複数のリンクを代表して表現している。   FIG. 20 is a diagram illustrating an example of dividing a robot 200 into subsystems to which a robot control method according to another embodiment of the present invention is applied. The robot 200 includes a subsystem A 201, a subsystem B 202, and a subsystem C 203. The subsystem A201 includes a link 220 and a connecting portion 210, the subsystem B202 includes a link 221 and a connecting portion 211, and the subsystem C203 includes a link 222 and a connecting portion 212. The connecting portion 213 causes a horizontal surface 230 such as a floor surface to be formed. It is fixed. The representative points of these subsystems are connecting portions 210, 211, and 212, respectively. In this example, one link is represented on behalf of a plurality of links.

これらのサブシステムは、サブシステムC203を最下層とする階層構造を形成している。たとえば人間型ロボットであれば、サブシステムA201が腕部32、サブシステムB202が胴体部33、およびサブシステムC203が脚部34に対応し、それぞれの代表点は、手先41、肩43、および腰45に対応する。   These subsystems form a hierarchical structure with the subsystem C203 as the lowest layer. For example, in the case of a humanoid robot, subsystem A201 corresponds to arm 32, subsystem B202 corresponds to torso 33, and subsystem C203 corresponds to leg 34. The representative points are the hand 41, shoulder 43, and waist. 45.

代表点を移動させる位置である参照位置は、「作業目標に応じて評価がよくなるような位置」である。たとえば、人間型ロボットであれば、サブシステムC203に対応する脚部34の実現すべき動作目標を「全身のバランスをとること」とした場合、代表点である連結部212に対応する腰45の参照位置は、全体の重心が前方に移動したときは、腰45の位置を後方に引くように、腰45の現在位置より後方の位置を腰45の参照位置とする。このとき、各サブシステムの代表点の参照位置は、独立に計算する。   The reference position, which is the position to move the representative point, is “a position where evaluation is improved according to the work target”. For example, in the case of a humanoid robot, when the motion target to be realized by the leg 34 corresponding to the subsystem C203 is “to balance the whole body”, the waist 45 corresponding to the connecting portion 212 which is a representative point is selected. As for the reference position, when the entire center of gravity moves forward, the position behind the current position of the waist 45 is set as the reference position of the waist 45 so that the position of the waist 45 is pulled backward. At this time, the reference position of the representative point of each subsystem is calculated independently.

これらのサブシステムは、お互いに連結部を有するが、それぞれの参照位置を独立に計算しているので、各サブシステムの制約条件、具体的には、隣接するサブシステムの代表点の位置、リンクの構造、代表点の移動許諾範囲、周囲との干渉回避などの制約条件によって、お互いの連結部が計算した参照位置で実現できない場合がある。   These subsystems have a connection part to each other, but each reference position is calculated independently. Therefore, the constraint condition of each subsystem, specifically, the position of the representative point of the adjacent subsystem, the link In some cases, it cannot be realized at the reference position calculated by the mutual connecting part, depending on the constraints such as the structure of the movement of the representative point, the permitted movement range of the representative point, and the avoidance of interference with surroundings.

たとえば人間型ロボットの場合、代表点である連結部210に対応する手先41が、前方に移動しようとするとき、サブシステムB202に対応する胴体部33は手先41の動作範囲を拡大することができるように、代表点である連結部211に対応する肩43の参照位置を手先41が移動する方向に変更する。サブシステムC203に対応する脚部34は、全体のバランスを維持するために、前方に移動している全体の重心位置を基準位置213に戻すために、代表点である連結部212に対応する腰45の参照位置を後方に変更する。   For example, in the case of a humanoid robot, when the hand 41 corresponding to the connecting portion 210 that is a representative point is about to move forward, the body portion 33 corresponding to the subsystem B 202 can expand the operating range of the hand 41. In this way, the reference position of the shoulder 43 corresponding to the connecting portion 211 that is the representative point is changed in the direction in which the hand 41 moves. In order to maintain the overall balance, the leg 34 corresponding to the subsystem C203 returns the entire center of gravity moving forward to the reference position 213, and the leg 34 corresponding to the connecting portion 212, which is a representative point. 45 reference position is changed backward.

このとき、全体のバランスを維持することがロボットの最重要の動作目標であるので、まず、代表点である連結部212に対応する腰45の参照位置が実現可能か否か判定する。腰45の参照位置が腰45の移動許諾範囲内にあるときは、腰45の参照位置は実現可能であるので、腰45の参照位置を腰45の目標位置とする。   At this time, since maintaining the overall balance is the most important movement target of the robot, first, it is determined whether or not the reference position of the waist 45 corresponding to the connecting portion 212 which is a representative point is realizable. When the reference position of the waist 45 is within the movement permission range of the waist 45, the reference position of the waist 45 can be realized, so the reference position of the waist 45 is set as the target position of the waist 45.

次に、代表点である連結部211に対応する肩43の参照位置が実現可能か否か判定する。肩43の参照位置が肩43の移動許諾範囲内にあるときは、肩43の参照位置は実現可能であるので、肩43の参照位置を肩43の目標位置とする。腰45の参照位置あるいは肩43の参照位置が、それぞれの移動許諾範囲内にないときは、それぞれの参照位置に最も近い移動許諾範囲内の位置を目標位置とする。   Next, it is determined whether or not the reference position of the shoulder 43 corresponding to the connecting portion 211 that is a representative point is realizable. When the reference position of the shoulder 43 is within the movement permission range of the shoulder 43, the reference position of the shoulder 43 can be realized, and therefore the reference position of the shoulder 43 is set as the target position of the shoulder 43. When the reference position of the waist 45 or the reference position of the shoulder 43 is not within the respective movement permission ranges, the position within the movement permission range closest to the respective reference positions is set as the target position.

このように、階層構造の下位のサブシステムの代表点を基準に1つ上のサブシステムの制約条件を考慮して、代表点の目標位置を決めていく。すべての代表点の目標位置が決まれば、逆運動計算を行い、サブシステムの各軸の値を計算する。   In this way, the target position of the representative point is determined in consideration of the constraint condition of the subsystem that is one level higher than the representative point of the subordinate subsystem in the hierarchical structure. When the target positions of all the representative points are determined, the inverse motion calculation is performed, and the value of each axis of the subsystem is calculated.

図21は、本発明の実施の他の形態であるロボット制御方法の工程を示すフローチャートである。本処理は、ジョイスティックなどの入力装置である遠隔操作装置などから作業目標が与えられたときに開始される。ステップS70では、指示された作業目標を取得する。ステップS71では、それぞれのサブシステムに設定された動作目標を満たす条件に合致する位置を、それぞれの参照位置として計算する。   FIG. 21 is a flowchart showing steps of a robot control method according to another embodiment of the present invention. This processing is started when a work target is given from a remote control device that is an input device such as a joystick. In step S70, the instructed work target is acquired. In step S71, a position that matches a condition that satisfies the operation target set for each subsystem is calculated as each reference position.

ステップS72では、計算された参照位置に基づいて、作業目標を達成するために設定された動作目標の優先度に従って、各サブシステムの代表点の目標位置を計算する。ステップS73では、計算された目標位置に基づいてロボットの各軸の値を計算する。ステップS74では、計算された各軸の値をロボットの各軸に指令して終了する。   In step S72, based on the calculated reference position, the target position of the representative point of each subsystem is calculated according to the priority of the operation target set to achieve the work target. In step S73, the value of each axis of the robot is calculated based on the calculated target position. In step S74, the calculated value of each axis is instructed to each axis of the robot, and the process ends.

図22は、図21に示すロボット制御方法での参照位置の計算から各軸の値の計算までのアルゴリズムを示す図である。遠隔操作指示入力工程250では、遠隔操作装置などから与えられた作業目標を取得すると、取得した作業目標をサブシステムA参照位置計算工程252に入力する。サブシステムA参照位置計算工程252では、入力された作業目標に基づいて、サブシステムAに設定された動作目標を満たす条件に合致する位置を、サブシステムAの代表点の参照位置として計算する。   FIG. 22 is a diagram showing an algorithm from the calculation of the reference position to the calculation of the value of each axis in the robot control method shown in FIG. In the remote operation instruction input step 250, when the work target given from the remote operation device or the like is acquired, the acquired work target is input to the subsystem A reference position calculation step 252. In the subsystem A reference position calculation step 252, a position that satisfies a condition that satisfies the operation target set in the subsystem A is calculated as the reference position of the representative point of the subsystem A based on the input work target.

各代表点現在位置工程251では、各サブシステムの代表点の現在位置を前回計算した目標位置、つまり、サブシステムA目標位置計算工程257、サブシステムB目標位置計算工程256、およびサブシステムC目標位置計算工程255の出力である目標位置を取得して、取得した各サブシステムの代表点の現在位置をサブシステムB参照位置計算工程253とサブシステムC参照位置計算工程254に入力する。サブシステムB参照位置計算工程253とサブシステムC参照位置計算工程254では、それぞれ、入力された各サブシステムの代表点の現在位置に基づいて、各サブシステムに設定された動作目標を満たす条件に合致する位置を、各サブシステムの代表点の参照位置として計算する。サブシステムA参照位置計算工程252、サブシステムB参照位置計算工程253、およびサブシステムC参照位置計算工程254での計算は、並行して実行される。   In each representative point current position step 251, the current position of the representative point of each subsystem was calculated last time, that is, the subsystem A target position calculation step 257, the subsystem B target position calculation step 256, and the subsystem C target. The target position that is the output of the position calculation step 255 is acquired, and the acquired current position of the representative point of each subsystem is input to the subsystem B reference position calculation step 253 and the subsystem C reference position calculation step 254. In the subsystem B reference position calculation step 253 and the subsystem C reference position calculation step 254, the conditions satisfying the operation target set for each subsystem are set based on the input current position of the representative point of each subsystem. The matching position is calculated as the reference position of the representative point of each subsystem. The calculations in the subsystem A reference position calculation step 252, the subsystem B reference position calculation step 253, and the subsystem C reference position calculation step 254 are performed in parallel.

サブシステムC目標位置計算工程255では、基準位置と、サブシステムC参照位置計算工程254から出力された参照位置とに基づいて、参照位置が実現可能か否か、つまり参照位置がサブシステムCの代表点の移動許諾範囲に入っているか否か判定する。参照位置が実現可能、つまり参照位置が移動許諾範囲に入っているときは、その参照位置をサブシステムCの代表点の目標位置とする。参照位置が実現可能ではない、つまり参照位置が移動許諾範囲に入っていないときは、移動許諾範囲の中で、参照位置にもっとも近い位置を目標位置とする。   In the subsystem C target position calculation step 255, whether or not the reference position can be realized based on the reference position and the reference position output from the subsystem C reference position calculation step 254, that is, the reference position of the subsystem C is calculated. It is determined whether it is within the movement permission range of the representative point. When the reference position is realizable, that is, when the reference position is within the movement permission range, the reference position is set as the target position of the representative point of the subsystem C. When the reference position is not feasible, that is, when the reference position is not within the movement permission range, the position closest to the reference position in the movement permission range is set as the target position.

サブシステムB目標位置計算工程25では、サブシステムC目標位置計算工程255から出力された目標位置と、サブシステムB参照位置計算工程253から出力された参照位置とに基づいて、参照位置が実現可能か否か、つまり参照位置がサブシステムBの代表点の移動許諾範囲に入っているか否か判定する。参照位置が実現可能、つまり参照位置が移動許諾範囲に入っているときは、その参照位置をサブシステムBの代表点の目標位置とする。参照位置が実現可能ではない、つまり参照位置が移動許諾範囲に入っていないときは、移動許諾範囲の中で、参照位置にもっとも近い位置を目標位置とする。   In the subsystem B target position calculation step 25, a reference position can be realized based on the target position output from the subsystem C target position calculation step 255 and the reference position output from the subsystem B reference position calculation step 253. It is determined whether or not the reference position is within the movement permission range of the representative point of the subsystem B. When the reference position is realizable, that is, when the reference position is within the movement permission range, the reference position is set as the target position of the representative point of the subsystem B. When the reference position is not feasible, that is, when the reference position is not within the movement permission range, the position closest to the reference position in the movement permission range is set as the target position.

サブシステムA目標位置計算工程257では、サブシステムB目標位置計算工程256から出力された目標位置と、サブシステムA参照位置計算工程252から出力された参照位置とに基づいて、参照位置が実現可能か否か、つまり参照位置がサブシステムAの代表点の移動許諾範囲に入っているか否か判定する。参照位置が実現可能、つまり参照位置が移動許諾範囲に入っているときは、その参照位置をサブシステムAの代表点の目標位置とする。参照位置が実現可能ではない、つまり参照位置が移動許諾範囲に入っていないときは、移動許諾範囲の中で、参照位置にもっとも近い位置を目標位置とする。この場合、各サブシステムに設定された動作目標の優先度が、サブシステムC、サブシステムB、サブシステムAの順序であるので、目標位置の計算は、その順序で行われる。   In the subsystem A target position calculation step 257, the reference position can be realized based on the target position output from the subsystem B target position calculation step 256 and the reference position output from the subsystem A reference position calculation step 252. Whether or not the reference position is within the movement permission range of the representative point of subsystem A is determined. When the reference position is realizable, that is, when the reference position is within the movement permission range, the reference position is set as the target position of the representative point of the subsystem A. When the reference position is not feasible, that is, when the reference position is not within the movement permission range, the position closest to the reference position in the movement permission range is set as the target position. In this case, since the priority of the operation target set for each subsystem is the order of the subsystem C, the subsystem B, and the subsystem A, the target position is calculated in that order.

各サブシステム各軸指令値計算工程258では、サブシステムA目標位置計算工程257、サブシステムB目標位置計算工程256、およびサブシステムC目標位置計算工程255から出力されたそれぞれのサブシステムの目標位置を基に、ロボットの各軸の値を計算する。計算した各軸の値は、ロボットの各軸に指令される。   In each subsystem command value calculation step 258, each subsystem target position output from the subsystem A target position calculation step 257, subsystem B target position calculation step 256, and subsystem C target position calculation step 255 is output. Based on this, the value of each axis of the robot is calculated. The calculated value of each axis is commanded to each axis of the robot.

このように、本発明の実施の形態によれば、人間型ロボットをサブシステムに分割することによって、作業目標に対する計算を並行処理することができ、さらに最適値を検索するような繰り返し計算を行うことがないので、ロボットを制御するための計算量を少なくすることができる。サブシステム毎に用意する参照位置の計算アルゴリズムを、作業目標に応じて切替えて組み合わせることによって、多様な作業目標に対応することが可能である。   As described above, according to the embodiment of the present invention, by dividing the humanoid robot into subsystems, the calculation for the work target can be performed in parallel, and the repeated calculation for searching for the optimum value is performed. Since there is no such thing, the amount of calculation for controlling the robot can be reduced. It is possible to deal with various work targets by switching and combining reference position calculation algorithms prepared for each subsystem according to the work targets.

上述したいずれのロボット制御方法も、それぞれのロボット制御方法をコンピュータに実行させるプログラムとして実現される。コンピュータは、種々の制御を行う図示していないCPU(Central Processing Unit)と、CPUで処理が行われるために用いられる図示していないメモリ、たとえば、ROM(Read Only Memory)またはRAM(Random
Access Memory)を含んで構成され、ロボット制御方法をコンピュータに実行させるプログラムは、このメモリに格納される。
Any of the robot control methods described above is realized as a program that causes a computer to execute each robot control method. The computer includes a CPU (Central Processing Unit) (not shown) that performs various controls and a memory (not shown) used for processing performed by the CPU, such as a ROM (Read Only Memory) or a RAM (Random).
The program that includes the “Access Memory” and causes the computer to execute the robot control method is stored in this memory.

ロボット制御方法をコンピュータに実行させるプログラムは、コンピュータで読取り可能な記録媒体に格納されておればよく、上述した実施の形態では、記録媒体として、メモリを用いたが、外部記憶装置としてプログラム読取装置が設けられ、そこに記録媒体を挿入することによって読取り可能となるような記録媒体であってもよい。記録媒体に格納されているプログラムは、CPUがアクセスして実行可能な構成であればよい。あるいは、ロボット制御方法をコンピュータに実行させるプログラムは、ネットワークに接続されているコンピュータの記憶装置などに格納されておればよく、記録媒体あるいは記憶装置などに格納されているプログラムを読出し、読出したプログラムを図示されていないプログラム記録エリアにダウンロードして、プログラムを実行する構成であればよい。このダウンロード用のプログラムは、予めROMに格納しておく。   The program for causing the computer to execute the robot control method only needs to be stored in a computer-readable recording medium. In the above-described embodiment, the memory is used as the recording medium, but the program reading device is used as an external storage device. May be provided and can be read by inserting the recording medium into the recording medium. The program stored in the recording medium may be any configuration that can be accessed and executed by the CPU. Alternatively, a program for causing a computer to execute the robot control method only needs to be stored in a storage device or the like of a computer connected to a network, and the program stored in the recording medium or the storage device is read and read. May be downloaded to a program recording area (not shown) and the program may be executed. This download program is stored in the ROM in advance.

記録媒体がコンピュータと分離可能に構成される場合、記録媒体は、磁気テープ/カセットテープなどのテープ系、フレキシブルディスク/ハードディスクなどの磁気ディスクまたはCD−ROM(Compact Disk-Read Only Memory)/MO(Magneto Optical Disk)/MD(Mini Disk)/DVD(Digital Versatile Disk)などの光ディスクのディスク系、IC(Integrated Circuit)カード(メモリカードを含む)/光カードなどのカード系、あるいはマスクROM/EPROM(Erasable Programmable Read Only Memory)/フラッシュROMなどによる半導体メモリを含め、固定的にプログラムを保持する記録媒体であればよい。   When the recording medium is configured to be separable from the computer, the recording medium may be a tape system such as a magnetic tape / cassette tape, a magnetic disk such as a flexible disk / hard disk, or a CD-ROM (Compact Disk-Read Only Memory) / MO ( Optical discs such as Magneto Optical Disk (MD) / MD (Mini Disk) / DVD (Digital Versatile Disk), IC (Integrated Circuit) cards (including memory cards) / optical cards, etc., or mask ROM / EPROM ( Erasable Programmable Read Only Memory) / semiconductor memory such as a flash ROM may be used as long as it is a recording medium that holds a fixed program.

上述した実施の形態は、人間型ロボットについて説明したが、多くの自由度を有するロボットについても同様に適用できる。特に、20自由度以上のロボットについては、計算時間を短縮できる効果が大きい。繰り返し計算を行わないので、20自由度以上の自由度を有するロボットについて、従来技術による計算時間に比べて、ロボットの各軸の値をより短時間に求めることができる。30自由度以上の人間型ロボットに適用しても、サブシステムの自由度を6自由度以下とし、サブシステム内の自由度が少ないので、冗長な自由度が少なくなり、サブシステム内の各軸の値の計算時間を短くでき、さらにロボットの各軸の値を短時間に求めることができる。   Although the above-described embodiment has been described with respect to a humanoid robot, it can be similarly applied to a robot having many degrees of freedom. In particular, for a robot with 20 degrees of freedom or more, the effect of shortening the calculation time is great. Since repeated calculation is not performed, the value of each axis of the robot can be obtained in a shorter time for a robot having 20 degrees of freedom or more than the calculation time according to the prior art. Even when applied to a humanoid robot with 30 degrees of freedom or more, the degree of freedom of the subsystem is set to 6 degrees of freedom or less, and the degree of freedom in the subsystem is small. It is possible to shorten the calculation time of the value of the robot, and furthermore, it is possible to obtain the value of each axis of the robot in a short time.

上述した人間型ロボットでは、各軸の値は、角度であったが、直線方向に変位する軸を有するロボットについては、角度の代わりに、直線方向の変位量を用いれば適用可能である。   In the above-described humanoid robot, the value of each axis is an angle. However, a robot having an axis that is displaced in a linear direction can be applied by using a displacement amount in the linear direction instead of the angle.

図23は、本発明を適用することができる他のロボットシステム150の構成の一例を示す図である。ロボットシステム150は、門構形移動装置151と門構形移動装置151に搭載された6軸垂直多関節型ロボット152から構成される。門構形移動装置151は、レール153とレール154に沿って移動することができる。6軸垂直多関節型ロボット152は、溶接などを行うツールが手首に取り付けられ、ライン155上を移動するワーク160に対する加工を行うことができる。   FIG. 23 is a diagram showing an example of the configuration of another robot system 150 to which the present invention can be applied. The robot system 150 includes a gate structure moving device 151 and a 6-axis vertical articulated robot 152 mounted on the gate structure moving device 151. The gate structure moving device 151 can move along the rails 153 and 154. The 6-axis vertical articulated robot 152 can perform processing on the workpiece 160 that moves on the line 155 by attaching a tool for welding or the like to the wrist.

門構形移動装置151のリンクは、可動部151a〜可動部151cであり、連結部は、レール153,154と可動部aとの連結部、可動部151aと可動部151bとの連結部、可動部151bと可動部151cとの連結部、および可動部151cと6軸垂直多関節型ロボット152との連結部である。門構形移動装置151は、走行軸170、横行軸171、昇降軸172、および旋回軸173の4軸を有し、6軸垂直多関節型ロボット152は、6軸を有するので、ロボットシステム150は、自由度10のロボットである。この場合、サブシステムとして、門構形移動装置151と6軸垂直多関節型ロボット152との2つに分割し、つまり自由度4と自由度6の2つのサブシステムに分割する。   The link of the gate structure moving device 151 is a movable portion 151a to a movable portion 151c, and the connecting portion is a connecting portion between the rails 153 and 154 and the moving portion a, a connecting portion between the movable portion 151a and the moving portion 151b, and a movable portion. A connecting portion between the portion 151b and the movable portion 151c, and a connecting portion between the movable portion 151c and the six-axis vertical articulated robot 152. The gate structure moving device 151 has four axes of a travel axis 170, a traverse axis 171, an elevating axis 172, and a turning axis 173, and the 6-axis vertical articulated robot 152 has 6 axes. Is a robot with 10 degrees of freedom. In this case, the sub-system is divided into two, that is, the gate-structure moving device 151 and the six-axis vertical articulated robot 152, that is, the sub-system is divided into two sub-systems having 4 degrees of freedom and 6 degrees of freedom.

ロボットシステム150への作業目標は、たとえばツールをワーク160の加工位置に移動することである。動作目標として、たとえば「手先位置の作業範囲を拡大すること」と「干渉を回避すること」とし、優先度は、「干渉を回避すること」、「手先位置の作業範囲を拡大すること」の順序として設定することによって、本発明を適用することができる。   The work target for the robot system 150 is to move the tool to the machining position of the workpiece 160, for example. As an operation target, for example, “expand the work range of the hand position” and “avoid interference”, and the priorities are “avoid interference” and “expand the work range of the hand position”. By setting as an order, the present invention can be applied.

さらに、宇宙ステーションなどで作業を行うロボットにも適用可能である。この場合、ロボットは、宇宙ステーションを構成するトラス構造の構造物などにつかまって作業を行う。つまり、トラスにつかまった腕で体を支えて、他の腕によって作業を行う。このロボットは、人間型ロボットの変形であり、自由度も多く、本発明を適用することができる。この場合、体を支える腕を1つのサブシステムとし、作業を行う腕を1つのサブシステムとする。作業目標は、作業を行う腕の手先を作業位置に移動することであり、動作目標としては、たとえば、「トラスをつかむこと」、「干渉を回避すること」、および「手先位置の作業範囲を拡大すること」を設定する。優先度は、「干渉を回避すること」を優先する。   Furthermore, the present invention can be applied to a robot that performs work on a space station or the like. In this case, the robot performs the work by holding the structure of the truss structure constituting the space station. In other words, the body is supported by the arm held by the truss and the work is performed by the other arm. This robot is a modification of a humanoid robot, has a high degree of freedom, and the present invention can be applied. In this case, the arm that supports the body is set as one subsystem, and the arm that performs the work is set as one subsystem. The work target is to move the hand of the arm performing the work to the work position. As the operation target, for example, “grasping a truss”, “avoid interference”, and “work range of the hand position” Set “Enlarge”. As for the priority, priority is given to “avoid interference”.

海中で作業を行うロボットについても、海中に浮いているロボットの体を移動しない状態に保ちながら、作業を行うことになり、本発明を適用することができる。この場合、動作目標としては、たとえば、「海流に流されないことおよび腕などの動作の反動で体が移動しないこと」と「手先位置の作業範囲を拡大すること」を設定する。   The robot that performs work in the sea also performs the work while keeping the body of the robot floating in the sea unmoved, and the present invention can be applied. In this case, for example, “not to be swept away by the ocean current and to prevent the body from moving due to the reaction of the arm or the like” and “to expand the work range of the hand position” are set as the movement targets.

本発明の実施の一形態であるロボット制御方法が適用されるロボットシステム10の構成を示す図である。1 is a diagram illustrating a configuration of a robot system 10 to which a robot control method according to an embodiment of the present invention is applied. 本発明の実施の一形態であるロボット制御方法の工程を示すフローチャートである。It is a flowchart which shows the process of the robot control method which is one Embodiment of this invention. 図2に示すロボット制御方法が適用されるロボット30のサブシステムへの分割の一例を示す図である。It is a figure which shows an example of the division | segmentation into the subsystem of the robot 30 to which the robot control method shown in FIG. 2 is applied. 人間型ロボットの各部の自由度を説明するための図である。It is a figure for demonstrating the freedom degree of each part of a humanoid robot. 図2に示すロボット制御方法が適用されるロボット30への作業目標の指示とその指示によるロボットの変位の一例を示す図である。It is a figure which shows an example of the instruction | indication of the work target with respect to the robot 30 to which the robot control method shown in FIG. 2 is applied, and the displacement of the robot by the instruction | indication. 図2に示すロボット制御方法での手先41の参照位置の計算のフローチャートである。It is a flowchart of the calculation of the reference position of the hand 41 by the robot control method shown in FIG. 図2に示すロボット制御方法での肩43の参照位置の計算のフローチャートである。It is a flowchart of calculation of the reference position of the shoulder 43 by the robot control method shown in FIG. 図2に示すロボット制御方法での肩43の参照位置の計算を説明するための図である。It is a figure for demonstrating calculation of the reference position of the shoulder 43 by the robot control method shown in FIG. 図2に示すロボット制御方法での腰45の参照位置の計算のフローチャートである。It is a flowchart of calculation of the reference position of the waist 45 in the robot control method shown in FIG. 腰45の移動を肩43の移動と連動させることについて説明するための図である。It is a figure for demonstrating interlocking | moving the movement of the waist 45 with the movement of the shoulder 43. FIG. リンクの重心位置の求め方を説明するための図である。It is a figure for demonstrating how to obtain | require the gravity center position of a link. ロボットの座標系を説明するための図である。It is a figure for demonstrating the coordinate system of a robot. 脚部34の各軸の値から位置姿勢を求める際の各軸の座標系を説明するための図である。It is a figure for demonstrating the coordinate system of each axis | shaft at the time of calculating | requiring a position and orientation from the value of each axis | shaft of the leg part. 支持多角形100と床面投影点103との関係を説明するための図である。It is a figure for demonstrating the relationship between the support polygon and the floor projection point. 図2に示すロボット制御方法での腰45の目標位置の計算のフローチャートである。It is a flowchart of calculation of the target position of the waist 45 by the robot control method shown in FIG. 代表点の移動許諾範囲を説明するための図である。It is a figure for demonstrating the movement permission range of a representative point. 図2に示すロボット制御方法での肩43の目標位置の計算のフローチャートである。It is a flowchart of calculation of the target position of the shoulder 43 by the robot control method shown in FIG. 図2に示すロボット制御方法での手先41の目標位置の計算のフローチャートである。It is a flowchart of calculation of the target position of the hand 41 by the robot control method shown in FIG. 図2に示すロボット制御方法での参照位置の計算から各軸の値の計算までのアルゴリズムを示す図である。It is a figure which shows the algorithm from the calculation of the reference position by the robot control method shown in FIG. 2 to the calculation of the value of each axis. 本発明の実施の他の形態であるロボット制御方法が適用されるロボット200のサブシステムへの分割の一例を示す図である。It is a figure which shows an example of the division | segmentation into the subsystem of the robot 200 with which the robot control method which is another form of implementation of this invention is applied.

本発明の実施の他の形態であるロボット制御方法の工程を示すフローチャートである。It is a flowchart which shows the process of the robot control method which is the other form of implementation of this invention. 図21に示すロボット制御方法での参照位置の計算から各軸の値の計算までのアルゴリズムを示す図である。It is a figure which shows the algorithm from the calculation of the reference position to the calculation of the value of each axis in the robot control method shown in FIG. 本発明を適用することができる他のロボットシステム150の構成の一例を示す図である。It is a figure which shows an example of a structure of the other robot system 150 which can apply this invention. 人間型ロボットの概略の構成を示す図である。It is a figure which shows the schematic structure of a humanoid robot. 評価関数を用いてロボットの各軸の値を求める方法を説明するための図である。It is a figure for demonstrating the method of calculating | requiring the value of each axis | shaft of a robot using an evaluation function.

符号の説明Explanation of symbols

1,30 ロボット
2,31 頭部
3,32 腕部
4,33 胴体部
5,34 脚部
6 手部
10 ロボットシステム
11 ロボット部
12,22 制御部
13,23 通信部
14 撮像部
20 遠隔操作装置
21 入力部
24 表示部
41 手先
42 肘
43 肩
44 胸
45 腰
46 膝
47 足
51〜56 リンク
150 ロボットシステム
151 門構形移動装置
152 6軸垂直多関節型ロボット
153,154 レール
155 ライン
160 ワーク
170 走行軸
171 横行軸
172 昇降軸
173 旋回軸
DESCRIPTION OF SYMBOLS 1,30 Robot 2,31 Head part 3,32 Arm part 4,33 Body part 5,34 Leg part 6 Hand part 10 Robot system 11 Robot part 12,22 Control part 13,23 Communication part 14 Imaging part 20 Remote control device DESCRIPTION OF SYMBOLS 21 Input part 24 Display part 41 Hand 42 Elbow 43 Shoulder 44 Chest 45 Waist 46 Knee 47 Leg 51-56 Link 150 Robot system 151 Portal structure moving device 152 6-axis vertical articulated robot 153, 154 Rail 155 Line 160 Work 170 Traveling axis 171 Traverse axis 172 Elevating axis 173 Turning axis

Claims (14)

複数のリンクと各リンクを相互に連結する複数の連結部によって構成されるロボットを制御対象として分割した複数の制御対象領域毎に、前記ロボットが行うべき動作を示す作業目標を達成するための1つの動作条件を予め設定し、かつ作業目標を達成するための制御対象領域毎の目標位置を計算する順序を表す優先度を動作条件の優先度として予め設定する設定工程と、
作業目標を表す作業目標情報が指示されたとき、前記制御対象領域毎に、前記制御対象領域に含まれる部位のうちで前記制御対象領域の移動先位置が計算される部位である代表点が前記動作条件に合致する位置を、前記代表点の移動先位置の候補である参照位置として計算する参照位置計算工程と、
前記参照位置計算工程で代表点毎に計算された参照位置に基づいて、前記動作条件の優先度に従って、前記各代表点を移動させるべき目標位置を計算する目標位置計算工程と、
前記目標位置計算工程で計算された目標位置に基づいて前記ロボットの各軸の値を計算する各軸値計算工程と、
前記各軸値計算工程で計算された各軸の値をロボットの各軸に指令する指令工程とを含むことを特徴とするロボット制御方法。
1 for achieving a work target indicating an operation to be performed by the robot for each of a plurality of control target areas obtained by dividing a robot constituted by a plurality of links and a plurality of connecting portions that connect the links to each other as a control target. A setting step for presetting the priority indicating the order of calculating the target position for each control target region for achieving the work target in advance as the priority of the operation condition;
When work target information representing a work target is instructed, a representative point that is a part for which a movement destination position of the control target area is calculated among the parts included in the control target area for each control target area is A reference position calculation step of calculating a position that matches an operation condition as a reference position that is a candidate for a destination position of the representative point;
Based on the reference position calculated for each representative point in the reference position calculating step, a target position calculating step for calculating a target position to move each representative point according to the priority of the operation condition;
Each axis value calculation step for calculating the value of each axis of the robot based on the target position calculated in the target position calculation step;
And a commanding step of commanding each axis of the robot with the value of each axis calculated in each axis value calculating step.
前記目標位置計算工程では、前記参照位置計算工程で代表点毎に計算された参照位置が、各代表点が移動することができる移動可能範囲内の所定の範囲である移動許諾範囲内にあるときは、各代表点の参照位置を各代表点の目標位置として計算し、
前記参照位置計算工程で代表点毎に計算された参照位置が対応する代表点の移動許諾範囲内にないときは、前記移動許諾範囲内の位置であって、各制御対象領域の参照位置に最も近い移動許諾範囲内の条件を満たす位置を、各代表点の目標位置として計算することを特徴とする請求項1に記載のロボット制御方法。
In the target position calculating step, when the reference position calculated for each representative point in the reference position calculating step is within a movement permission range that is a predetermined range within a movable range in which each representative point can move. Calculates the reference position of each representative point as the target position of each representative point,
When the reference position calculated for each representative point in the reference position calculation step is not within the movement permission range of the corresponding representative point, it is the position within the movement permission range and is the closest to the reference position of each control target area. The robot control method according to claim 1, wherein a position that satisfies a condition within a close movement permission range is calculated as a target position of each representative point.
前記目標位置計算工程では、代表点の目標位置を計算しようとする制御対象領域に隣接する制御対象領域の代表点がすでに計算されているときは、すでに計算された隣接する制御対象領域の代表点の目標位置を基準として制御対象領域の代表点の目標位置を計算することを特徴とする請求項1または2に記載のロボット制御方法。   In the target position calculation step, when the representative point of the control target region adjacent to the control target region for which the target position of the representative point is to be calculated has already been calculated, the representative point of the adjacent control target region that has already been calculated The robot control method according to claim 1, wherein the target position of the representative point of the control target region is calculated with reference to the target position. 前記各代表点の移動許諾範囲を対応する移動可能範囲で除した割合が、優先度の高い動作条件が設定された制御対象領域のほうが優先度の低い動作条件が設定された制御対象領域より小さいことを特徴とする請求項2に記載のロボット制御方法。   The ratio obtained by dividing the movement permission range of each representative point by the corresponding movable range is smaller in the control target area in which the high-priority operation condition is set than in the control target area in which the low-priority operation condition is set. The robot control method according to claim 2, wherein: 前記参照位置計算工程では、前記制御対象領域毎の代表点の参照位置を並行して計算することを特徴とする請求項1〜のいずれか1つに記載のロボット制御方法。 Wherein the reference position calculation step, the robot control method according to any one of claims 1-4, characterized in that to calculate in parallel a reference position of the representative point of the control target each area. 前記各軸値計算工程では、前記制御対象領域内の各軸の値を制御対象領域毎に並行して計算することを特徴とする請求項1〜のいずれか1つに記載のロボット制御方法。 In each axis value computation process, a robot control method according to any one of claims 1-5, characterized in that to calculate parallel values of each axis of the control target region to the control target each area . 前記ロボットは、20自由度以上の自由度を有することを特徴とする請求項1〜のいずれか1つに記載のロボット制御方法。 The robot is a robot control method according to any one of claims 1-6, characterized in that it has a 20 degrees of freedom or more degrees of freedom. 前記制御対象領域の自由度は、6自由度以下であることを特徴とする請求項1〜のいずれか1つに記載のロボット制御方法。 The degree of freedom of the control target region, the robot control method according to any one of claims 1-7, characterized in that at most six degrees of freedom. 前記ロボットは、人間の腕に相当する腕部、人間の胴体に相当する胴体部、人間の脚に相当する脚部とを含む人間型ロボットであり、前記腕部、前記胴体部、および前記脚部をそれぞれ制御対象領域とすることを特徴とする請求項1〜のいずれか1つに記載のロボット制御方法。 The robot is a humanoid robot including an arm portion corresponding to a human arm, a torso portion corresponding to a human torso, and a leg portion corresponding to a human leg, and the arm portion, the torso portion, and the leg the robot control method according to any one of claims 1-8, characterized in that a respective control region of the part. 前記人間型ロボットは、前記腕部の代表点が手先、前記胴体部の代表点が肩、および前記脚部の代表点が腰であり、前記制御対象領域の代表点の移動許諾範囲の移動可能範囲に対する割合が、腰の代表点の割合が肩部の代表点の割合より小さく、かつ肩の代表点の割合が手先の代表点の割合より小さいことを特徴とする請求項に記載のロボット制御方法。 In the humanoid robot, the representative point of the arm part is the hand, the representative point of the torso part is the shoulder, and the representative point of the leg part is the hip, and the movement permission range of the representative point of the control target area is movable 10. The robot according to claim 9 , wherein the ratio of the representative point of the waist is smaller than the ratio of the representative point of the shoulder, and the ratio of the representative point of the shoulder is smaller than the ratio of the representative point of the hand. Control method. 前記参照位置計算工程で、腰の参照位置を計算する際、腰の速度が肩の速度に比例した速度となるように計算することを特徴とする請求項10に記載のロボット制御方法。 11. The robot control method according to claim 10 , wherein when calculating the reference position of the waist in the reference position calculation step, the speed of the waist is calculated to be a speed proportional to the speed of the shoulder. 複数のリンクと各リンクを相互に連結する複数の連結部によって構成されるロボットに、請求項1〜11のいずれか1つに記載のロボット制御方法を実行するコンピュータを搭載したことを特徴とするロボットシステム。 A computer configured to execute the robot control method according to any one of claims 1 to 11 is mounted on a robot including a plurality of links and a plurality of connecting portions that connect the links to each other. Robot system. 前記ロボットは、作業目標情報を決定するための検知手段を有し、前記検知手段で検知された情報に基づいて作業目標情報を生成し、生成された作業目標情報を前記ロボットの作業目標情報とすることを特徴とする請求項12に記載のロボットシステム。 The robot has detection means for determining work target information, generates work target information based on information detected by the detection means, and uses the generated work target information as work target information of the robot. The robot system according to claim 12 , wherein: 複数のリンクと各リンクを相互に連結する複数の連結部によって構成されるロボットを、制御対象とする複数の制御対象領域に分割する分割工程と、
前記制御対象領域毎に、前記制御対象領域に含まれる部位のうちで前記制御対象領域の移動先位置が計算される部位である代表点を決定する決定工程と、
前記分割工程で分割された複数の制御対象領域毎に、前記ロボットが行うべき動作を示す作業目標を達成するための1つの動作条件を予め設定し、かつ作業目標を達成するための制御対象領域毎の目標位置を計算する順序を表す優先度を動作条件の優先度として予め設定する設定工程と、
作業目標を表す作業目標情報が指示されたときに、前記制御対象領域毎に、前記代表点が前記動作条件に合致する位置を、前記代表点の移動先位置の候補である参照位置として計算する参照位置計算工程と、
前記参照位置計算工程で代表点毎に計算された参照位置に基づいて、前記動作条件の優先度に従って、前記各代表点を移動させるべき目標位置を計算する目標位置計算工程と、
前記目標位置計算工程で計算された目標位置に基づいて前記ロボットの各軸の値を計算する各軸値計算工程と、
前記各軸値計算工程で計算された各軸の値をロボットの各軸に指令する指令工程とを含むことを特徴とするロボット指令決定方法。
A dividing step of dividing a robot constituted by a plurality of links and a plurality of connecting portions that connect the links to each other into a plurality of control target areas to be controlled;
For each of the control target areas, a determination step of determining a representative point that is a part in which a movement destination position of the control target area is calculated among the parts included in the control target area;
For each of a plurality of control target areas divided in the dividing step, one operation condition for achieving a work target indicating the action to be performed by the robot is set in advance, and the control target area for achieving the work target A setting step for presetting the priority indicating the order of calculating each target position as the priority of the operation condition;
When work target information representing a work target is instructed, a position where the representative point matches the operation condition is calculated as a reference position that is a candidate for a destination position of the representative point for each control target region. A reference position calculation step;
Based on the reference position calculated for each representative point in the reference position calculating step, a target position calculating step for calculating a target position to move each representative point according to the priority of the operation condition;
Each axis value calculation step for calculating the value of each axis of the robot based on the target position calculated in the target position calculation step;
A robot command determination method comprising: a command step of commanding each axis value of each robot calculated in each axis value calculation step.
JP2004193361A 2004-06-30 2004-06-30 Robot control method and robot system Expired - Lifetime JP4488811B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004193361A JP4488811B2 (en) 2004-06-30 2004-06-30 Robot control method and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004193361A JP4488811B2 (en) 2004-06-30 2004-06-30 Robot control method and robot system

Publications (2)

Publication Number Publication Date
JP2006015430A JP2006015430A (en) 2006-01-19
JP4488811B2 true JP4488811B2 (en) 2010-06-23

Family

ID=35790119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004193361A Expired - Lifetime JP4488811B2 (en) 2004-06-30 2004-06-30 Robot control method and robot system

Country Status (1)

Country Link
JP (1) JP4488811B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4848838B2 (en) * 2006-05-24 2011-12-28 トヨタ自動車株式会社 Route creation apparatus and route creation method
JP5162852B2 (en) * 2006-07-18 2013-03-13 株式会社国際電気通信基礎技術研究所 Android control system
US8880221B2 (en) * 2011-03-21 2014-11-04 Honda Motor Co., Ltd. Damage reduction control for humanoid robot fall

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000084877A (en) * 1998-09-14 2000-03-28 Yaskawa Electric Corp Off-line teaching method of robot with traverse axis
JP2004148491A (en) * 2002-10-10 2004-05-27 Sony Corp Apparatus and method for controlling operation of robot system, and its computer program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2874238B2 (en) * 1990-01-23 1999-03-24 株式会社安川電機 Control method of articulated robot
JPH054177A (en) * 1991-06-28 1993-01-14 Takenaka Komuten Co Ltd Control system for manipulator
JP2535765B2 (en) * 1993-12-16 1996-09-18 郵政省通信総合研究所長 Manipulator control method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000084877A (en) * 1998-09-14 2000-03-28 Yaskawa Electric Corp Off-line teaching method of robot with traverse axis
JP2004148491A (en) * 2002-10-10 2004-05-27 Sony Corp Apparatus and method for controlling operation of robot system, and its computer program

Also Published As

Publication number Publication date
JP2006015430A (en) 2006-01-19

Similar Documents

Publication Publication Date Title
US9193072B2 (en) Robot and control method thereof
US9334002B2 (en) Balance control apparatus of robot and control method thereof
US9827675B2 (en) Collision avoidance method, control device, and program
US7769491B2 (en) Obstacle avoiding apparatus, obstacle avoiding method, obstacle avoiding program, and mobile robot apparatus
US8855814B2 (en) Robot and control method thereof
US9014854B2 (en) Robot and control method thereof
US20220193894A1 (en) Supervised Autonomous Grasping
US20220388170A1 (en) Alternate Route Finding for Waypoint-based Navigation Maps
JP5480799B2 (en) Mobile device, robot and control system thereof
JP2020093364A (en) Trajectory generation device
JP2006315095A (en) Robot and control method for it
Corsini et al. Nonlinear model predictive control for human-robot handover with application to the aerial case
US20110264265A1 (en) Robot, control system, and recording medium for control program
JP4488811B2 (en) Robot control method and robot system
KR102350193B1 (en) Balance Control Methods of Humanoid Robots through an Extended Task Space Formulation
JP7224559B2 (en) Remote control manipulator system and remote control support system
Diftler et al. Robonaut mobile autonomy: Initial experiments
Mayol et al. Designing a miniature wearable visual robot
Ollervides et al. Navigation control system of walking hexapod robot
JP5310236B2 (en) Legged robot and its control method
JP4525325B2 (en) Motion control method for super redundant robot
Rodriguez-Angeles et al. An online inertial sensor-guided motion control for tracking human arm movements by robots
Sugihara et al. A handy humanoid robot navigation by non-interruptive switching of guided point and synergetic points
Nguyen et al. KINEMATIC ANALYSIS OF A 2-DOF BALANCING TABLE
Durge et al. An algorithm for optimal gait generation for level ground walking of an omnidirectional hexapod

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090908

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100330

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4488811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20150409

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250