基于Android 的智能派件系统的设计与实现

2021-04-24 13:05
网络安全技术与应用 2021年4期
关键词:派件快件列表

(南京邮电大学 江苏 210003)

近年来,快递行业发展迅猛。末端派送,逐渐成为行业新的角力点。目前末端派送主要是依靠快递员本身的业务能力和习惯对快件装车、派送,因此会出现派件时难以取出随意堆放的快件、由于忘记某一派件区域快件数量漏派后返回增加派送时间、新快递员不熟悉路况增加派送难度等,这些情况不仅影响派件时效性,更可能会造成包裹损坏,影响服务质量;另外,随着信息化发展,快递员派件过程中需要频繁掏手机操作派件APP,无疑加重了派送员的派件压力。为了解决这些问题,本文设计并开发了基于Android 平台的智能派件系统。该系统以APP 的形式运行于快递员的Android 手机,符合智慧物流[1]的发展趋势,提高了末端派送环节的效率,有效实现降本增效。

1 需求分析

在功能分析阶段,笔者于2020 年5 月24 日到达南京圆通栖霞区分公司就快递流程、派件软件使用情况等几方面内容开展调研。总结出在快递派送流程中需要以下功能:

1.1 快递信息可视化功能

快递员在快递分拣时打开软件,软件自动根据收件人所管辖的片区从服务器上获取需派送快件列表。列表信息包含的数据项要满足快递员正常派件的全部需求,软件需要提供对这些信息的便捷访问,以及语音播报。通过获取快件的地理信息和不同的派送类别,智能排列。快件生成快件上车规划图,快递员可以根据该图完成上车排序。

1.2 路径规划以及导航功能。

通过获取快件列表中不同快件的地理位置和不同场景,根据AI*算法智能生成最短派送路径。将此最短派送路径标注到百度地图上,快递员可以在地图上清晰看到自己的派送路径,可以参考此派送路径进行派送。在派送过程中,根据正在派送快件的地址进行实时导航。

1.3 智能语音交互功能

智能语音是解放快递员双手的重要手段。在数据采集的过程中,可以通过语音在特定的地点采集所需要的信息。而在派件过程中可以通过语音交互获得目前的业务信息,包括下一点的距离、时间、方位等,并可通过语音进行拨号与发送短信的操作,而在签收的过程中也可以通过语音对快件签收状态进行标注。

2 技术选择

该应用基于Android 平台,使用百度地图API 实现派送路径的可视化和实时导航,使用科大讯飞API 实现不同场景下的智能语音交互和唤醒。具体通过客户端和用户进行交互,实时响应用户的请求。

客户端:主要是基于Java 语言和Android 平台进行开发,采用Android +科大讯飞API+百度地图API 实现信息的可视化与语音交互的智能化。用户可以通过语音指令,例如规划路径、开始导航等获得自己的派送路径和实时导航服务。

服务端:服务器借助云计算技术,部署在云平台上。主要包括web service 服务器[2]、快件信息数据库等主要模块,提供强劲的查询处理能力和更快的服务器响应能力。主要采用MySQL+PHP 进行服务器搭建,对于用户信息的存储与分析。

开发环境:基于Android 平台的智能派件系统以Android Studio作为开发平台,其具有响应速度快、UI 更漂亮、强大的调试功能等优点[3]。

3 软件的设计与实现

3.1 系统框架图

根据需求分析和系统的技术路线,本系统分为云服务器、客户端主体和客户端语音模块,系统框架如图1 所示。

3.2 系统主要设计

快件列表模块:系统初始化时,会向服务器发出加载数据的请求。APP 与服务端通信采用HTTP 协议,使用Android 网络框架OKhttp[4]完成HTTP 协议的相关操作,使用JSON(JavaScript object notation)数据交换格式进行数据交换,使用POST[5]方法向服务端发送请求数据包。通过对JISON 字符串进行解析和匹配,根据不同的关键词获取到不同的字段,最后封装成ExpressInfo 对象为一个快件的详细信息。快件列表详细展示了需要派送快件的详细信息,具体如图2 所示。

图1 系统框架图

图2 快递列表模块

快件列表包含一次派件的所有快件,已根据派件路径排序完毕,点击每个列表项可以查看用户详细信息,拨打电话,发送短信等,点击导航可以查看到该派送点的导航路径。长按列表项可以显示签收习惯,让快递员可以手动补充签收信息。点击导航按钮可以调用百度地图导航接口,点击规划可以获取规划的路径。

上车排序模块:通过对快件列表中快件不同的派送类型和派送地址进行分类和规划,得出快件上车顺序和车内堆放位置,然后可视化的显示在客户端。快递员可以根据该图完成上车排序,通过点击主界面上车排序按钮获得此功能。对快件列表里面的快件根据不同派送类别分为四类:(1)驿站代收;(2)投快递柜;(3)定点自取;(4)送货入户。对于送货入户这类快递,再根据其不同的派送地点进行分类。

路径规划和实时导航模块:路径规划功能主要是帮助快递员对所需派件的路径进行规划,得出一条最短的派送路径。系统首先会获取到快件列表,将快件的派件地址转换为经纬度,然后采用A Star[6]算法进行规划路径,最后调用百度地图API 将规划出的派送顺序和路径标注在地图上。

A Star 算法引入了启发式函数和预估代价,算法的核心部分在于估计函数的设计,其估价函数如式1 所示:

本方案根据派件路径规划的实际问题设 h=restNUm∗minDis,以此启发函数控制A Star 的行为,提升算法的效率。本文设计实现的A*算法具体步骤如下所示。

步骤(1):创建两个名称为Open_List 和Close_List 的列表,并将起点放入Open_List 列表中。

步骤(2):检测Open_List 列表是否为空。如果为空,则跳转至步骤9;否则继续进行步骤(3)。

步骤(3):找出Open_List 列表中F 的值最小的节点,并将其移入Close_List 列表中。

步骤(4):检测终点是否已经被加入Close_List 中。如果是,则跳转至步骤(9);否则继续进行步骤(5)。

步骤(5):找出与当前节点相邻的所有节点,对相邻节点进行逐一检测,判断其是否已被加入Close_List 列表中。如果是,则跳转至步骤(2);否则继续进行步骤(6)。

步骤(6):检测相邻节点是否在Open_List 列表中。如果是,则继续进行步骤(7);否则跳转至步骤(8)。

步骤(7):用当前节点的G 值重新检测相邻节点,如果从当前节点到相邻节点的G 值更小,则更新相邻节点的F 和G 值并将相邻节点的父节点设置为当前节点;然后进行步骤(2)。

步骤(8):把相邻节点加入Open_List 列表中,把当前节点作为相邻节点的父节点并计算到相邻节点的G 和F 值;然后进行步骤(2)。

步骤(9):算法运行结束。

算法的运行流程如图3 所示。

智能语音交互模块:智能语音交互是本系统最重要的功能,也是连接其他模块的重要手段。在派件过程中同样可以通过语音播报获得目前的业务信息,包括下一点的距离、时间、方位等,并可通过语音指令进行拨号与发送短信的操作,在签收的过程中也可以通过语音对快件签收状态进行标注。语音识别全局开启,通过拨打电话,帮我排序,我已到达,开始派件,更换地点,签收快递,开始导航,规划路径八个语音指令实现对应的操作。

系统采用的是科大讯飞的语音识别服务,下载集成科大讯飞的SDK 至本系统,在工程 AndroidManifest.xml 文件中添加相应的用户权限,之后在程序入口Application根据应用ID初始化SpeechUtility,初始化语音识别引擎并完成参数设置,最后开启语音识别。

4 结束语

将完成的手机应用软件成功安装,经反复测试,可以通过系统具备的快件信息可视化、上车排序、路径规划、实时导航、语音交互等功能,帮助快递派送人员更好的执行派件任务,降低其劳动强度,提高末端派送效率。

图3 A Star 算法流程图

猜你喜欢
派件快件列表
一类快件处理问题的研究
学习运用列表法
扩列吧
帮爸爸取快件
你有快件
列表画树状图各有所长
2011年《小说月刊》转载列表