智能硬件机器人嵌入式物联网【免费下载链接】oomwooOpen-source vacuum robot cleaner项目地址https://gitcode.com/gh_mirrors/oo/oomwoo点击查看免费下载本文围绕仓库中的 mac-dev-env RFC 及其首个可运行提交 DingoOz 的 pixi 配方 展开介绍如何在 Apple Silicon Mac 上以主机隔离 锁定版本可复现的方式搭建 OOMWOO 的 ROS 2 Gazebo 仿真开发环境并说明其开放问题、贡献路径与验收标准。读者读完后可以理解为什么 macOS 需要一条独立于 Docker/apt 的路径、pixi RoboStack 是如何工作的、如何实际把仿真跑起来以及如何参与该 RFC 的贡献。为什么需要 macOS 方案开发者环境的Mac 缺口OOMWOO 是一个开源机器人吸尘器项目其开发/运行环境原本已经由其他模块各自覆盖目标平台归属模块方式Linux Windows 开发oomwoo-install 的 Docker 镜像容器化 ROS 2 开发环境机载运行时Pioomwoo-install 的 apt 安装面向树莓派的部署但macOS 是空白在 Apple Silicon 上不存在一条简单可行的 Docker/apt 路径来得到一个可用的 ROS 2 Gazebo 构建Mac 用户因此实际上被挡在了仿真开发之外。mac-dev-env这个 RFC 正是要填补这个缺口——它补充而非替代oomwoo-installLinux/Windows/Pi 的路径继续留在那里macOS 路径单独放在这个 RFC 下。除了能跑该 RFC 为 macOS 路径定义了必须满足的两条核心性质主机隔离Host-isolated不得触碰或依赖系统的 Python/Homebrew/ROS机器上已有的安装保持原样、互不干扰。可复现Reproducible提交一份锁定的 manifestlockfile钉死精确版本让几个月后的构建结果依然一致。这两条性质与 OOMWOO 整体的模块可互换、仿真优先设计原则是一致的——见 docs/ARCHITECTURE.md 第 2 节的设计原则。推荐路线pixi RoboStackpixi把整个工具箱装进项目目录pixi 会把一个项目的全部工具箱在这里就是 ROS 2、Gazebo 以及它们的全部依赖根据一份锁定的 manifest安装到一个自包含的文件夹中不触碰任何已安装的内容。它的关键性质包括不依赖、也不使用系统上已有的任何工具链——没有 Docker、没有 apt、没有在我机器上能跑即使你机器上已经装过 ROSpixi 也不会使用或修改它完全自我隔离通过提交到仓库的 lockfile所有协作者获得完全一致的版本集合。RoboStack让 ROS 2 在 Apple Silicon 上成为可能ROS 2 的二进制来自 RoboStack即 conda-forge 上的 ROS 打包这是整套方案的关键使能者Apple Silicon 上不存在官方首发的 ROS 二进制而 RoboStack 正是为数不多能在 Apple Silicon 上干净提供 ROS 2 的来源。同一份 manifest 在 Linux 和树莓派上也能解析成功所以这个 macOS 配方顺带跨平台——这是红利而不是本职范围。其他备选方案开放讨论RFC 对其它可复现的 macOS 方案持开放态度例如 Nix、手工搭建的 conda 环境、Lima/Docker 虚拟机等。但 pixi 是当前唯一有可用提交的方向——如果你想带一个替代方案需要为它陈述理由。首个可运行配方DingoOz 的 pixi ROS 2 Lyrical 环境该 RFC 的第一个提交来自 DingoOz其树内说明位于 contributions/mac-dev-env/DingoOz/README.md是一个Discord 消息原文存档形式的配方页。它的状态是早期、分支上源码托管在贡献者自己的 fork 仓库的feature/pixi-ros2-lyrical分支上树内页面只是指针 说明。这与项目贡献模型一致——代码留在贡献者自己的仓库树内只放链接与说明详见下文如何贡献。平台矩阵Apple Silicon Mac——本 RFC 的焦点Linux——额外可用Raspberry Pi 5——额外可用与 live-robot-bringup 和 compute-benchmark 的 Pi 目标共享平台。安装步骤# 1. 安装 pixi只需一次 curl -fsSL https://pixi.sh/install.sh | bash # 2. 获取代码并构建配方在贡献者 fork 的 feature/pixi-ros2-lyrical 分支上 # 完整 URL 见上面的 DingoOz 树内说明 git clone -b feature/pixi-ros2-lyrical contributor-fork-url cd oomwoo pixi install # 把 ROS 2 Gazebo 下载进项目目录 pixi run build要点pixi install解析锁定的 manifest把 ROS 2、Gazebo 及其依赖全部下载到项目目录内pixi run build在项目环境内完成构建不需要激活任何系统级 ROS 环境整个过程不触碰系统 Python/Homebrew/ROS。运行仿真与遥控pixi run sim # 打开 Gazebo机器人出现在一个房间里 pixi run teleop # 在第二个终端里用 i/j/k/l 键驾驶仅此而已。仿真机器人带 2D LiDAR驾驶时可以直接观察到它感知墙壁的过程。与仿真跑什么对位仿真栈要点这个环境构建和运行的对象是 urdf-gazebo-sim 所描述的机器人描述与 Gazebo 世界。从该 RFC 可以看到仿真侧的能力kitchen_dining 世界ros2 launch oomwoo_gazebo world.launch.py world:kitchen_dining.worldliving_room 世界ros2 launch oomwoo_gazebo world.launch.py world:living_room.world在 Linux/Windows 上同一套仿真栈走的是 Docker 镜像makerspet/oomwoo:jazzy-dev容器内的标准流程是kaia config robot.model oomwoo_one选择机型 →ros2 launch kaiaai_gazebo world.launch.py启动世界 →ros2 run kaiaai_teleop teleop_keyboard键盘遥控。pixi 配方的目标是在 macOS 上提供与这条路径对等的体验——这也是为什么它被称为Mac 缺口的补全。环境里会看到哪些 ROS 2 接口根据 docs/SOFTWARE_INTERFACES.md 中定义的仿真基线接口这个环境启动后应能观察到以下核心话题话题类型方向作用/cmd_velgeometry_msgs/msg/Twist命令遥控、Nav2 等发出Gazebo 差速底盘执行/odomnav_msgs/msg/Odometry状态里程计供 SLAM/导航消费/scansensor_msgs/msg/LaserScan传感器2D LiDAR 扫描/tftf2_msgs/msg/TFMessage状态坐标变换/joint_statessensor_msgs/msg/JointState状态关节状态/bumper_left//bumper_rightros_gz_interfaces/msg/Contacts传感器左右碰撞事件环境是否正常可以用 SOFTWARE_INTERFACES.md 的验证清单 快速检查ros2 topic list ros2 topic echo /scan --once ros2 topic echo /odom --once ros2 topic echo /bumper_left ros2 topic echo /bumper_right ros2 run tf2_tools view_frames在仿真中use_sim_time应保持为true所有节点跟随/clock传感器流使用 sensor-data QoS。关键决策与开放问题RFC 明确列出了几条悬而未决的决策任何提交都应明确表态并给出理由1. Apple Silicon 上的 Gazebo 渲染最尖锐的痛点这是 Mac 仿真的最大难点Metal 后端的 GL/渲染、headless 与窗口模式的取舍。精确记录什么能跑、需要什么 flags是 macOS 提交最有价值的部分。2. ROS 发行版对齐Jazzy vs Lyrical项目的规范分支统一使用 ROS 2 Jazzy仓库内多处印证jazzy-dev开发镜像、oomwoo_gazebo的 jazzy 分支引用、compute-benchmark 要求使用 ROS2 Jazzy 开发容器而首个配方瞄准的是ROS 2 Lyrical——因为这是 RoboStack 目前在 Apple Silicon 上能干净提供的发行版。因此存在一个明确决策点钉死 Jazzy 以对齐基线还是跟随更新的发行版并接受漂移。提交时应明确表态并论证。3. 防止环境腐烂bit-rot即使环境被锁定它仍然是在对oomwoo-one的 description/launch 文件做构建。RFC 提议在 macOS runner 上放一个小型 CI 任务执行pixi installpixi run build如果 runner 允许再加一个 headless 的pixi run sim冒烟测试以便尽早捕获漂移。4. 范围界定这是面向开发者的 macOS 仿真环境不针对机载运行时也不替代 Linux/Windows 的 Docker 镜像。如何贡献把这个环境真正打磨出来按照 docs/CONTRIBUTING.md 的贡献模型环境代码pixi manifest、lockfile、任务定义托管在你自己的仓库/分支里向仓库提交的是链接 树内说明。该 RFC 邀请的五类贡献任务任务具体内容在 Mac 上跑起来并报告在 Apple Silicon 上按文档步骤执行报告仿真 遥控是否干净地起来并附 macOS 版本、芯片、ROS 发行版及任何修复。Mac 首次运行报告是这个 RFC 的全部意义所在攻克渲染让 Gazebo 在 Apple Silicon 上稳定渲染记录精确配方 / flags最可能的拦路虎加固钉定/刷新 lockfile打磨粗糙边缘记录 Mac 特有坑点对齐发行版做出 Jazzy vs Lyrical 的决定若对齐 Jazzy展示它能否针对规范 description 构建保持诚实提议一个 macOS runner CI 任务pixi installpixi run build防止环境无声腐烂提交方式在contributions/mac-dev-env/your-github-username/下提交 PR内容为——你的仓库/分支链接、精确的安装 运行 测试步骤、你的 macOS 矩阵OS 芯片、以及任何视频。注意遵循 CONTRIBUTING 的树内编辑规则只编辑你自己contributions/module/your-username/目录内的文件不要直接改动模块顶层 README、RFC board 等维护者所属文件。验收标准候选提交由维护者按以下标准筛选TBD会随更多 Mac 验证而演化文档化的步骤能在干净的 Apple Silicon Mac上带起带可驾驶机器人的 Gazebo 仿真 可用的遥控且渲染正常环境可复现提交 lockfile且主机隔离不触碰、不依赖系统的 ROS/Python/Homebrew对ROS 发行版有明确立场Jazzy 对齐 vs 更新版本并说明它如何针对oomwoo-onedescription 构建其他人能在 macOS 上复现并记录 macOS 版本 芯片多次尝试是受欢迎的——未被选中的方案依然是可用的后备。相关参考mac-dev-env RFC 主文档 —— 本文主体来源DingoOz 的 pixi RoboStack 配方 —— 首个可运行提交Apple Silicon 上已验证urdf-gazebo-sim —— 本环境构建和运行的机器人描述 Gazebo 世界docs/SOFTWARE_INTERFACES.md —— 仿真基线 ROS 2 接口契约与验证命令docs/CONTRIBUTING.md —— 贡献模型与 RFC 生命周期contributions/README.md —— RFC boardmac-dev-env 当前进度 40%initial working pixi recipe (experimental)live-robot-bringup · compute-benchmark —— 硬件/Pi 路径pixi 配方也运行在 Pi 5 上共享目标平台适用前提与限制以上步骤来自 RFC 的首个实验性提交分支上、早期状态以贡献者 fork 的feature/pixi-ros2-lyrical分支为准项目规范分支当前基于 ROS 2 Jazzy与配方的 Lyrical 存在发行版差异这是 RFC 明确开放、等待社区拍板的决策点。赞分享智能硬件机器人嵌入式物联网【免费下载链接】oomwooOpen-source vacuum robot cleaner项目地址https://gitcode.com/gh_mirrors/oo/oomwoo点击查看免费下载相关推荐OOMWOO macOS 开发环境实战用 pixi RoboStack 在 Apple Silicon 上跑通 ROS 2 Gazebo 仿真OOMWOO macOS 开发环境实战用 pixi RoboStack 在 Apple Silicon 上跑通 ROS 2 Gazebo 仿真 本文基于智能硬件机器人嵌入式物联网在 Gazebo 中仿真 oomwoo-one 扫地机器人基于 ROS 2 与 Docker 的零硬件开发实战在 Gazebo 中仿真 oomwoo one 扫地机器人基于 ROS 2 与 Docker 的零硬件开发实战 本篇教程完整讲解如何把 OOMWOO 开源扫地智能硬件机器人嵌入式物联网OpenMower 仿真环境搭建Gazebo 与 RViz 应用OpenMower 仿真环境搭建Gazebo 与 RViz 应用 1. 引言为什么需要仿真环境 在开发基于 RTK GPS 的智能割草机器人时物理测试面机器人嵌入式智能硬件硬件开发自动驾驶创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
