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

做一个项目的完整流程

先弄清楚功能需求:

你自己想要得到什么需求,有什么前景,商业可能性


架构与模块设计:

与ai进行沟通。并且让ai生成一个工程项目文件夹结构


环境配置:

先自己创建一个anaconda虚拟环境

然后问一下ai需要什么环境,什么依赖,什么库

创建一个requirements.txt, 把他们都放在这里面


硬件连接与驱动检查:

设计,编写功能模块:下方为例

文件 1:audio_recorder.py (负责录音)
这个脚本负责调用麦克风录制 5 秒钟音频并保存。下达指令后,大概有 5-8 秒的空白期,。这段时间用户会很慌:“它听到了吗?它死机了吗?” 所以在audio_recorder.py加入 TTS(文字转语音),让机器人在执行动作前,把它的决定说出来。
在编写文件的时候,不要使用一堆表情,给每一行适当加一些注释,告诉我这份代码的作用是什么,这个函数的作用是什么,在别的py文件中应该如何调用,调用的时候会返回什么
在主函数中调用它的时候,能够有比较友好的交互画面,提示开始录音,录音结束,并返回一段Whisper API本地版可以处理的录音。


文件2:yolo_see.py(负责查看摄像头图像中存在什么物体)
这个脚本负责查看摄像头图像中的所有物体的种类与坐标。增加坐标平滑或有效性过滤(比如剔除距离太远的噪点)。在电脑屏幕上弹出一个窗口,实时显示摄像头画面,并在物体上画框,实时显示坐标。参考recognize_return3d_grab.py,该脚本已经实现了大部分算法功能与yolo调用功能
并且编写一个函数把所有物体的像素坐标利用内参矩阵进行转换,得到这些物体在相机坐标系下的3d坐标(苹果的3d坐标,鼠标的3d坐标,电池的3d坐标。使用字典 (Dictionary) 作为数据流的核心载体,把物体的种类与3d坐标一一对应拼成一个字典,后续程序想要查坐标,直接 data['apple'] 就拿到了
在编写文件的时候,不要使用一堆表情,给每一行适当加一些注释,告诉我这份代码的作用是什么,这个函数的作用是什么,在别的py文件中应该如何调用,调用的时候会返回什么


文件 3:listen_and_think.py (负责听和想)
这个脚本封装了 OpenAI Whisper (听) 和 LLM (想)。调用 Whisper API 将音频转为文字,再把文字交给llm,llm根据yolo_see.py提供的物体字典,经过思考后应该返回一个合适的类别(比如,我有点饿,桌面上有什么可以吃的水果吗,llm应该返回苹果)。大模型有时候很罗嗦,它可能会返回:“根据分析,用户想要的是 apple。” 这会导致后续程序拿不到纯净的 apple 字符串,程序会报错崩溃。强制要求 LLM 返回 JSON 格式,这样解析极其稳定。

DeepSeek API Key(或者 Kimi/OpenAI):用于大脑思考。
OpenAI API Key(如果你用 Whisper API):用于语音转文字。
省钱技巧:如果你不想花钱买 Whisper API,可以安装本地版 Whisper: pip install openai-whisper (注意还要安装 ffmpeg),然后在代码里改用本地模型。
在编写文件的时候,不要使用一堆表情,给每一行适当加一些注释,告诉我这份代码的作用是什么,这个函数的作用是什么,在别的py文件中应该如何调用,调用的时候会返回什么


文件4:“门字形”轨迹移动控制抓取
根据listen_and_think.py思考出来的答案(假如是苹果),获取yolo_see.py提供的字典,提取苹果的3d坐标,再通过逆运动学求解,获取对应的抓取姿态,并执行控制,抓取
增加“Home 点复位”逻辑 (Safety & Reset)
痛点:如果上一次抓取结束,机械臂停在了桌面上方很低的位置。下一次识别时,机械臂本身可能会挡住摄像头的视线(如果相机是固定的),或者在移动去下一个点时撞倒旁边的水杯。 优化:在 main.py 的循环开始或结束时,加入 “回安全点 (Home)” 的动作。
在编写文件的时候,不要使用一堆表情,给每一行适当加一些注释,告诉我这份代码的作用是什么,这个函数的作用是什么,在别的py文件中应该如何调用,调用的时候会返回什么

文件5:main.py
职责:整合所有资源,处理异常,控制流程。 核心优化:加入语音反馈,让用户时刻知道进度。
在编写文件的时候,不要使用一堆表情,给每一行适当加一些注释,告诉我这份代码的作用是什么,这个函数的作用是什么,在别的py文件中应该如何调用,调用的时候会返回什么


开始编写代码


优化工程,提高产品性能


鲁棒性+可读性+交互友好+迁移性+维护方便性+安全性

将配置参数抽离为 config.py

你的 IP 地址、API Key、相机内参、手眼标定矩阵现在散落在各个文件里。如果要换个环境演示(比如换了 wifi,IP变了),你要打开好几个文件去改,很容易漏。

纯净的数据流(你的架构)
YOLO -> Dict (字典)
YOLO 不废话,直接打包成Python字典:
数据包:{'apple': [-0.15, 0.20, 0.55], 'mouse': [0.1, 0.1, 0.4]}
优势:后续程序想要查坐标,直接 data['apple'] 就拿到了,绝对不会错。

LLM -> JSON
LLM 不废话,强制输出JSON格式:
数据包:{"target": "apple"}
优势:程序用 json.loads() 解析,直接提取出 "apple" 这个字符串,完全过滤掉“好的”、“根据分析”等废话。

Control
拿到 "apple" -> 去 Dict 里查 -> 拿到 [-0.15, 0.20, 0.55] -> 逆解 -> 运动。
优势:全程没有模糊地带,机器只处理结构化数据。

http://www.jsqmd.com/news/199083/

相关文章:

  • BG3Mod管理器终极指南:博德之门3模组管理完全攻略
  • 从零开始掌握Dify DOCX图片提取:5个你必须知道的技术要点
  • 5大核心优势解析:为什么TouchGal成为Galgame玩家的首选平台
  • BG3ModManager终极指南:告别模组冲突的完整解决方案
  • iOS设备调试终极指南:告别Xcode设备支持文件缺失困扰
  • 社区投票功能:让用户决定IndexTTS 2.0优先开发哪个特性
  • 终极指南:5步掌握libiec61850智能电网开发
  • 紧急通知:Dify更新后DOCX图片提取失效?立即查看这4种修复方案
  • 终极指南:零代码快速上手Content Patcher制作《星露谷物语》MOD
  • VRM4U插件完整指南:在Unreal Engine 5中轻松导入VRM角色模型
  • Midscene.js视觉AI自动化:让AI成为你的跨平台操作助手
  • MyBatis设计模式之装饰器、模版方法、策略模式
  • Windows APK安装全攻略:轻松在PC上运行安卓应用
  • 索尼相机隐藏功能完全解锁指南:探索OpenMemories-Tweak的无限可能
  • 百度网盘macOS加速优化:3步实现极速下载的完整指南
  • KindEditor:让网页富文本编辑变得简单高效的终极指南
  • Adobe Illustrator脚本自动化完全指南:彻底改变你的设计工作流程
  • JSON数据编辑终极指南:从入门到精通完整教程
  • 移动端集成探索:能否在手机上运行IndexTTS 2.0?
  • Windows电脑安装APK终极指南:3分钟搞定安卓应用
  • DOCX文档图片提取难题,Dify环境下5种解决方案全解析
  • 百度网盘Mac版下载加速全攻略:告别龟速下载的终极方案
  • Grasscutter Tools三大核心功能解析:从复杂指令到智能管理的革命性跨越
  • 手把手教你构建安全的Dify凭证读取机制,第5步最关键
  • Dify凭证管理最佳实践(企业级安全标准首次公开)
  • 2026必备!9个AI论文网站,专科生轻松搞定毕业论文!
  • 如何快速成为Galgame社区高手:5个终极技巧让你玩转游戏平台
  • 3步搞定真菌功能筛选:从复杂群落中精准揪出“问题真菌“
  • PPTist开源在线PPT制作工具终极指南:从零到精通完整教程
  • JAVA无人台球茶室:棋牌室智能系统源码