hello, we are team 4!
team name: ro6ots robot name: cashew jelly absolute baller
the team:
- shara bhuiyan
- natalie huang
- monica liu
- radha patel
how our robot works:
Mechanics:
intake: we use a shaft with two spinning gears lined with rubber bands as our intake mechanism + a 12V 500 rpm motor. the ball goes up a slight ramp and back down into the archimedes screw
archimedes screw: we built a archimedes screw using wooden dowels, a spiraling wire, and a lot of hot glue + a 12V 200 rpm motor. we have another constraining dowel, which keeps the ball in place as the screw pushes it upwards.
draw bridge: we have a servo with a dowel attached to it keeping a door closed to contain the balls. at the end of the allotted time (approx 150 seconds), it opens to release the balls over the wall
Software:
computer vision: used a webcam and opencv to detect balls and walls, our general strategy was:
-
look for green or red circles
- if spotted, turn towards the ball until it is centered onscreen, then drive forward and intake for ~3 seconds
- if not spotted, turn in a circle until a ball is seen
-
wall detection:
- used opencv findContours to look for blue / yellow contours, which were located at the tops of walls
- set breakpoints for the y positions of the contours- if the corners of the detected contour were greater than some breakpoint we found through trial and error, robot would back up, spin in a random direction, and go forward
- dumping balls (disclaimer this worked 0/2 times)
- 30 seconds before end of match, spin and find a yellow wall contour
- roughly center the contour by turning until the corners of the contour are kind of level
- drive towards the yellow contour / wall for 10 seconds
- turn the servo to drop the ramp and release the balls
path planning: none! because we thought the field would change every match
software challenges:
-
hard to balancing crashing into walls vs avoiding walls too much
- robot ended up kind of being unable to get balls that were too close to the wall because it prioritized not hitting a wall
- balls were not always detected because we spun too fast
- also the wheels kept falling off and we couldn't turn left because the robot was so chunky the weight was too much for the wheels (this is not a software challenge but whatever)
our CAD
thanks for visiting our page!