JP2014004654A - Robot and robot control method - Google Patents
Robot and robot control method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 147
- 210000003205 muscle Anatomy 0.000 claims abstract description 138
- 238000012545 processing Methods 0.000 claims abstract description 49
- 230000008602 contraction Effects 0.000 claims description 418
- 238000004364 calculation method Methods 0.000 claims description 287
- 230000008569 process Effects 0.000 claims description 134
- 238000011156 evaluation Methods 0.000 claims description 93
- 230000003042 antagnostic effect Effects 0.000 abstract description 2
- 238000005452 bending Methods 0.000 abstract description 2
- 230000014509 gene expression Effects 0.000 description 84
- 238000013461 design Methods 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000004088 simulation Methods 0.000 description 10
- 206010023230 Joint stiffness Diseases 0.000 description 7
- 238000009795 derivation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000036461 convulsion Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004118 muscle contraction Effects 0.000 description 1
- 230000003387 muscular Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
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
上記特許文献1では、フィードフォワード制御により関節角度と手先の柔軟性の同時制御を行っている。しかし、人工筋肉アクチュエータを最小の制御入力で拮抗駆動するための研究例はこれまで見られない。
In
制御入力を最小化するには、関節角度の目標軌道に対応する手先柔軟性の目標軌道を考慮し、それを制御入力と同時に最適化する必要がある。しかし、上記特許文献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
そこで、本発明は、人工筋肉アクチュエータを駆動源に用いる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.
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。 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
図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
本第1実施形態では、ロボット100は、6つの人工筋肉アクチュエータ(以下、単に「アクチュエータ」という)f1,e1,f2,e2,f3,e3と、これらアクチュエータf1,e1,f2,e2,f3,e3を制御する制御装置150と、を備えている。
In the first embodiment, the
第1人工筋肉アクチュエータであるアクチュエータf1は、収縮により第1リンク101を第1関節111まわりに第1旋回方向R1(図2中、反時計回り方向、屈曲する方向)に旋回させる。第2人工筋肉アクチュエータであるアクチュエータe1は、収縮により第1リンク101を第1関節111まわりに第1旋回方向R1に対して反対の第2旋回方向R2(図2中、時計回り方向、伸展する方向)に旋回させる。第3人工筋肉アクチュエータであるアクチュエータf2は、収縮により第2リンク102を第2関節112まわりに第1旋回方向R1に旋回させる。第4人工筋肉アクチュエータであるアクチュエータe2は、収縮により第2リンク102を第2関節112まわりに第2旋回方向R2に旋回させる。第5人工筋肉アクチュエータであるアクチュエータf3は、収縮により第1及び第2リンク101,102を同時に第1及び第2関節111,112まわりに第1旋回方向R1に旋回させる。第6人工筋肉アクチュエータであるアクチュエータe3は、収縮により第1及び第2リンク101,102を同時に第1及び第2関節111,112まわりに第2旋回方向R2に旋回させる。
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
つまり、アクチュエータf1,e1は第1関節111を、アクチュエータf2,e2は第2関節112を駆動し、アクチュエータf3,e3は二関節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
制御装置150は、各アクチュエータfi,eiの収縮力指令値ufi,ueiを演算により求めて、各収縮力指令値ufi,ueiに応じて各アクチュエータfi,eiを収縮させる(i=1,2,3)。ここで、アクチュエータf1の収縮力指令値を、第1収縮力指令値uf1とする。アクチュエータe1の収縮力指令値を、第2収縮力指令値ue1とする。アクチュエータf2の収縮力指令値を、第3収縮力指令値uf2とする。アクチュエータe2の収縮力指令値を、第4収縮力指令値ue2とする。アクチュエータf3の収縮力指令値を、第5収縮力指令値uf3とする。アクチュエータe3の収縮力指令値を、第6収縮力指令値ue3とする。
アクチュエータfi,ei(i=1,2,3)の収縮量xiは、モーメント径rと関節角度θi(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).
ここで、アクチュエータfi,eiの弾性力定数をki、粘性力定数をci、関節角速度をωi、関節角加速度をαiとする(i=1,2,3)。アクチュエータfi,eiの収縮力指令値ufi,uei(i=1,2,3)により生じるトルク(以下、筋トルクと呼ぶ)τi(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
式(3)より、右辺第1項の収縮力の差が関節に回転トルクを与え、第2項と第3項の収縮力の和が、筋の弾性と粘性を変動させることがわかる。なお、前述のように人工筋肉アクチュエータfi,ei(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
ここで、第1,第2リンク101,102の関節111,112まわりの慣性モーメントをI1,I2、リンク101,102長さをL1,L2、リンク101,102の質量をm1,m2とする。また、関節111,112まわりに働くトルク指令値(第1関節トルク指令値及び第2関節トルク指令値)をT1,T2とする。本第1実施形態の2リンクマニピュレータの運動方程式は、
Here, the moments of inertia around the
コリオリ力・遠心力は、 Coriolis force and centrifugal force are
慣性行列及びコリオリ力・遠心力は、以下の式(7)及び式(8)となる。 The inertia matrix and the Coriolis force / centrifugal force are expressed by the following equations (7) and (8).
また、第1関節トルク指令値T1、第1関節トルク指令値T2は、筋トルクτ1,τ2,τ3を用いて、 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 ,
式(3)と式(9)とにより、関節トルク指令値T1,T2は、収縮力指令値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 .
つまり、式(10)は、第1関節トルク指令値T1を定数とし、第1、第2、第5及び第6収縮力指令値uf1,ue1,uf3,ue3を変数として成立する第1関数である。式(11)は、第2関節トルク指令値T2を定数とし、第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実施形態の制御系では、関節トルク指令値T1[k],T2[k]に基づき、収縮力指令値ufi[k],uei[k]の最大値を最小化する。なお、時刻kは離散信号であり、制御周期Tsと正の整数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,
図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
フィードフォワード補償部151は、時刻kにおける各関節111,112の目標関節角度θri[k]、目標角速度ωri[k]、目標角加速度αri[k](i=1,2)を入力とする。そして、
The
また、収縮力指令値演算部152は、目標関節角度θri[k]、目標角速度ωri[k]、及び関節トルク指令値T1[k],T2[k]を入力し、これらに基づいて、最大値が最小となる収縮力指令値ufi[k],uei[k]を求める。
Further, the contraction force command
収縮力発生部153は、各収縮力指令値ufi[k],uei[k]に応じて各アクチュエータfi,eiを収縮させる。
Contraction
制御系設計では、まず、収縮力指令値ufi[k],uei[k]の最大値を最小化する問題(以下、収縮力最小化問題と呼ぶ)を定義し、同問題を解くための制御側を導出する。次に、係数Kfi,Keiと関節トルク指令値T1[k],T2[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).
つまり、J=max{uf1,ue1,uf2,ue2,uf3,ue3}と定義する。収縮力最小化問題とは、関節トルク指令値T1,T2と、目標関節角度θ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つである。一般に、制約条件の数に比べて未知数の数が多い場合は、未知数を一意に決めることはできない。しかし、筋トルクτiの正負に応じて収縮力指令値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 .
式(16)に示す制御側を適用するためには、筋トルクτ1,τ2,τ3の正負の符号が決定されている必要がある。しかし、式(9)に示すように、筋トルクτ1,τ2,τ3は関節トルク指令値T1,T2に対して冗長となるため、関節トルク指令値の符号から筋トルクの符号を一意に決定することはできない。 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実施形態では、筋トルクτ1,τ2,τ3の符号の組み合わせのうち一つを仮定し、この仮定の下で評価関数Jを最小化する収縮力指令値ufi,ueiの候補を導出する。これを、筋トルクτ1,τ2,τ3の符号の組み合わせ全てについて行い、収縮力の候補の中から評価関数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は、筋トルクτ1,τ2,τ3の符号が取りうる8通りの組み合わせを示す図である。ただし、本第1実施形態のように、関節トルク指令値T1,T2がどちらも正数となる場合は、筋トルクτ3を負数とする条件5、条件6、条件7、条件8の組み合わせを仮定する必要はない。なぜなら、筋トルクτ3を負数とすると、式(9)より、τ3を正数とする場合と比べて筋トルクτ1と筋トルクτ2を増加させなければならず、これは、第一、第二単関節筋の収縮力を増加させてしまうためである。
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
そこで、本第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
次に、制御装置150によるロボット制御方法について説明する。図5は、収縮力指令値演算部の処理動作を示すフローチャートである。収縮力指令値演算部152は、関節トルク指令値T1,T2をフィードフォワード補償部151から入力すると共に、不図示の上位コントローラから目標関節角度θ1,θ2、目標関節角速度ω1,ω2を入力する(S1)。なお、弾性力定数k、粘性力定数c及びモーメントアーム径rは、予め設定された値である。
Next, a robot control method by the
次に、収縮力指令値演算部152は、式(12)を用いて、目標関節角度θ1,θ2、目標関節角速度ω1,ω2から係数Kfi,Keiを算出する(S2)。
Next, the contraction force command
次に、収縮力指令値演算部152は、式(10)に示す第1関数、及び式(11)に示す第2関数に、演算した係数Kfi,Kei及び入力した関節トルク指令値T1,T2を定数として代入する(S3)。
Next, the contraction force command
次に、収縮力指令値演算部152は、評価関数Jを最小化する指令値候補を演算する第1最小化演算処理を実行する(S4)。
Next, the contraction force command
次に、収縮力指令値演算部152は、評価関数Jmin 1〜4及び指令値候補ufi 1〜4,uei 1〜4に対し(S5)、評価関数が最小の指令値候補を選択する第1指令選択処理を実行する(S6)。
Next, the contraction force command
即ち、収縮力指令値演算部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
次に、収縮力指令値演算部152は、演算した第1から第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S7:指令値出力処理工程)。
Next, the contraction force command
(2.2 第1最小化演算処理の設計)
図6は、収縮力指令値演算部による第1最小化演算処理のフローチャートである。収縮力指令値演算部152は、図4に示す第1条件を仮定し(S11)、第1演算処理を実行し(S12)、評価関数Jmin 1を最小化する第1〜第6収縮力指令値からなる第1指令値候補ufi 1,uei 1を出力する(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
続いて、収縮力指令値演算部152は、図4に示す第2条件を仮定し(S14)、第2演算処理を実行し(S15)、評価関数Jmin 2を最小化する第1〜第6収縮力指令値からなる第2指令値候補ufi 2,uei 2を出力する(S16)。
Subsequently, the contraction force command
続いて、収縮力指令値演算部152は、図4に示す第3条件を仮定し(S17)、第3演算処理を実行し(S18)、評価関数Jmin 3を最小化する第1〜第6収縮力指令値からなる第3指令値候補ufi 3,uei 3を出力する(S19)。
Subsequently, the contraction force command
続いて、収縮力指令値演算部152は、図4に示す第4条件を仮定し(S20)、第4演算処理を実行し(S21)、評価関数Jmin 4を最小化する第1〜第6収縮力指令値からなる第4指令値候補ufi 4,uei 4を出力する(S22)。
Subsequently, contractile force command
第1、第2、第3、第4演算処理は、それぞれ、筋トルクτ1,τ2の符号を図4の条件1、2、3、4と仮定して、評価関数Jの最小値の候補Jmin jと収縮力指令値の指令値候補ufi j、uei jを演算するサブルーチンである(j=1,2,3,4)。なお、評価関数の候補Jmin jと収縮力指令値の候補ufi j、uei jの上付きの添え字jは対応する演算処理の番号を表す。また、第1〜第4演算処理が評価関数の候補Jmin jと収縮力指令値の指令値候補ufi j,uei jを演算する方法は同様であるため、本第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
(2.2.1 第1演算処理の設計)
第1演算処理における収縮力指令値の第1指令値候補ufi 1,uei 1のうち、第1指令値候補ue1 1、ue2 1、ue3 1は、図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
また、式(10)、式(11)及び式(18)より、関節トルク指令値T1,T2は、収縮力指令値の第1指令値候補uf1 1,uf2 1,uf3 1を用いて、 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,
式(21)〜式(23)により、第1指令値候補uf1 1,uf2 1,uf3 1は全てuf3 1’を変数とする一次関数となることがわかる。そこで、本第1実施形態では、X軸を変数uf3 1’と、Y軸を第1指令値候補uf1 1,uf2 1,uf3 1とする直線uf1 1,uf2 1,uf3 1のグラフを描画する。そして、変数uf3 1’を増減させて、X座標を変数uf3 1’とする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 1,uf2 1,uf3 1の一例を示すグラフである。直線uf1 1は点線、直線uf2 1は破線、直線uf3 1は実線を用いて表している。また、Y軸と平行な直線を、一点鎖線を用いて表している。さらに、変数uf3 1’の変域を、矢印を用いて表している。そして、直線uf1 1,uf2 1,uf3 1とY軸と平行な直線の交点のうち、Y座標が最大となる点を点Zと定義する。ここで、Y軸と平行な直線と、直線uf1 1,uf2 1,uf3 1の交点のY座標が求めるべき第1指令値候補uf1 1,uf2 1,uf3 1であることから、点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 1と直線uf3 1の交点において評価関数Jが最小となる。なぜなら、変数uf3 1’を減少させると点Zは直線uf1 1に従って移動し、変数uf3 1’を増加させると直線uf3 1に従って移動するため、どちらの場合においても評価関数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 1とuf3 1の交点において最小となるわけではない。それは、各直線のX切片、Y切片、交点のX座標とY座標の大きさが、係数Kf1,Kf2,Kf3と関節トルク指令値T1,T2に依存して変化するためである。 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 1と直線uf2 1の両方を動かすと、場合分けの条件が複雑となってしまう。そこで、本第1実施形態では説明を容易にするために、直線uf1 1のX切片とY切片を固定して図示する。そして、直線uf2 1のX切片とY切片を原点からX軸とY軸の正の方向に、徐々に図上で移動させるときの直線uf1 1,uf2 1,uf3 1のグラフを図示し、評価関数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 1,uf2 1,uf3 1の別の例を示すグラフである。まず、図8(a)及び図8(b)と図9(a)及び図9(b)とに、直線uf1 1,uf2 1,uf3 1と補助線を点線、破線、実線、一点鎖線を用いて、それぞれ表す。なお、図8(a)は、直線uf2 1のX切片及びY切片が、直線uf1 1のX切片及びY切片と比べて十分に小さいときのグラフを、図8(b)は、直線uf2 1のX切片をX軸の正方向へ移動させたときのグラフを表す。また、図9(a)は、図8(b)と比べて直線uf2 1のY切片をY軸の正方向へ移動させたときのグラフを、図9(b)は、直線uf2 1の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 1と直線uf3 1の交点を点A1、点A1を通りY軸と平行な直線と直線uf2 1の交点を点B1、直線uf2 1とX軸との交点をC1、点C1を通りY軸と平行な直線と直線uf1 1との交点をD1とする。また、直線uf2 1と直線uf3 1の交点を点E1、点E1を通りY軸と平行な直線と直線uf1 1の交点を点F1、直線uf1 1とX軸との交点を点G1、点G1を通りY軸と平行な直線と直線uf2 1との交点をH1とする。なお、各点の下付きの添え字は対応する演算処理の番号を表す。 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)より、点A1,B1,C1,D1,E1,F1,G1,H1の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
図8(a)及び図8(b)に示すように、直線uf2 1のY切片が直線uf1 1のY切片と比べて十分に小さいとき、点A1が点B1に対して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
さらに、図9(a)及び図9(b)に示すように、点B1が点A1に対してY軸の正側に存在するように直線uf2 1の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
なお、本第1実施形態では、式(35)、式(38)、式(42)、式(45)を用いて評価関数Jの最小値Jmin 1を演算する場合を、それぞれ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
次に、収縮力指令値演算部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
また、収縮力指令値演算部152は、xa1≧xc1ではない場合(S35:No)、式(38)及び式(39)を導き出す(S38:Case12)。
Further, when x a1 ≧ x c1 is not satisfied (S35: No), the contraction force command
また、収縮力指令値演算部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
また、収縮力指令値演算部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
このように、収縮力指令値演算部152は、式(32)、式(33)及び式(41)に示す場合分けを行う。そして、それぞれの場合について、評価関数Jの最小値Jmin 1と第1指令値候補uf1 1,uf2 1,uf3 1を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第1指令値候補を演算する第1演算処理を実行する。
Thus, the contraction force command
なお、本実施形態では式(21)で定義する変数uf3 1’を用いて、評価関数Jを最小化する指令値候補uf1 1,uf2 1,uf3 1を導出するが、評価関数Jの最小値と指令値候補uf1 1,uf2 1,uf3 1は変数の選び方に依存しない。なぜなら、評価関数Jの最小値は指令値候補uf1 1,uf2 1,uf3 1によって決定されるが、指令値候補uf1 1,uf2 1,uf3 1は変数の選び方によらず式(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 2,uf2 2,ue3 2は、図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
図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
次に、収縮力指令値演算部152は、ya2,yb2を演算し(S52)、yb2≦ya2であるか否かを判断する(S53)。収縮力指令値演算部152は、yb2≦ya2である場合(S53:Yes)、xc2,xa2を演算し(S54)、xc2<xa2であるか否かを判断する(S55)。収縮力指令値演算部152は、xc2<xa2である場合(S55:Yes)、uf1 2=ya2,ue2 2=yb2,uf3 2=ya2,Jmin 2=ya2を導き出す(S56:Case21)。
Next, the contraction force command
また、収縮力指令値演算部152は、xc2<xa2ではない場合(S55:No)、xc2≦xd2であるか否かを判断する(S57)。次に、収縮力指令値演算部152は、xc2≦xd2である場合(S57:Yes)、ye2,yf2を演算し(S58)、uf1 2=yf2,ue2 2=0,uf3 2=ye2,Jmin 2=ye2を導き出す(S59:Case22)。
In addition, when x c2 <x a2 is not satisfied (S55: No), the contraction force command
また、収縮力指令値演算部152は、xc2≦xd2ではない場合(S57:No)、uf1 2=ue2 2=uf3 2=0,Jmin 2=0を導き出す(S60:Case23)。
When x c2 ≦ x d2 is not satisfied (S57: No), the contraction force command
また、収縮力指令値演算部152は、yb2≦ya2ではない場合(S53:No)、yg2,yh2を演算し(S61)、uf1 2=0,ue2 2=yh2,uf3 2=yg2,Jmin 2=yg2を導き出す(S62:Case24)。
In addition, when y b2 ≦ y a2 is not satisfied (S53: No), the contraction force command
なお、Case23では、第2指令値候補uf1 2,ue2 2,uf3 2を全て正数とすることができない。そこで、後述する筋指令選択部において候補から外すために、第2指令値候補ufi 2,uei 2と最小値Jmin 2を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と第2指令値候補uf1 2,ue2 2,uf3 2を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第2指令値候補を演算する第2演算処理を実行する。
As described above, the contraction force command
(2.2.3 第3演算処理の設計)
第3演算処理における収縮力指令値の第3指令値候補uf1 3,ue2 3,ue3 3は、図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
図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
以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin 3と第3指令値候補ue1 3,uf2 3,uf3 3を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第3指令値候補を演算する第3演算処理を実行する。
As described above, the contraction force command
(2.2.4 第4演算処理の設計)
第4演算処理における収縮力指令値の第4指令値候補uf1 4,uf2 4,ue3 4は、図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
図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
次に、収縮力指令値演算部152は、xa4,xb4を演算する(S82)。次に、収縮力指令値演算部152は、xb4<xa4であるか否かを判断する(S83)。収縮力指令値演算部152は、xb4<xa4であると判断した場合は(S83:Yes)、yc4,yd4を演算する(S84)。そして、収縮力指令値演算部152は、ue1 4=0,ue2 4=ye4,uf3 4=yc4を導き出す(S85)。
Next, the contraction force command
次に、収縮力指令値演算部152は、yd4<yc4であるか否かを判断する(S86)。そして、収縮力指令値演算部152は、yd4<yc4であると判断した場合は(S86:Yes)、Jmin 4=yc4とする(S87:Case41)。また、収縮力指令値演算部152は、yd4<yc4ではないと判断した場合は(S86:No)、Jmin 4=yd4とする(S88:Case42)。
Next, the contraction force command
また、収縮力指令値演算部152は、xb4<xa4ではないと判断した場合は(S83:No)、ye4,yf4を演算する(S89)。そして、収縮力指令値演算部152は、ue1 4=ye4,ue2 4=0,uf3 4=yf4を導き出す(S90)。
When the contraction force command
次に、収縮力指令値演算部152は、ye4<yf4であるか否かを判断する(S91)。そして、収縮力指令値演算部152は、ye4<yf4であると判断した場合は(S91:Yes)、Jmin 4=yf4とする(S92:Case43)。また、収縮力指令値演算部152は、ye4<yf4ではないと判断した場合は(S91:No)、Jmin 4=ye4とする(S93:Case44)。
Next, the contraction force command
以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin 4と収縮力指令値の第4指令値候補ue1 4,ue2 4,uf3 4を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第4指令値候補を演算する第4演算処理を実行する。
As described above, the contraction force command
(2.3 第1指令選択処理)
収縮力指令値演算部152は、第1指令選択処理では、評価関数の最小値Jminの候補Jmin 1,Jmin 2,Jmin 3,Jmin 4のうち、最小となるものを選び出す。そして、収縮力指令値演算部152は、そのときの指令値候補を、収縮力指令値ufi,ueiとして出力する。
(2.3 First command selection process)
In the first command selection process, the contractile force command
図14は、収縮力指令値演算部による第1指令選択処理のフローチャートである。まず、収縮力指令値演算部152は、評価関数Jの最小値Jminと収縮力指令値ufi,ueiを、第1演算処理で演算した最小値の候補Jmin 1と収縮力指令値の第1指令値候補ufi 1,uei 1とする(S101)。次に、収縮力指令値演算部152は、Jmin 2>0であるか否かを判断し(S102)、Jmin 2>0である場合(S102:Yes)、以下の式(64)、即ちJmin>Jmin 2であるか否かを判断する(S103)。
FIG. 14 is a flowchart of first command selection processing by the contraction force command value calculation unit. First, the contractile force command
収縮力指令値演算部152は、Jmin>Jmin 2であると判断した場合(S103:Yes)、JminをJmin 2とし、ufi,ueiをufi 2,uei 2とする(S104)。
When the contraction force command
次に、収縮力指令値演算部152は、Jmin 3>0であるか否かを判断し(S105)、Jmin 3>0である場合(S105:Yes)、Jmin>Jmin 3であるか否かを判断する(S106)。収縮力指令値演算部152は、Jmin>Jmin 3であると判断した場合(S106:Yes)、JminをJmin 3とし、ufi,ueiをufi 3,uei 3とする(S107)。
Next, contractile force command
次に、収縮力指令値演算部152は、Jmin>Jmin 4であるか否かを判断する(S108)。収縮力指令値演算部152は、Jmin>Jmin 4であると判断した場合(S108:Yes)、JminをJmin 4とし、ufi,ueiをufi 4,uei 4とする(S109)。
Next, the contraction force command
ここで、2.2節で述べたように、第2,第3演算処理において、収縮力を全て正数とすることができないときは、最小値の候補Jmin 2,Jmin 3を0とした。そこで、収縮力指令値演算部152は、第1筋指令選択処理では、候補Jmin 2,Jmin 3が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
以上、収縮力指令値演算部152は、第1〜第4指令値候補のうち、評価関数が最小の指令値候補を、指令値出力処理にて出力する第1〜第6収縮力指令値として選択する指令選択処理を実行する。
As described above, the contraction force command
本第1実施形態によれば、収縮力指令値である制御入力を最適化する場合分けアルゴリズムにより、手先柔軟性の目標軌道が一意に決定されるため、最小の制御入力で人工筋肉アクチュエータfi,eiを拮抗駆動することが可能となる。制御入力を最小にすることで、例えば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
[第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実施形態では、関節トルク指令値T1,T2が負数となる場合を考慮する収縮力の制御方法を導出する。これにより、任意の関節角度の目標軌道において、収縮力の最大値を最小化することが可能となる。 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は、関節トルク指令値T1,T2の符号に基づいて、筋トルクτ1,τ2,τ3の符号の組み合わせを仮定する点が上記第1実施形態と異なる。
(2 Control system design)
In the second embodiment, the contraction force command
(2.1 関節トルク指令値の符号に基づく場合分け)
関節トルク指令値が負数となる場合は、図4に示す筋トルクτ1,τ2,τ3の符号の組み合わせのうち、筋トルクτ3が負数となる場合を考慮する必要がある。なぜなら、関節トルク指令値T1が負数のとき、筋トルクτ3を負数とすれば第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.
このように、関節トルク指令値T1,T2のどちらかが負数となるときと、どちらも正数となるときでは、考慮すべき筋トルクτ1,τ2,τ3の符号の組み合わせが異なる。そこで、関節トルク指令値T1,T2の符号に基づいて、考慮すべき筋トルクτ1,τ2,τ3の符号の組み合わせの場合分けを行う。 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.
まず、関節トルク指令値T1が正数となりT2が負数となるときを考える。図4において、筋トルクτ1,τ3をどちらも負数とする条件7及び条件8の組み合わせを仮定すると、式(9)より、関節トルク指令値T1は負数となる。また、筋トルクτ2,τ3をどちらも正数とする条件1と条件3の組み合わせを仮定すると、関節トルク指令値T2は正数となる。これらのことから、関節トルク指令値T1が正数となり関節トルク指令値T2が負数となるときは、条件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
なお、本第2実施形態では、関節トルク指令値T1が正数となり関節トルク指令値T2が負数となるときは、関節トルク指令値T1が負数となり関節トルク指令値T2が正数となるときの演算方法を用いて収縮力指令値を演算する。 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
また、関節トルク指令値T1,T2がどちらも負数となるときは、関節トルク指令値T1,T2がどちらも正数となる場合の演算方法を用いて収縮力を演算する。さらに、本発明では関節トルク指令値T1,T2が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は、関節トルク指令値T1,T2の符号に基づく場合分けを行い、筋トルクτ1,τ2,τ3の符号の候補を選択する。そして、収縮力指令値演算部152は、関節トルク指令値T1,T2のうち、一方が正数となり他方が負数となる場合、即ち、関節トルク指令値T1と関節トルク指令値T2とが異符号の場合には、第2最小化演算処理と第2指令選択処理を実行する。これにより収縮力指令値を演算する。
The contraction force command
また、収縮力指令値演算部152は、関節トルク指令値T1,T2がどちらも正数又は負数となる場合、即ち、関節トルク指令値T1と関節トルク指令値T2とが同符号の場合には、上記第1実施形態と同様に、第1最小化演算処理と第1指令選択処理を実行する。これにより収縮力指令値を演算する。
Further, the contraction force command
図15は、本発明の第2実施形態に係るロボットの収縮力指令値演算部の処理動作を示すフローチャートである。まず、収縮力指令値演算部152は、関節トルク指令値T1,T2をフィードフォワード補償部151から入力すると共に、不図示の上位コントローラから目標関節角度θ1,θ2、目標関節角速度ω1,ω2を入力する(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
次に、収縮力指令値演算部152は、式(12)を用いて、目標関節角度θ1,θ2、目標関節角速度ω1,ω2から係数Kfi,Keiを算出する(S111)。次に、収縮力指令値演算部152は、T1≧0であるか否かを判断する(S112)。収縮力指令値演算部152は、T1≧0であると判断した場合(S112:Yes)、T2≧0であるか否かを判断する(S113)。
Next, the contraction force command
収縮力指令値演算部152は、T2≧0であると判断した場合(S113:Yes)、式(10)に示す第1関数、及び式(11)に示す第2関数に、係数Kfi,Kei及び関節トルク指令値T1,T2を定数として代入する(S114)。即ち、収縮力指令値演算部152は、関節トルク指令値T1と関節トルク指令値T2とが同符号の場合、ステップS114の処理を実行する。
When the contraction force command
次に、収縮力指令値演算部152は、上記第1実施形態で説明した第1最小化演算処理を実行する(S115)。次に、収縮力指令値演算部152は、評価関数Jmin 1〜4及び指令値候補ufi 1〜4,uei 1〜4に対し(S116)、評価関数が最小の指令値候補を選択する、上記第1実施形態と同様の第1指令選択処理を実行する(S117)。次に、収縮力指令値演算部152は、演算した第1〜第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S118:指令値出力処理工程)。
Next, the contraction force command
また、収縮力指令値演算部152は、T2≧0ではないと判断した場合(S113:No)、式(10)に示す第1関数、及び式(11)に示す第2関数に、係数Kfi,Kei及び関節トルク指令値T1,T2を定数として代入する(S119)。即ち、収縮力指令値演算部152は、関節トルク指令値T1と関節トルク指令値T2とが同符号の場合、ステップS119の処理を実行する。
In addition, when the contraction force command
次に、収縮力指令値演算部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
また、収縮力指令値演算部152は、T1≧0ではないと判断した場合(S112:No)、T2≧0であるか否かを判断する(S123)。次に、収縮力指令値演算部152は、T2≧0であると判断した場合(S123:Yes)、Kf1’=Ke2,Ke1’=Kf2,Kf2’=Ke1,Ke2’=Kf1,T1’=T2,T2’=T1を定義する(S124)。そして、収縮力指令値演算部152は、Kfi’,Kei’,T1’,T2’を、式(10)に示す第1関数、及び式(11)に示す第2関数に代入する(S125)。
In addition, when the contraction force command
次に、収縮力指令値演算部152は、後述する、評価関数Jを最小化する指令値候補を演算する第2最小化演算処理を実行する(S126)。次に、収縮力指令値演算部152は、uf1=uf2’,ue1=ue2’,uf2=uf1’,ue2’=uf1とする(S127)。次に、収縮力指令値演算部152は、評価関数Jmin 5〜8及び指令値候補ufi 5〜8,uei 5〜8に対し(S128)、評価関数が最小の指令値候補を選択する、後述する第2指令選択処理を実行する(S129)。次に、収縮力指令値演算部152は、演算した第1〜第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S118:指令値出力処理工程)。
Next, the contraction force command
また、収縮力指令値演算部152は、T2≧0ではないと判断した場合(S123:No)、Kfi’=Kei,Kei’=Kfi,T1’=−T1,T2’=−T2を定義する(S130)。そして、収縮力指令値演算部152は、Kfi’,Kei’,T1’,T2’を、式(10)に示す第1関数、及び式(11)に示す第2関数に代入する(S131)。
When the contraction force command
次に、収縮力指令値演算部152は、上記第1実施形態で説明した第1最小化演算処理を実行する(S132)。次に、収縮力指令値演算部152は、ufi’=uei,uei’=ufiとする(S133)。次に、収縮力指令値演算部152は、評価関数Jmin 1〜4及び指令値候補ufi 1〜4,uei 1〜4に対し(S134)、評価関数が最小の指令値候補を選択する、上記第1実施形態と同様の第1指令選択処理を実行する(S135)。
Next, the contraction force command
即ち、収縮力指令値演算部152は、これらS111〜S135において、第1から第6収縮力指令値ufi,ueiを演算する指令値演算処理を実行する(指令値演算処理工程)。
That is, the contraction force command
次に、収縮力指令値演算部152は、演算した第1〜第6収縮力指令値ufi,ueiを収縮力発生部153に出力する指令値出力処理を実行する(S118:指令値出力処理工程)。
Next, the contraction force command
なお、第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 5を最小化する第1〜第6収縮力指令値からなる第5指令値候補ufi 5,uei 5を出力する(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
続いて、収縮力指令値演算部152は、図4に示す第4条件を仮定し(S144)、第6演算処理を実行し(S145)、評価関数Jmin 6を最小化する第1〜第6収縮力指令値からなる第6指令値候補ufi 6,uei 6を出力する(S146)。
Subsequently, the contraction force command
続いて、収縮力指令値演算部152は、図4に示す第5条件を仮定し(S147)、第7演算処理を実行し(S148)、評価関数Jmin 7を最小化する第1〜第6収縮力指令値からなる第7指令値候補ufi 7,uei 7を出力する(S149)。
Subsequently, contractile force command
続いて、収縮力指令値演算部152は、図4に示す第6条件を仮定し(S150)、第8演算処理を実行し(S151)、評価関数Jmin 8を最小化する第1〜第6収縮力指令値からなる第8指令値候補ufi 8,uei 8を出力する(S152)。
Subsequently, contractile force command
第5、第6、第7、第8演算処理は、それぞれ、筋トルクτ1,τ2の符号を図4の条件2、4、5、6と仮定して、評価関数Jの最小値の候補Jmin jと収縮力指令値の指令値候補ufi j、uei jを演算するサブルーチンである(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 5,uei 5のうち、第5指令値候補ue1 5,uf2 5,ue3 5は、図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
図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
次に、収縮力指令値演算部152は、ya5,yb5を演算し(S162)、xc5,yc5を演算する(S163)。次に、収縮力指令値演算部152は、yb5<ya5であるか否かを判断する(S164)。
Next, the contraction force command
収縮力指令値演算部152は、yb5<ya5である場合(S164:Yes)、yc5<yd5であるか否かを判断する(S165)。収縮力指令値演算部152は、yc5<yd5である場合(S165:Yes)、ye5,yf5を演算し(166)、uf1 5=ye5,ue2 5=yf5,uf3 5=ye5,Jmin 5=ye5を導き出す(S167:Case51)。
When y b5 <y a5 (S164: Yes), the contraction force command
また、収縮力指令値演算部152は、yc5<yd5ではない場合(S165:No)、uf1 5=yc5,ue2 5=yc5,uf3 5=yd5,Jmin 5=yd5を導き出す(S168:Case52)。
When the contraction force command
また、収縮力指令値演算部152は、yb5<ya5ではない場合(S164:No)、uf1 5=ya5,ue2 5=yb5,uf3 5=0,Jmin 5=yb5を導き出す(S169:Case53)。
When y b5 <y a5 is not satisfied (S164: No), the contraction force command
以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin 5と第5指令値候補uf1 5,ue2 5,uf3 5を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第5指令値候補を演算する第5演算処理を実行する。
As described above, the contraction force command
(2.2.2 第6演算処理の設計)
第6演算処理部における収縮力指令値の第6指令値候補ufi 6,uei 6のうち、第6指令値候補uf1 6,uf2 6,ue3 6は、図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
図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
次に、収縮力指令値演算部152は、xa6,yb6を演算し(S172)、yc6=xa6とする(S173)。次に、収縮力指令値演算部152は、ue1 6=0,ue2 6=yb6,uf3 6=yc6とする(S174)。次に、収縮力指令値演算部152は、yb6<yc6であるか否かを判断する(S175)。
Next, the contraction force command
収縮力指令値演算部152は、yb6<yc6である場合(S175:Yes)、Jmin 6=yc6を導き出し(S176:Case61)、yb6<yc6ではない場合(S175:No)、Jmin 6=yb6を導き出す(S177:Case62)。
When y b6 <y c6 (S175: Yes), the contraction force command
以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin 6と第6指令値候補ue1 6,ue2 6,uf3 6を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第5指令値候補を演算する第5演算処理を実行する。
As described above, the contraction force command
(2.2.3 第7演算処理の設計)
第7演算処理における収縮力指令値の第7指令値候補ufi 7,uei 7のうち、第7指令値候補ue1 7,ue2 7,uf3 7は、図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
図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
以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin 7と第7指令値候補uf1 7,uf2 7,ue3 7を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第7指令値候補を演算する第7演算処理を実行する。
As described above, the contraction force command
(2.2.4 第8演算処理の設計)
第8演算処理における収縮力指令値の第8指令値候補ue1 8,uf2 8,uf3 8は、図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
図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
以上、収縮力指令値演算部152は、評価関数Jの最小値Jmin 8と第8指令値候補uf1 8,ue2 8,ue3 8を演算する。つまり、収縮力指令値演算部152は、評価関数を最小化する第1〜第6収縮力指令値からなる第8指令値候補を演算する第8演算処理を実行する。
As described above, the contraction force command
(2.3 関節トルク指令値T1、T2がどちらも負数となる場合の場合分け)
上記第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,
(2.4 関節トルク指令値T1が負数となり関節トルク指令値T2が正数となる場合の場合分け)
式(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),
以上の導出では、筋の弾性力がθi=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),
(3 シミュレーション)
本節では前節で設計した制御系を用いて、シミュレーションを行う。また、評価関数Jを最小化する収縮力は、前節で示した方法により導出する。本第2実施形態では、リンク101,102の慣性モーメントI1,I2を2.5×10−3kgm2、リンク101,102の長さL1,L2を0.2m、第2リンク102の質量m2を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に増加するジャーク最小軌道とし、サンプリング周期Tsを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
図21(a)及び図21(b)に、第1、第2リンクの関節角度θ1,θ2を実線で、目標軌道θr1,θr2を破線で表し、図22に、関節トルク指令値T1を実線で、関節トルク指令値T2を破線で表す。また、図23(a)、図23(b)及び図23(c)に、実線を用いて収縮力指令値uf1,uf2,uf3を、破線を用いて収縮力指令値ue1,ue2,ue3を、それぞれ表す。さらに、図24に、係数Kfi,Keiと関節トルク指令値T1,T2の変化によって、第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の間は、関節トルク指令値T1,T2が正数となるため、収縮力指令値演算部152は第1最小化演算処理を実行して収縮力を最小化していることがわかる。また、0.11secから0.3secの間は、関節トルク指令値T1は負数となり関節トルク指令値T2は正数となるため、収縮力指令値演算部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
図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
これらのことから、演算フローを切り替えるとき、高周波成分を多く含む制御入力が発生してしまうことがわかる。制御入力に高周波成分が含まれると、ロボットの固有振動が励起されることが考えられる。しかし、この高周波成分は、収縮力の最小値は若干増加するものの、例えば零位相ローパスフィルタを用いることで低減することが可能である。 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).
UdiとUsiを用いると、式(3)は、 Using U di and U si , equation (3) becomes
しかし、上記第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
図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
(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
図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
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。 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…収縮力発生部、e1…第2人工筋肉アクチュエータ、e2…第4人工筋肉アクチュエータ、e3…第6人工筋肉アクチュエータ、f1…第1人工筋肉アクチュエータ、f2…第3人工筋肉アクチュエータ、f3…第5人工筋肉アクチュエータ
DESCRIPTION OF
Claims (4)
前記第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.
正の係数Kf1,Ke1,Kf2,Ke2,Kf3,Ke3を用いて、前記第1関数を、T1=Kf1×uf1−Ke1×ue1+Kf3×uf3−Ke3×ue3とし、前記第2関数を、T2=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:
正の係数Kf1,Ke1,Kf2,Ke2,Kf3,Ke3を用いて、前記第1関数を、T1=Kf1×uf1−Ke1×ue1+Kf3×uf3−Ke3×ue3とし、前記第2関数を、T2=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リンクに第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.
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)
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)
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 |
-
2012
- 2012-06-25 JP JP2012141598A patent/JP5943734B2/en not_active Expired - Fee Related
Patent Citations (4)
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)
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 |