QT插件+ROS 2 新建项目

时间:2021-02-16 09:15:38

利用插件不仅可以新建工作空间还可以导入现有的工作空间,而“新建文件”中的“ROS”下面的“Package”、“Basic Node”等选项可以创建package和和节点、launch文件、urdf文件等
1 新建项目
文件”——“新建文件或项目”,选择”Import ROS Workspace”——“choose”
QT插件+ROS 2 新建项目
然后填写catkin工作空间的名字和位置
QT插件+ROS 2 新建项目

QT插件+ROS 2 新建项目
在“项目管理”步骤可以配置版本控制系统,我们选择“完成”,如下图
QT插件+ROS 2 新建项目
建好的工作空间,如果没出现src目录,可以关闭,重开即可。
QT插件+ROS 2 新建项目
(2)创建package
在catkin_new下面的src上右键单击,选择“添加新文件”,如下图
QT插件+ROS 2 新建项目
然后选择“ROS”——“package”——“choose”
QT插件+ROS 2 新建项目
- 填写package的名字,如test1
- 填写作者(Authors)和维护者(Maintainers),如果你的Qt环境部没有配置中文支持请不要用中文,否- - 则无法新建package
- 或者新建的package里面的package.xml会是空文件
- 在“Dependencies”下的“Catkin”一栏填写依赖,通常用C++写节点需要添加对roscpp的依赖
QT插件+ROS 2 新建项目
下一步,再点击完成
(3)添加新的节点
test1的src文件夹上右键单击,选择“添加新文件”
QT插件+ROS 2 新建项目
选择“ROS”——“Basic Node”——“choose”,创建一个节点,也就是新建一个.cpp文件
QT插件+ROS 2 新建项目
节点名称写为“node1”,则生成一个名为node1.cpp的源文件
QT插件+ROS 2 新建项目
用ROS模板新建的node1.cpp的源文件如下图,是自动生成的一个Hello World程序
QT插件+ROS 2 新建项目
用插件创建或导入ROS package之后还需要修改.workspace文件,如下图
QT插件+ROS 2 新建项目
添加后

<?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}
)

QT插件+ROS 2 新建项目
修改完CMakeLists.txt之后点击Qt左下角的锤子图标“构建项目catkin_new”
QT插件+ROS 2 新建项目
(4)运行节点
新终端,运行roscore

$roscore

测试时候无法选择Packge和Target,不过可以手工填写Arguments。也可以直接写入执行的命令和参数。

QT插件+ROS 2 新建项目
如果可以直接选择要运行的 包 和 节点
点击左下角的“三角”运行
QT插件+ROS 2 新建项目