ROS与matlab进行通讯

您所在的位置:网站首页 ros辅助打开怎么才能是中文版 ROS与matlab进行通讯

ROS与matlab进行通讯

2024-06-30 14:43| 来源: 网络整理| 查看: 265

话不多说 ,直接来进行配置: 所用软件: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的通讯,希望对大家有用,欢迎留言交流,我看到会第一时间回复。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3