JP4488811B2 - Robot control method and robot system - Google Patents
Robot control method and robot system Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 106
- 238000004364 calculation method Methods 0.000 claims description 128
- 230000008569 process Effects 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 4
- 210000001624 hip Anatomy 0.000 description 100
- 210000002414 leg Anatomy 0.000 description 39
- 238000010586 diagram Methods 0.000 description 29
- 238000005452 bending Methods 0.000 description 24
- 238000011156 evaluation Methods 0.000 description 18
- 230000005484 gravity Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 210000001503 joint Anatomy 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 210000002683 foot Anatomy 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000003384 imaging method Methods 0.000 description 7
- 210000003423 ankle Anatomy 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 210000000038 chest Anatomy 0.000 description 5
- 210000003127 knee Anatomy 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 208000003443 Unconsciousness Diseases 0.000 description 2
- 230000003028 elevating effect Effects 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 210000000481 breast Anatomy 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000001145 finger joint Anatomy 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 210000004394 hip joint Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
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
人間型ロボットは、さらに指などの自由度を含めると、自由度が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
人間型ロボットを実時間で操作するときに、操作者の意図通りにロボットの動作を実現するためには、操作者からのロボットの一部に対する指示に基づいて、他の冗長度のある軸の値を短時間で計算する必要がある。特に、遠隔操作によってロボットを制御するときは、ロボットと遠隔操作装置との間の通信の実時間性だけでなく、ロボットに搭載されたコンピュータによって、ロボットの各軸の値を計算する計算周期毎にロボットへの指示を行なうことができる実時間性が重要である。人間型ロボット以外のロボットについても、ロボットの各軸の値の計算は評価関数を用いているので、自由度が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.
しかしながら、上述した第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
制御部12は、ロボットシステム10全体を制御する部位であり、OS(Operating
System)が稼動するコンピュータによって実現される。コンピュータは、ロボット部11に搭載され、図2または図21に示すロボット制御方法を実行することができる。制御部12は、遠隔操作装置20からロボットが行うべき動作を示す作業目標情報(以下作業目標という)作業目標を受信すると、作業目標を実現するためのロボットの各軸の値を、図2または図21に示すロボット制御方法によって計算し、計算した各軸の値をロボット部11に指令する。制御部12は、通信部13を介して、撮像部14からの映像を遠隔操作装置20に送信する。
The
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
通信部13は、遠隔操作装置20と通信を行う部位であり、遠隔操作装置20から受信した情報を制御部12に送信し、制御部12からの情報を遠隔操作装置20に送信する。
The
遠隔操作装置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
入力部21は、マスターアームあるいはジョイスティックなどの入力装置から構成され、キーボードおよびマウスなどの入力装置を併用してもよい。入力部21は、これらの入力装置から入力された情報を制御部22に送信する。
The
制御部22は、遠隔操作装置20全体を制御する部位であり、入力部21から入力された情報のうちロボットシステム10に送信する必要がある情報を通信部23に送る。制御部22は、ロボットシステム10から通信部23を介して受信した情報のうち、表示部24に表示する情報を表示部24に送信する。
The
通信部23は、ロボットシステム10と通信を行う部位であり、ロボットシステム10から受信した情報を制御部22に送信し、制御部22からの情報をロボットシステム10に送信する。
The
表示部24は、液晶ディスプレイなどの表示画面を有する表示装置であり、制御部22から送信された情報を表示画面に表示する。操作者は、表示画面に表示された映像をみながら、入力装置から作業目標を指示しロボットを操作することができる。
The
ロボットに前記ロボット制御方法を実行するコンピュータを搭載しているので、外部の遠隔操作装置から指示する制御情報が作業目標に関する情報だけでよく、ロボットシステムと遠隔操作装置との通信情報量を少なくすることができ、さらにロボットの各軸の値を短時間に求めることができる。 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
図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
ステップ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
動作目標は、遠隔操作装置から指示される作業目標に応じて制御対象領域毎、つまりサブシステム毎に設定される目標であり、たとえばそれぞれのサブシステムに設定された動作目標は、腕部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
サブシステムは、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
ステップ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
図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
図3(b)は、ロボット30を側方から見た図であり、ロボット30は、腕部32、胴体部33、および脚部34を含んで構成され、3つのサブシステムに分割されている。脚部34については、左脚部は右脚部と重なった状態であり、腕部については、左腕部は右腕部に重なった状態である。手部35と頭部31を省略しているが、手部35および頭部31をそれぞれ1つのサブシステムとして含めてもよい。
FIG. 3B is a view of the
腕部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
腕部32の代表点は手先41、胴体部33の代表点は肩43、脚部34の代表点は腰45である。この代表点は、ロボット全体の動作を決定する各軸の値を計算するために、ロボットの部位のうちで移動させる位置が最初に計算される部位であり、作業目標によって指示が与えられる部位とサブシステムの連結部が代表点となり、各サブシステムに1つ設定される。この例では、作業目標によって指示が与えられる部位が手先41であり、サブシステムの連結部が肩43と腰45である。
The representative point of the
ロボット30は、床面あるいは地面などの水平面60上の足47の位置でバランスが取れた状態、つまり、転倒しない状態であり、以下の説明では、「足の位置を動かさない状態での手先操作」について説明するが、足を動かす場合についても実施可能である。
The
図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
図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
図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
図5は、図2に示すロボット制御方法が適用されるロボット30への作業目標の指示とその指示によるロボットの変位の一例を示す図である。ロボット30への作業目標は、マスターアームあるいはジョイスティックなどの入力部を有する遠隔操作装置から指示される。この例では、作業目標は、手先41を手先の指示位置41aの位置に移動させることである。作業目標を実現するロボットの各軸の値を求めて、求めた各軸の値をロボットの各軸に指令することによって、手先41のロボットの位置と姿勢から、手先が指示位置41aに移動したときの位置と姿勢に変化させる。
FIG. 5 is a diagram illustrating an example of a work target instruction to the
図6は、図2に示すロボット制御方法での手先41の参照位置の計算のフローチャートである。手先41の参照位置の計算を行うときに本処理が行われる。ステップS10では、遠隔操作装置から指示された手先41の指示位置を手先41の参照位置として終了する。
FIG. 6 is a flowchart of calculation of the reference position of the
図7は、図2に示すロボット制御方法での肩43の参照位置の計算のフローチャートである。肩43の参照位置の計算を行うときに本処理が行われる。胴体部33の動作目標は、「手先の到達範囲を拡大すること」であり、手先41の参照位置と現在位置および肩43の現在位置から肩43の参照位置を求める。
FIG. 7 is a flowchart of calculation of the reference position of the
ステップ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
ステップ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
ステップS24では、肩43の参照位置を、肩43を手先41の方向に一定速度で移動させる位置として終了する。この場合、一定速度で移動させる位置とは、前回計算した目標位置に移動した際の速度を維持することができる位置のことである。ステップS25では、肩43の現在位置を肩43の参照位置として終了する。
In step S24, the reference position of the
このように、手先41が腕部32の伸びる方向に移動したときは、肩43も追随するので、さらに腕部32を伸ばすことができ、逆に手先41が肩43に近づくときは、胴体部33が手先41の現在位置から離れる方向に移動して、腕部32と胴体部33との干渉、つまり接触または衝突を回避することができる。
Thus, when the
図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
図9は、図2に示すロボット制御方法での腰45の参照位置の計算のフローチャートである。腰45の参照位置の計算を行うときに本処理が行われる。脚部34の動作目標は、「人間型ロボットの全身のバランスを維持すること」と「上下方向に対する手先の到達範囲を拡大すること」の2点であり、ロボットの重心位置、手先41の指示位置、および手先41と肩43と腰45の現在位置から腰45の参照位置を求める。
FIG. 9 is a flowchart of calculation of the reference position of the
ステップ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
ステップ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
ステップS33では、肩43の移動方向が上方向か否か判定する。肩43の移動方向が上方向のときは、ステップS34に進み、肩43の移動方向が上方向でないときは、ステップS39に進む。ステップS34では、腰45の現在位置と肩43の現在位置との距離Lbodyが所定の胴体距離La以上か否かを判定する。距離Lbodyが所定の胴体距離La以上のときは、ステップS35に進み、距離Lbodyが所定の胴体距離La以上でないときは、ステップS39に進む。ステップS35では、腰45の参照位置の垂直成分を肩43の移動速度の垂直成分に比例した速度で上方向に移動する位置として終了する。
In step S33, it is determined whether the moving direction of the
ステップS36では、腰45の参照位置の水平成分を、支持多角形の中心方向に、中心からの距離に比例した速度で移動する位置としてステップS32に進む。ステップS37では、後述する胴体部33の傾きθwが鉛直方向から所定の角度θa以上傾いているか否か判定する。所定の角度θa以上傾いているときは、ステップS38に進み、所定の角度θa以上傾いていないときは、ステップS39に進む。
In step S36, the process proceeds to step S32 as a position where the horizontal component of the reference position of the
ステップS38では、腰45の参照位置の垂直成分を肩43の移動速度の垂直成分に比例した速度で下方向に移動する位置とする。手先41が下方に移動するとき、腰45の位置を動かさずに、胴体部33を深く曲げる動作も考えられるが、脚部関節の動作範囲制限があって実現は難しく、腰45を肩45の動きに連動させて移動させる。ステップS39では、腰の現在位置を腰の参照位置として終了する。
In step S38, the vertical component of the reference position of the
図10は、腰45の移動を肩43の移動と連動させることについて説明するための図である。図10(a)は、胴体部33の傾きθwを説明するための図である。胴体部33の傾きθwは、鉛直方向84に対する腰45と肩43とを結ぶ直線81の傾きである。この傾きθwが所定の角度θa以上のときに、肩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
図10(b)は、腰45を移動しないで、肩43を肩43aの位置まで矢印86aの方向に移動したとき、胸44と肩43とのリンク53の傾きがθb変化している。これに対して、図10(c)は、肩43が肩43aの位置まで矢印86aの方向に移動したときに、腰45は、腰45aの位置まで矢印87aの方向に移動するので、リンク53の角度は、θcだけしか変化せず、図10(b)の腰を固定したときのリンクの傾きの変化θbより小さくすることができる。つまり、胴体部33が傾く速度を抑えることができ、胴体部の前屈量も抑えることができる。特に、胴体部33が伸びきっているときは、胸44を中心とした肩の回転角度は、腰45を中心とした肩43の回転角度より大きくなる。胴体部33が大きく傾いているとき、たとえば胴体部33の傾きθwが45度以上傾いているとき、ロボット全体の質量に占める割合の多い胴体部33の回転速度が大きくなるので、動的な動作の影響、つまり慣性の影響が大きくなり、ロボットが転倒しやすくなる。転倒を防止するために、胴体部33の回転速度を抑えることは、人間型ロボットの安定な制御動作を実現するために効果がある。
FIG. 10 (b), without moving the
図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
ロボットの重心位置は、ロボットの各軸の値、つまり角度と、リンクの重心情報から計算する。たとえばロボット30の前後方向をx軸方向とすると、x軸方向の重心位置Xは、式(1)で求めることができる。
X=(M1X1+M2X2+…+MnXn)/(M1+M2+…+Mn)
…(1)
ここに、Miは、リンクiの重量であり、Xiは、リンクiの重心座標である。iは、1〜nの自然数であり、Xiは、ロボットが直立状態のときのロボットの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
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=(M1Y1+M2Y2+…+MnYn)/(M1+M2+…+Mn)
…(2)
ここに、Yiは、リンク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
図12は、ロボットの座標系を説明するための図である。人間型ロボットについての、参照位置と目標位置は、ロボットの絶対座標系ΣWからみた座標系で表す。ロボットの絶対座標系ΣWは、ロボットを初期設定する際に、ロボットの腰座標系Σkから鉛直下方向の床面に固定された座標系とする。手先の位置および姿勢の指示は、ロボットの絶対座標系ΣWからみた手先座標系ΣTの位置姿勢を指示する。3次元でみると、ロボットの腰座標系Σkは、図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の角度と座標系を、それぞれθ1〜θ6、Σ1〜Σ6とし、足首の座標系をΣfとする。図13では、ロボットの基準座標系Σ0は、同軸ジョイント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
距離L1〜距離L3は、それぞれ屈曲ジョイント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
順変換は、各軸、つまりジョイント341〜ジョイント346の角度が与えられたときの基準座標系Σ0からみた足首の座標系Σfの位置姿勢0Tfを求めるものである。位置姿勢0Tfを行列で表すと、式(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
ただし、
R11=C1C345−S1S2S345
R12=S1S2C345S6+C1S345S6−S1C2C6
R13=S1S2C345C6+C1S345C6+S1C2S6
R21=S1C345+C1S2S345
R22=−C1S2C345S6+S1S345S6+C1C2C6
R23=−C1S2C345C6+S1S345C6−C1C2S6
R31=−C2S345
R32=C2C345S6+S2C6
R33=C2C345C6−S2S6
X=−L2(S1S2C3+C1S3)−L3S1S2C34−L3C1S34
+L1S1C2
Y=L2(C1S2C3−S1S3)+L3C1S2C34−L3S1S34
−L1C1C2
Z=−L3C2C3−L2C2C34−L1S2
Sn=sin(θn)、Cn=cos(θn)、nは自然数、
S345=sin(θ3+θ4+θ5)、C345=cos(θ3+θ4+θ5)
である。
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
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
+ 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
-L 1 C 1 C 2
Z = -L 3 C 2 C 3 -L 2 C 2 C 34 -L 1
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
FIG. 14 is a diagram for explaining the relationship between the
ロボットの重心位置、つまり床面投影点103が、支持多角形100の中心点102から所定以上の距離、つまり範囲101外か否か判定する。範囲101外のときは、腰45の参照位置の水平成分を、支持多角形100の中心方向105に、中心からの距離LMに比例した速度で移動する位置とする。範囲101外でないときは、腰45の現在位置の水平成分を腰45の参照位置の水平成分とする。
It is determined whether or not the position of the center of gravity of the robot, that is, the
図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
図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
図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
図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
図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
隣接するサブシステムの代表点の目標位置の計算を、優先度の高い動作目標が設定されたサブシステムの目標位置を基準に計算しているので、すなわち、他のサブシステムとの関係を考慮する必要がないので、計算量を少なくでき、ロボットの各軸の値を短時間に求めることができる。 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
腰の移動可能範囲に対する移動許諾範囲の割合を肩より小さくし、かつ肩の移動可能範囲に対する移動許諾範囲の割合を手先より小さくしているので、優先度の高い動作目標が設定された脚部の代表点である腰の目標位置の影響を肩および手先より、および肩の目標位置の影響を手先より少なくすることができる。 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
手先41、肩43、および腰45の目標位置は、ロボットの基準座標系Σ0からみた位置姿勢であるので、たとえば腕部32の逆変換を行なう場合は、肩43の座標系から見た手先41の座標系の位置姿勢を計算して、これを腕の逆変換計算式に用いることで、腕の各軸の角度を計算する。具体例として、図13を用いて順変換について説明した脚部34の逆変換について説明する。基準座標系Σ0からみた足首の座標系Σfの位置姿勢0Tfが与えられたときのジョイント341〜ジョイント346の角度θ1〜角度θ6を求める。
Since the target positions of the
基準座標系Σ0から基準座標系Σ0からみた足首の座標系Σfの位置姿勢0Tfは、式(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.
このとき、足首の座標(x、y、z)には、次の関係がある。
x=−L3S5−L2S45 …(6)
y=(L3C5+L2C45)S6+L1C6 …(7)
z=(L3C5+L2C45)C6−L1S6 …(8)
At this time, the coordinates (x, y, z) of the ankle have the following relationship.
x = -L 3 S 5 -L 2
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の角度θ6が求まる。
C6y−S6z=L1
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の角度θ4が求まる。
x2+y2+z2=L1 2+L2 2+L3 2+2L2L3C4
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)を変形し、角度θ4と角度θ6を代入してS5とC5を計算することができる。
x=(−L3−L2C4)S5−L2S4C5
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
S5とC5からジョイント345の角度θ5を計算することができる。
θ5=−atan2(S5,C5)
The angle θ 5 of the joint 345 can be calculated from S 5 and C 5 .
θ 5 = −atan2 (S 5 , C 5 )
次に、上述した順変換の関係式から、次式が成り立ち、ジョイント342の角度θ2を計算することができる。 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.
S2=R32C6−R33S6
同様に上述した順変換の関係式から、次式が成り立ち、S345とC345を計算することができる。
S345=−R31/C2
C345=(R33+S2S6)/(C2C6)
S 2 = R 32 C 6 -R 33
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)
S345とC345から計算したθ345にθ4とθ5を代入して、ジョイント343の角度θ3を計算することができる。
θ345=atan2(S345,C345)=θ3+θ4+θ5
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
上述した順変換の関係式から、次式が成り立ち、S1とC1を計算することができる。
S1=(−S2S345R11+C345R21)
/(C345 2+S2 2S345 2)
C1=(C345R11+S2S345R21)
/(C345 2+S2 2S345 2)
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 )
S1とC1から計算してジョイント341の角度θ1を計算することができる。
θ1=atan2(S1,C1)
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
第3の参照位置計算工程72は、腰45の参照位置の計算を行う工程であり、目標位置保持工程76で保持されている肩43の現在位置と腰45の現在位置、および重心位置計算工程78で計算された現在の重心位置が入力として与えられると、それらの情報に基づいて腰45の参照位置を計算して出力する。先41、肩43、および腰45の参照位置の計算は、並行して計算される。
The third reference
サブシステム毎の代表点の参照位置を並行して計算するので、参照位置の計算時間を短時間に行うことができ、さらにロボットの各軸の値を短時間に求めることができる。 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
第3の目標位置計算工程75は、手先41の目標位置の計算を行う工程であり、第1の参照位置計算工程70の出力である手先41の参照位置と、第2の目標位置計算工程74の出力である肩43の目標位置とが入力として与えられると、手先41の目標位置を計算して出力する。
The third target
目標位置保持工程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
上述した実施の形態は、ロボット動作の動的な動きに大きく影響しない程度の速度で動作を行うと仮定した場合、つまり、ロボットの動作に伴う慣性を考慮しなくてもよい程度の速度で動作を行うと仮定した場合について、ロボットの全体のバランスを維持することができる。ロボットの動作を速く行うためには、ロボットの動作に伴う動的要素、つまり慣性を考慮する必要がある。目標位置を計算する際に、計算した目標位置を、ロボットの動作に伴う重心移動の慣性に基づいて、目標位置を再計算することによって、動的要素を考慮したロボットの各軸の値を計算することができる。 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
図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
これらのサブシステムは、サブシステム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
代表点を移動させる位置である参照位置は、「作業目標に応じて評価がよくなるような位置」である。たとえば、人間型ロボットであれば、サブシステム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
これらのサブシステムは、お互いに連結部を有するが、それぞれの参照位置を独立に計算しているので、各サブシステムの制約条件、具体的には、隣接するサブシステムの代表点の位置、リンクの構造、代表点の移動許諾範囲、周囲との干渉回避などの制約条件によって、お互いの連結部が計算した参照位置で実現できない場合がある。 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
このとき、全体のバランスを維持することがロボットの最重要の動作目標であるので、まず、代表点である連結部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
次に、代表点である連結部211に対応する肩43の参照位置が実現可能か否か判定する。肩43の参照位置が肩43の移動許諾範囲内にあるときは、肩43の参照位置は実現可能であるので、肩43の参照位置を肩43の目標位置とする。腰45の参照位置あるいは肩43の参照位置が、それぞれの移動許諾範囲内にないときは、それぞれの参照位置に最も近い移動許諾範囲内の位置を目標位置とする。
Next, it is determined whether or not the reference position of the
このように、階層構造の下位のサブシステムの代表点を基準に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
各代表点現在位置工程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
サブシステムC目標位置計算工程255では、基準位置と、サブシステムC参照位置計算工程254から出力された参照位置とに基づいて、参照位置が実現可能か否か、つまり参照位置がサブシステムCの代表点の移動許諾範囲に入っているか否か判定する。参照位置が実現可能、つまり参照位置が移動許諾範囲に入っているときは、その参照位置をサブシステムCの代表点の目標位置とする。参照位置が実現可能ではない、つまり参照位置が移動許諾範囲に入っていないときは、移動許諾範囲の中で、参照位置にもっとも近い位置を目標位置とする。
In the subsystem C target
サブシステム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
サブシステムA目標位置計算工程257では、サブシステムB目標位置計算工程256から出力された目標位置と、サブシステムA参照位置計算工程252から出力された参照位置とに基づいて、参照位置が実現可能か否か、つまり参照位置がサブシステムAの代表点の移動許諾範囲に入っているか否か判定する。参照位置が実現可能、つまり参照位置が移動許諾範囲に入っているときは、その参照位置をサブシステムAの代表点の目標位置とする。参照位置が実現可能ではない、つまり参照位置が移動許諾範囲に入っていないときは、移動許諾範囲の中で、参照位置にもっとも近い位置を目標位置とする。この場合、各サブシステムに設定された動作目標の優先度が、サブシステムC、サブシステムB、サブシステムAの順序であるので、目標位置の計算は、その順序で行われる。
In the subsystem A target
各サブシステム各軸指令値計算工程258では、サブシステムA目標位置計算工程257、サブシステムB目標位置計算工程256、およびサブシステムC目標位置計算工程255から出力されたそれぞれのサブシステムの目標位置を基に、ロボットの各軸の値を計算する。計算した各軸の値は、ロボットの各軸に指令される。
In each subsystem command
このように、本発明の実施の形態によれば、人間型ロボットをサブシステムに分割することによって、作業目標に対する計算を並行処理することができ、さらに最適値を検索するような繰り返し計算を行うことがないので、ロボットを制御するための計算量を少なくすることができる。サブシステム毎に用意する参照位置の計算アルゴリズムを、作業目標に応じて切替えて組み合わせることによって、多様な作業目標に対応することが可能である。 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
門構形移動装置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
ロボットシステム150への作業目標は、たとえばツールをワーク160の加工位置に移動することである。動作目標として、たとえば「手先位置の作業範囲を拡大すること」と「干渉を回避すること」とし、優先度は、「干渉を回避すること」、「手先位置の作業範囲を拡大すること」の順序として設定することによって、本発明を適用することができる。
The work target for the
さらに、宇宙ステーションなどで作業を行うロボットにも適用可能である。この場合、ロボットは、宇宙ステーションを構成するトラス構造の構造物などにつかまって作業を行う。つまり、トラスにつかまった腕で体を支えて、他の腕によって作業を行う。このロボットは、人間型ロボットの変形であり、自由度も多く、本発明を適用することができる。この場合、体を支える腕を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.
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
Claims (14)
作業目標を表す作業目標情報が指示されたとき、前記制御対象領域毎に、前記制御対象領域に含まれる部位のうちで前記制御対象領域の移動先位置が計算される部位である代表点が前記動作条件に合致する位置を、前記代表点の移動先位置の候補である参照位置として計算する参照位置計算工程と、
前記参照位置計算工程で代表点毎に計算された参照位置に基づいて、前記動作条件の優先度に従って、前記各代表点を移動させるべき目標位置を計算する目標位置計算工程と、
前記目標位置計算工程で計算された目標位置に基づいて前記ロボットの各軸の値を計算する各軸値計算工程と、
前記各軸値計算工程で計算された各軸の値をロボットの各軸に指令する指令工程とを含むことを特徴とするロボット制御方法。 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つの動作条件を予め設定し、かつ作業目標を達成するための制御対象領域毎の目標位置を計算する順序を表す優先度を動作条件の優先度として予め設定する設定工程と、
作業目標を表す作業目標情報が指示されたときに、前記制御対象領域毎に、前記代表点が前記動作条件に合致する位置を、前記代表点の移動先位置の候補である参照位置として計算する参照位置計算工程と、
前記参照位置計算工程で代表点毎に計算された参照位置に基づいて、前記動作条件の優先度に従って、前記各代表点を移動させるべき目標位置を計算する目標位置計算工程と、
前記目標位置計算工程で計算された目標位置に基づいて前記ロボットの各軸の値を計算する各軸値計算工程と、
前記各軸値計算工程で計算された各軸の値をロボットの各軸に指令する指令工程とを含むことを特徴とするロボット指令決定方法。 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.
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)
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)
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)
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 |
-
2004
- 2004-06-30 JP JP2004193361A patent/JP4488811B2/en not_active Expired - Lifetime
Patent Citations (2)
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 | |
JP6137155B2 (en) | Interference 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 | |
US20220388170A1 (en) | Alternate Route Finding for Waypoint-based Navigation Maps | |
US9014854B2 (en) | Robot and control method thereof | |
US20220193894A1 (en) | Supervised Autonomous Grasping | |
JP2020093364A (en) | Trajectory generation device | |
JP5480799B2 (en) | Mobile device, robot and control system thereof | |
Corsini et al. | Nonlinear model predictive control for human-robot handover with application to the aerial case | |
JP4488811B2 (en) | Robot control method and robot system | |
KR102350193B1 (en) | Balance Control Methods of Humanoid Robots through an Extended Task Space Formulation | |
Diftler et al. | Robonaut mobile autonomy: Initial experiments | |
Mayol et al. | Designing a miniature wearable visual robot | |
JP7224559B2 (en) | Remote control manipulator system and remote control support system | |
Ollervides et al. | Navigation control system of walking hexapod robot | |
JP2006315095A (en) | Robot and control method for it | |
JP5310236B2 (en) | Legged robot and its control method | |
JP2017131990A (en) | Interference avoidance method | |
JP4525325B2 (en) | Motion control method for super redundant robot | |
Sugihara et al. | A handy humanoid robot navigation by non-interruptive switching of guided point and synergetic points | |
Rodriguez-Angeles et al. | An online inertial sensor-guided motion control for tracking human arm movements by robots | |
Durge et al. | An algorithm for optimal gait generation for level ground walking of an omnidirectional hexapod | |
Nguyen et al. | KINEMATIC ANALYSIS OF A 2-DOF BALANCING TABLE |
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 |
|
EXPY | Cancellation because of completion of term |