Pose BigWheelTags: control, think, and software
Task: New Pose for Big Wheel robot
Historically, Iron Reign has used a class called "Pose" to control all the hardware mapping of our robot instead of putting it directly into our opmodes. This has created cleaner code and smoother integration with our crazy functions. However, we used the same Pose for the past two years since both had an almost identical drive base. Since there wasn't a viable differential drive Pose in the past, I made a new one using inspiration from the mecanum one. Pose will be used from this point onwards in our code to setup.
We start with initializing everything including PID constants and all our motors/sensors. I will skip all this for this post since this is repetitive in all team code.
In the init, I made the hardware mapping for the motors we have on BigWheel right now. Other functions will come in later.
Here is where a lot of the work happens. This is what allows our robot to move accurately using IMU and encoder values.
There are a lot of other methods beyond these but there is just a lot of technical math behind them with trigonometry. I won't bore you with the details but our code is open source so you can find the necessary help if you just look at our github!