plot

Отобразите лазер или чтения сканов лидара

Описание

пример

plot(scanMsg) строит лазерные показания скана, заданные во входе LaserScan объектное сообщение. Оси автоматически масштабируются к максимальной области значений что лазерная поддержка сканеров.

пример

plot(scanObj) строит чтения сканов лидара, заданные в scanObj.

пример

plot(___,Name,Value) предоставляет дополнительные возможности, заданные одним или несколькими Name,Value парные аргументы.

linehandle = plot(___) возвращает вектор-столбец серийных указателей линии, с помощью любого из аргументов от предыдущих синтаксисов. Используйте linehandle изменить свойства ряда линии после того, как это создается.

При графическом выводе сообщений скана лазера ROS MATLAB® следует стандартному соглашению ROS для ориентации оси. Это соглашение утверждает, что положительный x является прямым, положительный y оставляют, и положительный z произошел. Для получения дополнительной информации смотрите Ориентацию Оси на Wiki ROS.

Примеры

свернуть все

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

rosinit('192.168.17.129')
Initializing global node /matlab_global_node_90279 with NodeURI http://192.168.17.1:50889/
sub = rossubscriber('/scan');
scan = receive(sub);

Постройте лазерный скан.

plot(scan)

Сеть Shutdown ROS.

rosshutdown
Shutting down global node /matlab_global_node_90279 with NodeURI http://192.168.17.1:50889/

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

rosinit('192.168.17.129')
Initializing global node /matlab_global_node_31712 with NodeURI http://192.168.17.1:51463/
sub = rossubscriber('/scan');
scan = receive(sub);

Постройте лазерный скан, указывающий максимальный диапазон.

plot(scan,'MaximumRange',6)

Сеть Shutdown ROS.

rosshutdown
Shutting down global node /matlab_global_node_31712 with NodeURI http://192.168.17.1:51463/

Задайте данные о лидаре как векторы из областей значений и углов. Эти значения включают показания за пределами области значений датчика.

x = linspace(-2,2);
ranges = abs((1.5).*x.^2 + 5);
ranges(45:55) = 3.5;
angles = linspace(-pi/2,pi/2,numel(ranges));

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

scan = lidarScan(ranges,angles);
plot(scan)

Удалите недопустимые точки на основе указанного минимального и максимального диапазона.

minRange = 0.1;
maxRange = 7;
scan2 = removeInvalidData(scan,'RangeLimits',[minRange maxRange]);
hold on
plot(scan2)
legend('All Points','Valid Points')

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

свернуть все

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

Чтения сканов лидара в виде lidarScan Объект (Navigation Toolbox).

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

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

Пример: "MaximumRange",5

Родительский элемент осей в виде разделенной запятой пары, состоящей из "Parent" и объект осей, в котором чертится лазерный скан. По умолчанию лазерный скан построен в в настоящее время активных осях.

Область значений лазерного скана в виде разделенной запятой пары, состоящей из "MaximumRange" и скаляр. Когда вы задаете этот аргумент пары "имя-значение", минимальный и максимальный x - ось и максимальный y - пределы по осям установлены на основе заданного значения. Минимальный y - предел по осям автоматически определяется вводным углом лазерного сканера.

Эта пара "имя-значение" работает только когда вы вход scanMsg как лазерный скан.

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

свернуть все

Один или несколько объектов линии на графике, возвращенных как скаляр или вектор. Это уникальные идентификаторы, которые можно использовать, чтобы запросить и изменить свойства определенной линии на графике.

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

Введенный в R2019b