当前位置: 首页 > news >正文

机器人制作开源方案 | 乒乓球自动拾取机器人

作者:刘众森、王森、王绘东、崔岳震、宋维鑫

单位:山东农业工程学院

指导老师:潘莹月、廖希杰

1. 场景调研

      我们小组选择项目的任务方向乒乓球的捡取与存放,针对此问题我们研发了一款乒乓球自动拾取机器人。众所周知,乒乓球是一种世界流行的球类体育项目,而我国是乒乓球运动的大国和强国。但是捡球是一种让人非常头疼的事情,乒乓球爱好者在练习乒乓球时,往往练得满地都是(如下图所示),劳累的运动员弯腰捡球既费时又费力。现在的乒乓球直径40.00毫米,其重量为26~2.8克,比较轻,不太容易捡拾。每当要捡起一个乒乓球的时候,捡球的人就要弯一次腰,对于长期从事这项工作的人来说是一个很大的身体负担。

      因此,能够代替人捡拾乓球的机器人就有了它的重要性,这种机器人能够又好又快地将散落在地上的乒乓球捡起,以便于下一次使用。本自动拾取乒乓球机器人主要应用于乒乓球训练场或比赛场上,其主要功能是自动拾取乒乓球。尽管这个机器人所实现的功能相对来说十分简单,但是它也可以帮助人类工作,减少乒乓球爱好者的负担,这是服务机器人的重要使命,也是我们这个项目的目的。

2. 整体结构

      该机器人底盘部分主要由铝板制作,其下方为四个轮子连接四个电机作为动力元件。现有的应用在乒乓球场上的机器人,大多都是设计一个机械手直接抓取乒乓球,这不但会使设计过程更加繁琐,而且其控制系统的设计也较为复杂,制造成本也会相应地增加。我们的乒乓球捡取部分是由铝板和高弹绳组成,高弹绳的存在大大减少了捡取部分的重量,由一个舵机控制其上下运动。其主要特点是智能化、自动化。 机器人的控制电路简单,我们采用Basra主控板(采用 AVR ATMega328 芯片)为主控板,并在此之上加入了Bigfish 扩展板,在此之外,我们加入了颜色识别模块(TCS3200) 和超声波测距模块(HC-SR04),颜色识别模块下方是由一个小型舵机控制转动,从而可以三百六十度无死角的寻找乒乓球,超声波测距模块可以用来躲避障碍,和确定乒乓球的距离,从而确定乒乓球的位置。

颜色识别模块

超声波测距模块

3. 创新部分

3.1 结构上的创新

      我们的乒乓球拾取机器人,因为乒乓球表面光滑,直径只有40.00毫米,重量只有2.6~2.8克,比较轻,不太容易捡拾不易有受力点,所以我们没有采用传统机械臂来抓取乒乓球,而是用舵机控制一个底部和四周缠有高弹绳的框子上下运动,来捡取乒乓球。因为高弹绳质量轻便,因此机器人整体结构比较轻便小巧,不占地方,运动起来较为轻松。我们还在其后方用铝板拼接了一个屏风(如下图所示)以此来做负载,可以避免其前方太重,导致其重心不稳,优化了其头重脚轻的特点,并使其看着更加美观,使其结构看着没有这么单一。 

3.2 功能上的创新

      我们的机器人捡取机构的篮子的底部面积相较于机械手的作用面积更大,从而增强捡取的成功率,而且在散落乒乓球相距较近的情况下,可以实现一次捡取数个乒乓球。并且此机器人的捡取机构和乒乓球的存放机构为同一部分,相对简化了机器人的结构,也减轻了其重量,使其工作更加轻松,使其结构更简单。如下图所示,并且这个篮子可以同时存放数个乒乓球,适当改良后,增大其容积。可以同时存放更多的乒乓球。

3.3 取材上的创新

      此乒乓球自动拾取机器人采用探索者系列基础零件,零件的种类相对较少,费用较低,功能较为齐全,倘若批量生产并销售,可以极大地节约成本,其简易的结构也使得其后期维修简单且维修成本较低。

4. 制作难点及其解决方案

      ① 项目初期,我们的机器人捡取部分是完全由铝板搭建,只有底部采取高弹绳,这就导致了前半部分重量太大,给舵机的工作带来太大的负担,并且使其头重脚轻。然后我们经过了多次尝试,多次拆解,我们将捡取部分的四周完全换成了高弹绳。由于乒乓球的质量十分轻便,所以这么做对机器人的整体工作并没有产生任何影响,从而大大减小了捡取部分的质量,减轻了舵机的工作负担,增长了其使用寿命。

      ② 开始的时候,我们的机器人捡取部分的框子设计的并没有这么大,我们的初衷也是减轻其捡取部分的质量,但是这导致了捡取成功的几率并不高,而且在捡取的时候其效果并没有达到我们想要的效果,所以我们后期更换了捡取部分的框子,使其底面工作面积大大增加,并且可以达到同时最多捡四个球的效果,并且改良后的框子捡球的成功率非常高。

5. 作品的可改进部分

      ① 首先可以为机器人添加外壳,使其看起来更美观,也让其线路不外漏,增加其使用寿命,也变相减少其后期维修成本。

      ② 其次可以将其捡取部分的骨架结构换为塑料材质,使其质量相对更轻,也使其更美观,批量生产也可以相对降低成本。

      ③ 最后可是适量加大加深捡取机构的框子,使其容量增加,可是一次性容纳更多的乒乓球,避免频繁的去处理已经捡到的球,并为其增加一个盖子,可以确保其在接近饱和状态时,乒乓球不溢出。

更多详情请见:【S050】乒乓球自动拾取机器人

相关文章:

  • 【数字人】9、DiffTalk | 使用扩散模型基于 audio-driven+对应人物视频 合成说话头(CVPR2023)
  • Python3 中常用字符串函数介绍
  • 秒杀系统如何设计
  • Linux文件
  • Python - 深夜数据结构与算法之 AVL 树 红黑树
  • 案例123:基于微信小程序的在线订餐系统的设计与实现
  • 使用scipy处理图片——旋转任意角度
  • K8S--Ingress的作用
  • 结构化数据,非结构化数据,半结构化数据(AI问答)
  • 数据通信基础
  • gcd得最大公约数,辗转相除法理解
  • Dockerfile镜像实战
  • ReactHooks:渲染与useState
  • openssl3.2 - 在VS2019下源码调试openssl.exe
  • 如何通过Burp Suite专业版构建CSRF PoC
  • 2017届校招提前批面试回顾
  • Intervention/image 图片处理扩展包的安装和使用
  • JavaScript函数式编程(一)
  • javascript数组去重/查找/插入/删除
  • React 快速上手 - 07 前端路由 react-router
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • React的组件模式
  • SpringBoot 实战 (三) | 配置文件详解
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 设计模式走一遍---观察者模式
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 为视图添加丝滑的水波纹
  • 硬币翻转问题,区间操作
  • nb
  • gunicorn工作原理
  • 数据可视化之下发图实践
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • (9)目标检测_SSD的原理
  • (搬运以学习)flask 上下文的实现
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • ****Linux下Mysql的安装和配置
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net8 Blazor 尝鲜
  • .net下简单快捷的数值高低位切换
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @JsonSerialize注解的使用
  • @SuppressWarnings(unchecked)代码的作用
  • [<MySQL优化总结>]
  • [android] 看博客学习hashCode()和equals()
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [C#小技巧]如何捕捉上升沿和下降沿
  • [CF494C]Helping People
  • [CISCN2019 华东南赛区]Web4
  • [CUDA 学习笔记] CUDA kernel 的 grid_size 和 block_size 选择
  • [Docker]六.Docker自动部署nodejs以及golang项目