Public Member Functions | |
void | cmd_velCallback (const geometry_msgs::Twist::ConstPtr &msg) |
void | disconnect () |
void | handleStatus (segwayrmp::SegwayStatus::Ptr &ss_ptr) |
void | keepAliveCallback (const ros::TimerEvent &e) |
void | motor_timeoutCallback (const ros::TimerEvent &e) |
void | run () |
SegwayRMPNode () | |
bool | spin () |
~SegwayRMPNode () | |
Private Member Functions | |
int | getParameters () |
void | setupROSComms () |
void | setupSegwayRMP () |
Private Attributes | |
double | angular_neg_accel_limit |
double | angular_pos_accel_limit |
double | angular_vel |
bool | broadcast_tf |
ros::Subscriber | cmd_velSubscriber |
bool | connected |
int | count |
bool | first_odometry |
std::string | frame_id |
segwayrmp::InterfaceType | interface_type |
std::string | interface_type_str |
bool | invert_x |
bool | invert_z |
ros::Timer | keep_alive_timer |
float | last_forward_displacement |
ros::Time | last_time |
float | last_yaw_displacement |
double | linear_neg_accel_limit |
double | linear_pos_accel_limit |
double | linear_vel |
boost::mutex | m_mutex |
ros::Timer | motor_timeout_timer |
ros::NodeHandle * | n |
tf::TransformBroadcaster | odom_broadcaster |
nav_msgs::Odometry | odom_msg |
ros::Publisher | odom_pub |
geometry_msgs::TransformStamped | odom_trans |
float | odometry_w |
float | odometry_x |
float | odometry_y |
double | segway_motor_timeout |
segwayrmp::SegwayRMP * | segway_rmp |
segwayrmp::SegwayRMPType | segway_rmp_type |
ros::Publisher | segway_status_pub |
std::string | serial_number |
std::string | serial_port |
segway_rmpX::SegwayStatusStamped | sss_msg |
double | target_angular_vel |
double | target_linear_vel |
std::string | usb_description |
int | usb_index |
std::string | usb_selector |
Definition at line 53 of file segway_rmp_node.cpp.
SegwayRMPNode::SegwayRMPNode | ( | ) | [inline] |
Definition at line 55 of file segway_rmp_node.cpp.
SegwayRMPNode::~SegwayRMPNode | ( | ) | [inline] |
Definition at line 67 of file segway_rmp_node.cpp.
void SegwayRMPNode::cmd_velCallback | ( | const geometry_msgs::Twist::ConstPtr & | msg | ) | [inline] |
The handler for messages received on the 'cmd_vel' topic.
Definition at line 301 of file segway_rmp_node.cpp.
void SegwayRMPNode::disconnect | ( | ) | [inline] |
Definition at line 71 of file segway_rmp_node.cpp.
int SegwayRMPNode::getParameters | ( | ) | [inline, private] |
Definition at line 370 of file segway_rmp_node.cpp.
void SegwayRMPNode::handleStatus | ( | segwayrmp::SegwayStatus::Ptr & | ss_ptr | ) | [inline] |
Definition at line 183 of file segway_rmp_node.cpp.
void SegwayRMPNode::keepAliveCallback | ( | const ros::TimerEvent & | e | ) | [inline] |
This method is called at 20Hz. Each time it sends a movement command to the Segway RMP.
Definition at line 128 of file segway_rmp_node.cpp.
void SegwayRMPNode::motor_timeoutCallback | ( | const ros::TimerEvent & | e | ) | [inline] |
This method is called if a motor command is not received within the segway_motor_timeout interval. It halts the robot for safety reasons.
Definition at line 291 of file segway_rmp_node.cpp.
void SegwayRMPNode::run | ( | ) | [inline] |
Definition at line 77 of file segway_rmp_node.cpp.
void SegwayRMPNode::setupROSComms | ( | ) | [inline, private] |
Definition at line 327 of file segway_rmp_node.cpp.
void SegwayRMPNode::setupSegwayRMP | ( | ) | [inline, private] |
Definition at line 336 of file segway_rmp_node.cpp.
bool SegwayRMPNode::spin | ( | ) | [inline] |
Definition at line 110 of file segway_rmp_node.cpp.
double SegwayRMPNode::angular_neg_accel_limit [private] |
Definition at line 513 of file segway_rmp_node.cpp.
double SegwayRMPNode::angular_pos_accel_limit [private] |
Definition at line 512 of file segway_rmp_node.cpp.
double SegwayRMPNode::angular_vel [private] |
Definition at line 505 of file segway_rmp_node.cpp.
bool SegwayRMPNode::broadcast_tf [private] |
Definition at line 502 of file segway_rmp_node.cpp.
ros::Subscriber SegwayRMPNode::cmd_velSubscriber [private] |
Definition at line 481 of file segway_rmp_node.cpp.
bool SegwayRMPNode::connected [private] |
Definition at line 515 of file segway_rmp_node.cpp.
int SegwayRMPNode::count [private] |
Definition at line 521 of file segway_rmp_node.cpp.
bool SegwayRMPNode::first_odometry [private] |
Definition at line 523 of file segway_rmp_node.cpp.
std::string SegwayRMPNode::frame_id [private] |
Definition at line 500 of file segway_rmp_node.cpp.
segwayrmp::InterfaceType SegwayRMPNode::interface_type [private] |
Definition at line 489 of file segway_rmp_node.cpp.
std::string SegwayRMPNode::interface_type_str [private] |
Definition at line 488 of file segway_rmp_node.cpp.
bool SegwayRMPNode::invert_x [private] |
Definition at line 501 of file segway_rmp_node.cpp.
bool SegwayRMPNode::invert_z [private] |
Definition at line 501 of file segway_rmp_node.cpp.
ros::Timer SegwayRMPNode::keep_alive_timer [private] |
Definition at line 479 of file segway_rmp_node.cpp.
float SegwayRMPNode::last_forward_displacement [private] |
Definition at line 524 of file segway_rmp_node.cpp.
ros::Time SegwayRMPNode::last_time [private] |
Definition at line 529 of file segway_rmp_node.cpp.
float SegwayRMPNode::last_yaw_displacement [private] |
Definition at line 525 of file segway_rmp_node.cpp.
double SegwayRMPNode::linear_neg_accel_limit [private] |
Definition at line 511 of file segway_rmp_node.cpp.
double SegwayRMPNode::linear_pos_accel_limit [private] |
Definition at line 510 of file segway_rmp_node.cpp.
double SegwayRMPNode::linear_vel [private] |
Definition at line 504 of file segway_rmp_node.cpp.
boost::mutex SegwayRMPNode::m_mutex [private] |
Definition at line 531 of file segway_rmp_node.cpp.
ros::Timer SegwayRMPNode::motor_timeout_timer [private] |
Definition at line 498 of file segway_rmp_node.cpp.
ros::NodeHandle* SegwayRMPNode::n [private] |
Definition at line 477 of file segway_rmp_node.cpp.
tf::TransformBroadcaster SegwayRMPNode::odom_broadcaster [private] |
Definition at line 484 of file segway_rmp_node.cpp.
nav_msgs::Odometry SegwayRMPNode::odom_msg [private] |
Definition at line 519 of file segway_rmp_node.cpp.
ros::Publisher SegwayRMPNode::odom_pub [private] |
Definition at line 483 of file segway_rmp_node.cpp.
geometry_msgs::TransformStamped SegwayRMPNode::odom_trans [private] |
Definition at line 518 of file segway_rmp_node.cpp.
float SegwayRMPNode::odometry_w [private] |
Definition at line 528 of file segway_rmp_node.cpp.
float SegwayRMPNode::odometry_x [private] |
Definition at line 526 of file segway_rmp_node.cpp.
float SegwayRMPNode::odometry_y [private] |
Definition at line 527 of file segway_rmp_node.cpp.
double SegwayRMPNode::segway_motor_timeout [private] |
Definition at line 497 of file segway_rmp_node.cpp.
segwayrmp::SegwayRMP* SegwayRMPNode::segway_rmp [private] |
Definition at line 486 of file segway_rmp_node.cpp.
segwayrmp::SegwayRMPType SegwayRMPNode::segway_rmp_type [private] |
Definition at line 490 of file segway_rmp_node.cpp.
ros::Publisher SegwayRMPNode::segway_status_pub [private] |
Definition at line 482 of file segway_rmp_node.cpp.
std::string SegwayRMPNode::serial_number [private] |
Definition at line 493 of file segway_rmp_node.cpp.
std::string SegwayRMPNode::serial_port [private] |
Definition at line 491 of file segway_rmp_node.cpp.
segway_rmpX::SegwayStatusStamped SegwayRMPNode::sss_msg [private] |
Definition at line 517 of file segway_rmp_node.cpp.
double SegwayRMPNode::target_angular_vel [private] |
Definition at line 508 of file segway_rmp_node.cpp.
double SegwayRMPNode::target_linear_vel [private] |
Definition at line 507 of file segway_rmp_node.cpp.
std::string SegwayRMPNode::usb_description [private] |
Definition at line 494 of file segway_rmp_node.cpp.
int SegwayRMPNode::usb_index [private] |
Definition at line 495 of file segway_rmp_node.cpp.
std::string SegwayRMPNode::usb_selector [private] |
Definition at line 492 of file segway_rmp_node.cpp.