机器人制作开源方案 | 智能快递付件机器人
一、作品简介
作者:贺沅、聂开发、王兴文、石宇航、盛余庆
单位:黑龙江科技大学
指导老师:邵文冕、苑鹏涛
1. 项目背景
受新冠疫情的影响,大学校园内都采取封闭式管理来降低传染的风险,导致学生不能外出,学校工作人员不能入校。通过封闭式的管理以此来尽最大可能保证学生在当前新冠传染和大规模人群被感染的情况下的安全,在此种情况下出现了取件困难、取件效率低、快递堆积在驿站等诸多快递服务问题,严重时也导致了快递无法进校。同时也严重提升了在校学生们的感染风险,严重影响了同学们的日常生活需要。

为了解决在校快递取件的问题,我们设计了一种由行走机构、抓取机构、控制系统和视觉系统组成的校园智能无人快递小车,以实现”无接触“式、消毒式快递配送,解决快递取件效率低的问题,减小了人力和物力,使得快递处理简单高效快捷,在快递的最后一站充分降低学生拿快递时新冠病毒感染风险,同时避免了校外人员入校传播病毒的风险。
2. 项目进展
2.1技术路线

如上图所示,我们所设计的快递附件机器人由机器人本体与被检测物(货物)组成。其总体流程如下:机器人通过一部分检测模块识别货物所在位置;将该信息反馈于快递附件机器人的控制板模块,控制板模块则命令驱动模块驱动,行走模块按照指定路线进行运动,等待抓取模块完成操作,抓取操作完成后控制模块驱动小车的行走模块进行下一步运动。
2.2设计路线

2.3项目创新点
2.3.1结构部分
采用了连杆机构,其运动副一般均为低副。低副两运动副元素为面接触,压强较小,可承受较大的载荷;可以方便地用来达到增力、扩大行程和实现远距离传动的优势,可方便机械臂抓取高层快递,我们采用中型球型件代替普通连杆使传动更稳定,且具有各部件之间不易松动的特点;采用齿轮传动结构,通过6个齿轮进行传动能保证稳定传动的同时具有准确的传动比,可以实现平行轴、相交轴、交错轴等空间任意两轴间传动的优点。


2.3.2运动部分
运动部分通过四个直流马达支架将四个直流马达固定并配合四个轮胎组成运动机构,采用差速法控制小车转向,采用循迹进行路线规划,使用pwm进行调速,具有速度快的特点,且采用提取取件码第一位数字的方式,判断快递架位置和小车取完快递从后门出发,具有高效、快捷的优点,减少了空间的占用和取件的时间。
2.3.3视觉部分
采用了图像畸变矫正处理、轮廓提取算法和神经网络模型训练,解决了图像显示不清晰,识别率不够高问题的同时,实现了在不同光照条件下快递编号的识别,且有较高的准确率。
3. 项目总结
为了解决受新冠疫情影响、学校封闭式管理、学生不能外出取件、快递取件难、快递在快递站堆积的问题,我们设计了一种由行走机构、抓取机构、控制系统和视觉系统组成的校园智能无人快递小车,以实现”无接触“式、消毒式快递配送,这样避免了校外人员入校传播病毒的潜在风险,由智能快递付件机器人帮忙取校外快递,仅需对小车和快递进行消毒处理,简化了消毒流程,减少了人力、物力的开销,方便快捷了学生生活,减少了快递长时间不取退回的现象。
二、功能介绍
1. 产品结构图
智能快递付件机器人由行走机构、控制模块、抓取机构和视觉模块组成,整个系统由两个12v锂电池分别对控制模块和视觉模块进行供电,以延长机器人的使用时间间隔。控制模块以Basra为主控,实现对机器人的行走、控制、抓取、视觉等过程的控制。机器人搭载了无线蓝牙和语音识别模块,在实现了蓝牙远程操控的同时也能够完成操作参数的动态调整等操作;行走机构采用探索者套件中的轮胎与联轴器相互配合,由直流减速电机驱动,在电机转动下控制小车行走。通过循迹进行路线规划;抓取机构采用连杆机构控制机械爪,对快递进行抓取;视觉模块采用Edge impulse对数字模型进行神经网络训练来实现快递编号的识别,并与下位机实现通信。

2. 主要功能
① 可自主抵达相应的快递架
② 可对所需要取的快递进行识别
③ 可实现远程操作与抓取参数调整
④ 可实现识别与抓取时的状况监控
3. 结构介绍
本作品总体结构由探索者套件拼装,分为主板平面、运动机构、机械臂、抓取结构、载物台、电源仓。
3.1主板平面
使用四个7*11孔平板和两块5*7孔平板构成的搭载主体平台,作为承载机械臂和载物台、连接运动机构主体,同时放置开发板和传感器等其他元器件。
3.2运动机构
通过四个直流马达支架将四个直流马达固定并配合四个轮胎组成运动机构,采用差速法控制小车转向。
3.3机械臂
使用4个输出支架和两个双足连杆搭建机械臂在主板平面上的支座,使用四个大舵机支架连接大舵机,机械臂的底盘舵机装上大舵机输出头后与大臂的舵机支架连接,再将两个大舵机U型支架反向连接作为机械臂大臂,一端连接大臂舵机一端连接小臂舵机。


① 机械臂小臂:由与抓取机构连接的舵机和舵机架构成,另一端连接大舵机U型支架,可实现正转70°,反转55°,可小范围调整抓取机构抓取角度。
② 机械臂大臂:由两个大舵机U型支架反向连接形成,正转110°反转70°,调整抓取结构置前置后,置前时抓取,置后时放置。
③ 机械臂底盘:由支座和舵机支架构成,可使机械手左右转动,调整抓取机构在水平方向上的位置。
3.4抓取结构
抓取结构的运动采用了齿轮传动结构和连杆结构,使用六个30齿齿轮两两叠加构成三个双层齿轮、使用5×7
孔平板作为机械爪零件主板,四个机械手指和四个机械手40mm驱动、两个3×5
折弯、中型球型件构成,滑动零件连接处使用轴套连接,以便抓取机构活动顺畅,且不易松动。抓取机构自由度在0-55,如下图所示:

① 连杆结构:由中型球型件和大舵机输出头组成,将舵机产生的扭力,通过连杆传到齿轮上使齿轮转动,并且由于使用的连杆是弧形,中间不会因为触碰到零件主板而导致活动不顺畅。
② 传动结构:传动结构通过三组齿轮啮合将扭力均匀施加到两侧与齿轮连接的机械手40mm驱动上,带动机械手指,使机械手实现张合功能。
3.5载物台
使用一块7×11 孔平板、四块3×5
折弯、和两个大轮组成的载物平台,每个圆板为一个载物平台,每次可装载两件物品,如下图所示,载物台下方留有一定的空腔,作为电池仓,用于放置电源,在一定程度上节约了空间且载物台抬高可减少机械臂运行路程,使机械臂方便、快速放置快递,提高了运行效率。

4. 电控部分
4.1控制板的选择
在开发板上我们选择Basra,Basra是一款基于Arduino开源方案设计的一款开发板,Basra的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSPheader和一个复位按钮。主CPU采用AVRATMEGA328型控制芯片,支持C语言编程方式。该系统的硬件电路包括:电源电路、串口通信电路、MCU基本电路、烧写接口、显示模块、AD/DA转换模块、输入模块、IIC存储模块等其他电路模块电路。控制板尺寸不超过60*60mm,便于安装。CPU硬件软件全部开放,除能完成对小车控制外,还能使用本实验板完成单片机所有基础实验。供电范围宽泛,支持5v~9v的电压,干电池或锂电池都适用。控制板含3A6V的稳压芯片,可为舵机提供6v额定电压。

4.2传感器的选择
灰度传感器又称黑标传感器,可以帮助进行黑线的跟踪,可以识别白色背景中的黑色区域,或悬崖边缘。寻线信号可以提供稳定的输出信号,使寻线更准确更稳定。有效距离在0.7cm~3cm之间。
工作电压:4.7~5.5V,
工作电流:1.2mA。
① 固定孔,便于用螺丝将模块固定于机器人上;
② 四芯输入线接口,连接四芯输入线;
③ 黑标/白标传感器元件,用于检测黑线/白线信号。

4.3语音模块
语音处理技术是下一代多模式交互的人机界面设计中的核心技术之一。随着消费类电子产品中对于高性能、高稳健性的语音接口需求的快速增加,嵌入式语音处理技术快速发展。
根据市场对嵌入式语音识别系统的需求,探索者推出了新的语音识别模块。该模块采用了基于helios-adsp新一代中大词汇语音识别协处理方案的语音识别专用芯片HBR740,非特定人语音识别技术可对用户的语音进行识别,支持中文音素识别,可任意指定中文识别词条(小于8个汉字),单次识别可支持1000条以上的语音命令,安静环境下,标准普通话,识别率大于95%,可自动检测环境噪声,噪声环境下也能保证较好的识别率。
4.4电动机的选择
我们经过讨论确定选用轮式驱动,但是考虑到只是为了完成自主行走功能,实验也无需越障爬坡,所以我们选择双轴直流电机作为与轮子配合的驱动电机。

除了驱动机器人需要引用电机,检测功能也会需要电机。由于舵机的可控性强,可以在工作范围内精确控制电机的转动角度,而快递机器人的主要工作就是“识别快递、精确定位、作出处理”,所以舵机能够为智能快递付件机器人的工作提供极大的便利。四个舵机使得机器人有了四个自由度,工作范围由线性转变为面性,大大提高了机器人的工作效率。
5. 视觉部分
5.1 训练神经网络模型
通过对大量的图像收集,在Edge Impulse进行图像分类、统一贴标签和训练对应的数据集,以此完成在识别过程中的识别不稳定以及减少错误信息的传递,多次调整图片训练数据集来提高匹配准确率。




5.2 灰度转化(轮廓提取)以及畸变图像处理
① 灰度转化
通过灰度变换来使图像对比度扩展,图像清晰,特征明显,有选择的突出图像感兴趣的特征或者去抑制图像中不需要的特征,进而更加有效的改变图像的直方图分布,使得像素的分布更加均匀,从而提高图像识别精度。


以12数字为例,1代表通道第一层,2代表第二个(从左到右)。先进行整体分开显示,再进行判断快递所在的位置,来传回下位机具体的信息返回值。为了提升识别的准确值,在与训练模型匹配时,再去使用轮廓提取的方法,提取出数字的形状。
② 轮廓提取算法
使用闭运算的方法,即梯度=膨胀-腐蚀,得到图像的轮廓外形,通过使用findcontour ()函数,对灰度图处理过后的图像,找取边界点的坐标,存储到contours参数中,运用drawcontours绘制轮廓线。
下面是findcontour函数的六个参数值:

③ 畸变矫正处理
在测试识别时出现了识别精度低,图像信息获取不全,识别效率低等问题,为此我们采用图像畸变矫正处理,以提高识别精度和效率。
畸变矫正处理是像差的一种,在人们的感官上看原本直线变成了曲线,但是图像的信息不会丢失,调用openmv官方库中的库函数进行图像的处理。对镜头进行了畸变矫正,以去除镜头滤波造成的图像鱼眼效果。

5.3 取件抓取视觉流程图

三、程序代码
1. 示例程序
1.1上位机程序
① data_collection.py
② shijue.py
1.2下位机程序
① jixiebi.ino
② sketch_nov05a.ino
更多详细资料请参考 https://www.robotway.com/h-col-283.html