1#ifndef __BASELAUNCHCONTROLLER_H__
2#define __BASELAUNCHCONTROLLER_H__
68 const float wheel_rpms[],
LaunchStates_e
Modes to define launch behavior, where each one waits for acceleration request threshold to move to n...
constexpr const float METERS_PER_SECOND_TO_RPM
TorqueControllerOutput_s evaluate(const SharedCarState_s &state) override
all launch controllers share the same evaluate method implemented in this class implementation.
float launch_speed_target_
TorqueControllerOutput_s writeout_
LaunchStates_e get_launch_state()
LaunchStates_e launch_state_
BaseLaunchController(int16_t initial_speed_target)
Constructor for parent launch controller.
void tick(const SysTick_s &tick, const PedalsSystemData_s &pedalsData, const float wheel_rpms[], const VectornavData_s &vn_data)
ticks launch controller to progress through launch states when conditions are met....
virtual void calc_launch_algo(const VectornavData_s &vn_data)=0
calculates how speed target (the speed the car is trying to achieve during launch) is set and/or incr...
int16_t init_speed_target_
Base class for all controllers, which define drivetrain command containing different variations of
const DrivetrainCommand_s TC_COMMAND_NO_TORQUE
contains constants for tick behavior/progression(_threshold variables used to determine when to move ...
const float launch_go_accel_threshold
const float const_accel_time
const float launch_ready_brake_threshold
const float launch_ready_accel_threshold
const float launch_ready_speed_threshold
const float launch_stop_accel_threshold
const int16_t DEFAULT_LAUNCH_SPEED_TARGET
car state struct that contains state of everything about the car including
Packages drivetrain command with ready boolean to give feedback on controller successfully evaluating...
DrivetrainCommand_s command