Public Member Functions | Private Member Functions | Private Attributes | List of all members
SegwayRMPNode Class Reference

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_odom_scale
 
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
 
double initial_integrated_forward_position
 
double initial_integrated_left_wheel_position
 
double initial_integrated_right_wheel_position
 
double initial_integrated_turn_position
 
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_odom_scale
 
double linear_pos_accel_limit
 
double linear_vel
 
boost::mutex m_mutex
 
double max_angular_vel
 
double max_linear_vel
 
ros::Timer motor_timeout_timer
 
ros::NodeHandlen
 
tf::TransformBroadcaster odom_broadcaster
 
std::string odom_frame_id
 
nav_msgs::Odometry odom_msg
 
ros::Publisher odom_pub
 
geometry_msgs::TransformStamped odom_trans
 
double odometry_reset_duration
 
ros::Time odometry_reset_start_time
 
float odometry_w
 
float odometry_x
 
float odometry_y
 
bool reset_odometry
 
double segway_motor_timeout
 
segwayrmp::SegwayRMPsegway_rmp
 
segwayrmp::SegwayRMPType segway_rmp_type
 
ros::Publisher segway_status_pub
 
std::string serial_number
 
std::string serial_port
 
segway_rmp::SegwayStatusStamped sss_msg
 
double target_angular_vel
 
double target_linear_vel
 
std::string usb_description
 
int usb_index
 
std::string usb_selector
 

Detailed Description

Definition at line 53 of file segway_rmp_node.cpp.

Constructor & Destructor Documentation

SegwayRMPNode::SegwayRMPNode ( )
inline

Definition at line 55 of file segway_rmp_node.cpp.

SegwayRMPNode::~SegwayRMPNode ( )
inline

Definition at line 75 of file segway_rmp_node.cpp.

Member Function Documentation

void SegwayRMPNode::cmd_velCallback ( const geometry_msgs::Twist::ConstPtr &  msg)
inline

The handler for messages received on the 'cmd_vel' topic.

Definition at line 350 of file segway_rmp_node.cpp.

void SegwayRMPNode::disconnect ( )
inline

Definition at line 79 of file segway_rmp_node.cpp.

int SegwayRMPNode::getParameters ( )
inlineprivate

Definition at line 429 of file segway_rmp_node.cpp.

void SegwayRMPNode::handleStatus ( segwayrmp::SegwayStatus::Ptr ss_ptr)
inline

Definition at line 197 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 138 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 340 of file segway_rmp_node.cpp.

void SegwayRMPNode::run ( )
inline

Definition at line 85 of file segway_rmp_node.cpp.

void SegwayRMPNode::setupROSComms ( )
inlineprivate

Definition at line 386 of file segway_rmp_node.cpp.

void SegwayRMPNode::setupSegwayRMP ( )
inlineprivate

Definition at line 395 of file segway_rmp_node.cpp.

bool SegwayRMPNode::spin ( )
inline

Definition at line 120 of file segway_rmp_node.cpp.

Member Data Documentation

double SegwayRMPNode::angular_neg_accel_limit
private

Definition at line 601 of file segway_rmp_node.cpp.

double SegwayRMPNode::angular_odom_scale
private

Definition at line 604 of file segway_rmp_node.cpp.

double SegwayRMPNode::angular_pos_accel_limit
private

Definition at line 600 of file segway_rmp_node.cpp.

double SegwayRMPNode::angular_vel
private

Definition at line 593 of file segway_rmp_node.cpp.

bool SegwayRMPNode::broadcast_tf
private

Definition at line 590 of file segway_rmp_node.cpp.

ros::Subscriber SegwayRMPNode::cmd_velSubscriber
private

Definition at line 568 of file segway_rmp_node.cpp.

bool SegwayRMPNode::connected
private

Definition at line 609 of file segway_rmp_node.cpp.

int SegwayRMPNode::count
private

Definition at line 615 of file segway_rmp_node.cpp.

bool SegwayRMPNode::first_odometry
private

Definition at line 617 of file segway_rmp_node.cpp.

std::string SegwayRMPNode::frame_id
private

Definition at line 587 of file segway_rmp_node.cpp.

double SegwayRMPNode::initial_integrated_forward_position
private

Definition at line 632 of file segway_rmp_node.cpp.

double SegwayRMPNode::initial_integrated_left_wheel_position
private

Definition at line 633 of file segway_rmp_node.cpp.

double SegwayRMPNode::initial_integrated_right_wheel_position
private

Definition at line 634 of file segway_rmp_node.cpp.

double SegwayRMPNode::initial_integrated_turn_position
private

Definition at line 635 of file segway_rmp_node.cpp.

segwayrmp::InterfaceType SegwayRMPNode::interface_type
private

Definition at line 576 of file segway_rmp_node.cpp.

std::string SegwayRMPNode::interface_type_str
private

Definition at line 575 of file segway_rmp_node.cpp.

bool SegwayRMPNode::invert_x
private

Definition at line 589 of file segway_rmp_node.cpp.

bool SegwayRMPNode::invert_z
private

Definition at line 589 of file segway_rmp_node.cpp.

ros::Timer SegwayRMPNode::keep_alive_timer
private

Definition at line 566 of file segway_rmp_node.cpp.

float SegwayRMPNode::last_forward_displacement
private

Definition at line 618 of file segway_rmp_node.cpp.

ros::Time SegwayRMPNode::last_time
private

Definition at line 623 of file segway_rmp_node.cpp.

float SegwayRMPNode::last_yaw_displacement
private

Definition at line 619 of file segway_rmp_node.cpp.

double SegwayRMPNode::linear_neg_accel_limit
private

Definition at line 599 of file segway_rmp_node.cpp.

double SegwayRMPNode::linear_odom_scale
private

Definition at line 603 of file segway_rmp_node.cpp.

double SegwayRMPNode::linear_pos_accel_limit
private

Definition at line 598 of file segway_rmp_node.cpp.

double SegwayRMPNode::linear_vel
private

Definition at line 592 of file segway_rmp_node.cpp.

boost::mutex SegwayRMPNode::m_mutex
private

Definition at line 625 of file segway_rmp_node.cpp.

double SegwayRMPNode::max_angular_vel
private

Definition at line 607 of file segway_rmp_node.cpp.

double SegwayRMPNode::max_linear_vel
private

Definition at line 606 of file segway_rmp_node.cpp.

ros::Timer SegwayRMPNode::motor_timeout_timer
private

Definition at line 585 of file segway_rmp_node.cpp.

ros::NodeHandle* SegwayRMPNode::n
private

Definition at line 564 of file segway_rmp_node.cpp.

tf::TransformBroadcaster SegwayRMPNode::odom_broadcaster
private

Definition at line 571 of file segway_rmp_node.cpp.

std::string SegwayRMPNode::odom_frame_id
private

Definition at line 588 of file segway_rmp_node.cpp.

nav_msgs::Odometry SegwayRMPNode::odom_msg
private

Definition at line 613 of file segway_rmp_node.cpp.

ros::Publisher SegwayRMPNode::odom_pub
private

Definition at line 570 of file segway_rmp_node.cpp.

geometry_msgs::TransformStamped SegwayRMPNode::odom_trans
private

Definition at line 612 of file segway_rmp_node.cpp.

double SegwayRMPNode::odometry_reset_duration
private

Definition at line 630 of file segway_rmp_node.cpp.

ros::Time SegwayRMPNode::odometry_reset_start_time
private

Definition at line 631 of file segway_rmp_node.cpp.

float SegwayRMPNode::odometry_w
private

Definition at line 622 of file segway_rmp_node.cpp.

float SegwayRMPNode::odometry_x
private

Definition at line 620 of file segway_rmp_node.cpp.

float SegwayRMPNode::odometry_y
private

Definition at line 621 of file segway_rmp_node.cpp.

bool SegwayRMPNode::reset_odometry
private

Definition at line 629 of file segway_rmp_node.cpp.

double SegwayRMPNode::segway_motor_timeout
private

Definition at line 584 of file segway_rmp_node.cpp.

segwayrmp::SegwayRMP* SegwayRMPNode::segway_rmp
private

Definition at line 573 of file segway_rmp_node.cpp.

segwayrmp::SegwayRMPType SegwayRMPNode::segway_rmp_type
private

Definition at line 577 of file segway_rmp_node.cpp.

ros::Publisher SegwayRMPNode::segway_status_pub
private

Definition at line 569 of file segway_rmp_node.cpp.

std::string SegwayRMPNode::serial_number
private

Definition at line 580 of file segway_rmp_node.cpp.

std::string SegwayRMPNode::serial_port
private

Definition at line 578 of file segway_rmp_node.cpp.

segway_rmp::SegwayStatusStamped SegwayRMPNode::sss_msg
private

Definition at line 611 of file segway_rmp_node.cpp.

double SegwayRMPNode::target_angular_vel
private

Definition at line 596 of file segway_rmp_node.cpp.

double SegwayRMPNode::target_linear_vel
private

Definition at line 595 of file segway_rmp_node.cpp.

std::string SegwayRMPNode::usb_description
private

Definition at line 581 of file segway_rmp_node.cpp.

int SegwayRMPNode::usb_index
private

Definition at line 582 of file segway_rmp_node.cpp.

std::string SegwayRMPNode::usb_selector
private

Definition at line 579 of file segway_rmp_node.cpp.


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


segway_rmp
Author(s): William Woodall
autogenerated on Mon Jun 10 2019 15:04:58