美文网首页
MUX的使用

MUX的使用

作者: marine0131 | 来源:发表于2017-09-05 15:52 被阅读0次

    当我在寻求多地图实时切换方案的时候,找到了mux这个工具

    对硬件比较熟悉的各位,应该指导多路复用器这个东西,就是这个mux

    mux可以订阅多个topic,所谓的intopics,

    intopics

    一个mux节点只能输出一个topic(但是可以同时启动多个mux哦)

    输出的topic就是从mux的input topic中筛选,更改成设定的output topic name之后发布

    提供三个服务(选择、添加、删除)

    选择哪个输入作为输出
    添加一个输入topic
    删除一个输入topic

    image.png

    举例

    比如 我有4张地图-------描述文件分别为:

    map1.yaml 
    map2,yaml
    map3.yaml
    map4,yaml
    

    利用map_server把四张地图全部发布出去,有以下消息

    \map1, \map1_metadata
    \map2, \map2_metadata
    \map3, \map3_metadata
    \map4, \map4_metadata
    

    做了两个mux,topic名字修改为 mux_map和mux_mapmeta(这是为了防止多个mux之间名字冲突)

    map_mux的输入设置为

    \map1
    \map2
    \map3
    \map4
    

    输出为 \map

    rosrun topic_tools mux map map1 map2 map3 map4 mux:=mux_map
    

    mux_mapmeta的输入设置为

    \map1_metadata
    \map2_metadata
    \map3_metadata
    \map4_metadata
    

    输出为\map_metadata

    rosrun topic_tools mux map_metadata map1_metadata map2_metadata map3_metadata map4_metadata mux:=mux_mapmeta
    

    那么我们可以通过select服务,来选择每个mux的输出来自哪个输入topic

    rosservice call mux_map/select map1
    rosservice call mux_mapmeta/select map1_metadata
    

    相关文章

      网友评论

          本文标题:MUX的使用

          本文链接:https://www.haomeiwen.com/subject/ixgujxtx.html