当前位置: 首页 > news >正文

做dm页网站广州建网站的公司 白云区

做dm页网站,广州建网站的公司 白云区,海外直邮购物网站,郑州市东区建设环保局官方网站本博客概述了为维护开发的AI驱动增强现实(AR)知识检索系统的开发过程,该系统集成了Unity用于AR、Python服务器用于后端处理,以及ChatGPT用于自然语言处理。该系统允许维护工人通过AR设备(如HoloLens 2)查询…

本博客概述了为维护开发的AI驱动增强现实(AR)知识检索系统的开发过程,该系统集成了Unity用于AR、Python服务器用于后端处理,以及ChatGPT用于自然语言处理。该系统允许维护工人通过AR设备(如HoloLens 2)查询特定任务的知识(例如,故障排除步骤),并以全息图形式显示上下文感知的响应。

Unity账户注册

中文账户注册比较困难。它需要额外的验证码验证步骤,有时即使验证成功也不会重定向。如果可能的话,建议使用Google账户注册美国账户,体验会更加流畅。

Unity AR界面设置

Windows设置

  1. 安装Unity Hub
    • 从unity.com下载。
    • 安装Unity Hub并打开。
  2. 安装Unity编辑器
    • 在Unity Hub中,点击Installs > Add
    • 选择2021.3 LTS(或更高版本)。
    • 添加模块:**Universal Windows Platform (UWP)**用于HoloLens,Android Build SupportiOS Build Support
  3. 安装工具
    • Visual Studio 2022:从visualstudio.microsoft.com下载。包含UWP和Unity工作负载。
    • HoloLens模拟器:通过Visual Studio Installer安装(可选)。
    • Git:从git-scm.com下载。
  4. 项目设置
    • 在Unity Hub中创建新的3D项目。
    • 通过Package Manager安装包:
      • Mixed Reality Toolkit (MRTK):添加Git URL com.microsoft.mixedreality.toolkit.unity
      • TextMeshPro:启用内置包。
      • AR Foundation:用于移动AR(可选)。
    • Build Settings中,选择UWP,将Architecture设置为ARM64用于HoloLens。

macOS设置

  1. 安装Unity Hub
    • 从unity.com下载macOS版本。
    • 安装并打开Unity Hub。
  2. 安装Unity编辑器
    • 通过Unity Hub添加2021.3 LTS
    • 包含iOS Build SupportAndroid Build Support(UWP最终构建需要Windows)。
  3. 安装工具
    • Xcode:从Mac App Store下载(约15GB)。
    • Android Studio:从developer.android.com下载。
    • Visual Studio for Mac:从visualstudio.microsoft.com下载。
    • Git:通过Homebrew安装(安装Homebrew后运行brew install git)。
  4. 项目设置
    • 创建3D项目。
    • 如上所述安装MRTKTextMeshProAR Foundation
    • 在macOS上为HoloLens开发,但传输到Windows进行UWP构建。

Unity场景和脚本

  • 场景设置

    • 通过Mixed Reality > Toolkit > Add to Scene and Configure添加MRTK。
    • 使用HoloLens 2配置文件,启用Spatial AwarenessInput System
    • 添加World Space Canvas,包含用于AI响应的TextMeshProUGUI
    • 为3D模型叠加创建空的GameObject。
    • 向画布添加TMP_InputField用于文本输入。
    • 在输入字段旁边添加Button用于提交查询。
  • 语音输入脚本VoiceQuery.cs):

    using UnityEngine;
    using Microsoft.MixedReality.Toolkit.Input;public class VoiceQuery : MonoBehaviour
    {public BackendConnector backend;public void OnSpeechKeywordRecognized(SpeechEventData eventData){backend.SendQuery(eventData.Command.Keyword, "Pump XYZ"); // 模拟上下文}
    }
    
  • 文本输入脚本TextQuery.cs):

    using UnityEngine;
    using TMPro;
    using UnityEngine.UI;public class TextQuery : MonoBehaviour
    {public BackendConnector backend;public TMP_InputField inputField;public Button submitButton;public string context = "Pump XYZ"; // 模拟上下文private void Start(){// 为按钮点击添加监听器submitButton.onClick.AddListener(SubmitQuery);// 为回车键添加监听器inputField.onSubmit.AddListener(_ => SubmitQuery());}private void SubmitQuery(){if (!string.IsNullOrEmpty(inputField.text)){backend.SendQuery(inputField.text, context);inputField.text = ""; // 发送后清除输入}}private void OnDestroy(){// 清理监听器submitButton.onClick.RemoveListener(SubmitQuery);inputField.onSubmit.RemoveListener(_ => SubmitQuery());}
    }
    
  • AR显示脚本ARDisplay.cs):

    using UnityEngine;
    using TMPro;public class ARDisplay : MonoBehaviour
    {public TextMeshProUGUI responseText;public GameObject modelPrefab;public void UpdateDisplay(string aiResponse, Vector3 position){responseText.text = aiResponse;Instantiate(modelPrefab, position, Quaternion.identity);}
    }
    
  • 后端连接器脚本BackendConnector.cs):

    using UnityEngine;
    using UnityEngine.Networking;
    using System.Collections;
    using TMPro;public class BackendConnector : MonoBehaviour
    {public TextMeshProUGUI responseText;private string apiEndpoint = "http://your-backend-url/api/query";public void SendQuery(string query, string context){StartCoroutine(SendQueryCoroutine(query, context));}private IEnumerator SendQueryCoroutine(string query, string context){// 创建请求体var requestBody = new{query = query,context = context};string jsonBody = JsonUtility.ToJson(requestBody);// 创建请求using (UnityWebRequest request = new UnityWebRequest(apiEndpoint, "POST")){byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(jsonBody);request.uploadHandler = new UploadHandlerRaw(bodyRaw);request.downloadHandler = new DownloadHandlerBuffer();request.SetRequestHeader("Content-Type", "application/json");// 发送请求yield return request.SendWebRequest();if (request.result == UnityWebRequest.Result.Success){// 解析并显示响应var response = JsonUtility.FromJson<QueryResponse>(request.downloadHandler.text);responseText.text = response.answer;}else{responseText.text = "错误: " + request.error;}}}
    }[System.Serializable]
    public class QueryResponse
    {public string answer;
    }
    

场景层次结构设置

- MixedRealitySceneContent|- MRTK|- WorldSpaceCanvas|- ResponseText (TextMeshProUGUI)|- InputPanel|- QueryInputField (TMP_InputField)|- SubmitButton (Button)|- ModelContainer (Empty GameObject)

组件配置

  1. TextQuery组件

    • 附加到InputPanel GameObject
    • 分配BackendConnector引用
    • 分配TMP_InputField引用
    • 分配SubmitButton引用
  2. VoiceQuery组件

    • 附加到MixedRealitySceneContent
    • 分配BackendConnector引用
  3. BackendConnector组件

    • 附加到专用的GameObject
    • 分配ResponseText引用
    • 配置apiEndpoint URL

此设置为查询AI系统提供了语音和文本输入选项,具有适当的错误处理和响应显示。

后端Python服务器

Python服务器处理来自Unity的查询,与ChatGPT接口,并返回响应。

设置

  1. 安装Python
    • 从python.org下载Python 3.9+。
    • 确保安装了pip
  2. 安装依赖项
    pip install flask openai
    
  3. 服务器代码server.py):
from flask import Flask, request, jsonify
import openaiapp = Flask(__name__)
openai.api_key = "your-openai-api-key"# 模拟知识库
knowledge_base = {"Pump XYZ": {"E101": "检查阀门对齐并润滑轴承。"}
}@app.route('/api/query', methods=['POST'])
def handle_query():data = request.jsonquery = data.get('query', '')context = data.get('context', '')# 首先检查知识库response = knowledge_base.get(context, {}).get(query, None)if not response:# 回退到ChatGPTtry:chat_response = openai.Completion.create(model="gpt-4",prompt=f"为{context}提供维护解决方案:{query}",max_tokens=100)response = chat_response.choices[0].text.strip()except Exception as e:response = f"错误:{str(e)}"return jsonify(response)if __name__ == '__main__':app.run(host='0.0.0.0', port=5000)
  1. 运行服务器
    python server.py
    
    • 确保服务器在localhost:5000或您的网络IP上运行,以便Unity访问。

ChatGPT集成

Python服务器使用OpenAI的GPT-4 API进行自然语言处理。

设置

  1. 获取API密钥
    • 在openai.com注册,创建API密钥。
    • 将密钥添加到server.pyopenai.api_key)。
  2. 查询逻辑
    • 服务器首先检查本地知识库(例如,类似JSON的字典)。
    • 如果没有匹配项,它会使用上下文(例如,“Pump XYZ”)和查询(例如,“E101”)查询GPT-4。
    • 示例提示:“为Pump XYZ提供维护解决方案:E101”。
  3. 响应处理
    • GPT-4返回简洁的响应(例如,“检查阀门对齐并润滑轴承”)。
    • 服务器格式化为JSON并发送到Unity。

注意事项

  • 成本:GPT-4 API使用会产生费用;通过OpenAI仪表板监控。
  • 替代方案:使用开源模型(例如,Hugging Face)进行免费测试。
  • 延迟:通过在知识库中缓存频繁查询来优化。

测试系统

  1. 运行Python服务器
    • localhost:5000上启动server.py
  2. 测试Unity
    • 在Unity编辑器中,使用MRTK输入模拟触发语音查询。
    • 验证AR显示随服务器响应更新。
    • 为HoloLens(Windows)或iOS/Android(macOS)构建。
  3. 可用性
    • 使用示例查询进行测试(例如,“修复Pump XYZ E101”)。
    • 检查响应准确性和AR叠加定位。

挑战和解决方案

  • 延迟:使用边缘计算或本地模型获得更快的AI响应。
  • HoloLens构建:macOS需要Windows进行UWP;使用VM或双启动。
  • 知识库:预填充综合手册以减少API调用。

参考文献

  • Xu, F., et al. (2024). Augmented reality for maintenance tasks with ChatGPT for automated text-to-action. Journal of Construction Engineering and Management.
  • Nagy, A., et al. (2023). AI-powered interfaces for extended reality to support remote maintenance. IEEE/ACM CCGridW.

该系统结合了Unity的AR功能、Python后端和ChatGPT的AI,以增强工业维护,为知识检索提供了可扩展的原型。

http://www.dtcms.com/a/505176.html

相关文章:

  • 怎样制作购物网站 微信转发学校网站建设要多少钱
  • 宁波网站制作报价ui一般用什么软件做
  • 网站做自动群发百度搜录做非洲外贸的网站
  • 站酷设计网页版wordpress到服务器
  • 扁平图标网站阿里免费版企业邮箱
  • 贵州省建设厅报名网站网站设计评分标准
  • 百度站长工具排名页面模板免费
  • 呼市网站设计公司做儿童方面的网站
  • 手机商城手机网站建设多少钱中国营销策划第一人
  • 营销型企业网站的功能有哪些怎么和网站主联系方式
  • 制作企业网站的代码网站建设中面包屑导航的特点
  • 自学建站网请将网站首页底部的备案号
  • 东莞网站制作购买云南学校 手机网站建设
  • 奉贤网站建设网站制作龙口网络推广公司
  • 自己域名做网站建设工程报建网站查询
  • 门户网站制度建设wordpress 重定向多
  • 如何在外国网站卖东西婚庆公司
  • 呼和浩特市做网站的企业王也动漫
  • 用dw做网站的过程百度2022新版下载
  • 江西省建设质量监督局网站网站备案管谁要幕布
  • 网站需备案吗网站建设企
  • 天桥网站建设wordpress 点击 代码
  • 苍南公司网站建设电子商务网站建设购物车
  • 手机网站禁止缩放国外手机html5网站
  • 网站建设宣传视频教程邢台泰尚网络科技有限公司
  • 网站建设新闻资讯sql server网站建设
  • 长沙做官方网站东莞主页网站制作
  • 旅游网站排名榜远程教育网站建设
  • 网站举报中国建设银行网站江苏分行
  • 天堂中文在线北京网站建设公司网站优化资讯