走钢丝机器人的设计与实现
2022-06-21徐威梁全赵文川
徐威,梁全,赵文川
(沈阳工业大学 机械工程学院,沈阳 110870)
0 引言
走钢丝机器人能够替代人类在野外、未知及危险复杂环境中进行作业,从而在节省人力、物力的同时,提高作业安全性[1-3]。2009年北京师范大学宋杰文等[4]基于模糊模型对走钢丝机器人进行控制研究,虽然能够验证控制算法具有准确性,但未能制作走钢丝机器人的物理样机;2012年北京邮电大学卢光磊等[5]基于转动杆和平动杆耦合原理试制出走钢丝机器人,但是结构复杂、操作有难度并且稳定性也有待提升;2017年北京邮电大学莫新虎等[6]对走钢丝机器人进行动力学建模,并通过仿真分别验证4款控制器具有有效性,然而没有对控制器进行实物测试;2020年弗吉尼亚大学Guo等[7]对两轮自平衡机器人的稳定性进行控制算法建模和求解,提出一种最优化的控制方案。
本文在他人理论和应用研究的基础上,以平衡杆原理研究走钢丝机器人的平衡稳定性,对其力学原理进行建模,推导出相关理论模型,再利用MATLAB工具箱SimScape对走钢丝机器人模型进行仿真分析,建立走钢丝机器人虚拟样机,在验证理论具有正确性的同时,研制出走钢丝机器人实验样机,进行走钢丝实验。
1 走钢丝机器人系统模型的建立
对他人研究成果进行综合比较和总结[8-11],在简化平衡杆走钢丝机器人动力学模型的同时,采用平衡杆原理作为研究机器人的主要平衡手段,得到原理图如图1所示。
根据图1可知,为了能够模仿机器人在钢丝上稳定站立,将车体部分简化成连杆L1,通过铰链将连杆L1与地面连接,将机器人平衡杆简化成连杆L2,通过铰链将连杆L2质心与连杆L1连接。
图1 走钢丝机器人动力学建模原理图
机器人的动力学模型可以被表达为
将式(1)展开成两个独立的微分方程,可得:
根据线性化方程(4)可知,机器人的倾角θ1只与控制转矩T相关。因此,可以将这个复杂的系统看成单输入、单输出控制系统。
2 走钢丝机器人的控制及仿真
为了减少试制样机的调试时间,避免复杂理论推导,提高开发效率,本文对走钢丝机器人进行PID控制研究。通过计算机仿真建立虚拟样机,在虚拟环境中调试PID参数,再在实验中参考仿真结果进行参数设置,使机器人保持直立状态。需要注意的是,可以采用多种仿真平台进行虚拟样机建模,由于MATLAB的SimScape工具箱更适合将机电系统和控制算法仿真相结合,有利于走钢丝机器人的项目开发,因此选择MATLAB的SimScape工具箱作为仿真平台。走钢丝机器人共有2个转动关节,通过SimScape模块库中的“Revolute Joint”(转动关节)元件对关节进行设置,采用“Solid”(实体)元件对机器人主体进行建模,最后再根据“Rigid Transform”(刚性坐标变换)对机器人各部分进行位置调整。其中,为了提高仿真的真实性,加入了白噪声干扰模块,最终获得走钢丝机器人的SimScape仿真模型如图2所示。
图2 走钢丝机器人SimScape仿真草图
通过Simulink中的PID模块对机器人进行控制,并记录机器人倾斜角度和经过PID校正后的输入转矩。其中,设置机器人的初始倾角为5°,通过多次试凑,最终确定的PID参数的比例参数为5,积分参数为1,微分参数为0.5。另外,由于仿真模型与实际存在差异,PID参数还需要在样机实验中进行调整。根据所确定的PID参数,运行SimScape中所建立的仿真模型,绘制机器人的倾斜角度和平衡杆驱动电动机转矩随时间的变化曲线如图3所示。
图3 走钢丝机器人倾斜角度随时间变化曲线
获得走钢丝机器人动力学仿真动画截图如图4所示。
由图4可知,能够表现出机器人的姿态修正过程,起初机器人平衡杆左右倾斜严重,随着平衡的逐渐调整,机器人本体左右倾斜程度逐渐趋于平缓,直至最终稳定。
图4 走钢丝机器人动态仿真动画截图
3 走钢丝机器人的机械、电气及软件设计
为了验证走钢丝机器人理论设计的正确性,需要研制实验样机,主要可分为机械、电气及软件部分。
3.1 机械部分
由于亚克力是一种近似塑料的透明材料,其质量轻、美观性好,用户只需提供二维图样便能够加工,因此机身结构采用亚克力加工制造。为了充分利用空间,有利于安排更多的电气元件,小车整体划分成多层结构,层与层之间的支撑部分采用带螺纹铜柱,铜柱的两端分别带螺纹孔和外螺纹结构,可以头尾相连,其余的连接部分采用螺钉、螺帽连接。需要注意的是,机器人平衡杆部分是平衡的主体,平衡杆和控制电动机通过自制连接器进行连接,不仅能够方便拆卸和预调整平衡重心,而且可用一台直流电动机控制平衡杆转角。此外,机器人小车的车轮采用铝合金材料车削加工,通过支架直接安装在两台直流电动机上,控制小车前进和后退。其中,车轮个数为2个,并且2个车轮都可以是主动轮,不仅能够解决小车的动力问题,同时两个车轮前后布置,还能够解决小车在前后方向上的倾倒问题。
SolidWorks中走钢丝机器人及系统整体结构效果图如图5所示。
图5 走钢丝机器人机械结构
3.2 电气部分
为了能够使控制算法得以实现,电气部分采用Arduino 单片机作为控制中枢。由式(4)可知,系统的输出变量是机器人的倾角,控制变量是电动机的转矩,因此能够使系统得到机器人的实时倾角。其中,为了得到机器人的倾斜角度,采用MPU-6050三轴加速度陀螺仪测量机器人的倾角,能够实时反馈给Arduino单片机,单片机再通过PID算法,计算输入给直流电动机,进而产生输入转矩。另外,小车的前后运动是由L298N驱动控制直流电动机完成的。
3.3 软件部分
系统软件部分采用C语言进行编写,并调用Arduino开源库函数,能够实现的主要功能包括:直流电动机的PWM转速控制;红外线遥控;上下位机串口通信;PID控制算法;卡尔曼滤波算法。其中,通过PID算法能够提升小车的平衡稳定,使其姿态平稳;通过卡尔曼滤波算法能够检测小车左右倾倒的姿态问题。
将机械、电气和软件部分进行整合,最终研制出走钢丝机器人样机,如图6所示。
图6 机器人样机运行试验图
4 结论
本文对走钢丝机器人建模、仿真及控制进行了系统研究,研制出结构简单、实用性强、可操作性强、系统稳定性更高的走钢丝机器人,并且研究过程和方法能够减少试制样机的调试时间,避免复杂理论推导,提高开发效率。
1)根据所简化的走钢丝机器人,通过平衡杆原理研究运动平衡稳定性,建立了走钢丝机器人动力学系统模型。
2)根据所建立的走钢丝机器人虚拟样机,进行PID参数调试,确定比例参数为5,积分参数为1,微分参数为0.5。再根据所确定的PID参数,运行SimScape中所建立的仿真模型,绘制出机器人倾斜角度和平衡杆驱动电动机转矩随时间变化的曲线。
3)给出走钢丝机器人机械、电气及软件的设计方案,成功研制并调试出走钢丝机器人样机,使机器人在钢丝上实现稳定行走。最终能够验证本文研究方法具有可靠性,对开展机器人控制系统研究有一定的借鉴作用。