发表于 2021-1-11 13:25:43

乒乓球收割机——AI捡球机器人



https://v.qq.com/x/page/d3219z8uc29.html

       一、制作背景       上次我制作了一台遥控版的“捡球机器人”,运行的效果还是很不错的,大家感兴趣的可点击下面图片访问。
       遥控版“捡球机器人”可以让学员一边玩一边捡乒乓球,这样不但能实现捡球的目的,也让学员在休息的时候即不浪费体力,又玩得尽兴,劳逸结合。但也有可能有的人不喜欢动手遥控或玩的时间长了不感兴趣了,那怎么办呢,我们就一起来把它改装成一台AI自动识别捡球机器人吧。
       二、功能说明       在原有遥控的基础上增加AI自动识别、追踪、捡拾乒乓球。利用二哈识图(HuskyLens)AI 视觉传感器来识别乒乓球,当目标区别没有乒乓球时,小车自动转动一定的角度或前进一定的距离后进行再次识别,直到识别到乒乓球后,再转到相应的角度开过去,用捡拾装置把乒乓球捡起来。为了避免“撞墙”事件发生,还安装了一个超声波传感器用了判断前面障碍特的距离,当离障碍物一定距离时,它不会再向前行驶,会转弯后再判断。
       三、硬件清单       在原有的基础上加上二哈识图(HuskyLens)AI 视觉传感器、超声波传感器后,发现二哈识图(HuskyLens)AI 视觉传感器经常会自动重启,PS2手柄与接收器也会经常自动断开,给它们单独供电后还是会出现类似情况,经过反复的测量,发现如果不用PS手柄就不会出现这样的情况,所以对硬件作了相应的变动,我们把PS2手柄去掉,改成利用micro:bit gamepad 遥控手柄来手动遥控小车的行走,经过测试,结果比较完美。所使用到的硬件如下:          Micro:bit                                                       2          电机驱动扩展板                                              1          二哈识图(HuskyLens)AI 视觉传感器         1          超声波传感器                                                 1          micro:bit gamepad 遥控手柄                        1          360度舵机                                                   1          995舵机                                                      1          TT电机                                                          4          麦克纳姆轮                                                    4          杜邦线及附材                            椴木板切割部件
       四、制作过程       1、在原来的捡球机器人上增加了超声波和AI 视觉传感器的安装架子,它的结构图纸如下图,设计好图纸后用激光切割机切割出来。
       2、按下图组装好超声波的架子。
          3、把超声波传感器安装在相应的位置并用热熔胶固定。          4、按下图所示组装好AI视觉传感器的安装架子。
       5、用铆钉把AI 视觉传感器安装在架子上。
       6、把AI 视觉传感器的架子与超声波传感器的架子用铆钉组装起来,它们。
       7、再把组装好的架子用铆钉固定在机器人的相应位置。
       8、再把各传感器、TT电机及电源与主控板进行连接。(由于遥控器部分采用了micro:bit gamepad 遥控手柄遥控,所以把PS2接收器模块去掉了)
       9、这样整个结构部分就安装好了,效果图如下:
       五、接线图
       六、程序编写       遥控端程序编写。       1、在手动遥控控制机器人的行走功能时,由于把它改成了利用micro:bit gamepad 遥控手柄来控制,而它与机器人之间是通过micro:bit主控板的无线功能进行传感指令的,所以一开始先设置相应的无线频道,这里的频道设为17,并打开无线通信,再设置一个变量K,主要用于后面利用一个按键来控制360度舵的转动与停止,再显示一个爱心图标表示初始化已完成。
       2、要实现的功能是按下遥控器某一按键时,机器人运行,当松开按键后机器人停止,所以这里要用到如果……否则如果……的积木块。比如按UP键(P8引脚)让机器人向前行走,按下DOWN(P13引脚)让机器人向后退……如果什么键也没按下就让机器人停止行走,程序我们可以这样写:
       上面的程序中当按下UP键(P8引脚)时,就会发送一个字符8并显示相应的前进图标,这样当主控端micro:bit主控板接收到无线信号是字符8时就执行前进的程序,而当遥控端松开所有按键后,就会发送一个字符5并显示相应的停止图标,同样道理,当主控端micro:bit主控板接收到无线信号是字符5时就执行停止的程序。
       3、由于遥控手柄的按键数量有限,我们就把机器人前面部分的捡球装置的运转与停止都用X键来控制,程序如下:
       当按一下X键(P1引脚)先判断变量K的值,如果K的值为0就把K的值设为1,反之如果K的值为1则把K的值设为0,接下来再执行不同的K值无线发送不同字符,发送字符0表示停止,发送字符1表示运行,这样就实现了用X按键来控制运行及停止,按一下X键运行,再按一下就停止。
       4、遥控端的完成程序如下:
       主控端程序编写。       1、主控端程序一开始也设置一些初始化操作。
       上面程序中无线频道设置要与遥控端的一致,不然它们之间无法有效通讯。再对HuskyLensAI摄像头进行引脚的初始化设置,由于HuskyLensAI摄像头是接在IIC接口上的,而初始化引脚默认也是IIC接口,所以这里不作变动,而在识别乒乓球的功能是用到物体追踪功能,所以把算法切换到物体追踪。变量“模式”是用来判断当前状态是手动遥控模式还是AI自动模式,变量“转”是让机器人没发现乒乓球时转动的次数统计用的。最后显示一个笑脸图标,因为HuskyLensAI摄像头的初始化需要一定的时间,如果笑脸显示出来了就说明初始化已经成功完成了。
       2、通过按A键和B键来进行手动和自动模式的切换。
       3、编写好前进、后退、左移等函数的程序。
       4、编写接收到遥控器无线信号的相应程序。
       因为手动遥控模式时变量“模式”的值应为0,所以在接收无线信号时要加一个判断,如果当前模式为手动模式则执行条件中的指令,不然是自动模式则不执行里面和程序。无线发送的值是字符串类型的,所以要把数字转化为字符串后再与无线数据进行匹配。
       5、定义“定位捡球”函数并编写相应程序。当HuskyLensAI摄像头找到球后先判断球在屏幕中的X轴位置,如果X轴的值小于121就向左转直到大小等于121,如果X轴的值大于199就右转直到小于等于199,当球的中心的X轴值在121—199之间,再去判断Y轴的值,如果Y的值大于200,机器人就停止且捡球滚轮装置停止转动,否则超声波再检测障碍物的距离,如果大于30厘米就开启捡球滚轮装置并向前行驶,否则为了避免撞上障碍物,捡球滚轮装置停止转动,机器人向左转1秒后停止。
       6、定义“定位捡球”函数并编写相应程序。当HuskyLensAI摄像头屏幕中没有球时,停止捡球滚轮装置转动,再去判断变量“转”的值,如果小于20则变量“转”的值增加1再向左转0.5秒后停止,这里的变量“转”主要为了避免无球时机器人总是在原地打转,当变量大于等于20且前面30厘米内无障碍物时,机器人就会向前行驶1秒再原地转动寻找球。
       7、最后来完成自动捡球和主程序,只需要调用相关的函数就可以了。
       8、所有程序写好了,我们上传测试,根据实际情况对相关数据进行修改。最终完整程序如下:
       七、项目小结       本次项目我们完成了利用遥控器手动控制捡球和利用二哈识图(HuskyLens)AI 视觉传感器实现AI自动识别追踪捡拾球的功能,二哈识图(HuskyLens)AI 视觉传感器除了物体追踪,还有人脸识别、物体识别、颜色识别、巡线、标签识别等功能,在现实生活中,我们可以把这些功能加以应用,做出更多能解决生活中实际问题的智能作品出来。

DFHkLLPkvkd 发表于 2021-2-5 13:07:53

学习了                                          

乐活 发表于 2021-3-12 22:02:50

章 发表于 2021-1-11 13:25
一、制作背景       上次我制作了一台遥控版的“捡球机器人”,运行的效果还是很不错的,大家感 ...

太酷了,一直都想做捡乒乓球的机器人,一直没做,向大神学习。

sanhao 发表于 2021-2-3 15:38:22

感谢分享,麦轮购买链接推荐
https://item.taobao.com/item.htm?spm=a230r.1.14.106.561f12dbTpPE71&id=613904283975&ns=1&abbucket=15#detail

KIKI 发表于 2021-1-11 14:38:15

每次的项目都很详细呢

rzyzzxw 发表于 2021-1-12 11:06:21

非常赞哈

发表于 2021-1-12 18:33:29

麦轮的作品非常赞哈!

发表于 2021-1-12 18:39:15

真想用麦轮也做一个这样的作品

rzegkly 发表于 2021-1-15 08:03:49

作品漂亮,文章喜欢

DFrkRvqLnPv 发表于 2021-1-16 11:22:00

乒乓球怎么从笼子里拿出来???

发表于 2021-1-20 09:20:08

DFrkRvqLnPv 发表于 2021-1-16 11:22
乒乓球怎么从笼子里拿出来???

拉一下松紧带就可以了

szjuliet 发表于 2021-1-24 10:12:07

易进难出,结构设计的很精巧,好赞~

老张1 发表于 2021-3-5 14:34:08

每个项目都好厉害   很赞

浮尘 发表于 2021-3-11 14:07:18

能否提供一下图纸,也想自己尝试做一个

CS雨人 发表于 2021-8-9 22:52:02

能共享下结构图吗?,自己不会激光切割

蓝螃蟹 发表于 2021-8-26 10:48:46

有原图纸
吗?

xal6ac9pcF8l 发表于 2021-11-6 15:08:35

求图纸尺寸大小

xal6ac9pcF8l 发表于 2022-1-21 14:57:13

求图纸尺寸大小1021060445@qq.com

赤星三春牛! 发表于 2022-2-13 10:48:08

哇!太酷了!

赤星三春牛! 发表于 2022-2-13 10:49:17

好厉害!

赤星三春牛! 发表于 2022-2-13 10:50:48

很赞很赞!
页: [1] 2
查看完整版本: 乒乓球收割机——AI捡球机器人