自动平行泊车系统:路径规划、轨迹跟踪与控制
项目地址:https://gitcode.com/gh_mirrors/au/Automatic-Parking
在自动驾驶技术的浪潮中,自动平行泊车是实现完全自主驾驶的关键一步。这个开源项目提供了一个基于Python的全自动平行泊车解决方案,包括路径规划、轨迹跟踪和实际的平行停车操作。
项目简介
该项目构建了一个虚拟环境,通过OpenCV库实现视觉渲染,使我们能够在模拟场景下测试和优化自动泊车算法。使用environment.py
中的类,你可以创建并配置各种障碍物,并放置你的智能驾驶代理。项目还提供了一篇详细的阐述文章,详细解释了该系统的实现原理,可以在Towards Data Science上阅读。
技术解析
路径规划
采用经典的A*算法,结合车辆半径和障碍物信息,为智能驾驶代理找到从起点到停车位的最佳路径。然后,通过B样条曲线对原始路径进行平滑处理,以适应更精确的环境空间。
轨迹跟踪
利用车辆的运动学模型,其中包括速度、加速度、转向角和轴距等参数。状态向量和输入向量的设计允许我们应用模型预测控制(MPC)策略来精确地调整速度和转向,确保车辆按照规划的路径行驶。
平行停车
项目定义了四个关键规则,以指导智能驾驶代理完成平行停车任务。首先,规划到达停车位的路径,计算到达角度,然后选择保证点1和点2,最后利用两个圆的方程规划停车路径。MPC控制器在此过程中发挥核心作用,确保车辆安全准确地停入车位。
应用场景
这个项目不仅适用于学术研究,也适合自动驾驶爱好者或开发团队进行实际应用。它可以被集成到更复杂的自动驾驶系统中,比如无人驾驶车辆,或者用于训练和验证自动泊车算法。
项目特点
- 灵活性:用户可以自由设置起点、终点和停车位,适应各种复杂环境。
- 可视化:通过OpenCV实时呈现环境,易于理解车辆动态。
- 高效算法:采用A*算法和MPC控制策略,保证路径规划和执行的效率和精度。
- 全面性:覆盖了从路径规划、轨迹跟踪到具体停车位操纵的完整流程。
要运行本项目,只需在命令行中输入:
$ python main_autopark.py --x_start 0 --y_start 90 --psi_start 0 --parking 7
该项目由伊朗顶级大学的学生团队开发,他们在2020-2021年度的Rahneshan自动驾驶汽车比赛中荣获第一名。如需更多信息,可以通过LinkedIn或电子邮件联系他们。
这是一个绝佳的机会,无论你是想深入研究自动驾驶,还是寻找一个现成的泊车解决方案,这个项目都将是你理想的起点。立即加入,体验自动化停车的魅力吧!