• 【路径规划】基于VFH算法实现机器人路径规划附matlab代码


    1 内容介绍

    自十九世纪汽车问世以来,人类世界发生巨大变革,汽车为人类生活带来了极大的 便利。汽车的到来,扩展了人们的生活半径,提升了人们的效率,使得生活变得更加的 丰富多彩。随着技术水平的提升,汽车的速度得到很大提高,在带来更加可观效率的同 时,也带来诸多问题,如噪声、能源、排放等等。其中交通事故频发更是成为科技与人 类日益突出的的矛盾。 在全世界的各个地区,交错纵横的道路输送新鲜血液给经济发展的同时,也发生了 许多的交通事故。据世界卫生组织数据表明,平均每年全球大约 100 多万人死于交通事 故[1],每天全球大概有 3000 多人死于交通事故,受伤或残疾的人数量更多。事故每年 造成 5000 亿美元的经济损失,其中发展中国家经济损失占比接近 20%[2]。事故的发生 很大程度上是受到汽车车速过高的影响,其原因包含相当多的人为因素,如不遵守交通 规则,疲劳驾驶,危险驾驶,车速过快等等,而其中驾驶员对法规的忽视,反应迟缓以 及操作失误等是主要原因。交通事故对生命财产安全造成威胁,还带来道路堵塞,道路 基础设施损毁,道路交通局部瘫痪等进一步问题,这无疑给医护、营救人员造成很大困 扰。 在此背景下,各国政府和研究机构开始共同关注如何利用科学技术提高汽车的安全 性能,减少交通事故,提高道路交通系统的运行效率 [3],由此智能交通系统的研究拉开 序幕。美国的智能交通学会(Intelligent Transportation Society of America, ITS America) 最先提出智能交通系统(Intelligent Transportation System, ITS)的概念,随后在世界范 围推广[3]。该系统是提高运输效率和安全性、应对交通拥挤、解决环境问题的有效方式 [1]。其核心理念是系统观点为基础,综合考虑道路交通系统和车辆系统来解决交通问题 [3]。要想构建 ITS 必须将人工智能、信息、通信、控制、计算机等技术综合运用于车辆 系统和交通管理系统,使其具有准确、大范围、实时高效的性能[4]ITS 主要包括智能 车辆控制系统和道路交通控制系统,智能车辆的研究相比于后者成本更低、周期更快、 还能提升车辆安全性,大幅度提高交通效率 [1],所以智能车辆(Intelligent Vehicle, IV) 或者智能驾驶(Intelligent Driving)是 ITS 的一个重要组成部分被各国广泛研究。 时至今日,随着科技在汽车领域的应用,汽车变得越来越高级,功能越发强大,安 全性也大大提高,虽然在一定程度上减少了交通事故带来的人员伤亡,但要想更大程度 上减少交通事故的发生依旧任重而道远。目前汽车现有的结构已经很大程度提高了汽车 的安全性,安全功能也越发完备,要想在传统的汽车主被动安全中再进一步提高安全等级实非易事,故在技术日益发展的今天,有了人工智能的理论技术基础,智能驾驶应运 而生,成为人类新的研究热点。 

    全局路径规划依赖拓扑级地图信息,属于静态规划,无法考虑道路细节等诸多情 况,所以在智能驾驶中,必须再结合以车身传感器的实时信息采集为基础的局部路径规 划才可以进行,本文对局部路径规划进行了研究。 路径规划的核心研究是规划算法。在各种路径规划算法中,VFH 类算法是被研究时 间比较长的一类算法。VFH算法是密歇根大学Johann BorensteinYoram Koren提出的。 最初人工势场法(Artificial Potential Field, APF)是将智能车移动视为一种虚拟的人工受 力场运动,目标对车辆产生吸引力,障碍物对车辆产生排斥力,根据斥力和引力来共同 决定智能车辆的移动。但是 APF 法存在局部最优点问题,易出现锁死现象,随后 Borenstein 和 Koren 结合了 APF 法和栅格法于 1989 年提出虚拟力场法(VFF[3],利 用单元格来表示该处存在障碍物的概率,再利用引力斥力的矢量和来指导智能车辆前进, 但 VFF 法也存在不足,比如存储量大、鲁棒性差、不易通过狭窄通道环境或者通过狭 窄环境不稳定,而且栅格的离散性会使斥力急剧变化,容易丢失障碍物分布信息,所以 他们在分析虚拟力场法的不足之后提出了向量场直方图算法。 VFH 算法是将智能车辆周围的环境以栅格的形式进行划分,并将智能车周围一定 范围定为一个活动窗口(常用正方形)进行分析,如下图 2.12.2。活动窗口里的每 一栅格,作为一个活动单元,每个活动单元都有一个 CV 值(Certainty Value),来表征 对于该单元是否存在障碍物的一个信心,每一个活动单元,看作是一个指向智能车的一 个向量,这个向量的方向 β 和模长 m,由公式确定

    2 仿真代码

    ob = imread('picture1.png');s = ob;s = double(s);[row, column] = size(ob);n = 1;obstacle = zeros(2000, 2);for i = 1:row    for j = 1:column        if s(i, j) == 0            obstacle(n, 1:2) = [i, j];            n = n + 1;        end    endendobstacle = obstacle / 50;save ('obstacle.mat', 'obstacle');

    3 运行结果

    4 参考文献

    [1]周一飞. 基于环境复杂度模型的VFH路径规划算法研究. 

    [2]王韬, 刘金, 马永起. 基于VFH+算法的机器人实时地图创建与避障[J]. 计算机与现代化, 2014(4):6.

    博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

    部分理论引用网络文献,若有侵权联系博主删除。

  • 相关阅读:
    TypeScript知识点
    Alibaba架构师纯手工打造神仙级“2022版Java面试手册”
    【Django restframework】django跨域问题,解决PUT/PATCH/DELETE用ajax请求无法提交数据的问题
    智加科技与东风柳汽达成深度合作 自动驾驶重卡计划2024年初量产交付
    第十三届蓝桥杯JavaB组省赛F题——最大子矩阵 (AC)
    IDEA如何运行SpringBoot项目(超详细截图)
    基于PHP+MySQL音乐网站的设计与实现
    【故障公告】今年第五次:数据库服务器 CPU 100%
    一次HTTP请求流量分析详解(很详细一看就懂)
    Java中String,Int,Date,Timestamp类型转化
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/125998174