NVBLOX安装流程优化:能否精简步骤实现快速部署?
NVBLOX安装流程精简优化及完整操作指南
一、安装流程精简可行性及精简点
- 合并重复环境变量配置:原教程多次重复设置
ISAAC_ROS_WS、CMAKE_PREFIX_PATH等变量,可统一在进入容器后一次性配置 - 合并Colcon构建命令:原教程多次单独编译NVBLOX相关包,可一次性编译所有需要的包,避免重复构建
- 优化Librealsense编译参数:编译时关闭示例、测试等非必要组件,大幅加快编译速度
- 跳过非必要清理步骤:全新环境下可跳过Librealsense残留文件清理;无需多次删除
build/install/log目录,单次清理即可 - 避免重复启动Docker容器:全程复用同一个容器会话,无需多次启动
二、精简后的完整安装及地图操作教程
前置准备
- 提前连接好RealSense相机
- 本地终端执行:
xhost +local:root
1. 启动Docker容器
docker run --rm -it --gpus all \ --device /dev/bus/usb:/dev/bus/usb \ --group-add video \ --privileged \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e DISPLAY=$DISPLAY \ -v ~/isaac_ros_ws:/workspaces/isaac_ros-dev \ isaac_ros_dev-x86_64:latest
2. 配置全局环境变量(容器内执行)
export ISAAC_ROS_WS=/workspaces/isaac_ros-dev export CMAKE_PREFIX_PATH=/usr/local/lib/cmake/realsense2:$CMAKE_PREFIX_PATH export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH source /opt/ros/humble/setup.bash
3. 安装RealSense驱动(容器内执行)
注:全新环境可跳过清理步骤,若之前安装失败过再执行清理
# 可选:清理残留安装文件 sudo rm -rf /usr/local/lib/cmake/realsense2 /usr/local/include/librealsense2 /usr/local/lib/librealsense2* # 下载指定版本Librealsense cd /tmp git clone --branch v2.55.1 https://github.com/IntelRealSense/librealsense.git cd librealsense && mkdir build && cd build # 编译(关闭示例,启用Release模式加速) cmake .. -DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release make -j$(nproc) sudo make install # 更新链接器并验证 ldconfig ls /usr/local/lib/cmake/realsense2/realsense2Config.cmake ls /usr/local/lib | grep librealsense2
验证需显示:
librealsense2.so librealsense2.so.2.55 librealsense2.so.2.55.1
4. 安装依赖并编译NVBLOX(容器内执行)
# 安装ROS依赖 sudo apt update && sudo apt install -y ros-humble-isaac-ros-nitros ros-humble-isaac-ros-visual-slam ros2 pkg list | grep nitros # 验证依赖安装成功 # 编译NVBLOX及相关包 cd $ISAAC_ROS_WS rm -rf build/ install/ log/ colcon build --symlink-install --packages-select nvblox_examples_bringup nvblox_image_padding nvblox_rviz_plugin nvblox_ros source install/setup.bash
5. 启动NVBLOX建图(容器内执行)
ros2 launch nvblox_examples_bringup realsense_example.launch.py
执行至此表示安装启动成功
6. 地图保存与格式转换
保存地图(容器内执行)
# 先创建保存目录 mkdir -p $ISAAC_ROS_WS/curobo # 保存为PLY格式(支持3D软件/Curobo导入) ros2 service call /nvblox_node/save_ply nvblox_msgs/srv/FilePath "{file_path: '$ISAAC_ROS_WS/curobo/my_map.ply'}" # 保存为NVBLOX内部格式 ros2 service call /nvblox_node/save_map nvblox_msgs/srv/FilePath "{file_path: '$ISAAC_ROS_WS/curobo/my_map.nvbloxmap'}"
返回success: True即为保存成功
PLY转OBJ格式
# 安装MeshLab sudo apt install -y meshlab
操作步骤:
- 打开MeshLab,点击
File → Import Mesh导入my_map.ply - 点击
File → Export Mesh As...选择OBJ格式,先保存至临时目录 - 将文件移动至
/home/isu/curobo/src/curobo/content/assets/scene/nvblox/my_map_2.obj - 修改配置文件
/home/isu/curobo/src/curobo/content/configs/world/collision_nvblox.yml:- 更新OBJ文件路径
- 设置姿态参数:
[1.5, 0.080, 1.55, 0.043, -0.471, 0.284, 0.834](格式:[tx, ty, tz, qx, qy, qz, qw],分别为平移量和四元数旋转参数)
内容的提问来源于stack exchange,提问作者孔方兄
相关产品推荐
相关产品推荐

