主要内容

生成代码以手动部署ROS节点金宝app

此示例显示了如何从Simulink生成C ++代码金宝app®模型要部署为独立ROS节点。代码在您的计算机上生成,必须手动传输到目标ROS设备。对于生成代码,不需要与硬件连接。有关ROS节点的自动部署,请参阅从Simulink®生成独立ROS节点金宝app

先决条件

  • 这个例子需要金宝appSimulink Coder™和嵌入式编码器™。

  • 具有ROS的Ubuntu Linux系统是构建和运行生成的C ++代码所必需的。您可以使用自己的Ubuntu ROS系统,或者您可以使用用于ROS Toolbox™示例的Linux虚拟机。看开始凉亭和模拟的火炬有关如何安装和使用虚拟机的说明。

  • 点评审查反馈控制ROS的机器人示例,详细介绍了代码正在生成的Simulink模型。金宝app

配置代码生成模型

配置模型以生成使用的独立ROS节点的C ++代码配置参数。这里使用的模型是引入的比例控制器反馈控制ROS的机器人例子。

打开比例控制器模型。

编辑RobotrosFeedbackControlExample.

将整个模型复制到新的空白Simulink模型。金宝app

删除仿真速率控制块。

在“应用”选项卡上控制系统,点击机器人操作系统(ROS)

机器人操作系统(ROS)对话框打开,选择机器人操作系统(ROS)从这一点来ROS网络下拉。这打开了罗斯ToolStrip中的选项卡显示指定的ROS网络连接部分。

准备部分罗斯选项卡,单击硬件设置要打开“模型配置参数”对话框。

硬件板设置部分包含特定于生成的ROS包的设置,例如包含在内的信息package.xml.文件。改变维护者名称到目前为止ROS示例用户然后点击好的

求解器窗格的配置参数对话框,确保type设置为固定步骤,这求解器设置为Ode3(Bogacki-Shampine)固定阶梯设置为0.05。在生成的代码中,固定步长定义用于模型更新循环的实际时间步骤。看执行模型生成的代码(金宝appSimulink编码器)有关更多信息。

代码生成窗格,确保可变尺寸信号已启用。

点击好的关闭配置参数对话框。保存模型RobotController.slx.

配置代码生成的构建选项

配置模型后,必须为目标硬件指定构建选项,并设置文件夹或构建生成的代码。

点击部署根据罗斯标签。然后是部署,点击构建模型这一设置可确保为ROS节点生成代码,而无需将其构建在外部ROS设备上。

生成并部署代码

在Matlab开始一个ROS主人®。此ROS主机用于代码生成步骤的Simulink使用。金宝app

在MATLAB命令窗口类型中:

罗斯尼特

将当前文件夹设置为可写目录。此文件夹是在构建模型时生成代码的位置。

根据C代码选项卡,单击生成代码或者按Ctrl + B.启动模型的代码生成。

构建完成后,将写入两个新文件。

  • RobotController.Tgz.- 包含C ++代码的存档

  • build_ros_model.sh.- 用于提取和构建C ++代码的shell脚本

手动将两个文件传输到目标机器。如果您使用的连接到ROS设备Rosdevice.,您可以使用文件发送文件putfile.。否则,此步骤假定您正在使用用于机器人系统工具箱™示例的Linux虚拟机。虚拟机配置为接受SSH和SCP连接。如果您使用自己的Linux系统,请咨询系统管理员以获得安全的方式来传输文件。

确保您的主机系统(与您的系统RobotController.Tgz.build_ros_model.sh.文件)有一个SCP客户端。适用于Windows.®系统,下一步假设腻子SCP客户端(pcsp.exe.)安装了。

使用SCP将文件传输到Linux虚拟机上的用户主任。用户名是用户和密码是密码。替换使用您的虚拟机IP地址。

  • Windows主机系统:

    pscp.exe robotcontroller.tgz build_ros_model.sh用户@ 
  • Linux或者麦克斯主机系统:

    scp robotcontroller.tgz build_ros_model.sh用户@ 

build_ros_model.sh.文件不具体到此模型。只需要为多个模型传输一次。

在Linux系统上,执行以下命令以创建Catkin工作区。您可以使用现有的Catkin工作区。

mkdir -p〜/ catkin_ws_金宝appsimulink / src cd〜/ catkin_ws_simulink / src catkin_init_workspace

解压缩并在Linux中使用以下命令构建节点。替换与您的Catkin工作区的道路。

CD〜./build_ros_model.sh robotcontroller.tgz 

如果这不起作用,请确保build_ros_model.sh.通过输入以下命令设置为可执行文件。

chmod + x build_ros_model.sh

生成的源代码在下面〜/ catkin_ws金宝app_simulink / src / robotcontroller /。审查内容package.xml.文件。验证是否使用以下内容创建了节点可执行文件:

文件〜/ catkin_ws_si金宝appmulink / devel / lib / grobotController / RobotController_node

如果可执行文件已成功创建,则该命令列出了有关该文件的信息。

该模型现在可以在设备上作为独立ROS节点运行。

可选:然后,您可以使用此命令运行节点。替换与您的Catkin工作区的道路。

〜/  / devel / lib / cobotController / RobotController_node

相关主题