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

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

单位:山东农业工程学院

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

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】乒乓球自动拾取机器人

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/309731.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[算法与数据结构][c++]:Static关键字和全局变量

Static关键字和全局变量 1. 生命周期、作用域和初始化时机2. 全局变量3. Static 关键字3.1 面向过程3.1.1 静态全局变量3.1.2 静态局部变量(单例中会使用)3.1.3 静态函数 3.2 面向对象3.2.1 类内静态成员变量3.2.2 类内静态成员函数 Reference 写在前面&…

查看Linux磁盘空间

(1)、该命令会列出当前系统所有挂载的文件系统以及它们的使用情况,包括总容量、已用空间、可用空间、使用百分比等信息 df -h如果查看某一个文件夹的,可以 df -h folderName (2)、计算指定目录下所有文件和子目录所占用的磁盘空间大小,并以人类可读的格…

自动化创建ETX用户帐号

在芯片设计行业,ETX是常见的远程访问环境。用户在通过ETX访问远程环境前必须首先加入ETX系统,然后通过profile分配相关的环境的访问权限。 通常这些操作在ETX WEB页面手工操作,如果我们期望实现用户帐号注册全自动化,就需要将以上…

Deepin操作系统SSH开启与配置文件修改,结合内网穿透实现公网远程连接

文章目录 前言1. 开启SSH服务2. Deppin安装Cpolar3. 配置ssh公网地址4. 公网远程SSH连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 前言 Deepin操作系统是一个基于Debian的Linux操作系统,专注于使用者对日常办公、学习、生活和娱乐的操作体验的极致&#xff0…

基于Vue组合式API的实用工具集

简介 今天,给大家分享一个很实用的工具库 VueUse,它是基于 Vue Composition Api,也就是组合式API。支持在Vue2和Vue3项目中进行使用,据说是目前世界上Star最高的同类型库之一。 图片 官方地址:https://vueuse.org/ 中文地址:https://www.vueusejs.com/ github:https…

SD-WAN对企业网络升级的价值

在当今数字化飞速发展的时代,企业对网络的依赖越来越深,如何在确保IT正常运行的同时降低成本成为企业CIO和业务经理共同关注的焦点。SD-WAN的出现为企业组网带来了崭新的可能性,成为降低开支、提高效率和改善用户体验的重要工具。 企业在数字…

代码随想录-刷题第五十三天

1143. 最长公共子序列 题目链接:1143. 最长公共子序列 思路:动态规划五步曲: dp[i][j]:长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列的长度为dp[i][j]。 递推公式: 主要是两种情…

Java学习,一文掌握Java之SpringBoot框架学习文集(6)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

C语言可变参数输入

本博文源于笔者正在学习的可变参数输入&#xff0c;可变参数是c语言函数中的一部分&#xff0c;下面本文就以一个很小的demo演示可变参数的编写 问题来源 想要用可变参数进行多个整数相加 方法源码 #include<stdio.h> #include<stdlib.h> #include<stdarg.h…

10个提高 Python Web 开发效率的VS Code插件

VS Code具有灵活、便捷和丰富的可用插件库&#xff0c;是Web开发人员中非常受欢迎的代码编辑器。 本文介绍10个VS Code插件&#xff0c;它们可以提高你作为Web开发人员的工作效率。 1. Live Preview Live Preview插件支持在VS Code的小型浏览器中查看网站。因此&#xff0c;无…

【NI-DAQmx入门】LabVIEW中DAQmx同步

1.同步解释 1.1 同步基础概念 触发器&#xff1a;触发器是控制采集的命令。您可以使用触发器来启动、停止或暂停采集。触发信号可以源自软件或硬件源。 时钟&#xff1a;时钟是用于对数据采集计时的周期性数字信号。根据具体情况&#xff0c;您可以使用时钟信号直接控制数据采…

百度面经整理(2024最新)

百度 面经1 shiro的组件分布式一致性算法zookeeper那些能参与投票&#xff0c;leader能投票吗&#xff1f;netty零拷贝实现volatile&#xff0c;如何感知到变量变化的redis高可用http如何跨域&#xff1f;tcp如何长链接。http如何操作浏览器缓存。用过消息队列吗&#xff1f;…

vue前端开发自学demo-input标签数据双向绑定

vue前端开发自学demo-input标签数据双向绑定&#xff01;今天为大家 展示的内容是&#xff0c;前端开发常见的&#xff0c;form表单里面的&#xff0c;一些输入数据的元素&#xff0c;动态绑定数据的案例。比如input,以及checkbox的状态绑定案例。 首先&#xff0c;老规矩&…

Unity WebView 中文输入支持

使用版本&#xff1a;Vuplex 3D WebView for Windows v4.4&#xff1b; 测试环境&#xff1a;unity editor 2020.3.40f1c1、Windows&#xff1b; 1、打开脚本CanvasWebVie!wPrefab 2、找到_initCanvasPrefab方法&#xff0c;约略在459行附近 3、添加一行代码&#xff1a; …

大创项目推荐 深度学习手势检测与识别算法 - opencv python

文章目录 0 前言1 实现效果2 技术原理2.1 手部检测2.1.1 基于肤色空间的手势检测方法2.1.2 基于运动的手势检测方法2.1.3 基于边缘的手势检测方法2.1.4 基于模板的手势检测方法2.1.5 基于机器学习的手势检测方法 3 手部识别3.1 SSD网络3.2 数据集3.3 最终改进的网络结构 4 最后…

设计模式-策略模式+单例模式+工厂模式 减少 if else

目录 一. 需求一. 区分entity二. 接口三. 邮件发送类四. 邮件发送的聚合工厂类五. 模拟邮件发送 一. 需求 根据前台传入的code&#xff0c;后台发送不同平台的邮件&#xff0c;发送QQ邮件&#xff0c;163邮件&#xff0c;Gmail邮件等。 一. 区分entity public class MailKbn…

使用懒加载 + 零拷贝后,程序的秒开率提升至99.99%

目录 一、5秒钟加载一个页面的真相二、优化四步走1、“懒加载”2、线上显示 就读取一个文件&#xff0c;为什么会慢呢&#xff1f; 三、先从上帝视角&#xff0c;了解一下啥子是IO流四、写个栗子&#xff0c;测试一下1、通过字符输入流FileReader读取2、通过缓冲流BufferedRea…

Qt QPushButton按钮控件

文章目录 1 属性和方法1.1 文本1.2 图标1.3 样式表1.4 信号 2 实例2.1 布局2.2 添加图标2.3 添加样式表2.4 代码实现 1 属性和方法 按钮除了可以设置显示文本之外&#xff0c;还可以设置图标 1.1 文本 可以获取和设置按钮上显示的文本 // 获取和设置按钮的文本 QString tex…

Apache ActiveMQ RCE CNVD-2023-69477 CVE-2023-46604

漏洞简介 Apache ActiveMQ官方发布新版本&#xff0c;修复了一个远程代码执行漏洞&#xff0c;攻击者可构造恶意请求通过Apache ActiveMQ的61616端口发送恶意数据导致远程代码执行&#xff0c;从而完全控制Apache ActiveMQ服务器。 影响版本 Apache ActiveMQ 5.18.0 before 5.1…

四次挥手的详细过程以及个人见解

SYN同步SYN表示进行一个连接请求 ACK确认位ACK1确认有效ACKO确认无效 ack确认号&#xff0c;客户端的序列号(seq)1 seq序列号&#xff0c;序列号是随机生成的随机数 FIN表示断开连接并且会停止向服务端发数据 详细过程如图&#xff1a; 第一次:客户端向服务器发出关闭请求…