ADRC控制轨迹跟踪实践记录

2021-04-15  本文已影响0人  酵母小木

1. 跟踪效果分析

1.1. 无震荡,圆的半径在缩小

无震荡但线速度在减小
整体误差

从上述两幅图中,可以看出轨迹跟踪的误差在发散,但是角度的误差保持恒定,这对于轨迹跟踪的实际要求是无法接受的!

基础设定
  1. 针对过渡过程会使得响应变慢的问题,将过渡过程从控制器中剔除,直接对V1V2两个信号进行赋值,V1为目标点的(x,y,yaw),V2为轨迹对应的速度值(dx,dy,dr)
  2. 鉴于实际规划过程中,轨迹规划的起点是在机器人的当前位置,所以这里没有添加起始误差,而是直接将起始位置点放置在轨迹的初始位置上;如果加入初始误差,直接跟踪轨迹的航向角信号时,将无法正常跟上轨迹!
  3. 鉴于稳态误差过大,该测试没有添加任何干扰因素。
误差分析

实验轨迹是光滑的,且没有发生航向角的震荡问题,这也是我们期望的,但是稳态误差呈现发散的状态,这就让人无法接受啦!且经过长时间的运行检验,实验结果表明,运动半径在以一个微小的速度进行减小,运动角速度收敛为一个定值,纵向速度的衰减极小,且衰减趋势呈减小趋势,但是运动轨迹的偏移在变大,且每圈的偏移呈减小趋势。实际轨迹的航向角误差保持恒定,运动半径不断缩小的浅层原因,是由于恒定角速度跟踪正常,而由于线加速度的异常变化,导致恒定线速度跟踪无法收敛到指定的轨迹速度,甚至处于减小的情况。针对这种情况,起因可能是轨迹的线速度和角速度初值、初始的线速度和角速度误差、观测器带宽,控制器带宽、跟踪航向角和方位角的误差变化,亦或是线速度和角速度跟踪的跟踪快慢、优先问题等。故根据如上分析,做出如下控制调整:

1.2. 震荡,圆的半径保持一致

线速度和角速度均在一定范围内震荡
整体误差

从上述两幅图中,可以看出轨迹跟踪的位置误差和角度误差保持在一定范围内,且呈现震荡,航向角时而向心,时而离心;更令人沮丧的是,机器人运动的线速度、角速度、线加速度和角加速度也在呈现震荡情况,这对于执行机构是没法接受的!

基础设定
  1. 针对过渡过程会使得响应变慢的问题,将过渡过程从控制器中剔除,直接对V1V2两个信号进行赋值,V1为目标点的(x,y,angle),但angle不是轨迹的航向角,而是当前到目标点的方位角,V2为轨迹对应的速度值(dx,dy,dr)
  2. 鉴于实际规划过程中,轨迹规划的起点是在机器人的当前位置,所以这里没有添加起始误差,而是直接将起始位置点放置在轨迹的初始位置上;如果加入初始误差,直接跟踪轨迹的方位角信号时,运行一段时间之后,机器人可以正常跟上轨迹!
  3. 鉴于稳态误差过大,该测试没有添加任何干扰因素。
误差分析

运动轨迹是存在过大的转折,运动呈现一种不连续的状态。其本质是由于跟踪信号中的方位角angle是震荡的,从而引发了实际运动轨迹的航向角也是处于一种震荡的状态,跟踪信号中的方位角angle发生震荡是由于角速度过快,离散的时间间隔过大,且观测器响应的带宽过小,控制器增益过小导致的。故对航向角控制器进行单独的如下调节:

1.3. 震荡,圆的半径保持一致(采用跟踪微分器)

轨迹跟踪效果
跟踪误差
跟踪信号
实际效果

从上述几幅图中,可以看出轨迹跟踪的位置误差和角度误差保持在一定范围内,且呈现震荡,航向角时而向心,时而离心;更令人沮丧的是,机器人运动的线速度、角速度、线加速度和角加速度也在呈现震荡情况,这对于执行机构是没法接受的!

基础设定
  1. 本次设定与上述两次测试最大的不同,就在针对过渡过程会使得响应变慢的问题,选择了将过渡因子调大,设定为100,而不是将过渡过程从控制器中剔除,直接对V1信号进行赋值,V1为目标点的(x,y,angle),但angle不是轨迹的航向角,而是当前到目标点的方位角,V2信号由跟踪微分器产生;
  2. 鉴于实际规划过程中,轨迹规划的起点是在机器人的当前位置,所以这里没有添加起始误差,而是直接将起始位置点放置在轨迹的初始位置上;如果加入初始误差,直接跟踪轨迹的方位角信号时,运行一段时间之后,机器人可以正常跟上轨迹!
  3. 鉴于稳态误差过大,该测试没有添加任何干扰因素。
误差分析

其本质是跟踪信号的震荡引起的,有了之前两次测试的经验,这里只考虑跟踪微分器的过渡因子r0和角度控制器带宽wc的影响

2. 跟踪误差分析

TODO:针对不同轨迹的稳态误差情况进行分析和总结:
但是由于跟踪的轨迹是圆形,二阶导数时刻存在,因而效果有限。

上一篇下一篇

猜你喜欢

热点阅读