android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)

在学习ROS之后,发现ROS的开发教程多依赖于直接编写源代码和相关的编译解析文件,需要单独打开某个文件、编辑、保存,这个过程比较繁琐,同时所有的数据信息均在终端中以字符的方式显示出来,键入命令同样需要在终端中输入字符命令,如果是用于较大的ROS工程,总不能所有调试工作,每改动一下参数都键入字符命令吧。可以使用人机交互界面,使用按钮,输入框等控件简化这一过程,并且使调试过程更加清晰明确,比如这样的界面:

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第1张图片

经多方查阅资料最终确定一种切实可行的ROS人际交互界面(GUI)编程和源码管理方案——QT-ROS。即利用qt-ros插件,在QT Creator上进行GUI的编写。环境配置完成后软件界面如下图所示,能够编辑交互界面并提供源文件的规范管理:

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第2张图片

人机交互界面运行结果如下:

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第3张图片

这个demo中,ROS节点功能是:以每秒一次的速度发布一个话题消息,并将发布的消息内容做输出显示。GUI界面的功能是:显示节点管理器的信息和当前的IP地址,在点击connect按钮后启动ROS节点,并将ROS节点的输出信息在日志栏中显示出来。虽然功能简单,但后期可以在此基础上开发机器人的人际交互系统,QT是一个功能强大的跨平台IDE,兼容性很优秀。在QT上开发GUI无疑是很好的选择,但是QT开发主要是C++语言,ROS常用的Python脚本不知道能不能兼容。

下面是ros-qt的配置方式:参考官网链接https://ros-qtc-plugin.readthedocs.io/en/latest/_source/How-to-Install-Users.html#qt-installer-procedure

1. 使用在线安装工具安装qtcreator-ros,在官网中选择对应ubuntu的安装包,下载运行即可

2. 依次执行(16.04版本,其他版本参考官网命令)

     sudo apt install ppa-purge
     sudo ppa-purge -o beineri
     sudo ppa-purge levi-armstrong/qt-libraries-xenial
     sudo ppa-purge levi-armstrong/ppa

3. 安装qtcreator (5.5版本以上就行)

          sudo add-apt-repository ppa:ubuntu-toolchain-r/test
           sudo add-apt-repository ppa:levi-armstrong/qt-libraries-trusty
           sudo add-apt-repository ppa:levi-armstrong/ppa
          sudo apt-get update
           sudo apt-get install qt57creator-plugin-ros libqtermwidget57-0-dev

如果这里出现错误:下列软件包有未满足的依赖关系: qt57creator-plugin-ros : 依赖: libqtermwidget59-0 (>=0.6.1) 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

可以试试以下命令:

          sudo apt-get update
          sudo apt-get update && sudo apt install qt59creator
          sudo apt-get install qt57creator-plugin-ros

参考链接:https://blog.csdn.net/baidu_28455067/article/details/79515740

然后,就可以在电脑上发现一个软件 qt 5.9.1 Creator:

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第4张图片

4. 安装ROS的qt功能包,打开控制台输入

sudo apt-get install ros-kinetic-qt-ros

5. 创建带有GUI的ROS工作空间,依次在终端键入命令

        mkdir -p ~/catkin_test/demo/src
        cd catkin_test/
        catkin_make
        cd demo/src/
        catkin_create_qt_pkg testgui

这时在src下会有一个testgui的文件夹,文件夹内文件如图所示。这是一个官方搭建好的ROS-QT文件,官方定义了一些功能,开发人员可以在此基础上进行修改。

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第5张图片

6. 编译工作空间

        cd catkin_test/
        catkin_make

7. 把创建好的工作空间导入到QT5.9中

先打开QT5.9.1,选择新建工程(new project),选择ROS workspace,点击choose,随后填入name: qt_ros ,在Workspace Path中选择刚才创建的功能包里src所在的路径,点击next,下一个界面中点击finish。

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第6张图片

这时会进入界面,将文件展开会出现

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第7张图片

此时整个工程已经搭建完成,但会发现左下角的小三角(运行按钮)是灰色的(这里图片是绿色,因为我已经设置过了),这时需要进行最后一步的设置,点击左侧projects按钮,设置Run Configuration如下图所示:

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第8张图片

此时左下方的小三角变成绿色。

接下来先点击编译(左下方的锤子),再点击运行就会出现界面

android ros 节点编写_ROS学习笔记——ROS人机交互界面(GUI)_第9张图片

接下来,先运行终端,启动roscore,再勾选Use environment variables复选框,再点击Connect按钮即可看到第三张图片所示的运行界面图。

参考链接: https://blog.csdn.net/qq_42263553/article/details/102491415?utm_medium=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

你可能感兴趣的:(android,ros,节点编写,python,qt5漂亮界面,qt,软件界面皮肤,qt学习资料,qt漂亮gui界面模板)