物流机器人方案

项目技术报告

1 简述

智能制造场景中的物流机器人基于智能制造的现实和未来发展为主题,设计一款能搬运物料的机器人。该机 器人能够在规定场地内自主行走与避障,通过扫描二维码领取物料搬运任务,自主按任务 要求将物料搬运至指定地点,并按照要求的位置和方向精准摆放。

1.1 功能

自主定位、自主移动、自主避障、二维码读取(初赛用)、Wi-Fi 网络通 信(决赛用)、物料位置、颜色及形状识别、物料抓取与搬运、路径规划等功能。

1.2 其他要求

传感器、电机种类不要求,机器人醒目位置要有个小屏幕显示任务,字体高度不超过8mm。采用电池供电,不超过12.6伏特。

2 模块选择

2.1 电池模块

大赛的智能物流机器人要求电压不超过12+0.6,经过系列知识检索,我们选择2200mha的3s电池,电池的插头选择T插头即可。

电池链接:

79✔Zau62CH2Yzy₴ https://m.tb.cn/h.Ud5V75D  CZ3457 TCB航模锂电池2200mAh3s11.1V25Ckt板固定翼4s模型玩具配件厂家L

电池展示图:

对于充电器的选择,我们需要购买电池充电器,这里选择B3充电器。

充电器链接:

87🗝CVZ22CHWEnx£ https://m.tb.cn/h.Ud54rNh  CZ3457 Hotrc B3充电器平衡充电器航模电池2S3S锂电池20W模型无人机11.1V

充电器展示图:

充分考虑锂电池的使用周期,我们需要对充电放电进行一个管理,不要过度充电和放电。所以我们选择了一个BB响锂电池低压报警器来保持电池的耐久性。

BB响链接:

28🔐TlNX2CH3ZLY《 https://m.tb.cn/h.UW5TLHQ  CZ3457 BB响测电器新款BX100航模无人机1-8S锂电池低压报警器电量显示器

BB响展示图:

2.2 机械臂模块

根据大赛要求,机械臂模块不能直接买已经装好的。这里我们自己选择舵机控制板进行组装。对于如何驱动机械臂框架结构,经过综合考虑,该机械臂系统选择使用舵机作为执行机构。舵机是一款集成伺服单元,有较高精度的输出、简单的控制、便于与单片机进行通信等优点,适用于角度需要变化或角度需要保持的地方。而该机械臂系统在抓取和放置物品时,各个关节的角度一直在变化,采用舵机可满足使用要求。

舵机链接:https://item.taobao.com/item.htm?id=23334420583&ali_trackid=2:mm_1551900088_2160400488_111032800236:1664803957_049_1370717537&union_lens=lensId:TAPI@1662423242@212cb6d7_0b65_183102598e9_2a92@01;recoveryid:1664803957_049_1370717537&ak=27860155&bxsign=tbk5t5q8nPzrhMCx5y8ONeB4MhHawVErkrLfEM_ez8bX49auLUT8OElgTiD2FrrjpKz8Fyl9s4LDfmAWNszYalfJ_o0Ipq9Yi8IvNjQnGf1FlrAAiPPelPUmP7PyexQ9WaWYHpzc7r3KiqiFFWXvqgnxw

现成机械臂:https://item.taobao.com/item.htm?id=677884215354&ali_trackid=2:mm_1551900088_2160400488_111032800236,1QNw2mnFE640:1664804147_090_1755410774&union_lens=lensId:TAPI@1663291855@210866d2_0bbd_18343eb927b_c628@01;recoveryid:1664804147_090_1755410774&unid=1QNw2mnFE640&ak=27860155&bxsign=tbkdQip_2Vlxtn1Lku1KlA34b3Aw-VQaKDKlNJKZiQQST7IkM4oZS7b6IzNqCL5tbioa5F9dAvvGpoSFD3Q_rDjMUj266r4SSwFLQjJ7L07mp2BHB3OOv59vxBYMQ2CgwF9nAV-l-KbqtLDMYbxYwg0gg

舵机展示图:

2.3 主控模块

这里主控板模块我们直接选择arduino mega2560,mega2560有4个硬件串口,一个iic,16路模拟输入,50多个数字io口,完全够用。如下图为mega2560 mini,尺寸 54*38 mm 重 8.7g。我们共计使用3个硬件串口,16个模拟输入,11个数字io

  • 1)机械臂控制板,hwt101,openmv各占用一个硬件串口;
  • 2)串口屏占用两个数字引脚,模拟软串口;
  • 3)十六路寻迹模块占用16个模拟输入引脚;
  • 4)四个步进电机的step/dir占用8个数字引脚,使能端en占用一个数字引脚

2.4 驱动模块

驱动模块就是让小车跑起来,所以我们需要车轮子还有电机给小车提供驱动。考虑到步进电机以脉冲驱动,控制精度高,控制算法简单,开环控制即可实现不错的效果且步进电机的转矩大,劲儿大。这里我们直接选择麦克纳木轮还有43步进电机即可。

电机:https://item.taobao.com/item.htm?id=3949282634&ali_trackid=2:mm_1551900088_2160400488_111032800236,1QNtXoQDePC0:1664804779_018_143829037&union_lens=lensId:TAPI@1663290109@213ff005_0ba5_18343d0ec9b_a313@01;recoveryid:1664804779_018_143829037&unid=1QNtXoQDePC0&ak=27860155&bxsign=tbk6nPghGm4Up28Xq4579pI-XBHPqSVcSEARV-ySNIHLWQrQ-YnkGSVjPHxZ-QqKAUlCxeo8uGAe2zg6RjNFg05pEyCXbubNDot8MhP-frf_xxI2xKUUpVUTwnDqifej6ygi93zs3vS-lKfOEnwaS0ZWA

电机展示图:

麦克纳木轮:https://item.taobao.com/item.htm?id=565314058762&ali_trackid=2:mm_1551900088_2160400488_111032800236,1QNu080qr1C0:1664804880_026_170543895&union_lens=lensId:TAPI@1663290146@212b9777_0b5a_18343d17d25_b721@01;recoveryid:1664804880_026_170543895&unid=1QNu080qr1C0&ak=27860155&bxsign=tbkBn102_KecDe2DDSanM1YqMOAia2pRu4oKZ6eJ8TsDmkxP4OB5Cext8zeVgDxECzXXvgEz7BXDeYm-wP4mU-SRwZW0_w3zilZetbynqXIJX8Wnp_lsZ6Jc_5Vh9VUxwnm9thvjlbZsw3MUSZs6rFFRQ

2.5 寻迹模块

对于寻迹模块,我们采用灰度寻迹模块,采用8个单路灰度寻迹。

灰度寻迹:59 CZ3457  1:/《4NGJ2C3qnmH✔十单数字量灰度传感器 1路循光电寻线识别光敏巡迹模块 机器人专用

2.6 姿态校准模块

考虑到各种因素,小车无法一直走直线,可能会有整体角度的偏移。为了保证小车的车身,我们需要陀螺仪角度传感器模块来矫正车身。

维特智能高精度旋转角度传感器串口通讯无漂移500Hz HWT101:商品详情

2.7 图像识别模块

Open MV上的机器视觉算法包括寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪等。本系统主要运用寻找色块算法和寻找色环算法。首先是寻找最大色块算法,背景中存在很多杂质,为了降低杂质的影响,其中还加入了降噪算法,可以使识别色块更准确。色块颜色的阈值采用Lab,Lab颜色空间中,L代表亮度,a的正值代表红色,负值代表绿色;b的正值代表黄色,负值代表蓝色。与RGB和CMYK色彩空间不同的是,Lab颜色是被设计来接近人类视觉的。设定一个颜色的阈值结构为(min L,max L,min A,max A,min B,max B)。在判断色块是否为指定物块之后,Open MV与Arduino之间通过字符串进行通讯,实现机械爪的抓取或机械臂判断下一个位置。当机械臂接收信号放下物块之前,首先通过Open MV来判断是否为正确的颜色,如果正确,会标记出中心坐标,并将其发送给Arduino,之后Arduino控制机械臂进行放置。

openmv:识别摄像头:粉丝福利购 (taobao.com)

3 方案设计

3.1 驱动方案

小车沿着轨迹的行驶过程,我们采用的是陀螺仪加光电双重控制,其中通过陀螺仪反馈的角度信息来构成姿态PID,保证小车在行驶的过程中姿态始终保持正直。然后通过光电是否压线构成的反馈来限制小车在行驶的过程不脱离黑线。其次是小车的定位部分。在这个题目中由于有黑线构成的网格,所以对于定位而言最简单的方法是数黑线的条数。这个部分,我们运用了两个光电,小车前面放置一个光电,小车左边放置一个光电,当小车前后走时候,左边的光电进行计数,当右边的光电左右走的时候,前面的光电进行计数,这样就可以根据记得数目来确定小车的具体坐标。通过控制一组麦轮中若干麦轮的转向,实现整体行进方向的改变。我们选择常见的长方形安装方式,长方形的四个角各一个麦轮,麦轮旋向为“X”主要通过步进电机对麦轮进行控制来实现转向功能。主要是对步进电机驱动的控制,直接选择步进电机闭环控制器。在准备好电机后,我们还需要准备4pin的端子线,将其焊到电机上。具体操作就是用万用表切换成通断档,判断那两根线是互通即可。(驱动板使用的是Arduino CNC扩展板),在焊接完成后,我们需要检查步进电机的各项绕组是否短路。接下来就是编写代码进行调试即可。

3.2 循迹定位

灰度传感器利用不同颜色的检测面对光的反射程度不同,光敏电阻对不同检测面返回的光其阻值也不同的原理进行颜色深浅检测。在有效的检测距离内,发光二极管发出白光,照射在检测面上,检测面反射部分光线,光敏电阻检测此光线的强度并将其转换为机器人可以识别的信号。对于安装位置如下图所示。在小车的前后左右四个方向都只分别安装两个灰度循迹,且两个传感器对称安装于小车中心位置,二者相距约黑线宽度。所以当机器人水平向右循迹时,我们采取的方案是让安装在小车前侧的两个灰度传感器始终位于黑线的两边,这里注意黑线是在两个灰度传感器的中间位置。当小车偏离黑线时,哪一侧的传感器检测到黑线,小车就往哪一侧调整。因为使用麦轮的缘故,当小车左偏时,右侧循迹将检测到黑线,小车将顺时针调整;当小车右偏时,左侧循迹将检测到黑线,小车将逆时针调整。当然我们也可以加入pid算法,来使得循迹变得更加快。这里简单的介绍pid算法,如果后期还需要改进会加入pid算法来循迹。pid算法简单的来说就是通过三个参数比例增益、积分增益、微分增益来调节小车的轨迹。这里采用烧水来举例水温现在有一个A温度值,期望值是B,当两个相差不大我们轻轻的加热一下就可以,要是相差很大就加热很快。对比与小车来说也是一样的,偏航角度就很大。Kp越大,调节作用越激进,Kp调小会让调节作用更保守。对于微分增益来说,是让水温变得更加稳定,Kd参数越大,向速度相反方向刹车的力道就越强,如果是平衡小车,加上P和D两种控制作用,如果参数调节合适,它应该可以站起来了,相当与一个控制作用。积分增益的作用则是让小车减少静态情况的误差,让受控物理量尽可能的接近目标值。

3.3 机械臂方案

机械臂共采用六个舵机(编号a、b、c、d、e、f)驱动。其中,f舵机控制机械爪开合,e舵机控制机械爪旋转。因此,实际控制机械臂运动轨迹的为其余四个舵机,a舵机控制机械臂整体旋转,b、c、d舵机确定一平面,控制机械臂在该平面内运动,由此可采用圆柱空间坐标。

在b、c、d舵机确定的平面内,根据设计情况,确定机械臂夹取点的起始点位置、终止点位置和运动轨迹,以及起始点、终止点对应的各舵机转角度数。定点位置可采取实际测量的方式确定,舵机转角的确定首先采用理论计算的方式得到估算值,后采用试测法进行调整。

在完成定点工作后,需确定机械臂运动轨迹。在起始点、终止点之间,各个舵机转过相应的方向和角度,通过线性比例的方式进行角度的加减。若对轨迹有一定的要求,为提高轨迹拟合程度,可将轨迹进行分段,确定每段轨迹的起始点、终止点位置及舵机转角,再通过线性比例的方式进行角度加减,实现运动轨迹的拟合。分段数越多,每段轨迹长度越短,拟合程度越高。由于模拟量舵机无法实现完全的同步转动,只得通过缩小单步转动角度,同时进行插补运算的方式进行轨迹点的调整和轨迹的拟合。

3.4 图像识别方案

对于图像识别我们有三种方案。

  1. 二维码条形码识别模块 (微雪 识别模块)
  1. openmv
  1. 颜色识别模块(TCS230)

这里我们使用openmv模块加上补光灯拓展板,因为考虑到现场的环境因素相差很大,识别效果好的红绿蓝三种颜色的阈值也会随之变化。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值