Docker部署指南:3步容器化运行livox_ros_driver2激光雷达点云驱动
Docker部署指南3步容器化运行livox_ros_driver2激光雷达点云驱动【免费下载链接】livox_ros_driver2Livox device driver under Ros(Compatible with ros and ros2), support Lidar HAP and Mid-360.项目地址: https://gitcode.com/GitHub_Trending/li/livox_ros_driver2livox_ros_driver2是 Livox 官方第二代 ROS 激光雷达驱动支持 HAP、MID-360 等型号可同时兼容 ROS Noetic 与 ROS2。本文带你用Docker快速搭建容器化运行环境一键解决 PCL、Livox-SDK2 等依赖难题让点云驱动几分钟内跑起来 为什么选择 Docker 部署直接在本机安装 ROS 全家桶往往要折腾很久Ubuntu 版本、PCL 库、Boost、Livox-SDK2 任何一个环节出错都会导致编译失败。使用容器化部署的好处优势说明 依赖隔离ROS 与 PCL、SDK 全部封装在镜像内不污染宿主机 环境可复现一次构建团队/多机部署完全一致 网络配置简单雷达走 UDP 组播容器用 host 网络即可直连⏱️ 迭代快修改配置后无需重装环境直接换文件重启容器 版本对应关系参考 README.md 与 CHANGELOG.mdROS Noetic → Ubuntu 20.04ROS2 Humble → Ubuntu 22.04ROS2 Jazzy → Ubuntu 24.04第1步选择基础镜像按你要运行的 ROS 版本选择官方基础镜像自带完整 ROS 与 RViz# ROS1 NoeticUbuntu 20.04 FROM osrf/ros:noetic-desktop-full # 或 ROS2 HumbleUbuntu 22.04 FROM osrf/ros:humble-desktop-full第2步编写 Dockerfile 编译驱动驱动依赖 CMakeLists.txt 中声明的 PCL、Boost 等组件并需要预先安装 Livox-SDK2ROS1 使用静态库liblivox_lidar_sdk_static.aROS2 使用动态库liblivox_lidar_sdk_shared.so。以 ROS2 Humble 为例FROM osrf/ros:humble-desktop-full ENV DEBIAN_FRONTENDnoninteractive # 安装 PCL 等编译依赖 RUN apt-get update apt-get install -y \ libpcl-all-dev libboost-all-dev pkg-config \ rm -rf /var/lib/apt/lists/* # 安装 Livox-SDK2按 SDK 官方指引编译安装 # 动态库安装到 /usr/local/lib RUN echo /usr/local/lib /etc/ld.so.conf.d/livox.conf ldconfig # 获取驱动源码并编译必须在 ws_livox/src 下见 build.sh WORKDIR /opt/ws_livox/src RUN git clone https://gitcode.com/GitHub_Trending/li/livox_ros_driver2 livox_ros_driver2 WORKDIR /opt/ws_livox RUN bash src/livox_ros_driver2/build.sh humble # 容器入口启动 ROS2 环境 ENTRYPOINT [/ros_entrypoint.sh, bash, -c, \ source /opt/ros/humble/setup.sh \ source /opt/ws_livox/install/setup.sh \ exec bash]ROS1 Noetic 只需把build.sh humble换成build.sh ROS1基础镜像换成 noetic 版本即可。构建脚本 build.sh 会自动替换对应的 package.xml 并调用catkin_make或colcon build。构建镜像docker build -t livox_driver2 .第3步配置雷达并启动容器修改雷达配置文件容器内雷达地址由 config/HAP_config.json、config/MID360_config.json 或 config/mixed_HAP_MID360_config.json 决定。启动前请把宿主机网口 IP 和雷达 IP 改成实际值例如 HAP 配置中的host_net_info本机 IP和lidar_configs里的ip雷达 IP默认 192.168.1.100。启动容器关键host 网络模式Livox 雷达通过UDP 端口通信如 HAP 点云端口 57000、IMU 端口 58000必须使用--networkhost才能与雷达直连docker run -it --rm \ --networkhost \ --name livox_demo \ -v /path/to/config:/opt/ws_livox/src/livox_ros_driver2/config \ livox_driver2⚠️ 雷达侧网口需配置静态 IP如 192.168.1.5与配置文件保持一致防火墙需放行相应 UDP 端口。运行驱动节点进入容器后按 launch_ROS2 或 launch_ROS1 目录中的示例启动# ROS2连接 HAP 并弹出 RViz需有图形环境 ros2 launch livox_ros_driver2 rviz_HAP_launch.py # ROS2 无图形界面验证仅发布点云话题 ros2 launch livox_ros_driver2 msg_MID360_launch.pylaunch 参数publish_freq发布频率、multi_topic多雷达多话题、xfer_format点云格式的含义见 launch_ROS2/rviz_HAP_launch.py 文件头部注释新手保持默认即可。验证点云是否正常在容器内执行# 查看话题 ros2 topic list # 查看点云频率HAP 默认 10 Hz ros2 topic hz /livox/lidar有图形环境时可把宿主机 X11 转发进容器启动加--privileged与-v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY$DISPLAY在 RViz 中确认Fixed Frame设置为livox_frame否则网格上看不到点云勾选PointCloud2显示项常见问题排查问题原因与解决cannot open shared object file liblivox_sdk_shared.soSDK 动态库路径未生效执行export LD_LIBRARY_PATH${LD_LIBRARY_PATH}:/usr/local/lib参考 README.md FAQ 6.2雷达连不上、收不到点云确认容器用了--networkhost确认宿主机/雷达 IP、UDP 端口与 config/HAP_config.json 一致RViz 没有点云Fixed Frame 未设为livox_frameREADME FAQ 6.1多雷达话题串了将multi_topic参数设为 1让每台雷达使用独立话题编译失败找不到 SDKROS1 需liblivox_lidar_sdk_static.a、ROS2 需liblivox_lidar_sdk_shared.so位于/usr/local/lib参见 CMakeLists.txt 中的find_library进阶多雷达混装与录制HAP MID-360 混合组网使用 config/mixed_HAP_MID360_config.json 对应的rviz_mixed.py启动脚本数据录制ROS1 launch 中把rosbag_enable参数置为true即可自动 rosbag 录制全部话题核心源码驱动节点入口在 src/livox_ros_driver2.cpp节点实现见 src/driver_node.cpp自定义消息定义在 msg/CustomMsg.msg总结用 Docker 部署livox_ros_driver2的核心就三件事选对基础镜像Noetic / Humble / Jazzy 对应不同 Ubuntu 版本容器内编译驱动装 PCL → 装 Livox-SDK2 →build.sh一键构建host 网络启动改好雷达 IP 配置--networkhost直连雷达按以上步骤你可以在 10 分钟内拥有一个干净、可复现的激光雷达点云驱动环境把精力留给算法与集成开发吧 【免费下载链接】livox_ros_driver2Livox device driver under Ros(Compatible with ros and ros2), support Lidar HAP and Mid-360.项目地址: https://gitcode.com/GitHub_Trending/li/livox_ros_driver2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →