最近做peg-in-hole的装配任务,训练的时候发现一个很奇怪的现象,还在探究具体的原因。
训练该任务时候需要导入机器人模型并设置actuator的参数(在机器人配置文件中)。
Isaacsim给出的文档是说默认的他们开发的implicit actuator类似于spring-damping模型,需要给定stiffness和damping,同时还可以设置velocity和effort的limitation。
Actuators — Isaac Lab Documentation
但是按照isaaclab提供的ur机器人配置文件,这个机器人移动太快了,都出残影了,实际上不可能,所以我为了让他速度降低,同时能够提供稠密trajectory(最好200Hz),降低了limitation并加大了spirng/damping数值:
velocity limitation:2
effort limitation:66
stiffness:400
damping:800
然后训练时候,peg就一直在hole附近打转,就是找不到准确的hole的位置,也没办法插进去。
起初我以为是训练的问题,调了很多参数,网络结构,lr,entropy之类的都不顶用,最后神奇的出现了,我突然想起来改了机器人设置,我又把这个配置文件改回去了:
velocity limitation:10
effort limitation:88
stiffness:400
damping:400/200
神奇的事情发生了,和之前一样顺利了,几十个episode就插进去了,也不在孔周围晃了。很奇怪,因为如果是spring-damping模型(类似pd控制),我调大限制和刚度,damping参数,只是让驱动力变小,移动变慢,但是不会出现达不到的问题呀。开个帖子记录一下,也欢迎大家帮我理顺一下。