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

QT搭建的Ros/librviz的GUI软件

1.前言

开发初期学习了下面博主的文章,也报了他在古月局的课,相当于感谢吧。

ROS Qt5 librviz人机交互界面开发一(配置QT环境)-CSDN博客​​​​​​​r

软件前期也是参考他的开源项目

GitHub - chengyangkj/Ros_Qt5_Gui_App at simple

想要开发相关软件的肯定也都发现网上关于RosQT编程的学习资料很少,librviz的资料更少,而且很多也都是复制粘贴别人的。编写这个软件花了很多功夫,包括如何导入ros库,写cmake,看rviz源码。前期想把一个RosQT工程编译出来都花了很长时间。

当前程序运行稳定不会崩溃,各种用户瞎操作的情况都考虑到了,只有rtsp拉取可能有一点小bug,但也只会影响视频,软件不会崩溃。

代码写的很垃圾,但是功能实现了,垃圾代码可以后期规范,其实也不想去规范,能跑就行。

2.开发环境

系统:Ubuntu1804

Ros:melodic

开发工具:QtCreator

QT版本:5.14.1 (没有用ros官方提供的ros_plugin插件,插件只支持5.9好像)

FFmpeg:4.4(各个版本接口不一样,所以不同版本的代码会出错)

3.功能介绍

主界面

软件所有设置支持关闭前自动保存,再次打开时恢复上次关闭前状态

上方:

        状态:与Ros主节点连接状态

        延迟:与机器人之间的延迟,通过ping实现

        电量:完整动画效果,低于20%呈现红色,还有黄色和绿色,通过ros节点实现

        电压:电量是通过计算电压得出

        设置按键:

 左侧:

        仪表盘:显示速度,有一些其他接口没用到,例如挡位等,因为用的是汽车仪表盘控件

        基本设置:角速度/线速度/等

        键盘控制:

右侧:

        可以后续增加其他功能控件

RTSP视频拉取

        支持四路RTSP协议的视频流拉取,每个视频是一个单独线程

        单个视频双击可以最大化

        可以设置单个视频分辨率,下图该功能代码没合进去

建图与导航

        支持rviz常用Tool

        支持设置返航点并且一键返航

        支持rviz插件功能,在工作空间中编译好插件后,需要在代码里给插件编写界面,如图中的3D Nav Goal

        支持视角改变,当前只支持第三人称和俯视

        支持显示rviz常用图层,只需在设置里进行选择配置

 2D地图显示

点云显示

模型显示

        可以实时显示机器人状态,例如有机械臂时可以实时显示机械臂姿态 

设置选项

基础设置

话题设置:基于Ros的一些功能的话题设置

连接:与Ros主节点连接设置,可以设置成打开软件自动连接

视频:rtsp拉取的地址

主题:包括黑色/灰色/蓝色主题

rviz地图配置

配置过程与rviz一样,可以进行增删改

支持基本上所有的rviz图层

支持保存配置到文件,和读取配置配件功能

支持打开软件自动读取上次配置

 

视角设置

        当前支持第三人称和俯视,并进行如下配置

        TargetFrame的选择可以使视角对机器人进行跟随

节点信息

        节点信息查看

http://www.lryc.cn/news/247869.html

相关文章:

  • Docker 概述与安装
  • JS作用域与作用域链
  • elmentui 查看大图组件 点击图片关闭弹窗方法
  • 蓝桥杯官网练习题(最长子序列)
  • Make sure that using this pseudorandom number generator is safe here.
  • 【C/C++】常见模拟题题解
  • TikTok 购物和直播的 5 个简单技巧
  • 神经网络中BN层简介及位置分析
  • BGP基础配置
  • 【开题报告】基于深度学习的驾驶员危险行为检测系统
  • Linux云服务器打包部署前端Vue项目
  • Egg.js中Cookie和Session
  • 与 PCIe 相比,CXL为何低延迟高带宽?
  • Vue 入门指南:从零开始学习 Vue 的基础知识
  • 11.docker的网络-docker0的理解及bridge网桥模式的介绍与实例
  • 新材料制造ERP用哪个好?企业应当如何挑选适用的
  • vr小鼠虚拟解剖实验教学平台减少了受感染风险
  • 【算法萌新闯力扣】:环形链表及环形链表II
  • 10.docker的网络network-概述
  • CodeTON Round #7 (Div. 1 + Div. 2)
  • 剑指 Offer(第2版)面试题 10:斐波那契数列
  • Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程
  • Spark_spark参数配置优先级
  • ElasticSearch之Search settings
  • 二十二、数组(4)
  • 『 MySQL数据库 』CRUD之UD,表的数据更新(修改)及删除
  • 贪心算法及相关例题
  • 给企业做公众号运营你都有哪些宝贵经验?
  • 2023亚太地区数学建模B题思路分析+模型+代码+论文
  • Electron+Ts+Vue+Vite桌面应用系列:sqlite增删改查操作篇