int main(int argc, char** argv) { ros::init(argc, argv, "odometry"); ros::NodeHandle node; ros::NodeHandle private_node("~"); ros::Subscriber sub_twist = node.subscribe("twist", 1, recvTwist); pub_odom = node.advertise<nav_msgs::Odometry>("odom", 1); private_node.param("sample_time", sample_time, 0.02); ros::Timer state_space_timer = node.createTimer(ros::Duration(sample_time), timerCallback); current_estimate.orientation = tf::createQuaternionMsgFromYaw(-M_PI / 2); ros::spin(); }
void UWBDriver::run(){ ros::NodeHandle node; ros::NodeHandle private_node("~"); private_node.param<std::string>("port_name", port_name_, std::string("/dev/ttyUSB0")); private_node.param<std::string>("base_frame", base_frame_, std::string("base_link")); private_node.param<int>("baud_rate", baud_rate_, 115200); private_node.param<int>("sensor_rate", sensor_rate_, 10); if (init()){ // ros::Timer handle_dist_timer = node.createTimer(ros::Duration(100.0/sensor_rate_), &UWBDriver::handle_dist_msg, this); boost::thread parse_thread(boost::bind(&UWBDriver::receive_msg, this)); ros::spin(); return; } }
KeyboardControl::KeyboardControl():linear_state_(0), angular_state_(0), port_name_(""){ ros::NodeHandle private_node("~"); private_node.param("linear_min", linear_min_, 0.2); private_node.param("linear_max", linear_max_, 2.0); private_node.param("linear_step", linear_step_, 0.2); private_node.param("angular_min", angular_min_, 0.5); private_node.param("angular_max", angular_max_, 4.0); private_node.param("angular_step", angular_step_, 0.2); private_node.param("rate", rate_, 10.0); linear_scale_ = linear_min_; angular_scale_ = angular_min_; send_flag_ = true; }
BaseStrategy::BaseStrategy() : node_(), preempted_(false), finished_(false), pose_initialized_(false), map_ready_(false), map_updated_(false), move_base_is_active_(false), move_base_client_("move_base") { ROS_INFO_STREAM("Starting Exploration..."); node_.setCallbackQueue(&callback_queue_); ros::NodeHandle private_node("~"); private_node.setCallbackQueue(&callback_queue_); slam_map_subscriber_ = node_.subscribe("/map", 1, &BaseStrategy::slamMapCb, this); slam_pose_subscriber_ = node_.subscribe("/slam_karto_pose", 1, &BaseStrategy::slamPoseCb, this); move_base_subscriber_ = node_.subscribe("/move_base/status", 1, &BaseStrategy::moveBaseCb, this); loop_closing_subscriber_ = node_.subscribe("/stop_closing_loop", 1, &BaseStrategy::loopClosingCb, this); loop_closed_subscriber_ = node_.subscribe("/slam_karto/loop_closed", 1, &BaseStrategy::loopClosedCb, this); obstacle_map_publisher_ = private_node.advertise<nav_msgs::OccupancyGrid>("obstacle_map", 1, true); cmd_vel_publisher_ = node_.advertise<geometry_msgs::Twist>("/nav_vel", 1, true); }