By Anh Tram Do
Live and direct everyone. Here is the trailer for the upcoming thriller, Hexapod. Special Thanks to Frank Lima for helping make this happen.
By Anh Tram Do
Live and direct everyone. Here is the trailer for the upcoming thriller, Hexapod. Special Thanks to Frank Lima for helping make this happen.
Written by: Ramon Luquin
Hexapod built by Daniel Berg, David Gonsalez, Anh Tram Do, and Ramon Luquin
The Hexapod has been fully molded and assembled. We are working on building the scan and tilt platform. The platform will require some cutting and modification on the body of the Hexapod, and we are looking at different options to do that. Details on that modification will be posted when we complete it.
As posted previously (link to silicone molding resin pouring), we have finished manufacturing all the pieces for the Hexapod. The Hexapod consists of 6 legs, 6 femurs, 6 brackets, each bracket is made of 3 pieces, and 2 body plates.
The holes for the mounting hardware were built into the 3d models, but the silicon molding process covered some of the holes when creating the molds.
Where there existed covered holes, we had to drill out the holes. We chose to drill a hole for a M3 socket screw. The M3 thread size is standard for the servo horn and was what we chose for all the mounting screws, although at different lengths.
The following word document, written by Daniel Berg, provides assembly instructions for the main body (not including the circuit boards and power).
Written By: Ramon Luquin
Coding and Power Train: David Gonsalez
Component Research: Anh Tram Do
Body Design: Daniel Berg
We have been successful in making the Hexapod walk. After we had mapped out the tripod and wave gaits and coded them on Chop Suey (link to wave gait and tripod gaits blog) we began to test if the code would translate and work on the Hexapod. We first coded the Hexapod to be able to stand on its own. We wanted to test its ability to stand on its own and to gauge how much current the Hexapod would need. The current drawn by the Arduino was about .16 amps. The current drawn from the servos using a power supply to allow the Hexapod to stand on its own was roughly .22 Amps. Both the servos and Arduino were running on 6 volts.
After we knew it was going to be able to support its own weight, we attempted to code the walking gait and test out the pattern on the Hexapod. Unfortunately a leg broke and had to be repaired. The Epoxy being used was too weak, and when we switched to Loctite Instant Mix Epoxy the piece held. We were using a generic no name epoxy and it didn’t hold.
Once we repaired the leg, we coded the Hexapod, and placed it on the ground to walk. We are happy to say the first test was successful and the Hexapod was able to walk on its own, with only battery power. We will be uploading the Arxterra software, and finalize the turning and backward gaits this week. We are confident that we will be able to test the Hexapod in the test terrain by the end of this week.
Current drawn from the servos, including the step down converter.
And finally, the Hexapod taking its first steps completely on its own. We have since added Plasti Dip to the tips of the feet to make it easier to walk on the ground. Plasti Dip is dip-able rubber that will allow it to have more grip and traction on the floor.
Link to Plasti Dip product info page.
By: Ramon Luquin-Project Manager
In accordance with the level 2 System Requirement to make the body out of resin (link to system requirements), I made molds for each part of the Hexapod body. The process was a lot of trial and error, but it ultimately provided the results I was hoping for. With the molds completed, I can create and recreate any part of the Hexapod that might break, or even build another Hexapod entirely.
The silicone I used was Smooth-on Mold Max 40 (http://www.smooth-on.com/Mold-Max%3D-Perfor/c1135/index.html?catdepth=1).
Mold Max 40 comes in two parts and is mixed in a 1:10 ratio by weight. It takes about 24 hours for the silicon to completely cure. The price of the 1 gallon kit I used was $96.54. Mold Max 40 was the strongest silicon at this price range, and could be used in both a two part mold, or a single pour-in mold. I spoke with a smooth-on representative on the phone, visited A-R products which carried all Smooth-On products (http://a-rproducts.com) and was shown different samples. After explaining my purpose for the silicon to the representatives at both locations, they recommended that I use the Mold Max 40. Mold Max comes in many varieties, the number 40 represents the shore hardness of the material (Link to Substech Shore Hardness Study). To ensure that I would be able to reuse the molds without breaking them, I chose the strongest at that price range. A 40A shore hardness is roughly equivalent to a rubber phone case. It can withstand multiple molding and can stretch up to 250% of its size until it breaks (link to product description PDF).
www.Smooth-ON.com offers a large variety of products. Most of the resins are tooling quality, which allows me to drill and mount the resin without worrying about breaking. Again, with advice from the Smooth-ON representative and the sales representatives at A-R products, I was recommended Smooth-Cast 300 which sold for $85.85. This resin works well with the Mold Max 40 and its low viscosity allowed for easy pouring. The resin comes in two parts and is mixed in a 1:1 ratio by volume. Other resins available, like the 380Q, begin to harden once mixed in 20 seconds. For being my first time using the material I felt it was a better idea to use something that gave me more time to fix my mistakes and figure things out. I also looked at the Task Series resins (link to Task series resins). These resins were designed for heavy duty use: replacing cart wheels, gun props used in film and television, door knobs and handles. They would have served great but were nearly twice the price of Smooth-Cast 300 at $145.87 and were actually a little heavier. The Smooth Cast 300 has a specific gravity of 1.05 g/cc where the Task Series had a specific gravity of 1.15 g/cc. With just the body’s volume alone being 11655 cc, the weight of the Smooth-Cast 300 would be 12.237 kg, where the weight of the Task series would be 13.40 kg.
Building a mold box is important, and can save a lot of time and headache in the long run. Making a mold out of 2×4’s and composite boards is an easy way to create a box to place the pieces in and pour over silicon.
With our particular build, the 3D master pieces we used were light and weren’t dense enough to stay under the silicon while it was being cured. I had to screw in the pieces to a piece of composite wood to make sure they stayed in place. Using a power drill for this made things a lot faster. Making the wooden mold box also required a power drill.
This is used to make the mold box. Its possible to use other materials to make a mold box, such as topper wear or a bucket, but for a large piece like the body cutting the wood was necessary.
For small parts, such as our brackets, foam board can used to create a mold box. It works well, and saves time and money over building a mold box made out of wood. Foam board retails for about $2 at most hobby shops, or office supply stores.
Hot glue was used heavily in this build. It can be used to create walls for a foam board mold box and to seal any crevices that may be left when joining the walls. Make sure to have plenty of glue. I used about 20 mini sticks for this build.
A utility knife to cut off excess bits in the resin molds
Plastic cups to mix the silicon and the resin. Make sure their disposable, the chemical will ruin the cups.
A scale, I used mostly ounces to measure the ratios.
Rubber gloves. Avoid latex gloves, they will react with the silicone and can damage the mix.
Prepping the Pieces
We made the molds out of the 3D pieces we had designed. A special thanks to Santiago Landazuri from project Rover for spending the long hours printing these pieces as well as the Scan and Tilt platform we needed. Hexapod says thanks Santiago.
We tried to sand and fix any issues with the pieces before we molded them. Any tiny imperfection or any bump on the master pieces will show up in the molds afterwards. Make sure you have the pieces exactly like you want them to be in the final mold.
Making the Mold Box
After first using topper wear and hot glue to try and create molds by gluing the pieces to the bottom of the topper wear, I changed to using a mold box made out of wood. My first attempt resulted in the pieces floating to the top, and the molds were too shallow and unusable. I will be making a one piece pour over mold, so making sure the pieces don’t move while the silicon is curing is important to getting an accurate mold made.
I measured the length and width of the piece, in this case the assembled body plate, and made a mold box slightly larger. Its important to make a mold box with an area close to that of the piece. Leaving a small margin is important to making sure the silicon doesn’t tear while demolding, while making it small enough to save on silicon. I cut the 2×4 pieces and tried to make sure it was as straight as possible. The more accurate the cuts, the less likely the silicone will leak, and silicon tends to leak anywhere there is a gap. I screwed in the pieces to the box and screwed in the pieces the bottom composite board as show below. Note the got glue applied to all the edges of the box to protect from leaks. Other materials could have been used, but this was quick and easy way to do it.
Mixing the Silicone
Mold Max 40 is sold in two parts. Part A and Part B is mixed in a 10:1 ratio. It is a mint green color when fully mixed and cured. To measure the volume needed for the pour, I poured rice in the mold box, enough to completely cover the body plate with a roughly a 5mm thickness, and measured the weight in ounces. I used this weight as my estimate for Part A of the silicone. Water could have also been used, but I didn’t want to have to wait till the body plate completely dried before pouring over the mold.
Part A is heavy, thick, and pours out very slowly. It has the appearance and consistency of condensed milk. I measured the volume needed for this piece which was 20 oz, and set it aside. I poured out the 1/10th of Part B, which was 2 oz. Part B is green in color, and has the consistency of water.
When the mixture is a solid green color all the way through, its ready to be poured over the piece. The silicone has a 45 min pot life, so it will give you plenty of time before the silicon begins to cure if you need to make more and add it in to the pour.
Its recommended to place the silicone mix in a vacuum pot to remove the air from the silicone. I didn’t have access to one, so I used a high pour method. I poured the silicone in by holding the cup as high as possible and created as thin as possible stream over one corner of the box. This attempts to pour over the piece and create as few air bubbles as possible. You will still see air bubbles rise to the top while it is curing, but the mold should be free of any bubbles.
Once it has been poured and covered completely, the mold should look like this:
The mold will take 24 hours to fully cure. Leave it to set in a clean and dry environment, do not try to rush it in a refrigerator or by applying heat, it can damage the silicone.
Once the mold had been cured completely, I unscrewed the box and removed the 2×4. It took significant force to open the box, the silicon attaches itself to other surfaces, but can be pealed away with force. Avoid any sharp objects to remove the parts, silicone can be easily cut.
Carefully remove the mold from the bottom composite board and peel away the original piece.
What should result is a 1 to 1 inverse copy of your original piece. Here, because of the unions that were glued on in my 3D part, a thin line of silicon was inserted in the middle of the shape. I used some flush diagonal cutters to cut that away and leave it a smooth surface. This part is now ready for the resin pour.
Resin comes in 2 parts, and is mixed in a 1 to 1 ratio. I measured the volume again with rice, which gave me an estimate of 9.5 ounces. I mixed in 10 oz to be safe, and to allow for any residue I might leave behind in the cups.
I measured out 5 ounces of each liquid, and mixed it together. The resulting mix had the consistency of water and was clear. This resin has a short pot life, 3 min, so making sure everything is completely ready, your molds, your space, is very important. Also this liquid can attach itself to anything and make it difficult to clean. Make sure your using cups and mixing equipment you don’t expect to reuse again.
I poured this mix a little quicker than the silicon, and filled the molds as close to the top as I could. After 3 mins, the liquid begins to cure, and can no longer have any added. The chemical reaction generates heat, which is normal and the silicone was able to handle it without a problem. After 10 mins, the mixture will begin to turn white.
The mixture will completely cool down after roughly 30 mins, depending on the size, and will be ready to use. It will take another 24 hours before it can be machined. Multiple pieces can be made right after each and set to cool together. Once all the silicone molds had been completed I was able to build all the parts to he Hexapod in 4 hours, which were ready to assemble the following day.
The rest of the parts were molded and poured the same as the body plate.
Some of the holes had to be drilled and some excess was cut off using a utility knife. If I was to build this again, I would take more care to ensure that the 3D parts were designed with molding in mind. I would design sacrificial holes in the 3D parts that would allow for the parts to be screwed on to the boards which would be covered when the silicon was poured. This way the mounting holes for the servos would not be covered up and need drilling.
Overall, the process was difficult to figure out at the beginning, but once I understood how the different materials would react to each other, it would be really easy to recreate. I could have saved on a lot of silicone had I known how the 3D parts would float to the top of the silicone. I used about 100 ounces of silicone, where as had I built this again I would use less than half that amount. I used less than 1/2 a gallon of each Part A and Part B to make these pieces, and for my next build I will probably use less than that.
Tips for a Resin Mold
Be patient, pulling the molds too early may bend or break the resin. It may seem like its ready to be demolded, the material may seem rigid enough, but bending can easily occur even an hour after it was poured. Don’t try to place it in a freezer to speed it up. I did that as a trial and the piece became very brittle and broke easily.
The more pieces you can mold together, the more you can save on silicone. I was able to mold part of the bracket and the small plate together. With better planning I could have molded the femur, the small bracket plate, the leg and the bracket servo mount together. This would have saved silicone, time and money. Plan ahead.
What I created was a 1 part, pour over mold. For better detail, a two part mold could have been created. This might require the use of clay as a base for your parts, and can be tricky when parts are as thing as the ones I have been using (5-7mm). A mold release would also be needed to ensure that the silicone doesn’t stick together. I used ease release 200 (http://www.smooth-on.com/index.php?cPath=1226) in my trial runs.
Smooth-On sells trial samples of silicone, they run around $27 and can be great if you don’t know what material to use and want to try out different ones.
If you want to see some samples of each material first hand, AR-Products has different samples of silicone and resin on display. They are located in Santa Fe Springs, CA. (http://a-rproducts.com/)
By: Ramon Luquin-Project Manager
Research by: Daniel Berg, Anh Tram Do, David Gonsalez
The Hexapod will be built using a 3 jointed leg design to allow for the tripod and wave gaits (link to Hexapod gait analysis). A 4 jointed design would allow for smoother movements and more freedom in movement, but would also put us over budget (link to detailed budget report). Using a 24 Power HD 1501 servos would cost $300, which is more than half our budget (link to Power HD servo analysis). This would also require more power and a larger battery would again lead to higher costs with little performance gain.
A two legged joint design would save money by requiring only 12 servos instead of 18, which would cost only $150 instead of $225, but would limit the tripod gait by not allowing for an extra adjustment in clearance when height is an issue (see figure 3 below). The three jointed design allows for the tripod and the wave gait to be implemented and falls within budget (link to tripod gait and wave gait). 18 servos will cost $255.00, still leaving us a margin of $345. The three jointed design also allows for the Hexapod to rely on two primary joints for the gait patterns, while leaving a third joint to increase the clearance when necessary. For future builds, the third joint would allow for small adjustments when the Hexapod needs to balance itself in uneven terrain.
The design of the leg was built in accordance with the results from the material testing (link to Hexapod material testing) and from the clearance needed derived from the analysis of the test terrain (link to terrain testing). The initial design of the leg had a straight femur connected to the body. This was done before the analysis of torque on servo angle was done (link to Thorough Servo Testing done by Biped). We based our first leg design off our own servo testing, done at a 90 degree angle with a 1 cm horn. We concluded that the servos had enough torque to lift the required weight at 90 degrees (link to Hexapod Servo and Stepper Motor Testing). In accordance with those test results, we designed the leg to be at a 90 degree angle which provided 87.620 mm clearance from the bottom of the servo to the ground on the leg. The thickness of the leg is 5 mm. This was done after we spoke to the Smooth-On (www.Smooth-ON.com) representative, manufacturer of the resin we would be using, who advised to use a minimum of 5 mm to ensure the resin wouldn’t snap, and after we tested that thickness on SolidWorks (link to Materials Test). The center of the servo was centered with the center of the foot of the leg to ensure that the legs would press down evenly during the gait. The leg had a cut out that saved on weight, and showed in the SolidWorks test that would not negatively effect the leg in our build. The design using the resin material in SolidWorks was able to support a pressure of 110N, which was much more than the 16N estimate for our entire build(link to weight estimate resource report).
The final design of the leg was not changed much. The top was elongated and given a sharper image purely for aesthetic reasons.
The brackets of the Hexapod are responsible for allowing lateral movement of the legs as well as connecting the legs to the body. The brackets were built in three parts which is detailed in our bracket blog (link to bracket design). This allowed for easier 3D printing and to make the pieces easier to mold (link to molding). The design of the brackets were done to maintain a minimum of a 5 millimeter thickness for the thinnest part of the bracket, which is the safest minimum thickness for the resin we are using. This also gives enough clearance to allow for the servos to be easily placed and to be easily removed without having to disassemble any other parts. The rightmost piece in the picture is symmetrical, and allows for the bracket to be used in the left or right depending on where this part would be placed. The final piece will be glued together with epoxy glue. The mounting holes were designed to allow for a M3 screw to be inserted and tightened with a nut in the rear. M3 screws are the size used by the manufacturer to mount a servo horn to the center threaded slot of the servo. The idea was to use the same size screw as much as possible to allow us to easily order in bulk.
The femur is responsible for connecting the legs to the brackets and will move the leg up and down during the gait. The femur will also support the majority of the weight along with the leg. The servo attached to the femur and bracket will be the one responsible for moving the femur and the legs in the gait motion. The thickness is 5 mm to make the femur the safe thickness for the resin we are using ( Smooth Cast 300). The length of the femur is 7cm. The torque rating of the servos we are using (Link to servos) is given by the manufacturer as 15.5kg/cm (http://www.valuehobby.com/power-hd-1501mg.html). With a length of 7cm, the torque rating of the servo changes to 2.2 kg-7cm:
Torque rating of the servo manufacturer website:
Our femur (horn) length is 70mm or 7cm.
New Torque rating:
The femur has three oval shapes cut out the femur to save on weight. It reduced the weight by 1 gram on each femur. The amount seems small, but saving 6 grams helps in making sure that we are within the 4.3 kg-cm servo strength rating (for a 8cm femur).
The femur went through an evolution. As we mentioned earlier, the original design of the femur had a straighter design that had both the servo at the bracket and the servo at the leg at 90 degree angles. This seemed to be the most natural position, and gave us a ground clearance of 87 mm. With the average height of the terrain found at the traffic circle at 5 mm, this gave us a clearance margin of 82 mm.
After our Computer Divisions Engineer David Gonsalez, working with BiPed, tested servo behavior under different loads at different angles (link to powerHD servo testing), we established that the servos demanded the most power at a 90 degree angle, (0 degree referenced to pointing straight down at the ground) so we decided to change the resting angle between the servo at the bracket and lessen the power demands. We chose to change it to angle that allowed us to keep at least a 5 mm clearance from the bottom of the Hexapod to the ground. The new angle of the femur was roughly 45 degrees higher from the original 90 degree position of the servos, and was shortened and curved to allow for the Hexapod to maintain the same clearance between the legs.
UPDATE: Today ( November 10th), David was able to make the Hexapod stand with the new femur and initial test showed that the femur was able to stand with much less power. The standing Hexapod was only using .22A at 6V and our previous prototype chop suey was running at .66A at 6V. Looks like the new femur might be making a difference in the power demands. We are going to continue testing to find the power demands of the final build.
The body of the Hexapod was designed to allow for at least a 30 degree swing for each leg in each direction. The body was made 7mm thick to have a thicker and stronger base to support the on board electronics. The body is composed of two parts, sandwiching the servos and brackets in the middle. This allows for a more rigid frame, and for less stress to be put on the shoulder servos. Had we gone with only the top or bottom part of the body, the servos would be dangling, and all the weight of the body would be on the servo horns.
The body of the Hexapod was actually printed in 3 parts and glued together for the final mold and resin pour. This was done because the bed of the 3D printer used to create the master pieces was too small. Our body measured 222m by 110mm, while the bed of the printer was only 177mm by 177mm. We would not be able to printer an entire top piece. Daniel, our manufacturing engineer, sketched two pieces. Each piece was printed twice, and glued together to make a full piece.
By: Anh Tram Do-Systems Engineer
Terrain evaluation, the body position, as well as the gait is necessary for the final design of the Hexapod. The terrain testing took place at the East Side Campus Rd, next to the Foundation Building.
Since Hexapod will compete with the Rover, choosing a similar route to maximize the Hexapod speed and maintain its balance is an important task.
Goal: observe and measure the best route for Hexapod.
Tools: Measuring tape and camera.
Testing and Evaluating:
The test was performed on 11/5/2013 at 3:00PM. This time was chosen in order to evaluate the brightness of the field. On the performing day, the sun will set at 4:44PM. Since the field is on the East side of campus, the best performance time should be no later than 4:00PM.
The area contains many trees. The distance between each tree is approximately 1.5 to 2 meters.
Most of the terrain areas had soft soil which may not be able to support the legs or bear legs’ pressure. If the performance day is after a rainy day, the Hexapod’s movement will halt if its appendage is seized up on the soft or wet ground.
The ground consisted of fallen leaves, small tree roots, saw dust and some small rocks. The height of the tree roots was measured approximately 3.5 to 4 cm. The maximum body height of the Hexapod is 7cm above the ground, thus with an appropriate walking gait, it will be able to pass the roots.
Some big rocks with a diameter of 8 to 10 cm were found at the terrain. Obviously, they are too big to walk through. Fortunately, with the tilt and scanning system, the Hexapod will be able to avoid the obstacle and walk around the big rocks.
At the end of the field, some few holes created from erosion were observed. The biggest hole had 30 cm in diameter. For the best performance, the Hexapod must avoid as many of these holes as possible.
Overall, the field had an even level path and enough space for the Hexapod to walk through using tripod gait. The Hexapod needs to slow down and/or switch to a wave gait in order to pass the small rocks and tree roots. Based on the terrain observation, the best route was created as follows:
The total length of the route is 300 ft or 91.44m. In order to complete the route in 20 minutes, the Hexapod average speed will be approximately 8 cm/s. With this route, the Hexapod will be able to avoid the major causes of rough terrain. Thus, it will be able to speed up, beat up the Rover’s speed and ultimately complete the performance on time.
Some design factors need to be considered:
By: David Gonsalez
The image below is a general design of this regulator, feedback has been left out to keep it simple. When the MOS turns on Vout -Vin is applied across the inductor,
this causes current to increase and the current will flow through the inductor, this in turn will charge the capacitor. When the switch opens, current will continue to flow in the same direction. Inductors do not change current suddenly due to the equation (dI/dL = V/L). Now the diode will conduct to complete the circuit and the capacitor will smooth any ripple. The inductor will find fixed voltage Vout -.6v across it and the current will decrease in the inductor, in the same linear fashion that it initially increased. The converters have a built in current limiting circuit, this protects the ADK and servos from the current spikes. The DC converter is needed since our battery is 7.4V and the servos take 6V and the ADK 5V. I am using 2 converters to isolate the microelectronics from the motors.
By: David Gonsalez
One of the main project requirements for the Hexapod is speed. The Hexapod is to maintain pace with the Rover and use a gait that maximizes speed. While the speed of the Rover is still being worked out at this point, we are confident that the fasted gait algorithm for the Hexapod is the tripod gait which was outlined by Anh Do in her blog for the Hexapod gait analysis. The idea behind the tripod movement is to create a stable stance with 3 legs, either 2 on the left and 1 on the right or 2 on the right and 1 on the left. To create the tripod movement, first I went through the mechanics of the movement, left-back-thigh up, left-front-thigh up, right-center-thigh up, then all corresponding hips forward, then corresponding thighs down, then repeat with remaining legs. After all legs were forward pull back hips to initial position, this was a very crude program but it gave me the basic mechanic movements required.
To create the appearance of a simultaneous movement for-loops containing the call to each servo was used. Inside the loop all 3 hips were grouped in a separate loop and all 3 thighs were grouped in their own group, totaling 4 separate for-loops, 2 for each set of 3 hips and 2 for each set of 3 thighs. While this program was a vast improvement there are some areas that could still be optimized. The next upgrade was created to consolidate for-loops, for example while one cycle was being executed all remaining parts remained static, to remedy this I combined the hip and thigh movements, while the thighs were lifting on the second cycle the hips would pull back to their initial position, the difficulty in doing this was that the incrementing variable increased to a value greater than the value required by the hips. I realized that the solution to this would be a parameterization of the variable, after everything was completed the resulting was the elegant code given. We are making some changes to help Chop Suey balance better and have better grip on its feet before we can place it on a surface and perform the walk unaided.
By: David Gonsalez
From the system requirements outlined by Anh Do, one of the requirements is for the Hexapod to have a gait that maximizes speed. In addition, we have an alternate gait that maximizes stability for the Hexapod so we could navigate difficult terrain. As outlined in Anh’s analysis of the gait options for the Hexapod, the best gait to maximize speed is the tripod gait, which can be seen on Chop Suey at my Tripod 2.0 blog. The alternate gait that maximizes stability is the wave gait. This gait relies on each of the legs to move individually, one at a time, in a wave pattern to slowly, but surely, move the gait along. This wave algorithm is a much more stable walking pattern that requires only 1 leg to move at a time, rather than 3 legs to move simultaneously as the tripod gate requires.
Initially, the first coding of the software had each of the 6 legs completing a forward cycle, and then all 6 hips would pull back to their initial positions. After a few observations, I concluded this to be too unstable for Chop Suey. To fix the instability, I changed the algorithm. After the first 4 front legs completed the forward cycle, I had all 6 servos pull back and push the body forward with the back 2 legs moving farthest back, then the front 4 legs moved forward to the initial position, and the remaining 2 back legs moved forward, past their initial position, and the cycle was repeated.
Below are videos of Chop Suey performing the algorithm, as well as some sample code for this pattern.
By: David Gonsalez
Creating a smooth and fluent standing movement and small current draw is one of the most important goals for Hexapod. One of the main issues with coding the prototype Chop Suey is running multiple servos simultaneously.
We have observed that making all the servos hold at the same time causes the servos to jitter, or shake and Chop Suey loses its ability to stand or hold its position. Another limitation that exists is the Arduino micro-controller’s inability to carry out parallel computing. The Arduino can only execute commands line by line.
In order to achieve the appearance of simultaneous movement from all servos and to avoid making the servos jitter, creative coding had to be used. One of the best examples of this coding is the use of for-loops that contain a call for each servo which required a movement, then using an incrementing variable to adjust the position accordingly. This way, instead of making all the servos do something simultaneously, each servo will adjust continuously, independent of each other, and their actions will be delayed from each other in milliseconds. The actions of the servos are quick enough to maintain Chop Suey upright and too fast for the changes to not be noticeable.
The video of Chop Suey below shows the robot going from completely off, to standing up, to slowly releasing, to dropping down and finally to pushing itself up again. The feet have little grip, so I am holding one of the feet to allow for the robot to have some traction. This grip issue will be resolved in the Hexapod. We have also posted a sample of the code below. We are going to continue testing the code and will provide a detailed analysis of the current demands with this programming.