位置: 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)(阿拉斯给加拉普)

  • 怎么查看QQ邮箱注册日期(怎么查看qq邮箱密码)

    怎么查看QQ邮箱注册日期(怎么查看qq邮箱密码)

  • vivov2156a是什么型号(vivov2065a是什么手机)

    vivov2156a是什么型号(vivov2065a是什么手机)

  • 红米k30pro刷新率是多少(红米k30Pro刷新率)

    红米k30pro刷新率是多少(红米k30Pro刷新率)

  • 闲鱼发货地址怎么隐藏(闲鱼发货地址怎么删除)

    闲鱼发货地址怎么隐藏(闲鱼发货地址怎么删除)

  • 苹果7国行型号(苹果7国行型号有哪些)

    苹果7国行型号(苹果7国行型号有哪些)

  • 为什么苹果手机不卡(为什么苹果手机wifi老是自动断开)

    为什么苹果手机不卡(为什么苹果手机wifi老是自动断开)

  • 苹果平板断触怎么解决(苹果平板电脑断触怎么办)

    苹果平板断触怎么解决(苹果平板电脑断触怎么办)

  • 戴耳机打电话对方能听到我周围的声音吗(戴耳机打电话对方能听到我周围的杂音吗)

    戴耳机打电话对方能听到我周围的声音吗(戴耳机打电话对方能听到我周围的杂音吗)

  • excel产品激活失败能用吗(excel产品激活失败打不开文件)

    excel产品激活失败能用吗(excel产品激活失败打不开文件)

  • 蓝牙耳机可以唱歌吗(蓝牙耳机可以唱歌吗?)

    蓝牙耳机可以唱歌吗(蓝牙耳机可以唱歌吗?)

  • win7键盘全部失灵(win7电脑键盘失灵怎么办)

    win7键盘全部失灵(win7电脑键盘失灵怎么办)

  • 微信不符合辅助要求是什么意思(微信不符合辅助验证)

    微信不符合辅助要求是什么意思(微信不符合辅助验证)

  • qq为什么上传不了精选照片(qq为什么上传不了视频)

    qq为什么上传不了精选照片(qq为什么上传不了视频)

  • 拼多多免费试用是什么意思(拼多多0元试用后要钱么)

    拼多多免费试用是什么意思(拼多多0元试用后要钱么)

  • macbook和air的区别(macbook 和air)

    macbook和air的区别(macbook 和air)

  • 荣耀10长多少厘米(荣耀10的长宽)

    荣耀10长多少厘米(荣耀10的长宽)

  • 显卡大小影响什么(显卡的大小和电脑反应有关系吗)

    显卡大小影响什么(显卡的大小和电脑反应有关系吗)

  • 知乎的邀请是随机的吗(知乎邀请好友有什么奖励)

    知乎的邀请是随机的吗(知乎邀请好友有什么奖励)

  • 苹果xs怎么关机(苹果xs怎么关机充电自动开机)

    苹果xs怎么关机(苹果xs怎么关机充电自动开机)

  • 手机上本地音乐怎样清除(手机本地音乐在哪)

    手机上本地音乐怎样清除(手机本地音乐在哪)

  • mac隔空播放显示只有关闭(mac隔空播放显示器无法打开)

    mac隔空播放显示只有关闭(mac隔空播放显示器无法打开)

  • 表示存储空间大小的最基本单位(表示存储空间大小的基本单位)

    表示存储空间大小的最基本单位(表示存储空间大小的基本单位)

  • 怎么样恢复微信好友(怎么样恢复微信以前的聊天记录)

    怎么样恢复微信好友(怎么样恢复微信以前的聊天记录)

  • iqoo怎么开nfc刷门禁卡(iqoo5怎么用nfc)

    iqoo怎么开nfc刷门禁卡(iqoo5怎么用nfc)

  • 微信背景怎么设置动态视频(微信背景怎么设置主题皮肤)

    微信背景怎么设置动态视频(微信背景怎么设置主题皮肤)

  • 取消共享文件夹账号密码教程(win7取消共享文件夹)

    取消共享文件夹账号密码教程(win7取消共享文件夹)

  • KB4523205安装失败怎么办(kb4532945安装失败)

    KB4523205安装失败怎么办(kb4532945安装失败)

  • 关联企业的判定标准
  • 小规模纳税人在选择供应商时,主要考虑购进货物
  • 企业所得税包含哪些税种
  • 可转债如何不转换的财务处理
  • 银行承兑贴现的会计分录怎么做
  • 结转损益管理费用在借方
  • 贴现利息支付方式
  • 股东溢价转让股份交易市场会计分录
  • 实收资本转出怎么做账
  • 以旧换新的金子划算吗
  • 购入固定资产会影响营业利润吗
  • 所得税网上申报表
  • 印花税在什么情况下需要申报
  • excel单元格内换行macbook
  • 赊购商品一批
  • 公司帮员工缴纳个税,不从工资里扣,如何做账
  • 超过三年的坏帐损失税前扣除怎样规定?
  • 免税的普通发票怎么开
  • 小规模未达起征点附加税要计提吗
  • 增值税电子发票公共服务平台
  • 房地产企业预缴增值税如何申报
  • 职工福利费属于什么科目?
  • 如何查询苹果手机充电次数
  • mac电脑command+s
  • php中数组的常用函数及用法
  • 域名停靠是病毒吗
  • win10开机强制进入
  • 网速变慢了
  • 押金收不回的会计分录
  • 小规模纳税人多久缴纳一次增值税
  • 交易性金融资产是什么意思
  • scards32.exe - scards32是什么进程 有什么用
  • 软件企业职工培训费税前扣除标准
  • 委托加工不提供原材料会计分录
  • 收不回的应收账款会计分录
  • 企业资产负债表有何作用
  • 浅谈中国式现代化3000字论文
  • 暂估入库的商品能出库吗
  • css加小手
  • mongodb4.4安装
  • bug的定位和跟踪
  • 餐饮服务专票可以抵税吗
  • 环境检测收费依据2017
  • 电子发票的开具开具方式是?
  • sql中判断函数
  • 一般纳税人也会被税吗
  • 电子承兑汇票到期后多少天能兑现
  • 账务处理的种类有哪些
  • 伙食堂是什么意思
  • 固定资产后续支出计入的科目
  • 投资性房地产租金税率是多少
  • 资产折旧的计税基础
  • 广告费和业务宣传费税前扣除基数
  • 什么叫特定资产和负债
  • 安全费用支付
  • 月末库存商品能抵税吗
  • 一般纳税人购进税控设备如何抵扣
  • 支付贷款利息属于筹资活动吗
  • 实收资本实际缴纳要去税务局备案吗
  • 安装设备是干嘛的
  • 明细账的作用
  • mysql外键怎么写
  • windows7的内存基本要求
  • 在linux中,要解包bugzilla.tar.gz
  • linux网络设备有哪些
  • win10多用户独立
  • opengl绘制三维图形代码
  • js定义函数的几种方法
  • 如何使用node.js
  • 经过整理的一些成语
  • python中判断
  • svn报错禁止访问
  • 如何消除手机自动出现的广告
  • js中onmouseover
  • javascript自定义函数
  • 基于Android的游戏陪玩APP设计
  • 江西省税务局拟录用人员公示
  • 小规模纳税人房土两税优惠政策
  • 期初未缴税额是什么意思
  • 出口退税出现预缴怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设