This year, we had several main considerations that we put into the mechanical design of our robot.  Some of these mention some programs that we use to make them work accurately, and you can find more about that on our Programming page. We have 2 EV3 kits available for us to use.

Modular Attachment Design: Last year we moved from attachments that go directly onto the motors to an attachment system that allowed us to attach “frames” onto the robot.  This allowed our attachments to be a lot more advanced, but they required more time to put on the robot.  This year we decided to stay with that concept, but redesign the attachments so that they went on easier and faster.  We also had problems with gears that were opposed 90 degrees, because they would pop and strip the gears.  So, when gears were needed to go in a different direction, we decided to use worm gears.  These are great, very powerful, and worked well for challenges that use a lot of weight or torque.  However, they are also very slow, and we have had to make numerous adjustments in programming and robot design to make it work well.

Rear-Wheel Drive: In the past, we have experimented with Front-Wheel Drive, Rear Wheel Drive, and even a “Center-Wheel” Drive to see which would work best. This year, we stayed with the same basic drive design as last year, which was a rear-wheel design. Originally, we really liked the idea of the Center-Wheel Drive because it would allow us to turn around the center axis of the robot, but it wasn’t going to be the best option. Whenever we drove a center-wheel robot along the wall and then turned, the back corner would hit the wall and bump the robot a bit, both slowing it down and also creating the possibility of having random inaccuracies in the positioning/angle of the robot.  The same issue happens a lot with front wheel drive robots, so we decided on a rear-wheel drive design.

Frame Rigidity: We tried to make the frame of the robot as rigid as possible, both so that it can support the weight of the attachments, but also because it will help the robot be as accurate as possible when driving and turning. In past years, we have used the EV3 brain as an integrated piece of the frame, but we have had 3 occasions where the brain crashed on boot, the hard-reset did not work, and the only option was to disassemble part of the robot and take the battery out.  Therefore, we decided to build a rigid frame design without the Brain, and then put the brain on top.  This resulted in a taller, more top-heavy design, but repairs are a lot easier this way.

Wheel Size: We decided on the skinny, tall wheels because they gave our robot a decent clearance to get over any challenges on the board, dropped pieces, etc. Their small width helps to fit through some tighter areas as well.
They offer good acceleration/top speed because of their large diameter, so they cover more distance per rotation of the motor than a smaller wheel, and without any extra gearing.

Color/Light Sensor:  We use the color sensor to find black lines and stop the robot so that it can be in the right position for some of its tasks.  We can also use the sensor to follow the lines for certain challenges, such as the pipe removal/replacement mission.  We do not do that, however, because our Gyro program works so well that we don’t want to take the time to use the line follow, since using the gyro is a lot faster, and almost as accurate.

Gyro Sensor:  We use a gyro sensor to turn and drive the robot accurately.  We have come up with a PID Gyro program that uses error correction to allow the robot to move quickly and keep on target.  We have also created an error-correction turn program so that the Gyro checks it’s location against the desired turn amount and then makes a correction to put the robot accurately on the right angle.

Touch Sensor:  It can be rather hard to start the robot for each run without moving the robot’s starting position if you are using the buttons on the top of the EV3 Brain. Especially when using jigs, the starting angle of the robot is essential for the accuracy of the program. So we integrated the touch-sensor as a start-button for each program.

Lego Ball-Bearings: We have taken to using the Lego ball-bearings as the front supports for our robot because they are very versatile, and much better than placing wheels on the front. Regular wheels do not allow the robot to steer easily, and add friction/resistance to any maneuvers that the robot needs to do. This is especially true with a “tank” style drive (motors on both drive wheels), which it seems most robots have. We’ve found that these ball-pivots are very strong, and can even run over moderately-size rough obstacles (like the gaps in a ramp) without breaking, provided that they are properly attached to the frame of the robot.