3.4.1 What is control and why do you need it?
Course subject(s)
Module 3. Creating Movement: Making the Exoskeleton Walk
When you have designed your gait pattern, the goal is to execute it on the exoskeleton. You want the joints of the exoskeleton to follow the predefined gait trajectory as well as possible, and to be influenced as little as possible by disruptions. These disruptions can be caused by, for example, the foot getting caught behind an edge. Simply executing a gait and then seeing what happens is not enough, because then you cannot correct for deviations from the planned trajectory. You can imagine that walking would become very difficult if the gait starts to deviate too much from the planned trajectory.
To execute a gait the way you want it to be executed, you use control. Very broadly stated, you have two options for this: with or without feedback. The first option is called feedback control, the second option is called feedforward control. Feedforward control looks at the dynamics of the system in advance, in other words: how the system will respond to your input. Based on this, the input is determined. The control loop for feedforward control is shown in the figure below.
Figure 1: Feedforward control loop
In our exoskeleton, however, we use feedback control. Feedforward control is difficult in our case because you have to predict in advance what influence disturbances will have on the system. In an exoskeleton, this is not possible, because the pilot has a very large influence as well. This makes the pilot actually an important disturbance, and very difficult to include in your model. If you have a bipedal robot without human interaction, you know the state of your system at every moment in time. But we have no control over our pilot, and we do not know what her next exact movement will be. Moreover, with feedforward control, you can not eliminate disturbances that can not be predicted because the output is not fed back to the system.
This is why we use feedback control. In short, this control system compares the desired trajectory to the actual trajectory. For the exoskeleton, this means that the desired position as determined by the planned gait is continuously compared to the actual position registered by the angle sensors within the joints. With a feedback control loop, as shown in the figure below, the amount of current sent to the joints is regulated to adjust the actual position to the reference trajectory as best as possible, e.g. to minimize the error between the two trajectories.
Figure 2: Feedback control loop
To best understand feedback control, you can think of a car you might be driving. If the road ahead is flat and you want to drive straight ahead, you just press the gas pedal. But say the road ahead has many hills, and you want to drive at a constant speed, you will need information on how fast you are driving at any moment in time and adjust the amount of pressure on the pedal to that information. The same is true for exoskeletons: the joints need to move with a certain speed to a certain position in a smooth way, for which you need information about the joint angle and the velocity.
A widely used feedback control method is a PID controller. PID controller is shortened for proportional–integral–derivative controller. Such a controller works with a feedback loop using either position, velocity, torque, acceleration, or another variable to regulate the system. We will look more closely at PID controllers in the next video.
But PID control is only one of many ways to implement control in an exoskeleton – or any robot, for that matter. In recent years, computers have become increasingly fast and powerful, opening up possibilities for more advanced control methods. For the duration of a feedback loop, we are talking milliseconds; if the controller takes longer to intervene, the resulting gait trajectory would become jerky. An example of a more advanced control method is Model Predictive Control (MPC). As the name suggests, with this method, you use a model of your system to predict what will happen to your system in the future. It combines feedforward with feedback control, as the model will never be exactly accurate. Say your system is a rocket flying around the Earth in an orbit. You know there is a satellite positioned somewhere in this orbit. If you use a PID controller, you would acknowledge the satellite but still have an amount of velocity. But with MPC control, it is easier to get around the satellite. This is because you can look further into the future and adjust your position and velocity in advance and take a lot more dependencies into account.
At Project MARCH, we have always used a PID controller in our exoskeleton. But currently, we are looking into more advanced methods, like implementing MPC. This model is used to predict the impact of a signal on the motors, after which the controller will choose the best option that is available. In this way, the motors should be in the correct position faster and more accurately than if we would use a PID controller. Besides that, the controller would work better than PID in some extreme situations. However, it is a complex method to implement in our exoskeleton. This is mostly because we can not model our pilot very well, he is unpredictable. It is possible to still correct for that by using some sort of feedback into the MPC controller, but this all makes the controller more complex, and it will take more calculation time to get new input for the motor. The benefits of good control are that the gait is very well executed and the pilot will feel like the movement of the exoskeleton is more reliable and smooth. The costs of good control always need to be compared with the benefits so that the most optimal solution is chosen.
To summarize: you will need a control method to ensure the designed gait trajectory is executed by the exoskeleton as accurately as possible and in a smooth way. Numerous different control methods are used for exoskeletons, robots, and in the industry, but one popular example is PID control. In the next video, we will go into more detail about the PID controller.
Project MARCH: behind the technology of robotic exoskeletons by TU Delft OpenCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://online-learning.tudelft.nl/courses/project-march-behind-the-technology-of-robotic-exoskeletons/