QT插件+ROS 2 新建项目
- 一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。也可以直接写入执行的命令和参数。
如果可以直接选择要运行的 包 和 节点
点击左下角的“三角”运行
QT插件+ROS 2 新建项目的更多相关文章
- QT插件+ROS 1 安装配置
测试环境: 系统版本:Ubuntu14.04 ROS版本:indigo QT版本:5.8.0 QtCreator安装 1 安装前准备,安装相应的GNU开发工具集和OpenGL开发库, 请注意安装软件都 ...
- QT插件+ROS 3 导入现有ROS包
http://blog.csdn.net/u013453604/article/details/52167213#t5
- ROS_Kinetic_22 使用ROS的qt插件即ros_qtc_plugin实现Hi ROS!!!!
官网已经更新了教程说明,在此特别说明: https://github.com/ros-industrial/ros_qtc_plugin/wiki This wiki explains the pro ...
- Qt新建项目No valid kits found解决思路
Qt新建项目No valid kits found解决思路 第一次用Qt Creator创建Project时,进入Kit Selection窗口后,会提示No Valid kits found. Pl ...
- ubuntu16.04使用Qt开发ROS
本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Qt“新建项 ...
- 基于Qt搭建ROS开发环境
参考的博客: http://blog.csdn.net/u013453604/article/details/52186375 http://blog.csdn.net/dxuehui/article ...
- ROS学习笔记八:基于Qt搭建ROS开发环境
1 前言 本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Q ...
- VS2010,Qt插件安装使用
用了几次的QtCreateor,不习惯. 果断换回VS 基本步骤: 1.安装VS2010 2.安装Qt Creator5 3.安装Qt插件 qt-vs-addin-1.2.2-opensource 就 ...
- VS2017上在线和离线安装Qt插件(在线安装)
版权声明:如需转载,请告知博主并声明出处 https://blog.csdn.net/CLinuxF/article/details/88816436文章目录前言在线安装离线安装(推荐)前言很多朋友喜 ...
随机推荐
- C# 循环语句 for
循环:反复执行某段代码. 循环四要素:初始条件,循环条件,循环体,状态改变. for格式 for(初始条件;循环条件;状态改变) { 循环体 } break ——中断循环,跳出整个循环 continu ...
- oracle的start with connect by prior
oracle的start with connect by prior是根据条件递归查询"树",分为四种使用情况: 第一种:start with 子节点ID='...' connec ...
- elasticsearch6.7 05. Document APIs(1)data replication model
data replication model 本节首先简要介绍Elasticsearch的data replication model,然后详细描述以下CRUD api: 1.读写文档(Reading ...
- 【Java基础】13、抽象方法不能是static或native或synchroniz 原因及误解
在网上看到过这么一篇文章,是关于抽象方法不能是static或native或synchroniz 的原因.其中提到了这些关键字的意义以及与 abstract 关键字的冲突,大体内容如下: 1.abstr ...
- java基础-配置java的环境变量
学习java之前首先在https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html上面下载与 ...
- EmitMapper的使用小结
最近公司开发项目前端使用一个js框架,后端使用ef,js前台读取的json采用实体的dto来进行生成. 在网上看到了EmitMapper相对其他映射框架处理速度可以更快,就拿来用了.下面是代码中常用的 ...
- Node.js+Koa开发微信公众号个人笔记(二)响应事件
微信公众号中的事件有订阅事件/扫码事件/点击事件/跳转链接事件等等,具体可以查阅文档. 这里来实现一下订阅事件,其他的事件的实现过程也都类似. 当有人订阅了公众号后,微信服务器会向我们的服务器推送一个 ...
- c3p0死锁
1.APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 抛出以下异常信息: com.mchang ...
- 不要拿ERP的报表忽悠领导!——一个报表引发的企业经营反思
文 | 帆软数据应用研究院船长 本文出自:知乎专栏<帆软数据应用研究院>——数据干货&资讯集中地 领导的经营决策能只依赖于ERP报表吗? 不能! 1. ERP报表个性化不足:企业经 ...
- 安卓开发_浅谈主配置文件(AndroidManifest.xml)
AndroidManifest.xml本质:是整个应用的主配置清单文件包含:该应用的包名,版本号,组件,权限等信息作用:记录该应用的相关的配置信息 一.常用标签(1).全局篇(包名,版本信息)(2). ...