自动泊车系统的设计 联系客服

发布时间 : 星期六 文章自动泊车系统的设计更新完毕开始阅读7d65aeb5482fb4daa58d4bd0

内蒙古科技大学毕业设计说明书(毕业论文)

while循环会停止运行直至校准结束。上位机端发送数据为“$b*”时,系统会将标志位cwtc赋1,代表开始进行侧位停车车位寻找操作,系统通过在while循环中调用函数cwxz()来实现侧位停车车位寻找操作,并在侧位停车车位寻找完成后,向上位机端发送车位寻找完毕信号。上位机端发送数据为“$c*”时,系统会将标志位cwtc赋2,代表开始进行侧位停车操作,系统通过在while循环中调用函数cwtcjx()来实现侧位停车操作,并在侧位停车完成后,向上位机端发送侧位停车已完成信号。上位机端发送数据为“$d*”时,系统会将标志位dcrk赋1,代表开始进行倒车入库车位寻找操作,系统通过在while循环中调用函数rkxz()来实现倒车入库车位寻找操作,并在倒车入库车位寻找完成后,向上位机端发送倒车入库车位寻找已完成信号。上位机端发送数据为“$e*”时,系统会将标志位dcrk赋2,代表开始进行倒车入库操作,系统通过在while循环中调用函数rkjx()来实现倒车入库操作,并在倒车入库完成后,向上位机端发送倒车入库车位寻找已完成信号。

4.2.3 小车控制程序实现

小车的控制分为四种,分别为:侧位停车车位寻找;侧位停车进行;倒车入库。这四种控制的实现主要通过调用zdbc.c中的函数cwxz(),cwtcjx(),rkxz(),rkjx()。其中,cwxz()是完成侧位停车车位寻找功能;cwtcjx()可以实现侧位停车进行功能;rkxz()可以实现倒车入库车位寻找功能;rkjx()可以实现倒车入库进行功能。下面对这四种控制的程序实现进行说明。 (1) 侧位停车车位寻找功能程序实现:

侧位停车车位寻找功能程序实现主要依靠光电避障模块,程序实现流程图如图4. 8所示。

20

内蒙古科技大学毕业设计说明书(毕业论文)

图 4.8 侧位停车车位寻找功能程序实现

当标志位cwtc为1时,系统会在while循环中调用函数cwxz()进行侧位停车侧位寻找操作,函数中首先会对舵机角度进行修正,以确保小车行进方向的正确并控制电机前进,通过语句while(gdq==1 || gdh==1)可以对车位寻找是否完毕进行判断,当光电避障模块标志中全部为0时,代表车位寻找完毕。寻找完毕之后,系统会控制电机停止,并将标志位bczt赋1代表侧位停车车位寻找完毕,并通过串口发送数据。

(2) 侧位停车进行功能程序实现:

侧位停车进行功能程序实现主要依靠电子指南针模块与超声波测距模块,程序实现流程图如图4.9 所示。

图 4. 9侧位停车进行功能程序实现

当标志位cwtc为2时,系统会在while循环中调用函数cwtcjx()进行侧位停车进行操作,函数中首先会调用函数read_cmp()获取当前位置指南针数值,并将指南针数据保存在jdjl中。在角度信息确认后,系统会控制舵机与电机,使小车按相应路线前进并实时进行指南针数据的更新,当当前指南针数据转动角度大于35度时,系统会通过舵机与电机控制小车前进并开启超声波以防止小车与障碍物发生碰撞。这时通过前后超声波与指南针模块间数据的交互,可以实现安全的泊车过程,当指南针数据满足设定值时,代表当前自动泊车操作已完成。泊车完成后,系统会将小车控制重新进行初始化操作,并将标志位bczt赋2通过串口发送至上位机端,代表侧位停车操作已经完成。

21

内蒙古科技大学毕业设计说明书(毕业论文)

(3) 倒车入库车位寻找功能程序实现:

倒车入库车位寻找功能程序实现主要依靠电子指南针模块与光电避障模块,程序实现流程图如图4. 10所示。

图 4. 10倒车入库车位寻找功能程序实现

当标志位dcrk为1时,系统会在while循环中调用函数rkxz()进行倒车入库车位寻找操作,函数首先会调用函数read_cmp()获取当前位置指南针数值,并将指南针数据保存在jdjl中。在角度信息确认后系统会对舵机角度进行修正,以确保小车行进方向的正确并控制电机前进,通过语句while(gdh==0)可以对小车当前位置信息进行判断,满足要求时,系统会通过舵机控制小车的前进方向。在小车行进方向改变之后,系统会通过调用函数read_cmp()实时获取当前位置指南针数值,当小车转动角度大于35时,系统会判定当前倒车入库车位寻找已完成。寻找完毕之后,系统会控制电机停止,并将标志位bczt赋3代表倒车入库车位寻找完毕,并通过串口发送数据至上位机端。 (4) 倒车入库进行功能程序实现:

倒车入库进行功能程序实现主要依靠电子指南针模块与超声波测距模块,程序实现流程图如图4. 11所示。

22

内蒙古科技大学毕业设计说明书(毕业论文)

图 4. 11倒车入库进行功能程序实现

当标志位dcrk为2时,系统会在while循环中调用函数rkjx()进行倒车入库进行操作,函数中首先会调用函数read_cmp()获取当前位置指南针数值,并将指南针数据保存在jdjl中。在角度信息确认后,系统会控制舵机与电机,使小车按相应路线前进并实时进行指南针数据的更新,当所获取的指南针数值满足要求时,系统控制小车直线后退,并开启后超声波测距,当距离满足要求时,系统会控制电机停止并进行初始化操作。最后,系统会将标志位bczt赋4通过串口发送至上位机端,代表倒车入库操作已经完成。

4.3 上位机界面设计

本设计中上位机使用C Sharp语言,在Microsoft Visual Studio 2010软件平台下进行设计,设计内容包括:(1)系统时间显示部分;(2)串口设置部分;(3)自动泊车状态显示部分;(4)数据监测显示部分;(5)指南针控制部分;(6)自动泊车控制部分。上位机界面如图5.1所示。

23