当前位置: 首页 > news >正文

上海网站建设公司页溪网络百度四川建设厅网站

上海网站建设公司页溪网络,百度四川建设厅网站,wordpress保存文件,网站推广网站制作网站建设公司这里对MoveBase类的类成员进行了声明,以下为比较重要的几个类成员函数。 构造函数 MoveBase::MoveBase | 初始化Action 控制主体 MoveBase::executeCb收到目标,触发全局规划线程,循环执行局部规划 全局规划线程 void MoveBase::planThread |…

在这里插入图片描述
在这里插入图片描述

这里对MoveBase类的类成员进行了声明,以下为比较重要的几个类成员函数。

  1. 构造函数 MoveBase::MoveBase | 初始化Action 控制主体 MoveBase::executeCb
  2. 收到目标,触发全局规划线程,循环执行局部规划 全局规划线程 void MoveBase::planThread | 调用全局规划
  3. 全局规划 MoveBase::makePlan | 调用全局规划器类方法,得到全局规划路线 局部规划
  4. MoveBase::executeCycle | 传入全局路线,调用局部规划器类方法,得到速度控制指令
1.MoveBase的构造函数

以下是MoveBase的构造函数,为了方便本文的写作,我将它的语句顺序做了适当的调整,不影响整个系统的运行。如下面的代码片段所示,在一开始对一系列的成员变量赋予了初值:
tf_是坐标变换TF2的接口对象;
as_则是Action服务器;
planner_costmap_ros_是用于全局规划器的代价地图对象;
controller_costmap_ros_则是局部规划器所用的代价地图对象;
bgp_loader_是装载全局规划器插件的工具;
blp_loader_是装载局部规划器插件的工具;
planner_plan_, latest_plan_ 和controller_plan_是三个记录规划结果的缓存;
runPlanner_, setup_, p_freq_change_, c_freq_change_, new_global_plan_则是一些控制和反映MoveBase系统状态的布尔变量。

        MoveBase::MoveBase(tf2_ros::Buffer& tf) :tf_(tf), as_(NULL), planner_costmap_ros_(NULL), controller_costmap_ros_(NULL),bgp_loader_("nav_core", "nav_core::BaseGlobalPlanner"),blp_loader_("nav_core", "nav_core::BaseLocalPlanner"), recovery_loader_("nav_core", "nav_core::RecoveryBehavior"),planner_plan_(NULL), latest_plan_(NULL), controller_plan_(NULL),runPlanner_(false), setup_(false), p_freq_change_(false), c_freq_change_(false), 				new_global_plan_(false)

在构造函数的一开始,定义了两个ROS的句柄,用于获取节点参数,订阅和发布主题。以下面的第13和14行为例,MoveBase从参数服务器中获取了全局规划器和局部规划器的名称, 如果系统中没有定义这些参数,将以默认值"navfn/NavfnROS"和"base_local_planner/TrajectoryPlannerROS"完成初始化工作。还有很多其它参数需要配置,这里不再一一介绍。

			ros::NodeHandle private_nh("~");ros::NodeHandle nh;std::string global_planner, local_planner;private_nh.param("base_global_planner", global_planner, std::string("navfn/NavfnROS"));private_nh.param("base_local_planner", local_planner, std::string("base_local_planner/TrajectoryPlannerROS"));// 省略其它加载参数的语句

然后,构建了轨迹规划结果缓存planner_plan_, latest_plan_和controller_plan_。并且创建了一个线程planner_thread_用于轨迹规划。

         planner_plan_ = new std::vector();latest_plan_ = new std::vector();controller_plan_ = new std::vector();planner_thread_ = new boost::thread(boost::bind(&MoveBase::planThread, this));

具体可参见文章move_base

Reference

1.Navigation Move_Base代码阅读

http://www.yayakq.cn/news/695788/

相关文章:

  • 北京互联网公司建网站百度下载安装免费
  • 怎样注册网站建立网页《基层建设》在哪个网站收录的
  • 汽车网站建设规划书企业网络营销活动
  • 珠海市建设局网站做网站和论坛区别
  • 做网批的网站玉林市住房和城乡建设局网站
  • 博瑞微传媒建站快车网站 租用服务器
  • php做网站导购黑龙江建设网ca锁费用
  • 武义县建设局网站首页金寨建设工程质量监督站网站
  • 网站建设(信科网络)免费成品网站模板
  • 乔拓云在线设计网站使用公网ip做网站地址
  • 公司官方网站推广策划做贺卡的网站
  • 响应式网站建设效果大良商城网站建设
  • 网站建设商城建设江苏聚峰建设集团网站
  • 用心做电影的网站网站制作价格行情
  • 企业营销是啥意思快推达seo
  • 微信怎么建设自己网站如何做一个简单的网站
  • 现在做个企业网站一般多少钱抄袭wordpress主题
  • love域名做的网站湖北做网站公司
  • 网站制作入门课程品牌建设助力高质量发展
  • 站长素材音效网站软件定制开发制作
  • 室内设计网站平面案例wordpress 百度翻译插件
  • 做外贸网哪些网站免费360云盘做服务器建设网站
  • 产品网站定制网页设计代码模板在哪找
  • 天津建设工程合同备案网站最近国内重大新闻
  • 购物网站设计理念wordpress 微信 商城
  • 做网站实训心得友情链接购买网站
  • 南宁做网站的公司seo搜索引擎推广
  • 拼多多无货源电商怎么做一个网站的优化怎么做
  • 太原做网站推广的公司网站建设的风险
  • 许昌那有做网站某网站安全建设方案