TIMELINE
the making of gwen
Saturday, Feb. 18: 4-9pm
Monday, Feb. 20: 3:30-6:30pm
Tuesday, Feb. 22: 6:30pm-1:30am
Wednesday, Feb. 23: 6pm-12am
Friday, Feb. 24: 4pm-6pm
Saturday, Feb. 25: 8:30am-7pm
Sunday, Feb. 26: 12pm-8pm
Monday, Feb. 27: 3pm-12am
Tuesday, Feb. 28: 6pm-12am
Wednesday, March 1: 4pm-12am
Thursday, March 2: 6pm - 11pm
Friday, March 3: 3pm - 8pm
Saturday, March 4: 12pm - 9pm
Sunday, March 5: 4pm - 1am
Monday, March 6: 6pm - 2:30am
Tuesday, March 7: 4pm - 3am
Wednesday, March 8: 2pm - 4am
Thursday, March 9: Noon - 5am
Monday, March 13: 4pm-7pm
- First brainstorming session
- Determined main tasks to be completed, and major subsystems to focus on
- Drive subsystem
- Shooting subsystem
- Location Sensing - Tape, IR
- Established minimum project requirements
Monday, Feb. 20: 3:30-6:30pm
- Put together presentation for first review
- Discussed circuitry for line sensing and IR sensing
Tuesday, Feb. 22: 6:30pm-1:30am
- Brainstormed overall strategy
- Considering wall following
- Examined previous robots
- Tested shooting mechanisms on old robots
- Found that they can be pretty consistent
- Realized that one driving wheel was enough to make an effective shooter
- Put together Bill Of Materials
- Ordered from Amazon, McMaster
Wednesday, Feb. 23: 6pm-12am
- Built prototype shooter
- Built prototype indexer
- Indexer works, but not very well - it is finicky
- Finalized last few parts to order
- Calculations for shooter angle
- Calculations for motor torque
Friday, Feb. 24: 4pm-6pm
- Put together checkoff submission
Saturday, Feb. 25: 8:30am-7pm
- Built shooter
- Laser cut base
- Put together drive system
- Put together line sensing system
- Made initial CAD of full assembly
Sunday, Feb. 26: 12pm-8pm
- Started figuring out ultrasonic sensors
- Wired up voltage regulators
- Worked on drive system - motors wobble and one wheel rubs against the base
Monday, Feb. 27: 3pm-12am
- Assembled and tested shooter - realized we need bearings, a straight barrel, and possibly a firmer wheel
- Made state diagram for overall project code
- Worked on fixing drive system
Tuesday, Feb. 28: 6pm-12am
- Worked on fixing the shooter- lots of iterating, ended up ditching the curved design
- It still wasn't working well even with a straight barrel and a well-attached mounting mechanism
- Made a new adjustable mounting system for the shooter
- Laser-cut the hopper
- Assembled the hopper
Wednesday, March 1: 4pm-12am
- Wrote Arduino library and functions for line sensors
- Attached the shooter motor directly to the flywheel (the coupler was causing lots of vibrations)
- Tested shooter, it finally worked well
Thursday, March 2: 6pm - 11pm
- Reorganized wiring to test different subsystems together
- Realized it would be cool to allow the shooter to move independently to position itself
- Decided to attach a servo motor to position the shooter
- Initial iteration was using random spare linkages we found - it was pretty flimsy
- Also redesigned our strategy:
- We want to drive to the first fact checker, shoot at towers 1 and 2 from the same position, and whack the second fact checker with a hammer while we're at it.
- This will allow us to block two towers while simultaneously shooting at them
- Decided we are not going to use line sensing
Friday, March 3: 3pm - 8pm
- Realized the L293 driver didn't have fast braking capabilities, causing the robot to overshoot its target positions every time it stopped
- Switched to an L298 driver with built-in fast braking
- The right side of the drive system was misaligned, causing friction on the drive shaft
- The robot was always turning right while driving
- Re-built the right side of the drive system to try to fix the misalignment
Saturday, March 4: 12pm - 9pm
- Found some higher quality linkage components that were left in a parts box in the lab area - we then built a new version of the shooter mover linkage using these
- Tested the servo with the shooter - it worked well! Still have to tune the angles though once our bot is fully put together
- Realized we were still having problems with the drive system. The original shaft sizes did not match the couplers, and we were constantly having alignment issues. We decided to go ahead and purchase new shafts that actually fit properly, and we went with rigid couplers instead of spider couplers. The rigid couplers were fine as long as we allowed the pillow blocks to move slightly with the motors, since there was a natural tendency for the motors to wobble a bit. This was achieved by minimally gluing the motor pillow blocks, and running the motors as the glue dried to allow it to settle in an appropriate position.
Sunday, March 5: 4pm - 1am
- Shooter was starting to vibrate and wobble - realized that using hot glue to attach the wheel to the shaft was not adequate
- Designed a 3D printed coupler
- Started testing the drive system with the ultrasonic sensors
Monday, March 6: 6pm - 2:30am
- Decided that our robot needs a name, now that she's been put together. Her name is now Gwen, and she will be referred to as such from this point onwards.
- We put Gwen together and mostly worked on getting her driving sorted out. Lots of tuning was required to get the ultrasonic sensors to detect walls properly. We had to adjust motor speeds once she was fully assembled, since she now weighed more.
- Realized we were starting to have battery issues… she seemed to be running out of power quickly during testing.
- 3D printed the shooter coupler and reattached the shooter wheel
Tuesday, March 7: 4pm - 3am
- Had to have functioning subsystems integrated by today.
- We put Gwen together again fully, and tested the driving/shooting combination
- All subsystems worked while integrated, but the stepper motor was not performing as desired when in combination with the shooter wheel
- Realized the shooter wheel was drawing a lot of power from the batteries, and there was interference between the stepper and the shooter
Wednesday, March 8: 2pm - 4am
- Had originally hoped to "beat the brick" today - worked hard to integrate all subsystems functionally and have Gwen drive through her whole routine. We particularly wanted to get her to reload during her attempts, since she was not consistent enough at shooting.
- Problems integrating the "return to base" function
- Initially the plan had been to hit the fact checker before shooting - realized she was sometimes getting stuck on the pressure sensor tape
- Had the return to base function coded to have her return directly to base after making her shots - this worked
- However, when we changed plans and decided to hit the fact checker on the way back, we had to re-program the return to base function
- For some reason, after changing the code, she stopped being able to drive as soon as she finished shooting. She seemed to still go into the correct "return to base" states - but her motors were not responding
- Spent several hours struggling with this.
- Turned out her stepper motor had been switched to using the Pulse library around the same time as the code was changed. The actual problem was that the stepper motor was now interfering with timers used in the driving functions. We didn’t figure this out until Thursday though, so we went to bed frustrated after a long night.
Thursday, March 9: Noon - 5am
- Gwen finally worked!!
- Initially having problems with the stepper motor and its integration with the system
- Using Pulse library had introduced noise with other timers
- Swapped stepper code to a hand-written PWM
- Still getting noise, ended up using a capacitor across leads of the motor
- Also had to change wiring configuration to ensure stepper motor wires were not wound closely together - was creating a sort of solenoid
- Also having problems with alignment
- Had originally planned for her to drive to the first fact checker and sit by the wall between the first and second fact checkers
- She was inconsistent in using the ultrasonic sensors to get there - her alignment would often be off causing shooting to miss, she also would sometimes run into the wall by the fact checker and get stuck
- At 2am we changed strategies - much more simplified - had her drive straight out from the safe space using a function that allowed her to use ultrasonic feedback to straighten out while driving
- She was then set to drive out to a point, shoot at both towers, return to safe space for reload, drive out and shoot again, then hit the first fact checker
- We also implemented a "spray". She initially was set to shoot 6 shots at each tower, at fixed pre-programmed servo angles. We then had her increment the angle by a few degrees after the first three shots to give her a greater chance of hitting the targets if she was slightly misaligned - it worked!
- Performed "beat-the-brick" checkoff at 4:30am
- Botched the "mulligan" attempt, but then got it on the first try
- THEN WE WENT HOME AND SLEPT A LOT!
Monday, March 13: 4pm-7pm
- Competition day!!
- Came in a few hours before competition to see how Gwen was doing.
- We charged up her batteries and tested her out
- She worked well at first
- We tried to optimize the code to have her hit the second fact checker instead of the first, and see if she could get 2 reloads and 3 rounds of shots within the time limit
- Unfortunately she started having some motor issues - cause unknown - and was not always driving straight
- We didn’t have enough time to figure out what was going wrong, so we charged her again and hoped for the best
- Did our first (and only) competition round, where we made our first few shots in the first tower, just barely missed the second tower, but then got stuck just outside of the safe space on the reload due to a motor malfunction that caused us to turn slightly (just enough that the two ultrasonic sensors were angled relative to the wall, and did not detect the minimum threshold to realize that we were at the wall). Gwen chilled there for the next minute and a half until the round was done. Oh well, at least she made the first tower!