r

以固定频率执行循环

描述

r对象使用RATECONTROL.(机器人系统工具箱)超级类以继承其大部分属性和方法。主要区别是RATECONTROL.使用ROS节点作为时间信息的源。因此,它可以使用ROS仿真或壁钟时间(见有效时间财产)。

如果罗斯尼特在Matlab创建一个ROS大师®,全局节点使用挂钟时间。

表现的r对象和维护的能力挺好的值取决于ROS中的时钟信息的发布。

小费

操作系统的调度解决和其他系统活动的级别可能会影响速率执行精度。结果,用于执行MATLAB代码的准确速率定时限制为100Hz。为了提高性能和执行速度,使用代码生成。

创建

描述

例子

速度= rosrate(挺好的创造一个速度对象,使您能够以固定频率执行循环,挺好的。时间源链接到全局ROS节点的时间源,这要求您使用的使用MATLAB与ROS网络罗斯尼特

例子

速度= ros.rate(节点挺好的创造一个速度以固定速率运行循环的对象基于链接到指定的ROS节点的时间源,节点

特性

展开全部

所需的循环执行速率,指定为赫兹的标量。使用时等待,循环运行每个挺好的秒,除非循环需要更长时间。然后它基于指定的循环开始超支

执行之间的所需时间段,指定为标量以秒为单位。此属性等于逆挺好的

自建造或重置以来经过的时间,指定为标量以秒为单位。

过去两个电话之间的经过时间等待,指定为标量。默认,坚定设定为直到等待是第一次调用。在第一个电话之后,坚定等于总计

处理溢出的方法,指定为以下字符向量之一:

  • '降低'- 等待直到下一个时间间隔等于多个肯定的

  • '滑'- 立即再次执行循环

每个代码部分都会调用等待(机器人系统工具箱)在执行结束时。

指示器如果使用仿真或挂钟时间,则返回真的或者错误的。如果真的, 这速度对象是使用ROS仿真时间来调节循环执行速率。

对象功能

等待 暂停代码执行以实现所需的执行率
统计数据 过去执行期的统计数据
重启 重启速度目的

例子

全部收缩

初始化ROS主设备和节点。

罗斯尼特
推出ROS核心............................................在1.3316秒内完成。初始化ROS Master网上http://192.168.0.10:56836。使用nodeUri初始化全局节点/ matlab_global_node_46582 http:// bat1002808glnxa64:35429 /

创建一个以1 Hz运行的速率对象。

r = rosrate(1);

启动循环打印迭代和时间。用等待暂停循环直到下一个时间间隔。重启R.在循环执行之前。请注意,每次迭代以1秒钟间隔执行。

重置(r)为了i = 1:10时间= r.totalelapeTime;fprintf('迭代:%d  - 经过的时间:%f \ n',我,时间)等待(r);结尾
迭代:1  - 经过1  -  0.007608迭代:2  - 时间经过:1.002181迭代:3  - 经过3次迭代:4  - 经过4  - 时间:3.002135迭代:5  - 经过3.003518迭代:6  - 时间:5.001983迭代:5.001983迭代:5.001983迭代:5.001983迭代:5.001983迭代:5.001983迭代:7  - 经过时间:6.000224迭代:8  - 经过8次迭代:7.000248迭代:9  - 经过9次迭代:8.000664迭代:10  - 经过10  - 时间:9.001044

关闭ROS网络。

Rosshutdown.
使用nodeuri关闭全局节点/ matlab_global_node_46582 http:// bat1002808glnxa64:35429 /关闭ros master http://192.168.0.10:56836。.............

初始化ROS主设备和节点。

罗斯尼特
推出ROS核心........................................................在1.9565秒内完成。初始化ROS Master网上 -  0.10.0:53778。使用nodeuri初始化全局节点/ matlab_global_node_73584 http:// bat1002808glnxa64:45715 /
node = ros.node('/ testtime');
使用主URI http:// localhost:53778从全局节点连接到ROS主机。

创建一个ros.rate.在20 Hz运行的对象。

r = ros.rate(节点,20);

重置对象以重新启动计时器并运行循环30次迭代。在呼叫之前插入要在循环中运行的代码等待

重置(r)为了我= 1:30%用户代码在这里。等待(r);结尾

关闭ROS节点。

Rosshutdown.
使用nodeuri关闭全局节点/ matlab_global_node_73584 http:// bat1002808glnxa64:45715 /关闭ros master http://192.168.0.10:53778。.........

也可以看看

|(机器人系统工具箱)

在R2019B中介绍