/Baidu2021

国家二等奖 第十六届全国大学生智能汽车大赛 百度智慧交通组

Primary LanguageC++

智能汽车竞赛代码文件

国家二等奖 第十六届全国大学生智能汽车大赛 百度智慧交通组

成果展示请观看比赛视频实录 第十六届全国大学生智能汽车竞赛江苏大学百度组比赛视频


文件功能概述

nn 是存放神经网络模型和推理程序的文件夹

src 是存放主程序的文件夹

  • camera.py 是摄像头类,负责读取摄像头所采集的图片

  • cart.py 是控制车辆运行的类,输入速度值和方向值,便可与下位机通信,驱动车辆

  • collect.py 是采集数据的程序,负责采集摄像头图像并实时记录手柄的方向值

    在数据采集过程中,我们使用手柄手动驱动小车在地图中前进,同时记录下摄像头的图像和实时方向值,以此形成数据集

  • compass.py 是磁罗盘(九轴加速度计)的类,车辆根据磁罗盘的值判断其自身的位姿转角

  • compass_prepare.py 是初始化磁罗盘的程序,确认可以正常初始化磁罗盘的串口通讯以及获取位姿角数据

  • cruiser.py 是基于卷积神经网络实时推理方向值的程序,输入摄像头图像,输出方向值

  • detectors.py 是目标检测SSD算法的程序库和相关配置,目标检测推理需要使用本文件中的函数

  • joystick.py 是手柄的类,负责和手柄进行通信并自定义手柄各个按键的功能

  • laser.py 是测距激光雷达的类,可测量车辆与目标物之间的距离

  • laser_bool.py 是二值激光雷达的类,若目标物在一定范围内(直线距离)则输出是,不是则输出否

  • marker.py 是目标检测推理的程序,输入摄像头图像,输出目标物体的种类以及四个坐标点的值

  • my_work.py 是一些测试代码用例

  • run.py主程序,负责全程车辆的运行

  • run_algo.py 是车辆运行中的功能模块,如转动舵机、打靶等功能

  • run_lane.py 是只运行车道线检测的主程序,运行此文件将只会完成巡航(绕地图行进一圈)的功能,忽视其他任务

  • run_only.py 是测试代码,请忽略

  • serial_port.py 是串口通讯文件,负责串口的相关事件

  • settings.py 是配置文件,里面存放车辆运行的相关配置

  • ttyUSB.py 负责初始化串口中的分发串口工作

  • widgets.py 是舵机、电机等配件的控制程序,可以调用程序来使得各个机械模块完成相应的动作

  • widgets_servo_test.py 是配件与机械模块的一些测试代码用例