• 问题求助
  • 二轮差动小车模型,DDPG训练,陷入局部最优,在终点附近打转

如题,我在使用二轮差动小车的模型,用DDPG算法进行训练,没有用到深度传感器,就是简单的数值仿真。

我的奖励函数设置如下:

R1: 定义车的位置与终点的位置之间的距离为L,如果下一时刻的L小于当前时刻的L,那么奖励为+5,反之-5

R2: 定义车头方向与 “车当前位置与终点的连线” 所夹的锐角的绝对值为theta(因为假设车可以倒着走,所以倒着走到终点也是可行的,因此只用正的锐角表示),如果下一时刻的theta小于当前时刻的theta(表示车的朝向更加“正确”),那么奖励为+2,反之为-2,因为假设对距离的约束要比对角度更严格,所以用5和2作为区分,因为有的时候角度奖励为-2,但是位置奖励为+5,这种情况并不是最好,但是也能接受。

R3: 如果在规定时间内,小车到达终点(与终点的距离小于某个值),那么额外奖励200,否则为0.

问题是:小车现在往往是运动到终点附近时,然后开始终点附近的某一个位置原地打转。似乎是终点对车有一个排斥力,让车无论如何进不去的感觉。

请问各位,这可能是什么原因呢

gkw521 您好,谢谢您的回复,我并没有针对“原地打转”这一情况单独设置奖励,所以原地打转时候的奖励应该是(近似地原地打转,绝对位置并不是严格一动不动,而是基本上不动)。奖励为:

如果转的方向趋向于使得《车头方向与 “车当前位置与终点的连线” 所夹的锐角的绝对值》变小,那么就是+2,否则就是-2,但是因为在原地打转,可以被看做是四个象限,其中两个象限奖励为2,另外两个奖励为-2,所以我推测打转过程中,长期累计的奖励应该为0.

再次感谢您的回复~~~^_^

可以改变一下奖励,使得原地打转的奖励长期累积为负

    gkw521 谢谢~~请问是不是可以设计让小车从起点到终点的累计角度变化最小啊,就是角度设计成每转一下就给-1,无论正转好使反转,请问这样可以嘛??

    谢谢~~

    另外,请问方便加好友讨论嘛,我还有一些问题想请教

      YANGYefeng 每转一下就给-1,小车大部分应该时间都是在转,小幅度或者大幅度的转动,那么可能每次奖励都包含了这个-1,控制角度的话给一个范围,比如正负10度之间就不惩罚,能够有一些区分

      我也只是提出自己的想法,谈不上教

      有什么问题就在这里提,也能让别人看到,一起讨论

        1 个月 后

        假设这种情况,车停到终点附近,并且角度一直shi正确的,那么回报是不是会一直给+2;但是车如果走到终点,+200之后就结束了。

        1可以给个步长的限制,2线速度给个下界

        说点什么吧...
        Document