# VehicleCtrl **Repository Path**: gzz96/vehicle-ctrl ## Basic Information - **Project Name**: VehicleCtrl - **Description**: 激光雷达建图,A*路径规划,预瞄算法车辆控制,无人车系统仿真 - **Primary Language**: C++ - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 0 - **Created**: 2021-06-15 - **Last Updated**: 2025-10-21 ## Categories & Tags **Categories**: cae **Tags**: None ## README # VehicleCtrl #### 介绍 激光雷达建图,A*路径规划,预瞄算法车辆控制,无人车系统仿真 #### 软件架构 astar是astar算法的实现,主要提供方法: > ```c++ > bool Astar(QVector> map, int startx, int starty, int endx, int endy, vector &pathx, vector &pathy) > ``` 引用传递规划后的路径(两个数组) controller预瞄控制算法的实现 map障碍图的显示,路径点的显示 paplan 根据图片信息,调用Astar规划返回的路线 path 自定义路径 sensor 激光雷达原理仿真 vehicle 更新车辆的位置,根据预瞄控制结果,进行不同的控制 #### 安装教程 路径规划的手动设置起始点设为(1,9)点,终点设为(8,1)点。 程序使用步骤如下: 1.在Pro文件添加计算机OpenCV的静态库路径,在paplan.cpp的第5行,sensor.cpp第7行 和vehicle.cpp第7行设定考核图的绝对路径 2.运行程序 3.在主窗口点击按钮"Set Lidar Detecting Path",再点击按钮"Vehicle Start",车辆开始从 右上房间往左下房间移动 4.待车辆移动到最终位置,点击按钮"Show Map",此时探测的栅格地图会在屏幕上显示, 并且在程序的构建目录下保存一张名为“Map.jpg”的图片,即栅格地图 5.点击按钮"Set Planned Path",再点击按钮"Vehicle Start",车辆开始沿规划的路径从左 下房间返回右上房间 6.在车辆行驶的过程中可以随时点击"Stop Timer"按钮使车辆停止观察车辆状态,待观察 结束再次点击此按钮车辆会继续行驶 #### 效果 *主控界面* ![输入图片说明](https://images.gitee.com/uploads/images/2021/0615/203429_29801da6_5570956.png "e345855a28dd5ebf661451a6094d0cc.png") *建图* ![输入图片说明](https://images.gitee.com/uploads/images/2021/0615/203458_4dc36e31_5570956.png "6aad1c8f8389badc87849614eac2631.png") *形态学处理* ![输入图片说明](https://images.gitee.com/uploads/images/2021/0615/203538_4dc5595e_5570956.png "9cd35398629d713c1508cbcb0b50e65.png") *规划的返回路径* ![输入图片说明](https://images.gitee.com/uploads/images/2021/0615/203602_c4566576_5570956.png "58e4f6ea08a8ff044372d379ddfdf34.png")