ubuntu18.04 在QT中添加ros环境搭建 亲测可用

环境 :

    Ubuntu 18.04 LTS

 

开始前准备工作

 

       ubuntu18 安装ROS   参考  http://wiki.ros.org/melodic/Installation/Ubuntu

 

1、在ROS环境下安装 QT Creator


第一步 安装Qt Creator

         Ubuntu系统库自带的qtcreator并没有ROS插件,需要自己通过ppa方式安装,网上多是基于14.04版本的,且较为繁琐,并不推荐。这里要介绍的是带有ROS插件的Qt Creator安装,链接如下:
ros-qtc-plugin How to Install (Users)

下载文件名为  qtcreator-ros-bionic-latest-offnline-installer.run,进入文件所在目录,使用如下命令安装:

chmod +x qtcreator-ros-bionic-latest-offnline-installer.run
sudo
./qtcreator-ros-bionic-latest-offnline-installer.run


弹出安装界面,按链接中的步骤一步步走即可。

 

第二步 安装 ROS 的 QT 相关功能包

sudo apt-get update 

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

 

第三步 测试 QT 功能包


3.1 新建工作空间,并新建一个名为 hello 的  qt功能包

mkdir -p qt_ws/src 
cd qt_ws/src
catkin_create_qt_pkg hello roscpp rospy std_msgs //注意这里是 catkin_create_qt_pkg,不是 catkin_create_pkg
cd ..
catkin_make


3.2 运行节点

source devel/setup.bash

rosrun hello hello


出现以下软件弹窗证明 Q T 功能包测试成功

 

 

2.使用Qt Creator开发ROS

   为了开发ROS,首先需要创建工作空间,然后创建程序包,接下来根据需要编写消息文件、服务文件,动作文件等资源文件,然后利用catkin_make编译生成相应的编程语言目标文件,最后创建节点、launch文件、机器人模型等。
Qt Creator为开发ROS程序提供了良好的代码编辑、编译、调试工具,在本小节中,我们将介绍如何利用Qt Creator开发一个名为“Hello ROS”的基本节点。
1.创建工作空间

首先,打开QtCreator的“New Project”,并选择“Other Project”,选择“ROS Workspace”模板,如图1所示:

 

                     图1

选择ROS Workspace创建项目
然后,设置项目名为catkin_ws,设置工作空间路径为~/ros/catkin_ws,其中~代表当前用户目录。ROS版本默认选择Melodic,编译系统选择CatkinMake,设置完成后点击“下一步”。设置工程名和位置如图2所示:

 

 
最后,设置GIT、SVN、CVS等版本控制系统,默认无。点击“完成”按钮即可完成工作空间的创建,如图3所示:

 

 
ROS会创建catkin_ws.workspace文件设定ROS版本和编译系统,并创建src目录和工作空间的CMakelists.txt文件,CMakelists.txt文件对catkin编译系统进行了配置,如图4:

 

 


2.创建程序包

工程创建完之后,就可以创建程序包了。右键点击图4的src目录,选择“New File”创建程序包,在弹出的界面选择ROS–>Package,然后点击“Choose”,如图5所示:

 

 
在弹出的窗口中,设置包名及路径,默认为src目录,在所示的Catkin中添加依赖roscpp、rospy、std_msgs,依赖之间用逗号隔开,这意味着该程序包支持C++和Python两种开发语言,并支持ROS标准消息输出,最后点击“Next”,如图6所示:

 

 


最后弹出工作空间和版本控制界面,程序包“example_01”就会被添加到工作空间catkin_ws中,界面如图7所示:

 

 


点击“完成”按钮即可完成程序包的创建。创建完成后,ROS会自动地在相应的目录下初始化生成CMakeLists.txt、Package.xml等文件和include、src等目录。
然而,在QtCreator左侧栏看不到新添加的包,但系统中已经存在相应的文件。猜测应该是QtCreator的bug。此时关闭工程,重新导入可解决。


3.创建节点

接下来创建节点,右键点击程序包example_01下的目录src,选择“Add New”,QtCreator支持基本节点、发布者节点、订阅者节点、服务端节点、客户端节点、launch文件、URDF文件等的创建,并提供了基本的模板。在此我们选择“Basic Node”,点击“Choose”(为节省篇幅,不再重复截图)。
在弹出的新建基本节点界面中,设置文件名为hello.cpp,文件路径默认为/home/simon/ros/catkin_ws/src/example_01/src,如图8所示:

 

 
点击“下一步”按钮作进一步配置,然后点击“完成”将hello.cpp文件添加到程序包example_01中。
自动生成的hello.cpp文件仅对ROS进行初始化并创建了一个节点句柄,内容如下:

#include <ros/ros.h>

int main(int argc, char **argv)
{
  ros::init(argc, argv, "hello");
  ros::NodeHandle nh;

  ROS_INFO("Hello world!");
}

 


接下来需要编辑文件example_01/CMakeLists.txt(注意不要搞错哦,不要和catkin_ws/src目录下的CMakeLists.txt混淆),配置可执行文件和目标链接库,可链接到ros/ros.h,可执行文件名为hello,内容如下:

//添加可执行文件
add_executable(hello src/hello.cpp)
//将可执行文件和库文件链接
target_link_libraries(hello
    ${catkin_LIBRARIES}
)



4.编译

网上的资料都是点击左下角的三角型进行build,但是我在编译的时候出现以下的错误

16:12:51: 无法启动进程"catkin" build --cmake-args -G 'CodeBlocks - Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug

Error while building/deploying project catkin_ws (kit: 桌面)

When executing step "CatkinTools Step"

 

 

找了很多资料,按照步骤去做都没有解决,

索性 我直接在终端里输入命令去编译,运行

catkin_make
source devel/setup.bash rosrun example_01 hello

 

posted @ 2021-06-21 16:23  小小小p鱼  阅读(3234)  评论(0编辑  收藏  举报