Description

RoboSimian limb.

A robot limb represents a multibody chain composed of robot links and joints.

#include <RoboSimian.h>

Public Member Functions

 RS_Limb (const std::string &name, LimbID id, const LinkData data[], std::shared_ptr< ChContactMaterial > wheel_mat, std::shared_ptr< ChContactMaterial > link_mat, chrono::ChSystem *system)
 
void Initialize (std::shared_ptr< chrono::ChBodyAuxRef > chassis, const chrono::ChVector3d &xyz, const chrono::ChVector3d &rpy, CollisionFamily::Enum collision_family, ActuationMode wheel_mode)
 Initialize the limb at the specified position (relative to the chassis). More...
 
void SetVisualizationType (VisualizationType vis)
 Set visualization type for all limb links.
 
void SetCollideLinks (bool state)
 Enable/disable collision on all links, except final wheel (default: false).
 
void SetCollideWheel (bool state)
 Enable/disable collision for final wheel (default: true).
 
double GetMass () const
 Get the total mass of this limb.
 
std::shared_ptr< chrono::ChBodyAuxRefGetWheelBody () const
 Get a handle to the wheel body.
 
const chrono::ChVector3dGetWheelPos () const
 Get location of the wheel body.
 
chrono::ChVector3d GetWheelAngVelocity () const
 Get angular velocity of the wheel body (expressed in local coordinates).
 
double GetWheelAngle () const
 Get wheel angle.
 
double GetWheelOmega () const
 Get wheel angular speed.
 
double GetMotorAngle (const std::string &motor_name) const
 Get angle for specified motor. More...
 
double GetMotorOmega (const std::string &motor_name) const
 Get angular speed for specified motor. More...
 
double GetMotorTorque (const std::string &motor_name) const
 Get actuator reaction torque [Nm] for specified motor. More...
 
std::array< double, 8 > GetMotorAngles ()
 Get angles for all 8 limb motors.
 
std::array< double, 8 > GetMotorOmegas ()
 Get angular velocities for all 8 limb motors.
 
std::array< double, 8 > GetMotorTorques ()
 Get actuator torques for all 8 limb motors.
 
void GetMotorActuations (std::array< double, 8 > &angles, std::array< double, 8 > &speeds)
 Get current motor actuations.
 
void Activate (const std::string &motor_name, double time, double val)
 Set activation for given motor at current time.
 
void Activate (double time, const std::array< double, 8 > &vals)
 Set activations for all motors at current time.
 

Friends

class RoboSimian
 

Constructor & Destructor Documentation

◆ RS_Limb()

chrono::robosimian::RS_Limb::RS_Limb ( const std::string &  name,
LimbID  id,
const LinkData  data[],
std::shared_ptr< ChContactMaterial wheel_mat,
std::shared_ptr< ChContactMaterial link_mat,
chrono::ChSystem system 
)
Parameters
namelimb name
idlimb ID
datadata for limb links
wheel_matcontact material for the limb wheel
link_matcontact material for the limb links
systemcontaining system

Member Function Documentation

◆ GetMotorAngle()

double chrono::robosimian::RS_Limb::GetMotorAngle ( const std::string &  motor_name) const

Get angle for specified motor.

Motors are named "joint1", "joint2", ... , "joint8", starting at the chassis.

◆ GetMotorOmega()

double chrono::robosimian::RS_Limb::GetMotorOmega ( const std::string &  motor_name) const

Get angular speed for specified motor.

Motors are named "joint1", "joint2", ... , "joint8", starting at the chassis.

◆ GetMotorTorque()

double chrono::robosimian::RS_Limb::GetMotorTorque ( const std::string &  motor_name) const

Get actuator reaction torque [Nm] for specified motor.

Motors are named "joint1", "joint2", ... , "joint8", starting at the chassis.

◆ Initialize()

void chrono::robosimian::RS_Limb::Initialize ( std::shared_ptr< chrono::ChBodyAuxRef chassis,
const chrono::ChVector3d xyz,
const chrono::ChVector3d rpy,
CollisionFamily::Enum  collision_family,
ActuationMode  wheel_mode 
)

Initialize the limb at the specified position (relative to the chassis).

Parameters
chassischassis body
xyzlocation (relative to chassis)
rpyroll-pitch-yaw (relative to chassis)
collision_familycollision family
wheel_modemotor type for wheel actuation

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