Description

Collaboration diagram for Turtlebot robot model:

Namespaces

 chrono::turtlebot::CollisionFamily
 Turtlebot collision families.
 

Classes

class  chrono::turtlebot::Turtlebot_Part
 Base class definition of the Turtlebot Robot Part. More...
 
class  chrono::turtlebot::Turtlebot_Chassis
 Turtlebot Chassis class definition. More...
 
class  chrono::turtlebot::Turtlebot_ActiveWheel
 Turtlebot Active Drive Wheel class definition. More...
 
class  chrono::turtlebot::Turtlebot_PassiveWheel
 Turtlebot Passive Driven Wheel class definition. More...
 
class  chrono::turtlebot::Turtlebot_Rod_Short
 Short Supporting Rod class definition. More...
 
class  chrono::turtlebot::Turtlebot_BottomPlate
 Turtlebot Bottom Plate class definition. More...
 
class  chrono::turtlebot::Turtlebot_MiddlePlate
 Turtlebot Middle Plate class definition. More...
 
class  chrono::turtlebot::Turtlebot_TopPlate
 Turtlebot Top Plate class definition. More...
 
class  chrono::turtlebot::Turtlebot_Rod_Long
 Long Supporting Rod class definition. More...
 
class  chrono::turtlebot::TurtleBot
 Turtlebot Robot class This class assemble and initialize a complete turtlebot robot This class also handles general control commands of the robot. More...
 

Enumerations

enum  chrono::turtlebot::CollisionFamily::Enum {
  chrono::turtlebot::CollisionFamily::CHASSIS = 1, chrono::turtlebot::CollisionFamily::ACTIVE_WHEEL = 2, chrono::turtlebot::CollisionFamily::PASSIVE_WHEEL = 3, chrono::turtlebot::CollisionFamily::ROD = 4,
  chrono::turtlebot::CollisionFamily::BOTTOM_PLATE = 5, chrono::turtlebot::CollisionFamily::MIDDLE_PLATE = 6, chrono::turtlebot::CollisionFamily::TOP_PLATE = 7
}
 
enum  chrono::turtlebot::WheelID { chrono::turtlebot::LD, chrono::turtlebot::RD }
 TurtleBot wheel identifiers. More...
 

Functions

 chrono::turtlebot::Turtlebot_Part::Turtlebot_Part (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis_body, bool collide)
 
const std::string & chrono::turtlebot::Turtlebot_Part::GetName () const
 Return the name of the part.
 
void chrono::turtlebot::Turtlebot_Part::SetName (const std::string &name)
 Set the name of the part.
 
std::shared_ptr< ChBodyAuxRefchrono::turtlebot::Turtlebot_Part::GetBody () const
 Return the ChBody of the corresponding Turtlebot part.
 
std::shared_ptr< ChBodyAuxRefchrono::turtlebot::Turtlebot_Part::GetChassis () const
 Return the ChBody of the chassis wrt the Turtlebot part.
 
const ChVector3dchrono::turtlebot::Turtlebot_Part::GetPos () const
 Return the Position of the Turtlebot part.
 
const ChQuaternionchrono::turtlebot::Turtlebot_Part::GetRot () const
 Return the Rotation of the Turtlebot part.
 
void chrono::turtlebot::Turtlebot_Part::AddVisualizationAssets ()
 Initialize the visulization mesh of the Turtlebot part.
 
void chrono::turtlebot::Turtlebot_Part::AddCollisionShapes ()
 Initialize the collision mesh of the Turtlebot part.
 
void chrono::turtlebot::Turtlebot_Part::EnableCollision (bool state)
 Enable/disable collision.
 
 chrono::turtlebot::Turtlebot_Chassis::Turtlebot_Chassis (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, bool collide)
 
void chrono::turtlebot::Turtlebot_Chassis::Initialize ()
 Initialize the chassis at the specified (absolute) position.
 
void chrono::turtlebot::Turtlebot_Chassis::EnableCollision (bool state)
 Enable/disable collision for the robot chassis.
 
 chrono::turtlebot::Turtlebot_ActiveWheel::Turtlebot_ActiveWheel (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis, bool collide)
 
void chrono::turtlebot::Turtlebot_ActiveWheel::Initialize ()
 Initialize the wheel at the specified (absolute) position.
 
void chrono::turtlebot::Turtlebot_ActiveWheel::EnableCollision (bool state)
 Enable/disable collision for the wheel.
 
 chrono::turtlebot::Turtlebot_PassiveWheel::Turtlebot_PassiveWheel (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis, bool collide)
 
void chrono::turtlebot::Turtlebot_PassiveWheel::Initialize ()
 Initialize the wheel at the specified (absolute) position.
 
void chrono::turtlebot::Turtlebot_PassiveWheel::EnableCollision (bool state)
 Enable/disable collision for the wheel.
 
 chrono::turtlebot::Turtlebot_Rod_Short::Turtlebot_Rod_Short (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis, bool collide)
 
void chrono::turtlebot::Turtlebot_Rod_Short::Initialize ()
 Initialize the wheel at the specified (absolute) position.
 
void chrono::turtlebot::Turtlebot_Rod_Short::EnableCollision (bool state)
 Enable/disable collision for the wheel.
 
 chrono::turtlebot::Turtlebot_BottomPlate::Turtlebot_BottomPlate (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis, bool collide)
 
void chrono::turtlebot::Turtlebot_BottomPlate::Initialize ()
 Initialize the wheel at the specified (absolute) position.
 
void chrono::turtlebot::Turtlebot_BottomPlate::EnableCollision (bool state)
 Enable/disable collision for the wheel.
 
 chrono::turtlebot::Turtlebot_MiddlePlate::Turtlebot_MiddlePlate (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis, bool collide)
 
void chrono::turtlebot::Turtlebot_MiddlePlate::Initialize ()
 Initialize the wheel at the specified (absolute) position.
 
void chrono::turtlebot::Turtlebot_MiddlePlate::EnableCollision (bool state)
 Enable/disable collision for the wheel.
 
 chrono::turtlebot::Turtlebot_TopPlate::Turtlebot_TopPlate (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis, bool collide)
 
void chrono::turtlebot::Turtlebot_TopPlate::Initialize ()
 Initialize the wheel at the specified (absolute) position.
 
void chrono::turtlebot::Turtlebot_TopPlate::EnableCollision (bool state)
 Enable/disable collision for the wheel.
 
 chrono::turtlebot::Turtlebot_Rod_Long::Turtlebot_Rod_Long (const std::string &name, bool fixed, std::shared_ptr< ChContactMaterial > mat, ChSystem *system, const ChVector3d &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis, bool collide)
 
void chrono::turtlebot::Turtlebot_Rod_Long::Initialize ()
 Initialize the wheel at the specified (absolute) position.
 
void chrono::turtlebot::Turtlebot_Rod_Long::EnableCollision (bool state)
 Enable/disable collision for the wheel.
 
 chrono::turtlebot::TurtleBot::TurtleBot (ChSystem *system, const ChVector3d &robot_pos, const ChQuaternion<> &robot_rot, std::shared_ptr< ChContactMaterial > wheel_mat=nullptr)
 
void chrono::turtlebot::TurtleBot::Initialize ()
 Initialize the turtlebot robot using current parameters. More...
 
void chrono::turtlebot::TurtleBot::SetMotorSpeed (double rad_speed, WheelID id)
 Set active drive wheel speed.
 
ChVector3d chrono::turtlebot::TurtleBot::GetActiveWheelSpeed (WheelID id)
 Get active drive wheel speed.
 
ChVector3d chrono::turtlebot::TurtleBot::GetActiveWheelAngVel (WheelID id)
 Get active driver wheel angular velocity.
 

Variables

std::string chrono::turtlebot::Turtlebot_Part::m_name
 subsystem name
 
std::shared_ptr< ChBodyAuxRefchrono::turtlebot::Turtlebot_Part::m_body
 rigid body
 
std::shared_ptr< ChContactMaterialchrono::turtlebot::Turtlebot_Part::m_mat
 contact material (shared among all shapes)
 
std::string chrono::turtlebot::Turtlebot_Part::m_mesh_name
 visualization mesh name
 
ChVector3d chrono::turtlebot::Turtlebot_Part::m_offset
 offset for visualization mesh
 
ChColor chrono::turtlebot::Turtlebot_Part::m_color
 visualization asset color
 
ChSystemchrono::turtlebot::Turtlebot_Part::m_system
 system which Turtlebot Part belongs to
 
std::shared_ptr< ChBodyAuxRefchrono::turtlebot::Turtlebot_Part::m_chassis
 the chassis body for the robot
 
ChVector3d chrono::turtlebot::Turtlebot_Part::m_pos
 Turtlebot part's relative position wrt the chassis.
 
ChQuaternion chrono::turtlebot::Turtlebot_Part::m_rot
 Turtlebot part's relative rotation wrt the chassis.
 
double chrono::turtlebot::Turtlebot_Part::m_density
 Turtlebot part's density.
 
bool chrono::turtlebot::Turtlebot_Part::m_collide
 Turtlebot part's collision indicator.
 
bool chrono::turtlebot::Turtlebot_Part::m_fixed
 Turtlebot part's fixed indication.
 

Friends

class chrono::turtlebot::Turtlebot_Chassis::TurtleBot
 
class chrono::turtlebot::Turtlebot_ActiveWheel::TurtleBot
 
class chrono::turtlebot::Turtlebot_PassiveWheel::TurtleBot
 
class chrono::turtlebot::Turtlebot_Rod_Short::TurtleBot
 
class chrono::turtlebot::Turtlebot_BottomPlate::TurtleBot
 
class chrono::turtlebot::Turtlebot_MiddlePlate::TurtleBot
 
class chrono::turtlebot::Turtlebot_TopPlate::TurtleBot
 
class chrono::turtlebot::Turtlebot_Rod_Long::TurtleBot
 

Enumeration Type Documentation

◆ Enum

Enumerator
CHASSIS 

chassis

ACTIVE_WHEEL 

active cylinderical drive wheel

PASSIVE_WHEEL 

passive cylinderical wheel

ROD 

short and long supporting rods

BOTTOM_PLATE 

bottom plate

MIDDLE_PLATE 

middle plate

TOP_PLATE 

top plate

◆ WheelID

TurtleBot wheel identifiers.

Enumerator
LD 

left driven

RD 

right driven

Function Documentation

◆ Initialize()

void chrono::turtlebot::TurtleBot::Initialize ( )

Initialize the turtlebot robot using current parameters.

Initialize the complete rover and add all constraints.