Struct KinematicParameters

Struct Documentation

struct KinematicParameters

A struct containing one representation of the robot’s kinematics.

Public Functions

inline double getMinX()
inline double getMaxX()
inline double getAccX()
inline double getDecelX()
inline double getMinY()
inline double getMaxY()
inline double getAccY()
inline double getDecelY()
inline double getMinSpeedXY()
inline double getMaxSpeedXY()
inline double getMinTheta()
inline double getMaxTheta()
inline double getAccTheta()
inline double getDecelTheta()
inline double getMinSpeedTheta()
inline double getMinSpeedXY_SQ()
inline double getMaxSpeedXY_SQ()
inline bool isValidSpeed(double x, double y, double theta)

Check to see whether the combined x/y/theta velocities are valid.

This is based on three parameters: min_speed_xy, max_speed_xy and min_speed_theta. The speed is valid if 1) The combined magnitude hypot(x,y) is less than max_speed_xy (or max_speed_xy is negative) AND 2) min_speed_xy is negative or min_speed_theta is negative or hypot(x,y) is greater than min_speed_xy or fabs(theta) is greater than min_speed_theta.

Returns:

True if the magnitude hypot(x,y) and theta are within the robot’s absolute limits

Protected Attributes

double min_vel_x_ = {0}
double min_vel_y_ = {0}
double max_vel_x_ = {0}
double max_vel_y_ = {0}
double base_max_vel_x_ = {0}
double base_max_vel_y_ = {0}
double max_vel_theta_ = {0}
double base_max_vel_theta_ = {0}
double min_speed_xy_ = {0}
double max_speed_xy_ = {0}
double base_max_speed_xy_ = {0}
double min_speed_theta_ = {0}
double acc_lim_x_ = {0}
double acc_lim_y_ = {0}
double acc_lim_theta_ = {0}
double decel_lim_x_ = {0}
double decel_lim_y_ = {0}
double decel_lim_theta_ = {0}
double min_speed_xy_sq_ = {0}
double max_speed_xy_sq_ = {0}

Friends

friend class KinematicsHandler