Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
steered_wheel_base_controller::SteeredWheelBaseController Class Reference
Inheritance diagram for steered_wheel_base_controller::SteeredWheelBaseController:
Inheritance graph
[legend]

List of all members.

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< VelCmdvel_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()

Detailed Description

Definition at line 784 of file steered_wheel_base_controller.cpp.


Constructor & Destructor Documentation

Definition at line 933 of file steered_wheel_base_controller.cpp.


Member Function Documentation

void steered_wheel_base_controller::SteeredWheelBaseController::compOdometry ( const Time time,
const double  inv_delta_t 
) [private]

Definition at line 1474 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 1381 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 1293 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 1341 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 1051 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 938 of file steered_wheel_base_controller.cpp.

Reimplemented from controller_interface::ControllerBase.

Definition at line 988 of file steered_wheel_base_controller.cpp.

Reimplemented from controller_interface::ControllerBase.

Definition at line 1043 of file steered_wheel_base_controller.cpp.

void steered_wheel_base_controller::SteeredWheelBaseController::update ( const Time time,
const Duration period 
) [virtual]
void steered_wheel_base_controller::SteeredWheelBaseController::velCmdCB ( const TwistConstPtr &  vel_cmd) [private]

Definition at line 1282 of file steered_wheel_base_controller.cpp.


Member Data Documentation

Definition at line 885 of file steered_wheel_base_controller.cpp.

Definition at line 832 of file steered_wheel_base_controller.cpp.

Definition at line 813 of file steered_wheel_base_controller.cpp.

Definition at line 814 of file steered_wheel_base_controller.cpp.

Definition at line 824 of file steered_wheel_base_controller.cpp.

Definition at line 833 of file steered_wheel_base_controller.cpp.

Definition at line 834 of file steered_wheel_base_controller.cpp.

Definition at line 835 of file steered_wheel_base_controller.cpp.

Definition at line 817 of file steered_wheel_base_controller.cpp.

Definition at line 818 of file steered_wheel_base_controller.cpp.

Definition at line 816 of file steered_wheel_base_controller.cpp.

Definition at line 831 of file steered_wheel_base_controller.cpp.

Definition at line 829 of file steered_wheel_base_controller.cpp.

Definition at line 830 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 812 of file steered_wheel_base_controller.cpp.

Definition at line 836 of file steered_wheel_base_controller.cpp.

Definition at line 827 of file steered_wheel_base_controller.cpp.

Definition at line 821 of file steered_wheel_base_controller.cpp.

Definition at line 822 of file steered_wheel_base_controller.cpp.

Definition at line 820 of file steered_wheel_base_controller.cpp.

Definition at line 825 of file steered_wheel_base_controller.cpp.

Definition at line 859 of file steered_wheel_base_controller.cpp.

Definition at line 861 of file steered_wheel_base_controller.cpp.

Definition at line 857 of file steered_wheel_base_controller.cpp.

Definition at line 867 of file steered_wheel_base_controller.cpp.

Definition at line 869 of file steered_wheel_base_controller.cpp.

Definition at line 865 of file steered_wheel_base_controller.cpp.

Definition at line 872 of file steered_wheel_base_controller.cpp.

Definition at line 872 of file steered_wheel_base_controller.cpp.

Definition at line 888 of file steered_wheel_base_controller.cpp.

Definition at line 874 of file steered_wheel_base_controller.cpp.

Definition at line 900 of file steered_wheel_base_controller.cpp.

Definition at line 900 of file steered_wheel_base_controller.cpp.

Definition at line 875 of file steered_wheel_base_controller.cpp.

Definition at line 860 of file steered_wheel_base_controller.cpp.

Definition at line 862 of file steered_wheel_base_controller.cpp.

Definition at line 858 of file steered_wheel_base_controller.cpp.

Definition at line 896 of file steered_wheel_base_controller.cpp.

Definition at line 897 of file steered_wheel_base_controller.cpp.

Definition at line 898 of file steered_wheel_base_controller.cpp.

Definition at line 887 of file steered_wheel_base_controller.cpp.

Definition at line 890 of file steered_wheel_base_controller.cpp.

Definition at line 899 of file steered_wheel_base_controller.cpp.

Definition at line 889 of file steered_wheel_base_controller.cpp.

Definition at line 886 of file steered_wheel_base_controller.cpp.

Definition at line 878 of file steered_wheel_base_controller.cpp.

Definition at line 879 of file steered_wheel_base_controller.cpp.

Definition at line 882 of file steered_wheel_base_controller.cpp.

Definition at line 881 of file steered_wheel_base_controller.cpp.

Definition at line 880 of file steered_wheel_base_controller.cpp.

Definition at line 895 of file steered_wheel_base_controller.cpp.

Definition at line 854 of file steered_wheel_base_controller.cpp.

const Vector2d steered_wheel_base_controller::SteeredWheelBaseController::X_DIR = Vector2d::UnitX() [static, private]

Definition at line 838 of file steered_wheel_base_controller.cpp.

Definition at line 868 of file steered_wheel_base_controller.cpp.

Definition at line 870 of file steered_wheel_base_controller.cpp.

Definition at line 866 of file steered_wheel_base_controller.cpp.


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


steered_wheel_base_controller
Author(s): Jim Rothrock
autogenerated on Mon Nov 16 2015 13:44:46