Days 37, 38, & 39: Preparing For Competition
Today, we worked on fixing the intake after it broke earlier this week. After analyzing the strength of our current weldment and modifying it slightly, we decided that simply strengthening it would not help the fundamental problems existing in the design. We took one of the broken intakes and attached it to new polycarb side plates hoping that this would decrease impact forces by increasing the time of impact (change in momentum = force * time). We drove around and crashed the intake several times with minimal damage occurring, and we are proceeding with the new design.
Today, we worked on the Hopper and testing the fully assembled redesign. After fixing some initial discrepancies in the real life assembly, we tested out deployment and stowing. As of a few tests, the intake deployed well (after modifying the intake ramp slightly to have slightly deeper notches to fit the constraint screws in) and we will be updating the CAD with these changes on Friday. We will also laser cut a new intake ramp to get definitive results. If all systems work well after that, we will begin assembling the new parts for comp as well as a back up.
Between, Friday and Saturday, we were able to finalize the hopper design. After some CAD work on the redesign and some troubleshooting after assembly, we were able to make a solid hopper. More testing will continue to confirm consistency, but we will be moving forward with the Comp set soon.
In the last week, we explored the use of a large flywheel to help increase the consistency of the shooter. A flywheel dramatically increases the kinetic energy of the shooter wheel system, hopefully reducing the amount that the wheel slows between shots. We designed a steel flywheel with about 4 lb*in2 of inertia. It is geared up 2.5:1 from the shooter wheel to increase the kinetic energy. Preliminary testing shows that adding the flywheel may not actually achieve the desired result. The elasticity of the timing belt caused some controllability challenges that the programming team worked on this weekend. Each time the direction of tension in the belt switched (from energy going into the flywheel to energy leaving the flywheel), there was a little bit of elastic movement which added oscillations to the shooter wheel system. The plots looked like the typical mass/spring/damper plots for a 2nd order system from a controls or dynamics class.
We are using inline elastic to add stretch to the rope. This will allow the robot to pull the rope down with a low amount of force at first, getting some wrap before beginning to lift the robot off the ground. This is important because the Velcro that engages the climber drum is strong in shear – and its strength is proportional to surface area. Once the rope has wrapped around the drum enough, the load transfer switches to Capstan forces. We are assembling several ropes, each with a number of pockets like the ones shown below.
A video is linked below of the climber being tested. Note that in this test case, we were pulsing the motors. Typically, the climb is much faster.
The latest iteration of the gear grabber has a dual pivot design – the whole mechanism pivots from a pickup configuration to a scoring configuration with one pivot, and a second lower pivot is sprung to allow the wedge to conform to the floor without digging in. We built this prototype last week out of delrin on the laser cutter and used it for driver practice over the weekend. We moved forward with making this out of metal and sent the parts to Anodize on Monday morning.
Check out the video below for pickup and scoring performance of the current prototype:
We practiced driving by cycling gears with and without defense, climbing, and intaking balls off the floor. We are much better now at quickly scoring gears, and in one practice match we scored 9 gears and climbed when no defense was played on us. The gear grabber is much more reliable, and consistently picks up gears off the ground the second we touch them. Scoring is still tricky, but we are getting better at finding the right depth at which we need to drive into the spring.
Today, we worked on finding and fixing a bug in our Adaptive Pure Pursuit controller. The bug was causing arc lengths in the controller to be calculated incorrectly in some cases, resulting in a value much higher than it should have been. This would in turn cause the robot to drive way too fast and shoot past the end point in the path.
Gear Grabber State Machine
Today, we worked on implementing a new Gear Grabber state machine. The new gear grabber code greatly simplifies the operator controls. Now, there are only 2 buttons used for intake and release. The state machine uses output current to determine when a gear has been picked up and will activate the piston automatically.
We also found two bugs resulting in the robot not turning left and twisting along an autonomous routine, and we were able to fix these edge cases.
The hardware team began crimping and attaching 15 battery leads and running battery tests to determine true battery capacity.