本仓库包含用于设置、配置和开发基于micro-ROS应用的Docker相关材料。这套Dockerfile提供了现成的环境,可轻松在主机上执行micro-ROS示例,以及使用独立的micro-ROS构建系统。此外,还提供了两个镜像,允许将micro-ROS用作外部库,分别适用于ESP-IDF和Arduino IDE。
Docker镜像可在Docker Hub获取。
| 镜像名称 | 描述 | 状态 |
|---|---|---|
| base | 包含ROS 2 Foxy安装及micro-ROS特定构建系统工具的基础镜像,用作其他micro-ROS镜像的基础 | 和--net=host(共享主机网络)标志:
bashdocker run -it --rm --net=host microros/micro-ros-agent:foxy # 示例:运行micro-ros-agent容器
--rm:确保退出后删除容器--net=host:使容器拥有与主机相同的网络访问权限-it:分配伪终端并保持标准输入监听-v:映射本地文件到容器(用于从容器内烧录开发板时有用)作为其他容器的基础,包含必要的micro-ROS设置工具和依赖。可基于此镜像开始任何micro-ROS开发。
作为独立应用使用,包含所选标签对应的ROS 2版本和micro-ROS Agent。镜像的入口点直接是micro-ROS Agent,执行docker run后将进入Agent命令行输入。例如:
bashdocker run -it --net=host microros/micro-ros-agent:foxy udp4 -p 9999 # 启动UDP4监听端口9999的Agent
示例镜像,可启动基于Linux机器编译的micro-ROS示例应用。镜像入口点已配置包含micro-ROS示例的ROS 2环境,可使用常规ROS 2工具启动示例:
bashdocker run -it --net=host microros/micro-ros-demos bash # 进入容器并使用bash
当前可用示例列表见此处。
提供适用于Olimex-STM32-E407开发板的可直接烧录固件。需映射设备到容器以进行烧录:
bashdocker run -it --privileged -v /dev/bus/usb:/dev/bus/usb microros/micro-ros-olimex-nuttx:foxy # 映射USB设备
进入容器后,在firmware/NuttX目录运行scripts/flash.sh烧录开发板。示例包含发布者和订阅者,使用串口传输与micro-ROS Agent通信,需启动对应传输的Agent。
提供预编译的micro-ROS库,用于通过Arduino IDE开发应用。实例化容器命令:
bashdocker run -it -v $(pwd):/arduino_project --net=host microros/micro_ros_arduino_builder:foxy
extras/library_generation/extra_packages目录中的文件和extras/library_generation/extra_packages/extra_packages.repos中的条目将被构建系统考虑。
允许将micro-ROS用作ESP-IDF构建系统的组件。使用命令:
bashdocker run -it --user espidf --volume="/etc/timezone:/etc/timezone:ro" -v $(pwd):/micro_ros_espidf_component -v /dev:/dev --privileged --workdir /micro_ros_espidf_component microros/esp-idf-microros:latest /bin/bash
进入容器后,可导航到示例应用目录,使用ESP-IDF构建工具脚本idf.py进行配置、构建、烧录或监控:idf.py menuconfig/build/flash/monitor。
这些Dockerfile用于在Docker Hub上自动创建镜像,标签对应兼容的ROS 2版本(如dashing、foxy),latest标签对应最新ROS 2版本。
自动构建与micro-ROS仓库内容直接关联,触发条件如下表:
| 镜像 | 触发源 |
|---|---|
| base | [***] |
| micro-ros-agent | [] [] |
| micro-ros-demos | [***] |
| micro_ros_arduino_builder | [***] |
| esp-idf-microros | [***] |
除GitHub仓库变更外,当Docker Hub上的基础镜像(Dockerfile中FROM:指令指定)更新时也会触发构建。
本软件尚未准备好用于生产环境,未针对特定用例开发或测试。但根据适用开源许可证,您可根据需求调整软件。在安全相关场景使用前,请确保软件满足需求并根据适用安全标准(如ISO 26262)进行调整。
本仓库采用Apache-2.0许可证开源。详见LICENSE文件。
有关本仓库包含的其他开源组件列表,详见3rd-party-licenses.txt文件。
无已知限制。
如发现问题,请报告。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429