Qt下开发ROS整理总结

两个半月攒了些Autoware和Apollo r3.0.0和一些opensource的标定&硬件同步代码,修改融合为一个所谓自动驾驶的功能包,在最后的UI集成时候,感觉没有这个必要,为了不白白浪费调研花费的时间,总结一下。

一、qt开发ros的开发环境搭建

二、几个简单DEMO流程注释

三、简单的Qt相关总结(yaml生成列表、RVIZ lib使用、去掉ROS 实现通信等)

四、Autoware的runtime manager(wxPython总结)

 

一、qt开发ros的开发环境搭建

因为主要是为了开发UI所以qt ide下开发ros的那个插件并没有用,那个是开发package比较方便。

平常用的ide有:clion、Qt creater、pycharm、vscode

除了pycharm是写py的其他对CMake支持的都比较好

首先QT Creater使用导入CMakeLists.txt来组织别人已有工程

之后呢在编译的时候会提示路径设置找不到cmake,需要在右边的“项目”选项中设置CMake的路径,需要将CMAKE_PREFIX_PATH设置为 /opt/ros/kinetic目录,点击下面应用会自动重新组织工程。之后重点在于CMake文件怎么写,稍后介绍。

 Clion的组织方式:

Clion官网有详细步骤:https://www.jetbrains.com/help/clion/ros-setup-tutorial.html

别处转载:https://www.jianshu.com/p/ccbcc717c395

1.上jetbrain官网下载clion,切记是linux版,按照官网安装
2.进入ros的catkin的工作空间,一般来说是~/catkin_ws/
3.执行 source devel/setup.bash (这一步我一般是source 三遍)
4.cd src进入到~/catkin_ws/src 目录下,在此打开clion
5.运行clion.sh (根据每个人安装clion的目录不同,运行的命令行也不同),比如我的clion.sh目录是在/opt/clion-2017.3.1/bin/clion.sh 下,那么我这一步的运行命令就是/opt/clion-2017.3.1/bin/clion.sh
6.clion点击 Import Project from Sources 然后选择~/catkin_ws/src目录,这样可以加载该目录下所有的已经存在的ROS项目

切记第四步在~/catkin_ws/src/下运行clion
加载完项目之后,运行如果遇到头文件找不到,例如 ros/ros.h no such file
试试把CMakeLists.txt文件中
include_directories(${catkin_INCLUDE_DIRS})
放在catkin_package()那一行的后面


还有个小技巧:如何让clion只编译目录下的某一个或者几个包

在上面配置的情况下,你可能会发现每次修改完CMakeList文件都要把你所有的ROS项目重新build一遍,
如果你想只make一个或者几个项目可以选择下面这个方法
在clion中找到 File->Settings->Build,Execution,Deployment->CMake
在CMake options 那一行中添加
-DCATKIN_WHITELIST_PACKAGES="pkg1"
pkg1 是你的package名称
如果想make多个包,用分号;间隔,类似这样
-DCATKIN_WHITELIST_PACKAGES="pkg1;pkg2"

 

发布了41 篇原创文章 · 获赞 4 · 访问量 5427
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章