JP2014004654A - Robot and robot control method - Google Patents

Robot and robot control method Download PDF

Info

Publication number
JP2014004654A
JP2014004654A JP2012141598A JP2012141598A JP2014004654A JP 2014004654 A JP2014004654 A JP 2014004654A JP 2012141598 A JP2012141598 A JP 2012141598A JP 2012141598 A JP2012141598 A JP 2012141598A JP 2014004654 A JP2014004654 A JP 2014004654A
Authority
JP
Japan
Prior art keywords
command value
contraction force
force command
contraction
joint
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.)
Granted
Application number
JP2012141598A
Other languages
Japanese (ja)
Other versions
JP5943734B2 (en
Inventor
Hidekazu Furuse
秀和 古瀬
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012141598A priority Critical patent/JP5943734B2/en
Publication of JP2014004654A publication Critical patent/JP2014004654A/en
Application granted granted Critical
Publication of JP5943734B2 publication Critical patent/JP5943734B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To perform antagonistic driving with a minimal contractile force command value in trajectory control of a joint angle of two links in which an artificial muscle actuator is used as a driving source.SOLUTION: A contractile force command value arithmetic unit 152 hypothesizes in which of directions of bending and stretching of a link each of a first single-joint muscle, second single-joint muscle, and two-joint muscle exerts a torque. The contractile force command value arithmetic unit 152 deduces a command value candidate for a contractile force command value by performing discrimination based on a joint torque command value, target joint angle, and target joint angular velocity on a hypothetical basis. The contractile force command value arithmetic unit 152 repeats the processing for each of combinations of the directions in which each of the muscles exerts a torque, and selects one of command value candidates whose maximum value is minimal.

Description

本発明は、人工筋肉アクチュエータがリンクに対して拮抗配置されたロボット及び該ロボットを制御するロボット制御方法に関する。   The present invention relates to a robot in which artificial muscle actuators are antagonistically arranged with respect to a link and a robot control method for controlling the robot.

マニピュレータの制御方法において、手先が対象物に柔軟に接触できることが重要になってきている。これを産業ロボットに応用すれば、人間との共同作業が実現でき、手先の柔軟性の方向を制御することにより部品の嵌め合い作業等が容易になる。また、これを脚式移動ロボットに応用すれば、地面に柔らかく接地することで胴体に対する衝撃を和らげることができ、段差を吸収することで不整地を安定に歩行することを可能とする。   In the manipulator control method, it is important that the hand can flexibly contact the object. If this is applied to an industrial robot, collaborative work with humans can be realized, and parts fitting work and the like can be facilitated by controlling the direction of flexibility of the hand. Moreover, if this is applied to a legged mobile robot, the impact on the body can be reduced by softly touching the ground, and it is possible to stably walk on rough terrain by absorbing the steps.

手先の柔軟性の制御を実現するために、手先に力センサを装着するインピーダンス制御や、人工筋肉アクチュエータを用いる制御等が行われている。人間の筋はアクチュエータであると同時に、粘弾性可変の制御機構であることが知られている。人工筋肉の中でも、特にMcKibben型人工筋肉に代表される空気圧ゴム人工筋肉は、粘弾性特性が筋に類似している。そこで、ロボットにおける人工筋肉アクチュエータの柔らかさ制御することで、任意の手先の柔軟性で対象物に接触することができる。しかし、人工筋肉アクチュエータは、粘弾性特性に非線系性を有している、収縮方向のみに力を発生するため拮抗配置して制御を行う必要がある、などの理由で制御性に難があることが知られている。   In order to control the flexibility of the hand, impedance control for attaching a force sensor to the hand, control using an artificial muscle actuator, and the like are performed. It is known that the human muscle is not only an actuator but also a viscoelastic variable control mechanism. Among artificial muscles, pneumatic rubber artificial muscles represented by McKibben type artificial muscles are similar in muscle to viscoelastic properties. Therefore, by controlling the softness of the artificial muscle actuator in the robot, the object can be contacted with the flexibility of any hand. However, artificial muscle actuators have difficulty in controllability because they have non-linear viscoelastic characteristics and need to be antagonistically arranged to generate force only in the contraction direction. It is known that there is.

従来、筋の粘弾性特性を含むマニピュレータのモデルと、修正値計算部を用いて関節角度と手先の柔軟性を同時制御するためのフィードフォワード入力を生成しているものが提案されている(特許文献1参照)。特許文献1では、モデルを用いて制御入力が与えられた時の関節角度と人工筋肉アクチュエータの粘弾性係数を出力し、それを目標値と比較する。そして、目標値との誤差を修正値計算部に逆伝播させ、フィードフォワード入力を修正する。修正されたフィードフォワード入力を再びモデルに与える操作を繰り返し、徐々にフィードフォワード入力を求めている。   Conventionally, a manipulator model including viscoelastic properties of muscles and a feed-forward input for simultaneously controlling joint angle and hand flexibility using a correction value calculation unit have been proposed (patent) Reference 1). In Patent Document 1, a joint angle and a viscoelastic coefficient of an artificial muscle actuator when a control input is given using a model are output and compared with a target value. Then, the error from the target value is propagated back to the correction value calculation unit, and the feedforward input is corrected. The operation of giving the corrected feedforward input to the model again is repeated, and the feedforward input is gradually obtained.

特許第3436320号公報Japanese Patent No. 3436320

上記特許文献1では、フィードフォワード制御により関節角度と手先の柔軟性の同時制御を行っている。しかし、人工筋肉アクチュエータを最小の制御入力で拮抗駆動するための研究例はこれまで見られない。   In Patent Document 1, joint angle and hand flexibility are simultaneously controlled by feedforward control. However, there have been no research examples for antagonistically driving an artificial muscle actuator with a minimum control input.

制御入力を最小化するには、関節角度の目標軌道に対応する手先柔軟性の目標軌道を考慮し、それを制御入力と同時に最適化する必要がある。しかし、上記特許文献1のフィードフォワード制御は、手先柔軟性の目標軌道をあらかじめ与えており、それを最適化するアルゴリズムは含まれていない。   In order to minimize the control input, it is necessary to consider the target trajectory of the hand flexibility corresponding to the target trajectory of the joint angle and optimize it simultaneously with the control input. However, the feedforward control of Patent Document 1 previously gives a target trajectory for hand flexibility, and does not include an algorithm for optimizing it.

そこで、本発明は、人工筋肉アクチュエータを駆動源に用いる2リンクの関節角度の軌道制御において、最小の収縮力指令値で拮抗駆動を行うことを目的とするものである。   SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to perform antagonistic driving with a minimum contraction force command value in trajectory control of a joint angle of two links using an artificial muscle actuator as a driving source.

本発明のロボットは、基台に第1関節で連結された第1リンクと、前記第1リンクに第2関節で連結された第2リンクと、収縮により前記第1リンクを前記第1関節まわりに第1旋回方向に旋回させる第1人工筋肉アクチュエータと、収縮により前記第1リンクを前記第1関節まわりに前記第1旋回方向に対して反対の第2旋回方向に旋回させる第2人工筋肉アクチュエータと、収縮により前記第2リンクを前記第2関節まわりに前記第1旋回方向に旋回させる第3人工筋肉アクチュエータと、収縮により前記第2リンクを前記第2関節まわりに前記第2旋回方向に旋回させる第4人工筋肉アクチュエータと、収縮により前記第1及び第2リンクを同時に前記第1及び第2関節まわりに前記第1旋回方向に旋回させる第5人工筋肉アクチュエータと、収縮により前記第1及び第2リンクを同時に前記第1及び第2関節まわりに前記第2旋回方向に旋回させる第6人工筋肉アクチュエータと、前記第1関節の第1関節トルク指令値及び前記第2関節の第2関節トルク指令値を生成するトルク指令値生成部と、前記第1関節トルク指令値及び前記第2関節トルク指令値に基づいて、前記第1人工筋肉アクチュエータの第1収縮力指令値、前記第2人工筋肉アクチュエータの第2収縮力指令値、前記第3人工筋肉アクチュエータの第3収縮力指令値、前記第4人工筋肉アクチュエータの第4収縮力指令値、前記第5人工筋肉アクチュエータの第5収縮力指令値、及び前記第6人工筋肉アクチュエータの第6収縮力指令値を求める収縮力指令値演算部と、前記第1収縮力指令値に応じて前記第1人工筋肉アクチュエータを収縮させ、前記第2収縮力指令値に応じて前記第2人工筋肉アクチュエータを収縮させ、前記第3収縮力指令値に応じて前記第3人工筋肉アクチュエータを収縮させ、前記第4収縮力指令値に応じて前記第4人工筋肉アクチュエータを収縮させ、前記第5収縮力指令値に応じて前記第5人工筋肉アクチュエータを収縮させ、前記第6収縮力指令値に応じて前記第6人工筋肉アクチュエータを収縮させる収縮力発生部と、を備え、前記収縮力指令値演算部は、前記第1関節トルク指令値を定数とし、前記第1、第2、第5及び第6収縮力指令値を変数として成立する第1関数、並びに前記第2関節トルク指令値を定数とし、前記第3、第4、第5及び第6収縮力指令値を変数として成立する第2関数において、前記第1及び第2収縮力指令値の一方、前記第3及び第4収縮力指令値の一方、並びに前記第5及び第6収縮力指令値の一方を0とした場合に、前記第1及び第2収縮力指令値の他方、前記第3及び第4収縮力指令値の他方、並びに前記第5及び第6収縮力指令値の他方のうち最大値となる収縮力指令値が最小となるように前記第1及び第2収縮力指令値の他方、前記第3及び第4収縮力指令値の他方、並びに前記第5及び第6収縮力指令値の他方を演算する指令値演算処理と、前記指令値演算処理で演算した前記第1から第6収縮力指令値を前記収縮力発生部に出力する指令値出力処理と、を実行することを特徴とする。   The robot of the present invention includes a first link connected to a base by a first joint, a second link connected to the first link by a second joint, and the first link around the first joint by contraction. And a second artificial muscle actuator for turning the first link around the first joint in a second turning direction opposite to the first turning direction by contraction. And a third artificial muscle actuator for turning the second link around the second joint in the first turning direction by contraction, and turning the second link around the second joint in the second turning direction by contraction. A fourth artificial muscle actuator that causes the first and second links to simultaneously rotate about the first and second joints in the first turning direction by contraction. A sixth artificial muscle actuator that simultaneously turns the first and second links around the first and second joints in the second turning direction by contraction, and a first joint torque command value of the first joint; Based on the first joint torque command value and the second joint torque command value, a first contraction of the first artificial muscle actuator based on the torque command value generation unit that generates a second joint torque command value of the second joint Force command value, second contraction force command value of the second artificial muscle actuator, third contraction force command value of the third artificial muscle actuator, fourth contraction force command value of the fourth artificial muscle actuator, fifth artificial force A contraction force command value calculating unit for obtaining a fifth contraction force command value of the muscle actuator and a sixth contraction force command value of the sixth artificial muscle actuator; The first artificial muscle actuator is contracted, the second artificial muscle actuator is contracted according to the second contraction force command value, the third artificial muscle actuator is contracted according to the third contraction force command value, The fourth artificial muscle actuator is contracted in accordance with the fourth contractile force command value, the fifth artificial muscle actuator is contracted in accordance with the fifth contractive force command value, and the fifth artificial muscle actuator is contracted in accordance with the sixth contractive force command value. A contraction force generation unit that contracts the six artificial muscle actuators, and the contraction force command value calculation unit uses the first joint torque command value as a constant, and the first, second, fifth, and sixth contraction forces In the first function established using the command value as a variable and the second function established using the second joint torque command value as a constant and the third, fourth, fifth and sixth contractile force command values as variables, When one of the first and second contraction force command values, one of the third and fourth contraction force command values, and one of the fifth and sixth contraction force command values are set to 0, the first and second contraction force command values The contraction force command value that is the maximum value among the other of the 2 contraction force command values, the other of the third and fourth contraction force command values, and the other of the fifth and sixth contraction force command values is minimized. A command value calculation process for calculating the other of the first and second contraction force command values, the other of the third and fourth contraction force command values, and the other of the fifth and sixth contraction force command values; And a command value output process for outputting the first to sixth contraction force command values calculated in the value calculation process to the contraction force generator.

本発明によれば、手先柔軟性の目標軌道が一意に決定され、各人工筋肉アクチュエータが最小の収縮力指令値で拮抗駆動されるので、収縮力発生部において各人工筋肉アクチュエータに収縮力を発生させるのに必要な例えば空気等の消費量を最小にすることができる。したがって、ロボットの駆動時間を延長することが可能となる。   According to the present invention, the target trajectory of hand flexibility is uniquely determined, and each artificial muscle actuator is antagonistically driven with the minimum contraction force command value, so that the contraction force generator generates contraction force on each artificial muscle actuator. For example, the amount of consumption of air or the like required for making it possible can be minimized. Therefore, it is possible to extend the driving time of the robot.

本発明の第1実施形態に係る人工筋肉アクチュエータの粘弾性モデルを示す説明図である。It is explanatory drawing which shows the viscoelastic model of the artificial muscle actuator which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るロボットの概略構成を示す説明図である。It is explanatory drawing which shows schematic structure of the robot which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るロボットの制御装置を示すブロック線図である。It is a block diagram which shows the control apparatus of the robot which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る筋トルクの符号の組み合わせを示す図である。It is a figure which shows the combination of the code | symbol of the muscular torque which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る収縮力指令値演算部の処理動作を示すフローチャートである。It is a flowchart which shows the processing operation of the contraction force command value calculating part which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る収縮力指令値演算部による第1最小化演算処理のフローチャートである。It is a flowchart of the 1st minimization calculation process by the contraction force command value calculating part which concerns on 1st Embodiment of this invention. 直線uf1 ,uf2 ,uf3 の一例を示すグラフである。It is a graph which shows an example of straight line u f1 1 , u f2 1 , u f3 1 . 直線uf1 ,uf2 ,uf3 の別の例を示すグラフである。 10 is a graph showing another example of straight lines u f1 1 , u f2 1 , u f3 1 . 直線uf1 ,uf2 ,uf3 の別の例を示すグラフである。 10 is a graph showing another example of straight lines u f1 1 , u f2 1 , u f3 1 . 本発明の第1実施形態に係る収縮力指令値演算部による第1演算処理のフローチャートである。It is a flowchart of the 1st calculation process by the contraction force command value calculating part which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る収縮力指令値演算部による第2演算処理のフローチャートである。It is a flowchart of the 2nd calculation process by the contraction force command value calculating part which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る収縮力指令値演算部による第3演算処理のフローチャートである。It is a flowchart of the 3rd calculation process by the contraction force command value calculating part which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る収縮力指令値演算部による第4演算処理のフローチャートである。It is a flowchart of the 4th calculation process by the contraction force command value calculating part which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る収縮力指令値演算部による第1指令選択処理のフローチャートである。It is a flowchart of the 1st command selection processing by the contraction force command value calculating part concerning a 1st embodiment of the present invention. 本発明の第2実施形態に係る本発明の第3実施形態に係るロボットの収縮力指令値演算部の処理動作を示すフローチャートである。It is a flowchart which shows the processing operation of the contraction force command value calculating part of the robot which concerns on 3rd Embodiment of this invention based on 2nd Embodiment of this invention. 本発明の第2実施形態に係る収縮力指令値演算部による第2最小化演算処理のフローチャートである。It is a flowchart of the 2nd minimization calculation process by the contraction force command value calculating part which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る収縮力指令値演算部による第5演算処理のフローチャートである。It is a flowchart of the 5th calculation process by the contraction force command value calculating part which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る収縮力指令値演算部による第6演算処理のフローチャートである。It is a flowchart of the 6th calculation process by the contraction force command value calculating part which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る収縮力指令値演算部による第7演算処理のフローチャートである。It is a flowchart of the 7th calculation process by the contraction force command value calculating part which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る収縮力指令値演算部による第8演算処理のフローチャートである。It is a flowchart of the 8th arithmetic processing by the contraction force command value calculating part which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るシミュレーション結果を示す図である。It is a figure which shows the simulation result which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るシミュレーション結果を示す図である。It is a figure which shows the simulation result which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るシミュレーション結果を示す図である。It is a figure which shows the simulation result which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るシミュレーション結果を示す図である。It is a figure which shows the simulation result which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係るスティフネス楕円を表す図である。It is a figure showing the stiffness ellipse which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係るロボットの制御装置を示すブロック線図である。It is a block diagram which shows the control apparatus of the robot which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係るシミュレーション結果を示す図である。It is a figure which shows the simulation result which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係るシミュレーション結果を示す図である。It is a figure which shows the simulation result which concerns on 3rd Embodiment of this invention.

以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。   Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.

[第1実施形態]
本発明の第1実施形態では、駆動源として人工筋肉アクチュエータを用いる2リンクマニピュレータに対して、関節角度の目標軌道に追従するための制御入力を最小化する。なお、第1実施形態では、目標軌道へ追従するために必要となる第1、第2関節まわりのトルクがどちらも正数となるときに限定し、制御入力の導出方法を示す。
[First Embodiment]
In the first embodiment of the present invention, a control input for following a target trajectory of a joint angle is minimized for a two-link manipulator using an artificial muscle actuator as a drive source. In the first embodiment, the control input derivation method is shown only when the torques around the first and second joints required to follow the target trajectory are both positive numbers.

(1 モデル導出)
本節では、人工筋肉アクチュエータを駆動源とする、2リンクマニピュレータのモデルを導出する。本第1実施形態で用いる人工筋肉アクチュエータとは、筋の粘弾性特性と類似する特性を有するアクチュエータであり、図1に示すように、力発生要素11と弾性要素12と粘性要素13を用いてモデル化される。力発生要素11の収縮力をu、収縮方向を正とする筋の収縮量をxとする。収縮速度を、
(1 Model derivation)
In this section, a model of a two-link manipulator using an artificial muscle actuator as a drive source is derived. The artificial muscle actuator used in the first embodiment is an actuator having characteristics similar to the viscoelastic characteristics of muscle, and uses a force generating element 11, an elastic element 12, and a viscous element 13 as shown in FIG. Modeled. The contraction force of the force generating element 11 is u, and the contraction amount of the muscle with the contraction direction being positive is x. Contraction speed,

Figure 2014004654
とする。また、弾性力定数をk、粘性力定数をcとし、筋収縮力をFとする。このとき、筋の粘弾性特性は、
Figure 2014004654
And The elastic force constant is k, the viscous force constant is c, and the muscle contraction force is F. At this time, the viscoelastic properties of the muscle are

Figure 2014004654
と表わされる。人工筋肉アクチュエータは、収縮方向にのみ力を発生するため、リンクの角度を任意に制御するためには、人工筋肉アクチュエータを拮抗配置する必要がある。
Figure 2014004654
It is expressed as Since the artificial muscle actuator generates a force only in the contraction direction, it is necessary to antagonistically arrange the artificial muscle actuator in order to arbitrarily control the link angle.

図2は、本発明の第1実施形態に係るロボットの概略構成を示す説明図である。このロボット100は、2リンクマニピュレータである。ロボット100は、基台であるプーリ103と、プーリ103に関節(第1関節)111で連結されたリンク(第1リンク)101と、リンク101に関節(第2関節)112で連結されたリンク(第2リンク)102とを備えている。   FIG. 2 is an explanatory diagram showing a schematic configuration of the robot according to the first embodiment of the present invention. This robot 100 is a two-link manipulator. The robot 100 includes a pulley 103 as a base, a link (first link) 101 connected to the pulley 103 by a joint (first joint) 111, and a link connected to the link 101 by a joint (second joint) 112. (Second link) 102.

本第1実施形態では、ロボット100は、6つの人工筋肉アクチュエータ(以下、単に「アクチュエータ」という)f,e,f,e,f,eと、これらアクチュエータf,e,f,e,f,eを制御する制御装置150と、を備えている。 In the first embodiment, the robot 100 includes six artificial muscle actuators (hereinafter simply referred to as “actuators”) f 1 , e 1 , f 2 , e 2 , f 3 , e 3 and the actuators f 1 , e 3. 1 , f 2 , e 2 , f 3 , and e 3 .

第1人工筋肉アクチュエータであるアクチュエータfは、収縮により第1リンク101を第1関節111まわりに第1旋回方向R(図2中、反時計回り方向、屈曲する方向)に旋回させる。第2人工筋肉アクチュエータであるアクチュエータeは、収縮により第1リンク101を第1関節111まわりに第1旋回方向Rに対して反対の第2旋回方向R(図2中、時計回り方向、伸展する方向)に旋回させる。第3人工筋肉アクチュエータであるアクチュエータfは、収縮により第2リンク102を第2関節112まわりに第1旋回方向Rに旋回させる。第4人工筋肉アクチュエータであるアクチュエータeは、収縮により第2リンク102を第2関節112まわりに第2旋回方向Rに旋回させる。第5人工筋肉アクチュエータであるアクチュエータfは、収縮により第1及び第2リンク101,102を同時に第1及び第2関節111,112まわりに第1旋回方向Rに旋回させる。第6人工筋肉アクチュエータであるアクチュエータeは、収縮により第1及び第2リンク101,102を同時に第1及び第2関節111,112まわりに第2旋回方向Rに旋回させる。 Actuator f 1 is the first artificial muscle actuators, first (in FIG. 2, the counterclockwise direction, the direction of bending) turning direction R 1 in the first link 101 about first joint 111 by shrinkage is pivoted. Actuator e 1 is a second artificial muscle actuators, second pivot direction opposite to the first turning direction R 1 of the first link 101 about the first joint 111 by shrinkage R 2 (in FIG. 2, the clockwise direction , Turn in the extending direction). Third actuator f 2 is an artificial muscle actuator, a second link 102 is rotated in the first rotation direction R 1 about the second joint 112 by contraction. Actuator e 2 is the fourth artificial muscle actuator, a second link 102 is pivoted to a second turning direction R 2 about the second joint 112 by contraction. Actuator f 3 is a fifth artificial muscle actuators, the first and second links 101 and 102 is simultaneously rotated in the first rotation direction R 1 about the first and second joint 111, 112 by contraction. Sixth actuator e 3 is an artificial muscle actuator, the first and second links 101 and 102 to simultaneously pivot about the first and second joint 111, 112 in the second turning direction R 2 by the contraction.

つまり、アクチュエータf,eは第1関節111を、アクチュエータf,eは第2関節112を駆動し、アクチュエータf,eは二関節111,112を同時に駆動する。 That is, the actuators f 1 and e 1 drive the first joint 111, the actuators f 2 and e 2 drive the second joint 112, and the actuators f 3 and e 3 drive the two joints 111 and 112 simultaneously.

制御装置150は、各アクチュエータf,eの収縮力指令値ufi,ueiを演算により求めて、各収縮力指令値ufi,ueiに応じて各アクチュエータf,eを収縮させる(i=1,2,3)。ここで、アクチュエータfの収縮力指令値を、第1収縮力指令値uf1とする。アクチュエータeの収縮力指令値を、第2収縮力指令値ue1とする。アクチュエータfの収縮力指令値を、第3収縮力指令値uf2とする。アクチュエータeの収縮力指令値を、第4収縮力指令値ue2とする。アクチュエータfの収縮力指令値を、第5収縮力指令値uf3とする。アクチュエータeの収縮力指令値を、第6収縮力指令値ue3とする。 Controller 150, each actuator f i, e i contractile force command value u fi, seeking by calculation u ei, the contractile force command value u fi, each actuator f i according to u ei, shrink e i (I = 1, 2, 3). Here, the contractile force command value of the actuator f 1, and the first contractile force command value u f1. The contractile force command value of the actuator e 1, the second contractile force command value u e1. The contractile force command value of the actuator f 2, and the third contractile force command value u f2. The contractile force command value of the actuator e 2, and the fourth contractile force command value u e2. The contractile force command value of the actuator f 3, and the fifth contractile force command value u f3. The contractile force command value of the actuator e 3, the sixth contractile force command value u e3.

アクチュエータf,e(i=1,2,3)の収縮量xは、モーメント径rと関節角度θ(i=1,2,3)を用いて、 The amount of contraction x i of the actuator f i , e i (i = 1, 2, 3) is obtained by using the moment diameter r and the joint angle θ i (i = 1, 2, 3).

Figure 2014004654
と表わせる。
Figure 2014004654
It can be expressed as

ここで、アクチュエータf,eの弾性力定数をk、粘性力定数をc、関節角速度をω、関節角加速度をαとする(i=1,2,3)。アクチュエータf,eの収縮力指令値ufi,uei(i=1,2,3)により生じるトルク(以下、筋トルクと呼ぶ)τ(i=1,2,3)は、 Here, it is assumed that the elastic force constants of the actuators f i and e i are k i , the viscous force constant is c i , the joint angular velocity is ω i , and the joint angular acceleration is α i (i = 1, 2, 3). Torque (hereinafter referred to as muscle torque) τ i (i = 1, 2, 3) generated by the contraction force command values u fi , u ei (i = 1, 2, 3) of the actuators f i , e i is

Figure 2014004654
と表すことができる。ただし、関節角度θは、
Figure 2014004654
It can be expressed as. However, the joint angle θ 3 is

Figure 2014004654
と定義する。また、トルクの正の方向は、図2において反時計回り方向である第1旋回方向Rとする。
Figure 2014004654
It is defined as Further, the positive direction of the torque, the first rotation direction R 1 is counterclockwise direction in FIG.

式(3)より、右辺第1項の収縮力の差が関節に回転トルクを与え、第2項と第3項の収縮力の和が、筋の弾性と粘性を変動させることがわかる。なお、前述のように人工筋肉アクチュエータf,e(i=1,2,3)は収縮力のみを発揮する。そのため、収縮力指令値ufi,uei(i=1,2,3)は、 From equation (3), it can be seen that the difference in contraction force in the first term on the right side gives rotational torque to the joint, and the sum of the contraction forces in the second and third terms varies the elasticity and viscosity of the muscle. As described above, the artificial muscle actuators f i and e i (i = 1, 2, 3) exhibit only contraction force. Therefore, the contraction force command values u fi and u ei (i = 1, 2, 3) are

Figure 2014004654
を満たさなければならない。
Figure 2014004654
Must be met.

ここで、第1,第2リンク101,102の関節111,112まわりの慣性モーメントをI,I、リンク101,102長さをL,L、リンク101,102の質量をm,mとする。また、関節111,112まわりに働くトルク指令値(第1関節トルク指令値及び第2関節トルク指令値)をT,Tとする。本第1実施形態の2リンクマニピュレータの運動方程式は、 Here, the moments of inertia around the joints 111 and 112 of the first and second links 101 and 102 are I 1 and I 2 , the lengths of the links 101 and 102 are L 1 and L 2 , and the mass of the links 101 and 102 is m 1. , M 2 . Also, torque command values (first joint torque command value and second joint torque command value) acting around the joints 111 and 112 are defined as T 1 and T 2 . The equation of motion of the two-link manipulator of the first embodiment is

Figure 2014004654
となる。ただし、式(6)において、慣性行列は、
Figure 2014004654
It becomes. However, in equation (6), the inertia matrix is

Figure 2014004654
Figure 2014004654

コリオリ力・遠心力は、   Coriolis force and centrifugal force are

Figure 2014004654
である。
Figure 2014004654
It is.

慣性行列及びコリオリ力・遠心力は、以下の式(7)及び式(8)となる。   The inertia matrix and the Coriolis force / centrifugal force are expressed by the following equations (7) and (8).

Figure 2014004654
Figure 2014004654

また、第1関節トルク指令値T、第1関節トルク指令値Tは、筋トルクτ,τ,τを用いて、 In addition, the first joint torque command value T 1 and the first joint torque command value T 2 are obtained by using muscle torques τ 1 , τ 2 , and τ 3 ,

Figure 2014004654
となる。
Figure 2014004654
It becomes.

式(3)と式(9)とにより、関節トルク指令値T,Tは、収縮力指令値ufi,ueiを用いて、 According to the equations (3) and (9), the joint torque command values T 1 and T 2 are obtained by using the contraction force command values u fi and u ei .

Figure 2014004654
となる。ただし、係数Kf1,Ke1,Kf2,Ke2,Kf3,Ke3は、
Figure 2014004654
It becomes. However, the coefficients K f1 , K e1 , K f2 , K e2 , K f3 , K e3 are

Figure 2014004654
と定義する(i=1,2,3)。
Figure 2014004654
(I = 1, 2, 3).

つまり、式(10)は、第1関節トルク指令値Tを定数とし、第1、第2、第5及び第6収縮力指令値uf1,ue1,uf3,ue3を変数として成立する第1関数である。式(11)は、第2関節トルク指令値Tを定数とし、第3、第4、第5及び第6収縮力指令値uf2,ue2,uf3,ue3を変数として成立する第2関数である。 That is, Expression (10) is established with the first joint torque command value T 1 as a constant and the first, second, fifth, and sixth contractile force command values u f1 , u e1 , u f3 , and u e3 as variables. This is the first function. Equation (11), the second joint torque command value T 2 is a constant, holds the third, fourth, fifth and sixth contractile force command value u f2, u e2, u f3 , u e3 as a variable Two functions.

(2 制御系設計)
本第1実施形態の制御系では、関節トルク指令値T[k],T[k]に基づき、収縮力指令値ufi[k],uei[k]の最大値を最小化する。なお、時刻kは離散信号であり、制御周期Tと正の整数nを用いて、
(2 Control system design)
In the control system of the first embodiment, the maximum value of the contractile force command values u fi [k] and u ei [k] is minimized based on the joint torque command values T 1 [k] and T 2 [k]. . Note that time k is a discrete signal, using a control cycle T s and a positive integer n,

Figure 2014004654
と表すことができる。なお、前述のように本第1実施形態では、関節トルク指令値T[k],T[k]がどちらも正数となるときの収縮力指令値ufi[k],uei[k]の導出方法について述べる。本第1実施形態の制御系は、例えば、重力により生じる負の方向のトルクに対して、動作を行うマニピュレータに対して適用することが可能である。
Figure 2014004654
It can be expressed as. As described above, in the first embodiment, the contraction force command values u fi [k] and u ei [when the joint torque command values T 1 [k] and T 2 [k] are both positive numbers. A method for deriving k] will be described. The control system of the first embodiment can be applied to a manipulator that operates with respect to, for example, a negative torque generated by gravity.

図3は、本発明の第1実施形態に係るロボットの制御装置を示すブロック線図である。図3において、制御装置150は、トルク指令値生成部としてのフィードフォワード補償部151と、収縮力指令値演算部152と、収縮力発生部153と、を備えている。   FIG. 3 is a block diagram showing the robot control apparatus according to the first embodiment of the present invention. In FIG. 3, the control device 150 includes a feedforward compensation unit 151 as a torque command value generation unit, a contraction force command value calculation unit 152, and a contraction force generation unit 153.

フィードフォワード補償部151は、時刻kにおける各関節111,112の目標関節角度θri[k]、目標角速度ωri[k]、目標角加速度αri[k](i=1,2)を入力とする。そして、 The feedforward compensation unit 151 inputs the target joint angle θ ri [k], the target angular velocity ω ri [k], and the target angular acceleration α ri [k] (i = 1, 2) of the joints 111 and 112 at time k. And And

Figure 2014004654
とする逆動力学演算により、関節角度を目標値に追従させるための関節トルク指令値T[k],T[k]を演算する。つまり、フィードフォワード補償部151は、各関節111,112の目標関節角度θri[k]、目標角速度ωri[k]、目標角加速度αri[k](i=1,2)に基づき、各関節111,112の関節トルク指令値T[k],T[k]を生成する。
Figure 2014004654
The joint torque command values T 1 [k] and T 2 [k] for causing the joint angle to follow the target value are calculated by inverse dynamics calculation. That is, the feedforward compensation unit 151 is based on the target joint angle θ ri [k], the target angular velocity ω ri [k], and the target angular acceleration α ri [k] (i = 1, 2) of each joint 111, 112. Joint torque command values T 1 [k] and T 2 [k] for the joints 111 and 112 are generated.

また、収縮力指令値演算部152は、目標関節角度θri[k]、目標角速度ωri[k]、及び関節トルク指令値T[k],T[k]を入力し、これらに基づいて、最大値が最小となる収縮力指令値ufi[k],uei[k]を求める。 Further, the contraction force command value calculation unit 152 inputs a target joint angle θ ri [k], a target angular velocity ω ri [k], and joint torque command values T 1 [k], T 2 [k], and inputs them. Based on this, the contraction force command values u fi [k] and u ei [k] having the minimum maximum values are obtained.

収縮力発生部153は、各収縮力指令値ufi[k],uei[k]に応じて各アクチュエータf,eを収縮させる。 Contraction force generation unit 153, the contractile force command value u fi [k], each actuator f i according to u ei [k], to contract the e i.

制御系設計では、まず、収縮力指令値ufi[k],uei[k]の最大値を最小化する問題(以下、収縮力最小化問題と呼ぶ)を定義し、同問題を解くための制御側を導出する。次に、係数Kfi,Keiと関節トルク指令値T[k],T[k]に基づく場合分けを行い、収縮力指令値ufi[k],uei[k]を演算する。なお、本第1実施形態の制御系設計では表記を簡潔にするために、時刻を表す[k]を省略する。 In the control system design, first, a problem for minimizing the maximum value of contraction force command values u fi [k] and u ei [k] (hereinafter referred to as a contraction force minimization problem) is defined, and the problem is solved. The control side is derived. Next, case classification is performed based on the coefficients K fi and K ei and the joint torque command values T 1 [k] and T 2 [k], and the contractile force command values u fi [k] and u ei [k] are calculated. . In the control system design of the first embodiment, [k] representing time is omitted for the sake of brevity.

(2.1 関節剛性と収縮力の同時制御)
まず、評価関数をJとし、Jを次式(15)と定義する。
(2.1 Simultaneous control of joint stiffness and contraction force)
First, the evaluation function is J, and J is defined as the following equation (15).

Figure 2014004654
Figure 2014004654

つまり、J=max{uf1,ue1,uf2,ue2,uf3,ue3}と定義する。収縮力最小化問題とは、関節トルク指令値T,Tと、目標関節角度θr1,θr2と、目標関節角速度ωr1,ωr2とが与えられたとき、式(3)〜式(5)及び式(9)を満たし、かつ評価関数Jを最小化する収縮力指令値ufi,ueiを求める問題である。 That is, J = max {u f1 , u e1 , u f2 , u e2 , u f3 , u e3 } is defined. The contraction force minimization problem means that when the joint torque command values T 1 and T 2 , the target joint angles θ r1 and θ r2, and the target joint angular velocities ω r1 and ω r2 are given, the formulas (3) to (3) This is a problem of obtaining contractile force command values u fi and u ei that satisfy (5) and equation (9) and minimize the evaluation function J.

収縮力最小化問題では、式(10)、式(11)、式(15)の3つが制約条件となるが、未知数である収縮力指令値ufi,ueiの数は6つである。一般に、制約条件の数に比べて未知数の数が多い場合は、未知数を一意に決めることはできない。しかし、筋トルクτの正負に応じて収縮力指令値ufi,ueiを、 In the contraction force minimization problem, three formulas (10), (11), and (15) are the constraint conditions, but the number of contraction force command values u fi and u ei , which are unknown numbers, is six. In general, when the number of unknowns is larger than the number of constraints, the unknowns cannot be uniquely determined. However, the contractile force command values u fi and u ei are set according to the sign of the muscle torque τ i .

Figure 2014004654
と切り替える制御側を適用すると、収縮力最小化問題を解くことが可能となる。なぜならば、式(16)の制御側により、収縮力指令値ufi,ueiのどちらか一方が必ず0となるため、未知数の数を3つに減らすことが可能となるためである。さらに、収縮力指令値ufi,ueiの一方を0とすることで、最小の収縮力で駆動することが可能となる。しかし、筋トルクτは、係数Kfi,Keiを用いて、
Figure 2014004654
If the control side to switch is applied, it becomes possible to solve the contraction force minimization problem. This is because one of the contraction force command values u fi and u ei is always 0 by the control side of the equation (16), so that the number of unknowns can be reduced to three. Furthermore, by setting one of the contraction force command values u fi and u ei to 0, it is possible to drive with the minimum contraction force. However, the muscle torque τ i is calculated using the coefficients K fi and K ei

Figure 2014004654
と表されるため、係数Kfi,Keiが正数となることが条件である。そのため、本第1実施形態では、マニピュレータが目標関節角度θr1,θr2と目標角速度ωr1,ωr2に従って運動するとき、係数Kfi,Keiが常に正数となるように、弾性力定数k、粘性力定数c、モーメントアーム径rを設計している。
Figure 2014004654
Therefore, the condition is that the coefficients K fi and K ei are positive numbers . Therefore, in the first embodiment, when the manipulator moves according to the target joint angles θ r1 , θ r2 and the target angular velocities ω r1 , ω r2 , the elastic force constant is set so that the coefficients K fi and K ei are always positive numbers. k, viscous force constant c, and moment arm diameter r are designed.

式(16)に示す制御側を適用するためには、筋トルクτ,τ,τの正負の符号が決定されている必要がある。しかし、式(9)に示すように、筋トルクτ,τ,τは関節トルク指令値T,Tに対して冗長となるため、関節トルク指令値の符号から筋トルクの符号を一意に決定することはできない。 In order to apply the control side shown in Expression (16), the positive and negative signs of the muscle torques τ 1 , τ 2 , and τ 3 need to be determined. However, as shown in the equation (9), the muscle torques τ 1 , τ 2 , τ 3 are redundant with respect to the joint torque command values T 1 , T 2 , and therefore the sign of the muscle torque from the sign of the joint torque command value. Cannot be uniquely determined.

そこで、本第1実施形態では、筋トルクτ,τ,τの符号の組み合わせのうち一つを仮定し、この仮定の下で評価関数Jを最小化する収縮力指令値ufi,ueiの候補を導出する。これを、筋トルクτ,τ,τの符号の組み合わせ全てについて行い、収縮力の候補の中から評価関数Jを最小化する収縮力を選び出す。 Therefore, in the first embodiment, one of the combinations of signs of the muscle torques τ 1 , τ 2 , τ 3 is assumed, and the contraction force command value u fi , which minimizes the evaluation function J under this assumption, is assumed. A candidate for u ei is derived. This is performed for all combinations of signs of the muscle torques τ 1 , τ 2 , and τ 3 , and the contraction force that minimizes the evaluation function J is selected from the contraction force candidates.

図4は、筋トルクτ,τ,τの符号が取りうる8通りの組み合わせを示す図である。ただし、本第1実施形態のように、関節トルク指令値T,Tがどちらも正数となる場合は、筋トルクτを負数とする条件5、条件6、条件7、条件8の組み合わせを仮定する必要はない。なぜなら、筋トルクτを負数とすると、式(9)より、τを正数とする場合と比べて筋トルクτと筋トルクτを増加させなければならず、これは、第一、第二単関節筋の収縮力を増加させてしまうためである。 FIG. 4 is a diagram illustrating eight combinations that can be taken by the signs of the muscle torques τ 1 , τ 2 , and τ 3 . However, when the joint torque command values T 1 and T 2 are both positive numbers as in the first embodiment, the conditions 5, 6, 7, and 8 that the muscle torque τ 3 is a negative number are used. There is no need to assume a combination. This is because if the muscle torque τ 3 is a negative number, it is necessary to increase the muscle torque τ 1 and the muscle torque τ 2 from the equation (9) as compared to the case where τ 3 is a positive number. This is because the contraction force of the second single joint muscle is increased.

そこで、本第1実施形態では、条件1、条件2、条件3、条件4の4通りの組み合わせについてのみ、収縮力指令値ufi,ueiを導出する。 Therefore, in the first embodiment, the contractile force command values u fi and u ei are derived only for the four combinations of condition 1, condition 2, condition 3, and condition 4.

次に、制御装置150によるロボット制御方法について説明する。図5は、収縮力指令値演算部の処理動作を示すフローチャートである。収縮力指令値演算部152は、関節トルク指令値T,Tをフィードフォワード補償部151から入力すると共に、不図示の上位コントローラから目標関節角度θ,θ、目標関節角速度ω,ωを入力する(S1)。なお、弾性力定数k、粘性力定数c及びモーメントアーム径rは、予め設定された値である。 Next, a robot control method by the control device 150 will be described. FIG. 5 is a flowchart showing the processing operation of the contraction force command value calculation unit. The contraction force command value calculation unit 152 inputs the joint torque command values T 1 and T 2 from the feedforward compensation unit 151, and receives target joint angles θ 1 and θ 2 , target joint angular velocity ω 1 , to enter the ω 2 (S1). The elastic force constant k, the viscous force constant c, and the moment arm diameter r are values set in advance.

次に、収縮力指令値演算部152は、式(12)を用いて、目標関節角度θ,θ、目標関節角速度ω,ωから係数Kfi,Keiを算出する(S2)。 Next, the contraction force command value calculation unit 152 calculates the coefficients K fi and K ei from the target joint angles θ 1 and θ 2 and the target joint angular velocities ω 1 and ω 2 using Expression (12) (S2). .

次に、収縮力指令値演算部152は、式(10)に示す第1関数、及び式(11)に示す第2関数に、演算した係数Kfi,Kei及び入力した関節トルク指令値T,Tを定数として代入する(S3)。 Next, the contraction force command value calculation unit 152 adds the calculated coefficients K fi and K ei and the input joint torque command value T to the first function shown in Equation (10) and the second function shown in Equation (11). 1, T 2 is substituted as a constant (S3).

次に、収縮力指令値演算部152は、評価関数Jを最小化する指令値候補を演算する第1最小化演算処理を実行する(S4)。   Next, the contraction force command value calculation unit 152 executes a first minimization calculation process for calculating a command value candidate that minimizes the evaluation function J (S4).

次に、収縮力指令値演算部152は、評価関数Jmin 及び指令値候補ufi 1〜4,uei 1〜4に対し(S5)、評価関数が最小の指令値候補を選択する第1指令選択処理を実行する(S6)。 Next, the contraction force command value calculation unit 152 selects a command value candidate having the smallest evaluation function for the evaluation functions J min 1 to 4 and the command value candidates u fi 1 to 4 and u ei 1 to 4 (S5). The first command selection process is executed (S6).

即ち、収縮力指令値演算部152は、これらS2〜S6において、第1から第6収縮力指令値ufi,ueiを演算する指令値演算処理を実行する(指令値演算処理工程)。具体的には、収縮力指令値演算部152は、式(10)に示す第1関数及び式(11)に示す第2関数において、第1及び第2収縮力指令値の一方、第3及び第4収縮力指令値の一方、並びに第5及び第6収縮力指令値の一方を0とする。そして、収縮力指令値演算部152は、第1及び第2収縮力指令値の他方、第3及び第4収縮力指令値の他方、並びに第5及び第6収縮力指令値の他方のうち最大値となる収縮力指令値が最小となるようにこれらを演算する。 That is, the contraction force command value calculation unit 152 executes command value calculation processing for calculating the first to sixth contraction force command values u fi and u ei in S2 to S6 (command value calculation processing step). Specifically, the contraction force command value calculation unit 152 uses the first and second contraction force command values, the third and second contraction force command values in the first function shown in the equation (10) and the second function shown in the equation (11). One of the fourth contractile force command values and one of the fifth and sixth contractile force command values are set to zero. Then, the contraction force command value calculation unit 152 is the maximum of the other of the first and second contraction force command values, the other of the third and fourth contraction force command values, and the other of the fifth and sixth contraction force command values. These are calculated so that the contractile force command value as a value is minimized.

次に、収縮力指令値演算部152は、演算した第1から第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S7:指令値出力処理工程)。 Next, the contraction force command value calculation unit 152 executes a command value output process for outputting the calculated first to sixth contraction force command values u fi and u ei to the contraction force generation unit 153 (S7: command value output) Processing step).

(2.2 第1最小化演算処理の設計)
図6は、収縮力指令値演算部による第1最小化演算処理のフローチャートである。収縮力指令値演算部152は、図4に示す第1条件を仮定し(S11)、第1演算処理を実行し(S12)、評価関数Jmin を最小化する第1〜第6収縮力指令値からなる第1指令値候補ufi ,uei を出力する(S13)。
(2.2 Design of the first minimization calculation process)
FIG. 6 is a flowchart of the first minimization calculation process by the contraction force command value calculation unit. The contraction force command value calculation unit 152 assumes the first condition shown in FIG. 4 (S11), executes the first calculation process (S12), and minimizes the evaluation function J min 1 through the first to sixth contraction forces. First command value candidates u fi 1 and u ei 1 composed of command values are output (S13).

続いて、収縮力指令値演算部152は、図4に示す第2条件を仮定し(S14)、第2演算処理を実行し(S15)、評価関数Jmin を最小化する第1〜第6収縮力指令値からなる第2指令値候補ufi ,uei を出力する(S16)。 Subsequently, the contraction force command value calculation unit 152 assumes the second condition shown in FIG. 4 (S14), executes the second calculation process (S15), and minimizes the evaluation function J min 2 . The second command value candidates u fi 2 and u ei 2 composed of 6 contractile force command values are output (S16).

続いて、収縮力指令値演算部152は、図4に示す第3条件を仮定し(S17)、第3演算処理を実行し(S18)、評価関数Jmin を最小化する第1〜第6収縮力指令値からなる第3指令値候補ufi ,uei を出力する(S19)。 Subsequently, the contraction force command value calculation unit 152 assumes the third condition shown in FIG. 4 (S17), executes the third calculation process (S18), and minimizes the evaluation function J min 3 . The third command value candidates u fi 3 and u ei 3 composed of 6 contractile force command values are output (S19).

続いて、収縮力指令値演算部152は、図4に示す第4条件を仮定し(S20)、第4演算処理を実行し(S21)、評価関数Jmin を最小化する第1〜第6収縮力指令値からなる第4指令値候補ufi ,uei を出力する(S22)。 Subsequently, contractile force command value computing unit 152 assumes the fourth condition shown in FIG. 4 (S20), and executes the fourth calculation process (S21), first to minimize the evaluation function J min 4 The fourth command value candidates u fi 4 and u ei 4 composed of 6 contractile force command values are output (S22).

第1、第2、第3、第4演算処理は、それぞれ、筋トルクτ,τの符号を図4の条件1、2、3、4と仮定して、評価関数Jの最小値の候補Jmin と収縮力指令値の指令値候補ufi 、uei を演算するサブルーチンである(j=1,2,3,4)。なお、評価関数の候補Jmin と収縮力指令値の候補ufi 、uei の上付きの添え字jは対応する演算処理の番号を表す。また、第1〜第4演算処理が評価関数の候補Jmin と収縮力指令値の指令値候補ufi ,uei を演算する方法は同様であるため、本第1実施形態では第1演算処理における演算方法を詳細に述べ、第2〜第4演算処理における演算方法は簡潔に述べる。 In the first, second, third, and fourth calculation processes, the signs of the muscle torques τ 1 and τ 2 are assumed to be the conditions 1, 2, 3, and 4 in FIG. This is a subroutine for calculating the candidate J min j and the command value candidates u fi j and u ei j of the contraction force command value (j = 1, 2, 3, 4). Note that the superscript j of the evaluation function candidate J min j and the contraction force command value candidates u fi j and u ei j represent the number of the corresponding arithmetic processing. In addition, since the first to fourth calculation processes are the same in the method of calculating the evaluation function candidate J min j and the contraction force command value command value candidates u fi j and u ei j , The calculation method in one calculation process will be described in detail, and the calculation methods in the second to fourth calculation processes will be described briefly.

(2.2.1 第1演算処理の設計)
第1演算処理における収縮力指令値の第1指令値候補ufi ,uei のうち、第1指令値候補ue1 、ue2 、ue3 は、図4の条件1と式(16)により、
(2.2.1 Design of first arithmetic processing)
Among the first command value candidates u fi 1 , u ei 1 of the contraction force command value in the first calculation process, the first command value candidates u e1 1 , u e2 1 , u e3 1 are represented by the condition 1 and the equation of FIG. (16)

Figure 2014004654
となる。つまり、収縮力指令値演算部152は、式(10)に示す第1関数及び式(11)に示す第2関数において、ue1 =0,ue2 =0,ue3 =0とする。従って、評価関数Jは、第1指令値候補uf1 、uf2 、uf3 の最大値となる。
Figure 2014004654
It becomes. In other words, the contraction force command value calculation unit 152 uses u e1 1 = 0, u e2 1 = 0, u e3 1 = 0 in the first function shown in Expression (10) and the second function shown in Expression (11). To do. Therefore, the evaluation function J is the maximum value of the first command value candidates u f1 1 , u f2 1 , u f3 1 .

また、式(10)、式(11)及び式(18)より、関節トルク指令値T,Tは、収縮力指令値の第1指令値候補uf1 ,uf2 ,uf3 を用いて、 Further, from the equations (10), (11), and (18), the joint torque command values T 1 , T 2 are the first command value candidates u f1 1 , u f2 1 , u f3 1 of the contraction force command values. Using,

Figure 2014004654
と表すことができる。ここで、変数uf3 ’を、
Figure 2014004654
It can be expressed as. Where the variable u f3 1 ′ is

Figure 2014004654
と定義する。式(19)及び式(20)は変数uf3 ’を用いて、
Figure 2014004654
It is defined as Equation (19) and Equation (20) use the variable u f3 1 ′,

Figure 2014004654
と表すことができる。ただし、変数uf3 ’の変域は、第1指令値候補uf1 ,uf2 ,uf3 が全て正数となる範囲である必要がある。
Figure 2014004654
It can be expressed as. However, the range of the variable u f3 1 ′ needs to be within a range where the first command value candidates u f1 1 , u f2 1 , and u f3 1 are all positive numbers.

式(21)〜式(23)により、第1指令値候補uf1 ,uf2 ,uf3 は全てuf3 ’を変数とする一次関数となることがわかる。そこで、本第1実施形態では、X軸を変数uf3 ’と、Y軸を第1指令値候補uf1 ,uf2 ,uf3 とする直線uf1 ,uf2 ,uf3 のグラフを描画する。そして、変数uf3 ’を増減させて、X座標を変数uf3 ’とするY軸と平行な直線をX軸の正側と負側に移動させることで、交点の軌跡から評価関数Jの最小値を求める。 It can be seen from the equations (21) to (23) that the first command value candidates u f1 1 , u f2 1 and u f3 1 are all linear functions having u f3 1 ′ as a variable. Therefore, in the first embodiment, the straight line u f1 1 , u f2 1 , u f is the variable u f3 1 ′ on the X axis and the first command value candidates u f1 1 , u f2 1 , u f3 1 on the Y axis. The graph of f3 1 is drawn. Then, the variable u f3 1 'to increase or decrease the X coordinate variables u f3 1' by moving the Y-axis and a straight line parallel to the positive side and negative side of the X-axis, voted locus of intersection function J Find the minimum value of.

図7は、直線uf1 ,uf2 ,uf3 の一例を示すグラフである。直線uf1 は点線、直線uf2 は破線、直線uf3 は実線を用いて表している。また、Y軸と平行な直線を、一点鎖線を用いて表している。さらに、変数uf3 ’の変域を、矢印を用いて表している。そして、直線uf1 ,uf2 ,uf3 とY軸と平行な直線の交点のうち、Y座標が最大となる点を点Zと定義する。ここで、Y軸と平行な直線と、直線uf1 ,uf2 ,uf3 の交点のY座標が求めるべき第1指令値候補uf1 ,uf2 ,uf3 であることから、点ZのY座標は評価関数Jの値を表すことがわかる。 FIG. 7 is a graph illustrating an example of the straight lines u f1 1 , u f2 1 , and u f3 1 . The straight line u f1 1 is represented by a dotted line, the straight line u f2 1 is represented by a broken line, and the straight line u f3 1 is represented by a solid line. In addition, a straight line parallel to the Y axis is represented by a one-dot chain line. Further, the range of the variable u f3 1 ′ is represented by using an arrow. A point where the Y coordinate is maximum is defined as a point Z among the intersections of the straight lines u f1 1 , u f2 1 , u f3 1 and the straight line parallel to the Y axis. Here, the Y coordinate of the intersection of the straight line parallel to the Y axis and the straight lines u f1 1 , u f2 1 , u f3 1 is the first command value candidate u f1 1 , u f2 1 , u f3 1 to be obtained. From this, it can be seen that the Y coordinate of the point Z represents the value of the evaluation function J.

図7に示す例では、直線uf1 と直線uf3 の交点において評価関数Jが最小となる。なぜなら、変数uf3 ’を減少させると点Zは直線uf1 に従って移動し、変数uf3 ’を増加させると直線uf3 に従って移動するため、どちらの場合においても評価関数Jの値が増加してしまうためである。 In the example shown in FIG. 7, the evaluation function J is minimum at the intersection of the straight line u f1 1 and the straight line u f3 1 . This is because 'moves Decreasing the point Z according to the straight line u f1 1, the variable u f3 1' variable u f3 1 to move by increasing the accordance linear u f3 1, the value of even the evaluation function J in the case of either This is because of the increase.

ただし、評価関数Jは常に直線uf1 とuf3 の交点において最小となるわけではない。それは、各直線のX切片、Y切片、交点のX座標とY座標の大きさが、係数Kf1,Kf2,Kf3と関節トルク指令値T,Tに依存して変化するためである。 However, the evaluation function J is not always minimized at the intersection of the straight lines u f1 1 and u f3 1 . This is because the X-intercept, Y-intercept of each straight line, and the X and Y coordinates of the intersection change depending on the coefficients K f1 , K f2 , K f3 and the joint torque command values T 1 , T 2. is there.

そこで、本第1実施形態では、各直線のX切片、Y切片、交点のX座標とY座標の大きさに基づく場合分けの条件を導出し、それぞれの場合において評価関数Jが最小となる点を求める。ただし、直線uf1 と直線uf2 の両方を動かすと、場合分けの条件が複雑となってしまう。そこで、本第1実施形態では説明を容易にするために、直線uf1 のX切片とY切片を固定して図示する。そして、直線uf2 のX切片とY切片を原点からX軸とY軸の正の方向に、徐々に図上で移動させるときの直線uf1 ,uf2 ,uf3 のグラフを図示し、評価関数Jが最小値を取る点を求める。 Therefore, in the first embodiment, a condition for dividing the case based on the X-intercept, the Y-intercept of each straight line, and the size of the X coordinate and the Y coordinate of the intersection is derived, and the evaluation function J is minimized in each case. Ask for. However, if both the straight line u f1 1 and the straight line u f2 1 are moved, the condition for case division becomes complicated. Therefore, in the first embodiment, for easy explanation, the X-intercept and the Y-intercept of the straight line u f1 1 are fixed and illustrated. Then, graphs of the straight lines u f1 1 , u f2 1 , u f3 1 when the X intercept and the Y intercept of the straight line u f2 1 are gradually moved from the origin in the positive direction of the X axis and the Y axis on the drawing. The point where the evaluation function J takes the minimum value is obtained.

図8及び図9は、直線uf1 ,uf2 ,uf3 の別の例を示すグラフである。まず、図8(a)及び図8(b)と図9(a)及び図9(b)とに、直線uf1 ,uf2 ,uf3 と補助線を点線、破線、実線、一点鎖線を用いて、それぞれ表す。なお、図8(a)は、直線uf2 のX切片及びY切片が、直線uf1 のX切片及びY切片と比べて十分に小さいときのグラフを、図8(b)は、直線uf2 のX切片をX軸の正方向へ移動させたときのグラフを表す。また、図9(a)は、図8(b)と比べて直線uf2 のY切片をY軸の正方向へ移動させたときのグラフを、図9(b)は、直線uf2 のX切片及びY切片をX軸及びY軸の正方向に十分に大きく移動させたときのグラフを表す。 8 and 9 are graphs showing another example of the straight lines u f1 1 , u f2 1 , and u f3 1 . First, in FIGS. 8 (a) and 8 (b) and FIGS. 9 (a) and 9 (b), straight lines u f1 1 , u f2 1 , u f3 1 and auxiliary lines are represented by dotted lines, broken lines, solid lines, Represented using a one-dot chain line. 8A is a graph when the X and Y intercepts of the straight line u f2 1 are sufficiently smaller than the X and Y intercepts of the straight line u f1 1 , and FIG. 8B is a straight line. A graph when the X intercept of u f2 1 is moved in the positive direction of the X axis is shown. 9A is a graph when the Y intercept of the straight line u f2 1 is moved in the positive direction of the Y axis compared to FIG. 8B, and FIG. 9B is a straight line u f2 1. A graph is shown when the X-intercept and the Y-intercept are moved sufficiently large in the positive direction of the X-axis and Y-axis.

次に、直線uf1 と直線uf3 の交点を点A、点Aを通りY軸と平行な直線と直線uf2 の交点を点B、直線uf2 とX軸との交点をC、点Cを通りY軸と平行な直線と直線uf1 との交点をDとする。また、直線uf2 と直線uf3 の交点を点E、点Eを通りY軸と平行な直線と直線uf1 の交点を点F、直線uf1 とX軸との交点を点G、点Gを通りY軸と平行な直線と直線uf2 との交点をHとする。なお、各点の下付きの添え字は対応する演算処理の番号を表す。 Next, the intersection of the straight line u f1 1 and the straight line u f3 1 is the point A 1 , the intersection of the straight line passing through the point A 1 and parallel to the Y axis and the straight line u f2 1 is the point B 1 , the straight line u f2 1 and the X axis Is defined as C 1 , and an intersection between a straight line passing through the point C 1 and parallel to the Y axis and the straight line u f1 1 is defined as D 1 . Further, the intersection of the straight line u f2 1 and the straight line u f3 1 is the point E 1 , the intersection of the straight line passing through the point E 1 and the straight line u f1 1 and the straight line u f1 1 is the point F 1 , and the straight line u f1 1 and the X axis are Let the intersection be a point G 1 , and let H 1 be the intersection of a straight line passing through the point G 1 and parallel to the Y axis and the straight line u f2 1 . Note that the subscript of each point represents the number of the corresponding arithmetic processing.

ここで、式(18)〜式(20)より、点A,B,C,D,E,F,G,Hのx座標xa1,xb1,xc1,xd1,xe1,xf1,xg1,xh1とy座標ya1,yb1,yc1,yd1,ye1,yf1,yg1,yh1は、 Here, from the equations (18) to (20), the x coordinates x a1 , x b1 , x c1 , x of the points A 1 , B 1 , C 1 , D 1 , E 1 , F 1 , G 1 , H 1 x d1 , x e 1 , x f 1 , x g 1 , x h 1 and y coordinates y a 1 , y b 1 , y c 1 , y d 1 , y e 1 , y f 1 , y g 1 , y h 1 are

Figure 2014004654
となる。なお、各座標の下付きの添え字は対応する点を表す。
Figure 2014004654
It becomes. In addition, the subscript of each coordinate represents a corresponding point.

図8(a)及び図8(b)に示すように、直線uf2 のY切片が直線uf1 のY切片と比べて十分に小さいとき、点Aが点Bに対してY軸の正側に存在するため、座標ya1,yb1は、 As shown in FIGS. 8A and 8B, when the Y intercept of the straight line u f2 1 is sufficiently smaller than the Y intercept of the straight line u f1 1 , the point A 1 is Y with respect to the point B 1 . Since it exists on the positive side of the axis, the coordinates y a1 and y b1 are

Figure 2014004654
を満たす。また、図8(a)に示すように、直線uf2 のX切片が直線uf1 のX切片と比べて十分に小さいとき、点Aは点Cに対してX軸の正側に存在するため、座標xa1,xc1は、
Figure 2014004654
Meet. Further, as shown in FIG. 8A, when the X intercept of the straight line u f2 1 is sufficiently smaller than the X intercept of the straight line u f1 1 , the point A 1 is on the positive side of the X axis with respect to the point C 1 . The coordinates x a1 and x c1 are

Figure 2014004654
を満たす。このとき、変数uf3 ’の変域は、
Figure 2014004654
Meet. At this time, the domain of the variable u f3 1 ′ is

Figure 2014004654
となるため、図8(a)より、評価関数Jは点Dにおいて最小値を取ることがわかる。従って、式(32)及び式(33)が成立するとき、評価関数Jの最小値Jmin は、
Figure 2014004654
Since the, from FIG. 8 (a), the evaluation function J is seen that the minimum value at point D 1. Therefore, when Expression (32) and Expression (33) hold, the minimum value J min 1 of the evaluation function J is

Figure 2014004654
となり、第1指令値候補uf1 ,uf2 ,uf3 はそれぞれ、
Figure 2014004654
The first command value candidates u f1 1 , u f2 1 and u f3 1 are respectively

Figure 2014004654
となる。また、図8(b)に示すように、点Cが点Aに対してX軸の正側に存在するように、直線uf2 のX切片を移動すると、座標xa1,xc1は、
Figure 2014004654
It becomes. Further, as shown in FIG. 8B, when the X intercept of the straight line u f2 1 is moved so that the point C 1 exists on the positive side of the X axis with respect to the point A 1 , the coordinates x a1 and x c1 are moved. Is

Figure 2014004654
を満たすこととなる。このとき、図8(b)より、座標xa1は変数uf3 ’の変域内に存在し、評価関数Jは点Aにおいて最小値を取ることがわかる。従って、式(32)及び式(37)が成立するとき、評価関数Jの最小値Jmin は、
Figure 2014004654
Will be satisfied. At this time, it can be seen from FIG. 8B that the coordinate x a1 exists in the domain of the variable u f3 1 ′, and the evaluation function J takes the minimum value at the point A 1 . Therefore, when Expression (32) and Expression (37) hold, the minimum value J min 1 of the evaluation function J is

Figure 2014004654
となる。第1指令値候補uf1 ,uf2 ,uf3 はそれぞれ、
Figure 2014004654
It becomes. The first command value candidates u f1 1 , u f2 1 and u f3 1 are respectively

Figure 2014004654
となる。
Figure 2014004654
It becomes.

さらに、図9(a)及び図9(b)に示すように、点Bが点Aに対してY軸の正側に存在するように直線uf2 のY切片を移動すると、座標ya1,yb1は、 Further, as shown in FIGS. 9A and 9B, when the Y intercept of the straight line u f2 1 is moved so that the point B 1 exists on the positive side of the Y axis with respect to the point A 1 , y a1 and y b1 are

Figure 2014004654
を満たすこととなる。ここで、図9(a)に示すように、点Eが点Gに対して、X軸の負側に存在するとき、すなわち、座標xe1,xg1が、
Figure 2014004654
Will be satisfied. Here, as shown in FIG. 9 (a), the point E 1 is with respect to the point G 1, when present on the negative side of the X-axis, i.e., coordinates x e1, x g1 is,

Figure 2014004654
を満たすとき、評価関数Jは点Eにおいて最小値を取る。従って、式(40)及び式(41)が同時に成り立つとき、評価関数Jの最小値Jmin は、
Figure 2014004654
When satisfying the evaluation function J takes a minimum value at point E 1. Therefore, when Equation (40) and Equation (41) hold simultaneously, the minimum value J min 1 of the evaluation function J is

Figure 2014004654
となる。第1指令値候補uf1 ,uf2 ,uf3 はそれぞれ、
Figure 2014004654
It becomes. The first command value candidates u f1 1 , u f2 1 and u f3 1 are respectively

Figure 2014004654
となる。また、図9(b)に示すように、点Eが点Gに対してX軸の正側に存在するように、直線uf2 のX切片とY切片をさらに正側に移動させると、座標xe1,xg1は、
Figure 2014004654
It becomes. Further, as shown in FIG. 9B, the X and Y intercepts of the straight line u f2 1 are further moved to the positive side so that the point E 1 exists on the positive side of the X axis with respect to the point G 1 . And the coordinates x e1 and x g1 are

Figure 2014004654
を満たすこととなる。このとき、図9(b)より、座標xe1は変数uf3 ’の変域に含まれないため、評価関数Jは点Hにおいて最小値を取ることがわかる。従って、式(40)及び式(44)が同時に成り立つとき、評価関数Jの最小値Jmin は、
Figure 2014004654
Will be satisfied. At this time, it can be seen from FIG. 9B that since the coordinate x e1 is not included in the domain of the variable u f3 1 ′, the evaluation function J takes the minimum value at the point H 1 . Therefore, when Equation (40) and Equation (44) hold simultaneously, the minimum value J min 1 of the evaluation function J is

Figure 2014004654
となり、第1指令値候補uf1 ,uf2 ,uf3 はそれぞれ、
Figure 2014004654
The first command value candidates u f1 1 , u f2 1 and u f3 1 are respectively

Figure 2014004654
となる。
Figure 2014004654
It becomes.

なお、本第1実施形態では、式(35)、式(38)、式(42)、式(45)を用いて評価関数Jの最小値Jmin を演算する場合を、それぞれCase11、Case12、Case13、Case14と定義する。ただし、Caseに続く番号は、第1〜4演算処理のうち、対応する演算処理の番号を表す。 In the first embodiment, cases where the minimum value J min 1 of the evaluation function J is calculated using Expression (35), Expression (38), Expression (42), and Expression (45) are Case 11 , It is defined as Case 12 , Case 13 , and Case 14 . However, the number following Case represents the number of the corresponding calculation process among the first to fourth calculation processes.

図10は、収縮力指令値演算部による第1演算処理のフローチャートである。図10に示すように、収縮力指令値演算部152は、第1演算処理として、式(10)に示す第1関数及び式(11)に示す第2関数において、式(18)に示すように、ue1=0,ue2=0,ue3=0とする(S31)。 FIG. 10 is a flowchart of the first calculation process by the contraction force command value calculation unit. As shown in FIG. 10, the contractile force command value calculation unit 152 performs the first calculation process using the first function shown in Expression (10) and the second function shown in Expression (11) as shown in Expression (18). In addition, u e1 = 0, u e2 = 0, and u e3 = 0 (S31).

次に、収縮力指令値演算部152は、式(24)及び式(25)を演算する(S32)。次に、収縮力指令値演算部152は、ya1≧yb1であるか否かを判断する(S33)。収縮力指令値演算部152は、ya1≧yb1である場合(S33:Yes)、式(26)を演算する(S34)。次に、収縮力指令値演算部152は、xa1≧xc1であるか否かを判断する(S35)。収縮力指令値演算部152は、xa1≧xc1である場合(S35:Yes)、式(27)を演算し(S36)、式(35)及び式(36)を導き出す(S37:Case11)。 Next, the contractile force command value calculation unit 152 calculates Expression (24) and Expression (25) (S32). Next, the contraction force command value calculation unit 152 determines whether or not y a1 ≧ y b1 (S33). When the contraction force command value calculation unit 152 satisfies y a1 ≧ y b1 (S33: Yes), the contraction force command value calculation unit 152 calculates Expression (26) (S34). Next, the contraction force command value calculation unit 152 determines whether or not x a1 ≧ x c1 (S35). When x a1 ≧ x c1 (S35: Yes), the contraction force command value calculation unit 152 calculates Expression (27) (S36), and derives Expression (35) and Expression (36) (S37: Case 11). ).

また、収縮力指令値演算部152は、xa1≧xc1ではない場合(S35:No)、式(38)及び式(39)を導き出す(S38:Case12)。 Further, when x a1 ≧ x c1 is not satisfied (S35: No), the contraction force command value calculation unit 152 derives Expression (38) and Expression (39) (S38: Case 12 ).

また、収縮力指令値演算部152は、ya1≧yb1ではない場合(S33:No)、式(28)、式(29)及び式(30)を演算する(S39)。次に、収縮力指令値演算部152は、xe1<xg1であるか否かを判断する(S40)。次に、収縮力指令値演算部152は、xe1<xg1である場合(S40:Yes)、式(42)及び式(43)を導き出す(S41:Case13)。 In addition, when y a1 ≧ y b1 is not satisfied (S33: No), the contraction force command value calculation unit 152 calculates Expression (28), Expression (29), and Expression (30) (S39). Next, the contraction force command value calculation unit 152 determines whether or not x e1 <x g1 (S40). Next, when x e1 <x g1 is satisfied (S40: Yes), the contraction force command value calculation unit 152 derives Expression (42) and Expression (43) (S41: Case 13 ).

また、収縮力指令値演算部152は、xe1<xg1ではない場合(S40:No)、式(30)及び式(31)を演算し(S42)、式(45)及び式(46)を導き出す(S43:Case14)。 In addition, when x e1 <x g1 is not satisfied (S40: No), the contraction force command value calculation unit 152 calculates Expression (30) and Expression (31) (S42), Expression (45), and Expression (46). Is derived (S43: Case 14 ).

このように、収縮力指令値演算部152は、式(32)、式(33)及び式(41)に示す場合分けを行う。そして、それぞれの場合について、評価関数Jの最小値Jmin と第1指令値候補uf1 ,uf2 ,uf3 を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第1指令値候補を演算する第1演算処理を実行する。 Thus, the contraction force command value calculation unit 152 performs the case classification shown in Expression (32), Expression (33), and Expression (41). In each case, the minimum value J min 1 of the evaluation function J and the first command value candidates u f1 1 , u f2 1 , u f3 1 are calculated. That is, the contraction force command value calculation unit 152 executes a first calculation process for calculating a first command value candidate including the first to sixth contraction force command values that minimizes the evaluation function.

なお、本実施形態では式(21)で定義する変数uf3 ’を用いて、評価関数Jを最小化する指令値候補uf1 ,uf2 ,uf3 を導出するが、評価関数Jの最小値と指令値候補uf1 ,uf2 ,uf3 は変数の選び方に依存しない。なぜなら、評価関数Jの最小値は指令値候補uf1 ,uf2 ,uf3 によって決定されるが、指令値候補uf1 ,uf2 ,uf3 は変数の選び方によらず式(19)と式(20)を満たすように増減するためである。このことは、以下に述べる第2〜4演算処理においても同様に成り立つ。 In this embodiment, command value candidates u f1 1 , u f2 1 , and u f3 1 that minimize the evaluation function J are derived using the variable u f3 1 ′ defined by Expression (21). The minimum value of J and the command value candidates u f1 1 , u f2 1 , u f3 1 do not depend on how the variables are selected. This is because the minimum value of the evaluation function J is determined by the command value candidates u f1 1 , u f2 1 , and u f3 1 , but the command value candidates u f1 1 , u f2 1 , and u f3 1 do not depend on how the variables are selected. This is to increase or decrease to satisfy the expressions (19) and (20). This also holds true for the second to fourth arithmetic processing described below.

(2.2.2 第2演算処理の設計)
第2演算処理における収縮力指令値の第2指令値候補ue1 ,uf2 ,ue3 は、図4の条件2と式(16)より、
(2.2.2 Design of second arithmetic processing)
The second command value candidates u e1 2 , u f2 2 , and u e3 2 of the contraction force command value in the second calculation process are obtained from Condition 2 and Expression (16) in FIG.

Figure 2014004654
となるため、評価関数Jは第2指令値候補uf1 ,ue2 ,uf3 の最大値となる。そこで、第1演算処理と同様に変数uf3 ’を、
Figure 2014004654
Therefore, the evaluation function J becomes the maximum value of the second command value candidates u f1 2 , u e2 2 and u f3 2 . Therefore, the variable u f3 2 ′ is set as in the first calculation process.

Figure 2014004654
と定義する。変数uf3 ’を用いて第2指令値候補uf1 ,ue2 を、
Figure 2014004654
It is defined as Using the variable u f3 2 ′, the second command value candidates u f1 2 and u e2 2 are

Figure 2014004654
とする。そして、X軸を変数uf3 ’と、Y軸を第2指令値候補uf1 ,ue2 ,uf3 とする3つの直線uf1 ,ue2 ,uf3 のグラフを描画する。さらに、直線uf1 のX切片とY切片を固定し、直線ue2 のX切片とY切片を原点から移動させると、第2演算処理においてはCase21、Case22、Case23、Case24の4通りの場合分けが必要となる。
Figure 2014004654
And Then, a graph of three straight lines u f1 2 , u e2 2 , u f3 2 with the variable u f3 2 ′ on the X axis and the second command value candidates u f1 2 , u e2 2 , u f3 2 on the Y axis is obtained. draw. Furthermore, when the X and Y intercepts of the straight line u f1 2 are fixed and the X and Y intercepts of the straight line u e2 2 are moved from the origin, Case 21 , Case 22 , Case 23 , and Case 24 in the second calculation process. The following four cases are required.

図11は、収縮力指令値演算部による第2演算処理のフローチャートである。図11に示すように、収縮力指令値演算部152は、第2演算処理として、まず、式(10)に示す第1関数及び式(11)に示す第2関数において、式(47)に示すように、ue1=0,uf2=0,ue3=0とする(S51)。 FIG. 11 is a flowchart of the second calculation process by the contraction force command value calculation unit. As shown in FIG. 11, as the second calculation process, the contractile force command value calculation unit 152 first converts the first function shown in Expression (10) and the second function shown in Expression (11) into Expression (47). As shown, u e1 = 0, u f2 = 0, and u e3 = 0 (S51).

次に、収縮力指令値演算部152は、ya2,yb2を演算し(S52)、yb2≦ya2であるか否かを判断する(S53)。収縮力指令値演算部152は、yb2≦ya2である場合(S53:Yes)、xc2,xa2を演算し(S54)、xc2<xa2であるか否かを判断する(S55)。収縮力指令値演算部152は、xc2<xa2である場合(S55:Yes)、uf1 =ya2,ue2 =yb2,uf3 =ya2,Jmin =ya2を導き出す(S56:Case21)。 Next, the contraction force command value calculation unit 152 calculates y a2 and y b2 (S52), and determines whether y b2 ≦ y a2 is satisfied (S53). When y b2 ≦ y a2 is satisfied (S53: Yes), the contraction force command value calculation unit 152 calculates x c2 and x a2 (S54), and determines whether x c2 <x a2 is satisfied (S55). ). When xc2 < xa2 is satisfied (S55: Yes), the contraction force command value calculation unit 152 is uf1 2 = y a2 , u e2 2 = y b2 , u f3 2 = y a2 , J min 2 = y a2 Is derived (S56: Case 21 ).

また、収縮力指令値演算部152は、xc2<xa2ではない場合(S55:No)、xc2≦xd2であるか否かを判断する(S57)。次に、収縮力指令値演算部152は、xc2≦xd2である場合(S57:Yes)、ye2,yf2を演算し(S58)、uf1 =yf2,ue2 =0,uf3 =ye2,Jmin =ye2を導き出す(S59:Case22)。 In addition, when x c2 <x a2 is not satisfied (S55: No), the contraction force command value calculation unit 152 determines whether x c2 ≦ x d2 is satisfied (S57). Next, when x c2 ≦ x d2 is satisfied (S57: Yes), the contraction force command value calculation unit 152 calculates y e2 and y f2 (S58), and u f1 2 = y f2 and u e2 2 = 0. , U f3 2 = y e2 and J min 2 = y e2 are derived (S59: Case 22 ).

また、収縮力指令値演算部152は、xc2≦xd2ではない場合(S57:No)、uf1 =ue2 =uf3 =0,Jmin =0を導き出す(S60:Case23)。 When x c2 ≦ x d2 is not satisfied (S57: No), the contraction force command value calculation unit 152 derives u f1 2 = u e2 2 = u f3 2 = 0 and J min 2 = 0 (S60: Case). 23 ).

また、収縮力指令値演算部152は、yb2≦ya2ではない場合(S53:No)、yg2,yh2を演算し(S61)、uf1 =0,ue2 =yh2,uf3 =yg2,Jmin =yg2を導き出す(S62:Case24)。 In addition, when y b2 ≦ y a2 is not satisfied (S53: No), the contraction force command value calculation unit 152 calculates y g2 and y h2 (S61), and u f1 2 = 0 and u e2 2 = y h2 , u f3 2 = y g2 and J min 2 = y g2 are derived (S62: Case 24 ).

なお、Case23では、第2指令値候補uf1 ,ue2 ,uf3 を全て正数とすることができない。そこで、後述する筋指令選択部において候補から外すために、第2指令値候補ufi ,uei と最小値Jmin を0とおく。 In Case 23 , the second command value candidates u f1 2 , u e2 2 , and u f3 2 cannot all be positive numbers. Therefore, the second command value candidates u fi 2 , u ei 2 and the minimum value J min 2 are set to 0 in order to exclude them from candidates in a muscle command selection unit described later.

以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin と第2指令値候補uf1 ,ue2 ,uf3 を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第2指令値候補を演算する第2演算処理を実行する。 As described above, the contraction force command value calculation unit 152 calculates the minimum value J min 2 of the evaluation function J and the second command value candidates u f1 2 , u e2 2 , and u f3 2 . That is, the contraction force command value calculation unit 152 executes a second calculation process for calculating a second command value candidate including the first to sixth contraction force command values that minimizes the evaluation function.

(2.2.3 第3演算処理の設計)
第3演算処理における収縮力指令値の第3指令値候補uf1 ,ue2 ,ue3 は、図4の条件3と式(16)より、
(2.2.3 Design of third arithmetic processing)
The third command value candidates u f1 3 , u e2 3 , and u e3 3 of the contraction force command value in the third calculation process are expressed by Condition 3 and Expression (16) in FIG.

Figure 2014004654
となるため、評価関数Jは第3指令値候補ue1 ,uf2 ,uf3 の最大値となる。そこで、第1演算処理と同様に変数uf3 ’を、
Figure 2014004654
Therefore , the evaluation function J is the maximum value of the third command value candidates u e1 3 , u f2 3 and u f3 3 . Therefore, the variable u f3 3 ′ is set as in the first calculation process.

Figure 2014004654
と定義する。第3指令値候補ue1 ,uf2 は、
Figure 2014004654
It is defined as The third command value candidates u e1 3 and u f2 3 are

Figure 2014004654
と表すことができる。ここで、
Figure 2014004654
It can be expressed as. here,

Figure 2014004654
と定義する。変数uf1 ’,ue2 ’と定数Kf1’,Ke2’,T’,T’を用いて式(53)及び式(54)を表すと、
Figure 2014004654
It is defined as Expressions (53) and (54) are expressed using the variables u f1 3 ′, u e2 3 ′ and constants K f1 ′, K e2 ′, T 1 ′, T 2 ′.

Figure 2014004654
となる。式(49)と式(59)、式(50)と式(58)を比較すると、第3演算処理の場合分けは、第2演算処理と等価であることがわかる。従って、第3演算処理においてはCase31、Case32、Case33、Case34の4通りの場合分けが必要となる。
Figure 2014004654
It becomes. Comparing equation (49) and equation (59), equation (50) and equation (58), it can be seen that the case division of the third operation processing is equivalent to the second operation processing. Accordingly, in the third calculation process, four cases of Case 31 , Case 32 , Case 33 , and Case 34 are required.

図12は、収縮力指令値演算部による第3演算処理のフローチャートである。図12に示すように、本第1実施形態の第3演算処理は、式(55)〜式(57)に示す変数変換と第2演算処理を用いて場合分けを行う。   FIG. 12 is a flowchart of the third calculation process by the contraction force command value calculation unit. As shown in FIG. 12, the third calculation process of the first embodiment is divided into cases using the variable conversion and the second calculation process shown in Expression (55) to Expression (57).

即ち、収縮力指令値演算部152は、第3演算処理として、まず、式(10)に示す第1関数及び式(11)に示す第2関数において、式(51)に示すように、uf1=0,ue2=0,ue3=0とする(S71)。次に、収縮力指令値演算部152は、式(56)及び式(57)のように定義し(S72)、第2演算処理と同様の演算を行う(S73)。その際、収縮力指令値演算部152は、式(55)のように定義する(S74)。 That is, as the third calculation process, the contraction force command value calculation unit 152 first uses the first function shown in the equation (10) and the second function shown in the equation (11) as shown in the equation (51). It is assumed that f1 = 0, u e2 = 0, and u e3 = 0 (S71). Next, the contraction force command value calculation unit 152 is defined as in Expression (56) and Expression (57) (S72), and performs the same calculation as in the second calculation process (S73). At that time, the contraction force command value calculation unit 152 defines the equation (55) (S74).

以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin と第3指令値候補ue1 ,uf2 ,uf3 を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第3指令値候補を演算する第3演算処理を実行する。 As described above, the contraction force command value calculation unit 152 calculates the minimum value J min 3 of the evaluation function J and the third command value candidates u e1 3 , u f2 3 , and u f3 3 . That is, the contraction force command value calculation unit 152 executes a third calculation process for calculating a third command value candidate including the first to sixth contraction force command values that minimizes the evaluation function.

(2.2.4 第4演算処理の設計)
第4演算処理における収縮力指令値の第4指令値候補uf1 ,uf2 ,ue3 は、図4の条件4と式(16)より、
(2.2.4 Design of fourth arithmetic processing)
The fourth command value candidates u f1 4 , u f2 4 , and u e3 4 of the contraction force command value in the fourth calculation process are obtained from Condition 4 and Expression (16) in FIG.

Figure 2014004654
となるため、評価関数Jは第4指令値候補ue1 ,ue2 ,uf3 の最大値となる。そこで、第1演算処理と同様に変数uf3 ’を、
Figure 2014004654
Therefore , the evaluation function J becomes the maximum value of the fourth command value candidates u e1 4 , u e2 4 , u f3 4 . Therefore, the variable u f3 4 ′ is set as in the first calculation process.

Figure 2014004654
と定義する。変数uf3 ’を用いて第4指令値候補ue1 ,ue2 を、
Figure 2014004654
It is defined as Using the variable u f3 4 ′, the fourth command value candidates u e1 4 and u e2 4 are

Figure 2014004654
とする。そして、X軸を変数uf3 ’と、Y軸を第4指令値候補ue1 ,ue2 ,uf3 とする3つの直線ue1 ,ue2 ,uf3 のグラフを描画する。さらに、直線ue1 のX切片とY切片を固定して図示し、直線ue2 のX切片とY切片を図上で移動させると、第4演算処理においては、Case41、Case42、Case43、Case44の4通りの場合分けが必要となる。
Figure 2014004654
And Then, a graph of three straight lines u e1 4 , u e2 4 , u f3 4 with the variable u f3 4 ′ on the X axis and the fourth command value candidates u e1 4 , u e2 4 , u f3 4 on the Y axis is obtained. draw. Furthermore, when the X and Y intercepts of the straight line u e1 4 are fixed and shown, and the X and Y intercepts of the straight line u e2 4 are moved on the drawing, in the fourth calculation process, Case 41 , Case 42 , Case classification is required for Case 43 and Case 44 .

図13は、収縮力指令値演算部による第4演算処理のフローチャートである。収縮力指令値演算部152は、第4演算処理として、まず、式(10)に示す第1関数及び式(11)に示す第2関数において、式(60)に示すように、uf1=0,uf2=0,ue3=0とする(S81)。 FIG. 13 is a flowchart of the fourth calculation process by the contraction force command value calculation unit. Contractile force command value calculating section 152, the fourth arithmetic processing, first, in the second function shown in the first function and the equation shown in equation (10) (11), as shown in equation (60), u f1 = It is assumed that 0, u f2 = 0 and u e3 = 0 (S81).

次に、収縮力指令値演算部152は、xa4,xb4を演算する(S82)。次に、収縮力指令値演算部152は、xb4<xa4であるか否かを判断する(S83)。収縮力指令値演算部152は、xb4<xa4であると判断した場合は(S83:Yes)、yc4,yd4を演算する(S84)。そして、収縮力指令値演算部152は、ue1 =0,ue2 =ye4,uf3 =yc4を導き出す(S85)。 Next, the contraction force command value calculation unit 152 calculates x a4 and x b4 (S82). Next, the contraction force command value calculation unit 152 determines whether or not x b4 <x a4 (S83). When it is determined that x b4 <x a4 is satisfied (S83: Yes), the contraction force command value calculation unit 152 calculates y c4 and y d4 (S84). Then, the contraction force command value calculation unit 152 derives u e1 4 = 0, u e2 4 = y e4 , and u f3 4 = y c4 (S85).

次に、収縮力指令値演算部152は、yd4<yc4であるか否かを判断する(S86)。そして、収縮力指令値演算部152は、yd4<yc4であると判断した場合は(S86:Yes)、Jmin =yc4とする(S87:Case41)。また、収縮力指令値演算部152は、yd4<yc4ではないと判断した場合は(S86:No)、Jmin =yd4とする(S88:Case42)。 Next, the contraction force command value calculation unit 152 determines whether or not y d4 <y c4 (S86). When the contraction force command value calculation unit 152 determines that y d4 <y c4 (S86: Yes), J min 4 = y c4 (S87: Case 41 ). When the contraction force command value calculation unit 152 determines that y d4 <y c4 is not satisfied (S86: No), J min 4 = y d4 is set (S88: Case 42 ).

また、収縮力指令値演算部152は、xb4<xa4ではないと判断した場合は(S83:No)、ye4,yf4を演算する(S89)。そして、収縮力指令値演算部152は、ue1 =ye4,ue2 =0,uf3 =yf4を導き出す(S90)。 When the contraction force command value calculation unit 152 determines that x b4 <x a4 is not satisfied (S83: No), it calculates y e4 and y f4 (S89). Then, the contraction force command value calculation unit 152 derives u e1 4 = y e4 , u e2 4 = 0, u f3 4 = y f4 (S90).

次に、収縮力指令値演算部152は、ye4<yf4であるか否かを判断する(S91)。そして、収縮力指令値演算部152は、ye4<yf4であると判断した場合は(S91:Yes)、Jmin =yf4とする(S92:Case43)。また、収縮力指令値演算部152は、ye4<yf4ではないと判断した場合は(S91:No)、Jmin =ye4とする(S93:Case44)。 Next, the contraction force command value calculation unit 152 determines whether or not y e4 <y f4 (S91). When the contraction force command value calculation unit 152 determines that y e4 <y f4 (S91: Yes), it sets J min 4 = y f4 (S92: Case 43 ). When the contraction force command value calculation unit 152 determines that y e4 <y f4 is not satisfied (S91: No), it sets J min 4 = y e4 (S93: Case 44 ).

以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin と収縮力指令値の第4指令値候補ue1 ,ue2 ,uf3 を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第4指令値候補を演算する第4演算処理を実行する。 As described above, the contraction force command value calculation unit 152 calculates the minimum value J min 4 of the evaluation function J and the fourth command value candidates u e1 4 , u e2 4 , and u f3 4 of the contraction force command value. That is, the contraction force command value calculation unit 152 executes a fourth calculation process for calculating a fourth command value candidate including the first to sixth contraction force command values that minimizes the evaluation function.

(2.3 第1指令選択処理)
収縮力指令値演算部152は、第1指令選択処理では、評価関数の最小値Jminの候補Jmin ,Jmin ,Jmin ,Jmin のうち、最小となるものを選び出す。そして、収縮力指令値演算部152は、そのときの指令値候補を、収縮力指令値ufi,ueiとして出力する。
(2.3 First command selection process)
In the first command selection process, the contractile force command value calculation unit 152 selects a minimum one of the candidates J min 1 , J min 2 , J min 3 , and J min 4 of the minimum value J min of the evaluation function. Then, the contraction force command value calculation unit 152 outputs the command value candidates at that time as contraction force command values u fi and u ei .

図14は、収縮力指令値演算部による第1指令選択処理のフローチャートである。まず、収縮力指令値演算部152は、評価関数Jの最小値Jminと収縮力指令値ufi,ueiを、第1演算処理で演算した最小値の候補Jmin と収縮力指令値の第1指令値候補ufi ,uei とする(S101)。次に、収縮力指令値演算部152は、Jmin >0であるか否かを判断し(S102)、Jmin >0である場合(S102:Yes)、以下の式(64)、即ちJmin>Jmin であるか否かを判断する(S103)。 FIG. 14 is a flowchart of first command selection processing by the contraction force command value calculation unit. First, the contractile force command value calculation unit 152 calculates the minimum value J min 1 of the evaluation function J and the contractile force command values u fi and u ei , the minimum value candidate J min 1 calculated by the first calculation process, and the contractile force command value. First command value candidates u fi 1 and u ei 1 (S101). Next, contractile force command value calculating section 152 determines whether or not J min 2> 0 (S102) , if a J min 2> 0 (S102: Yes), the following equation (64), That is, it is determined whether J min > J min 2 (S103).

Figure 2014004654
Figure 2014004654

収縮力指令値演算部152は、Jmin>Jmin であると判断した場合(S103:Yes)、JminをJmin とし、ufi,ueiをufi ,uei とする(S104)。 When the contraction force command value calculation unit 152 determines that J min > J min 2 (S103: Yes), J min is set to J min 2 and u fi and u ei are set to u fi 2 and u ei 2 . (S104).

次に、収縮力指令値演算部152は、Jmin >0であるか否かを判断し(S105)、Jmin >0である場合(S105:Yes)、Jmin>Jmin であるか否かを判断する(S106)。収縮力指令値演算部152は、Jmin>Jmin であると判断した場合(S106:Yes)、JminをJmin とし、ufi,ueiをufi ,uei とする(S107)。 Next, contractile force command value calculating section 152 determines whether or not J min 3> 0 (S105) , if a J min 3> 0 (S105: Yes), in J min> J min 3 It is determined whether or not there is (S106). When the contraction force command value calculation unit 152 determines that J min > J min 3 (S106: Yes), J min is set to J min 3, and u fi and u ei are set to u fi 3 and u ei 3 . (S107).

次に、収縮力指令値演算部152は、Jmin>Jmin であるか否かを判断する(S108)。収縮力指令値演算部152は、Jmin>Jmin であると判断した場合(S108:Yes)、JminをJmin とし、ufi,ueiをufi ,uei とする(S109)。 Next, the contraction force command value calculation unit 152 determines whether or not J min > J min 4 (S108). When the contraction force command value calculation unit 152 determines that J min > J min 4 (S108: Yes), J min is set to J min 4, and u fi and u ei are set to u fi 4 and u ei 4 . (S109).

ここで、2.2節で述べたように、第2,第3演算処理において、収縮力を全て正数とすることができないときは、最小値の候補Jmin ,Jmin を0とした。そこで、収縮力指令値演算部152は、第1筋指令選択処理では、候補Jmin ,Jmin が0より大きい場合にのみ、最小値Jminと収縮力指令値ufi,ueiの更新を行う。 Here, as described in Section 2.2, when the contraction force cannot be all positive numbers in the second and third calculation processes, the minimum value candidates J min 2 and J min 3 are set to 0. did. Therefore, in the first muscle command selection process, the contraction force command value calculation unit 152 calculates the minimum value J min and the contraction force command values u fi and u ei only when the candidates J min 2 and J min 3 are greater than zero. Update.

以上、収縮力指令値演算部152は、第1〜第4指令値候補のうち、評価関数が最小の指令値候補を、指令値出力処理にて出力する第1〜第6収縮力指令値として選択する指令選択処理を実行する。   As described above, the contraction force command value calculation unit 152 sets the command value candidate having the smallest evaluation function among the first to fourth command value candidates as the first to sixth contraction force command values output in the command value output process. The command selection process to be selected is executed.

本第1実施形態によれば、収縮力指令値である制御入力を最適化する場合分けアルゴリズムにより、手先柔軟性の目標軌道が一意に決定されるため、最小の制御入力で人工筋肉アクチュエータf,eを拮抗駆動することが可能となる。制御入力を最小にすることで、例えばMcKibben型人工筋肉では消費する空気の量を最小にすることができる。これにより、タンク等の搭載型の空気源を用いるロボット100では稼働時間を延長することが可能となる。 According to the first embodiment, the target trajectory for the flexibility of the hand is uniquely determined by the case division algorithm for optimizing the control input that is the contraction force command value. Therefore, the artificial muscle actuator f i with the minimum control input. , E i can be antagonistically driven. By minimizing the control input, for example, in the McKibben type artificial muscle, the amount of air consumed can be minimized. As a result, the operation time can be extended in the robot 100 using an on-board type air source such as a tank.

[第2実施形態]
次に、本発明の第2実施形態のロボットについて説明する。本第2実施形態では、上記第1実施形態の制御方法にさらに分岐条件を加えることによって、各関節トルク指令値が正数と負数の両方を取るときにも制御入力である収縮力指令値の導出が可能であることを示す。なお、本第2実施形態において、装置構成は、上記第1実施形態における図2及び図3と同様であり、制御装置の制御動作が異なるものであるため、装置構成についての詳細な説明は省略し、制御装置の制御動作について詳細に説明する。
[Second Embodiment]
Next, a robot according to a second embodiment of the present invention will be described. In the second embodiment, by adding a branch condition to the control method of the first embodiment, even when each joint torque command value takes both a positive number and a negative number, Indicates that derivation is possible. In the second embodiment, the device configuration is the same as that in FIGS. 2 and 3 in the first embodiment, and the control operation of the control device is different. Therefore, detailed description of the device configuration is omitted. The control operation of the control device will be described in detail.

本第2実施形態では、関節トルク指令値T,Tが負数となる場合を考慮する収縮力の制御方法を導出する。これにより、任意の関節角度の目標軌道において、収縮力の最大値を最小化することが可能となる。 In the second embodiment, a contraction force control method is derived in consideration of the case where the joint torque command values T 1 and T 2 are negative numbers. This makes it possible to minimize the maximum value of the contractile force in the target trajectory with an arbitrary joint angle.

(1モデル導出)
本第2実施形態では第1実施形態と同じモデルを用いる。
(1 model derivation)
In the second embodiment, the same model as in the first embodiment is used.

(2 制御系設計)
本第2実施形態において、収縮力指令値演算部152は、関節トルク指令値T,Tの符号に基づいて、筋トルクτ,τ,τの符号の組み合わせを仮定する点が上記第1実施形態と異なる。
(2 Control system design)
In the second embodiment, the contraction force command value calculation unit 152 assumes a combination of signs of muscle torques τ 1 , τ 2 , τ 3 based on the signs of joint torque command values T 1 , T 2. Different from the first embodiment.

(2.1 関節トルク指令値の符号に基づく場合分け)
関節トルク指令値が負数となる場合は、図4に示す筋トルクτ,τ,τの符号の組み合わせのうち、筋トルクτが負数となる場合を考慮する必要がある。なぜなら、関節トルク指令値Tが負数のとき、筋トルクτを負数とすれば第1単関節筋の収縮力を低減することが可能となるためである。
(2.1 Classification based on the sign of joint torque command value)
When the joint torque command value is a negative number, it is necessary to consider a case where the muscle torque τ 3 is a negative number among the combinations of signs of the muscle torques τ 1 , τ 2 , and τ 3 shown in FIG. Because when a joint torque command value T 1 is negative, it is because it is possible to reduce the first contraction force of the single joint muscle if the muscle torque tau 3 and negative.

このように、関節トルク指令値T,Tのどちらかが負数となるときと、どちらも正数となるときでは、考慮すべき筋トルクτ,τ,τの符号の組み合わせが異なる。そこで、関節トルク指令値T,Tの符号に基づいて、考慮すべき筋トルクτ,τ,τの符号の組み合わせの場合分けを行う。 Thus, when one of the joint torque command values T 1 and T 2 is a negative number and when both are positive numbers, the combination of signs of muscle torques τ 1 , τ 2 , and τ 3 to be considered is Different. Therefore, based on the signs of the joint torque command values T 1 and T 2 , the combinations of signs of muscle torques τ 1 , τ 2 , and τ 3 to be considered are classified.

まず、関節トルク指令値Tが正数となりTが負数となるときを考える。図4において、筋トルクτ,τをどちらも負数とする条件7及び条件8の組み合わせを仮定すると、式(9)より、関節トルク指令値Tは負数となる。また、筋トルクτ,τをどちらも正数とする条件1と条件3の組み合わせを仮定すると、関節トルク指令値Tは正数となる。これらのことから、関節トルク指令値Tが正数となり関節トルク指令値Tが負数となるときは、条件2、条件4、条件5、条件6の組み合わせを仮定して、評価関数Jを最小化するufi,ueiを導出すればよいことが分かる。 First, consider the case where the joint torque command value T 1 is T 2 becomes positive becomes negative. In FIG. 4, assuming a combination of condition 7 and condition 8 in which both the muscle torques τ 1 and τ 3 are negative numbers, the joint torque command value T 1 is a negative number according to equation (9). Further, assuming a combination of Condition 1 and Condition 3 in which both the muscle torques τ 2 and τ 3 are positive numbers, the joint torque command value T 2 is a positive number. From these facts, when the joint torque command value T 1 is a positive number and the joint torque command value T 2 is a negative number, the evaluation function J is assumed to be a combination of Condition 2, Condition 4, Condition 5, and Condition 6. It can be seen that u fi and u ei to be minimized should be derived.

なお、本第2実施形態では、関節トルク指令値Tが正数となり関節トルク指令値Tが負数となるときは、関節トルク指令値Tが負数となり関節トルク指令値Tが正数となるときの演算方法を用いて収縮力指令値を演算する。 In the second embodiment, when the joint torque command value T 1 is positive and the joint torque command value T 2 is negative, the joint torque command value T 1 is negative and the joint torque command value T 2 is positive. The contraction force command value is calculated using the calculation method when

また、関節トルク指令値T,Tがどちらも負数となるときは、関節トルク指令値T,Tがどちらも正数となる場合の演算方法を用いて収縮力を演算する。さらに、本発明では関節トルク指令値T,Tが0となる場合は、正数である場合と同一の処理を行う。 Further, when the joint torque command values T 1 and T 2 are both negative numbers, the contractile force is calculated by using the calculation method when both the joint torque command values T 1 and T 2 are positive numbers. Further, in the present invention, when the joint torque command values T 1 and T 2 are 0, the same processing as in the case of a positive number is performed.

収縮力指令値演算部152は、関節トルク指令値T,Tの符号に基づく場合分けを行い、筋トルクτ,τ,τの符号の候補を選択する。そして、収縮力指令値演算部152は、関節トルク指令値T,Tのうち、一方が正数となり他方が負数となる場合、即ち、関節トルク指令値Tと関節トルク指令値Tとが異符号の場合には、第2最小化演算処理と第2指令選択処理を実行する。これにより収縮力指令値を演算する。 The contraction force command value calculation unit 152 performs case classification based on the signs of the joint torque command values T 1 and T 2 and selects candidate codes for the muscle torques τ 1 , τ 2 , and τ 3 . Then, the contraction force command value calculation unit 152, when one of the joint torque command values T 1 and T 2 is a positive number and the other is a negative number, that is, the joint torque command value T 1 and the joint torque command value T 2. Are different signs, the second minimization calculation process and the second command selection process are executed. Thus, the contractile force command value is calculated.

また、収縮力指令値演算部152は、関節トルク指令値T,Tがどちらも正数又は負数となる場合、即ち、関節トルク指令値Tと関節トルク指令値Tとが同符号の場合には、上記第1実施形態と同様に、第1最小化演算処理と第1指令選択処理を実行する。これにより収縮力指令値を演算する。 Further, the contraction force command value calculation unit 152 determines that the joint torque command values T 1 and T 2 are both positive or negative, that is, the joint torque command value T 1 and the joint torque command value T 2 have the same sign. In this case, as in the first embodiment, the first minimization calculation process and the first command selection process are executed. Thus, the contractile force command value is calculated.

図15は、本発明の第2実施形態に係るロボットの収縮力指令値演算部の処理動作を示すフローチャートである。まず、収縮力指令値演算部152は、関節トルク指令値T,Tをフィードフォワード補償部151から入力すると共に、不図示の上位コントローラから目標関節角度θ,θ、目標関節角速度ω,ωを入力する(S110)。なお、弾性力定数k、粘性力定数c及びモーメントアーム径rは、予め設定された値である。 FIG. 15 is a flowchart showing the processing operation of the contraction force command value calculation unit of the robot according to the second embodiment of the present invention. First, the contraction force command value calculation unit 152 receives the joint torque command values T 1 and T 2 from the feedforward compensation unit 151, and receives target joint angles θ 1 and θ 2 and target joint angular velocity ω from a host controller (not shown). 1 and ω 2 are input (S110). The elastic force constant k, the viscous force constant c, and the moment arm diameter r are values set in advance.

次に、収縮力指令値演算部152は、式(12)を用いて、目標関節角度θ,θ、目標関節角速度ω,ωから係数Kfi,Keiを算出する(S111)。次に、収縮力指令値演算部152は、T≧0であるか否かを判断する(S112)。収縮力指令値演算部152は、T≧0であると判断した場合(S112:Yes)、T≧0であるか否かを判断する(S113)。 Next, the contraction force command value calculation unit 152 calculates the coefficients K fi and K ei from the target joint angles θ 1 and θ 2 and the target joint angular velocities ω 1 and ω 2 using Expression (12) (S111). . Next, the contraction force command value calculation unit 152 determines whether or not T 1 ≧ 0 (S112). When it is determined that T 1 ≧ 0 (S112: Yes), the contraction force command value calculation unit 152 determines whether T 2 ≧ 0 (S113).

収縮力指令値演算部152は、T≧0であると判断した場合(S113:Yes)、式(10)に示す第1関数、及び式(11)に示す第2関数に、係数Kfi,Kei及び関節トルク指令値T,Tを定数として代入する(S114)。即ち、収縮力指令値演算部152は、関節トルク指令値Tと関節トルク指令値Tとが同符号の場合、ステップS114の処理を実行する。 When the contraction force command value calculation unit 152 determines that T 2 ≧ 0 (S113: Yes), the coefficient K fi is added to the first function shown in Expression (10) and the second function shown in Expression (11). , K ei and joint torque command values T 1 and T 2 are substituted as constants (S114). That is, contractile force command value calculating section 152, if a joint torque command value T 1 and the joint torque command value T 2 is the same sign, and performs step S114.

次に、収縮力指令値演算部152は、上記第1実施形態で説明した第1最小化演算処理を実行する(S115)。次に、収縮力指令値演算部152は、評価関数Jmin 及び指令値候補ufi 1〜4,uei 1〜4に対し(S116)、評価関数が最小の指令値候補を選択する、上記第1実施形態と同様の第1指令選択処理を実行する(S117)。次に、収縮力指令値演算部152は、演算した第1〜第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S118:指令値出力処理工程)。 Next, the contraction force command value calculation unit 152 executes the first minimization calculation process described in the first embodiment (S115). Next, the contraction force command value calculation unit 152 selects a command value candidate having the smallest evaluation function for the evaluation functions J min 1 to 4 and the command value candidates u fi 1 to 4 and u ei 1 to 4 (S116). The first command selection process similar to that in the first embodiment is executed (S117). Next, the contraction force command value calculation unit 152 executes a command value output process for outputting the calculated first to sixth contraction force command values u fi and u ei to the contraction force generation unit 153 (S118: command value output) Processing step).

また、収縮力指令値演算部152は、T≧0ではないと判断した場合(S113:No)、式(10)に示す第1関数、及び式(11)に示す第2関数に、係数Kfi,Kei及び関節トルク指令値T,Tを定数として代入する(S119)。即ち、収縮力指令値演算部152は、関節トルク指令値Tと関節トルク指令値Tとが同符号の場合、ステップS119の処理を実行する。 In addition, when the contraction force command value calculation unit 152 determines that T 2 ≧ 0 is not satisfied (S113: No), the coefficient is added to the first function expressed by Equation (10) and the second function expressed by Equation (11). K fi and K ei and joint torque command values T 1 and T 2 are substituted as constants (S119). That is, contractile force command value calculating section 152, if a joint torque command value T 1 and the joint torque command value T 2 is the same sign, and performs step S119.

次に、収縮力指令値演算部152は、後述する、評価関数Jを最小化する指令値候補を演算する第2最小化演算処理を実行する(S120)。次に、収縮力指令値演算部152は、評価関数Jmin 5〜8及び指令値候補ufi 5〜8,uei 5〜8に対し(S121)、評価関数が最小の指令値候補を選択する、後述する第2指令選択処理を実行する(S122)。次に、収縮力指令値演算部152は、演算した第1〜第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S118:指令値出力処理工程)。 Next, the contraction force command value calculation unit 152 executes a second minimization calculation process for calculating a command value candidate that minimizes the evaluation function J, which will be described later (S120). Next, the contraction force command value calculation unit 152 selects a command value candidate having the smallest evaluation function for the evaluation function J min 5 to 8 and the command value candidates u fi 5 to 8 and u ei 5 to 8 (S121). The second command selection process described later is executed (S122). Next, the contraction force command value calculation unit 152 executes a command value output process for outputting the calculated first to sixth contraction force command values u fi and u ei to the contraction force generation unit 153 (S118: command value output) Processing step).

また、収縮力指令値演算部152は、T≧0ではないと判断した場合(S112:No)、T≧0であるか否かを判断する(S123)。次に、収縮力指令値演算部152は、T≧0であると判断した場合(S123:Yes)、Kf1’=Ke2,Ke1’=Kf2,Kf2’=Ke1,Ke2’=Kf1,T’=T,T’=Tを定義する(S124)。そして、収縮力指令値演算部152は、Kfi’,Kei’,T’,T’を、式(10)に示す第1関数、及び式(11)に示す第2関数に代入する(S125)。 In addition, when the contraction force command value calculation unit 152 determines that T 1 ≧ 0 is not satisfied (S112: No), it determines whether T 2 ≧ 0 is satisfied (S123). Next, when the contraction force command value calculation unit 152 determines that T 2 ≧ 0 (S123: Yes), K f1 ′ = K e2 , K e1 ′ = K f2 , K f2 ′ = K e1 , K e2 '= K f1, T 1 ' = T 2, T 2 '= defines the T 1 (S124). Then, the contraction force command value calculation unit 152 substitutes K fi ′, K ei ′, T 1 ′, and T 2 ′ for the first function shown in Expression (10) and the second function shown in Expression (11). (S125).

次に、収縮力指令値演算部152は、後述する、評価関数Jを最小化する指令値候補を演算する第2最小化演算処理を実行する(S126)。次に、収縮力指令値演算部152は、uf1=uf2’,ue1=ue2’,uf2=uf1’,ue2’=uf1とする(S127)。次に、収縮力指令値演算部152は、評価関数Jmin 及び指令値候補ufi 5〜8,uei 5〜8に対し(S128)、評価関数が最小の指令値候補を選択する、後述する第2指令選択処理を実行する(S129)。次に、収縮力指令値演算部152は、演算した第1〜第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S118:指令値出力処理工程)。 Next, the contraction force command value calculation unit 152 executes a second minimization calculation process for calculating a command value candidate for minimizing the evaluation function J, which will be described later (S126). Next, the contraction force command value calculation unit 152 sets u f1 = u f2 ′, u e1 = u e2 ′, u f2 = u f1 ′, u e2 ′ = u f1 (S127). Next, the contraction force command value calculation unit 152 selects a command value candidate having the smallest evaluation function for the evaluation functions J min 5 to 8 and the command value candidates u fi 5 to 8 and u ei 5 to 8 (S128). The second command selection process described later is executed (S129). Next, the contraction force command value calculation unit 152 executes a command value output process for outputting the calculated first to sixth contraction force command values u fi and u ei to the contraction force generation unit 153 (S118: command value output) Processing step).

また、収縮力指令値演算部152は、T≧0ではないと判断した場合(S123:No)、Kfi’=Kei,Kei’=Kfi,T’=−T,T’=−Tを定義する(S130)。そして、収縮力指令値演算部152は、Kfi’,Kei’,T’,T’を、式(10)に示す第1関数、及び式(11)に示す第2関数に代入する(S131)。 When the contraction force command value calculation unit 152 determines that T 2 ≧ 0 is not satisfied (S123: No), K fi ′ = K ei , K ei ′ = K fi , T 1 ′ = −T 1 , T 2 '= to define the -T 2 (S130). Then, the contraction force command value calculation unit 152 substitutes K fi ′, K ei ′, T 1 ′, and T 2 ′ for the first function shown in Expression (10) and the second function shown in Expression (11). (S131).

次に、収縮力指令値演算部152は、上記第1実施形態で説明した第1最小化演算処理を実行する(S132)。次に、収縮力指令値演算部152は、ufi’=uei,uei’=ufiとする(S133)。次に、収縮力指令値演算部152は、評価関数Jmin 及び指令値候補ufi 1〜4,uei 1〜4に対し(S134)、評価関数が最小の指令値候補を選択する、上記第1実施形態と同様の第1指令選択処理を実行する(S135)。 Next, the contraction force command value calculation unit 152 executes the first minimization calculation process described in the first embodiment (S132). Next, the contraction force command value calculation unit 152 sets u fi ′ = u ei and u ei ′ = u fi (S133). Next, the contraction force command value calculation unit 152 selects a command value candidate having the smallest evaluation function for the evaluation functions J min 1 to 4 and the command value candidates u fi 1 to 4 and u ei 1 to 4 (S134). The first command selection process similar to that in the first embodiment is executed (S135).

即ち、収縮力指令値演算部152は、これらS111〜S135において、第1から第6収縮力指令値ufi,ueiを演算する指令値演算処理を実行する(指令値演算処理工程)。 That is, the contraction force command value calculation unit 152 executes command value calculation processing for calculating the first to sixth contraction force command values u fi and u ei in S111 to S135 (command value calculation processing step).

次に、収縮力指令値演算部152は、演算した第1〜第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S118:指令値出力処理工程)。 Next, the contraction force command value calculation unit 152 executes a command value output process for outputting the calculated first to sixth contraction force command values u fi and u ei to the contraction force generation unit 153 (S118: command value output) Processing step).

なお、第2最小化計算処理と第2指令値選択処理とは、上記第1実施形態の第1最小化計算処理と第1指令値選択処理と同様であるため、詳細な演算方法を省略する。   Since the second minimization calculation process and the second command value selection process are the same as the first minimization calculation process and the first command value selection process of the first embodiment, detailed calculation methods are omitted. .

(2.2 第2最小化演算処理における場合分け)
図16は、収縮力指令値演算部による第2最小化演算処理のフローチャートである。収縮力指令値演算部152は、図4に示す第2条件を仮定し(S141)、第5演算処理を実行し(S142)、評価関数Jmin を最小化する第1〜第6収縮力指令値からなる第5指令値候補ufi ,uei を出力する(S143)。
(2.2 Cases in the second minimization calculation process)
FIG. 16 is a flowchart of second minimization calculation processing by the contraction force command value calculation unit. The contraction force command value calculation unit 152 assumes the second condition shown in FIG. 4 (S141), executes a fifth calculation process (S142), and first to sixth contraction forces that minimize the evaluation function J min 5 Fifth command value candidates u fi 5 and u ei 5 consisting of command values are output (S143).

続いて、収縮力指令値演算部152は、図4に示す第4条件を仮定し(S144)、第6演算処理を実行し(S145)、評価関数Jmin を最小化する第1〜第6収縮力指令値からなる第6指令値候補ufi ,uei を出力する(S146)。 Subsequently, the contraction force command value calculation unit 152 assumes the fourth condition shown in FIG. 4 (S144), executes a sixth calculation process (S145), and minimizes the evaluation function J min 6 . Sixth command value candidates u fi 6 and u ei 6 composed of six contraction force command values are output (S146).

続いて、収縮力指令値演算部152は、図4に示す第5条件を仮定し(S147)、第7演算処理を実行し(S148)、評価関数Jmin を最小化する第1〜第6収縮力指令値からなる第7指令値候補ufi ,uei を出力する(S149)。 Subsequently, contractile force command value calculation unit 152 assumes a fifth condition shown in FIG. 4 (S147), executes a seventh arithmetic processing (S148), first to minimize the evaluation function J min 7 Seventh command value candidates u fi 7 and u ei 7 composed of six contraction force command values are output (S149).

続いて、収縮力指令値演算部152は、図4に示す第6条件を仮定し(S150)、第8演算処理を実行し(S151)、評価関数Jmin を最小化する第1〜第6収縮力指令値からなる第8指令値候補ufi ,uei を出力する(S152)。 Subsequently, contractile force command value calculation unit 152 assumes a sixth condition shown in FIG. 4 (S150), executes the eighth arithmetic processing (S151), first to minimize the evaluation function J min 8 Eighth command value candidates u fi 8 and u ei 8 composed of six contraction force command values are output (S152).

第5、第6、第7、第8演算処理は、それぞれ、筋トルクτ,τの符号を図4の条件2、4、5、6と仮定して、評価関数Jの最小値の候補Jmin と収縮力指令値の指令値候補ufi 、uei を演算するサブルーチンである(j=5,6,7,8)。 The fifth, sixth, seventh, and eighth computation processes assume that the signs of the muscle torques τ 1 and τ 2 are the conditions 2 , 4, 5, and 6 in FIG. This is a subroutine for calculating the candidate J min j and the command value candidates u fi j and u ei j of the contraction force command value (j = 5, 6, 7, 8).

(2.2.1 第5演算処理の設計)
第5演算処理における収縮力指令値の第5指令値候補ufi ,uei のうち、第5指令値候補ue1 ,uf2 ,ue3 は、図4の条件2と式(16)より、
(2.2.1 Fifth arithmetic processing design)
Among the fifth command value candidates u fi 5 , u ei 5 of the contraction force command value in the fifth arithmetic processing, the fifth command value candidates u e1 5 , u f2 5 , u e3 5 are expressed by the condition 2 and the equation of FIG. From (16)

Figure 2014004654
となるため、評価関数Jは収縮力指令値の第5指令値候補uf1 ,ue2 ,uf3 の最大値となる。そこで、第1演算処理と同様に変数uf3 ’を、
Figure 2014004654
Therefore, the evaluation function J is the maximum value of the fifth command value candidates u f1 5 , u e2 5 , and u f3 5 of the contraction force command value. Therefore, the variable u f3 5 ′ is set as in the first calculation process.

Figure 2014004654
と定義する。変数uf3 ’を用いて第5指令値候補uf1 ,ue2 を、
Figure 2014004654
It is defined as Using the variable u f3 5 ′, the fifth command value candidates u f1 5 and u e2 5 are

Figure 2014004654
とする。そして、X軸を変数uf3 ’と、Y軸を収縮力指令値の第5指令値候補uf1 ,ue2 ,uf3 とする3つの直線uf1 ,ue2 ,uf3 のグラフを描画する。さらに、直線uf1 のX切片とY切片を固定し、直線ue2 のX切片とY切片を図上で移動させると、第5演算処理においてはCase51、Case52、Case53の3通りの場合分けが必要となることがわかる。
Figure 2014004654
And Then, the three straight lines u f1 5 , u e2 5 , u f with the variable u f3 5 ′ on the X-axis and the fifth command value candidates u f1 5 , u e2 5 , u f3 5 on the contraction force command value. The graph of f3 5 is drawn. Furthermore, when the X and Y intercepts of the straight line u f1 5 are fixed and the X and Y intercepts of the straight line u e2 5 are moved on the drawing, Case 51 , Case 52 , and Case 53 3 are obtained in the fifth calculation process. It can be seen that it is necessary to separate the streets.

図17は、収縮力指令値演算部による第5演算処理のフローチャートである。図17に示すように、収縮力指令値演算部152は、第5演算処理として、まず、式(10)に示す第1関数及び式(11)に示す第2関数において、式(65)に示すように、ue1=0,uf2=0,ue3=0とする(S161)。 FIG. 17 is a flowchart of a fifth calculation process by the contraction force command value calculation unit. As shown in FIG. 17, the contraction force command value calculation unit 152 first calculates the first function shown in Expression (10) and the second function shown in Expression (11) as Expression (65) as the fifth calculation processing. As shown, u e1 = 0, u f2 = 0, and u e3 = 0 (S161).

次に、収縮力指令値演算部152は、ya5,yb5を演算し(S162)、xc5,yc5を演算する(S163)。次に、収縮力指令値演算部152は、yb5<ya5であるか否かを判断する(S164)。 Next, the contraction force command value calculation unit 152 calculates y a5 and y b5 (S162), and calculates x c5 and y c5 (S163). Next, the contraction force command value calculation unit 152 determines whether or not y b5 <y a5 (S164).

収縮力指令値演算部152は、yb5<ya5である場合(S164:Yes)、yc5<yd5であるか否かを判断する(S165)。収縮力指令値演算部152は、yc5<yd5である場合(S165:Yes)、ye5,yf5を演算し(166)、uf1 =ye5,ue2 =yf5,uf3 =ye5,Jmin =ye5を導き出す(S167:Case51)。 When y b5 <y a5 (S164: Yes), the contraction force command value calculation unit 152 determines whether y c5 <y d5 (S165). When y c5 <y d5 (S165: Yes), the contraction force command value calculation unit 152 calculates y e5 and y f5 (166), and u f1 5 = y e5 and u e2 5 = y f5 , u f3 5 = y e5 and J min 5 = y e5 are derived (S167: Case 51 ).

また、収縮力指令値演算部152は、yc5<yd5ではない場合(S165:No)、uf1 =yc5,ue2 =yc5,uf3 =yd5,Jmin =yd5を導き出す(S168:Case52)。 When the contraction force command value calculation unit 152 does not satisfy y c5 <y d5 (S165: No), u f1 5 = y c5 , u e2 5 = y c5 , u f3 5 = y d5 , J min 5 = y d5 is derived (S168: Case 52 ).

また、収縮力指令値演算部152は、yb5<ya5ではない場合(S164:No)、uf1 =ya5,ue2 =yb5,uf3 =0,Jmin =yb5を導き出す(S169:Case53)。 When y b5 <y a5 is not satisfied (S164: No), the contraction force command value calculation unit 152 determines that u f1 5 = y a5 , u e2 5 = y b5 , u f3 5 = 0, J min 5 = y b5 is derived (S169: Case 53 ).

以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin と第5指令値候補uf1 ,ue2 ,uf3 を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第5指令値候補を演算する第5演算処理を実行する。 As described above, the contraction force command value calculation unit 152 calculates the minimum value J min 5 of the evaluation function J and the fifth command value candidates u f1 5 , u e2 5 , u f3 5 . That is, the contraction force command value calculation unit 152 executes a fifth calculation process for calculating a fifth command value candidate including the first to sixth contraction force command values that minimizes the evaluation function.

(2.2.2 第6演算処理の設計)
第6演算処理部における収縮力指令値の第6指令値候補ufi ,uei のうち、第6指令値候補uf1 ,uf2 ,ue3 は、図4の条件4と式(16)より、
(2.2.2 Design of sixth arithmetic processing)
Among the sixth command value candidates u fi 6 and u ei 6 of the contraction force command value in the sixth arithmetic processing unit, the sixth command value candidates u f1 6 , u f2 6 and u e3 6 are the same as the condition 4 in FIG. From equation (16)

Figure 2014004654
となるため、評価関数Jは収縮力指令値の第6指令値候補uf1 ,uf2 ,ue3 の最大値となる。そこで、変数uf3 ’を、
Figure 2014004654
Therefore, the evaluation function J is the maximum value of the sixth command value candidates u f1 6 , u f2 6 , u e3 6 of the contraction force command value. So the variable u f3 6 '

Figure 2014004654
と定義する。変数uf3 ’を用いて収縮力指令値の第6指令値候補ue1 ,ue2 を、
Figure 2014004654
It is defined as Using the variable u f3 6 ′, the sixth command value candidates u e1 6 and u e2 6 of the contraction force command value are

Figure 2014004654
とする。そして、X軸を変数uf3 ’と、Y軸を収縮力指令値の第6指令値候補ue1 ,ue2 ,uf3 とする3つの直線ue1 ,ue2 ,uf3 のグラフを描画する。さらに、直線uf1 のX切片とY切片を固定し、直線ufe2 のX切片とY切片を図上で移動させると、第6演算処理においてはCase61、Case62の2通りの場合分けが必要となる。
Figure 2014004654
And Then, the three straight lines u e1 6 , u e2 6 , u e are set with the variable u f3 6 ′ on the X axis and the sixth command value candidates u e1 6 , u e2 6 , u f3 6 on the Y axis. The graph of f3 6 is drawn. Furthermore, when the X and Y intercepts of the straight line u f1 2 are fixed and the X and Y intercepts of the straight line u fe2 2 are moved on the drawing, there are two cases of Case 61 and Case 62 in the sixth calculation process. Division is necessary.

図18は、収縮力指令値演算部による第6演算処理のフローチャートである。図18に示すように、収縮力指令値演算部152は、第6演算処理として、まず、式(10)に示す第1関数及び式(11)に示す第2関数において、式(69)に示すように、uf1=0,uf2=0,ue3=0とする(S171)。 FIG. 18 is a flowchart of sixth calculation processing by the contraction force command value calculation unit. As shown in FIG. 18, as the sixth calculation process, the contraction force command value calculation unit 152 first converts the first function shown in Expression (10) and the second function shown in Expression (11) into Expression (69). As shown, u f1 = 0, u f2 = 0, and u e3 = 0 (S171).

次に、収縮力指令値演算部152は、xa6,yb6を演算し(S172)、yc6=xa6とする(S173)。次に、収縮力指令値演算部152は、ue1 =0,ue2 =yb6,uf3 =yc6とする(S174)。次に、収縮力指令値演算部152は、yb6<yc6であるか否かを判断する(S175)。 Next, the contraction force command value calculation unit 152 calculates x a6 and y b6 (S172), and sets y c6 = x a6 (S173). Next, the contraction force command value calculation unit 152 sets u e1 6 = 0, u e2 6 = y b6 , and u f3 6 = y c6 (S174). Next, the contraction force command value calculation unit 152 determines whether or not y b6 <y c6 (S175).

収縮力指令値演算部152は、yb6<yc6である場合(S175:Yes)、Jmin =yc6を導き出し(S176:Case61)、yb6<yc6ではない場合(S175:No)、Jmin =yb6を導き出す(S177:Case62)。 When y b6 <y c6 (S175: Yes), the contraction force command value calculation unit 152 derives J min 6 = y c6 (S176: Case 61 ), and when y b6 <y c6 is not satisfied (S175: No) ), J min 6 = y b6 is derived (S177: Case 62 ).

以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin と第6指令値候補ue1 ,ue2 ,uf3 を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第5指令値候補を演算する第5演算処理を実行する。 As described above, the contraction force command value calculation unit 152 calculates the minimum value J min 6 of the evaluation function J and the sixth command value candidates u e1 6 , u e2 6 , u f3 6 . That is, the contraction force command value calculation unit 152 executes a fifth calculation process for calculating a fifth command value candidate including the first to sixth contraction force command values that minimizes the evaluation function.

(2.2.3 第7演算処理の設計)
第7演算処理における収縮力指令値の第7指令値候補ufi ,uei のうち、第7指令値候補ue1 ,ue2 ,uf3 は、図4の条件5と式(16)より、
(2.2.3 Design of seventh operation processing)
Among the seventh command value candidates u fi 7 and u ei 7 of the contraction force command value in the seventh calculation process, the seventh command value candidates u e1 7 , u e2 7 and u f3 7 are expressed by the condition 5 and the equation of FIG. From (16)

Figure 2014004654
となるため、評価関数Jは収縮力指令値の第7指令値候補uf1 ,uf2 ,ue3 の最大値となる。そこで、変数ue3 ’を、
Figure 2014004654
Therefore, the evaluation function J becomes the maximum value of the seventh command value candidates u f1 7 , u f2 7 , u e3 7 of the contraction force command value. So the variable u e3 7 '

Figure 2014004654
と定義する。収縮力指令値の第7指令値候補uf1 ,uf2 は、
Figure 2014004654
It is defined as The seventh command value candidates u f1 7 and u f2 7 of the contraction force command value are

Figure 2014004654
と表すことができる。ここで、
Figure 2014004654
It can be expressed as. here,

Figure 2014004654
と定義する。変数ue1 ’,ue2 ’,uf3 ’と定数T’,T’,Ke1’,Ke2’,Kf3’を用いて式(71)及び式(72)を表すと、
Figure 2014004654
It is defined as Expressions (71) and (72) are expressed using variables u e1 7 ′, u e2 7 ′, u f3 7 ′ and constants T 1 ′, T 2 ′, K e1 ′, K e2 ′, K f3 ′. When,

Figure 2014004654
となる。式(71)と式(81)、式(72)と式(80)を比較すると、第6演算処理と第7演算処理の場合分けは等価であることがわかる。従って、第7演算処理においてはCase71、Case72の2通りの場合分けが必要となる。
Figure 2014004654
It becomes. Comparing equation (71) and equation (81), and equation (72) and equation (80), it can be seen that the sixth operation processing and the seventh operation processing are equivalent. Therefore, in the seventh calculation process, two cases of Case 71 and Case 72 are required.

図19は、収縮力指令値演算部による第7演算処理のフローチャートである。図19に示すように、本第2実施形態の第7演算処理は、式(77)〜式(79)に示す変数変換と第7演算処理を用いて場合分けを行う。   FIG. 19 is a flowchart of a seventh calculation process by the contraction force command value calculation unit. As shown in FIG. 19, the seventh calculation process of the second embodiment is divided into cases using the variable conversion and the seventh calculation process shown in Expression (77) to Expression (79).

即ち、収縮力指令値演算部152は、第7演算処理として、まず、式(10)に示す第1関数及び式(11)に示す第2関数において、式(73)に示すように、ue1=0,ue2=0,uf3=0とする(S181)。次に、収縮力指令値演算部152は、式(78)及び式(79)のように定義し(S182)、第6演算処理と同様の演算を行う(S183)。その際、収縮力指令値演算部152は、式(77)のように定義する(S184)。 That is, as the seventh calculation process, the contraction force command value calculation unit 152 first uses the first function shown in Expression (10) and the second function shown in Expression (11) as shown in Expression (73). It is assumed that e1 = 0, ue2 = 0, and uf3 = 0 (S181). Next, the contraction force command value calculation unit 152 defines as in Expression (78) and Expression (79) (S182), and performs the same calculation as in the sixth calculation process (S183). At that time, the contraction force command value calculation unit 152 defines as shown in Expression (77) (S184).

以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin と第7指令値候補uf1 ,uf2 ,ue3 を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第7指令値候補を演算する第7演算処理を実行する。 As described above, the contraction force command value calculation unit 152 calculates the minimum value J min 7 of the evaluation function J and the seventh command value candidates u f1 7 , u f2 7 , u e3 7 . That is, the contraction force command value calculation unit 152 executes a seventh calculation process for calculating a seventh command value candidate including the first to sixth contraction force command values that minimizes the evaluation function.

(2.2.4 第8演算処理の設計)
第8演算処理における収縮力指令値の第8指令値候補ue1 ,uf2 ,uf3 は、図4の条件6と式(16)より、
(2.2.4 Design of 8th arithmetic processing)
The eighth command value candidates u e1 8 , u f2 8 , u f3 8 of the contraction force command value in the eighth calculation process are expressed by the condition 6 and the equation (16) in FIG.

Figure 2014004654
となるため、評価関数Jは収縮力指令値の第8指令値候補uf1 ,ue2 ,ue3 の最大値となる。そこで、変数ue3 ’を、
Figure 2014004654
Therefore, the evaluation function J becomes the maximum value of the eighth command value candidates u f1 8 , u e2 8 and u e3 8 of the contraction force command value. So the variable u e3 8 '

Figure 2014004654
と定義する。収縮力指令値の第8指令値候補uf1 ,ue2 は変数ue3 ’を用いて、
Figure 2014004654
It is defined as The eighth command value candidate u f1 8 , u e2 8 of the contraction force command value uses the variable u e3 8 ′,

Figure 2014004654
と表すことができる。ここで、
Figure 2014004654
It can be expressed as. here,

Figure 2014004654
と定義する。変数uf1 ’,ue2 ’,uf3 ’と定数T’,T’,Kf1’,Ke2’,Kf3’を用いて式(84)及び式(85)を表すと、
Figure 2014004654
It is defined as Expressions (84) and (85) are expressed using the variables u f1 8 ′, u e2 8 ′, u f3 8 ′, and constants T 1 ′, T 2 ′, K f1 ′, K e2 ′, K f3 ′. When,

Figure 2014004654
となる。式(67)と式(90)、式(68)と式(89)を比較すると、第5演算処理と第8演算処理の場合分けは等価であることがわかる。従って、第8演算処理においてはCase81、Case82、Case83の3通りの場合分けが必要となる。
Figure 2014004654
It becomes. Comparing equation (67) and equation (90), equation (68) and equation (89), it can be seen that the case division of the fifth operation processing and the eighth operation processing is equivalent. Accordingly, in the eighth calculation process, three cases of Case 81 , Case 82 , and Case 83 are required.

図20に、収縮力指令値演算部による第8演算処理のフローチャートである。図20に示すように、本第2実施形態の第8演算処理は、式(86)〜式(88)に示す変数変換と第7演算処理を用いて場合分けを行う。   FIG. 20 is a flowchart of the eighth calculation process by the contraction force command value calculation unit. As shown in FIG. 20, the eighth calculation process of the second embodiment is divided into cases using the variable conversion and the seventh calculation process shown in Expression (86) to Expression (88).

即ち、収縮力指令値演算部152は、第8演算処理として、まず、式(10)に示す第1関数及び式(11)に示す第2関数において、式(82)に示すように、ue1=0,uf2=0,uf3=0とする(S191)。次に、収縮力指令値演算部152は、式(87)及び式(88)のように定義し(S192)、第5演算処理と同様の演算を行う(S193)。その際、収縮力指令値演算部152は、式(86)のように定義する(S194)。 That is, as the eighth calculation process, the contraction force command value calculation unit 152 first uses the first function shown in Expression (10) and the second function shown in Expression (11) as shown in Expression (82). It is assumed that e1 = 0, u f2 = 0, and u f3 = 0 (S191). Next, the contraction force command value calculation unit 152 defines the equations (87) and (88) (S192), and performs the same calculation as the fifth calculation process (S193). At that time, the contraction force command value calculation unit 152 defines the equation (86) (S194).

以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin と第8指令値候補uf1 ,ue2 ,ue3 を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第8指令値候補を演算する第8演算処理を実行する。 As described above, the contraction force command value calculation unit 152 calculates the minimum value J min 8 of the evaluation function J and the eighth command value candidates u f1 8 , u e2 8 , u e3 8 . That is, the contraction force command value calculation unit 152 executes an eighth calculation process for calculating an eighth command value candidate including the first to sixth contraction force command values that minimizes the evaluation function.

(2.3 関節トルク指令値T、Tがどちらも負数となる場合の場合分け)
上記第1実施形態の式(10)と式(11)に対して、
(2.3 Joint torque command values T 1 and T 2 are both negative numbers)
For the equations (10) and (11) of the first embodiment,

Figure 2014004654
とする変数変換を行うと、
Figure 2014004654
When variable conversion is performed,

Figure 2014004654
と表すことができる。式(92)より、T’とT’は正数となるため、式(91)〜式(93)に示す変数変換と第1最小化演算処理を実行することで、関節トルク指令値T,Tがどちらも負数となる場合の場合分けを行うことが可能となることがわかる。そこで、図15に示すように、まず、式(91)〜式(93)に示す変数変換を行う。次に、第1最小化演算処理を実行して評価関数Jを最小化する収縮力指令値ufi’,uei’を求める。さらに、式(91)に示す変数変換を行い、収縮力指令値ufi’,uei’からufi,ueiを得る。
Figure 2014004654
It can be expressed as. Since T 1 ′ and T 2 ′ are positive numbers from the equation (92), the joint torque command value is obtained by executing the variable conversion and the first minimization calculation processing shown in the equations (91) to (93). It can be seen that case separation can be performed when both T 1 and T 2 are negative numbers. Therefore, as shown in FIG. 15, first, variable conversion shown in Expression (91) to Expression (93) is performed. Next, the contraction force command values u fi 'and u ei ' for minimizing the evaluation function J are obtained by executing the first minimization calculation process. Furthermore, variable conversion shown in Expression (91) is performed, and u fi and u ei are obtained from the contractile force command values u fi ′ and u ei ′.

(2.4 関節トルク指令値Tが負数となり関節トルク指令値Tが正数となる場合の場合分け)
式(10)と(11)に対して、
(The cases when 2.4 joint torque command value T 1 is joint torque command value T 2 becomes negative is positive)
For equations (10) and (11),

Figure 2014004654
とする変数変換を行うと、
Figure 2014004654
When variable conversion is performed,

Figure 2014004654
と表すことができる。式(97)より、T’は正数となりT’は負数となる。このため、式(96)〜式(98)に示す変数変換と第2最小化演算処理を実行することで、関節トルク指令値Tが負数となり、関節トルク指令値Tが正数となる場合の場合分けを行うことが可能となることがわかる。そこで、図15に示すように、まず、式(96)〜式(98)に示す変数変換を行う。次に、第2最小化演算処理を実行して評価関数Jを最小化する収縮力指令値ufi’,uei’を求める。さらに、式(96)に示す変数変換を行い、収縮力指令値ufi’,uei’からufi,ueiを得る。
Figure 2014004654
It can be expressed as. From equation (97), T 1 ′ is a positive number and T 2 ′ is a negative number. Therefore, by executing the variable conversion and a second minimization operation processing shown in equation (96) to (98), joint torque command value T 1 is becomes negative, becomes joint torque command value T 2 is a positive number It can be seen that cases can be classified. Therefore, as shown in FIG. 15, first, variable conversion shown in Expression (96) to Expression (98) is performed. Next, the contraction force command values u fi 'and u ei ' for minimizing the evaluation function J are obtained by executing the second minimization calculation process. Furthermore, variable conversion shown in Expression (96) is performed, and u fi and u ei are obtained from the contractile force command values u fi ′ and u ei ′.

以上の導出では、筋の弾性力がθ=0radからの角度に比例して発生することを仮定していた。任意の角度を筋の弾性力発生の基準となる角度(以下、中立角度と呼ぶ)をθci(i=1,2,3)としてフィードフォワード制御入力を生成するためには、係数Kfi,Kei(i=1,2,3)を、式(12)に代わり、 In the above derivation, it is assumed that the elastic force of the muscle is generated in proportion to the angle from θ i = 0 rad. In order to generate a feedforward control input with an arbitrary angle as a reference angle (hereinafter referred to as a neutral angle) for generating elastic force of a muscle, θ ci (i = 1, 2, 3), a coefficient K fi , K ei (i = 1, 2, 3) is replaced with equation (12),

Figure 2014004654
とすればよい。ただし、角度θc1,θc2,θc3はそれぞれ、第一単関節筋、第二単関節筋、二関節筋の弾性力の中立角度とする。
Figure 2014004654
And it is sufficient. However, the angles θ c1 , θ c2 , and θ c3 are neutral angles of the first single joint muscle, the second single joint muscle, and the two joint muscles, respectively.

(3 シミュレーション)
本節では前節で設計した制御系を用いて、シミュレーションを行う。また、評価関数Jを最小化する収縮力は、前節で示した方法により導出する。本第2実施形態では、リンク101,102の慣性モーメントI,Iを2.5×10−3kgm、リンク101,102の長さL,Lを0.2m、第2リンク102の質量mを1kgとする。また、プーリ径rを5.0×10−2m、筋の弾性力定数kを10m−1、粘性力定数cを10m−1sec−1とする。さらに、目標関節角度θr1,θr2をそれぞれ、0secから0.3secの間に0.785radから1.047radに、1.571radから2.094radに増加するジャーク最小軌道とし、サンプリング周期Tを1.0×10−4secとする。
(3 simulation)
In this section, simulation is performed using the control system designed in the previous section. The contraction force that minimizes the evaluation function J is derived by the method described in the previous section. In the second embodiment, the moments of inertia I 1 and I 2 of the links 101 and 102 are 2.5 × 10 −3 kgm 2 , the lengths L 1 and L 2 of the links 101 and 102 are 0.2 m, and the second link. The mass m 2 of 102 is 1 kg. The pulley diameter r is 5.0 × 10 −2 m, the elastic force constant k of the muscle is 10 m −1 , and the viscous force constant c is 10 m −1 sec −1 . Further, the target joint angles θ r1 and θ r2 are set to the minimum jerk trajectory that increases from 0.785 rad to 1.047 rad and from 1.571 rad to 2.094 rad during 0 sec to 0.3 sec, respectively, and the sampling period T s is set. 1.0 × 10 −4 sec.

図21(a)及び図21(b)に、第1、第2リンクの関節角度θ,θを実線で、目標軌道θr1,θr2を破線で表し、図22に、関節トルク指令値Tを実線で、関節トルク指令値Tを破線で表す。また、図23(a)、図23(b)及び図23(c)に、実線を用いて収縮力指令値uf1,uf2,uf3を、破線を用いて収縮力指令値ue1,ue2,ue3を、それぞれ表す。さらに、図24に、係数Kfi,Keiと関節トルク指令値T,Tの変化によって、第1〜8演算処理における収縮力の演算フローが切り替わる様子を表す。 21A and 21B, the joint angles θ 1 and θ 2 of the first and second links are represented by solid lines, the target trajectories θ r1 and θ r2 are represented by broken lines , and FIG. the value T 1 by a solid line, represents the joint torque command value T 2 by a broken line. 23 (a), 23 (b), and 23 (c), the contraction force command values u f1 , u f2 , u f3 are shown using solid lines , and the contraction force command values u e1 , u e2 and u e3 are respectively represented. Further, FIG. 24 shows a state in which the contraction force calculation flow in the first to eighth calculation processes is switched according to changes in the coefficients K fi and K ei and the joint torque command values T 1 and T 2 .

図21(a)及び図21(b)より、実線で示す関節角度は、破線で示す目標軌道と重なっており、関節角度は目標軌道に追従していることがわかる。   21 (a) and 21 (b), it can be seen that the joint angle indicated by the solid line overlaps the target trajectory indicated by the broken line, and the joint angle follows the target trajectory.

図22より、0secから0.11secの間は、関節トルク指令値T,Tが正数となるため、収縮力指令値演算部152は第1最小化演算処理を実行して収縮力を最小化していることがわかる。また、0.11secから0.3secの間は、関節トルク指令値Tは負数となり関節トルク指令値Tは正数となるため、収縮力指令値演算部152は第2最小化演算処理を実行して収縮力を最小化していることがわかる。 From FIG. 22, the joint torque command values T 1 and T 2 are positive numbers from 0 sec to 0.11 sec. Therefore, the contraction force command value calculation unit 152 executes the first minimization calculation process to calculate the contraction force. It can be seen that it is minimized. Further, since the joint torque command value T 1 is a negative number and the joint torque command value T 2 is a positive number between 0.11 sec and 0.3 sec, the contraction force command value calculation unit 152 performs the second minimization calculation process. It can be seen that the contraction force is minimized by execution.

図23(a)、図23(b)及び図23(c)より、実線で示す収縮力指令値ufiと破線で示す収縮力指令値ueiはどちらも必ず正数となることがわかる。また、収縮力指令値ufiと収縮力指令値ueiは一方が0となる場合には他方が0となっていることがわかる
これらのことから、第1最小化演算処理と第2最小化演算処理を実行して導出する収縮力は、どちらも式(16)を満たし、評価関数Jを最小化していることがわかる。
From FIG. 23A, FIG. 23B, and FIG. 23C, it can be seen that the contraction force command value u fi indicated by the solid line and the contraction force command value u ei indicated by the broken line are both positive numbers. Also, it can be seen that when one of the contraction force command value u fi and the contraction force command value u ei is 0, the other is 0. From these facts, the first minimization calculation process and the second minimization process are performed. It can be seen that the contractile force derived by executing the arithmetic processing satisfies Expression (16) and minimizes the evaluation function J.

また、図23(b)及び図23(c)より、0.11secと0.12secにおいて、収縮力指令値uf2,uf3の応答が急峻に変化していることが分かる。さらに、図24より、収縮力指令値演算部152は0.11secにおいてCase11からCase14へ、0.12secにおいてCase51からCase52へ、それぞれ演算フローを切り替えていることがわかる。 Moreover, it can be seen from FIGS. 23B and 23C that the responses of the contraction force command values u f2 and u f3 change sharply at 0.11 sec and 0.12 sec. Further, FIG. 24 shows that the contraction force command value calculation unit 152 switches the calculation flow from Case 11 to Case 14 in 0.11 sec and from Case 51 to Case 52 in 0.12 sec.

これらのことから、演算フローを切り替えるとき、高周波成分を多く含む制御入力が発生してしまうことがわかる。制御入力に高周波成分が含まれると、ロボットの固有振動が励起されることが考えられる。しかし、この高周波成分は、収縮力の最小値は若干増加するものの、例えば零位相ローパスフィルタを用いることで低減することが可能である。   From these, it can be seen that when the calculation flow is switched, a control input containing a large amount of high-frequency components is generated. If a high-frequency component is included in the control input, it is considered that the natural vibration of the robot is excited. However, the high-frequency component can be reduced by using, for example, a zero-phase low-pass filter, although the minimum value of the contractile force slightly increases.

[第3実施形態]
次に、本発明の第3実施形態に係るロボットについて説明する。本第3実施形態では、制御入力は最小とならないが、関節剛性と関節角度の目標軌道に同時に追従するための制御方法を示す。
[Third Embodiment]
Next, a robot according to a third embodiment of the invention will be described. In the third embodiment, although a control input is not minimized, a control method for simultaneously following a target trajectory of joint stiffness and joint angle is shown.

(1モデル導出)
本第3実施形態では第2実施形態と同じモデルを用いる。
(1 model derivation)
In the third embodiment, the same model as in the second embodiment is used.

(2制御系設計)
2リンクマニピュレータでは、手先が外界と直に接触するため、手先の剛性を制御することが重要である。手先の剛性は、図25に示すようなスティフネス楕円Cによって表される。この楕円Cは、各方向に対しての剛性の分布を示し、手先と楕円Cの距離が離れるほど剛性が高いことを表している。
(2 control system design)
In the two-link manipulator, since the hand is in direct contact with the outside world, it is important to control the rigidity of the hand. The stiffness of the hand is represented by a stiffness ellipse C as shown in FIG. This ellipse C shows the distribution of rigidity in each direction, and indicates that the rigidity increases as the distance between the hand and the ellipse C increases.

また、3対6筋構造を備える2リンクマニピュレータでは、手先の剛性と関節周りに働くトルクを独立に制御することが可能であることが知られている。収縮力指令値ufi,uei(i=1,2,3)の差をUdi(i=1,2,3)、和をUsi(i=1,2,3)とする。 Further, it is known that a two-link manipulator having a 3 to 6 muscle structure can independently control the rigidity of the hand and the torque acting around the joint. The difference between the contraction force command values u fi and u ei (i = 1, 2, 3) is U di (i = 1, 2, 3), and the sum is U si (i = 1, 2, 3).

Figure 2014004654
Figure 2014004654

diとUsiを用いると、式(3)は、 Using U di and U si , equation (3) becomes

Figure 2014004654
となる。式(103)より、Udiが関節まわりのトルクを、Usiが関節に対する剛性および粘性を増減させることがわかる。したがって、Udi,Usiをそれぞれトルク指令値、関節剛性指令値とすると、式(103)より、アクチュエータの収縮力により生じるトルクと、筋の粘弾性により生じるトルクを独立に制御できることがわかる。例えば、関節剛性指令値Us1,Us2,Us3を、
Figure 2014004654
It becomes. From equation (103), it can be seen that U di increases and decreases the torque around the joint, and U si increases and decreases the rigidity and viscosity of the joint. Therefore, when U di and U si are the torque command value and the joint stiffness command value, respectively, it can be seen from equation (103) that the torque generated by the contraction force of the actuator and the torque generated by the viscoelasticity of the muscle can be controlled independently. For example, the joint stiffness command values U s1 , U s2 and U s3 are

Figure 2014004654
と制御すると、スティフネス楕円Cの長軸は第1関節と手先を結ぶ方向を向くことが知られている。
Figure 2014004654
It is known that the long axis of the stiffness ellipse C faces the direction connecting the first joint and the hand.

しかし、上記第1実施形態と上記第2実施形態の制御系では、式(16)に示す制御側によって、関節剛性は収縮力と等しくなってしまうため、駆動中の手先剛性を任意に指定することはできない。そこで、本第3実施形態では、駆動中に所望の手先剛性を実現するように、収縮力指令値演算部152が出力する収縮力に予備収縮力を加算する。そのため、本第3実施形態の制御系における収縮力は、剛性制御を行わない上記第1及び第2実施形態と比べて増加してしまう。予備収縮力をΔufi,Δueiとすると、実際に2リンクマニピュレータに与える収縮力指令値ufi’,uei’は、 However, in the control system of the first embodiment and the second embodiment, the joint stiffness becomes equal to the contraction force by the control side shown in the equation (16), so the hand stiffness during driving is arbitrarily designated. It is not possible. Therefore, in the third embodiment, the preliminary contraction force is added to the contraction force output from the contraction force command value calculation unit 152 so as to realize desired hand rigidity during driving. Therefore, the contraction force in the control system of the third embodiment increases compared to the first and second embodiments in which the rigidity control is not performed. Assuming that the preliminary contraction force is Δu fi and Δu ei , the contraction force command values u fi ′ and u ei ′ actually given to the two-link manipulator are

Figure 2014004654
となる。式(105)より、収縮力の和を関節剛性の目標軌道Usi(i=1,2,3)と等しくするためには、予備収縮力Δufi,Δueiを、
Figure 2014004654
It becomes. From equation (105), in order to make the sum of the contraction forces equal to the joint stiffness target trajectory U si (i = 1, 2, 3), the preliminary contraction forces Δu fi and Δu ei are

Figure 2014004654
とすればよいことがわかる。また、予備収縮力を考慮すると、筋トルクτは、
Figure 2014004654
You can see that. In addition, considering the precontraction force, the muscle torque τ i is

Figure 2014004654
となる。ここで、右辺の第3項、第4項は予備収縮力により関節周りに生じるトルクを表し、マニピュレータに印加される外乱となる。そこで、予備収縮力による筋トルクを発生させないように、予備収縮力Δufi,Δueiを、
Figure 2014004654
It becomes. Here, the third term and the fourth term on the right side represent torque generated around the joint by the preliminary contraction force, and are disturbances applied to the manipulator. Therefore, in order not to generate muscle torque due to the precontraction force, the precontraction force Δu fi and Δu ei are

Figure 2014004654
を満たすよう制御する。式(106)と式(108)を予備収縮力Δufi,Δueiについて解くと、
Figure 2014004654
Control to meet. Solving the equations (106) and (108) for the preliminary contraction forces Δu fi and Δu ei ,

Figure 2014004654
となる。
Figure 2014004654
It becomes.

図26は、本発明の第3実施形態に係るロボットの制御装置を示すブロック線図である。図26において、制御装置150Aは、トルク指令値生成部としてのフィードフォワード補償部151と、収縮力指令値演算部152と、収縮力発生部153と、を備えている。更に、本第3実施形態の制御装置150Aは、剛性制御部154を有している。図26において、剛性制御部154は、収縮力指令値演算部152が出力する収縮力指令値ufi,ueiを入力として、式(109)と式(110)を用いて予備収縮力Δufi,Δueiを演算する。 FIG. 26 is a block diagram showing a robot control apparatus according to the third embodiment of the present invention. In FIG. 26, the control device 150 </ b> A includes a feedforward compensation unit 151 as a torque command value generation unit, a contraction force command value calculation unit 152, and a contraction force generation unit 153. Furthermore, the control device 150 </ b> A of the third embodiment has a stiffness control unit 154. In FIG. 26, the stiffness control unit 154 receives the contraction force command values u fi and u ei output from the contraction force command value calculation unit 152, and uses the equations (109) and (110) to perform the preliminary contraction force Δu fi. , Δu ei is calculated.

(3 シミュレーション)
前節の制御系を用いたシミュレーションを行う。第1リンク101と第2リンク102の物理パラメータと関節角度の目標軌道は上記第2実施形態と同一とする。また、関節剛性の目標軌道Usi(i=1,2,3)を0secから0.3secの間に8Nから12Nに増加するジャーク最小軌道とする。
(3 simulation)
Perform a simulation using the control system in the previous section. The physical parameters of the first link 101 and the second link 102 and the target trajectory of the joint angle are the same as those in the second embodiment. Further, the joint stiffness target trajectory U si (i = 1, 2, 3) is set to the jerk minimum trajectory that increases from 8N to 12N during 0 sec to 0.3 sec.

図27に関節剛性の目標軌道Usi(i=1,2,3)を表す。また、図28(a)、図28(b)及び図28(c)に、収縮力指令値uf1’,uf2’,uf3’を実線で、収縮力指令値ue1’,ue2’,ue3’を破線で、収縮力の和を点線で、それぞれ表す。図28(a)、図28(b)及び図28(c)より、収縮力指令値ufi’,uei’はどちらも0N以上となることがわかる。これは、収縮力指令値演算部152が出力する収縮力指令値ufi,ueiに予備収縮力Δufi,Δueiが加算されているためである。さらに、図27の実線と図28(a)、図28(b)及び図28(c)の点線とが一致していることから、収縮力指令値ufi’,uei’の和が関節剛性の目標軌道Usiと一致していることがわかる。これらのことから、本第3実施形態の制御系により、手先の柔軟性を制御することが可能となることがわかる。 FIG. 27 shows the joint trajectory target trajectory Usi (i = 1, 2, 3). 28 (a), 28 (b) and 28 (c), the contraction force command values u f1 ′, u f2 ′, u f3 ′ are shown by solid lines, and the contraction force command values u e1 ′, u e2. ', U e3 ' is represented by a broken line, and the sum of contraction forces is represented by a dotted line. 28 (a), 28 (b), and 28 (c), it can be seen that the contraction force command values u fi 'and u ei ' are both 0 N or more. This is because the preliminary contraction forces Δu fi and Δu ei are added to the contraction force command values u fi and u ei output from the contraction force command value calculation unit 152. Furthermore, since the solid line in FIG. 27 and the dotted lines in FIGS. 28 (a), 28 (b), and 28 (c) match, the sum of the contractile force command values u fi ', u ei ' is the joint. It can be seen that it matches the rigidity target trajectory Usi . From these, it can be seen that the flexibility of the hand can be controlled by the control system of the third embodiment.

なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。   The present invention is not limited to the embodiments described above, and many modifications can be made by those having ordinary knowledge in the art within the technical idea of the present invention.

100…ロボット、101…第1リンク、102…第2リンク、103…プーリ(基台)、111…第1関節、112…第2関節、150…制御装置、151…フィードフォワード補償部(トルク指令値生成部)、152…収縮力指令値演算部、153…収縮力発生部、e…第2人工筋肉アクチュエータ、e…第4人工筋肉アクチュエータ、e…第6人工筋肉アクチュエータ、f…第1人工筋肉アクチュエータ、f…第3人工筋肉アクチュエータ、f…第5人工筋肉アクチュエータ DESCRIPTION OF SYMBOLS 100 ... Robot, 101 ... 1st link, 102 ... 2nd link, 103 ... Pulley (base), 111 ... 1st joint, 112 ... 2nd joint, 150 ... Control apparatus, 151 ... Feedforward compensation part (torque command Value generating unit), 152 ... contraction force command value calculation unit, 153 ... contraction force generation unit, e 1 ... second artificial muscle actuator, e 2 ... fourth artificial muscle actuator, e 3 ... sixth artificial muscle actuator, f 1 ... 1st artificial muscle actuator, f 2 ... 3rd artificial muscle actuator, f 3 ... 5th artificial muscle actuator

Claims (4)

基台に第1関節で連結された第1リンクと、
前記第1リンクに第2関節で連結された第2リンクと、
収縮により前記第1リンクを前記第1関節まわりに第1旋回方向に旋回させる第1人工筋肉アクチュエータと、
収縮により前記第1リンクを前記第1関節まわりに前記第1旋回方向に対して反対の第2旋回方向に旋回させる第2人工筋肉アクチュエータと、
収縮により前記第2リンクを前記第2関節まわりに前記第1旋回方向に旋回させる第3人工筋肉アクチュエータと、
収縮により前記第2リンクを前記第2関節まわりに前記第2旋回方向に旋回させる第4人工筋肉アクチュエータと、
収縮により前記第1及び第2リンクを同時に前記第1及び第2関節まわりに前記第1旋回方向に旋回させる第5人工筋肉アクチュエータと、
収縮により前記第1及び第2リンクを同時に前記第1及び第2関節まわりに前記第2旋回方向に旋回させる第6人工筋肉アクチュエータと、
前記第1関節の第1関節トルク指令値及び前記第2関節の第2関節トルク指令値を生成するトルク指令値生成部と、
前記第1関節トルク指令値及び前記第2関節トルク指令値に基づいて、前記第1人工筋肉アクチュエータの第1収縮力指令値、前記第2人工筋肉アクチュエータの第2収縮力指令値、前記第3人工筋肉アクチュエータの第3収縮力指令値、前記第4人工筋肉アクチュエータの第4収縮力指令値、前記第5人工筋肉アクチュエータの第5収縮力指令値、及び前記第6人工筋肉アクチュエータの第6収縮力指令値を求める収縮力指令値演算部と、
前記第1収縮力指令値に応じて前記第1人工筋肉アクチュエータを収縮させ、前記第2収縮力指令値に応じて前記第2人工筋肉アクチュエータを収縮させ、前記第3収縮力指令値に応じて前記第3人工筋肉アクチュエータを収縮させ、前記第4収縮力指令値に応じて前記第4人工筋肉アクチュエータを収縮させ、前記第5収縮力指令値に応じて前記第5人工筋肉アクチュエータを収縮させ、前記第6収縮力指令値に応じて前記第6人工筋肉アクチュエータを収縮させる収縮力発生部と、を備え、
前記収縮力指令値演算部は、
前記第1関節トルク指令値を定数とし、前記第1、第2、第5及び第6収縮力指令値を変数として成り立つ第1関数、並びに前記第2関節トルク指令値を定数とし、前記第3、第4、第5及び第6収縮力指令値を変数として成り立つ第2関数において、前記第1及び第2収縮力指令値の一方、前記第3及び第4収縮力指令値の一方、並びに前記第5及び第6収縮力指令値の一方を0とした場合に、前記第1及び第2収縮力指令値の他方、前記第3及び第4収縮力指令値の他方、並びに前記第5及び第6収縮力指令値の他方のうち最大値となる収縮力指令値が最小となるように前記第1及び第2収縮力指令値の他方、前記第3及び第4収縮力指令値の他方、並びに前記第5及び第6収縮力指令値の他方を演算する指令値演算処理と、
前記指令値演算処理で演算した前記第1から第6収縮力指令値を前記収縮力発生部に出力する指令値出力処理と、を実行することを特徴とするロボット。
A first link connected to the base by a first joint;
A second link connected to the first link by a second joint;
A first artificial muscle actuator that pivots the first link around the first joint in a first pivoting direction by contraction;
A second artificial muscle actuator that rotates the first link around the first joint in a second turning direction opposite to the first turning direction by contraction;
A third artificial muscle actuator that pivots the second link around the second joint in the first pivot direction by contraction;
A fourth artificial muscle actuator for rotating the second link around the second joint in the second turning direction by contraction;
A fifth artificial muscle actuator that simultaneously turns the first and second links around the first and second joints in the first turning direction by contraction;
A sixth artificial muscle actuator that simultaneously turns the first and second links around the first and second joints in the second turning direction by contraction;
A torque command value generating unit that generates a first joint torque command value of the first joint and a second joint torque command value of the second joint;
Based on the first joint torque command value and the second joint torque command value, a first contraction force command value of the first artificial muscle actuator, a second contraction force command value of the second artificial muscle actuator, and the third The third contraction force command value of the artificial muscle actuator, the fourth contraction force command value of the fourth artificial muscle actuator, the fifth contraction force command value of the fifth artificial muscle actuator, and the sixth contraction of the sixth artificial muscle actuator A contraction force command value calculation unit for obtaining a force command value;
The first artificial muscle actuator is contracted according to the first contraction force command value, the second artificial muscle actuator is contracted according to the second contraction force command value, and according to the third contraction force command value. Contracting the third artificial muscle actuator, contracting the fourth artificial muscle actuator according to the fourth contraction force command value, contracting the fifth artificial muscle actuator according to the fifth contraction force command value, A contraction force generation unit that contracts the sixth artificial muscle actuator according to the sixth contraction force command value;
The contraction force command value calculation unit is
The first joint torque command value is a constant, the first, second, fifth, and sixth contraction force command values are used as variables, the first function, and the second joint torque command value is a constant, and the third , In the second function that holds the fourth, fifth and sixth contraction force command values as variables, one of the first and second contraction force command values, one of the third and fourth contraction force command values, and the above When one of the fifth and sixth contraction force command values is 0, the other of the first and second contraction force command values, the other of the third and fourth contraction force command values, and the fifth and sixth contraction force command values. The other one of the first and second contraction force command values, the other one of the third and fourth contraction force command values, and the other one of the other six contraction force command values, Command value calculation processing for calculating the other of the fifth and sixth contraction force command values;
And a command value output process for outputting the first to sixth contraction force command values calculated in the command value calculation process to the contraction force generation unit.
前記第1収縮力指令値をuf1、前記第2収縮力指令値をue1、前記第3収縮力指令値をuf2、前記第4収縮力指令値をue2、前記第5収縮力指令値をuf3、前記第6収縮力指令値をue3、前記第1関節トルク指令値をT、前記第2関節トルク指令値をTとし、
正の係数Kf1,Ke1,Kf2,Ke2,Kf3,Ke3を用いて、前記第1関数を、T=Kf1×uf1−Ke1×ue1+Kf3×uf3−Ke3×ue3とし、前記第2関数を、T=Kf2×uf2−Ke2×ue2+Kf3×uf3−Ke3×ue3とし、
評価関数を、J=max{uf1,ue1,uf2,ue2,uf3,ue3}としたとき、
前記収縮力指令値演算部は、
前記指令値演算処理として、
前記第1関数及び前記第2関数において、ue1=0,ue2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第1指令値候補を演算する第1演算処理と、
前記第1関数及び前記第2関数において、ue1=0,uf2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第2指令値候補を演算する第2演算処理と、
前記第1関数及び前記第2関数において、uf1=0,ue2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第3指令値候補を演算する第3演算処理と、
前記第1関数及び前記第2関数において、uf1=0,uf2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第4指令値候補を演算する第4演算処理と、
前記第1から第4指令値候補のうち、前記評価関数が最小の指令値候補を、前記指令値出力処理にて出力する前記第1から第6収縮力指令値として選択する指令選択処理と、を実行することを特徴とする請求項1に記載のロボット。
The first contraction force command value is u f1 , the second contraction force command value is u e1 , the third contraction force command value is u f2 , the fourth contraction force command value is u e2 , and the fifth contraction force command is The value is u f3 , the sixth contractile force command value is u e3 , the first joint torque command value is T 1 , and the second joint torque command value is T 2 ,
Using the positive coefficients K f1 , K e1 , K f2 , K e2 , K f3 , and K e3 , the first function is expressed as T 1 = K f1 × u f1 −K e1 × u e1 + K f3 × u f3 − K e3 × u e3 and the second function is T 2 = K f2 × u f2 −K e2 × u e2 + K f3 × u f3 −K e3 × u e3
When the evaluation function is J = max {u f1 , u e1 , u f2 , u e2 , u f3 , u e3 },
The contraction force command value calculation unit is
As the command value calculation process,
In the first function and the second function, when u e1 = 0, u e2 = 0, u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A first calculation process for calculating one command value candidate;
In the first function and the second function, when u e1 = 0, u f2 = 0, and u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A second calculation process for calculating two command value candidates;
In the first function and the second function, when u f1 = 0, u e2 = 0, and u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A third calculation process for calculating three command value candidates;
In the first function and the second function, when u f1 = 0, u f2 = 0, u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A fourth calculation process for calculating four command value candidates;
A command selection process for selecting a command value candidate having the smallest evaluation function among the first to fourth command value candidates as the first to sixth contraction force command values to be output in the command value output process; The robot according to claim 1, wherein:
前記第1収縮力指令値をuf1、前記第2収縮力指令値をue1、前記第3収縮力指令値をuf2、前記第4収縮力指令値をue2、前記第5収縮力指令値をuf3、前記第6収縮力指令値をue3、前記第1関節トルク指令値をT、前記第2関節トルク指令値をTとし、
正の係数Kf1,Ke1,Kf2,Ke2,Kf3,Ke3を用いて、前記第1関数を、T=Kf1×uf1−Ke1×ue1+Kf3×uf3−Ke3×ue3とし、前記第2関数を、T=Kf2×uf2−Ke2×ue2+Kf3×uf3−Ke3×ue3とし、
評価関数を、J=max{uf1,ue1,uf2,ue2,uf3,ue3}としたとき、
前記収縮力指令値演算部は、
前記指令値演算処理として、
前記第1関節トルク指令値と前記第2関節トルク指令値とが同符号の場合には、
前記第1関数及び前記第2関数において、ue1=0,ue2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第1指令値候補を演算する第1演算処理と、
前記第1関数及び前記第2関数において、ue1=0,uf2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第2指令値候補を演算する第2演算処理と、
前記第1関数及び前記第2関数において、uf1=0,ue2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第3指令値候補を演算する第3演算処理と、
前記第1関数及び前記第2関数において、uf1=0,uf2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第4指令値候補を演算する第4演算処理と、
前記第1から第4指令値候補のうち、前記評価関数が最小の指令値候補を、前記指令値出力処理にて出力する前記第1から第6収縮力指令値として選択する第1指令選択処理と、を実行し、
前記第1関節トルク指令値と前記第2関節トルク指令値とが異符号の場合には、
前記第1関数及び前記第2関数において、ue1=0,uf2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第5指令値候補を演算する第5演算処理と、
前記第1関数及び前記第2関数において、uf1=0,uf2=0,ue3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第6指令値候補を演算する第6演算処理と、
前記第1関数及び前記第2関数において、ue1=0,ue2=0,uf3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第7指令値候補を演算する第7演算処理と、
前記第1関数及び前記第2関数において、ue1=0,uf2=0,uf3=0とした場合に、前記評価関数を最小化する前記第1から第6収縮力指令値からなる第8指令値候補を演算する第8演算処理と、
前記第5から第8指令値候補のうち、前記評価関数が最小の指令値候補を、前記指令値出力処理にて出力する前記第1から第6収縮力指令値として選択する第2指令選択処理と、を実行することを特徴とする請求項1に記載のロボット。
The first contraction force command value is u f1 , the second contraction force command value is u e1 , the third contraction force command value is u f2 , the fourth contraction force command value is u e2 , and the fifth contraction force command is The value is u f3 , the sixth contractile force command value is u e3 , the first joint torque command value is T 1 , and the second joint torque command value is T 2 ,
Using the positive coefficients K f1 , K e1 , K f2 , K e2 , K f3 , and K e3 , the first function is expressed as T 1 = K f1 × u f1 −K e1 × u e1 + K f3 × u f3 − K e3 × u e3 and the second function is T 2 = K f2 × u f2 −K e2 × u e2 + K f3 × u f3 −K e3 × u e3
When the evaluation function is J = max {u f1 , u e1 , u f2 , u e2 , u f3 , u e3 },
The contraction force command value calculation unit is
As the command value calculation process,
When the first joint torque command value and the second joint torque command value have the same sign,
In the first function and the second function, when u e1 = 0, u e2 = 0, u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A first calculation process for calculating one command value candidate;
In the first function and the second function, when u e1 = 0, u f2 = 0, and u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A second calculation process for calculating two command value candidates;
In the first function and the second function, when u f1 = 0, u e2 = 0, and u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A third calculation process for calculating three command value candidates;
In the first function and the second function, when u f1 = 0, u f2 = 0, u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A fourth calculation process for calculating four command value candidates;
A first command selection process for selecting a command value candidate having the smallest evaluation function among the first to fourth command value candidates as the first to sixth contraction force command values to be output in the command value output process. And run
When the first joint torque command value and the second joint torque command value have different signs,
In the first function and the second function, when u e1 = 0, u f2 = 0, and u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A fifth calculation process for calculating five command value candidates;
In the first function and the second function, when u f1 = 0, u f2 = 0, u e3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A sixth calculation process for calculating six command value candidates;
In the first function and the second function, when u e1 = 0, u e2 = 0, and u f3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. A seventh calculation process for calculating seven command value candidates;
In the first function and the second function, when u e1 = 0, u f2 = 0, and u f3 = 0, the first to sixth contraction force command values that minimize the evaluation function are set. An eighth calculation process for calculating eight command value candidates;
Second command selection process for selecting command value candidates having the smallest evaluation function among the fifth to eighth command value candidates as the first to sixth contraction force command values to be output in the command value output process The robot according to claim 1, wherein:
基台に第1関節で連結された第1リンクと、
前記第1リンクに第2関節で連結された第2リンクと、
収縮により前記第1リンクを前記第1関節まわりに第1旋回方向に旋回させる第1人工筋肉アクチュエータと、
収縮により前記第1リンクを前記第1関節まわりに前記第1旋回方向に対して反対の第2旋回方向に旋回させる第2人工筋肉アクチュエータと、
収縮により前記第2リンクを前記第2関節まわりに前記第1旋回方向に旋回させる第3人工筋肉アクチュエータと、
収縮により前記第2リンクを前記第2関節まわりに前記第2旋回方向に旋回させる第4人工筋肉アクチュエータと、
収縮により前記第1及び第2リンクを同時に前記第1及び第2関節まわりに前記第1旋回方向に旋回させる第5人工筋肉アクチュエータと、
収縮により前記第1及び第2リンクを同時に前記第1及び第2関節まわりに前記第2旋回方向に旋回させる第6人工筋肉アクチュエータと、
前記第1関節の第1関節トルク指令値及び前記第2関節の第2関節トルク指令値を生成するトルク指令値生成部と、
前記第1関節トルク指令値及び前記第2関節トルク指令値に基づいて、前記第1人工筋肉アクチュエータの第1収縮力指令値、前記第2人工筋肉アクチュエータの第2収縮力指令値、前記第3人工筋肉アクチュエータの第3収縮力指令値、前記第4人工筋肉アクチュエータの第4収縮力指令値、前記第5人工筋肉アクチュエータの第5収縮力指令値、及び前記第6人工筋肉アクチュエータの第6収縮力指令値を求める収縮力指令値演算部と、
前記第1収縮力指令値に応じて前記第1人工筋肉アクチュエータを収縮させ、前記第2収縮力指令値に応じて前記第2人工筋肉アクチュエータを収縮させ、前記第3収縮力指令値に応じて前記第3人工筋肉アクチュエータを収縮させ、前記第4収縮力指令値に応じて前記第4人工筋肉アクチュエータを収縮させ、前記第5収縮力指令値に応じて前記第5人工筋肉アクチュエータを収縮させ、前記第6収縮力指令値に応じて前記第6人工筋肉アクチュエータを収縮させる収縮力発生部と、を備えたロボットを制御するロボット制御方法において、
前記収縮力指令値演算部が、前記第1関節トルク指令値を定数とし、前記第1、第2、第5及び第6収縮力指令値を変数として成り立つ第1関数、並びに前記第2関節トルク指令値を定数とし、前記第3、第4、第5及び第6収縮力指令値を変数として成り立つ第2関数において、前記第1及び第2収縮力指令値の一方、前記第3及び第4収縮力指令値の一方、並びに前記第5及び第6収縮力指令値の一方を0とした場合に、前記第1及び第2収縮力指令値の他方、前記第3及び第4収縮力指令値の他方、並びに前記第5及び第6収縮力指令値の他方のうち最大値となる収縮力指令値が最小となるように前記第1及び第2収縮力指令値の他方、前記第3及び第4収縮力指令値の他方、並びに前記第5及び第6収縮力指令値の他方を演算する指令値演算処理工程と、
前記収縮力指令値演算部が、前記指令値演算処理工程で演算した前記第1から第6収縮力指令値を前記収縮力発生部に出力する指令値出力処理工程と、を備えたことを特徴とするロボット制御方法。
A first link connected to the base by a first joint;
A second link connected to the first link by a second joint;
A first artificial muscle actuator that pivots the first link around the first joint in a first pivoting direction by contraction;
A second artificial muscle actuator that rotates the first link around the first joint in a second turning direction opposite to the first turning direction by contraction;
A third artificial muscle actuator that pivots the second link around the second joint in the first pivot direction by contraction;
A fourth artificial muscle actuator for rotating the second link around the second joint in the second turning direction by contraction;
A fifth artificial muscle actuator that simultaneously turns the first and second links around the first and second joints in the first turning direction by contraction;
A sixth artificial muscle actuator that simultaneously turns the first and second links around the first and second joints in the second turning direction by contraction;
A torque command value generating unit that generates a first joint torque command value of the first joint and a second joint torque command value of the second joint;
Based on the first joint torque command value and the second joint torque command value, a first contraction force command value of the first artificial muscle actuator, a second contraction force command value of the second artificial muscle actuator, and the third The third contraction force command value of the artificial muscle actuator, the fourth contraction force command value of the fourth artificial muscle actuator, the fifth contraction force command value of the fifth artificial muscle actuator, and the sixth contraction of the sixth artificial muscle actuator A contraction force command value calculation unit for obtaining a force command value;
The first artificial muscle actuator is contracted according to the first contraction force command value, the second artificial muscle actuator is contracted according to the second contraction force command value, and according to the third contraction force command value. Contracting the third artificial muscle actuator, contracting the fourth artificial muscle actuator according to the fourth contraction force command value, contracting the fifth artificial muscle actuator according to the fifth contraction force command value, In a robot control method for controlling a robot, comprising: a contraction force generation unit configured to contract the sixth artificial muscle actuator according to the sixth contraction force command value;
The first contraction force command value calculation unit uses the first joint torque command value as a constant and the first, second, fifth, and sixth contraction force command values as variables, and the second joint torque. In the second function that is established with the command value as a constant and the third, fourth, fifth, and sixth contraction force command values as variables, one of the first and second contraction force command values, the third and fourth When one of the contraction force command values and one of the fifth and sixth contraction force command values is set to 0, the other of the first and second contraction force command values, the third and fourth contraction force command values. And the other of the first and second contraction force command values, the third and third contraction command values so that the contraction force command value that is the maximum value among the other of the fifth and sixth contraction force command values is minimized. A finger for calculating the other of the four contraction force command values and the other of the fifth and sixth contraction force command values. Value calculation step,
The contraction force command value calculation unit includes a command value output processing step of outputting the first to sixth contraction force command values calculated in the command value calculation processing step to the contraction force generation unit. A robot control method.
JP2012141598A 2012-06-25 2012-06-25 Robot and robot control method Expired - Fee Related JP5943734B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012141598A JP5943734B2 (en) 2012-06-25 2012-06-25 Robot and robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012141598A JP5943734B2 (en) 2012-06-25 2012-06-25 Robot and robot control method

Publications (2)

Publication Number Publication Date
JP2014004654A true JP2014004654A (en) 2014-01-16
JP5943734B2 JP5943734B2 (en) 2016-07-05

Family

ID=50102870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012141598A Expired - Fee Related JP5943734B2 (en) 2012-06-25 2012-06-25 Robot and robot control method

Country Status (1)

Country Link
JP (1) JP5943734B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014200893A (en) * 2013-04-08 2014-10-27 キヤノン株式会社 Robot device, robot control method, program and recording medium
CN106426138A (en) * 2015-08-28 2017-02-22 刘伟 Artificial muscle, application thereof and robot
US11260526B2 (en) 2016-10-31 2022-03-01 Yamaha Corporation Driving control apparatus for actuator

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10217157A (en) * 1997-02-03 1998-08-18 Toyota Motor Corp Muscle electric signal generating device
JP3436320B2 (en) * 1994-04-18 2003-08-11 富士通株式会社 Method and apparatus for controlling output trajectory and dynamic characteristics of nonlinear system
JP2008281926A (en) * 2007-05-14 2008-11-20 Oki Electric Ind Co Ltd Robot for rehabilitation education
JP2013163251A (en) * 2012-02-13 2013-08-22 Canon Inc Control method of robot device and robot device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3436320B2 (en) * 1994-04-18 2003-08-11 富士通株式会社 Method and apparatus for controlling output trajectory and dynamic characteristics of nonlinear system
JPH10217157A (en) * 1997-02-03 1998-08-18 Toyota Motor Corp Muscle electric signal generating device
JP2008281926A (en) * 2007-05-14 2008-11-20 Oki Electric Ind Co Ltd Robot for rehabilitation education
JP2013163251A (en) * 2012-02-13 2013-08-22 Canon Inc Control method of robot device and robot device

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014200893A (en) * 2013-04-08 2014-10-27 キヤノン株式会社 Robot device, robot control method, program and recording medium
CN106426138A (en) * 2015-08-28 2017-02-22 刘伟 Artificial muscle, application thereof and robot
CN106426142A (en) * 2015-08-28 2017-02-22 刘伟 Artificial muscle, application and robot thereof
CN106426139A (en) * 2015-08-28 2017-02-22 刘伟 Artificial muscle, application thereof and robot
CN106426141A (en) * 2015-08-28 2017-02-22 刘伟 Artificial muscle and application and robot thereof
CN106426141B (en) * 2015-08-28 2019-01-18 绍兴亨利领带时装有限公司 A kind of artificial-muscle and its application, robot
CN106426138B (en) * 2015-08-28 2019-01-18 绍兴亨利领带时装有限公司 A kind of artificial-muscle and its application, robot
CN106426139B (en) * 2015-08-28 2019-02-22 范甬挺 A kind of artificial-muscle and its application, robot
CN106426142B (en) * 2015-08-28 2019-03-01 范宝莲 A kind of artificial-muscle and its application, robot
US11260526B2 (en) 2016-10-31 2022-03-01 Yamaha Corporation Driving control apparatus for actuator

Also Published As

Publication number Publication date
JP5943734B2 (en) 2016-07-05

Similar Documents

Publication Publication Date Title
Rahmani et al. New sliding mode control of 2-DOF robot manipulator based on extended grey wolf optimizer
JP6080643B2 (en) Robot apparatus, robot control method, program, and recording medium
Merchán-Cruz et al. Fuzzy-GA-based trajectory planner for robot manipulators sharing a common workspace
JP5930754B2 (en) Robot apparatus control method and robot apparatus
JP5930753B2 (en) Robot apparatus control method and robot apparatus
Lu et al. Design and optimization of interval type-2 fuzzy logic controller for delta parallel robot trajectory control
JP5943734B2 (en) Robot and robot control method
Banga et al. Fuzzy-genetic optimal control for robotic systems
Wang et al. Hybrid trajectory and force learning of complex assembly tasks: A combined learning framework
Liang et al. A novel impedance control method of rubber unstacking robot dealing with unpredictable and time-variable adhesion force
Rayyes et al. Learning inverse statics models efficiently with symmetry-based exploration
Tao et al. Multi-phase multi-objective dexterous manipulation with adaptive hierarchical curriculum
Bhatti Adaptive collaborative position control of a tendon-driven robotic finger
Zhang et al. Adaptive control of discrete-time nonlinear systems using ITF-ORVFL
Mohamed et al. Humanoid robot arm performance optimization using multi objective evolutionary algorithm
Kim et al. Weighted hybrid admittance-impedance control with human intention based stiffness estimation for human-robot interaction
Valizadeh et al. The optimal adaptive-based neurofuzzy control of the 3-dof musculoskeletal system of human arm in a 2d plane
Dinh et al. Localized Extreme Learning Machine for online inverse dynamic model estimation in soft wearable exoskeleton
Yuan et al. Design and input saturation control with full-state constraints of lightweight tendon-driven musculoskeletal arm
Soni et al. End-to-End Reinforcement Learning for Torque Based Variable Height Hopping
Ciężkowski et al. Determination of interactions between two-wheeled self-balancing vehicle and its rider
Balderas Hill et al. Minimizing the energy consumption of a delta robot by exploiting the natural dynamics
Hill et al. Minimizing the Energy Consumption of a Delta Robot by Exploiting the Natural Dynamics
JP5582937B2 (en) Robot equipment
Tascillo et al. Neural and fuzzy robotic hand control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160415

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160524

R151 Written notification of patent or utility model registration

Ref document number: 5943734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees