
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前面章节里我们一直在用 vTaskDelay,但没讲透它背后的系统。这一章把 ESP-IDF 自带的实时操作系统 FreeRTOS 讲清楚:任务是什么、调度器怎么决定谁先跑、为什么"阻塞"比"空转"好、任务之间怎么安全地传数据(队列)、怎么互斥(信号量/互斥锁)。这是"只看一本书就能做真实项目"的关键一章。

这一章要解决什么问题:第 16 章的 control.Task 依赖一个已经建好的 physics,场景里的机器人、桌子、方块全写死在同一个 MJCF 里。想换个场景?复制 XML 改一遍。想加个障碍?再改一遍。composer 把模型拆成可复用的零件(Entity)、舞台(Arena)与规则(Task),让场景变成用代码拼出来的,可以复用、可以随机化。

配套代码:[]🎯 学习目标学完本章,你将能够:想象你在教一个小孩玩"把积木放到指定位置"的游戏:交互循环:小孩看一眼 → 决定动手 → 环境变化 → 再看一眼 → 再决定……如此循环,直到游戏结束。没有标准时,每个人写的 RL 循环都不一样:于是算法代码没法复用。DeepMind 的 dm_env 就是为了解决这个:它规定「环境长什么样」,不管底下是 MuJoCo、Unity 还是真实机器人。d

这一章要解决什么问题:前四章你已经能让机器人动起来、看得见。但要做真正的任务(抓取、放置、力控、强化学习),还缺四块拼图:1,怎么读出机器人到底发生了什么(传感器);2,怎么知道谁碰到了谁、用了多大力(接触);3,怎么选对执行器(位置 / 力矩 / 速度);4,怎么让物体粘在夹爪上(约束与焊接);最后再把这些能力跑得够快。

这一章要解决什么问题:把第 07 章学的 ikpy 用到真实机器人上——本书的 Epson CX4-A601C 六轴机械臂。本章会完成一次三方交叉验证(ikpy / MuJoCo / 手写 FK),并暴露一个实战中最常见的问题:冗余自由度乱跳。

配套代码:[]本章学习目标学完本章,你将能够:回顾第 00 章的分层:ikpy 只做一件事:运动学。它是纯几何计算,不涉及质量、重力、碰撞、摩擦。给它一组关节角,它算出末端在哪(FK);给它一个末端目标,它算出关节角(IK)。仅此而已。这意味着:验证安装:7.3 三个核心类7.3.1 类的层次类用途什么时候用把一堆 Link 串成一条链,提供 FK/IK永远是入口链的"地基"每条链的第一个元素一个

1,说清机械臂的基本构造:连杆和关节的区别,旋转关节 vs 移动关节,6 个关节各自的作用。2,理解自由度的概念:解释为什么 6 轴机械臂能"以任意姿态到达任意点",5 轴和 7 轴各有什么局限/优势。3,区分三个"位置":关节角 q、末端位置、目标位置——这是新手最常混淆的概念。理解正运动学 FK 和逆运动学 IK:FK 是"关节→末端"(唯一、简单),IK 是"末端→关节"(可能无解/多解、需

1,创建和操作 NumPy 数组:用 np.array、np.zeros、np.eye、np.linspace 等创建机器人常用的数据结构(关节角向量、变换矩阵、轨迹点序列)。2,正确使用索引和切片:从 data.qpos 中取前 6 个关节角,从 4×4 矩阵中取旋转部分和平移部分,理解"切片是视图"的含义。3,区分逐元素乘和矩阵乘:知道什么时候用 *、什么时候用 @,这是机器人代码中最常见的错

1,在 Z-up 坐标系中描述位置和朝向:说出本项目的重力方向、up 轴,以及 PICK_POS = [-0.18, -0.30, 0.02] 中每个数字的含义。2,区分点和向量:理解"两个点相减得到向量"、"点加向量得到另一个点"的几何意义。3,用三种方式表示朝向:旋转矩阵、欧拉角、四元数,并能在它们之间转换;知道 MuJoCo 用 (w,x,y,z) 而 scipy 默认 (x,y,z,w)。

本章学习目标读完本章,你将能够:1. 读懂机器人代码中的基本语法:变量、列表、字典、循环、函数、类——这些是MuJoCo/ikpy/dm_control 代码的"词汇表"。2. 理解类与对象的关系:能解释 model = mujoco.MjModel.from_xml_path(...) 这行代码在做什么,么意思。3. 掌握角度与弧度的转换:知道为什么机器人代码内部一律用弧度,以及如何在显示时转成








