When designing our base robot, we establish criteria at the outset, such as desired footprint, height, balance, drive train, sensors to be used, user interface, etc. to arrive at a working prototype. We also strive to design and build a base robot which is robust and which features a frame around the chassis to provide structural rigidity as well as means to square up against walls and mission models. We design attachments keeping in mind that these attachments need to be easy to install and remove, robust, and both passive and multi-purpose whenever possible. From testing the prototype base robot and the attachments, we make revisions to our work in order to combine and speed up missions and increase repeatability to achieve maximum efficiency. By the end of the season, our attachments will often be in their fifth or sixth iteration.
When first designing our robot we wanted to make sure that all the light/color sensors behaved similarly. Color sensors each return small differences in readings because of variations in manufacturing. For example, if you were to place two different color sensors on the same black line, each would return different values for light intensity. Sometimes the difference may be significant. To make sure that all our light sensors had about the same reading we completely shielded ten color sensors to eliminate the variable of ambient light and recorded the reading for each of the color sensors on black, white, and green. We then found the three color sensors which have the closest reading to each other and used those three color sensors on the robot.
We have found the the green EV3 move blocks (Move Tank and Move Steering) are unreliable. Although they have a built in PID feature, they still do not move the robot in a straight line. To test this, we set a designated starting spot for the robot and then we ran it until it hit the wall on the other side of the table. We repeated this dozens of times and found that each time it would end up in a different spot on the other side of the table. Each time it would be up to one inch away from the previous run. Then, we made our own error-corrected move block (which you can read about in the programming section of this website). We conducted the same experiment using our block and found that there was much less error and the robot would consistently end up in the same position on the table.
Our light sensors were dependent on the distance they were away from the mat. We found out that our light sensors were too low to the mat and were not picking up proper light readings. We used the EV3 experiment which can track the different movements on the motors and sensors. We tracked the readings to see if they would change properly from white to black; 100 to 0. They did not reach those values so we realized it was too far from the mat.
Our base robot is very robust and compact with a frame for strength. We also have three light sensors and a gyro sensor, for maximum flexibility, with shielding from ambient light. The robot’s main drive wheels are large in diameter and small in thickness to make up for this year’s field’s long travel routes. However, we sacrifice some accuracy due to our large diameter wheels which increase the error associated with the drive motor. The robot uses small wheels without rubber on them as sliders, as to be steering neutral. Our modular design and attachment bay allows the robot driver to install and remove attachments quickly and accurately, while our brain’s positioning allows for easy swapping of batteries.
Name of Attachment | Description | Picture |
---|---|---|
Rain Pipe | This attachment is a large frame with wheels. It has a long horizontally-moving forklift arm that connects to the gears on the robot when the frame is placed over the robot. As the robot moves along the east wall towards the Flow mission using guide wheels, the arm extends to push the Filter in, then lifts to move over it. When the robot reaches the Flow mission, it pushes the Pump Addition into the wall and triggers the Flow mission using angled beams. The arm extends to the Rain mission model. The robot then moves backwards along with the arm, triggering the Rain. The attachment has a small basket to take rain back to base. The robot moves towards the wall again and moves the arm again to push the Pump Addition into its target. | |
Sludge Truck | This attachment removes the Sludge from the Water Treatment Model and brings it back to base for the final mission. | |
Double Pipe | An arm falls onto the flower’s base, pressing against the ground while also pushing the water into the basin to raise the flower. When the Flower raises, it releases Rain into itself. A one-way latch on the same arm lowers and picks up the broken pipe. The robot drives to the Pipe Construction zone and lifts the main arm along with a gate, allowing the robot to simply drive away and deposit the new pipe without an optional loop. Two axles on the other side of the robot lower and drop a new pipe with an optional loop into the Pipe Replacement target. The robot drives towards the nearest Manhole Cover and flips it by pushing it into the barrier behind it with an axle. On the way back to base, the robot flips the second Manhole Cover using the same method. | |
Pushstrosity | This is our largest attachment, employing a number of arms. It uses the same mechanism as the rest of the attachments to lock the gears into place. The robot pushes the attachment along the south wall using guide wheels. The first mission that it will complete is the fountain mission, using a passive device activated by an arm hitting the fountain to drop a big water into the basin with enough force to raise the fountain. As it progresses, it will use one arm to simultaneously drop the tripod into its target, flush the toilet and extend the arm carrying the Slingshot, while slowly lowering another arm which will later drop off the well. When it hits the east wall, it will complete the sink mission, suspend the Slingshot, and fling 2 Big Waters and 3 Rain into its target. |