当前位置:   article > 正文

纯跟踪法——轨迹跟踪控制——学习记录_纯跟踪算法原理图是等腰三角形吗

纯跟踪算法原理图是等腰三角形吗

 纯跟踪控制算法(Pure Pursuit)是一种典型的横向控制方法,该方法对外界的鲁棒性较好。

算法思想:

(1)基于后轮中心在参考路径上按照自定义的距离(Ld)匹配一个预瞄点

(2)后轮中心点按照一定的转弯半径R行驶到预瞄点

(3)预瞄距离Ld,转弯半径R,朝向角2α确定前轮转角

OA=OC是一个等腰三角形——>OB是∠AOC的角平分线

AB⊥AO

得到(5式如下):

“纯跟踪”在控制理论中可以近似看作是一个P控制器。

在控制系统中,P控制器(比例控制器)是一种最简单的控制器类型。它基于反馈信号的误差,直接与一个比例增益Kp相乘,并将其作为控制输出。P控制器的数学表达式可以表示为:输出 = Kp * 误差。纯跟踪是一种控制算法,它的目标是使跟踪信号与被跟踪信号尽可能地一致。在跟踪过程中,纯跟踪通过调整输出信号来减小跟踪误差。将纯跟踪算法与P控制器进行比较,可以发现它们的本质相似。在纯跟踪中,跟踪误差起到类似于反馈误差的作用,而输出信号的调整类似于P控制器中的比例增益调节。因此,可以将纯跟踪近似地看作是一个P控制器。

需要注意的是,纯跟踪算法可能还包括其他因素,如速度限制、饱和控制等。

扩展一下:

阿克曼转向,也称为Ackermann转向,是一种用于汽车前轮转向的机械设计。它通过将两个前轮以不同的转向角度转动来实现车辆的曲线运动。阿克曼转向机构通常由一个转向杆和两个转向连杆组成。阿克曼转向的原理是通过使内侧前轮转动更大的角度,从而实现车辆前轮的转弯半径差异。当车辆转弯时,内侧前轮需要更大的转动角度以克服车轮滑移的问题,而外侧前轮的转动角度较小。这样可以确保车辆稳定地行驶在转弯中,并减少轮胎的磨损和摩擦。阿克曼转向的设计需要综合考虑车辆的转弯半径、车轮的转动角度和车辆的长度等因素。一个合适的阿克曼转向机构可以使车辆在转弯时更加灵活和稳定,提高驾驶操控性和安全性。值得注意的是,阿克曼转向是一种近似设计,仍存在一定的误差。在极端情况下,比如车辆急剧转弯时,阿克曼转向机构可能无法完全解决车轮滑移的问题。因此,在设计和制造阿克曼转向机构时,需要对车辆的使用情况和使用条件进行准确的分析和计算,以确保其安全性和可靠性

  1. %% 首先在参考轨迹上搜索离当前车辆位置最近的点
  2. function [lookaheadPoint,idx_target] = findLookaheadPoint(pos, v, RefPos, Kv, Ld0)
  3. % 找到距离当前位置最近的一个参考轨迹点的序号
  4. sizeOfRefPos = size(RefPos,1);
  5. for i = 1:sizeOfRefPos
  6. dist(i,1) = norm(RefPos(i,:) - pos);
  7. end
  8. [~,idx] = min(dist);
  9. % 从该点开始向轨迹前方搜索,找到与预瞄距离最相近的一个轨迹点
  10. L_steps = 0; % 参考轨迹上几个相邻点的累计距离
  11. Ld = Kv*v + Ld0; % Ld0是预瞄距离的下限值;
  12. while L_steps < Ld && idx < sizeOfRefPos
  13. L_steps = L_steps + norm(RefPos(idx + 1,:) - RefPos(idx,:));
  14. idx = idx+1;
  15. end
  16. idx_target = idx;
  17. lookaheadPoint = RefPos(idx,:);
  18. end

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/710531
推荐阅读
相关标签
  

闽ICP备14008679号