The current work in WP4 is focused on the real-time controller design of the single module. The system involves three controllers that work at different levels:
- Low level: Pressure control with close loop
- Middle level: Coarsely controlling the bending/shape with a kinematic open loop
- High level: Finely controlling the bending/shape with Model Predictive Control (MPC)
Low level: Pressure control with close loop.
The pressure control loop controls the pressure of the three chambers. For the pneumatics circuit of each chamber, there is a pressure sensor and two solenoid valves (one for pumping air into the chamber, the other for draining out). Once receiving the pressure commands from the mid or high level (i.e., the "inverse kinematic model" block and the "model predictive control" block in Fig.1), the pressure controller drives the valves of each chamber to stabilize its pressure at the requested value.
Middle level: Coarsely controlling the bending/shape with a kinematic open loop.
An inverse kinematic model is identified from the experimental data, which represents the relationship between the bending/shape and the air pressures of the three chambers. When receiving the desired position/orientation from the joystick, the controller in this level calculates the appropriate pressures of the three chambers using the kinetic model, and sends these pressures as the commands to the low level pressure control.
High level: Finely controlling the bending/shape with Model Predictive Control (MPC).
As the middle level is open loop control, it can only drive the single module into the neighbouring area of the desired bending/shape due to inevitable disturbances and uncertainties of the pneumatics system. Once the single module enters this neighbouring area, the system switches to high level fine control with MPC, which is also a closed loop involving the actual bending/shape obtained from a magnetic sensor at the tip of the single module (see Fig. 1). The task of the MPC module is to control the bending/shape accurately and robustly in this small neighbouring area. The MPC module uses a dynamics model of the single module and an online optimization algorithm to compute the pressure commands for the pressure controller. MPC was conventionally developed for slow systems like chemistry process. We are continuing to analyze various MPC algorithms in order to design an efficient algorithm that can run at the fast sample rate of our real-time system. Alternatively, we are using a simple Proportional-Derivative controller at the high level in current experiments for testing the whole system.