【Livox-Mapping】使用docker运行


Livox-Mapping

Livox-Mapping使用Livox固态激光雷达,实现实时激光雷达-惯性里程计。
链接: github.com/PJLab-ADG/Livox-Mapping


使用作者提供的docker image创建容器并运行Livox-Mapping

经历一系列编译失败,决定还是使用docker。

1. 下载镜像

docker pull siyuanhuang95/livox_slam:release

查看镜像

docker images

看到下载的镜像siyuanhuang95/livox_slam

在这里插入图片描述

2. 创建容器

docker run --gpus all -it -p 3316:22 --device=/dev/dri --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix  --env="DISPLAY=$DISPLAY" siyuanhuang95/livox_slam:release /bin/bash
  • 有需要的话,将本地文件夹挂载到容器里面,使用-v,像这样:
-v /home/stephen/livox_mapping:/home/livox

查看创建的容器,CONTAINER_ID之后会用到

在这里插入图片描述


一些docker基础指令

  • 停止容器
# 主机
docker stop CONTAINER_ID
# 容器内
exit
  • 重启容器
docker restart CONTAINER_ID
  • 执行容器
docker exec -it CONTAINER_ID bash

3. 容器中编译功能包

3.1 编译安装Livox-SDK

下载

git clone https://github.com/Livox-SDK/Livox-SDK.git

编译Livox-SDK

cd Livox-SDK
mkdir build
cd build && cmake ..
make
sudo make install

3.2 下载编译livox_ros_driver

cd ~/catkin_ws/src
git clone https://github.com/Livox-SDK/livox_ros_driver.git
cd ..
catkin_make

3.3 下载编译Livox-Mapping

cd ~/catkin_ws/src
git clone https://github.com/PJLab-ADG/Livox-Mapping.git
cd ..
catkin_make

笔者直接拷贝下载好的文件到挂载的文件夹中了,如果你像我一样,操作如下:

3.1 准备文件

将文件拷贝到挂载的本地文件夹

在这里插入图片描述

3.2 编译安装Livox-SDK

cd Livox-SDK
mkdir build
cd build && cmake ..
make
sudo make install

3.3 编译livox_ros_driver

在容器中进入挂载的文件夹,然后编译

cd livox_ros_driver/
catkin_make
  • 因为livox_ros_driver没有在ros工作空间中编译,而且编译Livox-Mapping的时候,需要先source一下livox_ros_driver,为了避免每次执行都需要source:

在主机中新建终端,允许所有用户都能访问

xhost +

在容器中

gedit ~/.bashrc

末尾添加以下命令,

source /{你挂载的文件夹地址}/livox_ros_driver/devel/setup.bash

3.4 编译Livox-Mapping

在容器中进入挂载的文件夹,然后编译

cd Livox-Mapping/
catkin_make

同样的,在bashrc添加命令

source /{你挂载的文件夹地址}/Livox-Mapping/devel/setup.bash

4. 运行Livox-Mapping

4.1 启动livox-mapping

roslaunch livox_mapping livox_mapping.launch save_path:="PATH_TO_SAVE_SLAM_POSE_RESULT"

4.2 启动livox_odometry

新终端

docker exec -it CONTAINER_ID bash
roslaunch livox_odometry livox_odometry.launch save_path:="PATH_TO_SAVE_ODOM_RESULT_in_txt"

4.3 播放rosbag

新终端

docker exec -it CONTAINER_ID bash
rosbag play YOUR_ROSBAG.bag

最后生成的PCD地图在

/Livox-Mapping/src/SC-PGO/PCD

另外

  • 使用livox_ros_driver采集数据的时候,有两种数据格式可选,自定义的msg和pointcloud2:

在这里插入图片描述分别使用

roslaunch livox_ros_driver livox_lidar_msg.launch 
roslaunch livox_ros_driver livox_lidar.launch 

Livox-Mapping使用的是自定义的msg,使用第一个launch,采集数据的时候不要弄错。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值