Undergraduated Cylinders
Members
Sabina Chen
"Two robots run into a bar; the third one had a better driver."
Sabina is an MENG student at MIT. She finished her undergrad from MIT in 2019, majoring in Electrical Engineering and Computer Science (6-2). Her interests lie in robotics, particularly in hardware/software integration and project management. She wanted to take MASLAB to get experience building a robot end-to-end. In her free time, Sabina enjoys reading, figure skating, hanging out with friends, or playing with her cats. Team lead who mainly does Software and Electronics.
Alisha Fong
Sabina:
Alisha: "Ok b0om3r"
Alisha is a 6-2 sophmore. She thinks smart consumer electronics are cool and robots are even cooler. She also likes film photography, badminton, and cats. The unofficial EE of the team.
Adrian Silva
Adrian is a course 8 minoring in computer science in his last year here. He is interested in computer vision primarily because of how geometric it is. He likes the piano.
Erina Yamaguchi
A freshman from the San Francisco Bay Area, she decided to take this class after enjoying building robots for FIRST competitions. Besides working on robots, she enjoys baking, cooking, and figure skating. The meche lead of the team.
Chenkai Mao
He wrote the cylinder locating code tho
Journal
Week 1
Monday, 01/06
- Lecture:
- Game Overview
- Solidworks
- Software:
- Setup communication mediums (slack, trello, github, when2meet, piazza)
- Reviewed linux, command line, opencv, and controls (+short intro to ROS)
Tuesday, 01/07
- Lecture:
- Prototyping
- Design Principles
- Laser Cutting Training
- Brainstormed robot designs:
- Used post-it notes to generate ideas
- Came up with a general strategy for what we wanted the robot to do
- Began prototyping
Wednesday, 01/08
- Lecture:
- Electrical
- Linux/Cmd Line
- Git Training
- Software:
- Setup ROS packages and skeleton scripts
- Got camera and lidar working
- Build:
- Built most of the kitbot (missing set screws for wheels + standoffs/screws for motor controller).
- Brainstormed more robot designs:
- Used napkins to draw out ideas instead of post-its (we've upgraded yay) <-- is this really upgrading though
Thursday, 01/09
- Lecture:
- ROS
- LIDAR
- SLAM Lecture
- Software:
- Got hector slam working
- Robot's onboard camera is now able to identify cylinders based on color!
- Brainstormed even more robot designs:
- Realized there was a design constraint using lidars, trying to work around it...
- First all-hands meeting:
- Figured out high level goals, and set deadlines for the rest of IAP
- Divided ourselves into sub-teams based on individual interests/expertise
- Briefly sketched out software pipeline
- Set weekly team meeting times
Friday, 01/10
- Lecture:
- Computer Vision
- Control/Estimation
- Software:
- Got marker visualization working on rviz
- Started working on path planning and angel tag identification
- Setup VMs on personal laptops
- Brainstormed even more robot designs:
- Lidar design constraint has been lifted, but we still BRaiNStorMiNG
- Ordered parts to test out potential ideas
Week 1 Summary
- General
- Met each other for the first time
- Setup team workflow
- Came up with competition strategy
- Software
- Got ROS, camera, lidar, HectorSlam, and rviz visualization working/integrated
- Started working on computer vision and planning algorithms
- Build
- Half-built the kitbot (oops)
- Brainstormed competition robot design... alot
Week 2
Monday, 01/13
- Software
- Got kitbot driving via kitware
- Build
- Converged on plausible robot design idea
- Started CADing robot for design review
- Connected electronics on kitbot (NOTHING BLEW UP HALLELUJAH)
Tuesday, 01/14
- Software
- Got kitbot driving via joystick w/ mux
- Got angel tags working!
- Tested hector slam by driving kitbot (it uh, makes a map)
- ROS path planning packages are confusing :(
- Build
- Continued CADing for design review
- Mounted electronics onto kitbot
Wednesday, 01/15
- Software
- OUR NUC DIED SOS HELP MAYDAY MAYDAY "Houston, we have a problem" <-- fixed!
- Build
- Design Review!!!!
- Redesigned robot based on super good feedback from Design Review
- Realized robot needs a name + Realized we're not all undergrads => Named our robot "Semi-graduated Cylinder" (Nickname: SemiBot, Shorthand: Semi)
Thursday, 01/16
- Software
- Got servos working
- Build
- Prototyped SemiBot systems pipeline via cardboard
- Finalized SemiBot design
Friday, 01/17
- Build
- Prototyped intake system
- Created electronics mounting diagram
- Started CADing final design
- Ordered more parts
Week 2 Summary
- General
- Got some good feedback from the Design Review!
- Lots of prototyping + proof-of-concepts out of cardboard
- Software
- Got joystick and servos working
- Figured out what electronics we needed
- Working on CV + path planning algorithms
- Build
- Finished building the kitbot!
- Finalized SemiBot design!
- Starting CADing final design
Week 3
Monday, 01/20
- Martin Luther King Jr. Day!
Tuesday, 01/21
- Electronics
- Tested all digital electronics separately via manual activation
- Build
- Finished CADing final design
- Started laser cutting
Wednesday, 01/22
- Dead from:
- #lasercutting
- #virtualmachines
- #sleepdeprivation
- #lyfe
Thursday, 01/23
- NopeNopeNope
Friday, 01/24
- #screamsinvigor
- cartographer + navigation: y u no work?!
Week 3 Summary
- hELP
Week 4
Monday, 01/27
Things we had to give up on:
- Odometry
- Path planning
- Hector Slam
- LiDar
But at least we got the robot to autonomously follow colored cylinders
Tuesday, 01/28
- EE
- EE things were finalized for the most part. Huffed some lead fumes whilst soldering tons of connectors
- EE stuff stopped working
- Blew a fuse. Went to lab to get 3 more
- Blew 3 more fuses. Went to lab to get 8 more
- Blew 2 more fuses. Saw that the battery polarity was flipped in the terminal bus connection
- Stopped blowing fuses
- Build
- Motors all mounted and working
- Made Mo put the O-ring on the wheels bc we are weak
- Could finally drive around without the wheels falling off. We have very low standards
Wednesday, 01/29
- Software
- Cylinder following code works for the most part until the cylinder goes out of frame. Will add another camera
- Added code to read encoders
- Build
- Intake works on the field but it might not last long
- Made the dispenser holder
Thursday, 01/30
- General
- No more outake
- Software
- Trying LiDar once more for wall following
- Gave up on wall following
- Build
- Added the rack and pinion for sorting cylinders based on color
- Mounted a second camera for the intake
Friday, 01/31
Day of Competition!
Final score: 12.5 (3rd place!)
- Competition Overview
- Tactic: Smash into cylinders and hope intake works (it worked!)
- Result: We got 3 cylinders 1st round (15pts), and 2 cylinders 2nd round (10pts)
- Score Calculation: (15 + 10) / 2 = 12.5 pts
Week 4 Summary