Organizations / United States / SMART / David Schilling / CrateContraption / 2003 |
The Crate Contraption - 2003
The Lego Road Show
The Crate Contraption was just part of a larger layout for the Seattle Lego Roadshow. The whole layout was three levels, with the robots being on the lowest level. The next level up, a space display flanked one side, and a castle display flanked the other, both done by SEALUG members. Finally right above the robot display, covering much of it was a train/town display by PNLTC. Several comments were made about the robots underground, Metropolis, or Eloi and Morlocks :-)
The Road Show layout for the Crate Contraption was as follows: One end of the layout had a dumper that would take full crates off the rail line, dump the balls into a hopper, and then return the empty crates to the train car. The balls would go up a ramp and be dropped into a pneumatic combiner. This was essentially a shovel that scooped the balls up, and dropped them again. A small fraction of these balls would roll down a ramp and drop into a waiting, empty crate. Gus Forklift would take an empty crate, swap it with one that was now filling, and take the full one to the other end of the table. At the other end of the table was an arm that picked up empty crates from the rail line, put them in a waiting position, and would take the full crates that the forklift was delivering, and place them onto the train car. The forklift, after dropping off the full crate would pick up the empty one to start its loop over again, while the train car with a full crate would head off to the dumper to start that loop again.
There were a lot of problems that our robot display encountered that weekend, mostly because Seattle was having a mysterious lack of clouds that weekend. As if it wasnt enough that we had sun, because of the layout, there were sections of the layout that were in the shade. A light sensor used to track a line doesnt work too well when you ask it to follow a black line on a white surface when parts of that surface is in the sun, and other parts are in the shade. This far north, and this late in the year, the sun also was quite low in the sky, making impromptu shrouds less than successful in dealing with the situation. Nevertheless, we managed to have the display working pretty well by the second half of the second day, and most of the third day, but there were lots of little problems even then.
The second show we did was the following weekend, for NWBrickCon. To our initial dismay, the request that we not be anywhere near the windows was lost, and our display ended up right beside the windows. Fortunately the weather cooperated with us this weekend, and we had lots of clouds, a little rain. And best of all, we could close at least some of the curtains to block the more direct light that would mess up all the light sensors again.
This time we had enough space to display all the robots. Heres the NWBrickCon layout. There were three main loops in the display. The smallest one was Gus forklift taking crates that the pneumatic combiner filled and dumping them into the sorters pitcher. The sorter then sorted the balls into two crates, one for basket balls, the other for soccer balls. The basket ball crate was picked up by one of Marks forklifts, brought to the Arm, which placed the full crate on a rail car. The car was emptied by the Dumper at the other end of the display, and empty crates sent around to the arm again. The soccer ball crate was picked up by a second, identical forklift of Marks, brought to a crane, which also put the crates onto a rail car. Since there was only one loop of track around the layout, but two different places where full crates were placed on the track, to prevent a waiting state should one loop pause, there was one additional robot that managed a switch, and monitored the two lines, keeping the two stations serviced with cars.
Here are four Overview videos showing the whole layout in action. The first three are normal speed, the last one is sped up by a factor of two.
Overview 1 - 7.8Mb (length: 0:29.5)
Overview 2 - 13.7Mb (length: 0:52.0)
Overview 3 - 6.4Mb (length: 0:24.2)
Sped up overview - 20.4Mb (length: 1:16.7)
(If you need to download the DivX codec, <http://www.divx.com> will have it - either click on the second tab DivX or on the red Download now button on the flying cow ad. Under the comparison table is a link to Standard DivX Codec(FREE). This will let you see the movies in Media Player.)
Robot Descriptions and Videos
What follows is a brief description of the various robots used.
The arm was probably the most traditional robot of the lot. It moves crates between three positions. Like most of the other robots, its program is set up so that a pretty simple script is written for how the robot is supposed to behave in a specific layout. The robot knows how to remove a crate from a train car, or put one back, as well as how to move crates that are placed on the ground. It can even (we found out accidentally) stack two crates on top of each other! The robot senses a crate by using a touch sensor at the top of the claw. When lowering the arm to pick it up, it knows that as soon as the sensor is activated, its low enough. This same sensor is also used to determine when a crate has arrived. The Arm must wait for other robots to deliver or pick up the crates. Since there is no communication by the other robots that this has been done, every few seconds the arm lowers and rises again quickly. If a crate has just arrived it waits a few more seconds to let the delivering robot let go and move away before picking up the crate and moving it to its next location.
Heres a 10Mb video which is 38.6 seconds long showing how the arm operates.
The combiner receives crates of sorted balls, and combines or randomizes them using a pneumatic driven scoop as well as a specially designed slope. The scoop moves balls around in the holding area as it wiggles back and forth to get to the bottom. Then it scoops up a large number of balls, and drops them over a slope which sends balls in random directions as they roll down, back into the holding area. A small number of balls are diverted to a waiting output crate, which will thus contain mixed balls. Four mini pneumatic pumps are constantly running to provide enough pressure for the large cylinders. This is the only robot that used a non-Lego sensor, a pneumatic pressure sensor, to tell when there was enough pressure to continue with its cycle of scrambling the balls.
Here is a 17Mb video which is 1:04.9 long that shows the Pneumatic Combiner in action.
The Crane performs a job very similar to the robot Arm. It can be set up with a simple script, as well as with the positions of a couple of white tiles on the gantry on which it runs. In the configuration we used, it had three positions, one of which was on a train car, the other two on the ground. The Crane waits for crates to be removed. It uses a light sensor looking down. Each of the positions used some retro reflective tape. When a crate covered or uncovered the tape, it knew that it could continue its loop. Like the Arm, the Crane would have to wait for other robots to deliver or pick up crates.
Here is a 19Mb video which is 1:13.7 long showing the Crane.
The Dumper takes a crate full of balls off a rail car, empties it, and puts it back on the car. The balls all end up in a hopper which feeds the balls, one by one to a long, sloping conveyor. The balls roll off the top of the conveyor to whatever the next robot is. In our layout this was the Pneumatic Combiner.
Here is a 12Mb video which is 46.8 seconds long demonstrating the Dumper.
Gus Forklift is a super robust robotic marvel. Fine engineering is always evident with every robot that Gus creates, and this one is no exception. The Forklift not only follows a line, picking up and dropping off crates at indicated locations, it can also lift the crate high up, and empty it by dumping the contents. A simple script is written for a specific layout that tells the Forklift which side of the black tape to follow, and what to do at each marked spot. Three light sensors point down. One watches for the marks, while the other two are used for tracking the line, one when driving forwards, the other when driving backwards! The back light sensor is doubled up with a touch sensor that measures how high or low the robots forks are. Two motors are used for steering, leaving only one to lift the crate and tip it when needed. This is one place where the engineering skill of Gus shows its mark. With the exception of when the robot was very low on batteries, I dont think this robot ever failed to function as it was designed -- perhaps the only robot on the display to work this well. And even the failure with low batteries was very consistent. This is how well I wish I could design my robots!
Here is a 16Mb video which is 1:01.4 long showing the genius of Gus Forklift.
Mark built three identical Forklifts of which two were used in the large layout. The third was a hot standby used when the batteries were changed on one of the other two. This Forklift used tank treads for steering. It also followed a line with marks to indicate where actions were supposed to take place. Again a simple script was written for each layout to determine what the indicators meant. These robots were simple and elegant, and did their job well. The forklifts, (Marks as well as Gus) were the workhorses of the display, the most interesting thing to watch. And other than the rail cars, were the only mobile robots we had. Perhaps this will be an area where some other robots can be built for future shows.
Here is a 16Mb video which is 59.7 seconds long showing the other two work horse robots in our display.
The Sorter took a random stream of soccer and basket balls as input and sorted them. The basket balls would roll down one ramp and the soccer balls down another. Distinguishing between the two balls is quite difficult with a Lego light sensor. The soccer balls black and white spots are respectively darker and lighter than the basket ball. To sort them the balls need to be rotated as they are being examined. A pulsing of bright/dark/bright means that this is a soccer ball. No pulsing usually means that its a basket ball. But sometimes as a soccer ball is rotating, it will line up exactly so that no black spots fall under the sensor. So occasionally a soccer ball will end up in the basket ball crate.
Here is a 9Mb video which is 35.3 seconds long of the Sorter.
The tosser isnt really a robot as it doesnt use an RCX. It takes a hopper full of balls, and tosses them, one at a time, into the next robot in line ... the sorter in our big layout. (For a video, see the red gizmo in the Gus Forklift, and Sorter videos.)
The Train stations are pretty simple robots. They consist of an RCX, two isolated sections of track, and a touch sensor. Their job is to stop a rail car at an exact spot so that other robots can remove or replace crates on them. Also, they need to queue up waiting rail cars in case more than one shows up at a time. Hence the two sections of isolated track -- a short one immediately at the spot another robot will service a car, and a longer one for queuing waiting rail cars. The train station was the only exception we had to our no communication with other robots rule. They would communicate via light sensors with the robot servicing the station. Im not sure if this has been done before, but the basic idea is to put two light sensors head to head inside a little box to block off ambient light. You can signal the other RCX by changing the light sensor from active to passive for a moment. The LED will turn off, which can be detected by the other RCX. One bit of data can be sent either way. Slow, but for the train stations it worked great. The RCX monitoring the rail line would signal when a car was available, and the servicing RCX would signal when the car was allowed to leave again. The big layout used three stations: one for the Crane, one for the robot Arm, and one for the Dumper. (To see a train station in action, see the Dumper video.)
The last robot in our layout was also one that monitored the track. Since there were two places where crates were loaded onto rail cars (the Arm and the Crane), in order to not have one wait long periods of time, we decided to use two parallel sections of track. The Switch then kept track of which section had cars in them, and which sections needed cars. It also kept the cars from colliding should both stations release their cars at the same time. (No video.)
Finally, if youve read this far, there is a Blooper video. Yes, our robots didnt function properly 100% of the time. Some times the failures would be pretty funny. Other times just frustrating. If youre willing to wait for the download, heres a 26Mb video of most of the accidents caught on tape. Sadly some of the more interesting ones happened when the camera wasnt on, but thats why you need to come see the setup in person!
Originally we called the display Cooperative Cybernetic Crate Contraption. After witnessing some of the more interesting bloopers, we started calling it the Crazy Crate Contraption! (or worse:-)
I want to thank everyone who participated and provided robots for the display, especially Mark, who built the vast majority of the robots! Thanks!
Primary content in this document is © David Schilling. All other text, images, or trademarks in this document are the intellectual property of their respective owners.|
|| ©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR