ROS-编写节点订阅激光雷达scan话题

本文介绍如何在ROS环境中订阅并处理激光雷达数据。通过编写C++代码订阅/scan话题,实现对激光雷达数据的实时接收与解析,展示了激光雷达数据的结构与属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1编写激光雷达订阅节点
  接上节的gazebo激光雷达插件,编写节点订阅/scan话题,方便后期数据处理,节点代码如下,主要是头文件和消息类型参数定义:

#include "ros/ros.h"
#include <iostream>
#include <fstream>   
#include <sensor_msgs/LaserScan.h>
//HAO Qi

void laserCallback(const sensor_msgs::LaserScan::ConstPtr& msg)
{
    std::vector<float> ranges=msg->ranges;
    std::cout<< ranges.size()<<" ";

    std::cout<< msg->header.stamp<<" ";
    std::cout<< msg->header.frame_id<<" ";
    std::cout<< msg->angle_min<<" ";
    std::cout<< msg->angle_max<<" ";
	std::cout<< msg->angle_increment<<" ";
	std::cout<< msg->time_increment<<" ";
	std::cout<< "dis_ranges:"<<  msg->range_min<<" ";
	std::cout<< msg->range_max<<" ";
    std::cout<<"\n";
}
int main(int argc, char **argv)
{

    ros::init(argc, argv, "laser_receive");
    ros::NodeHandle nh;
    ros::Subscriber sub = nh.subscribe("/scan", 1, laserCallback);
    ros::spin();

    return 0;
}

2运行节点及终端输出

720 5591.569000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.594000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.619000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.644000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.694000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.719000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.744000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.769000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.794000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.819000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.870000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.894000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.919000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.944000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.969000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5591.995000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5592.019000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5592.044000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10 
720 5592.069000000 hokuyo_link -1.5708 1.5708 0.0043694 0 dis_ranges:0.1 10

在这里插入图片描述
转载请注明出处!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值