在机器人技术领域,物理模拟为机器人提供了一个安全而廉价的虚拟操场,机器人可以利用深强化学习(DRL)等技术获得物理技能。然而,由于仿真中的手工衍生物理并不完全匹配真实世界,完全在仿真中训练的控制策略在真实硬件上测试时可能失败一一这是一个被称为仿真到真实sim-to-real) 或域适应的问题。基Google 和 X 团队共同在ICRA2021上发表了一篇论文《SimGAN: 混合模拟器识别领域适应通过对抗性的强化学习》,文中提出把物理模拟器作为一个可学的组件,由 DRL 训练具有特殊的奖励功能,惩罚在模拟中产生的轨迹(即,随着时间的推移机器人的运动),少量轨迹之间的差异,收集真实的机器人运动轨迹。
具体地说,研究人员使用一个可学习的仿真参数函数来代替通常由人工定义的模拟器参数ーー接触参数(如摩擦系数和恢复系数)和电机参数(如电机增益) ,因为接触的未建模细节和电机动态是产生仿真间隙的主要原因。与传统的模拟器将这些参数视为常数不同,在混合模拟器中,这些参数是状态相关的ーー它们可以根据机器人的状态而改变。例如,电机在较高的速度下会变得较弱。这些典型的未建模物理现象可以使用与状态相关的模拟参数函数来捕获。此外,虽然接触和电机参数通常难以识别和易于变化,由于磨损,我们的混合模拟器可以自动学习他们从数据。例如,模拟器不再需要手动指定机器人脚的参数,而是从训练数据中学习这些参数。
第一部分:混合模拟器辨识
使用GAN模拟器学习成功地学习上面讨论的模拟参数函数将导致一个混合模拟器,可以产生类似真正的机器人的轨迹。使这种学习成为可能的关键是为轨迹之间的相似性定义一个度量标准。
GAN有两个主要部分,一个是学习生成新实例的生成器,另一个是判别器,评估新实例与训练数据的相似程度。在这种情况下,可学习的混合模拟器作为 GAN 生成器,而 GAN 鉴别器提供相似性评分。
将模拟模型的参数与现实世界中收集到的数据进行拟合,这一过程称为系统辨识过程(SysID) ,已经成为许多工程领域中的常见做法。例如,可变形表面的刚度参数可以通过测量表面在不同压力下的位移来确定。这个过程通常是手动的和繁琐的,但是使用 GANs 可以更有效率。例如,SysID 经常需要一个手工制作的度量标准来衡量模拟轨迹和真实轨迹之间的差异。对于 GANs,这样的度量是由鉴别器自动学习的。此外,为了计算差异度量,传统的 SysID 需要将每个模拟轨迹配对到使用相同控制策略生成的对应实际轨迹。
由于 GAN 鉴别器只采用一个轨迹作为输入,并计算在现实世界中出现的可能性,因此不需要这种一对一的配对。使用强化学习学习模拟器和优化策略把所有的东西融合到一起,我们将模拟学习形式化为一个 RL 问题。神经网络从少量的现实轨迹中学习状态相关的接触和电机参数。对神经网络进行优化,使模拟轨迹与实际轨迹之间的误差最小。
第二部分:策略微调
在学习了混合模拟器并且变得更加准确之后,我们再次使用 RL 在模拟中改进机器人的控制策略。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!