嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

作者:付雨婷 张越

指导老师:杨佳庆

项目难度: 较难

原理框图:

1598585121%281%29_wps%E5%9B%BE%E7%89%87_9b7e4c54a3059d4dd92bfdbcf8adf7b9d55e9b1e.png

设计背景:

在打高尔夫球的时候,捡球是一种及其麻烦而且耗时耗力的工作如果有一台机器可以代替人工捡球,那不就可以节省大量财力人力吗? 为了解决这个问题,捡球机器人诞生了。

1场地过大

打高尔夫球是一项集享受大自然乐趣、体育锻炼和游戏于一身的运动。高尔夫球场占地面积很大,而高尔夫球体积小数量多,击打后散落整个球场,捡球是一项庞大和困难的工作。

2安全问题

高尔夫球场会设置障碍来增加难度,所以河流、沟渠、小溪、沙坑都会在高尔夫球场出现。当球掉落湖边、湖中,或遇到土地泥泞等问题。人们捡球时很有很大安全隐患,例如摔跤或者不胜失足坠河。

3巨大商机

高尔夫球用人力很难全部捡完,所以时间一长会堆积。虽然这些球经历风吹日晒,但收集后重新清洗筛选包装,循环利用走向市场,价格是新球的一半。并且高尔夫球需求量大,长此以往形成产业链,既节约了生产资源还有购球成本。

设计思路:

1简介

高尔夫球捡球机器人是一台可以遥控操作的机器人。能够实现在球场的捡球工作,能够大量降低人员的工作量。

312_34eeedfc088ed63a2a19cdca4d72d84f302ace7e.png

遥控器

412_10f562264507308d9686a6a197cdd86706527662.png

机器人在球场待命

2总流程图

59_bac93f5866f0f86be29feebe01ad4f909024be53.png

3检测小球颜色判断对应操作流程图

67_948545060c80734be54bd7b6703a900c0ffdd93d.png

制作过程:

小组分工(高尔夫球捡球机器人共分成两部分:基础功能和优化。)

基础功能(张越、付雨婷)

1.描述

在vtk中显示机器人和小球,机器人在区域内进行弓字形扫描。如果发现小球,就识别小球颜色,如果是红色就吸入,并记录红球数量+1,不是就继续扫描。

2.分工

张越:构思基本框架、小球随机生成(数量、颜色、对应坐标)、图像识别

付雨婷:vtk相关内容(根据坐标创建对应颜色的小球、机器人走弓字形搜索、遇球判断)

优化(付雨婷)

功能描述:

除基础功能之外,加入了tkinter图形界面、串口通信、语音播报模块,可以实现利用遥控器移动捡球机器人去捡球。除了弓字形全范围遍历搜索,还可以直接遥控让机器人前、后、左、右、转向移动和暂停以及输入坐标到指定位置来快速捡球,也可以让机器人回到起点待命。而机器人语音播报“发现了球”和“是什么颜色的球”以及当前位置,可以更好的操控机器人,了解捡球状况,实现交互和便利化操作。

成果展示:

模型展示

78_4e902bbddc7c00fadff880cc8687e52120a1c2a0.png

84_cc1b90f920e1066906df10e80c522d557bf1b759.png

94_9242fb39ccc03f43ef530ace5930a79f60261d09.png

问题和解决方法:

1如何让捡球机器人走弓字型?

困惑:

走弓字型x的坐标是从0开始是加法,到底了开始减法。如果单纯用for循环,则只能加或者减。怎么才可以既做到加法又做到减法呢?

解决方法:

添加一个标志符号flag(代码中是self.f),当x从0开始要相加时,标志位是

1;当x走到底要开始进行减法时,标志位是-1,增加标志位的判断来相加相减。

105_0e8f8d7f81a72a45cd1f78eb2da1abdce49fd1e1.png

2如何让小球在vtk中显示颜色以及根据随机生成的坐标显示小球?

困惑:

在123d中制作的stl模型导入vtk只能是白色的,无论123d中设置了什么颜色。随机生成坐标的数组中包括了小球颜色,如何把坐标和颜色对应在vtk显示。

解决方法:

发现课上还学过spheresource,它可以创建球体并更改颜色和坐标。而要将小球的颜色和坐标对应在vtk显示,就要在坐标遍历时加入颜色判断,根据判断出来的结果给球体设置颜色,这样球的坐标和颜色就对应了。

1111_9b6320f76bbefd23ee85657fd2800984c5a11934.png

127_ca639eea8347a5b84b48242f90a055119b30892d.png

视频展示:

总结:

高尔夫球小故事:

现在看来高尔夫球也是一个高危运动,继英国人道基·汤姆森在打球时被鳄鱼攻击后,有消息称某日有一位86岁的老者在打高尔夫球时不慎掉入球场内的池塘,经抢救无效后不幸死亡。

这位名将劳伦斯·梦露·斯洛温的老者实在希尔顿黑德道高尔夫球场打球时发生的意外,当时他击球时不慎把球打到了一个泥泞的池塘边,结果斯洛温在试图去捡球是不慎失足掉到了池塘里,而这个池塘里充满了高危废物。斯洛温的同伴试图拉他的脚把他拉上来,但这位老者已经在水中起起伏伏,并最终沉入水中。这位男子花了五分钟才找到斯洛温,并把他拉到岸边等待急救人员的到达,不过急救人员抵达现场时发现这位老者已经没有了心跳,只能现场宣布死亡。

通过这个小故事,我们也能知道,高尔夫球的捡球工作不仅是劳累的,而且还具有一定的危险性,高尔夫球捡球机器人的诞生也就具有了他的意义,而他的诞生同时也具备着以下几个好处:

  1. 存储容量大
  2. 可操作性高
  3. 保障人身安全
  4. 降低人工成本

对于捡球这件事,高尔夫球机器人能够做到让工作变得简单高效,在未来的计划中,高尔夫球机器人将会拓展功能,不再单一的局限在水平面上的高尔夫球,在水中,树上的高尔夫球也能靠机器人捡到。对于这样的机器人,如果它能投入应用,人工成本大,费时费力问题或许就能得到解决吧。

GitHub代码:

https://github.com/shiep18/EIS2020/tree/master/l-team/team5/Golf%20robot