在本篇文章中我们提出了6个与数据类型有关的问题,在这我们将揭晓前三个问题的答案,并详细介绍与之相关的数据类型。
(1)为什么两条MoveL指令语句,使用相同的速度数据,走同样距离的轨迹,所花的时间却不相同呢?
“1000”指的是v_tcp,ABB机器人控制系统中预定义的speeddata数据都是以“v v_tcp组件的值"来命名的。ABB机器人控制系统的预定义数据可以在程序数据页面进行查看,将数据查看范围改为【仅限内置数据】,然后选择需要查看的数据类型即可查看到内置数据的值。
(2)为什么在MoveL指令语句之的setdo指令在手动单步调试运行时能够在准确的时机输出DO信号,而在自动模式运行时却不能在准确的时机执行呢?
技术参考手册《RAPID指令、函数和数据类型》中给出了一个很好的说明示例:
区域数据在Robotstudio中是可以直观显示的,首先将示教器中运动轨迹程序同步到Robotstudio虚拟工作站中,然后在Robotstudio软件的【路径和目标点】树状栏中选中同步过来的轨迹,右击弹出快捷菜单,依次选择【查看】-【显示各区域】即可直观显示出zonedata数据的pzone_tcp组件所描述的TCP转弯半径区域。
(3)为什么有的时候执行MoveL指令,会提示“轴配置错误”,轴配置是什么意思呢?
轴配置错误是指机器人TCP不能以指定的轴配置方案到达运动指令的目标点,或者轴配置监督被触发。这里提到的轴配置方案和目标点等信息,都是存储在位置数据(robtarget)中的。robotarget数据类型由trans、rot、robconf、extax四个组件构成的。其中trans组件记录的是机器人TCP运动到目标点位时在参考坐标系中的坐标值,rot组件记录的是机器人运动到目标点位时工具所具有的姿态,robconf组件记录的是机器人的轴配置方案,extax组件记录的是机器人运动到目标点位时外轴的数据。
第3个问题中提及的“轴配置错误”主要是与robtarget数据的robconf组件有关。robtarget属于复合数据,它的每个组件又是一个数据类型,其中robconf组件的数据类型是confdata(轴配置数据)。想要了解解什么是“轴配置”,就要了解confdata数据类型。
confdata数据类型是用于描述机器人轴配置的数据类型,它由4个组件构成,它们分别是cf1、cf4、cf6、cfx。下面我们以六轴串联无平行杆型机器人为例,介绍各个组件的作用:
cf1 用于描述机器人轴1所处的象限。象限0为从零位开始正向旋转的第一个四分之一圈,即0° 到90°;象限1为第二个四分之一圈,即90°到180°,以此类推。象限-1 为0°到(-90°)的四分之一圈,以此类推。
2)cf4 用于描述机器人轴4所处的象限。3)cf6 用于描述机器人轴6所处的象限。
4)cfx 用于描述机器人腕中心相对于轴1的轴线位置关系、腕中心相对于下臂轴线的位置关系以及轴5的关节角度。换而言之cfx组件描述了机器人姿态与腕奇异点、臂奇异点、附加奇异点的相对位置关系,它的取值范围是0-7
腕中心是指,轴4、轴5、轴6三个轴线的交汇点。下臂轴线是指轴2、轴3旋转中心点的连线。对于6轴串联机器人配置监督将检查第1、4和6轴是否不会移动180度以上,且该有序移动无需更改cfx。当机器人往目标点移动的过程中,如果触犯轴配置监督条件,机器人控制系统将发出轴配置错误的报警。
在文章的最后,给大家留一道思考题。对于下图中机器人所示姿态,cfx的值应该是多少?
欢迎大家写下该道思考题的答案,以便让作者了解到是否有给大家讲清楚什么叫做轴配置。您的答案,决定了本专题下一篇文章的内容!
欢迎大家在公众号留言,写下该道思考题的答案,以便让作者了解到是否有给大家讲清楚什么叫做轴配置。您的答案,决定了本专题下一篇文章的内容!