查看: 3779|回复: 13

[项目] 乒乓球收割机——AI捡球机器人

[复制链接]
本帖最后由 章 于 2021-1-11 13:25 编辑

10.JPG




       一、制作背景
       上次我制作了一台遥控版的“捡球机器人”,运行的效果还是很不错的,大家感兴趣的可点击下面图片访问。

       遥控版“捡球机器人”可以让学员一边玩一边捡乒乓球,这样不但能实现捡球的目的,也让学员在休息的时候即不浪费体力,又玩得尽兴,劳逸结合。但也有可能有的人不喜欢动手遥控或玩的时间长了不感兴趣了,那怎么办呢,我们就一起来把它改装成一台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 视觉传感器的安装架子,它的结构图纸如下图,设计好图纸后用激光切割机切割出来。
图纸.jpg

       2、按下图组装好超声波的架子。
1.JPG

2.JPG
   
       3、把超声波传感器安装在相应的位置并用热熔胶固定。
3.JPG
   
       4、按下图所示组装好AI视觉传感器的安装架子。
4.JPG

5.JPG
  
       5、用铆钉把AI 视觉传感器安装在架子上。
6.JPG

       6、把AI 视觉传感器的架子与超声波传感器的架子用铆钉组装起来,它们。
7.JPG

       7、再把组装好的架子用铆钉固定在机器人的相应位置。
8.JPG

       8、再把各传感器、TT电机及电源与主控板进行连接。(由于遥控器部分采用了micro:bit gamepad 遥控手柄遥控,所以把PS2接收器模块去掉了)
9.JPG

       9、这样整个结构部分就安装好了,效果图如下:
101.JPG

       五、接线图
接线图3.jpg

       六、程序编写
       遥控端程序编写。
       1、在手动遥控控制机器人的行走功能时,由于把它改成了利用micro:bit gamepad 遥控手柄来控制,而它与机器人之间是通过micro:bit主控板的无线功能进行传感指令的,所以一开始先设置相应的无线频道,这里的频道设为17,并打开无线通信,再设置一个变量K,主要用于后面利用一个按键来控制360度舵的转动与停止,再显示一个爱心图标表示初始化已完成。
11.jpg

       2、要实现的功能是按下遥控器某一按键时,机器人运行,当松开按键后机器人停止,所以这里要用到如果……否则如果……的积木块。比如按UP键(P8引脚)让机器人向前行走,按下DOWN(P13引脚)让机器人向后退……如果什么键也没按下就让机器人停止行走,程序我们可以这样写:
12.jpg

       上面的程序中当按下UP键(P8引脚)时,就会发送一个字符8并显示相应的前进图标,这样当主控端micro:bit主控板接收到无线信号是字符8时就执行前进的程序,而当遥控端松开所有按键后,就会发送一个字符5并显示相应的停止图标,同样道理,当主控端micro:bit主控板接收到无线信号是字符5时就执行停止的程序。

       3、由于遥控手柄的按键数量有限,我们就把机器人前面部分的捡球装置的运转与停止都用X键来控制,程序如下:
13.jpg

       当按一下X键(P1引脚)先判断变量K的值,如果K的值为0就把K的值设为1,反之如果K的值为1则把K的值设为0,接下来再执行不同的K值无线发送不同字符,发送字符0表示停止,发送字符1表示运行,这样就实现了用X按键来控制运行及停止,按一下X键运行,再按一下就停止。

       4、遥控端的完成程序如下:
14.jpg

       主控端程序编写。
       1、主控端程序一开始也设置一些初始化操作。
15.jpg

       上面程序中无线频道设置要与遥控端的一致,不然它们之间无法有效通讯。再对HuskyLensAI摄像头进行引脚的初始化设置,由于HuskyLensAI摄像头是接在IIC接口上的,而初始化引脚默认也是IIC接口,所以这里不作变动,而在识别乒乓球的功能是用到物体追踪功能,所以把算法切换到物体追踪。变量“模式”是用来判断当前状态是手动遥控模式还是AI自动模式,变量“转”是让机器人没发现乒乓球时转动的次数统计用的。最后显示一个笑脸图标,因为HuskyLensAI摄像头的初始化需要一定的时间,如果笑脸显示出来了就说明初始化已经成功完成了。

       2、通过按A键和B键来进行手动和自动模式的切换。
16.jpg

       3、编写好前进、后退、左移等函数的程序。
17.jpg

       4、编写接收到遥控器无线信号的相应程序。
18.jpg

       因为手动遥控模式时变量“模式”的值应为0,所以在接收无线信号时要加一个判断,如果当前模式为手动模式则执行条件中的指令,不然是自动模式则不执行里面和程序。无线发送的值是字符串类型的,所以要把数字转化为字符串后再与无线数据进行匹配。

       5、定义“定位捡球”函数并编写相应程序。当HuskyLensAI摄像头找到球后先判断球在屏幕中的X轴位置,如果X轴的值小于121就向左转直到大小等于121,如果X轴的值大于199就右转直到小于等于199,当球的中心的X轴值在121—199之间,再去判断Y轴的值,如果Y的值大于200,机器人就停止且捡球滚轮装置停止转动,否则超声波再检测障碍物的距离,如果大于30厘米就开启捡球滚轮装置并向前行驶,否则为了避免撞上障碍物,捡球滚轮装置停止转动,机器人向左转1秒后停止。
19.jpg

       6、定义“定位捡球”函数并编写相应程序。当HuskyLensAI摄像头屏幕中没有球时,停止捡球滚轮装置转动,再去判断变量“转”的值,如果小于20则变量“转”的值增加1再向左转0.5秒后停止,这里的变量“转”主要为了避免无球时机器人总是在原地打转,当变量大于等于20且前面30厘米内无障碍物时,机器人就会向前行驶1秒再原地转动寻找球。
20.jpg

       7、最后来完成自动捡球和主程序,只需要调用相关的函数就可以了。
21.jpg

       8、所有程序写好了,我们上传测试,根据实际情况对相关数据进行修改。最终完整程序如下:
22.jpg

       七、项目小结
       本次项目我们完成了利用遥控器手动控制捡球和利用二哈识图(HuskyLens)AI 视觉传感器实现AI自动识别追踪捡拾球的功能,二哈识图(HuskyLens)AI 视觉传感器除了物体追踪,还有人脸识别、物体识别、颜色识别、巡线、标签识别等功能,在现实生活中,我们可以把这些功能加以应用,做出更多能解决生活中实际问题的智能作品出来。





  作者其它帖子  

  ◆ 捡球机器人
  
  ◆ 百变乐器
  ◆ 留言机  
  ◆ 智能储蓄罐   
  ◆ 看得见的心跳  
  ◆ 保险箱  
  ◆ 激光打靶器  
  ◆ DIY留声机  
  ◆ 智能马桶  
  ◆ 坐姿矫正仪  
  ◆ 龙舟
  ◆ 多脚怪


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

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

使用道具 举报

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
回复

使用道具 举报

DFHkLLPkvkd  见习技师

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

学习了                                            
回复

使用道具 举报

老张1  学徒

发表于 2021-3-5 14:34:08

每个项目都好厉害     很赞
回复

使用道具 举报

浮尘  初级技师

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

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

使用道具 举报

乐活  学徒 来自手机

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

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

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail