迪斯尼发表了一篇论文详细介绍了其新型的双足机器人BD-X的主要设计和控制方法。 BD-X设计的主要目的是为了在娱乐表演中使用。该机器人不仅能在复杂地形上移动,还能执行非常逼真的艺术化动作,比如舞蹈或表演。 <h3>BD-X展示</h3> <img class="aligncenter size-full wp-image-11648" src="https://img.xiaohu.ai/2024/07/GKU-86FaYAENxD5.jpeg" alt="" width="2048" height="1356" /> <img class="aligncenter size-full wp-image-11650" src="https://img.xiaohu.ai/2024/07/GKU-86FbQAEx8Za.jpeg" alt="" width="2048" height="1366" /> [video width="960" height="720" mp4="https://img.xiaohu.ai/2024/07/X2Twitter.com_1776294352786182144720p.mp4"][/video] [video width="480" height="852" mp4="https://img.xiaohu.ai/2024/07/X2Twitter.com_XXNZI5CgVgOGha0v852p.mp4"][/video] <h3>BD-X 系统综述</h3> <strong>设计和控制工作流程</strong> <ol> <li><strong>动画与机电设计迭代过程</strong>: <ul> <li>使用经典动画工具对角色进行研究,定义角色的比例和运动范围。</li> <li>使用逆向动力学生成物理上可行的动作,反馈到机械设计中,以优化几何结构、选择执行器和进行结构分析。</li> <li>通过动画工具和力学设计的迭代,找到硬件模块物理限制和创意意图之间的最佳折衷。</li> </ul> </li> <li><strong>强化学习控制策略</strong>: <ul> <li>使用强化学习训练多个控制策略,每个策略都模仿不同类型的动作,如站立、行走和短暂的动画序列。</li> <li>训练过程中模拟随机扰动和模型参数变化,增强策略的鲁棒性。</li> </ul> </li> <li><strong>运行时动画引擎</strong>: <ul> <li>动画引擎接收用户输入和预定义动画,生成控制命令。</li> <li>实时融合用户输入和动画内容,实现复杂而流畅的机器人表演。</li> <li>同步控制机器人动作和音频效果,增强表现力。</li> </ul> </li> <li><strong>直观的操控界面</strong>: <ul> <li>提供直观的操控界面,使操作员能够实时控制机器人进行表演。</li> <li>结合直接动作控制和表达动画,通过操控杆和触发动画的按钮,实现机器人多样化的表演。</li> </ul> </li> </ol> <h3><img class="aligncenter size-full wp-image-11643" src="https://img.xiaohu.ai/2024/07/Jietu20240723-132248@2x-scaled.jpg" alt="" width="2560" height="772" />BD-X的设计</h3> <strong>1. 机械结构</strong> <ul> <li><strong>腿部设计</strong>: <ul> <li>每条腿拥有5个自由度(DOF),包括髋关节内收/外展、髋关节屈伸、膝关节屈伸、髋关节旋转和踝关节屈伸。</li> <li>大范围的腿部活动空间支持机器人执行多种动态运动,如行走、跳跃和复杂的下肢动作。</li> <li>髋关节和膝关节的强力执行器具备34Nm的峰值扭矩和20 rad/s的最大速度,而髋关节旋转和踝关节执行器则具备24Nm的峰值扭矩和30 rad/s的最大速度。</li> </ul> </li> <li><strong>头部和颈部设计</strong>: <ul> <li>头部和颈部拥有4个自由度,使其能够独立于躯干进行移动,表现出复杂的表情和动作。</li> <li>头部执行器使用高齿轮比,具备4.8Nm的峰值扭矩和6.3 rad/s的最大速度,适合精细的头部动作控制。</li> </ul> </li> <li><strong>组件连接和材料</strong>: <ul> <li>采用现成的硬件模块,通过3D打印技术连接各个执行器,简化了制造和组装过程。</li> <li>机器人使用聚氨酯泡沫模制的脚部,使其在硬地面上行走时具有良好的冲击缓冲效果。</li> </ul> </li> </ul> <strong><img class="aligncenter size-full wp-image-11642" src="https://img.xiaohu.ai/2024/07/Jietu20240723-132306@2x.jpg" alt="" width="1464" height="1532" />2. 电气与控制系统</strong> <ul> <li><strong>通信与控制</strong>: <ul> <li>内置自定义微控制器驱动的通信板,用于连接机载PC、执行器和惯性测量单元(IMU),通信速率达到600Hz。</li> <li>所有执行器都集成了驱动器,执行低层控制循环,并通过内置编码器测量电机位置。</li> </ul> </li> <li><strong>无线通信</strong>: <ul> <li>机载PC与手持操作控制器通过WiFi和LoRa无线通信进行冗余连接,确保通信的稳定性和可靠性。</li> </ul> </li> <li><strong>电源系统</strong>: <ul> <li>机器人配备可拆卸电池模块,支持至少1小时的连续运行时间,满足长时间表演的需求。</li> </ul> </li> </ul> <strong><img class="aligncenter size-full wp-image-11641" src="https://img.xiaohu.ai/2024/07/Jietu20240723-132319@2x.jpg" alt="" width="2484" height="854" />3. 展示功能</strong> <ul> <li><strong>情感表达装置</strong>: <ul> <li>配备一对可动天线、发光的眼睛和头灯,增强机器人表情的表现力。</li> <li>这些展示功能提供给动画师更多的表达手段,尽管它们不影响系统动力学,因此在设计阶段可以轻松添加和移除。</li> </ul> </li> <li><strong>音效系统</strong>: <ul> <li>机器人头部和躯干各配备一对立体声扬声器,用于播放音效和语音。</li> <li>声音系统由机载音频引擎处理和混音,通过消息接口触发短音效或同步播放与动画相关的音频。</li> </ul> </li> </ul> <strong>4. 物理参数</strong> <ul> <li><strong>尺寸与重量</strong>: <ul> <li>机器人总质量为15.4 kg,躯干部分重5.8 kg,头部和颈部重2.4 kg,每条腿重3.6 kg。</li> <li>机器人高度为0.66米(不包括天线),腿部的标准长度为0.28米,伸展长度为0.34米。</li> </ul> </li> <li><strong>执行器特性</strong>: <ul> <li>髋关节内收/外展、髋关节屈伸和膝关节执行器具有34Nm的峰值扭矩和20 rad/s的最大速度。</li> <li>髋关节旋转和踝关节执行器具有24Nm的峰值扭矩和30 rad/s的最大速度。</li> <li>头部的3个执行器具有4.8Nm的峰值扭矩和6.3 rad/s的最大速度。</li> </ul> </li> </ul> <strong>5. 设计特色</strong> <ul> <li><strong>简化设计</strong>: <ul> <li>设计过程中追求简单而功能强大的结构,采用直接放置在关节上的执行器,以减少硬件复杂性并保持系统性能。</li> <li>通过软件良好地表征硬件模块特性,在设计过程中不断调整以达到创意和功能需求的平衡。</li> </ul> </li> <li><strong>快速开发</strong>: <ul> <li>使用现成硬件和3D打印技术,作者在不到一年的时间内开发出这款机器人,展示了快速原型开发的能力。</li> </ul> </li> </ul> <h3><img class="aligncenter size-full wp-image-11639" src="https://img.xiaohu.ai/2024/07/Jietu20240723-132358@2x.jpg" alt="" width="2104" height="766" />控制架构</h3> BD-X的控制架构主要包括强化学习控制策略、动画引擎和实时控制三个核心部分。这些部分共同作用,使BD-X能够在动态运动和复杂表演之间实现无缝过渡和自然互动。 <h4>1. 强化学习控制策略</h4> BD-X采用了多种强化学习策略来处理不同类型的运动,包括持续运动、周期性运动和阶段性运动。 <strong>强化学习策略训练过程:</strong> <ul> <li><strong>状态输入</strong>:策略接收一个状态输入,包括身体的位置、关节角度、速度、上一次和上两次的动作。这些状态数据通过标准化处理后输入到神经网络中。</li> <li><strong>动作输出</strong>:策略输出的是关节位置的设定点,通过比例微分(PD)控制器来实现。每个策略基于不同的控制输入进行训练,例如站立时的头部和躯干控制命令,行走时的路径速度命令等。</li> <li><strong>奖励函数</strong>:奖励函数结合了运动模仿奖励、正则化奖励和生存奖励。其中运动模仿奖励通过比较机器人当前状态和参考状态之间的差异来计算,正则化奖励则用于减少不必要的动作和振动,生存奖励则确保机器人保持平衡和存活。</li> </ul> <strong>三种运动类型的定义:</strong> <ul> <li><strong>持续运动(Perpetual Motions)</strong>:没有明确的开始和结束,机器人在保持平衡的同时响应外部输入信号。</li> <li><strong>周期性运动(Periodic Motions)</strong>:由周期性信号驱动,机器人重复执行预定的步态循环,例如行走。</li> <li><strong>阶段性运动(Episodic Motions)</strong>:具有预定义的持续时间,机器人执行一个完整的动作序列后转换到下一个动作。</li> </ul> <strong>控制策略的训练与模拟:</strong> <ul> <li><strong>模拟环境</strong>:使用Isaac Gym物理模拟器进行强化学习训练。为了确保策略在现实世界中的鲁棒性,训练过程中对模型参数和外部扰动进行了随机化处理。</li> <li><strong>模型参数</strong>:根据CAD模型生成的模拟模型精确描述了机器人的动力学和驱动器特性,并在训练过程中应用了自定义驱动器模型。</li> </ul> <h4>2. 动画引擎</h4> 动画引擎负责生成并融合用户输入和预定义动画,使机器人能够执行复杂的表演动作。 <strong>动画层次结构:</strong> <ul> <li><strong>背景动画(Background Animation)</strong>:持续播放的周期性动画,作为默认状态下的基本活动。</li> <li><strong>触发动画(Triggered Animations)</strong>:根据操作员的输入触发的动画片段,这些动画片段可以与背景动画混合,以生成复杂的表演动作。</li> <li><strong>摇杆动画(Joystick Animation)</strong>:根据操作员的实时输入调整机器人姿态和视线,使机器人能够在表演过程中进行动态调整。</li> </ul> <strong>动画状态生成:</strong> <ul> <li><strong>动画目标状态(yt)</strong>:由背景动画、触发动画和摇杆输入生成的目标机器人配置状态。</li> <li><strong>控制命令生成</strong>:将动画目标状态转换为控制策略的输入信号,确保机器人按照预定的动画执行动作,同时响应操作员的实时输入。</li> </ul> <h4>3. 实时控制</h4> BD-X 的实时操控系统旨在使操作员能够通过直观的界面和控制机制,实现机器人在现场表演中的复杂动作和互动。实时操控主要包括操控接口、信号处理、动作过渡和音频同步等方面。 <img class="aligncenter size-full wp-image-11640" src="https://img.xiaohu.ai/2024/07/Jietu20240723-132339@2x.jpg" alt="" width="2116" height="1050" />1. <strong>操控接口</strong> <strong>操控界面</strong>: <ul> <li><strong>摇杆控制</strong>:使用两个摇杆分别控制机器人的躯干和头部姿态。 <ul> <li><strong>左摇杆</strong>:控制躯干的方向和姿态,包括前后倾斜(pitch)、左右旋转(yaw)。</li> <li><strong>右摇杆</strong>:控制头部的视线方向,包括上下移动(pitch)和左右旋转(yaw)。</li> </ul> </li> <li><strong>按钮触发</strong>:通过预设按钮触发预定义的动画片段。例如,触发“点头”、“挥手”等动作。</li> <li><strong>触摸屏</strong>:用于开启和关闭机器人,以及显示系统状态信息如电池电量、驱动器温度和连接稳定性。</li> </ul> <strong>2. 信号处理</strong> <strong>信号融合</strong>: <ul> <li><strong>背景动画</strong>:默认状态下的基础动画,如间歇性的眨眼和天线运动,保持机器人在静止时仍具有生动的表现。</li> <li><strong>触发动画</strong>:当操作员按下按钮时,触发预定义的动画片段,例如点头或扫描动作。这些动画与背景动画混合,实现自然过渡。</li> <li><strong>摇杆输入</strong>:操作员通过摇杆实时调整机器人的姿态和视线,确保在执行触发动画时能够进行动态调整。</li> </ul> <strong>动画生成</strong>: <ul> <li><strong>目标状态</strong>:根据背景动画、触发动画和摇杆输入生成目标机器人配置状态(yt)。</li> <li><strong>控制命令生成</strong>:将目标状态转换为控制策略的输入信号(如位置、速度命令),确保机器人按照预期执行动作。</li> </ul> <strong>3. 动作过渡</strong> <strong>过渡管理</strong>: <ul> <li><strong>策略切换</strong>:根据外部输入(如触发动画或路径速度命令),动画引擎在不同的控制策略之间进行无缝切换。例如,从站立切换到行走,或从行走切换到特定的表演动作。</li> <li><strong>相位同步</strong>:在行走过程中,控制策略根据步态周期(相位信号)同步切换,确保动作的连续性和自然性。例如,转弯时开始相位从左步开始,停止行走时在双脚支撑阶段进行切换。</li> </ul> <strong>实时调整</strong>: <ul> <li><strong>动作连续性</strong>:通过平滑过渡机制,控制策略能够在不同动作之间无缝切换。例如,机器人在行走过程中可以突然停止并进行复杂的表演动作而不影响动作的流畅性。</li> <li><strong>稳定性维护</strong>:在受外部扰动或不规则地形时,控制策略能够实时调整动作,确保机器人保持平衡和稳定。</li> </ul> <strong>4.音频同步:</strong> <ul> <li><strong>音频引擎</strong>:板载音频引擎处理和混合所有音频信号,与动画引擎同步,实现动作和音效的协调播放。</li> <li><strong>音效触发</strong>:操作员可以在控制机器人动作的同时触发音频片段,如声音效果或语音,增强表演的沉浸感。</li> <li><strong>动画同步</strong>:音频引擎与动画引擎同步,确保声音与动作的协调播放。例如,在执行特定动作时播放对应的音效,提升观众体验。</li> </ul> 详细内容:<a href="https://la.disneyresearch.com/publication/design-and-control-of-a-bipedal-robotic-character/" target="_blank" rel="noopener">https://la.disneyresearch.com/publication/design-and-control-of-a-bipedal-robotic-character/</a>