AR整体设计思路

简介: 【8月更文挑战第3天】AR整体设计思路。

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控制单元,进而控制机械臂去抓取指定方块到指定位置。

相关文章
|
2月前
|
数据处理 开发者
深入解析Angular服务:构建可重用业务逻辑的最佳实践与模式——从基础创建到高级异步处理的全面指南
【8月更文挑战第31天】在Angular开发中,服务用于封装可重用的业务逻辑,有助于保持代码的DRY原则。本文详细介绍如何创建和使用服务,包括基础设置、逻辑封装及高级应用,如HTTP请求和异步数据处理,帮助你构建模块化、易维护的应用。通过示例展示,你将学会如何充分利用服务提升开发效率。
28 0
|
5月前
|
JavaScript 开发者 UED
Angular 视图数据模型变化导致重新计算模板中的表达式的技术原理
Angular 视图数据模型变化导致重新计算模板中的表达式的技术原理
|
5月前
|
设计模式 监控 前端开发
Angular ngOnChanges(changes SimpleChanges) 的作用和使用场景
Angular ngOnChanges(changes SimpleChanges) 的作用和使用场景
|
5月前
|
JavaScript 前端开发 安全
Angular Renderer2 的作用和使用场景介绍
Angular Renderer2 的作用和使用场景介绍
|
12月前
|
JavaScript 前端开发 算法
Angular 版本演进史概述
Angular 版本演进史概述
|
设计模式 存储 自然语言处理
Queries 设计模式:优化 Angular 应用开发
Queries 设计模式:优化 Angular 应用开发
|
机器人 vr&ar 数据安全/隐私保护
项目实战典型案例25——ar、第三方服务、用户三角形超级稳定耦合
项目实战典型案例25——ar、第三方服务、用户三角形超级稳定耦合
98 0
|
缓存 前端开发 JavaScript
「前端架构」Angular的13个主要好处和用例
「前端架构」Angular的13个主要好处和用例
|
监控 前端开发 JavaScript
「微前端架构」-Angular风格-第1部分
「微前端架构」-Angular风格-第1部分
angular3-单一页面的优势
angular3-单一页面的优势
81 0
angular3-单一页面的优势