Motion Magic for drive train?

Hi all! Exciting times! This year we are using Falcons on the drive train and given the weight:torque ratio of this years bot it is difficult to drive. It is too fast. I’m trying to help the students tackle the issue but would appreciate a pointer…

We are doing some closed loop PIDs on the shooter with good success. How do we implement something similar on the drivetrain? Right now we are just using Differential Drive Arcade. Creating our own arcade drive is easy enough but is that the only way to use Motion Magic or closed loop PIDs?

The new command structure has been great and I’m encouraging them to utilize as much of the framework as possible so the students with all levels of programming experience can understand it.

They are in the process of testing the Motion Magic example from the CTRE github…



1 Like

1 Like

This will need to be updated to the new framework, but gives you an idea of how we have used motion magic to put together some simple drivetrain commands.

We haven’t got them fully tested on our robot this year so we don’t have 2020 versions yet, but we used motion magic to both drive set distances, and turn certain angles.

Makes it really easy to drive semi-complicated autonomous routines with near perfect precision without incorporating the difficulty of full motion profiling.

Our 2020 repo will probably have updates to these for the new framework tomorrow night if you want to give your students some tracking reference.

Thank you for the help!

We had this issue with our NEOs, and if memory serves, we added code that ramps the power going to the motor over a very brief time interval rather than letting it all go at once. That should also decrease overall current draw.

1 Like