ROS机器人GUI程序开发
文章平均质量分 96
蒋程扬
古月居签约作者,古月学院《如何开发一个ROS人机交互软件》原创作者。联系方式:chengyangkj@qq.com
展开
-
ROS Windows 人机交互软件开发探索与总结二(在win10平板使用ROS人机交互软件)
ROS Windows人机交互软件开发及使用以上线古月学院,欢迎感兴趣的小伙伴订阅如何实现windows ROS人机交互软件win10 ROS安装之后将opt目录及vs2019目录拷贝到平板上即可,详细可参考视频教程原创 2020-12-12 15:44:53 · 2964 阅读 · 1 评论 -
ROS Qt5 librviz人机交互界面开发十三(显示话题列表)
本系列教程文章专栏:ROS机器人GUI程序开发本系列课程已上线古月学院,欢迎感兴趣的小伙伴订阅:ROS Qt开发环境搭建以及基础知识介绍ROS人机交互软件的界面开发ROS Rviz组件开发方法开发交流QQ群: 797497206完整项目代码:github文章目录一,实现效果二,核心API三,程序中调用一,实现效果可以显示多机/单机话题列表,就是在终端使用rostopic list查看话题列表的功能实现,主要参考文献:ROS WIKI二,核心API主要就是这么两句:ros:原创 2020-08-08 12:00:25 · 3649 阅读 · 3 评论 -
ROS Windows 人机交互软件开发探索与总结一(开发环境搭建及ROS Win10 Qt功能包的编译运行)
前言在ROS librviz 人机交互软件开发系列教程中我们实现了Ubuntu端的界面开发。但是很多小伙伴问到能不能在Windows上进行开发,当时回复是不能,主要就是库的依赖问题难解决。但是我想了想ROS是有windows版本的,并且也能运行rviz之类的,既然rviz都可以在windows上运行,就说明是有库可以支持的。于是本人又进行了一番探索与总结.本篇教程主要是介绍ROS Windows开发环境的搭建,ROS Windows基本的使用。以及在Windows中编译ROS Qt功能包。实现效果1转载 2020-07-27 16:09:42 · 3350 阅读 · 0 评论 -
ROS Qt5 librviz人机交互界面开发十二(订阅图像话题并在界面中显示)
这篇文章主要实现Qt中订阅Ros图像话题,并在界面中Label上显示一,实现效果二,添加依赖首先在功能包的CMakeLists.txt中添加依赖(ensor_msgscv_bridgeimage_transport)find_package(catkin REQUIRED COMPONENTS rviz roscpp sensor_msgs cv_bridge std_msgs image_transport )三,订阅话题 ros::NodeHandl原创 2020-05-12 10:56:35 · 4976 阅读 · 7 评论 -
ROS Qt5 librviz人机交互界面开发十一(显示机器人URDF模型)
一,实现效果二,核心代码和前面创建图层一样,通过manager_创建一个图层: rviz::Display* RobotModel_=NULL;//显示robotModel void QRviz::Display_RobotModel(bool enable) { if(RobotModel_==NULL) { RobotModel_=manager_->createDisplay("rviz/RobotModel","Qrviz Ro原创 2020-05-12 10:43:07 · 4327 阅读 · 7 评论 -
ROS Qt5 librviz人机交互界面开发十(实现定点返航功能)
这个功能实现起来也不难,主要就是先监听amcl_pose话题,获取小车在地图上的实时位置,如果点击设置返航点了则记下此位置,点击返航时则把该位置作为返航目标话题发送出去一,配置package.xml由于获得机器人位置的话题类型是geometry_msgs所以需要添加功能包对此话题的支持在package.xml文件添加如下两行: <build_depend>geometry_ms......原创 2020-04-13 20:42:28 · 2588 阅读 · 0 评论 -
ROS Qt5 librviz人机交互界面开发八(实现导航功能的完整显示)-全网首发
在上一篇教程我们已经实现导航的初始点和目标点的设置:ROS Qt5 librviz人机交互界面开发七(发布导航目标点和原点位置)-全网首发这一篇主要实现完整显示,在文章末尾有完整项目地址哦~一,显示效果设置初始点:设置目标点:二,核心代码如果看过前几篇博客,其实也就是添加几个图层:核心代码: //显示导航相关 void QRviz::Display_Navigate(bool......原创 2020-04-11 20:24:33 · 4262 阅读 · 1 评论 -
ROS Qt5 librviz人机交互界面开发七(发布导航目标点和原点位置)-全网首发
在前面几篇教程中我们已经实现了订阅map话题,这篇我们主要就是实现rviz中的设置目标点和初始点的功能一,实现效果:在地图上选点后librviz就会自动进行变换,发布目标点信息实现如下:可以发现控制台提示已经发布了位置点话题:在下一篇博客继续实现完整导航功能二,核心代码其实核心代码也就两三句,但是目前网上关于librviz的资料少之又少,连官方都没有api说明,只有最简单的一个de......原创 2020-04-11 09:51:10 · 4696 阅读 · 20 评论 -
ROS Qt5 librviz人机交互界面开发六(显示激光雷达点云数据)
最终显示效果:如果按照本人前几篇博客的话进程的话,就很容易实现这个功能了,主要就是用manager添加一个display:核心代码://显示激光雷达void QRviz::Display_LaserScan(bool enable,QString topic){ if(laser_==NULL) { laser_=manager_->createDi...原创 2020-04-08 19:54:10 · 4496 阅读 · 2 评论 -
ROS Qt5 librviz人机交互界面开发五(订阅map话题)
这一篇教程在教程四的基础上进行修改,修改了部分bug,实现了map图层的添加,显示,放大,缩小等:qrviz.h#ifndef QRVIZ_H#define QRVIZ_H#include <QVBoxLayout>#include <rviz/visualization_manager.h>#include <rviz/render_panel.h&g...原创 2020-04-08 12:26:05 · 4294 阅读 · 13 评论 -
Ros机器人Rviz Qt5插件开发(1)——机器人速度控制插件开发
一,创建功能包在工作空间src目录下:catkin_create_pkg cmd_control roscpp rviz std_msgs二,配置功能包2.1添加类到功能包src目录:2.2添加plugin描述文件plugin_description.xml到功能包根目录: <library path="lib/cmd_control"> <clas...原创 2020-04-06 12:31:45 · 5116 阅读 · 5 评论 -
ROS Qt5 librviz人机交互界面开发四(添加rviz显示界面)
创建librviz界面类:qrviz_widget.h#ifndef QRVIZ_WIDGET_H#define QRVIZ_WIDGET_H#include <QWidget>#include <rviz/visualization_manager.h>#include <rviz/render_panel.h>#include <rvi...原创 2020-04-05 15:26:07 · 18098 阅读 · 23 评论 -
ROS Qt5 librviz人机交互界面开发三(实现控制机器人速度与方向)
我这里主要就是参考teleop_twist_keyboard项目的源代码,移植到自己程序一,首先在ui界面添加按钮(注意按钮上显示的文字):同时在ui界面设置每个按钮的shortcut,就能实现键盘控制:二,关联这些按钮的点击事件到同一槽函数 //绑定速度控制按钮 connect(ui.pushButton_i,SIGNAL(clicked()),this,SLOT(slot_c......原创 2020-04-05 10:56:11 · 7833 阅读 · 14 评论 -
ROS Qt5 librviz人机交互界面开发一(配置QT环境)
一,首先安装ros对qt pkg的支持sudo apt-get install ros-melodic-qt-createsudo apt-get install ros-melodic-qt-build这样就能通过:catkin_create_qt_pkg命令创建ros gui包了:在src目录下创建包:catkin_create_qt_pkg qt_ros_test二,安装......原创 2020-03-28 16:59:21 · 26542 阅读 · 86 评论