Chassis
Swerve
Follow the steps to define the motors, CANCoders, Pigeon, Swerve Modules, Swerve Chassis as defined: https://v6.docs.ctr-electronics.com/en/2024/docs/tuner/tuner-swerve/index.html.
Export the TunerConstants File from the CTRE Swerve Project.
Create a folder in the chassis/definitions for a particular robot (e.g. chassis9998)
Put the generated TunerConstants.h file into this folder
Rename file from TunerConstants.h to TunerConstantsXXXX.h where XXXX is the robot number
Rename class to match file name
Comment out (or delete) the TunerSwerveDrivetrain class (carefule there are block end comments in this block)
Comment out (or delete) forward declaration of CommandSwerveDrivetrain
Comment out (or delete) static subsystems::CommandSwerveDrivetrain CreateDrivetrain();
Comment out (or delete) static constexpr swerve::SwerveDrivetrainConstants lines
Comment out (or delete) the private: after this previous block
Comment out (or delete) static constexpr swerve::SwerveModuleConstantsFactory ConstantCreator = lines
Comment out (or delete) the 4 static constexpr swerve::SwerveModuleConstants definitions
Comment out (or delete) private before inversion constants
Add public at beginnning of TunerConstansXXXX class
Copy a ChassisConfigXXXX.cpp and ChassisConfigXXXX.h file into this definitions file
Change TunerConstantsXXXX to TunerConstantsYYYY where XXXX is the robot id where the ChassisConfig was copied from and YYYY is the robot that is being defined (change all instances).
build
test
Swerve Math
Add information
Architecture of our Swerve Code
Add information
Differential Drive
Add information
Mecanum Drive
Add information
Kiwi Drive
Add information