- 一QT插件开发ROS,http://www.ncnynl.com/archives/201701/1277.html
- 二QT开发遇到问题http://blog.csdn.net/u013453604/article/details/52186375
- 三QT为ROS创造界面http://blog.csdn.net/u013453604/article/details/52167213,
- 四ROS下创造自己的包http://blog.csdn.net/u013453604/article/details/52167213
利用插件不仅可以新建工作空间还可以导入现有的工作空间,而“新建文件”中的“ROS”下面的“Package”、“Basic Node”等选项可以创建package和和节点、launch文件、urdf文件等
1 新建项目
文件”——“新建文件或项目”,选择”Import ROS Workspace”——“choose”
然后填写catkin工作空间的名字和位置
在“项目管理”步骤可以配置版本控制系统,我们选择“完成”,如下图
建好的工作空间,如果没出现src目录,可以关闭,重开即可。
(2)创建package
在catkin_new下面的src上右键单击,选择“添加新文件”,如下图
然后选择“ROS”——“package”——“choose”
- 填写package的名字,如test1
- 填写作者(Authors)和维护者(Maintainers),如果你的Qt环境部没有配置中文支持请不要用中文,否- - 则无法新建package
- 或者新建的package里面的package.xml会是空文件
- 在“Dependencies”下的“Catkin”一栏填写依赖,通常用C++写节点需要添加对roscpp的依赖
下一步,再点击完成
(3)添加新的节点
test1的src文件夹上右键单击,选择“添加新文件”
选择“ROS”——“Basic Node”——“choose”,创建一个节点,也就是新建一个.cpp文件
节点名称写为“node1”,则生成一个名为node1.cpp的源文件
用ROS模板新建的node1.cpp的源文件如下图,是自动生成的一个Hello World程序
用插件创建或导入ROS package之后还需要修改.workspace文件,如下图
添加后
<?xml version="1.0"?>
<Workspace>
<Distribution name="indigo"/>
<DefaultBuildSystem value="0"/>
<WatchDirectories>
<Directory>src</Directory>
</WatchDirectories>
<IncludePaths>
<Directory>/opt/ros/indigo/include</Directory>
</IncludePaths>
</Workspace>
这样就可以使得Qt找到ros头文件,比如 ros/ros.h
编译节点,为test1的CMakeLists.txt加上下面几行,意思是把node1.cpp编译成名为node1的节点
编译节点,为test1的CMakeLists.txt加上下面几行,意思是把node1.cpp编译成名为node1的节点
add_executable(node1 src/node1.cpp)
target_link_libraries(node1
${catkin_LIBRARIES}
)
修改完CMakeLists.txt之后点击Qt左下角的锤子图标“构建项目catkin_new”
(4)运行节点
新终端,运行roscore
$roscore
测试时候无法选择Packge和Target,不过可以手工填写Arguments。也可以直接写入执行的命令和参数。
如果可以直接选择要运行的 包 和 节点
点击左下角的“三角”运行