机械手运动仿真实验报告
- 格式:docx
- 大小:50.34 KB
- 文档页数:6
机械手模拟仿真实验文档实验简介问题描述:应用仿真技术,建立一个具有四自由度的(虚拟)机械手,可完成在任意给定的两个三维空间点之间画一条直线的任务解决方案:首先使用VRML语言建模机械手模型,再使用Matlab中的Simulink仿真环境模拟机械手四个关节的运动状态,然后在此基础之上编写Matlab程序完成所需功能。
重点难点:如何建立世界坐标系,并得到每个坐标点与四个关节旋转角度的对应关系?如何计算机械手臂沿两点直线移动过程中四个关节的运动姿态(即旋转角度)?一、机械手建模为了实现对机械手的仿真实现,我们首先建立一个模拟四个关节(四个自由度)可运动的机械手,效果如下图1.1所示。
图 1.1 四个自由度的机械手模型该机械手的模型分为底座,四个关节以及顶端的画笔,我们重点来弄清楚四个关节的运动情况,地下的红色小立方体可以在水平面的方向左右(即顺时针或逆时针)旋转正负90度,其余的三个颜色分别标记为绿色、蓝色和灰色的三个立方体,它们可以绕着各自的底平面心前后旋转运动,其运动幅度均为正负90度。
建立机械手模型时,采用了MA TLAB支持的虚拟现实建模语言VRML。
1.1 虚拟现实建模语言VRMLVRML(Virtual Reality Modeling Language)即虚拟现实建模语言,是一种用于建立真实世界的场景模型或者人们虚构的三维世界的场景建模语言,是一种面向Web面向对象的三维造型语言,其实质为一种解释性语言,常用的编辑环境有VrmlPad,VRML文件的后缀名为.wrl, 使用浏览器浏览时需要相应插件的支持,可下载cortona3d.msi安装即可由于VRML在互联网和可视化的广泛应用,Matlab对于虚拟现实也进行了有力的支持,Matlab提供了Simulink接口和Matlab接口来与虚拟现实进行交互,相应的详细说明文档请查看Matlab帮助文档中的Virtual Reality Toolbox内容。
机械手的实验报告机械手的实验报告引言:机械手作为一种重要的自动化设备,广泛应用于工业生产、医疗手术、科学研究等领域。
本次实验旨在探究机械手的基本原理和应用,并通过实际操作,加深对机械手的理解。
一、机械手的基本原理1. 结构组成:机械手主要由机械臂、末端执行器和控制系统组成。
机械臂通常采用多关节连杆结构,通过电机驱动实现运动。
末端执行器根据不同需求,可以是夹爪、吸盘等工具。
控制系统负责接收指令并控制机械手的运动。
2. 运动方式:机械手的运动方式主要包括旋转、平移和伸缩。
旋转是指机械臂在水平或垂直方向上的转动;平移是指机械臂在空间中的移动;伸缩是指机械臂的长度变化。
3. 控制原理:机械手的控制原理通常采用开环或闭环控制。
开环控制是指根据预设的运动参数,直接控制电机的转速和方向;闭环控制则通过传感器实时监测机械手的位置和状态,反馈给控制系统,以实现更精确的控制。
二、机械手的应用领域1. 工业生产:机械手在工业生产中扮演着重要的角色。
它可以完成重复性高、精度要求高的操作任务,如装配、搬运、焊接等。
机械手的应用可以提高生产效率,降低劳动强度,保证产品质量。
2. 医疗手术:机械手在医疗领域的应用也越来越广泛。
它可以辅助医生进行精确的手术操作,如微创手术、神经外科手术等。
机械手的稳定性和高精度可以大大提高手术成功率,并减少对患者的伤害。
3. 科学研究:机械手在科学研究中的应用也非常重要。
它可以帮助科学家进行实验操作,如化学试剂的加注、药物筛选等。
机械手的快速、准确和可重复性使得科学研究更加高效和可靠。
三、实验操作及结果在本次实验中,我们使用了一台六轴机械手进行操作。
首先,我们通过控制系统设置机械手的运动轨迹和速度。
然后,根据实验要求,机械手完成了一系列的动作,如夹取物体、放置物体等。
实验结果显示,机械手能够准确地按照预设的轨迹和速度进行运动,并成功完成了各项操作任务。
机械手的夹取力度和放置位置也能够满足要求。
机械工程研究报告之机器人手臂运动控制的建模与仿真研究摘要:机器人手臂的运动控制是机器人技术中的重要研究方向之一。
本研究通过对机器人手臂运动控制的建模与仿真研究,旨在提供一种有效的方法来优化机器人手臂的运动控制算法,并验证其在实际应用中的可行性和有效性。
本研究采用了基于MATLAB/Simulink的仿真平台,通过建立机器人手臂的动力学模型、控制模型和仿真模型,对机器人手臂的运动控制进行了深入研究。
1. 引言随着机器人技术的不断发展,机器人手臂在工业生产、医疗护理、军事领域等方面的应用越来越广泛。
机器人手臂的运动控制是机器人技术中的关键问题之一,它直接影响机器人手臂的精度、速度和稳定性。
因此,对机器人手臂运动控制的研究具有重要的理论和实际意义。
2. 机器人手臂的动力学建模机器人手臂的动力学模型是机器人手臂运动控制的基础,它描述了机器人手臂在力学作用下的运动规律。
本研究基于拉格朗日动力学原理,建立了机器人手臂的动力学模型。
通过对机器人手臂的质量、惯性、摩擦等参数进行建模和参数化,得到了机器人手臂的动力学方程。
3. 机器人手臂的控制模型机器人手臂的控制模型是机器人手臂运动控制的核心,它描述了机器人手臂在控制输入下的运动规律。
本研究采用了PID控制器作为机器人手臂的控制器,通过对机器人手臂的位置、速度和加速度进行反馈控制,实现对机器人手臂运动的精确控制。
4. 机器人手臂的仿真模型为了验证机器人手臂运动控制算法的可行性和有效性,本研究建立了机器人手臂的仿真模型,并基于MATLAB/Simulink平台进行了仿真实验。
通过对机器人手臂的控制输入和仿真环境的设置,模拟了机器人手臂在不同工况下的运动过程,并对运动控制算法进行了评估和优化。
5. 结果与讨论通过对机器人手臂运动控制的建模与仿真研究,本研究得到了机器人手臂的动力学模型、控制模型和仿真模型,并验证了机器人手臂运动控制算法的可行性和有效性。
仿真结果表明,采用PID控制器的机器人手臂能够在不同工况下实现精确的运动控制,并具有较高的稳定性和鲁棒性。
plc机械手实验报告PLC机械手实验报告引言:PLC(可编程逻辑控制器)机械手是一种自动化控制系统,它通过编程来控制机械手的运动和动作。
本次实验旨在通过搭建一个基于PLC的机械手系统,探索其在工业自动化中的应用。
一、实验目的本次实验的主要目的是熟悉PLC机械手的基本原理和操作方法,了解其在工业生产中的应用,并通过实际操作来加深对PLC机械手的理解。
二、实验器材本次实验所使用的器材包括PLC控制器、机械手、传感器、电源等。
三、实验步骤1. 搭建机械手系统:首先,将机械手与PLC控制器相连接,并将传感器与机械手连接,确保各个部件之间的正常通信。
2. 编写PLC程序:根据机械手的运动要求,编写PLC程序,包括机械手的起始位置、目标位置、运动速度等参数。
通过PLC编程软件,将程序下载到PLC控制器中。
3. 调试机械手系统:启动PLC控制器,通过操作界面对机械手进行调试。
观察机械手的运动轨迹,检查是否符合预期要求。
如有需要,可以进行调整和优化。
4. 测试机械手功能:通过给定的输入信号,测试机械手的各项功能是否正常。
例如,通过传感器检测物体的位置,判断机械手是否能够准确地抓取和放置物体。
5. 实验数据记录与分析:记录实验过程中的数据,如机械手的运动轨迹、抓取物体的成功率等。
通过对数据的分析,评估机械手系统的性能和稳定性。
四、实验结果与讨论经过实验,我们成功搭建了一个基于PLC的机械手系统,并进行了相关测试。
通过观察机械手的运动轨迹和测试结果,我们可以得出以下结论:1. PLC机械手具有较高的精度和稳定性,能够准确地执行各项任务。
通过编写PLC程序,我们可以实现机械手的自动化控制,提高生产效率。
2. 机械手的运动速度可以根据实际需求进行调整,以适应不同的生产环境。
通过调整机械手的运动速度,我们可以提高生产效率,减少生产成本。
3. 机械手的抓取和放置功能表现出较高的准确性和稳定性。
通过传感器的检测,机械手能够准确地抓取和放置物体,避免了人工操作的误差。
(手写)姓名:学号:专业:实验一、三轴机械臂运动学仿真实验实验目的:1、熟悉并掌握DH参数的设定2、掌握传递矩阵构建方法3、掌握机器人运动学推导与matlab仿真实验内容:1、阅读提供的的实验指导手册,根据手册要求步骤进行机器人仿真2、机器人坐标系构建、DH参数表填充。
3、根据提供的matlab代码,补充完成并完成仿真。
4、对自行补充的代码进行有效注释。
报告正文:1.描述机器人运动学建模过程(30%)准备:根据实验报告参考资料得出相关坐标轴的表示模型创建:(1)沿Z0轴正方向移动121.5mm(2)沿X1轴正方向旋转90°,沿Z2轴正方向移动122.5mm,再沿Z2轴正方向旋转90°(3)沿X2轴正方向移动300mm,沿Z3轴正方向旋转90°,再沿Z3轴负方向移动102mm (4)沿X3轴正方向旋转90°,沿Z4轴正方向移动268mm,再沿Z4轴正方向旋转180°(5)模型的创建完毕程序编写:套用报告中的编写完的矩阵公式,更换相应参数,得到末端点的坐标值2.3.带有注释的运动学m代码,自行填充部分(40%)%填写a0~a3a0= 0; a1= 0; a2=300; a3=0;%填写alpha0~alpha3 (自行填充)alpha0=0;alpha1=pi/2;alpha2=0;alpha3=pi/2;%填写d1~d4 (自行填充)d0=121.5;d1=122.5;d2=-102;d3=268;%填写theta0~theta4theta0=0;theta1=pi/2;theta2=pi/2;theta3=pi;%因为旋转角度比较特殊,可以直接将其用pi进行表示,将原程序的弧度和角度转换进行删除%% 求齐次变换矩阵T01=[cos(theta0) -sin(theta0) 0 a0;sin(theta0)*cos(alpha0) cos(theta0)*cos(alpha0) -sin(alpha0) -d0*sin(alpha0);sin(theta0)*sin(alpha0) cos(theta0)*sin(alpha0) cos(alpha0) d0*cos(alpha0);0 0 0 1];%表示由坐标系0向坐标系1进行转变T12=[cos(theta1) -sin(theta1) 0 a1;sin(theta1)*cos(alpha1) cos(theta1)*cos(alpha1) -sin(alpha1) -d1*sin(alpha1);sin(theta1)*sin(alpha1) cos(theta1)*sin(alpha1) cos(alpha1) d1*cos(alpha1);0 0 0 1];%表示由坐标系1向坐标2进行转变T23=[cos(theta2) -sin(theta2) 0 a2;sin(theta2)*cos(alpha2) cos(theta2)*cos(alpha2) -sin(alpha2) -d2*sin(alpha2);sin(theta2)*sin(alpha2) cos(theta2)*sin(alpha2) cos(alpha2) d2*cos(alpha2);0 0 0 1];%表示由坐标系2向坐标系3进行转变T34=[cos(theta3) -sin(theta3) 0 a3;sin(theta3)*cos(alpha3) cos(theta3)*cos(alpha3) -sin(alpha3) -d3*sin(alpha3); sin(theta3)*sin(alpha3) cos(theta3)*sin(alpha3) cos(alpha3) d0*cos(alpha3);0 0 0 1];%表示由坐标系3向坐标系4进行转变T04=T01*T12*T23*T34;%得到最终的变换矩阵4.绘制x-y平面、x-z平面、y-z平面二维工作空间图,附m代码。
调试报告本次调试使用的是中文版的S7-200 PLC 仿真软件(V2.0)。
该仿真软件可以仿真大量的S7-200指令(支持常用的位触点指令、定时器指令、计数器指令、比较指令、逻辑运算指令和大部分的数学运算指令等,但部分指令如顺序控制指令、循环指令、高速计数器指令和通讯指令等尚无法支持,仿真软件支持的仿真指令可参考。
仿真程序提供了数字信号输入开关、两个模拟电位器和LED输出显示,仿真程序同时还支持对TD-200文本显示器的仿真,在实验条件尚不具备的情况下,完全可以作为学习S7-200的一个辅助工具。
首先需要进行CPU的选型,本次设计根据设计功能与要求选用了CPU224,操作双击CPU即可改变CPU型号。
如图1.1.图1.1由于本设计控制直流电机需要模拟量输出控制,而CPU224没有模拟量输出端口,所以需要增加扩张模块EM235.操作双击扩展模块区域即可增加扩展模块。
如图1.2.图1.2CPU 模块设置完毕后既可以装载有梯形图程序导出的awl文件。
如图1.3.图1.3装载程序完毕后,点击绿色开始运行箭头,既可以开始运行程序,进行软件调试。
波动相应输入开关观察输出,得出调试结果。
如图1.4.图1.4首先拨动I0.0,发现Q0.5有输出,表明给出直流电机模拟量进行调速,AQW0模拟量输出参数与0V相对应。
如图1.5.图1.5调节AIW0,比如调节到8.1V,发现AQW0参数发生相应规律的变化说明用于调速的模拟量输出有效。
如图1.6.图1.6拨动I0.1,发现Q0.4有输出,说明给定了直流电机的方向信号。
如图1.7.图1.7拨动I0.2,发现Q0.2有输出,说明X轴步进电机的方向有效。
如图1.8.图1.8拨动I0.3,发现Q0.0有输出,说明给定X轴步进电机高速脉冲有效。
如图1.9.图1.9拨动I0.4,Q0.3有输出,说明Y轴步进电机方向信号有效。
如图1.10.图1.10拨动I0.5,发现Q0.1有输出,说明Y轴步进电机高速脉冲有效。
PLC机械手课程设计实验报告1. 引言本实验针对PLC(可编程逻辑控制器)机械手进行课程设计,旨在通过实际操作掌握PLC编程和机械手控制的基本原理与方法。
通过本实验的学习,可以进一步加深对PLC及其应用的理解,并培养学生的实践能力。
2. 实验目标本实验的目标是设计一个PLC控制的机械手系统,通过编写PLC程序控制机械手的运动和操作。
具体目标如下:1.了解PLC的基本原理和工作方式;2.了解机械手的基本结构和工作原理;3.掌握PLC编程,包括Ladder图的编写;4.实现机械手的基本运动,如抓取、放置等;5.实现机械手的路径规划和运动控制。
3. 实验步骤3.1 实验环境搭建1.准备一台PLC控制器和一台机械手;2.将PLC控制器与机械手进行连接,确保联通正常;3.配置PLC编程软件,确保能够正常编写PLC程序。
3.2 机械手的基本控制在本实验中,我们使用PLC编程软件,针对机械手的基本动作编写PLC程序,实现机械手的基本控制功能。
包括以下几个步骤:1.编写PLC程序,实现机械手的抓取功能;2.编写PLC程序,实现机械手的放置功能;3.编写PLC程序,实现机械手的回到初始位置功能。
3.3 机械手的路径规划和运动控制在本实验中,我们进一步深入研究机械手的路径规划和运动控制。
具体步骤如下:1.学习机械手的运动学原理,并了解机械手路径规划的基本方法;2.编写PLC程序,实现机械手的按照指定路径运动;3.通过模拟机械手的运动轨迹,验证PLC程序的正确性。
4. 实验结果分析实验完成后,我们对实验结果进行分析评估。
主要包括以下几个方面:1.实验是否达到了预期的目标;2.实验中是否存在问题,以及问题的解决方案;3.对实验结果的总结和评价。
通过实验结果分析,我们可以进一步改进实验设计,提高实验教学效果。
5. 总结与展望通过本次PLC机械手课程设计实验,我们对PLC编程和机械手控制有了更深入的理解。
通过实践操作,我们掌握了PLC的基本原理和工作方式,学习了机械手的基本结构和工作原理,并实现了机械手的基本运动和路径规划控制。
一、实训背景与目的随着工业自动化和智能化水平的不断提升,机器人机械手臂作为工业自动化的重要装备,其在工业生产、医疗、科研等领域中的应用越来越广泛。
为了更好地了解和掌握机器人机械手臂的基本原理、操作方法和应用技术,我们开展了为期一周的机器人机械手臂实训。
本次实训的主要目的是:1. 熟悉机器人机械手臂的结构、组成和功能。
2. 掌握机器人机械手臂的操作方法和编程技巧。
3. 了解机器人机械手臂在工业生产中的应用案例。
4. 培养团队协作能力和创新思维。
二、实训内容本次实训主要分为以下几个部分:1. 理论学习在实训初期,我们学习了机器人机械手臂的基本概念、发展历程、分类和结构组成。
通过学习,我们了解到机器人机械手臂是一种能够模拟人类手臂进行抓取、搬运、装配等操作的自动化机械装置。
根据结构形式的不同,机器人机械手臂可分为多关节机械手臂、直角坐标系机械手臂、球坐标系机械手臂等。
2. 实操训练在理论学习的基础上,我们进行了实操训练。
实操内容包括:(1)机器人机械手臂的组装与调试我们按照实训指导书的要求,完成了机器人机械手臂的组装。
在组装过程中,我们学会了如何使用扳手、螺丝刀等工具,掌握了组装步骤和注意事项。
组装完成后,我们对机器人机械手臂进行了调试,确保其能够正常运行。
(2)机器人机械手臂的基本操作我们学习了机器人机械手臂的基本操作方法,包括移动、抓取、放置等。
通过实际操作,我们掌握了如何控制机器人机械手臂的运动轨迹和速度,以及如何进行精确的抓取和放置。
(3)机器人机械手臂的编程我们学习了机器人机械手臂的编程方法,包括示教编程和离线编程。
通过示教编程,我们学会了如何通过手动操作来设定机器人机械手臂的运动轨迹和动作;通过离线编程,我们掌握了如何使用计算机软件来编写机器人机械手臂的程序。
3. 应用案例学习在实训过程中,我们还学习了机器人机械手臂在工业生产中的应用案例。
通过学习,我们了解到机器人机械手臂在焊接、喷涂、装配、搬运等领域的应用,以及其在提高生产效率、降低劳动强度、保证产品质量等方面的优势。
中国矿业大学机电学院机电综合实验中心实验报告课程名称:机电综合试验实验名称:机械手动作模拟专业年级:机自12-10班姓名:张立峰学号:06122676姓名:张世超学号:03121200姓名:孙培忠学号:14125143姓名:殷猛学号:09123830姓名:葛松学号:05122177实验日期 2015.10.31 ___ _ 实验成绩_______ ___________指导教师_______ __________机械手动作的模拟摘要本文通过使用组态王软件进行组态模拟和运用SIMEINS S7-200PLC控制系统,采用下位机执行,上位机监视控制的方法,构建完成机械手动作模拟控制系统。
关键词:组态王6.53;plc;限位开关;ABSTRACTIn this paper, by using the Kingview software configuration simulation and application of SIMEINS S7-200PLC control system, using the next-bit machine execution, PC monitor control method, build complete robot motion simulation control system.Keywords:Kingview 6.53;PLC;Limit switch;第一章绪论1.1实验目的学会使用组态软件(推荐选用组态王软件)和PLC(推荐选用SIMEINS S7-200)控制系统连接,采用下位机执行,上位机监视控制的方法,构建完成机械手动作模拟控制系统。
1.2实验要求(1)阅读本实验参考资料及有关图样,了解一般控制装置的设计原则、方法和步骤。
(2)调研当今电气控制领域的新技术、新产品、新动向,用于指导设计过程,使设计成果具有先进和创造性。
(3)认真阅读实验要求,分析并进行流程分析,画出流程图。
实验四机器人运动仿真在当今科技飞速发展的时代,机器人技术日益成熟,机器人运动仿真成为了研究和开发机器人系统的重要手段。
通过对机器人运动的仿真,可以在实际制造和部署之前,对机器人的性能、行为和任务完成能力进行评估和优化,从而降低成本、提高效率,并减少潜在的风险。
机器人运动仿真是基于计算机技术和数学模型,模拟机器人在不同环境和任务中的运动情况。
它涉及到多个学科领域的知识,如机械工程、控制工程、计算机科学和数学等。
首先,要进行机器人运动仿真,需要建立机器人的数学模型。
这包括对机器人的几何结构、关节类型和运动范围等进行精确的描述。
常见的机器人模型有串联机器人和并联机器人。
串联机器人由一系列依次连接的关节和连杆组成,其运动学分析相对较为复杂;而并联机器人则具有多个并行的运动链,具有较高的刚度和精度。
在建立数学模型之后,需要选择合适的仿真软件或工具。
市面上有许多专业的机器人仿真软件,如 RobotStudio、MATLAB Robotics Toolbox 等。
这些软件提供了丰富的功能和接口,可以方便地进行机器人的建模、编程和仿真分析。
以一个简单的工业机器人为例,假设它需要在生产线上完成物料搬运的任务。
在仿真过程中,我们需要设定机器人的起始位置、目标位置以及运动路径。
通过输入相关的参数,如关节速度、加速度和运动时间等,软件可以计算出机器人的运动轨迹,并以直观的方式展示出来。
在仿真过程中,还可以对机器人与环境的交互进行模拟。
例如,考虑机器人在搬运物料时与周围设备、障碍物的碰撞情况。
通过碰撞检测算法,可以及时发现潜在的碰撞风险,并对机器人的运动路径进行调整和优化,以确保其安全可靠地完成任务。
此外,机器人的控制系统也是仿真的重要组成部分。
控制系统决定了机器人如何响应输入指令,并实现精确的运动控制。
在仿真中,可以对不同的控制算法进行测试和比较,如 PID 控制、模糊控制和自适应控制等,以选择最适合实际应用的控制策略。
mearm机械臂实验报告MeArm机械臂实验报告引言:机械臂是一种能够模拟人类手臂运动的机械设备,广泛应用于工业生产、医疗手术等领域。
本实验以MeArm机械臂为研究对象,探究其基本动作控制原理和应用场景。
一、实验目的:1.了解机械臂的基本结构和工作原理;2.学习控制机械臂进行基本动作,如抓取、放置等;3.探究机械臂在实际应用中的潜力和局限性。
二、实验材料与方法:1.实验材料:一台MeArm机械臂、Arduino控制板、舵机等。
2.实验方法:1)搭建机械臂:按照说明书和指导视频,将各组件安装到MeArm机械臂上,确保其稳定性。
2)连接电路:将机械臂的舵机通过线缆连接到Arduino控制板上,确保电路连接正确。
3)编程控制:使用Arduino IDE软件编写控制程序,实现机械臂的基本动作,如旋转、抬起、放下等。
4)测试调试:将编写好的程序烧录到Arduino控制板上,通过调试和测试,验证机械臂的动作是否符合预期。
三、实验结果与分析:经过多次调试和测试,我们成功实现了MeArm机械臂的基本动作控制。
机械臂能够准确地旋转、抬起、放下等,且动作相对平稳。
实验结果符合预期,验证了机械臂的基本工作原理。
四、实验讨论:MeArm机械臂具有良好的灵活性和可控性,可广泛应用于模拟人工作业、进行医疗手术等领域。
然而,由于其结构和功能的限制,目前在承重能力和精确度等方面仍存在一定的局限性。
五、实验总结:通过本次实验,我们深入了解了MeArm机械臂的基本结构和工作原理。
通过编写控制程序,我们成功实现了机械臂的基本动作控制。
我们也发现了机械臂在实际应用中的一些潜力和局限性,这对我们进一步的研究和开发具有重要指导意义。
六:1. Magician Robot MeArm V1.6 Arduino版搭建指导手册;2. MeArm机械臂控制程序编写教程。
中国矿业大学机电工程学院 机电综合实验中心实验报告
课程名称:机电综合实践 实验名称:机械手动作的模拟 专业年级:机自2011级10班 姓名: 学号: 姓名: 学号: 姓名: 学号: 姓名: 学号: 姓名: 学号: 实验日期: 2014.11.10 实验成绩: 指导教师: 目录 摘要 ................................................................................................................ 1 ABSTRACT ....................................................................................................... 1 1 实验的内容与要求 .................................................................................... 2
1.1实验目的 ........................................................................................... 2 1.2实验装置与附件 ............................................................................... 2 1.3机械结构和控制要求 ........................................................................ 2 1.4实验要求 (1)根据要求编写PLC程序,并上机调试通过。 ...... 3 1.5实验报告 ........................................................................................... 4 2 机械手与PLC简介 ................................................................................... 4 2.1 机械手应用背景与意义 ................................................................... 4 2.2机械手应用的国内外发展的现状 ..................................................... 4 2.3 PLC的发展现状 ............................................................................... 5 2.4 PLC控制机械手的应用 .................................................................... 6 3 组态王的简介 ............................................................................................ 7 4 机械手动作的模拟控制系统的组成 ........................................................ 7 5 PLC编程及运行、仿真 .......................................................................... 8
机械手运动仿真实验报告一、机械手结构组成(简图)①为机械手底座②为机械臂1③为机械臂2④为机械臂3a、b、c为转动副,机械臂实现3自由度运动二、机械手运动学方程推导绘图框及转动副夹角:绘图框大小为400X400转动副a:anglea转动副b:angleb转动副c:anglec机械手运动范围:机械臂1长度50,机械臂2长度100,机械臂3长度50。
三个关节可实现360度旋转。
故机械臂运动范围为以半径为200的圆内。
机械手底座:X:(150,200)Y:(250,200)机械臂1:X1:(200,200)Y1:((200+ 50 * cos(anglea*3.1415926/180)),(200-50 * sin(anglea*3.1415926/180)))机械臂2:X2:((200+ 50 * cos(anglea*3.1415926/180)),(200-50* sin(anglea*3.1415926/180)))Y2:((200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb*3.1415926/180)), (200 - 50 * sin (anglea*3.1415926/180)-100* sin(angleb*3.1415926/180)))机械臂3:X3:((200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb*3.1415926/180)), (200 - 50 * sin (angLea*3.1415926/180)-100* sin(angleb*3.1415926/180)))Y3:( (200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb*3.1415926/180)+50 * cos(anglec *3.1415926/180)), (200 - 50 * sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180)-50 * sin(anglec*3.1415926/180)))三、机械手运动仿真程序编写(关键函数代码)pWnd->Invalidate();pWnd->UpdateWindow() ;pDC->Rectangle(0,0,400,400);DrawRobotBase();DrawRobotMemberBar1(m_fanglea);DrawRobotMemberBar2(m_fanglea, m_fangleb);DrawRobotMemberBar3(m_fanglea, m_fangleb, m_fanglec);//绘制底座及其颜色代码void CDrawRobotDlg::DrawRobotBase(){CPen SuiyiPen;SuiyiPen.CreatePen(PS_SOLID,Wide,RGB(hong, lv, lan));CPen *oldPen;oldPen = pDC->SelectObject(&SuiyiPen);pDC->MoveTo(150,200);pDC->LineTo(250,200);pDC->SelectObject(oldPen);DeleteObject(SuiyiPen) ;}//绘制杆1void CDrawRobotDlg::DrawRobotMemberBar1(float anglea){pDC->MoveTo(200,200);pDC->LineTo(int(200+ 50 * cos(anglea*3.1415926/180)),int(200-50 * sin(anglea*3.1415926/180)));}//绘制杆2void CDrawRobotDlg::DrawRobotMemberBar2(float anglea,float angleb){pDC->MoveTo(int(200+ 50 * cos(anglea*3.1415926/180)),int(200-50* sin (anglea*3.1415926/180)));pDC->LineTo(int(200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb *3.1415926/180)),int(200 - 50 * sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180)));}//绘制杆3void CDrawRobotDlg::DrawRobotMemberBar3(float anglea, float angleb, float anglec){pDC->MoveTo(int(200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb *3.1415926/180)),int(200 - 50 * sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180)));pDC->LineTo(int(200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb *3.1415926/180)+50 * cos(anglec*3.1415926/180)),int(200 - 50 * sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180)-50* sin(anglec*3.1415926 /180)));}//转动副a加减角度按钮代码void CDrawRobotDlg::OnButton 1(){m_fanglea = m_fanglea + 1 ;UpdateData(FALSE);Invalidate(FALSE) ;}void CDrawRobotDlg::OnButton2(){m_fanglea = m_fanglea - 1 ;UpdateData(FALSE);Invalidate(FALSE) ;}//转动副b加减角度按钮代码void CDrawRobotDlg::OnButton3(){m_fangleb = m_fangleb + 1 ;UpdateData(FALSE);Invalidate(FALSE) ;}void CDrawRobotDlg::OnButton4(){m_fangleb = m_fangleb - 1 ;UpdateData(FALSE);Invalidate(FALSE) ;}//转动副c加减角度按钮代码void CDrawRobotDlg::OnButton5(){m_fanglec = m_fanglec + 1 ;UpdateData(FALSE);Invalidate(FALSE) ;}void CDrawRobotDlg::OnButton6(){m_fanglec = m_fanglec - 1 ;UpdateData(FALSE);Invalidate(FALSE) ;}//机械臂1启动按钮代码void CDrawRobotDlg::OnButton7(){AfxBeginThread(MoveThreada, this) ; }//机械臂2启动按钮代码void CDrawRobotDlg::OnButton8(){AfxBeginThread(MoveThreadb, this) ; }//机械臂3启动按钮代码void CDrawRobotDlg::OnButton9(){AfxBeginThread(MoveThreadc, this) ; }//机械臂1旋转代码UINT CDrawRobotDlg::MoveThreada(void *parama) {CDrawRobotDlg *pDlga = (CDrawRobotDlg*)parama ;while(1){pDlga->m_fanglea = pDlga->m_fanglea + 1 ;pDlga->Invalidate(FALSE) ;Sleep(100) ;}return 0 ;}//机械臂2旋转代码UINT CDrawRobotDlg::MoveThreadb(void *paramb) {CDrawRobotDlg *pDlgb = (CDrawRobotDlg*)paramb ;while(1){pDlgb->m_fangleb = pDlgb->m_fangleb + 1 ;pDlgb->Invalidate(FALSE) ;Sleep(100) ;}return 0 ;}//机械臂3旋转代码UINT CDrawRobotDlg::MoveThreadc(void *paramc) {CDrawRobotDlg *pDlgc = (CDrawRobotDlg*)paramc ;while(1){pDlgc->m_fanglec = pDlgc->m_fanglec + 1 ;pDlgc->Invalidate(FALSE) ;Sleep(100) ;}return 0 ;}//更新按钮代码void CDrawRobotDlg::OnButtonRefresh0(){UpdateData(TRUE);Invalidate(FALSE) ;}四、软件界面截图与说明界面左边为演示界面,右边为数据输入界面及运行按钮。
绿色框:三自由度机械手运动仿真演示界面红色框:机械臂定位输入框及启动按钮黄色框:底座颜色及粗细输入框蓝色框:系统刷新及关闭按钮五、感悟通过本次实验,我学会了在运动学方程分析的基础之上,采用VC6.0编写多自由度机械手运动仿真程序,通过机械手有关的结构尺寸进行参数化,建立机械手运动学方程,确定机械手运动范围。
在编写运动仿真程序代码的过程中,不仅温习自己的所学知识,还培养了自己严谨的态度,极大的启发了设计创新思维,调动学习积极性。
同时也让我看到了自己的不足之处,以后还需要更勤奋的学习,注重实际的运用。