基于QT-Creator搭建ROS开发、编译、测试和运行环境
一、为 Qt 配置 ROS 开发插件ros_qtc_plugin
注:ros 版本为 kinetic,且事先没有安装Qt;
由于插件的更新,不需要安装qtcreator,插件自己依赖安装;
1.直接输入以下命令:
$ sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial
$ sudo add-apt-repository ppa:levi-armstrong/ppa
$ sudo apt update && sudo apt install qt57creator
$ sudo apt install qt57creator-plugin-ros
注:前两条是添加 key,执行成功后会提示:“OK”,如果多次不成功,则
需要配置“软件和更新”,到这步如果没问题的话应该就是安装好了ros_qtc_plugin 插件
2.修改Qt Creator快捷方式,使得从快捷方式启动Qt Creator的同时加载ROS环境变量
上述默认的安装位置在/opt/qt59/share/applications,在改路径下打开文件org.qt-project.qtcreator.desktop,可以先用cp命令备份一下,修改如下:
注:添加 bash -i -c 是为了在通过快捷方式启动Qt Creator的同时加载ROS环境变量(ROS环境变量加载脚本配置在 ~/.bashrc 文件内)
3.更改/etc/sysctl.d/10-ptrace.conf文件中最后一行如下:
kernel.yama.ptrace_scope = 0
保存后,重新启动电脑
注:这一步是解决Debug时的报错:
4.Build和Run配置
点击左侧栏目中,项目,desktop选择build,配置如下图:
编译后点击 项目 右侧运行 选择添加 选择ROS Run Configuration ,点击Add Run Step ,添加自己需要运行的节点、lunch文件、和需要调试的节点,如下图,下图中最后一个为需要调试的node,这样就可以在需要调试的node中添加断点进行调试:
5.设置断点Debug ros c++节点
(1)使用qtcreator打工作空间后,打开Project项
(2)在Build & Run处选中Run选项
(3)在Run Setting的Run -> Run configuration点击Add按钮选择Custom Executable
在新出现的条目中,Executable选择想要进行断点调试的节点的可执行文件,并点击Rename按钮重命名配置名称为{节点名称}以方便选择不同的节点进行调试:
勾选Run in terminal,看别人的博客是没勾选,勾选上了Debug时才能有对应终端输出信息。
按照上面步骤配置后,在左下角Run配置中选择对应节点的配置,然后点击带小虫的绿色三角即可进行调试!最终的调试参考界面如下:
在终端中启动roscore后,在Qt中点击运行、或者调试就可以进行调试了!
注:以上信息仅供参考,可能每个人的环境以及配置步骤不一样导致效果不同,附上参考链接:
[1] https://blog.csdn.net/sfe1012/article/details/102567508
[2] https://blog.csdn.net/jinking01/article/details/102724256
[3] https://stackoverflow.com/questions/22120711/qt-creator-ptrace-operation-not-permitted-what-is-the-permanent-solution
[4] https://blog.csdn.net/zhangzheng_1986/article/details/78203577
[5] https://blog.csdn.net/a347755140/article/details/117070434
[6] https://www.ncnynl.com/archives/201903/2864.html