ROS与matlab进行通讯—保姆级教程

话不多说 ,直接来进行配置:
所用软件:windows10下matlab2018b和同一台 电脑上虚拟机 virtubalbox上的Ubuntu——melodic 18.04版本。

 第一步:将虚拟机网络设置为桥接模式:
 **(注意:在关机状态下选择设置——网路——连接方式选为:桥接网卡,确定即可。当然在虚拟机开启的模式下也可以,但要重启之后才会生效。**)

在关机状态下选择设置——网路——连接方式选为:桥接网卡,确定即可。当然在开始模式下也可以,但要重启之后才会生效。
第二步:打开虚拟机终端terminal 输入ifconfig,红框中即为虚拟机的IP地址,出现下图所示:
(注意:[要在桥接模式下,亲测,如果是10.0.2.15的话,说明不在桥接模式下,请返回上一步)
要在桥接模式下,亲测
第三步:打开虚拟机主文件夹,Ctrl +H:显示隐藏文件,选择 .basrc文件打开,在最下面添加一行代码,“192.168.31.47”即为第二步虚拟机的ip,添加完后保存。如下图::
在这里插入图片描述

export ROS_IP=192.168.31.47

添加后保存,关闭。
保存即可

第四步:在虚拟机中关掉终端,重新打开,运行roscore,出现如下:
在这里插入图片描述
复制红框的内容 如下

ROS_MASTER_URI=http://192.168.31.47:11311/

第五步:在window下打开MATLAB2018b,复制上一步红框的内容,在命令行中输入下面的命令。(其中 set environment 的缩写 设置环境变量的意思, 中间等号去掉,分别打上单引号,中间用逗号隔开):
第四步中roscore运行的红框内容

setenv('ROS_MASTER_URI','http://192.168.31.47:11311/')';

第六步:matlab中输入命令 rosinit,结果如下:
在这里插入图片描述
这样就完成matlab和虚拟机下ros的连接了,我们可以看一下是怎么连接的。
第七步:在matlab和ros下分别输入 :rosnode list,可以看到以下结果:
在这里插入图片描述

在这里插入图片描述
我们可以看到,二者是通过节点进行连接的。

第八步:通过小海龟 看效果
在ros中 先 roscore 再输入下面的代码,打开一个小海龟。我们可以通过rosnode list 来查看此时的节点数量,在matlab和ros中都可以打开,就交给读者体验了。
下面展示一些 代码

rosrun turtlesim turtlesim_node

第九步:在matlab中建立一个m文件,如下:
下面展示一些 matlab代码

cmdpub = rospublisher('/turtle1/cmd_vel',rostype.geometry_msgs_Twist);
pause(3) %wait to ensure publisher is setup
cmdmsg = rosmessage(cmdpub);
cmdmsg.Linear.X = 10;
cmdmsg.Angular.Z = 10;
send(cmdpub,cmdmsg)

第十步:好了各位,九九归一。 运行matlab上的m文件,等待一会,就能从虚拟机上的ros中看到如下结果:
在这里插入图片描述
完结,这样就完成了matlab和虚拟机下ros的通讯,希望对大家有用,欢迎留言交流,我看到会第一时间回复。

  • 16
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值