STM32智能车路径规划与避障技术详解

本人苦于学校项目需求,却没找到完整的路径规划无人驾驶避障智能车的制作过程,本文不含具体代码及原理,只给大家提供一个思路,希望大家能根据自身情况进行学习

  • 硬件准备
  • 能搭载ROS系统与SLAM系统的STM32开发板

    ROS(Robot Operating System)是一种面向机器人应用程序的开源软件开发框架。它提供了一套丰富的库和工具,使得开发者能够更加便捷地开发机器人的软件部分。ROS的主要目的是提供一种灵活且可扩展的方式来构建机器人系统,包括感知、控制、执行和通信等方面。

    SLAM系统是用于机器人在未知环境中完成定位、建图和路径规划的系统。
    SLAM(Simultaneous Localization and Mapping)全称即时定位与地图构建或并发建图与定位,它主要的作用是让机器人在未知的环境中,完成定位(Localization)、建图(Mapping)和路径规划(Navigation)。
        目前,SLAM技术被广泛运用于机器人、无人机、无人驾驶、AR、VR等领域,依靠传感器可实现机器的自主定位、建图、路径规划等功能。

    openmv智能摄像头

    OpenMV智能摄像头是一款基于RM Cortex-M4微控制器的高性能数字图像处理设备。
        OpenMV智能摄像头采用了全球最小的图像传感器OV7725,具有640×480像素的分辨率和30帧/秒的帧速率。OpenMV智能摄像头还可以通过WiFi、蓝牙等方式进行远程控制,实现智能化应用。

     

    激光雷达模块

    激光雷达模块是无人驾驶智能小车上重要的传感器之一,它可以通过发射激光束并接收反射回来的信号,测量激光束发射和接收的时间差,从而计算出障碍物的距离信息。激光雷达模块还可以通过扫描机构实现水平视场和垂直视场的测量,提供更全面的环境感知信息。
        在智能小车上,激光雷达模块可以与STM32开发板、OpenMV摄像头等其他传感器进行配合使用,实现避障、路径规划等智能控制功能。同时,激光雷达模块还可以提供高精度测距信息,为智能小车的自动驾驶提供可靠的数据支持。

    车载电源,显示屏,按键(如需要),电机驱动模块,舵机驱动模块,杜邦线,跳线等。

  • 制作步骤
    1. 系统搭建:在STM32开发板上搭建ROS系统,配置ROS与STM32之间的通信方式,例如使用串口通信或者网络通信等。同时,在OpenMV上编写避障程序,并通过串口与STM32进行通信。 
    2. 传感器接入:将智能小车上的传感器(如摄像头、激光雷达等)接入STM32开发板,并通过ROS系统进行标定和校准。同时,将OpenMV摄像头通过USB接口连接到STM32开发板,并设置正确的通信参数。 
    3. 控制算法开发:根据小车的运动需求,编写相应的控制算法,例如路径规划、速度控制等。同时,根据OpenMV摄像头的避障功能,编写相应的避障算法。 
    4. 执行器驱动:将小车上的执行器(如电机、舵机等)接入STM32开发板,并编写驱动程序,通过ROS系统控制执行器的动作。同时,在STM32上编写程序,通过串口与OpenMV进行通信,实现避障功能的控制。 
          具体来说,避障功能的工作原理是利用OpenMV摄像头捕捉到前方障碍物的图像,然后通过图像处理算法识别出障碍物的形状和位置。根据障碍物的位置和形状,避障算法会生成相应的避障路径,并通过串口将路径信息发送给STM32开发板。STM32根据接收到的路径信息控制小车的运动,实现避障功能。
          在实际应用中,可以通过调整OpenMV摄像头的参数和避障算法的参数来优化避障效果。同时,可以通过扩展小车的硬件配置,添加更多的传感器和执行器,提高小车的性能和可靠性。

    如果小车具有激光雷达或者深度相机等更高级的传感器,就不需要红外避障或者超声波避障模块。
    红外避障模块使用的是红外线传感器,其工作原理是当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。
        超声波避障模块使用的是超声波传感器,其工作原理是利用超声波的反射原理,通过测量发射超声波和接收到回声的时间差来测量障碍物距离,从而实现避障功能。
    如果小车使用的是激光雷达或者深度相机等更高级的传感器,就可以直接获取到障碍物的位置信息,不需要再使用红外避障或者超声波避障模块。

    该车的定位和导航功能通过以下方法实现:
    利用激光雷达可以通过点云匹配给汽车进行定位。该方法来自于激光雷达传感器的检测数据与预先存在的高精度地图连续匹配,通过这种匹配可以获得汽车在高精度地图上的全球位置及行驶方向。
        结合激光雷达和惯性导航系统,利用IMU、惯性导航系统、编码器和GPS,得到一个预测的全局位置。当激光雷达实时扫描单次的点云数据后,结合单次的点云数据进行匹配,并进行特征提取。这些特征包括路沿、车道线、高度等周围点线面的特征。对于高精度地图,提取过特征与实时提取的特征进行匹配,最终得到精准的车本体速度,这是激光雷达的定位过程。

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32智能车路径规划与避障技术详解

    发表评论