纯跟踪算法用于无人车自动泊车
目的
(资料图片仅供参考)
使用简单的“纯跟踪算法”实现无人车自动泊车或者位姿调整。在泊车或者工业场景,如果空间不够,那么车辆经常需要做一些大角度的转向或者倒车,例如叉车。
这些场景与一般的道路行驶场景可能有所区别,道路行驶一般只考虑前进方向的高速行驶,并且转向曲率不会太大。泊车场景恰好相反,曲率大、速度慢,而且伴随行驶方向的变化。
道路行驶下的跟踪已经被研究的比较深入了,那么道路行驶使用的跟踪算法还适用于倒车场景吗?本文我们来研究一下这个问题。
Reeds-Sheep曲线
假设无人车的运动路径是已知的,笔者使用 https://github.com/hbanzhaf/steering_functions 中提出的曲率连续的改进Reeds-Sheep曲线生成路径。
程序输出的路径是一系列离散的点,点之间的距离可以自定义,笔者选择每5毫米一个点,程序中设置DISCRETIZATION=0.005。
路径采用nav_msgs::Path消息发出。
纯跟踪算法
纯跟踪算法(Pure Pursuit)首先要指定一个被跟踪的目标点。
原始版本的纯跟踪算法只讨论了跟踪无人车前方的点,对于Reeds-Sheep曲线这种包含运动方向变化的曲线,无人车既需要前进也需要后退,但是想实现后退也非常简单。
笔者将被跟踪的目标点称为局部目标(local goal)无人车真正最终的静态目标点则称为全局目标(global goal)。
纯跟踪需要无人车的定位,仿真时假设这个定位信息由ROS中的/base_pose_ground_truth消息给出。局部目标的计算方式是,遍历路径,找到第一个离无人车≥ d l 的路径点。
d l 就是前视距离,d l 越小跟踪精度越高,但是越容易导致震荡。机器人在运动时,这个局部目标也会更新。
如果找到的局部目标落在了无人车的后方,此时意味着无人车需要后退,只需要将速度取负值即可,前轮转角不用变。
出现的问题
1.转折点
在仿真时出现了一些问题。首先,最困难的是对于尖点(cusp)怎么处理。因为很多情况下,Reeds-Sheep曲线都包含尖点,在尖点处车辆会改变运动方向。
如果使用纯跟踪算法跟踪这个路径,那么在尖点处会出现一个问题。因为纯跟踪算法总要指定一个跟踪点,这个跟踪点一般在车辆前方或者后方一定距离(d l )处。
在向尖点运动时,车辆不会正好处于尖点上,而是提前离开。下图中的d l = 0.2后面也采用这一数值。
图中的黄点是被跟踪的局部目标,红色点表示无人车后轮轴中心处的实时位置。
这就导致车辆没有完全位于路径上,进而导致后面的跟踪出现横向偏差(如下图所示),即使采用曲率连续的Reeds-Sheep曲线版本也没有用。
这是纯跟踪算法本身的问题吗?不是,纯跟踪算法完全可以跟得上,我们为了安全通常把输出角度给限幅了,如果解除限幅你就会发现纯跟踪算法完全可以准确的跟踪。
但是实际使用时我们又不可能解除限幅,所以怎么解决这个问题呢?
一种是直接增大一点Reeds-Sheep曲线的最小转向半径,令其略大于车辆的真实最小转向半径,笔者尝试增加了约10%,跟踪情况如下图。
另一种方法是增加尖点(cusp)部分的长度,这可以通过改变主程序(steering_functions_node.cpp)中的sigma_max_变量实现,sigma_max_越小,过渡部分越长,最好大于d l 试验发现取sigma_max_=0.5左右就可以。
控制指令如下图所示。
速度单独进行规划,然后叠加到路径上,如下图所示。
2.定位误差
前面的控制都假设定位是完美的,不存在定位误差。如果加入定位误差,纯跟踪算法的表现会怎么样呢?
我们用随机数来模拟定位误差,定位误差一般是正太分布的,因此用正态分布函数std::normal_distribution生成随机数,均值总是取0,标准差决定了误差的范围。
首先取小的标准差—— 1mm,无人车的表现如下图所示,无人车的跟踪效果比较好。
但是前轮转角的变化却非常剧烈,如下图所示。这还仅仅是1mm左右的误差,这在实际中是几乎不可能达到的。
标准差为1cm时的表现如下图所示,已经产生了明显的横向跟踪偏差。
此时前轮转角已经惨不忍睹了,如下图所示,这还是1cm左右的误差,实际中无人车的定位要达到1cm也是很困难的。
标准差为5cm时的表现如下图所示,这个误差是一般室外卫星定位的误差范围,也就是常见的误差,此时无人车彻底无法跟踪。
不仅前轮转角更疯狂了,而且由于横向偏差已经超过了前视距离d l ,局部目标已经出现在无人车侧面了,导致无人车完全无法跟踪了,如下图所示。
这说明纯跟踪算法对定位误差是极其敏感的,在实际应用时这是个非常严重的问题。
算法理解
为了易于理解纯跟踪算法,笔者用Mathematica设计了一个小程序,你可以用鼠标拖动目标点(绿色点),并观察前轮的转角,如下图。
目标点是纯跟踪算法中的核心概念,这个目标点是人为设计或者选择的。跟踪性能的好坏不仅取决于控制参数的选择,目标点的选择也起到重要的作用。
当目标点选取的不好时,例如距离无人车当前位置过近,则会出现控制量剧烈变化。
你也可以用鼠标拖动无人车的参考点,观察前轮的转角,如下图。从图中可以发现,在距离目标比较近时,纯跟踪算法的表现很糟糕,参考点位置有一点点改变都会导致前轮转角剧烈变化。
但是无人车的定位本身是必然存在偏差的,所以纯跟踪算法在前视距离短时稳定性并不好。
cuboid[center_: {0, 0}, dim_, radius_: 0] := Rectangle[center - dim/2, center + dim/2, RoundingRadius -> 0.01];move2D[shape_, pose_] := Translate[Rotate[shape, pose[[3]], {0, 0}], pose[[1 ;; 2]]];L = 1.64; \[Delta]max = 25 Degree ;bicycle[pose_, \[Delta]_] := { rearWheel = cuboid[{0, 0}, {0.4, 0.1}, 0.1]; frontWheel = move2D[rearWheel, {L, 0, \[Delta]}]; trunk = cuboid[{L/2, 0}, {L, 0.02}, 0.1]; move2D[{Blue, frontWheel, rearWheel, Black, trunk, Red, Circle[{L, 0}, 0.22, {0, \[Delta]}]}, pose] };Manipulate[ pose = Flatten@{p, \[Theta]}; dirvec = AngleVector[\[Theta]]; vertvec = {-dirvec[[2]], dirvec[[1]]}; p1 = p + L*dirvec; dl = Norm[goal - p]; \[Alpha] = VectorAngle[goal - p, {1, 0}] - \[Theta]; \[Delta] = ArcTan[2*L*Sin[\[Alpha]]/dl]; R = Abs[dl/2/Sin[\[Alpha]]]; c = p + Sign[\[Alpha]]*R*vertvec; a1 = -VectorAngle[p - c, {1, 0}]; a2 = -VectorAngle[goal - c, {1, 0}]; Graphics[{bicycle[pose, \[Delta]], Point[c], AbsoluteThickness[1], Line[{p1, p1 + AngleVector[\[Theta] + \[Delta]]*0.3}], AbsoluteDashing[{6, 3}], Black, Line[{p, p1 + dirvec*0.3}], Gray, Line[{p, c}], Line[{c, goal}], Line[{goal, p}], Line[{c, p1}], Orange, Circle[c, R(*,{a1,a2}*)], AbsolutePointSize[8], White, Point[p], Red, Point[c], Darker@Green, Point[goal], Red, Text[Style[ "\[Delta]=" <> ToString@Round[\[Delta]*180/Pi, 0.01] <> "\[Degree]", FontSize -> 16], p1 + dirvec*0.5], Text["\!\(\*SubscriptBox[\(d\), \(l\)]\)=" <> ToString@Round[dl, 0.01], (p + goal)/2 + {0, 0.1}]}, ImageSize -> 600, PlotRange -> 1.5 {{-1.5, 1.5}, {-0.5, 1.5}}, Axes -> False], {{p, {0, 0}}, Locator, Appearance -> Graphics@Point[{0, 0}]}, {{goal, {0.16, 0.12}}, Locator, Appearance -> Graphics[{Green, Point[{0, 0}]}]}, {{\[Theta], Pi/6}, 0, 2 Pi, 0.01}, TrackedSymbols :> True, Initialization :> {goal = {0.16, 0.12}}]
版权声明:本文为CSDN博主「robinvista」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/robinvista/article/details/118538616
责任编辑:hnmd003
相关阅读
-
天天快看点丨2023年汽车测试及质量监控博览会-“上海世博展览馆1号馆” -2023年8月9-11日
2023年汽车测试及质量监控博览会-“上海世博展览馆1号馆”-2023年8月9-11日
2023-01-05 -
平安人寿发布2022理赔年报:总赔付额398亿,重疾赔付金额占据半壁江山
近日,中国平安人寿保险股份有限公司(以下称"平安人寿"或"公司")重磅发布2022年理赔年报。报告显示,平安...
2023-01-05 -
天天快看点丨2023年汽车测试及质量监控博览会-“上海世博展览馆1号馆” -2023年8月9-11日
2023年汽车测试及质量监控博览会-“上海世博展览馆1号馆”-2023年8月9-11日
2023-01-05 -
年末收官,双喜临门!网思科技喜提”广州未来独角兽创新企业”及”广州高精尖企业”
12月30日,2022年广州独角兽创新企业榜单发布会活动成功举办。网思科技再次荣登广州未来独角兽创新企业...
2023-01-05 -
【独家焦点】融创160亿元境内债券整体展期 将缓解未来3至4年的流动性压力
1月4日消息,融创房地产集团有限公司发布公告称,总计160亿元的境内债券整体展期方案获债券持有人会议表...
2023-01-05
阅读排行
资讯播报
- 深交所:港股通标的证券名单发生...
- 天天速递!意甲:国米1:0击败那...
- 看点:Model Y获中国汽研“G+极...
- 即时:张之臻入围2023年澳网正赛...
- 环球热消息:新丝路文旅4.3亿元...
- 每日消息!出征世乒赛预选赛 男...
- 当前资讯!中超新赛季有望全面恢...
- 郑州市人才公寓建设和使用管理暂...
- 已领取郑州市青年人才生活补贴可...
- 特发服务9000万元买入结构性存款...
- 全球短讯!融创房地产40亿元公司...
- 全球观焦点:华发股份定增募资不...
- 要闻:三湘印象(000863):连续...
- 2023郑州人才公寓申请标准条件公...
- 【世界新要闻】鲁商集团6亿元超...
- 【速看料】李宇嘉:如何看待深圳...
- 每日热议!放开限购首周东莞迎“...
- 世界今热点:未及时披露到期未偿...
- 国际体育记协评选2022年度最佳媒...
- 【世界新要闻】佳源国际清盘呈请...
- 全球快资讯:上海延长“房产税试...
- 哈达迪伤退 四川男篮加时险胜吉林队
- 【播资讯】我爱我家为子公司7.5...
- 【独家焦点】上海城投开展保障性...
- 红星美凯龙:已累计斥资500.35万...
- 全球快消息!新华百货回应股票涨...
- 中国乒协公示新教练组名单
- 天天快资讯丨我乐家居股东开盛咨...
- 【世界新要闻】EVCC | SECC测...
- 中国金茂赎回全部5亿美元年息4.0...
- 大连万达商管:“20万达04”回售...
- 佳兆业2022年累计交付29个项目 ...
- 《昆仑山珍稀水资源可持续发展报...
- 环球视讯!泰禾控股子公司厦门泰...
- 巴基斯坦学者:中国人民至上的抗...
- 环球要闻:社会各界以多种形式纪...
- 每日焦点!什么是营业员?有关营...
- 大蛇丸怎么复活?详情内容快来看...
- 世界速看:《惊蛰》你看过吗?《...
- 天天即时:钟南山给孩子们的回信...
- 全球讯息:ios12.3有什么新功能...
- 速讯:dnf矛盾的结晶体怎么获得...
- 环球观天下!《卖炭翁》的作者是...
- 后疫情时代:宇航人沙棘油助你增...
- 中秋节北京有什么活动?
- 5G LAN先行者——深圳宏电助力...
- 每日观察!北太平洋洋流分布介绍...
- 百事通!怎么用淘宝扫码支付?淘...
- 世界速读:叫兽是什么意思?叫兽...
- 【独家】粤东地区包括哪些城市?...
- 当前消息!优酷和阿里巴巴有什么...
- 焦点速看:2月2龙抬头都有什么习...
- 【世界时快讯】金属蚀刻技术的制...
- 如何去除白蚁
- 环球今亮点!“你在哪里 我每天...
- 头条焦点:《八佰》什么时候上映...
- 焦点快播:日耳曼人都包括哪些民...
- 冬天进出浴室怕着凉,优调前来保...
- 世界热推荐:《三十而已》讲述了...
- 环球热议:多地数错并举促消费 ...
- 元旦假期全国国内旅游出游达5271...
- 环球关注:交通网加速完善 路铁...
- 天天播报:纳达尔联合杯两连败 ...
- 超亿吨磷矿助力香港玖源集团打造...
- 环球滚动:新梦想 新精彩——202...
- 中外选手在长春参与瓦萨国际滑雪节
- 【全球时快讯】人民网评:“五个...
- 足球国字号队伍今年均有硬仗 中...
- 全球热头条丨万豪西安浐灞喜来登...
- 全球即时:中国铁建房地产拟发行...
- 中国男足新帅有望春节前敲定 潜...
- 【世界新要闻】周口城投10亿元超...
- 外交部发言人:部分国家采取仅针...
- 户口迁入郑州可以申请哪些补贴?...
- 世茂集团:2022年合计交付12万套房源
- 全球观点:房地产板块异动拉升 ...
- 全球球精选!CANoe EVCA测试分...
- 最新资讯:2023年,楼市警钟已经...
- 世界热推荐:香港地产代理人数降...
- 速讯:华发集团10亿元超短期融资...
- 全球播报:华润置地中标深圳南山...
- 天天报道:福州中海尚湖郡项目取...
- 每日热点:华润置地(北京)共计...
- 报道:北京隆科新百商贸承租北京...
- 热门看点:福州鼓楼区11个项目集...
- 有传闻称迪丽热巴怀孕引发热议 ...
- 已接受2次手术目前仍在重症监护...
- 齐聚前沿 西部文博会展示文化装...
- 太子物业 | 太子爱家APP上线,...
- 看症状轻重切记不可盲目用药 专...
- 热讯:上海:元旦假期消费逐步回暖
- 天天实时:济南城投20亿元公司债...
- 当前短讯!华发物业:4.37亿收购...
- 环球速读:根深蒂固政治偏见的充...
- 转阴后为何咳嗽不止?病毒是否攻...
- 国联水产集团赋能“年鱼经济”,...
- 【新年新品】宝德自强®鲲鹏服务...
- 环球今日讯!楼市2022:行业大洗...
- 精选!中铁保理20亿元供应链金融...
- 中兴商业大股东大商集团减持公司...