Robotics 2 Robot Interaction with the Environment Prof. Alessandro De Luca
Robot-environment interaction a robot (end-effector) may interact with the environment! modifying the state of the environment (e.g., pick-and-place operations)! exchanging forces (e.g., assembly or surface finishing tasks) control of free motion control of compliant motion inspection task S G peg in hole task sensors: position (encoders) and velocity (tachometers) at the joints or vision at Cartesian level sensors: as before + 6D force/torque (at robot wrist) Robotics 2 2
Robot compliance PASSIVE ACTIVE the robot end-effector is equipped with mechatronic devices that comply with generalized forces applied at the TCP = Tool Center Point (RCC = Remote Center of Compliance device) the robot is moved by a control law (electronic/computer) so as to react in a desired appropriate way to generalized forces applied (and typically measured in some way by a F/T sensor) at the TCP Robotics 2 3
Remote Center of Compliance flexible (elastic) elements RCC models of different size by ATI Robotics 2 4
RCC behavior in case of misalignment errors in assembly tasks Robotics 2 5
Effects of RCC positioning too high... too low... correct! (TCP = RCC) Robotics 2 6
Typical evolution of assembly forces angle of chamfer = inviting angle to ease the insertion, related also to the tolerances of the hole Robotics 2 7
Active compliance for contour following Robotics 2 8
Active compliance matching of mechanical parts Robotics 2 9
Tasks with environment interaction " mechanical machining " deburring, surface finishing, polishing, assembly,... " tele-manipulation " force feedback improves the performance of human operators in master-slave systems " cooperation of multi-manipulator systems " the environment includes one of more other robots with their own active dynamic behaviors " dexterous robot hands " power grasp and fine in-hand manipulation require force/motion cooperation and coordinated control of the multiple fingers " physical exploration for shape identification " force and velocity/vision sensor fusion allow 2D/3D geometric identification of unknown objects and their contour following, with applied contact forces kept under explicit control Robotics 2 10
Examples of mechanical machining Robotics 2 11
Abrasive finishing of surfaces Robotics 2 12
Abrasive finishing of surfaces video technological processes: cold forging of surfaces and hammer peening by pneumatic machine Robotics 2 13
Non-contact surface finishing video Fluid Jet technology H2020 EU project for the Factory of the Future (FoF) Pulsed Laser technology video Robotics 2 14
In all cases... " for physical interaction tasks, the desired motion specification and execution should be integrated with complementary data for the desired force # hybrid planning and control objectives " the exchanged forces/torques at the contact(s) with the environment can be explicitly set under control or simply kept limited in an indirect way Robotics 2 15
Some existing control approaches " explicit control of forces/torques only [Whitney] " used in quasi-static operations (assembly) in order to avoid deadlocks during part insertion " active stiffness (or damping) control [Paul, Shimano, Salisbury] " contact forces are handled through position (or velocity) control of the robot end-effector " robot reacts as a compressed spring (or damper) in selected/all directions " impedance control [Hogan] " a desired dynamic behavior is imposed to the robot-environment interaction, e.g., a model with forces acting on a mass-spring-damper " mimics the human arm behavior moving in an unknown environment " hybrid force-motion control [Mason] " decomposes the task space in complementary sets of directions where either force or motion is controlled, based on " a purely kinematic robot model [Raibert, Craig] " the actual dynamic model of the robot [Khatib] the most appropriate approach for fast and accurate Robotics 2 interaction tasks that we are most interested in... 16
Interaction tasks of interest interaction tasks with the environment that require " accurate following/reproduction by the robot end-effector of desired trajectories (even at high speed) defined on the surface of objects " control of forces/torques applied at the contact with environments having low (soft) or high (rigid) stiffness deburring task robot turning a crank e.g., removing extra glue from the border of a car windshield e.g., opening a door Robotics 2 17
Robotized deburring of windshields c/o ABB Excellence Center in Cecchina (Roma), 2002 Robotics 2 18
Impedance vs. Hybrid control environment model ( impedance control domain of control application) hybrid force/motion control " environment = mechanical system undergoing small but finite deformations " contact forces arise as the result of a balance of two coupled dynamic systems (robot+environment) # desired dynamic characteristics are assigned to the force/motion interaction " a rigid environment reduces the degrees of freedom of the robot when in (bi-/uni-lateral) contact " contact forces result from attempts to violate geometric constraints imposed by the environment # task space is decomposed into sets of directions where only motion or only reaction forces are feasible! the required level of knowledge about the environment geometry is only apparently different between the two control approaches! for impedance control, measuring contact forces may or may not be necessary Robotics 2 19
Impedance vs. Hybrid control " opening a door with a mobile manipulator under impedance control " piston insertion in a motor based on hybrid control of force-position (visual) video video Robotics 2 20
A typical constrained situation robot 6D F/T sensor or RCC (or both) tool wrist ù workpiece (rigid) the robot end-effector should follow in a stable and accurate way the geometric profile of a very stiff workpiece, while applying some desired contact force Robotics 2 21
An unusual compliant situation Trevelyan (AUS): Oracle robotic system in a test dated 1981 is the sheep happy? Robotics 2 22
A mixed interaction situation 1. approach 2. search 3. insertion Z-axis control X,Y-axes control processing/reasoning on force sensor measurements leads to a sequence of fine motions correct completion of the insertion task with the help of (sufficiently large) passive compliance Robotics 2 23
Ideally constrained contact situation a first possible modeling choice f y x < c f e = 0 f x m f e x = c f x! 0 x = 0 x = 0 x e = c m x = f x + f e m y = f y f e = f x ideal = robot (sketched here as a Cartesian mass) + environment are both infinitely STIFF (and without contact friction) Robotics 2 24
In more complex situations " how can we describe more complex contact situations, where the end-effector of an articulated robot (not yet reduced to a Cartesian mass via feedback linearization control) is constrained to move on an environment surface with nonlinear geometry? y (x 0,y 0 ) R x end-effector constrained on a circular surface Robotics 2 25
Constrained robot dynamics - 1 " consider a robot in free space described by its Lagrange dynamic model and a task output function (e.g., the end-effector pose) B(q) q + c(q, q ) + g(q) = u r = f(q) " suppose that the task variables are subject to M < N (bilateral) geometric constraints in the general form k(r)=0 and define h(q) =k(f(q)) = 0 " the constrained robot dynamics can be derived using again the Lagrange formalism, by defining an augmented Lagrangian as L a (q, q,") = L(q, q )+ " T h(q) = T(q, q ) - U(q)+ " T h(q) where the Lagrange multipliers! (an M-dimensional vector) can be interpreted as the generalized forces that arise at the contact when attempting to violate the constraints Robotics 2 26
Constrained robot dynamics - 2 " applying the Euler-Lagrange equations in the extended space of generalized coordinates q AND multipliers! yields d dt # % $ "L a " q & ( ' T # - "L & a % ( $ " q ' T = d #"L & % ( dt $ " q ' $ & % "L a "# ' ) ( T Robotics 2 27 T # - "L & % ( $ " q' T = h(q) = 0 - # " % " q )T h(q) $ B(q) q + c(q, q ) + g(q) = u+ A T (q)" subject to h(q) = 0 ( ) & ( ' T = u contact forces do NOT produce work where we defined the Jacobian of the constraints as the matrix A(q) = "h(q) " q that will be assumed of full row rank (= M) **
Constrained robot dynamics - 3 " we can eliminate the appearance of the multipliers as follows " differentiate the constraints twice w.r.t. time h(q) = 0 h = "h(q) q " q = A(q) q = 0 h = A(q) q + A (q) q = 0 " substitute the joint accelerations from the dynamic model ** (dropping dependencies) " solve for the multipliers the inertia-weighted pseudoinverse of the constraint Jacobian AB -1 ( u+ A T " - c - g) + A q = 0 ( ) -1 AB -1 c+ g- u " = AB -1 A T invertible M"M matrix, when A is full rank ( ) - ( A q ) = ( # A ) T B ( c+ g- u) # ( AB -1 A T ) -1 A q to be replaced in the dynamic model... constraint forces! are uniquely determined by the robot. state (q,q) and input u!! Robotics 2 28
Constrained robot dynamics - 4 " the final constrained dynamic model can be rewritten as where ( ) T c(q, " = A B # (q) [ ( ) T ] u- c(q, B(q) q = I - A T (q) A # B (q) ( q ) - g(q) ) "B(q)A # B (q) A (q) q dynamically consistent projection matrix A # B (q) =B -1 (q)a T (q)( A(q)B -1 (q)a T (q)) -1 ( q )+ g(q) - u) # A(q)B -1 (q)a T (q) and with ( ) -1 A (q) q. " if the robot state (q(0),q(0)) at time t=0 satisfies the constraints, i.e., h(q(0)) = 0 A(q(0)) q (0) = 0 then the robot evolution described by the above dynamics will be consistent with the constraints for all t!0 and for any u(t)! this is a useful simulation model (constrained direct dynamics) Robotics 2 29
Example (reprise) constrained robot dynamics y q 2 k(r)=(x-x 0 ) 2 + (y-y 0 ) 2 - R 2 =0 " r = f(q) = l cos q + l cos(q + q ) % 1 1 2 1 2 $ ' # l 1 sin q 1 + l 2 sin(q 1 + q 2 ) & q 1 l 1 l 2 (x 0,y 0 ) R " r = x % $ ' # y& x h(q) =k(f(q)) = (l 1 cos q 1 + l 2 cos(q 1 + q 2 ) - x 0 ) 2 + (l 1 sin q 1 + l 2 sin(q 1 + q 2 ) - y 0 ) 2 - R 2 = 0 h = "k "r "r q " q = [ 2(x - x 0 ) 2(y - y 0 )] J r (q) q [ ] J r (q) = 2(l 1 c 1 + l 2 c 12 - x 0 ) 2(l 1 s 1 + l 2 s 12 - y 0 ) q = A(q) q = 0 Robotics 2 30
Reduced robot dynamics - 1 " by imposing M constraints h(q)=0 on the N generalized coordinates q, it is also possible to reduce the description of the constrained robot dynamics to a N-M dimensional configuration space " start from constraint matrix A(q) and select a matrix D(q) such that (1 " A(q) % is a nonsingular " A(q) % $ ' $ ' = ( E(q) F(q) ) # D(q) & N"N matrix # D(q) & " define the (N-M)-dimensional vector of pseudo-velocities v as the linear combination (at a given q) of the robot generalized velocities v =D(q) q v =D(q) q + D (q) q " inverse relationships (from pseudo to generalized velocities and accelerations) are given by q =F(q)v q =F(q) v - ( E(q) A (q)+f(q) D (q))f(q)v properties of block products in inverse matrices have been used for eliminating the appearance of F (often F is only known numerically) Robotics 2 31
Reduced robot dynamics - 2 " consider again the dynamic model ** (dropping dependencies) B q + c + g=u+ A T " " since A E=I, multiplying on the left by E T isolates the multipliers E T ( B q + c+ g- u) = " " since A F=0, multiplying on the left by F T eliminates the multipliers ( ) F T B q =F T u- c - g " substituting in the latter the generalized accelerations and velocities with the pseudo-accelerations and pseudo-velocities leads finally to invertible (N-M)"(N-M) matrix! ( F T B F) v =F T u- c - g+b( EA +F D )F v ( ) which is the reduced (N-M)-dimensional dynamic model " similarly, the expression of the multipliers becomes ( ) " =E T BF v - B( EA +F D )Fv + c+ g- u Robotics 2 32 ( )
Reduced robot dynamics - 3 " the reduced dynamic expressions are quite complex and less used for simulation purposes than the N-dimensional constrained dynamics " however, they are useful for control design (reduced inverse dynamics) " in fact, it is straightforward to verify that the feedback linearizing control law ( ) +BFu 1 + A T u 2 u= c+ g- B( EA +F D )F v applied to the reduced robot dynamics and to the expression ( ) of the multipliers leads to the closed-loop system v =u 1 " = - u 2 Note: these are. exactly in the form found in the simple example of slide #24, with v=y, u 1 =f y /m,!=f e, u 2 =f x /m (being N=2, M=1, and N-M=1) Robotics 2 33
Example (reprise) reduced robot dynamics y k(r)=(x-x 0 ) 2 + (y-y 0 ) 2 - R 2 =0 q 2 q 1 l 1 l 2 x (x 0,y 0 ) R v = (scalar) value of end-effector velocity reduced along the tangent to the constraint " r = x % $ ' # y& robot Jacobian A(q) = [ 2(x - x 0 ) 2(y - y 0 )] J r (q) = [ 2(l 1 c 1 + l 2 c 12 - x 0 ) 2(l 1 s 1 + l 2 s 12 - y 0 )] J r (q) a feasible selection of matrix D(q) D(q) = - 1 (y - y ) 1 [ (x - x ) 2 0 2 0 ] J r (q) out of robot singularities (1 " A(q) % $ ' = ( E(q) F(q) ) q =F(q)v = J -1 R v =D(q) q # D(q) & r (q)% 2 2(x "x 0 ) ( v $ R ' a scalar! 2 Robotics 2 34 det " A(q) % $ ' = R # D(q) 2 ( det J & r (q) ) 0 # "2(y "y 0 ) &
Compliant contact situation a second possible modeling choice f y f x m f e K e x e = c m x = f x + f e m y = f y x < c f e = 0 x! c f e = K e (x - c) Robotics 2 35
Robot-environment contact types that can be modeled by a single elastic constant compliant force sensor rigid environment negligible intermediate mass K S K = K S K E rigid robot (including force sensor) compliant environment K = K E 1 K = 1 K S + 1 K E K = K S K E K S +K E series of springs = sum of compliances (inverse of stiffness) Robotics 2 36
Force control 1-dof robot-environment linear dynamic models " with a force sensor (having stiffness k s and damping b s ) measuring the contact force F c, by including/excluding work-piece compliance and/or robot (transmission) compliance " stability analysis of a proportional control loop for regulation of the contact force (to a desired constant value F d ) can be made using the root-locus method (for a varying k f ) + robot compliance + work-piece compliance F c = k s x r F = k f ( F d " F c ), k f > 0 F c = k s ( x r " x w ) F c = k s x 2 F c = k s ( x 2 " x w ) (see the paper by S. Eppinger, W.P. Seering: IEEE Control Systems Mag., 1987; available as extra material on the course web) Robotics 2 37
Tasks requiring hybrid control the robot should turn a crank having a free-spinning handle Robotics 2 38
Tasks requiring hybrid control the robot should turn a crank having a fixed handle Robotics 2 39
Tasks requiring hybrid control the robot should push a mass elastically coupled to a wall and constrained in a guide Robotics 2 40
Tasks requiring hybrid control direction of free motion control (no contact forces can be imposed) dynamic direction of control: either motion is controlled (and a contact force results) or contact force is controlled (and a motion results) K E three sets of possible directions in the task frame direction of contact force control (no motion can be imposed) generalized hybrid modeling and control for dynamic environments A. De Luca, C. Manes: IEEE Trans. Robotics and Automation, vol. 10, no. 4, 1994 Robotics 2 41