chrono::viper::ViperRover Class Reference

Description

Viper rover class.

This class encapsulates the location and rotation information of all Viper parts wrt the chassis. This class should be the entry point to create a complete rover.

#include <Viper.h>

Public Member Functions

 ViperRover (ChSystem *system, const ChVector<> &rover_pos, const ChQuaternion<> &rover_rot, std::shared_ptr< ChMaterialSurface > wheel_mat=nullptr)
 
void Initialize ()
 Initialize the Viper rover using current parameters.
 
ChSystemGetSystem ()
 Get the containing system.
 
void SetMotorSpeed (double rad_speed, WheelID id)
 Set motor speed.
 
ChVector GetWheelSpeed (WheelID id)
 Get wheel speed.
 
ChQuaternion GetWheelAngVel (WheelID id)
 Get wheel angular velocity.
 
ChVector GetWheelContactForce (WheelID id)
 Get wheel contact force.
 
ChVector GetWheelContactTorque (WheelID id)
 Get wheel contact torque.
 
ChVector GetWheelAppliedForce (WheelID id)
 Get wheel total applied force.
 
ChVector GetWheelAppliedTorque (WheelID id)
 Get wheel total applied torque.
 
std::shared_ptr< ChBodyAuxRefGetChassisBody ()
 Get the chassis body.
 
std::shared_ptr< ChBodyAuxRefGetWheelBody (WheelID id)
 Get the wheel body.
 
double GetRoverMass ()
 Get total rover mass.
 
double GetWheelMass ()
 Get total wheel mass.
 
std::shared_ptr< ChFunction_ConstGetMainMotorFunc (WheelID id)
 Get main motor function.
 
std::shared_ptr< ChFunction_ConstGetSteerMotorFunc (WheelID id)
 Get steer motor function.
 
std::shared_ptr< ChLinkMotorRotationSpeedGetMainMotorLink (WheelID id)
 Get main motor link.
 
std::shared_ptr< ChLinkMotorRotationSpeedGetSteerMotorLink (WheelID id)
 Get steer motor link.
 
void SetTurn (TurnSig id, double turn_speed=0.0)
 Set viper turning signal left/right/hold.
 
double GetTurnAngle () const
 Get viper turning angle - ranges from -CH_C_PI/3 to CH_C_PI/3.
 
TurnSig GetTurnState () const
 Get viper turning state - HOLD, LEFT, OR RIGHT.
 
void Update ()
 A viper status check and update function. More...
 

Member Function Documentation

◆ Update()

void chrono::viper::ViperRover::Update ( )

A viper status check and update function.

Note: this function needs to be included in the main simulation loop.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_models/robot/viper/Viper.h
  • /builds/uwsbel/chrono/src/chrono_models/robot/viper/Viper.cpp