MCU
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Variables
BaseLaunchController.h File Reference
#include "SharedDataTypes.h"
#include "BaseController.h"
#include <algorithm>
#include <math.h>
Include dependency graph for BaseLaunchController.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BaseLaunchController
 

Namespaces

namespace  BaseLaunchControllerParams
 contains constants for tick behavior/progression(_threshold variables used to determine when to move to the next step) and defaults(DEFAULT_LAUNCH_SPEED_TARGET)
 

Enumerations

enum class  LaunchStates_e { NO_LAUNCH_MODE , LAUNCH_NOT_READY , LAUNCH_READY , LAUNCHING }
 Modes to define launch behavior, where each one waits for acceleration request threshold to move to next mode LAUNCH_NOT_READY keeps speed at 0 and makes sure pedals are not pressed, the launch controller begins in this state From this state the launch can only progress forwards to LAUNCH_READY LAUNCH_READY keeps speed at 0, below the speed threshold(5 m/s) and makes sure brake is not pressed harder than the threshold of .2(20% pushed) From this state the launch can progress forwards to LAUNCHING according to the two conditions defined above or backwards to LAUNCH_NOT_READY if those conditions are not met LAUNCHING uses respective algorithm to set speed set point and requests torque from motors to reach it From this state the launch can fully begin and set speed set points above 0.0 m/s and the maximum available torque can be requested from the inverters This launch state can be terminated if the brake is pressed above the threshold(.2(20% pushed)) or if the accelerator is not pressed enough (<= .5(50% pushed)) More...
 

Variables

const int16_t BaseLaunchControllerParams::DEFAULT_LAUNCH_SPEED_TARGET = 1500
 
const float BaseLaunchControllerParams::const_accel_time = 100
 
const float BaseLaunchControllerParams::launch_ready_accel_threshold = .1
 
const float BaseLaunchControllerParams::launch_ready_brake_threshold = .2
 
const float BaseLaunchControllerParams::launch_ready_speed_threshold = 5.0 * METERS_PER_SECOND_TO_RPM
 
const float BaseLaunchControllerParams::launch_go_accel_threshold = .9
 
const float BaseLaunchControllerParams::launch_stop_accel_threshold = .5
 

Enumeration Type Documentation

◆ LaunchStates_e

enum class LaunchStates_e
strong

Modes to define launch behavior, where each one waits for acceleration request threshold to move to next mode LAUNCH_NOT_READY keeps speed at 0 and makes sure pedals are not pressed, the launch controller begins in this state From this state the launch can only progress forwards to LAUNCH_READY LAUNCH_READY keeps speed at 0, below the speed threshold(5 m/s) and makes sure brake is not pressed harder than the threshold of .2(20% pushed) From this state the launch can progress forwards to LAUNCHING according to the two conditions defined above or backwards to LAUNCH_NOT_READY if those conditions are not met LAUNCHING uses respective algorithm to set speed set point and requests torque from motors to reach it From this state the launch can fully begin and set speed set points above 0.0 m/s and the maximum available torque can be requested from the inverters This launch state can be terminated if the brake is pressed above the threshold(.2(20% pushed)) or if the accelerator is not pressed enough (<= .5(50% pushed))

Enumerator
NO_LAUNCH_MODE 
LAUNCH_NOT_READY 
LAUNCH_READY 
LAUNCHING 

Definition at line 16 of file BaseLaunchController.h.