MECHABRAINS
MECHABRAINS
Romeo Garcia Jr., Anthony Macias, Karim Rishani, Irene Yeu
In either Stage A or B, make contact with the contact zone, deposit a ball in the shooting goal, and celebrate!
Initial Concepts and Sketches
From our class presentation, these were the initial concepts we wanted to go with. As you will soon see, they were not the ideas we went with but still served as a basis for our design.
Pitching Machine:
Very ambitious idea to get DARTS into the shooting zone.
Omni-Directional Wheels:
Not the concept we went with, but the concept we later realized we should have stuck with.
Navigation:
Initially we thought of a portruding array of sensors to help our robot line follow and complete the tasks.
Servo Motor:
Used to open up our slide to allow DARTS to flow out and to complete our celebration task.
Ultrasonic Sensors:
These sensors were planned to be used to map our location and better orient ourselves on the course.
DC Motor Schematic:
The DC motors were used to drive the wheels of the robot. The L298N was used to control these motors with the Arduino.
OPB704WZ (Line Sensor) Schematic:
Used an 82 ohm resistor for the IR LED given that the forward voltage was 1.7V and that the forward current was 40mA. Similarly, through trial found that a 50K ohms resistor for the phototransistor gave us consistent light readings for the respective areas.
CAD of Initial Design:
Initial design had one caster wheel and two motors as well as a similar design to that of our final one.
Initial State Diagrams:
Preliminary state diagrams to help guide our robot's decision making.
Initial wiring: button suite, motors, IR sensors, and ultrasonics:
Our strategy was as follows: Use the button suite to ascertain general intial orientation and arena type. Then use line followers to maneuver out of the first section, and reach the contact zone. Then use servos to make contact with the contact zone, and use ultrasonic sensors to reach the shooting goal. Then actuate servos to release our balls, and celebrate! The code that we used to test our subsystems and satisfy checkpoint two can be found in the "Code" tab of this site.
CAD Model:
Beautiful CAD model to help position our components and make manufacturing (laser cutting/3d printing) easier.
Wiring:
Before this checkpoint we added a few things to our sytem:
3A fuse after our breaker
Wiring to connect our batteries in series
Buck converter to bring the battery ~14.2V to 12V
We moved away from our "Ring of Buttons" idea, and left one button to denote Course A versus Course B. Throughout our testing, we found our robot had difficulty navigating sections that did not have lines of tape to follow. These navigation difficulties occurred because our robot struggled to drive in a straight line, even after tweaking around similar PWM values.
This issue was due to three main reasons. Firstly we had quite large wheels. Small deviations in the angular velocity of the wheels lead to a more drastic effect on it's translational motion, and in consequence make our robot turn. Secondly, we had a caster at the back of our robot as our third point of contact. This meant we had no constraints on the sideways translation motion. The use of two wheels at the back would mitigate the unwanted effect that our front wheels were doing. Finally, we had quite high RPM motors. Lower RPM motors would give us more accuracy on its angular velocity. This issue aggravated the previous two characteristics.
To aid these issues, we began to replace some of our line sensors with ultrasonic sensors. Our final sensor configuration included 5 ultrasonics (1 on each side, 2 in front) and 1 line sensor.
The two ultrasonic sensors at the front were crucial in making our robot drive straight. We levraged the fact that if our robot is facing perpendicular to the wall, we should be getting similar or equal readings on the front left and front right ultrasonic sensors. If the difference in readings between both front sensors were above a certain threshold, we would increase the PWM of the respective motor to straighten it out. It also helped us with our turning, since for each turn we rotated slowly until our two front-facing ultrasonic sensors received very similar distance values. The 3 other sensors (back and sides) allowed us to get even more accurate data when needed.
Then, to drop the DART and celebrate, we actuated our servo motor every 5 seconds. Our robot was hilariously the last to be checked off (best for last), but we won our first battle in the tournament.
Check out the video of us checking off right below!