SCARA机器人实验指导书
哈尔滨科利达智能控制技术有限公司
SCARA教学机器人简介
KLD—400教学机器人有3个旋转关节,其轴线相互平行,在平面内进行定位和定向。另一个关节是移动关节,用于完成末端件在垂直平面的运动。手腕参考点的位置由两旋转关节的角位移Ф1和Ф2,及移动关节的位移Z决定的,即P=f(Ф1,Ф2,Z) ,SCARA教学机器人为平面关节型机器人,本机器人采用伺服电机和步进电机驱动,控制简单,编程方便, KLD—400教学机器人是专为满足高等院校机电一体化、自动控制等专业进行机电及控制课程教学实验需要和相关工业机器人应用
需要而最新开发的四自由度机器人,它是一个多输入多输出的动力学复杂系统,是进行控制系统设计的理想平台;它具有高度的能动性和灵活性,具有广阔的可达空间,是进行运动规划和编程系统设计的理想对象。除教学和培训外,KLD—400还可用于细小零件的搬运和电子元件的装配等工业作业。
系统特点
· 机构采用平面关节型(SCARA)结构,按工业
要求设计,速度快、柔性好;
· 采用交流伺服电机和谐波减速器等,模块化结构,简单、紧凑,完全满足实验的要求;
· 控制系统采用Windows系列操作系统,二次开发方便、快捷,适于教学实验;
· 提供通用机器人语言编程系统,可通过图形示教自动生成机器人语言等程序;
· 提供实验教材,内容涵盖机器人运动学、动力学、控制系统的设计、机器人轨迹规划等。用户可以从中选择相关内容满足不同层次的教学实验需要。
· 性价比高;适于在高等院校大范围推广。
系统配置
· 硬件平台:KLD—400系列伺服运动控制器和微机平台(PC用户自备,带
ISA插槽)
· 软件平台:1)Windows操作系统;2)KLD—400机器人图形示教软件
技术参数
结构形式
平面关节式(SCARA型)
负载能力
1kg
运动精度(脉冲当量/转)
关节1
12800
关节2
12800
关节3
800pulse/mm
关节4
1600
未端重复定位精度
±0.1mm
每轴最大运动范围
关节1
0~270°
关节2
0~200°
关节3
0~60mm
关节4
0~345°
每轴最大运动速度
关节1
0.5rad/S
关节2
0.5rad/S
关节3
6mm/S
关节4
3.14rda/S
最大展开半径
335mm
高度
480mm
本体重量
≤25Kg
几何尺寸
关节1(长度)
200mm
关节2(长度)
135mm
关节3(行程)
60mm
控制方式
PTP/CP
操作方式
示教再现
供电电源
二相220U、50HZ
安装要求
安装方式
水平安装
安装环境
温度:0~45℃ 湿度:20~80%RH(不能结露)
震动:0.5G以下 避免接触易燃腐蚀性液体或气体,远离电气噪声源
软件界面
实验一 SCARA机器人的运动学分析
1、 实验目的:
1. 理解SCARA机器人运动学的D-H坐标系的建立方法;
2. 掌握SCARA机器人的运动学方程的建立;
3. 会运用方程求解运动学的正解和反解;
2、 实验原理:
1.SCARA机器人齐次坐标系的建立:
采用Denavit-Hartenberg运动学表示法建立坐标系。SCARA机器人属于平面关节式机器人,各连杆坐标系如图1。
相应的连杆参数列于表1,表中θ1、θ2、d3、θ4为关节变量。
表1 SCARA机器人的杆件参数
连杆
变量
αn-1
an-1
dn
cosαn-1
sinαn-1
1
θ1
0
0
0
1
0
2
θ2
0
l1
0
1
0
3
0
0
l2
d3
1
0
4
θ4
0
0
0
1
0
设与机器人机座相固连的坐标系统O0X0Y0Z0为参考坐标系,每个杆件上固连一个坐标系统,即为动坐标系,从而根据表1各杆件之间的关系,可写出相应的位姿变换矩阵(记为n-1Tn),如下所示:
(1-1)
(1-2)
(1-3)
(1-4)其中:ci=cosθi, ,si=sinθi
2.SCARA机器人的正运动学分析
机器人运动学只涉及到物体的运动规律,不考虑产生运动的力和力矩。机器人正运动学所研究的内容是:给定机器人各关节的角度,计算机器人末端执行器相对于参考坐标系的位置和姿态问
。
各连杆变换矩阵相乘,可得到机器人末端执行器的位姿方程(正运动学方程)为 :
=
(1-5)
式1-5表示了SCARA手臂变换矩阵
,它描述了末端连杆坐标系{4}相对基坐标系{0}的位姿,是机械手运动分析和综合的基础。
式中:
,
,
,
,
,
,
,
3.SCARA机器人的逆运动学分析
已知机器人末端的位置和姿态,求机器人对应于这个位置和姿态的全部关节角,以驱动关节上的电机,从而使手部的位姿符合要求。与机器人正运动学分析不同,逆问题的解是复杂的,而且具有多解性。
1). 求关节变量θ1
为了分离变量,对方程的两边同时左乘
,得:
即:
EMBED Equation.3 =
令左右矩阵中的第一行第四个元素(1.4),第二行第四个元素(2.4)分别相等。即:
(1-6)
(1-7)
由以上两式联立可得:
(1-8)
式中:
;
2). 关节变量θ2
由式(1-7)可得:
(1-9)
式中:
;
3). 求关节变量d3
令左右矩阵中的第三行第四个元素(3.4)相等,可得:
(1-10)
4). 求关节变量θ4
令左右矩阵中的第二行第一个元素(1.1,2.1)相等,即:
由上式可求得:
(1-11)
3、 实验步骤:
1. 先把运动控制卡插入ISA插槽,按要求将SCARA机器人的连线都连好;
2. 然后运行科利达公司提供的软件,运行菜单栏内的运动学分析,点击正运动学菜单,就会看到操作界面,在要求输入数值的地方输入相应的数值,点击计算按钮,结果就会在文本框中显示,记录下此时的输入与输出值;
3. 这个结果与手工算出的结果相比较,是否一致,如果不一致,请分析原因;
4. 点击运动学分析菜单下的逆运动学分析的菜单,按要求输入相应的数值,点击计算按钮,结果就会在输出的文本框中显示,记录此时的输入和输出值;
5. 这个结果与手工算出的结果相比较,是否一致,由于逆解具有多解性,分析计算时应该舍哪个解是正确的。
4、 实验结果:
1.软件正运动学分析结果:
输入值
d3
输出值
nx
ox
ax
px
ny
oy
ay
py
nz
oz
az
pz
2.软件逆运动学分析结果:
输入值
px
py
pz
nx
ny
输出值
d3
5、 思考题:
1. 求解SCARA机器人运动学反解的时候,应该舍哪个解是合理的?
2. 在正运动学分析对话框内输入θ1=20,θ2=40,可以得出px=255.439,py=185.317,pz=-190,nx=0.5,ny=0.866025,然后再把这几个值输入逆运动学分析的对话框内,看看得出的值与输入θ1和θ2的值一样吗?如果不一样,请你分析原因。
6、 注意事项
1、注意接线时不要错开连结,即将X轴电机电源线连到X轴,但却将X轴码盘电缆连到Y轴或者正好相反。
2、实验中不要随意拆卸零件。需要时,在老师的指导下进行。
3、不要用硬物撞击机器人,以免损伤或影响系统精度。
实验二 SCARA机器人的示教过程
1、 实验目的:
1. 理解机器人示教的概念;
2. 掌握示教的方法;
3. 理解机器人示教的过程;
2、 实验原理:
机器人示教(teachprogramming),就是人把规定的动作(包括每个运动部件,每个运动抽的动作)教给机器人。示教的简繁,标志着机器人自动化水平的高低。记忆,即是将各示教点的动作顺序信息、动作速度信息、位姿信息记忆在存储器中。存储信息的形式、存储存量的大小决定机器人能进行操作的复杂环度。再现,便是将上述示教信息再现,即根据需要,将存储器户存储的信息读出,向执行机构发出具体指令。是根据给定顺序再现,还是根据工作情况,自动选择相应的程序再现这一功能的不同,标志着机器人对工作环境的适应性。操作,指机器人以再现信号作为输入指令,使执行机构重复示教过程规定的各种动作。在这一动作循环中,示教和记亿足同时进行的;再现和操作也是同时进行的。
3、 实验步骤:
1. 先把运动控制卡插入ISA插槽,按要求将SCARA机器人的连线都连好;
2. 然后运行科利达公司提供的软件,就会看到示教的控制界面,如图2所示,示教盒是控制机器人的各个关节的所转过角度的大小、各个关节所转的方向。在示教之前应该设置关节的示教速度,如图3所示,文本框中的值是系统默认的示教速度值,用户可以根据不同需要可以更改,但是必须在一定范围内更改,关节1、2的速度设置范围是0.02-0.5弧度/秒,关节3的速度设置范围是1-6毫米/秒,关节4的速度范围是0.8-3弧度/秒。当按下有右转时,站在机器人底座的后面看,关节1、2、4是向右转,关节3是下降,按下的时间的长短决定了关节所转过角度的大小,当抬起按钮时,对应的关节电机就会停止,当按下左转时,站在机器人底座的后面看,关节1、2、4是向左转,关节3是上升,按下的时间的长短决定了关节所转过角度的大小,当抬起按钮时,对应的关节电机就会停止。当按下张开时,手爪就会张开,当按下合拢时,手爪就会关闭,这样软件就会自动记下手爪是张开还是合;
图2
图3
3. 当机器人到达的点是需要记录的点时,这时按下记录按钮,这个点的坐标值可以在右边的文本框中显示出来,坐标值可以以文本文档的形式保存,根据需要可以记录多个点的信息;
4. 记录完成后,按下复位按钮,将机器人复位到机器人的原点位置;
5. 然后按下回放按钮,这时可以观察机器人是否和示教时所走过的路径一致;
6. 回放完成后,按下清零按钮,将这次示教的信息清除,然后再循环前几步骤可以进行连续示教;
7. 实验完成前,必须将机器人复位到原点,以便下次实验。
4、 实验结果
1.记录点坐标值
记录点的个数n
记录点的坐标值
px
py
pz
2.绘制示教轨迹曲线:(根据记录点的坐标值绘制路径曲线)
5、 思考题:
1. 通过实验自己总结示教-再现的概念。
2. 分析示教轨迹与再现轨迹的误差有多大?
实验三 高级语言编程控制SCARA机器人
1、 实验目的:
1. 学会使用高级语言(VC、VB)对机器人的控制方法;
2. 理解动态连接库的概念;
3. 掌握高级语言调用动态连接库的方法。
2、 实验原理:
DLL是动态链接函数库(Dynamic Link Libraries)的简称,是组成Windows系统的最重要的元素。Windows将构成其系统的大部分程序代码、数据以及经常用到的资源以二进制文件(类似于可执行文件)的形式,存储在磁盘里。DLL就是允许用户的应用程序共享代码和资源的可执行模块,这种分享能力存在于应用程序模块之间或不同的应用程序之间,同一个动态链接库里的同一个函数可同时被不同应用程序调用。Windows系统核心的绝大部分代码、数据、资源及大量的设备驱动程序等均以动态链接库的形式存在,DLL实质上是Windows环境下的一个特殊的可执行模块,它内含一系列的函数或资源,供一般的应用程序或动态链接库调用。
硬件设备的控制,实质上也就是从外设上读取设备状态,把控制信息传送到外部设备。在微机和系统控制接口插卡之间实现数据传送和交换的过程,这其中包括很多复杂的对底层控制电路的操作及读写,对于一个专业的接口开发人员来说,这项工作可能不算太难,但对于一个用户来说,这些操作将会非常复杂和繁琐,而且容易出错。在Windows中,动态链接库中的程序段可常驻内存,而且和多种Windows编程语言可方便实现接口,供其调用,这种结构还具有很多其它程序不具有的特点。为此,我们将所有的控制按照功能编制成动态链接库,供用户二次开发或调整系统功能时直接调用,大大的方便了用户,实现了开放式功能。
3、 实验步骤:
①VC调用动态连接库的方法:
1. 将文件kld.dll拷贝到应用程序debug目录下。例如:用户的程序在D盘根目下的KLD文件夹下,则该文件应该拷贝到D:\KLD\debug。
2. 将Dll的导入库lib文件加入应用程序的
中,可以使用Project|Add To Project|File…菜单项弹出的对话框来选择相应的LIB文件,也可以用另外的方法,在Project|Settings…..弹出对话框中选择Link标签,在其中的“Object/Linkraray Modules”输入指定的lib文件名。在应用程序编译链接时就可以找到这个导入库文件。
3. 在要调用动态链接库中函数的那个类的头文件处写下如下代码,然后就可以在这个类中调用这些函数了。
extern "C"_declspec(dllimport) void KLD_Inti();
extern "C"_declspec(dllimport) void KLD_Velocity(int axis, int direction, unsigned long freq);
extern "C"_declspec(dllimport) void KLD_Motoroff(int motor);
extern "C"_declspec(dllimport) void KLD_Position(int axis, int direction, unsigned long freq, unsigned long pulse_number)
extern "C"_declspec(dllimport)unsigned int KLD_ReadAState(int bitnumber)
extern "C"_declspec(dllimport)unsigned int KLD_ReadBState(int bitnumber)
extern "C"_declspec(dllimport) void KLD_Handopen()
extern "C"_declspec(dllimport) void KLD_Handclose()
4. extern "C"_declspec(dllimport) void KLD_Handreset()
5. VC调用动态链接库的例程:
我们建立了以CFormView类为基类的对话框的非常简单的程序,在CkldView类的头文件处我们加入了如下代码:
extern "C"_declspec(dllimport) void KLD_Inti();
extern "C"_declspec(dllimport) void KLD_Velocity(int axis, int direction, unsigned long freq);
extern "C"_declspec(dllimport) void KLD_Motoroff(int motor);
初始化时调用初始化函数,具体代码如下:
void CKldView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
KLD_Inti();
}
然后在对话框上加了两个按钮,一个是开始,一个是停止。
void CKldView::OnKldstart()
{
KLD_Velocity(1,0, 3000);
}
void CKldView::OnKldend ()
{
KLD_Motoroff(1);
}
程序编译运行后,电机运行良好。
②VB调用动态库函数的方法
1.将文件kld.dll和kld.lib都拷贝到指定文件夹下。例如:用户想拷贝到D盘根目下的KLD文件夹下,则该文件应该拷贝到D:\KLD。
2.在VB的工程中加入类模块,在类模块中加入下列代码:
Declare Sub KLD_Inti Lib "D:\KLD\kld.dll"
Declare Sub KLD_Handopen Lib "D:\KLD\kld.dll"
Declare Sub KLD_Handclose Lib "D:\KLD\kld.dll"
Declare Sub KLD_Handreset Lib "D:\KLD\kld.dll"
Declare Sub KLD_Velocity Lib "D:\KLD\kld.dll" (ByVal axis As Integer, ByVal direction As Integer, ByVal freq As Long)
Declare Sub KLD_Motoroff Lib "D:\KLD\kld.dll" (ByVal motor As Integer)
Declare Sub KLD_Position Lib "D:\KLD\kld.dll" (ByVal axis As Integer, ByVal direction As Integer, ByVal freq As Long, ByVal pulse_number As Long)
Declare Function KLD_ReadAState Lib "D:\KLD\kld.dll" (ByVal bitnumber As Integer) As Integer
Declare Function KLD_ReadBState Lib "D:\KLD\kld.dll" (ByVal bitnumber As Integer) As Integer
3.VB调用动态链接库的例程:
我们在用VB建立了非常简单的程序,实现电机的起停的,具体代码如下:
建立一个工程后,加入一个类模块,在类模块中加入下列代码:
Declare Sub KLD_Inti Lib "D:\KLD\kld.dll"
Declare Sub KLD_Velocity Lib "D:\KLD\kld.dll" (ByVal axis As Integer, ByVal direction As Integer, ByVal freq As Long)
Declare Sub KLD_Motoroff Lib "D:\KLD\kld.dll" (ByVal motor As Integer)
然后在窗体初始化时调用初始化函数,这样控制卡就初始化了
Private Sub Form_Load()
Call KLD_Inti ()
End Sub
再加入两个按钮:一个是电机开始运行,一个是电机停止运行。
Private Sub KLDstart_Click()
Call KLD_Velocity (1,0,2000)
End Sub
Private Sub KLDend_Click()
Call KLD_Motoroff(1)
End Sub
4、 库函数的说明:
1. 初始化函数为:KLD_Init()
2. 速度控制模式的函数:
void KLD_ Velocity (int axis, int direction,unsigned long freq)
该函数的第一个参数为轴号1、2、3、4,第二个参数为某个轴的方向只能取0、1(0代表正向,1代表负向),第三个参数为速度参数,单位为脉冲频率(Hz 脉冲数/秒)。
3. 位置控制模式的函数:
void KLD_ Position (int axis, int direction, unsigned long freq, unsigned long pulse_number)
该函数的第一个参数为轴号1、2、3、4,第二个参数为某个轴的方向只能取0、1(0代表正向,1代表负向),第三个参数为速度参数,单位为脉冲频率(Hz 脉冲数/秒),第四个参数为位置参数,单位为脉冲个数
4. 电机停止函数:
void KLD_ Motoroff(int motor)
该函数的参数为1、2、3、4,表示哪个轴的电机停止。
5. 手爪张开函数为:void KLD_ Handopen()
6. 手爪闭合函数为:void KLD_ Handclose()
7. 手爪复位函数为:void KLD_ Handreset()
8. 检测目标位置是否达到函数为:
unsigned int KLD_ReadAState(int bitnumber)
该函数的参数为1、2、3、4,当参数等于1时,表示检测1轴电机的目标位置是否达到,如果达到返回值为1,否则为0。其他轴同1轴一样。
9. 检测限位开关函数为:
unsigned int KLD_ReadBState(int bitnumber)
该函数的参数为1、2、3、4、5、6、7,当参数等于1时,表示检测1轴电机左限位开关;当参数等于2时,表明检测1轴电机的右限位开关;当参数等于3时,表明检测2轴电机的左限位开关;当参数等于4时,表明检测2轴电机的右限位开关;当参数等于5时,表明检测3轴电机的左限位开关;当参数等于6时,表明检测3轴电机的右限位开关;当参数等于7时,表明检测4轴电机的限位开关。
如果机器人的手臂碰到限位开关时,返回值为0,否则返回值为1。
5、 实验程序:
1.写出你编制的程序代码:
实验四 SCARA教学机器人搬运物件实验
一、实验要求:
1. 了解KLD-400型SCARA教学机器人的基本结构;
2. 了解KLD-400型SCARA教学机器人的动作过程及控制方法;
3. 理解KLD-400型SCARA教学机器人的软件控制过程;
4. 掌握KLD-400型SCARA教学机器人搬运路线的规划方法;
二、实验设备
1. KLD-400型SCARA教学机器人
2. KLD-400型SCARA教学机器人配套软件控制系统
3. 装有Windows系列操作系统的PC机
4. KLD-400型SCARA教学机器人控制箱
5. 实验平台(带有标尺的)板
三、控制要求
1. SCARA教学机器人控制搬运物件工作过程:
(1)简单搬运(从一个位置搬运到另一个位置)
说明:
O点:机器人初始状态时位置
A点:机器人运动到被搬运物件上方位置一
B点:机器人运动到被搬运物件上方位置二,同时在此点机器人张开手爪
C点:机器人运动到被搬运物件源位置,同时在此点机器人关闭手爪
D点:机器人返回A位置
E点:机器人运动到被搬运物件目标位置上方位置一
F点:机器人运动到被搬运物件目标位置,同时在此点机器人张开手爪
G点:机器人返回E点位置
图中虚线表示和其旁边实线重合的返回路线
(2)避障搬运物件
留作实验后思考题。题目见(1)
四、实验原理:
利用上位机(PC机)上的控制软件,对被搬运物件源点和目标点坐标的设定,通过控制软件实现机器人的运动路线控制,达到机器人搬运目的。
五、实验步骤:
(一)检查硬件连接
(1) 确定运动控制卡插入PC机的ISA插槽内;
(2) 确定运动控制卡的接口与机器人控制箱接口用数据线连接起来;
(3) 确定机器人上的电机控制线与机器人控制箱上的控制口一一对应连接。
(二)熟悉控制软件
(1)仔细阅读第一部分的SCARA教学机器人控制软件用户使用说明;
(2)打开上位机的控制软件,熟悉各种操作程序;
(3)按用户使用说明中的步骤测试机器人运动控制系统的状态。
(三)操作控制软件实现物件的机器人搬运
(1) 在实验平台上放好物件,记录物体在平台上的坐标;
(2) 打开上位机控制软件上的实验一的操作界面,准备开始实验;
(3) 在相应的地方输入相应的数据,然后根据各种按钮实现物件的搬运。
六、思考题:
(1) 当源点和目标点之间有障碍物时,如何设计运动控制路线?(参照简单路线控制图)
(2) 根据简单路线控制图写出简单搬运流程图。
实验五 SCARA教学机器人装配实验
一、实验要求:
1.了解KLD-400型SCARA教学机器人的基本结构;
2.了解KLD-400型SCARA教学机器人的动作过程及控制方法;
3.理解KLD-400型SCARA教学机器人的软件控制过程;
4.掌握KLD-400型SCARA教学机器人装配路线的规划方法;
二、实验设备:
1. KLD-400型SCARA教学机器人
2. KLD-400型SCARA教学机器人配套软件控制系统
3. 装有Windows系列操作系统的PC机
4. KLD-400型SCARA教学机器人控制箱
5. 实验平台(带有标尺的)板
6. 实验器具(积木块,积木槽)
三、控制要求:
1.SCARA教学机器人控制装配物件工作过程:
(1)简单装配(把一个物件从一个位置搬运到并装配到方再另一个位置的物件上
说明:
O点:机器人初始状态时位置
A点:机器人运动到被装配物件上方位置一
B点:机器人运动到被装配物件上方位置二,同时在此点机器人张开手爪
C点:机器人运动到被装配物件源位置,同时在此点机器人关闭手爪
D点:机器人返回A位置
E点:机器人运动到被装配物件目标位置上方位置一
F点:机器人运动到被装配物件目标位置,同时在此点机器人张开手爪
G点:机器人返回式上升点位置
图中虚线表示和其旁边实线重合的返回路线
注:此实验控制路线图没有表现出重复装配的过程,重复装配指的是:装配完一个物件后,装配下一个物件时,只是装配点不同,其他路线相同,在上图中没有体现出来,在控制系统中有此项设计。
(2) 障碍装配物件
留作实验后思考题。题目见(1)
四、实验原理:
利用上位机(PC机)上的控制软件,对被装配物件源点和目标点的设定,通过控制软件实现机器人的运动路线控制,达到机器人装配目的。
五、实验步骤:
(一)检查硬件连接
(1)确定运动控制卡插入PC机的ISA插槽内;
(2)确定运动控制卡的接口与机器人控制箱接口用数据线连接起来;
(3)确定机器人上的电机控制线与机器人控制箱上的控制口一一对应连接。
(二)熟悉控制软件
(4)仔细阅读第一部分的SCARA教学机器人控制软件用户使用说明;
(5)打开上位机的控制软件,熟悉各种操作程序;
(6)按用户使用说明中的步骤测试机器人运动控制系统的状态。
(三)操作控制软件实现物件的机器人装配
(7)验平台上放好物件,记录物体在平台上的坐标;
(8)打开上位机控制软件上的实验一的操作界面,准备开始实验;
(9)在相应的地方输入相应的数据,然后根据各种按钮实现物件的装配。
6、 考题:
1.当源点和装配点之间有障碍物时,如何设计运动控制路线,和控制策略?(参照简单路线控制图)
2. 据简单路线控制图写出简单装配流程图。
实验六 SCARA教学机器人搭积木实验
一、实验要求:
1. 了解KLD-400型SCARA教学机器人的基本结构;
2. 了解KLD-400型SCARA教学机器人的动作过程及控制方法;
3. 理解KLD-400型SCARA教学机器人的软件自动控制流程过程;
4. 掌握KLD-400型SCARA教学机器人搭积木轨迹规划方法;
二、实验设备
1. KLD-400型SCARA教学机器人
2. KLD-400型SCARA教学机器人配套软件控制系统
3. 装有Windows系列操作系统的PC机
4. KLD-400型SCARA教学机器人控制箱
5. 实验平台(带有标尺的)板
6. 实验器具(积木块(多块))
三、控制要求
1.SCARA教学机器人控制搭积木工作过程:
(1) 简单搭积木(把四个长条的积木块从一个位置搬运并搭成“井”字形)
说明:
O点:机器人初始状态时位置
A点:机器人运动到被搬运积木上方位置一
B点:机器人运动到被被搬运积木上方位置二,同时在此点机器人张开手爪
C点:机器人运动到被搬运积木源位置,同时在此点机器人关闭手爪
D点:机器人返回A位置
E点:机器人运动到被搬运积木目标位置上方位置一
F点:机器人运动到被搬运积木目标位置,同时在此点机器人张开手爪
G点:机器人返回式上升点位置
图中虚线表示和其旁边实线重合的返回路线
注:此实验控制路线图没有表现出重复搬运积木块的过程,重复搬运积木块指的是:放完一个积木块后,放下一个积木块时,只是积木放置的点不同,其他路线相同,在上图中没有体现出来,在控制系统中有此项设计。
(2)障碍装配物件
留作实验后思考题。题目见(1)
四、实验原理:
利用上位机(PC机)上的控制软件,对积木块源点和目标点的设定,通过控制软件实现机器人的运动路线控制,达到机器人搭积木目的。
五、实验步骤:
(一)检查硬件连接
(1) 确定运动控制卡插入PC机的ISA插槽内;
(2) 确定运动控制卡的接口与机器人控制箱接口用数据线连接起来;
(3) 确定机器人上的电机控制线与机器人控制箱上的控制口一一对应连接。
(二)熟悉控制软件
(4)仔细阅读第一部分的六自由度教学机器人控制软件用户使用说明;
(5)打开上位机的控制软件,熟悉各种操作程序;
(6)按用户使用说明中的步骤测试机器人运动控制系统的状态。
(三)操作控制软件实现物件的机器人搭积木
(7)实验平台上放好物件,记录物体在平台上的坐标;
(8)打开上位机控制软件上的实验一的操作界面,准备开始实验;
(9)在相应的地方输入相应的数据,然后根据各种按钮实现物件的搭积木。
六、思考题:
1.当搭的积木图形为“E” 时,如何设计运动控制路线,和控制策略?(参照简单搭积木路线控制图)
2. 据简单搭积木路线控制图写出简单搭积木流程图。
袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈
芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈
Z0
X0
Y0
θ1
Z1
Y1
X1
L1
L2
d3
X2 Y3
θ2
θ4
Z2
Z3
Y2 Y3
图1 SCARA机器人的D-H连杆坐标系的建立
�
O
A
B
D
S1
S2
C
E
F
K
搬运物件路线图
G
G
O
A
B
D
S1
S2
C
E
F
K
装配物件路线图
E
D
A
O
B
G
C
K
F
搭积木路线图
S2
S1
搭积木路线俯视图
_1076695038.unknown
_1076696132.unknown
_1077629547.unknown
_1114237692.unknown
_1114238261.unknown
_1114273547.unknown
_1114273649.unknown
_1114272688.unknown
_1114238138.unknown
_1095512866.unknown
_1095513664.unknown
_1093108285.unknown
_1076696249.unknown
_1076696310.unknown
_1076696203.unknown
_1076695803.unknown
_1076695934.unknown
_1076695946.unknown
_1076695876.unknown
_1076695373.unknown
_1076695610.unknown
_1076695258.unknown
_1076603368.unknown
_1076609301.unknown
_1076615065.unknown
_1076617421.unknown
_1076609724.unknown
_1076610709.unknown
_1076609500.unknown
_1076609060.unknown
_1076609107.unknown
_1076604545.unknown
_1076602087.unknown
_1076602347.unknown
_1076602539.unknown
_1076602339.unknown
_1076575543.unknown
_1076602064.unknown
_1076575314.unknown