开放型机器人控制器4-(设置与数据获取)

一 概述

在本系列文章的前面一节,已经讲述了常见的运动指令,这篇我们来介绍一下设置类指令和调试数据获取指令。这在控制器使用过程中,特别是调试分析的时候很有用。

二 指令详解

2.1 S01

设置工具坐标中心加速度,例如

S01 5000 2 3 4 5 6

这条指令设置加速度为50mm/s2

2.2 S02

设置减速度,含义与方式参考S01

2.3 S03

设置工具中心点最大速度

S03 2000 2 3 4 5 6

设置最大速度为20mm/s

2.4 S04

进入CSP模式,即使在仿真模式下,也要执行这个指令

2.5 S05

清空调试队列,并设置采样间隔,默认为1,就是每个控制周期的数据都要保留

2.6 Q03

按照一定格式打印调试数据,数据为:

控制器tick值,TCP中心位置x,y,z,关节1位置,关节2位置,关节3位置,关节4位置

三 运行实例

现在以直线和圆弧的图形为例,描述一下数据的设置和获取过程,运行控制器后,串口打印提示信息:

welcome to Bant Robot control: ver=15,bdtime=20240419

please select the mode S07 1 for simulation,S07 0 for run with motor

我们先进行仿真运行,因此发送

S07 1

串口显示

exec_S07 init ecat sim_mode=1

Bant_hardware init start

you choose sim mode

然后让系统进入CSP模式,发送

S04

串口提示

exec_S04 enter CSP mode

先采用默认的设置值来运行指令,发送

M02 5000 0 0 0 0 0

该指令让TCP运行到(50mm,0)的位置

运行过程中,可以通过发送

Q02

来获取机器人状态

robot_state = RO_STAND_STILL

sim_mode = 1

tick = 461

path=50.000,0.000,0.000,-0.000

joint=4500.000,0.000,0.000,0.000

上面显示机器人目前已经停止,并且位置已经到位。

确认机器人到位后,发送

Q03

串口开始打印一系列数据,数据一共有1000组,如果超过了,会循环覆盖,根据第一列来区分时间。

例如:

1,0.000000,0.000000,0.000000,0.000000,0.000000

2,0.000000,0.000000,0.000000,0.000000,0.000000

3,0.000017,0.000000,0.000000,0.001500,0.000000

4,0.000133,0.000000,0.000000,0.012000,0.000000

5,0.000450,0.000000,0.000000,0.040500,0.000000

6,0.001067,0.000000,0.000000,0.096000,0.000000

7,0.002083,0.000000,0.000000,0.187500,0.000000

8,0.003600,0.000000,0.000000,0.324000,0.000000

9,0.005717,0.000000,0.000000,0.514500,0.000000

10,0.008533,0.000000,0.000000,0.768000,0.000000

11,0.012150,0.000000,0.000000,1.093500,0.000000

12,0.016667,0.000000,0.000000,1.500000,0.000000

13,0.022167,0.000000,0.000000,1.995000,0.000000

14,0.028667,0.000000,0.000000,2.580000,0.000000

15,0.036167,0.000000,0.000000,3.255000,0.000000

16,0.044667,0.000000,0.000000,4.020000,0.000000

17,0.054167,0.000000,0.000000,4.875000,0.000000

18,0.064667,0.000000,0.000000,5.820000,0.000000

19,0.076167,0.000000,0.000000,6.855000,0.000000

20,0.088667,0.000000,0.000000,7.980000,0.000000

21,0.102167,0.000000,0.000000,9.195000,0.000000

22,0.116667,0.000000,0.000000,10.500000,0.000000

23,0.132167,0.000000,0.000000,11.895000,0.000000

把这些数据复制到合适的文件中,例如excel表格,就能绘制图形了

例如绘制XY位置和速度曲线如下

图1 直线运行XY图

                                                                图2 直线运行速度图

我们继续来测试一个圆弧运动,接着上面一个直线运行的终点

M07 -5000 0 0 0 -5000 0

这个指令绘制一个270度的圆弧

这个时候,如果发现运动过长导致数据不完整,就可以考虑采用扩大采样周期来进行,例如使用S05指令,发送

S05 2 0 0 0 0 0

串口反馈

exec_S05 clear queue cnt=2

表明每两个控制周期记录一次

我们依次发送

M02 5000 0 0 0 0 0

M07 -5000 0 0 0 -5000 0

然后获取数据

图3 圆弧插补

图4 圆弧插补速度

这样下来,就能提前预知机器人运行情况了,下面改变一下速度试试,例如把最大速度提升到50,发送

S03 5000 0 0 0 0 0

S01 3000 2 3 4 5 6

S02 3000 2 3 4 5 6

图5 提升速度加速度后的速度图形

从图中可以看出最大速度提升到了50mm/s

好了,本次测试就介绍到这里,欢迎大家一起交流完善。

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值