Windows Matlab 和虚拟机ROS通信问题记录

记录Matlab和ROS之间的通信bug

ubuntu ping不通windows

虚拟机设置为桥接

首先ubuntu ifconig查询虚拟机IP 假设为192.169.0.1

windows cmd 输入ipconfig查询主机IP假设为192.168.0.2

ubuntu操作

然后sudo gedit ~/.bashrc输入:

export ROS_IP=192.168.0.1

然后sudo gedit /etc/hosts输入

192.168.0.1 ubuntuname

192.168.0.2 windowsname

这两个操作系统的name在cmd或者终端里hostname查询

windows操作

打开c/system32/driviers/etc/hosts输入

192.168.0.1 ubuntuname

192.168.0.2 windowsname

然后打开matlab 

setenv('ROS_MASTER_URI','http://192.168.0.1:11311')

setenv('ROS_IP','192.168.0.2')

rosinit

在ubuntu打开rosrun turtlesim turtlesim_node 

然后在matlab里rostopic list看看是否能看到相应话题,看看matlab能不能收到ROS

然后检验matlab能不能发到ROS,matlab执行下面的脚本,看小海龟会不会画圈,ros里能不能收到hello world

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 = 15;
 
send(cmdpub,cmdmsg)
 
chatterpub = rospublisher('/chatter',rostype.std_msgs_String)
 
pause(3)% Wait to ensure publisher is setup
 
chattermsg = rosmessage(chatterpub);
 
chattermsg.Data = 'hello world'
 
send(chatterpub,chattermsg)
 
pause(5)

注意

我用公司电脑老是matlab能收到ROS,但是ROS收不到Matlab发的,最后发现是公司电脑默认有防火墙,在我自己电脑上重复上述操作,打开防火墙就双向通信都ok

再加一条记录,今天用公司windows调试笔记本想跑carsim车辆模型与公司台式机ubuntu通信捣鼓半天也不行,用的网线直连,能ping通,改了bashrc ,改了两边host,matlab就是连不上rosmaster,最后把台式机换成工控机ubuntu就ok,是网线直连的问题?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wujiangzhu_xjtu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值