blob: d589bc19f910fea6e37efe3d1fd3128ec6037e38 [file] [log] [blame]
#include "y2018/control_loops/drivetrain/drivetrain_base.h"
#include "frc971/control_loops/drivetrain/drivetrain_config.h"
#include "frc971/control_loops/state_feedback_loop.h"
#include "y2018/control_loops/drivetrain/drivetrain_dog_motor_plant.h"
#include "y2018/control_loops/drivetrain/polydrivetrain_dog_motor_plant.h"
#include "y2018/control_loops/drivetrain/kalman_drivetrain_motor_plant.h"
using ::frc971::control_loops::drivetrain::DrivetrainConfig;
namespace y2018 {
namespace control_loops {
namespace drivetrain {
using ::frc971::constants::ShifterHallEffect;
const ShifterHallEffect kThreeStateDriveShifter{0.0, 0.0, 0.25, 0.75};
const DrivetrainConfig &GetDrivetrainConfig() {
static DrivetrainConfig kDrivetrainConfig{
::frc971::control_loops::drivetrain::ShifterType::HALL_EFFECT_SHIFTER,
::frc971::control_loops::drivetrain::LoopType::CLOSED_LOOP,
::frc971::control_loops::drivetrain::GyroType::SPARTAN_GYRO,
::y2018::control_loops::drivetrain::MakeDrivetrainLoop,
::y2018::control_loops::drivetrain::MakeVelocityDrivetrainLoop,
::y2018::control_loops::drivetrain::MakeKFDrivetrainLoop,
drivetrain::kDt, drivetrain::kRobotRadius, drivetrain::kWheelRadius,
drivetrain::kV,
drivetrain::kHighGearRatio, drivetrain::kLowGearRatio,
kThreeStateDriveShifter, kThreeStateDriveShifter,
true /* default_high_gear */, 0 /* down_offset if using constants use
constants::GetValues().down_error */,
0.8 /* wheel_non_linearity */, 1.2 /* quickturn_wheel_multiplier */,
1.1 /* wheel_multiplier */,
};
return kDrivetrainConfig;
};
} // namespace drivetrain
} // namespace control_loops
} // namespace y2018