Project Chrono: chrono::robosimian::RS_Limb Class Reference

Public Member Functions | Friends | List of all members
chrono::robosimian::RS_Limb Class Reference
Models » Robot models » RoboSimian legged robot model

## 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).
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::ChBodyAuxRef > | GetWheelBody () const
| Get a handle to the wheel body.
const chrono::ChVector3d & | GetWheelPos () 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.
double | GetMotorOmega (const std::string &motor_name) const
| Get angular speed for specified motor.
double | GetMotorTorque (const std::string &motor_name) const
| Get actuator reaction torque [Nm] for specified motor.
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

  name | limb name
  id | limb ID
  data | data for limb links
  wheel_mat | contact material for the limb wheel
  link_mat | contact material for the limb links
  system | containing 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

  chassis | chassis body
  xyz | location (relative to chassis)
  rpy | roll-pitch-yaw (relative to chassis)
  collision_family | collision family
  wheel_mode | motor type for wheel actuation

The documentation for this class was generated from the following files:

- D:/W/B/src/chrono-9.0.1/src/chrono_models/robot/robosimian/RoboSimian.h
- D:/W/B/src/chrono-9.0.1/src/chrono_models/robot/robosimian/RoboSimian.cpp