本系列教程文章专栏:

​​ROS机器人GUI程序开发​​

ROS Qt5 librviz人机交互界面开发八(实现导航功能的完整显示)-全网首发_开发语言

开发交流QQ群: 797497206
完整项目代码:
​​​github​

文章目录

  • ​​前言​​
  • ​​一,显示效果​​
  • ​​二,核心代码​​
  • ​​三,完整开源项目​​
  • ​​(转载请注明作者和出处、未经允许请勿用于商业用途)​​

前言

在上一篇教程我们已经实现导航的初始点和目标点的设置:
​ROS Qt5 librviz人机交互界面开发七(发布导航目标点和原点位置)-全网首发​​ 这一篇主要实现完整显示,在文章末尾有完整项目地址哦~

一,显示效果

设置初始点:

ROS Qt5 librviz人机交互界面开发八(实现导航功能的完整显示)-全网首发_开源项目_02


设置目标点:

ROS Qt5 librviz人机交互界面开发八(实现导航功能的完整显示)-全网首发_qt_03

二,核心代码

如果看过前几篇博客,其实也就是添加几个图层:
核心代码:

//显示导航相关
void QRviz::Display_Navigate(bool enable,QString Global_topic,QString Global_planner,QString Local_topic,QString Local_planner)
{
if(Navigate_localmap) {delete Navigate_localmap; Navigate_localmap=NULL;}
if(Navigate_localplanner) {delete Navigate_localplanner; Navigate_localplanner=NULL;}
if(Navigate_globalmap) {delete Navigate_globalmap; Navigate_globalmap=NULL;}
if(Navigate_globalplanner) {delete Navigate_globalplanner; Navigate_globalplanner=NULL;}
//local map
Navigate_localmap=manager_->createDisplay("rviz/Map","Qlocalmap",enable);
Navigate_localmap->subProp("Topic")->setValue(Local_topic);
Navigate_localmap->subProp("Color Scheme")->setValue("costmap");
Navigate_localplanner=manager_->createDisplay("rviz/Path","QlocalPath",enable);
Navigate_localplanner->subProp("Topic")->setValue(Local_planner);
Navigate_localplanner->subProp("Color")->setValue(QColor(0,12,255));
//global map
Navigate_globalmap=manager_->createDisplay("rviz/Map","QGlobalmap",enable);
Navigate_globalmap->subProp("Topic")->setValue(Global_topic);
Navigate_globalmap->subProp("Color Scheme")->setValue("costmap");
Navigate_globalplanner=manager_->createDisplay("rviz/Path","QGlobalpath",enable);
Navigate_globalplanner->subProp("Topic")->setValue(Global_planner);
Navigate_globalplanner->subProp("Color")->setValue(QColor(255,0,0));
//更新画面显示
manager_->startUpdate();

}

三,完整开源项目

在我自己学习的过程中目前发现没有相关类似完整开源项目,为了帮助其他人少走弯路,我决定将自己的完整项目开源:
​​​github​​​ 创作不易,如果本教程对你有帮助,关注或点个赞吧,或者github标个星哦~~
您的支持就是我最大的动力~

(转载请注明作者和出处、 未经允许请勿用于商业用途)