ROS人机交互软件源码分享

ROS人机交互软件源码分享

1、前言

看过之前两篇文章的朋友,应该都知道,这里写了一个ROS人机交互软件。

关于 网友对 “Robot One” 使用情况,我也不太清楚(尴尬…),但是为了满足一些有软件修改需求的同学,这里直接分享一下源码。

2、软件功能和使用介绍

关于软件的功能和使用介绍,这里就不在重复,没有看过的同学,可以先看下面两篇文章。

3、开发环境搭建

为了保障拿到源码的同学,可以顺利的进行源码编译,这里简要的写一下开发环境搭建。

这里以ubuntu 16.04 + ROS Kinetic为例,ubuntu 18.04以及其他类似,只要选择对应的软件版本就好。

3.1、初识Qt

官网地址:https://www.qt.io/cn

3.2、Qt安装

ROS人机交互软件源码分享_第1张图片

注意:通过apt安装的可能用这比较卡,可以选择使用安装包安装;

下载地址:https://download.qt.io/archive/qt/5.9/5.9.9/ 分享文件中也有。

这里选择的版本是:5.9.9/ linux版本,然后,更改下载文件的可执行权限,双击运行,按照上图选项安装。

sudo chmod a+x qt-opensource-linux-x64-5.9.9.run

ROS人机交互软件源码分享_第2张图片

注意:将上述的/xxxx/Qtxxx/,更改为自己的QT安装目录。

添加qtcreator到环境变量

sudo vim /usr/bin/qtcreator

内容如下(按照自己的安装路径,更改一下)

#!/bin/sh 
export QT_HOME=/home/kexue/Qt5.9.9/Tools/QtCreator/bin/
$QT_HOME/qtcreator $*

更改可执行权限

sudo chmod a+x /usr/bin/qtcreator

终端启动

qtcreator

3.3、catkin_create_qt_pkg环境配置

一、安装依赖,使用自己的ros版本命令安装,如ros-kinetic等。

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

二、复制功能包

将分享的robot_one功能包复制到您工作空间下的src目录下

三、编译运行

catkin_make                #编译
rospack profile            #刷新功能包路径
rosrun robot_one robot_one #运行之前,打开roscore

3.4、通过Qt 打开 qt ros功能包

ros-kinetic 版本,Qtcreator可能无法正常打开 qt ros功能包,可以使用ros-qtc-pluging解决,外网速度快。

一、下载安装包并安装

安装下载路径:https://ros-qtc-plugin.readthedocs.io/en/latest/_source/How-to-Install-Users.html 分享文件中也有。

ROS人机交互软件源码分享_第3张图片

双击 qtcreator-ros-xenial-latest-offline-installer.run 安装

ROS人机交互软件源码分享_第4张图片

安装完成之后双击桌面生成的qt图标打开。

二、打开qt ROS功能包

创建ROS工作空间

ROS人机交互软件源码分享_第5张图片

然后workspace path选中自己已有的工作空间目录(注意工作空间需要提前执行catkin_make),name和工作空间名称同名即可,build system选中catkin_make:

ROS人机交互软件源码分享_第6张图片

点击Next,点击下一步,即可打开。同时也会在工作空间目录下自动生成.workspace后缀的文件,打开工作空间即也通过这个文件打开(file->open file or project )

点击项目,点击run,配置run路径(选中devel/lib目录下的可执行程序),即可实现点击绿色三角形按钮同时构建并运行程序。

ROS人机交互软件源码分享_第7张图片

然后点击左下角箭头点击run,即可运行程序。

4、软件源码文件结构介绍

关于软件的源码结构介绍,如下图所示:
ROS人机交互软件源码分享_第8张图片

主要需要看的是src和ui文件夹,ui 下都是界面的设置,src是整个软件的源码文件。

main.cpp是工程默认的

main_window.cpp是关于主窗口的所有流程,从这里你可以看到整个代码的调用流程

mypaint.cpp是关于编辑地图的功能,你也可以独立的拿出来写一个工程使用

qnode.cpp是ros的相关代码,订阅、发布话题等等内容

qrviz.cpp是为了可视化写的rviz的部分功能

5、软件源码分享

在公众号:小白学移动机器人,发送:人机交互0405,即可获得ROS人机交互软件所有源码。

6、其他

ROS小车平台开发手册pdf分享,在公众号:小白学移动机器人,发送:开发手册0405,即可获得。

系列文章

以往链接,点击访问。

上一篇:ROS人机交互软件免费分享
在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(ROS人机交互界面,ros人机交互,ros,qt)