Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
ROBOTICS 01PEEQW Basilio Bona DAUIN – Politecnico di Torino Control – Part 4 Other control strategies These slides are devoted to two advanced control approaches, namely Operational space control Interaction control The desired trajectory is planned in the operational (i.e., cartesian) space, specifying both the TCP position and the orientation (i,.e., the pose) The control laws are designed to operate at the joint actuation, using position, velocity and acceleration of joints this means that the inverse kinematic functions must be known, at least for the joint position, or on inverse Jacobian (when the position is approximated by some integration algorithm) for joint velocity and acceleration the algorithms are often based on numerical differentiation Basilio Bona ROBOTICS 01PEEQW - 2015/2016 3 Operational Space Control A different solution can be found, by defining the control directly in the operational space, instead in the joint space In this case the error is given by the difference from the desired cartesian pose and the measured one; it is therefore necessary to know the direct kinematic function in order to compute the achieved pose from the present joint values Now the feedback control loops do not need the kinematic inversion, but they include the coordinate transformation joint -> pose Basilio Bona ROBOTICS 01PEEQW - 2015/2016 4 Operational Space Control The operational space control algorithms are “heavy” from the computational point of view; this may impact on the sampling time choice, which cannot be too short, with the consequent degradation of the control performances Joint space control algorithms are usually able to obtain a satisfactory motion control of the robot Operational space control algorithms are necessary when the robot TCP interacts with the external environment, and/or it is necessary to control the forces/torques exchanged with the environment Basilio Bona ROBOTICS 01PEEQW - 2015/2016 5 Operational Space Control In general two general approaches are available Jacobian Inverse control Jacobian Transpose control The operational approach requires the analytical (i.e., operational or task) Jacobian In both cases, in the feedback loop the direct kinematic equation is required to transform joints into pose. q (t ) p (t ); i.e., p f (q ) If the desired pose is known, the pose error is defined as p (t ) e p (t ) p d (t ) p (t ) Basilio Bona ROBOTICS 01PEEQW - 2015/2016 6 Operational Space Control: Jacobian inverse In this scheme we assume that the error in the pose is small, so that one can apply the inverse Jacobian and obtain q (t ) J a1 q (t ) p (t ) Then the control torque is computed multiplying the joint error for a suitable gain t c (t ) K q (t ) Basilio Bona ROBOTICS 01PEEQW - 2015/2016 7 Operational Space Control: Jacobian inverse p pd + 1 a J (q ) q Gain matrix K tc ROBOT q ‒ p f (q ) Direct kinematics Basilio Bona ROBOTICS 01PEEQW - 2015/2016 8 Operational Space Control: Jacobian inverse Since the control torque is t c K q the resulting controlled system can be interpreted as a generalized elastic spring, whose elastic coefficients are given by the gain elements If the gain matrix is diagonal, the elastic elements are independent , one for every joint Basilio Bona ROBOTICS 01PEEQW - 2015/2016 9 Operational Space Control: Jacobian transpose In this scheme the pose error is not transformed into a joint error, but directly multiplied by a gain matrix The output of the previous block can be considered as an elastic force in the operational space, produced by a generalized spring, whose scope is to zero the pose error In other words the resulting force drives the TCP along a direction such that the pose error is reduced The elastic force in the operational space is now transformed into the corresponding torque to be applied to the joints, using the Jacobian transpose, as dictated by the kineto-static relations Basilio Bona ROBOTICS 01PEEQW - 2015/2016 10 Operational Space Control: Jacobian transpose p pd + Gain matrix G q T a J (q ) tc ROBOT q ‒ p f (q ) Direct kinematics Basilio Bona ROBOTICS 01PEEQW - 2015/2016 11 Operational Space Control The operational space control schemes presented above, are to be considered only as generic architectures, since their direct application do not guarantee stability or accuracy It is necessary to improve them, embedding their principles in more rigorous architectures. These are PD control with gravity compensation Inverse dynamics control Basilio Bona ROBOTICS 01PEEQW - 2015/2016 12 PD control with gravity compensation The user wants to attain a desired cartesian pose; the control objective consists in reducing to zero the pose error e p (t ) p d (t ) p (t ) This objective is achieved setting a nonlinear gravity compensation in the joint space and adding a PD linear compensator in the operational PD control term space u g (q ) J (q ) K P ( p d p ) K DJ a (q )q T a gravity compensation The system reaches an asymptotically stable system corresponding to J aT (q )K P ( p d p ) 0 Basilio Bona ROBOTICS 01PEEQW - 2015/2016 13 PD control with gravity compensation KD pd + KP + ‒ q T a J (q ) tc + ‒ + p& J a (q ) q& ROBOT q g (q ) p f (q ) Direct kinematics Jacobian transpose Basilio Bona ROBOTICS 01PEEQW - 2015/2016 14 &+ h (q , q&) = u c M (q )q& & u c B M (q& - ac ) + h r &= a c e& Basilio Bona ROBOTICS 01PEEQW - 2015/2016 15 Inverse dynamics control in operational space Basilio Bona ROBOTICS 01PEEQW - 2015/2016 16 Inverse dynamics control in operational space pd pd + KP ‒ pd + ‒ + + + T a J (q ) M (q ) + tc + q ROBOT q& h (q , q&) KD J a (q , q ) f (q ) p Direct kinematics p Basilio Bona J a (q ) ROBOTICS 01PEEQW - 2015/2016 17 General notes All operational space schemes require the Jacobian computation In singularity configurations the algorithms may get stuck and do not work Moreover, all the above schemes require a minimal representation of the orientation (three angles appearing in the definition of the analytical Jacobian) When this is not possible or not preferred, it is necessary to compute the geometrical Jacobian, that makes the stability analysis of the algorithm much more complex Basilio Bona ROBOTICS 01PEEQW - 2015/2016 18 Interaction Control Many tasks require that the TCP remains in contact with an external surface or object manipulation capabilities In these cases it is no more sufficient to control the manipulator motion; it is necessary to manage the interaction of the TCP with the environment The environment imposes constraints on paths or trajectories than can be actually followed by the TCP. A simple position control would require a perfect knowledge of the geometrical and mechanical characteristics of the environment Small motion errors could generate high contact forces, able to modify the TCP trajectory; the controller action could saturate the actuators Basilio Bona ROBOTICS 01PEEQW - 2015/2016 19 Interaction Control and Compliance The main quantity that characterizes the interaction is the TCP contact force and this becomes the controlled quantity The main idea behind the interaction control is to act on the compliance of the robot+environment system, either actively or passively The robot+environment system can be represented by an equivalent generalized spring, whose coefficient (or coefficient matrix in multidimensional case) becomes the control design objective Stiffness (or rigidity) and compliance are reciprocal terms measured by the stiffness coefficient k or its inverse 1/k Basilio Bona ROBOTICS 01PEEQW - 2015/2016 20 Passive Compliance Control The robot compliance can be altered using passive components, i.e., adding suitable devices on the robot wrist, that react to external forces in a predefined satisfactory way. A Remote Compliance Center (RCC) inserts a passive device able to apply different level of compliance between the robot and the external surface; in the case shown below the compliance is higher in the lateral direction, while in vertical direction the device is quite rigid Basilio Bona ROBOTICS 01PEEQW - 2015/2016 21 Passive vs Active Compliance Control Unfortunately these devices are of limited use, since they are not adaptable to different environments, mainly when the robot must move and at the same tine apply controlled forces/torques to the external environment Therefore active compliance control is suggested, since is more versatile, allowing an active control of the interaction forces. The price to pay for versatility is Increased control complexity Approximate knowledge of the physical characteristics of the surfaces in contact with the robot. Basilio Bona ROBOTICS 01PEEQW - 2015/2016 22 Active Compliance Control Two general strategies can be defined: indirect and direct force control Indirect Force Control: The controlled force is obtained through a motion control No force feedback loop is present Main techniques: stiffness control and impedance control Direct Force Control : In addition to a position and/or velocity loop, a force feedback loop is also present Position and force can be controlled along different directions/subspaces (hybrid control) Basilio Bona ROBOTICS 01PEEQW - 2015/2016 23 Stiffness Control – 1 dof The basic approach is presented using a one dof system; the applied force is along the horizontal direction The environment surface or the robot TCP are assumed to have a finite stiffness (i.e., some compliance) Current TCP position Undeformed Surface position Reference position The surface is slightly deformed due to the applied force The reference position is never reached Basilio Bona ROBOTICS 01PEEQW - 2015/2016 24 Stiffness Control – 1 dof The force applied by the TCP is fe ke (x x e ) where ke is stiffness coefficient of the contact surface The dynamic equation can therefore be written as mx ke (x x e ) fc Equivalent mass Control force No gravity is assumed to act on the force direction Basilio Bona ROBOTICS 01PEEQW - 2015/2016 25 Stiffness Control – 1 dof Since no gravity is present, the control algorithm can be a PD compensator, since no integrative action is required fc K P (x r x ) K D x PD gains Replacing the control force in the previous equation one obtains the controlled system dynamics equation as mx ke (x x e ) K P (x r x ) K D x mx K D x (K P ke )x ke x e K P x r With a suitable choice of the PD gains the controlled system is asymptotically stable Basilio Bona ROBOTICS 01PEEQW - 2015/2016 26 Stiffness Control – 1 dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 27 Stiffness Control – 1 dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 28 Stiffness Control – 1 dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 29 Stiffness Control – n dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 30 Stiffness Control – n dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 31 Stiffness Control – n dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 32 Stiffness Control – n dof The desired reference pose Basilio Bona ROBOTICS 01PEEQW - 2015/2016 33 Stiffness Control – n dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 34 Impedance Control This type of control is based on the design of a desired mechanical behavior of the manipulator in contact with the environment. This behavior is described by a dynamic mechanical impedance function The mechanical impedance is a second order differential equation model corresponding to a mass-spring-damper system This type of control is often used when the forces exchanged with the environment are not required to be accurate, but it is sufficient to limit them to some level, as in the case of assemblage operations Basilio Bona ROBOTICS 01PEEQW - 2015/2016 35 Impedance Control – 1 dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 36 Impedance Control – 1 dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 37 Impedance Control – n dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 38 Impedance Control – n dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 39 Impedance Control – n dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 40 Impedance Control – practical considerations Basilio Bona ROBOTICS 01PEEQW - 2015/2016 41 Indirect Force Control – Conclusions The indirect force control presented in the previous slides is obtained acting indirectly on the desired pose of the TCP through the motion control system The interaction between the environment and the TCP is directly influenced by the compliance of the environment surface and either the impedance or the compliance of the manipulator If one wants to control the contact force in a more accurate way one must specify directly the contact force Basilio Bona ROBOTICS 01PEEQW - 2015/2016 42 Direct Force Control We use this approach to set exact values of the contact force not only in equilibrium, as the previous cases, but during the entire time history The force measurements are affected by a considerable noise level and this makes unsuitable to use a PD scheme: the force derivatives will amplify the noise and make the scheme useless. The stabilizing action shall be provided by a damping of the velocity terms and this can be achieved using velocity measurements (and often also position measurements) All direct force schemes are based on an additional outer force regulation feedback loop, in addition to the usual motion loop based on inverse dynamics Basilio Bona ROBOTICS 01PEEQW - 2015/2016 43 Direct Force Control Basilio Bona ROBOTICS 01PEEQW - 2015/2016 44 Direct Force Control Basilio Bona ROBOTICS 01PEEQW - 2015/2016 45 Direct Force Control Basilio Bona ROBOTICS 01PEEQW - 2015/2016 46 Constrained Motion Manipulation tasks may be subject to or require complex contact situations between the robot and the environment Some directions in the operational space are subject to the TCP pose constraints, others are subject to the interaction force constraints It is NOT POSSIBLE to simultaneously specify POSE AND FORCE along each direction In a real case of contact interaction of the TCP with the environment, both kinematic and dynamic aspects are involved Basilio Bona ROBOTICS 01PEEQW - 2015/2016 47 Constrained Motion Kinematic constraints on the TCP motion arise due to the contact with the environment. Reaction forces/torques are produced when the TCP violates the constraints The TCP exerts also dynamic forces/torques on the environment, when environment dynamics are important, as in the case of compliance The compliance of the TCP due to the structural compliance of the robotic chain (both in links and in joints), as well as the compliance of force/torque sensors mounted on the TCP, may affect the contact force/torque values Contact surfaces may locally present a deformation due to interaction. Static and/or dynamic friction may arise when surfaces are not ideally smooth Basilio Bona ROBOTICS 01PEEQW - 2015/2016 48 Constrained Motion In most typical cases it is possible to define a local reference frame, called the constrain frame Rc with respect to which the constraints imposed by the environment are simple to describe Any axis of Rc corresponds to two degrees of freedom One associated to the linear velocity or to the linear force along the axis direction One associated to the angular velocity or the angular momentum around the axis If the environment is rigid and no friction is present, the axes of Rc decompose the operational space into Directions along which a pure position/velocity control can be applied Directions along which a pure force/torque control can be applied Basilio Bona ROBOTICS 01PEEQW - 2015/2016 49 Constraints Assuming to have fixed Rc we distinguish between natural constraints and artificial constraints Natural constraints are those determined by the task and environment geometry Along each dof there is a natural constraint in Velocity: impossibility to perform translations or rotations Force: impossibility to apply forces or torques along or around the considered axis Artificial constraints are those determined by the strategies adopted for the task execution and its specifications Along each dof there is a natural constraint in These constraints determine the reference values for the variables not subject tot the natural constraints; i.e., those that can be controlled di the robot Basilio Bona ROBOTICS 01PEEQW - 2015/2016 50 Constraints Natural and artificial constraints are always complementary, since it is not possible to assign position/velocity and force values at the same time along the same direction The constraints completely describe the task to be performed In the complete case we have six natural constraint and six artificial constraints for each dof Basilio Bona ROBOTICS 01PEEQW - 2015/2016 51 Examples Peg insertion in a cylindrical hole with desired velocity vd z x Basilio Bona ROBOTICS 01PEEQW - 2015/2016 y 52 Examples Screw motion z x Basilio Bona ROBOTICS 01PEEQW - 2015/2016 y 53 Constraints and Selection Matrices Basilio Bona ROBOTICS 01PEEQW - 2015/2016 54 Constraints and Selection Matrices Basilio Bona ROBOTICS 01PEEQW - 2015/2016 55 Constraints and Selection Matrices Basilio Bona ROBOTICS 01PEEQW - 2015/2016 56 Constraints and Selection Matrices Basilio Bona ROBOTICS 01PEEQW - 2015/2016 57 Constraints and Selection Matrices – an example Basilio Bona ROBOTICS 01PEEQW - 2015/2016 58