发布时间:2025-12-09 18:52:12 浏览次数:4
QGC二次开发
电脑:联想拯救者Lenovo R720,在电脑上安装虚拟机——>在虚拟机中安装UBuntu系统——>在Ubuntu中安装QGC以及Qt编译器。
1 安装VMware Workstation Pro以及UBuntu系统
1 下载
先在百度网盘上下载Ubuntu18.04-desktop-amd64.iso映像文件以及VMware Workstation Pro15.5.0rar压缩包。
1.1 VMware下载
接下来安装操作步骤进行安装,在点击安装之后会有许可证,其密钥是UY758-0RXEQ-M81WP-8ZM7Z-Y3HDA,最后点击安装完成。
1.2 Ubuntu下载
虚拟机中安装UBuntu系统,点开刚下载的VMware Workstation Pro,创建新的虚拟机,选择典型(推荐)——>稍后安装操作系统——>Linux(L)版本选择:Ubuntu 64位——>更改安装位置(建议不要安装在C盘,可以在D盘或其它磁盘下新建一个“ubuntu”文件夹)——>磁盘大小选择20G以上(最大磁盘大小:40.0G),同事选择的是“将虚拟磁盘拆分成多个文件”。——>自定义硬盘
这一部分我们添加的就是刚刚在百度网盘上下载的压缩包文件,直接双击添加进去,(图标和上图的不一样)。
接下来点击开启此虚拟机——>系统安装中——>中文(简体)——>安装Ubuntu——>继续——>继续——>现在安装——>继续——>继续——>输入姓名、密码,点击继续——>系统安装中——>现在重启——>点击Enter——>点击用户名——>输入密码,点击登录——>安装结束:在虚拟机里的Ubuntu系统界面图下。
2 安装VMware Tools
在VMware Workstation里面,只有安装VMware Tools后才能和物理机传文件和适应全屏。
打开虚拟机,登陆执行虚拟机——>安装VMware Tools菜单命令,自动挂载光驱(一般是自动挂载的,如果没有自动挂载请自行百度linux如何手动挂载光驱)——>在linux的文件管理器里打开光驱的界面,复制VMwareTools-10.2.5-8068393.tar.gz到桌面——>在桌面上右键,单击打开终端——>输入cd 桌面/(如果失败,这一步可以省略),按下Enter——>输入tar zxpf VMwareTools-10.2.5-8068393.tar.gz,按下Enter——>输入cd vmware-tools-distrib/,按下Enter——>输入sudo ./vmware-install.pl,按下Enter——>输入密码,注意在linux的终端里输入密码默认是不显示的,不要认为你的键盘坏了。一直按Enter。——>安装成功!当再次点击虚拟机上端“虚拟机(M)”,会看到倒数第二项显示的是“重新安装VMware Tools(T)…”
3 PX4环境搭建
3.1 下载PX4源码
通过命令:
git clone https://github.com/PX4/Firmware.git --recursive
克隆。克隆地址可以改成自己的码云地址。
但是这一步我们可以在Git官网上下载源代码,因为下载速度快。
Git官网 https://gitee.com/ 注册方便下载代码
点击官网右上角加号,点击最后一项从GitHub/GitLab仓库
将
https://github.com/PX4/Firmware.git 复制到第一栏。同时注意,是否开源:私有(private),公有(public),一定要选择公有(public)。
3.2 安装工具链
3.2.1 2017版本
说明:在这之前确保源码及其子模块都完整下载。在Firmware目录下执行(bash ./Tools/setup/ubuntu.sh,这个过程可能比较久,确保整个过程无错误,成功后最重要的就是已经安装了正确版本的arm-none-eabi-gcc,安装后执行arm-none-eabi-gcc --version
3.2.2 2016版本
或者下载的版本是在gcc-arm-none-eadi项目的官网上下载
https://launchpad.net/gcc-arm-embedded/+download
双击解压后的文件进入 gcc-arm-none-eabi-5_4-2016q3 -> bin. 这个文件夹中的便是软件的执行文件了,不过他们都是通过指令行调用的,但是在终端调用之前,我们需要把软件的路径置于系统的环境变量之下,这样系统才能过直接调用程序,否则我们每次执行都需要输入长长的路径系统才能够找到软件。打开终端输入:sudo gedit /etc/profile。打开profile文件后我们在其末尾添加:
export PATH=$PATH:/home/yangliu/Library/gcc-arm-none-eabi-5_4-2016q3/bin
图中红圈部分一定要改成自己的路径图中是一个例子,我自己在运用时,我改成了:/home/lcy3483826859/下载/Library/gcc-arm-none-eabi-5_4-2016q3/bin。
随后点击保存。在终端中输入指令更新系统路径。source /etc/profile。为了查看我们是否已经成功设置路径,在终端中输入:arm-non。点击Tab看看系统是否自动补全为:arm-none-eabi-。如果补全了,那么说明我们已经设置成功了,我们此时可以直接键入指令来调用工具链的程序。如果没有,说明你上面的环境变量设置步骤有误请重新检查自己的操作。 双击两下Tab则会把所有的工具链工具显示出来。
安装的是64位的ubuntu版本,则需要安装lsb-core才能正常使用这个工具链,使用指令:sudo apt-get install lsb-core。随后我们输入指令arm-none-eabi-gcc -v。之后重启一下,让系统更新全局环境变量。注意以上操作,从source 开始请使用一个终端,不要关闭,否则可能出错:无法找到工具链。实际按理说source指令和重启的效果是一样的,但在我安装的过程中却出错了,重启之后才变正常了。 还有个检查的方法就是,使用指令查看当前系统PATH变量的值,查看是否PATH中是否有刚刚设置的路径:echo $PATH
4 安装QGC
4.1 下载源码
最好还是在Git官网上下载
https://github.com/mavlink/qgroundcontrol
将上一行代码同样复制到git官网上(与PX4下载代码时一样)。注意:选择公开(public)。
4.2 安装QGC
5 关于Qt
5.1 下载Qt
https://download.qt.io/archive/qt/
这个网址中有Qt很多版本
要下载Linux的,就是qt-opensource-linux-x64-5.n.x.run
说明:我下载时QGC4.0(应该是4.0版本,反正是4以上版本的QGC)实在官网上下载的最新版本,而Qt下载的是之前版本的5.9.9,在运行之后Qt会报错:必须使用5.11版本以上才能运行。后来我有下载的是5.12版本,但是在Ubuntu中没办法卸载5.9的Qt(可能是我没找到),所以5.12下载之后并没有用到。然后拷贝过来3.4版本QGC,再放入到配置好的Qt中便可以运行。
5.2 配置Qt
我以5.12.8版本举例
从终端进入下载文件夹,一般是/home/用户名/Downloads,可以找到下载好的qt-opensource-linux-x64-5.12.8.run 给所有用户赋予qt-opensource-linux-x64-5.12.8.run可执行权限。
sudo chmod a+x qt-opensource-linux-x64-5.12.8.run。有权限后在该路经下执行就可以了:./qt-opensource-linux-x64-5.12.8.run。弹出安装指引窗口,按照指引填好QT Account(我记得以前有版本安装可以跳过),一路next,不建议修改默认路经。
修改完成后重启系统,或者使用"source /etc/profile"or ". /etc/profile"使得修改生效。source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
在终端输入:qtcreator就能直接打开Qt Creator。
我们再新建一个Qt项目测试一下
File>>New File or Project,选择Qt Widgets Application,测试用基本可以一路next,后面可以自行删除项目。
建好的test项目,建好的test项目。
在mainwindow.ui上添加一个textBrowser控件,写上标准问候语
我的这部分是直接成功了,但是如果出现问题,有可能是以下内容:
Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,例如使用的是 CentOS 7,OpenGL 链接库位于 /usr/lib64/ 目录,而对于 Ubuntu,OpenGL 链接库位于 /usr/lib/i386-linux-gnu/mesa/ 目录。只要我们把 libGL.so 拷贝到 /usr/lib/ 目录,或者在 /usr/lib/ 目录下为 libGL.so 创建一个链接,就能解决问题。显然第二种办法更好。
另外,Linux 发行版自带的 OpenGL 链接库在后缀中添加了版本号,例如 libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1 等,但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。总起来说,我们需要在 /usr/lib/ 目录下为 OpenGL 链接库创建一个链接,并去掉版本号。
如果你不知道当前 Linux 系统中 libGL.so 的具体路经,可以使用locate libGL命令或find /usr -name libGL*命令查找,然后使用ln -s创建链接。按照方法进行操作:
#查找 libGL 所在位置
locate libGL
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0
…
#创建链接,Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。普通用户没有权限创建链接,使用root用户或者sudo指令。
#sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so
再次运行——>成功
使用git命令clone源码,更新
git clone --recursive https://github.com/mavlink/qgroundcontrol.git
git submodule update用Qt打开,一开始可能会有些messages输出,不用管
说明:下面图片是我现在已经加过QGC代码的界面,当第一次打开的时候应该是在圈出红圈的部分点击添加文件,而不是在左上角去点击添加新文件。由于我这个是添加文件后的样子,正常第一次打开应该是在红圈的右下角部分。反正只要别去点击左上角的文件——>打开文件或项目就可以。
我刚开始打开的时候,出现了比上图中更多的文件,但是最主要的就是把上图中的.pro文件找到就可以。然后点击左下角类似与▶的箭头,点击一下,第一次编译时间较长,需要等待。正常是一次就可以成功,但是我的当时是第一次没成功,紧接着又试着点了一下运行按钮,就成功了。编译完成后会出现这个页面,提示我们将用户加入权限组,并移除设备管理器,因为设备管理器会对串口造成影响。 在命令行输入 sudo usermod -a -G dialout $USER 和 sudo apt-get remove modemmanger 最后出现了QGC地面站,表示编译成功。连接上PIXHAWK,需要新建立一个串口,最好再重新启动一下Ubuntu
在Qt中导入QGC代码
说明:sudo vim /etc/profile,执行这条语句如果有问题,可能是再系统中没有Vim,还需要下载Vim。在末尾添加(注意:这里的路经对应安装路经,请检查自己的是否对应)export PATH="/opt/Qt5.12.8/Tools/QtCreator/bin:P A T H " e x p o r t P A T H = " / o p t / Q t 5.12.8 / 5.12.8 / g c c 6 4 : PATH" export PATH="/opt/Qt5.12.8/5.12.8/gcc_64:PATH"exportPATH="/opt/Qt5.12.8/5.12.8/gcc
6
4:PATH" (一定要注意版本问题,看好是Qt的什么版本以及路径)
1、下载 https://github.com/vim/vim
2、解压:unzip vim-master.zip
3、进入目录:/home/lcy3483826859/vim-master(注意看好自己的Ubuntu系统的名字)
4、配置、编译并安装(需要root权限,有相应权限即可)
./configure --prefix=/usr/local/vim && make && make install
6、查看vim的版本
7、修改默认vim,将原本vim7.0版本修改为vim7,添加软连接将新的vim8.0设置为默认vim
which vim
cd /usr/bin/
mv vim vim7
ln -s /usr/local/vim/bin/vim vim
6 相关网址链接
1.虚拟机安装Linux系统教程
[下载链接]:https://pan.baidu.com/s/1KAZuW46ObVmIXZeoccs90Q
[提取码]:wd5e
文章链接:https://mp.weixin.qq.com/s/OuClB4dwYh8_kZJfNRZWmQ
(1)安装虚拟机
(2)在虚拟机下安装Linux(ubuntu-18.04)系统。
2 安装VMare Tools
https://blog.csdn.net/u012273935/article/details/88675586
3.PX4环境搭建
(1)下载源码(2)安装工具链
https://blog.csdn.net/CSDN_X_W/article/details/105142281
4.下载安装gcc-arm-none-eabi
https://blog.csdn.net/zhengyangliu123/article/details/54783443
5.安装QGC
下载源码 https://github.com/mavlink/qgroundcontrol
Git官网 https://gitee.com/ 注册方便下载代码
点击官网右上角加号,点击最后一项从GitHub/GitLab仓库
将https://github.com/mavlink/qgroundcontrol 复制到第一栏
QGC官网 :https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html
6.ubuntu中安装Qt5.12.8
https://blog.csdn.net/digitalkee/article/details/111125569?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase
7.下载Qt
https://download.qt.io/archive/qt/
(我下载的是Qt5.9.9配置的是QGC3.4)
8. Linux QT 环境搭建
https://blog.csdn.net/todorovchen/article/details/21549671?ops_request_misc=&request_id=&biz_id=102&utm_term=ubuntu%E4%B8%AD%E9%85%8D%E7%BD%AEQt&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-21549671.first_rank_v2_pc_rank_v29
9. Ubuntu18.04配置搭建基于Gazebo的虚拟仿真平台(Px4):无人机(UAV)等仿真平台(jMavsim)
https://zhuanlan.zhihu.com/p/344075425
10.将下载好的QGC源码在Qt中打开,安装qt环境开发QGC
https://blog.csdn.net/nieji3057/article/details/109215059?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161881833716780269813901%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161881833716780269813901&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-3-109215059.first_rank_v2_pc_rank_v29&utm_term=%E5%B0%86QGC%E4%BB%A3%E7%A0%81%E6%94%BE%E8%BF%87%E5%A6%82Qt%E8%BF%90%E8%A1%8C
资料:
哔哩哔哩视频 https://www.bilibili.com/video/BV1t7411W7mA?p=1
CSDN:https://blog.csdn.net/awujiang/article/details/81569878
(1)Resources/qgroundcontrol.qrc/ /qml,下面会出现很多.qml文件,这些qml文件就是在描述这些UI页面或者按钮似的东西一些属性特征,例如多高多宽,什么颜色等等。找不到也可以在左下角的搜索框直接搜索qml
(2)我们打开MainWindowlnner.qml,里面是描述上面提到的四个按钮UI的程序,例如,下面的程序就是显示Application Settings页面的程序。65——79行