exponenta event banner

rosinit

Подключение к сети ROS

Описание

пример

rosinit запускает глобальный узел ROS с именем MATLAB ® по умолчанию и пытается подключиться к ведущему узлу ROS, запущенному наlocalhost и порт 11311. Если глобальный узел ROS не может подключиться к ведущему узлу ROS, rosinit также запускает ядро ROS в MATLAB, которое состоит из хозяина ROS, сервера параметров ROS и узла регистрации rosout.

Примечание

При первом подключении к сети ROS необходимо установить и установить Python 2.7. Для проверки версии Python ® в MATLAB используйте pyenv функция. Для получения дополнительной информации см. Системные требования ROS.

пример

rosinit(hostname) пытается подключиться к хозяину ROS по имени хоста или IP-адресу, указанному hostname. Этот синтаксис использует 11311 в качестве номера порта по умолчанию.

rosinit(hostname,port) пытается подключиться к имени узла или IP-адресу, указанному hostname и номер порта, указанный port.

rosinit(URI) пытается подключиться к хозяину ROS по данному идентификатору ресурса, URI, например, "http://192.168.1.1:11311".

пример

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

Используя rosinit является предпосылкой для большинства задач, связанных с АФК в MATLAB, поскольку:

  • Для связи с сетью ROS требуется узел ROS, подключенный к ведущему узлу ROS.

  • По умолчанию функции ROS в MATLAB работают на глобальном узле ROS или на объектах, зависящих от глобального узла ROS.

Например, после создания глобального узла ROS с rosinit, вы можете подписаться на раздел в глобальном узле ROS. Когда другой узел в сети ROS публикует сообщения по этой теме, глобальный узел ROS принимает сообщения.

Если глобальный узел ROS уже существует, то rosinit перезапускает глобальный узел ROS на основе нового набора аргументов.

Для более продвинутых сетей ROS возможно подключение к нескольким узлам ROS или ведущим узлам с помощью Node объект.

Примеры

свернуть все

rosinit
Launching ROS Core...
Done in 0.7074 seconds.
Initializing ROS master on http://192.168.0.10:51872.
Initializing global node /matlab_global_node_55343 with NodeURI http://bat6315glnxa64:33479/

Завершив работу, отключите сеть ROS.

rosshutdown
Shutting down global node /matlab_global_node_55343 with NodeURI http://bat6315glnxa64:33479/
Shutting down ROS master on http://192.168.0.10:51872.
rosinit('192.168.17.128')
Initializing global node /matlab_global_node_57409 with NodeURI http://192.168.17.1:57782/

Завершите работу сети ROS.

rosshutdown
Shutting down global node /matlab_global_node_57409 with NodeURI http://192.168.17.1:57782/
rosinit('192.168.17.128', 'NodeHost','192.168.17.1','NodeName','/test_node')
Initializing global node /test_node with NodeURI http://192.168.17.1:57633/

Завершите работу сети ROS.

rosshutdown
Shutting down global node /test_node with NodeURI http://192.168.17.1:57633/

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

свернуть все

Имя хоста или IP-адрес, указанный как строковый скалярный или символьный вектор.

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

URI для хозяина ROS, заданный как строковый скалярный или символьный вектор. Стандартный формат для URI: http://ipaddress:port или http://hostname:port

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

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

Пример: "NodeHost","192.168.1.1"

Имя хоста или IP-адрес, под которым узел объявляет себя сети ROS, указанный как пара, разделенная запятыми, состоящая из "NodeHost" и вектор символов.

Пример: "comp-home"

Глобальное имя узла, указанное как пара, разделенная запятыми, состоящая из "NodeName" и вектор символов. Узел, созданный с помощью rosinit зарегистрирован в сети ROS с таким именем.

Пример: "NodeName","/test_node"

Представлен в R2019b