《机器人学基础》

机器人坐标建立与正运动分析实验

  • 实验目的:
  1. 掌握机器人的基本坐标系;
  2. 掌握机器人的DH参数;
  3. 掌握机器人的正运动学分析;
  • 实验设备
  1. 桌面机器人 1台;
  2. 开发主机 1台;
  3. 实时仿真机1台;
  4. 末端工具系统一套;

  • 实验原理:

1. 空间位置与姿态的描述;

2.坐标系之间变换的齐次矩阵;

3. 机械臂连杆坐标系与DH参数建模;

4. 正运动学的概念与公式。

正向运动学模型为reset_forwardkine.slx,其截图如下。轨迹规划区域实现了:任意时刻编辑指定的可达目标关节角度,然后生成对应过程关节空间轨迹的功能。每个关节角度的起始与目标角度均采用梯形速度规划,与截图中浅绿色和深绿色的硬件io模块一起,实现了实时指定机械臂关节角度并运动到的功能;最后正运动学模块计算工具当前的位置和姿态。

正运动学实验模型reset_forwardkine.slx截图

正运动学子系统如下图,输入为关节角度,输出为末端工具的位置与姿态(xyz欧拉角)

正运动学子系统

正运动学子系统的内部结构依次由正运动学函数和齐次变换矩阵求位姿的两个M函数构成。

  • 注意事项:

1. 目标关节角度q_des_degree的零位是相对的,每一次进行该实验时,要回到机械臂的零位(即各关节角度为[0 0 0 0 90°0]),如下图所示,否则正运动学的计算结果无意义。

机械臂零位图(1)
机械臂零位图(2)
机械臂零位图(3)
  1. 1. 机械臂回零可以通过自动复位实验项目reset_auto实现,或者是依赖于本次实验依次调节各关节轴至零位处。

2. 指定的目标关节角度的范围不宜过大,以免造成机械臂连杆间或者机械臂与桌面以及工件的碰撞。

3. 出现异常按下急停按钮。

  • 实验步骤:

步骤1:机器人控制柜上电,打开上位机软件RTSim_plus,观察机械臂是否处于‘零位’,否则需要回到零位,回零方法见注意事项1。

步骤2:设为启动项。操作见下图,先移动光标选中该仿真项目(仿真项目名称背景变蓝),再右键并点击设为启动项,使得该仿真项目名称的字体变黑和加粗,操作之前默认启动项目为reset_auto。

设为启动项图

步骤2:点击左上角工具栏‘启动’,加载运行模型,观察仿真机状态,下图的‘运行中’代表正常状态,再点击‘停止’可以停止实验。

仿真项目启动图

步骤3:先打开轨迹开关,再编辑各关节轴的目标角度,编辑关节4角度为40度后,rtsim控制面板的截图,可以从‘关节速度’图中看到梯形的速度曲线,符合梯形速度规划的预期。

控制面板示意图

步骤4:观察正运动学响应曲线,控制面板示意图中,右侧显示机械臂末端工具位置和姿态角变化曲线,同时查看机械臂的关节角度与末端位姿。

步骤5:实验结束后,点击‘停止’,终止实验的运行。出现异常按下急停按钮。

自动复位实验reset_auto说明:

步骤1:设置reset_auto仿真项目为实验启动项,并打开控制面板,如下图所示,自动复位开关和实验台的‘复位’按钮均能给机械臂发送回零指令。

控制面板中相关变量的数值变化与自动复位的逻辑和实现方式有关,具体见文档《本科桌面级机械臂实验指导书》。

实验台控制按钮图
自动复位实验的控制面板截图

注意事项:执行自动复位模型前,需要将关节5的角度调整至80-130°范围内(不同本体可能略有差异),否则,5轴往负限位负向运动可能会碰触不到该轴限位传感器,导致该步骤以及后续复位步骤无法完成。

思考题:

1. 标准DH参数和改进DH参数模型建立机械臂的异同点;

2. 请建立以下3个典型类型机械臂的各连杆坐标系;

(a)UR5机器人 (b)iiwa机器人 (c)一般工业机器人

几个典型机械臂结构图

3. 请用matlab的m函数编写机器人(上图(c)中的L7=0)的正运动学计算函数,输入为各关节角度,输出为末端的齐次矩阵(进一步转化为位置与姿态)。

机器人逆运动学分析实验

  • 实验目的:掌握逆运动学的概念;6轴工业机械臂典型构型的逆运动学算法完全开源,这个基本上大多数的机器人学相关教材均有详细推导过程;6轴和7轴协作机器人的逆运动学解析解见我的另一篇文章:
李家旺:串联6轴/7轴机械臂逆运动学几何解析小结
  1. 了解逆运动学算法程序在机械臂运动控制的关键作用;
  2. 了解串联机械臂逆运动学几何解析法的过程;

  • 实验设备
  1. 工业机器人 1台;
  2. 开发主机 1台;
  3. 实时仿真机1台;
  4. 末端工具系统一套;

  • 实验原理:

机器人执行各种任务替代人工作业时,其末端工具必须与环境满足一定的位置和姿态关系,即首先必须解决机器人逆运动学由末端工具位置姿态求解关节输入的问题。

本逆运动学分析实验对应rtsim上的两个仿真项目:teach_from_joints和teach_cartesian_space,编辑指定末端吸盘的位置和姿态,通过逆运动学计算目标位姿的关节角度后,teach_from _joints仿真项目在关节空间进行规划使得吸盘到达指定位姿;而teach_cartesian_space则是从起点到目标位置走空间直线路径,每一个采样步长均是由直线路径上的点经逆运动学算法计算对应的关节角度,以此保证到达吸盘目标位姿的同时走过的路径还是直线段。

teach_from_joints.slx的模型截图如下,。

逆运动学示教模型teach_from_joints.slx截图

模型中的轨迹规划子系统有3层,最里层子系统为关节空间规划图,由于考虑到新目标位姿指令发送时当前目标位姿还未到达的情况,模型实现以及其它轨迹连续等的要求,使得轨迹规划子系统较为复杂,但实现了任意时刻变更目标工具位姿的功能。

逆运动学示教模型轨迹规划最里层子系统

在笛卡尔任务空间进行逆运动学示教的实验项目为teach_cartesian_space,其对应的模型为teach_Mission_space.slx,其轨迹规划子系统主要框架和模型实现方式均与teach_from_joints.slx一致,二者的数值仿真步骤也一致。

1.2.1逆运动学示教仿真步骤

1.先运行脚本move_joints_setup,再打开模型teach_from_joints.slx,并进入轨迹规划子系统,如下图。

逆运动学示教模型轨迹规划子系统

2. 将模型仿真终止时间改为400s-1000s,随后点击运行模型,并在上图子系统中,双击红色的‘suckers_des_xyz’,实时编辑指定机械臂的目标位置,如下图所示,将目标位置变更为[228.9 200 454-120],再点击‘apply’,后续更改一次目标位置,点击一次‘apply’(注意尽可能小范围更改,以免超出机械臂可达的工作空间)。

逆运动学示教模型对工具目标位置更改图

第一次更改目标位置y变成200,第二次更改目标位置x变成300后,第二次更改目标位置z变成100后,等待仿真1000s结束,随后关节空间轨迹可以双击‘scope’展现,如下图,同时关节空间轨迹以‘sim_q’的变量传回matlab工作空间。再运行matlab工作路径下的脚本traj_dong_hua,末端走过的路径见下图。

逆运动学示教模型关节角度输出
逆运动学示教模型teach_from_joints.slx仿真路径图

可以看出,关节空间规划并不能保证工具末端的笛卡尔路径,但是工具位置在进行微小位移时,工具的路径可以近似看成直线。

注意:仿真结束后,不要保存模型,或者下次打开该模型也不要从恢复文件恢复模型,以免工具的初始位置姿态被仿真时的目标位姿更新。

而teach_Mission_space.slx则是严格的笛卡尔空间的规划,先运行脚本move_line_setup,仿真后续步骤与teach_from_joints.slx完全相同,路径图如下。

逆运动学示教模型teach_from_joints.slx仿真路径图

1.2.2机械臂的逆运动学示教实验

  • 注意事项:

1.人员在机械臂台面以外,防止意外事件发生;

2.实验时,先运行自动复位实验项目reset_auto,使机械臂达到零位状态;

3.异常出现时,立即按下机械臂急停按钮;

  • 实验步骤:

两个仿真项目的控制逻辑和实时更改的工具位姿参数名一致,所以对应的simplus的实验面板一致,如下图。

逆运动学分析实验控制面板图

0:先用reset_auto仿真项目使得机械臂回零,再设为启动项并加载运行teach_from_joints或者teach_cartesian_sapce实验项目,方法同正运动学实验,在这里不在赘述。

1:使能轨迹,点击‘joint_Value’。

3: 任意时刻编辑吸盘末端的目标位姿,随后鼠标单击面板空白处。

4:观察机械臂的实际运行情况,同时在RTSim_PLUS的控制面板上观察关节角度的变化情况。

5:实验结束后,点击‘停止’,终止实验的运行。出现异常按下急停按钮。

思考题:

1. 查阅相关资料,用matlab的编写求解实验室机械臂逆运动学的m函数。

2. 了解串联机械臂逆运动学的几何解析法与数值法的区别(比如方式,计算时间ms级us级等)。

3. 请查阅资料和思考:工业6轴机器人和6轴以及7轴协作机器人逆运动学几何解析算法的依据和大概流程,总结相关构型规律。

机器人轨迹规划实验

  • 实验目的:

掌握笛卡尔空间直线,圆弧,曲线轨迹规划的方法

  • 实验设备
  1. 工业机器人 1台;
  2. 开发主机 1台;
  3. 实时仿真机1台;
  4. 末端工具系统一套;

1.3.1轨迹规划离线仿真

注意:轨迹仿真结束后,不要保存模型,或者下次打开该模型也不要从恢复文件恢复模型。

1.3.1.1 工具末端画圆(circle_traj.slx)

原理:

首先我们介绍一个简单的,让操作臂在抓取区域上方画一个圆轨迹。要完成这个操作我们要分三个步骤:

第一步先从起始点(机械臂零位)走直线轨迹运动到将要画圆的起始点;

第二步是画一个整圆轨迹;

第三步是从圆弧终点走直线轨迹回到起始点。

仿真步骤:

1.运行模型对应的脚本circle_traj_setup.m,生成模型需要用到的全局参数。下图为脚本中设置圆弧几何参数以及运动参数的语句

2.打开模型circle_traj.slx,将圆弧轨迹规划区域中输入使能信号’traj_enable’替换成成step阶跃信号,同时仿真终止时间修改为200s,然后点击运行即可。通过监控xy曲线示波器观察轨迹是否是原圆形,如果曲线是椭圆,是因为横坐标和纵坐标比例不一致造成的,调整窗口大小即可,如下图所示。

图中斜线是从操作臂起始点运到到圆弧起始点的直线轨迹。

1.3.1.2 中间点具有速度的多段直线路径(中间点附件使用抛物线拟合)(multiline_para_curve_connect.slx)

原理:

算法功能描述:在末端笛卡尔空间有n个路径点依次需要通过,相邻路径点之间的大部分路径都以线性函数通过,而所有路径点附近以抛物线过渡通过,如下图,红色圆圈点代表路径点,红色曲线代表路径,可以看到路径点并没有严格通过,为此在原中间规划通过点附近生成两个新的辅助点,其新的轨迹见右图。

此模型是书籍《机器人学导论》第三版轨迹规划中169-174页内容的笛卡尔空间的实现,原理详见该书。

仿真步骤:

步骤一:运行设置脚本multiline_para_curve_connect_setup.m,生成关键参数供模型调用。

步骤二:运行模型multiline_para_curve_connect.slx,查看关节角度曲线如下图,观察是否连续无突变。

运动路径点在上图中参数seq_point_x/seq_point_y/seq_point_z双击更改,路径上的运动控制参数在下图中的抛物线过渡主函数的第2,3,4个输入进行更改。

步骤三:运行脚本traj_dong_hua.m,会显示任务路径以及机械臂的运动动画。

1.3.1.3 多段直线多段圆弧衔接过渡(five_pointed_star.slx)

原理:

在工业机器人工具末端一系列中间点需要平缓过渡时,点附近往往以圆弧过渡,此模型指定起点、终点和中间点,设置中间点过渡圆弧半径(下图中的OD/OE长度),两点之间大部分线性运动(下图中的AD和EC),再设置各直线段与圆弧段的线速度,最终生成工具的轨迹。

重点在于空间圆弧的参数方程,以及根据设置参数求解圆弧圆心的过程。

该模型与数控机床、运动控制等的圆弧插补有一定的差别。逻辑与模型实现详见文档《--》的相关章节。

仿真步骤:

步骤一:运行设置脚本pentagon_traj_line_circle_setup.m,pentagon_traj_circle_line.slx中更改模型仿真停止时间为100s,轨迹使能输入信号输入接入step信号。

步骤二:运行模型pentagon_traj_circle_line.slx,查看关节角度曲线是否连续无突变,正运动学模块输出接入xy_graph绘制的图见下图。

步骤三:运行脚本traj_dong_hua.m,会显示任务路径以及机械臂的运动动画如下图,五角星的顶点处是圆弧。

走多段直线模型进行五角星轨迹仿真的路径图如下所示。仿真步骤同上,脚本和模型分别为:pentagon_multiline_setup.m,pentagon_multiline_traj.slx

1.3.1.4曲线恒速进给(泰勒公式展开反参数化)(curve_constant_rate_taylor.slx)

原理:

意义:空间曲线恒速进给在工业制造等领域是一个相当基础和重要的技术,也是速度前瞻的基础。

由空间给定型值点,生成样条曲线,本文为均匀三次B样条曲线,在曲线已知的前提下,另每个采样间隔时间内走过的弧长相等可以实现等弧长进给。

公式(1)

上式中:v为速度;

s为弧长;

t为时间;

u为曲线的参数。

曲线恒速进给即要求v为常数不变,均匀B样条曲线的为常数,而一般是变化的,所以如果时间与参数u的增量完全成正比例,显然速度v将是变量;所以在v为定值的要求下,曲线上任一点可以由其参数u计算(曲线的参数化过程),那么在不同的采样时刻点规划不同的使得为定值即可实现恒速进给。

另外关于参数u的二阶泰勒公式展开如下:

公式(2)

上式中:为第k个采样时刻参数u的取值,为采样间隔(采样周期)。

结合上面两个公式可实现曲线上的恒速进给。理论上来说,公式(1)进行恒速控制完全够了,而且弧长关于参数u的微分在样条曲线形成后就唯一确定了,问题在于参数u的微分量不可能无限小,所以会有微小误差存在,这里结合公式(2)泰勒展开公式的二阶导分量,减小误差。

样条曲线的形成具体请查阅更专业的资料,一般而言,不同的样条曲线其型值点,控制点,基函数到拟合曲线函数的转换关系均有所不同。

完整的逻辑与模型实现详见文档《--》的相关章节。

仿真步骤:

步骤一:运行设置脚本curve_constant_rate_taylor_setup.m,生成关键参数供模型调用。

设置正弦曲线起点位置和整体姿态以及恒速进给规划用时见下面截图。

步骤二:运行模型curve_constant_rate_taylor.slx,查看关节角度曲线是否连续无突变以及速度曲线。下图中示波器scope4为曲线上的速度,中间阶段的45s为恒速区间,可以看到恒速控制目的基本达到,其它时间段的速度不显示。

步骤三:运行脚本traj_dong_hua.m,会显示任务路径以及机械臂的运动动画(见下图)。

1.3.1.5曲线恒速进给(查表反参数化)(curve_constant_rate_lookuptable.slx)

原理:

曲线路径一般以各种样条曲线拟合,要对路径上的速度进行控制,即要求解决已知路径长度(弧长)求参数u的过程,即曲线的反参数化。而一般曲线的参数化过程为:以样条曲线的参数u计算坐标值,再计算弧长,这个正参数化的过程是比较容易计算的。但这个表达式一般过于复杂,如果按照上一节的方法进行反参数化,离散微分得到的数据量较大,模型较大,而且后续在弧长路径上进行速度规划实现也很繁琐。

曲线反参数化的另一种解决方法是基于曲线正向参数化得到的参数u和弧长的关系后,储存变量,基于查表法,也方便实现由弧长求参数u的过程,后续与速度规划模块也容易结合。并且simulink建模中有自带各种查表模块,仿真和代码生成一般也没问题,暂未考虑查表模块内部的插值方法与误差。

仿真步骤:

步骤一:运行设置脚本curve_constant_rate_lookuptable_setup.m。下图中设置vel_arc的数值(单位mm/s),即确定了曲线恒速进给的速度值。

步骤二:在模型curve_constant_rate_lookuptable.slx中,仿真终止时间改为100s,轨迹使能信号‘traj_enable’替换为’step’,运行后查看关节角度是否连续以及曲线速度是否是预期的设置值。

步骤三:运行脚本traj_dong_hua.m,会显示任务路径以及机械臂的运动动画

1.3.1.6 轮廓线上速度规划(curve_rate_control_trap.slx)

原理:

在上一节基于查表模块的曲线恒速控制模型的基础上,本节仅仅将样条曲线型值点间的恒速改为指定每个型值点通过速度,两个型值点间的路径采用梯形速度规划,结构基本相同。

仿真步骤:

步骤一:运行设置脚本curve_rate_control_trap_setup.m,生成关键参数供模型调用。下图中,v_fd储存了m个型值点的通过速度。注意两点间的速度规划可能无解,这取决于速度,加速度与通过速度的设置值。

步骤二:在模型curve_rate_control_trap.slx中,仿真终止时间改为100s,轨迹使能信号‘traj_enable’替换为’step’,运行后查看关节角度(scope23)是否连续以及曲线速度(scope27)是否符合预期,如下图。

步骤三:运行脚本traj_dong_hua.m,会显示任务路径以及机械臂的运动动画,观察动画可以发现,当前的速度规划设置下,机械臂末端会在正弦曲线上某些点处回退一段距离,说明此时速度为负值,进一步观察速度规划主函数的输出如下图(If Action Subsystem1中的scope1),弧长与时间的关系有4次下降的区间,符合预期。

1.3.2机械臂轨迹规划实验

1.3.2.1单个轨迹模型实验(traj_gather)

  • 注意事项:

1.谨慎操作。

2机械臂回零

3. 出现异常按下急停按钮。

  • 实验步骤:
  • 实验操作步骤:

进行单个轨迹模型实验前,需要先将吸盘工具换为铝合金‘笔尖’ 。共包含如下图的6个实验项目,依次为画单个空间圆/圆弧,多段直线画五角星,多段直线圆弧衔接过渡画五角星,多段直线画三角形和正方形,查表法曲线恒速进给,查表法指定曲线型值点速度的曲线上运动控制。

单个轨迹模型实验项目

下图为一致的控制面板。

机械臂单个轨迹实验控制面板

0:先用reset_auto实验项目使得机械臂回零,

1:再设6个实验项目中的任一项为启动项,并加载运行实验项目。

2:按下轨迹使能按钮‘traj_enable’,或者实验台上的启动按钮。

3:观察机械臂的实际运行情况以及控制面板中的XYPLOT,该图绘制了工具位置坐标X和Y的变化情况,上图中为‘circle_traj’实验项目进行空间画圆后的结果,其它5个实验对应的XYPLOT图见下述几幅图。

4.实验结束后,点击‘停止’,终止实验的运行。出现异常按下急停按钮。

五角星形(多段直线)
五角星形(圆弧在顶点处于直线相切)
三角形(多段直线)
四边形(多段直线)
曲线(恒速运动)
曲线(指定通过点速度)

1.3.2.2 轨迹整合实验 (traj_gather)

此实验整合了多段直线模型,单个圆弧/圆模型,多直线段与多圆弧相切过渡模型,曲线恒速进给模型,最终在轨迹板上依次走出五角星、三角形、正方形和正弦曲线。控制版面与操作步骤同单个轨迹模型。具体如下:

0:先用reset_auto实验项目使得机械臂回零,

1:再设‘traj_gather’为启动项,并加载运行实验项目。

2:按下轨迹使能按钮‘traj_enable’,或者实验台上的启动按钮。

3:观察机械臂的实际运行情况以及控制面板中的XYPLOT,该图会依次序绘制五角星、三角形、正方形和正弦曲线。工业机械臂运行见下列几张图。

4:实验结束后,点击‘停止’,终止实验的运行。出现异常按下急停按钮。

  • 思考题:

机器人搬运和码垛实验

  • 实验目的:
  1. 了解空间直线路径实现搬运、码垛的方法;
  2. 直线路径进行梯形速度规划形成轨迹的方法;

  • 实验设备
  1. 工业机器人 1台;
  2. 开发主机 1台;
  3. 实时仿真机1台;
  4. 末端工具系统一套;

  • 实验原理:

此处的搬运/码垛模型,它的功能是对一个物料(方块,圆柱体,三角形物料)进行抓取,然后放置到另外一个地方,每次只能取一个方块,所走的轨迹全是直线轨迹,所以实际上是多段直线轨迹规划。机械臂末端法兰盘固定连接的吸盘工具,实现了抓取与放置方块,搬运和码垛任务均是由一次到多次的多段直线轨迹规划模型构成,设置好搬运抓取点和放置点即可。

搬运任务路径示意图

直线路径已经生成,然后在每一段直线路径上进行梯形速度规划,即可生成关于时间的轨迹,完成码垛任务的最终轨迹。

在matlab脚本中调用梯形速度规划,提取每一个直线段的耗时。然后在simulink主函数中对输入时间进行二层的判断,确定当前时刻位于哪一个搬运过程的哪一个直线段即可,再更新时间以及起点终点后再调用梯形速度规划输出路径点坐标。更为详细的原理见《--》。

1.4.1 搬运/码垛数值仿真:

1.首先运行模型对应的启动脚本carry_setup.m,涉及到搬运次数和对应抓取点坐标的设置见下图,抓取点和放置点z坐标应该先设置高一点,再缓慢降低,以避免抓取和放置时发生碰撞。

2.在carry.slx模型中,轨迹规划区域中输入使能信号’traj_enable’替换成成step阶跃信号,同时仿真终止时间修改为500s,然后开始模型的仿真,关节角度输出在scope23中,如下图所示,当关节角度是连续的则说明搬运过程可以实现。

搬运仿真的关节角度输出

3.将carry_times设置成1,则仿真完成一次搬运过程。

4.再运行脚本traj_dong_hua.m,会显示搬运码垛的路径以及机械臂的运动动画。

1.4.2 机械臂搬运/码垛实验:

0:先用reset_auto实验项目使得机械臂回零,

1:利用逆运动学示教实验将抓取点和放置点坐标示教出来。

2:更新carry_setup中的搬运次数,以及抓取点和放置点数据矩阵,注意z坐标应该从示教坐标上方2cm处,慢慢变小调试,否则吸盘容易发生碰撞,并进行搬运的仿真,看关节角度输出是否连续,以及搬运路径和动画是否符合预期。

3:编译carry.slx模型,然后在RTSim_PLUS中刷新仿真配置。

4:启动实验项目,控制面板与轨迹实验的面板一致,按下轨迹按钮‘traj_enable’,或者实验台上的启动按钮。

5:观察机械臂的实际运行情况,实验结束后,点击‘停止’,终止实验的运行。出现异常按下急停按钮。工业机械臂码垛demo运行图见下:

思考题:

1.5 机器人写字/绘图

机械臂写字绘图基本思路:

利用图片中有效图案(字体或者绘图等)与背景的明暗,进行二值处理识别有效图案,利用轮廓提取技术提取有效图案的轮廓(即为雕刻路径),最后利用雕刻软件等生成表示走刀路径的G代码或者nc代码,再提取G代码中的刀具路径,再在路径上进行速度规划,最后通过逆运动学转成期望的关节角度序列,发给各轴电机即可在机械臂上实现写字/绘图功能。

具体步骤如下

步骤1:图片处理以及对应的G/NC代码生成,此步骤也可由某些雕刻程序给出。

(1-1)输入图片:

运行程序I2GApplication.exe,点击import选取图片,下图为输入图片后的

截图.

图1 输入图片后截图

(1-2)二值处理和轮廓提取:

点击图1中的view,结果如下图:

图2 原始图片处理后截图

(1-3)生成NC代码:

点击按钮‘gen’,选择储存结果文件的路径,默认文件为result.nc

图3 matlab工作路径下的NC文件

步骤2:绘图的工具路径提取:

(2-1)nc文件重命名,在图3的基础上,将其重命名,且后缀更改为.txt

(2-2)运行脚本读取nc代码的路径信息,并绘图,结果如下

步骤3:MATLAB/simulink模型让机械臂复现雕刻路径,完成写字绘图仿真

(3-1)运行脚本carving_setup.m,适当调整路径数据矩阵b,如下图,对路径进行放缩,旋转,平移,使得机械臂末端工具可以到达。

(3-2)绘图模型carving_test1.slx仿真,将下图中的时钟使能改为step1自动激发,仿真时间改为400s。开始模型仿真,仿真结束会将关节角度序列传到工作空间,等待仿真结束。

(3-3)雕刻路径显示以及模拟动画:回到matlab窗口,运行脚本traj_dong_hua,绘图路径如下图。

绘图仿真动画截图

机械臂绘图仿真示意图

步骤4. 机械臂真实绘图

在步骤3路径仿真符合预期后,绘图模型carving_test1.slx编译生成工程文件。

在公司rt_sim软件中建立控制面板,加载模型对应的程序,控制机械臂进行绘图,面板以及操作同轨迹规划/搬运码垛实验,控制面板绘图结果如下。

上位机软件水平面坐标坐标监视结果

针对图案字体深浅不一以及局部未绘制到图案的结果,后续在有效图案走笔时添加法向力控,将克服轮廓粗细不一的不足。

机械臂绘图结果,与仿真截图一致