在之前的教程中,我们已经完成了整个强化学习任务流程,现在我们需要将自己训练的策略迁移到真机上
1.1 Sim2real简要方法论
强化学习的Sim2real问题一直以来是非常难解决的问题,在仿真环境中训练的policy往往很难迁移到实际的机器人系统上,因此我们需要用一些特殊的方法协助来实现这个过程。
1.1.1 建立数字孪生(Digital twin)
在仿真环境中,我们建立的环境需要尽可能与真实世界对齐,因此尽量让仿真环境和真实环境一模一样,包括机器人的一些初始状态,地图上物体的初始位置等。我们可以利用ROS或者Python相关的多线程通信方式,实现对仿真和真实世界机器人发送相同的指令,然后我们需要保证在相同的指令下,仿真机器人与真实机器人的运动状态一致。这里可以参考官方的轨迹规划器:
https://isaac-sim.github.io/IsaacLab/source/tutorials/05_controllers/run_diff_ik.html
举例来说,对于一条指令,在相同的时间内,以同样的方式运动相同的距离。这就需要我们不断调整仿真环境中的相关参数。这些参数包括信息通讯的间隔,机器人的stiffness,damping,最大速度,运动速度,重力补偿等。在面对同一条指令时,仿真与真实机器人系统能够以同样的方式完成同样的事情,那么我们就初步达到了目标