镭神智能C16调试及其适配Autoware1.14
一、将硬件连通,确定数据通讯成功
二、下载好传感器的驱动并编译完成
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相关推荐
- Ubuntu18.04鲁班猫ROS-melodic适配镭神智能C16多线激光雷达
前言 本文记录在Ubuntu18.04-melodic中适配镭神智能C16多线雷达的过程,使用最近比较火的国产ROS开发板鲁班猫(LubanCat )进行适配. 准备硬件 一套镭神智能C16多线雷 ...
- ROS下配置镭神智能c16雷达信息
ROS下配置镭神智能c16雷达信息 用户配置写入协议(UCWP) 介绍 3.0 头部 3.1 电机 代码详情 3.2 以太网 3.3 时间 用户配置写入协议(UCWP) 介绍 用户配置写入协议:Use ...
- ROS下打开镭神智能c16雷达以及驱动的理解
ROS下打开镭神智能c16雷达以及驱动的理解 镭神c16驱动代码流程详解 1.主函数流程 2.初始化驱动driver 3.循环使用UDP获取报文 4.所有成员函数截图 代码详情 代码链接 镭神c16驱 ...
- 镭神智能C16激光雷达使用中出现的问题(没啥干货)
项目场景: 提示:ubantu16.04+镭神智能C16激光雷达 参考文档:https://www.ncnynl.com/archives/201810/2762.html https://blog. ...
- 镭神智能C16的ROS驱动的安装方法
前言 激光雷达赶上了自动驾驶了浪潮,国产激光雷达也越来越多. 最近团队要购买激光雷达,正好拿镭神智能的产品测试一下,安装驱动是首先要做的,因此在这里记录一下. 产品说明:http://www.leis ...
- 镭神智能N10(老版本,接口2.0)雷达调试
SunnyG按:最近陆续搞起ROS的外设传感器,由于新手第一次摸这些玩意,难免会走一些弯路,这里记录一下步骤,方便下次能直达. 达成:完成雷达在windows.linux.ROS上的调试 ====== ...
- 镭神智能32线激光雷达调试
1-连接 1.将电源线以及网线接好 2.还有一个HDMI的接口,可以不接 2-设置IP 1. 在有线设置那选择添加 2.以Ipv4格式添加 3.设置好,选择该IP,重启LiDAR 4.打开终端观察数据 ...
- 镭神激光雷达对于Autoware的适配
1. 前言 我们的自动驾驶采用镭神激光雷达,在使用Autoware的时候,需要对镭神激光雷达的底层驱动,进行一些改变以适配Autoware. 2. 修改 (1)首先修改lslidar_c32.laun ...
- 镭神智能N10激光雷达测评+ROS_Cartographer应用测试
文章目录 前言 一.雷达基本性能 二.工作原理 TOF原理 三.连接测试 四.在ROS中启动雷达 五.将雷达数据用起来(cartographer建图) 总结 前言 将N10雷达连接ROS主控(本次 ...
最新文章
- 微信小程序与uniapp中 px与rpx 相互转换
- 第二十六篇 面向对象初识
- 机械错题集锦2017-12-21
- mysql调度触发器,MySQL触发器:达到某个datetime时更新
- 即时聊天IM之一 XMPP协议简述
- python天气预报的功能介绍_python实现智能语音天气预报
- Java知多少(24)包装类、拆箱和装箱详解
- [教程]centos下设置网卡
- upupoo设置HTML壁纸,win10 upupoo黑屏怎么解决-解决upupoo设置壁纸黑屏的方法 - 河东软件园...
- mysql特殊语句_mysql特殊语句 - BENNEE的个人空间 - OSCHINA - 中文开源技术交流社区...
- 如何表达清楚一个程序:模块化设计
- html5.0用什么编程语言,HTML5.0,求好心人详解,谢谢
- ThreadPool学习草稿1
- selinux详解及配置文件
- Java主要学习哪些内容
- 汽车电子技术——CAN总线系统
- Android - Md5加密 工具类
- 航空运输安全及鉴定,保障货物成功抵达
- JAVA之假克隆、浅克隆、深克隆
- java 省市联动_省市联动(json)