一、将硬件连通,确定数据通讯成功

二、下载好传感器的驱动并编译完成

mkdir -p ~/lslidar_ws/src
cd ~/lslidar_ws/src
git clone https://github.com/tongsky723/lslidar_C16.git
cd ~/lslidar_ws
catkin_make
source devel/setup.bash
roslaunch lslidar_c16_decoder  lslidar_c16.launch

三、开始查看雷达参数

3.1 rviz效果图

3.2 查看启动了哪些话题和节点

3.2.1 列出正在运行的话题,终端输入:

rostopic list -v

3.2.2 列出正在运行的节点,终端输入:

rosnode list

3.2.3 查看某一节点的具体参数和通讯话题,终端输入命令:

rosnode info 节点名

3.3 查看雷达的扫描频率

通过rviz可以看到,点云的话题名为 /lslidar_point_cloud,因此终端输入命令:

rostopic hz /lslidar_point_cloud


注:红框内为消息接发收时间参数,频率大概在10hz左右,与厂家说明书参数基本一致。

3.4 查看点云的具体参数

查看雷达扫描过程中,某一行的点云的坐标系名称、点云数等参数。

rostopic echo --noarr  /lslidar_point_cloud    #一定要加--noarr,排除话题数据中的数组信息,否则会出现乱码

注:红框内的数据为一组完整数据,雷达的坐标系frame_id名称为laser_link;每一行激光的总点云数大概为30000。

常见三维点云的具体格式如下,header类类型包括stamp时间戳,frame_id 坐标系名称(该参数是一个字符串类型,可以选择的地图类型),seq是一个记录消息序号的整型变量:

//头文件
header: seq: 18664stamp: secs: 1551087603nsecs: 700827000frame_id: "velodyne"
//height可视为点云数据的行数;
//如果为1,则表示无序;
//否则为有组织点云数据集的高度/行数
height: 1
//width为一行的总点数
//对于无序数据集而言,width即为点云总数
width: 22998
//看到fields,可以先跳过看完point_step和row_step之后再回来
//field格式包括name,offset,datatype,count,具体定义见sensor_msgs/PointField.msg
//该点云所包括的信息有点云的xyz信息(即点云在激光雷达坐标系的位姿)以及强度信息
//offset此处的含义不是很明白,我的理解是对于name“x”而言,它的信息包含在第0字节-第3字节中;name“y”而言,包含在第4字节-第7字节;依次类推。欢迎有大佬帮我在此处解疑下
fields: - name: "x"offset: 0datatype: 7count: 1- name: "y"offset: 4datatype: 7count: 1- name: "z"offset: 8datatype: 7count: 1- name: "intensity"offset: 16datatype: 7count: 1- name: "ring"offset: 20datatype: 4count: 1
//数据存储方式,包括大端与小端,具体解释见后文参考链接
is_bigendian: False
//存储一个点云所需的字节长度,单位为byte
point_step: 32
//存储一行点云所需的字节长度,单位为byte
//row_step = point_step * width
row_step: 735936
//点云数据信息,该数组解析方式由field进行定义
//data数组的大小为row_step * height
data: [51, 81, 165, 64, 127, 62, 141, 192, 255, ......]

3.5 将点云的数据信息进行录包

rosbag record  -a  -O  lslidar_bagfiles
#  -a表示所有发布的话题都应该积累在一个bag文件中;-o表示所有数据记录名为subset.bag的文件中。

rosbag  info  lslidar_bagfiles_2022-08-08-09-26-25.bag

rosbag play  lslidar_bagfiles_2022-08-08-09-26-25.bag

四、查看建图效果

4.1 下载和编译A-LOAM

cd catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash

4.2 安装A-LOAM所需的依赖ceres-solver-1.14.0

下载链接:http://ceres-solver.org/installation.html

# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse (optional)
sudo apt-get install libsuitesparse-dev
tar zxf ceres-solver-1.14.0.tar.gz
mkdir build
cd build
cmake ../ceres-solver-1.14.0
make -j4
make test
# Optionally install Ceres, it can also be exported using CMake which
# allows Ceres to be used without requiring installation, see the documentation
# for the EXPORT_BUILD_DIR option for more information.
sudo make install

4.3 修改A-LOAM的配置文件

~/catkin_ws/src/A-LOAM/src

打开scanRegistration.cpp文件:
将ros::Subscriber subLaserCloud = nh.subscribe<sensor_msgs::PointCloud2>(“/velodyne_point_cloud”, 100, laserCloudHandler);
改为:
ros::Subscriber subLaserCloud = nh.subscribe<sensor_msgs::PointCloud2>(“/lslidar_point_cloud”, 100, laserCloudHandler);

注:这样和录制的bag包的话题才可以对应上。

4.3 查看建图效果

先运行A-LOAM算法:

cd ~/catkin_ws
catkin_make
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

注意功能包的名称,在cmake.list中寻找:

然后在打开bag包:

cd ~/ws/lidar_bag
rosbag play lslidar_bagfiles_2022-08-08-09-26-25.bag

五、适配Autoware1.14

由于Autoware默认使用velodyne激光雷达,参考系使用velodyne;点云话题为points_raw。因此,如果要在autoware1.14上使用lslidar,需将雷达的格式转化为velodyne的格式。即,需要将/lslidar/src/lslidar_C16/lslidar_c16_decoder/launch/lslidar_c16.launch文件中的frame id由laser_link修改为velodyne,将原话题lslidar_point_cloud转化为points_raw,添加一行:

<remap from="lslidar_point_cloud" to="/points_raw" />

由:


改为:

参考资料:
(1)[ROS常用组件] — rqt工具箱
(2)详细的Rostopic命令系列(包括消息发布等实例操作)

镭神智能C16调试及其适配Autoware1.14相关推荐

  1. Ubuntu18.04鲁班猫ROS-melodic适配镭神智能C16多线激光雷达

    前言   本文记录在Ubuntu18.04-melodic中适配镭神智能C16多线雷达的过程,使用最近比较火的国产ROS开发板鲁班猫(LubanCat )进行适配. 准备硬件 一套镭神智能C16多线雷 ...

  2. ROS下配置镭神智能c16雷达信息

    ROS下配置镭神智能c16雷达信息 用户配置写入协议(UCWP) 介绍 3.0 头部 3.1 电机 代码详情 3.2 以太网 3.3 时间 用户配置写入协议(UCWP) 介绍 用户配置写入协议:Use ...

  3. ROS下打开镭神智能c16雷达以及驱动的理解

    ROS下打开镭神智能c16雷达以及驱动的理解 镭神c16驱动代码流程详解 1.主函数流程 2.初始化驱动driver 3.循环使用UDP获取报文 4.所有成员函数截图 代码详情 代码链接 镭神c16驱 ...

  4. 镭神智能C16激光雷达使用中出现的问题(没啥干货)

    项目场景: 提示:ubantu16.04+镭神智能C16激光雷达 参考文档:https://www.ncnynl.com/archives/201810/2762.html https://blog. ...

  5. 镭神智能C16的ROS驱动的安装方法

    前言 激光雷达赶上了自动驾驶了浪潮,国产激光雷达也越来越多. 最近团队要购买激光雷达,正好拿镭神智能的产品测试一下,安装驱动是首先要做的,因此在这里记录一下. 产品说明:http://www.leis ...

  6. 镭神智能N10(老版本,接口2.0)雷达调试

    SunnyG按:最近陆续搞起ROS的外设传感器,由于新手第一次摸这些玩意,难免会走一些弯路,这里记录一下步骤,方便下次能直达. 达成:完成雷达在windows.linux.ROS上的调试 ====== ...

  7. 镭神智能32线激光雷达调试

    1-连接 1.将电源线以及网线接好 2.还有一个HDMI的接口,可以不接 2-设置IP 1. 在有线设置那选择添加 2.以Ipv4格式添加 3.设置好,选择该IP,重启LiDAR 4.打开终端观察数据 ...

  8. 镭神激光雷达对于Autoware的适配

    1. 前言 我们的自动驾驶采用镭神激光雷达,在使用Autoware的时候,需要对镭神激光雷达的底层驱动,进行一些改变以适配Autoware. 2. 修改 (1)首先修改lslidar_c32.laun ...

  9. 镭神智能N10激光雷达测评+ROS_Cartographer应用测试

    文章目录 前言 一.雷达基本性能 二.工作原理 TOF原理 三.连接测试 四.在ROS中启动雷达 五.将雷达数据用起来(cartographer建图) 总结 前言   将N10雷达连接ROS主控(本次 ...

最新文章

  1. 微信小程序与uniapp中 px与rpx 相互转换
  2. 第二十六篇 面向对象初识
  3. 机械错题集锦2017-12-21
  4. mysql调度触发器,MySQL触发器:达到某个datetime时更新
  5. 即时聊天IM之一 XMPP协议简述
  6. python天气预报的功能介绍_python实现智能语音天气预报
  7. Java知多少(24)包装类、拆箱和装箱详解
  8. [教程]centos下设置网卡
  9. upupoo设置HTML壁纸,win10 upupoo黑屏怎么解决-解决upupoo设置壁纸黑屏的方法 - 河东软件园...
  10. mysql特殊语句_mysql特殊语句 - BENNEE的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. 如何表达清楚一个程序:模块化设计
  12. html5.0用什么编程语言,HTML5.0,求好心人详解,谢谢
  13. ThreadPool学习草稿1
  14. selinux详解及配置文件
  15. Java主要学习哪些内容
  16. 汽车电子技术——CAN总线系统
  17. Android - Md5加密 工具类
  18. 航空运输安全及鉴定,保障货物成功抵达
  19. JAVA之假克隆、浅克隆、深克隆
  20. java 省市联动_省市联动(json)

热门文章

  1. TinyXML中文文档
  2. ubuntu 18.04 安装 MT7921无线网卡驱动
  3. MFC 简单的MD5计算器
  4. OA系统----考勤管理----JDBC,Ajax
  5. HTML、CSS、JavaScript学习笔记 图文并茂 案例详实(再次系统学习-持续更新)
  6. 微信小程序 java演出门票管理系统-springboot票务转票系统
  7. 2023年广州积分入户需要多少积分
  8. 突然刷爆朋友圈,佛系养青蛙是个什么梗?
  9. django项目创建命令
  10. 背景图片自适应大小(平铺)