机器人嵌入式强化学习人工智能智能硬件计算机视觉音视频【免费下载链接】microduckA Tiny biped duck robot 项目地址https://gitcode.com/gh_mirrors/mi/microduck点击查看免费下载本文是 microduck 开源仓库一只运行强化学习策略的双足小鸭子机器人官方文档体系docs/的完整地图服务于两类读者拿到实体机器人想立刻驾驶的用户以及准备深入守护进程内部做改造的开发者。读完本文你将掌握仓库文档的分区逻辑使用手册 / 设计文档 / 项目记录 / 想法暂存区、每份文档解决的具体问题、如何正确引用机制归属文档以避免文档间互相矛盾并能顺着索引直达 docs/README.md 中列出的每一份可操作指南。文档体系的总设计多扇前门与单一事实来源microduck 的 docs 目录不是一份文档的堆砌而是一套经过刻意设计的知识路由系统。从 docs/README.md 本身可以看到它的三层原则第一层多扇前门按读者身份分流。根 README.md 是项目的正门——它回答microduck 是什么约 25 cm、800 g 的双足机器人主板为 Rockchip RK3566由一组 Rust 守护进程驱动50 Hz 控制回路用神经网络策略带动 15 个舵机README 中明确说明 This repo is the ducks brain。手上已经有机器人的读者README 直接指向速查表。docs/robot/cheatsheet.md 是驾驶门——机器人在你面前想立刻驱动它从这里开始。docs/faq.md 是另一扇前门面向在鸭子之上做开发的人模型太重跑不动怎么办、如何把摄像头接进自己的程序、为什么 Space 连不上。它的 FAQ 回答模式不是讲机制而是指路——设计文档说机制怎么运作这里告诉你该伸手拿哪一块原文档原话。第二层机制单一归属One page owns a mechanism。这是整个 docs 体系最核心的写作契约一份机制只有一页负责完整讲解其余页面提到它时只说一句话并指过去。原文档用一个真实事故解释了为什么A fact written down in six places drifts in six directions……——正是这样六份文档都承诺updaterd和btd会在下次重启前保留旧二进制而实际两个发布之后它们早已不这么做了包括正在排查这个问题的人会读的那两页。因此文档间出现矛盾时不拥有该机制的那一页才是 bug而不是机制归属页。这个原则贯穿 docs/design/ 全部设计文档也让开发者可以放心引用architecture.md是服务拆分与 IPC 契约的归属页updater-design.md是更新引擎的唯一权威。第三层按文档生命周期分区。docs 目录被刻意分成四类各自有明确的新鲜度预期robot/—— 使用手册随版本演进design/—— 设计文档很少改动行为与设计文档不一致时文档是 bugproject/—— 项目记录有日期、故意过期描述某个时刻的状态而非永久真理ideas/—— 想法暂存区还没设计成文的思考先写下来以免丢失也避免被误当成决策。robot/——你有一台机器人八份操作手册文档解决什么问题docs/robot/cheatsheet.md每一条robotctl命令驾驶、配置、语音、chorale、theremin、wifi、更新、日志docs/robot/pair-a-gamepad.md每个手柄只需配对一次配对模式、pad pair、以及配对不上时怎么办docs/robot/cheatsheet-dev.md需要开发板才能用的命令分支构建、候选版本、dev pushdocs/robot/dev-push.md在自己机器上构建、通过 ssh 装到板上无需 CIdocs/robot/simulation.md模拟鸭子scripts/duck-sim 让真实守护进程对着 MuJoCo 刚体跑一个或多个鸭子跑在容器里docs/robot/duckctl.md每一条duckctl命令——从笔记本电脑经蓝牙操作机器人docs/robot/install-dev.md从空白板开始把一块板子设置成可开发状态docs/robot/install-by-hand.md与 install-dev 相同的安装过程拆成一条条独立命令用于逐步测试入门路径cheatsheet 是机器上最重要的文档docs/robot/cheatsheet.md 的定位是在机器人上运行的robotctl并且它遵守一条诚实原则每条命令都取自发布分支的--help而非记忆。它对权限划分有清晰约定只读命令不需要特权任何改变机器人的操作需要sudo或configd的--allow-user/--allow-group、updater.toml里的allow_uids/allow_gids。它给出的第一个命令是robotctl version——对比每个守护进程实际运行的是哪个版本与安装的是哪个版本因为更新后仍在服务旧代码的守护进程看起来和刚修好的 bug 一模一样。其次是robotctl health硬件与软件一份报告机器人不健康或不可达时以非零退出码退出因此可以被脚本当作门禁--json用于生成支持工单。这两个命令恰好对应 src/robotctl 的实现以及各守护进程启动时写入/run/service/identity.json的运行版本机制见 docs/design/architecture.md §8.3。模拟与开发没有实体鸭子也能工作scripts/duck-sim 让没有机器人在手边的开发者用真实守护进程对着 MuJoCo 中的刚体跑仿真——这是 docs/robot/simulation.md 的核心主题而 docs/design/simulation.md 则从设计侧说明守护进程与身体之间的接缝在哪、身体协议是什么、假无线电如何工作。robot/与design/各有一份 simulation 文档正是使用手册 设计文档双视角的典型组合。design/——你在改守护进程机制归属表这份表格是 docs 体系的权威分配表一个事实属于哪一页其他页面就只能一句话带过并指向它。文档归属的机制docs/design/architecture.md服务拆分、IPC 契约、状态归属、安全与权威docs/design/robotd-design.md控制回路Dynamixel 总线与端口归属、模型、感知、观测、策略、安全——以及挂在 tick 上的其他一切docs/design/updater-design.md更新引擎校验、原子切换、健康门禁、回滚、发布格式docs/design/policy-channel-design.mdONNX 策略从哪来policies组件、试玩别人的策略、reset会放回什么docs/design/restart-order.md在所有移动current的路径上以及开机时哪个单元在哪一步重启docs/design/app-path-design.mdbtd与configd——手机如何通过 BLE 配置机器人docs/design/mobile-app.md手机 App由什么构建、机器人还欠它什么代码在独立的 microduck-app 仓库docs/design/remote-webrtc.mdWebRTC 会话、信令、控制通道——对端如何驾驶与观察机器人docs/design/webrtc-console.mdWebRTC 客户端如何从机器人上提供页面、如何找到机器人、页面应该长什么样docs/design/remote-access-design.md从局域网外访问鸭子Hugging Face 账号、设备流、通往 rendezvous 服务的桥docs/design/boot-recovery-net.md启动的发布无法拉起守护进程时回退到 golden 版本docs/design/simulation.md数字孪生守护进程与身体之间的接缝、身体协议、假无线电、容器以及它是什么的孪生、不是什么架构事实七守护进程与三类生存者结合 docs/design/architecture.md 可以理解这份表的重量级内容单板上七个守护进程通过Unix socket 上的 JSON-RPC 2.0NDJSON一行一个对象通信robotd是唯一碰机器人的进程——15 个舵机和 IMU 共享一条串行总线50 Hz 控制回路独占它客户端只能发送intent以这个速度走、看向那里安全层由robotd决定什么可以执行。源码侧robotd/src、configd/src、updater/src、btd/src、mediad/src、tof/src、padd/src 与架构中的服务一一对应。架构中一条反复出现的不变量是btd、configd、updaterd在robotd死亡时仍须存活——它们是恢复路径因为控制回路起不来的机器人恰恰是最需要被重新配置、更新或回滚的那台。这也是为什么配置放在configd而非robotd给坏掉的机器人配 wifi正是它坏了时最需要的事。这一设计在文档表中体现为app-path-design.md与boot-recovery-net.md各自负责的机制边界。更新与策略两个独立机制的所有权页docs/design/updater-design.md 是更新引擎唯一权威发布以整目录落到/opt/robot/daemon/releases/version/updaterd校验签名、移动current符号链接、重启单元、然后向robotd询问健康不健康就把旧发布放回去。该设计被 deploy/ 与 updater/ 的源码updater/src/verify.rs、updater/src/engine.rs实现。docs/design/policy-channel-design.md 是策略通道的唯一权威其实操契约则在 docs/policy-manifest.md一份位于.onnx旁边的manifest.json的每个字段都由它定义kind决定谁结束策略——episodic/perpetual/scriptedcommand.encoding决定守护进程喂给它什么——constant/phase/posture_flag。索引文档特意指出设计文档给出理由并指向它这正是一页归属机制、其他页一句话指过去的实例。project/——你在运行这个项目有日期的现场记录这些是有日期的记录而非参考资料描述的是某个时刻的状态故意过时。文档记录什么docs/project/roadmap.md里程碑以及今天能用的 vs. 已经设计好的docs/project/ci-setup.md发布流水线的一次性设置密钥、机密、轮换docs/project/install-path-gap.md四个安装路径 bug 为什么上了板子以及什么堵住了它它教会的那条规则在 docs/design/updater-design.md §9.1docs/project/slice-2-bringup.md真 Radxa Zero 3W 在 slice 2 上做了什么docs/project/update-over-ble.md从手机驱动更新路径发现了什么以及关于无线电回滚的决定docs/project/media-bringup.mdRadxa Zero 3W 怎么处理视频VPU、MPP 需要什么、必须构建的两个插件docs/project/pad-minimal-pairing.md手柄能配对的最小板级配置——逐个移除配置项找出来的docs/project/idle-cpu.md没人请求时守护进程在干什么四件已停的事、两件测过但保持原样的、一件仍待板子验证的docs/project/tof-on-demand.mdtofd的空闲 5% 里九成是头部 IMU、一成是深度而 IMU 没有消费者为什么激光与整机保持原样、IMU 加了个开关这类文档的价值在于它们是真实发生过的工程决策记录比如install-path-gap.md明确指向它教会的规则updater-design.md§9.1形成事故 → 规则的闭环而不是停留在口号层面。ideas/——还没设计完思考的蓄水池文档内容docs/ideas/autonomous_behavior.md行为栈运行时的大脑必须交出什么以及 chorale 和 theremin 工作留下的想法它存在的理由正如索引原文所述一件即将需要设计文档的事在拥有它之前先写下来这样思考不会丢失也不会被误当成决策。这份文档与仓库里 robotd/src/chorale.rs、robotd/src/theremin.rs 以及 sounds/src 的合唱/特雷门实现相互呼应是可以追踪想法如何沉淀为机制的起点。Elsewhere文档体系之外的三处补充文档内容CONTRIBUTING.md构建、测试、仓库布局、约定、发布docs/project/npu-bringup.mdRK3566 NPU 上的鸭子检测器跑什么、怎么基准测试、仍然缺失的帧路径deploy/README.md机器人镜像被配置了什么、provisioning 实际做什么其中 deploy/README.md 值得单独说明它描述的是属于镜像而非单个服务的 OS 级配置——updater.toml客户端机器人携带的配置安装到/etc/robot/updater.toml、trusted_keys/发布公钥即信任锚、journald.conf.d/10-robot.conf日志持久化与容量上限。它还记录了一个实测发现该镜像的/var/log是 zram 设备Storagepersistent实际是内存中的目录断电会丢失最近日志——因此/var/lib下的更新历史是唯一持久记录这正是 docs/design/architecture.md §8.2 如此设计的原因。如何正确使用这份文档地图综合原索引文档的组织意图实际使用可以遵循三条经验法则按身份找门有机器在手 → docs/robot/cheatsheet.md机器上第一条命令永远是robotctl version构建自己的程序接入鸭子 → docs/faq.md要改守护进程 → 查 docs/design/ 的机制归属表。按机制引用引用一个机制时永远指向它的归属页——更新相关引 docs/design/updater-design.md策略通道引 docs/design/policy-channel-design.md 与 docs/policy-manifest.md服务架构引 docs/design/architecture.md。区分新鲜度project/的文档有日期、可能已过时行为与设计文档冲突时是文档错了而不是代码错了ideas/是想法不是决策。这套多门分流 单一机制归属 生命周期分区的文档架构让一个同时承载实体硬件操作手册、系统设计文档、工程复盘记录和想法沉淀的仓库保持了可导航、可引用、可纠错的一致性——这正是从 docs/README.md 出发能够掌握的最大价值。赞分享机器人嵌入式强化学习人工智能智能硬件计算机视觉音视频【免费下载链接】microduckA Tiny biped duck robot 项目地址https://gitcode.com/gh_mirrors/mi/microduck点击查看免费下载相关推荐Transmission 完整使用指南从文档导航到无头守护进程、配置与 RPC 深度解析Transmission 完整使用指南从文档导航到无头守护进程、配置与 RPC 深度解析 Transmission 是一个跨平台的开源 BitTorrent桌面应用后端CLI网络ANTLR 4 官方文档全景导航从语法入门、运行时目标到自构建发布的完整技术地图ANTLR 4 官方文档全景导航从语法入门、运行时目标到自构建发布的完整技术地图 ANTLRANother Tool for Language Recogn开发工具编程语言编译器TiXL 文档导航全解析从入门安装到实战进阶的完整指南TiXL 文档导航全解析从入门安装到实战进阶的完整指南 导读 本文以 TiXL 官方文档入口 .help/docs/index.md 为核心骨架系统梳音视频图形学桌面应用上一篇HomeMirror性能调优指南解决卡顿与ANR问题下一篇未来展望Hex 语音转文字路线图与 5 大技术发展趋势创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考