生成代码手动部署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.tgz
和build_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