位置: IT常识 - 正文

ros(23):接收rviz中的2D Nav Goal、2D Pose Estimate消息(ros urdf)

编辑:rootadmin
ros(23):接收rviz中的2D Nav Goal、2D Pose Estimate消息 1 rviz 教程1.1 2D Nav Goal2D Nav Goal (Keyboard shortcut: g)

推荐整理分享ros(23):接收rviz中的2D Nav Goal、2D Pose Estimate消息(ros urdf),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ros irq,ros subscribe 参数,ros subscribe 参数,ros接收发送节点信息,ros接收发送节点信息,ros接收发送节点信息,ros irq,ros接入ssr,内容如对您有帮助,希望把文章链接给更多的朋友!

This tool lets you set a goal sent on the "goal" ROS topic. Click on a location on the ground plane and drag to select the orientation:

二维导航目标(快捷键:g) 此工具允许您设置在“goal”ROS主题上发送的目标。单击地平面上的某个位置并拖动以选择方向:

即设置二维导航目标,并使用“goal”这个话题进行通讯(结合rviz的其他教程,话题名也可能是“/move_base_simple/goal”)

其消息类型为:geometry_msgs/PoseStamped

meng@meng:~/ideas/ros_ws$ rosmsg info geometry_msgs/PoseStampedstd_msgs/Header header uint32 seq time stamp string frame_idgeometry_msgs/Pose pose geometry_msgs/Point position float64 x float64 y float64 z geometry_msgs/Quaternion orientation float64 x float64 y float64 z float64 w1.2 2D Pose Estimate2D Pose Estimate (Keyboard shortcut: p)

This tool lets you set an initial pose to seed the localization system (sent on the "initialpose" ROS topic). Click on a location on the ground plane and drag to select the orientation:

二维姿势估计(键盘快捷键:p) 此工具允许您设置初始姿势以播种定位系统(发送至“initialpose”ROS主题)。单击地平面上的某个位置并拖动以选择方向:

即设置二维初始位姿并使用“initialpose”进行通讯

ros(23):接收rviz中的2D Nav Goal、2D Pose Estimate消息(ros urdf)

其消息类型为:geometry_msgs/PoseWithCovarianceStamped

meng@meng:~/ideas/ros_ws$ rosmsg info geometry_msgs/PoseWithCovarianceStampedstd_msgs/Header header uint32 seq time stamp string frame_idgeometry_msgs/PoseWithCovariance pose geometry_msgs/Pose pose geometry_msgs/Point position float64 x float64 y float64 z geometry_msgs/Quaternion orientation float64 x float64 y float64 z float64 w float64[36] covariance1.3 打开rviz查看

Panels--Tool Properties(勾选)

 

2 订阅话题

订阅起点位姿和终点话题并打印输出的c++文件:receive_2d_nav_goal.cpp

#include "ros/ros.h"#include "std_msgs/String.h"#include <geometry_msgs/PoseWithCovarianceStamped.h>#include <iostream>#include <geometry_msgs/PoseStamped.h>void chatterCallback(const geometry_msgs::PoseWithCovarianceStamped::ConstPtr& msg){ double x=msg->pose.pose.position.x; double y=msg->pose.pose.position.y; std::cout<<x<<y<<std::endl;}void chatterCallback1(const geometry_msgs::PoseStamped::ConstPtr& msg){ std::cout<<"1111"<<std::endl; double x=msg->pose.position.x; double y=msg->pose.position.y; std::cout<<x<<y<<std::endl;}int main(int argc, char **argv){ ros::init(argc, argv, "reveive_rviz"); ros::NodeHandle nh; ros::Subscriber sub = nh.subscribe("/initialpose", 1, chatterCallback);//队列长度:1000或1或其他 ros::Subscriber sub1 = nh.subscribe("/move_base_simple/goal", 1, chatterCallback1);//队列长度:1000或1或其他while(ros::ok()){ ros::spinOnce();} return 0;}

启动rviz和节点程序,用 2D Nav Goal、2D Pose Estimate 在rviz中做标记,即可打印输出:

订阅起点位姿和终点,并保持发布:

#include "ros/ros.h"#include "std_msgs/String.h"#include <geometry_msgs/PoseWithCovarianceStamped.h>#include <iostream>#include <geometry_msgs/PoseStamped.h>ros::Publisher initialpose_pub,goal_pub;geometry_msgs::PoseWithCovarianceStamped initialpose_tmp;//设置为全局变量,可以一直被发布出来geometry_msgs::PoseStamped goal_tmp;void initialpose_handler(const geometry_msgs::PoseWithCovarianceStamped::ConstPtr& msg){ double x=msg->pose.pose.position.x; double y=msg->pose.pose.position.y; std::cout<<"起点坐标:("<<x<<", "<<y<<")"<<std::endl; initialpose_tmp=*msg; // initialpose_tmp.header=msg->header; // initialpose_tmp.header=msg->header; initialpose_pub.publish(initialpose_tmp);}void goal_handler(const geometry_msgs::PoseStamped::ConstPtr& msg){ double x=msg->pose.position.x; double y=msg->pose.position.y; std::cout<<"终点坐标:("<<x<<", "<<y<<")"<<std::endl; goal_tmp=*msg; goal_pub.publish(*msg);}int main(int argc, char **argv){ ros::init(argc, argv, "reveive_rviz"); ros::NodeHandle nh; ros::Subscriber sub = nh.subscribe("/initialpose", 1, initialpose_handler);//1000改为1 ros::Subscriber sub1 = nh.subscribe("/move_base_simple/goal", 1, goal_handler);//1000改为1 initialpose_pub = nh.advertise<geometry_msgs::PoseWithCovarianceStamped>("initialpose_my", 1); goal_pub = nh.advertise<geometry_msgs::PoseStamped>("goal_my", 1); while(ros::ok()) { ros::spinOnce(); } return 0;}

参考链接:

2D Nav Goal和2D Pose Estimate功能介绍:rviz/UserGuide - ROS Wiki

2D Nav Goal和2D Pose Estimate的消息类型:navigation/Tutorials/Using rviz with the Navigation Stack - ROS Wiki 

本文链接地址:https://www.jiuchutong.com/zhishi/292298.html 转载请保留说明!

上一篇:一年一度的施瓦本哈尔圣诞市集,德国巴登-符腾堡州 (© sack/Getty Images Plus)

下一篇:阿拉斯加普拉德霍湾附近的雄性麝牛 (© Oliver Smart/Alamy)(阿拉斯给加拉普)

  • hp 5200打印机(hp 520)(惠普laserjet 5200打印机)

    hp 5200打印机(hp 520)(惠普laserjet 5200打印机)

  • applepencil一代怎么充电(applepencil一代怎么连接ipad10)

    applepencil一代怎么充电(applepencil一代怎么连接ipad10)

  • 快手自动识别字幕怎么用(快手自动识别字幕颜色怎么改)

    快手自动识别字幕怎么用(快手自动识别字幕颜色怎么改)

  • 夸克答题助手不能用了(夸克搜索答题在哪里)

    夸克答题助手不能用了(夸克搜索答题在哪里)

  • 华为手机相册怎么设置密码锁不让别人看(华为手机相册怎么设置私密相册)

    华为手机相册怎么设置密码锁不让别人看(华为手机相册怎么设置私密相册)

  • 抖音可以隐身吗(抖音怎么无痕浏览别人)

    抖音可以隐身吗(抖音怎么无痕浏览别人)

  • oppo开机显示安装升级文件(op手机开不了机,出现android)

    oppo开机显示安装升级文件(op手机开不了机,出现android)

  • 蓝牙耳机有一只不亮(蓝牙耳机有一只找不到了怎么办)

    蓝牙耳机有一只不亮(蓝牙耳机有一只找不到了怎么办)

  • 手机删聊天记录ipad也删除吗(手机删聊天记录电脑也删除吗怎么删)

    手机删聊天记录ipad也删除吗(手机删聊天记录电脑也删除吗怎么删)

  • mpeg是什么意思(mpeg是什么意思中文翻译)

    mpeg是什么意思(mpeg是什么意思中文翻译)

  • 手机怎么把图片修圆角(手机怎么把图片变成jpg)

    手机怎么把图片修圆角(手机怎么把图片变成jpg)

  • 对方不接电话怎么知道对方的位置(对方不接电话怎么能找到对方)

    对方不接电话怎么知道对方的位置(对方不接电话怎么能找到对方)

  • 键盘end是什么意思中文(电脑键盘end是什么意思)

    键盘end是什么意思中文(电脑键盘end是什么意思)

  • word表格竖排改为横排(word表格设置竖排文字)

    word表格竖排改为横排(word表格设置竖排文字)

  • vivo手机可以开空调吗(vivo手机可以开机,但是黑屏怎么办)

    vivo手机可以开空调吗(vivo手机可以开机,但是黑屏怎么办)

  • 京东怎样取消评论(京东怎样取消评价记录)

    京东怎样取消评论(京东怎样取消评价记录)

  • qq友谊的小船是单向还是双向(qq友谊的小船是单向)

    qq友谊的小船是单向还是双向(qq友谊的小船是单向)

  • 微信收款能直接到银行卡吗(微信收款能直接到银行卡里吗)

    微信收款能直接到银行卡吗(微信收款能直接到银行卡里吗)

  • 手机打电话声音断断续续(手机打电话声音太大别人都能听到)

    手机打电话声音断断续续(手机打电话声音太大别人都能听到)

  • 团建密码忘记了该怎么改(团建密码忘记了能转团组织吗)

    团建密码忘记了该怎么改(团建密码忘记了能转团组织吗)

  • 苹果xr有没有无线充电功能(苹果Xr有没有无线充电)

    苹果xr有没有无线充电功能(苹果Xr有没有无线充电)

  • 苹果微信无法更新版本(苹果微信无法更新此项目已退款)

    苹果微信无法更新版本(苹果微信无法更新此项目已退款)

  • mac跨平台字体兼容性问题解决方法(macos字体)

    mac跨平台字体兼容性问题解决方法(macos字体)

  • 采购暂估的处理方式
  • 增值税进项税销项税
  • 以摊余成本计量的金融资产交易费用
  • 账龄划分模板
  • 多发了工资怎么处理
  • 电子设备残值率的最新规定
  • 公司单位性质怎样填写
  • 工业企业会计怎么结转成本
  • 收到供应商赔偿的违约金
  • 公司比赛规则
  • 总公司委托分公司工程委托书模板
  • 企业只有收入没有支出是否违规
  • 会计凭证的概念及分类
  • 进项税额待转出是什么意思
  • 待处理财产损益科目
  • 小规模专票普票区别
  • 进项和销项的会计分录
  • 退了货的发票还能用吗
  • 所有者权益类科目借贷方向
  • 公司的房产税如何征收
  • 怎么清除更新记录
  • virtualbox打不开虚拟机
  • 企业给予的折扣怎么入账
  • 经济业务原始凭证分录
  • 外销收入申报表怎么填
  • php语言版本
  • chart.js教程
  • 委托加工不提供原材料会计分录
  • 资产负债表日后期间是指
  • 非上市公司股票期权个人所得税
  • 事业单位财产清查内容包括
  • 两借两贷属于复合会计分录吗
  • 预提费用的分录
  • php7.3
  • orb特征点匹配
  • 福利费专用发票如何账务处理
  • 哈士奇宠物狗
  • nodejs c扩展
  • js防抖节流的区别和使用场景
  • discuz 移动端
  • 自然人独资可以变更为有限责任公司
  • 发票税额不全可以报销吗
  • 应税销售行为有哪些
  • 实收资本印花税税率
  • 民办非企业收到政府拨款分录
  • 一般纳税人可以给小规模开专票吗
  • 上月暂估的成本这月收到票怎么做
  • 股票股利应该何时分摊
  • 刚成立的公司没有五险一金
  • 什么计提折旧不能转回
  • sqlserver数据类型real
  • 备份数据还原不了怎么办
  • wins9
  • win7系统浏览器怎么设置
  • win8.1鼠标没反应
  • XP系统安装不了游戏
  • xp开机延时启动程序
  • linux中的vim命令的功能
  • ubuntu启动vncserver
  • centosfind命令
  • win10应用默认
  • win10如何彻底关掉自动锁屏
  • netfilter/iptables模块编译及应用
  • 电脑开机出现windows7
  • 查看syslog
  • 如何解决eclipse非正常关闭重打开编译代码
  • Android UI之FrameLayout(帧布局)
  • python xml文件转化为excel
  • unity如何导入资源文件
  • 深入理解计算机系统
  • shell脚本wc
  • jquery事件解绑
  • 用jquerymobile案例
  • fragment生命周期图
  • 江苏省国家税务局总局官网
  • 扣缴义务人申报和综合所得年度自行申报
  • 多计提的税金如何处理
  • 上海微电子现状
  • 宁波离哪个国家比较近
  • 登录电子税务局的方式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设