ROS与MATLAB通信

    ROS能有效得控制机器人,而MATLAB也是个数据处理和开发的利器,更重要的是,现在MATLAB现在已经支持ROS,只需安装Robotic tool box即可,当前的关键就是如何实现MATLAB和ROS的通信。

    ROS上的通信是通过节点发布和订阅话题来实现的,同样的,我们也需要将MATLAB视作一个节点,进行话题的发布和订阅。

1.ROS下的配置。

这部分与我之前的主机同虚拟机的配置相同。

http://blog.csdn.net/banzhuan133/article/details/77887599

这里主机的IP为192.168.0.1,虚拟机的IP为192.168.0.2

除了网络配置,还需要配置下Ubuntu下的环境变量。

sudo gedit ~/.bashrc

打开.bashrc之后在最后添上

export ROS_MASTER_URI=http://192.168.0.2:11311

export ROS_HOSTNAME=192.168.0.2

第一条指令为ROS将要连接的Master主机的名称地址

第二条为本机的ROS名称地址

之后运行roscore


2.MATLAB配置

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

rosinit('http://192.168.0.2:11311’)


注意:这个地方一定要关掉防火墙,血的教训!

如何检查是否成功进行了通信?

在Terminal下输入


可以看见出现了一个名为matlab_global_node的节点

同样,在MATLAB下也可以


3.一个简单的例子

首先在Ubuntu下运行小乌龟

rosrun turtlesim turtlesim_node 

rosrun turtlesim turtle_teleop_key

之后在MATLAB下

rostopic echo /turtle1/pose



猜你喜欢

转载自blog.csdn.net/banzhuan133/article/details/79381605