rm_controllers
Loading...
Searching...
No Matches
rm_chassis_controllers Namespace Reference

Classes

class  ActiveSuspensionController
 
class  BalanceController
 
struct  BiasParams
 
class  BipedalController
 
class  BipedalControllerInterface
 
class  ChassisBase
 
struct  ChassisGeometryParams
 
struct  ChassisState
 
struct  Command
 
struct  ControlParams
 
class  FiveLinkVMC
 
struct  LegCommand
 
struct  LegForce
 
struct  LegPos
 
struct  LegSpd
 
struct  LegState
 
struct  LegStateThresholdParams
 
struct  LQRConfig
 
class  ModeBase
 
struct  ModelParams
 
class  ModeManager
 
struct  Module
 
class  Normal
 
class  OmniController
 
struct  PowerLimitor
 
class  Protect
 
class  Recover
 
class  SentryController
 
class  SitDown
 
struct  SpringParams
 
class  StandUp
 
class  SwerveController
 
class  TwoLinkVMC
 
class  Upstairs
 
class  VMC
 
class  VMCController
 

Typedefs

using VMCPtr = std::shared_ptr<VMC>
 

Enumerations

enum class  State { DOWN = 0 , MID = 1 , UP = 2 }
 
enum  LegOrientation { UNDER , FRONT , BEHIND }
 
enum  JumpPhase { LEG_RETRACTION , JUMP_UP , OFF_GROUND , IDLE }
 
enum  BalanceMode {
  NORMAL , STAND_UP , SIT_DOWN , RECOVER ,
  UPSTAIRS , PROTECT
}
 
enum  Side { LEFT = 0 , RIGHT }
 
enum  { WHEEL_T = 0 , LEG_Tp }
 
enum  {
  THETA = 0 , D_THETA , POS , VEL ,
  PITCH , D_PITCH
}
 

Functions

void generateAB (const std::shared_ptr< ModelParams > &model_params, Eigen::Matrix< double, STATE_DIM, STATE_DIM > &a, Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > &b, double leg_length)
 
void setJointCommands (std::vector< hardware_interface::JointHandle * > &joints, const LegCommand &left_cmd, const LegCommand &right_cmd, double wheel_left=0., double wheel_right=0.)
 
void quatToRPY (const geometry_msgs::Quaternion &q, double &roll, double &pitch, double &yaw)
 
void clamp (double &val, const double &minVal, const double &maxVal)
 

Variables

constexpr std::array< std::pair< JumpPhase, const double >, 3 > jumpLengthDes
 

Typedef Documentation

◆ VMCPtr

using rm_chassis_controllers::VMCPtr = std::shared_ptr<VMC>

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
WHEEL_T 
LEG_Tp 

◆ anonymous enum

anonymous enum
Enumerator
THETA 
D_THETA 
POS 
VEL 
PITCH 
D_PITCH 

◆ BalanceMode

Enumerator
NORMAL 
STAND_UP 
SIT_DOWN 
RECOVER 
UPSTAIRS 
PROTECT 

◆ JumpPhase

Enumerator
LEG_RETRACTION 
JUMP_UP 
OFF_GROUND 
IDLE 

◆ LegOrientation

Enumerator
UNDER 
FRONT 
BEHIND 

◆ Side

Enumerator
LEFT 
RIGHT 

◆ State

enum class rm_chassis_controllers::State
strong
Enumerator
DOWN 
MID 
UP 

Function Documentation

◆ clamp()

void rm_chassis_controllers::clamp ( double & val,
const double & minVal,
const double & maxVal )
inline

◆ generateAB()

void rm_chassis_controllers::generateAB ( const std::shared_ptr< ModelParams > & model_params,
Eigen::Matrix< double, STATE_DIM, STATE_DIM > & a,
Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > & b,
double leg_length )
inline

Generate continuous-time state space matrices A and B

Parameters
model_params
a
b
leg_length

◆ quatToRPY()

void rm_chassis_controllers::quatToRPY ( const geometry_msgs::Quaternion & q,
double & roll,
double & pitch,
double & yaw )
inline

Convert quaternion to roll, pitch, yaw

Parameters
q
roll
pitch
yaw

◆ setJointCommands()

void rm_chassis_controllers::setJointCommands ( std::vector< hardware_interface::JointHandle * > & joints,
const LegCommand & left_cmd,
const LegCommand & right_cmd,
double wheel_left = 0.,
double wheel_right = 0. )
inline

Set joint commands to the joint handles

Parameters
joints
left_cmd
right_cmd
wheel_left
wheel_right

Variable Documentation

◆ jumpLengthDes

std::array<std::pair<JumpPhase, const double>, 3> rm_chassis_controllers::jumpLengthDes
constexpr
Initial value:
= {
{ { JumpPhase::LEG_RETRACTION, 0.11 }, { JumpPhase::JUMP_UP, 0.34 }, { JumpPhase::OFF_GROUND, 0.11 } }
}