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

raspberry pi/orienge pi等arm架构硬件打包ros humble docker视觉及机器人开发镜像

raspberry pi/orienge pi等arm架构硬件打包ros humble docker开发镜像

文章目录

  • 前言
  • 准备工作
    • 拉取镜像
    • 编写Dockerfile
    • 编译docker镜像
  • 启动镜像
    • docker-compose文件编写
  • 总结

前言

这篇文章主要用于定制化打包需要的docker镜像,由于ros1提供的镜像源是国外的很多软件无法更新,所以这篇文章讲如何通过定制的方式修改源,并且提前安装好需要的环境软件等。

docker hub中提供的镜像包含下边三种架构:

  • amd64, arm32v7, arm64v8

docker pull时会自动根据架构拉取对应的镜像,本文选择的是humble镜像,镜像名如下:

ros:humble-perception-jammy

本文开发的基础环境:

名称内容
系统ubuntu 22.04 / debian buster
硬件raspberry pi或orange pi arm64V8(32V7理论上也是可以的)
内存8G
硬盘32GB

如果是 arm64V8可以直接拉取博主上传的镜像,根据后续docker-compose启动即可:

docker pull binglee75/humble_arm_v8:240522

准备工作

安装docker可以通过这篇文章安装《如何建立并使用docker》

启动ros2 docker可以参考这篇文章《raspberry/arm 搭建ros2 docker开发环境》

国内镜像加速可参考《docker使用http服务及国内镜像加速_docker http-CSDN博客》

拉取镜像

本地拉取ros:humble-perception-jammy2镜像

docker pull ros:humble-perception-jammy

编写Dockerfile

Dockerfile是指导docker打包镜像的指引文件,总体文件结构如下:

.
├── Dockerfile
├── base
│   ├── base.bash
│   ├── pip.tsinghua.conf
│   ├── requirements.txt
│   ├── ros_entrypoint.sh
│   └── sources.list
└── docker-compose.yaml

下边是一份简单的文件,博主替换了现有镜像中的apt源与ros源,避免下载速度慢和连接不上的问题

FROM ros:humble-perception-jammy
LABEL Description="A Dockerfile to ros humble $RES_NAME:$TAG" Author="LinxinLi" Version="0.1"SHELL ["/bin/bash", "-o", "pipefail", "

相关文章:

raspberry pi/orienge pi等arm架构硬件打包ros humble docker视觉及机器人开发镜像

raspberry pi/orienge pi等arm架构硬件打包ros humble docker开发镜像 文章目录 前言准备工作拉取镜像编写Dockerfile编译docker镜像启动镜像docker-compose文件编写总结前言 这篇文章主要用于定制化打包需要的docker镜像,由于ros1提供的镜像源是国外的很多软件无法更新,所以…...

springboot+mysql在线考试系统-计算机毕业设计源码82584

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对在线考试等问题,对如何通过计算…...

LangChain - 建立代理

本文翻译整理自:Build an Agent https://python.langchain.com/v0.2/docs/tutorials/agents/ 文章目录 一、说明概念 二、定义工具1、TavilyAPI参考: 2、RetrieverAPI参考:API参考: 3、工具 三、使用语言模型四、创建代理五、运行…...

爬虫案例:有道翻译python逆向

pip install pip install requestspip install base64pip install pycrytodome tools 浏览器的开发者工具,重点使用断点,和调用堆栈 工具网站:https://curlconverter.com/ 简便请求发送信息 flow 根据网站信息,preview,respon…...

仅需一块 4GB 的 GPU ,就能运行开源大语言模型:Llama3 70B

最强的开源大语言模型 Llama3 已经发布一段时间了,一些盆友资源有限,私信询问是否可以使用 4GB 的 VRAM 在本地运行 Llama3 70B。 与 GPT-4 相比,Llama3 的性能如何?Llama3 使用了哪些关键的前沿技术使其变得如此强大&#xff1f…...

一战成电失败,二战上岸复旦!

这个系列会邀请往届学长学姐进行经验分享~ 本篇是复旦大学957来自专业课134分上岸同学的经验分享。 经验分享 大家好,大伙能点进这个帖子倍感荣幸。 先说一下个人情况吧,鼠鼠本科武汉大学物院,总共四年混了四年,绩点低&#x…...

27寸2K显示器 - HKC G27H2

HKC G27H2是一款面向电竞市场的高性能显示器,以其2K分辨率和180Hz的刷新率作为主要卖点,旨在为玩家提供流畅而清晰的视觉体验。配备HDR 400技术和95% DCI-P3色域覆盖,这款显示器还支持升降旋转支架,为用户提供了高度的人体工程学适…...

编程实战:类C语法的编译型脚本解释器(七)语句

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 系列入口: 编程实…...

实体-联系图

为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(也称为信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境, 而且与在软件系统中的实现方法无关。…...

ROCm上来自Transformers的双向编码器表示(BERT)

14.8. 来自Transformers的双向编码器表示(BERT) — 动手学深度学习 2.0.0 documentation (d2l.ai) 代码 import torch from torch import nn from d2l import torch as d2l#save def get_tokens_and_segments(tokens_a, tokens_bNone):""&qu…...

期权课程之第一节【用生活的例子解释什么是期权】

1、用生活的例子解释什么是期权 期权的英文名也就叫Option【选择】,实际上期权本质也就是一种选择权。 买入资产的例子 假如你【买家】看上了一套老王的【卖家】房子,现价100W、但是目前手头比较紧、但是你又不想错过这个房子,你可以先给老…...

【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...

[windows系统安装/重装系统][step-4][番外篇-2]N卡驱动重装 |解决:开机几小时后电脑卡顿 | 后台自动运行了上千个Rundll32进程问题

现象 开机几小时后,电脑变卡,打开后台管理器都卡,后台管理去转圈圈一小会儿后看到后台进程上千个,好多个Rundll32进程 重启下运行会稍快 重启后运行快,后台管理器反应也快 打开后台管理器不卡(几小时后打…...

Redis开发实战

单机部署安装 服务端下载,安装,启动去官网下载最新的版本:http://redis.io/download ,这里用的是3.0.2解压后,进入解压好的文件夹redis的安装非常简单,因为已经有现成的Makefile文件,所以直接先…...

C++ | Leetcode C++题解之第112题路径总和

题目: 题解: class Solution { public:bool hasPathSum(TreeNode *root, int sum) {if (root nullptr) {return false;}if (root->left nullptr && root->right nullptr) {return sum root->val;}return hasPathSum(root->left…...

leetcode力扣 2024. 考试的最大困扰度

一位老师正在出一场由 n 道判断题构成的考试,每道题的答案为 true (用 ‘T’ 表示)或者 false (用 ‘F’ 表示)。老师想增加学生对自己做出答案的不确定性,方法是最大化有连续相同结果的题数。(…...

lvgl无法显示中文

环境: VS2019、LVGL8.3 问题: VS2019默认编码为GB2312, 解决: VS2022设置编码方式为utf-8的三种方式_vs utf8-CSDN博客 我用的方法2,设置为 utf-8无签名就行。...

读书笔记-Java并发编程的艺术-第1章 并发编程的挑战

文章目录 1.1 上下文切换1.1.1 多线程一定快吗1.1.2 如何减少上下文切换 1.2 死锁1.3 资源限制的挑战 1.1 上下文切换 即时是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给多个线程的时间,因为时间…...

RUST 和 GO 如何管理它们的内存

100编程书屋_孔夫子旧书网 Go 中的内存管理 Go 中的内存不会在缓存键被驱逐时立即释放。 相反,垃圾收集器会经常运行以发现任何没有引用的内存并释放它。 换句话说,内存会一直挂起,直到垃圾收集器可以评估它是否真正不再使用,而…...

对于高速信号完整性,一块聊聊啊(12)

常见的无源电子器件 电子系统中的无源器件可以按照所担当的电路功能分为电路类器件、连接类器件。 A、电路类器件: (1)二极管(diode) (2)电阻器(resistor) &#xf…...

你的终端神器之Oh My Zsh扰

1.安装环境准备 1.1.查看物理内存 [rootaiserver ~]# free -m 1.2.操作系统版本 [rootaiserver ~]# cat /etc/redhat-release 1.3.操作系统内存 [rootaiserver ~]# df -h /dev/shm/ 1.4.磁盘空间 [rootaiserver ~]# df -TH [rootaiserver ~]# df -h /tmp/ [rootaiserver ~]# d…...

软件发布计划管理中的版本安排者

软件发布计划管理中的版本安排者:幕后指挥官 在软件开发的复杂生态中,版本安排者是确保产品迭代有序推进的核心角色。他们不仅需要协调开发、测试、运维等多方团队,还要在用户需求、技术债务和市场窗口之间找到平衡点。一个优秀的版本安排者…...

Coze工作流实战:5分钟搞定AI智能试卷生成(附完整提示词模板)

Coze工作流实战:5分钟打造智能试卷生成系统 每次备课最头疼的就是出试卷?作为一线教师,我完全理解那种面对空白文档的焦虑。去年期末,我曾在凌晨三点还在手动编排选择题选项,直到发现了Coze工作流这个神器。今天要分享…...

思博伦TCL并发测试避坑指南:HTTP/1.1配置与端口关联的最佳实践

思博伦TCL并发测试避坑指南:HTTP/1.1配置与端口关联的最佳实践 在性能测试领域,思博伦(Spirent)的TCL测试工具因其强大的功能和灵活性而备受推崇。然而,正是这种灵活性也带来了配置上的复杂性,特别是在HTTP…...

深入TEE:手把手解析Android Keymaster TA中的keymaster_operation_t与密码学API调用

深入TEE:解密Android Keymaster TA中的加密操作生命周期 在移动安全领域,可信执行环境(TEE)已成为保护敏感数据和密钥操作的核心防线。作为Android安全架构的关键组件,Keymaster可信应用(TA)通过…...

【国家级AI安全合规指南】:基于GB/T 44503-2024标准的6层对齐验证体系实战拆解

第一章:大模型工程化安全与对齐策略的顶层范式演进 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化已从单点能力验证阶段,跃迁至以系统性安全治理与价值对齐为内核的范式重构期。这一演进并非技术栈的线性叠加,而是安全目标、对…...

八大网盘直链下载助手终极指南:告别限速,一键获取高速下载地址

八大网盘直链下载助手终极指南:告别限速,一键获取高速下载地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / …...

BeeWorks:打造安全可控的企业级内网即时通讯平台

在企业数字化转型的浪潮中,内部沟通工具已从辅助办公的角色,升级为支撑组织高效运转的核心基础设施。尤其对于采用内网隔离办公的制造、金融、政务等行业而言,一款安全可靠的企业级内网即时通讯平台,不仅是沟通的桥梁,…...

快速体验Qwen3-ASR-0.6B:上传音频文件,一键识别文字

快速体验Qwen3-ASR-0.6B:上传音频文件,一键识别文字 1. 简介与快速体验 Qwen3-ASR-0.6B是一款强大的语音识别模型,支持52种语言和方言的识别。它基于Qwen3-Omni模型开发,在保持高效推理的同时,提供了接近商业闭源API…...

stock-sdk-mcp 的实践整理贡

一、什么是urllib3? urllib3 是一个用于处理 HTTP 请求和连接池的强大、用户友好的 Python 库。 它可以帮助你: 发送各种 HTTP 请求(GET, POST, PUT, DELETE等)。 管理连接池,提高网络请求效率。 处理重试和重定向。 支…...