littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于 C++ 和 Java 的自主行驶汽车项目

项目简介

本项目是一个实现自主行驶汽车功能的毕业项目。通过深度相机获取环境图像,运用 3D 图像处理技术进行障碍物识别与检测,处理结果通过蓝牙发送至 Arduino 的 MCU,使汽车能在不碰撞障碍物的情况下驶向目标。但受新冠疫情影响,汽车行驶控制阶段未实现。

项目的主要特性和功能

3D 图像数据处理

  • 用深度相机采集场景和物体图像,创建点云数据集。
  • 采用 RANSAC 算法进行地面平面分割,欧几里得聚类算法进行物体分割。
  • 通过计算物体投影到地面平面的凸包实现物体检测。

路径规划

  • 设定汽车起始点和目标点。
  • 利用 Dijkstra 算法规划从起始点到目标点的最短路径。

汽车行驶控制(未实现)

原计划将处理后的信息通过蓝牙发送至 Arduino 控制汽车行驶。

安装使用步骤

环境准备

确保拥有以下硬件设备: - 深度相机 Intel Realsense R200 - Arduino Mega - 汽车平台 - 地面垫 - 如 3D 几何形状的障碍物 - 相机稳定支架

软件安装与配置

安装以下软件: - PCL(Point Cloud Library)用于点云数据处理 - C++ 开发环境 - Java 开发环境 - Microsoft Visual Studio 2015 - Intel RealSense SDK 1.0 - Intel RealSense R200 Depth Camera Manager 2.1.27.2853 - Cloud Compare - Eclipse

代码运行

本项目仓库仅包含 C++ 代码: - 运行 Source.cpp 接收并保存 3D 数据。 - 运行 Source2.cpp 进行地面平面分割、物体分割和物体检测。

路径规划实现

使用 Java 实现路径规划算法,处理凸包坐标时需进行适当转换以适应 Java 和 STDDRAW 库的要求。

下载地址

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