文档

runNode

启动ROS节点

描述

例子

runNode (设备,modelName)开始ROS节点与部署模型金宝app®模型命名modelName。ROS节点必须部署在指定的柔荑花序工作区CatkinWorkspace属性的输入rosdevice对象,设备。默认情况下,节点连接到MATLAB的ROS的主人®连接到的吗device.DeviceAddress财产。

runNode (设备,modelName,masterURI)连接到指定的URI。

runNode (设备,modelName,masterURI,nodeHost)连接到指定的主URI和节点主机。广告的节点地址的主机名或IP地址nodeHost

例子

全部折叠

连接到远程ROS设备和ROS节点开始。运行ROS核心,ROS节点可以通过ROS网络通信。您可以运行和停止ROS核心或节点,并检查他们的状态使用rosdevice对象。

创建一个连接到一个ROS设备。指定地址,用户名和密码你的特定的ROS设备。设备已经包含可用的ROS节点可以运行使用runNode

ipaddress =“192.168.203.129”;d = rosdevice (ipaddress“用户”,“密码”);d。ROSFolder =' / opt / ros /靛蓝;d。CatkinWorkspace =“~ / catkin_ws_test”
d = rosdevice属性:DeviceAddress:“192.168.203.129”用户名:“用户”ROSFolder: / opt / ros /靛蓝的CatkinWorkspace:“~ / catkin_ws_test”AvailableNodes: {“robotcontroller”“robotcontroller2”}

ROS的核心。MATLAB®连接到ROS掌握使用rosinit。这个核心使您能够运行在活性氧ROS节点设备。

runCore (d) rosinit (d.DeviceAddress, 11311)
初始化全局节点/ matlab_global_node_84497 NodeURI http://192.168.203.1:56034

检查连接活性氧ROS节点可用设备。从模型中生成这些节点列出®模型的过程金宝app开始与ROS在仿真软件®金宝app的例子。

d.AvailableNodes
ans =1×2单元阵列{' robotcontroller} {' robotcontroller2 '}

运行一个ROS节点和指定的节点名称。检查节点运行。

runNode (d,“RobotController”)运行= isNodeRunning (d,“RobotController”)
运行=逻辑1

停止ROS的节点。断开与ROS的网络。停止ROS的核心。

stopNode (d,“RobotController”)rosshutdown
关闭全局节点/ matlab_global_node_84497 NodeURI http://192.168.203.1:56034
stopCore (d)

运行多个活性氧ROS设备连接节点。ROS节点可以使用仿真软件生成®模型ROS网络上执行不同的任务。金宝app然后将这些节点部署在ROS设备,可以独立运行的仿真软件®。金宝app

这个例子使用了两个不同的仿真软件模型,作为ROS部署节点。金宝app看到从模型生成一个独立的ROS节点®金宝app并按照说明来生成和部署ROS节点。这样做两次,名字“robotcontroller”“robotcontroller2”。的“robotcontroller”节点发送速度命令机器人导航到一个给定的点。的“robotcontroller2”节点使用相同的模型,但双打驱动机器人的线速度快。

创建一个连接到一个ROS设备。指定地址,用户名和密码你的特定的ROS设备。设备包含有关ROS的信息设备,包括可用的ROS节点可以运行使用runNode

ipaddress =“192.168.203.129”;d = rosdevice (ipaddress“用户”,“密码”)
d = rosdevice属性:DeviceAddress:“192.168.203.129”用户名:“用户”ROSFolder: / opt / ros /靛蓝的CatkinWorkspace:“~ / catkin_ws”AvailableNodes:{0×1细胞}
d。CatkinWorkspace =“~ / catkin_ws_test”
d = rosdevice属性:DeviceAddress:“192.168.203.129”用户名:“用户”ROSFolder: / opt / ros /靛蓝的CatkinWorkspace:“~ / catkin_ws_test”AvailableNodes: {“robotcontroller”“robotcontroller2”}

ROS的核心。ROS的核心是主,使你在活性氧ROS节点运行设备。MATLAB®连接到ROS掌握使用rosinit。对于这个示例,端口设置为11311。rosinit可以自动为您选择一个端口没有指定这个输入。

runCore (d) rosinit (d.DeviceAddress, 11311)
初始化全局节点/ matlab_global_node_75689 NodeURI http://192.168.203.1:58900

检查连接活性氧ROS节点可用设备。从模型中生成节点列出在这个例子®模型的过程金宝app从模型生成一个独立的ROS节点®金宝app的例子。两个单独的节点生成,“robotcontroller”“robotcontroller2”,线速度分别设置为1和2的模型。

d.AvailableNodes
ans =1×2单元阵列{' robotcontroller} {' robotcontroller2 '}

启动机器人模拟器使用ExampleHelper金宝appSimulinkRobotROS。这个模拟器自动连接在活性氧ROS主设备。您将使用这个模拟器运行ROS节点和控制机器人。

sim = ExampleHelper金宝appSimulinkRobotROS;

ROS节点运行,指定节点名。的“robotcontroller”节点命令机器人到特定位置(10 [-10])。等着看机器人驱动器。

runNode (d,“robotcontroller”暂停(10)

复位机器人模拟器复位机器人的位置。或者,单击重置模拟。因为节点仍在运行,机器人继续回到特定的位置。停止发送命令,停止节点。

resetSimulation (sim.Simulator)暂停(5)

stopNode (d,“robotcontroller”)

运行“robotcontroller2”节点。这个模型驱动机器人的线速度的两倍。复位机器人的位置。等着看机器人驱动器。您应该会看到一个更广泛的把由于增加的速度。

runNode (d,“robotcontroller2”)resetSimulation (sim.Simulator)暂停(10)

关闭模拟器。停止ROS的节点。ROS的网络断开,停止ROS的核心。

关闭stopNode (d,“robotcontroller2”)rosshutdown
关闭全局节点/ matlab_global_node_75689 NodeURI http://192.168.203.1:58900
stopCore (d)

输入参数

全部折叠

ROS设备,指定为一个rosdevice对象。

部署仿真软件模型,名称指定为一个特征向量。金宝app如果模型名称是无效的,函数返回一个错误。

URI的ROS的主人,指定为一个特征向量。在启动时,节点连接到ROS大师用给定的URI。

主机名称的节点,指定为一个特征向量。节点使用这个主机名广告本身在ROS网络上其他人连接到它。

介绍了R2019b