rosso艺术留学机构官网(ros是什么意思)

作者:电脑培训网 2024-05-05 08:54:22 697

ros(23):在rviz中接收2D导航目标和2D姿态估计消息

1rviz教程

1.12DNavGoal

rosso艺术留学机构官网(ros是什么意思)

2DNavGoal(Keyboardshortcut:g)

此工具可让您设置在“目标”ROS主题上发送的目标。单击地平面上的某个位置并拖动以选择方向:

二维导航目标

该工具允许您设置在“目标”ROS主题上发送的目标。单击地平面上的某处并拖动以选择方向:

即设置一个二维导航目标,使用主题“goal”进行交流

消息类型为:geometry_msgs/PoseStamped

meng@meng:~/ideas/ros_ws$rosmsginfoometry_msgs/PoseStampedstd_msgs/Header头uint32seq时间戳字符串frame_idgeometry_msgs/Pose姿势geometry_msgs/点位置float64xfloat64yfloat64zGeometry_msgs/四元数方向float64xfloat64yfloat64zfloat64w

1.22DPoseEstimate

2DPoseEstimate(Keyboardshortcut:p)

此工具可让您设置初始姿势来播种定位系统。单击地平面上的某个位置并拖动以选择方向:

2D姿态估计

该工具允许您设置初始姿势来播种定位系统。单击地平面上的某处并拖动以选择方向:

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

消息类型为:geometry_msgs/PoseWithCovarianceStamped

meng@meng:~/ideas/ros_ws$rosmsginfogeometry_msgs/PoseWithCovarianceStampedstd_msgs/Headerheaderuint32seqtimestampstringframe_idgeometry_msgs/PoseWithCovarianceposegeometry_msgs/Poseposegeometry_msgs/Pointpositionfloat64xfloat64yfloat64zgeometry_msgs/Quaternionorientationfloat64xfloat64yfloat64zfloat64wfloat64[36]协方差

1.3打开rviz查看

面板--工具属性

2订阅话题

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

#include'ros/ros.h'#include'std_msgs/String.h'#includeGeometry_msgs/PoseWithCovarianceStamped.h#includeiostream#includeGeometry_msgs/PoseStamped.hvoidchatterCallback(constGeometry_msgs:PoseWithCovarianceStamped:ConstPtrmsg){doublex=msg-pose.pose.位置.x;双y=msg-pose.pose.position.y;std:coutxystd:endl;}无效chatterCallback1{std:cout'1111'std:endl;双x=msg-pose.position.x;双y=msg-pose.position.y;std:coutxystd:endl;}intmain(intargc,char**argv){ros:init(argc,argv,'reveive_rviz');ros:NodeHandlenh;ros:SSubscribersub=nh.subscribe('/initialpose',1,chatterCallback);//队列长度:1000或1或其他ros:Subscribersub1=nh.subscribe('/move_base_simple/goal',1,chatterCallback1);//队列长度:1000或1或其他while(ros:ok()){ros:spinOnce();}return0;}

启动rviz和节点程序,使用2DNavGoal、2DPoseEstimate在rviz中进行标记,即可打印出:

订阅开始姿势和结束点并保持发布:

#include'ros/ros.h'#include'std_msgs/String.h'#includeGeometry_msgs/PoseWithCovarianceStamped.h#includeiostream#includeGeometry_msgs/PoseStamped.hros:Publisherinitialpose_pub,goal_pub;geometry_msgs:PoseWithCovarianceStampedinitialpose_tmp;//设置为全局变量,你可以已经发布了geometry_msgs:PoseStampedgoal_tmp;voidinitialpose_handler(constGeometry_msgs:PoseWithCovarianceStamped:ConstPtrmsg){doublex=msg-pose.pose.position.x;双y=msg-pose.pose.position.y;std:cout'起始点坐标:('x','y')'std:endl;初始姿势_tmp=*msg;//initialpose_tmp.header=msg-header;//initialpose_tmp.header=msg-header;initialpose_pub.publish(initialpose_tmp);}voidgoal_handler(constGeometry_msgs:PoseStamped:ConstPtrmsg){doublex=msg-pose.position.x;双y=msg-pose.position.y;std:cout'终点坐标:('x','y')'std:endl;goal_tmp=*消息;goal_pub.publish(*msg);}intmain(intargc,char**argv){ros:init(argc,argv,'reveive_rviz');ros:NodeHandlenh;ros:Subscribersub=nh.subscribe('/initialpose',1,initialpose_handler);//将1000改为1ros:Subscribersub1=nh.subscribe('/move_base_simple/goal',1,goal_handler);//1000改为1initialpose_pub=nh.advertisegeometry_msgs:PoseWithCovarianceStamped('initialpose_my',1);goal_pub=nh.advertisegeometry_msgs:PoseStamped('goal_my',1);while(ros:ok()){ros:spinOnce();}返回0;}

参考链接:

2DNavGoal和2DPoseEstimate功能介绍:rviz/UserGuide-ROSWiki

2D导航目标和2D姿态估计的消息类型:导航/教程/将rviz与导航堆栈结合使用-ROSWiki

相关推荐

  • 培训机构学习linux,培训班linux

    培训机构学习linux,培训班linux

    大家好,今天小编关注到一个比较有意思的话题,就是关于培训机构学习linux的问题,于是小编就整理了3个相关介绍培训机构学习linux的解答,让我们一起看看吧。l…

    培训机构学习linux,培训班linux 2024-10-01 03:26:19
  • 云计算培训linux机构,linux云计算培训班价格

    云计算培训linux机构,linux云计算培训班价格

    大家好,今天小编关注到一个比较有意思的话题,就是关于云计算培训linux机构的问题,于是小编就整理了3个相关介绍云计算培训linux机构的解答,让我们一起看看吧…

    云计算培训linux机构,linux云计算培训班价格 2024-06-18 20:06:54
  • 以色列印度培训机构,以色列christina培训

    以色列印度培训机构,以色列christina培训

    大家好,今天小编关注到一个比较有意思的话题,就是关于以色列印度培训机构的问题,于是小编就整理了4个相关介绍以色列印度培训机构的解答,让我们一起看看吧。亚训有哪些…

    以色列印度培训机构,以色列christina培训 2024-06-07 07:44:05
  • 机智云 esp8266 arduino(esp8266接入机智云教程)

    机智云 esp8266 arduino(esp8266接入机智云教程)

    第十章STM32+ESP8266连接机智云,实现小型物联网智能家居项目前言最近有很多朋友私信,要求我推出一个关于远程控制以及通过APP获取传感器信息的实验教程。…

    机智云 esp8266 arduino(esp8266接入机智云教程) 2024-05-07 09:36:57
  • type = module(typedefintstatus)

    type = module(typedefintstatus)

    type="module"你知道,但是type="importmap"你知道有新系列:Vue2和Vue3技能手册如果你有梦想,有实用信息,就微信搜索【大世界运动…

    type = module(typedefintstatus) 2024-05-07 08:48:12
热门推荐

猜你喜欢