User Tools

Site Tools


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