本仓库包含Docker相关材料,旨在设置、配置和开发基于micro-ROS的应用。
这套Dockerfile提供即用型环境,可轻松在主机上执行micro-ROS示例,以及使用独立的micro-ROS构建系统。此外,还提供两个镜像,允许将micro-ROS用作外部库,分别适用于ESP-IDF和Arduino IDE。
Docker镜像可在dockerhub获取。
| 镜像 | 描述 | 状态 |
|---|---|---|
| base | 包含ROS 2 Foxy安装和micro-ROS特定构建系统工具的基础镜像,用作其他micro-ROS镜像的基础 | 其他容器的基础镜像,包含必要的micro-ROS设置工具和依赖项。可基于此镜像启动任何micro-ROS开发工作。
用作独立应用的镜像,包含所选标签对应的ROS 2版本和micro-ROS Agent。镜像的入口点直接是micro-ROS Agent,执行docker run后将进入micro-ROS Agent命令行输入。
bash# 示例:启动UDP4监听端口9999的micro-ROS Agent docker run -it --net=host microros/micro-ros-agent:foxy udp4 -p 9999
示例镜像,可启动基于Linux机器编译的micro-ROS示例应用。镜像入口点已配置包含micro-ROS示例的ROS 2环境,可使用常规ROS 2工具启动示例。
bash# 示例:进入micro-ros-demos容器的bash终端 docker run -it --net=host microros/micro-ros-demos bash
当前可用示例列表见此处。
包含适用于Olimex-STM32-E407开发板的可直接烧录固件(含演示程序)。需映射设备到容器以进行烧录:
bash# 示例:运行并映射USB设备 docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb microros/micro-ros-olimex-nuttx:foxy
进入容器后,在firmware/NuttX目录执行scripts/flash.sh烧录开发板。示例包含发布者和订阅者,通过串口传输与micro-ROS Agent通信,需启动相同传输方式的Agent(可使用micro-ros-agent镜像)。
提供预编译的micro-ROS库,用于通过Arduino IDE开发应用。使用以下命令实例化容器:
bash# 示例:运行并映射本地项目目录 docker 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构建系统的组件。使用方法:
bash# 示例:运行并映射本地目录和设备 docker 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进行配置、构建、烧录或监控:
bash# 示例:配置、构建、烧录和监控 idf.py menuconfig idf.py build idf.py flash idf.py monitor
这些Dockerfile用于在Docker Hub自动创建镜像,标签对应兼容的ROS 2版本(如dashing、foxy等),latest标签对应最新ROS 2版本。
| 镜像 | 触发源 |
|---|---|
| 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