最近在remap机器人发布的joint_states的时候遇到了一些问题,在此以几个例子记录一下launch文件的配置。
先敲黑板!!!:

  • remap在node之外的作用域是他之后的所有节点,在node中的作用域是当前节点,此外要注意想要remap的话题是这个节点要接收的还是要发布的。
  • 如果是要remap一个该节点发布的source_topictarget_topic,应该是<remap from="/source_topic" to="/target_topic" />
  • 如果是要remap一个该节点想要接收的的target_topic,而实际被另外一个节点发布的话题是source_topic,应该是<remap from="/target_topic" to="/source_topic" />
    举两个例子!要注意区分两种使用情况!

1、remap要发布的话题

节点中通过ros::Publisher发布了base/joint_states,head/joint_states,torso/joint_states,想要把发布出来的话题重映射到joint_states上,可以这么写:

<?xml version="1.0"?>
<launch><group ns="dhrobot"><remap from="base/joint_states" to="joint_states" /><remap from="head/joint_states" to="joint_states" /><remap from="torso/joint_states" to="joint_states" /> <node name="robot_driver" pkg="dhrobot_driver" type="robot_driver" /></group></launch>

rostopic list一下可以看到话题:

/dhrobot//joint_states

2、remap要接收的话题

节点中通过Ros::Subscriber想要接收/image话题,但是实际摄像头发布的话题是/kinect2/hd/image_color,所以需要这样处理:

<?xml version="1.0"?>
<launch><node name="robot_visual" pkg="dhrobot_demo" type="robot_visual" ><remap from="/image" to="/kinect2/hd/image_color" /></node>
</launch>
rosrun joint_state_pub base/joint_states:=joint_states
rosrun robot_state_publisher /joint_states:=/base/joint_states

Ros中Remap(话题重映射)的两种使用方法相关推荐

  1. java代码二进制转为十六进制_Java 中二进制转换成十六进制的两种实现方法

    Java 中二进制转换成十六进制的两种实现方法 每个字节转成16进制,方法1 /** * 每个字节转成16进制,方法1 * * @param result */ private static Stri ...

  2. android中view手势滑动冲突的两种解决方法

    android中view手势滑动冲突的解决方法,主要解决方法有两种,外部和内部拦截.有需要的可以参考下. Android手势事件的冲突跟点击事件的分发过程息息相关,由三个重要的方法来共同完成,分别是: ...

  3. php无限极 left right,php无限极分类实现的两种解决方法

    本篇文章介绍了,在php中无限极分类实现的两种解决方法.需要的朋友参考下 method of classify one<?php /* reader: 这是自己写的无限极分类实现方法 里面的编辑 ...

  4. remap(地址重映射)机制

    remap(地址重映射)机制 (1)在系统复位之后,ARM将从地址0处开始执行指令,因此地址0x0处必须是ROM之类的在掉电之后数据不会天失的存储介质,而且存放的必须是E确的可执行的指令. (2)在A ...

  5. MVCC如何实现数据库读已提交和可重复读这两种隔离级别?

    文章目录 隐藏列 undo log ReadView 读已提交和可重复读的实现 我们都知道Mysql有四种事务隔离级别: 读未提交 读已提交 可重复读 串行化 这四个隔离级别的特点就不多赘述了,这次主 ...

  6. SpringBoot文件访问映射的两种实现方式

    SpringBoot文件访问映射的两种实现方式 业务需求:通过SpringBoot访问服务器(磁盘内)的所有文件,用于正常项目中上传图片(文件)的访问. 图片路径:E://images/upload/ ...

  7. gensim中动态主题模型(DTM)两种实现方法(一)

    目录 (一)gensim.models.ldaseqmodel包 1.基本使用方法 2.缩水的地方 (二)gensim.models.wrappers.dtmmodel.DtmModel包 1.没有c ...

  8. shell 不等于_关于shell编程中的整数值比较的两种方式的简单操作实例

    谈一谈关于shell编程中的整数值比较的两种方式 Shell编程有时处理一个对象时,需要我们对对象进行测试. 只有符合要求的才采取下一步操作,这样做的好处可以避免程序出错. 这个测试的对象可以是文件. ...

  9. Json返回时间中出现乱码问题的两种解决方法

    Json返回时间中出现乱码问题的两种解决方法 参考文章: (1)Json返回时间中出现乱码问题的两种解决方法 (2)https://www.cnblogs.com/hanyinglong/archiv ...

最新文章

  1. 案例分析 陆金所_平安陆金所介绍-关于陆金所-平安陆金所
  2. linux下备份mysql上传到网盘_Linux命令行上传文件到百度网盘
  3. 物联网趋势下的边缘计算发展解析
  4. 汽车开放系统架构(AUTOSAR)简介
  5. 2022版全球及中国蓝宝石材料产业容量预测与十四五投资战略研究报告
  6. 深入理解Java中的抽象类和接口
  7. 【学神-RHEL7】P4-Python列表操作和字符串的常用方法
  8. linux 暂停一段时间,sleep命令_Linux sleep命令:让程序暂停或休眠一段时间
  9. 刚发版就被客户购买,升级后的神策用户画像究竟有什么魔力?
  10. CentOS 6上配置安装MariaDB,二进制文件,非源码
  11. GPT-3诞生,Finetune也不再必要了!NLP领域又一核弹!
  12. RadioButtonList Enabled=false 文字背景
  13. java mvc实例_Java Web实现的基本MVC实例分析
  14. android 线程传递数据,Android Handle主线程向子线程发送数据
  15. 2.跳转到指定的位置
  16. flink在k8s上的部署和使用教程
  17. 安卓智能手机运行iFIX组态软件
  18. mybatis系列-tkmybatis-04-SpringBoot整合TkMybatis+PageHelper实现分页查询
  19. python傅里叶变换相位谱图_图像傅里叶变换的幅度谱、相位谱以及双谱重构原图像...
  20. 文件服务器 配额,文件服务器配额邮件通知

热门文章

  1. 解决 HomeBrew 下载缓慢的问题
  2. 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
  3. AngularJS app.run()文档?
  4. 如何知道对象在Python中是否具有属性
  5. 您如何获得JavaScript时间戳?
  6. win11升级到一半撤销怎么办 windows11升级到一半撤销的解决方法
  7. text/x-jquery-tmpl做分页查询
  8. class反编译成java_Java黑科技之源:JVMTI完全解读
  9. Linux:如何更新Ubuntu的数据源
  10. MTK旧平台与RDA8851开机详解