Simulink生成ROS代码详细攻略

前期准备

系统:Ubuntu 16.04 LTS
软件版本:ROS Kinetic、MATLAB 2018a linux版

查看本机IP

首先打开终端输入

ifconfig

可以查看Simulink生成ROS代码详细攻略_第1张图片

MATLAB与ROS建立通讯连接

在HOME文件夹下通过 ctrl+H 可以查看隐藏文件,找到 .bashrc文件
Simulink生成ROS代码详细攻略_第2张图片
打开 .bashrc文件,并在文件末端添加你的IP,然后保存退出。
例如

export ROS_IP=192.169.0.9

Simulink生成ROS代码详细攻略_第3张图片
现在在终端种运行roscore可以看到Simulink生成ROS代码详细攻略_第4张图片
然后打开你的matlab。
在命令行窗口输入
setenv(‘ROS_MASTER_URI’,‘http://192.168.0.9:11311’)
建立连接
然后继续输入rosinit,测试是否可以与Master主节点建立通讯,若通讯成功可以看到:在这里插入图片描述
为了方便测试,仿真使用ROS自带的turtlesim

rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

现在正常应该通过键盘的方向键控制小乌龟运动Simulink生成ROS代码详细攻略_第5张图片
现在可以查看当前的topic
使用 rostopic list查看
Simulink生成ROS代码详细攻略_第6张图片
然后可以建立simulink模型
使用Robotics System Toolbox工具箱中的ROS工具包。其中的Subscribe模块可以接收当前的运行中的topic信息。
Simulink生成ROS代码详细攻略_第7张图片
通过搭建模型查看当前topic中的信息
Simulink生成ROS代码详细攻略_第8张图片
再次使用键盘控制小乌龟运动,数据就会被scope记录下来
Simulink生成ROS代码详细攻略_第9张图片

simulink自动生成ROS代码

首先查看cmd_vel的数据类型
rostopic info /turtle1/cmd_vel
Simulink生成ROS代码详细攻略_第10张图片
进一步查看msg的类型
rosmsg show geometry_msgs/TwistSimulink生成ROS代码详细攻略_第11张图片
使用ROS工具包中的Blank Message模块接收数据
Simulink生成ROS代码详细攻略_第12张图片
使用ROS工具包中的Publish模块发送信息Simulink生成ROS代码详细攻略_第13张图片
想要控制小乌龟做圆环运动只需要发送X线速度和Z角速度
Simulink生成ROS代码详细攻略_第14张图片
然后运行就可以看到小乌龟做圆周运动
Simulink生成ROS代码详细攻略_第15张图片
代码生成需要对simulink进行一些设置
在Simulink的Model Configuration Parameters—Hardware Implementation中选中Robot Operating System后点击确定,同时还要注意求解器一定要选离散型。
Simulink生成ROS代码详细攻略_第16张图片
Simulink生成ROS代码详细攻略_第17张图片
再点击代码生成按钮,即可生成相应的C++代码。
Simulink生成ROS代码详细攻略_第18张图片
Simulink生成ROS代码详细攻略_第19张图片
显示这里说明代码生成成功
文件目录下会出现编译好的文件
Simulink生成ROS代码详细攻略_第20张图片
然后在这个目录下进行编译

./build_ros_model.sh rostest2.tgz ~/catkin_ws/

Simulink生成ROS代码详细攻略_第21张图片
显示编译成功
在catkin_ws下catkin_make编译一下就可以使用了.就可以看到小乌龟和刚才仿真的那样开始做相同的圆周运动了。

rosrun rostest2 rostest2_node

Simulink生成ROS代码详细攻略_第22张图片
纯属自己的学习记录,欢迎各位大佬指正交流!
教学视频:https://download.csdn.net/download/weixin_42313598/12269508
demo代码:https://download.csdn.net/download/weixin_42313598/12269433

你可能感兴趣的:(matlab,ROS自学,matlab,ubuntu)