经过近一段时间的学习和与他人的交流,发现想要仅靠Python来进行ROS的开发是有一定难度的。因为目前为止,网上的相关资料还是以C++的资料为主。因此这里介绍一下如何使用C++来开发ROS。
IDE的选择
就像在Pycharm下使用Python一样,C++也要选择一款合适的IDE,这里选择Qt Creator作为开发ROS的IDE。Qt Creator是一款跨平台的IDE,它既可以为使用Qt框架来服务,也可以单独拿来写C/C++。作为ROS开发人员常用的一款IDE,也有人为它专门编写了ROS下的插件ros_qtc_plugin ,方便ROS的开发。
安装
此处可以参照创客智造的这篇教程点击打开链接
插件的地址:ROS Qt Creator Plug-in 如果apt-get方式安装不成功的话,可以选择这里的Offline Installer进行安装。
在按照以上步骤成功安装好Qt Creator并在快捷方式中配置好ros环境变量之后,即可开始使用C++进行开发。
项目建立
如图所示为在Qt Creator中建立的一个工作空间,在Open Project时加载.workspace文件即可加载整个工作空间。在src文件夹下面,可新建名为test1的package,在这个package下面又建立了talker和listener两个node。
编译节点
在test1这个package目录下的CMakeLists中,添加一些关于编译节点有关的语句(此步骤非常关键,否则会一直出现构建项目不成功的问题)。
在文件末尾添加:
include_directories(include ${catkin_INCLUDE_DIRS})
add_executable(talker talker.cpp)
target_link_libraries(talker ${catkin_LIBRARIES})
add_executable(listener listener.cpp)
target_link_libraries(listener ${catkin_LIBRARIES})
这会生成两个可执行文件, talker 和 listener, 默认存储到devel space目录
ros插件终端显示
如上图,在Qt Creator的运行设置中,可以添加运行两个节点的指令。在外面运行roscore之后,在Qt Creator的界面的ROS终端中,会显示相应的运行结果。