microduck 文档地图:从入门驾驶到守护进程改造的完整技术导航

发布时间:2026/9/25 5:52:48

microduck 文档地图:从入门驾驶到守护进程改造的完整技术导航 机器人嵌入式强化学习人工智能智能硬件计算机视觉音视频【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/9/25 5:47:47

DeskcommCRM实操:销售团队从零配置永久在线客户工作台指南

最近在帮几个销售型小团队梳理客户管理流程,发现一个很现实的问题——大家缺的其实不是一套高端CRM,而是一个“能用起来、不用天天维护、打开就能干活”的客户管理工具。市面上的方案我基本都接触过:本地装客户端的、自己买服务器托管的、干脆…

2026/9/25 5:47:47

DeskcommCRM落地实践:通信驱动的桌面客户关系管理系统

做了这么多年销售管理系统的落地,我最大的感受是:一套 CRM 好不好用,业务人员的投票比任何功能清单都真实。以前我们团队也试过好几套通用型客户管理工具,每次上线的结果都差不多——前两周大家还能坚持填跟进记录,一个…

2026/9/25 6:47:49

英伟达老版本驱动下载与回滚实战指南

1. 为什么必须掌握英伟达老版本驱动下载与回滚能力? 在实际运维和开发场景中,“英伟达官网如何下载老版本驱动?历史版本查找与回滚指南”不是个可有可无的冷知识,而是高频刚需。我做过三年GPU服务器集群维护,经手过20…

2026/9/25 6:47:49

RabbitMQ消息确认机制:生产端Confirm与消费端Ack实战解析

如果你维护过一个基于RabbitMQ的业务系统,多半见过这样的告警:队列里的消息在几分钟内从0涨到几十万,管理界面上的unacked数字一直往上爬,消费者进程看起来还活着,但消息就是不被消费。我印象最深刻的一次是在周五晚上…

2026/9/25 6:47:49

ROS2+Gazebo仿真Mid360与FAST-LIO:从建图到导航的完整实践

简介:基于ROS2-Gazebo搭建的导航模拟包,面向机器人自主导航的开发者与研究者,以全向移动小车为载体,集成Livox Mid360激光雷达与惯性测量单元IMU,并结合FASTLIO算法实现在室内外复杂场景中的定位与导航仿真&#xff0c…

2026/9/25 6:47:49

Excel COUNTIF函数详解:从基础到高级应用

1. COUNTIF函数基础解析COUNTIF函数是Excel中最基础也最实用的统计函数之一,它的核心功能是根据指定条件对单元格区域进行计数。这个看似简单的函数,在实际工作中却能解决80%以上的基础统计需求。1.1 函数语法与参数详解COUNTIF函数的标准语法为&#xf…

2026/9/24 20:24:47

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑