JP4940905B2 - Joint drive robot and control method thereof - Google Patents

Joint drive robot and control method thereof Download PDF

Info

Publication number
JP4940905B2
JP4940905B2 JP2006316478A JP2006316478A JP4940905B2 JP 4940905 B2 JP4940905 B2 JP 4940905B2 JP 2006316478 A JP2006316478 A JP 2006316478A JP 2006316478 A JP2006316478 A JP 2006316478A JP 4940905 B2 JP4940905 B2 JP 4940905B2
Authority
JP
Japan
Prior art keywords
control amount
joint
drive
control
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006316478A
Other languages
Japanese (ja)
Other versions
JP2008126383A (en
Inventor
日出輝 梶間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2006316478A priority Critical patent/JP4940905B2/en
Publication of JP2008126383A publication Critical patent/JP2008126383A/en
Application granted granted Critical
Publication of JP4940905B2 publication Critical patent/JP4940905B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、関節を有する関節駆動型ロボット、及びその制御方法に関するものである。   The present invention relates to a joint-driven robot having a joint and a control method thereof.

近年、歩行するための脚部を備え、この脚部を駆動し、脚部の下端に設けられた足平部分を所定の歩容データに基づいて床面上に配置することで歩行動作を行う脚式移動型のロボットが開発されている。(例えば特許文献1)   In recent years, a leg for walking is provided, the leg is driven, and a foot portion provided at the lower end of the leg is placed on the floor surface based on predetermined gait data to perform a walking motion. Legged mobile robots have been developed. (For example, Patent Document 1)

このような脚式移動型のロボットは、まず、脚部の足平部分を床面に接触させて支持脚とし、その後に足平の裏面で床面を押して脚部全体(ロボット全体)を上げるように脚部を駆動することで、次の歩行動作を行う。駆動された脚部は遊脚となる一方、他の脚部が支持脚となり、このように、遊脚と支持脚とを交互に繰り返して切り換えることで、歩行動作を行うことが可能になる。   In such a legged mobile robot, first, the foot portion of the leg is brought into contact with the floor surface to form a supporting leg, and then the floor surface is pushed by the back of the foot to raise the entire leg portion (the entire robot). Thus, the next walking motion is performed by driving the legs. The driven leg portion is a free leg, while the other leg portion is a support leg. In this way, a walking motion can be performed by alternately switching the free leg and the support leg.

このような歩行動作を安定して行う際には、ロボット全体の重心位置を制御して、脚部を駆動する必要がある。すなわち、左右に各々脚部を有する2足歩行タイプの脚式歩行型ロボットの場合、歩行する床面に接地する支持脚の足平部分の接地面内部に、ロボット全体の重心によるモーメントが作用しない点(ZMP=Zero Moment Point)を位置させる。
特開平5−305580号公報
In order to stably perform such a walking motion, it is necessary to control the position of the center of gravity of the entire robot and drive the leg portion. That is, in the case of a biped walking type legged walking type robot having leg portions on the left and right sides, the moment due to the center of gravity of the entire robot does not act on the ground contact surface of the foot portion of the supporting leg that contacts the floor surface to walk. A point (ZMP = Zero Moment Point) is located.
JP-A-5-305580

特許文献1に示されている脚式移動型ロボットの脚部は、股関節、大腿、膝関節、下腿、足首関節、及び足平を備えている。そして、脚部に連結された胴体の目標重心位置と実際の重心位置との偏差から、腰の移動量を算出している。そして、算出された腰の移動量から駆動する関節角度をそれぞれ求めて、駆動している。   The leg portion of the legged mobile robot shown in Patent Document 1 includes a hip joint, a thigh, a knee joint, a lower leg, an ankle joint, and a foot. Then, the amount of movement of the waist is calculated from the deviation between the target center-of-gravity position of the trunk connected to the legs and the actual center-of-gravity position. And the joint angle to drive is calculated | required from the calculated movement amount of the waist, and it drives.

上記の各関節は、通常、モータによって駆動する。従って、各関節を駆動するために駆動量を算出する必要がある。駆動量としては、モータのトルクや、角度がある。そして、各関節の目標角度に追従するよう、モータを制御する。このように、ロボットの演算処理部では、各関節のモータに対して、それぞれ駆動量が算出される。   Each of the above joints is usually driven by a motor. Therefore, it is necessary to calculate the driving amount in order to drive each joint. The driving amount includes motor torque and angle. Then, the motor is controlled so as to follow the target angle of each joint. As described above, in the arithmetic processing unit of the robot, the driving amount is calculated for each motor of each joint.

ところで、脚式移動型ロボットでは、通常、複数の目標姿勢を組み合わせて、目標運動を実現している。安定歩行を行なうという目標運動を実行する場合、目標姿勢としては、例えば、(1)「予め定められている各関節目標角度に追従する」(2)「足平を床面に倣わせる」(3)「胴体を倒立させる」(4)「着地衝撃を吸収する」などが挙げられる。   By the way, in a legged mobile robot, a target motion is usually realized by combining a plurality of target postures. When executing the target motion of performing stable walking, as the target posture, for example, (1) “follow each predetermined joint target angle” (2) “make the foot follow the floor” (3) “Invert the body” (4) “Absorb the landing impact”, etc.

上記の(1)〜(4)までの目標姿勢を同時に達成するため、それぞれの目標姿勢に対して制御量を算出する。すなわち、ロボットの演算処理部は、それぞれの目標姿勢に対応する制御量を算出するための制御量算出部を複数有している。上記の場合、(1)〜(4)の目標姿勢に対応して、4つの制御量算出部が設けられている。そして、それぞれの制御量算出部では、所定のプログラムを実行することによって、目標姿勢に対応する制御量を算出している。さらに、ロボットの演算処理部は、1つの関節の駆動量を求めるため、複数の制御量を合成している。   In order to achieve the above target postures (1) to (4) at the same time, a control amount is calculated for each target posture. That is, the arithmetic processing unit of the robot has a plurality of control amount calculation units for calculating the control amount corresponding to each target posture. In the above case, four control amount calculation units are provided corresponding to the target postures (1) to (4). Each control amount calculation unit calculates a control amount corresponding to the target posture by executing a predetermined program. Furthermore, the arithmetic processing unit of the robot combines a plurality of control amounts in order to obtain the drive amount of one joint.

しかしながら、より複雑な運動を実現しようとするほど、多数の目標姿勢を組み合わる必要がある。従って、各目標姿勢に応じて制御量算出部をそれぞれ個別に最適化して設計しても、合成部を通じてそれらを合成した結果、ロボットが相互作用によって予期しない動きをしてしまうおそれがある。ここで、予期しない動きとは、(a)「予め定められた目標関節角度に追従しない」(b)「足平が床面形状に倣わない」(c)「胴体が倒立しない」(d)「着地衝撃を吸収できない」等といった目標姿勢を満たせてない状態である。すなわち、複数の目標姿勢のうちの一つ以上を達成できなくなってしまうという問題点がある。   However, it is necessary to combine a large number of target postures so as to achieve more complex movements. Therefore, even if the control amount calculation units are individually optimized and designed according to each target posture, there is a possibility that the robot may move unexpectedly due to interaction as a result of combining them through the combining unit. Here, the unexpected movement is: (a) “does not follow a predetermined target joint angle” (b) “foot does not follow the floor shape” (c) “torso does not invert” (d ) The target posture such as “cannot absorb landing impact” is not satisfied. That is, there is a problem that one or more of the plurality of target postures cannot be achieved.

従来技術では、達成できない目標姿勢を特定して、該当する制御量算出部を再設計することで上記の問題点の発生を防いでいる。しかしながら、再設計された制御量算出部では、その目標姿勢に対して最適化されている状態ではなくなるため、制御性が低下してしまうという問題点がある。すなわち、制御量算出部におけるプログラムにおいて、制御量を算出するためのゲインを下げる必要があるため、制御性が低下してしまうという問題点がある。このように、従来のロボットでは、制御性よく、複雑な制御を実現することが困難であるという問題点がある。   In the prior art, the target posture that cannot be achieved is identified, and the corresponding control amount calculation unit is redesigned to prevent the above-described problem from occurring. However, since the redesigned control amount calculation unit is not optimized for the target posture, there is a problem that controllability is deteriorated. That is, in the program in the control amount calculation unit, it is necessary to lower the gain for calculating the control amount. Thus, the conventional robot has a problem that it is difficult to realize complex control with good controllability.

本発明は、このような問題を解決するためになされたものであり、制御性よく、複雑な制御を実現することができる関節駆動型ロボット、及びその制御方法を提供することを目的とする。   The present invention has been made to solve such a problem, and an object of the present invention is to provide a joint-driven robot capable of realizing complex control with good controllability, and a control method therefor.

本発明の第1の態様にかかる関節駆動型ロボットは、入力される駆動量に応じて駆動する関節を有する関節駆動型ロボットであって、前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を算出するための一つの制御量を、前記関節駆動型ロボットの全体姿勢及び各関節目標角度を示す前記関節駆動型ロボットの目標姿勢に応じて各々算出する複数の制御量算出部を有する制御量算出部群と、前記制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算し、前記関節の駆動量として出力する合成部と、前記制御量算出部群の少なくとも一つの制御量算出部で算出される前記制御量に対して設定された、制御性を低下させずに複数の目標姿勢を達成させるためのリミット値を記憶するリミット値設定部と、前記リミット値と前記制御量とを比較する比較部と、を備え、前記比較部において前記制御量が前記リミット値を超えた場合に、前記制御量を前記リミット値と同じ値にして出力し、前記制御量が前記リミット値を超えていない場合、前記制御量をそのまま出力するものである。このような構成によれば、制御量がリミット値を越えなくなるため、各目標姿勢の相互作用による相殺を防ぐことができる。よって、制御量に対して適切なゲインを設定することができるため、制御性よく、複雑な制御を実行することができる。 The joint-driven robot according to the first aspect of the present invention is a joint-driven robot having a joint that is driven according to an input driving amount, and each of the plurality of target postures of the joint-driven robot. A plurality of control amount calculation units for calculating one control amount for calculating the drive amount according to the overall posture of the joint-driven robot and the target posture of the joint-driven robot indicating each joint target angle A control amount calculation unit group including: a control unit calculated by each control amount calculation unit of the control amount calculation unit group multiplied by a gain and added, and output as a drive amount of the joint; Limit value for storing a limit value for achieving a plurality of target postures without degrading controllability, set for the control amount calculated by at least one control amount calculation unit of the control amount calculation unit group Setting And a comparison unit that compares the limit value and the control amount, and outputs the control amount to the same value as the limit value when the control amount exceeds the limit value in the comparison unit. When the control amount does not exceed the limit value, the control amount is output as it is. According to such a configuration, since the control amount does not exceed the limit value, it is possible to prevent cancellation due to the interaction between the target postures. Therefore, since an appropriate gain can be set for the control amount, complex control can be executed with good controllability.

本発明の第2の態様にかかる関節駆動型ロボットは、コントローラから出力される駆動量に応じて駆動する関節を有する関節駆動型ロボットであって、前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を、前記関節駆動型ロボットの全体姿勢及び各関節目標角度を示す前記関節駆動型ロボットの目標姿勢に応じて各々算出する制御量算出部が複数設けられた第1の制御量算出部群を有し、前記第1の制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算して、前記関節を駆動する第1の駆動量を出力する第1のコントローラと、前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を前記関節駆動型ロボットの目標姿勢に応じて各々算出する制御量算出部が複数設けられた第2の制御量算出部群を有し、前記第2の制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算し、前記関節を駆動する第2の駆動量を出力する第2のコントローラと、前記第1のコントローラからの第1の駆動量と前記第2のコントローラからの第2の駆動量とを切替え、前記第1の駆動量及び前記第2の駆動量のうちの一方の駆動量を出力する切替部と、前記切替部から出力された前記第1の駆動量及び前記第2の駆動量の一方の駆動量に応じて前記関節を駆動する関節駆動部と、前記第1の制御量算出部群の少なくとも一つの制御量算出部で算出される前記制御量に対して設定された、制御性を低下させずに複数の目標姿勢を達成させるためのリミット値を記憶するリミット値設定部と、前記制御量と前記リミット値とを比較する比較部と、を備え、前記第1のコントローラにおいて、前記制御量が前記リミット値を越えた場合に、前記切替部が前記第2の駆動量を前記関節駆動部に出力し、前記第2のコントローラにおいて前記制御量が前記リミット値を超えた場合に、前記切替部が前記第1の駆動量を前記関節駆動部に出力するものである。このような構成では、目標姿勢を満たすことができなくなると、制御量がリミット値を越えるため、コントローラが切り替わる。よって、コントローラの切替を適切に行なうことができるため、制御性よく、複雑な制御を実行することができる。 A joint-driven robot according to a second aspect of the present invention is a joint-driven robot having a joint that is driven in accordance with a drive amount output from a controller, and a plurality of target postures of the joint-driven robot. Te one control amount for determining the drive amount of each controlled variable calculation unit for each calculated according to the target posture of the joint drive robot showing the overall attitude and the joint target angle of the joint drive type robot A plurality of first control amount calculation unit groups provided; the control amount calculated by each control amount calculation unit of the first control amount calculation unit group is multiplied by a gain and then added ; A first controller that outputs a first drive amount for driving the joint drive robot, and one control amount for obtaining the drive amount for each of a plurality of target postures of the joint drive robot. Goal The second has a control amount calculation unit group, the control amount calculated by the control amount calculating section of each of the second control amount calculating section group control amount calculating section is provided with a plurality of each calculated according to A second controller that multiplies the gain and adds the result to output a second drive amount for driving the joint, a first drive amount from the first controller, and a second drive amount from the second controller. A switching unit that switches a driving amount and outputs one of the first driving amount and the second driving amount; and the first driving amount and the second that are output from the switching unit. Is set for the control amount calculated by a joint drive unit that drives the joint according to one of the drive amounts, and at least one control amount calculation unit of the first control amount calculation unit group. Limit to achieve multiple target postures without degrading controllability. A limit value setting unit that stores a threshold value, and a comparison unit that compares the control amount with the limit value, and when the control amount exceeds the limit value in the first controller, The switching unit outputs the second driving amount to the joint driving unit, and the switching unit sets the first driving amount to the joint when the control amount exceeds the limit value in the second controller. It outputs to a drive part. In such a configuration, when the target posture cannot be satisfied, the control amount exceeds the limit value, so that the controller is switched. Therefore, since the controller can be switched appropriately, complex control can be executed with good controllability.

本発明の第3の態様にかかる関節駆動型ロボットは、上述の関節駆動型ロボットであって、前記第1のコントローラと前記第2のコントローラとが、相反する目標運動を実行することを特徴とするものである。これにより、リミット値を越えた場合は相反する目標運動を実行するコントローラに切り替えられるため、状況に応じた制御に切り替えることができる。   A joint-driven robot according to a third aspect of the present invention is the joint-driven robot described above, wherein the first controller and the second controller execute opposite target motions. To do. Thereby, when the limit value is exceeded, it is possible to switch to the controller that executes the contradictory target motion, so that it is possible to switch to the control according to the situation.

本発明の第4の態様にかかる関節駆動型ロボットの制御方法は、入力される駆動量に応じて駆動する関節を有する関節駆動型ロボットの制御方法であって、前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を、前記関節駆動型ロボットの全体姿勢及び各関節目標角度を示す前記関節駆動型ロボットの目標姿勢に応じて複数算出するステップと、前記複数の制御量のうちの少なくとも一つの制御量に対する、制御性を低下させずに複数の目標姿勢を達成させるためのリミット値を前記制御量と比較して、前記制御量が前記リミット値を超えた場合に、前記制御量を前記リミット値と同じ値にして出力し、前記制御量が前記リミット値を超えていない場合、前記制御量をそのまま出力して、前記リミット値を超えない値を前記制御量にするステップと、前記リミット値を超えない値を含む複数の制御量にゲインを乗算した後加算し、前記関節の駆動量として出力するステップと、を備えるものである。これにより、制御量がリミット値を越えなくなるため、各目標姿勢の相互作用による相殺を防ぐことができる。よって、制御量に対して適切なゲインを設定することができるため、制御性よく、複雑な制御を実行することができる。 A control method for a joint-driven robot according to a fourth aspect of the present invention is a control method for a joint-driven robot having a joint that is driven according to an input drive amount, and includes a plurality of joint-driven robots. step one control quantity, a plurality of calculated according to the target posture of the joint drive robot showing the overall attitude and the joint target angle of the joint drive robot for determining the drive amount of each relative to the target orientation And a limit value for achieving a plurality of target postures without lowering controllability for at least one control amount of the plurality of control amounts, and comparing the control amount with the control amount. If the control amount exceeds the limit value, the control amount is output as the same value as the limit value. If the control amount does not exceed the limit value, the control amount is output as it is, The method comprising the Tsu bets value does not exceed the value to the control amount, is added after multiplying the gain in a plurality of control amounts, including the not exceed the limit value value, and outputting a driving amount of the joint, the It is to be prepared. Thereby, since the control amount does not exceed the limit value, it is possible to prevent cancellation due to the interaction between the target postures. Therefore, since an appropriate gain can be set for the control amount, complex control can be executed with good controllability.

本発明の第5の態様にかかる関節駆動型ロボットは、関節駆動型ロボットに設けられ、コントローラから出力される駆動量に応じて駆動する関節と、前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を、前記関節駆動型ロボットの全体姿勢及び各関節目標角度を示す前記関節駆動型ロボットの目標姿勢に応じて各々算出する制御量算出部が複数設けられた第1の制御量算出部群を有し、前記第1の制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算して、前記関節を駆動する第1の駆動量として出力する第1のコントローラと、前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を各々算出する制御量算出部が複数設けられた第2の制御量算出部群を有し、前記第2の制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算して、前記関節を駆動する第2の駆動量として出力する第2のコントローラと、を備え、前記第1の駆動量、又は前記第2の駆動量に応じて前記関節を駆動する関節駆動型ロボットの制御方法であって、前記第1の制御量算出部群のうちの1つ以上の制御量算出部に対して設定された、制御性を低下させずに複数の目標姿勢を達成させるためのリミット値と、前記制御量とを比較するステップと、前記制御量が前記リミット値を超えた場合に、前記第1のコントローラから前記第2のコントローラに切り替えるステップと、前記第2のコントローラによって出力された前記第2の駆動量によって前記関節を駆動するステップと、を備えるものである。このような構成では、目標姿勢を満たすことができなくなると、制御量がリミット値を越えるため、コントローラが切り替わる。よって、コントローラの切替を適切に行なうことができるため、制御性よく、複雑な制御を実行することができる。
A joint-driven robot according to a fifth aspect of the present invention is provided in a joint-driven robot, and a joint that is driven according to a drive amount output from a controller and a plurality of target postures of the joint-driven robot. Te one control amount for determining the drive amount of each controlled variable calculation unit for each calculated according to the target posture of the joint drive robot showing the overall attitude and the joint target angle of the joint drive type robot A plurality of first control amount calculation unit groups provided; the control amount calculated by each control amount calculation unit of the first control amount calculation unit group is multiplied by a gain and then added ; A first controller that outputs a first driving amount for driving the control unit, and a control amount calculation that calculates one control amount for each of a plurality of target postures of the joint-driven robot. Duplicate A second control amount calculating section group provided adds after it has been multiplied by the gain control amount calculated by the control amount calculating section of each of the second control amount calculating section group, the joint And a second controller that outputs a second drive amount to be driven, and a control method for the joint drive robot that drives the joint according to the first drive amount or the second drive amount. A limit value for achieving a plurality of target postures without degrading controllability, set for one or more control amount calculation units in the first control amount calculation unit group, A step of comparing the control amount, a step of switching from the first controller to the second controller when the control amount exceeds the limit value, and the second output from the second controller. Depending on the driving amount of And driving the one in which comprises a. In such a configuration, when the target posture cannot be satisfied, the control amount exceeds the limit value, so that the controller is switched. Therefore, since the controller can be switched appropriately, complex control can be executed with good controllability.

本発明の第6の態様にかかる関節駆動型ロボットの制御方法は、上述の制御方法であって、前記第1のコントローラと前記第2のコントローラとが、相反する目標運動を実行することを特徴とするものである。これにより、リミット値を越えた場合は相反する目標運動を実行するコントローラに切り替えられるため、状況に応じた制御に切り替えることができる。   A control method for a joint-driven robot according to a sixth aspect of the present invention is the control method described above, wherein the first controller and the second controller execute opposite target motions. It is what. Thereby, when the limit value is exceeded, it is possible to switch to the controller that executes the contradictory target motion, so that it is possible to switch to the control according to the situation.

本発明によれば、制御性よく、複雑な制御を実現することができる関節駆動型ロボット、及びその制御方法を提供することが可能となる。   ADVANTAGE OF THE INVENTION According to this invention, it becomes possible to provide the articulation type robot which can implement | achieve complicated control with sufficient controllability, and its control method.

第1の態様にかかるロボットは、出力される駆動量に応じて駆動する関節を有する関節駆動型ロボットである。この関節駆動型ロボットは、駆動量を求めるための制御量を各々算出する複数の制御量算出部を有している。ここで、制御量とは、関節の駆動量を算出するために用いられる値であり、例えば、その関節の目標トルク、目標角度、及び目標角速度等である。すなわち、制御量は、関節の駆動において制御の目標となる値である。さらに、制御量はその関節以外の関節の位置、角度などであってもよい。例えば、胴体の位置や傾斜角度を制御量とすることができる。この制御量が変化することにより、駆動量も変化する。制御量算出部は目標姿勢に応じて制御量を算出する。すなわち、ロボットに対して目標姿勢を実現させる制御を行うための目標値が制御量として算出される。ここで、ロボット制御では、複数の目標姿勢が組み合わされて実行されるため、複数の制御量が算出される。関節駆動型ロボットは、複数の制御量算出部でそれぞれ算出された制御量を合成処理し、関節の駆動量として出力する。ここで、少なくとも一つの制御量に対してリミット値が設定されている。そして、制御量がリミット値を超えた場合に制御量をリミット値を超えない値にしている。   The robot according to the first aspect is a joint-driven robot having a joint that is driven according to the output driving amount. This joint-driven robot has a plurality of control amount calculation units for calculating control amounts for determining the drive amount. Here, the control amount is a value used for calculating the driving amount of the joint, and is, for example, a target torque, a target angle, a target angular velocity, or the like of the joint. That is, the control amount is a value that is a control target in driving the joint. Furthermore, the control amount may be the position or angle of a joint other than the joint. For example, the position and inclination angle of the trunk can be used as the control amount. As the control amount changes, the drive amount also changes. The control amount calculation unit calculates the control amount according to the target posture. That is, a target value for performing control for realizing a target posture with respect to the robot is calculated as a control amount. Here, in robot control, since a plurality of target postures are executed in combination, a plurality of control amounts are calculated. The joint-driven robot combines the control amounts calculated by the plurality of control amount calculation units, and outputs them as joint drive amounts. Here, a limit value is set for at least one control amount. When the control amount exceeds the limit value, the control amount is set to a value that does not exceed the limit value.

発明の実施の形態1.
以下に、図1を参照しつつ本発明の実施の形態1にかかる脚式移動ロボット(以下、単にロボットという)について説明する。
図1は、ロボット1を正面から見た様子を概略的に表す概略図であり、床面F上をロボット1が歩行する様子を表している。なお、図1においては、説明の便宜上、ロボット1が進行する向き(前後方向)をx軸、ロボット1が進行する方向について水平方向に直交する向き(左右方向)をy軸、移動体の移動する平面から鉛直方向に延びる向き(上下方向)をz軸とし、これらの3軸からなる座標系を用いて説明する。すなわち、図1中において、前記x軸は紙面の奥行方向、y軸は紙面に向かって左右方向、z軸は紙面中の上下方向を示す。
Embodiment 1 of the Invention
A legged mobile robot (hereinafter simply referred to as a robot) according to a first embodiment of the present invention will be described below with reference to FIG.
FIG. 1 is a schematic diagram schematically showing the robot 1 as viewed from the front, and shows the robot 1 walking on the floor F. FIG. In FIG. 1, for convenience of explanation, the direction in which the robot 1 travels (front-rear direction) is the x-axis, and the direction perpendicular to the horizontal direction (left-right direction) is the y-axis with respect to the direction in which the robot 1 travels. The direction (vertical direction) extending in the vertical direction from the plane to be performed is defined as the z axis, and a description will be made using a coordinate system composed of these three axes. That is, in FIG. 1, the x-axis indicates the depth direction of the paper surface, the y-axis indicates the left-right direction toward the paper surface, and the z-axis indicates the vertical direction in the paper surface.

図1に示すように、ロボット1は、頭部2と、体幹(胴体)3と、体幹3に結合された腰部4と、体幹3に接続された右腕5、左腕6と、腰部4に対して回動自在に固定される脚部10と、を備えた2足歩行型のロボットである。以下、詳細に説明する。   As shown in FIG. 1, the robot 1 includes a head 2, a trunk (torso) 3, a waist 4 coupled to the trunk 3, a right arm 5, a left arm 6 connected to the trunk 3, and a waist 4 is a biped walking robot that includes a leg portion 10 that is fixed to be freely pivotable with respect to 4. Details will be described below.

頭部2は、ロボット1の周囲の環境を視覚的に撮像するための左右一対の撮像部(図示せず)を備えているとともに、体幹3に対して頭部2を鉛直方向に平行な軸周りに回動させることで、周囲の環境を広く撮像する。撮像した周囲の環境を示す画像データは、後述する演算処理部130に送信され、ロボット1の動作を決定するための情報として用いられる。   The head 2 includes a pair of left and right imaging units (not shown) for visually imaging the environment around the robot 1, and the head 2 is parallel to the trunk 3 in the vertical direction. By rotating around the axis, the surrounding environment is imaged widely. Image data indicating the captured surrounding environment is transmitted to the arithmetic processing unit 130 described later, and is used as information for determining the operation of the robot 1.

体幹3は、その内部にロボット1の動作を制御する演算処理部130や、脚部のモータ等に電力を供給するためのバッテリー(図示せず)等を収容するものである。演算処理部130は、脚部10を駆動し、ロボット1を動かすための歩容データを記憶する記憶領域と、この記憶領域に記憶された歩容データを読み出す演算処理部と、脚部10に含まれるモータを駆動するモータ駆動部と、を備えている。なお、演算処理部130の構成については後述する。これらの各構成要素は、体幹3の内部に設けられたバッテリー(図示せず)から電力を供給されることで動作する。   The trunk 3 houses therein an arithmetic processing unit 130 that controls the operation of the robot 1, a battery (not shown) for supplying power to a leg motor and the like. The arithmetic processing unit 130 drives the leg 10 and stores a gait data for moving the robot 1, an arithmetic processing unit for reading out the gait data stored in the storage area, and the leg 10. A motor drive unit for driving the included motor. The configuration of the arithmetic processing unit 130 will be described later. Each of these components operates by being supplied with electric power from a battery (not shown) provided inside the trunk 3.

また、演算処理部130は、記憶領域に記憶された歩容データを読み出すとともに、読み出した歩容データによって特定されるロボット1の姿勢を実現するために必要な脚部10の関節角を算出する。そして、このように算出した関節角に基づく信号をモータ駆動部に送信する。   The arithmetic processing unit 130 reads out the gait data stored in the storage area and calculates the joint angle of the leg 10 necessary to realize the posture of the robot 1 specified by the read out gait data. . And the signal based on the joint angle computed in this way is transmitted to a motor drive part.

モータ駆動部は、演算処理部130より送信された信号に基づいて、脚部を駆動するための各モータの駆動量を特定し、これらの駆動量でモータを駆動させるためのモータ駆動信号を各モータに送信する。これによって脚部10の各関節における駆動量が変更され、ロボット1の動きが制御される。   The motor drive unit specifies the drive amount of each motor for driving the leg based on the signal transmitted from the arithmetic processing unit 130, and outputs the motor drive signal for driving the motor with these drive amounts. Send to motor. As a result, the driving amount at each joint of the leg 10 is changed, and the movement of the robot 1 is controlled.

また、演算処理部130は、読み出した歩容データに基づいてモータの駆動を行うように指令するほか、ロボット1に組み込まれたジャイロや加速度計やロータリーエンコーダなどセンサ(図示せず)からの信号を受けて、モータの駆動量を調整する。このように、センサにより検出したロボット1に作用する外力や、ロボット1の姿勢などに応じて脚部10の関節角を調整することで、ロボット1が安定した状態を維持することができる。   The arithmetic processing unit 130 commands the motor to be driven based on the read gait data, and signals from sensors (not shown) such as a gyroscope, an accelerometer, and a rotary encoder incorporated in the robot 1. In response, the drive amount of the motor is adjusted. Thus, the robot 1 can be maintained in a stable state by adjusting the joint angle of the leg 10 according to the external force acting on the robot 1 detected by the sensor, the posture of the robot 1, and the like.

右腕5および左腕6は、体幹3に対して回動自在に接続されており、肘部分および手首部分に設けられた関節部分を駆動することにより、人間の腕部と同様の動きを行うことができる。また、手首部分の先端に接続された手先部は、図示を省略するが物体を把持するためのハンド構造を備えており、ハンド構造に組み込まれた複数の指関節を駆動することで、様々な形状の物体を把持することが可能となる。   The right arm 5 and the left arm 6 are pivotally connected to the trunk 3, and perform the same movement as a human arm portion by driving joint portions provided at the elbow portion and the wrist portion. Can do. Further, the hand part connected to the tip of the wrist part has a hand structure for gripping an object (not shown), and by driving a plurality of finger joints incorporated in the hand structure, various kinds of parts are provided. It becomes possible to grip an object having a shape.

腰部4は、体幹3に対して回動するように接続されており、歩行動作を行う際に腰部4の回動動作を組み合わせることで、脚部10を駆動するために必要な駆動エネルギーを低減させることができる。   The lumbar part 4 is connected to the trunk 3 so as to rotate, and the driving energy necessary for driving the leg part 10 can be obtained by combining the rotational action of the lumbar part 4 when performing a walking action. Can be reduced.

2足歩行を行うための脚部10(右脚20、左脚30)は、右脚20と左脚30とから構成されている。詳細には、図2に示すように、右脚20は右股関節21、右上腿22、右膝関節23、右下腿24、右足首関節25、右足平26を備え、同様に、左脚30は左股関節31、左上腿32、左膝関節33、左下腿34、左足首関節35、左足平36を備えている。   A leg 10 (right leg 20 and left leg 30) for bipedal walking is composed of a right leg 20 and a left leg 30. Specifically, as shown in FIG. 2, the right leg 20 includes a right hip joint 21, an upper right thigh 22, a right knee joint 23, a right lower leg 24, a right ankle joint 25, and a right foot 26. A left hip joint 31, a left upper thigh 32, a left knee joint 33, a left lower thigh 34, a left ankle joint 35, and a left foot 36 are provided.

そして、右脚20および左脚30とは、図示しないモータからの駆動力が、同じく図示しないプーリおよびベルトを介して伝達されることで、各関節部が所望の角度に駆動され、その結果、脚部に所望の動きをさせることができる。   The right leg 20 and the left leg 30 are each driven to a desired angle by transmitting a driving force from a motor (not shown) via a pulley and a belt (not shown). A desired movement can be made to a leg part.

なお、本実施形態においては、脚部10(右脚20および左脚30)は、下腿を膝関節回りに前方側に持ち上げると、人間の脚部のように、上腿と下腿が後方側に向かって開いた状態(上腿の延長線よりも後方側に、下腿が膝関節回りに回転した状態)となる。   In this embodiment, when the leg 10 (the right leg 20 and the left leg 30) lifts the lower leg to the front side around the knee joint, the upper leg and the lower leg are placed rearward like a human leg. It is in an open state (a state where the lower leg rotates around the knee joint on the rear side of the extension line of the upper leg).

記憶領域に記憶された歩容データは、操作部(図示せず)から送られる信号で特定される脚部10の移動量に対応づけて、脚部10の足平(右足平26、左足平36)の先端(足先)の位置と、ロボット1本体の位置とを、ロボット1の移動する空間を定める座標系(例えばxyz座標系)において経時的に指示するものである。なお、歩容データの生成については、従来から広く用いられている方法を用いることができるため、説明を省略する。   The gait data stored in the storage area is associated with the amount of movement of the leg 10 specified by the signal sent from the operation unit (not shown), and the foot of the leg 10 (right foot 26, left foot). 36), the position of the tip (toe) and the position of the main body of the robot 1 are instructed over time in a coordinate system (for example, an xyz coordinate system) that defines a space in which the robot 1 moves. In addition, about the production | generation of gait data, since the method widely used conventionally can be used, description is abbreviate | omitted.

ここで、演算処理部130について説明する。演算処理部130は、所定の演算処理を行なうCPU(Central Processing Unit)、記憶領域であるROM(Read Only Memory)やRAM(Random Access Memory)、通信用のインターフェースなどを有し、ロボット1の各種動作を制御する。例えば、ROMには、制御するための制御プログラムや、各種の設定データ等が記憶されている。そして、CPUは、このROMに記憶されている制御プログラムを読み出し、RAMに展開する。そして、設定データや、センサ等からの出力に応じてプログラムを実行する。このようにして、演算処理部130はロボット1を制御する。   Here, the arithmetic processing unit 130 will be described. The arithmetic processing unit 130 includes a CPU (Central Processing Unit) that performs predetermined arithmetic processing, a ROM (Read Only Memory) or RAM (Random Access Memory) that is a storage area, a communication interface, and the like. Control the behavior. For example, the ROM stores a control program for control, various setting data, and the like. Then, the CPU reads the control program stored in the ROM and develops it in the RAM. Then, the program is executed in accordance with the setting data and the output from the sensor or the like. In this way, the arithmetic processing unit 130 controls the robot 1.

次に、ロボット1の演算処理部130の構成について図2を用いて説明する。図2では複数の関節のうち、1つの関節を駆動するためのコントローラ131が示されている。従って、演算処理部130には、関節の自由度の数だけ図2に示すコントローラ131が設けられている。   Next, the configuration of the arithmetic processing unit 130 of the robot 1 will be described with reference to FIG. FIG. 2 shows a controller 131 for driving one joint among a plurality of joints. Therefore, the arithmetic processing unit 130 is provided with the controllers 131 shown in FIG. 2 by the number of degrees of freedom of joints.

コントローラ131は、複数の制御量算出部135からなる制御量算出部群145と、合成部138とを有している。それぞれの制御量算出部135は、目標姿勢に応じて制御量を算出する。ここでは、複数の目標姿勢が設定されているため、複数の制御量算出部135が設けられている。具体的には、目標姿勢1〜目標姿勢nを実現するため、n個の制御量算出部135が設けられている。すなわち、コントローラ131は、n(nは2以上の整数)個の制御量算出部135からなる制御量算出部群145を有している。   The controller 131 includes a control amount calculation unit group 145 including a plurality of control amount calculation units 135 and a synthesis unit 138. Each control amount calculation unit 135 calculates a control amount according to the target posture. Here, since a plurality of target postures are set, a plurality of control amount calculation units 135 are provided. Specifically, n control amount calculation units 135 are provided to realize the target posture 1 to the target posture n. That is, the controller 131 includes a control amount calculation unit group 145 including n (n is an integer of 2 or more) control amount calculation units 135.

制御量算出部群145に含まれているn個の制御量算出部135は、目標姿勢1〜nと1対1に対応している。すなわち、n個の制御量算出部135のうちの1個目の制御量算出部135は、目標姿勢1を実現するために設けられており、n個目の制御量算出部135は、目標姿勢nを実現するために設けられている。ここで、目標姿勢としては、例えば、(1)「予め定められている各関節目標角度に追従する」(2)「足平を床面に倣わせる」(3)「胴体を倒立させる」(4)「着地衝撃を吸収する」などが挙げられる。もちろん、これ以外の目標姿勢を有していてもよく、目標姿勢の数は2以上であればよい。例えば、制御量算出部135には、それぞれ別の制御量算出プログラムが記憶されている。これにより、目標姿勢1〜nを同時に達成することができる。それぞれの制御量算出部135は、各々の目標姿勢に対して、個別に最適化されている。   The n control amount calculation units 135 included in the control amount calculation unit group 145 have a one-to-one correspondence with the target postures 1 to n. That is, the first control amount calculation unit 135 of the n control amount calculation units 135 is provided to realize the target posture 1, and the nth control amount calculation unit 135 is the target posture. It is provided to realize n. Here, as the target posture, for example, (1) “follow each predetermined joint target angle” (2) “follow the foot on the floor” (3) “invert the body” (4) “Absorb landing impact”. Of course, other target postures may be used, and the number of target postures only needs to be two or more. For example, the control amount calculation unit 135 stores different control amount calculation programs. Thereby, the target postures 1 to n can be achieved simultaneously. Each control amount calculation unit 135 is individually optimized for each target posture.

制御量としては、例えば、その関節の目標トルク、目標角度、及び目標角速度等が挙げられる。もちろん、制御量として、目標トルク、目標角度、及び目標角速度のうちの一つ以上があればよく、複数を組み合わせてもよい。さらに、制御量はその関節以外の位置、角度などであってもよい。例えば、胴体の位置や傾斜角度を制御量とすることができる。なお、制御量算出部135には、制御量を算出するために必要な値が入力されていてもよい。例えば、ロボット1に設けられているセンサによって計測された位置や力などの値が、必要に応じて入力される。   Examples of the control amount include a target torque, a target angle, and a target angular velocity of the joint. Of course, it is sufficient that there is at least one of the target torque, the target angle, and the target angular velocity as the control amount, and a plurality of them may be combined. Furthermore, the control amount may be a position other than the joint, an angle, or the like. For example, the position and inclination angle of the trunk can be used as the control amount. Note that a value necessary for calculating the control amount may be input to the control amount calculation unit 135. For example, values such as position and force measured by a sensor provided in the robot 1 are input as necessary.

制御量算出部群145で算出された制御量1〜nは合成部138に入力される。合成部138は、制御量1〜nを合成して、駆動量を算出する。例えば、合成部138は、制御量1〜nのそれぞれに対してゲインをかけ、それらの和を駆動量として算出する。そして、合成部138は、制御量1〜nを合成処理することにより得られた駆動量を駆動信号としてモータ141に出力する。関節を駆動する関節駆動部であるモータ141は、合成部138からの駆動量に応じて駆動する。例えば、駆動量としてモータ141のトルクを用いた場合、駆動量に応じたトルクでモータ141が回転駆動する。ここで、コントローラ131は、1つのモータ141に対応しているため、コントローラ131からは1つの駆動量が出力される。   Control amounts 1 to n calculated by the control amount calculation unit group 145 are input to the combining unit 138. The synthesizer 138 synthesizes the control amounts 1 to n to calculate the drive amount. For example, the synthesizing unit 138 applies a gain to each of the control amounts 1 to n, and calculates the sum as a drive amount. Then, the combining unit 138 outputs the drive amount obtained by combining the control amounts 1 to n to the motor 141 as a drive signal. A motor 141 that is a joint drive unit that drives the joint is driven according to the drive amount from the synthesis unit 138. For example, when the torque of the motor 141 is used as the drive amount, the motor 141 is rotationally driven with a torque corresponding to the drive amount. Here, since the controller 131 corresponds to one motor 141, one drive amount is output from the controller 131.

ところで、従来のロボット制御では、制御量算出部135が、各々の目標姿勢に対して、個別に最適化されていても、ロボットが予期しない動きをすることがある。これは、複数の制御量を合成部138で合成した結果、互いの相互作用によって、効果を相殺してしまうからである。予期しない動きとは、例えば、上記(1)〜(4)のうちの複数の目標姿勢が同時に満たされていない状態をいう。すなわち、(a)「予め定められた目標関節角度に追従しない」(b)「足平が床面形状に倣わない」(c)「胴体が倒立しない」(d)「着地衝撃を吸収できない」等という目標未達状態が複数同時に発生してしまう。具体的には、「足平が床面形状に倣わず、胴体が倒立できない」状態となり、予期しない動きをしてしまう。このような問題を防ぐため、従来のロボット制御では、ゲインを低くして、制御性を低下させている。   By the way, in conventional robot control, even if the control amount calculation unit 135 is individually optimized for each target posture, the robot may move unexpectedly. This is because, as a result of synthesizing a plurality of control amounts by the synthesizing unit 138, the effects are offset by mutual interaction. The unexpected movement refers to a state in which a plurality of target postures among the above (1) to (4) are not satisfied at the same time. That is, (a) “does not follow a predetermined target joint angle” (b) “foot does not follow the floor shape” (c) “body does not invert” (d) “cannot absorb landing impact A plurality of target unachieved states occur at the same time. Specifically, the foot does not follow the floor shape and the body cannot be inverted, and the robot moves unexpectedly. In order to prevent such a problem, in the conventional robot control, the gain is lowered to lower the controllability.

本実施の形態にかかるロボット制御では、以下のように制御することによって、制御性を低下させずに、複数の目標姿勢を達成している。以下に、図3を参照して、本実施の形態にかかるロボット制御について説明する。図3は、合成部における制御を示すブロック線図である。   In the robot control according to the present embodiment, a plurality of target postures are achieved without lowering controllability by performing the following control. The robot control according to the present embodiment will be described below with reference to FIG. FIG. 3 is a block diagram showing control in the synthesis unit.

図3に示すように、合成部138には、制御量に対するリミット値を設定するリミット値設定部136が設けられている。さらに、合成部138には、リミット値設定部136で設定されているリミット値と、制御量とを比較する比較部137が設けられている。制御量がリミット値を越えている場合、比較部137は制御量をリミット値を越えない値に変更する。具体的には、比較部137は、制御量をリミット値と同じ値にして出力する。なお、制御量がリミット値を越えていない場合、比較部137は、制御量をそのまま出力する。これにより、制御量がリミット値を越えなくなる。なお、ここでは制御量1、及び制御量nのみに対してリミット値を設定しているが、その他の制御量に対してリミット値を設定することも可能である。さらには、1つ以上の制御量に対して、リミット値が設定されていればよい。   As shown in FIG. 3, the combining unit 138 is provided with a limit value setting unit 136 that sets a limit value for the control amount. Further, the combining unit 138 is provided with a comparison unit 137 that compares the limit value set by the limit value setting unit 136 with the control amount. When the control amount exceeds the limit value, the comparison unit 137 changes the control amount to a value that does not exceed the limit value. Specifically, the comparison unit 137 outputs the control amount with the same value as the limit value. If the control amount does not exceed the limit value, the comparison unit 137 outputs the control amount as it is. As a result, the control amount does not exceed the limit value. Here, limit values are set only for the control amount 1 and the control amount n, but it is also possible to set limit values for other control amounts. Furthermore, the limit value should just be set with respect to one or more control amount.

そして、これらの制御量は、変換部139に入力される。ここで、制御量算出部135でリミット値を越える制御量が算出された場合でも、その制御量がリミット値を越えない値となって変換部139に入力される。変換部139は、制御量を異なる制御量に変換する。例えば、変換部139は、目標関節角度をその関節の目標トルクに変換する。具体的には、各変換部139には、最適化されたゲインが設定されている。そして、このゲインを制御量にかけることによって、変換制御量を算出する。なお、変換部139によって変換された制御量を変換制御量とする。ここで、リミット値を越えた制御量が算出されていても、その制御量は、比較部137でリミット値を越えない値に変更される。よって、変換部139では、リミット値を越えない値が変換制御量に変換される。   These control amounts are input to the conversion unit 139. Here, even when the control amount calculation unit 135 calculates a control amount that exceeds the limit value, the control amount is input to the conversion unit 139 as a value that does not exceed the limit value. The conversion unit 139 converts the control amount into a different control amount. For example, the conversion unit 139 converts the target joint angle into the target torque of the joint. Specifically, an optimized gain is set in each conversion unit 139. Then, the conversion control amount is calculated by multiplying the gain by the control amount. The control amount converted by the conversion unit 139 is set as a conversion control amount. Here, even if the control amount exceeding the limit value is calculated, the control amount is changed by the comparison unit 137 to a value that does not exceed the limit value. Therefore, the conversion unit 139 converts a value that does not exceed the limit value into a conversion control amount.

合成部138は、上記の変換制御量を合成処理する。具体的には、変換制御量1〜nを足し合わせて、駆動量を算出する。この駆動量は、合成部138からモータ141に出力される。よって、モータ141は、駆動量に応じて駆動される。例えば、変換制御量が目標トルクの場合、合成部138は、全ての変換制御量1〜nの和を取り、最終的な目標トルクとする。これにより、モータ141が目標トルクで駆動される。このように、駆動量は、リミット値を越えない制御量に基づいて算出されている。   The synthesizer 138 synthesizes the conversion control amount. Specifically, the drive amount is calculated by adding the conversion control amounts 1 to n. This drive amount is output from the synthesis unit 138 to the motor 141. Therefore, the motor 141 is driven according to the drive amount. For example, when the conversion control amount is the target torque, the synthesizing unit 138 takes the sum of all the conversion control amounts 1 to n to obtain the final target torque. Thereby, the motor 141 is driven with the target torque. Thus, the drive amount is calculated based on the control amount that does not exceed the limit value.

このように、制御量算出部群145から出力される制御量の少なくも1つ以上にリミット値を設定する。そして、制御量がリミット値を越える場合、その制御量をリミット値とする。よって、リミット値を越えない値に基づいて駆動量が算出される。これにより、各目標姿勢の相互作用による相殺を防ぐことができる。よって、各制御量に対するゲインを上げることができ、制御性の低下を防ぐことができる。すなわち、個々の制御量算出部135を最適に設計することができるため、制御性よく、複雑な制御を行うことができる。さらに、コントローラの設計を容易にすることができる。   As described above, the limit value is set to at least one of the control amounts output from the control amount calculation unit group 145. When the control amount exceeds the limit value, the control amount is set as the limit value. Therefore, the drive amount is calculated based on a value that does not exceed the limit value. Thereby, cancellation by the interaction of each target posture can be prevented. Therefore, the gain with respect to each control amount can be increased, and a decrease in controllability can be prevented. That is, since each control amount calculation unit 135 can be optimally designed, complex control can be performed with good controllability. Furthermore, the controller can be easily designed.

なお、上記の説明では、制御量に対してリミット値を設定したが、変換制御量に対してリミット値を設定してもよい。例えば、制御量を目標関節角度とし、変換制御量を目標トルクとした場合、目標関節角度である制御量だけでなく、目標トルクである変換制御量に対してもリミット値を設定することができる。さらには、1つの関節に対する直接的な制御量のみならず、複数の関節に対する全体制御量(グローバルFB量)に対してもリミット値を設定することができる。全体制御量としては、例えば、ロボット1の腰の位置、重心の位置、胴体傾斜角、脚長などがある。このような、複数の関節の駆動量を算出するために用いられる全体制御量に対してリミット値を設定してもよい。なお、モータ141によって駆動する関節は脚部10の関節に限られるものではなく、その他の部分の関節であってもよい。すなわち、歩行動作以外の動作を制御してもよい。このように、モータによって関節を駆動する関節駆動型ロボットに対して複雑な制御を行う場合でもあっても、制御性を高くすることができる。   In the above description, the limit value is set for the control amount, but the limit value may be set for the conversion control amount. For example, when the control amount is the target joint angle and the conversion control amount is the target torque, the limit value can be set not only for the control amount that is the target joint angle but also for the conversion control amount that is the target torque. . Furthermore, the limit value can be set not only for the direct control amount for one joint, but also for the overall control amount (global FB amount) for a plurality of joints. Examples of the total control amount include the waist position, the center of gravity position, the trunk inclination angle, and the leg length of the robot 1. A limit value may be set for the overall control amount used to calculate the drive amounts of the plurality of joints. The joint driven by the motor 141 is not limited to the joint of the leg 10 and may be a joint of another part. That is, operations other than walking motions may be controlled. Thus, controllability can be enhanced even when complex control is performed on a joint-driven robot that drives a joint by a motor.

発明の実施の形態2.
本実施の形態にかかるロボット制御について図4を用いて説明する。図4は、本実施の形態にかかるロボットの演算処理部の構成を示すブロック線図である。なお、本実施の形態にかかるロボット1の全体構成、及び演算処理部130の基本的構成は実施の形態1と同様であるため、説明を省略する。すなわち、基本的な歩行動作は、実施の形態1にかかるロボット1と同様である。
Embodiment 2 of the Invention
Robot control according to the present embodiment will be described with reference to FIG. FIG. 4 is a block diagram showing the configuration of the arithmetic processing unit of the robot according to the present embodiment. Note that the overall configuration of the robot 1 according to the present embodiment and the basic configuration of the arithmetic processing unit 130 are the same as those in the first embodiment, and thus description thereof is omitted. That is, the basic walking motion is the same as that of the robot 1 according to the first embodiment.

本実施の形態では、1つの関節に対して、コントローラ131が2つ設けられている。図4に示すように、2つのコントローラのうちの一方を第1のコントローラ131aとし、他方を第2のコントローラ131bとする。第1のコントローラ131a、及び第2のコントローラ131bには、実施の形態1と同様に、合成部138、及び複数の制御量算出部135が設けられている。第1のコントローラ131aに設けられている合成部138を第1の合成部138aとし、第2のコントローラ131bに設けられている合成部138を第2の合成部138bとする。また、第1のコントローラ131aに設けられている制御量算出部135を第1の制御量算出部135aとし、第2のコントローラ131bに設けられている制御量算出部135を第2の制御量算出部135bとする。   In the present embodiment, two controllers 131 are provided for one joint. As shown in FIG. 4, one of the two controllers is a first controller 131a, and the other is a second controller 131b. As in the first embodiment, the first controller 131a and the second controller 131b are provided with a combining unit 138 and a plurality of control amount calculation units 135. The combining unit 138 provided in the first controller 131a is referred to as a first combining unit 138a, and the combining unit 138 provided in the second controller 131b is referred to as a second combining unit 138b. The control amount calculation unit 135 provided in the first controller 131a is referred to as a first control amount calculation unit 135a, and the control amount calculation unit 135 provided in the second controller 131b is used as a second control amount calculation. The portion 135b.

第1の合成部138a、及び第2の合成部138bにはそれぞれ制御量に対するリミット値が設定されている。リミット値は、1つ以上の制御量に対して設定されている。第1のコントローラ131a、及び第2のコントローラ131bの構成は、実施の形態1で示したコントローラ131と同様であるため、詳細な説明を省略する。   Limit values for control amounts are set in the first combining unit 138a and the second combining unit 138b, respectively. The limit value is set for one or more control amounts. The configuration of the first controller 131a and the second controller 131b is the same as that of the controller 131 described in Embodiment 1, and thus detailed description thereof is omitted.

第1のコントローラ131aと第2のコントローラ131bとは、異なる目標運動を実現するために設計されている。すなわち、第1のコントローラ131aと第2のコントローラ131bには、同時に成立しない目標運度を実行するための制御プログラムが記憶されている。目標運動の例としては、A「予め決められた速度、歩幅で決められた方向に歩行する運動」、B「現在の状態に応じて(予め決められた動きに制限されることなく)次の着地位置を決め、その着地位置に着地する運動」、C「現在の状態に応じて、歩行を中断し、危険回避運動を実行する運動」等が挙げられる。   The first controller 131a and the second controller 131b are designed to realize different target motions. That is, the first controller 131a and the second controller 131b store a control program for executing a target fate that is not established at the same time. Examples of target exercises are: A “Exercise to walk in a direction determined by a predetermined speed and stride”, B “Next movement according to the current state (without being limited to a predetermined motion) Examples include “exercise that determines a landing position and landing at the landing position”, “C” exercise that interrupts walking and executes danger avoidance exercise according to the current state ”, and the like.

上記のA、B、Cの目標運動は、それぞれ相反するものであり、同時には実現されない。例えば、第1のコントローラ131aが、上記Aの目標運動が実行し、第2のコントローラ131bが、上記Cの目標運動を実行するとする。第1のコントローラ131aで実行される目標運動Aと第2のコントローラ131bで実行される目標運動Cとは相反するものであり、同時に実現することができない。具体的には、第2のコントローラ131bでは、現在の状態に応じて、歩行を中断し、危険回避運動を実行する運動を実行している。目標運動Cの危険回避運動では、第1のコントローラ131aの目標運動Aによる歩行の着地位置と異なる位置に着地する。すなわち、第2のコントローラ131bでは、予め決められた動きに制限されることなく危険回避運動をするため、センサなどで計測された現在の状態量に応じて、次の着地位置が決定される。よって、目標運動Cでは、目標運動Aの「予め決められた速度、歩幅で決められた方向に歩行する運動」での着地位置とは異なる位置に着地する。この場合、第1のコントローラ131a、及び第2のコントローラ131bで算出される駆動量が異なる値となるはずである。   The above target movements A, B, and C are contradictory and are not realized at the same time. For example, it is assumed that the first controller 131a executes the target motion A and the second controller 131b executes the target motion C. The target motion A executed by the first controller 131a and the target motion C executed by the second controller 131b are contradictory and cannot be realized at the same time. Specifically, the second controller 131b performs an exercise of interrupting walking and executing a danger avoidance exercise according to the current state. In the danger avoidance exercise of the target motion C, the landing is made at a position different from the walking landing position by the target motion A of the first controller 131a. That is, in the second controller 131b, the next landing position is determined according to the current state quantity measured by the sensor or the like in order to perform the danger avoidance exercise without being limited to the predetermined movement. Therefore, the target motion C lands at a position different from the landing position of the target motion A in “a motion that walks in a direction determined by a predetermined speed and stride”. In this case, the driving amounts calculated by the first controller 131a and the second controller 131b should be different values.

そこで、本実施の形態では、演算処理部130に第1のコントローラ131aと第2のコントローラ131bとを切り替える切替部148が設けられている。この切替部148は、に第1のコントローラ131aと第2のコントローラ131bとの目標運動を切り替える。すなわち、第1のコントローラ131aからの駆動量を第1の駆動量とし、第2のコントローラ131bからの駆動量を第2の駆動量とすると、切替部148は、第1の駆動量、及び第2の駆動量の一方の駆動量のみをモータ141に出力する。   Therefore, in the present embodiment, the arithmetic processing unit 130 is provided with a switching unit 148 that switches between the first controller 131a and the second controller 131b. The switching unit 148 switches the target motion between the first controller 131a and the second controller 131b. That is, assuming that the driving amount from the first controller 131a is the first driving amount and the driving amount from the second controller 131b is the second driving amount, the switching unit 148 has the first driving amount and the first driving amount. Only one of the two driving amounts is output to the motor 141.

ここで、切替部148は、制御量がリミット値を越えた場合に、第1のコントローラ131aと、第2のコントローラ131bとを切り替えている。すなわち、切替部148による制御の切り替えは、比較部137からの切替信号147に基づいて行なわれる。ここで、第1のコントローラ131aに設けられている合成部を第1の合成部138aとし、第2のコントローラ131bに設けられている合成部を第2の合成部138bとする。さらに、第1の合成部138aに設けられている比較部137を第1の比較部137aとし、第2の合成部138bに設けられている比較部137を第2の比較部137bとする。   Here, the switching unit 148 switches between the first controller 131a and the second controller 131b when the control amount exceeds the limit value. That is, the switching of the control by the switching unit 148 is performed based on the switching signal 147 from the comparison unit 137. Here, the synthesis unit provided in the first controller 131a is referred to as a first synthesis unit 138a, and the synthesis unit provided in the second controller 131b is referred to as a second synthesis unit 138b. Further, the comparison unit 137 provided in the first combination unit 138a is referred to as a first comparison unit 137a, and the comparison unit 137 provided in the second combination unit 138b is referred to as a second comparison unit 137b.

第1の比較部137aは、制御量と、リミット値設定部に設定されているリミット値とを比較する。そして、第1の比較部137aは、制御量がリミット値を越えた場合に、切替信号147aを出力する。切替部148は、切替信号147aが入力されると、第1のコントローラ131aから第2のコントローラ131bに切り替える。すなわち、モータ141に出力する駆動量を第1の駆動量から第2の駆動量に切り替える。   The first comparison unit 137a compares the control amount with the limit value set in the limit value setting unit. Then, the first comparison unit 137a outputs a switching signal 147a when the control amount exceeds the limit value. When the switching signal 147a is input, the switching unit 148 switches from the first controller 131a to the second controller 131b. That is, the drive amount output to the motor 141 is switched from the first drive amount to the second drive amount.

第2の比較部137bは、制御量と、リミット値設定部に設定されているリミット値とを比較する。そして、第2の比較部137bは、制御量がリミット値を越えた場合に、切替信号147bを出力する。切替部148は、切替信号147bが入力されると、第2のコントローラ131bから第1のコントローラ131aに切り替える。すなわち、モータ141に出力する駆動量を第2の駆動量から第1の駆動量に切り替える。   The second comparison unit 137b compares the control amount with the limit value set in the limit value setting unit. Then, the second comparison unit 137b outputs a switching signal 147b when the control amount exceeds the limit value. When the switching signal 147b is input, the switching unit 148 switches from the second controller 131b to the first controller 131a. That is, the drive amount output to the motor 141 is switched from the second drive amount to the first drive amount.

このように、切替部148は切替信号147に応じて、第1の駆動量と第2の駆動量とを切り替える。すなわち、切替部148は、切替信号147aが入力されると、第1の駆動量から第2の駆動量に切り替えて出力し、切替信号147bが入力されると、第2の駆動量から第1の駆動量に切り替えて出力する。換言すると、第1のコントローラ131aにおいて制御量がリミット値を越えた場合、切替部148が第1の駆動量をモータに出力する。一方、第2のコントローラ131bにおいて制御量がリミット値を越えた場合、切替部148が第2の駆動量をモータに出力する。従って、モータ141は、リミット値を越えていないコントローラ131からの駆動量に応じて駆動する。   As described above, the switching unit 148 switches between the first drive amount and the second drive amount in accordance with the switch signal 147. In other words, when the switching signal 147a is input, the switching unit 148 switches and outputs the first driving amount to the second driving amount, and when the switching signal 147b is input, the switching unit 148 outputs the first driving amount from the second driving amount. The drive amount is switched to and output. In other words, when the control amount exceeds the limit value in the first controller 131a, the switching unit 148 outputs the first drive amount to the motor. On the other hand, when the control amount exceeds the limit value in the second controller 131b, the switching unit 148 outputs the second drive amount to the motor. Accordingly, the motor 141 is driven according to the drive amount from the controller 131 that does not exceed the limit value.

ここで、第1のコントローラ131aが目標運動Aを実行し、第2のコントローラ131bが目標運動Cを実行する場合について説明する。この場合、演算処理部130は、通常、運動目標Aを実行する。すなわち、第1のコントローラ131aからの駆動量を用いて、予め決められた歩行運動を実行する。従って、通常時では、切替部148が、第1の駆動量をモータ141に出力する。そして、外乱が加わらない限り、制御量が設定されているリミット値を越えないため、そのまま、第1の駆動量が出力され続ける。ここで、目標運動Aを実行する第1のコントローラ131aでは、(1)〜(4)の目標姿勢を有している。すなわち、(1)「予め定められている各関節目標角度に追従する」(2)「足平を床面に倣わせる」(3)「胴体を倒立させる」(4)「着地衝撃を吸収する」の目標姿勢を達成するように制御量を算出している。従って、目標運動Aを実行中では、予め定められている各関節目標角度に追従する歩行動作を行なうことができる。また、歩行動作中は、支持脚の足平が床面に倣い、胴体が倒立した状態で歩行動作を行なっている。そして、着地時には、着地衝撃を吸収している。   Here, a case where the first controller 131a executes the target motion A and the second controller 131b executes the target motion C will be described. In this case, the arithmetic processing unit 130 normally executes the exercise target A. That is, a predetermined walking motion is executed using the drive amount from the first controller 131a. Accordingly, in a normal time, the switching unit 148 outputs the first drive amount to the motor 141. As long as no disturbance is applied, the control amount does not exceed the set limit value, so the first drive amount continues to be output as it is. Here, the first controller 131a that executes the target motion A has the target postures (1) to (4). That is, (1) “follow each predetermined joint target angle” (2) “follow the foot on the floor” (3) “invert the trunk” (4) “absorb the landing impact The control amount is calculated so as to achieve the target posture of “Yes”. Therefore, during the execution of the target motion A, it is possible to perform a walking motion that follows each predetermined joint target angle. Further, during the walking motion, the foot of the support leg follows the floor surface, and the walking motion is performed with the trunk upside down. And at the time of landing, the landing impact is absorbed.

しかしながら、目標運動Aの実行中に、例えば、外乱が加わった場合、制御量が通常時から大きく異なる値となる。すなわち、ロボット1が想到外の状態となるため、状態量が大きく異なっている。よって、目標運動Aを実行するためには、リミット値を越える制御量が算出されてしまう。しかしながら、複数の制御量1〜nのうち、特定の制御量がリミット値を越えてしまう状況において、第1の合成部138aで合成処理を行うと、目標姿勢を全て満たすことができなくなってしまう。すなわち、制御量がリミット値を越えてしまうと、比較部137aは制御量をリミット値に変更する。従って、制御量算出部135で実際に算出された制御量ではなく、リミット値内の制御量に基づいて駆動量が求められる。この場合、リミット値を越えた制御量に対応する目標姿勢が達成できなくなってしまう。例えば、足平が床面Fに倣っているが、胴体は倒立できない状態になってしまう。これでは、全ての目標姿勢を達成しつつ、「予め決められた速度、歩幅で決められた方向に歩行する」という目標運動Aを実行することができなくなってしまう。   However, for example, when a disturbance is applied during the execution of the target motion A, the control amount becomes a value greatly different from the normal time. That is, since the robot 1 is in an unexpected state, the state quantities are greatly different. Therefore, in order to execute the target motion A, a control amount exceeding the limit value is calculated. However, in a situation where a specific control amount exceeds a limit value among a plurality of control amounts 1 to n, if the combining process is performed by the first combining unit 138a, it becomes impossible to satisfy all target postures. . That is, when the control amount exceeds the limit value, the comparison unit 137a changes the control amount to the limit value. Accordingly, the drive amount is obtained based on the control amount within the limit value, not the control amount actually calculated by the control amount calculation unit 135. In this case, the target posture corresponding to the control amount exceeding the limit value cannot be achieved. For example, the foot follows the floor surface F, but the torso cannot be inverted. This makes it impossible to execute the target motion A “walking in a direction determined by a predetermined speed and stride” while achieving all target postures.

そこで、本実施の形態では、上述のように、比較部137からの切替信号147によってコントローラ131を切り替えている。すなわち、合成部138に設けられている比較部137で制御量がリミット値を越えたと判定された場合、他のコントローラに切り替える切替信号147を出力する。これにより、制御量がリミット値を越えた比較部137を有するコントローラ131の駆動量がモータ141に出力されなくなり、他のコントローラからの駆動量がモータ141に出力される。   Therefore, in the present embodiment, the controller 131 is switched by the switching signal 147 from the comparison unit 137 as described above. That is, when the comparison unit 137 provided in the synthesis unit 138 determines that the control amount exceeds the limit value, the switching signal 147 for switching to another controller is output. As a result, the drive amount of the controller 131 having the comparison unit 137 whose control amount exceeds the limit value is not output to the motor 141, and the drive amount from other controllers is output to the motor 141.

予め決められた速度、歩幅で決められた方向に歩行する」という目標運動Aの実行中に、外乱が生じた場合、危険回避運動を取る必要がある。ここで、外乱が生じると制御量がリミット値を越えるため、第1のコントローラ131aから第2のコントローラ131bによる制御に切り替えられる。換言すると、比較部137aにおける比較結果で、制御量がリミット値を越えていた場合、現在の歩行動作を続行することができずに、危険回避運動を取る必要があると判定される。そして、第1のコントローラ131aによる目標運動Aから第2のコントローラ131bによる目標運動Cに切り替える。   If a disturbance occurs during the execution of the target motion A “walking in a direction determined by a predetermined speed and stride”, it is necessary to take a danger avoidance exercise. Here, since the control amount exceeds the limit value when a disturbance occurs, the control is switched from the first controller 131a to the control by the second controller 131b. In other words, when the control amount exceeds the limit value in the comparison result in the comparison unit 137a, it is determined that the current walking motion cannot be continued and it is necessary to take a danger avoidance exercise. Then, the target motion A by the first controller 131a is switched to the target motion C by the second controller 131b.

このように、本実施の形態では、制御量とリミット値との比較結果によって、複数のコントローラを切り替えている。これにより、複数のコントローラ131を切り替えるという複雑な判断を容易に行うことができる。すなわち、制御量がリミット値を越えた場合は、そのコントローラの全目標姿勢を達成できないと判定される。従って、他のコントローラによる制御に切り替えて、切り替えられたコントローラからの駆動量によってモータ141を駆動する。これにより、例えば、上記のように目標運動Aから目標運動Cの実行に切り替えることができる。また、反対に第2のコントローラ131bに設定されたリミット値との比較結果によって、危険回避運動が必要ないと判定して、第2のコントローラ131bから第1のコントローラ131aによる制御に切り替えてもよい。これにより、通常の歩行動作を実行することができる。   Thus, in the present embodiment, a plurality of controllers are switched according to the comparison result between the control amount and the limit value. Thereby, the complicated judgment of switching the plurality of controllers 131 can be easily performed. That is, when the control amount exceeds the limit value, it is determined that all the target postures of the controller cannot be achieved. Therefore, the control is switched to control by another controller, and the motor 141 is driven by the drive amount from the switched controller. Thereby, for example, the target motion A can be switched to the execution of the target motion C as described above. Conversely, it may be determined from the comparison result with the limit value set in the second controller 131b that the danger avoidance exercise is not necessary, and the control may be switched from the second controller 131b to the control by the first controller 131a. . Thereby, a normal walking motion can be executed.

このようにすることによって、コントローラの切替判断を適切に行なうことができる。さらに、合理的にコントローラの切替を実現することができる。制御量算出部135を増やした場合でも、容易に切替を行うことができる。また、切替判断となる状態量の選定や、切替アルゴリズムの設計、検証を簡素化することができるため、コントローラの設計を簡単に行なうことができる。よって、複雑な制御を制御性よく行うことができる。なお、上記の説明では、2つのコントローラを切り替える例について説明したが、3つ以上のコントローラを切り替えるように制御してもよい。これにより、現在の状態に応じて適切な目標運動を実行することができる。なお、モータ141によって駆動する関節は脚部10の関節に限られるものではなく、その他の部分の関節であってもよい。このように、モータによって関節を駆動する関節駆動型ロボットに対して複雑な制御を行う場合でもあっても、制御性を高くすることができる。   By doing so, it is possible to appropriately determine whether to switch the controller. Furthermore, it is possible to rationally switch the controller. Even when the control amount calculation unit 135 is increased, switching can be easily performed. In addition, since the selection of the state quantity for determining switching and the design and verification of the switching algorithm can be simplified, the controller can be designed easily. Therefore, complicated control can be performed with good controllability. In the above description, an example in which two controllers are switched has been described, but control may be performed so that three or more controllers are switched. Thereby, a suitable target exercise | movement can be performed according to the present state. The joint driven by the motor 141 is not limited to the joint of the leg 10 and may be a joint of another part. Thus, controllability can be enhanced even when complex control is performed on a joint-driven robot that drives a joint by a motor.

本発明に係るロボットの全体を概略的に表した全体概略図である。1 is an overall schematic diagram schematically showing an entire robot according to the present invention. 本発明の実施の形態1に係るロボットに設けられた演算処理部を示すブロック線図である。It is a block diagram which shows the arithmetic processing part provided in the robot which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係るロボットに設けられた合成部を示すブロック線図である。It is a block diagram which shows the synthetic | combination part provided in the robot which concerns on Embodiment 1 of this invention. 本発明の実施の形態2に係るロボットに設けられた合成部を示すブロック線図である。It is a block diagram which shows the synthetic | combination part provided in the robot which concerns on Embodiment 2 of this invention.

符号の説明Explanation of symbols

1 ロボット、2 頭部、3 体幹、4 腰部、5 右腕、6左腕、
10 脚部、20 右脚、21 右股関節、22 右上腿、23 右膝関節、
24 右下腿、25 右足首関節、26 右足平、
30 左脚30、31 左股関節、32 左上腿、33 左膝関節、34 左下腿、
35 左足首関節、36 左足平、
130 演算処理部、131 コントローラ、135 制御量算出部、
136 リミット値設定部、137 比較部、138 合成部、139 変換部、
141 モータ、145 制御量算出部群、147 切替信号、148 切替部、
1 robot, 2 heads, 3 trunks, 4 hips, 5 right arms, 6 left arms,
10 legs, 20 right leg, 21 right hip joint, 22 upper right thigh, 23 right knee joint,
24 right lower leg, 25 right ankle joint, 26 right foot,
30 Left leg 30, 31 Left hip joint, 32 Left upper leg, 33 Left knee joint, 34 Left lower leg,
35 left ankle joint, 36 left foot,
130 arithmetic processing units, 131 controller, 135 control amount calculation unit,
136 limit value setting unit, 137 comparison unit, 138 synthesis unit, 139 conversion unit,
141 motor, 145 control amount calculation unit group, 147 switching signal, 148 switching unit,

Claims (6)

入力される駆動量に応じて駆動する関節を有する関節駆動型ロボットであって、
前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を算出するための一つの制御量を、前記関節駆動型ロボットの全体姿勢及び各関節目標角度を示す前記関節駆動型ロボットの目標姿勢に応じて各々算出する複数の制御量算出部を有する制御量算出部群と、
前記制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算し、前記関節の駆動量として出力する合成部と、
前記制御量算出部群の少なくとも一つの制御量算出部で算出される前記制御量に対して設定された、制御性を低下させずに複数の目標姿勢を達成させるためのリミット値を記憶するリミット値設定部と、
前記リミット値と前記制御量とを比較する比較部と、を備え、
前記比較部において前記制御量が前記リミット値を超えた場合に、前記制御量を前記リミット値と同じ値にして出力し、前記制御量が前記リミット値を超えていない場合、前記制御量をそのまま出力する関節駆動型ロボット。
A joint-driven robot having a joint that is driven according to an input drive amount,
One control amount for calculating the drive amount for each of the plurality of target postures of the joint-driven robot is the total amount of the joint-driven robot and the joint-driven robot indicating each joint target angle . A control amount calculation unit group having a plurality of control amount calculation units each calculating according to the target posture;
A synthesis unit that multiplies the control amount calculated by each control amount calculation unit of the control amount calculation unit group after multiplying the gain, and outputs the resultant as a drive amount of the joint;
Limit for storing limit values set for the control amount calculated by at least one control amount calculation unit of the control amount calculation unit group to achieve a plurality of target postures without degrading controllability A value setting section;
A comparison unit for comparing the limit value and the control amount,
When the control amount exceeds the limit value in the comparison unit, the control amount is output with the same value as the limit value. When the control amount does not exceed the limit value, the control amount is left as it is. A joint-driven robot that outputs.
コントローラから出力される駆動量に応じて駆動する関節を有する関節駆動型ロボットであって、
前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を、前記関節駆動型ロボットの全体姿勢及び各関節目標角度を示す前記関節駆動型ロボットの目標姿勢に応じて各々算出する制御量算出部が複数設けられた第1の制御量算出部群を有し、前記第1の制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算して、前記関節を駆動する第1の駆動量を出力する第1のコントローラと、
前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を前記関節駆動型ロボットの目標姿勢に応じて各々算出する制御量算出部が複数設けられた第2の制御量算出部群を有し、前記第2の制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算し、前記関節を駆動する第2の駆動量を出力する第2のコントローラと、
前記第1のコントローラからの第1の駆動量と前記第2のコントローラからの第2の駆動量とを切替え、前記第1の駆動量及び前記第2の駆動量のうちの一方の駆動量を出力する切替部と、
前記切替部から出力された前記第1の駆動量及び前記第2の駆動量の一方の駆動量に応じて前記関節を駆動する関節駆動部と、
前記第1の制御量算出部群の少なくとも一つの制御量算出部で算出される前記制御量に対して設定された、制御性を低下させずに複数の目標姿勢を達成させるためのリミット値を記憶するリミット値設定部と、
前記制御量と前記リミット値とを比較する比較部と、を備え、
前記第1のコントローラにおいて、前記制御量が前記リミット値を越えた場合に、前記切替部が前記第2の駆動量を前記関節駆動部に出力し、前記第2のコントローラにおいて前記制御量が前記リミット値を超えた場合に、前記切替部が前記第1の駆動量を前記関節駆動部に出力する関節駆動型ロボット。
A joint-driven robot having a joint that is driven according to a drive amount output from a controller,
One control amount for obtaining the drive amount for each of the plurality of target postures of the joint-driven robot is the target of the joint-driven robot indicating the overall posture of the joint-driven robot and each joint target angle. A control amount calculated by each control amount calculation unit of the first control amount calculation unit group, which includes a first control amount calculation unit group provided with a plurality of control amount calculation units that calculate each according to the posture. A first controller that outputs a first drive amount for driving the joint;
A plurality of control amount calculation units are provided for calculating one control amount for each of the plurality of target postures of the joint-driven robot according to the target posture of the joint-driven robot. A second control amount calculation unit group, a control amount calculated by each control amount calculation unit of the second control amount calculation unit group is multiplied by a gain and then added to drive the joint; A second controller that outputs a driving amount of
The first drive amount from the first controller and the second drive amount from the second controller are switched, and one drive amount of the first drive amount and the second drive amount is set. A switching unit for outputting,
A joint drive unit that drives the joint according to one drive amount of the first drive amount and the second drive amount output from the switching unit;
Limit values for achieving a plurality of target postures without degrading controllability set for the control amount calculated by at least one control amount calculation unit of the first control amount calculation unit group Limit value setting section to memorize,
A comparison unit for comparing the control amount and the limit value,
In the first controller, when the control amount exceeds the limit value, the switching unit outputs the second drive amount to the joint drive unit, and in the second controller, the control amount is A joint drive robot in which the switching unit outputs the first drive amount to the joint drive unit when a limit value is exceeded.
前記第1のコントローラと前記第2のコントローラとが、相反する目標運動を実行することを特徴とする請求項2に記載の関節駆動型ロボット。   The joint-driven robot according to claim 2, wherein the first controller and the second controller execute opposite target motions. 入力される駆動量に応じて駆動する関節を有する関節駆動型ロボットの制御方法であって、
前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を、前記関節駆動型ロボットの全体姿勢及び各関節目標角度を示す前記関節駆動型ロボットの目標姿勢に応じて複数算出するステップと、
前記複数の制御量のうちの少なくとも一つの制御量に対する、制御性を低下させずに複数の目標姿勢を達成させるためのリミット値を前記制御量と比較して、前記制御量が前記リミット値を超えた場合に、前記制御量を前記リミット値と同じ値にして出力し、前記制御量が前記リミット値を超えていない場合、前記制御量をそのまま出力して、前記リミット値を超えない値を前記制御量にするステップと、
前記リミット値を超えない値を含む複数の制御量にゲインを乗算した後加算し、前記関節の駆動量として出力するステップと、
を備える関節駆動型ロボットの制御方法。
A method for controlling a joint-driven robot having a joint that is driven according to an input driving amount,
One control amount for obtaining the drive amount for each of the plurality of target postures of the joint-driven robot is the target of the joint-driven robot indicating the overall posture of the joint-driven robot and each joint target angle. A step of calculating a plurality according to the posture;
A limit value for achieving a plurality of target postures without lowering controllability for at least one control amount of the plurality of control amounts is compared with the control amount, and the control amount determines the limit value. When the control amount exceeds the limit value, the control amount is output with the same value as the limit value.When the control amount does not exceed the limit value, the control amount is output as it is, and a value that does not exceed the limit value is output. Making the control amount;
Multiplying a plurality of control amounts including a value not exceeding the limit value and then adding , and outputting as a drive amount of the joint;
A control method for a joint-driven robot.
関節駆動型ロボットに設けられ、コントローラから出力される駆動量に応じて駆動する関節と、
前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を、前記関節駆動型ロボットの全体姿勢及び各関節目標角度を示す前記関節駆動型ロボットの目標姿勢に応じて各々算出する制御量算出部が複数設けられた第1の制御量算出部群を有し、前記第1の制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算して、前記関節を駆動する第1の駆動量として出力する第1のコントローラと、
前記関節駆動型ロボットの複数の目標姿勢に対して夫々に前記駆動量を求めるための一つの制御量を各々算出する制御量算出部が複数設けられた第2の制御量算出部群を有し、前記第2の制御量算出部群の各々の制御量算出部で算出された制御量にゲインを乗算した後加算して、前記関節を駆動する第2の駆動量として出力する第2のコントローラと、を備え、前記第1の駆動量、又は前記第2の駆動量に応じて前記関節を駆動する関節駆動型ロボットの制御方法であって、
前記第1の制御量算出部群のうちの1つ以上の制御量算出部に対して設定された、制御性を低下させずに複数の目標姿勢を達成させるためのリミット値と、前記制御量とを比較するステップと
前記制御量が前記リミット値を超えた場合に、前記第1のコントローラから前記第2のコントローラに切り替えるステップと、
前記第2のコントローラによって出力された前記第2の駆動量によって前記関節を駆動するステップと、
を備える関節駆動型ロボットの制御方法。
A joint that is provided in the joint-driven robot and that is driven according to the drive amount output from the controller;
One control amount for obtaining the drive amount for each of the plurality of target postures of the joint-driven robot is the target of the joint-driven robot indicating the overall posture of the joint-driven robot and each joint target angle. A control amount calculated by each control amount calculation unit of the first control amount calculation unit group, which includes a first control amount calculation unit group provided with a plurality of control amount calculation units that calculate each according to the posture. A first controller that multiplies the gain by a gain, adds the gain, and outputs the first drive amount for driving the joint;
A second control amount calculation unit group provided with a plurality of control amount calculation units each for calculating one control amount for obtaining the drive amount for each of a plurality of target postures of the joint-driven robot; A second controller for multiplying the control amount calculated by each control amount calculation unit of the second control amount calculation unit group by a gain and then adding the result to output as a second drive amount for driving the joint A control method for a joint-driven robot that drives the joint according to the first drive amount or the second drive amount,
Limit values for achieving a plurality of target postures without degrading controllability, set for one or more control amount calculation units in the first control amount calculation unit group, and the control amount And when the control amount exceeds the limit value, switching from the first controller to the second controller;
Driving the joint by the second drive amount output by the second controller;
A control method for a joint-driven robot.
前記第1のコントローラと前記第2のコントローラとが、相反する目標運動を実行することを特徴とする請求項5に記載の関節駆動型ロボットの制御方法。   6. The joint-driven robot control method according to claim 5, wherein the first controller and the second controller execute opposite target motions.
JP2006316478A 2006-11-24 2006-11-24 Joint drive robot and control method thereof Expired - Fee Related JP4940905B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006316478A JP4940905B2 (en) 2006-11-24 2006-11-24 Joint drive robot and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006316478A JP4940905B2 (en) 2006-11-24 2006-11-24 Joint drive robot and control method thereof

Publications (2)

Publication Number Publication Date
JP2008126383A JP2008126383A (en) 2008-06-05
JP4940905B2 true JP4940905B2 (en) 2012-05-30

Family

ID=39552734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006316478A Expired - Fee Related JP4940905B2 (en) 2006-11-24 2006-11-24 Joint drive robot and control method thereof

Country Status (1)

Country Link
JP (1) JP4940905B2 (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0785203B2 (en) * 1983-09-30 1995-09-13 新明和工業株式会社 Coordinate conversion method, calculation method, coordinate conversion device and calculation device for controlling articulated robot
JP2783321B2 (en) * 1986-05-01 1998-08-06 工業技術院長 Control device for articulated robot
JP2759514B2 (en) * 1989-08-18 1998-05-28 株式会社日立製作所 Control method and device for multi-axis mechanism
JPH0671578A (en) * 1992-02-26 1994-03-15 Honda Motor Co Ltd Walking controller for leg type transfer robot
JP3186380B2 (en) * 1993-11-26 2001-07-11 株式会社日立製作所 Control device
DE69533729T2 (en) * 1995-02-03 2005-04-28 Deka Products Ltd. Partnership TRANSPORT VEHICLES AND METHOD
JP3981773B2 (en) * 1997-05-28 2007-09-26 株式会社安川電機 Robot controller
JP2000084878A (en) * 1998-09-17 2000-03-28 Yaskawa Electric Corp Control device for robot
JP2000298501A (en) * 1999-04-13 2000-10-24 Mitsubishi Heavy Ind Ltd Physical control system where plural driving systems exist
JP4408616B2 (en) * 2002-10-11 2010-02-03 ソニー株式会社 Motion control device and motion control method for legged mobile robot

Also Published As

Publication number Publication date
JP2008126383A (en) 2008-06-05

Similar Documents

Publication Publication Date Title
JP4513320B2 (en) Robot apparatus and motion control method of robot apparatus
KR100687461B1 (en) Robot And Knuckle Apparatus For Robot
KR101953113B1 (en) Robot and control method thereof
US8688273B2 (en) Walking control apparatus of robot and method of controlling the same
KR101985790B1 (en) Walking robot and control method thereof
JP4998506B2 (en) Robot control device, robot control method, and legged robot
KR101687629B1 (en) Humanoid robot and walking control method thereof
KR101687630B1 (en) Walking robot and method for controlling balancing the same
KR101549817B1 (en) robot walking control apparatus and method thereof
EP1486299A1 (en) Operation control device for leg-type mobile robot and operation control method, and robot device
US20110172824A1 (en) Walking robot and method of controlling the same
US20120158183A1 (en) Walking robot and control method thereof
KR20120069920A (en) Walking robot and control method thereof
KR20120024098A (en) Walking robot and control method thereof
US7801643B2 (en) Legged mobile robot and control program for the robot
KR101760883B1 (en) Robot and control method thereof
WO2003095155A1 (en) Method and device for controlling walking of legged robot
KR20200099664A (en) Walking control system and control method of robot
JP6407409B2 (en) Leg-type mechanism, walking robot, posture control method and program
JP4905041B2 (en) Robot controller
JP2009107033A (en) Legged mobile robot and its control method
JP4940905B2 (en) Joint drive robot and control method thereof
JP2001138273A (en) Leg type mobile and its controlling method
JP4770990B2 (en) Legged mobile robot and control method thereof
JP2008126382A (en) Biped mobile robot and its control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111214

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4940905

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees