文:上海新时达电气股份有限公司 孙恩涛 何小虎 | 2019年第二期 (0) | (0)

【摘要】

本文设计了AGV(AutomatedGuidedVehicle,自动导引运输车)与电梯数据交互系统,分别研究了基于LoRa网络和4G网络的AGV与电梯交互系统实现的可行性和实现原理。通过设计精简的交互流程、精简的通讯协议、闭环交互机制等保证AGV与电梯交互的成功率。通过设计电梯平层精度控制算法保证AGV平稳进出轿厢;通过设计AGV被困检测逻辑和被困通知逻辑,保证AGV乘梯的安全性。

关键词:AGV电梯交互系统

1.引言

电梯作为使用最频繁的垂直交通工具,每天运输数以亿计的乘客,已成为城市垂直交通不可或缺的重要组成部分。随着电梯智能化的发展、随着物联网技术的进步,与电梯交互的对象已不仅仅局限在人,还包括各式各样的AGV,电梯除了输送乘客之外,运送药物、食品、文件等也逐渐开始普及,如图1所示为电梯与某医院送药机之间的联动交互,由传送带负责将药物箱运输到电梯口,由电梯负责将药物箱送至目的楼层。图2为服务AGV乘坐电梯为办公大楼递送文件。由于电梯属于特种设备,与电梯交互的设备需符合特种设备安全法的相关要求,其交互系统的安全性、稳定性及可靠性需符合电梯安全使用的要求。因此设计一种安全可靠的交互机制至关重要。

图1某医院送药机与电梯交互图2办公楼服务AGV与电梯交互

2.系统设计

AGV与电梯交互系统需首先建立AGV与电梯之间的数据通讯链路,由于AGV的移动性特点,有线通讯方式不适合本应用场景。AGV与电梯之间的无线通讯可采用局域网无线通讯,如LoRa、ZigBee、Wi-Fi等,也可采用广域无线通讯,如2G、4G、NB-IOT及LoRaWAN等。考虑到实际应用工况,AGV与电梯之间的数据通讯需穿透轿厢厅门的金属层,需具有较好的绕射能力确保能顺利通过厅外和井道内之间的各个障碍,且通讯距离需满足高楼层电梯数据传输需求,ZigBee和Wi-Fi等2.4G或更高频段的无线技术由于绕射能力一般,实际测试发现,当厅外AGV与电梯轿厢位置相差5个楼层以上时(楼间距3米左右),Wi-Fi等2.4G技术通讯延时和通讯质量受到明显影响。而基于运营商网络建立的通讯,只要在运营商基站范围之内,基本能实现数据交互的可靠性。本文选择基于LoRa网络(如图3所示)和基于4G网络(如图4所示)建立AGV与电梯之间的通讯链路。

2.1硬件组成

图3基于LoRa方案的AGV与电梯交互系统结构示意图

图4基于4G网络的AGV与电梯交互系统结构示意图

通过在AGV端和电梯数据传输单元端各加一个LoRa通讯模块,建立AGV与电梯之间的通讯链路,如图3所示。LoRa技术遵循IEEE802.15.4g标准,ISM频段为433MHz,传输速率为几十到几百Kbps,该技术采用扩频技术,具有前向纠错能力,采用AES128位加密,安全性较高。由于AGV与电梯之间的交互数据量为每秒不到50字节,因此LoRa能满足速率要求。基于4G网络的交互系统,如图4所示,AGV与电梯数据传输单元之间通过服务器建立通讯,由远程服务器负责数据转发,此方案主要解决LoRa网络在高楼层电梯、井道环境恶劣、现场干扰严重等情况下网络质量严重下降问题,实际应用时需在服务器端做唯一识别码的绑定,AGV与电梯数据传输单元通讯数据包内容中带唯一识别码,服务器接收到数据包后提取原地址,根据绑定关系确定目标地址,将数据包转发到目的地址对应的网络连接。LoRa与4G方案能相互补充,满足不同工况下AGV与电梯之间数据交互的需求。

本系统通过精简通讯协议、精简交互流程等方法,尽量较少无效数据包,从而降低LoRa网络和4G网络的通讯数据量。精简之后的AGV使用电梯的流程为:AGV申请电梯->得到反馈->指令登记->得到反馈->电梯到达消息->开门保持->开门保持释放->AGV登记指令->得到反馈->电梯到达消息->开门保持->开门保持释放->释放电梯->电梯释放成功。在申请电梯后,如果得到反馈,不管电梯状态是否可用,则必须释放电梯才可以结束申请,该交互流程中每个环节都是不可或缺且环环相扣;通讯协议数据段中,通过设计转义机制,将数据段内容中与数据帧头尾相同的字符进行转义,避免解析错误,与ASCII码编码方式相比,数据量最多能降低一半。

2.2软件实现

(1)AGV与电梯数据交互软件逻辑

①AGV已登记指令异常丢失处理

AGV进入电梯轿厢且登记目的楼层指令后,在电梯运行过程中或者电梯未到达AGV目的楼层之前,AGV已登记的轿厢指令可能会由于反向销号逻辑、双击销号逻辑等原因被消除。本系统中的协议转换装置软件上需增加AGV登记指令异常丢失判断,并在检测到指令丢失情况自动补登指令,同时定期更新电梯状态(包括是否已经成功登记状态)下发至AGV。

②闭环数据交互

AGV与电梯交互的任何命令都需确认,即数据收发为闭环,防止双方实时状态的不一致,导致逻辑控制的异常,如AGV到达目的楼层提醒功能,当协议转换装置判断AGV到达目的楼层后,需自动下发通知命令至AGV,在AGV回复确认信息之前,协议转换装置以设定的频率通知AGV,直至AGV回复收到确认后停止。

③发送频率自适应

AGV或协议转换装置超时重发时间默认值记为T1,重发次数记为C,重发次数阀值记为S;当AGV或协议转换装置每发一个数据包,超时计数器执行累加,接收到返回数据则超时计数器清零,当超时计数器累加值达到T1,则自动重发;若重发阶段,仍满足第一条的条件,则C加1,若不满足第一条的条件,则C清零;若C>=S,则判断为堵塞发生,需调整超时重发时间为C*T1,实现发送频率的自动调整,减轻数据堵塞。

(2)环形缓冲区实现

AGV与电梯交互系统中,AGV和协议转换装置需获取电梯的运行状态、获取已登记信号状态及获取对电梯的控制权等。实际使用过程中发现,由于LoRa或4G等无线传输存在自身容易受干扰的特点,AGV与电梯之间的通信数据包容易出现丢包、错包、数据不均匀等情况,特别是出现数据堵塞情况,若仍一直按堵塞之前的数据发送频率发送的话,只会进一步严重加剧数据异常的发生。

软件上通过在收发两端建立数据队列,将收到的数据统一存储在接收队列中,防止因断包导致校验失败而丢弃,防止因堵塞造成数据同时到达时处理不当导致数据丢失等问题,实际接收处理时,通过在接收队列中提取合法数据包进行处理;在发送时,将数据统一放置发送队列,由发送单元周期性从发送队列中提取合法数据包执行发送,协议转换装置软件处理环形缓冲区流程图如图5所示,另外,通过上一节提到的自动调整发送单元合法数据包发送频率,能避免堵塞时环形缓冲区数据内容过快填满问题。

图5AGV与电梯数据交互环形缓冲区软件处理流程图

关键技术实现

3.1平层精度控制技术

电梯平层精度影响AGV进出轿厢平稳性,平层误差严重的容易将AGV绊倒,然而实际情况下,打滑或编码器干扰导致电梯停靠位置不准确经常能发生,本系统设计一种准确停靠方式,解决电梯平层精度不准问题,防止AGV进出电梯时被绊倒。通过设计位置校准算法、末端爬行算法,保证电梯能停靠到平层位置,大大降低AGV进出轿厢时倾斜或被绊倒的风险。算法实现过程如下(以电梯高速上行为例,高速下行位置修正原理算法类似):

(1)电梯高速运行中经过中间楼层时,出中间楼层平层插板时,首先判断当前编码器位置数据与井道自学习时学到的位置差,若在设定的范围之内,则将当前位置校准成当前楼层井道自学习位置加上平层开关距离与平层插板距离之和的一半,再加上平层开关延时导致的误差距离;

(2)电梯高速运行进目的楼层插板时,计算当前位置偏差,若当前位置与电梯井道自学习学到的位置偏差在设定的范围之内时,则将当前位置校准成当前楼层井道自学习位置减去当前楼层插板距离加平层开关距离之和的一半,再加上平层开关延时导致的位置偏差距离;

(3)电梯进目的楼层插板时,当当前速度小于计算值时,转为爬行模式,在此阶段,电梯以指定速度V2运行;

(4)在爬行模式过程中,记UIS为上平层开关,DIS为下平层开关,上行时当DIS动作或下行时UIS动作时退出爬行模式;

(5)爬行模式结束后进入零速模式,检测到编码器反馈零速时,延时设定时间T切断控制器运行信号。

(6)当由于异常原因,如钢丝绳在电梯爬行阶段出现伸长,电梯冲出目的楼层,此时位置校准算法会控制电梯不停车,但改变运行方向,通过倒拉方式将电梯拉回开锁区。

3.2AGV被困轿厢检测和通知技术

AGV乘梯时,若电梯出现无法自恢复故障或电梯在非门区检测到限制电梯运行的条件,电梯异常停梯导致AGV被困在电梯中,容易产生二次事故或产生其他不可控风险,因此需要准确检测AGV被困事件,并将被困事件通知相关人员以实施营救。通过协议转换装置采集电梯中信号、电梯故障信号、电梯门锁信号、电梯故障信号、电梯门区信号、电梯运行信号等有限电梯状态信号组合AGV被困逻辑,输出AGV是否被困信号;借助数据传输通道,将AGV被困信号稳定可靠地通知到相关人员。协议转换装置判断AGV被困逻辑功能如图6所示。

图6协议转换装置判断AGV被困逻辑功能模块组成示意图

AGV被困判断模块具体逻辑如下:

电梯处于开锁区

当符合:AGV在电梯中信号有效且电梯故障信号有效且电梯门锁信号有效,持续时间超过电梯非门区停梯持续时间(一般取5秒)时,AGV被困信号置位;

电梯处于非开锁区

当符合:AGV在电梯中信号有效且电梯门区信号无效且电梯运行信号无效,持续时间大于等于电梯非门区停梯持续时间,则AGV被困信号置位;或者AGV在电梯中信号有效且电梯门区信号无效且电梯故障信号有效,AGV被困信号置位;

(3)AGV被困信号置位持续时间大于等于AGV被困事件滤波时间(一般取10秒),则确定为AGV被困事件,AGV困人通知信号置位。

AGV被困通知模块逻辑:

(1)若AGV被困信号通知与AGV被困信号通知前一周期状态不一致,则执行AGV困人通知,AGV被困通知计数器t清零;

(2)若AGV困人通知有效且AGV被困通知计数器t等于0,则执行AGV被困通知事件,若AGV被困信号有效,则通知AGV被困事件,若AGV被困信号无效,则通知AGV被困解除事件,同时AGV被困通知计数器t被置位为AGV被困事件通知周期T;

(3)在未收到服务器被困信号通知确认之前,AGV被困通知计数器t计数器自减,当符合(2)条件时,继续执行通知AGV被困与否事件,当AGV收到服务器被困通知确认信号后,AGV被困通知信号置为无效,表示AGV被困通知信号已经成功通知到相关人员,则结束本次AGV被困通知事件。

4.结束语

AGV与电梯的交互应用场景将会越来越多,大到商场,小到住宅,凡是有电梯的场合就可能有AGV的应用。如何设计稳定可靠的交互机制至关重要。本文结合实际工程案例,提出基于LoRa网络和4G网络的交互系统,通过设计闭环的交互机制确保交互的成功率。本文充分考虑到AGV乘梯过程中可能存在的绊倒、被困等风险,通过设计平层精度控制算法、被困检测算法及被困通知算法,最大程度上保证AGV与电梯交互的安全性和可靠性。该系统已经在多个现场应用,效果良好,具有一定的推广应用价值。

https://www.chuandong.com/servo/article3149.html

AGV与电梯交互系统设计相关推荐

  1. 计算机组装 仿真交互,《计算机硬件组装》仿真交互系统设计与实现.doc

    <计算机硬件组装>仿真交互系统设计与实现 <计算机硬件组装>仿真交互系统设计与实现 摘要:模拟仿真技术是近几年发展起来的一门综合学科,通过计算机技术模拟实验环境,成为辅助教学的 ...

  2. 【基于S7-200 PLC的电梯控制系统设计】

    基于S7-200 PLC的电梯控制系统设计 [摘要]电梯作为现代高层建筑的垂直交通工具,与人们的生活紧密联系,随着人们对电梯运行的安全性.高效性.舒适性.方便性等要求的不断提高,让电梯得到快速发展.本 ...

  3. 基于stm32电梯管理系统设计

    基于stm32电梯管理系统设计 ==这里记录一下以前自己做的嵌入式课程设计,报告中的图片和文字太多了,全部一个一个把搬过来太麻烦了,需要完整文本和代码自行主页私我== 摘要 关键词 一.课题概述 1. ...

  4. agv机器人无人仓系统设计概述

    agv机器人无人仓系统设计概述 agv机器人无人仓系统,主要由仓库管理系统,仓库控制系统和机器人工作站三大模块组成 仓库管理系统负责仓库的日常业务管理,比如入库 调拨 盘点  出库等单据操作 仓库控制 ...

  5. c语言怎么实现电梯控制系统设计,基于单片机的电梯控制系统设计.doc

    PAGE 本科生毕业论文(设计) 题 目: 基于单片机的电梯控制系统设计 姓 名: 学 院: 工学院 专 业: 自动化 班 级: 学 号: 指导教师: 职称: 副教授 2012 目 录 TOC \o ...

  6. 生产实习-电梯演示系统设计

    电梯演示系统设计 文章目录 电梯演示系统设计 背景 所需的linux的基本知识: bmp文件和开发板上显示图片的学习: 电梯界面设计和触摸屏的学习: 创建广告循环播放线程的学习: 总体设计 详细设计: ...

  7. 苏宁无人配送车昨日亮相,可自主实现电梯交互、路线规划

    按照物流规划,苏宁打算让无人配送车入驻1000家小区. 16日,苏宁无人配送车亮相南京滨江壹号小区,为小区住户提供包裹配送服务. 据了解,该无人配送车名叫"卧龙一号",拥有6个轮子 ...

  8. 模拟电梯控制软件设计c语言,模拟电梯控制系统设计.docx

    PAGE \* MERGEFORMAT PAGE \* MERGEFORMAT IV 摘 要 我们所说的单片机就是单片微型计算机(Single-Chip Microcomputer )又可以称作微控制 ...

  9. 简易电梯控制系统设计(两层楼)(

    (电子科技大学  数字系统实验二 结课验收项目  fpga板 veriolg语言)) 第一次写,实属小白,写的不好请见谅.就对这个设计提供自己的一点思路看法 题目要求: 板子了一般都是学校发的板子,我 ...

最新文章

  1. 建立时间裕量与保持时间裕量的简单理解
  2. 项目管理知识框架PMBOK(文字版)
  3. 【Android 逆向】ELF 文件格式 ( ELF 文件当前版本号 | 操作系统 ABI 信息 | ABI 版本 | 文件头校验 | 文件头长度信息 )
  4. c++产生死锁的必要条件?已经如何预防死锁?
  5. linux下屏幕太靠右了,怎么消除linux下的屏幕偏移现象和调整屏幕刷新率?
  6. MFC对话框程序如何添加菜单
  7. 系统梳理 Tensorflow、PyTorch 等深度学习框架,洞悉 AI 系统底层原理和算法
  8. 如何高效率获取作物类型分布数据?
  9. Ubuntu系统安装ghostscript seq2logo
  10. 《大咖讲Wireshark网络分析》—再来一个很妖的问题
  11. 小米笔记本开机提示:no bootable device -- insert boot disk and press any key
  12. 全面解读Java线程池的工作原理
  13. 从苏宁电器到卡巴斯基第24篇:难忘的三年硕士时光 II
  14. 不仅是工程学!人类认知偏差导致的12个AI研究盲区
  15. HTML+CSS基础学习
  16. 计算机基础考试题(答案在最后)
  17. 《灵飞经》②东岛门人 第三章 遇难呈祥
  18. selenium基础知识大全(转)
  19. 实验5 Spark SQL编程初级实践
  20. Spring @Autowired 知其然定需知其所以然 第一弹

热门文章

  1. 今天咱们用Python整一个植物大战僵尸游戏 | 附带源码
  2. 13.深度学习之RNN进阶-1
  3. 【机器学习】特征提取-TFIDF
  4. 屏幕后期处理之:Sobel算子实现边缘检测
  5. 人体力学-线速度与角速度
  6. 坐标转换:将imu坐标系下的角速度、线速度转换到车体坐标系,参考Autoware
  7. 如何drop有default constrain…
  8. Quartz定时任务使用小记(11月22日)
  9. 数据库中触发器的作用,规则和限制
  10. 湖南多校对抗赛(2014.03.16) C.Pings