当前位置:网站首页>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.
遇到的问题,解决办法:
边栏推荐
- el-dropdown(下拉菜单)的入门学习
- Research Notes (8) Deep Learning and Its Application in WiFi Human Perception (Part 1)
- 迭代器与生成器
- el-input 只能输入整数(包括正数、负数、0)或者只能输入整数(包括正数、负数、0)和小数
- asyncawait和promise的区别
- C# Thread IsBackground作用
- 吴恩达机器学习系列课程笔记——第十六章:推荐系统(Recommender Systems)
- 数学建模学习(76):多目标线性规划模型(理想法、线性加权法、最大最小法),模型敏感性分析
- 多数据中心操作和检测并发写入
- 如何将PDF中的一部分页面另存为新的PDF文件
猜你喜欢

轮询和长轮询的区别

2022-08-01:以下go语言代码输出什么?A:panic;B:5;C:6;D:编译错误。 package main import ( “fmt“ ) func main() {

Batch normalization (BN) based on deep learning

并发性,时间和相对性(1)-确定前后关系

多主复制下处理写冲突(1)-同步与异步冲突检测及避免冲突

Promise

可视水印的实现——1使用加法实现(add,+)

吴恩达机器学习系列课程笔记——第十六章:推荐系统(Recommender Systems)

如何解决QByteArray添加quint16双字节时错误?

Qt编写物联网管理平台49-设备模拟工具
随机推荐
CaDDN代码调试
offset、client 和 scroll
2022华为软件精英挑战赛(初赛)-总结
热爱和责任
Anconda spyder内引用OpenCV出现错误ImportError: numpy.core.multiarray failed to import
轮询和长轮询的区别
v-bind动态绑定
今天突然下雨
ScholarOne Manuscripts submits journal LaTeX file and cannot convert PDF successfully!
列表总结
MySQL8.0与MySQL5.7区别
HyperLynx中层叠设计实例
Location、navigator和History对象
使用 Fastai 构建食物图像分类器
ES6中变量的使用及结构赋值
复制延迟案例(1)-最终一致性
深蓝学院-视觉SLAM十四讲-第六章作业
深蓝学院-视觉SLAM十四讲-第五章作业
MySQL read-write separation mysql-proxy deployment
无主复制系统(3)-Quorum一致性的局限性