ECOBOT

An Animated Landscape

Created by Adrian Bockian '09 and Alex French '11 for Robotic Design Studio (PHYS/CS 115), Wintersession 2009.

Home

How EcoBot works

Inspiration

Construction

Code

Exhibition

Creators

Acknowledgments

 

Construction

We wanted to simulate the process of water getting polluted and then being cleared up, repeatedly, so we e-mailed Flick Coleman, professor of Chemistry and Alex's ES 101 professor, asking if he knew of any chemicals that could be used for this process. He suggested starting with water and sodium hydroxide (base), adding ferric chloride to turn the base a cloudy brown and form a precipitate, and then adding hydrochloric acid to remove the precipitate and clear up the water. We found these chemicals in the Science Center's stockroom and began experimenting with them in a chemistry lab, but we couldn't get the desired results. Later, with some help from Flick and using different proportions than the ones we had used for the first trials, we were able to get the general pollution and clearing up effect, although the hydrochloric acid didn't completely clear up the water, leaving it with a yellowish tint. Flick suggested using ferric nitrate and nitric acid instead of the ferric chloride and hydrochloric acid, respectively, to achieve an even better effect. So we got these items and experimented with them. Here's a picture of our lab tests in action:

picture of chemistry lab chemicals and setup

It took a while to figure out the proportions and then to be able to repeat the process, and we still weren't sure exactly how many times we could repeat the process and still achieve the same results, let alone how we would get our robot to keep dumping the right amounts of these chemicals in the water or how the water would be emptied out when it filled up. We were thinking about using a water pump. This was getting pretty complicated. Because Harry and Marie from the stockroom warned us that nitric acid was extremely acidic and caustic to the skin, we decided it would be best to have our water self-contained. We thought we would start with a low level of water in the container and have a few test tubes with the chemicals that were to be added. The test tubes would be connected to the water container through plastic tubing, and we would use a catapult mechanism to have the test tubes stand upright and then fall when they were to be dumped, staying down for different amounts of time, depending on the amounts that needed to be added to the water, and then rising back up. For repeats of the cycle, different amounts of the chemicals would have to be used than before, meaning the robot program would have to be pretty complex. Eventually, Robbie and Lyn (our professors) advised us against using ferric nitrate and nitric acid in our robot, since kids would be flooding the exhibition. They suggested a more symbolic way of polluting the water, such as light or colored film. We decided to go with this plan. Despite all the time we had already invested in making the chemicals work, we were still anxious about getting the robot to dump them for us and about the difficulty of keeping everything contained, so it was a relief to settle for something simpler and more symbolic. We thought we would use a closed plastic container (with or without water), shine a light under it, and have the light go back and forth between different colors to simulate clear and polluted water.

Meanwhile, we had been working on other mechanisms. For the trees rising and falling, we used the picocricket catapult motion module. We connected three tree stems (axles) in a row, so that all three would rise and fall at the ssame time. Because the axle connecting the tree bases was on the bottom of the mechanism, it made sense to turn the whole structure upside down:

picture of lego mechanism causing the trees to rise and fall

It might be a little hard to see here, but there are three horizontal axles: one supporting the trees, which lies in between the two axles stopping the trees from spinning all the way around. In this picture the trees are resting in the fallen-down position, on the lower axle.

When we took a trip to the crafts store, we found a cute plastic deer and decided to use it instead of moose to move away from the water and return to it. Here is the track mechanism we set up for the deer, with the deer glued to the track:

picture of the deer track mechanism

another picture, with the deer looking pompous:

another picture of the deer track mechanism

We had to support the two ends with legos to keep the track taut; before adding these supports, the weight of the deer caused the axles to bend toward each other and the track to come off the gears when it was turned.

Next we made the first iterations of our oil rig and windmill:

picture of first iteration of oil rig and windmill

top view:

picture of top view of first iteration of oil rig and windmill

We didn't have a great idea of what an oil rig looked like, so we found this picture through Google images. It appears in an entry for an online blog, Houston's Clear Thinkers:

picture of a real oil rig, found on the Internet

We wanted to have the oil rig actually "drill," so Alex improved the arm and head, adding an axle that would do the actual drilling and a lego piece to keep the end of the axle "underground" (see two pictures down, on the right).

The windmill, with no gearing, spun way too fast for a windmill, so Alex geared it down. A lot. As in, all the way to a gearing ratio of 125:1:

picture of windmill gearing

Alex was hoping to keep the same base size for the windmill as the first iteration. If we were going to have the oil rig and windmill bases rotating on an axle, we wanted to keep them as light and simple as possible. She used right-angle gearing in hopes of having a more square-shaped base for the windmill (as opposed to a long rectangular one that would be needed for a single row of gears). Nevertheless, this gearing would not come close to the size of the original windmill base or of the oil rig:

picture comparing windmill gearing size to sizes of original windmill base and oil rig

From left to right: original base, new windmill gearing, updated oil rig

Alex managed to sacrifice a little gearing and to make it a little more compact, but the base was still longer than the oil rig. This had to do. The new gear ratio was 75:1. The windmill spun faster, but a windmill could spin this fast with high winds. Here is the final windmill with its gearing, mounted to its base:

picture of final windmill gearing

top view:

top view of final windmill with gearing

Now the windmill and oil rig had to be mounted, at angles to each other, to a rotator that could turn them on an axle. We had imagined gluing each structure around large wheels using an equilateral triangular prism shape (with the third side being just a flat lego layer to represent grass, which we planned on making later). When we shared our idea with Lyn, he suggested using other triangular configurations -- perhaps a right triangle or something else that could be made by using lego beams as diagonal braces. We liked this idea, and Alex managed to come up with an isosceles triangle of lego braces, which could be divided in half to form two right triangles, each with a 6-8-10 side ratio based on the Pythagorean theorem. This ratio was very useful for counting lego beam holes and knowing where to insert connectors. The isosceles triangle was braced onto a vertical stack of lego beams. We would need two of these stacks eventually, but before Alex went any further, she decided to make a smaller prototype to make sure she could build a rotator mechanism that worked. Here is what she came up with:

picture of rotator prototype

another picture of rotator prototype

The rotator is essentially a rotisserie-like structure. At Adrian's suggestion, Alex connected the two walls with a cross-beam and stabilized them on both sides with vertical bracing, as shown. Now Alex had to see if she could actually get it to turn! She knew it would need a lot of torque, so she decided to start with a 125:1 gearing ratio:

picture of top view of rotator prototype gearing unit

picture of corner view of rotator prototype gearing unit

picture of rotator prototype gearing unit next to rotator prototype

Alex lined up the gears, without attaching the two structures to each other (see below), and held them in place while testing the motor, and it worked!

picture of rotator prototype with gearing unit lined up to it

Now that she knew what to do, Alex had to build everything in full scale for the rotator we would use. She started with the section that would rotate on the axle, making a second wall with a triangular brace. She connected the diagonal braces on each wall with a row of diagonal beams and then mounted the oil rig and windmill on these rows, pressing down hard to get everything into place and secure:

picture of rotator unit, with view of attached windmill and oil rig

picture of rotator unit, front view

a close-up of the final oil rig on the rotator:

picture of final oil rig iteration, attached to rotator

The oil rig and windmill are mounted on the equal sides of the isosceles triangle. For the flat grassy surface, Alex made a layer of side-by-side lego beams and stuck it on the short side: (rotating structure turned upside down)

picture of rotator unit turned upside down, with view of flat grassy surface side

Then Alex built end walls and connected and braced them, in the same way as she had on the prototype but on a larger scale. The new rotator base was able to support the rotating structure when she put it together! Here it is, with the grass side on top:

picture of rotator unit attached to base

top view; it is hard to tell, but the rotating structure is separated from the outer walls by enough space to let them turn:

picture of rotator unit attached to base, top view

another picture of rotator unit attached to base

Now Alex had to get this boulder of a structure turn. Just for kicks, she tried raising the the prototype's gearing and lining it up with the new rotator to see if it would work:

picture of rotator prototype gearing unit next to final rotator and base

The rotator was seemed to be trying to move but didn't accomplish much. Plus the end of the gearing structure was sagging and not secure. Lyn suggested lining up the gearing structure straight in front of the rotator, rather than off to the side. Alex decided to do this. She built a more stable tower support and increased the gearing ratio by a factor of three, now making it a grand total of 375:1! Using cross beams and a brace extending beyond the edge of an end wall of the rotator, she connected the tower loosely to an end wall on the rotator to make the motor and gears stable. Here is the final gearing tower, with reconfigured and increased gearing, connected to the rotator:

picture of rotator gearing tower, connected to final rotator unit and base

Now, she hooked up the motor and tested the rotator, and it rotated successfully!

picture of final rotator unit, base, and gearing tower, connected to the handy board

view from top, with a clear view of the gearing:

another picture of final rotator unit, base, and gearing tower, connected to the handy board, with top view and close-up of gearing

another picture of final rotator unit, base, and gearing tower, connected to the handy board

Now Alex had to program the rotator to rotate the right amounts at the right time. Because we wanted the oil rig and windmill also to operate, the wires connecting them to the handyboard would get tangled up if the rotator always rotated in the same direction. Adrian suggested having it turn clockwise going from grass to oil rig, then counterclockwise going from oil rig through grass to windmill, and then clockwise going from windmill back to grass (to repeat the cycle). After several timings and trials, Alex was able to program each individual transition and the operation of the oil rig and windmill without any wires getting tangled! (See the code for details.)

 

Meanwhile, Adrian had been working on a lot of things on her own. She built the model factory from legos, inspired by a picture, seen at left.

inspiration for factoryour model factory

We realized that the deer would need to move much more slowly, so Adrian modified the gearing to increase the gear ratio:

picture of deer track mechanism with increased gearing

picture of deer track mechanism with increased gearing; front view, with clear view of gearing

close-up of gearing; deer still looking pompous:

picture of deer track mechanism with increased gearing; close-up of deer and gearing

Adrian constructed the model log cabin from popsicle sticks. She also cut the top and bottom off a soda can to create a trash bin and created a chute from plastic water bottles. This chute was disposed of, however, when we decided to use the trash can alone and eliminate the landfill.

Other features of EcoBot that were eliminated in the final rendition were the bike path and national parkway, the tracks for which Alex created. The two inner tracks would be the bike tracks, going in opposite directions, and the two outer tracks would be the car tracks, also going in opposite directions. The outer lines of axles were going to act as hinges to unfold and refold the frame so that the two car tracks could be revealed or hidden. This is as far as we got before scrapping the idea because of time constraints:

bike path and national parkway

The lake is essentially a clear plastic Chinese food container, spray painted brown, and filled with water. For the recycling bin, we taped a blue plastic cup with a recycling symbol on it to the board. Adrian printed out instructions for the user and taped them to a piece of cardboard which would serve as the front panel of the robot.

Now that we had all the pieces, we started building and putting everything together. EcoBot's final design is a box with the landscape on top and all the robotic mechanisms concealed inside. The landscape rests on the front panel and two side panels, which are mounted on a large piece of cardboard. Once we had arranged the HandyBoard, Scratch Board, and two PicoCrickets, with all connecting wires, under the landscape (which required a lot of precise-height support-building, aligning, and taping), we sealed the cardboard base, side panels, and landscape using packaging tape. We then mounted the trash can, recycling bin, and log cabin to the landscape. Adrian put signs with instructions on the front panel, and we cut two holes in it for touch sensors and mounted it only at the base, so that we could open the front end of the box for easy access to the PicoCrickets. We left the back entirely open to allow for debugging EcoBot if needed and to connect the Scratch Board to Adrian's laptop. Using materials from the diorama kit we got at the craft store, Adrian added some shrubbery to the landscape and leaves to the trees.

Here are some pictures of the final EcoBot, from the Exhibition:

picture of final Ecobot, front view

picture of final Ecobot; view from front corner

Front panel open: view of wiring, rotator base, and cardboard supports made for trees and deer:

picture of final Ecobot, front view, with front panel open and wiring and supports visible

View from behind, with laptop for Scratch:

picture of final Ecobot, back view

another view from behind, with cardboard supports and handyboard visible:

picture of final Ecobot, back view, with more wiring and supports visible