当前位置: 首页 > news >正文

ROS2——foxy apt打包离线安装deb包

需要从A设备复制ROS2环境到B设备,且B设备有可能没网络,所以选择制作离线资源包

1. 本机安装指令

本机环境ubuntu20.04,安装ros2-foxy版本,直接输入以下指令,基本不会遇到问题
这里安装的是ros-base版本,不带GUI页面,因为是嵌入式环境,追求轻量,如果需要全量的可以安装ros-foxy-desktop版本

sudo apt update && sudo apt install curl gnupg2 -y

sudo curl -sSL https://gitee.com/tyx6/rosdistro/raw/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

sudo apt install ros-foxy-ros-base

sudo apt install ros-foxy-demo-nodes-cpp

2. 打包环境为离线包

  1. ros-foxy-ros-base打包

sudo apt download $(apt-rdepends ros-foxy-ros-base | grep -v "^ " | grep -v ‘debconf-2.0’ | grep -v ‘libblas.so.3’ | grep -v ‘libc-dev’ | grep -v ‘fonts-freefont’ | grep -v ‘python3-cffi-backend-api-max’ | grep -v ‘python3-cffi-backend-api-min’ | grep -v ‘liblapack.so.3’)

在这里会提示没有候选版本,无法进行选择,直接全部加入grep -v中

  1. ros-foxy-demo-nodes-cpp打包

sudo apt download $(apt-rdepends ros-foxy-demo-nodes-cpp | grep -v "^ " | grep -v ‘debconf-2.0’ | grep -v ‘libblas.so.3’ | grep -v ‘liblapack.so.3’ | grep -v ‘libc-dev’)

  1. /usr/share/keyrings/ros-archive-keyring.gpg
    cp /usr/share/keyrings/ros-archive-keyring.gpg ros-archive-keyring.gpg

  2. 执行完毕可以看到许多deb包在这里插入图片描述

  3. 编辑install.sh

#!/bin/bash
echo "begin install ros2 pack...."
sudo dpkg -i *.deb
echo "install all deb success...."
sudo apt-get install -f -y
echo "fix all depend success...."
cp ros-archive-keyring.gpg /usr/share/keyrings/ros-archive-keyring.gpg
echo "sync ros key success...."
cp fastdds /opt/ros/foxy/. -rf
echo "sync fastdds success"

echo "end install ros2 pack...."

  1. 将全部的资源包打包为压缩包传到需要离线安装的机器上,bash install.sh运行,直接开始安装

    可以看到在安装这些deb包,并且安装成功

  2. 测试功能

source /opt/ros/foxy/setup.bash

ros2 run demo_nodes_cpp talker &

ros2 run demo_nodes_cpp listener &

相关文章:

  • YOLOv11训练中精准率召回率与mAP@0.5的动态变化分析
  • 配置与管理代理服务器
  • openEuler-22.03-LTS-SP3 编译安装 Greenplum-db 6.20.0
  • 【检测手机有无网络】
  • 自动化测试——selenium
  • 【python】针对Selenium中弹框信息无法定位的问题,以下是综合解决方案及注意事项:
  • Trae + LangGPT 生成结构化 Prompt
  • C++ 时间库和线程库学习笔记(Chrono 与 Thread)
  • C++ 中的双指针技巧:高效解决数组和链表问题
  • 华为openEuler欧拉系统
  • unity运行时进行录制并保存(可进行二次加载包含场景中生成动态物体)
  • AMS 启动流程管理进程与Binder的关联
  • LeetCode.234. 回文链表
  • 峰飞航空与合肥开启全面合作,打造先进空中立体多维交通运输生态
  • 国家出手肥胖问题,AI减肥起风了
  • Element Plus 图标使用方式整理
  • 【力扣hot100题】(076)买卖股票的最佳时机
  • 基于华为云kubernetes的应用多活的示例
  • 基于PyQt5的企业级生日提醒系统设计与实现
  • AI智能体需求研究报告:小红书、知乎、抖音等平台用户需求深度分析
  • 商业网站是什么/网络培训机构排名前十
  • 做棋牌网站要什么源码/关键字搜索引擎
  • 为什么要建立网站/西安网站开发制作公司
  • javaweb和javaee/郑州seo优化公司
  • 帮公司制作网页多少钱/百度怎么优化排名
  • 2015做导航网站/12345浏览器网址大全