机器人学基础实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
——机器人运动学实验
一、基本理论
本实验以SCARA 四自由度机械臂为例研究机器人的运动学问题.机器人运动学问题包括运动学方程的表示,运动学方程的正解、反解等,这些是研究机器人动力学和机器人控制的重要基础,也是开放式机器人系统轨迹规划的重要基础。
机械臂杆件链的最末端是机器人工作的末端执行器(或者机械手),末端执行器的位姿是机器人运动学研究的目标,对于位姿的描述常有两种方法:关节坐标空间法和直角坐标空间法。
关节坐标空间:
末端执行器的位姿直接由各个关节的坐标来确定,所有关节变量构成一个关节矢量,关节矢量构成的空间称为关节坐标空间。图1-1是GRB400机械臂的关节坐标空间的定义。因为关节坐标是机器人运动控制直接可以操纵的,因此这种描述对于运动控制是非常直接的。
直角坐标空间:
机器人末端的位臵和方位也可用所在的直角坐标空间的坐标及方位角来描述,当描述机器人的操作任务时,对于使用者来讲采用直角坐标更为直观和方便(如图1-2)。
当机器人末端执行器的关节坐标给定时,求解其在直角坐标系中的坐标就是正向运动学求解(运动学正解)问题;反之,当末端执行器在直角坐标系中的坐标给定时求出对应的关节坐标就是机器人运动学逆解(运动学反解)问题。运动学反解问题相对难度较大,但在机器人控制中占有重要的地位。
图1-1 机器人的关节坐标空间 图1-2 机器人的直角坐标空间法
机器人逆运动学求解问题包括解的存在性、唯一性及解法三个问题。
存在性:至少存在一组关节变量来产生期望的末端执行器位姿,如果给定末端执行器位臵在工作空间外,则解不存在。
唯一性:对于给定的位姿,仅有一组关节变量来产生希望的机器人位姿。机器人运动学逆解的数目决定于关节数目、连杆参数和关节变量的活动范围。通常按照最短行程的准则来选择最优解,尽量使每个关节的移动量最小。
解法:逆运动学的解法有封闭解法和数值解法两种。在末端位姿已知的情况下,封闭解法可以给出每个关节变量的数学函数表达式;数值解法则使用递推算法给出关节变量的具体数值,速度快、效率高,便于实时控制。下面介绍D-H 变化方法求解运动学问题。
建立坐标系如下图所示
连杆坐标系{i }相对于{ i−1}的变换矩阵可以按照下式计算出,其中连杆坐标系D-H 参数为由表1-1给出。
齐坐标变换矩阵为:
其中描述连杆i本身的特征;和描述连杆i−1与i之间的联系。
对于旋转关节,仅是关节变量,其它三个参数固定不变;对于移动关节,仅
是关节变量,其它三个参数不变。
表1-1 连杆参数表
其中连杆长l
1=200mm,l
2
=200mm,机器人基坐标系为O-X
Y
Z
。根据上面的
坐标变换公式,就可以确定各个关节的位姿矩阵。
运动学正解:各连杆变换矩阵相乘,可得到机器人末端执行器的位姿方程(正运动学模型)为:
其中:z 轴为手指接近物体的方向,称接近矢量 a (approach);y 轴为两手指的连线方向,称方位矢量o(orientation);x 轴称法向矢量n(normal),由右手法则确定,n=o*a。p 为手爪坐标系原点在基坐标系中的位臵矢量。
运动学逆解:通常可用未知的连杆逆变换右乘上式:
令两式对应元素分别相等即可解出。
注意:关节运动范围:θ
1
: 0~180°
θ2: 0~100°
d
3
: ±40mm
θ4:±170°
二、实验目的
1.了解四自由度机械臂的开链结构;
2.掌握机械臂运动关节之间的坐标变换原理;
3.学会机器人运动方程的正反解方法。
三、实验系统构成
实验系统的主要构成为:四自由度机械臂本体,伺服驱动系统,运动控制卡,计算机。PCI运动控制卡安装在计算机内,通过伺服驱动系统对机械臂的四个关节的交流伺服电动机驱动控制,实现所需的关节运动。各部分的逻辑关系如图1-5所示。
图1-5 实验系统构成的逻辑关系
步骤1.检查实验系统各部分的信号连接线、电源是否插好,完成后打开伺服驱动系统的电源开关。
步骤2.运行GRBserver程序,出现以下程序界面。
图1-6 机器人示教程序界面
步骤3.按下“打开控制器”按钮,按下“伺服上电”按钮。
步骤4.清理周围环境,避免机械臂运动时打到周围的人或物。检查末端执行器上的电线连接,避免第四个关节运动时电线缠绕而被拉断。
步骤5.按下“自动回零”按钮,机械臂自动回零。
步骤6.选择“关节空间”或“直角坐标空间”,选择“运动步长”,选择“运动速度倍率”为合适值。一般刚开始时尽量选择较小的值,以使运动速度不致太快。
步骤7.在“示教操作”区按下相应关节按钮,观察机械臂的运动情况。此时可以按下“记录”按钮,以便以后重复该次运动。
步骤8.重复步骤7,演示各种运动及功能。
1.正解实验程序:
变量初始化程序:
%变量初始化文件int.m
clear all
syms t1t2t3t4;
syms alp1alp2alp3alp4;
syms a1a2a3a4;
syms d1d2d3d4;
各矩阵初始化矩阵:
%T01初始化T01_int.m
T01=[ cos(t1) -sin(t1)*cos(alp1) sin(t1)*sin(alp1) a1*cos(t1);
sin(t1) cos(t1)*cos(alp1) -cos(t1)*sin(alp1) a1*sin(t1);
0 sin(alp1) cos(alp1) 0;
0 0 0 1];
%T12初始化 T12_int.m
T12=[ cos(t2) -sin(t2)*cos(alp2) sin(t2)*sin(alp2) a2*cos(t2); sin(t2) cos(t2)*cos(alp2) -cos(t2)*sin(alp2) a2*sin(t2);
0 sin(alp2) cos(alp2) 0;
0 0 0 1];
%T23初始化 T23_int.m
T23=[ cos(t3) -sin(t3)*cos(alp3) sin(t3)*sin(alp3) 0;
sin(t3) cos(t3)*cos(alp3) -cos(t3)*sin(alp3) 0;
0 sin(alp3) cos(alp3) -d3;
0 0 0 1];
%T34初始化 T34_int.m
T34=[ cos(t4) -sin(t4)*cos(alp4) sin(t4)*sin(alp4) 0;
sin(t4) cos(t4)*cos(alp4) -cos(t4)*sin(alp4) 0;
0 sin(alp4) cos(alp4) 0;
0 0 0 1];
各参数赋值程序:
%各参数赋值value.m
alp1=0;alp2=0;alp3=0;alp4=0;
a1=200;a2=200;a3=0;a4=0;
d1=0;d2=0;d4=0;
t3=0;