JP4784432B2 - Multi-legged walking robot - Google Patents

Multi-legged walking robot Download PDF

Info

Publication number
JP4784432B2
JP4784432B2 JP2006214633A JP2006214633A JP4784432B2 JP 4784432 B2 JP4784432 B2 JP 4784432B2 JP 2006214633 A JP2006214633 A JP 2006214633A JP 2006214633 A JP2006214633 A JP 2006214633A JP 4784432 B2 JP4784432 B2 JP 4784432B2
Authority
JP
Japan
Prior art keywords
angle
command value
joint
control command
actuator
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
JP2006214633A
Other languages
Japanese (ja)
Other versions
JP2008036779A (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 JP2006214633A priority Critical patent/JP4784432B2/en
Publication of JP2008036779A publication Critical patent/JP2008036779A/en
Application granted granted Critical
Publication of JP4784432B2 publication Critical patent/JP4784432B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、複数の脚部と制御装置を有し、制御装置によって脚部を駆動して歩行するロボットに関する。   The present invention relates to a robot having a plurality of legs and a control device, and walking by driving the legs with the control device.

特許文献1は、従来技術に係る歩行ロボットを開示している。特許文献1の歩行ロボットは、胴体部と、胴体部に取り付けられた2つの脚部と、それらの脚部を制御する制御装置を有している。各脚部は、複数の関節と、各関節を駆動するアクチュエータを備えている。制御装置は、歩行ロボットに実行させる動作に基づいて各関節の目標角度等を算出し、その目標角度等に応じて各アクチュエータに制御指令値を出力する。制御装置は所定周期で各アクチュエータに制御指令値を出力するので、各関節が所定周期毎に制御指令値にしたがって駆動され、歩行ロボットは所望の動作(例えば、歩行等)を実行する。
また、この歩行ロボットは、複数の加速度センサ及び複数のジャイロセンサを有しており、それらのセンサの検出値と脚部の関節の角度に基づいて、脚部の足平に作用する床反力の作用点の位置を算出する。算出した床反力作用点の位置に応じて、各脚部の各アクチュエータを駆動することで、安定して歩行をすることができるとされている。
特開2004−314247号公報
Patent Document 1 discloses a walking robot according to the prior art. The walking robot of Patent Document 1 has a trunk section, two leg sections attached to the trunk section, and a control device that controls the leg sections. Each leg includes a plurality of joints and an actuator that drives each joint. The control device calculates a target angle or the like of each joint based on an operation to be executed by the walking robot, and outputs a control command value to each actuator according to the target angle or the like. Since the control device outputs a control command value to each actuator at a predetermined cycle, each joint is driven according to the control command value every predetermined cycle, and the walking robot executes a desired operation (for example, walking).
The walking robot has a plurality of acceleration sensors and a plurality of gyro sensors, and a floor reaction force acting on the foot of the leg based on the detection values of these sensors and the angle of the joint of the leg. The position of the action point of is calculated. According to the calculated position of the floor reaction force action point, it is said that by walking each actuator of each leg, it is possible to walk stably.
JP 2004-314247 A

歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合(すなわち、歩行ロボットが両足で立脚している場合(以下、両足立脚時ともいう))、通常、歩行ロボットは足平の裏面全体で床面と接触する。しかし、歩行ロボットの脚部が床面上の障害物等に乗り上げていると、その脚部の足平は障害物と部分的に接触する。このため、足平には部分的に床反力が作用し、これによって両足立脚時においても足平にモーメントが作用する。一方、両脚立脚時においては、制御装置はロボットが水平な床面上に立脚しているものとして各脚部を制御するため、足平を目標の角度(床面と水平)に制御しようとし、その足平の関節をモーメントを打ち消す方向に駆動する。このような足平の関節の駆動はロボットが両足で立脚している間行われるため、足平の関節を駆動するアクチュエータは高いトルクで長時間、駆動されることとなり、これによって足平の関節を駆動するアクチュエータが破損してしまうことがある。
特許文献1の歩行ロボットでは、二足歩行時等の運動時において、加速度センサ及びジャイロセンサの検出値と脚部の関節の角度から足平に作用する床反力の作用点位置を算出し、算出した床反力作用点に基づいて脚部の各関節を駆動することで安定した運動を実現する。したがって、算出される床反力作用点の位置は歩行ロボットの進行方向に関する位置であり、その算出された床反力作用点の位置に応じて駆動される足平の関節(足首の関節)の駆動方向も歩行ロボットの進行方向であった。このため、歩行ロボットの脚部が床面上の障害物に乗り上げて歩行ロボットの進行方向から見て左右に傾いても、算出される床反力作用点の位置は変化せず、これによって足平の関節が駆動されることもない。したがって、特許文献1の歩行ロボットでも、歩行ロボットが進行方向から見て左右に傾く場合には、足平の関節を駆動するアクチュエータが高いトルクで長時間、駆動されてしまうこととなる。
When the walking robot is not walking and the first leg and the second leg are grounded (that is, when the walking robot is standing on both legs (hereinafter also referred to as both legs standing)), Usually, the walking robot contacts the floor surface across the back of the foot. However, when the leg portion of the walking robot rides on an obstacle or the like on the floor surface, the foot of the leg portion partially contacts the obstacle. For this reason, a floor reaction force partially acts on the foot, whereby a moment acts on the foot even when both legs are standing. On the other hand, in the case of both leg stand, the control device controls each leg as if the robot is standing on a horizontal floor surface, so it tries to control the foot at a target angle (horizontal with the floor surface) The foot joint is driven to cancel the moment. Since the driving of the foot joint is performed while the robot is standing on both feet, the actuator that drives the foot joint is driven with a high torque for a long time, and thus the foot joint is driven. The actuator that drives the motor may be damaged.
In the walking robot of Patent Document 1, the position of the action point of the floor reaction force acting on the foot is calculated from the detected values of the acceleration sensor and the gyro sensor and the angle of the joint of the leg during movement such as biped walking, Stable movement is realized by driving each joint of the leg based on the calculated floor reaction force action point. Therefore, the calculated position of the floor reaction force action point is a position related to the traveling direction of the walking robot, and the foot joint (ankle joint) that is driven according to the calculated position of the floor reaction force action point. The driving direction was also the traveling direction of the walking robot. Therefore, even if the leg of the walking robot rides on an obstacle on the floor and tilts to the left or right when viewed from the direction of travel of the walking robot, the calculated position of the floor reaction force action point does not change. The flat joint is not driven. Therefore, even in the walking robot of Patent Document 1, when the walking robot is tilted left and right when viewed from the traveling direction, the actuator that drives the joint of the foot is driven with a high torque for a long time.

本発明は、上記した実情に鑑みてなされたものであり、歩行ロボットの脚部が障害物に乗り上げて歩行ロボットの進行方向から見て左右に傾く場合でも、足平の関節を駆動するアクチュエータが高いトルクで長時間駆動されることを防止することができる歩行ロボットを提供することを目的とする。   The present invention has been made in view of the above situation, and an actuator for driving a foot joint is provided even when a leg of a walking robot rides on an obstacle and tilts left and right when viewed from the traveling direction of the walking robot. An object is to provide a walking robot that can be prevented from being driven for a long time with a high torque.

本発明の歩行ロボットは、胴体部と、胴体部に取付けられた複数の脚部と、各脚部を制御する制御装置とを有している。複数の脚部には、胴体部の進行方向から見て左右方向に対称に配置された第1脚部と第2脚部が少なくとも含まれている。第1脚部は、足平と、足平を胴体部の進行方向に伸びる回転軸回りに回転させる第1の関節と、制御装置から入力される制御指令値にしたがって第1の関節を駆動する第1のアクチュエータとを備えており、第2脚部は、足平と、足平を胴体部の進行方向に伸びる回転軸回りに回転させる第2の関節と、制御装置から入力される制御指令値にしたがって第2の関節を駆動する第2のアクチュエータとを備えている。制御装置は、所定周期で各関節の目標角度を算出する角度算出部と、各関節の角度が目標角度となるように各アクチュエータを制御する制御指令値を各アクチュエータに出力する制御指令値出力部であって、少なくとも、歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、第1のアクチュエータのトルクを制御する制御指令値を第1のアクチュエータに出力するとともに第2のアクチュエータのトルクを制御する制御指令値を第2のアクチュエータに出力する制御指令値出力部と、第1のアクチュエータに対する制御指令値の正方向と第2のアクチュエータに対する制御指令値の正方向とを胴体部の進行方向からみて同一の回転方向としたときにおける第1のアクチュエータに前回の周期に出力した制御指令値と、第2のアクチュエータに前回の周期に出力した制御指令値との差を算出する指令値差算出部と、歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、指令値差算出部が算出した前回の周期の制御指令値の差が閾値以上であるときは、角度算出部が算出した第1の関節の目標角度と第2の関節の目標角度の少なくとも一方を補正する補正部を備えている。制御指令値出力部は、補正部が目標角度を補正した関節のアクチュエータに対して補正部が補正した目標角度にしたがって制御指令値を出力し、補正部が目標角度を補正しなかった関節のアクチュエータに対して角度算出部が算出した目標角度にしたがって制御指令値を出力する。
また、本発明の別の形態の歩行ロボットは、胴体部と、胴体部に取付けられた複数の脚部と、各脚部を制御する制御装置とを有している。複数の脚部には、胴体部の進行方向から見て左右方向に対称に配置された第1脚部と第2脚部が少なくとも含まれている。第1脚部は、足平と、足平を胴体部の進行方向に伸びる回転軸回りに回転させる第1の関節と、制御装置から入力される制御指令値にしたがって第1の関節を駆動する第1のアクチュエータとを備えており、第2脚部は、足平と、足平を胴体部の進行方向に伸びる回転軸回りに回転させる第2の関節と、制御装置から入力される制御指令値にしたがって第2の関節を駆動する第2のアクチュエータとを備えている。制御装置は、所定周期で各関節の目標角度を算出する角度算出部と、各関節の角度が目標角度となるように各アクチュエータを制御する制御指令値を各アクチュエータに出力する制御指令値出力部であって、少なくとも、歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、第1のアクチュエータのトルクを制御する制御指令値を第1のアクチュエータに出力するとともに第2のアクチュエータのトルクを制御する制御指令値を第2のアクチュエータに出力する制御指令値出力部と、第1のアクチュエータに前回の周期に出力した制御指令値の絶対値と、第2のアクチュエータに前回の周期に出力した制御指令値の絶対値との差を算出する指令値差算出部と、歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、指令値差算出部が算出した前回の周期の制御指令値の絶対値の差が閾値以上であるときは、角度算出部が算出した第1の関節の目標角度と第2の関節の目標角度の少なくとも一方を補正する補正部を備えている。制御指令値出力部は、補正部が目標角度を補正した関節のアクチュエータに対して補正部が補正した目標角度にしたがって制御指令値を出力し、補正部が目標角度を補正しなかった関節のアクチュエータに対して角度算出部が算出した目標角度にしたがって制御指令値を出力する。
これらの歩行ロボットでは、制御装置の指令値差算出部が、第1のアクチュエータに前回の周期に出力した制御指令値と、第2のアクチュエータに前回の周期に出力した制御指令値との差を算出する。歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合には、補正部が、指令値差算出部が算出した制御指令値の差が閾値以上であるか否かを判定する。通常、歩行ロボットが歩行をせず、かつ、第1脚部と第2脚部が接地している場合、制御装置は第1のアクチュエータと第2のアクチュエータを略同等のトルクで駆動する。したがって、制御装置が第1のアクチュエータに出力する制御指令値と第2のアクチュエータに出力する制御指令値は略同等の大きさとなる。一方、第1脚部の足平と第2脚部の足平の少なくとも一方が障害物等に乗り上げ、ロボットが左右に傾いていると、床反力によって各足平にモーメントが作用する。このとき、ロボットが左右に傾いているので、各足平にはそれぞれ異なるモーメントが作用する。制御装置は、第1の関節及び第2の関節を目標角度に制御するため、第1のアクチュエータ及び第2のアクチュエータをモーメントを打ち消す方向に駆動させるので、第1のアクチュエータに出力する制御指令値と第2のアクチュエータに出力する制御指令値の差が大きくなる。したがって、補正部が制御指令値の差が閾値以上であるか否かを判定することで、歩行ロボットの足平が正常に接地しているか否かを好適に判定することができる。
制御指令値の差が閾値以上である場合には、補正部が第1の関節と第2の関節の少なくとも一方の目標角度を補正する。そして、制御指令値出力部が、目標角度を補正された関節のアクチュエータに対して補正された目標角度にしたがって制御指令値を出力する。すると、それに応じて足平の角度が変更される。したがって、目標角度を補正された関節のアクチュエータが高いトルクで長時間駆動されることが防止される。
The walking robot according to the present invention includes a body part, a plurality of leg parts attached to the body part, and a control device that controls each leg part. The plurality of legs include at least a first leg and a second leg arranged symmetrically in the left-right direction when viewed from the traveling direction of the body part. The first leg drives the first joint according to a foot, a first joint that rotates the foot around a rotation axis that extends in the advancing direction of the torso, and a control command value input from the control device. A first actuator, the second leg includes a foot, a second joint that rotates the foot around a rotation axis extending in a traveling direction of the torso, and a control command input from the control device And a second actuator for driving the second joint according to the value. The control device includes an angle calculation unit that calculates a target angle of each joint at a predetermined cycle, and a control command value output unit that outputs a control command value for controlling each actuator so that the angle of each joint becomes the target angle. And at least when the walking robot is not walking and the first leg and the second leg are in contact with the ground, the control command value for controlling the torque of the first actuator is set to the first A control command value output unit that outputs to the second actuator a control command value that is output to the actuator and controls the torque of the second actuator, and a positive direction of the control command value for the first actuator and a control for the second actuator control command output to the previous period to the first actuator definitive when the same rotation direction and the positive direction of the command value when viewed from the traveling direction of the body portion A command value difference calculation unit that calculates a difference between the control command value output to the second actuator in the previous cycle, the walking robot is not walking, and the first leg and the second leg are If the difference between the control command values of the previous cycle calculated by the command value difference calculation unit is greater than or equal to the threshold value when the ground is grounded, the target angle of the first joint calculated by the angle calculation unit and the second joint A correction unit that corrects at least one of the target angles . The control command value output unit outputs a control command value according to the target angle corrected by the correction unit with respect to the joint actuator whose correction unit has corrected the target angle, and the correction unit has not corrected the target angle. angle calculating section outputs a control command value in accordance with the target angle calculated against.
Moreover, the walking robot of another form of this invention has a trunk | drum, a several leg part attached to the trunk | drum, and the control apparatus which controls each leg. The plurality of legs include at least a first leg and a second leg arranged symmetrically in the left-right direction when viewed from the traveling direction of the body part. The first leg drives the first joint according to a foot, a first joint that rotates the foot around a rotation axis that extends in the advancing direction of the torso, and a control command value input from the control device. A first actuator, the second leg includes a foot, a second joint that rotates the foot around a rotation axis extending in a traveling direction of the torso, and a control command input from the control device And a second actuator for driving the second joint according to the value. The control device includes an angle calculation unit that calculates a target angle of each joint at a predetermined cycle, and a control command value output unit that outputs a control command value for controlling each actuator so that the angle of each joint becomes the target angle. And at least when the walking robot is not walking and the first leg and the second leg are in contact with the ground, the control command value for controlling the torque of the first actuator is set to the first A control command value output unit that outputs to the second actuator a control command value that is output to the actuator and controls the torque of the second actuator; and an absolute value of the control command value that is output to the first actuator in the previous cycle; A command value difference calculating unit that calculates a difference from the absolute value of the control command value output to the second actuator in the previous cycle, and the walking robot is not walking and the first leg unit If the difference between the absolute values of the control command values in the previous cycle calculated by the command value difference calculation unit is greater than or equal to the threshold when the two legs are in contact with the ground, the angle calculation unit calculates the first joint A correction unit that corrects at least one of the target angle and the target angle of the second joint is provided. The control command value output unit outputs a control command value according to the target angle corrected by the correction unit with respect to the joint actuator whose correction unit has corrected the target angle, and the correction unit has not corrected the target angle. In response to the target angle calculated by the angle calculation unit.
In these walking robots, the command value difference calculation unit of the control device calculates the difference between the control command value output to the first actuator in the previous cycle and the control command value output to the second actuator in the previous cycle. calculate. When the walking robot is not walking and the first leg and the second leg are in contact with each other, the correction unit determines that the difference between the control command values calculated by the command value difference calculation unit is greater than or equal to the threshold value. It is determined whether or not there is. Usually, when the walking robot does not walk and the first leg and the second leg are grounded, the control device drives the first actuator and the second actuator with substantially the same torque. Therefore, the control command value output to the first actuator by the control device and the control command value output to the second actuator have substantially the same magnitude. On the other hand, when at least one of the foot of the first leg and the foot of the second leg rides on an obstacle or the like and the robot is tilted left and right, a moment acts on each foot due to the floor reaction force. At this time, since the robot is tilted to the left and right, different moments act on each foot. Since the control device drives the first actuator and the second actuator in a direction to cancel the moment in order to control the first joint and the second joint to the target angle, the control command value output to the first actuator And the difference between the control command values output to the second actuator increases. Therefore, it can be suitably determined whether or not the foot of the walking robot is normally grounded by determining whether or not the difference between the control command values is greater than or equal to the threshold value.
When the difference between the control command values is equal to or greater than the threshold value, the correction unit corrects the target angle of at least one of the first joint and the second joint. Then, the control command value output unit outputs the control command value according to the corrected target angle with respect to the joint actuator whose target angle is corrected. Then, the foot angle is changed accordingly. Therefore, the joint actuator whose target angle is corrected is prevented from being driven at a high torque for a long time.

上述の歩行ロボットは、補正部が、角度算出部が算出した第1の関節の目標角度と第2の関節の目標角度の少なくとも一方を、その関節の前回の周期の制御指令値によって関節が駆動される方向と逆方向に所定の角度だけ補正することが好ましい。
このように第1の関節と第2の関節の少なくとも一方の目標角度を補正することで、目標角度を補正された関節のアクチュエータが、高いトルクで駆動されることが防止される。
In the walking robot described above, the correction unit drives at least one of the target angle of the first joint and the target angle of the second joint calculated by the angle calculation unit according to the control command value of the previous cycle of the joint. It is preferable to correct by a predetermined angle in a direction opposite to the direction to be applied.
By correcting the target angle of at least one of the first joint and the second joint in this way, the actuator of the joint whose target angle is corrected is prevented from being driven with high torque.

上述の歩行ロボットは、制御装置が、補正部による第1の関節と第2の関節の少なくとも一方の目標角度の補正角度を記憶する記憶部をさらに有し、補正部は、記憶部が前回の周期の補正角度を記憶しているときに、記憶部が記憶している前回の周期の補正角度より一定角度大きい補正角度を算出し、その補正角度だけ目標角度を補正することが好ましい。
このような構成によると、第1の関節と第2の関節の少なくとも一方の目標角度を補正しても制御指令値の差が閾値以下とならない場合(すなわち、第1のアクチュエータと第2のアクチュエータの少なくとも一方が高いトルクで駆動している場合)には、補正部は記憶部が記憶している前回の周期の補正角度より一定角度大きい補正角度で目標角度を補正する。これによって、制御指令値の差が閾値以下となるまで、徐々に目標角度の補正角度が大きくされる。したがって、関節の角度を好適な角度に補正することができる。
In the walking robot described above, the control device further includes a storage unit that stores the correction angle of the target angle of at least one of the first joint and the second joint by the correction unit. When the correction angle of the cycle is stored, it is preferable to calculate a correction angle that is larger by a fixed angle than the correction angle of the previous cycle stored in the storage unit and correct the target angle by the correction angle.
According to such a configuration, even when the target angle of at least one of the first joint and the second joint is corrected, the difference between the control command values does not fall below the threshold (that is, the first actuator and the second actuator). When at least one of them is driven with high torque), the correction unit corrects the target angle with a correction angle that is larger by a fixed angle than the correction angle of the previous cycle stored in the storage unit. Thereby, the correction angle of the target angle is gradually increased until the difference between the control command values becomes equal to or less than the threshold value. Therefore, the angle of the joint can be corrected to a suitable angle.

また、上述の歩行ロボットは、補正部が、算出した補正角度が最大補正角度以上となる場合には、目標角度を最大補正角度だけ補正することが好ましい。
このような構成によれば、関節の角度が最大補正角度以上に補正されないので、足平が障害物等から滑り落ちることが防止される。
In the walking robot described above, it is preferable that the correction unit corrects the target angle by the maximum correction angle when the calculated correction angle is equal to or greater than the maximum correction angle.
According to such a configuration, the angle of the joint is not corrected beyond the maximum correction angle, so that the foot is prevented from slipping off from an obstacle or the like.

また、本発明は、胴体部に対して対称に配置された一対の脚部を備える歩行ロボットにおいて、両足立脚時に一対の脚部の対応する関節を駆動するアクチュエータが高いトルクで長時間駆動されることを防止することができる歩行ロボットを提供する。
この歩行ロボットは、胴体部と、胴体部に取付けられた複数の脚部と、各脚部を制御する制御装置とを有し、制御装置から出力された制御指令値に基づいて各脚部を駆動する。複数の脚部には、第1脚部と第2脚部が少なくとも含まれており、第1脚部は、第1の関節と、第1の関節を駆動する第1のアクチュエータとを備えており、第2脚部は、第1脚部の第1の関節に対応する第2の関節と、第2の関節を駆動する第2のアクチュエータとを備えており、制御装置は、所定周期で各関節の目標角度を算出する角度算出部と、第1のアクチュエータに前回の周期に出力した制御指令値と、第2のアクチュエータに前回の周期に出力した制御指令値との差を算出する指令値差算出部と、歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、指令値差算出部が算出した前回の周期の制御指令値の差が閾値以上であるときは、角度算出部が算出した第1の関節の目標角度と第2の関節の目標角度の少なくとも一方を補正する補正部と、補正部が目標角度を補正した関節のアクチュエータに対して補正部が補正した目標角度にしたがって制御指令値を出力し、補正部が目標角度を補正しなかった関節のアクチュエータに対して角度算出部が算出した目標角度にしたがって制御指令値を出力する制御指令値出力部とを備えていることを特徴とする。
この歩行ロボットによれば、脚部が正常に接地していない場合に、第1の関節と第2の関節の少なくとも一方の目標角度が補正されるので、目標角度を補正された関節のアクチュエータが高いトルクで長時間駆動されることが防止される。
Further, according to the present invention, in a walking robot including a pair of legs arranged symmetrically with respect to the body, an actuator that drives a corresponding joint of the pair of legs is driven at a high torque for a long time when both legs are standing. Provided is a walking robot that can prevent this.
This walking robot has a body part, a plurality of legs attached to the body part, and a control device that controls each leg part, and each leg part is controlled based on a control command value output from the control apparatus. To drive. The plurality of legs include at least a first leg and a second leg, and the first leg includes a first joint and a first actuator that drives the first joint. The second leg portion includes a second joint corresponding to the first joint of the first leg portion and a second actuator that drives the second joint. An angle calculation unit for calculating a target angle of each joint, and a command for calculating a difference between a control command value output to the first actuator in the previous cycle and a control command value output to the second actuator in the previous cycle. The control command value of the previous cycle calculated by the command value difference calculation unit when the value difference calculation unit and the walking robot are not walking and the first leg and the second leg are in contact with the ground. When the difference is greater than or equal to the threshold, the target angle of the first joint calculated by the angle calculator and the target of the second joint A correction unit that corrects at least one of the degrees, and outputs a control command value according to the target angle corrected by the correction unit to the actuator of the joint whose correction unit has corrected the target angle, and the correction unit does not correct the target angle And a control command value output unit that outputs a control command value in accordance with the target angle calculated by the angle calculation unit for the joint actuator.
According to this walking robot, when the leg is not properly grounded, the target angle of at least one of the first joint and the second joint is corrected. Driving for a long time with high torque is prevented.

下記に詳細に説明する実施例の主要な特徴を最初に列記する。
(形態1)歩行ロボットは、ボディと、右脚部と、左脚部と、各脚部を制御する制御装置を有しており、制御装置から出力された制御指令値に基づいて各脚部を駆動することで歩行する。
(形態2)第1脚部は、足平と、足平をボディの進行方向に伸びる回転軸回りに回転させる第1の関節を含む複数の関節と、制御装置から入力される制御指令値にしたがって各関節を駆動する複数のアクチュエータを備えており、複数のアクチュエータは第1の関節を駆動する第1のアクチュエータを含んでいる。
(形態3)第2脚部は、足平と、足平をボディの進行方向に伸びる回転軸回りに回転させる第2の関節を含む複数の関節と、制御装置から入力される制御指令値にしたがって各関節を駆動する複数のアクチュエータを備えており、複数のアクチュエータは第2の関節を駆動する第2のアクチュエータを含んでいる。
(形態4)制御装置は、角度算出部と、制御状態判定部と、指令値差算出部と、角度補正部と、補正角度記憶部と、制御指令値出力部とを備えている。
(形態5)角度算出部は、歩行ロボットに実行させる動作に基づいて、各関節の目標角度を所定周期で算出する。
(形態6)制御状態判定部は、歩行ロボットに実行させる動作に基づいて、右脚部と左脚部が接地した状態が所定時間以上継続するか否かを判定する。
(形態7)指令値差算出部は、第1のアクチュエータに前回の周期に出力した制御指令値と、第2のアクチュエータに前回の周期に出力した制御指令値との差を算出する。
(形態8)角度補正部は、制御状態判定部が右脚部と左脚部が接地した状態が所定時間以上継続すると判定した場合に、指令値差算出部が算出した前回の周期の制御指令値の差が閾値以上であるときは、角度算出部が算出した第1の関節及び第2の関節の目標角度を補正する。
(形態9)補正角度記憶部は、角度補正部による第1の関節及び第2の関節の目標角度の補正角度を記憶する。
(形態10)制御指令値出力部は、角度補正部が目標角度を補正したときには、角度補正部が補正した目標角度にしたがって第1のアクチュエータ及び第2のアクチュエータに制御指令値を出力し、角度補正部が目標角度を補正しなかったときには、角度算出部が算出した目標角度にしたがって第1のアクチュエータ及び第2のアクチュエータに制御指令値を出力する。
(形態11)角度補正部は、角度算出部が算出した第1の関節及び第2の関節の目標角度を、その関節の前回の周期の制御指令値が関節を駆動する方向と逆方向に所定の角度だけ補正する。
(形態12)角度補正部は、補正角度記憶部が前回の周期の補正角度を記憶しているときに、補正角度記憶部が記憶している前回の周期の補正角度より一定角度大きい補正角度だけ目標角度を補正する。
(形態13)角度補正部は、角度補正部が記憶している前回の周期の補正角度が最大補正角度以上となる場合には、目標角度を最大補正角度だけ補正する。
The main features of the embodiments described in detail below are listed first.
(Mode 1) The walking robot has a body, a right leg, a left leg, and a control device that controls each leg, and each leg based on a control command value output from the control device. Walk by driving.
(Mode 2) The first leg portion receives a foot, a plurality of joints including a first joint that rotates the foot around a rotation axis that extends in the advancing direction of the body, and a control command value input from the control device. Accordingly, a plurality of actuators for driving each joint is provided, and the plurality of actuators includes a first actuator for driving the first joint.
(Mode 3) The second leg portion receives a foot, a plurality of joints including a second joint that rotates the foot around a rotation axis that extends in the advancing direction of the body, and a control command value input from the control device. Accordingly, a plurality of actuators for driving each joint are provided, and the plurality of actuators includes a second actuator for driving the second joint.
(Mode 4) The control device includes an angle calculation unit, a control state determination unit, a command value difference calculation unit, an angle correction unit, a correction angle storage unit, and a control command value output unit.
(Mode 5) The angle calculation unit calculates a target angle of each joint at a predetermined cycle based on an operation to be executed by the walking robot.
(Mode 6) The control state determination unit determines whether or not the state in which the right leg portion and the left leg portion are grounded continues for a predetermined time or more based on an operation to be executed by the walking robot.
(Mode 7) The command value difference calculation unit calculates the difference between the control command value output to the first actuator in the previous cycle and the control command value output to the second actuator in the previous cycle.
(Mode 8) When the control state determination unit determines that the state in which the right leg and the left leg are in contact with each other continues for a predetermined time or longer, the angle correction unit controls the control command of the previous cycle calculated by the command value difference calculation unit. When the value difference is equal to or greater than the threshold value, the target angles of the first joint and the second joint calculated by the angle calculation unit are corrected.
(Mode 9) The correction angle storage unit stores the correction angles of the target angles of the first joint and the second joint by the angle correction unit.
(Mode 10) When the angle correction unit corrects the target angle, the control command value output unit outputs a control command value to the first actuator and the second actuator according to the target angle corrected by the angle correction unit. When the correction unit does not correct the target angle, the control command value is output to the first actuator and the second actuator according to the target angle calculated by the angle calculation unit.
(Mode 11) The angle correction unit sets the target angles of the first joint and the second joint calculated by the angle calculation unit in a direction opposite to the direction in which the control command value of the previous cycle of the joint drives the joint. Correct only the angle.
(Mode 12) When the correction angle storage unit stores the correction angle of the previous cycle, the angle correction unit is only a correction angle larger than the correction angle of the previous cycle stored in the correction angle storage unit. Correct the target angle.
(Mode 13) The angle correction unit corrects the target angle by the maximum correction angle when the correction angle of the previous cycle stored in the angle correction unit is equal to or greater than the maximum correction angle.

本発明の一実施例に係る歩行ロボット10について図面を参照して説明する。図1に示すように、歩行ロボット10は、複数のパーツが関節18で接続されることによって構成されている。すなわち、歩行ロボット10は、本体11と、その本体11と関節18を介して接続された頭部12、左腕部13、右腕部14、右脚部15、左脚部16によって構成されている。左腕部13及び右腕部14は、複数のパーツが関節(肘関節,手首関節)18を介して接続されることによって構成されている。右脚部15は、一端が本体11と関節(股関節)18を介して接続された上腿部15a、その上腿部15aの他端と関節(膝関節)18を介して接続された下腿部15b、その下腿部15bの他端と足首関節(2つの関節20、22)を介して接続された足平15cによって構成されている。左脚部16は、一端が本体11と関節(股関節)18を介して接続された上腿部16a、その上腿部16aの他端と関節(膝関節)18を介して接続された下腿部16b、その下腿部16bの他端と足首関節(2つの関節24、26)を介して接続された足平16cによって構成されている。   A walking robot 10 according to an embodiment of the present invention will be described with reference to the drawings. As shown in FIG. 1, the walking robot 10 is configured by connecting a plurality of parts by joints 18. That is, the walking robot 10 includes a main body 11, a head 12, a left arm part 13, a right arm part 14, a right leg part 15, and a left leg part 16 connected to the main body 11 via a joint 18. The left arm portion 13 and the right arm portion 14 are configured by connecting a plurality of parts via joints (elbow joints, wrist joints) 18. The right leg 15 has one end connected to the main body 11 via a joint (hip joint) 18 and a lower leg connected to the other end of the upper leg 15 a via a joint (knee joint) 18. It is comprised by the foot 15c connected via the part 15b and the other end of the leg part 15b, and the ankle joint (two joints 20 and 22). The left leg 16 has an upper leg 16 a having one end connected to the main body 11 via a joint (hip joint) 18, and a lower leg connected to the other end of the upper leg 16 a via a joint (knee joint) 18. The leg 16c is connected to the other end of the leg 16b and the lower leg 16b via the ankle joints (two joints 24 and 26).

図3に示すように、各関節18はモータ18aを備えている。各モータ18aは、後述する制御装置30と電気的に接続されている。各モータ18aは、制御装置30から制御指令値を入力されることで駆動する。関節18は、モータ18aを駆動することによってその角度を変更される。また、各モータ18aには、関節18の角度(より詳細には、歩行ロボット10の直立状態(図1の状態)における関節18の角度に対する角度)を検出するエンコーダ18bが設置されている。各エンコーダ18bは、制御装置30と電気的に接続されている。各エンコーダ18bが検出した各関節18の角度は、制御装置30に入力される。   As shown in FIG. 3, each joint 18 includes a motor 18a. Each motor 18a is electrically connected to a control device 30 described later. Each motor 18a is driven by receiving a control command value from the control device 30. The angle of the joint 18 is changed by driving the motor 18a. Each motor 18a is provided with an encoder 18b that detects an angle of the joint 18 (more specifically, an angle with respect to the angle of the joint 18 in the upright state of the walking robot 10 (the state shown in FIG. 1)). Each encoder 18b is electrically connected to the control device 30. The angle of each joint 18 detected by each encoder 18 b is input to the control device 30.

同様に、関節20は、制御装置30から入力される制御指令値によって関節20の角度を変更するモータ20aを備えており、そのモータ20aには関節20の角度θ20を検出して制御装置30に入力するエンコーダ20bが設置されている。
同様に、関節22は、制御装置30から入力される制御指令値によって関節22の角度を変更するモータ22aを備えており、そのモータ22aには関節22の角度θ22を検出して制御装置30に入力するエンコーダ22bが設置されている。
同様に、関節24は、制御装置30から入力される制御指令値によって関節24の角度を変更するモータ24aを備えており、そのモータ24aには関節24の角度θ24を検出して制御装置30に入力するエンコーダ24bが設置されている。
同様に、関節26は、制御装置30から入力される制御指令値によって関節26の角度を変更するモータ26aを備えており、そのモータ26aには関節26の角度θ26を検出して制御装置30に入力するエンコーダ26bが設置されている。
Similarly, the joint 20 includes a motor 20a that changes the angle of the joint 20 according to a control command value input from the control device 30, and the motor 20a detects the angle θ20 of the joint 20 to the control device 30. An input encoder 20b is installed.
Similarly, the joint 22 includes a motor 22 a that changes the angle of the joint 22 according to a control command value input from the control device 30. The motor 22 a detects the angle θ22 of the joint 22 and sends it to the control device 30. An encoder 22b for input is installed.
Similarly, the joint 24 includes a motor 24 a that changes the angle of the joint 24 according to a control command value input from the control device 30, and the motor 24 a detects the angle θ24 of the joint 24 to the control device 30. An encoder 24b for input is installed.
Similarly, the joint 26 includes a motor 26 a that changes the angle of the joint 26 according to a control command value input from the control device 30, and the motor 26 a detects the angle θ 26 of the joint 26 to the control device 30. An input encoder 26b is installed.

図2は、右脚部15の関節20、22及び左脚部16の関節24、26の拡大図を示している。
関節20は、足平15cを下腿部15bに対して回転軸20c周りに回転させる。エンコーダ20bは、関節20の回転軸20c周りの角度θ20を検出する。
また、関節22は、足平15cを下腿部15bに対して回転軸22c周りに回転させる。エンコーダ22bは、関節22の回転軸22c周りの角度θ22を検出する。
また、関節24は、足平16cを下腿部16bに対して回転軸24c周りに回転させる。エンコーダ24bは、関節24の回転軸24c周りの角度θ24を検出する。
また、関節26は、足平16cを下腿部16bに対して回転軸26c周りに回転させる。エンコーダ26bは、関節26の回転軸26c周りの角度θ26を検出する。
図から明らかなように、右脚部15の関節20は、左脚部16の関節24に対応する。また、右脚部15の関節22は、左脚部16の関節26に対応する。
FIG. 2 shows an enlarged view of the joints 20 and 22 of the right leg 15 and the joints 24 and 26 of the left leg 16.
The joint 20 rotates the foot 15c around the rotation axis 20c with respect to the crus 15b. The encoder 20b detects an angle θ20 around the rotation axis 20c of the joint 20.
Further, the joint 22 rotates the foot 15c around the rotation axis 22c with respect to the crus 15b. The encoder 22b detects an angle θ22 around the rotation axis 22c of the joint 22.
In addition, the joint 24 rotates the foot 16c around the rotation axis 24c with respect to the crus 16b. The encoder 24b detects an angle θ24 around the rotation axis 24c of the joint 24.
Further, the joint 26 rotates the foot 16c around the rotation axis 26c with respect to the crus 16b. The encoder 26b detects an angle θ26 around the rotation axis 26c of the joint 26.
As is apparent from the figure, the joint 20 of the right leg 15 corresponds to the joint 24 of the left leg 16. Further, the joint 22 of the right leg 15 corresponds to the joint 26 of the left leg 16.

図3に示すように、歩行ロボット10は制御装置30を備えている。制御装置30は、角度算出部32と、角度補正部36と、補正角度記憶部34と、制御指令値出力部38と、制御状態判定部40と、指令値差算出部42を備えている。制御装置30は、各関節(複数の関節18及び関節20〜26)のモータと電気的に接続されている。また、制御装置30は、各関節のエンコーダと電気的に接続されている。制御装置30には、各エンコーダから各関節の角度が入力される。   As shown in FIG. 3, the walking robot 10 includes a control device 30. The control device 30 includes an angle calculation unit 32, an angle correction unit 36, a correction angle storage unit 34, a control command value output unit 38, a control state determination unit 40, and a command value difference calculation unit 42. The control device 30 is electrically connected to the motor of each joint (a plurality of joints 18 and joints 20 to 26). Moreover, the control apparatus 30 is electrically connected with the encoder of each joint. The angle of each joint is input to the control device 30 from each encoder.

制御装置30は、歩行ロボット10に実行させる動作に基づいて、歩行ロボット10の各関節の目標角度を算出する。そして、算出した各関節の目標角度と、エンコーダから入力された各関節の現在角度に基づいて、制御指令値を算出する。そして算出した制御指令値を各関節のモータに出力する。これによって、各関節の角度が目標角度に制御される。制御装置30は、所定周期で各関節に制御指令値を出力する。したがって、各関節の角度が所定周期で変更され、歩行ロボット10が動作を実行する。
また、制御装置30は、歩行ロボット10の各関節の目標角速度及び目標角加速度を算出し、エンコーダから入力される検出信号から現在の関節の角速度及び角加速度を算出し、これらの差分値に基づいて各モータに制御指令値を出力する。
The control device 30 calculates a target angle of each joint of the walking robot 10 based on an operation to be executed by the walking robot 10. Then, a control command value is calculated based on the calculated target angle of each joint and the current angle of each joint input from the encoder. The calculated control command value is output to the motor of each joint. Thereby, the angle of each joint is controlled to the target angle. The control device 30 outputs a control command value to each joint at a predetermined cycle. Therefore, the angle of each joint is changed at a predetermined cycle, and the walking robot 10 executes an operation.
In addition, the control device 30 calculates the target angular velocity and target angular acceleration of each joint of the walking robot 10, calculates the angular velocity and angular acceleration of the current joint from the detection signal input from the encoder, and based on these difference values. Output the control command value to each motor.

また、制御装置30は、関節26のモータ26aに前回の周期に出力した制御指令値T26(以下では、モータ26aに前回の周期に出力した制御指令値T26を制御指令値T26−1という)と、関節22のモータ22aに前回の周期に出力した制御指令値T22(以下では、モータ22aに前回の周期に出力した制御指令値T22を制御指令値T22−1という)の差(以下では、指令値差ΔT1という)を算出し、指令値差ΔT1に基づいて足平15c、16cが正常に接地しているか否かを判定する。同様に、制御装置30は、関節24のモータ24aに前回の周期に出力した制御指令値T24(以下では、モータ24aに前回の周期に出力した制御指令値T24を制御指令値T24−1という)と、関節20のモータ20aに前回の周期に出力した制御指令値T20(以下では、モータ20aに前回の周期に出力した制御指令値T20を制御指令値T20−1という)の差(以下では、指令値差ΔT2という)に基づいて、足平15cまたは足平16cが正常に接地しているか否かを判定する。 Further, the control device 30, the control command value to the motor 26a of the joint 26 and output to the previous cycle T26 (hereinafter, the control command value T26 outputted to the previous cycle to the motor 26a of the control command value T26 -1) and (in the following, the control command value control command value T22 outputted to the previous cycle of T22 -1 to the motor 22a) last output to the periodic control command value T22 to the motor 22a of the joint 22 the difference (hereinafter, command A value difference ΔT1) is calculated, and it is determined based on the command value difference ΔT1 whether the feet 15c and 16c are normally grounded. Similarly, control device 30, the control command value T24 outputted to the previous cycle to the motor 24a of the joint 24 (hereinafter, the control command value T24 outputted to the previous cycle to the motor 24a of the control command value T24 -1) When the control command value T20 that the motor 20a of the joint 20 and output to the previous cycle (hereinafter, the motor 20a to that previous control command value control command value T20 outputted to the period T20 -1) difference (hereinafter, Based on the command value difference ΔT2, it is determined whether the foot 15c or the foot 16c is normally grounded.

例えば、図4に示すように左脚部16が床面上の障害物80に乗り上げると、足平16cが外側近傍の点Aで障害物80と接触し、足平15cが外側近傍の点Bで床面と接触し、歩行ロボット10が右方向に傾く。
足平16cが点Aで障害物80と接触すると、接触点Aから足平16cに床反力F1が作用する。これによって、足平16cには、関節26の回転軸26c周りにモーメントM1が作用する。制御装置30は、関節26の角度を目標角度に維持するため、モータ26aに制御指令値T26を出力し、関節26をモーメントM1を打ち消す方向にトルクM1’で駆動する。
また、足平15cには接触点Bから床反力F2が作用し、足平15cには関節22の回転軸22c周りにモーメントM2が作用する。制御装置30は、関節22の角度を目標角度に維持するため、モータ22aに制御指令値T22を出力し、関節22をモーメントM2を打ち消す方向にトルクM2’で駆動する。
以上のように、足平15c、16cが正常に接地できず、足平15c、16cにモーメントが作用すると、制御装置30はモータ22a、26aをモーメントを打ち消す方向に駆動する。したがって、制御装置30は、両足立脚時においてもモータ22aおよびモータ26aを高いトルクで駆動することとなる。
また、歩行ロボット10が傾いていると、足平15cに作用する床反力F2と足平16cに作用する床反力F1の大きさが異なる。また、床反力F2に対してモーメントM2が作用する方向(図4の角度φ2)と、床反力F1に対してモーメントM1が作用する方向(図4の角度φ1)も異なる。したがって、足平15cに作用するモーメントM2の大きさと、足平16cに作用するモーメントM1の大きさは異なることとなる。このため、モータ22aの駆動トルクM2’とモータ26aの駆動トルクM1’の大きさも異なる。すなわち、モータ22aに入力される制御指令値T22と、モータ26aに入力される制御指令値T26の大きさは異なる。したがって、制御指令値T22の大きさ(絶対値)と制御指令値T26の大きさ(絶対値)の差によって歩行ロボット10が正常に接地しているか否かを判定することができる。
したがって、モータ22aに前回の周期に出力した制御指令値T22−1とモータ26aに前回の周期に出力した制御指令値T26−1の差ΔT1から、歩行ロボット10の左右方向において、足平15c、16cが正常に接地しているか否かを判定することができる。
For example, as shown in FIG. 4, when the left leg 16 rides on an obstacle 80 on the floor, the foot 16c comes into contact with the obstacle 80 at a point A near the outside, and the foot 15c is a point B near the outside. In contact with the floor surface, the walking robot 10 tilts to the right.
When the foot 16c comes into contact with the obstacle 80 at the point A, the floor reaction force F1 acts on the foot 16c from the contact point A. As a result, a moment M1 acts on the foot 16c around the rotation axis 26c of the joint 26. In order to maintain the angle of the joint 26 at the target angle, the control device 30 outputs a control command value T26 to the motor 26a, and drives the joint 26 with the torque M1 ′ in a direction to cancel the moment M1.
Further, a floor reaction force F2 is applied to the foot 15c from the contact point B, and a moment M2 is applied to the foot 15c around the rotation axis 22c of the joint 22. In order to maintain the angle of the joint 22 at the target angle, the control device 30 outputs a control command value T22 to the motor 22a, and drives the joint 22 with a torque M2 ′ in a direction to cancel the moment M2.
As described above, when the feet 15c and 16c cannot be properly grounded and a moment acts on the feet 15c and 16c, the control device 30 drives the motors 22a and 26a in a direction to cancel the moment. Therefore, the control device 30 drives the motor 22a and the motor 26a with high torque even when both legs are standing.
Further, when the walking robot 10 is tilted, the magnitudes of the floor reaction force F2 acting on the foot 15c and the floor reaction force F1 acting on the foot 16c are different. Further, the direction in which the moment M2 acts on the floor reaction force F2 (angle φ2 in FIG. 4) is different from the direction in which the moment M1 acts on the floor reaction force F1 (angle φ1 in FIG. 4). Therefore, the magnitude of the moment M2 acting on the foot 15c is different from the magnitude of the moment M1 acting on the foot 16c. For this reason, the magnitudes of the drive torque M2 ′ of the motor 22a and the drive torque M1 ′ of the motor 26a are also different. That is, the control command value T22 input to the motor 22a is different from the control command value T26 input to the motor 26a. Therefore, whether or not the walking robot 10 is normally grounded can be determined based on the difference between the magnitude (absolute value) of the control command value T22 and the magnitude (absolute value) of the control command value T26.
Therefore, the difference ΔT1 control command value T26 -1 outputted in the previous cycle to the control command value T22 -1 and a motor 26a which is output to the previous cycle to the motor 22a, in the lateral direction of the walking robot 10, foot 15c, It can be determined whether 16c is normally grounded.

また、図5に示すように左脚部16が床面上の障害物82に乗り上げると、足平16cが前側近傍の点Cで障害物82と接触し、足平15cが後側近傍の点Dで床面と接触し、歩行ロボット10が後側に傾く。
足平16cが点Cで障害物82と接触すると、接触点Cから足平16cに床反力F3が作用する。このため、足平16cには、関節24の回転軸24c周りにモーメントM3が作用する。制御装置30は、関節24の角度を目標角度に維持するため、モータ24aに制御指令値T24を出力し、関節24をモーメントM3を打ち消す方向にトルクM3’で駆動する。
また、足平15cには接触点Dから床反力F4が作用し、足平15cには関節20の回転軸20c周りにモーメントM4が作用する。制御装置30は、関節20の角度を目標角度に維持するため、モータ20aに制御指令値T20を出力し、関節20をモーメントM4を打ち消す方向にトルクM4’で駆動する。
以上のように、足平15c、16cが正常に接地できず、足平15c、16cにモーメントが作用すると、制御装置30はモータ20a、24aをモーメントを打ち消す方向に駆動する。したがって、制御装置30は、両足立脚時においてもモータ20aおよびモータ24aを高いトルクで駆動することとなる。
このとき、足平15cに作用するモーメントM4の大きさと、足平16cに作用するモーメントM3の大きさは異なる。したがって、モータ20aに入力される制御指令値T20と、モータ24aに入力される制御指令値T24の大きさも異なる。
したがって、モータ20aに前回の周期に出力した制御指令値T20−1とモータ24aに前回の周期に出力した制御指令値T24−1の差ΔT2から、歩行ロボット10の前後方向において、足平15c、16cが正常に接地しているか否かを判定することができる。
As shown in FIG. 5, when the left leg 16 rides on the obstacle 82 on the floor, the foot 16c comes into contact with the obstacle 82 at a point C near the front side, and the foot 15c is a point near the rear side. At D, the robot 10 comes into contact with the floor surface and the walking robot 10 tilts rearward.
When the foot 16c comes into contact with the obstacle 82 at the point C, the floor reaction force F3 acts on the foot 16c from the contact point C. Therefore, a moment M3 acts on the foot 16c around the rotation axis 24c of the joint 24. In order to maintain the angle of the joint 24 at the target angle, the control device 30 outputs a control command value T24 to the motor 24a, and drives the joint 24 with a torque M3 ′ in a direction to cancel the moment M3.
Further, a floor reaction force F4 acts on the foot 15c from the contact point D, and a moment M4 acts on the foot 15c around the rotation axis 20c of the joint 20. In order to maintain the angle of the joint 20 at the target angle, the control device 30 outputs a control command value T20 to the motor 20a, and drives the joint 20 with a torque M4 ′ in a direction to cancel the moment M4.
As described above, when the feet 15c and 16c cannot be properly grounded and a moment acts on the feet 15c and 16c, the control device 30 drives the motors 20a and 24a in a direction to cancel the moment. Therefore, the control device 30 drives the motor 20a and the motor 24a with high torque even when both legs are standing.
At this time, the magnitude of the moment M4 acting on the foot 15c is different from the magnitude of the moment M3 acting on the foot 16c. Therefore, the control command value T20 input to the motor 20a is different from the control command value T24 input to the motor 24a.
Thus, from the difference ΔT2 control command value T24 -1 outputted in the previous cycle to the control command value T20 -1 and a motor 24a which is output to the previous cycle to the motor 20a, in the longitudinal direction of the walking robot 10, foot 15c, It can be determined whether 16c is normally grounded.

制御装置30は、足平15c、16cが正常に接地していないと判定したときは、関節20〜26の目標角度θA20〜θA26を補正する。そして、その補正した目標角度θA20’〜θA26’に基づいて、モータ20a〜26aに制御指令値T20〜T26を出力する。   When it is determined that the feet 15c and 16c are not properly grounded, the control device 30 corrects the target angles θA20 to θA26 of the joints 20 to 26. Based on the corrected target angles θA20 ′ to θA26 ′, control command values T20 to T26 are output to the motors 20a to 26a.

制御装置30がモータ20a〜26aに制御指令値T20〜T26を出力する処理について説明する。モータ20a、24aに制御指令値T20、T24を出力する処理は、モータ22a、26aに制御指令値T22、T26を出力する処理と同じであるので、以下では、モータ22a、26aに制御指令値T22、T26を出力する処理について説明する。   A process in which control device 30 outputs control command values T20 to T26 to motors 20a to 26a will be described. Since the process of outputting the control command values T20 and T24 to the motors 20a and 24a is the same as the process of outputting the control command values T22 and T26 to the motors 22a and 26a, hereinafter, the control command value T22 is output to the motors 22a and 26a. The process of outputting T26 will be described.

制御装置30は、図6に示すフローチャートの処理を所定周期で繰り返し実行することによって、モータ22a、26aに制御指令値T22、T26を所定周期で出力する。後述するが、制御装置30は、制御指令値T22、T26をモータ22a、26aに出力するのと同時に、出力した制御指令値T22、T26を指令値差算出部42で記憶する。したがって、図6のフローチャートの開始時においては、指令値差算出部42には、前回の周期にモータ22a、26aに出力した制御指令値T22−1、T26−1が記憶されている。
また、後述するが、制御装置30は、関節22、26の目標角度θA22、θA26を補正する時に、その補正角度θB1を補正角度記憶部34で記憶する。したがって、図6のフローチャート開始時においては、補正角度記憶部34には、前回の周期における補正角度θB1(以下では、前回の周期における補正角度θB1を、補正角度θB1−1という)が記憶されている。
The control device 30 outputs the control command values T22 and T26 to the motors 22a and 26a at a predetermined cycle by repeatedly executing the processing of the flowchart shown in FIG. 6 at a predetermined cycle. As will be described later, the control device 30 outputs the control command values T22 and T26 to the motors 22a and 26a, and simultaneously stores the output control command values T22 and T26 in the command value difference calculation unit 42. Therefore, at the start of the flowchart of FIG. 6, the command value difference calculation unit 42 stores the control command values T22 −1 and T26 −1 output to the motors 22a and 26a in the previous cycle.
As will be described later, when correcting the target angles θA22 and θA26 of the joints 22 and 26, the control device 30 stores the correction angle θB1 in the correction angle storage unit 34. Therefore, at the start of the flowchart of FIG. 6, the correction angle storage unit 34 stores the correction angle θB1 in the previous cycle (hereinafter, the correction angle θB1 in the previous cycle is referred to as the correction angle θB1 −1 ). Yes.

ステップS2では、制御装置30が、角度算出部32によって、関節22、26の目標角度θA22、θA26を算出する。すなわち、制御装置30は、歩行ロボット10に実行させる動作に基づいて、関節22、26の目標角度θA22、θA26を算出する。例えば、歩行ロボット10を床面上に両足で直立させる場合には、目標角度θA22,θA26は「0」となる。   In step S <b> 2, the control device 30 calculates the target angles θA22 and θA26 of the joints 22 and 26 by the angle calculation unit 32. That is, the control device 30 calculates the target angles θA22 and θA26 of the joints 22 and 26 based on the operation that the walking robot 10 executes. For example, when the walking robot 10 is upright on the floor surface with both feet, the target angles θA22 and θA26 are “0”.

ステップS2と略同時に、制御装置30は、制御状態判定部40によって、右脚部15及び左脚部16が接地した状態を所定時間以上、継続する状態か否かを判定する(ステップS4)。すなわち、制御装置30は、歩行ロボット10に実行させている動作が、歩行ロボット10に所定時間以上、右脚部15及び左脚部16を接地した状態(すなわち、歩行ロボット10が歩行せずに床面に両足で立っている状態)を継続させる動作であるか否かを判定する。したがって、歩行ロボット10に入力された動作データやコマンドから、歩行ロボット10の現在の制御状態が、歩行ロボット10が歩行せずに床面に両足で立っている状態にあるのか否かが判定される。   At substantially the same time as step S2, the control device 30 uses the control state determination unit 40 to determine whether or not the state in which the right leg portion 15 and the left leg portion 16 are grounded continues for a predetermined time or longer (step S4). That is, the control device 30 causes the walking robot 10 to perform an operation in which the walking robot 10 is in contact with the right leg 15 and the left leg 16 for a predetermined time or longer (that is, the walking robot 10 does not walk). It is determined whether or not the operation is to continue the state of standing with both feet on the floor. Therefore, it is determined from the operation data and commands input to the walking robot 10 whether the current control state of the walking robot 10 is in a state where the walking robot 10 is standing on the floor without walking. The

制御装置30は、右脚部15及び左脚部16が接地した状態を所定時間以上、継続すると判定すると(ステップS4でYES)、指令値差算出部42によって指令値差ΔT1を算出する(ステップS6)。具体的には、制御装置30は、指令値差算出部42で記憶している前回の周期の制御指令値T22−1、T26−1から、以下の計算式によって指令値差ΔT1を算出する。 When determining that the state in which the right leg portion 15 and the left leg portion 16 are grounded continues for a predetermined time or longer (YES in step S4), the control device 30 calculates the command value difference ΔT1 by the command value difference calculation unit 42 (step S4). S6). Specifically, the control device 30 calculates the command value difference ΔT1 from the control command values T22 −1 and T26 −1 of the previous cycle stored in the command value difference calculation unit 42 by the following calculation formula.

Figure 0004784432
Figure 0004784432

なお、上式の| |は、| |内の数値の絶対値を表している。すなわち、指令値差ΔT1は、制御指令値T20−1の絶対値と、制御指令値T24−1の絶対値の差の絶対値である。 In the above expression, || represents the absolute value of the numerical value in ||. That is, the command value difference ΔT1 is an absolute value of a difference between the absolute value of the control command value T20 −1 and the absolute value of the control command value T24 −1 .

指令値差ΔT1を算出すると、制御装置30は算出した指令値差ΔT1が閾値ΔTmaxよりも大きいか否かを判定する(ステップS8)。この判定によって、足平15c、16cが正常に接地しているか否かが判定される。すなわち、足平15c、16cが正常に接地していない場合は、指令値差ΔT1が閾値ΔTmaxより大きくなる。 After calculating the command value difference Delta] T1, the controller 30 determines whether or not the command value difference Delta] T1 calculated is larger than a threshold [Delta] T max (step S8). By this determination, it is determined whether or not the feet 15c and 16c are normally grounded. That is, when the feet 15c and 16c are not normally grounded, the command value difference ΔT1 is larger than the threshold value ΔTmax.

制御装置30は、指令値差ΔT1が閾値ΔTmaxよりも大きいと判定すると(ステップS8でYES)、角度補正部36によって、補正角度記憶部34で記憶している前回の周期の補正角度θB1−1を読み出す。そして、読み出した補正角度θB1−1に単位補正角度ΔθB(一定角度)を加算した値を算出する。そして、加算値θB1−1+ΔθBが最大補正角度θB1max以上であるか否かを判定する(ステップS10)。 Controller 30, a command value difference ΔT1 is determined to be greater than the threshold value [Delta] T max (YES in step S8), and the angle correcting section 36, of the previous cycle that is stored in the correction angle storage unit 34 corrects the angle Shitabi1 - 1 is read. Then, a value obtained by adding the unit correction angle ΔθB (constant angle) to the read correction angle θB1 −1 is calculated. Then, it is determined whether or not the added value θB1 −1 + ΔθB is equal to or greater than the maximum correction angle θB1 max (step S10).

制御装置30は、加算値θB1−1+ΔθBが最大補正角度θB1maxよりも小さいと判定すると(ステップS10でNO)、加算値θB1−1+ΔθBを今回の周期の補正角度θB1として決定する(ステップS12)。決定された補正角度θB1(=θB1−1+ΔθB)は、補正角度記憶部34に記憶される。次回の周期における補正角度θB1の決定時には、今回の周期で記憶した補正角度θB1が補正角度θB1−1として読み出される。 If control device 30 determines that addition value θB1 −1 + ΔθB is smaller than maximum correction angle θB1 max (NO in step S10), control device 30 determines addition value θB1 −1 + ΔθB as correction angle θB1 for the current cycle (step S12). ). The determined correction angle θB1 (= θB1 −1 + ΔθB) is stored in the correction angle storage unit 34. When determining the correction angle Shitabi1 in the next cycle, the correction angle Shitabi1 stored in the current cycle is read as the correction angle θB1 -1.

制御装置30は、補正角度θB1をθB1−1+ΔθBに決定すると、角度算出部32で算出した目標角度θA22、θA26を補正する。(ステップS24)。
すなわち、制御装置30は、目標角度θA22を、前回の周期の制御指令値T22−1による関節22の駆動方向と逆方向に、補正角度θB1(=θB1−1+ΔθB)だけ補正した目標角度θA22’を算出する。同様に、目標角度θA26を、制御指令値T26−1による関節26の駆動方向と逆方向に、補正角度θB1だけ補正した目標角度θA26’を算出する。
例えば、図4の例では、目標角度θA22を、トルクM2’の方向と逆方向(すなわち、モーメントM2の方向)に、補正角度θB1だけ補正した目標角度θA22’を算出し、目標角度θA26をトルクM1’の方向と逆方向(すなわち、モーメントM1の方向)に、補正角度θB1だけ補正した目標角度θA26’を算出する。
When determining the correction angle θB1 to be θB1 −1 + ΔθB, the control device 30 corrects the target angles θA22 and θA26 calculated by the angle calculation unit 32. (Step S24).
That is, the control unit 30, a target angle Shitaei22, the drive direction opposite the direction of the joint 22 by the control command value T22 -1 of the previous period, the correction angle θB1 (= θB1 -1 + ΔθB) only corrected target angle Shitaei22 ' Is calculated. Similarly, the target angle Shitaei26, the drive direction opposite the direction of the joint 26 by the control command value T26 -1, calculates a target angle Shitaei26 'corrected by a correction angle Shitabi1.
For example, in the example of FIG. 4, the target angle θA22 ′ is calculated by correcting the target angle θA22 by the correction angle θB1 in the direction opposite to the direction of the torque M2 ′ (that is, the direction of the moment M2). A target angle θA26 ′ corrected by the correction angle θB1 in the direction opposite to the direction of M1 ′ (that is, the direction of moment M1) is calculated.

制御装置30は、目標角度θA22’、θA26’を算出すると、制御指令値出力部38によって制御指令値T22、T26を算出し、その制御指令値T22、T26をモータ22a、26aに出力する(ステップS26)。すなわち、制御装置30は、ステップS16で算出した関節22の補正後の目標角度θA22’と、エンコーダ22bが検出した関節22の現在角度θ22に基づいて、制御指令値T22を算出する。そして、算出した制御指令値T22をモータ22aに出力する。これによって、関節22が駆動され、関節22の角度が目標角度θA22’と略等しくなる。同様に、制御装置30は、ステップS16で算出した関節26の補正後の目標角度θA26’と、エンコーダ26bが検出した関節26の現在角度θ26に基づいて、制御指令値T26を算出する。そして、算出した制御指令値T26をモータ26aに出力する。これによって、関節26が駆動され、関節26の角度が目標角度θA26’と略等しくなる。
また、制御装置30は、算出した制御指令値T22、T26を、指令値差算出部42で記憶する。指令値差算出部42で記憶された今回の周期の制御指令値T22、T26は、次回の周期の処理において、前回の周期の制御指令値T22−1、26−1として用いられる。
When calculating the target angles θA22 ′ and θA26 ′, the control device 30 calculates the control command values T22 and T26 by the control command value output unit 38, and outputs the control command values T22 and T26 to the motors 22a and 26a (step). S26). That is, the control device 30 calculates the control command value T22 based on the corrected target angle θA22 ′ of the joint 22 calculated in step S16 and the current angle θ22 of the joint 22 detected by the encoder 22b. Then, the calculated control command value T22 is output to the motor 22a. As a result, the joint 22 is driven, and the angle of the joint 22 becomes substantially equal to the target angle θA22 ′. Similarly, the control device 30 calculates the control command value T26 based on the corrected target angle θA26 ′ of the joint 26 calculated in step S16 and the current angle θ26 of the joint 26 detected by the encoder 26b. Then, the calculated control command value T26 is output to the motor 26a. As a result, the joint 26 is driven, and the angle of the joint 26 becomes substantially equal to the target angle θA26 ′.
In addition, the control device 30 stores the calculated control command values T22 and T26 in the command value difference calculation unit 42. The control command values T22 and T26 of the current cycle stored in the command value difference calculation unit 42 are used as the control command values T22 -1 and 26 -1 of the previous cycle in the next cycle processing.

また、制御装置30は、ステップS10で加算値θB1−1+ΔθBが最大補正角度θB1max以上であると判定すると(すなわち、YES)、角度補正部36によって、最大補正角度θB1maxを今回の周期の補正角度θB1として決定する(ステップS14)。決定された補正角度θB1(=θB1max)は、補正角度記憶部34に記憶される。
制御装置30は、補正角度θB1をθB1maxに決定すると、決定した補正角度θB1(=θB1max)によって目標角度θA22、θA26を補正し(ステップS24)、補正後の目標角度θA22’、θA26’と、関節22、26の現在角度θ22、θ26に基づいて制御指令値T22、T26を算出する。そして、算出した制御指令値T22、T26をモータ22a、26aに出力する(ステップS26)。このとき、制御装置30は、算出した制御指令値T22、T26を、指令値差算出部42で記憶する。
If the controller 30 determines in step S10 that the added value θB1 −1 + ΔθB is greater than or equal to the maximum correction angle θB1 max (ie, YES), the angle correction unit 36 sets the maximum correction angle θB1 max to the current cycle. The correction angle θB1 is determined (step S14). The determined correction angle θB1 (= θB1 max ) is stored in the correction angle storage unit 34.
When the correction angle θB1 is determined to be θB1 max , the control device 30 corrects the target angles θA22 and θA26 by the determined correction angle θB1 (= θB1 max ) (step S24), and corrected target angles θA22 ′ and θA26 ′. The control command values T22 and T26 are calculated based on the current angles θ22 and θ26 of the joints 22 and 26. Then, the calculated control command values T22 and T26 are output to the motors 22a and 26a (step S26). At this time, the control device 30 stores the calculated control command values T22 and T26 in the command value difference calculation unit 42.

また、制御装置30は、ステップS8で、指令値差ΔT1が閾値ΔTmax以下であると判定すると(すなわち、NO)、角度補正部36によって、前回の周期の補正角度θB1−1を今回の周期の補正角度θB1として決定する(ステップS16)。すなわち、制御装置30は、補正角度θB1を変更しない。決定された補正角度θB1(=θB1−1)は、補正角度記憶部34に記憶される。
制御装置30は、補正角度θB1をθB1−1に決定すると、決定した補正角度θB1(=θB1−1)によって目標角度θA22、θA26を補正し(ステップS24)、補正後の目標角度θA22’、θA26’と、関節22、26の現在角度θ22、θ26に基づいて制御指令値T22、T26を算出する。そして、算出した制御指令値T22、T26をモータ22a、26aに出力する(ステップS26)。このとき、制御装置30は、算出した制御指令値T22、T26を、指令値差算出部42で記憶する。
Further, the control device 30, at step S8, the command value difference ΔT1 is determined to be equal to or less than the threshold value [Delta] T max (i.e., NO), the angle corrector 36, the correction angle Shitabi1 -1 of the previous period of the current cycle Is determined as a correction angle θB1 (step S16). That is, the control device 30 does not change the correction angle θB1. The determined correction angle θB1 (= θB1 −1 ) is stored in the correction angle storage unit 34.
When determining the correction angle θB1 to be θB1 −1 , the control device 30 corrects the target angles θA22 and θA26 by the determined correction angle θB1 (= θB1 −1 ) (step S24), and the corrected target angles θA22 ′ and θA26. 'And control command values T22 and T26 are calculated based on the current angles θ22 and θ26 of the joints 22 and 26. Then, the calculated control command values T22 and T26 are output to the motors 22a and 26a (step S26). At this time, the control device 30 stores the calculated control command values T22 and T26 in the command value difference calculation unit 42.

また、制御装置30は、ステップS4で、歩行ロボット10が右脚部15及び左脚部16を接地した状態が所定時間以上、継続しない状態にあると判定すると(すなわち、NO)、補正角度記憶部34で記憶している補正角度θB1−1が0であるか否かを判定する(ステップS18)。
制御装置30は、補正角度θB1−1が0であると判定すると(ステップS18でYES)、角度補正部36によって、0を今回の周期の補正角度θB1として決定する(ステップS20)。決定された補正角度θB1(=0)は、補正角度記憶部34に記憶される。すなわち、補正角度記憶部34で記憶している補正角度は0のまま変更されない。
制御装置30は、補正角度θB1を0に決定すると、ステップS24で目標角度θA22、θA26を補正せず、(補正角度0で補正するともいえる)、角度算出部32で算出した目標角度θA22、θA26(目標角度θA22、θA26を補正角度0で補正した目標角度θA22’、θA26’ともいえる)と、関節22、26の現在角度θ22、θ26に基づいて制御指令値T22、T26を算出する。そして、算出した制御指令値T22、T26をモータ22a、26aに出力する(ステップS26)。このとき、制御装置30は、算出した制御指令値T22、T26を、指令値差算出部42で記憶する。
If the control device 30 determines in step S4 that the walking robot 10 has not been in contact with the right leg portion 15 and the left leg portion 16 for a predetermined time or longer (ie, NO), the correction angle storage is performed. It is determined whether or not the correction angle θB1 −1 stored in the unit 34 is 0 (step S18).
When determining that the correction angle θB1 −1 is 0 (YES in step S18), the control device 30 determines 0 as the correction angle θB1 of the current cycle by the angle correction unit 36 (step S20). The determined correction angle θB1 (= 0) is stored in the correction angle storage unit 34. That is, the correction angle stored in the correction angle storage unit 34 remains 0 and is not changed.
When the correction angle θB1 is determined to be 0, the control device 30 does not correct the target angles θA22 and θA26 in step S24 (it can also be corrected at the correction angle 0), but the target angles θA22 and θA26 calculated by the angle calculation unit 32. Based on the target angles θA22 ′ and θA26 ′ obtained by correcting the target angles θA22 and θA26 with the correction angle 0, the control command values T22 and T26 are calculated based on the current angles θ22 and θ26 of the joints 22 and 26. Then, the calculated control command values T22 and T26 are output to the motors 22a and 26a (step S26). At this time, the control device 30 stores the calculated control command values T22 and T26 in the command value difference calculation unit 42.

また、制御装置30は、補正角度θB1−1が0でないと判定すると(ステップS18でNO)、角度補正部36によって、前回の周期の補正角度θB1−1から単位補正角度ΔθBを減算した値を算出する。そして、その減算値θB1−1−ΔθBを今回の周期の補正角度θB1として決定する(ステップS22)。決定された補正角度θB1(=θB1−1−ΔθB)は、補正角度記憶部34に記憶される。これによって、歩行ロボット10の一方の脚部が障害物80等に乗り上げた状態(図4,5に示す状態等)から歩き始める際には、足首関節の補正角度θBが徐々に0に戻されることとなる。
制御装置30は、補正角度θB1をθB1−1−ΔθBに決定すると、決定した補正角度θB1(=θB1−1−ΔθB)によって目標角度θA22、θA26を補正し(ステップS24)、補正後の目標角度θA22’、θA26’と、関節22、26の現在角度θ22、θ26に基づいて制御指令値T22、T26を算出する。そして、算出した制御指令値T22、T26をモータ22a、26aに出力する(ステップS26)。このとき、制御装置30は、算出した制御指令値T22、T26を、指令値差算出部42で記憶する。
Further, when the control device 30 determines that the correction angle θB1 −1 is not 0 (NO in step S18), the angle correction unit 36 subtracts the unit correction angle ΔθB from the correction angle θB1 −1 of the previous cycle. calculate. Then, the subtraction value θB1 −1 −ΔθB is determined as the correction angle θB1 of the current cycle (step S22). The determined correction angle θB1 (= θB1 −1 −ΔθB) is stored in the correction angle storage unit 34. As a result, when one of the legs of the walking robot 10 starts walking from a state where the leg 10 rides on the obstacle 80 or the like (the state shown in FIGS. 4 and 5), the ankle joint correction angle θB is gradually returned to zero. It will be.
When determining the correction angle θB1 to be θB1 −1 −ΔθB, the control device 30 corrects the target angles θA22 and θA26 with the determined correction angle θB1 (= θB1 −1 −ΔθB) (step S24), and the corrected target angle Control command values T22 and T26 are calculated based on θA22 ′ and θA26 ′ and the current angles θ22 and θ26 of the joints 22 and 26. Then, the calculated control command values T22 and T26 are output to the motors 22a and 26a (step S26). At this time, the control device 30 stores the calculated control command values T22 and T26 in the command value difference calculation unit 42.

以上に説明したように、制御装置30は、関節22、26の目標角度θA22、26を補正し、補正後の目標角度θA22’、θA26’にしたがって、モータ22a、26aに制御指令値T22、T26を出力する。図6の処理は所定周期で繰り返し実行されるので、モータ22a、26aには所定周期で制御指令値T22、T26が入力される。   As described above, the control device 30 corrects the target angles θA22 and 26 of the joints 22 and 26, and controls the motors 22a and 26a with the control command values T22 and T26 according to the corrected target angles θA22 ′ and θA26 ′. Is output. Since the process of FIG. 6 is repeatedly executed at a predetermined cycle, control command values T22 and T26 are input to the motors 22a and 26a at a predetermined cycle.

例えば、歩行ロボット10が、補正角度θB1−1が0の状態で歩行を開始する場合、歩行中は右脚部15及び左脚部16を接地した状態が所定時間以上、継続しないので、制御装置30は、ステップS4でNOと判定する。また、制御装置30は、前回の周期の補正角度θB1−1が0であるので、今回の周期の補正角度θB1を0に決定する(ステップS20)。また、今回の周期の補正角度θB1が0であるので、次回の周期の補正時にも補正角度θB1は0となる。したがって、歩行ロボット10は、関節22、26の角度を補正することなく歩行する。
このように、右脚部15及び左脚部16を接地した状態が所定時間以上、継続しないときは、右脚部15または左脚部16が障害物等に乗り上げたとしても関節22、26が所定時間以上、継続して高いトルクで駆動しない。したがって、関節22、26の角度は補正されない。
For example, when the walking robot 10 starts walking with the correction angle θB1 −1 being 0, the state in which the right leg 15 and the left leg 16 are grounded does not continue for a predetermined time or longer during walking. 30 determines NO in step S4. Further, since the correction angle θB1 −1 of the previous cycle is 0, the control device 30 determines the correction angle θB1 of the current cycle to 0 (step S20). Further, since the correction angle θB1 of the current cycle is 0, the correction angle θB1 is also 0 when the next cycle is corrected. Therefore, the walking robot 10 walks without correcting the angles of the joints 22 and 26.
Thus, when the state where the right leg 15 and the left leg 16 are grounded does not continue for a predetermined time or longer, even if the right leg 15 or the left leg 16 rides on an obstacle or the like, the joints 22 and 26 Do not drive at a high torque continuously for a predetermined time or longer. Therefore, the angles of the joints 22 and 26 are not corrected.

一方、歩行ロボット10が歩行を停止すると、制御装置30は、右脚部15及び左脚部16を接地した状態が所定時間以上、継続すると判定する(ステップS4でYES)。そして、制御装置30は、指令値差ΔT1が閾値ΔTmaxより大きいか否かを判定する(ステップS8)。 On the other hand, when walking robot 10 stops walking, control device 30 determines that the state in which right leg portion 15 and left leg portion 16 are grounded continues for a predetermined time or longer (YES in step S4). Then, control device 30 determines whether or not command value difference ΔT1 is larger than threshold value ΔT max (step S8).

歩行の停止時に、足平15c、16cが正常に接地していると、指令値差ΔT1が大きくならないので、制御装置30はステップS8でNOと判定する。すると、制御装置30は補正角度θB1をθB1−1に決定する(ステップS16)。上述したように、歩行時には、補正角度θB1は0であったので、このときのθB1−1は0となっている。したがって、補正角度θB1は0に決定される。また、今回の周期の補正角度θB1が0であるので、次回の周期の処理でも補正角度θB1は0に決定される。したがって、歩行ロボット10は、関節22、26の角度を補正しない。 If the feet 15c and 16c are normally grounded when walking is stopped, the command value difference ΔT1 does not increase, so the control device 30 determines NO in step S8. Then, the control device 30 determines the correction angle θB1 to θB1 −1 (step S16). As described above, the correction angle θB1 is 0 at the time of walking, and θB1 −1 at this time is 0. Therefore, the correction angle θB1 is determined to be 0. Further, since the correction angle θB1 of the current cycle is 0, the correction angle θB1 is determined to be 0 even in the next cycle processing. Therefore, the walking robot 10 does not correct the angles of the joints 22 and 26.

歩行の停止時に、足平15c、16cが正常に接地していない(例えば、図4に示すように右脚部15または左脚部16が障害物に乗り上げている)と、制御装置30はモータ22a、26aを高いトルクで駆動させる。また、制御装置30がモータ22a、26aに入力する制御指令値T22,T26の差ΔT1が大きくなる。したがって、制御装置30はステップS8でYESと判定する。このため、制御装置30は、加算値θB1−1+ΔθBを算出する。上述したように、歩行時には、補正角度θB1は0であったので、このときのθB1−1は0となる。すなわち、加算値はΔθBとなる。制御装置30は、加算地ΔθBが最大補正角度θB1maxよりも小さいと判定するため、補正角度θB1=ΔθBに決定する。したがって、関節22、26の目標角度θA22、θA26がΔθBだけ補正され、関節22、26の角度がΔθBだけ補正される。例えば、図4の状態では、関節22の角度がモーメントM2の方向にΔθBだけ補正され、関節26の角度がモーメントM1の方向にΔθBだけ補正される。
また、今回の周期の補正角度θB1がΔθBであるので、次回の周期の処理では補正角度θB1は2ΔθB(ΔθB+ΔθB=2ΔθB)となり、さらに次の周期の補正時には補正角度θB1は3ΔθBとなる。このように、補正角度θB1が徐々に大きくなっていく。
When the walking is stopped, if the feet 15c and 16c are not properly grounded (for example, the right leg 15 or the left leg 16 is on an obstacle as shown in FIG. 4), the control device 30 is a motor. 22a and 26a are driven with high torque. Further, the difference ΔT1 between the control command values T22 and T26 input by the control device 30 to the motors 22a and 26a increases. Therefore, control device 30 determines YES in step S8. Therefore, the control device 30 calculates the added value θB1 −1 + ΔθB. As described above, during walking, the correction angle Shitabi1 was 0, and 0 is Shitabi1 -1 in this case. That is, the added value is ΔθB. The control device 30 determines the correction angle θB1 = ΔθB in order to determine that the addition ground ΔθB is smaller than the maximum correction angle θB1 max . Therefore, the target angles θA22 and θA26 of the joints 22 and 26 are corrected by ΔθB, and the angles of the joints 22 and 26 are corrected by ΔθB. For example, in the state of FIG. 4, the angle of the joint 22 is corrected by ΔθB in the direction of the moment M2, and the angle of the joint 26 is corrected by ΔθB in the direction of the moment M1.
Further, since the correction angle θB1 of the current cycle is ΔθB, the correction angle θB1 is 2ΔθB (ΔθB + ΔθB = 2ΔθB) in the processing of the next cycle, and the correction angle θB1 is 3ΔθB in the correction of the next cycle. Thus, the correction angle θB1 gradually increases.

補正角度θB1が徐々に大きくなると、関節22,26の角度が徐々にモーメントM1、M2の方向に補正される。すると、例えば、図4に示すように、点Aでのみ障害物80と接触していた足平16cが、図7に示すように、点Aで障害物80と接触し、点Eで床面と接触する。また、点Bでのみ床面と接触していた足平15c(図4参照)が、図7に示すように、足平15cの裏面全体で床面と接触する。このように足平15c、16cが安定した状態になると、足平15c、16cに作用するモーメントM1、M2が略0となる。したがって、制御装置30がモータ22a、26aに出力する制御指令値T22,26が小さくなり、モータ22a、26aの駆動トルクが小さくなる。これによって、モータ22a、26aが所定時間以上、継続して高いトルクで駆動することが防止される。   When the correction angle θB1 gradually increases, the angles of the joints 22 and 26 are gradually corrected in the directions of moments M1 and M2. Then, for example, as shown in FIG. 4, the foot 16 c that has been in contact with the obstacle 80 only at the point A comes into contact with the obstacle 80 at the point A and the floor surface at the point E as shown in FIG. 7. Contact with. Moreover, the foot 15c (refer FIG. 4) which was in contact with the floor surface only at the point B contacts the floor surface in the whole back surface of the foot 15c, as shown in FIG. When the feet 15c and 16c are thus stabilized, the moments M1 and M2 acting on the feet 15c and 16c become substantially zero. Therefore, the control command values T22, 26 output from the control device 30 to the motors 22a, 26a are reduced, and the drive torque of the motors 22a, 26a is reduced. This prevents the motors 22a and 26a from being continuously driven at a high torque for a predetermined time or longer.

また、足平15c、16cが安定した状態になると、モーメントM1、M2が略0となり、モータ22a、26aがモーメントM1、M2を打ち消すように駆動しなくなるので、制御装置30が算出する指令値差ΔT1が小さくなる。すなわち、指令値差ΔT1が閾値ΔTmax以下となり、制御装置30は、ステップS8でNOと判定する。 Further, when the feet 15c and 16c are in a stable state, the moments M1 and M2 become substantially zero, and the motors 22a and 26a are not driven so as to cancel the moments M1 and M2. ΔT1 decreases. That is, the command value difference ΔT1 becomes below the threshold [Delta] T max, the controller 30 determines NO in step S8.

制御装置30は、ステップS8でNOと判定すると、補正角度θB1をθB1−1に決定する(ステップS12)。例えば、図7の状態となった時の補正角度θB1が5ΔθBであったとすると、このときのθB1−1は5ΔθBとなる。また、今回の周期の補正角度θB1が5ΔθBであるので、次回の周期の補正時の補正角度θB1も5ΔθBとなる。すなわち、制御装置30は、補正角度θB1を変更しない。したがって、歩行ロボット10は、足平15c、16cが図7に示すように障害物及び床面と接触した状態を維持する。 If control device 30 determines NO in step S8, it determines correction angle θB1 to θB1 −1 (step S12). For example, the correction angle Shitabi1 when the state of FIG. 7 assuming that a 5ΔθB, θB1 -1 in this case is 5DerutashitaB. Further, since the correction angle θB1 of the current cycle is 5ΔθB, the correction angle θB1 at the time of correcting the next cycle is also 5ΔθB. That is, the control device 30 does not change the correction angle θB1. Therefore, the walking robot 10 maintains the state where the feet 15c and 16c are in contact with the obstacle and the floor as shown in FIG.

また、例えば図8に示すように、右脚部15または左脚部16が高い障害物に乗り上げると、制御装置30は補正角度θB1をさらに大きくする。制御装置30が補正角度θB1を大きくし、θB1がθB1max以上となると、制御装置30はステップS10でYESと判定する。すると、制御装置30は、補正角度θB1をθB1maxに決定する(ステップS14)。また、補正角度θB1がθB1maxとなると、次回の周期のステップS10では加算値がθB1max+ΔθBと算出され、θB1maxよりも大きくなる。したがって、次回の周期でも、ステップS10でYESと判定され、補正角度θB1はθB1maxに決定される。すなわち、補正角度θB1がθB1maxから変更されない。したがって、足平15c、16cは一部で床面(または障害物)と接触した状態(例えば、図8の状態)のまま維持される。このように、制御装置30は、補正角度θB1をθB1maxまで大きくしても足平15c、16cが安定しないときには、補正角度θB1をθB1max以上に大きくしない。これによって、関節22、26の角度が補正角度θB1maxを超えて補正され、右脚部15または左脚部16が障害物から滑り落ちることが防止される。 For example, as shown in FIG. 8, when the right leg portion 15 or the left leg portion 16 rides on a high obstacle, the control device 30 further increases the correction angle θB1. When control device 30 increases correction angle θB1 and θB1 becomes equal to or larger than θB1 max , control device 30 determines YES in step S10. Then, control device 30 determines correction angle θB1 as θB1 max (step S14). When the correction angle θB1 becomes θB1 max , the added value is calculated as θB1 max + ΔθB in step S10 of the next cycle, and becomes larger than θB1 max . Therefore, also in the next cycle, YES is determined in step S10, and the correction angle θB1 is determined to be θB1 max . That is, the correction angle θB1 is not changed from θB1 max . Accordingly, the feet 15c and 16c are maintained in a state (for example, the state shown in FIG. 8) that is partially in contact with the floor surface (or obstacle). As described above, the control device 30 does not increase the correction angle θB1 beyond θB1 max when the feet 15c and 16c are not stabilized even if the correction angle θB1 is increased to θB1 max . As a result, the angles of the joints 22 and 26 are corrected to exceed the correction angle θB1 max , and the right leg 15 or the left leg 16 is prevented from sliding off the obstacle.

歩行ロボット10が再度、歩行を開始すると、制御装置30は、右脚部15及び左脚部16を接地した状態が所定時間以上、継続しないと判定する(ステップS4でNO)ため、補正角度θB1−1が0であるか否かを判定する(ステップS18)。 When the walking robot 10 starts walking again, the control device 30 determines that the state in which the right leg portion 15 and the left leg portion 16 are grounded does not continue for a predetermined time or longer (NO in step S4), so the correction angle θB1 It is determined whether -1 is 0 (step S18).

停止時に、歩行ロボット10の右脚部15及び左脚部16が障害物等に乗り上げていないと、歩行の再開時には補正角度θB1−1が0となっている。したがって、制御装置30は、ステップS18でYESと判定する。すると、制御装置30は、補正角度θB1を0に決定するので(ステップS20)、歩行ロボット10は関節22、26の角度を補正することなく歩行する。 If the right leg portion 15 and the left leg portion 16 of the walking robot 10 are not riding on an obstacle or the like at the time of stopping, the correction angle θB1 −1 is 0 when walking is resumed. Therefore, control device 30 determines YES in step S18. Then, since the control device 30 determines the correction angle θB1 as 0 (step S20), the walking robot 10 walks without correcting the angles of the joints 22 and 26.

停止時に、図7または図8に示すように、足平15c、16cを安定させるために関節22、26の角度が補正されていると、歩行の再開時には補正角度θB1−1がnΔθBとなっている(nは整数)。したがって、制御装置30は、ステップS18でNOと判定する。すると、制御装置30は、補正角度θB1をθB1−1−ΔθBに決定する(ステップS22)。例えば、歩行の再開時に補正角度θB1−1が5ΔθBとなっているときには、補正角度θB1は4ΔθB(5ΔθB−ΔθB=4ΔθB)となる。また、今回の周期の補正角度θB1が4ΔθBであるので、次回の周期の処理では補正角度θB1は3ΔθBに決定され、さらに次の周期の処理では補正角度θB1は2ΔθBに決定される。このように、補正角度θB1が徐々に小さくされ、やがて0となる。補正角度θB1が0となると、制御装置30は、ステップS18でYESと判定する。すると、制御装置30は、補正角度θB1を0に決定するので(ステップS20)、歩行ロボット10は関節22、26の角度を補正することなく歩行する。
このように、制御装置30は、ステップS4でNOと判定し、関節22、26の補正をする必要がなくなると、補正角度θB1を徐々に小さくする。したがって、補正角度θB1が瞬間的にキャンセルされて、関節22、26の角度が急激に変更されることが防止される。また、制御装置30が図6の処理を繰り返し実行する周期は十分に速いので、歩行ロボット10が一歩目を踏み出したときには、補正角度θB1は0とされている。したがって、歩行ロボット10は、好適に歩行することができる。
When stopping, as shown in FIG. 7 or FIG. 8, if the angles of the joints 22 and 26 are corrected to stabilize the feet 15c and 16c, the correction angle θB1 −1 becomes nΔθB when resuming walking. (N is an integer). Therefore, the control device 30 determines NO in step S18. Then, control device 30 determines correction angle θB1 to θB1 −1 −ΔθB (step S22). For example, when the correction angle θB1 −1 is 5ΔθB when resuming walking, the correction angle θB1 is 4ΔθB (5ΔθB−ΔθB = 4ΔθB). Further, since the correction angle θB1 of the current cycle is 4ΔθB, the correction angle θB1 is determined to be 3ΔθB in the processing of the next cycle, and the correction angle θB1 is determined to be 2ΔθB in the processing of the next cycle. In this way, the correction angle θB1 is gradually reduced and eventually becomes zero. When the correction angle θB1 becomes 0, the control device 30 determines YES in step S18. Then, since the control device 30 determines the correction angle θB1 as 0 (step S20), the walking robot 10 walks without correcting the angles of the joints 22 and 26.
As described above, when the control device 30 determines NO in step S4 and does not need to correct the joints 22 and 26, the control device 30 gradually decreases the correction angle θB1. Therefore, the correction angle θB1 is instantaneously canceled and the angles of the joints 22 and 26 are prevented from being changed suddenly. In addition, since the cycle in which the control device 30 repeatedly executes the process of FIG. 6 is sufficiently fast, the correction angle θB1 is set to 0 when the walking robot 10 takes the first step. Therefore, the walking robot 10 can walk suitably.

また、制御装置30は、指令値差ΔT1の算出と同様の処理によって、関節20に前回の周期に出力した制御指令値T20−1と、関節20に対応する関節24に前回の周期に出力した制御指令値T24−1との指令値差ΔT2を算出する。そして、目標角度θA22、θA26の補正と同様の処理によって、関節20、24の目標角度θA20、θA24を補正する。したがって、例えば、図5に示すように、脚部16が障害物82に乗り上げた場合にも、関節20、24の角度が補正され、モータ20a、24aが所定時間以上、高いトルクで駆動することが防止される。 Further, the control device 30 outputs the control command value T20 -1 output to the joint 20 in the previous cycle and the joint 24 corresponding to the joint 20 in the previous cycle by the same processing as the calculation of the command value difference ΔT1. A command value difference ΔT2 with respect to the control command value T24 −1 is calculated. Then, the target angles θA20 and θA24 of the joints 20 and 24 are corrected by a process similar to the correction of the target angles θA22 and θA26. Therefore, for example, as shown in FIG. 5, even when the leg 16 rides on the obstacle 82, the angles of the joints 20 and 24 are corrected, and the motors 20a and 24a are driven with a high torque for a predetermined time or more. Is prevented.

以上に説明したように、本実施例の歩行ロボット10では、指令値差算出部42が、制御指令値出力部38がモータ22aに前回の周期に出力した制御指令値T22−1と、モータ26aに前回の周期に出力した制御指令値T26−1との差ΔT1を算出する。そして、右脚部15と左脚部16が接地している場合には、角度補正部36が、指令値差算出部42が算出した指令値差ΔT1が閾値ΔTmax以上であるか否かを判定する。これによって、足平15c、16cが正常に接地しているか否かを好適に判定することができる。
また、上述の歩行ロボット10では、補正角度記憶部34が、角度補正部36による関節22、関節26の前回の周期の目標角度の補正角度θB1−1を記憶する。そして、角度補正部36が、角度算出部32が算出した関節22及び関節26の目標角度θA22、θA26を、前回の周期の制御指令値T22−1、T26−1が関節22、26を駆動する方向と逆方向に補正する。このとき、角度補正部36は、補正角度記憶部34が記憶している前回の周期の補正角度θB1−1に単位補正角度ΔθBを加算し、その加算値θB1−1+ΔθBだけ目標角度を補正する。したがって、関節22、26の角度が、足平15c、16cが正常に接地できる角度に制御され、モータ22a、26aが所定時間以上、高いトルクで駆動されることを防止することができる。
また、上述の歩行ロボット10では、角度補正部36が、補正角度θB1−1+ΔθBが最大補正角度θB1maxを超える場合には、目標角度θA22、θA26をθBmaxだけ補正する。したがって、関節22、26の角度が最大補正角度θB1maxを超えて補正されず、右脚部15または左脚部16が障害物等から滑り落ちることが防止されている。
As described above, in the walking robot 10 of the present embodiment, the command value difference calculation unit 42, the control command value T22 -1 outputted in the previous cycle to the control command value output unit 38 motor 22a, the motor 26a A difference ΔT1 from the control command value T26 -1 output in the previous cycle is calculated. When the right leg 15 and the left leg portion 16 is grounded, the angle corrector 36, the command value difference calculation unit 42 command value difference was calculated ΔT1 is whether a threshold value [Delta] T max than judge. Thereby, it can be suitably determined whether or not the feet 15c and 16c are normally grounded.
Also, the walking robot 10 described above, the correction angle storage unit 34, joint by the angle corrector 36 22 stores the correction angle Shitabi1 -1 of the target angle of the previous cycle of the joint 26. Then, the angle correction unit 36 drives the target angles θA22 and θA26 of the joint 22 and the joint 26 calculated by the angle calculation unit 32, and the control command values T22 −1 and T26 −1 of the previous cycle drive the joints 22 and 26. Correct in the opposite direction. At this time, the angle correction unit 36 adds the unit correction angle ΔθB to the correction angle θB1 −1 of the previous cycle stored in the correction angle storage unit 34, and corrects the target angle by the added value θB1 −1 + ΔθB. . Therefore, the angles of the joints 22 and 26 are controlled so that the feet 15c and 16c can be normally grounded, and the motors 22a and 26a can be prevented from being driven with a high torque for a predetermined time or more.
Also, the walking robot 10 described above, the angle corrector 36, when the correction angle θB1 -1 + ΔθB exceeds the maximum correction angle Shitabi1 max corrects target angle Shitaei22, the θA26 only .theta.B max. Therefore, the angles of the joints 22 and 26 are not corrected beyond the maximum correction angle θB1 max , and the right leg portion 15 or the left leg portion 16 is prevented from sliding off from an obstacle or the like.

なお、上述した歩行ロボットでは、脚部の関節のうち、足首の関節20〜26の目標角度を補正したが、脚部の膝関節や、股関節の目標角度を補正することで、その関節を駆動するモータが高いトルクで駆動することを防止することもできる。また、歩行ロボットの右腕部及び左腕部で荷物等を運搬する場合に、両腕部が荷物等と好適に接触せず両腕部の関節が高いトルクで駆動されるときには、両腕部の対応する関節の目標角度を補正し、その関節が高いトルクで駆動されることを防止してもよい。
また、上述した歩行ロボットは、二足歩行ロボットであったが、3つ以上の脚部を駆動して歩行するロボットにおいて、対象に配置された一対の脚部の対応する関節の目標角度を補正し、その関節が高いトルクで駆動することを防止してもよい。
In the above-described walking robot, the target angles of the ankle joints 20 to 26 among the leg joints are corrected, but the joints are driven by correcting the target angles of the knee joints of the legs and the hip joints. It is also possible to prevent the motor to be driven with high torque. Also, when carrying luggage with the right and left arms of the walking robot, if both arms do not come in good contact with the luggage etc. and the joints of both arms are driven with high torque, the correspondence between both arms The target angle of the joint to be corrected may be corrected to prevent the joint from being driven with high torque.
Further, although the above-described walking robot is a biped walking robot, the target angle of the corresponding joint of the pair of legs arranged on the target is corrected in a robot that drives by walking three or more legs. Then, the joint may be prevented from being driven with a high torque.

また、上述した歩行ロボットでは、モータ22a、26aに出力した制御指令値T22−1、T26−1の絶対値の差を算出したが((数1)参照)、T22−1、T26−1の値そのものの差を算出してもよい。例えば、指令値差ΔT1は、以下の計算によって算出してもよい。 Further, the walking robot described above (see Equation 1) motor 22a, the control command value T22 -1 outputted in 26a, but calculates a difference absolute value of T26 -1, T22 -1, the T26 -1 You may calculate the difference of the value itself. For example, the command value difference ΔT1 may be calculated by the following calculation.

Figure 0004784432
Figure 0004784432

このようにΔT1を算出すると、図9に示すように右脚部15及び左脚部16が障害物に乗り上げ、足平15c、16cに略均等に逆方向のモーメントM5、M6が作用する際にも、足平15c、16cの角度を補正することができる。すなわち、図9では、モーメントM5が足平15cに作用する方向と、モーメントM6が足平16cに作用する方向が逆方向となっている。すなわち、モータ22a、26aの関節を駆動する方向が逆方向となっており、制御指令値T22−1と制御指令値T26−1は正負が逆となっている。従って、上記の(数2)で指令値差ΔT1を算出すると、算出された指令値差ΔT1は正常時に比べて大きな値となり、足平15c、16cの角度を補正する必要があると判断することができる。これによって、図9に示すような状態となったときに、モータ22a、26aが高いトルクで長時間駆動されることを防止することができる。また、(数1)と(数2)の両方の計算方法により指令値差を算出し、それらの指令値差の値に応じて足平15c、16cの角度を補正するか否かを判定してもよい。 When ΔT1 is calculated in this way, as shown in FIG. 9, when the right leg portion 15 and the left leg portion 16 ride on the obstacle and the moments M5 and M6 in the opposite directions act on the feet 15c and 16c substantially equally. In addition, the angles of the feet 15c and 16c can be corrected. That is, in FIG. 9, the direction in which the moment M5 acts on the foot 15c is opposite to the direction in which the moment M6 acts on the foot 16c. That is, the direction in which the joints of the motors 22a and 26a are driven is opposite, and the control command value T22 -1 and the control command value T26 -1 are opposite in sign. Therefore, when the command value difference ΔT1 is calculated by the above (Equation 2), the calculated command value difference ΔT1 is larger than that in the normal state, and it is determined that the angles of the feet 15c and 16c need to be corrected. Can do. This can prevent the motors 22a and 26a from being driven for a long time with high torque when the state shown in FIG. 9 is reached. Also, the command value difference is calculated by both the calculation methods (Equation 1) and (Equation 2), and it is determined whether or not the angles of the feet 15c and 16c are to be corrected according to the value of the command value difference. May be.

以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
Specific examples of the present invention have been described in detail above, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above.
The technical elements described in this specification or the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technology illustrated in the present specification or the drawings achieves a plurality of objects at the same time, and has technical utility by achieving one of the objects.

本実施例の歩行ロボット10の斜視図。The perspective view of the walking robot 10 of a present Example. 関節20〜26の拡大図。The enlarged view of joint 20-26. 本実施例の歩行ロボット10の制御装置30及び各関節を示すブロック図。The block diagram which shows the control apparatus 30 and each joint of the walking robot 10 of a present Example. 足平15c、16cの接地状態の説明図。Explanatory drawing of the grounding state of foot 15c, 16c. 足平15c、16cの接地状態の説明図。Explanatory drawing of the grounding state of foot 15c, 16c. 制御装置30の処理を示すフローチャート。4 is a flowchart showing processing of the control device 30. 足平15c、16cの接地状態の説明図。Explanatory drawing of the grounding state of foot 15c, 16c. 足平15c、16cの接地状態の説明図。Explanatory drawing of the grounding state of foot 15c, 16c. 足平15c、16cの接地状態の説明図。Explanatory drawing of the grounding state of foot 15c, 16c.

符号の説明Explanation of symbols

10:歩行ロボット
11:本体
12:頭部
13:右腕部
14:左腕部
15:右脚部
15a:腿部
15b:脛部
15c:足平
16:左脚部
16a:腿部
16b:脛部
16c:足平
18〜26:関節
18a〜26a:モータ
18b〜26b:エンコーダ
30:制御装置
32:角度算出部
34:補正角度記憶部
36:角度補正部
38:制御指令値出力部
40:制御状態判定部
42:指令値差算出部
10: walking robot 11: body 12: head 13: right arm 14: left arm 15: right leg 15a: thigh 15b: shin 15c: foot 16: left leg 16a: thigh 16b: shin 16c : Foot 18-26: Joint 18a-26a: Motor 18b-26b: Encoder 30: Control device 32: Angle calculation unit 34: Correction angle storage unit 36: Angle correction unit 38: Control command value output unit 40: Control state determination Unit 42: Command value difference calculation unit

Claims (5)

胴体部と、胴体部に取付けられた複数の脚部と、各脚部を制御する制御装置とを有し、制御装置から出力された制御指令値に基づいて各脚部を駆動することで歩行するロボットであって、
複数の脚部には、胴体部の進行方向から見て左右方向に対称に配置された第1脚部と第2脚部が少なくとも含まれており、
第1脚部は、足平と、足平を胴体部の進行方向に伸びる回転軸回りに回転させる第1の関節と、制御装置から入力される制御指令値にしたがって第1の関節を駆動する第1のアクチュエータとを備えており、
第2脚部は、足平と、足平を胴体部の進行方向に伸びる回転軸回りに回転させる第2の関節と、制御装置から入力される制御指令値にしたがって第2の関節を駆動する第2のアクチュエータとを備えており、
制御装置は、
所定周期で各関節の目標角度を算出する角度算出部と、
各関節の角度が目標角度となるように各アクチュエータを制御する制御指令値を各アクチュエータに出力する制御指令値出力部であって、少なくとも、歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、第1のアクチュエータのトルクを制御する制御指令値を第1のアクチュエータに出力するとともに第2のアクチュエータのトルクを制御する制御指令値を第2のアクチュエータに出力する制御指令値出力部と、
第1のアクチュエータに対する制御指令値の正方向と第2のアクチュエータに対する制御指令値の正方向とを胴体部の進行方向からみて同一の回転方向としたときにおける第1のアクチュエータに前回の周期に出力した制御指令値と、第2のアクチュエータに前回の周期に出力した制御指令値との差を算出する指令値差算出部と、
歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、指令値差算出部が算出した前回の周期の制御指令値の差が閾値以上であるときは、角度算出部が算出した第1の関節の目標角度と第2の関節の目標角度の少なくとも一方を補正する補正部
を備えており、
制御指令値出力部は、補正部が目標角度を補正した関節のアクチュエータに対して補正部が補正した目標角度にしたがって制御指令値を出力し、補正部が目標角度を補正しなかった関節のアクチュエータに対して角度算出部が算出した目標角度にしたがって制御指令値を出力することを特徴とする歩行ロボット。
The body has a torso, a plurality of legs attached to the torso, and a controller that controls each leg, and walks by driving each leg based on a control command value output from the controller A robot that
The plurality of legs include at least a first leg and a second leg arranged symmetrically in the left-right direction when viewed from the advancing direction of the body part,
The first leg drives the first joint according to a foot, a first joint that rotates the foot around a rotation axis that extends in the advancing direction of the torso, and a control command value input from the control device. A first actuator,
The second leg portion drives the second joint according to the foot, the second joint for rotating the foot around a rotation axis extending in the advancing direction of the body portion, and the control command value input from the control device. A second actuator,
The control device
An angle calculator that calculates a target angle of each joint at a predetermined period;
A control command value output unit for outputting to each actuator a control command value for controlling each actuator so that the angle of each joint becomes a target angle, and at least the walking robot is not walking and the first leg A control command value for controlling the torque of the first actuator is output to the first actuator and a control command value for controlling the torque of the second actuator is A control command value output unit that outputs to the actuator of
When the positive direction of the control command value for the first actuator and the positive direction of the control command value for the second actuator are set to the same rotation direction when viewed from the advancing direction of the body portion , output to the first actuator in the previous cycle A command value difference calculation unit that calculates a difference between the control command value that has been output and the control command value that was output to the second actuator in the previous cycle;
When the walking robot is not walking and the first leg and the second leg are in contact with each other, the difference between the control command values of the previous cycle calculated by the command value difference calculation unit is equal to or greater than the threshold value. When the correction unit corrects at least one of the target angle of the first joint and the target angle of the second joint calculated by the angle calculation unit ,
With
The control command value output unit outputs a control command value according to the target angle corrected by the correction unit with respect to the joint actuator whose correction unit has corrected the target angle, and the correction unit has not corrected the target angle. walking robot, wherein the benzalkonium to output the control command value in accordance with the target angle angle calculation unit has calculated for.
胴体部と、胴体部に取付けられた複数の脚部と、各脚部を制御する制御装置とを有し、制御装置から出力された制御指令値に基づいて各脚部を駆動することで歩行するロボットであって、The body has a torso, a plurality of legs attached to the torso, and a controller that controls each leg, and walks by driving each leg based on a control command value output from the controller A robot that
複数の脚部には、胴体部の進行方向から見て左右方向に対称に配置された第1脚部と第2脚部が少なくとも含まれており、The plurality of legs include at least a first leg and a second leg arranged symmetrically in the left-right direction when viewed from the advancing direction of the body part,
第1脚部は、足平と、足平を胴体部の進行方向に伸びる回転軸回りに回転させる第1の関節と、制御装置から入力される制御指令値にしたがって第1の関節を駆動する第1のアクチュエータとを備えており、The first leg drives the first joint according to a foot, a first joint that rotates the foot around a rotation axis that extends in the advancing direction of the torso, and a control command value input from the control device. A first actuator,
第2脚部は、足平と、足平を胴体部の進行方向に伸びる回転軸回りに回転させる第2の関節と、制御装置から入力される制御指令値にしたがって第2の関節を駆動する第2のアクチュエータとを備えており、The second leg portion drives the second joint according to the foot, the second joint for rotating the foot around a rotation axis extending in the advancing direction of the body portion, and the control command value input from the control device. A second actuator,
制御装置は、The control device
所定周期で各関節の目標角度を算出する角度算出部と、An angle calculator that calculates a target angle of each joint at a predetermined period;
各関節の角度が目標角度となるように各アクチュエータを制御する制御指令値を各アクチュエータに出力する制御指令値出力部であって、少なくとも、歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、第1のアクチュエータのトルクを制御する制御指令値を第1のアクチュエータに出力するとともに第2のアクチュエータのトルクを制御する制御指令値を第2のアクチュエータに出力する制御指令値出力部と、A control command value output unit for outputting to each actuator a control command value for controlling each actuator so that the angle of each joint becomes a target angle, and at least the walking robot is not walking and the first leg A control command value for controlling the torque of the first actuator is output to the first actuator and a control command value for controlling the torque of the second actuator is A control command value output unit that outputs to the actuator of
第1のアクチュエータに前回の周期に出力した制御指令値の絶対値と、第2のアクチュエータに前回の周期に出力した制御指令値の絶対値との差を算出する指令値差算出部と、A command value difference calculation unit for calculating a difference between the absolute value of the control command value output to the first actuator in the previous cycle and the absolute value of the control command value output to the second actuator in the previous cycle;
歩行ロボットが歩行しておらず、かつ、第1脚部と第2脚部が接地している場合に、指令値差算出部が算出した前回の周期の制御指令値の絶対値の差が閾値以上であるときは、角度算出部が算出した第1の関節の目標角度と第2の関節の目標角度の少なくとも一方を補正する補正部、When the walking robot is not walking and the first leg and the second leg are in contact with each other, the difference between the absolute values of the control command values of the previous cycle calculated by the command value difference calculation unit is a threshold value. When the above is true, a correction unit that corrects at least one of the target angle of the first joint and the target angle of the second joint calculated by the angle calculation unit,
を備えており、With
制御指令値出力部は、補正部が目標角度を補正した関節のアクチュエータに対して補正部が補正した目標角度にしたがって制御指令値を出力し、補正部が目標角度を補正しなかった関節のアクチュエータに対して角度算出部が算出した目標角度にしたがって制御指令値を出力することを特徴とする歩行ロボット。The control command value output unit outputs a control command value according to the target angle corrected by the correction unit with respect to the joint actuator whose correction unit has corrected the target angle, and the correction unit has not corrected the target angle. A walking robot that outputs a control command value according to a target angle calculated by an angle calculation unit.
補正部は、角度算出部が算出した第1の関節の目標角度と第2の関節の目標角度の少なくとも一方を、その関節の前回の周期の制御指令値によって関節が駆動される方向と逆方向に所定の角度だけ補正することを特徴とする請求項1または2に記載の歩行ロボット。 The correction unit has at least one of the target angle of the first joint and the target angle of the second joint calculated by the angle calculation unit in a direction opposite to the direction in which the joint is driven by the control command value of the previous cycle of the joint. The walking robot according to claim 1 , wherein the walking robot is corrected by a predetermined angle. 制御装置は、補正部による第1の関節と第2の関節の少なくとも一方の目標角度の補正角度を記憶する記憶部をさらに有し、
補正部は、記憶部が前回の周期の補正角度を記憶しているときに、記憶部が記憶している前回の周期の補正角度より一定角度大きい補正角度を算出し、その補正角度だけ目標角度を補正することを特徴とする請求項に記載の歩行ロボット。
The control device further includes a storage unit that stores a correction angle of a target angle of at least one of the first joint and the second joint by the correction unit,
When the storage unit stores the correction angle of the previous cycle, the correction unit calculates a correction angle that is a fixed angle larger than the correction angle of the previous cycle stored in the storage unit, and the target angle is calculated by the correction angle. The walking robot according to claim 3 , wherein the walking robot is corrected.
補正部は、算出した補正角度が最大補正角度以上となる場合には、目標角度を最大補正角度だけ補正することを特徴とする請求項に記載の歩行ロボット。
The walking robot according to claim 4 , wherein the correction unit corrects the target angle by the maximum correction angle when the calculated correction angle is equal to or greater than the maximum correction angle.
JP2006214633A 2006-08-07 2006-08-07 Multi-legged walking robot Expired - Fee Related JP4784432B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006214633A JP4784432B2 (en) 2006-08-07 2006-08-07 Multi-legged walking robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006214633A JP4784432B2 (en) 2006-08-07 2006-08-07 Multi-legged walking robot

Publications (2)

Publication Number Publication Date
JP2008036779A JP2008036779A (en) 2008-02-21
JP4784432B2 true JP4784432B2 (en) 2011-10-05

Family

ID=39172381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006214633A Expired - Fee Related JP4784432B2 (en) 2006-08-07 2006-08-07 Multi-legged walking robot

Country Status (1)

Country Link
JP (1) JP4784432B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5778891B2 (en) * 2010-01-27 2015-09-16 川崎重工業株式会社 Robot controller
JP5436300B2 (en) * 2010-03-29 2014-03-05 本田技研工業株式会社 Legged mobile robot
US20220211297A1 (en) * 2019-05-29 2022-07-07 Nec Corporation Information processing device, walking environment determination device, walking environment determination system, information processing method, and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3148828B2 (en) * 1992-04-30 2001-03-26 本田技研工業株式会社 Walking control device for legged mobile robot
JP4246534B2 (en) * 2003-04-17 2009-04-02 本田技研工業株式会社 Method for estimating point of action of floor reaction force of bipedal mobile body and method of estimating joint moment of bipedal mobile body
US7603199B2 (en) * 2003-11-27 2009-10-13 Honda Motor Co., Ltd. Control device for mobile body

Also Published As

Publication number Publication date
JP2008036779A (en) 2008-02-21

Similar Documents

Publication Publication Date Title
US9073209B2 (en) Walking robot and control method thereof
US8868239B2 (en) Walking control apparatus of robot and method of controlling the same
US8005573B2 (en) Control device for legged mobile robot
US8688273B2 (en) Walking control apparatus of robot and method of controlling the same
US8676381B2 (en) Humanoid robot and walking control method thereof
US20130144439A1 (en) Walking robot and control method thereof
US20120158182A1 (en) Walking control apparatus and method of robot
US8614558B2 (en) Motor control apparatus and motor control method thereof
US8874263B2 (en) Walking robot and control method thereof
US8781628B2 (en) Walking robot and control method thereof
US10183712B2 (en) Walking control method, walking control program and biped walking robot
US9079624B2 (en) Walking robot and method of controlling balance thereof
US20120059518A1 (en) Walking robot and control method thereof
US20110172823A1 (en) Robot and control method thereof
JP4784432B2 (en) Multi-legged walking robot
JP5040693B2 (en) Legged robot and control method thereof
JPH0631658A (en) Walk control device for leg type moving robot
JP2009255231A (en) Walking control device and walking control method
JP2008093762A (en) Walking robot
JP5299255B2 (en) Robot controller
JP4696728B2 (en) Legged robot and its control method
JP2009184034A (en) Legged robot and control method of the same
JP4512406B2 (en) Biped walking movement device
JP4946566B2 (en) Walking robot and walking control method
JP2005074528A (en) Leg type mechanism and control method for leg type mechanism

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110517

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4784432

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees