MATLAB与ROS联合仿真——Simulink生成ROS代码

       当我们用simulink完成控制程序的搭建后,我们期望下一次可以直接对ROS进行控制,而不是每次都需要启动matlab和simulink,因此我们可以使用simulink的代码生成器,生成ROS代码

1、生成代码前需要进行如下的设置

   (1)按下图所示,打开设置,选择Hardware implementation,然后选择Robot….(ROS)

MATLAB与ROS联合仿真——Simulink生成ROS代码_第1张图片

(2)按下图所示,检查Solver中的Type是否为Fixed-step

MATLAB与ROS联合仿真——Simulink生成ROS代码_第2张图片

(3)保存一下,准备工作完成

2、若程序内容中涉及一些需要从ROS中读取的内容,比如说Current Time模块,则需要在生成代码前先建立起ROS与MATLAB的通讯(方法前面的文档已经介绍过了),否则可能报错

3、按下图所示,点击Build Model

MATLAB与ROS联合仿真——Simulink生成ROS代码_第3张图片

等待一会儿,报告会显示已经成功生成代码,如下所示:

MATLAB与ROS联合仿真——Simulink生成ROS代码_第4张图片

4、Simulink生成一个sh文件和一个tgz文件

5、将这两个文件复制到虚拟机中(可新建一个文件夹存放)

MATLAB与ROS联合仿真——Simulink生成ROS代码_第5张图片

 6、在这两个文件所在的文件夹下,右键在终端打开,输入以下指令

./build_ros_model.sh QUST_ROS_Test_Code_1.tgz ~/catkin_ws/

     其中QUST_ROS_Test_Code_1.tgz是生成的tgz文件的名字,成功后会显示如下界面:

MATLAB与ROS联合仿真——Simulink生成ROS代码_第6张图片

7、检查一下在如图所示的路径中(最后一级文件夹名字跟你的tgz文件名是相同的),会有一个可执行的文件

MATLAB与ROS联合仿真——Simulink生成ROS代码_第7张图片

8、由于我们在工作空间内添加了新的内容,因此需要执行下面的指令去编译工作空间,并设置环境变量

cd ~/catkin_ws/

catkin_make

source ~/catkin_ws/devel/setup.bash

9、在一个新的终端中输入以下指令运行该节点

source ~/catkin_ws/devel/setup.bash
rosrun qust_ros_test_code_1 qust_ros_test_code_1_node

(qust_ros_test_code_1是最后一级文件夹名字,qust_ros_test_code_ 1_node是该文件的名字)

显示如下界面说明该节点已经成功运行了

MATLAB与ROS联合仿真——Simulink生成ROS代码_第8张图片

你可能感兴趣的:(ROS与MATLAB联合仿真,Ubuntu和ROS,matlab,机器人,ROS,MATLAB,Simulink,联合仿真,C++)