littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于C++和OpenCV的自动驾驶转向控制系统

项目简介

本项目借助C++和OpenCV实现自动驾驶转向控制,运用图像处理技术计算车辆转向角度,确保车辆在车道内安全行驶。系统通过识别图像中的锥形物体并计算其相对车辆前方的位置,来调整转向角度。

项目的主要特性和功能

  1. 图像处理与转向角度计算
    • 利用共享内存接收视频解码器的新帧。
    • 通过图像处理算法计算转向角度,保障车辆在车道内行驶。
    • 支持--verbose命令行参数以显示调试窗口。
  2. 系统集成
    • 可与opendlv-vehicle-viewh264decoder集成。
    • 支持在Intel/AMD x86_64和ARM平台上运行。
  3. 性能要求
    • 计算的转向角度误差在原始转向角度的±50%以内,且在测试视频帧的30%以上满足此要求。

安装使用步骤

环境准备

  1. 系统要求
    • Ubuntu 18.X
    • Docker 20.10.X
    • Docker-compose 1.28.X
    • g++ 9.3.X
    • Git
  2. 安装依赖
    • 安装Docker和Docker-compose。
    • 安装g++编译器。
    • 安装Git用于代码管理。

项目构建与运行

使用Docker构建与运行

  1. 复制项目: bash git clone git@git.chalmers.se:courses/dit638/students/2021-group-08.git cd 2021-group-08
  2. 切换到包含录制文件的目录。
  3. 运行opendlv-vehicle-viewbash docker run --rm --init --net=host --name=opendlv-vehicle-view -v $PWD:/opt/vehicle-view/recordings -v /var/run/docker.sock:/var/run/docker.sock -p 8081:8081 chalmersrevere/opendlv-vehicle-view-multi:v0.0.60
  4. 在Chrome中打开opendlv-vehicle-view并选择录制文件播放。
  5. 启用GUI访问: bash xhost +
  6. 运行h264decoderbash docker run --rm -ti --net=host --ipc=host -e DISPLAY=$DISPLAY -v /tmp:/tmp h264decoder:v0.0.4 --cid=253 --name=img
  7. 播放录制文件以填充共享内存。
  8. 构建并运行DriverYourselfbash docker build -f Dockerfile -t driveryourself:latest . docker run --rm -ti --net=host --ipc=host -e DISPLAY=$DISPLAY -v /tmp:/tmp driveryourself:latest --cid=253 --name=img --width=640 --height=480 --verbose

手动构建与运行

  1. 复制项目并进入项目目录。
  2. 创建并进入构建目录: bash mkdir build cd build
  3. 构建软件: bash cmake .. make
  4. 运行测试套件: bash make test

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】