Menu

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!