ROS中进行大陆ARS408雷达点云的可视化及二次开发(一)
2023-04-18 16:38:14 时间
文章目录
毫米波雷达在恶劣环境的鲁棒性要远强于激光雷达,同时还能够返回物体的相对速度等信息,同时其价格较低,具有相当高的性价比。实验室目前需要在一些恶劣环境下进行雷达辅助相机检测,实现多模态的融合。第一步,就是需要进行相机和雷达的联合标定工作,因此首先需要对雷达在ubuntu下进行可视化与接口开发,近一周来完成了雷达的相关工作,将工作总结如下:
一 硬件准备
- 毫米波雷达:本文选用大陆ARS408雷达,其性能参数如下:
图1.大陆雷达参数表 |
---|
图2.大陆毫米波雷达 |
---|
总结来说,ARS404-21 是大陆 40X 毫米波雷达传感器系列中入门产品,可以适用于不同的应用场景,具有低成本,坚固耐用 高性能和操作可靠安全性高等特征,测试距离到达170米。
二 驱动准备
名称 | 版本 |
---|---|
ROS版本 | ROS Melodic |
驱动器版本 | peak-linux-driver-8.12.0 |
ubuntu系统 | ubuntu 18.04 |
大陆雷达支持CAN通信,我们电脑是无法直接进行CAN的通信的,因此就需要借助CAN转USB的驱动器,读取雷达的点云数据。
经过筛选,我们使用了毫米波雷达官方推荐的peak-driver驱动器进行数据的转换(peak-driver的驱动程序下载),下面进行安装,注意,要选择自己需要的版本号,这里使用peak-linux-driver-8.12.0版本,建议跟着我的来。
2.1 首先安装依赖:
$ sudo apt-get install flex
$ sudo apt-get install libpopt-dev
$ sudo apt-get install can-utils
#然后将刚才下载好的驱动程序解压
$ tar -zxvf peak-linux-driver-8.1.tar.gz
$ cd peak-linux-driver-8.1
$ make clean
$ make net=NO_NETDEV_SUPPORT
$ sudo make install
2.2 检验是否正确安装
$ sudo modprobe pcan
$ cat /proc/pcan
结果应该是这样的,那就对了。
2.3 启动雷达并检查数据
$ sudo ifconifg can0 up #启动雷达can0接口,此时回车后,驱动器开始启动并接受信息
$ candump can0 #显示接受的雷达信息
经过以上步骤,验证完成,说明安装成功,准备下一步软件环境搭建工作。
三 ROS工作环境搭建
经过以上步骤,下面需要对数据进行抽象化,也就是利用ROS的RVIZ进行数据的显示,以确定到底雷达信息的可视化信息确定雷达是否满足我的要求,包括最远距离、角度分辨率等参数。
3.1 安装socket can依赖
$ git clone https://github.com/Project-MANAS/socket_can.git
$ cd socket_can
$ mkdir build
$ cmake ..
$ sudo make install #安装成功
3.2 安装ars_40X开发包
- 创建ROS工作环境
创建当前的工作空间
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone https://github.com/Project-MANAS/ars_40X.git
$ cd ..
$ catkin_make
由此,完成对ars_40X的编译,可以启动ros的功能包进行可视化工作。
2. 启动可视化功能包
#进入到catkin_ws工作空间
$ source ./devel/setup.bash #更新ROS的工作空间集合
$ roslaunch ars_40X ars_40X.launch visualize:=true obstacle_array:=true
四 测试
毫米波雷达点云可视化
可以看到,点云数据清晰地显示在界面中。
五 总结
- 首先,在最后一步的安装过程中,遇到了一些问题,但是都通过google解决了,主要是缺少costmap_converter的问题,可以网上搜索安装一下。
- 其次,最后的catkin_make过程中,出现了socket_can.hpp找不到的问题,通过将源码中库的引用<>改成“”可以解决包找不到的问题,如下图 #include “socket_can/socket_can.hpp”。
- 存在的问题:没有对原来的雷达点云进行滤波,存在较多的杂点,下一步工作将在雷达点云滤波工作展开,会进行填坑的。
二次开发
https://blog.csdn.net/weixin_43253464/article/details/121769827
参考链接:
https://zhuanlan.zhihu.com/p/406235662
https://www.peak-system.com/PCAN-USB.199.0.html?L=1
https://blog.csdn.net/ost_csdn/article/details/104962144
相关文章
- 直接在代码里面对list集合进行分页
- .NET Framework 4.5新特性详解
- 大数据的简要介绍
- 大数据的由来
- 高斯混合模型的自然梯度变量推理
- timing-wheel 仿Kafka实现的时间轮算法
- 使用Navicat软件连接自建数据库(Linux系统)
- 那一天,我被Redis主从架构支配的恐惧
- Redis 深入了解键的过期时间
- C#使用委托调用实现用户端等待闪屏
- 基于流计算 Oceanus 和 Elasticsearch Service 构建百亿级实时监控系统
- GRAND | 转录调控网络预测数据库
- JFreeChart API中文文档
- 临床相关突变查询数据库
- TIGER | 人类胰岛基因变化查询数据库
- 视频边缘计算网关EasyNVR在视频整体监控解决方案中的应用分析
- Apache Arrow - 大数据在数据湖后的下一个风向标
- 常见的电商数据指标体系
- AKShare-艺人数据-艺人流量价值
- MySQL中多表联合查询与子查询的这些区别,你可能不知道!