赵海滨 刘冲 陆志国 于清文 颜世玉
摘 要 在机器人理论教学中,运动学、轨迹规划、动力学和控制等内容比较抽象和复杂,存在大量的公式推导和微分方程。为了提高教学质量,在机器人实验教学探索和实践中,以两自由度机器人为研究对象,采用MATLAB/Simulink软件进行机器人的仿真和控制实验。实践结果表明,教学效果良好,能激发学生的学习热情,有助于培养学生的编程能力和创新能力。
关键词 机器人;仿真实验;MATLAB/Simulink;实验教学
中图分类号:G642.423 文献标识码:B
文章编号:1671-489X(2018)12-0125-03
1 引言
机器人学一门多学科交叉的前沿学科,包括机械工程、电气与电子工程、计算机科学、认知科学、生物学、控制论与控制工程学及许多其他学科[1],无论是在基础理论方面,还是在实践应用方面,发展速度都非常快。越来越多的高等学校机械工程学科面向高年级本科生和低年级研究生开设机器人相关课程。机器人课程的教学包括理论教学和实验教学,其中在理论教学中存在大量的公式推导和微分方程,需要学生具有扎实的数学基础,特别是矩阵分析和微分方程等知识[2-4]。而机械工程学科的学生这方面比较薄弱。
MATLAB/Simulink具有强大的数学运算能力,以及方便实用的绘图功能,已经成为系统仿真和自动控制领域普遍采用的计算机辅助设计工具[5]。Simulink是一种基于MATLAB软件的框图设计环境,能够完成系统的建模、仿真和分析等工作[6]。Simulink和外界硬件的接口还可以建立半实物仿真和实时控制实验。在Simulink中采用普通的模块搭建复杂控制系统非常困难,采用User-Defined Functions库中的MATLAB Function模块,可以采用MATLAB语言非常方便灵活地建立复杂的系统[7]。
本文结合机械工程专业的机器人课程实验教学现状,为了提高教学质量,将MATLAB/Simulink软件引入实验教学中,以两自由度机器人为研究对象,建立机器人仿真和控制实验,将理论课学习的运动学、轨迹规划、动力学和控制等内容,在MATLAB/Simulink软件中仿真实现。学生可以修改系统的参数和程序,然后进行动态仿真。该仿真系统能够加深学生对理论知识的理解,能够增强学生的学习兴趣和热情,并有助于培养学生的编程能力和创新能力。
2 两自由度机器人
在机器人课程理论教学中,运动学、轨迹规划、动力学和控制等内容存在大量公式推导和微分方程,对于机械工程专业的学生而言比较抽象和复杂。在机器人实验课中,由于涉及的电机和传感器等硬件以及编程语言等都非常复杂,学生很难和理论知识相结合,因此采用MATLAB/Simu-link软件进行机器人的仿真和控制实验非常必要。教材中机器人动力学部分的公式推导均以两自由度机器人为例,因此,机器人仿真和控制实验也以两自由度机器人为研究对象。
运动学方程 机器人正运动学是根据各个关节的角度值来确定机器人各个关节的位置。对于具有两个自由度的机器人,q1和q2分别为两个关节的角度,a1和a2分别为两个关节的长度,则第一个关节末端的位置坐标(x1,y1)为:
3 MATLAB/Simulink仿真实验
由于机器人价格昂贵,以及实验场地的限制,不能每个学生一台实际的机器人。对于实际机器人的编程,由于涉及硬件驱动、传感器和编程语言等,在实验课时非常有限的情况下,学生很难进行深入理解。因此,根据理论课学到的运动学、轨迹规划、动力学和控制等内容,以两自由度机器人为研究对象,建立综合性实验。采用五阶多项式方法进行轨迹规划,然后采用带重力补偿的PD控制器对两自由度机器人进行控制,机器人的角度值通过运动学转换为工作空间中的坐标。最后,通过工作空间中的坐标,将机器人的运动通过图形动画的形式显示。
采用MATLAB/Simulink建立两自由度机器人如图1所示。系统仿真采用变步长的ode45算法,最大仿真步长为
1 ms,仿真时间为3 s。在图1中,动力学方程模块采用公式(5)得到角加速度,然后采用两个积分器,分别得到角速度和角度值。
整个机器人控制系统如图2所示。在图2中,采用五次多项式轨迹规划,得到期望的轨迹,然后采用带重力补偿的PD控制器进行机器人的控制。机器人的输出角度值通过运动学转换为操作空间中的坐标。运行仿真后,通过Scope模块查看机器人的角度、角速度和输入力矩等,通过To Workspace模块将输出值保存到MATLAB软件的工作空间中。
机器人两个关节的长度均为1,在工作空间中两个关节的运动如图3所示。初始位置两个关节的角度均为0,终点位置两个关节的角度分别为3π/4和π/3,采用带重力补偿的PD控制器进行控制,可以看到机器人两个关节的运动过程。
4 结论
本文针对机器人动力学方程非常抽象复杂和难以理解的特点,利用MATLAB/Simulink软件建立两自由度机器人仿真和控制实验。仿真模型结构清晰,容易理解,能够让学生对机器人仿真和控制有一个非常直观的了解。教学实践表明,该实验能够让学生加深对理论知识的学习,增强学习的兴趣和动力,并有助于编程能力和创新能力的提高。
参考文献
[1]蔡自兴.机器人学[M].2版.北京:清华大学出版社,2009.
[2]唐艳华,张庆玲.机器人技术基础实验教学的改革与实践[J].教学研究,2015,38(2):103-105.
[3]张奔.以实践为导向的机器人教学改革探索[J].中国教育技术装备,2017(6):91-92.
[4]雷静桃,刘亮,张海洪.“机器人学”课程教学改革与实践[J].实验室研究与探索,2013,32(5):179-182.
[5]谢斌,蔡自兴.基于MATLAB Robotics Toolbox的机器人学仿真实验教学[J].计算机教育,2010(19):140-143.
[6]高道祥,薛定宇.基于MATLAB/Simulink机器人鲁棒自适应控制系统仿真研究[J].系统仿真学报,2006,18(7):2022-2025.
[7]薛定宇,陳阳泉.基于MATLAB/Simulink的系统仿真技术与应用[M].2版.北京:清华大学出版社,2011.