rosduration

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

Описание

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

Примечание

В следующем релизе ROS Toolbox будет использовать структуры сообщений вместо объектов для сообщений 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++ с помощью Coder™ MATLAB ®

.

См. также

|

Введенный в R2019b