机器人素描程序说明范本模板Word下载.docx
《机器人素描程序说明范本模板Word下载.docx》由会员分享,可在线阅读,更多相关《机器人素描程序说明范本模板Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
人脸图像在处理时缩放为320×
240像素分辨率,在Window系统中绘图坐标系的定义为:
图像左上角为原点,X方向从左到右为正向,Y方向从上到下为正向。
绘图空间坐标系定义:
绘图空间为在机器人坐标系中中心点坐标为(0,275)的大小为147×
110mm的矩形,其中的坐标系定义为:
147×
110绘图矩形中心点为原点,X方向从左到右,Y方向从下到上。
素描图像处理出来后得到的笔迹曲线在轨迹图像坐标系中表示,大小为320×
240,如果需要将笔迹曲线绘制在绘图空间中,需要做坐标转化,从几个坐标系间的相对关系可以推导得到:
如果在320×
240图像坐标系中的一个点(x0,y0)映射到机器人绘图空间的对应坐标(x1,y1):
X1=x0/2。
1818—147/2
Y1=110/2-y0/2。
1818+275
其中的缩放系数2。
1818为将320×
240的图像缩小到147×
110绘图空间的比例系数:
240/110=2。
1818
2二自由度机械臂的运动学解:
机械臂通常具有两种运动方式:
关节空间运动和直角坐标运动.关节空间运动模式是指机器人操作臂的运动直接由各个关节的运动坐标来确定,所有关节变量构成一个关节矢量。
所有关节矢量构成的空间称为关节空间。
所谓关节空间运动模式就是直接操作各个关节的运动来完成机器人的运动.下图a)为二自由度机械臂的关节坐标空间定义,关节坐标空间由两个关节组成。
直角坐标运动模式是指机器人末端工具的位置和方位通常是在直角坐标空间中描述。
直角坐标空间运动模式通过指定机器人末端工具在直角坐标空间中的运动来完成机器人操作任务。
下图b)为二自由度机械臂直角坐标空间的定义,这是一个二维的直角坐标空间。
a)关节坐标空间b)直角坐标空间
实际运行是通过对关节运动轴的伺服控制来实现的,也就是最终的机械臂的控制是在关节坐标空间中进行的,但是对于操作者来说,直角坐标空间更容易让人理解和接受,操作者对机械臂的操作一般是在直角坐标空间中进行的,这样就需要建立一种关节坐标空间和直角坐标空间的对应关系,也就是说如果已知机械臂各个关节的坐标参数需要求解机械手末端在直角坐标空间中的坐标,反过来如果已知机械手末端在直角坐标空间的坐标需要求解各个运动关节的坐标参数,前一个问题称为机器人的运动学正解,后一个问题称为机器人的运动学反解.从数学的角度定义机器人的运动学正解和反解如下:
设机器人的关节坐标空间中的关节变量记为
机器人末端工具在直角坐标空间中的坐标记为
关节变量和直角坐标空间坐标间存在如下运动学约束:
这是一个隐式方程,如果能够从上式式求解出:
即由关节坐标变量表示的直角坐标变量,这就是机器人的运动学正解,一般的可以得到机器人运动学的唯一正解。
如果能够从4—1式求解出:
也就是已知机器人末端工具的直角坐标参数,求解出对应关节坐标空间中的各个关节变量,这就是运动学的反解,通常难以得到解析的运动学反解,而且运动学反解一般也是不唯一的,实际应用中常采用几何法和数值解法来求解。
下面我们来推导二自由度机械臂的运动学解:
1)二自由度机械臂运动学正解
已知:
关节1连杆长度
,关节变量
(关节控制轴1角度位置),
关节2连杆长度
关节变量
(关节控制轴2角度位置)。
求解:
关节连杆末端工具安装点在直角坐标空间的坐标
。
二自由度机械臂运动学正解
上图为二自由度机械臂的运动学正解的示意图,从图上可以得到机械臂末端的直角坐标:
2)二自由度机械臂运动学反解
已知:
,关节2连杆长度
,
关节连杆末端工具安装点在直角坐标空间的坐标
求解:
关节变量
(关节控制轴1角度位置),
关节变量
下图为求解二自由度机械臂运动学反解的示意图,如果不考虑奇异点则有如下推导:
得到运动学反解的计算公式:
其中atan2(x,y)为计算
的反正切值(单位为弧度)的数学函数,利用双变量函数atan2(x,y)计算
的优点在于利用了x和y的符号能够确定角度所在的象限,例如
,而
,如果使用单变量的反正切函数则不能区分这两种情况
,atan2(x,y)的值域为
,当双变量反正切函数的两个参数都为零时,函数值不定。
二自由度机械臂运动学反解
3)运动学反解的不唯一性
机器人运动学反解一般是不唯一的,也就是可能存在多组关节坐标变量值使得机械手末端达到给定的目标位置。
二自由度机械手在工作空间中运动时存在两组运动学反解,如下所示。
图二自由度机械臂的两组反解
实际运行中如何从机器人运动学的多组反解中选择一组合适的解是一个值得研究的问题,一般的具有多组反解的机器人运动学问题可以采用优化算法来解决,定义一定的优化准则,选择满足优化准则的最优解作为机器人运动学的确定反解。
优化准则的选取分两种情况:
一种是不存在障碍物时可以使用“最短行程”准则,因为机器人的运动是连续的,结合前一次机器人运动学反解得到的关节坐标位置,选取使机器人关节运动量最小的一组解作为反解,这种选取方法可以使得机器人运动保持连续;
如果存在障碍物,沿“最短行程”运动可能导致碰撞,这时应该结合机器人的有障碍路径规划和智能决策等方法来选取反解.
4)运动学反解中的特殊情况
✧特殊情况1:
如下图所示。
图运动学反解特殊情况1
在这时目标位置点(x,y)超出了机械臂运动空间范围,计算机数值计算的判别条件为:
如果满足:
则说明给定的目标位置超出了机械臂的运动空间范围,运动学反解不存在。
其中
为一个正小数,比如可以选取:
✧特殊情况2:
图运动学反解特殊情况2
这时目标位置刚好在机械臂工作空间边界上,也就是目标位置点处于奇异位置,在奇异点位置附近机械臂的运动特性比较差,控制轴运动可能会产生跳变,一般实验时应该避开这些位置。
对于这种奇异情况计算机数值计算的判别条件为:
这种情况下机械臂运动学反解为:
2.3电机脉冲当量
机器人大臂驱动电机为100W松下交流伺服电机,小臂驱动电机为50W松下交流伺服电机,电机后面都配备了光电编码器,光电编码器的分辨率为2500脉冲/转,光电编码器的信号通过运动控制器中处理电路做了4倍频处理,也就是说最终在使用运动控制器时我们得到的电机角度分辨率为10000脉冲/转。
机器人关节电机在驱动关节时还连接了谐波减速器,大臂减速比100,小臂减速比99。
如果需要大臂转动1度,需要下发脉冲数为:
10000脉冲/转×
100/360度/转=2777。
7778脉冲/度;
如果需要小臂转动1度,需要下发脉冲数为:
10000脉冲/转×
99/360度/转=2750脉冲/度。
2.4素描笔迹绘制策略:
图像处理后得到的素描轨迹为一个笔画一个笔画存储,在笔画的起点需要落下绘图笔,在笔画的终点需要抬起绘图笔,一个笔画的终点到下一个笔画的起点间为抬臂快速移动,不需要做插补运算(可以提高设备运行速度),笔画由一系列坐标点组成,笔画中的绘制策略为:
取一个笔画坐标点,转化到机器人直角坐标系,通过运动学反解运算得到两个机器人关节的角度,通过角度和电机脉冲数的变化关系转化为电机目标脉冲数,下发给运动控制器,运动控制器协调电机驱动器控制关节电机运动到目标位置,此时绘图比落下也就在绘图板白纸上绘制出笔迹,连续移动则绘制出一条连续笔画。
三、实验三机器人实时控制:
现有网络结构设计为主从结构(服务器/客户机结构),在实验系统中一共有4套二自由度机械臂,每套机械臂具有两个运动关节(电机),总共8个运动控制轴,使用一套8轴Galil嵌入式网络运动控制器来统一控制4套机器人的8个运动轴。
设置一台计算机为服务器(教师监督计算机),该服务器处理所有与运动控制相关细节,也就是说只有服务器才能和运动控制器通讯连接直接控制运动控制器和机器人.网络组织结构中有一台16口网络交换机,8轴运动控制器具有192.168.0。
101IP地址连接到交换机的一个端口,服务器(教师机)需要设置一个在192.168.0。
*的唯一IP地址供客户机通过指定IP地址访问。
8套客户机(学生机)也指定唯一的在192.168.0.*网段的IP地址,比如从192.168.0。
110到192.168。
0。
117,客户机的所有操作和请求均先发送到服务器,通过服务器解释后,合法并授权的命令将被服务器解释执行并发送到运动控制器,通过服务器和客户机两个层次的设置确保了多套客户机对4台机器人的分时共享及其客户权限的设置。
在客户机上运行客户端程序,对客户机端的要求做前端预处理,归一化得到笔画数据,如果申请到了服务器对机器人的访问权限则将笔画数据通过网络发送到服务器,由服务器解释执行;
在服务器上运行服务器程序,服务器程序处理客户机的权限管理和机器人的实际控制。
客户端和服务器件网络通讯协议:
客户端和服务器间通讯流程:
1.客户端--》(CONNECT请求)-—》服务器
提请建立网络通讯连接请求,为了避免其他无关计算机连接到服务器干扰实验流程,在这里采用了客户机网卡MAC地址校验,也就是说我们先保存了能够连接服务器的所有客户计算机网卡的MAC地址(MAC地址在 客户端软件 运行后能够 在窗口中显示出来),客户端 发送 CONNECT请求时 服务器 会 在允许联机的MAC地址列表中查找,如果找到则 分配给 客户机一个连接序号,并在服务器上显示连接客户机的 学号、姓名、IP地址等信息;
如果客户机的MAC地址与服务器不匹配 则 拒绝 客户机的连接请求.
2.客户机 正确 联机 到服务器后,可以 向 服务器 提交 申请 实时控制请求:
客户机――》(CONTROLAPPLY)--》服务器,
此时如果 服务器 允许 客户机控制实际 机器人硬件 并且 4套机器人硬件有空闲,则 分配 机器人编号给客户端,接下来客户端可以将 处理好的素描数据或者鼠标绘图数据发送到服务器做实时绘制实验.
客户端完成实时绘制实验后应该自觉提请释放 实际机器人硬件:
客户端――》(CONTROLNOT)――》服务器,
此时服务器收回分配给客户机的机器人硬件资源,可以供其他客户器实验使用。
在服务器上我们也显示了每套客户机联机时间,在服务器端也可以强制将长时间占用机器人资源而不主动释放的客户机断开资源连接。
3。
客户机申请到机器人硬件资源后可以做三种类型实验:
人脸素描绘制、鼠标绘图绘制、手写板实时控制,在实际实现中将人脸素描绘制和鼠标绘图绘制归一为文件发送绘制:
客户端――》(SENDFILE)――》服务器,
客户端提出发送文件申请,并将人脸素描轨迹数据文件或者鼠标绘图轨迹数据文件以数据流的形式发送到服务器,服务器先保存为文件然后执行轨迹绘制作业。
客户端――》(REALDATASEND)-—〉服务器,
客户端发送手写板实时绘制请求,一次发送一个笔画数据到服务器。
客户端—》(HANDCONTROLNOT)--》服务器,
客户端完成手写板实时绘制请求后,发送断开实时绘制请求。
4.客户端—》(CLOSE)—-》服务器,
客户端退出客户端应用程序后发送COLSE消息给服务器,在服务器上更新客户机联机状态。