PX4从放弃到精通(三):使用qt编译PX4
目录
- 前言
- 一、安装QT
- 二、生成bulid文件夹
- 三、配置QTCreater
- 四、QTCreater无法输入中文解决办法
前言
交流学习加qq:2096723956
更多保姆级PX4+ROS学习视频:https://b23.tv/ZeUDKqy
常用的开发PX4的IDE有QT,VSCODE等,笔者用QT较多.
一、安装QT
笔者用的qt编辑器版本为5.11,Qtcreator版本为4.6.1,代码可以正常跳转。ubuntu18.04或者ubuntu20.04都可使用。
笔者也曾使用比较新Qtcreator 8.0.1,发现有些代码无法跳转,所以不推荐使用此版本。
QT5.11.0网盘链接:
链接:https://pan.baidu.com/s/1ocA2E8Sf0gNNj4SVYxBXLg
提取码:ykb3
–来自百度网盘超级会员V5的分享
如果只用来编译px4的话,安装qt creter即可,下載地址:https://download.qt.io/archive/qtcreator/
如果想下載QT的編譯套件,可以在這裏下載:https://download.qt.io/archive/qt/
二、生成bulid文件夹
在px4源码Firmware所在平级目录下执行
mkdir Firmware-build
cd Firmware-build
cmake ../Firmware -G "CodeBlocks - Unix Makefiles"
可以发现Firmware-build目录生成了一些文件
默认是仿真的脚本,如果要用别的脚本,执行下面的语句
cmake ../Firmware -G "CodeBlocks - Unix Makefiles" -DCONFIG=nuttx_px4_fmu-v5_default
第三步最后的px4_px4_fmu-v5_default
根据自己的情况修改
执行完后如图
三、配置QTCreater
打开QT
点击打开工程
选择源码的CmakeLists.txt文件
选择imported Kit
打开项目那一栏,正常的话key和value会显示相应的值
点击上面那个绿色的三角形编译
正常的话只要在终端中可以编译固件,在QT中也是可以编译的,如果在终端中可以正常编译,但是在QT中编译时报以下错:
在终端中执行下面的语句
sudo pip install --ignore-installed pyros-genmsg
执行完后重新在QT中编译即可.
编译完成后如图
我这里用的脚本是仿真的脚本,如果想在编译完成后启动gazebo仿真,在项目->构建步骤中点击右侧详情,在targets里选中gazebo再编译,编译后就可以自动启动gazebo。
如果要编译后下载到飞控,则把之前的编译脚本换成fmu的脚本,以V5为例
换成
cmake ../Firmware -G "CodeBlocks - Unix Makefiles" -DCONFIG=nuttx_px4_fmu-v5_default
同时把步骤里加上upload
编译完出现下图提示的时候,用usb连上飞控即可下载程序
如果用imported Kit编译后有的地方无法跳转,可以尝试使用GCC编译器编译,如下
四、QTCreater无法输入中文解决办法
QTCreater自带的插件中,只支持iBus输入法,如果使用Fcitx输入法则无法输入中文,解决办法如下:
在终端执行:
dpkg -L fcitx-frontend-qt5 | grep .so
搜索到libfcitxplatforminputcontextplugin.so
的路径如下:
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
找到改文件,并复制到QT安装路径/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
下,我的路径如下:
然后添加权限:
chmod +x libfcitxplatforminputcontextplugin.so
再重启QTCreater即可输入中文
如果中文显示乱码,可以将Tools->Options->Text Editor->Behavior页面的File Encodings中的Default encoding设置为UTF-8
PX4从放弃到精通(三):使用qt编译PX4相关推荐
- PX4从放弃到精通(五):PX4中的姿态表示方法及转换关系
文章目录 前言 坐标系 无人机的姿态描述 转换关系 总结 前言 一个人可以走的更快,一群人才能走的更远,交流学习加qq:2096723956 更多保姆级PX4+ROS学习视频:https://b23. ...
- PX4从放弃到精通(六):PX4姿态控制代码解析
- PX4从放弃到精通(二十三):仿真
文章目录 前言 一.java仿真 单机仿真 设置仿真时间速度 多机仿真 二.硬件在环仿真 三.mavros offboard仿真例程 1.创建工作空间 2.创建功能包 四.MAVROS多机仿真 前言 ...
- PX4从放弃到精通(二十四):自定义机型
文章目录 前言 一.定义机型文件 二.修改srcparser.py 三.编译并下载固件 四.修改QGC 前言 本教程用PX4实现自定义一些新构型的载具 PX4固件版本:1.12.3 QGC版本:4.0 ...
- PX4从放弃到精通(二十五):EKF2
文章目录 前言 一.主程序 二.update() 二.predictState() 三.controlFusionModes() 四.controlGpsFusion 五.fuseGpsVelPos( ...
- PX4从放弃到精通(二十七):固定翼姿态控制
- PX4从放弃到精通(十一):混控及PWM输出
- PX4从放弃到精通(二十六):GPS驱动
- PX4从放弃到精通(二):ubuntu18.04配置px4编译环境及mavros环境
最新文章
- flask-WTF和sqlalchemy结合使用并实现前端页面登录(综合使用)
- Alibaba Cluster Data 开放下载:270GB 数据揭秘你不知道的阿里巴巴数据中心
- silverlight 客户端之间的通讯
- python3 open函数_python中open函数的基本用法示例
- 关于需求管理的胡思乱想---R3PR
- 一个游戏美术写给策划的快速入门
- 网络流-EK求最大流
- Xcode12快捷键配置
- 用脚本管理服务器日志
- Mondrian and OLAP
- 吴恩达深度学习——循环神经网络
- No package ‘libpeas-1.0‘ found/No package ‘libpeas-gtk-1.0‘
- SAP PS:项目进度计划管理
- 净资产收益率与市盈率的关系
- 苹果iOS第三方应用商店,App store没有的这都有!发烧友赶紧来!
- JETT(四)-支持JEXL
- 手机链游撼动腾讯王者荣耀?Nova Battles更具潜力
- 用MySQL数据库来处理中英文取首字母排序
- 把数学学好才能画好图形
- Mac os 创建自己的证书并且找到自己的证书 I
热门文章
- 干货分享~关于什么是产品经理,怎么样做好产品经理
- maya2016版本后更改界面文字大小方法
- selenium模拟登陆淘宝遇到的问题及解决
- (一)Git和Github介绍
- CentOs7 提示没有安装包docker的解决办法
- 【GNN】台大李弘毅助教讲解——GNN系列
- 验证数据,正则表达式
- 已解决:module java.base does not “opens java.lang“ to module
- 这个中秋最潮酷玩法,必须mark!
- 「津津乐道播客」#357 津津有味:跟「人是铁饭是钢」聊聊特别能吃辣是种什么体验...