vins-fusion 启动跑数据包时roslaunch命令报错

本文介绍了在使用VINS-Fusion进行定位时,遇到因未sourcesetup.bash导致的roslaunch报错,解决方法是切换到catkin_ws/devel目录并执行sourcesetup.bash,确保环境变量设置正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    roslaunch vins vins_rviz.launch
    rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml 
    (optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml 
    rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag

进行此步操作时报错,原因是没有进行source;

输入

cd ~/catkin_ws/devel
source setup.bash

再重复roslaunch即可

### 进入并配置 Docker 容器 为了在 Docker 中运行 VINS-Fusion SLAM 系统,需先进入 `vins-fusion` 的 Docker 文件夹: ```bash cd ./VINS-Fusion/docker ``` 此操作定位到包含必要脚本和文件的位置以便启动 Docker 容器[^1]。 ### 构建 Docker 镜像 构建适用于 VINS-Fusion 的 GPU 版本镜像,在终端执行如下命令: ```bash sudo docker build -t vins_fusion_gpu -f Dockerfile.gpu . ``` 上述指令基于指定的 Dockerfile 创建一个新的 Docker 映像,标签为 `vins_fusion_gpu`。这一步骤确保所有依赖项被正确安装于映像内[^2]。 ### 启动 Docker 容器 创建并启动容器前,先定义挂载路径和其他参数。对于 Ubuntu 20.04 用户来说,推荐设置如下环境变量来简化后续命令输入过程: ```bash export ROS_MASTER_URI=http://localhost:11311 export ROS_IP=127.0.0.1 ``` 接着通过下面这条命令启动带有图形界面支持以及硬件加速功能的交互式会话模式下的新容器实例: ```bash sudo nvidia-docker run \ --name=vins-container \ --rm \ -it \ --privileged \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v $HOME/vins_ws:/root/catkin_ws/src/VINS-Fusion \ vins_fusion_gpu ``` 这段代码片段实现了几个重要目标:启用了 NVIDIA GPU 支持;允许访问主机系统的显示服务器用于 GUI 应用程序展示;并且将本地工作空间目录映射至容器内部相应位置以方便开发调试。 ### 编译源码 一旦成功进入了正在运行中的容器之后,则可以根据官方 GitHub 页面上的指导完成剩余步骤,即切换到 master 分支,并按照给定说明进行编译: ```bash git checkout master catkin_make -j$(nproc) source devel/setup.bash roslaunch vins_estimator vins_rtk.launch ``` 这些命令依次完成了版本控制库更新、CMake 制造系统调用、ROS 工作区初始化及最终节点启动的任务[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值