TrajectoryFollowingSimulation::Sample Struct Reference

#include <armarx/navigation/simulation/TrajectoryFollowingSimulation.h>

Public Attributes

bool accelerationSaturated {false}
 True when a limit was binding, i.e. the base could not follow the command.
 
float angularAcceleration {0.F}
 
Eigen::VectorXf appliedMotorTorques
 Motor torque after clipping [N m]. Only set for OmniWheelTorque.
 
float commandedAngular {0.F}
 
Eigen::Vector2f commandedLinearLocal {Eigen::Vector2f::Zero()}
 Filtered twist as commanded to the platform, in the robot frame.
 
Eigen::Vector2f commandedVelocityGlobal {Eigen::Vector2f::Zero()}
 Commanded linear velocity in the global frame, i.e. what the mass is asked for.
 
Eigen::VectorXf commandedWheelVelocities
 Wheel speeds the command asks for [rev/s]. Only set for the omni-wheel model.
 
float distanceToGoal {0.F}
 Distance to the last trajectory point [mm].
 
float dropPointVelocity {0.F}
 Velocity of the trajectory point the controller is currently tracking.
 
core::Pose global_T_robot {core::Pose::Identity()}
 
float linearAcceleration {0.F}
 Acceleration actually applied, bounded by PlatformDynamics.
 
Eigen::ArrayXi motorSaturated
 Which motors hit their torque bound. Only set for OmniWheelTorque.
 
float orientationError {0.F}
 
float requiredAngularAcceleration {0.F}
 
float requiredLinearAcceleration {0.F}
 Acceleration needed to match the command within one cycle, ignoring the limit.
 
Eigen::VectorXf requiredMotorTorques
 Motor torque the command asks for [N m]. Only set for OmniWheelTorque.
 
Eigen::VectorXf requiredWheelAccelerations
 Per-wheel acceleration the command asks for [rev/s^2], ignoring the limit.
 
float speed {0.F}
 
float time {0.F}
 
float trackingError {0.F}
 Distance from the robot to the trajectory point it is tracking [mm].
 
Eigen::Vector2f velocityGlobal {Eigen::Vector2f::Zero()}
 Achieved linear velocity in the global frame, after the acceleration limit.
 
Eigen::ArrayXi wheelSaturated
 Which wheels hit their acceleration bound. Only set for OmniWheelVelocity.
 
Eigen::ArrayXi wheelSpeedSaturated
 Which wheels hit their speed bound. Only set for OmniWheelTorque.
 
Eigen::VectorXf wheelVelocities
 Wheel speeds actually reached [rev/s]. Only set for the omni-wheel model.
 

Member Data Documentation

◆ accelerationSaturated

bool accelerationSaturated {false}

True when a limit was binding, i.e. the base could not follow the command.

◆ angularAcceleration

float angularAcceleration {0.F}

◆ appliedMotorTorques

Eigen::VectorXf appliedMotorTorques

Motor torque after clipping [N m]. Only set for OmniWheelTorque.

◆ commandedAngular

float commandedAngular {0.F}

◆ commandedLinearLocal

Eigen::Vector2f commandedLinearLocal {Eigen::Vector2f::Zero()}

Filtered twist as commanded to the platform, in the robot frame.

◆ commandedVelocityGlobal

Eigen::Vector2f commandedVelocityGlobal {Eigen::Vector2f::Zero()}

Commanded linear velocity in the global frame, i.e. what the mass is asked for.

◆ commandedWheelVelocities

Eigen::VectorXf commandedWheelVelocities

Wheel speeds the command asks for [rev/s]. Only set for the omni-wheel model.

◆ distanceToGoal

float distanceToGoal {0.F}

Distance to the last trajectory point [mm].

This is what the controller itself reports as positionError, despite the name.

◆ dropPointVelocity

float dropPointVelocity {0.F}

Velocity of the trajectory point the controller is currently tracking.

◆ global_T_robot

core::Pose global_T_robot {core::Pose::Identity()}

◆ linearAcceleration

float linearAcceleration {0.F}

Acceleration actually applied, bounded by PlatformDynamics.

◆ motorSaturated

Eigen::ArrayXi motorSaturated

Which motors hit their torque bound. Only set for OmniWheelTorque.

◆ orientationError

float orientationError {0.F}

◆ requiredAngularAcceleration

float requiredAngularAcceleration {0.F}

◆ requiredLinearAcceleration

float requiredLinearAcceleration {0.F}

Acceleration needed to match the command within one cycle, ignoring the limit.

◆ requiredMotorTorques

Eigen::VectorXf requiredMotorTorques

Motor torque the command asks for [N m]. Only set for OmniWheelTorque.

◆ requiredWheelAccelerations

Eigen::VectorXf requiredWheelAccelerations

Per-wheel acceleration the command asks for [rev/s^2], ignoring the limit.

◆ speed

float speed {0.F}

◆ time

float time {0.F}

◆ trackingError

float trackingError {0.F}

Distance from the robot to the trajectory point it is tracking [mm].

This is the cross-track error, i.e. how far the robot has drifted off the path.

◆ velocityGlobal

Eigen::Vector2f velocityGlobal {Eigen::Vector2f::Zero()}

Achieved linear velocity in the global frame, after the acceleration limit.

◆ wheelSaturated

Eigen::ArrayXi wheelSaturated

Which wheels hit their acceleration bound. Only set for OmniWheelVelocity.

◆ wheelSpeedSaturated

Eigen::ArrayXi wheelSpeedSaturated

Which wheels hit their speed bound. Only set for OmniWheelTorque.

◆ wheelVelocities

Eigen::VectorXf wheelVelocities

Wheel speeds actually reached [rev/s]. Only set for the omni-wheel model.


The documentation for this struct was generated from the following file: