MVSim
Lightweight simulator for 2.5D vehicles and robots
Public Member Functions | Public Attributes | List of all members
mvsim::EllipseCurveMethod Class Reference

#include <EllipseCurveMethod.h>

Inheritance diagram for mvsim::EllipseCurveMethod:
Inheritance graph
[legend]
Collaboration diagram for mvsim::EllipseCurveMethod:
Collaboration graph
[legend]

Public Member Functions

 EllipseCurveMethod (VehicleBase &my_vehicle, const rapidxml::xml_node< char > *node)
 
virtual mrpt::math::TVector2D evaluate_friction (const FrictionBase::TFrictionInput &input) const override
 
- Public Member Functions inherited from mvsim::FrictionBase
 FrictionBase (VehicleBase &my_vehicle)
 
bool hasLogger () const
 
void setLogger (const std::weak_ptr< CSVLogger > &logger)
 

Public Attributes

const TParameterDefinitions params_
 

Additional Inherited Members

- Public Types inherited from mvsim::FrictionBase
using Ptr = std::shared_ptr< FrictionBase >
 
- Static Public Member Functions inherited from mvsim::FrictionBase
static FrictionBase::Ptr factory (VehicleBase &parent, const rapidxml::xml_node< char > *xml_node)
 
- Protected Attributes inherited from mvsim::FrictionBase
Worldworld_
 
VehicleBasemyVehicle_
 
std::optional< std::weak_ptr< CSVLogger > > logger_
 

Detailed Description

Friction model based on the "Ellipse Curve Method".

This model is used to compute the friction forces acting on the wheels of a vehicle based on the slip angle and longitudinal slip.

Note
Contributed by Francisco Pérez Ibañez, reviewed by J.L. Blanco-Claraco, J.L. Torres-Moreno.

Member Function Documentation

◆ evaluate_friction()

virtual mrpt::math::TVector2D mvsim::EllipseCurveMethod::evaluate_friction ( const FrictionBase::TFrictionInput input) const
overridevirtual

Evaluates the net force on this wheel (in vehicle local coordinates). Refer to the manual for the theorical model.

Implements mvsim::FrictionBase.

Member Data Documentation

◆ params_

const TParameterDefinitions mvsim::EllipseCurveMethod::params_
Initial value:
= {
{"C_damping", {"%lf", &C_damping_}},
{"C_rr", {"%lf", &C_rr_}},
{"C_s", {"%lf", &C_s_}},
{"slip_angle_saturation", {"%lf", &slip_angle_saturation_}},
{"slip_ratio_saturation", {"%lf", &slip_ratio_saturation_}},
{"C_alpha", {"%lf", &C_alpha_}},
{"C_alpha_s", {"%lf", &C_alpha_s_}},
{"C_s_alpha", {"%lf", &C_s_alpha_}}}

The documentation for this class was generated from the following file: