我是靠谱客的博主 纯真毛衣,最近开发中收集的这篇文章主要介绍Matlab/Simulink链接ROS前言一、Ubuntu中的配置二、Matlab中的配置三、以小海龟为例四、Simulink中的配置,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Matlab/Simulink链接ROS
- 前言
- 一、Ubuntu中的配置
- 二、Matlab中的配置
- 三、以小海龟为例
- 四、Simulink中的配置
- 发布指令
- 接收信息
- 生成ROS包
前言
- Matlab版本:R2021b
- 工具包:ROS toolbox、Simulink Coder、MATLAB Coder
- 虚拟机:VMware Workstation Pro
- Ubuntu版本:18.04
- ROS版本:melodic
一、Ubuntu中的配置
-
打开虚拟机,Ctrl+Alt+T新建终端,输入
ifconfig
,查看Ubuntu的IP地址
192.168.31.139 即为Ubuntu的IP地址 -
打开主文件夹,Ctrl+H显示隐藏文件,找到 .bashrc文件
在文件末尾添加以下两行代码,保存退出
export ROS_MASTER_URI=http://192.168.31.139:11311 # 192.168.31.139为Ubuntu的IP地址
export ROS_HOSTNAME=192.168.31.139
- Ctrl+Alt+T新建终端,运行
roscore
,出现如下部分表明Ubuntu下配置完成
二、Matlab中的配置
- 在Matlab的命令行中分别输入
setenv('ROS_MASTER_URI','http://192.168.31.139:11311')
rosinit
出现以下信息表明成功建立通信
-
在Matlab的命令行中输入
rosnode list
,会显示对应的/matlab_global_node_46066节点
-
在Ubuntu中,Ctrl+Alt+T新建终端,输入
rosnode list
,会出现相同信息
至此,Matlab与ROS已成功建立通信
三、以小海龟为例
- 在Ubuntu中,Ctrl+Alt+T新建终端,输入
rosrun turtlesim turtlesim_node
运行小海龟
- 在Matlab的命令行中输入
rostopic list
,会显示下列几个话题
四、Simulink中的配置
在Mabtlab中新建一个Simulink文件
发布指令
- 添加ROS Toolbox中的Publish模块,选择Topic为“/turtle1/cmd_vel”
B
- 添加ROS Toolbox中的Blank Message模块,选择Message type为“geometry_msgs/Twist”
- 添加Bus Assignment模块,与Blank Message模块连接,展开“Linear”和“Angular”属性,分别选择“Linear.X”和“Angular.Z”参数
- 添加两个Constant模块,并将各模块连接
- 将停止时间设置为“inf”,运行simulink文件,将看到小海龟做圆周运动
接收信息
- 添加ROS Toolbox中的Subscribe模块,选择Topic为“/turtle1/pose”
- 添加Bus Selector模块,与Subscribe模块连接,选择“X”和“Y”元素
- 添加Scope模块和XY Graph模块,并将各模块连接
生成ROS包
-
打开模型设置,求解器选择中的类型设置为定步长,硬件实现中的Hardware board设置为Robot operating System(ROS)
-
保存文件后编译
出现下列信息表示编译过程已成功完成
-
在simulink文件保存路径下,产生.sh文件和.tgz文件,将文件拷贝至ROS中并编译,运行ROS节点
最后
以上就是纯真毛衣为你收集整理的Matlab/Simulink链接ROS前言一、Ubuntu中的配置二、Matlab中的配置三、以小海龟为例四、Simulink中的配置的全部内容,希望文章能够帮你解决Matlab/Simulink链接ROS前言一、Ubuntu中的配置二、Matlab中的配置三、以小海龟为例四、Simulink中的配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复