Description

Curiosity rover class.

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

#include <Curiosity.h>

Public Member Functions

 Curiosity (ChSystem *system, CuriosityChassisType chassis_type=CuriosityChassisType::FullRover, CuriosityWheelType wheel_type=CuriosityWheelType::RealWheel)
 
ChSystemGetSystem ()
 Get the containing system.
 
void SetDriver (std::shared_ptr< CuriosityDriver > driver)
 Set the curiosity driver.
 
void SetWheelContactMaterial (std::shared_ptr< ChContactMaterial > mat)
 Set wheel contact material.
 
void FixChassis (bool fixed)
 Fix the chassis to ground. More...
 
void FixSuspension (bool fixed)
 Fix the suspension joints. More...
 
void SetChassisVisualization (bool state)
 Enable/disable visualization of the rover chassis (default: true).
 
void SetWheelVisualization (bool state)
 Enable/disable visualization of rover wheels (default: true).
 
void SetSuspensionVisualization (bool state)
 Enable/disable visualization of rover suspensions (default: true).
 
void Initialize (const ChFrame<> &pos)
 Initialize the Curiosity rover at the specified position.
 
void Update ()
 General control update function. More...
 
std::shared_ptr< CuriosityChassisGetChassis () const
 Get the rover chassis.
 
std::shared_ptr< CuriosityWheelGetWheel (CuriosityWheelID id) const
 Get the specified rover wheel.
 
std::array< std::shared_ptr< CuriosityWheel >, 6 > GetWheels () const
 Get all rover wheels.
 
std::shared_ptr< ChShaftGetDriveshaft (CuriosityWheelID id) const
 Get the specified rover driveshaft.
 
ChVector3d GetChassisPos () const
 Get chassis position.
 
ChQuaternion GetChassisRot () const
 Get chassis orientation.
 
ChVector3d GetChassisVel () const
 Get chassis linear velocity.
 
ChVector3d GetChassisAcc () const
 Get chassis linear acceleration.
 
ChVector3d GetWheelLinVel (CuriosityWheelID id) const
 Get wheel speed.
 
ChVector3d GetWheelAngVel (CuriosityWheelID id) const
 Get wheel angular velocity.
 
ChVector3d GetWheelContactForce (CuriosityWheelID id) const
 Get wheel contact force.
 
ChVector3d GetWheelContactTorque (CuriosityWheelID id) const
 Get wheel contact torque.
 
ChVector3d GetWheelAppliedForce (CuriosityWheelID id) const
 Get wheel total applied force.
 
ChVector3d GetWheelAppliedTorque (CuriosityWheelID id) const
 Get wheel total applied torque.
 
double GetWheelTracTorque (CuriosityWheelID id) const
 Get wheel tractive torque - if DC control is set to off.
 
double GetRoverMass () const
 Get total rover mass.
 
double GetWheelMass () const
 Get total wheel mass.
 
std::shared_ptr< ChFunctionSetpointGetDriveMotorFunc (CuriosityWheelID id) const
 Get drive motor function.
 
std::shared_ptr< ChFunctionConstGetRockerSteerMotorFunc (int side) const
 Get rocker steer motor function (side: 0 for left and 1 for right).
 
std::shared_ptr< ChFunctionConstGetBogieSteerMotorFunc (int side) const
 Get bogie steer motor function (side: 0 for left and 1 for right).
 
std::shared_ptr< ChLinkMotorRotationGetDriveMotor (CuriosityWheelID id) const
 Get drive motor.
 
std::shared_ptr< ChLinkMotorRotationGetRockerSteerMotor (int side) const
 Get rocker steer motor (side: 0 for left and 1 for right).
 
std::shared_ptr< ChLinkMotorRotationGetBogieSteerMotor (int side) const
 Get bogie steer motor (side: 0 for left and 1 for right).
 

Friends

class CuriosityDCMotorControl
 

Member Function Documentation

◆ FixChassis()

void chrono::curiosity::Curiosity::FixChassis ( bool  fixed)

Fix the chassis to ground.

This function can only be invoked after the call to Initialize().

◆ FixSuspension()

void chrono::curiosity::Curiosity::FixSuspension ( bool  fixed)

Fix the suspension joints.

This function can only be invoked after the call to Initialize().

◆ Update()

void chrono::curiosity::Curiosity::Update ( )

General control update function.

This function must be called before each integration step.


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