Impedance Control for Barrett WAM in MATLAB Simulink
Presentation [
pdf ]
Building upon the lab's existing Simulink PID controller for the WAM, an impedance controller was developed.
Basic Theory
An impedance controller is a type of force controller. Therefore, the main goal is to design a controller that compensates for forces (and moments) exerted on the tool from the environment.
In order to represent these forces and moments a 6x1 vector called FTOOL is used. FTOOL consists of the 3 forces (X, Y, Z), followed by the 3 moments in base coordinates relative to the base frame. With an impedance controller, FTOOL is determined by calculating the Cartesian position and orientation of the tool, subtracting this from the desired position, and then multiplying by a gain. This equation written out is FTOOL=H(ERROR) where ERROR=WDESIRED-WACTUAL. The gain used is called the stiffness gain and is analogous to a spring constant. For a more rigid arm a higher gain would be used.
Now that the desired forces/moments are known, the necessary joint torques must be computed. This is computed by using the following equation which relates infinitesimal tool displacements to joint displacements: TORQUES=J^T*FTOOL. J is equal to the manipulator jacobian. These torques can then be sent out to the WAM to exert the desired torques and moments.
Current Implementation
In addition to implementing a stiffness gain, the lab’s impedance controller also uses a damping gain and performs gravity compensation. Therefore, the whole equation for the controller is TORQUES=J^T*(ERROR*H+ERROR’*L)+GRAVITYCOMP.
The current implementation works only when calculating ERROR for position (not orientation). The controller itself has support for orientation but a better method for computing orientation error must be implemented.
Seeing as this controller is designed for a 4 DOF WAM, it was decided to use a mask only allowing 4 DOF of the tool to be controlled at once. Although all 6 parameters could be specified, it might not be possible for the final position of the tool to meet all 6 parameters. Using only 4 should guarantee the tool’s final position is as expected.
Future Works
- Better Integration with the task planner
- Add support for orientation
- Add ability to change stiffness and damping gains over UDP
- Checks for singularities
External Links
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=611315&tag=1
--
ChrisJordan - 2011-01-24
Topic revision: r2 - 2011-02-14 - 14:55:28 -
ChrisJordan