MARS Motor Issue Updates
I took some time to more thoroughly investigate the problem I was having with the MARS motors last week, and I think I was wrong. What I thought was an over-current error was actually a different error. (It was asserting multiple error flags and I was only checking the first.) I’m still not sure of the exact semantics of the over-current error flag (once it is triggered once it doesn’t seem to be easily clear-able?), but I no longer see any evidence that it’s causing the motors to stop suddenly.

Instead, the halting issue is caused by the motors failing to reach their velocity goals in a reasonable amount of time. This issue, in turn, can be blamed on… slightly wrong kinematics. Probably. It only happens when I make wide turning maneuvers with the robot, maneuvers that require different wheels to move at different speeds. I think the calculated velocities don’t quite match the actual velocities that the wheels want to rotate at for a given motion, leading to the motor controllers becoming unhappy.
I’m not confident that I can get the kinematics perfect enough to completely eliminate this issue from the get-go. At minimum, the frame itself, though more rigid than previous iterations, still has a non-negligible amount of flex. This will tend to have (small) dynamic effects on the kinematics of the robot.
Probably, the solution will take the form of a motor driver feature that dynamically detects a situation where the goal velocity is unreachable and automatically adjusts the goal to bring it in line with the actual kinematics of the vehicle. It sounds simple, but I can foresee a lot of corner cases here, so it might not be trivial to implement. In the meantime, we can raise the threshold set in the motor firmware so it doesn’t trigger this fault as aggressively.
3D-Printed Tool Organization
On some level, I know that Adam Savage and I are the only people in the world who get irrationally excited about shop organization. But look at all my organized wires! Look at them!

(There are still a couple of spools hanging out down below which I haven’t finished printing the parts for yet.) The system is modular and can be configured to accommodate a wide variety of spool sizes. As always, you can find the source files on Github.
No responses yet