大家好,我是bug菌~
这几天看到波士顿动力机器人又更新了,在如下视频中机器人Atlas使用动作捕捉开发的强化学习策略进行动作演示,大概的意思就是机器人的运动策略是参考了人类动作捕捉和动画,所以才如此丝滑,这次演示在波士顿动力公司与机器人与人工智能研究所(RAI 研究所)的研究合作伙伴关系下完成。
可能很多看过视频的朋友会觉得有点不可思议,一些朋友觉得视频中Atlas动作“过于丝滑”,怀疑存在后期处理。
不过更多的朋友还是觉得波士顿动力长期研发Atlas,有多个技术迭代的记录,而且波士顿动力非常擅长机器人硬件设计与动态控制,而RAI研究所专注于强化学习等AI算法研究,两者的结合能够实现“硬件+算法”的协同创新,实现该效果并不是很困难,更何况还只是在室内。
所以bug菌这里也大致聊聊这个技术,可能你就不会觉得那么不可思议了~
1、首先进行数据采集与预处理
• 动作捕捉:通过光学、惯性或生物力学传感器采集人体或动物的运动数据(如关节位置、速度、加速度)。
• 数据对齐:将捕捉到的运动数据映射到机器人关节空间(需考虑机器人形态与生物体的差异)。
• 生成参考轨迹:提取关键运动特征(如步态周期、重心变化),形成参考动作序列。
2、进行强化学习策略设计
• 状态空间(State Space):包括机器人本体传感器数据(关节角度、陀螺仪、力反馈)和任务相关状态(如目标位置)。
• 动作空间(Action Space):机器人关节的控制指令(如扭矩、速度)。
• 奖励函数(Reward Function):
1)模仿奖励:鼓励机器人动作与MoCap数据相似(如关节角度误差最小化)。
2)任务奖励:根据任务目标设计(如前进速度、平衡保持)。
3)惩罚项:防止摔倒、能耗过高或动作不自然。
3、然后进行训练与优化
• 模仿学习(Imitation Learning):利用MoCap数据初始化策略(如通过行为克隆),加速强化学习的收敛。
• 强化学习算法:采用PPO、SAC、DDPG等算法,通过仿真环境(如MuJoCo、PyBullet)训练策略,使机器人在动态环境中优化动作。
• 域随机化(Domain Randomization):在仿真中引入环境扰动(如地面摩擦变化、外部推力),提升策略的鲁棒性。
4、最后迁移到物理机器人
• Sim-to-Real:通过动力学校准、自适应控制等方法,将仿真中训练的策略迁移到真实机器人。
• 在线调整:结合实时传感器反馈,微调策略以适应实际环境的动态变化。
所以,是不是很简单~
最后
好了,今天就跟大家分享这么多了,如果你觉得有所收获,一定记得点个赞~
唯一、永久、免费分享嵌入式技术知识平台~
推荐专辑 点击蓝色字体即可跳转
☞ MCU进阶专辑
☞ “bug说”专辑
☞ 专辑|手撕C语言
☞ 专辑|经验分享