AR整体设计思路
本套AR系统结合AR-SDK功能中的AR基点,实例化与仓库具有空间对应关系的虚拟模型。通过UDP与嵌入式AI运算单元进行连接,获取嵌入式AI运算单元扫描到的仓库信息,从而更新虚拟模型数据。AR端整体设计思路拓扑图如图所示。
AR端整体设计思路拓扑图
增强现实(Augmented Reality,AR)技术是一种实时计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术。这种技术的目标是在屏幕上把虚拟世界套在现实世界中并进行互动。
构建本套系统中的AR虚拟场景需要两个方面的信息:其一为仓库位置信息;其二为仓库中的“货物”信息。
(1)仓库位置信息:本套系统所采用的技术为高通Vuforia AR SDK的单图像识别技术,可在实验箱中找到一个AR识别的基准点,用此基准点实例化虚拟模型,将虚拟模型与实验箱仓库在空间上进行一一对应。
(2)仓库中的“货物”信息:仓库中的“货物”信息可通过嵌入式AI运算单元识别得到,AR端与嵌入式AI运算单元建立连接以获取这些信息,这里考虑到了同一局域网下存在多个系统的情况,并且每个系统的IP地址具有唯一性,以UDP广播的形式,让嵌入式AI运算单元在“未连接”的状态下持续不断地向指定端口号广播本地IP与嵌入式AI控制单元的IP。
AR端在初始界面接收广播信息,并将所收到的信息进行处理,筛选出可连接的设备,以Button列表的形式呈现出来。当单击任意设备按钮时,在后台会将对应嵌入式AI运算单元的IP与嵌入式AI控制单元的IP进行提取并存储,方便后续发送操作指令。与此同时,进入AR识别场景,AR端初始界面如图所示。
AR端初始界面
在AR识别场景中,系统会自动调用手机摄像头,用手机摄像头扫描实验箱中指定位置的指定图像,实例化虚拟模型,同时在后台向嵌入式AI运算单元发送请求指令,请求仓库信息。嵌入式AI运算单元接收到指令后,调整机械臂姿势进行扫描,在扫描成功后,向AR端返回仓库信息,AR识别场景初始化界面如图所示。
AR识别场景初始化界面
AR场景中根据返回的仓库信息刷新虚拟模型,如图所示。
AR场景中根据返回的仓库信息刷新虚拟模型
本套系统有两种控制方式,一种为通过UI操作,另一种为通过拖动虚拟模型操作。两种控制方式均通过UDP发送命令给嵌入式AI控制单元,再由嵌入式AI控制单元对机械臂进行控制。
(1)UI控制:在主界面中,系统会自动进入横屏操作模式,单击右下角的复位按钮,机械臂可进行姿态复位。
这里应用的是Unity3D引擎中自带的UGUI,与机械臂进行通信的协议为UDP。UI发送操作指令,在场景中获取嵌入式AI控制单元的IP之后,将信息发送给嵌入式AI控制单元,从而控制机械臂。
(2)模型控制:在本系统中,实例化的模型为不同颜色的恐龙,恐龙的颜色由识别结果决定。每只恐龙都有随机的动作,这里应用的是Unity3D中的预设体和动画系统。
可以通过拖动恐龙实现位置移动的操作,应用Unity3D引擎的射线机制,模仿“背包”系统,将恐龙作为“货物”,并将恐龙站立的平台作为“背包”的栏位。同时调用动画系统,在手指点中某一只恐龙后,只播放“飞翔”的动画,手指离开恐龙后再随机播放动作。
这里进行拖动控制的协议同样为UDP,每只恐龙在实例化出来时均携带仓库信息。在恐龙被转移到空白栏位上后,系统会根据被拖动恐龙所携带的仓库信息和转移的栏位,发送操作指令给嵌入式AI控制单元,进而控制机械臂去抓取指定方块到指定位置。