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

先弄清楚功能需求:

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

架构与模块设计:

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

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

相关推荐
yaso_zhang7 小时前
linux 下sudo运行程序,链接找不到问题处理
java·linux·服务器
熊猫钓鱼>_>7 小时前
AI 加 CloudBase 帮我从零快速打造儿童英语故事学习乐园
ide·人工智能·ai·mcp·codebuddy·cloudbase·ai toolkit
QYZL_AIGC7 小时前
全域众链AI赋能实体,开启数字化转型新生态
大数据·人工智能
SCKJAI7 小时前
推出高效能机器人边缘人工智能(AI)平台 ARC6N0 T5X
大数据·人工智能
新加坡内哥谈技术7 小时前
软件工程未来两年
人工智能
_爱明7 小时前
评估回归模型的指标与理解
人工智能·数据挖掘·回归
小途软件7 小时前
基于深度学习的驾驶人情绪识别
java·人工智能·pytorch·python·深度学习·语言模型
向量引擎7 小时前
[架构师级] 压榨GPT-5.2与Sora 2的极限性能:从单体调用到高并发多模态Agent集群的演进之路(附全套Python源码与性能调优方案)
开发语言·人工智能·python·gpt·ai·ai写作·api调用
飘忽不定的bug7 小时前
记录:编译rockchip libv4l-rkmpp库
linux·libv4l-rkmpp
北芝科技8 小时前
AI在教育中的五大应用场景,助力教学与学习全面智能化解决方案
人工智能·学习