#include <VehicleAckermann_Drivetrain.h>
Implementation of 4 wheels Ackermann-driven vehicles with drivetrain As motor input of drivetrain acts controller torque. Differential model is based on observations of Torsen-like differentials work. http://www.flashoffroad.com/features/Torsen/Torsen_white_paper.pdf
Definition at line 29 of file VehicleAckermann_Drivetrain.h.
typedef ControllerBaseTempl<DynamicsAckermannDrivetrain> mvsim::DynamicsAckermannDrivetrain::ControllerBase |
Virtual base for controllers of vehicles of type DynamicsAckermannLSDiff
Definition at line 76 of file VehicleAckermann_Drivetrain.h.
typedef std::shared_ptr<ControllerBase> mvsim::DynamicsAckermannDrivetrain::ControllerBasePtr |
Definition at line 77 of file VehicleAckermann_Drivetrain.h.
anonymous enum |
Definition at line 34 of file VehicleAckermann_Drivetrain.h.
DIFF_OPEN_FRONT | |
DIFF_OPEN_REAR | |
DIFF_OPEN_4WD | |
DIFF_TORSEN_FRONT | |
DIFF_TORSEN_REAR | |
DIFF_TORSEN_4WD | |
DIFF_MAX |
Definition at line 42 of file VehicleAckermann_Drivetrain.h.
Definition at line 23 of file VehicleAckermann_Drivetrain.cpp.
void DynamicsAckermannDrivetrain::computeDiffTorqueSplit | ( | const double | w1, |
const double | w2, | ||
const double | diffBias, | ||
const double | defaultSplitRatio, | ||
double & | t1, | ||
double & | t2 | ||
) |
Computes differential split for Torsen-like limited slip differentials.
Definition at line 386 of file VehicleAckermann_Drivetrain.cpp.
void DynamicsAckermannDrivetrain::computeFrontWheelAngles | ( | const double | desired_equiv_steer_ang, |
double & | out_fl_ang, | ||
double & | out_fr_ang | ||
) | const |
Computes the exact angles of the front wheels required to have an equivalent central steering angle. The method takes into account all wheels info & steering limits stored in the object.
Definition at line 361 of file VehicleAckermann_Drivetrain.cpp.
void DynamicsAckermannDrivetrain::dynamics_load_params_from_xml | ( | const rapidxml::xml_node< char > * | xml_node | ) | [protected, virtual] |
The derived-class part of load_params_from_xml()
Implements mvsim::VehicleBase.
Definition at line 73 of file VehicleAckermann_Drivetrain.cpp.
const ControllerBasePtr& mvsim::DynamicsAckermannDrivetrain::getController | ( | ) | const [inline] |
Definition at line 156 of file VehicleAckermann_Drivetrain.h.
Definition at line 157 of file VehicleAckermann_Drivetrain.h.
virtual ControllerBaseInterface* mvsim::DynamicsAckermannDrivetrain::getControllerInterface | ( | ) | [inline, virtual] |
Implements mvsim::VehicleBase.
Definition at line 158 of file VehicleAckermann_Drivetrain.h.
double mvsim::DynamicsAckermannDrivetrain::getMaxSteeringAngle | ( | ) | const [inline] |
The maximum steering angle (rad). Determines min turning radius
Definition at line 58 of file VehicleAckermann_Drivetrain.h.
vec3 DynamicsAckermannDrivetrain::getVelocityLocalOdoEstimate | ( | ) | const [virtual] |
Gets the current estimation of odometry-based velocity as reconstructed solely from wheels spinning velocities and geometry. This is the input of any realistic low-level controller onboard.
Implements mvsim::VehicleBase.
Definition at line 418 of file VehicleAckermann_Drivetrain.cpp.
void DynamicsAckermannDrivetrain::invoke_motor_controllers | ( | const TSimulContext & | context, |
std::vector< double > & | out_force_per_wheel | ||
) | [protected, virtual] |
Implements mvsim::VehicleBase.
Definition at line 228 of file VehicleAckermann_Drivetrain.cpp.
void mvsim::DynamicsAckermannDrivetrain::setMaxSteeringAngle | ( | double | val | ) | [inline] |
Definition at line 59 of file VehicleAckermann_Drivetrain.h.
The installed controller.
Definition at line 191 of file VehicleAckermann_Drivetrain.h.
min turning radius
Definition at line 196 of file VehicleAckermann_Drivetrain.h.
double mvsim::DynamicsAckermannDrivetrain::m_FrontLRBias [private] |
Definition at line 203 of file VehicleAckermann_Drivetrain.h.
double mvsim::DynamicsAckermannDrivetrain::m_FrontLRSplit [private] |
Definition at line 199 of file VehicleAckermann_Drivetrain.h.
double mvsim::DynamicsAckermannDrivetrain::m_FrontRearBias [private] |
Definition at line 202 of file VehicleAckermann_Drivetrain.h.
double mvsim::DynamicsAckermannDrivetrain::m_FrontRearSplit [private] |
Definition at line 198 of file VehicleAckermann_Drivetrain.h.
double mvsim::DynamicsAckermannDrivetrain::m_max_steer_ang [private] |
The maximum steering angle (rad). Determines
Definition at line 193 of file VehicleAckermann_Drivetrain.h.
double mvsim::DynamicsAckermannDrivetrain::m_RearLRBias [private] |
Definition at line 204 of file VehicleAckermann_Drivetrain.h.
double mvsim::DynamicsAckermannDrivetrain::m_RearLRSplit [private] |
Definition at line 200 of file VehicleAckermann_Drivetrain.h.