基于机器手臂虚拟仿真技术实现汉诺塔游戏
【面向专业】
自动化、电气工程及其自动化
【所属课程】
工业机器人工程应用虚拟仿真教程
【实验目标】
1)通过仿真软件模拟操作多自由度机器手臂;
2)掌握多自由度机器手臂的建模方法,以及任务分解解析,最总得到路径优化结果。
3)介绍2种专业机器手臂软件,开阔学生视野。
【实验类型】
基本型
【实验意义】
一个机器手臂系统包含机械、硬件、软件和算法四部分,涉及到的理论知识包含结构设计、控制系统设计,运动学分析,轨迹和路径规划等。通过本次仿真实验使学生深刻了解机器手臂是一门跨学科系统工程。通过操作仿真软件使学生掌握机器手臂的建模、轨迹规划的基本知识。
【实验方式】
实验室老师一上课就对本次实验内容结果展示给学生,让学生有一个直观的认识,然后通过提问方式缓缓引入本次试验的相关理论知识,最后老师讲解本次实验的操作顺序,以及这些顺序与相关理论的关系,并讲解容易出现错误的地方,最后2-3人一组,开展实验。
【教学流程及学习效果】
机器人的运动学分析一般由正运动学、逆运动学分析两部分组成。采用最常用D-H参数齐次变换法则,在各个连杆相连处的活动关节上建立坐标系,游标系建立后可以清楚地看到该机械臂由基座、腰部、大臂、小臂、手腕以及夹持器6部分构成。各个关节采用转动副相连接。前三个关节确定机械臂末端在空间中的位置,后三个关节确定机械臂末端在空间中的姿态。
建立机器人正运动学模型,即变化地关节角度通过相对坐标系的平移、旋转变换,得到机器人的末端夹持器位姿在基座坐标系下的坐标。与之相对应的逆运动学模型是建立期望的末端夹持器位姿到变化地关节角度之间的影射关系。
实验过程:
(1)Matlb模型的建立。根据不同的实体建立与分析其数学模型,将机械手在仿真环境中得到还原。首先利用robotics库中的的函数进行机械臂运动学模型的构建:
% link model
L{1}=link([pi/2 0 0 120 0 pi ], 'standard');
L{2}=link([pi/2 0 0 0 0 0 ], 'standard');
运行程序显示如下仿真界面,根据光标移动建立起机器人工作空间概念,通过多次对应关节的转动移动试验,建立数学模型参数与实物关节角变化量的关系概念,从而为了进一步实现工作任务控制实现奠定基础。
图 模型的建立图
(2)任务的分析与分解,得到轨迹规划决策,对机械手的各个关节进行轨迹规划,采用不同的算法实现程序的编程。
(3)关节的控制实现:Matlab环境下可以根据simulink以上环节得到的workspaces数据导出,最终执行任务时可在figure中直接观测到仿真实验的结果。如果需要末端轨迹或者关节角度等参数的信息也可以在模型搭建的过程中添加输出量观测,得以验证设计的合理性。
(4)建立机械手的模型:
图 机械手的模型图
(5)通过设定特定关节的角度变化来观测工作空间范围。
图中建立的虚拟机械臂是具有两个转动副和一个移动副,假设
;
将以上的关节运动规律分别加载到ADAMS模型的各个关节的虚拟电机上,进行运动仿真得到末端轨迹的变化,同时可以检测得到笛卡尔空间内x,y,z轴的坐标信息。对应仿真实验结果可以验证初期数学模型的建立与分析,以及控制器设计的合理性,学生可以按照自己的设计完成其预期任务,并得到仿真效果。
图 机械手的模型图
图 机械手运动轨迹
(6)利用OpenGL+VS2012软件环境,建立虚拟仿真实验环境。OpenGL是一种功能强大的三维图形库。它包含100多个图形操作函数,开发者可以利用这些函数来建立一个三维模型和进行三维实时交互。Vc++是当前最流行的软件开发工具,它具有灵活的的应用向导和完善的OpenGL库,使得开发复杂的三维图形变得容易。为两者结合的实例如下图所示。
图 机械手虚拟模型图
图 机械手虚拟模型图