ubuntu16.04版本中QT的ros_qtc_plugin插件的例子

    初学者在学习ros中可能参考过创客智造的《ROS与C++入门教程》,参考链接:https://www.ncnynl.com/archives/201701/1279.html 。但其中版本主要是对于ubuntu14版本的,ros_qtc_plugin插件的作者levi-armstrong对于ubuntu14和1更新的版本稍有不同,在此需要注意。(不少ppa源无法下载,可以考虑lantern安装速度比较快捷)对于ubuntu16.04版本ros教程的ros_qtc_plugin插件的使用方式,本文将做详细介绍(以一个talker-listener例程为例)。
1.系统已经安装了ros_qtc_plugin插件;

    详见ppa源下载方式,百度经验即可。

2.打开qt59creator;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第1张图片

3.选择New Project新建文件,得到下图,选择Other Project->Ros Workspace->Choose;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第2张图片

4.命名这个ros的workspace为catkin_t,然后添加路径前新建一个名为catkin_t的文件夹,choose->next->finish得到设计树;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第3张图片

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第4张图片

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第5张图片

5.一般来说,新建的设计树默认不显示空文件夹,左击设计树右上角小三角,取消空文件夹的隐藏;

6.现在新建ros包,如图所示,右键src源文件,选择add new->Ros->Package->Choose;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第6张图片

7.填写package信息。一般来说,只要填写name名字、Author作者、Maintainers维护人和catkin依赖的包就行,我习惯用c++来写,所以catkin一栏我一般填roscpp,然后next->finish;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第7张图片

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第8张图片

8.现在要开始编写ros中最基本的节点node了。右键fish的源文件夹src,add new->ROS->Basic Node->choose,填写节点名name为talker,然后next->finish;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第9张图片

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第10张图片

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第11张图片

8.编辑talker.cpp,其详细程序参考《ROS与C++入门教程》,如图所示;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第12张图片

9.同理,编写listener节点,方式参数基本一致;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第13张图片

10.修改fish的CMakeLists.txt,加上代码如下,其结果如图所示;

include_directories(include ${catkin_INCLUDE_DIRS})

add_executable(talker src/talker.cpp)
target_link_libraries(talker ${catkin_LIBRARIES})
add_dependencies(talker beginner_tutorials_generate_messages_cpp)

add_executable(listener src/listener.cpp)
target_link_libraries(listener ${catkin_LIBRARIES})
add_dependencies(listener beginner_tutorials_generate_messages_cpp)

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第14张图片

11.点击QT左下角的小锤子图标,编译ros工程;

12.点击左侧带有扳手标记的Projects,run->Add Run Step->Ros Run Step,在Arguments文本栏上填上fish talker,填写完毕后Add Run Step->Ros Run Step,在Arguments文本栏上填上fish listener;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第15张图片

13.新建一个终端(Ctrl+Alt+T),启动ROS主线程,输入"roscore"命令;

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第16张图片

14.点击QT左下角的绿色三角启动工程,可以在下方8 ROS Terminals栏观察结果输出(Ctrl+C结束进程);

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第17张图片

ubuntu16.04版本中QT的ros_qtc_plugin插件的例子_第18张图片

    于此,一个简单的ROS接受和发送历程结束了,通过ros_qtc_plugin插件(尤其是设计树)可以很方便对ros进行编程。至于该插件的安装,有问题的可以私信。关于roscpp的编写,我还是觉得ros wiki上的教程讲的比较全面和详细,大家可以多多阅读。

你可能感兴趣的:(ros学习)