机器人学实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器人学基础实验报告
一、实验目的
1.了解四自由度机械臂的开链结构;
2.掌握机械臂运动关节之间的坐标变换原理;
3.学会机器人运动方程的正反解方法。
二、实验原理
本实验以SCARA 四自由度机械臂为例研究机器人的运动学问题.机器人运动学问题包括运动学方程的表示,运动学方程的正解、反解等,这些是研究机器人动力学和机器人控制的重要基础,也是开放式机器人系统轨迹规划的重要基础。
机械臂杆件链的最末端是机器人工作的末端执行器(或者机械手),末端执行器的位姿是机器人运动学研究的目标,对于位姿的描述常有两种方法:关节坐标空间法和直角坐标空间法。
建立坐标系如下图所示:
连杆坐标系{i }相对于{ i −1}的变换矩阵可以按照下式计算出,其中连
杆坐标系D-H 参数为
由表1-1给出。
齐坐标变换矩阵为:
其中
描述连杆i 本身的特征;和
描述连杆i −1与i
之间的联系。
对于旋转关节,仅是关节变量,其它三个参数固定不变;对于移动关节,仅
是关节变量,其它三个参数不变。
表1-1 连杆参数表
其中连杆长l 1=200mm ,l 2=200mm ,机器人基坐标系为O-X 0Y 0Z 0。根据上面的坐标变换公式,各个关节的位姿矩阵如下:
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡--=10
cos sin 00sin cos cos cos sin 0sin sin cos sin cos 33
3
3
33
333333323d T αααθαθθ
αθαθθ
运动学正解:各连杆变换矩阵相乘,可得到机器人末端执行器的位姿方程(正运动学模型)为:
其中:z 轴为手指接近物体的方向,称接近矢量 a (approach );y 轴为两手指的连线方向,称方位矢量o (orientation );x 轴称法向矢量n (normal ),由右手法则确定,n=o*a 。p 为手爪坐标系原点在基坐标系中的位置矢量。
运动学逆解:通常可用未知的连杆逆变换右乘上式:
令两式对应元素分别相等即可解出
。
其中
22
12
222212y
x y
x p
p l p p l l M +++-=
将上式回代,可得,
⎥⎦
⎤
⎢
⎣⎡-++=1112)sin()cos(l r r arctg ϕθϕθθ式中:22y
x p p r +=
;y
x
p p arctg =ϕ 令第二行第四个元素对应相等,可得:
令第四行第三个元素对应相等,可得:
所以,
注意:关节运动范围: θ1 0-180° θ2 0-100° d3 ±40mm θ4 ±170
三、实验数据处理
步骤1.检查实验系统各部分的信号连接线、电源是否插好,完成后打开伺服驱动系统的电源开关。
步骤2.运行GRBserver 程序,出现以下程序界面。
图1-6 机器人示教程序界面
步骤3.按下“打开控制器”按钮,按下“伺服上电”按钮。
步骤4.清理周围环境,避免机械臂运动时打到周围的人或物。检查末端执行器上的电线连接,避免第四个关节运动时电线缠绕而被拉断。
步骤5.按下“自动回零”按钮,机械臂自动回零。
步骤6.选择“关节空间”或“直角坐标空间”,选择“运动步长”,选择“运动速度倍率”为合适值。一般刚开始时尽量选择较小的值,以使运动速度不致太快。
步骤7.在“示教操作”区按下相应关节按钮,观察机械臂的运动情况。此时可以按下“记录”按钮,以便以后重复该次运动。
步骤8.重复步骤7,演示各种运动及功能。
四、实验结果及讨论
1、正解
2、反解
MATLAB程序:
l1=200;
l2=200;
theta1=60;% theta1,theta2,theta4,d3为正解的输入数据
theta1=theta1/180*pi;
theta2=30;
theta2=theta2/180*pi;
theta3=0;
theta3=theta3/180*pi;
theta4=170;
theta4=theta4/180*pi;
d3=40;
alpha1=0;
alpha2=0;
alpha3=0;
alpha4=0;
T1=[cos(theta1),-sin(theta1)*cos(alpha1),sin(theta1)*sin(alpha1),l1*cos(theta1);
sin(theta1),cos(theta1)*cos(alpha1),-cos(theta1)*sin(alpha1),l1*sin(theta1);
0,sin(alpha1),cos(alpha1),0;
0,0,0,1];
T2=[cos(theta2),-sin(theta2)*cos(alpha2),sin(theta2)*sin(alpha2),l2*cos(theta2);
sin(theta2),cos(theta2)*cos(alpha2),-cos(theta2)*sin(alpha2),l2*sin(theta2);
0,sin(alpha2),cos(alpha2),0;