纯跟踪法——轨迹跟踪控制——学习记录

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

%% 首先在参考轨迹上搜索离当前车辆位置最近的点
function  [lookaheadPoint,idx_target] = findLookaheadPoint(pos, v, RefPos, Kv, Ld0)

% 找到距离当前位置最近的一个参考轨迹点的序号
sizeOfRefPos = size(RefPos,1);
for i = 1:sizeOfRefPos
    dist(i,1) = norm(RefPos(i,:) - pos);   
end
[~,idx] = min(dist); 


% 从该点开始向轨迹前方搜索,找到与预瞄距离最相近的一个轨迹点
L_steps = 0;           % 参考轨迹上几个相邻点的累计距离
Ld = Kv*v + Ld0;       % Ld0是预瞄距离的下限值;
while L_steps < Ld && idx < sizeOfRefPos
    L_steps = L_steps + norm(RefPos(idx + 1,:) - RefPos(idx,:));
    idx = idx+1;
end
idx_target = idx;
lookaheadPoint = RefPos(idx,:);
end

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值