We began designing for the drive train early on in the project believing that it would be the most time consuming part of the project; we knew it needed to be the most reliable part of the robot. To start, we sketched out different drive train orientations we thought about pursuing.
First, we considered building a 4 omni wheel drivetrain (for those who do not know, omni wheels allow for multilateral movement) where each wheel would be coupled to its motor shaft in what would look like a '+' shape. While this drive train would provide greater range of control in movement, the additional cost of the extra wheels, motors, and shafts was a major concern. Because of financial constraints, we considered modifying our design to a three omni-wheel drive train. Once we spoke to our coach, he encouraged us to simplify our design and not use omni wheels unless our software implementation depended on them. When we considered the advantages of saving money and having fewer moving parts, we decided to look into a two standard wheel drive train.
Our final design used two skateboard wheels. We used a 1/4" d-shaft that would serve as the axle between the motor and the wheel. We bought shaft couplers to fix the axle to the motor shaft, allowing the wheel to be driven by the motor. We stabilized the bot by placing 1 foot long 0.25" threaded rods placed at the four corners. If the axle shaft is not securely coupled to the motor and the wheel, then as the motor rotates, the torque will not be properly translated into the forward rolling movement. Instead, there would be a vibrational vertical movement that would cause rolling friction against the forward movement of the wheel. This vibration can cause instability and erratic rotational speeds. To reduce this, we add pillow boxes on both sides of each wheel. By adding bearings, we ensured a tight connection between the drivetrain and the chassis, as well as smoother rotation of the wheels and reduced loss to friction.
For the Chassis, we took inspiration from the various robots on display in the lab. Nearly all of the robots were made from Duron due to ease of access of material (purchased on campus from PRL and Room 36) as well as its durability and low price point. We initially considered a circular design when considering a three omni-wheel design. Once we switched to a two skateboard wheel design, however, we decided to take up the maximum allotted space and create a square chassis. We had yet to design the electrical systems and much of the rest of the robot so having that additional area to place other subsystems gave us the flexibility needed to cut out any future redesigns.
Our preliminary design of the drivetrain was not very stable due to having too much load on the ball casters used to balance the bot. With this load, the ball casters did not roll as smoothly, causing the bot to veer off in a random direction. We solved this by offsetting the height of one ball caster, which reduced the impact of the ball casters' irregularities.
Our initial evaluation of the flywheel design involved several options, such as a catapult, a single wheel flywheel, dual-wheel flywheel, and compressed air shooter. Ultimately we decided on a two wheel flywheel shooter.
We had considered building a catapult shooter based on a spring loaded catapult. We quickly decided against this route due to the variability in ball flight trajectories, the degradation of K spring constants over N number of launches, as well as complexity and number of mechanical moving pieces (which provides greater potential for failure over time). After looking into the cost and time required, we quickly departed from this idea.
We had also considered using a compressed air launcher, which we quickly dismissed due to the complexity of the system as well as needing to replace condensed air canisters after some number of launches. With the trial and error methodology, this can slow down progress and make debugging more difficult on a mechanical level. In addition, we were concerned about the weight the air canisters would add as more weight can cause the drive train motors to stall if they are not able to provide enough torque. This would be a big drain on battery and would create a large variability in how well the shooter performs (battery drains causes current being supplied to the motor to change which leads to a rapid change in RPM and eventually causes variability in launching consistency).
Our third consideration was a flywheel system. We thought right off the bat that this would be the most consistent shooter and easiest to implement. We began looking into this shooter mechanism by drawing out potential designs of single and dual fly wheel shooters. We looked into the physics of each type of shooter; flywheel shooters are heavily susceptible to large deviations in flight trajectory with slight variations in how the ball is fed into these launchers, which produces large amounts of spin from very slight deviations. This initially discouraged us from pursuing the flywheel design; however, we discovered that if we built a dual flywheel shooter with two equal and opposite spins, we could generate little to no spin and have a very true flight trajectory. We began to design the mechanical subsystem through sketches. We also had to decide on whether a horizontal or vertical orientation would provide a more accurate shooter. After doing extensive research online, we learned that a vertical flywheel shooter is significantly more stable in its flight pattern; one wheel causes a ball trajectory that is purely parabolic while a two wheel system produces more of a semi-parabolic trajectory due to the second contact compression point. This is important because the distance we were launching from was around 4-5 feet away. Having a parabolic trajectory meant that we would need to reduce the RPM of the motor and that would increase the time spent in the air giving it more time to have its trajectory changed. Having a semi-parabolic trajectory meant that no matter how the flight pattern changed, the shooter would shoot linearly at this distance with pace so long as you were lined up accurately. We drew out some sketches where we had a vertical flywheel launcher; by placing two parallel plates a few inches away from each other, we could use mounting screws to lock the plates together and then place a shaft between the motor shaft and the flywheel to couple them together and have the rest of that same shaft go through the wheel and attach to the other side of the second plate.
After measuring dimensions, we built a CAD model of the flywheel system to laser cut from pieces of Duron for the side plates as well as cut out the holes necessary for the motor shaft as well as the rods to hold the flywheel shooter steady. We got exact dimensions from the motor characteristics (see electrical design for how we selected them) and accounted for Kerf as well. We found all the screws, bolts, and nuts we intended to use ahead of time and used those dimensions to size everything in our CAD models.
Once we had the laser cut pieces, we began to construct the flywheel shooter. We purchased motors from the lab store, wheels and hex couplers from Banebots, and 3D printed our own shaft couplers for the 3mm brass rod we purchased from Amazon.com. We had issues coupling thing together; initially we miscalculated the diameter of the hex coupler and the diameter of the motor shaft. This meant we had to print out our own coupler because the one we purchased didn't fit. After doing some research on the hardness of wheels in relation to launching distances and compression, we found a set of wheels that we agreed would serve us well on Banebots. Those wheel bores came in a hex shape and as a result, we purchased hex shaft couplers to fit the rod on each side of the wheel. This allows the attachment to be stable and act as a uniform body. However, due to the length of the rod, there was still significant vibration caused from running the flywheel. To reduce this vibration, we reduced the length of the rod as well as made the distance between the two plates as small as possible. Any vibration caused by running the motor would negatively impact flight trajectories. To remedy that, we placed M3 long screws on each corner of the Duron plates. This steadies out the flywheel as well as reduce the vibration significantly. In the end, we still experienced vibrations; this was due in part to the printed shaft couplers between the motor and the wheel. Since the part was 3D printed, the plastic wasn't particularly strong. We needed to thread the hole to place the set screws but couldn't create the threads necessary. As a fix, we tapped the hole using the next size up machine screw. This initially held up very well; as we needed to run trials, the 3D printed coupler eventually came loose as the vibration of the rod increased the size of the hole just enough to cause the system to be inaccurate. We eventually printed a new coupler closer to the check off date and that one held up well.
As for the wheel design, we originally considered whether we would select a single wide wheel or double wide wheel. A single wheel would offer a uniform contact point but would provide a smaller contact surface area. We considered whether or not the increased surface area would provide more opportunities for improper flight patterns. After some analysis, we decided on a double wide wheel launcher where each wheel would be just slightly enough to create a groove in the launcher. This would help to make the launch point uniform no matter how the ball is fed or at what velocity it comes in at. Ultimately that uniformity is why we chose a double wide despite the increased cost of needing two additional wheels and increased chance of improper flight patterns as a result of nonuniformity between launches.
We also considered variability in angle; we designed a mechanical protractor of sorts to make it easy to change the angle of launch. Since we knew the distance, the RPM of the motors, as well as a slew of other variables, we could accurately predict what angle we would need to have. We designed on paper first a sketch of this; the flywheel launcher with its parallel locked in plates has the base of those plates attached between two protractor shapes with holes at varied angles. You can move the bottom long set screws of the flywheel and thread whatever angle you want through those holes and it will lock that degree angle; it is essentially a 3D protractor where the shooter mechanism is the straight line you would change to mark your angle down on your paper.
Feeder Mechanism
For the feeder, there were two design schemes we heavily investigated; one was a Duron wheel attached to a stepper motor that held the balls and dropped a ball one at a time to a shaft leading directly to the flywheel shooter while the other was a 3D printed spiral staircase that would hold 12 balls and release one ball at a time using a rotating wheel that would only accept one ball at a time connected to a stepper motor. We decided to go with the revolving Duron wheel with a simple chute leading to the flywheel shooter. We selected the first option due to the complexity of the second option; to create a spiral staircase would require us to 3D print the staircase, and that was a skill none of us came in with.
After the initial design selection, we sketched a few drawings of the flywheel feeder mechanism. After sketching it out with loose dimensions, we created a CAD model of the flywheel mechanism with exact dimensions from the ball diameter as well as the diameter of the wheel and length of the chute. Once the laser cuts were complete, we constructed the flywheel feeder mechanism and fit the stepper motor onto the first plate. The second plate was slightly elevated than the first to hold the balls in place however using mounting screws, the two pieces of Duron were held in place as one uniform body rotating about the Z axis. The chute was attached to the feeder mechanism using a series of holes lining each side of the pieces of Duron. By stringing through wire in similar fashion to tying a shoe, the chute can change angles depending on initial contact point desired for the balls to the flywheels.