[项目]捡球机器人 精华

2020-12-31 08:41:10 [显示全部楼层]
1690浏览
查看: 1690|回复: 0

[项目] 捡球机器人

[复制链接]
27 - 副本.JPG




【制作背景】
       我国的国球是乒乓球,有许多人从小开始学习打乒乓球,而在学习打乒乓的过程中,为了节约时间,通常会准备较多数量的乒乓球,在全部打落在地后,集中捡拾。目前通常情况下,是人们弯腰一个一个的捡拾,或者使用简单的捡拾工具,但也需要人们反复的捡拾,面对满地的乒乓球一个一个去捡,既浪费时间又消耗体力。如果有一个捡球的机器,可以让学员一边玩一边捡乒乓球,这样不但能实现捡球的目的,也让学员在休息的时候即不浪费体力,又玩得尽兴,劳逸结合。

【功能说明】
       这个作品利用开源硬件制作而成,主要硬件有micro:bit主控板、micro:bit电机驱动扩展板、麦克纳姆轮、TT电机、舵机等。它主要有以下功能:
       捡球机器人是通过遥控手柄来它的行走路径,在行走的过程中实现捡乒乓球的功能。小车的轮子采用了麦克纳姆轮,这样小车的行走方向更加灵活,行走的路径更加合理,捡球的速度也更快,从而可以节省更多的时间,而捡球的方式有两种,一种通过小车前面装置滚动的方式来实现捡球,另一种是车后下压的方式实现捡球效果,根据乒乓球所处的不同位置,采用不同的捡球方式,从而加快捡球的速度。

【硬件清单】
        Micro:bit                                  1
        micro:bit 电机驱动扩展板         1
        PS手柄                                     1
       360度舵机                                1
        995舵机                                   1
        TT电机                                     4
        麦克纳姆轮                               4
        杜邦线及附材                  
        椴木板切割部件

【制作过程】

       1、设计结构件图纸,并用激光切割机切割出来。
设计图.jpg

       2、把4个TT电机分别用螺丝固定在两个侧面板上。
1.JPG

2.JPG

3.JPG

       3、把4个侧面板与底板固定在一起,为了使结构更加牢固,可以用热熔胶进行加固,如果为了以后拆卸方便,可以用小M1的自攻螺丝进行固定。
4.JPG

5.JPG

       4、分别把360度舵机和微型挡边法兰小轴承安装在侧面板相应的位置,360度舵机用热熔胶固定,轴承用502胶水固定。
6.JPG

7.JPG

       5、按下图步骤安装好小车前端的乒乓球收集器,各部分之间用502胶水和热熔胶固定。
    8.JPG

9.JPG

10.JPG

11.JPG

12.JPG

13.JPG

       6、安装好橡皮松紧带,并用一根圆木棒把它安装在侧面板之间,这样360度舵机就会带动乒乓球收集器转动。
131.JPG

14.JPG

       7、把两个电池盒和一个开关安装在相应的木板上,其中5号电池盒通过开关来控制。
15.JPG

       8、把安装有电池的木板用铆钉固定在底板上,这样便于更换电池,再安装上4个麦克纳姆轮,安装的时候注意4个轮子的安装方向,正确安装方法如下图,如果方向或顺序弄错了,就会导致小车不会按要求行驶。
麦克纳姆轮安装示意图.png

16.JPG

       9、把扩展板、PS手柄接收器、995舵机安装在顶部面板上。
17.JPG

       10、把各个传感器与扩展板边好线,并把它安装在小车上。
18.JPG

       11、如下图所示,安装好另一个乒乓球收集器。
19.JPG

20.JPG

21.JPG

22.JPG
   
       12、绕上橡皮筯松紧带,并用连接件把乒乓球收集器与995舵机进行连接。
23.JPG

24.JPG

25.JPG

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

27.JPG

【接线图】
接线图.jpg

【程序编写】
       1、程序的编写软件是Mind+,打开Mind+软件,切换到上传模式,接着点击拓展打开拓展.
28.png

       2、在主控板选项卡中选择micro:bit主控板。
29.png

       3、在扩展板选项卡中选择motor:bit扩展板。
30.png

       4、在执行器选项卡中选择360度微型舵机。
31.png

       5、在通信模块选项卡中选择PS2手柄后单击返回回到编程界面。
32.png

       6、接下来开始正式编写程序。开始时先进行一些变量的定义及初始化设置,这一部分程序只在主控板通电后执行一次,程序如下:
33.jpg

       说明:程序开始时我们要对PS2手柄进行初始化设置,接口的选择根据接收器与扩展板的连接针脚相同。再自定义三个变量,分别是“前进速度”、“转弯速度”和“舵机角度”,分别设定相应的值,这个值根据实现情况可以进行调整,再把995舵机的初始角度设为变量“舵机角度”的值。

       7、再自定义“前进”、“后退”、“左移”、“右移”等函数,用来控制小车的运动方向,轮子的转动方向与小车的运动方向关系如下图:
运动示意图.jpg

       在“前进”函数中我们把四个TT电机的都设为正转,速度都为变量“前进速度”的值。
34.png

       8、然后我们把“前进”函数入在循环执行积木块中,上传到主控板进行测试,如果四个轮子都是向前转动的就可以了,如果哪个轮子向后转动,我们就把这个电机与扩展板连接的正负极两根线调换一下,那它就会朝反方向转动,也就是变成向前转动了。程序如下:
35.jpg

       9、我们再根据轮子的转动方向与小车的运动方向关系图编写好“后退”、“左移”、“左转”等函数的程序。
36.jpg

       10、在编写PS2手柄控制小车进,我们可以先利用串口打印的形式读取PS2手柄上两个摇杆在不同位置时X和Y的值,然后再在程序中编写相应的条件指令,在这里我们用右侧的摇杆控制小车的前进、后退、左移和右移,用左侧的摇杆控制小车的左转和右转,用左侧的方向键控制小车的向左前方进行、左后方倒退、右前方进行和右后方倒退,用三角形按键使360度舵机转动起来,用方形键让360度舵机停止转动,用圆形键让180度舵机先转到10度,等待1秒后再转回到90度。程序如下:
37.jpg

       11、在上面的程序中,程序最后的180度舵机的角度变换是比较快速的,看起来也很生硬,这样对舵机也不是很好,所以我们可以把180度舵机的程序改以修改,使之在角度变换时看来顺滑一点。修改程序如下:
38.jpg

       12、所有程序写好了,我们上传测试,根据实际情况修改“前进速度”、“转弯速度”和“舵机角度”三个变量的值以及360度舵机旋转的速度和180度舵机的运行角度。最终程序如下:
39.png

【项目拓展】
       在完成这个遥控捡球机器人的项目后,经过测试,捡拾乒乓球的效果还是很不错的,但是不是最优的方案呢,大家可以打开自己的脑洞,设计一些其它的捡拾装置,比较一下其效果,我们也可以对捡拾的装置进行更改,把它变成能捡拾网球或都变成一台扫地机器人等。接下来我打算加上二哈识图(HuskyLens)AI 视觉传感器等,把改装成一台不用人控制的AI自动捡球机器人。

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

本版积分规则

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

硬件清单

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

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

mail