Designing, Building, and Controlling a Soft-Actuated Aerial Microrobot
By Kevin Chen and Zhijian Ren, MIT
Weighing in at just 0.6 grams, the insect-sized robot that our team in the Soft and Micro Robotics Laboratory at MIT has created is capable of carrying a relatively hefty payload of more than twice its mass. One key to this achievement is the artificial muscle—a dielectric elastomer actuator (DEA)—that drives the robot’s wings.
Forgoing electromagnetic motors and other rigid actuators to build the first soft-actuated aerial robot, we were looking to solve a number of manufacturing, control design, and other challenges. First, as the size of a robot shrinks, its dynamics become faster, which requires higher sensing and control rates. Our microrobot flaps its wings 400 times per second in a sinusoidal manner and dynamically balances the lift forces from all the wings, so we need to run a feedback control at 10,000 times per second (Figure 1). In addition, the dynamics of soft actuators are highly nonlinear. Lastly, we have to manufacture all the robots, including their actuators and other components, ourselves from scratch—a manual process that requires careful assembly of extremely thin layers of elastomer and laser cutting of robot wings, airframe, and transmissions.
To meet these challenges, we used a modeling, simulation, and real-time testing method based on Simulink®, Simulink Real-Time™, and Speedgoat® hardware. We also used MATLAB® to automate a number of manual processes, including characterizing the robot preflight, eliminating defects in the actuator, evaluating various wing shapes, and running experiments. This environment enabled us to increase the pace of our research as we work toward a better understanding of how real insects fly as well as practical applications for insect-sized drones.
Modeling the Microrobot at Multiple Levels
We use modeling and simulation extensively to guide our experiments and minimize the number of hardware tests we need to perform. To this end, we’ve created a variety of different models in MATLAB and Simulink for running simulations at multiple levels of fidelity.
At the highest level, we have a simple flight dynamics model in which the robot is modeled as a solid particle. We use this as a plant model alongside our controller model to run closed-loop simulations in Simulink (Figure 2).
In MATLAB, we’ve developed a more detailed model that accounts for wing mass, wing inertia, and the interaction of the wing and the robot, which is governed by a linear four-bar transmission that translates the contraction/elongation motion of the soft actuator into the flapping motion of the wings. We also have created a model that we use to predict time-varying aerodynamic forces and a computational fluid dynamics (CFD) model to simulate the dynamics forces of a single wing flapping (Figure 3). In each simulation, we vary the wing shapes and look for the shape designs that meet our force requirements. After we run simulations with these models to identify wing shape designs that we’d like to test experimentally, we use a MATLAB script that we’ve written to automatically generate the laser manufacturing files needed to produce the actual wings.
Preflight Preparation and Characterization
The soft actuators we build for each microrobot are not identical to one another. Variations in the manufacturing process and air bubbles or other defects in the actuator result in significant variance in actuator performance.
We account for actuator variance and manufacturing issues via two processes, both of which we have automated using our MATLAB, Simulink, and Speedgoat setup. First, we perform a process called self-clearing, in which we repeatedly apply high voltages to the actuator to cause local shorting, which eliminates impurities in the actuator. The timing in this process needs to be precise, since large current spikes can create a hole in the elastomer and damage the actuator. The high sensing rate and low latency of our Simulink and Speedgoat setup is uniquely valuable here because the system can turn off the voltage within microseconds after a high current is detected.
After we remove defects from the actuator, we perform a static characterization of the microrobot. During this process, we clamp the microrobot so that it’s stationary, apply a range of voltages to the actuator, and measure the robot flapping-wing motion. As we apply the test voltages, we capture the flapping wing motion at 22,000 frames per second. We run MATLAB scripts that we’ve written to analyze the kinematics of the microrobot in the resulting video. Next, we mount the robot on a custom-designed liftoff stand. We drive the robot again, record the liftoff videos, and then use MATLAB scripts to extract the liftoff motion and calculate the corresponding lift forces. We then use the results of this analysis to map voltage inputs to lift outputs, and automatically apply this mapping to parameterize the flight dynamics model that we use in closed-loop simulations.
Modeling, Simulating, and Testing Control Algorithms
As we develop new control algorithms and strategies, we refine and validate them via simulation before testing them on real hardware. These simulations are run in Simulink with a controller model and the flight dynamics model updated with parameter values obtained via static characterization. This enables us to rapidly iterate control design without risking damaging the microrobot in uncontrolled crashes.
Once we have a control algorithm ready to test, we prepare for real-time testing by assembling a complete microrobot from four units: that is, four sets of actuators and wings (Figure 4).
We then deploy our controller to Speedgoat target hardware using Simulink Real-Time. The Speedgoat system receives data—including the coordinates of the microrobot’s centroid as well as pitch, roll, and yaw values—from a Vicon motion capture system (Figure 5). Our control algorithm reads this data and, based on the current state, computes the force and torque that each of the four units needs to produce. It then maps each of these values to a corresponding voltage amplitude for sinusoidal signals that are amplified and sent to the soft actuators.
Among the principal advantages of using the Speedgoat platform for this work is its high sensing speed, its consistent low latency, and its ease of configuration. In the past, we assembled our hardware for real-time testing; the process was tedious and frequently delayed by lengthy debugging sessions. Speedgoat hardware has been much more reliable, and by running our controller at 10,000 hertz, we can execute sophisticated aerial maneuvers, including somersaults, with the microrobots (Figure 6).
As we run our experiments, we use a MATLAB app that we created to simplify initialization, flight control, and sensor control (Figure 7). Later, we compare the experimental results with the simulation results; for example, the real robot completed a somersault in 0.16 seconds, and our simulation predicted 0.13 seconds. These comparisons enable us to both validate and refine our Simulink model over time.
One of the most interesting potential applications of aerial microrobots involves search and rescue operations. A swarm of microrobots, for example, might someday be able to locate survivors in a collapsed building by navigating through passages too narrow for humans or larger drones. We are actively working on several advances that will be needed for such an application. The first is power autonomy. Currently, our microrobots are powered by thin wires, which means they are closely tethered to a stationary power supply. We are working on integrating power electronic circuits onto the robot as a first step toward untethered flight. Similarly, we are also pursuing sensor autonomy. Specifically, we are exploring ways to make the microrobots passively upright and stable; this in turn, would enable our controller designs to use much lower bandwidth sensors to localize the robot. Further, we are planning to use our existing setup with Simulink, Simulink Real-Time, and Speedgoat hardware to fly up to five microrobots at once as a small-scale swarm.