ROS Qt5 librviz人机交互界面开发八(实现导航功能的完整显示)-全网首发
原创
©著作权归作者所有:来自51CTO博客作者蒋程扬的部落格的原创作品,请联系作者获取转载授权,否则将追究法律责任
本系列教程文章专栏:
ROS机器人GUI程序开发
开发交流QQ群: 797497206
完整项目代码:
github
文章目录
- 前言
- 一,显示效果
- 二,核心代码
- 三,完整开源项目
- (转载请注明作者和出处、未经允许请勿用于商业用途)
前言
在上一篇教程我们已经实现导航的初始点和目标点的设置:
ROS Qt5 librviz人机交互界面开发七(发布导航目标点和原点位置)-全网首发 这一篇主要实现完整显示,在文章末尾有完整项目地址哦~
一,显示效果
设置初始点:
设置目标点:
二,核心代码
如果看过前几篇博客,其实也就是添加几个图层:
核心代码:
//显示导航相关
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标个星哦~~
您的支持就是我最大的动力~
(转载请注明作者和出处、 未经允许请勿用于商业用途)