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.83948 seconds.
Initializing ROS master on http://192.168.0.10:55849.
Initializing global node /matlab_global_node_85401 with NodeURI http://bat1071901glnxa64:43747/

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

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

     Sec: 1.6190e+09
    Nsec: 992580449

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

     Sec: 1.6190e+09
    Nsec: 494580449

Закройте сеть ROS.

rosshutdown
Shutting down global node /matlab_global_node_85401 with NodeURI http://bat1071901glnxa64:43747/
Shutting down ROS master on http://192.168.0.10:55849.

Входные параметры

свернуть все

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

Целые секунды в виде целого числа. Это значение непосредственно установлено к Sec свойство Duration объект.

Примечание

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

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

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

свернуть все

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

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

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

Изменение поведения в будущем релизе

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

|

Введенный в R2019b