ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Robomaster S1巡线警戒程序开发,不完美的告一段落

Robomaster S1巡线警戒程序开发,不完美的告一段落 先不废话上Demo 【Robomaster S1巡线警戒Demo】这款大疆的Robomaster S1通过程序实现的功能如下S1 沿地面**蓝色**色带巡逻定时6秒停车扫视是否有人。发现行人后**hit≥3 即 FIRE**告警 边瞄边射。节奏**射约 3 s**→**停火保持瞄准约 3 s**→ 再射 …如果开火后人员离开回到定时巡线循环。如果一开始就没找到蓝线底盘停**反复完整 SCAN**有线再回 PATROL。 避免任何动作都不发生。一句话**沿线巡逻 → 停车扫人 → 发现即告警开火 → 做完再回扫/巡线。**关于S1让我拷贝用户手册里的说明简单介绍下RoboMaster™ S1 是一款基于 DJI™ RoboMaster 比赛打造的教育机器人。可敏捷移动的麦克纳姆轮全向底盘、灵活转动的云台和稳定低延时的图传系统给用户带来身临其境的 FPV 操控驾驶和实弹射击体验。S1 支持 Scratch 和 Python 编程用户可通过项目式阶梯教程逐步掌握编程理论和机器人系统知识。S1 具备单机驾驶和多人竞技模式包含多种玩法。用户可使用安装有 RoboMaster App 的移动设备、手柄、键盘鼠标等控制机器人。S1的麦轮移动方式很有特色可以参考我之前清理麦轮的程序看看所谓全向移动特点Robomaster S1巡线警戒程序开发从清理车轮开始-CSDN博客目前S1已经停止销售官方的客户端也停止更新我在Mac上实验了下目前的版本还能用 S1 Mac客户端程序。如果用Windows电脑开发应该更没问题。与Grok Build合作开发流程定义项目框架这步相对简单和Grok说明下你的目的让它按照一般github项目要求把对应目录和框架文件帮你建好然后在VS Code里看看没问题就可以进行下一步了。明确需求先文档再代码这里最好要求Grok把对话里面讨论的需求用MD文档写下来告诉它后继的开发要先核对需求如果有需要修改的地方也是先改文档再改代码。另外要反复和他强调不要把一些需求上的被扬弃的部分写进文档只说明要做的功能。代码也类似。文档和代码要干净体现当前要实现的功能减少背负历史包袱版本管理靠git靠提交的comments而不是文档和代码本身。上传代码到S1这里要避免一些坑一定要选择Python默认的“Block”是用Scratch图形化拖拽编程不方便我们后面合作。S1客户端只能单个程序上传不支持文件、目录直接上传导致我们要把所有的功能放在一个Python程序里面实现一定要Grok做好代码内部的功能分块方便理解和修改。​通过FPV和日志截图调试调试的坑更多:运行程序时请开FPV这样你能看到摄像头实际拍摄了什么画面人眼的动态范围太大有时候我们自己会没意识到一道强光会干扰S1的视频识别功能。S1的客户端不支持我们生成和下载日志文件调试信息只能输出到控制台而客户端控制台的文本不能拷贝显示范围也很有限只能通过长截图来给Grok build识别我在这次开发中用了Xnip和1CaptureXnip的长截图几乎不可用1Capture差强人意虽然也有几行丢失但是能用。 截图放到项目的log目录让Grok每次都去读取最新的文件来协助调试。​原子世界踩坑多在计算机里面编写程序时你基本可以预期一个确定的结果但是到了真实世界和原子打交道由于硬件限制各种挑战会层出不穷。光线可能影响视觉识别。巡线采样只有单点无法获取远、近点信息急转时容易判断失误。识别人的API经常误报需要加上几何框做额外的限制。云台移动时识别人员的误报太多只能改成转45度再看一下。最大的限制还是大疆已经不再支持S1相关产品整合到Robomaster EP系列卖给机构用户做儿童培训。所以S1虽然功能强大但是可玩性的未来已经被限制。目前这个程序虽然还是有各种各样的错误但是进一步改进余地不大整个项目我就告一段落。代码链接 GitHub - dead-lee/s1-line-guard: RoboMaster S1 line-following sentry (patrol / scan / warn / fire) — onboard App Lab project · GitHub最后贴个DJI自己介绍PID的视频PID是物理世界完成闭环控制的核心这个视频结合S1做的展示和说明非常不错。【RoboMaster S1 精准目标追踪和自动控制入门课程】
返回列表