




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
变量
变量的定义变量变量主要分类位姿变量
实型变量
字符串变量变量主要分类位姿变量2位姿变量定义:
描述位姿信息的变量被称为位姿变量。位姿变量仅在有赋值时才被定义。它会保持未定义状态直到被赋予数值,如果执行了含未定义变量的程序,会报出错。位姿变量定义:3位姿变量位姿变量在以下的情况中很有用:
相同的位姿数据被重复利用而没有必要每次示教其位姿。
一个已定义的位姿变量可在不同的程序中使用。
一个已定义位姿变量可以被用来或被改变来定义一个不同的位姿。
计算值可被用作为位姿信息,以取代使用示教器对机器人进行耗时的示教工作。
位姿变量可以自由命名,使程序变得更易读。位姿变量位姿变量在以下的情况中很有用:4位姿变量的三种定义方法-监控指令定义1)HERE指令把机器人的当前位姿数据存储在指定名称下。示例1:使用关节位移值
变量名以#开头,以区别于变换值。紧跟在指令后面,显示当前位姿的关节位移值:
>HERE#pose↵JT1JT2JT3JT4JT5JT6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
变化吗?(放弃请按RETURN键)↵>
位姿变量的三种定义方法-监控指令定义1)HERE指令把机器人5位姿变量的三种定义方法-监控指令定义示例2:使用变换值
紧跟在指令后面,显示当前位姿的变换值:>HEREpose↵X[mm]Y[mm]Z[mm]O[deg]A[deg]T[deg]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
变化吗?(放弃请按RETURN键)↵>
位姿变量的三种定义方法-监控指令定义示例2:使用变换值6位姿变量的三种定义方法-监控指令定义2)POINT指令用另一个已定义的位姿变量来定义一个位姿,或通过终端输入数值来定义它。示例1:使用关节位移值
(定义一个新的、未定义过的变量)>POINT#pose↵JT1JT2JT3JT4JT5JT60.0000.0000.0000.0000.0000.000变化吗?(放弃请按RETURN键)↵>
输入新值,各值之间以逗号为分隔:xxx,xxx,xxx,xxx,xxx,xxx位姿变量的三种定义方法-监控指令定义2)POINT指令用另一7位姿变量的三种定义方法-监控指令定义示例2:使用关节位移值(改变一个已定义变量的值)>POINT#pose↵JT1JT2JT3JT4JT5JT610.00020.00030.00040.00050.00040.000变化吗?(放弃请按RETURN键)↵
输入要改变的值:
30,,,,20↵
将JT1和JT5的值改变为30和20。位姿变量的三种定义方法-监控指令定义示例2:使用关节位8位姿变量的三种定义方法-监控指令定义示例3:替换一个已定义变量的值>POINTpose_1=pose_2↵JT1JT2JT3JT4JT5JT610.00020.00030.00040.00050.00040.000变化吗?(放弃请按RETURN键)↵>
显示要定义给pose_1的值(Pose_2的最新值),按↵键,将这个值设置给pose_1。位姿变量的三种定义方法-监控指令定义示例3:替换一9位姿变量的三种定义方法-程序命令定义1)HERE命令将机器人的当前位姿数据存储到指定名称下。
HEREpose注意:如果是关节位移值变量,变量名以#开始,如:#pick,#start。如果是变换值变量,变量名没有前缀#,如:pick,start。2)POINT命令可用一个已定义的位姿来替代一个位姿变量。
POINTpose_1=pose_2
变量“pose_1”被已定义的变量“pose_2”的值代替,如果“pose_2”未定义则报出错。位姿变量的三种定义方法-程序命令定义1)HERE命令将机器10位姿变量的三种定义方法-使用复合变换值
复合变换值或相对变换值,即在两个坐标系之间的变换值,用在两个或多个过渡坐标系之间的变换值的组合来表达。
如“plate”是相对于基础坐标系的变换值的变量名,描述了平板上的坐标系。如果有个相对于位置“plate””的物体的位姿被定义为“object”,那么该物体object相对于机器人基础坐标系的复合变换值,可以用“plate+object”来描述。位姿变量的三种定义方法-使用复合变换值复合变换11位姿变量的三种定义方法-使用复合变换值示例:
位姿变量的三种定义方法-使用复合变换值示例:
12位姿变量的三种定义方法-使用复合变换值(1)用示教器将机器人工具点动到要命名为“plate”的位姿,然后输入以下指令将此位姿定义为plate。
>HEREplate↵(2)将机器人工具点动到要命名为“object”的位姿,并输入:
>HEREplate+object↵
变换值“object”现在定义为相对于“plate”的当前位姿(如果“plate”在此时仍未定义,“object”将不能被定义并且报出错)。(3)将机械手移动到捡起取出object的位姿,并输入:
>HEREplate+object+pickup↵(4)最后的命令定义相对于变换值“object”的位姿变量“pickup”。位姿变量的三种定义方法-使用复合变换值(1)用示教器将机器人13位姿变量的三种定义方法-使用复合变换值注意:
复合变换值通过几个独立变换值的“+”结合来定义。请在“+”和变换值之间不要留任何空格。
用这种方法,你可以结合任意多的变换值。
如果机器人要在指定为相对于“object”的“pickup”位姿处捡起object,程序应该这样写:
JMOVEplate+object+pickup
或
LMOVEplate+object+pickup位姿变量的三种定义方法-使用复合变换值注意:14位姿变量的三种定义方法-使用复合变换值说明:1.不要改变相对变换值表达式中的变换值变量的顺序。
例如,如果变换值变量“b”被定义为相对于变换值变量“a”,表达式应该为“a+b”,而不是“b+a”。2.上例中的位姿数据“object”和“pickup”被定义为了相对于其他位姿数据。因此,不要使用“JMOVEobject”或“LMOVEpickup”指令,除非确信它在程序中的目的和影响。位姿变量的三种定义方法-使用复合变换值说明:15位姿变量的三种定义方法-使用复合变换值
在重复使用复合变换值时,请使用POINT命令来减少计算复合变换值的时间。
例如,要接近位姿“pickup”,然后向“pickup”位姿移动,可能输入:JAPPROplate+object+pickup,100/接近“pickup”上方100 mmLMOVEplate+object+pickup/直线运动到“pickup”
然而,如果输入以下命令,将可以节省计算时间:POINTx=plate+object+pickup/计算目标位姿JAPPROx,100/接近目标上方100mmLMOVEx/直线运动到目标
这两个程序的结果动作相同,但是后者计算一次混合转换,因此执行时间更短。在这个非常简单例子中,执行时间的差异是很小的,但是在更复杂的程序中,它可产生很大的差异,并且可以缩短整个循环时间。位姿变量的三种定义方法-使用复合变换值在重复使用16实型变量的定义实型变量用赋值命令(=)来定义,给实型变量赋值的格式是:
Real_variable_name=numeric_value示例:a=10.5count=i*2+8Z[2]=Z[1]+5.2
左侧的变量可以是数量变量(如计数),也可以是数组元素(如Z[2])。变量仅在赋值时定义。在赋值前,它一直处于未定义状态,如果执行了含有未定义变量的程序,将报出错。
右侧的数值可以是一个常数、一个变量或者是一个数学表达式。在处理赋值命令时,先计算赋值命令的右侧值,然后把这个值赋给左侧的变量。实型变量的定义实型变量用赋值命令(=)来定义,给实型变量赋值17实型变量的定义如果命令左侧的变量是一个新变量或以前从未被赋值过,右边的值将被自动赋值给该变量。如果左侧变量是个已定义的变量,这个新值将替换此变量的当前值。
例如,指令“x=3”赋值3给变量“x”。它读作“赋值3给x”,而不是“x等于3”。下面的例子将清晰地解释其处理过程:
x=x+1
如果此例是一个数学等式,读作“x等于x加1”,但它没有意义,作为赋值命令,它应该读作“赋值x加1给x”。这样,先计算“x”的当前值和1的和,然后把结果值作为一个新的数值赋值给“x”。因此,这个等式要求首先定义x,如下所示:x=3x=x+1
这时,“x”的结果值为4。实型变量的定义如果命令左侧的变量是一个新变量或18字符串变量的定义
字符串变量用赋值命令(=)定义,给字符串变量赋值的格式是:$string_variable=string_value示例:$a1=$a2$errormess[2]=“timeover”
左边的字符变量可以是一个变量(如$name),也可以是数组元素(如$line[2])。只有当变量在被创建了名字并被赋予数值时,它才被定义。在赋值前,它一直处于未定义状态,如果执行了含有未定义变量的程序,将报出错。字符串变量的定义字符串变量用赋值命令(=)定义,给字19字符串变量的定义
右边的字符串可以是字符串常数、字符串变量或者是字符表达式。在处理赋值命令时,先计算赋值命令右侧的值,然后把这个值赋给左侧的变量。$name=“KAWASAKIHEAVYINDUSTRIESLTD.”
在上述命令中,把“”括起来的的字符串赋值给变量“$name”,如果指令左侧的变量以前未被用过,此字符串将被自动赋值。如果左侧的变量是个已定义的变量,这个命令将用右侧的新字符串替换当前的字符串。字符串变量的定义右边的字符串可以是字符串常数、20TheEnd!TheEnd!21变量
变量的定义变量变量主要分类位姿变量
实型变量
字符串变量变量主要分类位姿变量23位姿变量定义:
描述位姿信息的变量被称为位姿变量。位姿变量仅在有赋值时才被定义。它会保持未定义状态直到被赋予数值,如果执行了含未定义变量的程序,会报出错。位姿变量定义:24位姿变量位姿变量在以下的情况中很有用:
相同的位姿数据被重复利用而没有必要每次示教其位姿。
一个已定义的位姿变量可在不同的程序中使用。
一个已定义位姿变量可以被用来或被改变来定义一个不同的位姿。
计算值可被用作为位姿信息,以取代使用示教器对机器人进行耗时的示教工作。
位姿变量可以自由命名,使程序变得更易读。位姿变量位姿变量在以下的情况中很有用:25位姿变量的三种定义方法-监控指令定义1)HERE指令把机器人的当前位姿数据存储在指定名称下。示例1:使用关节位移值
变量名以#开头,以区别于变换值。紧跟在指令后面,显示当前位姿的关节位移值:
>HERE#pose↵JT1JT2JT3JT4JT5JT6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
变化吗?(放弃请按RETURN键)↵>
位姿变量的三种定义方法-监控指令定义1)HERE指令把机器人26位姿变量的三种定义方法-监控指令定义示例2:使用变换值
紧跟在指令后面,显示当前位姿的变换值:>HEREpose↵X[mm]Y[mm]Z[mm]O[deg]A[deg]T[deg]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
变化吗?(放弃请按RETURN键)↵>
位姿变量的三种定义方法-监控指令定义示例2:使用变换值27位姿变量的三种定义方法-监控指令定义2)POINT指令用另一个已定义的位姿变量来定义一个位姿,或通过终端输入数值来定义它。示例1:使用关节位移值
(定义一个新的、未定义过的变量)>POINT#pose↵JT1JT2JT3JT4JT5JT60.0000.0000.0000.0000.0000.000变化吗?(放弃请按RETURN键)↵>
输入新值,各值之间以逗号为分隔:xxx,xxx,xxx,xxx,xxx,xxx位姿变量的三种定义方法-监控指令定义2)POINT指令用另一28位姿变量的三种定义方法-监控指令定义示例2:使用关节位移值(改变一个已定义变量的值)>POINT#pose↵JT1JT2JT3JT4JT5JT610.00020.00030.00040.00050.00040.000变化吗?(放弃请按RETURN键)↵
输入要改变的值:
30,,,,20↵
将JT1和JT5的值改变为30和20。位姿变量的三种定义方法-监控指令定义示例2:使用关节位29位姿变量的三种定义方法-监控指令定义示例3:替换一个已定义变量的值>POINTpose_1=pose_2↵JT1JT2JT3JT4JT5JT610.00020.00030.00040.00050.00040.000变化吗?(放弃请按RETURN键)↵>
显示要定义给pose_1的值(Pose_2的最新值),按↵键,将这个值设置给pose_1。位姿变量的三种定义方法-监控指令定义示例3:替换一30位姿变量的三种定义方法-程序命令定义1)HERE命令将机器人的当前位姿数据存储到指定名称下。
HEREpose注意:如果是关节位移值变量,变量名以#开始,如:#pick,#start。如果是变换值变量,变量名没有前缀#,如:pick,start。2)POINT命令可用一个已定义的位姿来替代一个位姿变量。
POINTpose_1=pose_2
变量“pose_1”被已定义的变量“pose_2”的值代替,如果“pose_2”未定义则报出错。位姿变量的三种定义方法-程序命令定义1)HERE命令将机器31位姿变量的三种定义方法-使用复合变换值
复合变换值或相对变换值,即在两个坐标系之间的变换值,用在两个或多个过渡坐标系之间的变换值的组合来表达。
如“plate”是相对于基础坐标系的变换值的变量名,描述了平板上的坐标系。如果有个相对于位置“plate””的物体的位姿被定义为“object”,那么该物体object相对于机器人基础坐标系的复合变换值,可以用“plate+object”来描述。位姿变量的三种定义方法-使用复合变换值复合变换32位姿变量的三种定义方法-使用复合变换值示例:
位姿变量的三种定义方法-使用复合变换值示例:
33位姿变量的三种定义方法-使用复合变换值(1)用示教器将机器人工具点动到要命名为“plate”的位姿,然后输入以下指令将此位姿定义为plate。
>HEREplate↵(2)将机器人工具点动到要命名为“object”的位姿,并输入:
>HEREplate+object↵
变换值“object”现在定义为相对于“plate”的当前位姿(如果“plate”在此时仍未定义,“object”将不能被定义并且报出错)。(3)将机械手移动到捡起取出object的位姿,并输入:
>HEREplate+object+pickup↵(4)最后的命令定义相对于变换值“object”的位姿变量“pickup”。位姿变量的三种定义方法-使用复合变换值(1)用示教器将机器人34位姿变量的三种定义方法-使用复合变换值注意:
复合变换值通过几个独立变换值的“+”结合来定义。请在“+”和变换值之间不要留任何空格。
用这种方法,你可以结合任意多的变换值。
如果机器人要在指定为相对于“object”的“pickup”位姿处捡起object,程序应该这样写:
JMOVEplate+object+pickup
或
LMOVEplate+object+pickup位姿变量的三种定义方法-使用复合变换值注意:35位姿变量的三种定义方法-使用复合变换值说明:1.不要改变相对变换值表达式中的变换值变量的顺序。
例如,如果变换值变量“b”被定义为相对于变换值变量“a”,表达式应该为“a+b”,而不是“b+a”。2.上例中的位姿数据“object”和“pickup”被定义为了相对于其他位姿数据。因此,不要使用“JMOVEobject”或“LMOVEpickup”指令,除非确信它在程序中的目的和影响。位姿变量的三种定义方法-使用复合变换值说明:36位姿变量的三种定义方法-使用复合变换值
在重复使用复合变换值时,请使用POINT命令来减少计算复合变换值的时间。
例如,要接近位姿“pickup”,然后向“pickup”位姿移动,可能输入:JAPPROplate+object+pickup,100/接近“pickup”上方100 mmLMOVEplate+object+pickup/直线运动到“pickup”
然而,如果输入以下命令,将可以节省计算时间:POINTx=plate+object+pickup/计算目标位姿JAPPROx,100/接近目标上方100mmLMOVEx/直线运动到目标
这两个程序的结果动作相同,但是后者计算一次混合转换,因此执行时间更短。在这个非常简单例子中,执行时间的差异是很小的,但是在更复杂的程序中,它可产生很大的差异,并且可以缩短整个循环时间。位姿变量的三种定义方法-使用复合变换值在重复使用37实型变量的定义实型变量用赋值命令(=)来定义,给实型变量赋值的格式是:
Real_variable_name=numeric_value示例:a=10.5count=i*2+8Z[2]=Z[1]+5.2
左侧的变量可以是数量变量(如计数),也可以是数组元素(如Z[2])。变量仅在赋值时定义。在赋值前,它一直处于未定义状态,如果执行了含有未定义变量的程序,将报出错。
右侧的数值可以是一个常数、一个变量或者是一个数学表达式。在处理赋
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林2025年吉林省气象部门事业单位招聘应届毕业生29人(二)笔试历年参考题库附带答案详解
- 二零二五商业街商铺租赁合同
- 员工试用期合同
- 个人担保抵押借款合同范例借款
- 股份收购的协议书二零二五年
- 二零二五销售人员聘用合同范文
- 经营权转让协议合同
- 借款借条合同
- 店面合伙人经营协议书
- 二零二五父子之间股份赠与合同
- 花果山云雾茶整合营销传播策划方案
- 《静脉采血》课件
- 老年病老年综合征及老年综合评估培训课件
- 2023年中考语文二轮复习:书法鉴赏 真题练习题汇编(含答案解析)
- 白熊效应(修订版)
- 国家中小学智慧教育平台培训专题讲座
- 兰州交通大学《C语言程序设计》2017-2018学年期末试卷
- 电缆信息价换算表(适合深圳)
- 《组织部新来了年轻人》优质课件
- BZ悬臂吊说明书
- 监理工作阶段性报告(共页)
评论
0/150
提交评论