做一个项目的完整流程应该是什么样

先弄清楚功能需求:

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

架构与模块设计:

与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] -> 逆解 -> 运动。

优势:全程没有模糊地带,机器只处理结构化数据。

相关推荐
延凡科技21 小时前
无人机低空智能巡飞巡检平台:全域感知与智能决策的低空作业中枢
大数据·人工智能·科技·安全·无人机·能源
2501_9413297221 小时前
YOLOv8-SEAMHead改进实战:书籍检测与识别系统优化方案
人工智能·yolo·目标跟踪
lihui_cbdd21 小时前
AMBER 24 生产环境部署完全指南(5090可用)
linux·计算化学
晓翔仔1 天前
【深度实战】Agentic AI 安全攻防指南:基于 CSA 红队测试手册的 12 类风险完整解析
人工智能·安全·ai·ai安全
百家方案1 天前
2026年数据治理整体解决方案 - 全1066页下载
大数据·人工智能·数据治理
北京耐用通信1 天前
工业自动化中耐达讯自动化Profibus光纤链路模块连接RFID读写器的应用
人工智能·科技·物联网·自动化·信息与通信
guygg881 天前
NOMA功率分配与64 QAM调制中的SIC的MATLAB仿真
开发语言·matlab
生活很暖很治愈1 天前
Linux基础开发工具
linux·服务器·git·vim
小韩博1 天前
一篇文章讲清AI核心概念之(LLM、Agent、MCP、Skills) -- 从解决问题的角度来说明
人工智能
沃达德软件1 天前
人工智能治安管控系统
图像处理·人工智能·深度学习·目标检测·计算机视觉·目标跟踪·视觉检测