基于LabVIEW的智能厨房助手机器人.docx
- 文档编号:29982139
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:16
- 大小:3.44MB
基于LabVIEW的智能厨房助手机器人.docx
《基于LabVIEW的智能厨房助手机器人.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的智能厨房助手机器人.docx(16页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的智能厨房助手机器人
智能厨房助手机器人
同济大学
设计者:
邵谣夏宇奥继超瑜马千里
指导教师:
梦如
1、设计目的
烹饪是每个家庭日常生活必不可少的一个环节,而前期的食材准备工作非常繁琐麻烦。
首先食材的挑选与预处理耗费时间,并且在烹饪时人们有时很难腾出双手去拿下一步需要的东西,有时会因为同时准备许多道菜肴而手忙脚乱,这种情况让人们无暇享受烹饪的乐趣。
一个智能的厨房助手可以承担人们处理食材的工作,通过语音指令,厨房助手机器人将自动识别并抓取用户指定的、在桌面上的食材,并放入相应的处理器中(切丝、切片等),通过处理器处理过的食材即可以用于人们进一步烹饪。
整个过程全部自动化处理,用户只需发出语音指令,即可控制烹饪助手处理食材,节省人们在厨房做饭时处理食材的时间,使得人们可以专注于烹饪菜肴,增加烹饪的乐趣。
我们需要设计的是一个可以减轻烹饪者负担,并且易于操作,稳定可靠的厨房助手。
它不只是替我们完成反复繁琐的动作,更是可以在指令下自主完成工作的,智能的机器人助手。
2、工作原理
2.1机器人小车部分
针对厨房助手机器人部分,我们采用上位机下位机编程模式进行编程。
硬件方面包括一个架于桌面上且与电脑相连的USB摄像头、自主设计组装的机器人底盘、安装在机器人底盘四周的红外线传感器以及架于底盘上的机械手。
厨房助手机器人的主体结构如下图所示:
在机器人底盘的设计中,由于考虑到厨房桌面小果皮杂物及光滑度的问题,为了提高机器人的稳定性,我们采用了四轮独立悬挂的设计,四轮分别使用一个减速器,避免了传统小车行驶过障碍时因车轮悬空导致无法稳定行驶的问题;同时我们使用了摩擦性好的软胎车轮,大大提高了行驶过程中的稳定性。
同时,为了防止机器人从桌面跌落,在底盘的四角上安放了四个红外线传感器。
这些传感器通过检查从桌面返回的红外线信号来判断传感器下面是否悬空,若某个传感器悬空则传回高电平信号至myRIO主控制器,由软件程序设定向相反方向行驶,从而避免机器人从桌面跌落。
考虑到传感器信号的延时以及机器人行驶的惯性,将红外线传感器支架设计成“探出型”,保证程序的响应可以避免机器人跌落。
整个机器人底盘均由我们自己设计,结构紧凑,部件稳固,部分连接件借助3D打印机打印成型,整体运行平稳,安全可靠。
在底盘上装载了一个用于抓取食材的机械手,由myRIO控制器发送的PWM波进行控制。
机械臂的前端机械手采用“双闭合”设计形式,通过3D打印制造,从而保证抓取食材的成功率。
机械手设计图和实物如下图所示。
在实际系统工作时,外置摄像头识别厨房助手机器人以及厨房桌面上的食材与食材处理器,以厨房助手机器人车身为原点建立坐标系,得到识别的食材与食材处理器在该坐标系下的二维坐标(X,Y)。
USB摄像头实时返回桌面的图像数据,程序通过调用目标静态图像训练样本,通过颜色模式匹配的方式对动态的图像进行识别,当图像中某块区域与训练时保存的静态图片样本区域匹配的分值大于设定的最小匹配分值,则该区域将被识别。
在PC上位机中,基于图像识别并回传目标坐标值时,考虑到图像数据的误差及噪声,在传递数据时采用均值滤波方式对数据进行预处理。
然后反馈电信号至myRIO控制器,传递到下位机进行路径规划判断。
输入语音指令后,机器人通过识别用户发出的语音指令,判断下一步应该执行的动作(抓取特定食材或将食材放入食材处理器中)。
根据不同的动作,获得对应目标的二维坐标(X,Y),从而驱动机器人完成规定动作。
小车底盘搭载myRIO控制器进行运动,车载的机械臂在myRIO的控制下对指定食材完成抓取。
2.2食材处理器部分
食材处理器部分,针对真实厨房场景中需要将食材处理成不同形状这一特点,我们完全自主设计了可以将食材处理成3种不同形状的多功能食材处理器。
食材处理器主控采用Arduino芯片,通过传感器判断是否有食材投入,自主进行包括压紧机构压紧食材、主轴旋转带动切削筒切削食材的动作,并最终自动将食材装入位于出口的盘中。
食材处理器的主要运动有压紧机构的上下运动和切削主轴的转动。
其中,压紧动作的实现是通过位于左右两侧的两个步进电机驱动丝杆转动,从而带动整个压紧机构进行上下运动。
采用这种结构的优点是传动平稳、进给均匀,同时压紧力较大;主轴转动则是由普通的直流电机,通过同步带传动实现的。
食材处理器的结构架采用2020铝型材切割制作,其余主要结构部件一律采用3D打印技术自主打印完成。
食材处理器装配模型如图:
食材处理器采用开源平台控制器Arduino作为主控,采用红外线传感器检测是否有食材投入,之后驱动顶部电机,将食材压入切削结构的处理器中。
同时切削结构处理器也由电机驱动,达到处理食材的效果。
食材被处理完后,进入下方预置的容器中,供烹饪者下一步使用。
2.3其他食材处理
根据我们的设计目的,助手机器人可以配备烹饪者所需要的其他食材处理装置,如削皮、榨汁、打碎等,由于时间关系,其他可供配备的食材处理装置仍在设计中,还未产生实体。
3、设计计算
3.1机器人小车部分
3.1.1图像识别
(1)ColorPatternMatching
在图像识别方面,我们采用颜色模式匹配(ColorPatternMatching)的方式识别厨房助手机器人、食材以及食材处理器。
首先采集目标静态图像作为样本,在采集得到的静态图像中的ROI兴趣区域中人为标定目标图像模板(机器人、食材以及食材处理器)并进行训练,将训练得到的结果保存。
我们采用NIVisionAssistant进行静态图像的采集与标定,如图3.1所示
3.1静态图像样本的采集与标定
在VisionAssistant视觉助手颜色模式匹配的Template选项卡中,可以对训练样本进行编辑,设置Matchoffset匹配偏移(X,Y)与Sat.Threshold饱和度阈值。
在Settings选项卡中可以设置更多匹配参数,如MinimumScore最小匹配分值、ColorScoreWeight颜色分值权重、AngleRange搜索角度围等。
3.2Template选项卡3.3Settings选项卡
在实际系统工作时,USB摄像头实时返回桌面的图像数据,程序通过调用目标静态图像训练样本,通过颜色模式匹配的方式对动态的图像进行识别,当图像中某块区域与训练时保存的静态图片样本区域匹配的分值大于设定的MinimumScore最小匹配分值(默认为800),则该区域将被识别。
(2)建立坐标系与坐标转换
对目标图像训练完之后,我们以机器人底盘上的红色箭头标志为原点,采用SetCoordinateSystem函数建立坐标系,设置完毕后如图3.4所示。
3.4建立坐标系
图像中所识别的机器人小车与目标物体均会返回中心的二维图像坐标值(X,Y),为了判断机器人小车与目标物体的相对位置,我们将目标物体的二维坐标转换到了以机器人小车中心点为原点的二维坐标系中。
坐标转换的原理如图3.5所示
3.5原坐标系
设机器人小车中心坐标为(Xo,Yo),作为原点坐标。
目标点坐标值为(X1,Y1),将目标点坐标值转换到以原点坐标为原点的坐标系中,则新的目标坐标值为,则目标点距离原点的距离信息与角度信息分别为
与
。
转换后的坐标系如下图所示。
3.6转换后的坐标系
图像识别上位机界面如图所示
3.7图像识别上位机界面
上位机主界面显示由USB摄像头传回的桌面图像,通过颜色模式匹配识别机器人小车以及目标食材,实时返回目标物体在以机器人小车中心为原点建立的坐标系中的坐标值(Xt,Yt)、距离Distance(pixels)以及角度Angle(degrees)参数。
图形识别及路径规划核心算法程序如下
3.8图形识别及路径规划核心算法
3.1.2语音识别
在语音识别方面,我们通过调用win10自带的小娜语音助手功能进行语音识别,保证了语音识别的识别速度与正确率。
由于小娜语音助手的功能是由C#语言编写的,在调用时需要采用LabVIEW中.NET选版中构造器节点(ConstructorNode)来创建.NET对象的实例,从而调用C#代码。
3.9.NET选板
在调用之前,首先要讲预设的指令输入,需要修改小娜语音助手本身的virtualGrammar识别规则,修改规则的C#代码如下图所示。
3.10修改语音助手的C#代码
将这段C#代码通过.NET选板中的函数转成LabVIEW程序,并将其封装成初始化子程序SpeechInitialize.vi。
3.11转换成的LabVIEW代码
然后通过调用SpeechRecognized函数对识别到的语音信息进行匹配,超过所设置的匹配分数则返回识别的字符串。
3.12识别并返回字符串代码
3.1.3基于视觉的路径规划
基于图像识别并返回的目标物体二维坐标(Xt,Yt),我们进行基于视觉的路径规划算法编写。
在初赛作品中,我们采用了较为简单的算法进行路径规划,在后续阶段,我们会对路径规划的算法进行优化,提高算法的精度以及可靠性。
整个路径规划的核心理念和流程如下图所示。
3.13基于视觉信号的路径规划
首先在上位机中,基于图像识别并回传目标坐标值时,考虑到图像数据的误差及噪声,在传递数据时采用均值滤波方式对数据进行预处理,然后传递到下位机进行路径规划判断。
基于视觉信号的路径规划分为以下四个阶段。
第一阶段,对目标物体的纵坐标Yt值进行判断,由于考虑到所训练的机器人车身图像样本位于整个底盘的后面,且车身整体偏长,经过反复测试调整参数,我们把判断前进还是后退的参数定位正负100,即目标物体的纵坐标Yt值大于100,底盘前进;小于100,底盘后退;在正负
100围,停止不动并结束第一阶段判断,留有死区以保证系统运行时的稳定性。
(路径规划中,目标物体的坐标值均为以机器人底盘为原点的坐标系中的数值,后文不在赘述。
)实现的代码如图所示。
3.14第一阶段判断
第二阶段,通过判断目标物体的横坐标Xt值是否大于0,来判断转向方位。
大于0,右转;小于0,左转。
3.15第二阶段判断
第三阶段,通过判断目标物体的横坐标Xt值的大小来判断直行的距离。
同时,在判断前行的距离时,要同时考虑到配合机械臂抓取动作的距离,通过实验测试确定参数。
当机器人到达规定的围后,停止前进并抓取物体。
3.16第三、四阶段判断
至此,通过图像识别与实时坐标反馈的路径规划编写完毕。
经过测试,USB回传的视频速度已经算法的控制精度都能达到预设的标准,基于图像的路径规划算法运行可靠,能实现所设计的功能。
在整个智能厨房助手的软件编程中,我们采用模块化的编程结构。
将实现单独功能的模块都进行了子VI封装,使得整体程序清楚明了,增强了可读性以及可维护性。
整体项目软件架构如图所示
3.17整体项目软件架构
3.2食材处理器软件架构
食材处理器拟采用开源平台控制器Arduino作为主控,采用红外线传感器检测是否有食材投入,之后驱动顶部电机,将食材压入切削结构的处理器中。
同时切削结构处理器也由电机驱动,达到处理食材的效果。
处理完食材后,下方传输带开始运动,将盛有处理后食材的盘子传输到指定位置,完成对食材的处理。
3.3整体流程
整个智能厨房助手机器人项目执行的流程图如下所示
3.18项目执行流程图
4、主要创新点
(1)抛弃了传统小车采用的黑线延迹、超声波、红外线等路径规划方式,采用图像识别与基于图像坐标的实时反馈的方式进行路径规划。
不用在机器人运行的场地做任何布置,仅需针对现场进行图像样本训练,即可识别物体并完成路径规划。
为相应场合的路径规划方式提供了新的途径。
(2)采用语音识别的方式发送命令,相比体感传感器及其他传统的发送指令方式,语音命令发送方式简便,程序中调用的win10语音助手识别准确率高。
使得用户在双手均被占用的情况依然可以轻松地使用厨房助手机器人。
(3)整个项目预期达到全自动化效果,用户只需发出语音指令,之后的识别食材、抓取食材、处理食材以及运送食材均通过编程识别跟部分信号,驱动相应的硬件设备完成。
真正达到一体化的桌面厨房助手系统,实现智能厨房的概念。
5、作品照片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 智能 厨房 助手 机器人