Project Chrono: chrono::curiosity::Curiosity Class Reference

Public Member Functions | Friends | List of all members
chrono::curiosity::Curiosity Class Reference
Models » Robot models » Curiosity Mars rover model

## 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)
ChSystem * | GetSystem ()
| 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.
void | FixSuspension (bool fixed)
| Fix the suspension joints.
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.
std::shared_ptr< CuriosityChassis > | GetChassis () const
| Get the rover chassis.
std::shared_ptr< CuriosityWheel > | GetWheel (CuriosityWheelID id) const
| Get the specified rover wheel.
std::array< std::shared_ptr< CuriosityWheel >, 6 > | GetWheels () const
| Get all rover wheels.
std::shared_ptr< ChShaft > | GetDriveshaft (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< ChFunctionSetpoint > | GetDriveMotorFunc (CuriosityWheelID id) const
| Get drive motor function.
std::shared_ptr< ChFunctionConst > | GetRockerSteerMotorFunc (int side) const
| Get rocker steer motor function (side: 0 for left and 1 for right).
std::shared_ptr< ChFunctionConst > | GetBogieSteerMotorFunc (int side) const
| Get bogie steer motor function (side: 0 for left and 1 for right).
std::shared_ptr< ChLinkMotorRotation > | GetDriveMotor (CuriosityWheelID id) const
| Get drive motor.
std::shared_ptr< ChLinkMotorRotation > | GetRockerSteerMotor (int side) const
| Get rocker steer motor (side: 0 for left and 1 for right).
std::shared_ptr< ChLinkMotorRotation > | GetBogieSteerMotor (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:

- D:/W/B/src/chrono-9.0.1/src/chrono_models/robot/curiosity/Curiosity.h
- D:/W/B/src/chrono-9.0.1/src/chrono_models/robot/curiosity/Curiosity.cpp