35349| 22
|
[项目分享] 用Mind+编程的“二哈大炮” |
用Mind+编程的“二哈大炮” 亲爱的小伙伴们,玩过大疆的机甲大师RoboMaster S1吗,对于爱动手的你来讲,这种打击力十足的玩具是不是十分有吸引力呢? 刚好,前段时间DF商城上架了HUSKYLENS二哈摄像头,试用了一下还真是好用的不得了,只需一键就能让摄像头学习人脸、物体、颜色等信息,完全不用考虑那些复杂的视觉算法,并且比起市面上的其他视觉算法摄像头,二哈的性价比简直A到爆有木有! 对于一个这么棒的摄像头,让它来吃灰必然是不可能的,于是我和我的小伙伴们就有了一个大胆的想法:在一个小车上架一个二轴云台,然后将二轴云台上架一个发射器,最后在发射器上放上二哈做瞄准镜,那岂不是就拥有了一个可以自动锁定目标的超级武器! 我们的目的是什么:好玩!我们的口号是什么:把创意变为现实!话不多说,下面开始介绍制作步骤。 演示视频视频中没有放水弹只是空打,清扫不易... 元件清单硬件清单(点击材料名称打开链接)
另外需要3D打印的零件和一块电路板,最后会打包给出文件。 核心器件介绍1. Romeo控制器 你还在问为什么要选Romeo控制器?曾经的我也是个懵懂的少年,每次搭建一个小车都要在车上放各种稳压模块和电机驱动,自从遇到了Romeo,我就再也没有担心过这些问题了,一块板子解决所有后顾之忧。DF的Romeo控制器,专为机器人应用而设计,板子集成了2路电机驱动、14个数字端口、6个PWM接口、8个模拟端口和I2C等功能,完全满足了我们的设计需求。 2.两自由度舵机云台 由于我们的水弹发射器体积较大、重量较重,所以我们需要搭配一个扭矩较大的舵机云台,我们使用的二自由度舵机云台,是一款5公斤大扭矩、高性价比的小型云台,可以在水平和垂直https://wiki.dfrobot.com.cn/_SKU_ROB0112__%E5%B1%A5%E5%B8%A6%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%A7%BB%E5%8A%A8%E5%B9%B3%E5%8F%B0方向做二自由度运动,用来搭载我们的水弹发射器刚刚好。 3.HUSKYLENS摄像头 二哈识图(HuskyLens)是一款简单易用的人工智能视觉传感器,内置6种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签(二维码)识别。仅需一个按键即可完成AI训练,使设计者摆脱繁琐的训练和复杂的视觉算法,拨动功能按键,二哈就能切换算法,按下学习按键,二哈就能学会镜头中的事物。所以,我们只需要将目标放在镜头前按下学习按键,二哈就能“锁定”目标,配合控制器和云台实现精准打击。 硬件连接和组装过程 1.要想代码调的通,硬件接线要明确,我们战车的硬件接线图如下图所示: 2.在代码调试之前需要先将我们的“炮台”装好。 首先,我们把小车和云台组装好,组装教程在产品的使用说明中就有,下面给出链接:
将水弹枪弹仓后的盖子拆下来,然后换上我们的二哈支架,再将二哈用螺丝拧在打印件的预留孔上: 将水弹枪弹仓跟二哈支架安装在一起 将水弹枪架上云台 最后装上弹仓就完成了 代码调试(全部代码在打包文件中给出,这里只是简单说明)1.调节云台 首先,我们要用模拟角度传感器来确认一下发射器不会碰撞到车的角度,也就是我们云台的可转动范围,若不进行此操作,可能会导致舵机堵转烧坏舵机。 程序下载完毕后,将我们的角度传感器接到控制器的A0引脚,打开串口监视窗口缓慢转动角度传感器,待读数接近90时,将X轴舵机接到控制器的12引脚,缓慢转动角度传感器,观察发射器在不碰撞车体的情况下可转动的最大和最小角度,然后将角度记录下来;Y轴同理。 2.锁定目标 我们先来看一下二哈眼睛里的画面坐标,左上角是(0,0),右下角是(320,240),我们在比较中间的区域框出一个小的矩形范围(图中的绿框),当目标出现在了我们设定的范围内,我们就认为二哈已经瞄准好了目标。明确了二哈的画面坐标,我们就可以开始编程了。 程序中,首先初始化二哈的引脚并切换工作模式,然后循环向二哈请求数据,如果画面中出现了学习过的目标,那就获取目标的X、Y中心点,如果中心点在设定的范围之内,就认定目标已经出现在屏幕的中心,也就是瞄准完毕,这时将开火的标志位至1,如果按下发射键就发射水弹。 3. 自动瞄准 既然当目标出现在了画面中心就能发射水弹,那我们就需要控制云台来带动二哈使二哈瞄准。如果目标出现在了屏幕的左边,那我们就让云台往左转,如果目标出现在了屏幕的上方,那就让云台往上转。这样,一旦镜头中出现了学习过的图像,二哈就会自动瞄准他。 4.遥控小车 Step1.小车接收端设计:上面的程序就已经实现了当画面中有目标云台就会带动二哈自动瞄准,那接下来我们就要解决当画面中没有目标时,我们来遥控小车移动去寻找目标。远程遥控的控制方式中,小车是接收端,所以我们要让小车对接收到的数据进行判断。 Step2.遥控器发送端设计: 遥控端的代码已经在打包文件中给出,将遥控器的代码下载到遥控器中即可完成发送端设计,下载遥控器代码的软件也会在最后的打包文件中给出下载链接。 下载遥控器代码的软件安装完成后,用软件打开“遥控器软件和代码”文件夹中的320*240.HMI文件就可以下载了,下载方法如图所示。 这样,我们的程序就全部设计完成啦!这只是一个简单版的功能,大家还可以开动自己的小脑筋,来开发一些更好玩的功能。最后的打包文件中还给出了使用手机APP来操控的代码(APP只支持IOS系统),有兴趣的小伙伴可以看一下哦。 使用说明 Step1:打开小车电源,将二哈调到颜色识别模式(或其他模式),忘记之前学习的目标; Step2:将要攻击的目标靠近二哈,按下二哈的学习按键,使二哈学习目标,学会后将目标移开; Step3:启动遥控器,遥控小车去接近目标,一旦二哈发现目标就会自动锁定,并且可以在小车移动的过程中一直锁定目标; Step4:按下发射键即可发射水弹攻击目标; |
参与人数 3 | 贡献 +8 | 经验值 +9 | 创造力 +15 | 收起 理由 |
---|---|---|---|---|
DFS1w2cb8o8 | + 5 | + 5 | + 5 | |
小慈 | + 1 | + 2 | + 5 | -------- |
DFHJM_IpFmV | + 2 | + 2 | + 5 | 不错 |
本帖最后由 DFHJM_IpFmV 于 2020-6-5 18:21 编辑 不错啊(我只坐到了地板……) |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed