(ros/topic_tools): mux 话题的多路切换开关

本文详细介绍了ROS中用于话题多路切换的mux工具,包括其用途、使用方法、参数配置、相关命令行工具及ROS API接口。重点阐述了mux如何在多个输入话题中进行选择性转发,以及如何通过命令行或ROS服务进行话题的选择、添加、删除操作。
摘要由CSDN通过智能技术生成

topic_tools mux 话题的多路切换开关
http://wiki.ros.org/topic_tools/mux

目录
1.mux
1.mux Usage
2.Associated mux tools (mux_select, mux_add, mux_delete)
2.ROS API
1.mux
mux节点订阅一系列的输入话题,并把其中一个话题重新转发为其他话题,例如,它就是一个多路开关,1到N个输入中切换。提供一些服务,如,输入话题之间的切换,添加或者删除输入话题。启动时,选择命令行的第一个输入话题。

参数

~lazy (bool, default: False)
如果是True,除非至少有一个输出话题的订阅者,否则不订阅输入话题。

Mux使用方法

mux <输出话题> <输入话题1> [输入话题2...] [标准ROS参数] 
   订阅<输入话题1>...N并且发布当前选择的话题到输出话题。Mux会以选择的 <输入话题1> 开始。 
  outtopic: 发布的输出话题 
  intopicN:输入话题N, 订阅的输入话题。多路复用两个命令流(auto_cmdvel和joystick_cmdvel)为一个 (sel_cmdvel): 

rosrun topic_tools mux sel_cmdvel auto_cmdvel joystick_cmdvel mux:=mux_cmdvel


要点: 为了避免与其他的Mux实例冲突,须在命令行使用mux:=foo,把mux节点映射为一些可描述的名称。

**所关联的mux工具 (mux_select, mux_add, mux_delete)**


为了方便使用,topic_tools提供了与mux交互的命令行工具.假设mux名为MUX_NAME (通过启动时重新映射mux:=MUX_NAME),可以使用: 

mux_select MUX_NAME `<topic>` `<topic>`选择输出. 

mux_add MUX_NAME `<topic>` 
      添加一个新的输入`<topic>.` 

mux_delete MUX_NAME `<topic>` :  
        删除输入`<topic>.` 

switch_mux `<outtopic> <intopic>` DEPRECATED since ROS 0.11 
  : 使用mux_select代替. 

 设置话题sel_cmdvel在auto_cmdvel和joystick_cmdvel话题之间切换, 然后使用mux_select去选择joystick_cmdvel: 

rosrun topic_tools mux sel_cmdvel auto_cmdvel joystick_cmdvel mux:=mux_cmdvel &
rosrun topic_tools mux_select mux_cmdvel joystick_cmdvel

注意: 可以使用 rosservice代替: 
rosservice 调用mux_cmdvel/select joystick_cmdvel



**ROS API
订阅的节点**
 <intopicN> (any/any) 
     mux订阅的第N个输入话题(在命令行指定,或者通过mux/add添加服务) 
发布的话题
<outtopic> (any/any) 
   选择的输入消息 (由命令行指定) 
mux/selected (new in ROS 0.11) (std_msgs/String) 
    哪个话题是当前选定的,或者 __none 

Services

mux/select (new in ROS 0.11) (topic_tools/MuxSelect) 
   选择一个输入话题输出,或者 __none去关闭输出 
mux/add (new in 0.11) (topic_tools/MuxAdd) 
   添加一个新的输入topic 
mux/delete (new in ROS 0.11) (topic_tools/MuxDelete) 
    删除一个输入topic 
<outtopic>_select (DEPRECATED since ROS 0.11) (topic_tools/MuxSelect) 
  选择一个输入话题到输出,或__none去关闭输出.

Author: wsh
Email: tongzhuodenilove@163.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值