英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
Majlesi机电系统学报 第三卷 第二期 2014年6月出版
自动停车系统
Eduard Sebestyen ,Tabita Fatu
自动化和应用信息学系,罗马尼亚蒂米什瓦拉Politehnica大学
Email: s_edu_89@yahoo.com
自动化和应用信息学系,罗马尼亚蒂米什瓦拉Politehnica大学
收到日期:2014年3月 修订日期:2014年4月 接受日期:2014年5月
摘要:本文的目的是介绍基于概率算法的预测的全自动和智能停车系统的概念和实现。这个系统包括一个完整的机电一体化结构,可以为每个客户找到最合适的停车场,并自动将其汽车放置在相应的位置,同时考虑到了基于HMI和网络通讯的用户交互。文中采用一种基于马尔科夫模型的算法,以查询停车系统的状态,并且向客户提供基于概率的预测,以便可以显示在接下来20分钟内所估计的空闲车位的数量。
关键词:停车系统,智能系统,机电一体化结构,马可夫模型。
- 引言
在世界各地,停车系统是必需的,有限的和昂贵的。能够满足需求的创新型停车系统的需求是非常大的,而且这种系统有最大化的优势和很小的不足。本文提出了一种在时间和合理调度方面都很高效的停车系统(从客户处获得车辆并且找到合适的停车位,自动地将车辆提供到输出位置,同时预测停车系统的状态),停车系统可以建在地下(建设在大建筑物、商场、公寓楼、公司等下面),或者它可以是一个多层建筑,或者是两种情景的混合。[1],[2],[5],[13],[14]。
在下文中,将呈现“自动停车系统”的概念,指出系统的优点。第二章介绍了机械结构,其次是电子器件。第四章描述软件实现,包括具体功能介绍。
- 机械结构部分
如图1所示,自动停车系统的机械结构,由多个圆形结构组成,在每一层的圆形结构上具有多个停车位。在结构的中心,有一个平台,用于从客户那里得到汽车,把它存到停车位,并且在取车时自动运输到出口位置。每一层都代表一个缓存区,能够存放几台车辆,除了第一层有几个出入口,并且它被用作操纵车辆的中间步骤。它是可通过软件永久配置的进/出传输区域(例如用于输入的n1位置和用于输出的n2位置),能够为客户避免排队以及因排队而增加的等待时间。这样,客户可以把他的车交给自动提车系统进行停车,同时系统也可以服务另一个客户。
图1 机械结构
平台在垂直平面上的运动是在“螺母”原理的帮助下完成的。如果我们有一个形状为螺钉的固定轴和一个形状为螺母的平台,当平台实现圆周运动时,它将绕着螺母作升降运动。我们使用步进将平台从一个停车位移动到另一个停车位。直流电机则将车辆从平台移动到停车位。
- 系统硬件器件
该系统具有用于垂直运动的主电机,并且另一个电机安装在平台上用于水平运动。此外,每一层的平台上装有一个距离传感器,用于检测汽车是否完全停在平台上以及何时停放完成。停车系统的入口处安装了操作台,上面有触摸屏。客户通过HMI(触摸屏)与存车系统进行交互,触摸板是熊猫Fez-II平台的附加组件。
图2 系统的功能构架
熊猫Fez-II发送命令到Arduino2009,平台必须明确是哪个车位,以及是否从平台释放或获取汽车。为了尽可能的保证系统结构的简单,系统模块之间的通信将是单线的。模块之间的通讯是有导线传输PWM信号来完成的。因此,具有5-9占空比的PWM信号代表第一个停车位; 10-14占空比的PWM信号代表第二停车位等。针对步进电机的控制方法,我们使用了IC(集成电路),而直流电机则用于存取或停放车辆。
为了减少各层平台上指令电机运动的输出功耗,通常采用驱动器来驱动直流电运动,原则上,在全H桥上,驱动直流电机需要4条命令线(用于命令每个晶体管),采用驱动器后,其仅需要2条命令线就可以驱动电动机。
图3 直流电机驱动器
-
软件部分
- 功能描述
在停车情况下,系统将给出一个唯一的数字代码,并将他送到门口,在这里,汽车将准备停车。并且在离开的情况下,他必须输入唯一数字代码(在停车时接收到的),然后他将被带到车辆出库的位置。
-
- 软件设计
该系统有四个主要的程序部分:
bull;运动的控制和跟踪
bull;寻找最佳位置的搜索算法
bull;用于与用户交互的HMI
bull;用于在线查询系统状态的网络服务器
- 运动的控制和跟踪
为了安全地存取汽车,必须精确地控制和跟踪电动机,使得在任何时候都知道每层平台的状态,以及汽车的状态(停放,在停车中,在平台上)。
我们希望在快速响应用户的命令和数据库访问的同时,还能够进行存取汽车的动作。一种可行性方法是通过发现故障,中断动作和循环询问来处理请求和电机的运动,但是对于现实生活中的应用,每个时刻都是至关重要的,因此对于安全保险,我们使用2个控制器作为主从控制。
Panda Fez-II是一个拥有用于用户交互的GUI的主站,它能够与服务器的连接,可以传输系统的当前状态,并且显示系统的当前状态(空闲和占用的停车位——显示为矩阵)。 Arduino 2009服务器是用来接受指令的,执行它们并发送服务完成的确认信号。所以,熊猫Fez-II发送一些数量的停车位,平台必须到达。Arduino已经知道上下两层之间的距离,以及两个相邻的停车位之间的距离。它知道平台的当前坐标后,并且根据Panda Fez-II的请求,进行计算后发出指令给电机。作为额外的安全措施,一些传感器被安装以给出平台和车辆的位置的实时反馈。
系统存取车实现的基础是熊猫Fez-II与C#(微.NET框架)。因此,如上所述,Panda Fez-II具有对被占用和空闲停车位的总体概况,并且它可以决定在哪个位置执行新的停车请求。
- 寻找最佳位置的搜索算法
为了节省时间和能量,系统了提供搜索算法以避免不必要的消耗能量和时间的移动。在人机界面这个部分中有两种类型的用户:会员用户和临时用户。会员用户将停留更长时间的停放并且将更频繁地出现,而临时用户将很少出现,并且他们在停车中停留较短的可能性很高。在这些条件下,有会员的用户将停放在距离主门最远的地方,而偶尔的用户将被放置得更靠近主门。由于自动停车系统是圆形的,必须考虑平台的旋转方向。根据跟踪算法,平台的确切位置是已知的,并且通过计算在左方向和右方向进行的步骤方向,将选择具有较少步数的方向。
停车位的表达方式被设计为矩阵,并且每个元素表示一个车位。因为系统是圆形的样式,我们试图使矩阵也变成圆形并标记对应的停车位。因此,矩阵的每个元素实际上是具有6个属性的结构:如果它被占用或没有(如果被占用,则该属性将用唯一ID表示),其他4个属性将被用于相邻停车位和最后一个属性表示矩阵中的坐标。
因为搜索算法将矩阵视为圆形,为了搜索停车位,我们使用相对坐标,这意味着已经准备了汽车的车库的上部相邻停车位将被认为是M(0,0)。假设新的停车请求到达。首先,算法将检查请求停车的用户的种类。如果它是一个通常的客户端,它将开始从M(0,0)(矩阵的第一元素)搜索一个空闲的停车位。如果M(0,0)被占用,它将判断右边的下一个相邻的空车位,依此类推直到它找到一个空闲车位或回到M(0,5)(第一层的最后一个停车位)。如果它到达M(0,5),并没有找到可用的停车位,它得到上层相邻停车位(M(1,5),继续搜索到相邻的停车位)。该搜索算法继续,直到找到空闲的停车位。
假设已经会员的用户的停车请求到达。该算法将从最高层的第一个停车位M(4,0)开始搜索。如果停车位不可用,它将判断右边的相邻的车位是否可用,如果直到M(4,5)它还没有找到空闲的停车位,它将到达低一层的相邻停车位(M(3,5)),接着继续搜索右边相邻的停车位。
当发现可用停车位时,Panda Fez-II将发送代表实际矩阵坐标的结构的第五个属性。在Arduino收到坐标后,它开始计算从水平移动的角度来看最小的距离。因此,Arduino获取当前坐标后将计算如果向右移动需要多少步数到新坐标,如果向左移动需要多少步数。如果两个方向上的步数相同,则它将采取右侧车位优先,否则它将采取需要较少步数的那一侧。
数据库的结构
数据库建立的作用如下:
i. 进/出车库门:这个数据库有不断记忆停车位和进/出门的作用,这意味着这个数据库将在某一时刻反映停车系统的状态。
ii. 存/取流:这个数据库有任务每天记住汽车的存/取流,它用于获取每周的每日流量统计。
iii. 客户:此数据库包含会员客户基本信息,它记住会员用户的习惯,以获得每个订户的存取车模式。
个人代码:此数据库存储给客户的所有个人代码,以便停放/获取汽车。
- 用于与用户交互的HMI
为了实现与用户的交互,HMI采用了触摸屏—这能够节约电子部件的成本,因为输入和输出设备是相同的,电子信息的交换和干扰都将减少,同时可以通过控制单个设备而避免同步控制来减少编程工作量。
HMI在C#(微.NET框架)中编程并用作为位图。每个特定菜单用像素逐个创建,最终形成图片。我们有4个菜单,标记为“主界面”,“停车界面”,“键盘”和“信息”。每个菜单是通过计算每个按钮的坐标单独设计的。这样,输出GUI被创建。
图C.1 菜单状态机
对于实现,我们使用一个状态机(图C.1),允许我们在标记的输出之间导航。所以,形成主菜单,我们可以转到“键盘”,然后回到“信息”并返回到“主”,或者“停车”,然后“信息”或“键盘”,然后回到“信息”。通过了解触摸屏的每个界面状态,我们知道我们在哪个菜单,知道有哪些按钮可以用和客户操作目的。所以,当我们按下触摸屏,我们激活一个像素去识别它,然后识别这个按钮所对应的菜单,所以通过按下所需的按钮,我们知道下一个状态和什么其他命令执行(发送停车或取车指令,命令相应的停车位操作以及在数据库中更新系统的状态,最终为服务器提供信息)。
i. 主菜单包含两个按钮,给予客户停车或得到他的汽车的可能性。
图C.2 主菜单
ii. 在选择“泊车”选项的情况下,提供新的菜单。用户必须根据他的类型(会员用户或临时客户)选择一个选项。另一个选项是可能的,这将给予偶尔的用户成为会员用户的机会。
图C.3 停车菜单
iii. 在选择“会员用户”选项的情况下,客户将必须输入他的用户密码。为此,系统将提供数字键盘。
图C.4 键盘界面
iv. 在选择“临时客户”选项的情况下,客户将被给予唯一的密码,也将被用于取出汽车。
图C.5 用户信息
v. 在选择“会员客户端”选项的情况下,用户将接收将在每次存车中都有效的密码。该视图几乎与C.5图相同。
vi. “取车”选项为客户提供了取车的操作流程。为了识别他的车,用户必须输入他的唯一密码(见图C.4)。在这之后,他会得到一个消息,汽车正在准备出库(几乎如图C.5)。
- 用于在线查询系统状态的网络服务器
用户可以通过服务器与系统进行交互,它包含关于系统的所有信息,并且用户可以查看相关信息。这个交互过程将通过使用网页来完成。该网页的作用是提供关于停车系统的当前状态的信息,同时该页面的主要目的是获得停车系统未来状态的预测。
如参考文献[2]和[7]所述,将提出马尔可夫模型建立的过程。马尔科夫链(或马尔科夫过程)是一个随机过程,它的属性是未来状态取决于前状态。此属性称为Markov属性。换句话说,进程的当前状态包含关于进程的整个演进的所有信息。
图D.1 马尔科夫链
在马尔科夫链中,一种状态向其他状态转变时用概率来表示,因此每个状态向其他状态的转移概率必须是等于1的总和。在图D.1中,我们可以看到,如果系统处于状态S1,它保持在相同状态的概率是33%,而它移动到S2的概率是66%; 我们还可以看到系统如果到达状态S2,它肯定(100%)将改变为S1。
(2)
计算从一个状态移动到另一个状态的概率的通式如公式(2)所示。在我们的例子中,系统的行为是不同的,因为我们的系统不能从一个状态跳跃到其他状态,它只能在相邻状态之间移动,如图D.2。因此,我们的系统状态由占用的停车位表示。生灭循环过程是马尔科夫模型的一个特例。这种特殊情况适用于被提出的问题中。
图D.2 生灭过程
根据生灭过程,当出生事件发生时,该过程从状态n 1中的状态n。当死亡事件发生时,处理从状态n-1中的状态n获得。计算预测的公式被用作于研究一些科学论文,如参考文献[1],[19]和[20]。
该公式表示在特定时间t停放的汽车的数量为j的概率。如果我们的停车位是空闲的,则停车系统处于状态0,如果10个停车位被占用,则处于状态10,如果有多个车加入,则改变为11,如果一个车离开,则改变为9。问题是我们如何确定转换率和。我们决定是停车离开率(汽车离开系统),是停车进入率(汽车加入系统)。我们测量20分钟内车辆进入和离开的比率,它们的和为100%。通过应用比例函数,我们可以得出lambda;和mu;分别占多少比例。我们有两个例外:第一个状态,当没有车停放(系统是S
全文共8341字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[144852],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。