Friday, June 3, 2022

Week 5: Loop-de-loop

Week 5 was all about crossing over from design details into manufacturing. The robot design (at the end of week 5) was over 95% complete, with only the intake subsystem need final details for its v1 iteration. This was chosen intentionally as the last piece, as it had the least required integration among the other components.


2022-02-12

This week we had our three main machines up and running almost every day - two mills and the router table were churning out parts. One thing CyberKnights enjoy very much is a clean, pretty robot, so once parts come off the machines, they get some additional love - both for functionality, and appearance. Functionality are things like de-burring - cleaning off any sharp edges, or snags and slivers of metal that the machining tool did not clear away. For appearance, we use a standard sanding disk grit across all our metal parts, giving them a consistent finish across the entire robot.

On another positive note, while the 2"x2" tube we had ordered was indeed delayed, another local team had spare stock from previous years that they were willing to part with in (in trade for the tube we had ordered, whenever it eventually arrives!) Progress!

Our software team encountered a fun bug this week. While testing the new driving code, we noted an irregular clicking sound, almost as if the motors were either braking, or changing their voltage delta at an extreme variance, instead of a smooth curve as we increased or decreased (or even maintained!) velocity. The clicking was indeed coming from the gearing backlash, and the motors were indeed displaying a wider variance in voltage even when maintaining a constant velocity. What gives?

The team was using a Looper library built by another team - threads that simply execute on timers to update outputs based on inputs. The motors all contain built-in encoders to measure rpm and deltas, allowing the system to react to external changes and more exactly follow the specified instructions. When initializing each individual Loop, we overrode the default update timer (from 100ms to 10ms) for the fastest possible reaction to measured deltas. Unfortunately, though the Loops were all updating at 10ms, the instructions to the robot were still being sent out at the default 100ms timer. So we ended up adding delta's over 10 timesteps, then applying them all at once, causing large variance in the final instructions sent to the motor.

Great find by the team, and this has now been corrected to both measure the motors and update the motors using the same timing.


Can't really show pictures of software, so parts will have to do!

The team utilizes not only machined aluminum, but also 3d printed plastic components.

This was a fun one... cutting 45-degree edges into a tube. The 1/2" diameter bit ended up pushing and dragging more material as it attempted vertical passes to carve out the required shape. We scrapped that piece and started over.


Next we tried horizontal passes with the same 1/2" diameter hardened steel bit. Somehow the aluminum won. We scrapped that tool and started over. (Again.)

We ended up just cutting as close to 45-degrees as we could using a band-saw, and finessed the edges on a grinding belt.


So many parts, on tables, in bins, everywhere!


As parts come off the machines, they need to be processed and prettified. Everyone is able to make an impact on a piece of the robot at this stage.



-B

No comments:

Post a Comment