首页 > 编程知识 正文

智能打磨机器人(打磨水泥地面的工具)

时间:2023-05-06 01:42:12 阅读:99711 作者:4849

在我国建筑行业,传统的水泥地面打磨主要由工人手工作业或配合半自动机械产品完成,但往往会造成地面打磨平整度不是很好,打磨过程中产生的大量粉尘严重危害工人健康,对于大面积的地面来说工作效率很低[1]。水泥粉磨机器人可以有效解决上述问题,大大提高工作效率,减轻工人的工作量,消除粉尘对工人的危害[2]。目前成熟的产品往往是人工支持的半自动产品。通过对现有机器的分析,发现有的型号太重,搬运更换磨盘非常费力,有的型号太轻,磨削力不足,效率低。大部分产品还没有完成无人值守自动研磨的任务[3]。为了解决上述问题,有必要开发一种研磨机器人,该机器人可以在很少或没有警卫的情况下自动工作。它可以通过自带的激光雷达构建室内地图,通过运动路径规划、定位导航、运动控制和打磨转盘控制,实现建筑水泥地面的自动打磨。

本设计的核心是用路径规划实现复杂运动中基本运动的控制。原因是每一个复杂的动作都可以拆解成向前运动、向后运动、左转、右转等基本动作的组合,所以对基本动作的精准控制就显得尤为重要。

在本设计中,首先建立了机器人的运动学模型。在分析机器人四种基本操作模式的基础上,针对机器人速度控制问题,提出了一种速度控制算法,并用MATLAB软件完成了算法的仿真。在实现水泥地面研磨机器人基本运动的过程中,采用STM32F103Z作为运动控制系统的主控芯片,伺服驱动器带动电机旋转,完成机器人运动控制系统的硬件平台。软件部分在Keil Vision5集成开发环境下用C语言编程,通过模拟器下载到STM32F103Z芯片,最后通过机器人样机进行测试。

1机器人运动学模型的建立

为了准确描述机器人在运动过程中的位置和姿态信息,简化了水泥地面打磨机器人的运动体结构,构建了机器人的运动学模型。

如图1所示,水泥地面研磨机器人可以分为两部分。第一部分是功能部分,主要包括磨盘和相应的驱动电机。研磨转盘和电机由V带驱动,驱动电机尾部安装编码器,通过编码器获取驱动电机的转速信息。另一部分是移动机器人载体。移动机器人的前轮是驱动轮,控制机器人的运动方式。两个后轮是万向轮,只起到支撑作用。

简化上述水泥地面研磨机器人的结构,得到如图2所示的机器人运动学模型。

图2中,Xr和Yr分别是机器人在局部参考坐标系中的横坐标和纵坐标,X和Y分别是全局坐标系中的横坐标和纵坐标,Xr始终与机器人的移动方向一致。o是机器人身体的中心。设差动驱动机器人的广义坐标为q=[x,y,],其中x和y代表差动驱动机器人平台两驱动轮中点o的横坐标和纵坐标。即两驱动轮连线的中点坐标。

所有相关参数的含义为:L、R、分别代表驱动轮的左轮速度、驱动轮的右轮速度、水泥地面打磨机器人的当前速度;2L表示两个驱动轮之间的距离,近似认为是机器人小车的宽度;r代表单个驱动轮的半径;表示机器人运动方向与全局坐标系X轴之间的角度。

在公式(1)中,两个驱动轮L和R的速度共同决定了水泥地面打磨机器人的四种工作模式:

(1)当L=R时,L和R同时向前旋转,磨地机器人直线向前运动;

(2)当L=R时,L和R同时反转,地面打磨机器人直线后退;

(3)当或

等式(2)表示机器人在其运动期间的当前姿态信息。通过对方程(2)的两边进行积分和简化,然后离散化,得到机器人空间位姿变化与机器人驱动轮移动距离之间关系的表达式:

等式(3)示出了机器人在时间tn 1的瞬时姿态与两个驱动轮的移动距离 SL和 SR之间的关系,xn 1、yn 1和n 1表示机器人在时间tn 1的姿态信息,xn、yn和n表示机器人在时间tn的姿态,左驱动轮的移动距离为 SL,右驱动轮的距离为 SR。

通过上述公式的推导过程,可以得到机器人在某一时刻的准确姿态信息。在实际控制过程中,可以通过机器人驱动电机编码器的数据输出机器人的位姿信息,计算出两个驱动轮的位移,最终得到机器人的实际位姿。此外,利用差动驱动原理[5]改变两个驱动轮的速度可以实现对机器人运动模式的控制,这为机器人运动控制系统的实现提供了理论依据。

2加减速控制算法

水泥粉磨机器人在运动中会产生噪声和振动。如果没有合适的运动控制算法,机器人的稳定性会降低,振动也会加速机器人机械部件的磨损,会使机器人的定位产生很大的误差。为了解决这个问题,本设计提出

基于“S”型曲线的速度控制算法,该算法能够有效解决该机器人在运动控制中稳定性低、定位误差大等问题[6]。

“S”型曲线具有加速度呈现线性、加速度连续性、速度平滑过渡的特点。由于速度曲线的形状,这个轨迹称为双“S”速度曲线。曲线是由加加速阶段、匀加速阶段、减加速阶段、匀速阶段、加减速阶段、匀减速阶段和减减速阶段这七个阶段组成的,因此又叫七段式轨迹[7],如图3所示。

由以上曲线图可得“S”型速度控制算法数学表达式。

速度计算数学表达式:

在该机器人速度控制算法中,设定地面打磨机器人最大的运行速度为0.8 m/s,最大加速度为0.5 m/s,接着对“S”型加减速控制算法在MATLAB进行仿真,仿真结果如图4、图5所示。

通过图4可以看出,机器人在前2.5 s处于加速状态,在2.5 s时完成加速过程,速度到达最大值80 cm/s,在加速过程中,速度曲线光滑连续,没有尖点;在减速时,情况类似,符合水泥地面打磨机器人速度控制要求。

通过图5可以看出,机器人在前1 s加速度匀速增加,在1 s时,加速度到达最大值50 cm/s,随后加速度保持不变,在1.6 s时加速度开始减小,2.5 s加速度减为零,机器人完成加速阶段。在加速度减小时,情况类似;整个加速过程曲线连续,满足加速度要求。

通过图4、图5可知:S型曲线在整个速度调节过程中平滑过渡,不存在加速度突变现象,表明水泥地面打磨机器人运动平稳,无较大冲击,可以保证机器人在运动过程中平稳运行。

3 运动控制系统硬件设计

从水泥地面打磨机器人工作角度考虑,运动控制系统整体设计主要包括:车体、驱动轮、伺服电机及伺服驱动器、运动控制器、供电电源、串口通信电路和按键模块。其中,STM32F103Z芯片是运动控制器的核心,主要是通过向两个驱动器发送一定的频率脉冲PWM信号,协调控制机器人两驱动轮的转速和方向,最终实现对打磨机器人本体的控制以及打磨盘转速的调节[8]。

整个系统的能量来源是48 V锂电池通过降压模块输出适配各个模块的电压要求,运动控制系统硬件框图如图6所示。

本系统采用STM32F103Z作为控制系统中的控制芯片[9],STM32的I/O模块连接按键通过高低电平的转换,实现信号的输入,完成相应的功能。通过STM32的高级定时器TIM8模块输出PWM波值到伺服驱动器,伺服驱动器将收到的信号进行分析驱动伺服电机以及打磨电机转动,电机转动过程中的位置以及速度信息通过编码器经过伺服驱动器间接传递到微控制器中,用于机器人的位姿计算。其电路如图7所示。

编码器采集数据的反馈电路采用EL357NC光耦芯片,将伺服驱动器产生的三对互补信号A+A-B+B-Z+Z-通过高速光耦转化为单端信号A+/B+/Z+输出到控制器STM32,本设计的机器人运动控制系统电路共有左右两个驱动轮的数据输出,该模块仅以右侧编码器数据采集进行介绍,电路原理图如图8所示。

电源模块主要由锂电池以及专用电源转换芯片组成,供电电压为48 V,其中打磨电机、机器人驱动电机采用锂电池直接供电,其他电路通过电压转换模块将48 V转换为24 V用于吸尘电机供电,24 V转5 V用于给编码器等外围电路供电,5 V转3.3 V用于给STM32系统供电。

4 运动控制系统软件设计

该控制系统采用C语言进行软件编程,控制系统软件功能主要是完成控制指令的接收与发送、机器人速度控制算法的解算、对驱动轮速度进行计算和驱动以及参数的存储。

软件设计主要包括以下几个模块:程序的初始化、串口通信模块、定时器中断模块、伺服电机驱动模块、打磨盘驱动模块以及电源电量显示模块等,运动控制系统软件的主要工作流程如图9所示。

在机器人通电后,首先对控制系统进行初始化,包括定时器、PWM函数、串口函数,接着开启外部中断,当系统接收按键发出指令时,STM32F103芯片输出PWM波值,程序运行。机器人开始运动,同时编码器对电机的位置进行检测,通过定时器计算出当前机器人位置,当机器人系统即将到达预设目标值时,开始调用“S”曲线速度控制算法进行速度控制直至到达目标值保证机器人的运动精度。

5 运动误差测试与分析

水泥地面打磨机器人实物图如图10所示,在测试之前,先打开强电电源开关用于给两个驱动电机以及打磨电机供电,然后打开弱电控制开关,用于给控制系统供电。然后通过按键控制机器人的直线行走、半径转弯。

5.1 运动误差测试

本文对机器人的运动误差测试主要分为两部分:直线运行时产生的误差、半径转弯时产生的误差。

(1)直线运行时产生的误差

在机器人直线运行误差测试时,选择的路程分别为200 cm、400 cm、600 cm,在相同的路程以不同的速度进行测试,并将设定的目标路程与实际机器人运行的路程之间的差值记为系统产生的定位误差。

整个误差测试过程:第一步,通过按键发送指令到控制器,在程序中设置机器人的目标路程;第二步,按下按键,机器人按照设定的路程行走;第三步,通过卷尺对机器人实际运行的距离进行测量,当运行距离较小时,采用游标卡尺进行辅助测量;第四步,记录测试数据绘制表格;直线运行误差数据结果如表1所示。

通过表1测试结果可知,不同的路程或者速度设置不同时,均存在一定的误差,随着路程的增加,机器人所产生的误差逐渐增加;速度增加,机器人的误差也呈现增加趋势。平均误差范围在1.0 cm至1.9 cm之间,最大误差2.9 cm时,实验记录距离为600 cm。通过最大误差和标准差可知,该控制系统在一定程度上保证了直线行驶时的精度。

(2)转弯运行时产生的误差

在进行机器人转弯误差测试时,选择半径为400 cm的圆弧线路,通过设置不同速度,测量机器人转弯运行误差,为了保证测试更加精确采用卷尺与游标卡尺相结合进行测试。测试过程与直线测试方法相同,误差结果采用平均误差作为参考值,当机器人在半径为400 cm运行时,误差结果如表2所示。

通过表2测试结果可知:当机器人运转速度逐渐增加时,机器人的转弯定位误差越大;当机器人转弯角度增加时,机器人转弯定位误差也是呈现逐渐增加的趋势,平均误差范围在1.1 cm至2.0 cm之间,最大误差3.1 cm时,速度为70 cm/s,旋转角度为360°,通过最大误差与标准差可知,该控制系统在一定程度保证了转弯运行的精度。

5.2 误差分析

通过测试发现水泥地面打磨机器人能够完成设定的功能,如直行、半径转弯、速度控制,但其中产生误差的原因可能具有以下原因:

(1)地面打磨机器人在安装过程中,存在安装误差。该误差使得机器人在执行何种类型的动作时, 都会产生偏差。

(2)控制运动过程中存在轻微抖动现象,使得机器人在运行中出现偏差,在消除误差时候,需要对控制系统算法进一步优化。

(3)地面打磨机器人测试过程中都在水泥的地面上进行,地面的粗糙程度,在一定程度上导致机器人在运动动作产生误差。

在下一步的研究中,将对机械结构做优化,并进一步对算法进行优化,以保证在不同平整度的地面上工作的情况下运动的稳定性。

6 结论

本文开发设计了水泥地面打磨机器人的基本运动控制系统,并在实际样机中对相关功能的进行验证。本文首先针对水泥地面打磨机器人建立运动学模型,在该模型的基础上,提出了一种差速驱动转向结合“S”曲线算法控制水泥地面打磨机器人的基本运动控制方案,并对该算法进行仿真验证,接着对机器人基本运动控制系统进行软硬件设计,最后通过样机进行试验。该实验表明本设计的控制系统在一定程度上保证了机器人的直线运行和转弯运行精度,实现了水泥地面打磨机器人的基本运动控制,为水泥地面打磨机器人的进一步研发提供基础。

参考文献

[1] 温柔的黑猫.抛光机器人的力控制研究及应用[D].武汉:武汉理工大学,2017.

[2] 酷炫的毛巾.建筑施工用打磨机器人的工作方法:CN108756-177A[P].2018-11-06.

[3] yxdst,沉默的红酒.全自动地坪抛光研磨机[J].石材,2016(9):45-46,54.

[4] wxdbm,悦耳的白昼,包容的蚂蚁,等.带单节拖车的机器人控制系统的设计与实现[J].电子技术应用,2018,44(11):41-44,49.

[5] 忧心的热狗,yydzdj,zddll,等.一种差速驱动的探险救援机器人研制[J].广东石油化工学院学报,2018,28(3):53-57.

[6] 悲凉的西牛,sldyb,wrdxhd,等.焊接机器人虚拟样机轨迹模拟和运动仿真分析[J].焊接学报,2012,33(4):109-112,118.

[7] 细心的水蜜桃,kddxg,ckdkf,等.全类型非对称七段式S型曲线加减速控制算法研究[J].机械科学与技术,2018,37(12):1928-1935.

[8] xwdyx.基于STM32的变电站巡检机器人运动控制系统设计与实现[D].成都:西南交通大学,2013.

[9] 简单的蛋挞,xldxwz.基于STM32的力反馈型康复机器人控制系统设计[J].测控技术,2014,33(1):74-78.

作者信息:

胡春生1,修 瑞2,dqdxmt1

(1.宁夏大学 机械工程学院,宁夏 银川750001;2.中国电子科技集团公司第二十一研究所,上海200233)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。