Control method of robot apparatus and robot apparatus
09597798 ยท 2017-03-21
Assignee
Inventors
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A control method of a robot apparatus, the robot apparatus including a link and a pair of actuators, obtaining each driving force command value of each of the actuators, and controlling each of the actuators, the control method including: a torque command value calculation step of using the target stiffness, the target trajectory, angular velocity of the target trajectory, and angular acceleration of the target trajectory to calculate a torque command value; a determination step of determining whether each of the driving force command values is a value 0 or greater; a change step of performing at least one of a change of increasing the target stiffness and a change of reducing the angular acceleration; and a driving force command value calculation step of using the target stiffness and the torque command value to calculate each of the driving force command values.
Claims
1. A robot apparatus comprising: a link pivotally connected to a base body through a joint; a pair of actuators that generate driving forces for pulling the link in opposite directions relative to the base body to provide torque to the joint based on a difference in the driving force and to provide stiffness to the joint based on a sum of the driving force; and a control unit configured to control the pair of actuators so that the link follows a target trajectory; wherein the control unit executes calculating, based on inverse dynamics of the link, a torque command value representing a torque of the joint, and a stiffness command value representing a stiffness of the joint; calculating driving force command values representing target driving forces of the pair of actuators based on the torque command value and the stiffness command value; wherein in case at least one of the driving force command values obtained by the calculation represent a corresponding actuator pushing the link, the control unit executes at least one of increasing the target stiffness and reducing an angular acceleration of the target trajectory.
2. The robot apparatus according to claim 1, wherein the base body is a pivotable link.
3. The robot apparatus according to claim 2, further comprising two pairs of actuators configured to effect contraction forces to the link and the pivotable link to rotate in opposite directions.
4. A method for controlling a robot apparatus comprising a link pivotally connected to a base body through a joint; and a pair of actuators that generate driving forces for pulling the link in opposite directions relative to the base body to provide torque to the joint based on a difference in the driving force and to provide stiffness to the joint based on a sum of the driving force; wherein said method comprising: a calculating step, based on inverse dynamics of the link, for calculating a torque command value representing a torque of the joint, and a stiffness command value representing a stiffness of the joint; and a calculating step for calculating driving force command values representing target driving forces of the pair of actuators based on the torque command value and the stiffness command value; wherein in case at least one of the driving force command values obtained by the calculation represent a corresponding actuator pushing the link, executing at least one of increasing the target stiffness and reducing an angular acceleration of a target trajectory.
5. The method according to claim 4, wherein the base body is a pivotable link.
6. The method according to claim 5, wherein said apparatus further comprises two pairs of actuators configured to effect contraction forces to the link and the pivotable link to rotate in opposite directions.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
DESCRIPTION OF THE EMBODIMENTS
(31) Preferred Embodiments of the Present Invention will now be described in detail in accordance with the accompanying drawings.
First Embodiment
(32)
(33) (1) Modeling
(34) The artificial muscle actuator is an actuator with characteristics similar to characteristics called viscoelasticity of muscle. As illustrated in
{dot over (x)}
(35) An elastic force constant is defined as k, a viscous force constant is defined as b, and muscle contractile force is defined as F. In this case, viscoelasticity characteristics of muscle are modeled as follows.
F=ukuxbu{dot over (x)}(1)
This provides a non-linear element in which elastic force and viscous force of muscle contractile force are proportional to the contractile force u of the force generation element.
(36)
(37) Although the base body includes the base member 103 and the arm member 104 as illustrated in
(38) The actuators e.sub.1 and f.sub.1 are mono-articular muscle actuators. One end is connected to the base member 103 as the base body, and the other end is connected to a base end 101a of the link 101. The actuators e.sub.1 and f.sub.1 are antagonistically arranged to swing the link 101 based on a difference in driving force (contractile force). Therefore, the actuators e.sub.1 and f.sub.1 are symmetrically arranged on both sides of the link 101 across the link 101.
(39) The robot apparatus 100 includes a control unit 150 that sets the driving force of the actuators e.sub.1 and f.sub.1 based on driving force command values to control operation of the link 101.
(40) The actuators e.sub.1 and f.sub.1 are pneumatic artificial muscle actuators illustrated in
(41) The driving force (contractile force) of force generation elements of the antagonistically arranged actuators e.sub.1 and f.sub.1 are defined as u.sub.e1 and u.sub.f1, respectively. An angle of the link 101 relative to the arm member 104, i.e. an angle of the joint 105 is defined as , and inertia moment of the link 101 is defined as I. A moment arm diameter of the link 101, i.e. a length between a pivot center point of the link 101 and a connection point of the actuators e.sub.1 and f.sub.1 at the link 101, is defined as r. The following Formula (2) denotes an equation of motion.
I{umlaut over ()}=(u.sub.f1u.sub.e1)r(u.sub.f1+u.sub.e1)kr.sup.2(u.sub.f1+u.sub.e1)br.sup.2{dot over ()}(2)
(42) It can be recognized that a difference between the contractile force u.sub.e1 and u.sub.f1 in the first term on the right side of Formula (2) provides rotation torque to the joint 105, and a sum of the contractile force u.sub.e1 and u.sub.f1 in the second and third terms on the right side changes the stiffness and the viscosity relative to the joint 105. Therefore, the actuators e.sub.1 and f.sub.1 provide torque to the joint 105 based on the difference in the driving force and provides stiffness to the joint 105 based on the sum of the driving force.
(43) (2) Control System Design
(44) The control unit 150 executes a torque command value calculation step 151, a determination step 152, a change step 153 and a driving force command value calculation step 155. An object of the present first embodiment is to provide feedforward control input for the execution of the driving force command value calculation step 155 of calculating the driving force command values u.sub.e1 and u.sub.f1 to thereby cause the angle of the joint 105 to follow a target trajectory and to control the stiffness of the joint 105 at the same time. The target trajectory of the joint 105 is defined as r.sub.a, and the target stiffness is defined as r.sub.s. The control unit 150 calculates the driving force command values u.sub.e1 and u.sub.f1 of the actuators e.sub.1 and f.sub.1 necessary to cause the stiffness of the joint 105 to coincide with the target stiffness r.sub.s and to cause the angle of the joint 105 to follow the target trajectory r.sub.a. The control unit 150 controls the actuators e.sub.1 and f.sub.1 to cause the driving force generated in the actuators e.sub.1 and f.sub.1 to be equal to the driving force command values u.sub.e1 and u.sub.f1.
(45) (2.1) Feedforward Control System Design
(46) In this section, a delivery method of the feedforward input provided to the actuators e.sub.1 and f.sub.1 will be described. As described below, the difference between the driving force command values u.sub.e1 and u.sub.f1 multiplied by the moment arm diameter r is defined as T.sub.1, and the joint stiffness command value indicating the sum (total value) of the driving force command values u.sub.e1 and u.sub.f1 is defined as U.sub.1.
(U.sub.f1u.sub.e1)rT.sub.1(3)
u.sub.f1+u.sub.e1=U.sub.1(4)
(47) Based on this, Formula (2) is expressed as follows.
I{umlaut over ()}=T.sub.1U.sub.1kr.sup.2U.sub.1br.sup.2{dot over ()}(5)
(48) It can be recognized that T.sub.1 provides torque to the joint 105 and that U.sub.1 increases or decreases the stiffness and the viscosity relative to the joint 105. Since the target stiffness of the joint 105 is r.sub.s, U.sub.1 is determined as follows.
U.sub.1=r.sub.s/kr.sup.2(6)
(49) Angular velocity and angular acceleration of the target trajectory r.sub.a are expressed by
{dot over (r)}.sub.a,{umlaut over (r)}.sub.a
(50) or r.sub.a and r.sub.a, respectively.
(51) The feedforward torque (torque command value) T.sub.1 for causing the angle of the joint 105 to follow the target trajectory r.sub.a is obtained by the following Formula (7) based on inverse dynamics of the link 101.
T.sub.1+I{umlaut over (r)}.sub.a+U.sub.1kr.sup.2r.sub.a+U.sub.1br.sup.2{dot over (r)}.sub.a(7)
(52) Therefore, to calculate driving force command values that simultaneously satisfy the torque command value T.sub.1 and the joint stiffness command value U.sub.1 as the sum of the driving force command values, Formulas (3) and (4) are solved for u.sub.e1 and u.sub.f1 to determine as follows.
(53)
(54) However, since the artificial muscle actuators e.sub.1 and f.sub.1 generate force only in the contraction direction, the following conditions need to be simultaneously satisfied.
u.sub.f1>0,u.sub.e1>0(9)
(55) Based on Formulas (8) and (9), the following conditions can be obtained.
T.sub.1/r<U.sub.1,T.sub.1/r>U.sub.1(10)
(56) Therefore, the torque command value T.sub.1 needs to satisfy the following condition.
|T.sub.1|<U.sub.1r(11)
(57)
(58) In the determination step 152, the control unit 150 determines whether the driving force command values obtained using the torque command value T.sub.1 and the target stiffness r.sub.s calculated in the torque command value calculation step 151 can be values 0 or greater (determination step). More specifically, the control unit 150 determines whether Formula (11) is satisfied as a condition for satisfying Formula (9).
(59) In the driving force command value calculation step 155, if the control unit 150 determines that the driving force command values can be values 0 or greater in the determination step 152, the control unit 150 uses the target stiffness r.sub.s and the torque command value T.sub.1 to calculate the driving force command values u.sub.e1 and u.sub.f1 (driving force command value calculation step).
(60) More specifically, if the control unit 150 determines that Formula (11) is satisfied, the control unit 150 obtains the feedforward input for the actuators e.sub.1 and f.sub.1, i.e. the driving force command values u.sub.e1 and u.sub.f1, based on Formula (8). As a result, the stiffness of the joint 105 coincides with the target stiffness r.sub.s. At the same time, torque corresponding to the torque command value T.sub.1 is applied to the joint 105, and the angle of the joint 105 follows the target trajectory r.sub.a.
(61) In the change process 153, if the control unit 150 determines that at least one of the driving force command values can be a negative value in the determination step 152, the control unit 150 performs at least one of a change of increasing the target stiffness r.sub.s and a change of reducing the angular acceleration r.sub.a of the target trajectory (change step). After the execution of the change process 153, the control unit 150 returns to the execution of the torque command value calculation step 151 (change step).
(62) More specifically, if the condition of Formula (11) is not satisfied, the control unit 150 performs a change of reducing the maximum value of the angular acceleration r.sub.a of the target trajectory or increasing the target stiffness r.sub.s of the joint 105 to deliver the torque command value T.sub.1 and check Formula (11) again.
(63) In
(64) A block of the change process 153 indicated by Correction is a block for delivering the torque command value T.sub.1 again. A process executed by the Correction block is illustrated in a flow chart of
(65) The control unit 150 first stops the generation of the feedforward input (S1) and determines whether the target trajectory r.sub.a can be changed (S2). An amount of change of the joint stiffness command value U.sub.1 is defined as .sub.U, and an amount of change of the angular acceleration r.sub.a of the target trajectory is defined as .sub.a.
(66) If the control unit 150 determines that the target trajectory r.sub.a can be changed (S2: Yes), the control unit 150 subtracts the amount of change .sub.a from the angular acceleration r.sub.a to change the angular acceleration r.sub.a (S4). The control unit 150 regenerates the target trajectory r.sub.a based on the change in the angular acceleration r.sub.a (S5). The control unit 150 recalculates the feedforward input (S6).
(67) If the control unit 150 determines that the target trajectory r.sub.a cannot be changed (S2: No), the control unit 150 increases the amount of change from the joint stiffness command value U.sub.1 to change the joint stiffness command value U.sub.1 (S7). The control unit 150 recalculates the feedforward input (S6).
(68) If the amount of change .sub.U or .sub.a is set to a large value, such as 0.5U.sub.1 and 0.5r.sub.a, the delivery of the feedforward input illustrated in Formula (7) and the process illustrated in
(69) Although the joint stiffness command value U.sub.1, i.e. one of the target stiffness r.sub.s and the angular acceleration r.sub.a, is changed in the present first embodiment, both may also be changed.
(70) In the delivery described above, it is assumed that the elastic force of muscle is generated in proportion to the angle from =0 deg. To generate the feedforward control input with an arbitrary angle as a reference angle (hereinafter, neutral angle) of the generation of the elastic force of muscle, the following formula can be used in place of Formula (7), wherein .sub.c denotes the neutral angle.
T.sub.1=I{umlaut over (r)}.sub.a+U.sub.1kr.sup.2(r.sub.a.sub.c)U.sub.1br.sup.2{dot over (r)}.sub.a(12)
(71) (2.2) Trajectory Design
(72) A design method of the target trajectory r.sub.a and the target stiffness r.sub.s of the joint 105 will be illustrated. In the present first embodiment, a trajectory including an acceleration section, a constant velocity section, and a deceleration section as illustrated in
(73) Although the trajectory including the acceleration section, the constant velocity section and the deceleration section is used in the present first embodiment, a trajectory without the constant velocity section, such as a minimum jerk trajectory, may also be used. Besides, the target stiffness may be constant if the efficiency of drive is not taken into account.
(74) (3) Simulation
(75) A simulation using the control system of the previous section is performed. The inertia moment of the link 101 is defined by I=8.310.sup.2 kgm.sup.2, and the moment arm diameter is defined by r=0.1 m. The elastic force and viscous force constants are defined by k=25 and b=3. As for the target trajectory r.sub.a, the initial angle is defined by r.sub.aS=20 deg, the target angle is defined by r.sub.aF=20 deg, the start time of the constant velocity section is defined by t.sub.a=0.4 sec, the end time of the constant velocity section is defined by t.sub.b=0.6 sec, and the positioning end time is defined by t.sub.fin=1 sec. The target stiffness of the joint is defined by r.sub.smax=2.3kr.sup.2 Nm/rad and r.sub.smin=0.8kr.sup.2 Nm/rad. Since k and r are constants, the sum U.sub.1 of the contractile force can be controlled so that U.sub.1 equals to 2.3 at the acceleration and deceleration sections and U.sub.1 equals to 0.8 at the constant velocity section. Here, U.sub.1 is designed to satisfy the condition illustrated in Formula (11) in the flow illustrated in
(76)
(77) It can be recognized from
(78) In
Second Embodiment
(79) A robot apparatus according to a second embodiment of the present invention will be described. In the present second embodiment, control operation by a control unit is different from the control operation by the control unit of the first embodiment. In the configuration of the main body of the robot apparatus, components with similar configurations as those of the main body of the robot apparatus of
(80) The present second embodiment delivers a two-degree-of-freedom control system merging the feedforward control system illustrated in the first embodiment and a feedback control system. As with the feedforward control system, the feedback control system is delivered to allow simultaneous control of the following of the target trajectory and the joint stiffness. With only the feedforward control system, the control performance is reduced if there is an identification error in a parameter such as the inertia moment of the link 101. However, it will be illustrated that the configuration of the two-degree-of-freedom control system with the feedback control system allows simultaneous control of the following of the target trajectory and the joint angle, even if there is a model error.
(81) (1) Modeling
(82) A model used in the present second embodiment is the same as that of the first embodiment.
(83) (2) Control System Design
(84) The delivery of the feedforward control system is similar to that of the first embodiment. The joint torque delivered by Formula (7) is described as I.sub.FFW1 in the present second embodiment.
(85)
(86) Other than the feedforward control system K.sub.FFW1, the control unit 150A has a function of executing a PID control step K.sub.PID1 as a corrected torque command value calculation step 154 which is the feedback control system. In the PID control step K.sub.PID1, the control unit 150A calculates control input torque T.sub.FB1 as a corrected torque command value for compensating the difference between the angle and the target trajectory r.sub.a of the joint 105 (corrected torque command value calculation step).
(87) Based on Formula (2), if the driving force command values u.sub.e1 and u.sub.f1 are determined to satisfy
(u.sub.f1u.sub.e1)r=T.sub.FFW1+T.sub.FB1+T.sub.1(13),
T.sub.1 as a sum of the feedforward control torque T.sub.FFW1 and the feedback control torque T.sub.FB1 can be provided to the joint 105. The torque command value T.sub.1 denotes a computation result obtained by adding the control input torque T.sub.FB1 calculated in the PID control step K.sub.PID1 to the torque command value T.sub.FFW1 calculated in the torque command value calculation step 151 (see
(88) Therefore, in the present second embodiment, the torque command value T.sub.1 is used as a torque command value used to calculate the driving force command values in the execution of the driving force command value calculation step 155.
(89) As in the first embodiment, the driving force command values u.sub.e1 and u.sub.f1 need to be determined to simultaneously satisfy the following conditions related to the stiffness of the joint 105.
U.sub.1=u.sub.f1+u.sub.e1=r.sub.s/kr.sup.2(14)
(90) To simultaneously satisfy the torque command value T.sub.1 and the joint stiffness command value U.sub.1, Formulas (13) and (14) can be solved for the driving force command values u.sub.e1 and u.sub.f1 to determine as follows.
(91)
(92) However, the artificial muscle actuators e.sub.1 and f.sub.1 generate force only in the contraction direction. Therefore, as in the first embodiment, T.sub.1 needs to satisfy the following condition.
U.sub.1r<T.sub.1<U.sub.1r(16)
(93) As a result, the stiffness of the joint 105 coincides with the target stiffness r.sub.s, and at the same time, the joint 105 is positioned at the target angle r.sub.a based on the torque command value T.sub.1. As illustrated in the block diagram of
|T.sub.1|<U.sub.1r(17)
(94) Alternatively, there is a method of changing the gain of the PID control step K.sub.PID1 to set the size of the control input within the range of Formula (16).
(95) However, if the gain of the feedback control system is high, the stiffness of the joint 105 becomes dominant.
(96) Therefore, as illustrated in
(97) In the present second embodiment, a transfer function used in the PID control step K.sub.PID1 is as follows.
(98)
(99) (3) Simulation
(100) The control system delivered in the previous section is used to perform a simulation. It is assumed that the parameters of the link 101 and the target trajectory r.sub.a are similar to those of the first embodiment. In the present second embodiment, to verify the identification error of the model, the inertia moment of the link 101 is set to I=1.05I, and a model with an error relative to the model at the generation of the feedforward input is used for the simulation.
(101)
(102) It can be recognized from
Third Embodiment
(103) A robot apparatus according to a third embodiment of the present invention will be described in detail.
(104) (1) Modeling
(105) The robot apparatus 200 illustrated in
(106) The first link 201 is made of a longitudinal member, and a base end 201a of the first link 201 is pivotally supported by the pulley 203 in a plane of an x-y rectangular coordinate system (hereinafter, called work plane). The second link 202 is made of a longitudinal member, and a base end 202a of the second link 202 is pivotally supported by a tip 201b of the first link 201 in the work plane.
(107) A tip (hereinafter, called link tip) 202b of the second link 202 includes an end effector (for example, hand) not illustrated. More specifically, the first link 201 is arranged between the first joint 211 and the second joint 212 and is pivotally supported by the first joint 211. The second link 202 is pivotally supported by the second joint 212.
(108) In the present second embodiment, the pulley 203 serves as the base body of the first link 201, and the first link 201 serves as the base body of the second link 202. The pulley 203 is arranged on, for example, the robot body.
(109) The robot apparatus 200 includes a pair of first actuators e.sub.1 and f.sub.1, a pair of second actuators e.sub.2 and f.sub.2, and a pair of third actuators e.sub.3 and f.sub.3. One end of each of the first actuators e.sub.1 and f.sub.1 is connected to the pulley 203, and the other end is connected to a center section in the longitudinal direction of the first link 201. The first actuators e.sub.1 and f.sub.1 are antagonistically arranged so that the first link 201 pivots based on the difference in the driving force.
(110) One end of each of the second actuators e.sub.2 and f.sub.2 is connected to the center section in the longitudinal direction of the first link 201, and the other end is connected to the base end 202a of the second link 202. The second actuators e.sub.2 and f.sub.2 are antagonistically arranged so that the second link 202 pivots based on the difference in the driving force. One end of each of the third actuators e.sub.3 and f.sub.3 is connected to the pulley 203, and the other end is connected to the base end 202a of the second link 202. The third actuators e.sub.3 and f.sub.3 are antagonistically arranged so that the first link 201 and the second link 202 pivot based on the difference in the driving force. More specifically, the first actuators e.sub.1 and f.sub.1 are symmetrically arranged on both sides of the first link 201 across the first link 201. The second actuators e.sub.2 and f.sub.2 are symmetrically arranged on both sides of the first link 201 across the first link 201. The third actuators e.sub.3 and f.sub.3 are symmetrically arranged on both sides of the first link 201 across the first link 201.
(111) The robot apparatus 200 further includes a control unit 250 that sets the driving force of the actuators e.sub.1, f.sub.1, e.sub.2, f.sub.2, e.sub.3 and f.sub.3 based on driving force command values to control the operations of the links 201 and 202.
(112) The first actuators e.sub.1 and f.sub.1 are first mono-articular drive actuators that drive the first link 201. The second actuators e.sub.2 and f.sub.2 are second mono-articular drive actuators that drive the second link 202. The third actuators e.sub.3 and f.sub.3 are bi-articular simultaneous drive actuators that simultaneously drive the first link 201 and the second link 202. Upper arms and thighs of humans are known to include bi-articular simultaneous drive actuators called bi-articular muscles. However the muscle arrangement of the extremities of humans is complicated, an effective muscle concept is introduced, and a two-link model with six muscles (three pairs) is presented.
(113) The actuators e.sub.1, f.sub.1, e.sub.2, f.sub.2, e.sub.3 and f.sub.3 are artificial muscle actuators with viscoelasticity characteristics of muscle illustrated in
(114) For the actuators e.sub.1, f.sub.1, e.sub.2, f.sub.2, e.sub.3 and f.sub.3 of FIG. 9, u.sub.en and u.sub.fn (n=1, 2, 3) are driving force command values for generating the driving force of the force generation elements. Furthermore, k.sub.en, k.sub.fn, b.sub.en and b.sub.fn (n=1, 2, 3) are elastic force constants and viscous force constants of the artificial muscle actuators. Angles of the first and second links 201 and 202, i.e. angles of the joints, are defined as .sub.1 and .sub.2. Inertia moments of the first and second links 201 and 202 are defined as I.sub.1 and I.sub.2. Lengths of the first and second links 201 and 202 are defined as 21.sub.1 and 21.sub.2. Mass of the first and second links 201 and 202 is defined as m.sub.1 and m.sub.2.
(115) A length of the moment arm diameter, i.e. a length between the pivot center point of the first link 201 and the connection point of the actuators e.sub.1 and f.sub.1 at the pulley 203 and a length between the pivot center point of the second link 202 and the connection point of the actuators e.sub.2 and f.sub.2 at the second link 202, is defined as r.
(116) When the elastic force constants and the viscous force constants of the muscles are defined as k and b in the present third embodiment, equations of motion are as in the following Formulas (19) and (20).
(117)
(118) (2) Control System Design
(119) The angle and the stiffness of the joint are simultaneously controlled in the first and second embodiments, and the angle and the stiffness of the joint are also simultaneously controlled using a two-degree-of-freedom control system in the present third embodiment. However, since the hand directly comes in contact with the outside world in the two-link manipulator, the control of the stiffness of the hand is important. The stiffness of the hand is expressed by a stiffness ellipse as illustrated in
(120)
(121) (2.1) Feedforward Control System
(122) When the difference in the contractile force is defined as T.sub.n and the sum is defined as U.sub.n as in the first embodiment, the following can be formed.
(u.sub.fnu.sub.en)r=T.sub.FFWn+T.sub.FBn=T.sub.n,n=1,2,3(21)
u.sub.fn+u.sub.en=U.sub.n,n=1,2,3(22)
(123) Here, T.sub.FFWn and T.sub.FBn denote torque command values provided by the feedforward control system and the feedback control system, respectively. In this section, T.sub.FBn=0 is set to illustrate a delivery method of the feedforward control input.
(124) When Formulas (19) and (20) are defined by .sub.v=[.sub.1 .sub.2].sup.T and T.sub.v=[T.sub.1+T.sub.3 T.sub.2+T.sub.3].sup.T to write matrices, the following is formed.
M.sub.m(.sub.v){umlaut over ()}.sub.v+C.sub.m(.sub.v,{dot over ()}.sub.v){dot over ()}.sub.v=K.sub.v(.sub.v.sub.cv)C.sub.v{dot over ()}.sub.v+T.sub.v(23)
Here, K.sub.v and C.sub.v denote a stiffness matrix and a damping matrix based on the viscoelasticity of muscle, respectively, and are expressed as follows.
(125)
(126) Furthermore, .sub.cv denotes a vector including neutral posture angles .sub.c1 and .sub.c2 based on the elastic force of muscle when the joint torque T.sub.1 and T.sub.2 do not act and is expressed as follows.
.sub.cv=[.sub.c1.sub.c2].sup.T(25)
(127) The bi-articular simultaneous drive actuators can provide a difference between the driving force command values u.sub.e3 and u.sub.f3 to provide torque to the joint, as with the mono-articular drive actuators. However, the control of one link by a plurality of feedback control systems is redundant, and the design of the feedback control systems becomes complicated. Therefore, the bi-articular simultaneous drive actuators e.sub.3 and f.sub.3 are used to provide stiffness to the joint in the present third embodiment, and the difference T.sub.3 in the contractile force u.sub.e3 and u.sub.f3 is set to T.sub.3=0 (Formula (26)). As a result, it can be recognized that T.sub.1 and T.sub.2 provide torque to the joint and that U.sub.1, U.sub.2 and U.sub.3 increase or decrease the stiffness and the viscosity relative to the joint. In the present third embodiment, the stiffness ellipse of the hand is taken into account to determine U.sub.1, U.sub.2 and U.sub.3, and the details will be illustrated in a section 2.3.
(128) The control unit 250 executes a torque command value calculation step 251, a determination step 252, a change process 253, a corrected torque command value calculation step 254 and a driving force command value calculation step 255. In the present third embodiment, the control unit 250 calculates the driving force command values u.sub.en and u.sub.fn of the actuators e.sub.n and e.sub.f necessary for the stiffness of the joints 211 and 212 to be equal to the target stiffness and for the angles of the joints 211 and 212 to follow the target trajectory. The control unit 250 controls the actuators e.sub.n and f.sub.n so that the driving force generated in the actuators e.sub.n and f.sub.n coincides with the driving force command values u.sub.en and u.sub.fn.
(129) The target trajectory relative to the joint angle .sub.n (n=1, 2) is defined as r.sub.an (n=1, 2) to define as follows.
r.sub.av=[r.sub.a1r.sub.a2].sup.T(27)
(130) The angular velocity and the angular acceleration of the target trajectory are expressed as follows, respectively.
{dot over (r)}.sub.av,{umlaut over (r)}.sub.av
(131) The feedforward input T.sub.FFW=[T.sub.FFW1 T.sub.FFW2] for the joint angle to follow the target trajectory is obtained as follows based on inverse dynamics.
T.sub.FFW=M.sub.m(r.sub.av){umlaut over (r)}.sub.av+C.sub.m(r.sub.av,{dot over (r)}.sub.av){dot over (r)}.sub.av+K.sub.v(r.sub.av.sub.cv)+C.sub.v{dot over (r)}.sub.av(28)
(132) As in the first embodiment, the satisfaction of the following condition indicating that the force is generated only in the contraction direction is checked.
|T.sub.FFWn|<U.sub.nr,n=1,2(29)
(133) (2.2) Two-Degree-of-Freedom Control System
(134) PID control steps K.sub.PID1 and K.sub.PID2 as the corrected torque command value calculation step 254 in the feedback control system illustrated in
(135) As in the second embodiment, the control input T.sub.n (n=1, 2) is restricted as follows.
|T.sub.n|<U.sub.nr,n=1,2(30)
(136) The contractive force u.sub.fn and u.sub.en (n=1, 2) is expressed as follows.
(137)
(138) Since T.sub.3=0, the contractile force u.sub.e3 and u.sub.f3 is expressed as follows as illustrated in the block diagram of
u.sub.f3=u.sub.e3=U.sub.3/2(32)
(139)
(140) In the determination step 252, the control unit 250 determines whether the driving force command values u.sub.en and u.sub.fn obtained using the torque command value I.sub.FFW calculated in the torque command value calculation step 251 and the target stiffness can be values 0 or greater (determination step).
(141) A case of performing only the feedforward control by setting T.sub.FBn=0 will be described. More specifically, T.sub.n=T.sub.FFWn.
(142) In the driving force command value calculation step 255 (
(143) More specifically, if the control unit 250 determines that Formula (29) is satisfied, the control unit 250 calculates the driving force command values u.sub.en and u.sub.fn by Formula (31). As a result, the stiffness of the joints 211 and 212 coincides with target stiffness. At the same time, torque corresponding to the torque command values T.sub.1 and T.sub.2 is applied to the joints 211 and 212, and the angles .sub.1 and .sub.2 of the joints 211 and 212 follow the target trajectory.
(144) In the change process 253, if the control unit 250 determines that at least one of the driving force command values can be a negative value in the determination step 252, the control unit 250 performs at least one of a change of increasing the target stiffness and a change of reducing the angular acceleration of the target trajectory (change step). After the execution of the change process 253, the control unit 250 returns to the execution of the torque command value calculation step 251 (change step).
(145) More specifically, if the condition of Formula (29) is not satisfied, the control unit 250 uses, as in the first embodiment, the flow chart illustrated in
{umlaut over (r)}.sub.a1,{umlaut over (r)}.sub.a2
(146) When the feedback control is also performed along with the feedforward control, the control unit 250 executes the PID control steps K.sub.PID1 and K.sub.PID2 (corrected torque command value calculation step).
(147) For the torque command value T.sub.n, the control unit 250 uses a result obtained by adding the control input torque T.sub.FBn to the feedforward input T.sub.FFWn. More specifically, the control unit 250 performs the computation of Formula (21). In that case, as in the second embodiment, the control unit 250 restricts the restriction process 256 by Formula (30) to obtain the contractile force u.sub.fn and u.sub.en.
(148) (2.3) Hand Stiffness Control
(149) In the one-link manipulator of the first embodiment, the stiffness of the joint and the stiffness of the hand are the same. In the two-link manipulator with six muscles (three pairs), the stiffness of the hand is obtained by controlling the joint stiffness command values U.sub.1, U.sub.2 and U.sub.3 as sums of the contractile force. For example, if the joint stiffness command values U.sub.1, U.sub.2 and U.sub.3 are controlled by
U.sub.1=U.sub.2=U.sub.3(33),
(150) it is known that the major axis of the stiffness ellipse faces the direction connecting the first joint 211 and the hand. In the present third embodiment, the joint stiffness command values U.sub.1, U.sub.2 and U.sub.3 are newly obtained so that the major and minor axes of the stiffness ellipse of the hand are parallel to the x-y axis.
(151) Minute displacements of the link tips caused by minute external force F.sub.x and F.sub.y parallel to the x-y axis are defined as x.sub.t and y.sub.x. Minute rotation angles of the links caused by the minute external force F.sub.x and F.sub.y are defined as .sub.1 and .sub.2. When there is minute rotation, the actuators with the viscoelasticity of the muscle generate minute torque T.sub.p1 and T.sub.p2 on the links by the elastic force of the muscle, and the following formulas can be formed.
T.sub.p1={U.sub.1.sub.1+U.sub.3(.sub.1+.sub.2)}kr.sup.2(34)
T.sub.p2={U.sub.2.sub.2+U.sub.3(.sub.1+.sub.2)}kr.sup.2(35)
(152) This is written in a matrix, and the relationship between the minute angle and the torque can be formed as follows using the stiffness matrix K.sub.v used in the section 2.1.
(153)
(154) A Jacobian matrix J is introduced here.
(155)
(156) Consequently, a relationship between the minute hand displacement and the minute external force can be expressed by a compliance matrix J.sub.s.
(157)
(158) Since an inverse matrix of the compliance matrix indicates the stiffness, the condition that the stiffness ellipse is parallel to the x-y axis is as follows.
J.sub.s(1,2)=J.sub.s(2,1)=0(39)
This equation is solved for the sum U.sub.3 of the contractile force to obtain the following.
(159)
(160) (2.4) Trajectory Design
(161) In the present third embodiment, the target trajectory is set so that the hand of the manipulator is driven parallel to the x axis as illustrated by a solid line of
(162) As illustrated by a dashed line in
U.sub.1max=3,U.sub.2max=1.71,U.sub.1min=1,U.sub.2min=0.57(41)
(163) Although the trajectory including the acceleration section, the constant velocity section and the deceleration section is used in the present third embodiment, a trajectory, such as a minimum jerk trajectory, that does not include the constant velocity section may also be used. Besides, the target stiffness may be constant if the efficiency of the drive is not taken into account.
(164) (3) Simulation
(165) A simulation using the control system of the previous section is performed. The physical parameters of the first link 201 and the second link 202 are the same. The link length is 0.2 m, the inertia moment of the link is I.sub.1=I.sub.2=1.310.sup.3 kgm.sup.2, the moment arm diameter is 0.05 m, and the elastic force and viscous force constants are k=12 and b=0.003. For the target trajectory, the start time of the constant velocity section is t.sub.a=0.2747 sec, the end time of the constant velocity section is t.sub.b=0.4746 sec, and the positioning end time is t.sub.fin=0.75 sec. The neutral posture angles .sub.c1 and .sub.c2 based on the elastic force when the joint torque T.sub.1 and T.sub.2 does not act are joint angles at the halfway point of the hand trajectory, which are .sub.c1=29.7 deg and .sub.c2=120.7 deg. The sums U.sub.1, U.sub.2 and U.sub.3 of the contractile force of the artificial muscle actuators are controlled so that the stiffness ellipse of the hand is horizontal to the x-y axis. As in the second embodiment, the inertia moments are defined as I.sub.1 and I.sub.2 in the generation of the feedforward input to verify the identification error of the model in the two-degree-of-freedom control system in the present third embodiment. In the simulation, the inertia moments of the links are I.sub.1=1.1I1 and I.sub.2=1.1I2.
(166)
(167) It can be recognized from
(168) In
(169) Since the stiffness of each antagonistic pair is controlled at the target value, it can be recognized that the stiffness ellipse of the hand is controlled to be parallel with the x-y axis in the target trajectory. According to the two-degree-of-freedom control system of the present third embodiment, it can be recognized that the stiffness of the hand can be controlled by the elasticity of six muscles (three pairs) while realizing the following of the target trajectory, even if there is an identification error in the model.
(170) The present invention is not limited to the embodiments described above, and a person with an ordinary skill in the field can make many modifications within the technical scope of the present invention.
(171) While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
(172) This application claims the benefit of Japanese Patent Application No. 2012-028613, filed Feb. 13, 2012, which is hereby incorporated by reference herein in its entirety.