Nvblox ROS1 安装配置

简介: 这篇文章提供了Nvblox ROS1在Ubuntu系统上的安装和配置指南,包括使用Docker容器构建ROS工作空间、运行节点和测试数据包的步骤,以及解决CUDA和Docker相关问题的方法。

安装并配置Nvblox ROS1

  • 下载Nvblox ROS1
mkdir -p ~/nvblox_ros1_ws/src/
mkdir  ~/data
cd ~/nvblox_ros1_ws/src/
git clone https://github.com/ethz-asl/nvblox_ros1.git
cd nvblox_ros1
git submodule update --init --recursive
  • 安装Docker
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
sudo usermod -aG docker $USER
sudo reboot
  • 构建Docker镜像
cd ~/nvblox_ros1_ws/src/nvblox_ros1/docker
bash run_docker.sh -b -w /home/$USER/nvblox_ros1_ws
  • 在Docker容器内构建ROS工作空间

注意: 这些操作应当在Docker的nvblox容器中进行。

docker exec -it nvblox bash

cd ~/nvblox_ws/
catkin init
catkin config --extend /opt/ros/noetic 
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build
echo "source ~/nvblox_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

测试

  • 下载测试数据包
cd ~/data/
wget http://robotics.ethz.ch/~asl-datasets/2023_nvblox_datasets/panopt/run1.bag
  • 启动nvblox docker容器
cd nvblox_ros1/docker
./run_docker.sh

注意: 以下操作应当在Docker的nvblox容器中进行。

docker exec -it nvblox bash

  • 运行nvblox_ros节点
# Terminal 1 in docker
roslaunch nvblox_ros nvblox_ros_panopt.launch rviz:=true
  • 回放测试数据包
# Terminal 2 in docker
rosbag play --clock ~/data/run1.bag
  • 保存Mesh文件
# Terminal 3 in docker
rosservice call /nvblox_node/save_ply "file_path: '/root/nvblox_ws'"

TroubleShooting

CUDA

Occurred on x86_64 Ubuntu20.04 RTX4070Ti

 Error string: CUDA driver version is insufficient for CUDA runtime version.
[nvblox_node-3] process has died [pid 6628, exit code 99, cmd /root/nvblox_ws/devel/lib/nvblox_ros/nvblox_node depth/image:=/data/depth_image depth/camera_info:=/data/depth_image/camera_info color/image:=/data/color_image color/camera_info:=/data/color_image/camera_info __name:=nvblox_node __log:=/root/.ros/log/25507420-a6c3-11ee-8137-70a8d35674a3/nvblox_node-3.log].
log file: /root/.ros/log/25507420-a6c3-11ee-8137-70a8d35674a3/nvblox_node-3*.log
sudo apt update
sudo apt install nvidia-driver-535

docker

删除所有容器

docker rm -f $(docker ps -a -q)

删除所有镜像

docker rmi -f $(docker images -q)

删除所有未使用的镜像

docker image prune -a

删除所有未使用的数据

docker system prune
相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
目录
相关文章
|
存储 弹性计算 运维
阿里云99元服务器ECS经济型e实例性能如何?详细介绍
阿里云99元服务器ECS经济型e实例性能如何?详细介绍,阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器
|
7月前
|
JSON 监控 JavaScript
开发者必备的 WebSocket 指南
WebSocket 是一种支持双向、全双工通信的协议,能够以低开销实现实时数据交互。与传统 HTTP 不同,WebSocket 通过持久连接显著降低延迟,适用于在线游戏、聊天应用、实时通知和金融交易等场景。本文详解 WebSocket 的特性、优势及其实现方式,提供股票行情示例代码,并对比其他协议,帮助开发者掌握这一关键技术,构建高效实时应用。
Unity精华☀️GetInstanceID 和 GetHashCode 的区别
Unity精华☀️GetInstanceID 和 GetHashCode 的区别
|
Ubuntu Apache
Ubuntu20.04下一键安装ROS1 Noetic
本文提供了一个简化在Ubuntu 20.04系统上安装ROS1 Noetic过程的一键安装脚本工具,该脚本通过优化配置和使用清华大学镜像源,加速了国内用户的下载速度,并自动完成环境设置和依赖安装,同时提供了详细的使用说明和源码。
811 0
Ubuntu20.04下一键安装ROS1 Noetic
|
缓存 关系型数据库 MySQL
MySQL数据库性能优化实战
【4月更文挑战第30天】本文探讨了MySQL性能优化实战技巧,包括硬件与配置优化(如使用SSD、增加内存和调整配置参数)、索引优化(创建合适索引、使用复合索引及定期维护)、查询优化(避免全表扫描、减少JOIN和使用LIMIT)、分区与分片(表分区和数据库分片),以及使用缓存、定期清理数据库和监控诊断。通过这些方法,可以提升数据库性能和响应速度。
|
缓存 Java 应用服务中间件
Tomcat 启动闪退问题解决方法
在开发中,当使用 IntelliJ IDEA 遇到 Tomcat 启动后闪退的问题时,不要慌,可以尝试以下方法来解决
245 1
|
存储 关系型数据库 数据挖掘
第11章‘数据库设计规范(1)
第11章‘数据库设计规范
208 0
|
Ubuntu 索引
Ubuntu 安装 ROS 详细教程(以最后一个ROS1版本Noetic为例)
Ubuntu 安装 ROS 详细教程(以最后一个ROS1版本Noetic为例)
4722 0
|
缓存
Microsoft Store微软商店更新失败/无法更新应用解决方法
Microsoft Store微软商店更新失败/无法更新应用解决方法
10818 0
|
机器学习/深度学习 传感器 算法
【运动学】基于CV、CA、CT三种运动模型轨迹附Matlab代码
【运动学】基于CV、CA、CT三种运动模型轨迹附Matlab代码