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 708 of file steered_wheel_base_controller.cpp.


Constructor & Destructor Documentation

Definition at line 857 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 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.

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.

Reimplemented from controller_interface::ControllerBase.

Definition at line 911 of file steered_wheel_base_controller.cpp.

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]
void steered_wheel_base_controller::SteeredWheelBaseController::velCmdCB ( const TwistConstPtr &  vel_cmd) [private]

Definition at line 1205 of file steered_wheel_base_controller.cpp.


Member Data Documentation

Definition at line 809 of file steered_wheel_base_controller.cpp.

Definition at line 756 of file steered_wheel_base_controller.cpp.

Definition at line 737 of file steered_wheel_base_controller.cpp.

Definition at line 738 of file steered_wheel_base_controller.cpp.

Definition at line 748 of file steered_wheel_base_controller.cpp.

Definition at line 757 of file steered_wheel_base_controller.cpp.

Definition at line 758 of file steered_wheel_base_controller.cpp.

Definition at line 759 of file steered_wheel_base_controller.cpp.

Definition at line 741 of file steered_wheel_base_controller.cpp.

Definition at line 742 of file steered_wheel_base_controller.cpp.

Definition at line 740 of file steered_wheel_base_controller.cpp.

Definition at line 755 of file steered_wheel_base_controller.cpp.

Definition at line 753 of file steered_wheel_base_controller.cpp.

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.

Definition at line 760 of file steered_wheel_base_controller.cpp.

Definition at line 751 of file steered_wheel_base_controller.cpp.

Definition at line 745 of file steered_wheel_base_controller.cpp.

Definition at line 746 of file steered_wheel_base_controller.cpp.

Definition at line 744 of file steered_wheel_base_controller.cpp.

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.

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.

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 811 of file steered_wheel_base_controller.cpp.

Definition at line 814 of file steered_wheel_base_controller.cpp.

Definition at line 823 of file steered_wheel_base_controller.cpp.

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.

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.

Definition at line 819 of file steered_wheel_base_controller.cpp.

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.


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


steered_wheel_base_controller
Author(s): Jim Rothrock
autogenerated on Wed Sep 2 2015 11:47:12