Page 65 - 《橡塑技术与装备》2025年5期
P. 65
智能与数字化应用
INTELLIGENT AND DIGITAL APPLICATIONS
等待、正在前往导航点、暂停、完成、失败、退出、 2.1 实验环境搭建
等待开 / 关门操作 8 种。具体 AGV 导航状态,需要根 在本研究中,为了全面评估激光 AGV 系统的性
据导航控制中的操作决定。下面以 “ 正在前往导航点 ” 能,我们精心搭建了一个模拟测试环境。该环境不仅
和 “ 完成 ” 为例进行说明,如果导航控制中的操作是 模拟了实际生产场景中的多种复杂情况,还确保了测
“ 继续导航 ”,进一步判断是否还有未经过的路径点, 试结果的准确性和可靠性。该实验环境包括 :
如果有,AGV 导航状态为 “ 正在前往导航点 ” ;如果 2.1.1 硬件设备
没有,AGV 导航状态为 “ 完成 ”。 本实验中,我们采用了一台高性能的计算机作为
(4)更新位置方法 : update_position() 方法用于 测试平台,其上安装了基于 Python 的模拟器软件。该
模拟 AGV 的运动过程。它通过不断地更新 AGV 的位 模拟器能够精确模拟 AGV 的行驶轨迹、速度变化及
置信息来模拟 AGV 在地图上的移动。在 AGV 开始导 避障等行为,并通过 UDP 协议与其他模拟设备进行通
航时,根据指定的路径计算路线上的所有点的坐标, 信。此外,我们还配置了必要的网络设备和接口,以
并按照预定的时间间隔更新当前位置。同时考虑了路 确保数据传输的实时性和稳定性。
线的等分点、控制点等因素,以及导航状态的变化。 2.1.2 软件依赖
1.5.4 流程控制 软件层面,我们充分利用了 Python 的强大功能及
整个项目的流程控制由 main 函数实现(图 3)。 其丰富的第三方库。具体而言,我们使用了 socket 库
在 main 函数中,首先读取 XML 文件,解析其中的地 来实现网络通信, threading 库来支持多线程并发处理,
图数据,并将解析得到的数据传递给 SimulatedAGV struct 库来处理 字节流数据的 解析与封装,datetime
类的实例化过程。然后,创建了多个线程分别监听多 库来处理时间信息。此外,我们还开发了一系列自定
个不同端口的 AGV 的位置信息。每个线程会创建一 义的工具类和模块,如地图解析、路线规划等,以辅
个 SimulatedAGV 实例,并调用 listen_position 方法 助实现 AGV 的模拟控制。
开始监听。这样,就实现了模拟多台 AGV 同时运行 2.1.3 数据文件
的效果。 为了模拟真实的生产环境,我们采用了 XML 格
式的文件来存储地图的相关信息,包括点坐标、路线
信息(包括控制点坐标、长度、最大速度等)、AMR
信息(包括读写变量 IP、读写变量端口、激光导航
IP、激光导航端口等)关键数据。
图 4 测试环境部署图
2.2 实验设计与实施
图 3 模拟激光 AGV 流程图 在实验设计阶段,我们根据实际需求制定了详细
的测试计划,包括测试目标、测试方法、测试步骤以
2 系统测试与结果分析 及预期结果等。为了确保测试结果的全面性和准确性,
2025 第 51 卷 ·21·
年