readCartesian

Считайте лазерные области значений сканирования в Декартовых координатах

Синтаксис

cart = readCartesian(scan)
cart = readCartesian(___,Name,Value)
[angles,cart] = readCartesian(___)

Описание

пример

cart = readCartesian(scan) преобразовывает полярные измерения лазерного объекта сканирования, scan, в Декартовы координаты, cart. Эта функция использует метаданные в сообщении, таком как угловое разрешение и вводный угол лазерного сканера, чтобы выполнить преобразование. Недопустимые показания области значений, обычно представляемые как NaN, проигнорированы в этом преобразовании.

пример

cart = readCartesian(___,Name,Value) предоставляет дополнительные возможности, заданные одним или несколькими аргументами пары Name,Value. Имя должно находиться внутри одинарных кавычек (' '). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

[angles,cart] = readCartesian(___) возвращает углы сканирования, angles, которые сопоставлены с каждой Декартовой координатой. Углы измеряются против часовой стрелки вокруг положительного z - оси с нулевым углом вдоль x - ось. angles возвращен в радианах и перенесен к [–pi, pi] интервал.

Примеры

свернуть все

Соединитесь с сетью ROS. Подпишитесь на лазерную тему сканирования и получите сообщение.

rosinit('192.168.154.131')
sub = rossubscriber('/scan');
scan = receive(sub);
Initializing global node /matlab_global_node_60179 with NodeURI http://192.168.154.1:60889/

Считайте Декартовы точки из лазерного сканирования. Постройте лазерное сканирование.

cart = readCartesian(scan);
plot(cart(:,1),cart(:,2))

Сеть Shutdown ROS.

rosshutdown
Shutting down global node /matlab_global_node_60179 with NodeURI http://192.168.154.1:60889/

Соединитесь с сетью ROS. Подпишитесь на лазерную тему сканирования и получите сообщение.

rosinit('192.168.154.131')
sub = rossubscriber('/scan');
scan = receive(sub);
Initializing global node /matlab_global_node_98143 with NodeURI http://192.168.154.1:60989/

Считайте Декартовы точки из лазерного сканирования с указанными диапазонами. Постройте лазерное сканирование.

cart = readCartesian(scan,'RangeLimit',[0.5 6]);
plot(cart(:,1),cart(:,2))

Сеть Shutdown ROS.

rosshutdown
Shutting down global node /matlab_global_node_98143 with NodeURI http://192.168.154.1:60989/

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

свернуть все

Сообщение ROS 'sensor_msgs/LaserScan', заданное как указатель на объект LaserScan.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'RangeLimits',[-2 2]

Минимальная и максимальная область значений для сканирования в метрах, заданных как вектор [min max] с 2 элементами. Все области значений, меньшие, чем min или больше, чем max, проигнорированы во время преобразования в Декартовы координаты.

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

свернуть все

Декартовы координаты лазерного сканирования, возвращенного как n-by-2 матрица в метрах.

Углы сканирования для лазерных данных сканирования, возвращенных как n-by-1 матрица в радианах. Углы измеряются против часовой стрелки вокруг положительного z - оси с нулевым углом вдоль x - ось. angles возвращен в радианах и перенесен к [–pi, pi] интервал.

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

|

Представленный в R2015a