Design

The final robot is comprised of a cast silicone body and a control system. The cylindrical silicone body contains empty channels which get inflated by the control system to propel the robot forward in a rolling motion. Flow to different channels is directed by 3-way valves, which are controlled by an Arduino Uno. One valve connection goes to a manifold connected to the pressurized source. Another connects to the channel in the silicone body, and the third is left open to exhaust the gas inside the channels when deflating. The valves are mounted on a PCB with all other electrical components. The pneumatic source for the untethered robot is a 16g CO2 cartridge (typically used for bicycle tire refills) connected to a miniature regulator. All of the control components are housed in acrylic rings which are set inside the silicone cast to hold its cylindrical shape. To move the robot forward, valves are actuated to inflate channels in succession around the perimeter of the robot. As the channel closest to the ground inflates, it pushes the robot over, causing the whole body to roll. The gait is currently open-loop, so the timing of channel actuation is not perfect. A future consideration would be adding a sensor for position feedback of the cylinder. This would allow for more accurate actuation of channels.

Robot mid-roll.

Overall Dimensions

Preliminary Body Designs

To quickly test the feasibility of a rolling robot, the team constructed an initial prototype out of a large PVC tube, with smaller silicone tubes fixed around the outside of the PVC, oriented along the axis of the large tube.


Initial PVC prototype with silicone tubing to test rolling


This test showed that expanding tubes set around the outside of a cylinder would be capable of producing motion. It also highlighted the fact that a completely round external profile would allow for smoother rolling, which would eliminate the losses in momentum seen above when the robot gets caught between silicone tubes. A smooth profile would be more efficient and accommodate faster rolling.

The second initial prototype, incorporated several new features to test, which are listed and described below.

PVC Prototype with Balloon Channels

  1. Long party balloons

    The silicone tubes were replaced with party balloons to increase the amplitude of inflation of the driving channels. The silicone tubes only expanded about 1.5 times their original diameter, while the balloons increased over 8 times. Larger amplitude inflation of the driving channels will result in a larger force applied to the ground, and therefore more rolling.

  2. Acrylic rings to simulate smooth exterior rolling surface

    To simulate a completely circular exterior rolling surface, we fixed the acrylic rings to the ends of the PVC. These rings held the ends of the balloons within the diameter of the rolling cylinder. In this position, the balloons did not interfere with rolling while they were deflated, but would expand enough upon inflation to breach the outer diameter of the cylinder, and cause rolling.

  3. Two rows of balloons along length of PVC

    Two rows of driving channels were attached, each row with 9 balloons going around the perimeter. This was the first test in turning the cylinder left and right while rolling. The theory was that with one row of 9 channels all inflated, the cylinder would be tilted at an angle to one end. Then, when actuating the other side of channels in the forward rolling motion, it would be rolling on a curve away from the entirely inflated side.

  4. Multiple balloons attached to a single valve

    The team also started experimenting with a single solenoid valve actuating multiple channels at a time. Valves were one of the more costly items in this project, and they would take up space inside the robot. To reduce cost and save space, we tried splitting the output of a single valve to three balloons. The three balloons were 120° apart, so that the ones opposite the one touching the ground would not interfere. Here we encountered an issue with inconsistencies from one balloon to the next. With pressure from one valve being distributed to three different balloons, only the balloon with the least resistance would inflate, while the other two remained virtually unchanged. Balloons had different resistances to inflating for a number of reasons. Different colors and variation from manufacturing accounted for some differences. Also, after a balloon is inflated once, it stretches out, and then becomes easier to inflate. This caused a compounding problem, because once a balloon inflated more than its other two partners, it became less resilient, and the difference between the three would get worse with every actuation. They attempted to calibrate each balloon by inflating them individually to stretch them evenly, but this was unsuccessful.

The team built a very simple deflated version of the robot to test undulating capability. After this quick test, they focused all energy on rolling, and planned to come back to this should there be time at the end of the semester.

Silicone Prototypes

When designing the robot, the team wanted to come up with a design that would allow the robot to move forwards, backwards, and turn.  Additionally, they had to keep in mind that there were a limited number of solenoid valves that could be used in the manifold in order to power the robot.  While other soft robots used herringbones to allow for more uniform inflation, they were not too concerned that this would be a problem for their robot because the channels would be much wider than in other soft robots.  For the first prototype, the team decided to go with a very straightforward design.  The robot had two columns with nine channels a piece.  The idea behind making two columns of channels was that if both sides were inflated at once, the robot would move forward and if only one side was inflated, the robot would turn to the opposite side.  Because there were more channels than valves, it was necessary to connect multiple channels to the same valve.  Therefore, on each side of the robot, every third channel was connected to the same valve (six different valves were used).  The idea behind this was that all three channels could inflate at the same time, and since only one of them would ever be in contact with the ground at one time, the robot would be able to roll.

Original Prototype

The mold for the original prototype with the long, skinny rectangular channels is shown along with the portion of the robot that was cast using this mold.

The major problem that the team encountered with this design was that the channels were not very consistent.  This caused one of the three channels to inflate a lot and the other two to barely inflate.  Additionally, the channels in this robot were small compared to the size of the robot, causing the robot’s body to be very heavy.

To attempt to address these problems a second robot was made.  The channels were the same shape and size as the previous robot; however large “dummy” channels were added to the robot to reduce the weight.  In order to attempt to make the channels more consistent, new manufacturing methods were introduced which added silicone to adhere the two sides of the robot together on the side of the robot with carbon fiber and the side of the robot with the channels was placed so the channels were face down on top of the carbon fiber side.  This made the channels slightly more consistent; however, there were still a lot of issues getting all three channels to inflate.

Mold with Dummy Channels

Dummy channels were added to the original mold.

In order to solve this problem, the team decided it was best to only inflate one channel with a valve.  Since there were only eight valves total, it was now impossible to have two rows of channels, because there were not enough valves to inflate them all.  Therefore we decided to make one single row of driving channels.  However, we still wanted the robot to have the ability to turn, so we created two turning channels that spanned the length of the rectangle and placed one on each side of the robot.  The idea behind the turning channel was that if it was inflated, the robot would be higher off of the ground on that side, causing it to turn in the opposite direction.

In order to make the most use of time and materials, when casting the next few prototypes, we decided to cast a robot with a wide variety of channels.  After testing, it was determined that channels with really thick blocky herring bones had greater amplitude but were more inconsistent, whereas the channels with smaller herringbones were more uniform but had lower amplitude.  It was determined that for the driving channels, it was better to have a channel with more amplitude, as the channels with the smaller herringbones did not have enough amplitude to propel the robot far enough forward.  However, for the turning channels, it was better to have more consistent amplitude, since if it bubbled more in some places than others, it would make it more difficult for the robot to roll.

Additionally channels were tested where the herringbones on both sides of the channel were not aligned.  Since the thicker channels had performed better in testing, the thicker herringbones were used in this design.  In testing, while these channels expanded the same amount as the thick herringbones that were aligned, these channels had a tendency to bubble in one place on the channel, so this idea was then scrapped.

Different types of channels usedSilicone Robot with Multiple Channel Types

On the left, the mold shows a bunch of different channel types that were tested.  The long channels that run from left to right on both the top and bottom of this mold in this picture are the turning channels.  For each group of turning channels, the top one has really thick herringbones, the middle has thick herringbones that are not aligned, and the bottom has thinner herringbones.  For the driving channels (the ones in the middle of the robot), they alternate between channels with thinner herringbones and channels with thicker herringbones.  On the right, silicone body for the robot that was made from this mold is shown.

The next prototype that was made consisted of a series of dog bone shaped channels to drive the robot.  However, it was discovered that instead the air expanded equally throughout the whole channel, the channel would bubble on one side of the dog bone or the other.  From this, it was determined that in order to get uniform expansion across the driving channels, it was necessary to design a channel that did not have multiple areas that were wider, as this led to the channels bubbling a much larger amount in one of the wider sections than in all of the other sections.

The robot cast with dogbone shaped driving channels.

Removing one side of mold for robot with dog bone shaped channels.

For the next iteration, the turning channels were iterated off of the smaller herringbone design, as this had led to the most consistent inflation (which would be needed to get it to inflate easily so that it could turn smoothly).  We made two types of channels, each with long, skinny herringbones.  Both of the channels had herringbones that were skinnier and longer than all previous iterations.  The only difference between the two channels was the length of the herringbones.  After testing, we determined that the channel with the longest herringbones was the most consistent.  During this iteration, we also decided to test using driving channels with an ovular shape.  We were hoping to purposely control where the channel would bubble in order to get as much as possible in the center of the channel.  Since the middle was the widest section of the channel, it worked as we expected.

Prototype with uniformly inflated turning channel.

Therefore, for the final iteration, we chose to use the oval channels for driving and the long herringbone channels for turning.  This allowed the robot to roll all the way across the room and also gave the robot the ability to turn.

Final Design of Mold

The final prototype for the mold of the robot.  It had ovular driving channels and long, skinning herringbone channels that wrapped around the circumference of the robot for turning.

Control System: Electronics and Pneumatics

The initial testing of the soft robot was tethered and used a breadboard. This allowed for any changes to be made to the circuit before switching to PCB. Although a breadboard could have been used inside the untethered robot, the PCB offered a much cleaner alternative that also saved space which proved to be valuable in layout of the internal components.

Printed Circuit Board with manifold

One of the goals of this project was to create a soft robot that was untethered, containing all components inside the robot. In order to do this, the team designed a printed circuit board (PCB) with all necessary elements soldered on. The purpose of having the robot untethered was to allow more freedom and maneuverability. By printing a custom control board, they were able to reduce the size of the circuit which made it possible to house everything on the robot. The PCB was also attached to an Arduino Uno microcontroller which performed all necessary commands to make the robot roll.

Schematic of the circuit that was printed on the control board.

 

PCB layout

The circuit designed for the robot was used to actuate the different channels in the mold. Elements on the circuit diagram include N-type MOSFETs, Zener diodes, resistors, and screw terminals to connect solenoid valves. The circuit itself is designed to receive a signal from the Arduino microcontroller that will open and close each valve at different times. The team used MOSFETs in order to improve the response time between each valve and the microcontroller. Zener diodes were used to prevent high voltage spikes in the MOSFETs, reducing the risk of frying a transistor.

Initial testing was done using a breadboard.

The distribution of weight of components housed inside the cylinder was important to the motion of the robot. The team needed a center of mass that was as close to the center of the robot as possible because the robot’s inertia would cause a non-uniform roll. To keep all the internal components intact, they laser cut acrylic rings each with cutouts that would support all necessary elements.

With the first set of acrylic rings, all components were positioned without any adjustability. The team quickly realized that the regulator and CO2 cartridge were by far the heaviest of the internal components. With the positioning of the original rings, the center of mass of the cylinder was drastically off-center. As can be seen in the video below, the inflating channels on the robot were not able to overcome the extra mass. It could roll through most areas, but would get stuck at the point where the heavy components sat at the bottom of the cylinder.

Rings with slider to adjust location of regulator and CO2 cartridge to balance robot.

To accommodate the regulator and CO2 cartridge, the team designed rings with the cutout for the regulator and cartridges on a slider which could be moved closer or further away from the center of the cylinder. This feature allowed for testing those components at different positions, and finding the location along the slider where the robot was best balanced.

Acrylic rings holding the internal components

The internal components of the soft robot include one Arduino Uno microcontroller, one printed control board, an 8-valve manifold, a regulator, a 16 gram air cartridge, a 9V battery, 1 switch, 4 acrylic rings to support everything, and several tubes to inflate the soft robot. The air cartridge served as the robot’s air supply. The size of the cartridge was small enough to fit inside the robot, allowing for the robot to be untethered. The air cartridge was connected to a regulator, which helped maintain a certain pressure in the robot and kept the air cartridge from exhausting quickly. The air cartridge/regulator combination was the heaviest part inside the robot. In order to adjust for the weight, the team laser cut the acrylic rings to hold a slider that attached to the cartridge/regulator. This made for an easy solution to adjusting the center of mass of the robot. The regulator connected to the 8-valve manifold, with each valve connected to the PCB. This allowed for equal pressure to be distributed in each channel of the robot. The manifold was the largest component of the robot; therefore it was important that other components such as the PCB be located opposite of the manifold. The microcontroller and PCB controlled the timing of when each valve opened and closed, allowing for proper inflation and deflation time in each channel. The 9V battery and switch were made accessible by attaching them to an acrylic ring at the edge of the robot.-

Soft Robot with all internal components inside