ROS2编程基础课程--rqt
Overview and Usage of RQt
RQt的概述和用法
Overview 概述
RQt is a graphical user interface framework that implements various tools and interfaces in the form of plugins. One can run all the existing GUI tools as dockable windows within RQt! The tools can still run in a traditional standalone method, but RQt makes it easier to manage all the various windows in a single screen layout.
RQt是一个图形用户界面框架,以插件的形式实现各种工具和接口。可以将所有现有的GUI工具作为RQt中的可停靠窗口运行!这些工具仍然可以在传统的独立方法中运行,但RQt使得在单个屏幕布局中管理所有各种窗口变得更加容易。
You can run any RQt tools/plugins easily by:
可以通过以下方式轻松运行任何RQt工具/插件(ros2 run rqt_gui rqt_gui):
rqt
This GUI allows you to choose any available plugins on your system. You can also run plugins in standalone windows. For example, RQt Python Console:
此GUI允许选择系统上的任何可用插件。还可以在独立窗口中运行插件。例如,RQt Python控制台:
ros2 run rqt_py_console rqt_py_console
Users can create their own plugins for RQt with either Python or C++. Over 20 plugins were created in ROS 1 and these plugins are currently being ported to ROS 2 (as of Dec 2018, more info).
用户创建自定义RQT插件的方法有两种Python或C++。 在ROS 1中创建了20多个插件,这些插件目前正被移植到ROS 2(截至2019年09月,更多信息)。
System setup 系统设置
Installing From Debian 从Debian安装
sudo apt install ros-$ROS_DISTRO-rqt*
Building From Source 从源代码编译
See Building RQt from Source. 请参考从源编译RQt
RQt Components Structure RQt组件结构
RQt consists of three metapackages: RQt由三个元数据包组成:
- rqt - core infrastucture modules.
rqt - 核心基础设施模块。
- rqt_common_plugins - Backend tools for building tools.
rqt_common_plugins - 用于编译工具的后端工具。
TODO: as of Dec 2018 this metapackage isn’t available in ROS 2 since not all plugins it contains have been ported yet.
TODO:截至2018年12月,这个元数据包在ROS 2中不可用,因为它并不包含所有插件。
- rqt_robot_plugins - Tools for interacting with robots during runtime.
rqt_robot_plugins - 用于在运行时与机器人交互的工具。
TODO: as of Dec 2018 this metapackage isn’t available in ROS 2 since not all plugins it contains have been ported yet.
TODO:截至2018年12月,这个元数据包在ROS 2中不可用,因为它并不包含所有插件。
Advantage of RQt framework RQt框架的优点
Compared to building your own GUIs from scratch:
与从头开始编译自己的GUI相比:
- Standardized common procedures for GUI (start-shutdown hook, restore previous states).
GUI的标准化通用过程(启动 - 关闭挂钩,恢复以前的状态)。
- Multiple widgets can be docked in a single window.
多个小部件可以停靠在一个窗口中。
- Easily turn your existing Qt widgets into RQt plugins.
轻松将现有的Qt小部件转换为RQt插件。
- Expect support at ROS Answers (ROS community website for the questions).
可获得ROS Answers(ROS社区网站上的问题)的支持。
From system architecture’s perspective:
从系统架构的角度来看:
- Support multi-platform (basically wherever QT and ROS run) and multi-language (Python, C++).
支持多平台(基本上是QT和ROS运行的地方)和多语言(Python,C++)。
- Manageable lifecycle: RQt plugins using common API makes maintainance & reuse easier.
可管理的生命周期:使用通用API的RQt插件使维护和重用更容易。
Further Reading 扩展阅读
ROS 2 Discourse announcment of porting to ROS2. ROS 2 Discourse 宣布移植到ROS2。
RQt for ROS 1 documentation. RQt for ROS 1文档。
Brief overview of RQt (from a Willow Garage intern blog post). RQt概述(来自Willow Garage实习生博客文章)。
文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。
原文链接:zhangrelay.blog.csdn.net/article/details/100773535
- 点赞
- 收藏
- 关注作者
评论(0)