Classes | |
struct | VelCmd |
Public Member Functions | |
virtual string | getHardwareInterfaceType () const |
virtual bool | initRequest (RobotHW *const robot_hw, NodeHandle &root_nh, NodeHandle &ctrlr_nh, set< string > &claimed_resources) |
virtual void | starting (const Time &time) |
SteeredWheelBaseController () | |
virtual void | stopping (const Time &time) |
virtual void | update (const Time &time, const Duration &period) |
Private Member Functions | |
void | compOdometry (const Time &time, const double inv_delta_t) |
void | ctrlWheels (const Vector2d &lin_vel, const double yaw_vel, const Duration &period) |
Vector2d | enforceLinLimits (const Vector2d &desired_vel, const double delta_t, const double inv_delta_t) |
double | enforceYawLimits (const double desired_vel, const double delta_t, const double inv_delta_t) |
void | init (EffortJointInterface *const eff_joint_iface, PositionJointInterface *const pos_joint_iface, VelocityJointInterface *const vel_joint_iface, NodeHandle &ctrlr_nh) |
void | velCmdCB (const TwistConstPtr &vel_cmd) |
Private Attributes | |
bool | comp_odom_ |
bool | has_lin_accel_limit_ |
bool | has_lin_decel_limit_ |
bool | has_lin_speed_limit_ |
bool | has_yaw_accel_limit_ |
bool | has_yaw_decel_limit_ |
bool | has_yaw_speed_limit_ |
double | hermite_offset_ |
double | hermite_scale_ |
Affine2d | init_odom_to_base_ |
Vector2d | last_lin_vel_ |
Time | last_odom_pub_time_ |
Time | last_odom_tf_pub_time_ |
double | last_yaw_vel_ |
double | lin_accel_limit_ |
double | lin_decel_limit_ |
double | lin_speed_limit_ |
Vector2d | neg_wheel_centroid_ |
Eigen::MatrixX2d | new_wheel_pos_ |
RealtimePublisher < nav_msgs::Odometry > | odom_pub_ |
Duration | odom_pub_period_ |
Affine2d | odom_rigid_transf_ |
RealtimePublisher< tf::tfMessage > | odom_tf_pub_ |
Affine2d | odom_to_base_ |
bool | pub_odom_to_base_ |
VelCmd | vel_cmd_ |
RealtimeBuffer< VelCmd > | vel_cmd_buf_ |
ros::Subscriber | vel_cmd_sub_ |
Duration | vel_cmd_timeout_ |
bool | vel_cmd_timeout_enabled_ |
Eigen::Matrix2Xd | wheel_pos_ |
std::vector< Wheel > | wheels_ |
double | yaw_accel_limit_ |
double | yaw_decel_limit_ |
double | yaw_speed_limit_ |
Static Private Attributes | |
static const string | DEF_BASE_FRAME = "base_link" |
static const string | DEF_BASE_LINK = "base_link" |
static const double | DEF_CMD_VEL_TIMEOUT = 0.5 |
static const double | DEF_FULL_AXLE_SPEED_ANG = 0.7854 |
static const double | DEF_INIT_X = 0 |
static const double | DEF_INIT_Y = 0 |
static const double | DEF_INIT_YAW = 0 |
static const double | DEF_LIN_ACCEL_LIMIT = 1 |
static const double | DEF_LIN_DECEL_LIMIT = -1 |
static const double | DEF_LIN_SPEED_LIMIT = 1 |
static const string | DEF_ODOM_FRAME = "odom" |
static const double | DEF_ODOM_PUB_FREQ = 30 |
static const bool | DEF_PUB_ODOM_TO_BASE = true |
static const string | DEF_ROBOT_DESC_NAME = "robot_description" |
static const double | DEF_SD = 0 |
static const double | DEF_WHEEL_DIA_SCALE = 1 |
static const double | DEF_YAW_ACCEL_LIMIT = 1 |
static const double | DEF_YAW_DECEL_LIMIT = -1 |
static const double | DEF_YAW_SPEED_LIMIT = 1 |
static const double | DEF_ZERO_AXLE_SPEED_ANG = 1.5708 |
static const Vector2d | X_DIR = Vector2d::UnitX() |
Definition at line 708 of file steered_wheel_base_controller.cpp.
Definition at line 857 of file steered_wheel_base_controller.cpp.
void steered_wheel_base_controller::SteeredWheelBaseController::compOdometry | ( | const Time & | time, |
const double | inv_delta_t | ||
) | [private] |
Definition at line 1397 of file steered_wheel_base_controller.cpp.
void steered_wheel_base_controller::SteeredWheelBaseController::ctrlWheels | ( | const Vector2d & | lin_vel, |
const double | yaw_vel, | ||
const Duration & | period | ||
) | [private] |
Definition at line 1304 of file steered_wheel_base_controller.cpp.
Vector2d steered_wheel_base_controller::SteeredWheelBaseController::enforceLinLimits | ( | const Vector2d & | desired_vel, |
const double | delta_t, | ||
const double | inv_delta_t | ||
) | [private] |
Definition at line 1216 of file steered_wheel_base_controller.cpp.
double steered_wheel_base_controller::SteeredWheelBaseController::enforceYawLimits | ( | const double | desired_vel, |
const double | delta_t, | ||
const double | inv_delta_t | ||
) | [private] |
Definition at line 1264 of file steered_wheel_base_controller.cpp.
string steered_wheel_base_controller::SteeredWheelBaseController::getHardwareInterfaceType | ( | ) | const [virtual] |
Implements controller_interface::ControllerBase.
Definition at line 906 of file steered_wheel_base_controller.cpp.
void steered_wheel_base_controller::SteeredWheelBaseController::init | ( | EffortJointInterface *const | eff_joint_iface, |
PositionJointInterface *const | pos_joint_iface, | ||
VelocityJointInterface *const | vel_joint_iface, | ||
NodeHandle & | ctrlr_nh | ||
) | [private] |
Definition at line 974 of file steered_wheel_base_controller.cpp.
bool steered_wheel_base_controller::SteeredWheelBaseController::initRequest | ( | RobotHW *const | robot_hw, |
NodeHandle & | root_nh, | ||
NodeHandle & | ctrlr_nh, | ||
set< string > & | claimed_resources | ||
) | [virtual] |
Definition at line 862 of file steered_wheel_base_controller.cpp.
void steered_wheel_base_controller::SteeredWheelBaseController::starting | ( | const Time & | time | ) | [virtual] |
Reimplemented from controller_interface::ControllerBase.
Definition at line 911 of file steered_wheel_base_controller.cpp.
void steered_wheel_base_controller::SteeredWheelBaseController::stopping | ( | const Time & | time | ) | [virtual] |
Reimplemented from controller_interface::ControllerBase.
Definition at line 966 of file steered_wheel_base_controller.cpp.
void steered_wheel_base_controller::SteeredWheelBaseController::update | ( | const Time & | time, |
const Duration & | period | ||
) | [virtual] |
Implements controller_interface::ControllerBase.
Definition at line 932 of file steered_wheel_base_controller.cpp.
void steered_wheel_base_controller::SteeredWheelBaseController::velCmdCB | ( | const TwistConstPtr & | vel_cmd | ) | [private] |
Definition at line 1205 of file steered_wheel_base_controller.cpp.
Definition at line 809 of file steered_wheel_base_controller.cpp.
const string steered_wheel_base_controller::SteeredWheelBaseController::DEF_BASE_FRAME = "base_link" [static, private] |
Definition at line 756 of file steered_wheel_base_controller.cpp.
const string steered_wheel_base_controller::SteeredWheelBaseController::DEF_BASE_LINK = "base_link" [static, private] |
Definition at line 737 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_CMD_VEL_TIMEOUT = 0.5 [static, private] |
Definition at line 738 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_FULL_AXLE_SPEED_ANG = 0.7854 [static, private] |
Definition at line 748 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_INIT_X = 0 [static, private] |
Definition at line 757 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_INIT_Y = 0 [static, private] |
Definition at line 758 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_INIT_YAW = 0 [static, private] |
Definition at line 759 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_LIN_ACCEL_LIMIT = 1 [static, private] |
Definition at line 741 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_LIN_DECEL_LIMIT = -1 [static, private] |
Definition at line 742 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_LIN_SPEED_LIMIT = 1 [static, private] |
Definition at line 740 of file steered_wheel_base_controller.cpp.
const string steered_wheel_base_controller::SteeredWheelBaseController::DEF_ODOM_FRAME = "odom" [static, private] |
Definition at line 755 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_ODOM_PUB_FREQ = 30 [static, private] |
Definition at line 753 of file steered_wheel_base_controller.cpp.
const bool steered_wheel_base_controller::SteeredWheelBaseController::DEF_PUB_ODOM_TO_BASE = true [static, private] |
Definition at line 754 of file steered_wheel_base_controller.cpp.
const string steered_wheel_base_controller::SteeredWheelBaseController::DEF_ROBOT_DESC_NAME = "robot_description" [static, private] |
Definition at line 736 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_SD = 0 [static, private] |
Definition at line 760 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_WHEEL_DIA_SCALE = 1 [static, private] |
Definition at line 751 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_YAW_ACCEL_LIMIT = 1 [static, private] |
Definition at line 745 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_YAW_DECEL_LIMIT = -1 [static, private] |
Definition at line 746 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_YAW_SPEED_LIMIT = 1 [static, private] |
Definition at line 744 of file steered_wheel_base_controller.cpp.
const double steered_wheel_base_controller::SteeredWheelBaseController::DEF_ZERO_AXLE_SPEED_ANG = 1.5708 [static, private] |
Definition at line 749 of file steered_wheel_base_controller.cpp.
Definition at line 783 of file steered_wheel_base_controller.cpp.
Definition at line 785 of file steered_wheel_base_controller.cpp.
Definition at line 781 of file steered_wheel_base_controller.cpp.
Definition at line 791 of file steered_wheel_base_controller.cpp.
Definition at line 793 of file steered_wheel_base_controller.cpp.
Definition at line 789 of file steered_wheel_base_controller.cpp.
Definition at line 796 of file steered_wheel_base_controller.cpp.
Definition at line 796 of file steered_wheel_base_controller.cpp.
Definition at line 812 of file steered_wheel_base_controller.cpp.
Vector2d steered_wheel_base_controller::SteeredWheelBaseController::last_lin_vel_ [private] |
Definition at line 798 of file steered_wheel_base_controller.cpp.
Definition at line 824 of file steered_wheel_base_controller.cpp.
Definition at line 824 of file steered_wheel_base_controller.cpp.
Definition at line 799 of file steered_wheel_base_controller.cpp.
Definition at line 784 of file steered_wheel_base_controller.cpp.
Definition at line 786 of file steered_wheel_base_controller.cpp.
Definition at line 782 of file steered_wheel_base_controller.cpp.
Definition at line 820 of file steered_wheel_base_controller.cpp.
Eigen::MatrixX2d steered_wheel_base_controller::SteeredWheelBaseController::new_wheel_pos_ [private] |
Definition at line 821 of file steered_wheel_base_controller.cpp.
RealtimePublisher<nav_msgs::Odometry> steered_wheel_base_controller::SteeredWheelBaseController::odom_pub_ [private] |
Definition at line 822 of file steered_wheel_base_controller.cpp.
Definition at line 811 of file steered_wheel_base_controller.cpp.
Definition at line 814 of file steered_wheel_base_controller.cpp.
RealtimePublisher<tf::tfMessage> steered_wheel_base_controller::SteeredWheelBaseController::odom_tf_pub_ [private] |
Definition at line 823 of file steered_wheel_base_controller.cpp.
Affine2d steered_wheel_base_controller::SteeredWheelBaseController::odom_to_base_ [private] |
Definition at line 813 of file steered_wheel_base_controller.cpp.
Definition at line 810 of file steered_wheel_base_controller.cpp.
Definition at line 802 of file steered_wheel_base_controller.cpp.
RealtimeBuffer<VelCmd> steered_wheel_base_controller::SteeredWheelBaseController::vel_cmd_buf_ [private] |
Definition at line 803 of file steered_wheel_base_controller.cpp.
Definition at line 806 of file steered_wheel_base_controller.cpp.
Definition at line 805 of file steered_wheel_base_controller.cpp.
Definition at line 804 of file steered_wheel_base_controller.cpp.
Eigen::Matrix2Xd steered_wheel_base_controller::SteeredWheelBaseController::wheel_pos_ [private] |
Definition at line 819 of file steered_wheel_base_controller.cpp.
std::vector<Wheel> steered_wheel_base_controller::SteeredWheelBaseController::wheels_ [private] |
Definition at line 778 of file steered_wheel_base_controller.cpp.
const Vector2d steered_wheel_base_controller::SteeredWheelBaseController::X_DIR = Vector2d::UnitX() [static, private] |
Definition at line 762 of file steered_wheel_base_controller.cpp.
Definition at line 792 of file steered_wheel_base_controller.cpp.
Definition at line 794 of file steered_wheel_base_controller.cpp.
Definition at line 790 of file steered_wheel_base_controller.cpp.