Robotic System Toolbox 使用笔记

本文介绍了如何在MATLAB中使用Robotic System Toolbox,包括rosinit连接ROS网络,创建独立Node,使用Publisher和Subscriber交换信息,以及处理ROS消息类型的细节。特别提到MATLAB Subscriber的限制和解决方法,如数据丢失问题,并提供了实时接收ROS消息的策略。
摘要由CSDN通过智能技术生成

Matlab在2015a里引入了ROS工具箱。

官方文档:Robotic System Toolbox的官方文档

使用笔记:

1. 基础命令

rosinit:将当前matlab接入ROS的网络中,需在matlab命令窗口中运行rosinit命令,当前的matlab进程将作为一个ROS Node(称为matlab_node)在ROS master中注册。注意:若此前未开ROS master,则rosinit命令会先开启ROS master,后开启matlab_node。用rosshutdown命令可关闭matlab_node。
此工具箱提供的rostopic、rosmsg、rosnode、rosservice等命令与ROS中的类似。

2. 使用ROS Publisher和Subscriber交换信息

(1)robotics.ros.Node命令可以构造独立于matlab_node的新node。即使在matlab中使用rosshutdown关闭了matlab_node后,这些独立于matlab_node的node不会受影响。
(2)rospublisherrobotics.ros.Publisher均可用于发送消息。其中,使用robotics.Raterosrate可以以设定发送消息的频率,具体使用参考以特定频率发送消息
(3)rossubscriberrobotics.ros.Subscriber均可用于订阅消息。其中,matlab提供两种接收消息的方法:receive和callback函数。
需要注意的是,凡是运行rospublisher、rossubscriber等函数时,均默认使用当前的matlab_node来发送或订阅消息;凡是用robotics.ros.Publisher、robotics.ros.Subscriber均使用指定的node来发送或订阅消息。

例子1:

segmentPub = rospublisher('/simple_msgs', 'std_msgs/Float64');
segmentMsg = rosmessage('std_msgs/Float64');
segmentMsg.Data   = 3.33; % 注意,matlab中消息的字段都
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值