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;
    }
}
Exemple #3
0
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;
}
Exemple #4
0
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);
}