AGV与电梯交互系统设计

2024-04-12 02:18
文章标签 设计 系统 交互 电梯 agv

本文主要是介绍AGV与电梯交互系统设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文:上海新时达电气股份有限公司 孙恩涛 何小虎 | 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与电梯交互系统设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/895826

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题