机器人制作开源方案 | 自主型收集餐盘机器人

作者:蔡佳怡、朱启会、郭晨杰、杨昊天、焦家辉

单位:西安外事学院

指导老师:杜喜昭、张燕

1. 产品说明

1.1 设计目的

      对于如学校、工厂这种大型食堂,一般的收餐盘模式为用餐人用餐完毕后,把餐盘拿到最近的收餐盘点,把残渣倒到收渣桶,把餐具分类放置,然后离开,当收餐点的餐具堆满到一定程度以后,食堂工作人员用推车把餐具推到洗碗间。这个过程通常存在以下几个问题:

      ① 由于用户需要进行倒渣,并将餐具分类。这个操作时间比较长,导致用餐高峰时人员堆积,等待时间较长,同时有可能将污渍弄到衣服上或者手上,带来用户的不适体验。

      ② 由于收餐点不可能设置较多,因此从就餐点走到餐盘点平均时间较长。

      ③ 由于收餐盘点看起来脏乱,影响了用餐人的就餐环境。

      ④ 要安排专门人员去拉餐具,过程噪声大,影响了就餐环境。

      本项目主要是设计一款机器人,由多个此机器人相互协调工作,在各类食堂进行收集餐具,运送到洗碗间。此机器人的应用可以减少食堂的人工成本,同时提高食堂员工的工作效率,降低他们的工作强度。对于食堂的用餐人员来说,他们也可以更快捷、方便的完成用餐过程。

1.2 设计背景

      长期以来,餐饮行业作为第三产业中的主要板块之一,给人们带来基本生活所需的同时,对刺激消费需求,推动经济发展发挥了重要作用。但是最近几年,餐饮行业面临原材料成本提升、本钱节制难等多方面的问题,导致了全国各地的餐饮企业增幅缓慢、利润降低等负面影响,乃至出现了较高的倒闭潮。原材料消耗高、劳动力成本高、租赁价格高、而收入的净利润低--“三高一低”是限制餐饮行业发展速度的主要因素。所以发展餐饮行业,最主要的方法就是降低三高和增加一低。降低三高中,最容易实现的就是降低劳动力成本。随着人工智能技术的发展,餐饮与智能机器人技术相结合,从而诞生的餐饮机器人,是解决餐饮行业人工成本的一条新的重要途径。使用餐饮机器人,能够代替部分餐饮服务员提供更优质的服务,减少人工成本,吸引客源,提升服务质量,增强品牌形象,有较高的经济价值和发展前景。

      本项目所设计的自主型收集餐盘机器人是一款智能回收餐盘的餐饮机器人,能够高效合理又智能的实现餐盘的回收工作。

1.3 需求分析

      一个完整的收集餐盘机器人需求可分为四个模块:功能需求、易用性需求、可靠性需求、性能需求。

      功能需求是一个项目需求最核心的需求,满足基本功能需求才能完成一个项目的基本工作。该机器人的功能需求如表1所示:

表1  功能需求

易用性需求:功能需求只能满足项目的最基本需求,但如果要想把一个项目做好,其产品的使用应该方便、快捷。

收集餐盘机器人易用性需求如表2所示:

表2  易用性需求

可靠性需求:元件、产品、系统在一定时间内、在一定条件下无故障地执行指定功能的能力或可能性,就是可靠性。

收集餐盘机器人可靠性需求如表3所示:

表3  可靠性需求

性能需求:产品性能是指产品具有适合用户需求的物理、化学或技术特性,如强度、化学成份、纯度、功率、转速等。

收集餐盘机器人性能需求如表4所示:

表4  性能需求

1.4主要解决的关键技术问题

      根据自主型收集餐盘机器人的研究和需求分析,该机器人应解决的关键技术问题如下图所示:

主要解决的关键技术问题

1.5机械结构及模块组成

      根据要解决的关键技术问题,经过深思熟虑,得出本款机器人的机械结构及模块组成如下图所示:

机械结构

模块组成

      盘子收拢模块:由主体框架、动力推进和自动收拢滑道组成(4个平板、丝杠、直线导轨)。

      转运模块:由转运栏、回转舵机、倾倒舵机(一个6-42A舵机、一个M07 270°舵机)组成。

      餐盘自动存放模块:采用等间距隔条主体框架结构,存放于移动小车内。

      移动小车由带斜面移动框架与直线往复传动机构组成。

1.6 难题和解决办法

      ① 初步采用的是机械爪抓取方案,但是效率偏低。

      解决办法:改成了主体框架,动力推进来收集餐盘。

      ② 餐盘收集后如何放进存放框是一个难点。

      解决办法:使用转运方式,加入转运舵机和倾倒舵机,解决了餐盘放置到存放框的问题。

      ③ 当存放框收集满餐盘后,如何实现存放框的自动更换也是一大难点。

      解决办法:利用滑槽代替直线导轨,配合丝杆,实现存放模块的往复运动,进而实现存放的自动更换。  

1.7 创新点

      ① 盘子收拢模块把盘子依次推至转运模块比传统爪子效率高(如下图所示)。

盘子收拢模块

② 转运模块倾斜一定角度,使得盘子不易滑落(如下图所示)。

转运模块

③ 单电机实现两个功能,可以让存放框与转运栏对齐,也可以将存放框推出(如下图所示)。

餐盘自动存放模块

④ 利用平台配件开槽与滑片的间隙配合代替直线导轨,配合丝杆,实现存放模块的往复运动(如下图所示)。

直线往复传动机构

2. 硬件说明

2.1主控板设计

      本项目采用了一个STM32扩展板,STM32有完善的库,不用配置寄存器,缩短了我们的开发周期,其外接口丰富,支持多种扩展,具有灵活的网络应用环境。STM32还可以和其他软件配合,可以大大缩短调试的工作量(如下图所示)。

STM32扩展板(正反面)

2.2 超声波传感器

      在本项目中,收集餐盘机器人在收集餐盘过程中,需要时时刻刻进行障碍物检测。当且仅当没有人或者障碍物时,该机器人才能进行巡查工作,所以对障碍物的检测要求是高精度的。超声传感器、红外传感器、激光雷达等,都是避障比较常见的传感器。红外传感器更多偏向点对点的检测,在本项目中实施性不高。激光雷达精度高,准确性好,但其抗干扰本领弱,本钱高,也不适合本项目。最终本项目选择了超声波传感器。超声波传感器是范围检测,并且精度较高、成本较低,是本项目做避障方面的传感器中综合性价比最高的(如下图所示)。

超声波传感器(正反面)

2.3摄像头

      摄像头的安装是为了确定桌上是否有人,便于餐盘收集,而且摄像头的安装还可以确定桌上餐盘的数量,这样可以确定转运模块转运栏转动的次数,从而实现监测的效果(如下图所示)。

摄像头

3. 软件设计

      本设计自主型餐盘收集机器人,代码运行环境是基于win11Arduino1.5.2,直流电机直连5V电源,舵机步进电机接口采用的是A4988 。下图为本次作品的系统软件设计总体流程图。

系统设计软件框图

4. 制作过程

      根据初步想法确定方向,然后收集资料、画草图、建模型(如下图所示)。

草图及建模

      根据草图确定作品的构建和装配,在整个过程中也遇到了很多问题,小组成员一起讨论,进行不断的计算、调试、实践,最终都得以解决。以下是制作过程:

制作过程

      经过不断的努力实验、计算,最终确定产品的设计图,再组装成最后的成品图,接着进行程序调试,完成作品功能的实现。下面是凝聚小组全部心血的成果图:

实物图

5. 心得体会

      通过这次人工智能大赛,团队成员对产品设计从资料收集、方案讨论、方案优化、实物模型装配、三维建模、控制调试到最终的实物展示有了更全面的认识与提高。例如利用滑槽代替直线导轨方案,它使我们更深入的了解了丝杠与直线导轨的配合使用。

      这个作品凝聚了小组成员的心血,从最初的一个小点子,到初步雏形,再到后来的作品呈现,大家都全力以赴,认真做好每一个部分,对每一个细节都精益求精。小组分工明确,精诚合作,不管是程序的编写还是三维模型,亦或是作品的制作,每个人都积极参与,加上老师的细心指导,最终才会有作品的诞生。我们也从中学到了坚持不懈的精神,虽然不知道其中有多少在未来会得以实现,但也算是我们通过对人工智能的学习所收获的成果。人工智能的繁荣景象和光明前景已展示出其诱惑人的魅力,让我们一起期待未来的世界吧,一个全新的人工智能的世界。

6. 示例程序

#define V_MAX 12800   //步进电机速度#include <Arduino.h>#include <Wire.h>#include <Servo.h>Servo myservo1;Servo myservo2;#define STOP      0#define FORWARD   1int chaoshengbo_left = A0;///int chaoshengbo_right = A2;void setup() {Serial.begin(9600);myservo1.attach(2);myservo2.attach(3);// initMotor();//test//moveTest();}void loop(){myservo1.write(30);delay(1000);myservo2.write(90);}//============================================================void moveTest(){move( 80,   80,   80,   80); //前进move(-80, -80, -80, -80); //后退move(-80,   80,   80, -80); //左平移move( 80, -80, -80,   80); //右平移move(-80,   80, -80,   80); //左转move( 80,   80, -80, -80); //右转}void forward(){move(80,80,80,80);move(80,80,80,80);delayMicroseconds(2);}

*更多详情请见:【S032】自主型收集餐盘机器人

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法】对二分搜索的理解

二分搜索大家都很熟悉&#xff0c;首先我们先来看看基本框架 func binarySearch(nums []int, target int) int {left, right : 0, ...for ... {mid : left (right-left)/2if nums[mid] target {...} else if nums[mid] < target {left ...} else if nums[mid] > targ…

圈子社交系统:打破时间与空间的限制。APP小程序H5三端源码交付,支持二开!

在现代社会&#xff0c;社交已成为人们生活中不可或缺的一部分。然而&#xff0c;传统的社交方式往往受制于时间和空间的限制&#xff0c;使得人们难以充分发挥社交的潜力。为了解决这一问题&#xff0c;圈子社交系统应运而生。 圈子社交系统通过技术手段打破时间与空间的限制&…

Linux环境搭建SVN服务器并结合内网穿透实现远程访问

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、Cpolar杂谈 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. Ubuntu安装SVN服务二. 修改配置文件2.1 修改svnserve.conf文件2.2 修改pass…

【Linux】cp 命令使用

cp 命令 cp&#xff08;英文全拼&#xff1a;copy file&#xff09;命令主要用于复制文件或目录。 著者 由Torbjorn Granlund、David MacKenzie和Jim Meyering撰写。 语法 cp [选项]... [-T] 源文件 目标文件或&#xff1a;cp [选项]... 源文件... 目录或&#xff1a;cp [选…

synchronized关键字-监视器锁(monitor lock)

这就是我们上一篇中代码提到的加锁的主要方式,本质上是调用系统api进行加锁,系统api本质是靠cpu特定指令加锁. synchronize的特性 互斥性 synchronized会起到互斥效果,某个线程执行到某个对象的synchronized中时,,其它线程如果也执行到同一个对象synchronized就会阻塞等待(锁…

【已解决】pycharm使用pandas导入numpy报错“Original error”

程序中使用pandas进行表格文件处理时&#xff0c;报错了numpy的导入失败问题&#xff0c;错误提示是这样的 Traceback (most recent call last):File "D:/pandastest.py", line 1, in <module>import pandas as pdFile "E:\Python\Python38\lib\site-pac…

Python实现FA萤火虫优化算法优化卷积神经网络回归模型(CNN回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法&#xff08;Fire-fly algorithm&#xff0c;FA&#xff09;由剑桥大学Yang于2009年提出 , …

请介绍一下MySQL的存储引擎及其特点

问题&#xff1a;请介绍一下MySQL的存储引擎及其特点。 回答&#xff1a; MySQL是一个开源的关系型数据库管理系统&#xff0c;它支持多种存储引擎&#xff0c;每个存储引擎都有其自身的特点和适用场景。下面是对MySQL常见存储引擎的简要介绍&#xff1a; InnoDB&#xff1a; …

小航助学题库白名单竞赛考级蓝桥杯等考scratch(8级)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09; 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;

大模型训练的过程(通俗易懂)

模型训练的过程是什么样的&#xff1f; 模型训练的过程就像是教一个小孩子去认识这个世界&#xff0c;让他从经验中学习和逐步提高。 数据预处理&#xff1a;这就像是给小孩子提供学习的教材。首先&#xff0c;我们需要将原始的文本数据&#xff08;原始的故事、课本等&#x…

Java核心知识点整理大全26-笔记

目录 27. Storm 7.1.1. 概念 27.1.1. 集群架构 27.1.1.1. Nimbus&#xff08;master-代码分发给 Supervisor&#xff09; 27.1.1.2. Supervisor&#xff08;slave-管理 Worker 进程的启动和终止&#xff09; 27.1.1.3. Worker&#xff08;具体处理组件逻辑的进程&#xff…

力扣二叉树--第三十九天

前言 本来打算这几天不写题了&#xff0c;等待是痛苦的&#xff0c;复习完了就写写题吧&#xff0c;等待考试多焦虑啊。 内容 一、二叉树的最近公共祖先 236. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 递归 func lowestCommonAnces…

【Java GUI窗体开发实践】基于抽象模板模式设计GUI

文章目录 前言一、抽象模板模式二、使用步骤1.定义模板抽象类2.子类继承父类,重写父类方法前言 尽管Java GUI 是一项比较古老的技术,但是可以在Java GUI中训练设计模式,让自己的代码书写更加规范。 不管是Java GUI项目还是其他项目,我们都希望代码有较强的可维护性和健壮性…

代洋集团:引领太阳能储能电站新时代

代洋集团&#xff0c;一直致力于绿色能源领域的领导者&#xff0c;再创太阳能储能电站新高度。我们精心打造的太阳能储能电站&#xff0c;将高效光伏板与智能储能系统完美结合&#xff0c;提供稳定、持续的清洁能源。 此款太阳能储能电站&#xff0c;采用最先进的光电技术&…

c 语言常用的加密算法——AES加密算法

在C语言中&#xff0c;常用的加密算法包括以下几种&#xff1a; AES加密算法&#xff1a;这是一种对称加密算法&#xff0c;广泛用于数据加密。在C语言中&#xff0c;可以使用openssl库来实现AES加密。RSA加密算法&#xff1a;这是一种非对称加密算法&#xff0c;即加密和解密…

Mysql timestamp和datetime区别

文章目录 一、存储范围和精度二、默认值和自动更新三、时区处理四、索引和性能五、存储空间和数据复制六、使用场景和注意事项七、时区转换 MySQL是一个常用的关系型数据库管理系统&#xff0c;其内置了多种数据类型用于存储和操作数据。其中&#xff0c;timestamp和datetime是…

分包(微信小程序)

首先&#xff0c;微信小程序中使用分包是为了减少首屏的请求&#xff0c;因为微信小程序会默认下载主包内的内容并展示到页面上&#xff0c;但是随着业务量的增加&#xff0c;代码量也会越来越大。会导致我们启动小程序的时候首页加载速度过慢的这个问题。这时我们就可以采用分…

C语言-字符串函数

字符串 1. 字符串处理函数 1. strlen&#xff1a;长度 作用&#xff1a;测量字符串长度 语法&#xff1a; size_t strlen(const char *s);参数&#xff1a; s&#xff1a;要测量的字符指针变量 返回值&#xff1a; 字符串长度 注意&#xff1a;不包含 ‘\0’ sizeof 是个关…

研习代码 day49 | 动态规划——子序列问题(回文)

一、回文子串&#xff08;连续&#xff09; 1.1 题目 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串&#xf…

解决(error) ERR Errors trying to SHUTDOWN. Check logs.问题~

该问题出现在我在使用shutdown关闭redis服务器时&#xff0c;出现该问题的原因是由于配置文件的日志文件位置未配置或者缺少日志文件 我自己出现该问题是因为缺少日志文件&#xff0c;解决步骤如下所示&#xff1a; 第一步&#xff1a;在该目录下使用touch命令创建日志文件 第…