当前位置: 首页 > news >正文

网站关键词在哪百度seo优化收费标准

网站关键词在哪,百度seo优化收费标准,百度搜索推广和信息流推广,网站如何做品牌宣传海报目录#xff1a; 0 引言 1 人形机器人对室内家政服务任务的结构化 1.1人形机器人在室内家政服务中的比较优势 1.1.1 人形机器人拟人性的7个维度 1.1.2 拟人性在室内家政服务工作中的比较优势 1.1.3 潜在的重要用户#xff1a;宠物爱好者 1.2 居所室内环境的特征与结构… 目录 0 引言 1 人形机器人对室内家政服务任务的结构化 1.1人形机器人在室内家政服务中的比较优势 1.1.1 人形机器人拟人性的7个维度 1.1.2 拟人性在室内家政服务工作中的比较优势 1.1.3 潜在的重要用户宠物爱好者 1.2 居所室内环境的特征与结构化 1.2.1 室内空间的物理参数友好 1.2.2 居所具备较好的结构化潜力 1.2.3 居所结构化的思路 1.3 基于任务对象结构化程度的室内家政任务分类 1.3.1 面向结构化/准结构化对象的基础家政任务 1.3.1.1 使用自动化终端设备的基础家政任务 1.3.1.2 基于局部结构化被动平台的基础家政任务 1.3.1.3 基于局部准结构化被动容器的基础家政任务 1.3.1.4 操作局部结构化被动运动部件的基础家政任务 1.3.2 面向非结构化对象的复杂家政任务 2 人形机器人执行基础家政任务过程中的技术要点 2.1 入户初始化参数化标定居所内的对象 2.1.1 居所参数初始化 2.1.2 任务对象参数初始化 2.1.3 居室子区域、任务对象图像的初始化 2.2 人形机器人执行一次任务的技术过程推演用洗衣机洗衣服 2.2.1 过程推演 2.2.2 技术要点充分运用居所基础信息表 2.2.3 技术痛点实时更新居所基础信息表 2.3 人形机器人入户服务的最大痛点安全性 2.3.1 自主行动导致安全风险 2.3.2 被动干扰导致安全风险 2.3.3 意外跌倒导致安全风险 2.3.4 部件失能导致安全风险 3 深入应用FPGA的室联人形机器人控制系统框架设计 3.1 特斯拉Optimus-Gen2人形机器人的硬件系统配置 3.1.1 电机 3.1.2 传感器 3.2 设计思路 3.2.1 深入应用FPGA的人形机器人控制系统设计思路 3.2.1.1 基本设计思路 3.2.1.2 系统层面 3.2.1.3 感知环节 3.2.1.4 运算环节 3.2.1.5 控制环节 3.2.2 室联人形机器人控制系统设计思路 3.2.2.1 将部分感知设备移到各居室的天花板 3.2.2.2 将部分算法、管理子系统卸载到外置机箱 3.2.2.3 添加语音收发模块、用于连接居家口语大模型服务器的通信接口 3.2.3 分色表述的绘图风格 3.3 深入应用FPGA的室联人形机器人控制系统框架设计 3.3.1 系统整体设计 3.3.1.1 系统框图 3.3.1.2 基于FPGA解决Optimus-Gen2灵巧手腕部走线困境 3.3.1.2.1 Optimus-Gen2灵巧手腕部的走线困境 3.3.1.2.2 解决方案 3.3.1.2.3 待确认的问题布线、电磁兼容、散热 3.3.1.2.4 将这一布局方式拓展到肩部、髋部 3.3.1.3 关于内置CPU硬核的FPGASOC 3.3.2 管理子系统橙色 3.3.2.1 FPGA所涉系统管理信息的收发 3.3.2.2 运算CPU、用户设备的管理 3.3.2.3 世界时时标的建立与分发 3.3.2.4 同步信号序列的生成与分发 3.3.2.5 世界时时钟源失效后的时间保持 3.3.3 感知子系统浅蓝色 3.3.3.1 室联感知 3.3.3.2 感知设备及其驱动、信息接收与解算 3.3.3.3 传感器信息预处理、初级的传感器融合 3.3.3.4 数据处理过程与世界时时标的同步 3.3.3.5 关于自研传感器 3.3.4 运算子系统红色 3.3.4.1 运算CPU 3.3.4.1.1 运算CPU工作周期 3.3.4.1.2 执行传感器融合上层算法以及对环境、本体、工作目标的实时建模 3.3.4.1.3 运动规划 3.3.4.1.4 将运算任务卸载给FPGA中的协处理模块 3.3.4.1.5 深入应用FPGA技术为高层次算法的前沿探索提供助力 3.3.4.2 关节运动轨迹点插值 3.3.4.3 FPGA对运算CPU算法任务的协处理 3.3.4.3.1 基础/通用运算任务的协处理 3.3.4.3.2 专项业务运算任务的协处理 3.3.4.3.3 “真空球形鸡”之辩 3.3.5 控制子系统绿色 3.3.5.1 电机控制算法通道 3.3.5.2 电机抱闸 3.3.6 芯片间数据实时传输子系统深蓝色 3.3.6.1 PCIe总线 3.3.6.2 FPGA片内数据调度中心 3.3.6.3 FPGA片间全双工串行直连接口 3.3.6.4 射频通信二级子系统 3.3.7 语音收发子系统含大模型下传指令解析功能棕色 3.3.8 关于居家口语大模型的服务器、预训练语料 3.3.9 加速基于大模型的端到端具身智能控制算法的实用化进程 3.3.10 多“人”协作模式 4 将框架设计与《流程图》相结合 4.1 一体两面 4.2 框架设计在《流程图》中的位置 4.3 笔者能力短板导致的缺憾 4.4 特斯拉人形机器人Optimus-Gen2信息的帮助 4.5 对研发单位的建议 5 将框架设计“泛化”到其他领域 6 结语行动最重要 声明 1 本文篇幅较长正文三万四千字第1、2、3节内容的独立性较强建议读者对照目录、根据自己的兴趣选阅。 2 本文在笔者的文章 林伟室联人形机器人家政服务任务结构化、技术要点、深入应用FPGA的控制系统框架设计2024年6月4日发布 的基础上整合了其中引用的文章 林伟在实用化人形机器人控制系统中深入应用FPGA的框架设计基于特斯拉Optimus-Gen2的硬件系统2024年3月31日发布 的大部分内容并重新安排章节序号使前者的内容完整、成为一个可以独立成篇的技术文档以便于读者阅读。进而文章中整合了笔者的一篇知乎回答 人形机器人何时会使用端到端大模型进行动作控制 2024年12月1日发布的内容。如果读者已经掌握了以上三篇文档的内容建议仅阅读这篇文档的第3.3.1.1、3.3.4.1.2节。 3 本文由笔者并非人形机器人业内人士在多方学习的基础上独立创作。限于检索资料的范围除了特殊声明之处笔者不声称所述技术思想是本人原创。任何先于本文公开发布的、与本文部分内容相同或相近的技术信息的原创者享有更优先的知识产权。 4 请读者从实用主义的角度看待本文所述技术思想若有想法/问题/质疑欢迎留言/私信/微信见文末交流。 正文 0 引言 近期关于人形机器人应用场景的讨论非常热烈反对者的观点是 人形机器人由于工作在非结构化场景中、处理非结构化任务、需要应对突发情况、当前尚未深入研究其安全性及对策、机体内部有效容积小且分成几块、很多情况下可以由AGV/轮足车机械臂例如波士顿动力的stretch予以替代等因素在几年之内不可能找到适合的应用场景。 笔者的本行是底层技术FPGA应用研发但自2017年起一直关注机器人、人形机器人领域近期在知乎发布了两篇技术文档林伟在实用化人形机器人研发流程中深入应用FPGA技术的流程图版本A基于工信部《人形机器人创新发展指导意见》参考资料10以下简称《流程图》、林伟在实用化人形机器人控制系统中深入应用FPGA的框架设计基于特斯拉Optimus-Gen2的硬件系统参考资料11并将其在业内广为推介。 本文拟就上述观点阐述一些应对思路进而以此为基础结合上述两篇技术文档提出一个进阶技术方案以期协助人形机器人行业的潜在投资者理清思路、看到希望促进更多资源投入到本文关注的技术领域助力人形机器人尽快走向实用。 基本思路 人形机器人的根本特征是拟人性拟人性导致的亲和力使其适合用于室内家政服务。 室内家政服务的环境、任务对象具备一定程度的结构化特征导致将人形机器人应用于这一场景在技术上具备可行性。 以居所基础信息表为核心将居所及其内部家具、家电在宏观层面上参数化从而将人形机器人的非结构化宏观任务切分为更易实现的局部子任务。据此举例、梳理将人形机器人应用于室内基础家政服务过程中的技术要点提供参考流程。 针对入室服务的高安全性需求借鉴车路协同汽车自动驾驶系统将大量传感器布置在路侧以提供全局视野、用路侧运算模块分担车侧的算力与功耗压力的思路提出了室联人形机器人的概念。 基于这一概念结合《流程图》的内容针对实用化人形机器人的控制系统以深入应用FPGA技术、室联感知为指导思想做了一个框架设计提供一个具象化的设计实例、参考技术方案协助各研发团队及相关决策者深入了解这一技术思路及其价值。 在框架设计中引入了语音收发子系统就居家口语大模型的部署方式及其安全性提供了参考意见。 阐述了基于这一框架设计、用FPGA加速基于大模型推理的端到端具身智能人形机器人控制算法的思路。 进而笔者希望读者将这个框架设计与《流程图》结合起来进行分析、思考希望 进一步降低将FPGA深入应用于人形机器人在纯粹技术维度上的门槛 助力更多正在人形机器人领域参与竞争的团队 -- 及时做出实质性决策及时将更多资源分配到深入应用FPGA技术这一竞争维度。 [注1本文所说的“深入”应用FPGA是相对于已有的、将FPGA应用于工业机器人伺服电机的驱动及反馈控制可能也用于实现关节轨迹点插值的方案而言的。大约在9年前采用此类方案的工业机器人产品就已经面世更多信息请参阅参考资料7。] [注2本文用居所指代整套房子用居室指代房子中的一个房间包括门厅、厨房、洗手间等] 1 人形机器人对室内家政服务任务的结构化 1.1人形机器人在室内家政服务中的比较优势 1.1.1 人形机器人拟人性的7个维度 拟人性是人形机器人区别于其他类型机器人的根本特征。 笔者于2021年1月在知乎发布了文章 林伟韩国现代波士顿动力的真命天子参考资料12其中将 “拟人性” 划分为6个维度。本文以此为基础归纳了人形机器人拟人性的7个维度 身体结构像人、运动模式像人、动作姿态像人、可见器官像人、面部表情像人、交流内容像人、安全性像人。 1.1.2 拟人性在室内家政服务工作中的比较优势 如众多网络文章中述及的人类的生活环境尤其是居家环境是针对人类的身体特征而设计的身体结构、运动模式像人的人形机器人在家政服务应用场景下较非人形机器人更具适应性。 进而当一个人形机器人在拟人性的上述7个维度都做得很像人以下称之为 “高拟人度人形机器人”对于一部分人类个体来说它将不再是一个冷冰冰的工具更像是一个同类、一个服务人员从而更具亲和力。 这种亲和力是高拟人度人形机器人在服务这类人的细分市场中相对于非人形机器人的比较优势。 1.1.3 潜在的重要用户宠物爱好者 一般来说喜欢宠物甚至将宠物视为家庭成员的人心理上更倾向于接受、认同新加入的家庭成员。将宠物爱好者作为一个人群对比于上述可能将高拟人度人形机器人视为一个同类、一个服务人员的人群两者之间的重合程度很可能足够高以至于具有商业价值。 [本小节的思路系笔者的直观推测。建议关注其商业价值的业内公司/投资者委托专业机构进行评估。] 1.2 居所室内环境的特征与结构化 1.2.1 室内空间的物理参数友好 居室内空间中的光照情况比较稳定受日光影响较少并且没有雨雪风沙等天气因素的干扰温度、湿度也相对稳定。工作于其中的人形机器人的感知系统在同等成本下能够以显著高于室外环境的可靠性、精度实现对环境的感知工作于其中的射频通信系统也将不必考虑各种极端天气的影响。 1.2.2 居所具备较好的结构化潜力 居所的居室布局千变万化居室内的家具、家电的布置方式千变万化由此导致室内家政服务人形机器人面对的是非结构化的应用场景。 然而居所、家具、家电都是工业制成品为了便于制造及运输其中大多数的主体形状是长方体、圆柱体以及它们的变形体的组合包括正-负组合致使由这些近规则体构成的家庭室内环境可以在很大程度上由人形机器人的控制系统在宏观层面上予以结构化。 1.2.3 居所结构化的思路 分析各居室内图像及点云、提取简单的点/线/面/棱/拐角/顶角量化分析这些几何元素在空间中的形/位参数再以手动标注或自动识别基于CNN或专业大模型的方式将这些几何元素与居所布局、居室结构、家具及家电的外形轮廓实现对应建立居所内自顶居所向下家具、家电的分层立体几何模型进而建立针对各居室及室内/室间对象的、全居所统一的、可以作为自顶居所向下任务目标子区域进行任务切分的依据的宏观结构化模型。 1.3 基于任务对象结构化程度的室内家政任务分类 1.3.1 面向结构化/准结构化对象的基础家政任务 在需要人形机器人执行的家政任务中很大一部分的任务对象具备结构化/准结构化特征从而使这类任务的执行过程能够被以相较于面向非结构化对象的任务更少的成本予以设计、实现。 本文将这些任务称为基础家政任务以下予以分述。 1.3.1.1 使用自动化终端设备的基础家政任务 自动化终端设备是指洗衣-甩干机、洗碗机、烘干机、电冰箱/柜、微波炉、烤箱、电饭煲、空气炸锅、榨汁机、空调、吸尘器、扫地机器人、电热/太阳能淋浴器、电动窗帘、擦鞋机等家用电器。 功能特征用内置的、专业化的、电动的终端机构完成某种具体的家务对外仅提供以 “傻瓜化操作” 为目标而设计的否则卖不出去的用户操作接口非常适合由人形机器人操作勿怒无意diss。 结构特征外壳形状相对固定整体姿态相对固定操作接口在外壳上的位置固定。 其在居所中的位置相对固定即使移动了也较易识别、占据的空间区域相对固定连同功能特征参数、结构特征参数一起能够被人形机器人控制系统借助各种传感器以量化方式予以实时标定、实时更新。 使用自动化终端设备的家政任务以基于现场感知的反馈控制方式从其外形上定位上述用户操作接口、对其执行操作将待处理的任务对象投入这些设备的进料口或者将设备与任务对象按预定义的方式对接再依照固定的时序流程可能需要从多个流程中做出选择按动操作接口中的按钮由这些设备自动完成任务再将设备中经处理的任务对象由设备出料口可能复用进料口取出或者将设备与任务对象的对接状态复归为执行任务之前的状态。 1.3.1.2 基于局部结构化被动平台的基础家政任务 局部结构化被动平台是指桌面、床面、灶台面、切菜板面、地面、墙面、天花板等用于承载任务对象的空旷平面。 这些平面的在居所中的位置、占据的空间区域相对固定姿态相对固定多为水平或与地面垂直表面色彩、纹理相对固定且具备一定程度的规律性能够被人形机器人控制系统借助各种传感器以量化方式予以实时标定、实时更新。 在这类平台上放置、悬挂的任务对象在人形机器人传感器光学/红外线传感器、RGBD传感器、激光雷达等的视野中都表现为处于一个相对空旷的局部平面中工作目标物作为分析对象更容易从包含背景、平台的图像/点云中被分割出来从而减少家政任务执行算法的设计工作量或/和减少针对局部任务的端到端神经网络训练的工作量。 特斯拉Optimus-Gen2叠衣服的视频演示的就是这种应用场景链接马斯克展示机器人“擎天柱”叠衣服还不能自主执行但未来肯定可以_哔哩哔哩_bilibili。 1.3.1.3 基于局部准结构化被动容器的基础家政任务 局部准结构化被动容器是指电冰箱/柜、碗柜、书柜、衣柜、鞋柜、洗涤槽、洗手盆、坐便器等具备结构化外形或/和内部结构的容器。 这类容器的在居所中的位置、占据的空间区域相对固定姿态相对固定其内部空间、内部隔间的结构参数也基本固定并且能够被人形机器人控制系统借助各种传感器以量化方式予以实时标定、实时更新。 人形机器人以基于现场感知的反馈控制方式向这类容器中放置/投入工作目标物、从这类容器中移出工作目标物都表现为对一个准结构化的空间进行操作参考资料13任务对象作为被分析的目标更容易从包含背景、容器的图像/点云中被分割出来从而减少家政任务执行算法的设计或/和端到端神经网络训练的工作量。 当然推而广之整个房间乃至整套居所基于第1.2.2节所述的方法都可以被人形机器人控制系统视为一个全局结构化的大容器。 1.3.1.4 操作局部结构化被动运动部件的基础家政任务 局部结构化被动运动部件是指居室门、橱柜门、冰箱门、冰柜盖、抽屉、台式PC的键盘托板、带锁紧把手的升降桌、窗页、窗帘、百叶窗等可以由人形机器人用手推、拨而被动在1个或近似1个例如抽屉自由度上做简单运动的家具部件。 这类部件在居所中的位置、占据的空间范围相对固定姿态相对固定其上为方便人类操作而设置的专用子部件例如门把手、升降桌锁紧把手的位置、姿态相对与部件本体也基本固定并且能够被人形机器人控制系统借助各种传感器以量化方式予以实时标定、实时更新。 人形机器人以基于现场感知的反馈控制方式操作这些部件以使其打开、关闭都表现为操作一个近似结构化的工作目标物部件作为分析对象较容易从图像/点云中被分割出来并予以识别进而读取预存的、针对这个部件的操作流程将其用作设计任务执行算法的基础。链接波士顿动力机器人帮助伙伴开门BostonDynamics_哔哩哔哩_bilibili请注意视频中的门轴带有用于自动关门的弹簧增加了任务难度 1.3.2 面向非结构化对象的复杂家政任务 非结构化对象的外部形态或/和受力状态随时改变与之关联的任务需求复杂多变且不可预见典型例子是人类个体。 面向非结构化对象的家政任务的实例怀抱婴儿扶老人行走给老幼病残人士洗漱、喂饭、梳头、理发、刮胡子、换衣服。 2 人形机器人执行基础家政任务过程中的技术要点 第1.3.2节所述的复杂家政任务对人形机器人的功能要求非常全面、性能要求非常高笔者目前看不到其被人形机器人执行的前景。 与之相对应笔者认为第1.3.1节所述的基础家政任务近几年内可能由人形机器人予以承担。 因此本节设计了人形机器人执行基础家政任务的一种流程进而针对各个步骤以及步骤中的一些技术要点予以说明以期为业界提供一个比较系统的应用场景描述。 2.1 入户初始化参数化标定居所内的对象 在人形机器人进入某个客户的居所之初应获取与所需执行的家政服务相关的、以预定义的格式化数据表称为 “居所基础信息表”的形式进行传输与存储的居所基础信息这就是人形机器人执行基础家政服务任务的入室初始化。其核心在于 通过提取、使用居所及任务对象的结构化特征参数将非结构化的宏观任务空间切分为更易实现的局部子任务。 [本节内容可能是原创若有读者了解此前公布过的相关工作请告知其出处谢谢 -- 笔者将在评论区就此予以说明并将其置顶。请关注本文内容原创性的读者关注评论区] 2.1.1 居所参数初始化 在入户之初人形机器人获取居所本体的结构化参数包括 各房间的几何尺寸各房间互相之间的空间位置关系、互联拓扑关系各个门的位置、尺寸各门轴在门框上的位置各门扇相对于门框的转动方向、转动角度区间各门把手的位置、握持方式、扭转方向及扭转角度区间室内可行走区域的形状、位置、尺寸允许人形机器人的肢体进入的空间区域的形状、位置、尺寸。 人形机器人在入户之初将这些参数存入一个可以随时调用的居所基础信息表。 2.1.2 任务对象参数初始化 获取居室内各任务对象即第1.3.1节所述的结构化/准结构化任务对象下同的外部几何参数位置、外部轮廓的尺寸当前姿态。 获取居室内各任务对象的功能参数以洗衣-甩干一体机为例不考虑连接电源、连接进出水管其功能参数包括 单次洗涤衣物的重量上限、体积上限滚筒/转筒盖的位置、盖轴的位置滚筒/转筒盖的打开方向及其相对于转轴转动的角度范围滚筒/转筒盖把手的位置及把持方式操作面板的位置、图像操作面板上各按钮的位置按动按钮所需的力的大小按钮的各种时序组合所代表的洗衣-甩干系列指令。 人形机器人在入户之初将这些几何参数、功能参数存入随时可以调用的居所基础信息表。 2.1.3 居室子区域、任务对象图像的初始化 获取居所内涉及服务任务的各个子区域尤其是门、窗、墙壁悬挂/内嵌物等图像特征明显且位置相对固定的子区域在各个角度的图像获取各任务对象从各个视角包括易翻覆任务对象 -- 例如方凳 -- 在翻覆状态的各个视角看过去的图像作为执行服务任务过程中进行对比的目标。 人形机器人在入户之初将这些图像存入随时可以调用的居所基础信息表。 2.2 人形机器人执行一次任务的技术过程推演用洗衣机洗衣服 2.2.1 过程推演 借助第2.1节的居所基础信息表我们推演人形机器人小明使用转筒式全自动洗衣机属于第1.3.1.1节所述的自动化终端设备洗衣服的技术过程。 居所的主人林先生对小明说“请把床上的夹克衫洗干净。” 小明的自然语言处理系统从这句话中获取指令的关键要素任务洗衣服、任务对象夹克衫、任务对象当前所处的位置床上然后将任务分解为如下流程 走到床边 - 拿夹克衫 - 评估夹克衫是否适用于居室中的洗衣机 - 走到洗衣机旁边 - 将夹克衫放进洗衣机 - 操作洗衣机按钮以完成洗衣甩干本例为简化叙述而假定洗衣机的电源、进出水管、洗衣液容器日常处于连接状态并且相关操作的复杂度可控省略了烘干步骤。 按照上述流程小明调用居所基础信息表最后更新的版本下同结合传感器获取的当前获取的室内状况确认自己在居所内的位置再调用居所基础信息表中存储的床的位置、室内可行走区域的形状、位置、尺寸规划从自己当前的位置到床边的路径。 小明走到床边调用居所基础信息表中存储的床的图像数据集中拍摄角度与自己当前所处位置的拍摄角度最相近的图像将其与当前拍摄的床面图像对比确认夹克衫在床上所处的位置将其拿起。 小明用双手按照预设的力量由指端触觉传感器测得将夹克衫团成一团目视估算其的体积用上肢关节内置的力传感器测量其重量然后调用居所基础信息表中存储的本居室的洗衣机单次洗涤衣物的重量上限、体积上限确认夹克衫的重量、体积不超限。 小明再次用传感器获取当前的室内状况调用居所基础信息表中存储的洗衣机的位置规划从床边到洗衣机旁边的路径。 小明走到洗衣机旁边调用居所基础信息表中存储的转筒盖的位置、打开方向、转筒盖把手的位置及把持方式用类似于波士顿动力长脖子机器狗开门的方式掀开转筒盖将夹克衫放进去合上转筒盖。 小明拍摄洗衣机操作面板的图像调用居所基础信息表中存储的操作面板上各按钮的位置参数确认各按钮的位置调用预存的各按钮的功能、洗衣服的操作流程按照流程规定的时序关系按动按钮以设置洗衣机的工作模式并启动洗涤由洗衣机自动完成注水、加注洗衣液、洗涤、甩干的过程。 小明在上述走动过程中如果探测到路径前方的门处于关闭状态则调用居所基础信息表中存储的这个门的信息确定其门把手的位置与扭转方向确定门轴的位置、门扇转动的方向朝向自己还是背离自己及其扫过的地面区域然后用波士顿动力长脖子机器狗开门的方式把门打开。 2.2.2 技术要点充分运用居所基础信息表 由上述推演可知其中非常关键的技术要点是充分运用在人形机器人入室初始化过程中建立的居所基础信息表。 居所基础信息表将居室内的工作环境结构化忽略大量的细节信息相当于 “降维”将工作环境抽象为一组预定义格式的数据使人形机器人在执行任务过程中得以及时获取所涉环境的宏观信息、任务对象的结构信息并将人形机器人的非结构化宏观任务切分为更易于实现的局部子任务切分后的子任务或者类似于已经被实现了的人形机器人动作或者可以预见能被人形机器人实现。同时降低了多模态融合环境感知、环境建模与解算、任务建模与解算的实时运算工作量降低了各肢节运动规划的实时运算工作量。 2.2.3 技术痛点实时更新居所基础信息表 在现实生活中居室里的一部分对象例如椅子、凳子、杯子、水壶、书籍、笔记本电脑、扫地机器人其位置、姿态、状态处于随时变化的过程中居室里的人、宠物也经常处于运动过程中。 这些对象在不作为任务对象的时间段内其所占据的空间区域及其临近的安全冗余区域应被从人形机器人的可触及空间区域中实时予以抠除或者当人形机器人预判这两个区域集彼此之间即将或/和已经出现重叠时应及时采取相应的措施。 所以居所基础信息表的信息处于实时变化中需要实时予以更新。相关信息的实时、有效获取将成为技术痛点。 2.3 人形机器人入户服务的最大痛点安全性 入户服务的人形机器人作为日常与人类混居的自动化机械电子设备其安全性必然是用户考虑的首要因素。 当前人形机器人已经实现的功能包括走几步、跑起来、上下台阶/坡道、踩碎石、后空翻、一脚踹不倒、开门、拧瓶盖、倒水、叠衣服、伸臂挪移东西尚未有研发单位专门展示其进一步的安全性设计的效果。 这是反对者否定人形机器人应用前景的主要依据之一也是其入户服务的最大痛点。 以下梳理人形机器人在入户服务的应用场景中可能出现的风险。 2.3.1 自主行动导致安全风险 人形机器人是自主走动、自主执行任务的机械电子设备。其制造商必须在设计上尽最大努力以确保这种自主行动不会危及人类个体以及宠物见第1.1.3节的安全。 协作机器人的设计初衷与此类似相关信息见参考资料5。 与协作机器人不同的是入户服务的人形机器人为了尽可能多地执行在第1.3.1节所述的、面向结构化/准结构化对象的基础家政任务其运动区域、其肢节触及区域的几何形状将是复杂、多变的还可能以远较协作机器人复杂的方式与人类个体/宠物的活动区域重合并且这种重合的方式与出现的时刻将因由执行任务、人类个体/宠物的不可预测的行动而实时变化。 所以人形机器人在为执行各种基础家政任务而自主行动的过程中必须实时感知邻近区域中是否有、是否可能出现人类个体或/和宠物并据此实时修改环境模型、实时评估发生碰撞的风险、实时修改运动规划算法生成的各关节轨迹点序列以实现避让。如果避让不及也应如协作机器人那样在关节内置力传感器感知到非预期的阻力之后中止肢节的运动。 2.3.2 被动干扰导致安全风险 人形机器人执行基础家政任务依赖于本体内置的各种传感器。如果传感器在各种因素的干扰下性能下降甚至失效将导致人形机器人控制系统对任务环境做出错误的判断导致安全风险。 例如高拟人度人形机器人的身高、体积与人类个体相似如果有一个人从离人形机器人较近的区域走过将导致其内置的多个传感器的探测视野在相应的方向上被大面积遮挡从而影响其对周边环境的感知、判断进而可能引发安全风险。 2.3.3 意外跌倒导致安全风险 高拟人度人形机器人的重心高直立行走且支撑范围窄双足支撑导致其平衡困难。在因突发事件导致其失去平衡、跌倒的情况下身体落地过程中各肢节在重力持续作用下积累的动能有可能危及临近区域内人类个体、宠物的安全或/和危及自身、临近区域内器物的安全。 2.3.4 部件失能导致安全风险 人形机器人作为一个复杂的机械电子设备在长期执行家政服务任务的过程中其中某些部件难免因故障/老化而失去功能例如1个伺服电机烧毁导致其本体的运动学模型、动力学模型发生根本性的改变失去1个自由度从而危及临近区域内人类个体、宠物的安全或/和危及自身、临近区域内器物的安全。 3 深入应用FPGA的室联人形机器人控制系统框架设计 [本节内容可能是原创若有读者了解此前公布过的相关工作请告知其出处谢谢 -- 笔者将在评论区就此予以说明并将其置顶。请关注本文内容原创性的读者关注评论区] 3.1 特斯拉Optimus-Gen2人形机器人的硬件系统配置 设计人形机器人控制系统最好能有一个现成的机器人本体硬件系统作为基础如《流程图》中间通道第3个步骤所述。笔者未曾物理接触过人形机器人目前在网上能找到的、技术信息最丰富的人形机器人是特斯拉的Optimus-Gen2本文将基于它的硬件系统展开相关论述。 3.1.1 电机 Optimus-Gen2的硬件系统共有52个主动驱动的自由度每个自由度需要一个电机加以驱动各部位的电机数量如下表所列合并参考资料1、2的内容。 图1 特斯拉Optimus-Gen2人形机器人的电机数量、分布 基于参考资料1、2中的分析、统计这些电机分为两类位于两侧手部的22个空心杯电机位于其他部位的30个无框力矩电机分别用于16个旋转关节、14个直线关节。这两类电机的基本驱动-反馈控制原理都与永磁同步电机类似参考资料3、4即基于SVPWM-逆变器的电机矢量驱动、电流-速度-位置三环嵌套PI控制。所以在后续的设计、分析中为简化表述将这两类电机统称为电机都采用相同的、基础版本的驱动-控制机构。 3.1.2 传感器 网上目前找不到Optimus-Gen2的传感器数量统计结果已经明确具备的有 30个磁致伸缩力传感器每个无框力矩电机配备1个参考资料1结合参考资料2所述其数量可能略有减少具体分布见上表 分别位于两侧腕部、踝部的4个一体式六维力/扭矩传感器参考资料2 至少52个编码器每个电机至少配备1个具体分布见图1 位于手指指腹的10个触觉传感器。 进而笔者估计为了实现自身平衡Optimus-Gen2必须感知本体在运动过程中的3D加速度、角速度。所以安装于躯干内的至少一个IMU惯性测量单元是必须的。 并且为了在站立状态下确定脚的位姿实用化应用场景中的地面未必水平、稳固从而为各肢节的位姿解算提供更准确的起点也为了在迈步过程中更好地控制迈出脚的姿态以减轻脚在落地时刻所受的冲击力每只脚的内部应该配备了一个IMU芯片。 为了使双手能执行精确度较高的、依赖于局部位姿感知的任务或许每个手掌里也配备了一个IMU芯片。 同时考虑到特斯拉在视觉感知技术领域的独特优势Optimus-Gen2必定装备了至少1个视觉传感器探测可见光或红外光并且很可能装备了RGB-D这类能测距尤其是基于结构光的近场测距类似于大黄蜂扫车换壳的那种的视觉传感器或许还有相应的距离-速度传感器例如FMCW激光/毫米波雷达与视觉传感器协同工作。 在各电机及其控制系统中霍尔元件、电流测量、IPM内置的故障报警电路也属于传感器的范畴。 另外监控CPU、FPGA的温度要用到温度传感器考虑到适应具体的应用场景Optimus-Gen2可能配备了更多温度传感器。 在后续设计中将有侧重地考虑上述各种传感器的应用。 3.2 设计思路 3.2.1 深入应用FPGA的人形机器人控制系统设计思路 3.2.1.1 基本设计思路 基本设计思路如《流程图》的注1所述 将人形机器人视为一个多入多出的反馈控制系统针对实现工信部《人形机器人创新发展指导意见》所要求的以应对真实场景下的复杂环境与任务、应对突发情况为特征的实用化人形机器人功能需求在基于CPU软件体系结构的人形机器人控制系统之中涉及多通道并行处理且需精准协同、强实时性低延迟量低延迟抖动量下同、大运算量、大数据传输量且构成实时性性能瓶颈的环节中导入FPGA。 即FPGA承担所有强实时性的外围任务使CPU可以专心致志执行强实时性的高层次算法。 3.2.1.2 系统层面 在系统层面本文以《人形机器人创新发展指导意见》强调的感知-运算-控制电机驱动反馈控制回路为主线运用FPGA作为“胶合逻辑专业户”参考资料5的传统艺能发挥FPGA在数据灵活调度与片内/片间数据高性能传输方面的优势针对数据传输带宽瓶颈以及传输延迟管理进行全局统筹规划、细节优化如参考资料9注2第4自然段所述将FPGA作为连接感知子系统与运算子系统、连接运算子系统与控制子系统的中介简化芯片间互联以提高数据传输效率、降低数据传输延迟、减少远距离走线数量、降低数据传输的综合成本同时尽可能将运算CPU从繁杂的数据传输任务中解脱出来使其能将更多资源用于完成高层次运算任务。 3.2.1.3 感知环节 在感知环节发挥FPGA功能灵活、多个功能低延迟精准协同并行运行、引脚丰富的优势将其作为管理各种传感器的核心进而对来自传感器的多路信息进行汇总、预处理尽可能将运算CPU从繁杂的数据采集任务、初级感知算法任务中解脱出来使其能将更多资源用于完成高层次运算任务。 3.2.1.4 运算环节 在运算环节发挥FPGA内置大量并行运行的运算资源乘法加法累加运算的硬件模块、RAM块、寄存器且功能极其灵活、用硬件直接实现算法、存储器访问模式高效、运算模块与数据传输模块在芯片内实现紧耦合的优势将其作为运算CPU的协处理器分担后者的一部分运算任务使其能以更好的实时性完成高层次运算任务。 3.2.1.5 控制环节 在控制环节发挥FPGA功能灵活、多个功能模块低延迟精准协同并行运行、引脚丰富的优势将其作为管理各个执行器当前仅考虑电机的核心借用已经很成熟的基于FPGA的伺服电机控制方法实现高性能的控制子系统。 3.2.2 室联人形机器人控制系统设计思路 3.2.2.1 将部分感知设备移到各居室的天花板 考虑第2.3.2节所述的安全性风险针对人形机器人本体传感器视野受限且易被遮挡的功能痛点借鉴车路协同汽车自动驾驶系统将大量传感器布置在路侧以提供全局视野的思路将人形机器人感知设备的一部分设置在各居室的天花板上、与机器人本体进行实时射频通信利用这些传感器视野开阔、布置位置灵活的优势实现对任务环境的全方位实时感知。这种人形机器人可以被称为 室联人形机器人。 3.2.2.2 将部分算法、管理子系统卸载到外置机箱 人形机器人整体体积受限除了支撑结构、电源、动力系统必须占用其内部空间之外还需要将很多空间用于使其可见器官像人第1.1.1节所述拟人性的7个维度之一例如用体积足够、形状逼真的弹性材料模拟人类的肌肉组织这将导致其内部容积进一步减少。再加上厚实、连续的弹性材料对散热能力的严重制约导致人形机器人的结构对其控制系统的设计产生严重的限制。 为此本文借鉴车路协同汽车自动驾驶系统用路侧运算模块分担车侧的算力与功耗压力的思路在居所中增设了人形机器人外置机箱将尽可能多的、可以容忍射频信道传输延迟从发送端应用层数据帧尾部进入通信协议栈到接收端应用层数据帧头部离开通信协议栈的时间差即所谓 “尾进头出”的算法放置其中以下将这些算法称为可卸载算法意为可以从人形机器人本体卸载到外置机箱中的算法以较低的成本较高的冗余度分担人形机器人本体内置控制系统硬件设计在安装空间、电池续航性能、散热功率方面的压力。 基于同样的考虑将管理子系统非实时性从人形机器人本体移到了外置机箱。 3.2.2.3 添加语音收发模块、用于连接居家口语大模型服务器的通信接口 第1.1.1节所述拟人性的7个维度之一是交流内容像人这就要求人形机器人具备高度拟人化的语音交流能力。为此本节在控制系统框架设计中添加了语音信号收发模块并且提供了语音信号收发模块对外连接楼宇/小区内的居家口语大模型服务器的通信接口。 3.2.3 分色表述的绘图风格 在表述方式上本文以 “感知-运算-控制”反馈控制回路为主线将人形机器人控制系统的软-硬件功能划分为多个子系统-模块以系统框图的形式分色予以表述进而以框图为索引定性描述各子系统-模块的基本功能及彼此之间的协作关系使读者在深入应用FPGA技术的人形机器人控制系统的功能、结构、运行方式、重要特性等方面获得一个清晰的总体概念。 [注本文将多次提到“体系结构”这个关键词汇其定义是为实现所要求的目标、功能而针对组织及硬件进行的设计参考资料8。按照笔者的理解CPU软件体系结构的核心特征是单个/少量运算核心以通用的流程依次读取级联映射的多级存储器中的指令与操作数、解码指令并串行执行以实现算法功能FPGA体系结构的核心特征是大量分布式硬件资源直接读取单级存储器中的操作数、并行运行、用个性化硬件结构直接实现算法功能。] 3.3 深入应用FPGA的室联人形机器人控制系统框架设计 3.3.1 系统整体设计 3.3.1.1 系统框图 图2 深入应用FPGA的室联人形机器人控制系统框图 如图2建议将其下载到PC、对照各章节观看所示以各主要芯片2片运算CPU、1片工控CPU、4片FPGA为核心控制系统在硬件上划分为7个部分 躯干内置的运算CPU及其最小系统、周边的辅助功能器件下同 躯干内置FPGA及相关的测量-控制、通信器件 左手手掌内置的FPGA及相关的测量-控制器件 右手手掌内置的FPGA及相关的测量-控制器件 位于外置机箱中的运算CPU 位于外置机箱中的工控CPU及其最小系统、周边的辅助功能器件下同 位于外置机箱中的FPGA及相关的测量-控制、通信器件包括位于天花板上的测量器件。 除了射频通信组件以上主要芯片之间的互联不需要借助于任何通信协议芯片。 空间布置方面在躯干内建议将运算CPU与躯干内置FPGA一并布设在背板上两者之间以PCIe总线、GPIO连线在PCB上布线直连30组IPM以及适合集中布置的电机相关器件置于插在背板插槽中的各个插卡上。当然如果用一块尺寸不超限的、便于向外引线的PCB就能以可接受的器件/飞线互扰而安放所有这些器件肯定是最理想的方案。 进而基于具体的职能图中将6个子系统系统管理、感知、运算、控制、芯片间数据实时传输、语音收发按照橙、浅蓝、红、绿、深蓝、棕予以着色以方便读者理清模块之间的协作关系降低决策者做出实质性决策在纯粹技术维度上的门槛。 图2以参考资料2图2为基础增加了一个结构上独立于人形机器人本体、放置在居所内的外置机箱用于控制布设在居所环境中的传感器、处理多模态传感器信息、执行可卸载算法并且对外实现与居家口语大模型服务器的通信增加了与这个大模型服务器通信接口紧耦合的语音收发子系统。 [注本节的以下段落是本文的新增内容] 特别强调 在图2的各FPGA芯片中除了绿色的伺服电机控制子系统可以视具体情况而作为一个整体进行时分复用如第3.3.5.1所述图2中未示用于实现时分复用功能的硬件模块以节省资源之外所有模块包括作为一个模块的伺服电机控制子系统都由独立的硬件资源以“硬件直接实现算法”的方式构成彼此之间并行运行、以FPGA内部的可编程硬件布线实现各模块之间的大带宽且强实时性的通信。 伺服电机控制子系统内部的各个硬件模块也具备上述属性。 这是FPGA体系结构区别于CPU软件体系结构各功能模块基于指令调度与解码而时分复用少量CPU核以实现算法的本质属性更详细的信息请参阅参考资料5、参考资料6。 另图2中用于实现射频通信的4个模块在文档 林伟室联人形机器人家政服务任务结构化、技术要点、深入应用FPGA的控制系统框架设计 中被划归室联运算子系统、标记为红色本文将其划归芯片间数据实时传输子系统、标记为深蓝色。 3.3.1.2 基于FPGA解决Optimus-Gen2灵巧手腕部走线困境 3.3.1.2.1 Optimus-Gen2灵巧手腕部的走线困境 Optimus-Gen2每只灵巧手包含很多感知、驱动设备包括5指指腹的触觉感知器11个主动自由度参考资料2各自对应的IPM电机编码器霍尔传感器力/力矩传感器22个电流传感器2相法测3相很可能与ADC集成、可以多路共用输出数据线可能存在的IMU。 如果只在躯干设置单一的运算-控制核心在运算-控制核心与上述器件之间将存在大量导线即使把IPM置于主控芯片附近、不考虑动力线对信号线的干扰从IPM到11个手指驱动电机的动力线就有33根如果将IPM置于手掌内部则从运算-控制核心到IPM的PWM脉冲信号线就有66根。另外还应考虑IPM控制/告警、电机抱闸、编码器输出、霍尔传感器输出、力/力矩传感器输出、IMU输出等信号即使其中一部分可以共用I2C总线易受干扰也要再多出来几十根信号线。 因此在实用场景下如果仅在躯干设置单一的运算-控制核心则在肩/肘/腕部位的物理空间内由仿人皮肤及组织包裹、塑形例如《机械姬》里的丹妮丽丝将既汇集多个机械、测量部件又需要穿行大量导线而且需要分别在这3个部位的3/1/3个自由度上做大幅度的运动致使线束的外径、刚度、磨损防控需求与走线空间、关节的运动幅度需求产生尖锐的矛盾各条走线所受周边环境包括机体内环境的干扰、彼此之间的串扰也将难以处理这就是所谓的走线困境。其中尤以腕部为甚。 3.3.1.2.2 解决方案 如图2下半部分的虚线框所示以位于手掌中的一片FPGA为核心实现上述运算-控制核心在手掌部位的大部分功能仅以少量串行差分信号线对实现手掌内置FPGA、躯干内置FPGA之间的强实时性信息交换再以后者为中介实现手掌内置FPGA所控制的感知-驱动设备与运算CPU之间的强实时性主线信息传输在感知-运算-控制这一反馈控制环路主中的信息交换、与工控CPU之间的非实时性管理信息交换。 具体而言FPGA能并行且灵活地执行大量强实时性、强时序耦合的大运算量任务并且能提供大量用户I/O引脚因而可以以15x15mmCSG324的本体芯片平面区域占用而独力不需要外置内存、芯片组实时执行11个电机的轨迹点插值及其基于SVPWM-逆变器的三环反馈矢量控制算法并且以点对点的、基于差分信号抗共模干扰的高速串行通信实现与躯干内置FPGA的全双工强实时性数据交换并且为相关感知、驱动信号出入FPGA提供引脚。 同时将配置FPGA所需的串行FLASH基本上不参与实时运行挪到下臂空间内再将11片IPM典型尺寸12x12mm、1片IMU典型尺寸5x4mm图3中按照7.5x6mm一并挤进手掌空间内PCB只能在手掌厚度方向上与11个包含电机-编码器-力/力矩传感器的关节驱动机构重叠放置单面平面布置如图3真实比例所示其中手掌内部空间的平面尺寸为78x90 mm。 图3 手掌内FPGA、IPM、IMU的单面平面布置不了解其他器件的情况 如此在手腕部位就只需穿行少量串行差分信号线、SPIFLASH用线路、电源线、地线问题得以解决。 3.3.1.2.3 待确认的问题布线、电磁兼容、散热 从手掌内置FPGA引出的数字量信号线有一百多条可能还需要与IPM的动力线输出线保持距离IPM动力输出线在PCB上的布线可能会比较宽不了解具体情况再加上其他传感器的布线的确是“螺蛳壳里做道场”的感觉并且有把腕部的问题转移到手掌的嫌疑。 显而易见电磁兼容问题肯定也会很复杂。甚至将FPGA、ADC即使一部分ADC可以集成在FPGA内部、IPM三者放在一块PCB上管控电磁兼容的成本是否将非常高甚至根本就不可行 另外长期工作过程中如何在局促、密闭的空间内为手掌中的关节驱动机构、IPM、FPGA散热这也需要在后续工作中深入研究。 3.3.1.2.4 将这一布局方式拓展到肩部、髋部 现实情况有可能是即使按照3.3.1.2.2节的方案考虑到腕部、肘部的IPM-电机-传感器的走线需求在肩部的走线难度仍然非常大。 倘若如此可以考虑将这一布局方式向上拓展在下臂空间内增设一片FPGA负责为腕部、肘部的4组IPM-电机-传感器提供强实时性的运算、控制、通信服务。 下臂内置FPGA内部模块的设计与手掌内置FPGA类似电机、IPM数量减为4取消指端触觉传感器、IMU对外以全双工高速串行通信方式直连躯干内置FPGA与手掌内置FPGA共同作为星形拓扑的外围节点后者的FPGA片间全双工串行直连接口模块的数量由x2改为x4并且将其中的轨迹点插值-电机控制子系统的数量减为2230-4x2。 同理如果髋部、膝部的走线也存在类似问题亦可用类似的方式解决增设的FPGA置于小腿内部空间负责为踝部、膝部的3组IPM-电机-传感器提供强实时性的运算、控制、通信服务星形拓扑相应在躯干内置FPGA中增加FPGA片间全双工串行直连接口模块的数量至x6、减少轨迹点插值-电机控制子系统的数量至1622-3x2。 为简化叙述后续内容将不考虑本节述及的、对系统框架的备选更改项。 3.3.1.3 关于内置CPU硬核的FPGASOC 目前以Xilinx的Zynq系列芯片为代表的、内置CPU硬核通常是双ARM核的FPGA已经获得比较广泛的应用。将其应用于图2所述系统可以使运算CPU、躯干内置FPGA集成在一片芯片内形成一个初级的片上系统SOCSystem On Chip图2中比较累赘的PCIe总线通常用于板间经插槽互联将被AXI之类的片内总线取代通信体系结构显著化简通信效率显著提高。 更重要的是内置CPU硬核的FPGA在架构上更接近于工信部《人形机器人创新发展指导意见》强调的“‘感-算-控’一体化的高性能运动控制器”“具有多模态空间感知、行为规划建模与自主学习等能力的智能芯片”这一终极形态高端芯片中甚至额外集成了GPU很适合用作抵达终极形态过程中的中间版本。 事实上以这类芯片为核心的机器人/AGV项目网上已经能找到不少。 本文之所以没有采用这种芯片不仅因为其在本质上与图2所述架构并无不同更重要的是笔者不希望在将FPGA深入应用于人形机器人这一核心主题之下节外生枝。即 对于不熟悉FPGA的人形机器人业内人士来说把握本文的核心思想、理解其工作机制这件事本身已经需要在很大程度上转换既有的思路。如果再加上Zynq这类芯片的各种专用表述、附加特征将显著增大读者的阅读负担不利于读者理解、把握本文的主旨。 所以本文采用了FPGA与CPU分立的架构将已经广泛应用的PCIe作为两者之间的主信道。 3.3.2 管理子系统橙色 管理子系统的主体部分位于外置机箱中其核心是工控CPU硬件包括CPU、基础外围芯片例如南桥、内存运行常规版本的工控软件系统用于实现非实时的系统管理功能。 位于图中左上角的基于世界时时标的同步信号序列的生成与分发模块实现的是强实时性功能。由于其具备很强的管理属性也被划归本子系统。 3.3.2.1 FPGA所涉系统管理信息的收发 工控CPU经I2C总线采用I2C是为了节省FPGA的I/O引脚与位于外置机箱中的FPGA内部的I2C接口模块通信经后者向系统管理信息汇集调度与分发模块发送系统管理指令信息、从系统管理信息汇集调度与分发模块获取由FPGA内各模块反馈的系统管理所需信息。 为避免图面线路繁杂图2中未示出系统管理信息汇集调度与分发模块与FPGA内其他各模块之间的信息传输通道。 与位于外置机箱中的FPGA内部的系统管理信息汇集调度与分发模块类似躯干内置FPGA中也设置了这一模块其功能与前者基本相同区别在于需要经射频通信链路由外置机箱中FPGA内部的射频通信组件驱动模块、外置机箱中的射频通信组件、射频信道、躯干内置的射频通信组件、躯干内置FPGA内部的射频通信组件驱动模块组成与前者通信实现系统管理用信息在躯干内置FPGA内部各模块与工控CPU之间的往来传输。同理图2中未示出系统管理信息汇集调度与分发模块与FPGA内各其他模块之间的信息传输通道。 与位于躯干内置FPGA内部的系统管理信息汇集调度与分发模块类似左、右手掌内置FPGA中也设置了这一模块其功能与前者基本相同区别在于需要经一对FPGA片间全双工串行直连接口模块与前者通信实现系统管理用信息在左、右手掌内置FPGA内部各模块与工控CPU之间的往来传输。同理图2中未示出系统管理信息汇集调度与分发模块与FPGA内各其他模块之间的信息传输通道。 3.3.2.2 运算CPU、用户设备的管理 位于外置机箱中的运算CPU模块经PCIe总线、位于外置机箱中的FPGA内部的系统管理信息汇集调度与分发模块、I2C总线实现与工控CPU的连接以往来传输特定格式的应用层数据帧的形式接受工控CPU的管理。 躯干内置的运算CPU模块经PCIe总线、位于躯干内置FPGA内部的系统管理信息汇集调度与分发模块、射频通信链路实现与工控CPU的连接以往来传输特定格式的应用层数据帧的形式接受工控CPU的管理。 用户IO端口模块挂接在工控CPU的外部总线上包含网口、管理用射频通信接口、USB端口、TF卡槽、显示器接口、键盘鼠标接口等用于在用户与人形机器人之间经射频通信链路实现非实时的信息交互。 3.3.2.3 世界时时标的建立与分发 人形机器人的实用化应实现本体与世界时时标的协同运行。例如它可能需要按时给老人服药、按时带小朋友乘坐民航班机。 位于外置机箱中的FPGA内部的时标建立与保持及系统同步时序管理模块从位于芯片外部的世界时时钟源模块例如北斗、GPS接收模块或其位于本地的次级子系统获取世界时时标信息并将其周期性发往系统管理信息汇集调度与分发模块由后者将其转发给工控CPU、实现整机时标与世界时的同步以及经GPIO将世界时时标信息周期性发送给运算CPU经射频通信链路将世界时时标信息周期性发送给躯干内置FPGA中的系统管理信息汇集调度与分发模块。 3.3.2.4 同步信号序列的生成与分发 时标建立与保持及系统同步时序管理模块以世界时时标为基准产生人形机器人控制系统所需的各种同步信号序列发往系统内的各子系统、模块实现人形机器人动作序列与世界时时标的统一实现控制系统内部各子模块动作之间的精确同步 – 由于各片FPGA之间形成以躯干内置的FPGA为中心的星形拓扑没有中间环节各FPGA内部各模块的各个动作时序的各个时间节点之间的同步精度是深亚微秒级。 同时这一机制也为将人形机器人的动作细节精确同步于世界时钟、适配于高精度实用场景提供了底层技术支持。 3.3.2.5 世界时时钟源失效后的时间保持 作为以实用化为设计目标的人形机器人控制系统必须应对世界时时钟源失效的状况避免因此影响服务质量甚至造成不良后果例如在错误的时间服药、错过登机时间。 在卫星信号缺失并且卫星定时次级子系统也工作不正常的情况下世界时时钟源将失效。此时除了应由工控CPU经人机接口发出告警信息时标建立与保持及系统同步时序管理模块必须在故障前世界时时标的基础上基于板载晶振以及特定的晶振频偏补偿算法自行保持世界时时标的更新、同步信号序列的发送即所谓时间保持。 为确保人形机器人所提供服务的时效性时间保持必须满足一定的精度。例如自行生成的时标在1天内相对于真实卫星时标的误差绝对值曲线的峰值小于0.1秒。 并且当世界时时钟源回复之后本地保持的世界时时标应以渐变方式而非跳变方式恢复与世界时时钟源的同步以免造成精确定时系统的紊乱。 本节所述思想借鉴自智能变电站领域已有成熟的规范建议参阅IEC-61850或相关技术文献。 3.3.3 感知子系统浅蓝色 感知子系统用于获取本体、环境的信息为控制系统做决策提供原始数据。 3.3.3.1 室联感知 基于3.2.2所述思路在各居室天花板的4角装设RGB-D摄像头实现对各居室空间的无死角3D建模实现对居所及其中对象的实时监控。 或者在成本不敏感的应用场景下又或者在FMCW激光雷达的成本大幅度降低例如核心功能实现芯片化的情况下在各居室天花板的4角装设FMCW激光雷达能测量目标的3D点云、径向运动速度实现对室内空间的无死角3D建模与运动速度联测综合4个FMCW激光雷达测得的目标点相对于激光雷达的径向运动速度同时将上述RGB-D摄像头降级为普通摄像头以降低总成本。 所有这些外置传感器的测量数据都实时汇总到外置机箱内的FPGA中由其中的模块统一进行预处理预处理后的数据流经模块、模块传输给外置机箱中的运算CPU。 本子系统获得的信息被用于建立、实时更新第2.1.1节所述的居所基础信息表其存储位置是位于FPGA内部的RAM块以确保其更新、调用的实时性。 3.3.3.2 感知设备及其驱动、信息接收与解算 图2所示感知设备的厂家已经提供了规范的接口用于对其进行访问设备的驱动、信息接收与解算按照数据手册做即可不予赘述。 另外电机周边的电流检测、编码器、霍尔元件原则上也属于传感器但由于其功能紧密耦合电机驱动功能且与电机一一对应、配套提供为使控制子系统看上去功能完整而将这些传感器归入其中。 3.3.3.3 传感器信息预处理、初级的传感器融合 传感器融合是人形机器人控制系统的必备功能本框架设计将其分为两级位于FPGA中的多维度传感器信息预处理、传感器融合基层算法模块用于对传感器信息的数据模式进行变换例如图像的色度空间变换、从中提取特征信息例如频谱谱峰的位置、强度进而实现相对简单、初级的传感器融合算法高级的传感器融合算法交由运算子系统图2中标记为红色执行。 其中 躯干内置FPGA处理来自人形机器人头部、躯干、四肢的传感器信息 左/右手内置FPGA处理来自人形机器人本侧手掌、指关节、指端的传感器信息 外置机箱中的FPGA处理来自居所内各居室天花板上的传感器信息。 同类传感器的初级融合的实例将多个摄像头所摄视频图像按帧拼接通常需要基于ORB、SURF之类的图像特征子提取与配对、形成周边环境的全景视频数据流。 异类传感器的初级融合的实例将布置在人形机器人本体、天花板的摄像头所摄视频图像与相应位置的激光雷达获取的距离场速度场点云数据做配准形成世界时时标下的对室内环境的多维数据描述序列。 不论实现传感器信息预处理算法还是实现传感器融合的初级算法都应考虑充分运用神经网络例如CNN、GNN技术、从传感器输出的原始数据流及其预处理后的形态中直接提取高维信息。 上述多维数据描述序列以及其他传感器采集的信息经由FPGA片内数据调度中心模块、PCIe端点模块、PCIe总线传递给运算CPU由软件实现高级传感器融合算法相关任务在第3.3.4节介绍。 其中由人形机器人本体内置传感器采集的多维数据描述序列经由FPGA片内数据调度中心模块传递给外置机箱内置的FPGA、外置机箱内置的运算CPU由软件实现高级室联传感器融合算法相关任务在第3.3.4节介绍。 上述运算过程涉及大量图像、点云等数据的缓冲很可能用到容量较大的FPGA片外专用存储器其中最常用的是DDRx-SDRAM内存芯片如图2中躯干内置FPGA的左上角、外置机箱中的FPGA的左上角所示。 3.3.3.4 数据处理过程与世界时时标的同步 需要特别关注的是对各感知设备输出信息的采集、预处理、融合包括由运算CPU执行的高层次融合操作都应在世界时时标见第3.3.2.3节之下进行。即这些数据处理操作都应同步于时标建立与保持及系统同步时序管理模块输出的、同步于世界时时标的、属于本操作的同步信号序列包括经由FPGA芯片间串行直连接口传输的或者经由运算CPU-GPIO以及射频通信链路传输的同步信号序列及其衍生信号序列-- FPGA内部数量极其丰富的、延迟可预知的布线资源为这些信号序列的传输提供了可靠的支持。 后续的各子系统中的运算CPU算法的执行、FPGA内部各模块的数据处理操作也都应以这种方式同步于世界时时标不再赘述。 3.3.3.5 关于自研传感器 如果希望像特斯拉那样为Optimus-Gen2自研某些传感器则需要研发团队深入研究相关传感器中将理/化信息转化为电信号特征的原理、传递函数、数据后处理机制例如《流程图》注7第2自然段所述技术项传感器的动态自适应驱动与反馈控制输出数据的动态自适应预处理例如针对六维力/加速度传感器输出数据波形的频谱生成与分析自适应滤波降噪特征子识别与量化分析进而据此实时反馈调节传感器的工作模式、参数。 一般来说自研传感器涉及的运算、控制过程会用到以低延迟实现大运算量算法若算法构思无误则其运算量大概率与效果正相关、低延迟的数据传输、精准的时序控制、更多的控制芯片I/O引脚非常适合用FPGA予以实现。 3.3.4 运算子系统红色 如图2所示运算子系统由位于外置机箱中的运算CPU模块、位于外置机箱中的FPGA中的运算CPU算法任务协处理模块、位于躯干中的运算CPU模块、位于躯干内置FPGA中的关节运动轨迹点插值模块和运算CPU算法任务协处理模块、分别位于左右手掌内置FPGA中的关节运动轨迹点插值模块这7个模块组成。 运算子系统基于感知子系统提供的信息周期性地完成对环境、本体、工作目标的实时建模基于所建模型算出下一个轨迹点输出时刻各关节的轨迹点参数完成各关节的轨迹插值再将插值结果发往控制子系统中对应于各关节的电机控制通道。 3.3.4.1 运算CPU 3.3.4.1.1 运算CPU工作周期 运算CPU模块经GPIO以及射频通信链路定期由时标建立与保持及系统同步时序管理模块获得世界时时标在这一时标的统一定时之下与感知子系统、控制子系统的工作时序相配合划定自己的工作周期称为运算CPU工作周期。 图4 人形机器人控制流程中各个步骤的时间关系示意图 图4是以运算CPU工作周期为核心划分的、人形机器人控制流程中各个步骤的时间关系示意图以下对照此图介绍运算CPU模块所执行的算法任务及其与前、后数据处理步骤之间的逻辑、时序关系。 图4中时间箭头从上向下涵盖了3个运算CPU工作周期编号N~N2彩色字体标记的是完成一次反馈控制感知-运算-控制的数据处理过程各彩色字体子系统的字体颜色与图2一致。 必须说明的是图4仅仅是示意图其中不同列内各单元格在时间维度上的关系仅表明其逻辑、时序关系谁先谁后不排除在时间轴上存在部分重叠。例如不需要等到浅蓝色单元格的传感器信息的接收、解算工作完全结束针对这些数据的传感器信息预处理乃至传感器融合初级算法就可以部分启动了。 3.3.4.1.2 执行传感器融合上层算法以及对环境、本体、工作目标的实时建模 在时标建立与保持及系统同步时序管理模块的统一调度下躯干内置的运算CPU在图4中运算CPU工作周期N1的起始时刻已经借助用于控制PCIe根复合体的DMA控制器从3片FPGA中的多维度传感器信息预处理、传感器融合基层算法模块获得了地球空间坐标下的对环境、本体、工作目标的多维数据描述序列在运算CPU工作周期N内生成、传输如图4中浅蓝色字体的单元格内容所示见3.3.3.2节然后执行传感器融合上层算法进而从上述描述序列中提取高维信息完成对环境、本体、工作目标的实时建模获得三者的实时模型在本工作周期内的版本。 [注以下2个自然段是本文的新增内容] 外置机箱中的运算CPU的工作模式与躯干内置的运算CPU相似区别在于处理的是位于天花板上的多维度传感器信息即从外置机箱中的FPGA中的多维度传感器信息预处理、传感器融合基层算法模块获得了地球空间坐标下但各个视角的方向来自天花板上安装对应的传感器的位置的对环境、本体、工作目标的多维数据描述序列据此执行传感器融合上层算法从上述描述序列中提取高维信息完成对环境、本体、工作目标的实时建模获得三者的实时模型在本工作周期内的版本。 两个运算CPU中的一个需要将各自对环境、本体、工作目标的实时建模结果进行整合据此形成室联人形机器人对环境、本体、工作目标的综合实时建模。这项工作连同3.3.4.1.3节所述的运动规划工作如果由外置机箱中的运算CPU执行则可以更充分地利用其供电、散热优势如果由躯干内置的运算CPU执行则由于在两个运算CPU之间经射频信道传输的数据较少仅需要从外置机箱向人形机器人本体传输在其中完成的建模结果反之则既需要从人形机器人本体向外置机箱传输建模结果又需要从外置机箱向人形机器人本体传输运动规划结果更有利于降低由数据传输导致的反馈控制回路延迟。具体如何权衡需要在系统设计的特定阶段《流程图》中间通道的第5个环节进行深入研究。 本节所涉算法很复杂笔者对其细节的理解很少只知道其运算量极为庞大。在近年来的公开资料中基于CPU软件针对其中某个环节甚至是某个环节中的某项运算在抽象程度较高的应用场景下的单次运算耗时通常为10ms数量级请专业人士指正不能满足实用化需求尤其是不能满足《人形机器人创新发展指导意见》所提出的应对突发情况的需求。所以用FPGA提供低延迟的、灵活的运算-数据传输协处理服务见3.3.4.1.4、3.3.4.3节分担运算CPU的计算压力必将为本节所涉算法的实用化提供有效的助力。 3.3.4.1.3 运动规划 在当前周期的建模完成后以环境、本体、工作目标的实时模型为基础执行实时运动规划算法将当前解算出的任务目标映射为此后一段时间在最简模式下是一个运算CPU工作周期的时长内人形机器人的动作过程再将对这一段动作过程的描述映射为人形机器人的52个关节在此期间的运动轨迹中的一系列分立的通常是等时间间隔的轨迹点在预设的各个轨迹点输出时刻输出52个关节的轨迹点参数图4中红色字体的运动规划环节进而将这些参数经PCIe总线发往躯干内置FPGA、经由后者发往左右手掌内置FPGA由这3片FPGA中的关节运动轨迹点插值模块完成轨迹点插值运算图4中红色字体的关节运动轨迹点插值环节见3.3.4.2节。 本节所涉算法造成的算力压力与3.3.4.1.2节类似不再赘述。 3.3.4.1.4 将运算任务卸载给FPGA中的协处理模块 如果3.3.4.1.2、3.3.4.1.3节所涉任务的运算量太大不能在当前的运算CPU工作周期内完成则需要修改软、硬件任务的划分将一部分可以规范化、格式化的运算任务从整个运算流程中剥离出来经PCIe总线交由躯干内置FPGA中的运算CPU算法任务协处理模块予以执行、回传结果见3.3.4.3节图4中未示出再将回传的结果代入软件运算流程中其所属任务被应用的位置继续执行相关的高层次算法。 在上述“剥离-代入”的过程中运算CPU所执行的算法应能够允许运算CPU转而执行其他任务从而实现运算CPU与运算CPU算法任务协处理模块的并行运行只要这种硬件并行在时间上的收益大于开销剥离操作、往来传输运算任务及其结果的操作、代入操作就能降低运算CPU执行整个算法的耗时。 在1个运算CPU工作周期内上述“剥离-代入”的过程可以针对不同的操作数、算法而多次执行。 具体移交哪些算法任务、各算法任务在时序上如何调度需要在《流程图》中间通道的第5个环节予以初步确定并且在后续环节进行调整。 运算CPU算法任务协处理模块执行协处理算法的更多信息请参阅第3.3.4.3节。 3.3.4.1.5 深入应用FPGA技术为高层次算法的前沿探索提供助力 第3.3.4.1.2、3.3.4.1.3节所述高层次算法非常复杂并且基于笔者涉猎范围内的资料其中一些重要环节的原始理论、基础模型、数学形式优化工作都还处在探索之中请专业人士指正本文只能就其在深入应用FPGA的控制系统中的位置、与其他模块的关系尤其是FPGA能为其提供的帮助做出定性描述。 在具体的人形机器人研发过程中所涉环节的算法可以先移植已有的、相对成熟算法将其应用于本文所述的控制系统验证在这一系统下所实现的人形机器人性能相对于既有控制系统的优势再在后续工作中及时跟随、应用相关理论与算法的最新研究成果。 并且基于本文所述系统所做的验证工作也很有希望拓展后续理论、算法前沿研究工作的思路理由是 理论、算法研究必须考虑其硬件可实现性。一旦在实际的人形机器人上验证了深入应用FPGA之后的硬件系统可以在相同的时间段内支持更复杂的算法今后的理论、算法研究工作就可以考虑一些此前被放弃了的高性能算法 -- 这些算法在CPU软件体系结构或现有的、仅在3.3.5节所述控制子系统中应用FPGA的CPU软件FPGA体系结构下因为太复杂、不能实时执行而被理论、算法的前沿研究者放弃。 3.3.4.2 关节运动轨迹点插值 在控制逻辑上关节运动轨迹点插值模块共有52个对应于52个电机躯干内置FPGA中30个左、右手内置FPGA中各11个视需求情况可以考虑在FPGA代码中对模块进行时分复用以减少对片内硬件资源的占用。 这52个插值模块经PCIe总线从躯干内置的运算CPU执行运动规划算法模块获得各自需处理的轨迹点参数序列按照预设算法对其进行插值得到52个插值后轨迹点参数序列其中相邻轨迹点的时间间隔远小于插值前的、由运动规划算法软件模块获得的相邻轨迹点的时间间隔发送给控制子系统中各自对应的电机控制通道。 此即图4中红色字体的关节运动轨迹点插值环节。 3.3.4.3 FPGA对运算CPU算法任务的协处理 鉴于运算CPU所需执行算法第3.3.4.1.2、3.3.4.1.3节的运算量巨大且具有强实时性要求其算力可能不足以在运算CPU工作周期内完成规定的算法任务。 因此本框架设计在FPGA中为运算子系统设置了运算CPU算法任务协处理模块作为运算CPU的“协处理器”如《流程图》注2第3自然段所述。 3.3.4.3.1 基础/通用运算任务的协处理 运算CPU在执行高层次算法的过程中在某些特定步骤将后续的一些步骤程序作者知道在一段时间之后才会执行这些步骤以下称之为后继步骤中的一部分已知运算内容且已知运算所需操作数的基础/通用运算任务例如乘法运算、三角函数运算、矩阵运算、解线性方程组提取出来以预定义的任务序号任务代号任务属性列表操作数列表的形式打包经PCIe总线发给运算CPU算法任务协处理模块由后者调度FPGA内置的几百上千个运算核心能够以高性能执行类似于乘法加法累加运算的可配置硬件模块以及与之临近的存储、布线硬件资源以灵活适配于相关运算任务的模式多路并行运行、执行与任务代号对应的运算任务。运算任务完成之后将运算结果与任务序号打包经PCIe总线实时回传给运算CPU运算CPU将这些结果存储到后继步骤执行时就可以直接调用这些计算结果。 这样就实现了将高层次算法中的部分基础/通用运算任务卸载到FPGA中执行实现两者在一定程度上的并行运行助力运算CPU实时完成高层次传感器融合、内外建模、轨迹规划运算。 另外关于上述被卸载算法中的操作数还存在两种情况 第一这些操作数是在后继步骤之前执行的高层次算法步骤中产生的这种情况应该按照上述方式操作。 第二这些操作数是由FPGA经PCIe总线传递过来的、基于传感器信息由多维度传感器信息预处理、传感器融合基层算法模块、电机位置/转速检测模块产生的。在这种情况下就可以省略上述将任务代号任务属性列表操作数列表打包下传的操作而是由FPGA按照已知的任务代号任务属性列表操作数列表执行这些运算操作因为位于数据源头、由物理上独立工作的硬件资源执行这些操作必定能在运算CPU执行上述后继步骤之前执行完毕完成后将运算结果打包、经PCIe总线实时上传给运算CPU由后者在执行后继步骤时直接调用。 3.3.4.3.2 专项业务运算任务的协处理 这里所说的专项业务是指人形机器人控制流程中的、针对某个相对独立的目标的具体业务。 由FPGA以协处理器的方式承担专项业务的运算任务在形式上与执行基础/通用运算任务没有本质区别。之所以将其单独列为一节是希望不熟悉FPGA的业内人士重视这一思路的可行性、重视其应用对提升人形机器人性能的意义。 以下借助人形机器人肢节在足部有可靠支撑状态下的运动学、动力学基础参数实时解算这是本体动力学建模、运动规划算法的前置任务的例子阐述这一思路的应用方法。 如图2所示除了与运算CPU通信的接口之外运算CPU算法任务协处理模块的数据源还包含52个电机的转动位置、角速度的实时测量结果双手22个电机的测量结果经FPGA片间全双工串行直连接口模块实时传输给运算CPU算法任务协处理模块以及来自支撑足IMU的位姿信息。 针对某个运动学、动力学参数解算周期可以是运算CPU工作周期的几分之一或与之相同对应的上述数据源称为当前周期数据源运算CPU算法任务协处理模块以当前周期数据源中的支撑足IMU位姿信息为起点根据预存在FPGA片内RAM块中的各肢节简化模型例如仅包括肢节的长度、径向质心位置、质量的参数自下而上逐级计算各关节等效中心在3D方向上的位置投影的纵联累加和类似于工业机器人在基座固定这一前提下的各肢节空间位置、角度的解算从而算出当前周期数据源对应的人形机器人各肢节的空间位姿参数。 同时如果在上述解算过程中加入当前周期数据源中52个电机的角速度信息就能自下而上逐级计算各关节的等效中心在3D方向上的速度投影的纵联累加和进而基于预存在FPGA片内RAM块中的各肢节的质心位置、质量参数在各关节位置、速度解算过程中随同计算得到各肢节的动力学参数。 另外基于上述各肢节的空间位置参数、质心位置还可以自下而上逐级计算得到各肢节所受重力相对于双足单足支撑区域的力矩姑且称之为重力力矩参数。 最后将当前解算周期解算得到的各肢节的运动学、动力学、重力学参数经PCIe端口上传给运算CPU后者就可以不再做上述基础参数解算工作将更多算力用于对人形机器人本体执行动力学建模的上层算法、从环境及任务约束的角度评估其站立姿态的稳定性及其发展趋势进而执行运动规划算法。 3.3.4.3.3 “真空球形鸡”之辩 人形机器人的任何一种专项业务算法只要面向实用化应用场景算法内容都必须处理各种实际情况以第3.3.4.3.2节的例子为例 其一如果人形机器人的当前状态是双足支撑则对于从两个起点开始的、自下而上的运动学--动力学参数解算在两路解算完成髋部3个自由度的运算、到达骨盆时对骨盆参数解算的两个结果之间必定存在差异。此时最简单的处理方法是对两路运算的结果取均值但这种做法的精度有可能无法满足实用化应用场景的需求的。 具体如何确定两路解算结果在被采纳结果中的权重与很多因素相关。例如当前双腿姿态的差异对解算误差的影响承重比例、扭转方向都将影响关节间隙的大小进而影响解算结果的可信度必定是影响权重的因素之一。 其二从足部支撑点开始向上进行的解算过程当到达躯干部位时其对躯干姿态的解算结果与基于躯干内置IMU输出数据而解算得到的躯干姿态相比两者同样必定存在差异同样存在上述权重问题。 也就是说第3.3.4.3.2节中针对所述例子列出的算法内容本质上仅仅是一个概略的算法框架距离实用化还存在很大的差距。严肃地说这属于“真空球形鸡”方案。 同样的情况也出现在本文对人形机器人所涉其他算法、方案的阐述中例如在第3.1.1节将无框力矩电机、空心杯电机统称为电机都采用基础版本的驱动-控制机构未考虑转速测量的精度与时效性、对电流测量结果的特征提取与滤波等问题述及IMU时未考虑其零点漂移、误差累积问题在第3.3.1.2.2节布置芯片时仅考虑了FPGA、IPM、IMU未考虑其他器件 …… 第3.3.4.3.2节中之所以采用这个方案作为例子是因为本文阐述的是在人形机器人控制系统中深入应用FPGA技术的框架设计所强调的是相关算法的基础部分、主体部分可以在FPGA中予以实现希望不熟悉FPGA的业内人士了解这一情况进而深入思考这一技术思路的价值。 至于本节所述的、实现过程中的各种具体问题的解决首先不在本文阐述的范围之内其次在具体的解决方案中FPGA由于其功能灵活性、低延迟的大运算量并行处理能力很可能也是最适用的底层技术选项。 3.3.5 控制子系统绿色 控制子系统用于控制电机。 图2中的电机控制采用经典的基于坐标变换SVPWM逆变器的电流-速度-位置三环反馈矢量控制方法。本文主要面向机器人行业的专业人士不再针对其中的具体模块做详细介绍相关资料在网上有很多。 在图2所述电机控制通道的基础上实际产品中还必须用到各种附加功能本文做的是框架设计对此不予详述。 3.3.5.1 电机控制算法通道 图2中单片FPGA中的绿色模块共同构成一个电机控制算法通道其中执行运算任务的模块因与本通道其他模块强关联而被包含在本通道内。这样的算法通道共有52个躯干内置FPGA中30个左、右手内置FPGA中各11个在逻辑上每个IPM-电机组合都对应一个控制算法通道与关节运动轨迹点插值模块一一对应。视具体情况可以考虑在FPGA硬件层面对其中的部分模块进行时分复用以减少资源占用。 对于电流-速度-位置三环嵌套PI控制位于外环的速度、位置环的控制周期远大于位于内环的电流环可供执行运算的时间比较充裕因此在已有的基于CPUFPGA的工业机器人控制系统中通常仅在FPGA中实现电流环而将速度、位置环交由CPU实现。 本框架设计中考虑到运算CPU需要承担的运算量巨大且对运算过程有强实时性要求还需要经由PCIe端口与FPGA实时交换大量数据即使借助于DMA控制器CPU-软件系统也要面向内存读写大量数据因而在图2中将速度、位置环也合并进FPGA中予以实现以减少对PCIe端口有效带宽、CPU软-硬件件资源的占用。 3.3.5.2 电机抱闸 从实用化的角度看人形机器人对于静止状态下的结构稳定性有很高的要求尤其是在执行任务过程中。如果静止状态下正在对目标物体进行支撑例如抱着个宝宝就需要严格确保各关节的稳固。 基于这一考虑控制通道中应提供电机抱闸功能。即各电机控制通道的位置环检测到电机转动到了设定的角度之后向电机发出抱闸信号使电机轴稳固锁定在当前角度确保人形机器人在不需要运动的时段内不动如山。 当然更高层次的安全并非这种抱闸后的固定不动而是各关节随同实用化外部环境的变化而主动转动用“接-化”的方式致敬马老师消除一部分干扰乃至外部冲击例如各种演示视频中人形机器人被踹或脚踩障碍物的场景保持自身整体的相对稳固确保对任务目标物宝宝的保护。 进而在解除抱闸、由静到动的过渡瞬间大概率不可以一股脑地开闸、加载PWM波形了事。如何精微管控52次解除抱闸与52次启动电机之间的时序关系即使只有1个电机也存在两种操作时序关系的优化问题如何设计电机启动过程中的反馈控制微操细节以实现人形机器人动作启动过程的安全、平稳、平滑实现被服务人类个体视觉、体感乃至听觉的舒适有可能成为或者已经成为友商之间比拼性能的重要着力点之一。 这种在上层建模、模型分析、运动规划算法的指挥下实现精准的多点时序控制、精微的反馈控制过程优化正是FPGA的用武之地。 3.3.6 芯片间数据实时传输子系统深蓝色 这里的“芯片间”是指运算CPU与躯干内FPGA之间、躯干内FPGA与手掌内FPGA之间、躯干内FPGA与外置机箱内FPGA之间。 3.3.6.1 PCIe总线 PCIe端点模块作为躯干内PCIe总线中的唯一从节点用于实现躯干内置FPGA与运算CPU之间的通信PCIe总线的主节点是运算CPU中的PCIe总线根复合体。 之所以采用PCIe总线是因为这是目前最成熟的、最便于集成到现有人形机器人控制系统之中的、可以实现运算CPU与FPGA高速通信的总线。 本框架设计中的运算CPU的PCIe总线上只有躯干内置FPGA这一个从设备所以完全可以设计为板内经PCB布线直连未来ASIC化时肯定要换成AXI之类的片内总线以此省下被接插件占用的空间同时降低高速布线的长度、降低PCB设计难度、优化信号质量。 外置机箱中的PCIe总线的使用方式与躯干内的PCIe总线相同。 3.3.6.2 FPGA片内数据调度中心 如图2所示FPGA片内数据调度中心模块在躯干内置FPGA中是运算CPU经PCIe端点模块与躯干内置FPGA中各模块通信的中介在手掌内置FPGA中是躯干内置FPGA经PCIe端点模块与手掌内置FPGA中各模块通信的中介在外置机箱中的FPGA中是运算CPU经PCIe端点模块与外置机箱中的FPGA中各模块通信的中介其在这4片FPGA中都是多条数据路径的汇总、转接、分发之处。 这个模块所转接的各路数据及其各自的作用大多数已经在前面各节中介绍过不再赘述。 需要注意的是必须设计特别的机制以确保经由手掌内置FPGA的FPGA片内数据调度中心模块发往FPGA内各模块的同步信号与躯干内置FPGA中对应的同步信号之间的时间误差不超过系统设计所要求的门限以确保手指22个关节的动作过程与其他30个关节的协同程度。 3.3.6.3 FPGA片间全双工串行直连接口 FPGA片间全双工串行直连接口模块用于实现躯干内置FPGA与手掌内置FPGA之间的高速、串行、强实时性的点对点直连通信不需要附加PHY芯片。最简模式下每对接口仅需2对传输差分信号的双绞线/印制薄排线可能需要附加少量驱动电路。 由于是以躯干内置FPGA为中心的、星形拓扑点对点的FPGA直连通信所以只需由躯干内置FPGA基于世界时时标而以固定的时间间隔向其他FPGA发出特定格式的信号就能在所有FPGA间实现深亚微秒级精度的时间同步并且不需要借助任何附加的时钟同步协议例如1588、EtherCAT分布式时钟从而既能提高信道带宽利用率又能简化系统、减少潜在的故障点、节省成本。 3.3.6.4 射频通信二级子系统 本二级子系统由分别位于人形机器人本体、外置机箱的一对射频通信模组组成。 其中每个通信模组包括一个射频通信组件、一个位于FPGA中的射频通信组件驱动模块构成两者的传输延迟相加构成第3.2.2.2节所述的射频信道传输延迟。 位于人形机器人本体的射频通信组件位于Ta的头顶部位连接外置机箱内FPGA的射频通信组件位于各居室天花板的中央部位。不论人形机器人走到居所中的哪个居室都能实现其内置射频通信组件与连接外置机箱内FPGA的射频通信组件直传而非依赖多径效应通信。 本二级子系统要求射频通信协议具备大带宽、低延迟特征以高效传输两部分运算子系统协同运行所需传输的大量数据。 关于传输的可靠性问题本二级子系统对射频通信协议的要求并不很高这是由第1.2.1节所述的室内环境的稳定性、上个自然段所述的直连信道决定的。 具体的射频通信协议选择需要在本框架设计的实施阶段由系统架构师、算法工程师、射频通信工程师、FPGA工程师合作确定。 同时本二级子系统也需要传输人形机器人本体与管理子系统之间交换的信号。其中尤其需要以最高的传输优先级确保世界时时标、同步信号序列传输的实时性。 3.3.7 语音收发子系统含大模型下传指令解析功能棕色 上传通道语言信号收发模块接收用户发出的语音信号、将其转换为格式化的数字量序列、传输给人形机器人本体内置FPGA由后者经射频通信二级子系统发送给外置机箱再经外置机箱上的光纤通信接口发送到居家口语大模型服务器。 居家口语大模型服务器完成端到端居家口语处理生成格式化数字量序列其中包含回复语句或/和识别出的用户指令代号及相关参数例如第2.2.1节的推演过程中由小明从林先生的语言中获取的指令的关键要素经光纤信道发回给信源人形机器人外置机箱。 下传通道外置机箱中的FPGA从格式化数字量序列中解析出回复语句信息、用户指令代码及参数将回复语句信息经射频通信二级子系统发送给人形机器人本体内置FPGA最终交由语言信号收发模块将其转化为回复用户问话的语音。 同时外置机箱中的FPGA将解析出的、来自居家口语大模型服务器的用户指令代码及参数转发给外置机箱中的运算CPU由后者根据用户指令、在运算CPU算法任务协处理模块的协助下执行后续的算法。 3.3.8 关于居家口语大模型的服务器、预训练语料 鉴于目前在较低成本下实现大模型推理的延迟很长、不具备实用价值参考资料15本文将居家口语大模型置于楼宇/小区共享的服务器中以分摊实用化大模型推理系统的成本是否合理需由专业人士予以评估。 另外笔者作为预防人工智能反叛问题的较早研究者之一参考资料167年来一直极为关注自然语言处理技术的危险性。 对此鉴于实用化的室内家政服务人形机器人必须具备居家口语交流能力并且必须能解读用户口语中的指令更重要的是将自然语言处理大模型应用于人形机器人的趋势已经无法阻挡笔者建议将室内家政服务人形机器人所用自然语言处理大模型的预训练语料局限在居家口语的范围之内以防大量部署的、具备联网能力和深度影响物质世界能力的人形机器人具备针对物理世界包括人类及其社会的通用建模能力。 [注本节的以下内容是本文新加上的] 更多相关思路请参阅笔者的两篇知乎文章 林伟为预防人工智能反叛限制家政服务人形机器人内置大模型的必要性与措施 林伟极限失控的大模型使电力系统面临的跨域攻击风险及应对措施补充版。 3.3.9 加速基于大模型的端到端具身智能控制算法的实用化进程 将第3.3.7、3.3.8节所述的居家口语大模型替换为端到端人形机器人运动规划大模型就能仅仅基于现有的成熟技术在运行于大模型服务器中的人形机器人运动规划子系统、运行于人形机器人本体以及外置机箱中的运动控制子系统之间实现高带宽、强实时性的数据交互。请注意 “运动规划” 与 “运动控制” 的区别 当然如果成本允许执行端到端人形机器人运动规划大模型推理任务的GPU阵列也可以从文章中所述的楼宇服务器移到居室、放进图2中的人形机器人外置机箱机器人本体估计是装不下的即使装得下现在的电池容量也不够用GPU阵列所属板卡与FPGA板卡之间经PCIe总线实现高带宽、强实时性的数据交互。 基于上述架构FPGA作为中介一方面连接各种传感器图像、测距测速激光雷达、IMU、伺服电机位置编码器等进而对传感器信息进行预处理一方面连接GPU阵列、运算CPU一方面执行运动控制算法、向IPM输送SVPWM波形、驱动位于各个关节的伺服电机各个伺服电机以高精度协同的 时间-角度曲线 转动驱动人形机器人肢体运动。 如此则 端到端运动规划大模型与传感器、执行器之间的绝大多数数据交互都是在FPGA芯片之内以及经由FPGA芯片之间的高带宽且低延迟的高速串行接口、基于硬件的射频通信环节实现的在现有的技术条件下以最高水平高于目前已知的所有架构欢迎质疑实现人形机器人控制系统内部的高带宽、强实时性通信。 从而加速端到端具身智能控制算法的实用化进程。 3.3.10 多“人”协作模式 基于以上几个小节述及的机制室联人形机器人可以运行在多“人”协作模式。以两“人”协作搬动大件贵重物品为例 感知、运算、控制子系统协同控制两个人形机器人各关节伺服电机的转动角度及时间-角度曲线使两者与被搬动物体合为一体等效于一个四足整体支撑非常稳固、四手对被搬动物品的把持非常稳固的人形机器人。 这种工作模式下对人形机器人控制系统反馈控制环路的实时性提出了更高要求更适合发挥FPGA的性能优势。 4 将框架设计与《流程图》相结合 4.1 一体两面 这一框架设计与《流程图》是一体两面的关系 流程图提供抽象的实施步骤框架设计提供具体的实施中间结果两者分别是深入应用FPGA的人形机器人控制系统这一拟议中的研发项目在上述两个维度上的投影从各自的角度出发协助读者直观、深入地理解这一技术思想。 4.2 框架设计在《流程图》中的位置 具体而言本文所述框架设计是《流程图》中间通道的第5个步骤的执行结果即 FPGA专家与人形机器人系统专家、各子系统专家讨论分析系统中实时算力需求的时空分布、对各算法通道协同程度的需求分析在CPU软件体系结构中原始数据、中间数据、指令信号、状态信息的传输带宽瓶颈、延迟量大/延迟量显著抖动的传输路径初步确定由CPU软件、FPGA分别实现哪些算法模块与数据传输通道即软、硬件任务划分就考虑机械结构等约束的通信系统设计提供参考意见就结构、PCB设计提供参考意见。 4.3 笔者能力短板导致的缺憾 然而这一框架设计是笔者在不具备人形机器人从业经验、“单打独斗”的前提下做的由此导致以上述及的人形机器人系统专家、各子系统专家的角色缺位。 在这种情况下笔者只能基于自学得到的、关于人形机器人的功能、性能需求及其实现方法的有限信息对其控制系统的框架尤其是软、硬件任务在CPU与FPGA之间的划分做出规划。 因此这种规划只能是非常粗略的、不够专业的。 例如对于非常重要的、工信部《人形机器人创新发展指导意见》中反复强调的多模态感知笔者由于对高层次多模态传感器融合算法了解很少只能在第3.3.2节就传感器信息预处理、初级的传感器融合进行阐述等到第3.3.4.1.2节述及高层次多模态传感器融合就只能笼统地一带而过只能基于对其算法复杂度的感性认知假设其中存在适合提取出来、交由FPGA加以协处理的子任务请专业人士指正设计了第3.3.4.1.4、3.3.4.2、3.3.4.3节所述方法以实现对整机反馈控制环路实时性的优化。 同样的情况也存在于对环境、本体、工作目标的实时建模第3.3.4.1.2节、运动规划第3.3.4.1.3节所涉算法的协处理方法的设计过程中。 至于《流程图》中间通道第2、3、4个步骤所述的各项工作这一框架设计就只能基本予以忽略了。 4.4 特斯拉人形机器人Optimus-Gen2信息的帮助 幸运的是如本文第1节所述网上能查到专业网友分析、总结的特斯拉Optimus-Gen2的硬件系统的基本构成参考资料1、2也就是《流程图》中间通道第3个步骤所述的“可用做研发基础的人形机器人产品或设计方案的结构、控制系统的信息”使本文的工作有了一个基本的、可以被专业读者接受的分析对象不至于完全沦为自说自话的“对空输出”。 4.5 对研发单位的建议 如果有研发单位认可本文所做的工作愿意以此为借鉴在人形机器人中深入应用FPGA技术笔者建议其借鉴《流程图》所述的实施步骤尤其是建议借鉴其中由软、硬件人员协作划分各自的任务 – 用MATLAB迭代验证算法功能 – 用HDL实现的方法见《流程图》左侧的通道。 进而用基于这一方法得到的结果替代笔者在本文所述框架设计中对软–硬件任务的划分例如第3.2.2节对多模态传感器融合算法软-硬件任务的划分、替代笔者对划归FPGA实现的算法的具体内容例如第3.3.4.3.2节逐级解算各肢节运动学、动力学、重力学参数的算法所做的非专业表述。 5 将框架设计“泛化”到其他领域 如很多读者已经想到的以FPGA性能特征的通用性为基础本文所述的框架设计很适合“泛化”应用于人形机器人之外的领域尤其是泛化应用于同样基于“多通道传感器融合分析 多维度应用场景建模 多路电机协同规划、精准协同伺服控制”的领域例如 工业机器人 手术机器人 AGV及其与工业机器人的组合体例如波士顿动力的strech 数控机床/加工中心 高速精细3D打印系统 基于特定传感器机制高速、高定位精度上/下试件的医疗样品检测系统 电动汽车电机驱动刹车悬挂一体化控制系统第3.3.5.2节所述的多电机协同启动控制应是其典型需求 燃油汽车发动机油路喷燃刹车悬挂一体化控制系统 多阀门一体化液压伺服驱动系统阀门伺服驱动最终仍要落实到电机伺服驱动 电力系统广域协同继电保护主保护系统广域范围内中多个断路器的驱动电机动作曲线的微秒、亚微秒级精准协同 起重设备精细操控系统 物料传送机构精细平衡系统 矿山挖掘机系统 地磅不停车称重系统 盾构机刀盘姿态控制系统 ……………… 如果这个框架设计在上述某些领域获得实际应用、取得经济效益大概率将对其在人形机器人领域的实际应用起到促进作用。 6 结语行动最重要 2023年11月工信部发布《人形机器人创新发展指导意见》对人形机器人提出了以应对真实场景下的复杂环境与任务、应对突发情况为特征的实用化功能需求为业内竞争提供了指导方向。 人形机器人的拟人性导致的亲和力使其适合用于室内家政服务。 室内家政服务的环境友好其任务对象具备一定程度的结构化特征导致将人形机器人应用于这一场景在技术上具备可行性。 基于参考资料11提出的技术方案本文提出了深入应用FPGA的室联人形机器人控制系统在安全性维度上提供了更优的解决方案将有助于人形机器人尽快走向实用。 建议从事人形机器人研发的各家企业、机构借鉴本文提供的技术信息并予以斧正、发展、实施建立属于自己的专利护城河在竞争中共同推进人形机器人尽早在室内家政服务场景中大规模落地尽早实现人形机器人产业的良性循环。 作者微信linweifpga欢迎留言、微信交流 ------------------------------------ 参考资料 1 任赜宇Tesla人形机器人Optimus各伺服关节技术拆解 2 王兴兴Gen2更新Tesla 机器人 Optimus 你没注意到的设计细节 3 面向外骨骼机器人的空心杯电机位置伺服控制研究图2-6作者曾青山电子科技大学2013年度硕士毕业论文 4 一体化关节模组驱控系统关键技术研究图4-1作者焦露江南大学2023年度硕士毕业论文 5 林伟FPGA的性能特征及其尴尬处境 6 林伟关于在机器人领域深入应用FPGA技术的一些思考 7 林伟关于在机器人领域深入应用FPGA技术的一些思考续 8 《计算机体系结构量化研究方法》第五版第1.3节作者John L. HennessyDavid A. Patterson。 9 在实用化人形机器人研发流程中深入应用FPGA技术的流程图基于工信部《人形机器人创新发展指导意见》建议下载到PC观看 10 林伟在实用化人形机器人研发流程中深入应用FPGA技术的流程图版本A基于工信部《人形机器人创新发展指导意见》 11 林伟在实用化人形机器人控制系统中深入应用FPGA的框架设计基于特斯拉Optimus-Gen2的硬件系统 12 林伟韩国现代波士顿动力的真命天子 13 面向多种约束操作任务的机械臂运动规划研究作者刘怡舟博士毕业论文2021哈尔滨工业大学 14 韩峰涛让机器人更安全二- 协作机器人的兴起 15 低资源集群中的大语言模型分布式推理技术作者冯文佼等2024中兴通讯技术 16 林伟论文《关于预防人工智能反叛的初步探讨》修订版
http://www.w-s-a.com/news/26804/

相关文章:

  • 滨州网站开发公司中立建设集团有限公司网站
  • 泰安建设厅网站做网站为什么要建站点
  • 有什么好的手机推荐网站创建网站需要哪些工作
  • 网站能给企业带来什么上饶市网站建设公司
  • 学做网站卖东西去哪学南宁网站建设gxjzdrj
  • 欧美网站建设案例网站开发 男生
  • 网站正在开发中做电子元器件的网站
  • 做网站搭建的公司中国建设银行官网站u盾证书
  • 大连哪里有手机自适应网站建设公司网站介绍模板 html
  • 佛山模板建站宣传片制作公司电话
  • 文字网站居中能自己做网站接业务吗
  • 免备案自助建站网站广州珈瑶公司是哪一年注册的
  • ps做网站界面wordpress为图片添加圆角
  • seo优化推广业务员招聘seo顾问服务福建
  • 成都私人网站建设seo网站推广方案策划书
  • 广州网站建设工作室wordpress log
  • 网站后台添加wordpress h1标签优化
  • 自己做网站都需要什么高密 网站建设
  • 网站语言选择郑州本地做团购的网站
  • dw网页设计模板图片谷歌wordpress优化
  • 网站seo优化要怎么做礼品公司怎么做网站
  • 做网页网站需要钱吗提供常州微信网站建设
  • 网站建设文化效果广东网站建设哪家有
  • 毕业设计做网站怎样做特别一点在线网页制作软件
  • html网站代码上海这边敲墙拆旧做啥网站的比较多
  • 微网站怎么用在线crm管理系统
  • 中国城乡建设部人力网站首页如何利用某个软件做一个网站
  • 个人承接网站建设wordpress editor
  • 建站主机 wordpress专业的菏泽网站建设公司
  • 网站响应时间 标准网站建设色调的