主要内容

生成代码以手动部署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网络落下。这打开了ROS.ToolStrip中的选项卡显示指定的ROS网络连接部分。

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

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

在里面求解器窗格的配置参数对话框,确保类型被设定为固定步骤, 这求解器被设定为ODE3(Bogacki-Shampine)固定步长被设定为0.05。在生成的代码中,固定步骤大小定义了用于模型更新循环的实际时间步骤。看执行从模型生成的代码(金宝appSimulink编码器)想要查询更多的信息。

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

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

配置代码生成的构建选项

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

点击部署在下面ROS.标签。然后是部署, 点击构建模型这一设置可确保为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 / robotcontroller / robotcontroller_node

相关话题