当前位置:网站首页>ROS visualization of 3D target detection
ROS visualization of 3D target detection
2022-08-02 05:30:00 【hello689】
Laboratory has a radium godC16的激光雷达,Recently in my hand,Want to to play.Original intention is to do a real time detection,通过ROSLaser radar for laser point cloud,用pointpillarsModels to real-time 3 d target detection task.But god radiumc16That a laser radar,不太好处理,Now can only use their own drive,In a real-time display.So thought is at the bottom of the,Storage of radium god beforec16的点云数据,再用ros进行三维目标检测.
1. 思路:
通过rosTo realize the point cloud news订阅和检测框bbox消息的发布,To achieve the function of a testing results visualization.
2. 实验环境:
- Ubuntu16.04
- cuda 10.1
- ros-kinetic
Testing environment mainly depends on theOpenPCDet,Environmental structures, refer to this article I博客
3. 步骤:
1. 前提条件
已经搭建过了OpenPCDet.
已经搭建了ROS环境,我用的是kinetic版本,With other versions should also can.
2. 编译环境
Create a workspace and into the
mkdir -p ~/pointpillars_ros/src
cd pointpillars_ros/src
将ROSPackage copy or clone to the current folder
git clone https://github.com/BIT-DYN/pointpillars_ros
cd ..
编译
# To build a goodopenpcdet环境
conda activate openpcdet
pip install --user rospkg catkin_pkg
pip install pyquaternion
# 因为我用的是kinetic,所以需要安装pcl-ros,We don't have to install the above version
sudo apt-get install ros-kinetic-pcl-ros
sudo apt-get install ros-kinetic-jsk-recognition-msg
sudo apt-get install ros-kinetic-jsk-rviz-plugins
## 注意,执行catkin_make时,In the outermost folder,Also is my example of~/pointpillars_ros
catkin_make
迁移OpenPCDet中的一些文件
为保险起见,I will be here all these files into thesrc/pointpillars/tools文件夹下了.
修改代码
ros.py代码
# Below the path to your own
sys.path.append("/home/ubuntu/pointpillars_ros/src/pointpillars_ros") # Line 22
# 54行后边
""" Initialize ros parameters """
config_path = rospy.get_param("/config_path", "/home/ubuntu/pointpillars_ros/src/pointpillars_ros/tools/cfgs/kitti_models/pointpillar.yaml")
ckpt_path = rospy.get_param("/ckpt_path", "/home/ubuntu/pointpillars_ros/src/pointpillars_ros/tools/models/pointpillar.pth")
# Subscribe to the laser point cloud name,改成自己的,我用的是kitti的.bag文件
self.sub_velo = rospy.Subscriber("/kitti/velo/pointcloud", PointCloud2, self.lidar_callback, queue_size=1, buff_size=2**12)
launch/pointpillars.launch代码
<launch>
# Major changes under the first line
<node pkg="rosbag" type="play" name="player" output="log" args="-l /media/ubuntu/ximing/dataset/ros_kitti/bag/2011_10_03/kitti_2011_10_03_drive_0027_synced.bag" />
<node name="pointpillars_ros" type="ros.py" pkg="pointpillars_ros" output="screen"/>
<node type="rviz" name="rviz" pkg="rviz" args="-d $(find pointpillars_ros)/launch/pointpillars.rviz" />
</launch>
launch/pointpillars.rviz代码
Major changes topic name you use,I change the name of the point cloud and image
3. 运行
执行下边的命令
conda activate openpcdet
source ~/pointpillars_ros/devel/setup.bash
roslaunch pointpillars_ros pointpillars.launch
4. 图片效果:
我使用kittiThe original data of a certain period of time,转成.bag格式,用pointpillarsThe model test,效果也不行,猜测原因可能是1.Rotation matrix parameters didn't change;2.The show laser point cloud with test box delay,Not a good match;3.The third point may be not model(可能性不大).Below is to use the thorc16Radar acquisition in the lab30秒的数据,不到1分钟,696MB.
目前用rosbag recordSome stores the thorC16激光雷达的数据,Also not too will use radar real time read,实时检测.Late again to find a way to.
5. 视频效果
6. 主要参考资料:
Thank you very much for the share of the open source data,Let a small white I,也能快速demoAn effect.
遇到的问题,解决办法:
边栏推荐
- 热爱和责任
- this指向问题
- BOM学习
- 2022-08-01:以下go语言代码输出什么?A:panic;B:5;C:6;D:编译错误。 package main import ( “fmt“ ) func main() {
- Scalar value for argument ‘color‘ is not numeric错误处理
- CaDDN paper reading of monocular 3D target detection
- Qt处理传输协议数据时QByteArray添加多字节的使用案例
- 可视水印的实现——2使用图像加法
- C# Thread IsBackground作用
- 不会多线程还想进 BAT?精选 19 道多线程面试题,有答案边看边学
猜你喜欢
随机推荐
科研笔记(六) 基于环境感知的室内路径规划方法
无主复制系统(1)-节点故障时写DB
可视水印的实现——1使用加法实现(add,+)
Nexus 5手机使用Nexmon工具获取CSI信息
The CCF brush topic tour - the first topic
RuoYi-App启动教程
不会多线程还想进 BAT?精选 19 道多线程面试题,有答案边看边学
Nexus 5 phone uses Nexmon tool to get CSI information
什么是接触电流怎么测?
v-bind动态绑定
[Win11] PowerShell cannot activate Conda virtual environment
无主复制系统(2)-读写quorum
视觉SLAM十四讲--第13讲 实践:设计SLAM系统(最详细的代码调试运行步骤)
DOM系列之 click 延时解决方案
力扣 215. 数组中的第K个最大元素
CaDDN代码调试
EasyCVR视频广场切换通道,视频播放协议异常的问题修复
2022-08-01:以下go语言代码输出什么?A:panic;B:5;C:6;D:编译错误。 package main import ( “fmt“ ) func main() {
热爱和责任
无主复制系统(3)-Quorum一致性的局限性