手把手教你用Docker看自动驾驶的激光点云:loam_velodyne激光点云可视化工具

目标

  • 在现有的Ubuntu系统上部署ROS耗时长而且冲突很多
  • 而且由于将ROS安装到Ubuntu 16.04上会遇到ROS依赖包与catkin_make冲突的问题,将ROS部署到Docker的container中,外部机器不受影响,避免包冲突
  • container运行结果直接输出到host主机上
  • 效果图如下:
    效果图
  • loam_velodyne的项目地址

安装&部署&运行

  1. 先在host上安装Docker, 并运行:xhost +
  2. 拉取melodic版本的image:sudo docker pull osrf/ros:melodic-desktop-full
  3. 下载完后运行起container:sudo docker run -itd -v [需要共享的路径]:[需要共享的路径] -e DISPLAY=unix$display -e LC_ALL=C.UTF-8 -e --ipc=host --privileged --net host --shm-size 4G --device /dev/dri --cap-add sys_ptrace osrf/ros:melodic-desktop-full
  4. 然后进入到Docker:sudo docker exec -it [container id] bash
  5. 新建工程编译目录:mkdir -p ~/catkin_ws/src
  6. 进入工程源码目录:cd ~/catkin_ws/src
  7. 下载velodyne driver:git clone https://github.com/ros-drivers/velodyne.git
  8. 下载loam_velodyne:git clone https://github.com/laboshinl/loam_velodyne.git
  9. 根据loam_velodyne的issue,修改loam_velodyne源码:
    vim loam_velodyne/CMakeLists.txt
    注释掉:add_definitions( -march=native )
  1. 回到源码的根目录:cd ~/catkin_ws
  2. 编译源码:catkin_make -DCMAKE_BUILD_TYPE=Release
  3. 开启3个Terminal
  4. 在第1个terminal运行:source /ros_entrypoint.sh; roscore > /dev/null
  5. 在第2个terminal运行:
    source /ros_entrypoint.sh; 
    source ~/catkin_ws/devel/setup.bash; 
    cd ~/catkin_ws;
    roslaunch loam_velodyne loam_velodyne.launch
  1. 此时host界面已经出现如效果图一样的UI,只是里面暂时没有点云而已
  2. 在第3个terminal运行:
source /ros_entrypoint.sh; 
source ~/catkin_ws/devel/setup.bash; 
cd ~/catkin_ws;
roslaunch velodyne_pointcloud VLP16_points.launch pcap:="$HOME/Downloads/velodyne.pcap"
注意pcap数据可以在此处下载:https://data.kitware.com/#folder/5b7fff608d777f06857cb539
  1. 完成。如果还是不行,请在下面留言
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值