Current Control for Light-Weight Robots
Like in most of AC servo drive systems the cascade control structure is adapted in the LWR in which the current control is the most inner loop. To achieve high performance in torque and position loop the current loop is important, because the bandwidth of the outer loop depends directly on the bandwidth of the current loop. It must have the widest bandwidth in the system and zero or nearly zero steady-state error. The outer loop is realised on a floating point DSP and the current loop works on a fixed point motion control DSP.
A high-performance AC servo drive demands a cycle time of current control lower than 40µs. The permanent magnet synchronous motors of LWR are designed with low inertia and very low leakage inductance to make a fast current response possible. This implies that the switching frequency of the PWM inverter has to be in a range from 20kHz to 40kHz. The used switching frequency of the LWR is 20kHz. To meet the high demands on current control we use double update mode of the PWM generator that means that the maximum time for the whole current control cycle is only 25µs.
The well adapted PI current controller is designed to achieve high motor performance in such a way that the bandwidth of the current controller is larger than the bandwidth of a traditional one, although the proportional gain is within the limits of a traditional PI controller. With this optimal current controller the step response can reach its reference value within 250µs.
The last member of the current controller is the Space-Vector PWM modulator. It includes a six-step over-modulation mode to be able to generate the switching sequence by which the highest fundamental output voltage can yield to extend the speed range of the joint.
Modeling and identification
Advanced control structures have first been developed and verified on the basis of LWR II. In particular a flexible-joint model is assumed. Fast and reliable methods for the identification of the joint model parameters (joint stiffness, damping, and friction) were developed, while the rigid body parameters are directly generated from the mechanical CAD programs. This leads to an accurate simulation of the robot dynamics, so that the controller structures can be developed and tested directly in the simulation.The same (automatic) identification methods are used also for LWR III.
Available sensors in each joint:
- Motor position
- Link side torque
- Link side position
(see figure above):
- Current (torque) controller (25 ms cycle) – the motor is regarded as an ideal torque source in the specified operating range – motor torque is the interface (commanded value) for the controllers below.
- Joint level control
- local joint level control (340 ms cycle)is implemented on the DSP boards in each joint. Data are exchanged with the central computer (VxWorks) with 1ms rate using the SERCOS bus. The following controllers are available:
- Position controller
- Torque controller
- State feedback controller – this controller uses the motor position, the torque as well as their derivatives as states. It has variable feedback and feed-forward gains, which are commanded from the central computer over the SERCOS bus.
It can be parameterized to implement position, torque or impedance control.
Gains are changed also according to the variation of the manipulator mass matrix.
Actually, the above two controllers represent fixed parameterizations of the state feedback controller.
- central joint level contol (1ms). Joint level control is implemented alternatively also on the central computer. The DSP-board is then simply used as a torque interface. Advanced control methods, needing the complete robot model can be implemented here easier.
- Cartesian control (1ms) – is computed on the central computer. The following controllers are available:
- Impedance control
- Admittance control
- Stiffness Control
- Position Control
- Force/Torque Control
Forward kinematics is also computed in this cycle
- Computation of robot dynamics (5ms). Within this cycle, also inverse kinematics or the variable control gains are computed.
The first stage in the controller development was a joint state feedback controller with compensation of gravity and friction. The state vector contains the motor position, the joint torques, as well as their derivatives. By the appropriate parameterization of the feedback gains, the controller structure can be used to implement position, torque or impedance control. In the last case, the gains of the controller are computed in every Cartesian cycle, based on the desired joint stiffness and damping, as well as depending on the actual value of the inertia matrix. Hence, this controller structure fulfils the following functionalities:
- It provides active vibration damping of the flexible joint structure;
- It maximizes the bandwidth of the joint control, for the given instantaneous values of the inertia matrix;
- It implements variable joint stiffness and damping.
Based on this joint control structure, three different strategies for implementing Cartesian compliant motion have been realized: admittance control, which accesses the joint position interface through the inverse kinematics; impedance control, which is based on the joint torque interface; and Cartesian stiffness control, which accesses the joint impedance controller. To combine the advantages of the last two methods regarding geometric accuracy and high bandwidth, a new control method was implemented, which consists of an impedance controller enhanced by local stiffness control. This structure consistently takes into account the fact that the cycle of the joint control loop is typically by one order of magnitude faster than that of the Cartesian loop. It uses the high bandwidth of the joint impedance controller to improve the performance of the Cartesian impedance control. With a few parameter changes from the keyboard, the robot shows up arbitrary stiffness, damping and inertial (mass) in different Cartesian directions.
Cartesian Impedance Controller
The latest developments for the LWR focused on strategies for impedance control based on a passivity approach under consideration of the joint flexibilities. A physical interpretation of the joint torque feedback loop has been given as the shaping of the motor’s kinetic energy, while the implementation of the desired stiffness can be regarded as shaping of potential energy. Therefore, the Cartesian impedance controller can be designed and analyzed within a passivity based framework in the same manner as the previously mentioned state feedback controller. This led to a new, unified concept for the torque, impedance and position control on both joint and Cartesian level. Also the constructive method introduced for energy shaping of a non-collocated system constitutes a novelty and solves a problem which was open so far.
An important advantage of these passivity based controllers is the robustness with respect to uncertainties of the robot or load parameters, as well as in contact with unknown but passive environments.