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使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
XML 数据可视化 机器人
ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(上)
ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件
117 0
|
4月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
413 1
ROS2教程02 ROS2的安装、配置和测试
|
4月前
|
机器人 Shell Python
ROS2教程05 ROS2服务
这篇文章是关于ROS2(Robot Operating System 2)服务的教程,涵盖了服务的概念、特性、命令行工具的使用,以及如何编写服务的服务器和客户端代码,并提供了测试服务通信机制的示例。
125 4
|
4月前
|
存储 自然语言处理 机器人
ROS2教程06 ROS2行动
这篇文章是关于ROS2(Robot Operating System 2)行动(Action)通信机制的教程,包括行动的概念、特点、命令行工具的使用,以及如何编写行动的客户端和服务器代码,并介绍了如何测试行动通信。
126 4
ROS2教程06 ROS2行动
|
4月前
|
算法 数据可视化 机器人
ROS2教程01 ROS2介绍
本文是ROS2(机器人操作系统的下一代)的介绍教程,内容包括ROS2的诞生背景、核心功能、特点、框架以及与ROS1的比较。文章涵盖了ROS2的通信系统、框架和工具、生态系统、全球性社区支持、完全开源、跨平台特性、多机协同能力、实时系统支持和更强的稳定性。此外,还提供了ROS2架构的详细介绍资源链接,适合对ROS2感兴趣的读者学习和了解。
212 1
|
4月前
|
XML 数据可视化 机器人
08 ROS的其他常见工具
本文概述了ROS(机器人操作系统)中的一些常见工具包,包括rqt工具箱、Rviz三维可视化工具、Gazebo物理仿真环境和rosbag数据记录与回放工具的使用方法和功能。
62 0
|
Ubuntu 索引
Ubuntu 安装 ROS 详细教程(以最后一个ROS1版本Noetic为例)
Ubuntu 安装 ROS 详细教程(以最后一个ROS1版本Noetic为例)
2338 0
|
机器学习/深度学习 传感器 数据可视化
ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(下)
ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(下)
150 0
|
Ubuntu 机器人 虚拟化
ROS学习笔记(一) ubuntu和ros的安装
ROS学习笔记(一) ubuntu和ros的安装

热门文章

最新文章