neurali:ros_husky_laser_versione_20150801
visualizza le distante ottenute dal laser in 8 direzioni (cercare la costante numerica 8)
#include <ros/ros.h> #include <geometry_msgs/Twist.h> #include <sensor_msgs/LaserScan.h> #include <iostream> class DriverHusky { public: DriverHusky(); private: void laserCallback(const sensor_msgs::LaserScan::ConstPtr& laser); ros::NodeHandle nh_; ros::Publisher vel_pub_; ros::Subscriber laser_sub_; }; DriverHusky::DriverHusky() { //vel_pub_ = nh_.advertise<geometry_msgs::Twist>("cmd_vel", 1); laser_sub_ = nh_.subscribe<sensor_msgs::LaserScan>("/scan", 10, &DriverHusky::laserCallback, this); } void DriverHusky::laserCallback(const sensor_msgs::LaserScan::ConstPtr& laser) { /* //riceve e trasforma da joy a vel geometry_msgs::Twist vel; vel.angular = a_scale_*joy->axes[angular_]; vel.linear = l_scale_*joy->axes[linear_]; vel_pub_.publish(vel);*/ unsigned int quantita = laser->ranges.size(); for(unsigned int i=0; i< quantita; i=i+quantita/8) { std::cout << laser->ranges[i] << "," ; } std::cout << std::endl; } int main(int argc, char** argv) { ros::init(argc, argv, "husky_driver"); DriverHusky driver_hurky; ros::Rate rate(10); //aggiunto ros::spin(); }
neurali/ros_husky_laser_versione_20150801.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1