JP2008126330A - Legged robot and control method thereof - Google Patents
Legged robot and control method thereof Download PDFInfo
- Publication number
- JP2008126330A JP2008126330A JP2006311483A JP2006311483A JP2008126330A JP 2008126330 A JP2008126330 A JP 2008126330A JP 2006311483 A JP2006311483 A JP 2006311483A JP 2006311483 A JP2006311483 A JP 2006311483A JP 2008126330 A JP2008126330 A JP 2008126330A
- Authority
- JP
- Japan
- Prior art keywords
- target torque
- limit value
- target
- ankle joint
- state quantity
- 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.)
- Pending
Links
Landscapes
- Manipulator (AREA)
Abstract
【課題】立脚状態を安定して維持することができる脚式ロボット、及びその制御方法を提供すること。
【解決手段】本発明の一態様にかかる脚式ロボットは、足首関節が設けられた脚部10と、脚部10に連結された胴体部50とを備える脚式ロボットであって、駆動信号に応じて足首関節を駆動するモータと、胴体部の状態量を計測するセンサ150と、センサ150からの出力に応じて、足首関節の目標トルクを算出する目標トルク算出部135と、目標トルクに対するリミット値が設定されたリミット値設定部136と、リミット値と目標トルクを比較して、目標トルクが前記リミット値を超えた場合にリミット値に応じた駆動信号をモータ142に出力する比較部137と、を備えるものである。
【選択図】図2A legged robot capable of stably maintaining a standing state and a control method thereof.
A legged robot according to an aspect of the present invention is a legged robot including a leg portion 10 provided with an ankle joint, and a trunk portion 50 connected to the leg portion 10, wherein the legged robot receives a drive signal. In response, a motor for driving the ankle joint, a sensor 150 for measuring the state quantity of the torso, a target torque calculation unit 135 for calculating the target torque of the ankle joint according to an output from the sensor 150, and a limit for the target torque A limit value setting unit 136 in which a value is set, and a comparison unit 137 that compares the limit value with a target torque and outputs a drive signal corresponding to the limit value to the motor 142 when the target torque exceeds the limit value; , Are provided.
[Selection] Figure 2
Description
本発明は、脚部を有する脚式ロボット、及びその制御方法に関するものである。 The present invention relates to a legged robot having legs 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)を位置させる。
特許文献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.
ところで、脚式移動ロボットでは、立脚時に外乱が生じると転倒してしまうという問題点がある。例えば、立脚状態において、床面Fが上下に動いたり、ロボット1が押されたりすると、転倒してしまう。特許文献1の脚式移動ロボットでは、センサによって検出した足平の絶対角度や傾斜角速度によって関節の駆動制御値を補正している。この制御では、センサからの出力に対してフィルタ処理を行っている。そして、フィルタ処理された出力に対して補正するための演算を行っている。そのため、この脚式移動ロボットでは、フィルタ処理や演算で遅れが生じてしまい、応答性を上げ難い。従って、従来の脚式移動ロボットでは、外乱に対応することができず、ロボットが転倒してしまう。このように、従来の制御では、立脚状態を安定して、維持することが困難であるという問題点があった。 By the way, the legged mobile robot has a problem in that it falls down when a disturbance occurs during standing. For example, when the floor surface F moves up and down or the robot 1 is pressed in the standing state, it falls down. In the legged mobile robot of Patent Document 1, the joint drive control value is corrected based on the absolute angle or the inclination angular velocity of the foot detected by the sensor. In this control, filter processing is performed on the output from the sensor. Then, a calculation for correcting the filtered output is performed. For this reason, in this legged mobile robot, a delay occurs in the filter processing and calculation, and it is difficult to increase the responsiveness. Therefore, the conventional legged mobile robot cannot cope with the disturbance, and the robot falls. Thus, the conventional control has a problem that it is difficult to stably maintain the standing state.
本発明は、このような問題を解決するためになされたものであり、立脚状態を安定して維持することができる脚式ロボット、及びその制御方法を提供することを目的とする。 The present invention has been made to solve such a problem, and an object of the present invention is to provide a legged robot capable of stably maintaining a standing state and a control method thereof.
本発明の第1の態様にかかる脚式ロボットは、足首関節が設けられた脚部と、前記脚部に連結された胴体部とを備える脚式ロボットであって、駆動信号に応じて前記足首関節を駆動する足首関節駆動部と、前記胴体部の状態量を計測するセンサと、前記センサからの出力に応じて、前記足首関節の目標トルクを算出する目標トルク算出部と、前記目標トルクに対するリミット値を設定し、前記設定されたリミット値を記憶するリミット値設定部と、前記リミット値と前記目標トルクを比較して、前記目標トルクが前記リミット値を超えた場合に前記リミット値に応じた駆動信号を前記足首関節駆動部に出力する比較部と、備えるものである。これにより、立脚状態を安定して維持することができる。
本発明の第2の態様にかかる脚式ロボットは、上記の脚式ロボットにおいて、前記胴体部の状態量が、前記胴体部の現在の状態を示す値であることを特徴とするものである。
A legged robot according to a first aspect of the present invention is a legged robot including a leg portion provided with an ankle joint and a torso portion connected to the leg portion, and the ankle according to a driving signal. An ankle joint drive unit that drives a joint; a sensor that measures a state quantity of the torso; a target torque calculation unit that calculates a target torque of the ankle joint according to an output from the sensor; and A limit value setting unit that sets a limit value, stores the set limit value, compares the limit value with the target torque, and responds to the limit value when the target torque exceeds the limit value And a comparison unit that outputs the drive signal to the ankle joint drive unit. Thereby, the standing state can be stably maintained.
The legged robot according to a second aspect of the present invention is characterized in that, in the legged robot, the state quantity of the body part is a value indicating a current state of the body part.
本発明の第3の態様にかかる脚式ロボットは、上記の脚式ロボットにおいて、前記目標トルク算出部が、前記センサによって計測された胴体部の状態量と、前記胴体部の目標状態量との差に基づいて目標トルクを算出するものである。これにより、外乱が生じた場合でも、速やかに制御することができる。 A legged robot according to a third aspect of the present invention is the legged robot according to the above-described legged robot, wherein the target torque calculation unit is configured to calculate a state quantity of the body part measured by the sensor and a target state quantity of the body part. The target torque is calculated based on the difference. As a result, even when a disturbance occurs, it can be quickly controlled.
本発明の第4の態様にかかる脚式ロボットは、上記の脚式ロボットにおいて、前記リミット値が可変であることを特徴とするものである。これにより、立脚状態をより安定して維持することができる。 A legged robot according to a fourth aspect of the present invention is characterized in that, in the legged robot, the limit value is variable. Thereby, a standing state can be maintained more stably.
本発明の第5の態様にかかる脚式ロボットの制御方法は、足首関節が設けられた脚部と、前記脚部に連結された胴体部とを備える脚式ロボットの制御方法であって、前記胴体部の状態量を計測するステップと、前記センサからの出力に応じて、前記足首関節の目標トルクを算出するステップと、前記リミット値と前記目標トルクを比較して、前記目標トルクが前記リミット値を超えた場合に前記リミット値に応じた駆動信号を出力するステップと、前記駆動信号に基づいて、前記足首関節を駆動するステップと、を備えるものである。これにより、立脚状態を安定して維持することができる。
本発明の第6の態様にかかる脚式ロボットの制御方法は、上記の脚式ロボットにおいて、前記胴体部の状態量が、前記胴体部の現在の状態を示す値であることを特徴とするものである。
A control method for a legged robot according to a fifth aspect of the present invention is a control method for a legged robot including a leg portion provided with an ankle joint and a torso portion connected to the leg portion. A step of measuring a state quantity of the torso, a step of calculating a target torque of the ankle joint according to an output from the sensor, and comparing the limit value with the target torque; A step of outputting a drive signal corresponding to the limit value when the value is exceeded, and a step of driving the ankle joint based on the drive signal. Thereby, the standing state can be stably maintained.
A control method for a legged robot according to a sixth aspect of the present invention is characterized in that, in the above legged robot, the state quantity of the body part is a value indicating the current state of the body part. It is.
本発明の第7の態様にかかる脚式ロボットの制御方法は、上記の制御方法において、前記目標トルクを算出するステップでは、前記計測された胴体部の状態量と、前記胴体部の目標状態量との差に基づいて目標トルクを算出するものである。これにより、外乱が生じた場合でも、速やかに制御することができる。 A control method for a legged robot according to a seventh aspect of the present invention is the above-described control method, wherein in the step of calculating the target torque, the measured state quantity of the body part and the target state quantity of the body part are calculated. The target torque is calculated based on the difference between the two. As a result, even when a disturbance occurs, it can be quickly controlled.
本発明の第8の態様にかかる脚式ロボットは、上記の脚式ロボットにおいて、前記リミット値が可変であることを特徴とするものである。これにより、立脚状態をより安定して維持することができる。 The legged robot according to an eighth aspect of the present invention is characterized in that, in the above legged robot, the limit value is variable. Thereby, a standing state can be maintained more stably.
本発明によれば、立脚状態を安定して維持することができる脚式ロボット、及びその制御方法を提供することが可能となる。 ADVANTAGE OF THE INVENTION According to this invention, it becomes possible to provide the legged robot which can maintain a standing state stably, and its control method.
発明の実施の形態1.
以下に、図1を参照しつつ本発明の実施の形態1にかかる脚式移動ロボット(以下、単にロボットという)について説明する。
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.
図1は、ロボット1を正面から見た様子を概略的に表す概略図であり、床面F上をロボット1が歩行する様子を表している。なお、図1においては、説明の便宜上、ロボット1が進行する向き(前後方向)をx軸、ロボット1が進行する方向について水平方向に直交する向き(左右方向)をy軸、移動体の移動する平面から鉛直方向に延びる向き(上下方向)をz軸とし、これらの3軸からなる座標系を用いて説明する。すなわち、図1中において、前記x軸は紙面の奥行方向、y軸は紙面に向かって左右方向、z軸は紙面中の上下方向を示す。 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 in which the robot 1 travels is perpendicular to the horizontal direction (left-right direction), the y-axis. 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 given using a coordinate system including 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 control 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 a control 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 control unit 130 includes a storage area that stores gait data for driving the leg 10 and moving the robot 1, an arithmetic processing unit that reads gait data stored in the storage area, and the leg 10. A motor driving unit for driving the motor. The configuration of the control 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.
また、演算処理部は、記憶領域に記憶された歩容データを読み出すとともに、読み出した歩容データによって特定されるロボット1の姿勢を実現するために必要な脚部10の関節角を算出する。そして、このように算出した関節角に基づく信号をモータ駆動部に送信する。 The arithmetic processing unit 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.
モータ駆動部は、演算処理部より送信された信号に基づいて、脚部を駆動するための各モータの駆動量を特定し、これらの駆動量でモータを駆動させるためのモータ駆動信号を各モータに送信する。これによって脚部10の各関節における駆動量が変更され、ロボット1の動きが制御される。 The motor drive unit specifies the drive amount of each motor for driving the leg portion based on the signal transmitted from the arithmetic processing unit, and the motor drive signal for driving the motor with these drive amounts is sent to each motor. Send to. As a result, the driving amount at each joint of the leg 10 is changed, and the movement of the robot 1 is controlled.
また、演算処理部は、読み出した歩容データに基づいてモータの駆動を行うように指令するほか、ロボット1に組み込まれたジャイロや加速度計やロータリーエンコーダなどセンサ(図示せず)からの信号を受けて、モータの駆動量を調整する。このように、センサにより検出したロボット1に作用する外力や、ロボット1の姿勢などに応じて脚部10の関節角を調整することで、ロボット1が安定した状態を維持することができる。 In addition to instructing the motor to be driven based on the read gait data, the arithmetic processing unit also receives signals from sensors (not shown) such as gyros, accelerometers, and rotary encoders incorporated in the robot 1. In response, the motor drive amount 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に展開する。そして、設定データや、センサ等からの出力に応じてプログラムを実行する。 Here, the control unit 130 will be described. The control unit 130 includes a CPU (Central Processing Unit) that is an arithmetic processing unit, a ROM (Read Only Memory) and RAM (Random Access Memory) that are storage areas, a communication interface, and the like, and performs various operations of the robot 1. Control. 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.
体幹3には、センサ150が設けられている。センサ150は、例えば、ジャイロセンサや、加速度センサである。そして、センサ150は、体幹3及び腰部4とからなる胴体部の傾斜角速度、傾斜角度を計測する。あるいは、センサ150は、胴体部の並進角速度を計測する。なお、センサ150の数は、1つに限られるものではなく、2つ以上であってもよい。例えば、センサ150は、傾斜角度、傾斜加速度を計測するジャイロセンサと、並進加速度を計測する加速度センサとを有していてよい。そして、制御部130はロボット1の立脚時において、センサ150からの出力に基づいてフィードバック制御を行っている。これにより、外乱等が生じた場合でも、ロボット1が転倒するのを防ぐことができる。 The trunk 3 is provided with a sensor 150. The sensor 150 is, for example, a gyro sensor or an acceleration sensor. The sensor 150 measures the inclination angular velocity and the inclination angle of the trunk part including the trunk 3 and the waist part 4. Alternatively, the sensor 150 measures the translational angular velocity of the body part. The number of sensors 150 is not limited to one and may be two or more. For example, the sensor 150 may include a gyro sensor that measures a tilt angle and a tilt acceleration, and an acceleration sensor that measures a translational acceleration. The control unit 130 performs feedback control based on the output from the sensor 150 when the robot 1 is standing. Thereby, even when a disturbance or the like occurs, the robot 1 can be prevented from falling.
次に、ロボット1において立脚状態を維持するための制御について図2、及び図3を用いて説明する。図2は、制御部130の構成を示すブロック図である。図3は、立脚時のロボット1の構成を模式的に示す側面図である。なお、図3では、説明の簡略化のため、脚部20と胴体部50のみを示している。ここで、胴体部50は、例えば、図1に示すロボット1の体幹3、及び腰部4を含んでいる。従って、胴体部50は脚部に連結されている。また、図3では、右脚20と左脚30とがそろった状態となっているため、右脚20と左脚30との各関節角度が一致している。 Next, control for maintaining the standing state in the robot 1 will be described with reference to FIGS. 2 and 3. FIG. 2 is a block diagram illustrating a configuration of the control unit 130. FIG. 3 is a side view schematically showing the configuration of the robot 1 when standing. In FIG. 3, only the leg portion 20 and the trunk portion 50 are shown for simplification of description. Here, the torso part 50 includes, for example, the trunk 3 and the waist part 4 of the robot 1 shown in FIG. Therefore, the trunk | drum 50 is connected with the leg part. In FIG. 3, since the right leg 20 and the left leg 30 are aligned, the joint angles of the right leg 20 and the left leg 30 are the same.
制御部130は、目標状態量設定部132と、アンプ133と、目標トルク算出部135と、リミット値設定部136と、比較部137と、を備えている。そして、制御部130は、モータ141、及びモータ142を駆動するための駆動信号を出力する。そして、制御部130は、立脚状態のロボット1が転倒しないように制御する。ここでは、傾斜している床面Fにロボット1が立脚た状態で静止している。制御部130は、傾斜した床面Fの傾きが変わる、あるいは床面Fが上下に動く、などの外乱が生じた場合でも、ロボット1が転倒しないようにフィードバック制御する。 The control unit 130 includes a target state quantity setting unit 132, an amplifier 133, a target torque calculation unit 135, a limit value setting unit 136, and a comparison unit 137. Then, the control unit 130 outputs a drive signal for driving the motor 141 and the motor 142. And the control part 130 is controlled so that the robot 1 in a standing state does not fall. Here, the robot 1 stands still on the inclined floor F. The control unit 130 performs feedback control so that the robot 1 does not fall down even when a disturbance such as the inclination of the inclined floor surface F changes or the floor surface F moves up and down occurs.
ここで、目標状態量設定部132には、ロボット1の目標状態量が設定されている。目標状態量には、胴体部50の目標状態量と、胴体部50以外の箇所の目標状態量が含まれる。胴体部50の目標状態量としては、例えば、胴体傾斜角度、胴体傾斜角速度、胴体並進加速度が含まれる。一方、胴体部50以外の目標状態量としては、足首関節以外の各関節の目標角度が含まれる。目標状態量設定部132には、例えば、脚部10の股関節や膝関節の目標関節角度が設定されている。なお、立脚状態における目標状態量は、予め定められていてもよく、所定のプログラムによって算出してもよい。 Here, in the target state quantity setting unit 132, the target state quantity of the robot 1 is set. The target state quantity includes the target state quantity of the body part 50 and the target state quantities of places other than the body part 50. Examples of the target state quantity of the body part 50 include a body inclination angle, a body inclination angular velocity, and a body translational acceleration. On the other hand, the target state quantity other than the body part 50 includes the target angle of each joint other than the ankle joint. In the target state quantity setting unit 132, for example, target joint angles of the hip joint and knee joint of the leg 10 are set. Note that the target state amount in the standing state may be determined in advance or may be calculated by a predetermined program.
胴体部以外の目標状態量は、アンプ133に入力される。ここでは、1つのアンプ133が示されているが、実際には、関節の自由度に応じて複数のアンプ133が設けられている。アンプ133は、足首関節以外を駆動するためのアンプである。すなわち、アンプ133は、膝関節や股関節等を駆動するためのアンプである。そして、上記のアンプ133は左脚30、及び右脚20のそれぞれに対して設けられている。 The target state quantity other than the body part is input to the amplifier 133. Here, one amplifier 133 is shown, but actually, a plurality of amplifiers 133 are provided according to the degree of freedom of joints. The amplifier 133 is an amplifier for driving other than the ankle joint. That is, the amplifier 133 is an amplifier for driving a knee joint, a hip joint, and the like. The amplifier 133 is provided for each of the left leg 30 and the right leg 20.
アンプ133には適当なゲインが設定されている。そして、アンプ133は、目標関節角度に基づいて目標トルクを算出し、モータ141の目標トルクに応じた駆動信号を出力する。アンプ133から出力された駆動信号はモータ141に入力される。モータ141は、例えば、膝関節や股関節を駆動するための関節駆動部である。そして、モータ141は、アンプ133から入力される駆動信号によって駆動される。これにより、足首関節以外の関節が目標トルクで駆動され、目標関節角度になるよう制御される。なお、実際には、モータ141、及びアンプ133は、足首関節以外の関節の自由度に応じた数だけ設けられている。 An appropriate gain is set for the amplifier 133. The amplifier 133 calculates a target torque based on the target joint angle and outputs a drive signal corresponding to the target torque of the motor 141. The drive signal output from the amplifier 133 is input to the motor 141. The motor 141 is, for example, a joint driving unit for driving a knee joint and a hip joint. The motor 141 is driven by a drive signal input from the amplifier 133. As a result, the joints other than the ankle joint are driven with the target torque, and the target joint angle is controlled. Actually, the motors 141 and the amplifiers 133 are provided in the number corresponding to the degrees of freedom of joints other than the ankle joint.
胴体部50の目標状態量は、足首関節の目標トルクを算出する目標トルク算出部135に入力される。さらに、目標トルク算出部135には、センサ150で計測された胴体部50の状態量が入力される。胴体部50の状態量とは、胴体部50の現在の状態を示す値であり、胴体部50の状態が変化すると状態量も変化する。ここでは、胴体傾斜角度、胴体傾斜角速度、及び胴体並進加速度が状態量として、目標トルク算出部135に入力される。したがって、胴体部50の傾斜角度、傾斜角速度、並進加速度が変化すると、それに応じた状態量が変化する。もちろん、状態量は、胴体傾斜角度、胴体傾斜角速度、及び胴体並進加速度のうちの一つでもよく、2つ以上であってもよい。さらには、胴体傾斜角度、胴体傾斜角速度、及び胴体並進加速度以外の状態量を用いてもよい。
目標トルク算出部135は、センサ150で計測された胴体部50の状態量と、目標状態量とに基づいて、目標トルクを算出するためのコントローラである。具体的には、胴体傾斜角度、胴体傾斜角速度、及び胴体並進加速度のそれぞれに対して、目標状態量設定部132からの目標値とセンサ150からの計測値との差を求める。そして、目標値と計測値との差に所定のフィードバックゲインをかけて、目標トルクとする。これにより、足首関節25のモータ142に対する目標トルクが算出される。そして、目標トルク算出部135は、センサ150からの出力に応じてフィードバック制御を行う。従って、胴体部50の状態変化に応じて足首関節25の目標トルクが変化する。
The target state quantity of the torso part 50 is input to the target torque calculator 135 that calculates the target torque of the ankle joint. Furthermore, the state amount of the body part 50 measured by the sensor 150 is input to the target torque calculation unit 135. The state quantity of the body part 50 is a value indicating the current state of the body part 50. When the state of the body part 50 changes, the state quantity also changes. Here, the fuselage tilt angle, the fuselage tilt angular velocity, and the fuselage translational acceleration are input to the target torque calculator 135 as state quantities. Accordingly, when the tilt angle, tilt angular velocity, and translational acceleration of the body portion 50 change, the state quantity corresponding to the change changes. Of course, the state quantity may be one of the trunk tilt angle, the trunk tilt angular velocity, and the trunk translational acceleration, or may be two or more. Furthermore, state quantities other than the fuselage tilt angle, the fuselage tilt angular velocity, and the fuselage translational acceleration may be used.
The target torque calculation unit 135 is a controller for calculating the target torque based on the state quantity of the body part 50 measured by the sensor 150 and the target state quantity. Specifically, the difference between the target value from the target state quantity setting unit 132 and the measured value from the sensor 150 is obtained for each of the trunk tilt angle, the trunk tilt angular velocity, and the trunk translational acceleration. Then, a predetermined feedback gain is applied to the difference between the target value and the measured value to obtain the target torque. Thereby, the target torque for the motor 142 of the ankle joint 25 is calculated. Then, the target torque calculation unit 135 performs feedback control according to the output from the sensor 150. Accordingly, the target torque of the ankle joint 25 changes in accordance with the change in the state of the body portion 50.
ここで、目標状態量設定部132に立脚状態における目標状態量を設定しておく。すなわち、目標状態量設定部132に、ロボット1が立って静止している状態における足首関節以外の目標関節角度や、胴体部50の目標傾斜角度等を設定しておく。これにより、立脚状態で静止しているときに外乱が生じても、転倒するのを防ぐことができる。例えば、立脚状態で床面Fの傾斜角が変化すると、床面Fから力を受ける。従って、傾斜角の変化に応じてロボット1の状態が変化する。この場合、センサ150で計測されている胴体傾斜角、胴体傾斜角速度、胴体並進加速度が設定されている目標状態量の値から変化する。目標トルク算出部135は、目標状態量とセンサ150での計測値との差に基づいて、目標トルクを算出する。また、足首関節以外の関節の角度が設定されている目標関節角度から変化する。ロータリーエンコーダなどで足首関節以外の角度を計測し、各関節角度が目標関節角度に戻るよう制御してもよい。これにより、胴体部50の状態量が目標状態量に近づいていき、外乱が生じた場合でも、転倒するのを防ぐことができる。そして、床面Fの傾斜角の変化が収束すれば、静止して、元の立脚状態に戻る。このように、目標状態量と計測値との差に基づいてフィードバック制御することによって、速やかに動作することができる。よって、転倒するのを防ぐことができ、安定して立脚状態を維持することができる。 Here, the target state quantity in the standing state is set in the target state quantity setting unit 132. That is, a target joint angle other than the ankle joint in the state where the robot 1 is standing still and the target tilt angle of the body unit 50 are set in the target state amount setting unit 132. Thereby, even if a disturbance occurs when standing still in the standing state, it can be prevented from falling. For example, when the inclination angle of the floor surface F changes in the standing state, a force is received from the floor surface F. Accordingly, the state of the robot 1 changes according to the change in the tilt angle. In this case, the fuselage tilt angle, the fuselage tilt angular velocity, and the fuselage translational acceleration measured by the sensor 150 are changed from the set target state values. The target torque calculation unit 135 calculates the target torque based on the difference between the target state quantity and the measurement value obtained by the sensor 150. Further, the angle of the joint other than the ankle joint changes from the set target joint angle. An angle other than the ankle joint may be measured with a rotary encoder or the like, and each joint angle may be controlled to return to the target joint angle. Thereby, even if the state quantity of the trunk | drum 50 approaches the target state quantity and a disturbance arises, it can prevent falling. And if the change of the inclination angle of the floor surface F converges, it will stop and will return to the original standing state. Thus, it is possible to operate quickly by performing feedback control based on the difference between the target state quantity and the measured value. Therefore, it can prevent falling and can maintain a standing state stably.
ここで、目標トルク算出部135からの出力される目標トルクは、比較部137に入力される。なお、入力される目標トルクは足首関節を駆動するためのものである。リミット値設定部136には、足首関節の目標トルクに対するリミット値が設定されている。すなわち、リミット値設定部136は目標トルクに対するリミット値を設定し、その設定されたリミット値を記憶する。リミット値はモータ142が出力可能な最大トルクとは異なるものであり、最大トルクよりも低い値となっている。リミット値設定部136に設定されているリミット値は、比較部137に入力される。比較部137は、リミット値と、目標トルクとを比較する。そして、目標トルクがリミット値を越えていない場合、目標トルクに応じた駆動信号を、モータ142に出力する。一方、目標トルクがリミット値を越えていた場合、リミット値に応じた駆動信号をモータ142に出力する。これにより、モータ142がリミット値に対応するトルクで駆動する。すなわち、リミット値を駆動トルクとして、モータ142が駆動する。 Here, the target torque output from the target torque calculator 135 is input to the comparator 137. The input target torque is for driving the ankle joint. A limit value for the target torque of the ankle joint is set in the limit value setting unit 136. That is, the limit value setting unit 136 sets a limit value for the target torque and stores the set limit value. The limit value is different from the maximum torque that the motor 142 can output, and is lower than the maximum torque. The limit value set in the limit value setting unit 136 is input to the comparison unit 137. The comparison unit 137 compares the limit value with the target torque. If the target torque does not exceed the limit value, a drive signal corresponding to the target torque is output to the motor 142. On the other hand, when the target torque exceeds the limit value, a drive signal corresponding to the limit value is output to the motor 142. As a result, the motor 142 is driven with a torque corresponding to the limit value. That is, the motor 142 is driven using the limit value as the driving torque.
なお、リミット値としては、目標トルクの上限、及び下限が設定される。ここで、足首関節の回転方向に応じて、トルクが正負となる。すなわち、正のトルクと負のトルクでは、足首関節の回転方向が反対となる。例えば、リミット値設定部136には、正のリミット値がトルクの上限値として設定され、負のリミット値がトルクの下限値として設定される。これにより、目標トルクの許容範囲が設定される。従って、足首関節を駆動する駆動トルクが許容範囲外となるのを防ぐことができる。すなわち、目標トルクが上限以上の場合は、上限値を駆動トルクとし、目標トルクが下限以下の場合は、下限値を駆動トルクとする。ここで、左右両脚の足首関節にそれぞれリミット値を設定する。 As the limit value, an upper limit and a lower limit of the target torque are set. Here, the torque is positive or negative depending on the rotation direction of the ankle joint. That is, the rotation direction of the ankle joint is opposite between positive torque and negative torque. For example, in the limit value setting unit 136, a positive limit value is set as the upper limit value of the torque, and a negative limit value is set as the lower limit value of the torque. Thereby, the allowable range of the target torque is set. Therefore, it is possible to prevent the driving torque for driving the ankle joint from being outside the allowable range. That is, when the target torque is greater than or equal to the upper limit, the upper limit value is the drive torque, and when the target torque is less than or equal to the lower limit, the lower limit value is the drive torque. Here, limit values are set for the ankle joints of the left and right legs, respectively.
目標トルクにリミット値が設定されている場合、足首関節が柔らかくなる。従って、急に床面Fの傾斜角が変化した場合でも、足平が床面Fに倣う。すなわち、足裏が床面Fから剥がれない。換言すると、外乱が生じた場合でも足裏が床面Fから剥がれないようなリミット値を設定する。足平が床面Fに倣うため、足首関節のトルクを床面Fに確実に伝えることができる。すなわち、床反力によって胴体部50の姿勢を確実に制御することができる。これにより、外乱が生じた場合でも、ロボット1が転倒するのを防ぐことができる。 When a limit value is set for the target torque, the ankle joint becomes soft. Therefore, even if the inclination angle of the floor surface F suddenly changes, the foot follows the floor surface F. That is, the soles are not peeled off from the floor surface F. In other words, a limit value is set such that the sole does not peel off the floor surface F even when a disturbance occurs. Since the foot follows the floor surface F, the torque of the ankle joint can be reliably transmitted to the floor surface F. That is, the posture of the body part 50 can be reliably controlled by the floor reaction force. Thereby, even when a disturbance occurs, the robot 1 can be prevented from falling.
一方、足首関節の目標トルクにリミット値を設定していない場合、床面Fの傾斜角が急に変化すると、胴体部50の状態量の変化が大きくなってしまう。この場合、目標トルクが過大になってしまう。目標トルクが大きすぎると、足裏が床面Fから剥がれてしまう。よって、足首関節のトルクが床面Fに伝わらなくなり、姿勢を制御することが困難になる。姿勢を制御するためには、フィードバックゲインを低くして、足裏が剥がれないようにする必要用がある。しかしながら、フィードバックゲインを低くすると、制御性が低下してしまう。 On the other hand, when the limit value is not set for the target torque of the ankle joint, if the inclination angle of the floor surface F changes abruptly, the change in the state quantity of the body portion 50 becomes large. In this case, the target torque becomes excessive. If the target torque is too large, the soles are peeled off from the floor surface F. Therefore, the torque of the ankle joint is not transmitted to the floor surface F, and it becomes difficult to control the posture. In order to control the posture, it is necessary to lower the feedback gain so that the sole does not peel off. However, when the feedback gain is lowered, the controllability is lowered.
本実施の形態では、足首関節の目標トルクにリミット値を設けている。そして、目標トルクがリミット値を越えた場合に、リミット値で足首関節を駆動している。これにより、足平が床面Fに倣うため、転倒するのを防ぐことができる。すなわち、床面Fの外乱によって、胴体部50の傾斜角度が変化すると、その傾斜角度を元に戻そうとする制御を行う。このとき、足裏が床面Fから剥がれない。さらに、傾斜角度の変化が大きい場合、足首関節の目標トルクのリミット値で制御される。このため、フィードバックゲインを高くすることができ、制御性を向上することができる。さらに、フィードバックゲインの細かな設定が不要となるため、コントローラをシンプルにすることができる。すなわち、外乱の周波数に応じて、フィードバックゲインを最適化する必要が無いため、コントローラを容易に設計することができる。このように、上記の制御は、高周波数から低周波数までの広い帯域の外乱に対して効果的である。さらに、従来技術のように、関節角度の補正量を算出する必要が無いため、制御の遅れを低減することができる。 In the present embodiment, a limit value is provided for the target torque of the ankle joint. When the target torque exceeds the limit value, the ankle joint is driven with the limit value. Thereby, since the foot follows the floor surface F, it can prevent falling. That is, when the inclination angle of the body portion 50 changes due to disturbance of the floor surface F, control is performed to restore the inclination angle to its original value. At this time, the sole does not peel off the floor surface F. Further, when the change in the inclination angle is large, the control is performed with the limit value of the target torque of the ankle joint. For this reason, a feedback gain can be made high and controllability can be improved. Furthermore, since detailed setting of the feedback gain is unnecessary, the controller can be simplified. That is, it is not necessary to optimize the feedback gain in accordance with the disturbance frequency, so that the controller can be easily designed. Thus, the above control is effective for disturbances in a wide band from a high frequency to a low frequency. Furthermore, since there is no need to calculate the correction amount of the joint angle as in the prior art, the control delay can be reduced.
また、目標トルクに基づいて足首関節を駆動しているため、外乱が生じた場合でも、速やかに元の状態に戻すことができる。なお、センサ150は、胴体部50の変化を検出できるものであればよく、上記のセンサに限られるものではない。すなわち、倒立振子でモデル化した場合、倒立振子が動いていることを検出することができるセンサ150を用いることができる。リミット値は、例えば、床反力中心点の存在領域に基づいて設定することができる。すなわち、つま先、又は踵が浮き始める直前の床反力の中心点位置を床反力中心点の存在領域の境界とする。具体的には、垂直荷重、及び水平荷重を求めて、存在領域の境界における足首周りのモーメントのつりあい式によって、リミット値を算出することができる。 Further, since the ankle joint is driven based on the target torque, even if a disturbance occurs, it can be quickly returned to the original state. The sensor 150 may be any sensor that can detect a change in the body portion 50 and is not limited to the above-described sensor. That is, when modeling with an inverted pendulum, it is possible to use the sensor 150 that can detect that the inverted pendulum is moving. The limit value can be set, for example, based on the existence region of the floor reaction force center point. That is, the position of the center point of the floor reaction force immediately before the toe or heel starts to float is set as the boundary of the region where the floor reaction force center point exists. Specifically, the limit value can be calculated by obtaining a vertical load and a horizontal load and using a balance formula of moments around the ankle at the boundary of the existing region.
なお、上記の説明では、図3のように両脚がそろっている状態について説明したが、この状態に限るものではない。例えば、左右両脚が前後方向に開いている状態であっても、立脚状態を維持することができる。また、脚の数は、2本に限られるものではなく、1本でもよく、3本以上でもよい。 In the above description, the state in which both legs are aligned as shown in FIG. 3 has been described. However, the present invention is not limited to this state. For example, even when the left and right legs are open in the front-rear direction, the standing state can be maintained. Also, the number of legs is not limited to two, and may be one or three or more.
次に、目標トルク算出部135の構成について図4〜図7を用いて説明する。図4〜図7は、目標トルク算出部135の構成を模式的に示すブロック線図である。ここで、図4〜図7には、それぞれ目標トルク算出部135の構成例が示されている。すなわち、図4〜図7には、目標トルク算出部135の異なる構成例が示されている。 Next, the configuration of the target torque calculation unit 135 will be described with reference to FIGS. 4 to 7 are block diagrams schematically showing the configuration of the target torque calculation unit 135. Here, FIGS. 4 to 7 show configuration examples of the target torque calculator 135, respectively. That is, FIGS. 4 to 7 show different configuration examples of the target torque calculator 135.
まず、図4を用いて第1の構成例について説明する。図4では、胴体部50の傾斜角度、及び傾斜角速度に基づいて、フィードバック制御を行っている。具体的には、目標状態量設定部132に設定されている目標胴体傾斜角度と、センサ150で計測された胴体傾斜角度との差を取る。すなわち、傾斜角度に対して目標状態量と計測値との差を算出する。そして、この傾斜角度の差にフィードバックゲインK1をかける。そして、このフィードバックゲインK1からの出力値と、センサ150で計測された胴体傾斜角速度との差を取る。そして、傾斜角速度の差にフィードバックゲインK2をかけて目標トルクとする。このようにして目標トルクを繰り返し算出し、上述のようにフィードバック制御を行っている。 First, a first configuration example will be described with reference to FIG. In FIG. 4, feedback control is performed based on the tilt angle and tilt angular velocity of the body portion 50. Specifically, the difference between the target body tilt angle set in the target state quantity setting unit 132 and the body tilt angle measured by the sensor 150 is taken. That is, the difference between the target state quantity and the measured value is calculated with respect to the tilt angle. Then, a feedback gain K1 is applied to the difference between the tilt angles. Then, the difference between the output value from the feedback gain K1 and the trunk inclination angular velocity measured by the sensor 150 is taken. Then, the target torque is obtained by multiplying the difference of the inclination angular velocity by the feedback gain K2. In this way, the target torque is repeatedly calculated, and feedback control is performed as described above.
図5に示されている第2の構成例では、胴体部50の傾斜角度、傾斜角速度、及び並進加速度に基づいてフィードバック制御を行っている。具体的には、目標状態量設定部132に設定されている目標胴体傾斜角度と、センサ150で計測された胴体傾斜角度との差を取る。そして、この傾斜角度の差にフィードバックゲインK1をかける。そして、このフィードバックゲインK1からの出力値と、センサ150で計測された胴体傾斜角速度との差を取る。そして、この差にフィードバックゲインK2をかける。さらに、目標状態量設定部132に設定されている目標胴体並進加速度と、センサ150で計測された胴体並進加速度との差を取る。そして、この差にフィードバックゲインK3をかける。そして、フィードバックゲインK2からの出力値と、フィードバックゲインK3からの出力値との和を目標トルクとする。このように、第2の構成例では、胴体部50の並進加速度を考慮して目標トルクを繰り返し算出し、上述のようにフィードバック制御を行っている。 In the second configuration example shown in FIG. 5, feedback control is performed based on the tilt angle, tilt angular velocity, and translational acceleration of the body portion 50. Specifically, the difference between the target body tilt angle set in the target state quantity setting unit 132 and the body tilt angle measured by the sensor 150 is taken. Then, a feedback gain K1 is applied to the difference between the tilt angles. Then, the difference between the output value from the feedback gain K1 and the trunk inclination angular velocity measured by the sensor 150 is taken. Then, this difference is multiplied by a feedback gain K2. Furthermore, the difference between the target body translational acceleration set in the target state quantity setting unit 132 and the body translational acceleration measured by the sensor 150 is taken. Then, this difference is multiplied by a feedback gain K3. The sum of the output value from the feedback gain K2 and the output value from the feedback gain K3 is set as the target torque. As described above, in the second configuration example, the target torque is repeatedly calculated in consideration of the translational acceleration of the body portion 50, and the feedback control is performed as described above.
図6に示されている第3の構成例では、第2の構成例と同様に、胴体部50の傾斜角度、傾斜角速度、及び並進加速度に基づいてフィードバック制御を行っている。具体的には、目標状態量設定部132に設定されている目標胴体傾斜角度と、センサ150で計測された胴体傾斜角度との差を取る。そして、この傾斜角度の差にフィードバックゲインK1をかける。そして、このフィードバックゲインK1からの出力値と、センサ150で計測された胴体傾斜角速度との差を取る。そして、この差にフィードバックゲインK2をかける。さらに、目標状態量設定部132に設定されている目標胴体並進加速度と、センサ150で計測された胴体並進加速度との差を取る。そして、この差にフィードバックゲインK3をかける。ここまでの演算処理、第2の構成例と同様である。さらに、第3の構成例では、傾斜角度に対して時間積分を行なっている。すなわち、傾斜角度の差に対して時間積分を行った後、フィードバックゲインK4をかける。そして、フィードバックゲインK4の出力値と、フィードバックゲインK2の出力値と、フィードバックゲインK3の出力値との和を目標トルクとする。このように、第3の構成例では、胴体部50の並進加速度を考慮して、目標トルクを繰り返し算出し、上述のようにフィードバック制御を行っている。 In the third configuration example shown in FIG. 6, feedback control is performed based on the tilt angle, tilt angular velocity, and translational acceleration of the body portion 50 as in the second configuration example. Specifically, the difference between the target body tilt angle set in the target state quantity setting unit 132 and the body tilt angle measured by the sensor 150 is taken. Then, a feedback gain K1 is applied to the difference between the tilt angles. Then, the difference between the output value from the feedback gain K1 and the trunk inclination angular velocity measured by the sensor 150 is taken. Then, this difference is multiplied by a feedback gain K2. Furthermore, the difference between the target body translational acceleration set in the target state quantity setting unit 132 and the body translational acceleration measured by the sensor 150 is taken. Then, this difference is multiplied by a feedback gain K3. The calculation processing so far is the same as in the second configuration example. Furthermore, in the third configuration example, time integration is performed with respect to the tilt angle. That is, after performing time integration on the difference in tilt angle, the feedback gain K4 is applied. The sum of the output value of the feedback gain K4, the output value of the feedback gain K2, and the output value of the feedback gain K3 is set as the target torque. As described above, in the third configuration example, the target torque is repeatedly calculated in consideration of the translational acceleration of the body portion 50, and the feedback control is performed as described above.
図7に示されている第4の構成例では、胴体部50の傾斜角度、及び傾斜角速度に基づいてフィードバック制御を行っている。具体的には、目標状態量設定部132に設定されている目標胴体傾斜角度と、センサ150で計測された胴体傾斜角度との差を取る。そして、この傾斜角度の差にフィードバックゲインK1をかける。さらに、目標状態量設定部132に設定されている目標胴体傾斜角速度と、センサ150で計測された胴体傾斜角速度との差を取る。そして、胴体部50の傾斜角速度の差にフィードバックゲインK2をかける。フィードバックゲインK1の出力値と、フィードバックゲインK2の出力値との和を目標トルクとする。このようにして目標トルクを繰り返し算出し、上述のようにフィードバック制御を行っている。 In the fourth configuration example shown in FIG. 7, feedback control is performed based on the tilt angle and tilt angular velocity of the body portion 50. Specifically, the difference between the target body tilt angle set in the target state quantity setting unit 132 and the body tilt angle measured by the sensor 150 is taken. Then, a feedback gain K1 is applied to the difference between the tilt angles. Further, the difference between the target body inclination angular velocity set in the target state quantity setting unit 132 and the body inclination angular velocity measured by the sensor 150 is taken. Then, a feedback gain K <b> 2 is applied to the difference in inclination angular velocity of the body portion 50. The sum of the output value of the feedback gain K1 and the output value of the feedback gain K2 is set as the target torque. In this way, the target torque is repeatedly calculated, and feedback control is performed as described above.
なお、リミット値は、状況や環境に応じて変更してもよい。例えば、床面Fの傾斜角度や材質が異なる場合に、異なるリミット値を設定してもよい。例えば、床面Fが水平で傾斜角度が0°の時と、床面Fが45°傾斜している時で、リミット値を変えてもよい。さらに、垂直荷重が変化するような場合に、垂直加重に応じてリミット値を変化させてもよい。具体的には、ロボット1がエレベータなどに乗っており、床面が鉛直方向に加減速する状況では、ロボット1にかかる垂直荷重が変化する。このような場合、上昇時と、下降時と、静止時とで、異なるリミット値を設定するようにしてもよい。このように、リミット値を可変とすることで、状況に応じた制御を行うことができ、より立脚状態を安定して維持することができる。 In addition, you may change a limit value according to a condition or an environment. For example, when the inclination angle and material of the floor surface F are different, different limit values may be set. For example, the limit value may be changed when the floor surface F is horizontal and the inclination angle is 0 ° and when the floor surface F is inclined 45 °. Further, when the vertical load changes, the limit value may be changed according to the vertical load. Specifically, when the robot 1 is on an elevator or the like and the floor surface is accelerated or decelerated in the vertical direction, the vertical load applied to the robot 1 changes. In such a case, different limit values may be set at the time of ascending, descending, and stationary. Thus, by making the limit value variable, control according to the situation can be performed, and the standing state can be maintained more stably.
1 ロボット、2 頭部、3 体幹、4 腰部、5 右腕、6左腕、
10 脚部、20 右脚、21 右股関節、22 右上腿、23 右膝関節、
24 右下腿、25 右足首関節、26 右足平、
30 左脚30、31 左股関節、32 左上腿、33 左膝関節、34 左下腿、
35 左足首関節、36 左足平、
130 制御部、132 目標状態量設定部、133 アンプ、
135 目標トルク算出部、136 リミット値設定部、137 比較部、
141 モータ、142 モータ、150 センサ、
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 control unit, 132 target state quantity setting unit, 133 amplifier,
135 target torque calculation unit, 136 limit value setting unit, 137 comparison unit,
141 motor, 142 motor, 150 sensor,
Claims (8)
駆動信号に応じて前記足首関節を駆動する足首関節駆動部と、
前記胴体部の状態量を計測するセンサと、
前記センサからの出力に応じて、前記足首関節の目標トルクを算出する目標トルク算出部と、
前記目標トルクに対するリミット値を設定し、前記設定したリミット値を記憶するリミット値設定部と、
前記リミット値と前記目標トルクを比較して、前記目標トルクが前記リミット値を超えた場合に前記リミット値に応じた駆動信号を前記足首関節駆動部に出力する比較部と、
を備える脚式ロボット。 A legged robot including a leg portion provided with an ankle joint and a torso portion connected to the leg portion,
An ankle joint drive unit for driving the ankle joint according to a drive signal;
A sensor for measuring a state quantity of the body part;
A target torque calculator for calculating a target torque of the ankle joint according to an output from the sensor;
A limit value setting unit for setting a limit value for the target torque and storing the set limit value;
A comparison unit that compares the limit value with the target torque, and outputs a drive signal corresponding to the limit value to the ankle joint drive unit when the target torque exceeds the limit value;
Legged robot with
前記胴体部の状態量を計測するステップと、
前記センサからの出力に応じて、前記足首関節の目標トルクを算出するステップと、
リミット値と前記目標トルクを比較して、前記目標トルクが前記リミット値を超えた場合に前記リミット値に応じた駆動信号を出力するステップと、
前記駆動信号に基づいて、前記足首関節を駆動するステップと、を備える脚式ロボットの制御方法。 A control method for a legged robot comprising a leg portion provided with an ankle joint and a torso portion connected to the leg portion,
Measuring a state quantity of the body part;
Calculating a target torque of the ankle joint according to an output from the sensor;
Comparing a limit value with the target torque, and outputting a drive signal corresponding to the limit value when the target torque exceeds the limit value;
And a step of driving the ankle joint based on the drive signal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006311483A JP2008126330A (en) | 2006-11-17 | 2006-11-17 | Legged robot and control method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006311483A JP2008126330A (en) | 2006-11-17 | 2006-11-17 | Legged robot and control method thereof |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008126330A true JP2008126330A (en) | 2008-06-05 |
Family
ID=39552689
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006311483A Pending JP2008126330A (en) | 2006-11-17 | 2006-11-17 | Legged robot and control method thereof |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008126330A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011206289A (en) * | 2010-03-30 | 2011-10-20 | Toyota Motor Corp | Walking support device |
| CN117021093A (en) * | 2023-08-18 | 2023-11-10 | 北京机械设备研究所 | Dynamic balance recovery control method based on three-dimensional balance state manifold guidance |
| WO2025112145A1 (en) * | 2023-11-28 | 2025-06-05 | 深圳市优必选科技股份有限公司 | Robot control method and apparatus, readable storage medium and robot |
-
2006
- 2006-11-17 JP JP2006311483A patent/JP2008126330A/en active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011206289A (en) * | 2010-03-30 | 2011-10-20 | Toyota Motor Corp | Walking support device |
| CN117021093A (en) * | 2023-08-18 | 2023-11-10 | 北京机械设备研究所 | Dynamic balance recovery control method based on three-dimensional balance state manifold guidance |
| WO2025112145A1 (en) * | 2023-11-28 | 2025-06-05 | 深圳市优必选科技股份有限公司 | Robot control method and apparatus, readable storage medium and robot |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4998506B2 (en) | Robot control device, robot control method, and legged robot | |
| EP2343163B1 (en) | Walking robot and method of controlling balance thereof | |
| JP6227343B2 (en) | Robot walking control method | |
| KR101772974B1 (en) | Method for generating human-like motion of humanoid robot | |
| TW544385B (en) | Two-legged walking-type moving apparatus and controlling device and method thereof | |
| KR101466312B1 (en) | Walking robot and its control method | |
| KR20130095973A (en) | Walking robot and control method thereof | |
| KR101766755B1 (en) | Walking robot and control method thereof | |
| KR20120134036A (en) | Robot and control method thereof | |
| EP2343161A1 (en) | Walking robot and method of controlling the same | |
| KR20120060578A (en) | Walking robot and method for controlling balancing the same | |
| KR20130049029A (en) | Walking robot and control method for thereof | |
| EP2343230A1 (en) | Robot and control method thereof | |
| KR20110087171A (en) | Motor Control and Motor Control Method | |
| JP2004223712A (en) | Walking robot and its position moving method | |
| KR20120024098A (en) | Walking robot and control method thereof | |
| US7860613B2 (en) | Legged mobile robot and control program for the robot | |
| US9802315B2 (en) | Controller for mobile robot | |
| JP5198035B2 (en) | Legged robot and control method thereof | |
| JP2009107033A (en) | Legged mobile robot and control method thereof | |
| JP5040693B2 (en) | Legged robot and control method thereof | |
| JP4985776B2 (en) | Robot control apparatus, robot control method, and robot control program | |
| JP2008126330A (en) | Legged robot and control method thereof | |
| JP2008126382A (en) | Legged mobile robot and control method thereof | |
| JP4905041B2 (en) | Robot controller |