Description

Base class definition for all Curiosity Rover parts.

#include <Curiosity.h>

Inheritance diagram for chrono::curiosity::CuriosityPart:
Collaboration diagram for chrono::curiosity::CuriosityPart:

Public Member Functions

 CuriosityPart (const std::string &name, const ChFrame<> &rel_pos, std::shared_ptr< ChContactMaterial > mat, bool collide)
 
const std::string & GetName () const
 Return the name of the part.
 
void SetName (const std::string &name)
 Set the name of the part.
 
void SetVisualize (bool state)
 Enable/disable visualization.
 
void EnableCollision (bool state)
 Enable/disable collision.
 
std::shared_ptr< ChBodyAuxRefGetBody () const
 Return the ChBody of the corresponding Curiosity part.
 
const ChVector3dGetPos () const
 Return the position of the Curiosity part. More...
 
const ChQuaternionGetRot () const
 Return the rotation of the Curiosity part. More...
 
const ChVector3dGetLinVel () const
 Return the linear velocity of the Curiopsity part. More...
 
const ChVector3d GetAngVel () const
 Return the angular velocity of the Curiosity part. More...
 
const ChVector3dGetLinAcc () const
 Return the linear acceleration of the Curiosity part. More...
 
const ChVector3d GetAngAcc () const
 Return the angular acceleratino of the Curiosity part. More...
 
virtual void Initialize (std::shared_ptr< ChBodyAuxRef > chassis)
 Initialize the rover part by attaching it to the specified chassis body.
 

Protected Member Functions

void CalcMassProperties (double density)
 Utility function for calculating mass properties using the part's collision mesh.
 
void Construct (ChSystem *system)
 Construct the part body.
 

Protected Attributes

std::string m_name
 subsystem name
 
std::shared_ptr< ChBodyAuxRefm_body
 rigid body
 
std::shared_ptr< ChContactMaterialm_mat
 contact material
 
std::string m_mesh_name
 visualization mesh name
 
ChFrame m_mesh_xform
 mesh transform (translate, rotate, scale)
 
ChColor m_color
 visualization asset color
 
ChFrame m_pos
 relative position wrt the chassis
 
double m_mass
 mass
 
ChVector3d m_inertia
 principal moments of inertia
 
ChFrame m_cog
 COG frame (relative to body frame)
 
bool m_visualize
 part visualization flag
 
bool m_collide
 Curiosity part's collision indicator.
 

Constructor & Destructor Documentation

◆ CuriosityPart()

chrono::curiosity::CuriosityPart::CuriosityPart ( const std::string &  name,
const ChFrame<> &  rel_pos,
std::shared_ptr< ChContactMaterial mat,
bool  collide 
)
Parameters
namepart name
rel_posposition relative to chassis frame
matcontact material
collideenable collision?

Member Function Documentation

◆ GetAngAcc()

const ChVector3d chrono::curiosity::CuriosityPart::GetAngAcc ( ) const
inline

Return the angular acceleratino of the Curiosity part.

This is the absolute angular acceleratin of the part reference frame.

◆ GetAngVel()

const ChVector3d chrono::curiosity::CuriosityPart::GetAngVel ( ) const
inline

Return the angular velocity of the Curiosity part.

This is the absolute angular velocity of the part reference frame.

◆ GetLinAcc()

const ChVector3d& chrono::curiosity::CuriosityPart::GetLinAcc ( ) const
inline

Return the linear acceleration of the Curiosity part.

This is the absolute linear acceleration of the part reference frame.

◆ GetLinVel()

const ChVector3d& chrono::curiosity::CuriosityPart::GetLinVel ( ) const
inline

Return the linear velocity of the Curiopsity part.

This is the absolute linear velocity of the part reference frame.

◆ GetPos()

const ChVector3d& chrono::curiosity::CuriosityPart::GetPos ( ) const
inline

Return the position of the Curiosity part.

This is the absolute location of the part reference frame.

◆ GetRot()

const ChQuaternion& chrono::curiosity::CuriosityPart::GetRot ( ) const
inline

Return the rotation of the Curiosity part.

This is the orientation wrt the global frame of the part reference frame.


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