主要内容

从模型生成一个独立的ROS 2节点金宝app

这个例子向您展示了如何生成和建立一个独立的ROS 2节点从一个仿真软件®模型。金宝app你配置一个模型为一个独立的ROS生成c++代码2节点。然后,构建和运行ROS 2节点主机。

先决条件

为代码生成配置模型

配置一个模型为一个独立的ROS生成c++代码2节点。模型中引入的比例控制器反馈控制的ROS-Enabled机器人/ ROS 2的例子。

  • 打开机器人的反馈控制模型配置为ROS 2。另外,电话open_system (“robotControllerROS2”)

  • ROS选项卡,在准备,点击硬件设置。在硬件实现窗格中,硬件板设置部分包含设置特定的ROS生成2包,如信息包含在package.xml文件。改变维护人员的名字ROS 2例用户

  • 该模型需要大小可变的数组。要启用这个选项,检查适应信号代码生成>界面>软件环境

  • 解算器窗格中,确保解决者类型被设置为固定步,并设置固定的大小0.05。在生成的代码中,固定的大小定义实际的时间步,在几秒钟内,用于模型更新循环(见执行从模型生成的代码(金宝app仿真软件编码器))。它可以做得更小(例如,0.001或0.0001),但对于当前目的0.05就足够了。

  • 指定外部ROS包依赖关系:指定外部ROS 2包依赖关系的ROS生成2节点,指定适当的工具链选项。下的配置参数,代码生成>工具链设置,指定构建配置作为指定从下拉。然后,您可以指定需要包,包括目录、链接库,库路径定义了基于外部ROS 2包,你想结合生成的活性氧2节点。

  • 点击好吧

生成c++ ROS 2节点

在这个任务中,你为一个独立的ROS 2节点生成代码,并自动构建和运行它在主机电脑。

  • 在MATLAB®,改变当前文件夹到一个位置,你有写权限。

  • 模拟选项卡,在准备中,选择ROS工具箱> ROS网络

  • 设置域ID的活性氧(ROS 2) 2网络。这个示例使用域ID作为25。

  • 如果你是部署到本地设备,设置环境变量ROS_DOMAIN_ID使用价值25日setenv在MATLAB。

  • 设置活性氧ROS 2网络的中间件(ROS 2)。这个示例使用ROS中间件rmw_cyclonedds_cpp

  • 如果你是部署到本地设备,设置环境变量RMW_IMPLEMENTATIONrmw_cyclonedds_cpp,使用setenv在MATLAB。

  • ROS选项卡,从部署部分下拉,点击构建和运行。如果你得到任何关于总线类型不匹配的错误,关闭模式,清除所有变量从基MATLAB工作区,并重新打开模型。点击视图诊断模型的底部链接工具栏看到构建过程的输出。

代码生成完成后,ROS 2节点构建在当前工作目录开始自动运行同步的方式基于模型的采样时间。当运行在Windows®中,打开一个命令窗口。不关闭窗口,但使用Ctrl + C关闭ROS 2节点。

使用ros2节点列出所有正在运行的节点是ROS 2网络。robotControllerROS2应该显示的节点列表。

ros2 (“节点”,“列表”)
/ robotControllerROS2 ros_bridge

验证部署节点发布数据ROS 2的话题,/ cmd_vel控制模拟机器人的运动。

ros2 (“主题”,“列表”)
/时钟/ cmd_vel /露台/ link_states /露台/ model_states / imu / joint_states /奥多姆/ parameter_events / rosout / rosout_agg /扫描/特遣部队