Wearable Intertace for Teleoperation of Robot Arms  WITRA
A Quick Video Showing SCARA with Impedance Control
The Purpose of an Interaction Control
There are numerous ways to control industrial robot manipulators. However, many of them fail in the sense that they do not provide surrounding objects and people with enough safety. Thus, although the goal of WITRA is to make it possible for the user to teleoperate a robot arm and, therefore, not share the same environment as the robot, we still want to guarantee that the objects on the robot’s surroundings do not get damaged by robot operation. Impedance control arises as a good option in this case, once it deals with controlling the interaction between the robot and its environment.
Background Knowledge
Impedance control consists of controlling the dynamic relationship between force and position, instead of controlling only force or position. This way, it is possible to enable the robot to behave as a secondorder system: massspringdamper. These characteristics can be modified as needed.
Impedance control was first presented by Hogan in 1985 [1] and according to his work, the robot manipulator and its environment can be modelled as a impedanceadmittance relationship, with the robot being an impedance and the environment, an admittance.

Impedance 
Admittance 
Input 
Displacement or velocity 
Forces 
Output 
Forces 
Displacement or velocities 
That is, we set a goal position for the robot and if it is off this position, it will produce on a force on what is preventing it to go to that position, namely, the environment.
Another advantage of Impedance Control is that it can be used to perform free movements as well as movements with contact between the robot and the environment. Unlike other control methods, it is not necessary to switch the controller when contact is performed and thus instabilities are avoided.
Hence, impedance control is capable of tolerating collisions without loosing stability. This is a very important characteristic in WITRA’s application field, since the environment is, in most cases, nonstructured and unpredictable (e.g.: In deepocean maintenance).
Implementation
Basically, our goal is to have the robot follow a setpoint position, as well as have a desired velocity of the TCP (Tool Center Point). We model the TCP’s balance point equations with the environment. Given that we want to control the dynamic relationship between the manipulator and the environment, the equations for spring and damper forces, are, respectively:
Where K and B are the desired spring stiffness and damping. X_{0} and V_{0} are the desired position and desired velocity, respectively, and X and V are the actual position and velocity.
The position X is related to the joint angles through the forward kinematics and, thus, is a function of the joint variables:
X = L(Ө)
where Ө is a vector joint variables. Similarly, V can be related to the joint velocities thought the Jacobian Matrix [2] (ADICIONAR REFERENCIA A JACOBIANO)
V = J(Ө) Ө’
Where Ө’ is the first derivative of Ө. Finally, the joint torques are related to the force at the TCP though
There this Jacobian matrix for this last equation is the forcetorque Jacobian.
Hence, it is possible to calculate the joint torques by knowing the values of K, B and the desired position and velocity at every instant.
Finally, the impedance behavior is shown on the next equation:
Where F_int are the interaction forces between the manipulator and the environment. These forces are measured using a sixaxis force sensor at the robot’s endeffector.
Besides that, we can show the equation that models the manipulator dynamics in terms of torque, accounting for the interaction torque (tau_int):
On the righthand side of the equation, the first term is the inertial term, the second, the torque that depends Coriolis forces, the third accounts for torques that depend on velocity, such as friction and the last term is the torque related exclusively to position, such as gravity.
The next figure shows a blockdiagram of the implementation. With this control implementation, it is possible to calculate the desired torques at the joints of the manipulator.
Positionbased Impedance Control
There are many issues which can arise from the method previously shown. One of them is that torque control can lead to instabilities of the robot, due to a few factors, among them the mechanical transmission that inputs friction factors that cannot be neglected. Other ways of implementing Impedance Control can be explored, such as the positionbased one.
On this implementation, we try to obtain an equation that calculates the new position of the manipulator based on the desired dynamic characteristics, performing a position control of the joints. The next equation deals with the displacement X_a that is used to correct the position setpoint. Using the interface force measured by the force sensor:
Furthermore, knowing the desired position X_v, the final position is calculated by
X_c = X_v – X_a
The final blockdiagram is given by:
____________________________________________________________________________________________________
Make sure you also follow our news and updates on our social channels below.
___________________________________________________________________________________________________
References
[1] HOGAN, N. Impedance control: An approach to manipulation: I, II and III. Journal of dynamic systems, measurement, and control, v. 107, n.2, p. 17, 1985
[2] Jacobian Matrix and Determinant. Available at: http://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant