主要内容

rostime

访问ROS时间功能

描述

一个活性氧时间消息表示以秒和纳秒为单位的时间实例。这个时间可以基于您的系统时间、ROS模拟时间或任意时间。

创建

描述

时间= rostime (totalSecs初始化秒和纳秒的时间值totalSecs,它将时间以秒为单位表示为浮点数。

请注意

在未来的版本中,ROS工具箱ROS消息将使用消息结构而不是对象。

要使用消息结构,请设置“DataFormat”的名称-值参数“结构”.有关更多信息,请参见ROS消息结构

时间= rostime (nsecs分别初始化秒和纳秒的时间值。两个输入都必须是整数。的大值nsecs自动包装剩余的添加到

时间= rostime(“现在”)返回当前ROS时间。如果use_sim_timeROS参数设置为真正的,rostime对象上发布的模拟时间时钟的话题。否则,该函数将返回计算机的系统时间。的时间是ROS时间对象。如果没有给出输出参数,则将当前时间(以秒为单位)打印到屏幕上。

rostime可用于时间戳消息或测量ROS网络中的时间。

例子

时间issimtime= rostime(“现在”)也返回一个表示if的布尔值时间在模拟时间(真正的)或系统时间().

例子

时间= rostime(“现在”、“系统”)总是返回您的计算机的系统时间,即使ROS在时钟的话题。如果没有给出输出参数,则将系统时间(以秒为单位)打印到屏幕上。

ROS中的系统时间遵循UNIX或POSIX时间标准。POSIX时间定义为自1970年1月1日00:00:00协调世界时(UTC)以来经过的时间,不包括闰秒。

例子

时间= rostime (___“DataFormat”,“结构”)使用消息结构而不是具有以前语法中的任何参数的对象。有关更多信息,请参见ROS消息结构

属性

全部展开

总时间,指定为浮点标量。整数部分设置为证券交易委员会属性,其余部分应用于Nsec的属性时间对象。

整秒,指定为正整数。

请注意

的最大值和最小值(0, 4294967294)

纳秒,指定为正整数。如果这个值大于或等于109,然后对值进行换行,并将余数添加到的值中证券交易委员会

消息格式,指定为“对象”“结构”.必须在创建时使用名称-值输入设置此属性。有关更多信息,请参见ROS消息结构

例子

全部折叠

连接ROS网络。

rosinit
启动ROS Core…0.4342秒。在http://172.29.200.150:54190上初始化ROS master。使用NodeURI http://dcc396515glnxa64:42291/和MasterURI http://localhost:54190初始化全局节点/matlab_global_node_28087。

获取当前ROS时间作为ROS消息结构。您还可以通过获取issim输出。

[t,issim] = rostime(“现在”“DataFormat”“结构”
t =带有字段的结构:Sec: 1661935776 Nsec: 723713073
issim =逻辑0

关闭ROS网络。

rosshutdown
使用NodeURI http://dcc396515glnxa64:42291/和MasterURI http://localhost:54190关闭全局节点/matlab_global_node_28087。在http://172.29.200.150:54190上关闭ROS master。

初始化ROS网络

rosinit
启动ROS Core…0.38155秒完成。在http://172.29.217.11:57282上初始化ROS master。使用NodeURI http://dcc083455glnxa64:39977/和MasterURI http://localhost:57282初始化全局节点/matlab_global_node_64660。

使用结构创建戳记ROS消息。指定头。邮票属性设置为当前系统时间。

点= rosmessage(“geometry_msgs / PointStamped”“DataFormat”“结构”);point.Header.Stamp = rostime(“现在”“系统”“DataFormat”“结构”);

关闭ROS网络。

rosshutdown
使用NodeURI http://dcc083455glnxa64:39977/和MasterURI http://localhost:57282关闭全局节点/matlab_global_node_64660。在http://172.29.217.11:57282上关闭ROS master。

这个例子展示了如何将当前ROS时间转换为MATLAB®标准时间。ROS Time对象首先以秒为单位转换为double,然后转换为指定的MATLAB时间。

建立ROS网络,将ROS时间以结构消息的形式存储。

rosinit
启动ROS Core…0.4972秒。在http://172.29.205.21:52169上初始化ROS master。使用NodeURI http://dcc604401glnxa64:36137/和MasterURI http://localhost:52169初始化全局节点/matlab_global_node_81821。
T = rostime(“现在”“DataFormat”“结构”);

转换ROS时间为双使用函数,并将时间设置为指定的MATLAB格式,datetime

时间= datetime(t。Sec + 10^-9*t。Nsec,“ConvertFrom”“posixtime”
时间=datetime31日- 8月- 2022 08:49:25

关闭ROS网络。

rosshutdown
使用NodeURI http://dcc604401glnxa64:36137/和MasterURI http://localhost:52169关闭全局节点/matlab_global_node_81821。在http://172.29.205.21:52169上关闭ROS master。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

在R2019b中引入

全部展开

另请参阅

|