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 объект.

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

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

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

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

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

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

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

свернуть все

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

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

Введенный в R2019b