主要内容

生成代码手动部署ROS节点动态仿真模块

这个例子向您展示了如何从一个仿真软件生成c++代码®作为一个独立的ROS节点部署模型。生成的代码在您的计算机上,必须手动转移到目标ROS设备。没有硬件连接是生成代码所必需的。ROS的自动化部署节点,请参阅从模型生成一个独立的ROS节点

先决条件

  • 这个例子需要仿真软件编码器™和嵌入式编码™。

  • 一个Ubuntu®Linux®系统与ROS是必要的构建和运行生成的c++代码。您可以使用自己的Ubuntu ROS系统,或者您可以使用Linux虚拟机使用ROS工具箱的例子。看到从露台和模拟TurtleBot开始介绍如何安装和使用的虚拟机。

  • 检查反馈控制的ROS-Enabled机器人例子,详细介绍了仿真软件模型生成的代码。

为代码生成配置模型

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

打开比例控制器模型。

编辑robotROSFeedbackControlExample

整个模型复制到一个新的空白仿真软件模型。

删除仿真速度控制块。

仿真软件模型,发布命令速度使用构成的反馈和期望的位置输入比例控制器。

在应用程序选项卡下控制系统,点击机器人操作系统(ROS)

机器人操作系统(ROS)打开的对话框中,选择机器人操作系统(ROS)ROS网络下拉。这打开了ROS选项卡在将来发布显示指定的ROS网络连接部分。

准备下节ROS选项卡上,单击硬件设置打开模型配置参数对话框。

硬件板设置部分包含设置特定于ROS生成方案,如中所包含的信息package.xml文件。改变维护人员的名字ROS示例用户并点击好吧

解算器面板的配置参数对话框中,确保类型被设置为固定步,解算器被设置为ode3 (Bogacki-Shampine)固定的大小被设置为0.05。在生成的代码中,固定的大小定义了用于模型的实际时间步更新循环。看到执行从模型生成的代码(仿真软件编码器)为更多的信息。

代码生成窗格中,确保适应信号启用。

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

为代码生成配置构建选项

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

点击部署ROS选项卡。然后下部署,点击构建模型。这个设置确保代码生成的活性氧节点没有建筑在外部ROS设备。

生成和部署代码

开始在MATLAB ROS大师®。这ROS掌握仿真软件使用代码生成步骤。

在MATLAB命令窗口类型:

rosinit

将当前文件夹设置为可写目录。这个文件夹是生成代码将存储的位置当你构建的模型。

C代码选项卡上,单击生成代码或按Ctrl + B启动代码生成模型。

构建完成后,两个新文件被写入你的文件夹。

  • RobotController.tgz——一个包含c++代码归档

  • build_ros_model.sh——一个shell脚本中提取和构建的c++代码

工作目录中的文件构建完成后。

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

确保你的主机系统(系统RobotController.tgzbuild_ros_model.sh文件)有一个SCP客户机。对于Windows®系统,下一步假定腻子SCP客户机(pcsp.exe)安装。

使用SCP的文件转移到用户家里导演在Linux虚拟机。用户名是用户和密码是密码。取代< virtual_machine_ip >你的虚拟机的IP地址。

  • Windows主机系统:

    pscp。exe RobotController。tgz build_ros_model。sh user@ < virtual_machine_ip >:
  • Linux或macOS主机系统:

    scp RobotController。tgz build_ros_model。sh user@ < virtual_machine_ip >:

build_ros_model.sh文件不是特定于这个模型。它只需要一次传输多个模型。

在Linux系统上,执行下列命令来创建一个柔荑花序工作区。您可以使用现有的柔荑花序工作区。构建柔荑花序工作区。

mkdir - p ~ / catkin_ws_simulink / src cd ~ / catkin_ws_simulink / src catkin_init_workspace cd . .catkin_make

解压并构建节点在Linux中使用以下命令。取代< path_to_catkin_ws >通往你的柔荑花序工作区。如果节点使用自定义消息,您必须手动复制必要的自定义消息包< path_to_catkin_ws > /味精在构建节点之前的文件夹。

cd ~。/ build_ros_model。sh RobotController。tgz < path_to_catkin_ws >

如果不工作,确保build_ros_model.sh输入以下命令来设置为可执行的命令。

chmod + x build_ros_model.sh

生成的源代码~ / catkin_ws_simulink / src / robotcontroller /。审查的内容package.xml文件。验证节点创建可执行的使用:

文件~ / catkin_ws_simulink /猛击/ lib / robotcontroller / robotcontroller_node

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

这个模型现在已经准备好被在你的设备上运行作为一个独立的ROS节点。

可选:你可以使用这个命令运行的节点。取代< path_to_catkin_ws >通往你的柔荑花序工作区。

~ / < path_to_catkin_workspace > /猛击/ lib / robotcontroller / robotcontroller_node

相关的话题

Baidu
map