exponenta event banner

rosduration

Создание объекта длительности ROS

Описание

dur = rosduration возвращает объект длительности ROS по умолчанию. Свойства секунд и наносекунд устанавливаются равными 0.

Примечание

В следующем выпуске Панель инструментов ROS будет использовать структуры сообщений вместо объектов для сообщений ROS.

Чтобы использовать структуры сообщений сейчас, установите "DataFormat" аргумент «имя-значение» для "struct". Для получения дополнительной информации см. Структуры сообщений ROS.

пример

dur = rosduration(totalSecs) инициализирует значения времени для секунд и наносекунд на основе totalSecs, которое представляет время в секундах как число с плавающей запятой.

dur = rosduration(secs,nsecs) инициализирует значения времени для секунд и наносекунд по отдельности. Оба входа должны быть целыми числами. Большие значения для nsecs автоматически переносятся, а остаток добавляется в secs.

dur = rosduration (___,"DataFormat","struct") использует структуры сообщений вместо объектов с любым из аргументов в предыдущих синтаксисах. Для получения дополнительной информации см. Структуры сообщений ROS.

Примеры

свернуть все

Создание ROS Duration объекты, добавление и вычитание и сравнение объектов длительности. Можно также добавить объекты длительности в ROS Time объекты для получения другого Time объект.

Создайте длительность с использованием секунд и наносекунд.

dur1 = rosduration(100,2000000)
dur1 = 
  ROS Duration with properties:

     Sec: 100
    Nsec: 2000000

Создайте длительность, используя значение с плавающей запятой. Это задает секунды, используя целую часть и наносекунды с остатком.

dur2 = rosduration(20.5)
dur2 = 
  ROS Duration with properties:

     Sec: 20
    Nsec: 500000000

Сложите две длительности, чтобы получить одну длительность.

dur3 = dur1 + dur2
dur3 = 
  ROS Duration with properties:

     Sec: 120
    Nsec: 502000000

Вычитание длительностей и получение отрицательной длительности. Можно также инициализировать длительности с отрицательными значениями.

dur4 = dur2 - dur1
dur4 = 
  ROS Duration with properties:

     Sec: -80
    Nsec: 498000000

dur5 = rosduration(-1,2000000)
dur5 = 
  ROS Duration with properties:

     Sec: -1
    Nsec: 2000000

Сравнение длительностей.

dur1 > dur2
ans = logical
   1

Инициализируйте сеть ROS.

rosinit
Launching ROS Core...
Done in 0.73575 seconds.
Initializing ROS master on http://192.168.0.10:55713.
Initializing global node /matlab_global_node_13525 with NodeURI http://bat6315glnxa64:37037/

Добавление длительности к ROS Time объект.

time = rostime('now','system')
time = 
  ROS Time with properties:

     Sec: 1.6222e+09
    Nsec: 853423634

timeFuture = time + dur3
timeFuture = 
  ROS Time with properties:

     Sec: 1.6222e+09
    Nsec: 355423634

Завершите работу сети ROS.

rosshutdown
Shutting down global node /matlab_global_node_13525 with NodeURI http://bat6315glnxa64:37037/
Shutting down ROS master on http://192.168.0.10:55713.

Входные аргументы

свернуть все

Общее время, указанное как скаляр с плавающей запятой. Целочисленная часть имеет значение Sec с остатком, примененным к Nsec имущества Duration объект.

Целых секунд, указано как целое число. Это значение непосредственно устанавливается в значение Sec имущества Duration объект.

Примечание

Максимальное и минимальное значения для secs являются [-2147483648, 2147483647].

Наносекунды, указанное как положительное целое число. Это значение непосредственно устанавливается в значение NSec имущества Duration объект, если он не больше или равен 109. Затем значение переносится, и остатки добавляются к значению secs.

Выходные аргументы

свернуть все

Длительность, возвращенная в качестве ROS Duration объект или структура сообщений с полями Sec и NSec

Вопросы совместимости

развернуть все

Изменение поведения в будущем выпуске

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

|

Представлен в R2019b