我收到了关于使用强化学习技术训练机器人后跟直线的问题的答案,这使我开始思考如何训练机器人。我相信基本上有两种方法-训练物理机器人。
对机器人建模并模拟训练。
我错过了什么吗?

方法2绝对是更好的方法。但是,需要事先了解运动(响应),特定的PWM信号(激励)时才需要机器人处于给定状态。 PWM信号引起的运动可能取决于(1)当前的电池电压,(2)机器人的质量和(3)电流速度(我错过了什么吗?)。

如何我应该为这样的机器人建模吗?以及如何快速建模?如果更换电池或添加一些板子和其他外围设备并更改机器人的质量,则必须重塑机器人并进行重新培训。我可以通过提供一些随机激励PWM并测量响应来做到这一点吗?

添加:我在dsp.SE中的相关问题

更新:建议对Ian的标题进行编辑值得一提的是:“如何对机器人进行模型训练,以使其在动力学方面发生变化,而无需进行完整的重新训练?”我认为这也是一个好问题,但与我在这里提出的问题有所不同。我现在可以接受再培训了。

评论

这里有很多很棒的问题。实际上,最好将其分为多个问题。

您如何建议我在不失去背景的情况下做到这一点?我已经将问题的一部分拆分为dsp.SE

您基本上在这里有两个问题。首先,如何为机器人建模?第二个问题是,如何在给定模型和学习算法的情况下训练机器人?在我看来,这可能是两个独立的问题。

你是对的。似乎是如何训练机器人的问题是有说服力的。我想我会尝试将其删除。

在这种情况下,我将等着您查看您的修改,然后再尝试回答您的问题。

#1 楼

我认为这里有两个主要问题。首先是,如何为机器人建模?这通常通过运动方程的状态空间公式来完成。确切的方程式取决于机器人的物理结构。是的,为了使用PWM输入对其进行建模,则需要从提供给执行器输出的PWM值确定传递函数。然后,将该功能插入模型中的控制信号。同样,此功能的派生是特定于机器人的。当前的电池电压和机器人的质量可能会有用,但我不知道速度。

第二个问题是,鉴于我的机器人的数学模型,什么是最好的方法训练强化学习(RL)算法来控制它?简而言之,没有最好的方法。直接在机器人上进行训练往往很耗时,因为它需要更长的时间来执行试验。然而,仿真会导致策略的准确性降低,因为必须简化仿真的物理过程。另一种方法是训练学习者进行仿真以获得合理的近似值,然后将生成的策略传递给机器人以进行进一步优化。如果模型不够准确,这当然会失败。它还需要额外的开发。

最后,您问“我是否可以通过提供一些随机刺激PWM并测量响应来[对机器人进行重塑和重新训练?”对于RL,没有理由认为新的最佳策略类似于先前的最佳策略,因此没有太多理由认为一些随机控件将提供足够的信息来适当地更改策略。当然,仅当您对机器人所做的更改影响状态空间模型和/或您使用的动作模型的制定时,才需要进行再培训。例如,如果您的操作模型是基于高级操作(“往左走”,“往右走”,“往前走”),则更改动态要求更改您执行这些动作的方式,但策略仍应保持。

#2 楼

通常使用运动学模型Denavit–Hartenberg parameters
YouTube上提供了斯坦福大学提供的机器人学课程