1 PX4编译和仿真
1.1 第一次使用PX4
1.1.1 打开jMAVSim
找到PX4-Autopilot文件夹(2023-02-13,新版本的PX4找不到Firmware了,只有PX4-Autopilot,github可直接找到)右键打开终端,初次使用输入以下命令:
make px4_sitl jmavsim
编译完成后可以看到以下图片:
1.1.2 打开QGC
外部打开QGC软件,一打开地面站,就能和jMAVSim连接上。
1.1.3 终端控制无人机起飞
- 让无人机起飞,终端回车一下,输入命令:
commander takeoff
- 让无人机降落,终端输入命令:
commander land
- 后面就可以玩耍一番了,在QGC软件的地图上选择某个点,点击Go to location,在jMAVSim和QGC的窗口就可以看到模拟的无人机飞向设置的点位了。
点击Orbit at location,在地图上拖动无人机飞行的半径,就可以让无人机绕着中心点飞行。
1.2 gazebo仿真
教程网址:https://blog.csdn.net/qq_52785580/article/details/126971784
除了可以使用jMAVSim仿真之外,gazebo也可以进行仿真。
但首先还是需要添加环境变量,否则gazebo在虚拟机上会出现闪退现象。
- 打开
.bashrc
文件,在最下面添加脚本:
export SVGA_VGPU10=0
保存就行。
2.gazebo官方提供了很多物体模型,但在安装的时候没有一起下载下来,这里提供了gitee的下载链接:
cd /home/…/.gazebo
git clone https://gitee.com/dva7777/gazebo_models.git
然后把下载的文件夹改名为models,放在.gazebo/路径下。
- 打开终端,输入命令:
gazebo
就可以打开gazebo软件了。
2 使用QT编译PX4
这个方法跟在终端中编译是一样的,不过Qt方便源代码修改。
2.1安装QT
参考教程:https://blog.csdn.net/xujianjun229/article/details/118457517
- QT下载官网:https://download.qt.io/archive/qt/
本人选择的是
qt-linux-opensource-5.1.0-x86_64-offline.run
能够在Ubuntu18.04上使用,可以windows迅雷下载下来,拖动到Ubuntu里面,自己找个文件夹,建议放在home/用户名/
下。
- 授予安装包权限
在该文件夹下,打开终端,输入命令:
sudo chmod -R 777 qt-opensource-linux-x64-5.7.0.run
- 选择安装位置
不输入sudo,文件安装在home目录;输入sudo,文件安装在根目录/opt下。
./qt-opensource-linux-x64-5.7.0.run
sudo ./qt-opensource-linux-x64-5.7.0.run #不建议放在opt下
- 选择安装细节
一定要勾选GCC 64 bit ,同意协议,选择LGPL开源协议。
安装完成后先不要打开QT软件,下面准备配置QT环境。
2.2 配置QT环境
- 打开终端安装gcc g++编译器(可能之前安装过)
sudo apt-get install gcc g++
sudo apt-get install libqt4-dev
sudo apt-get install build-essential
- 添加终端快捷打开命令(选用)
参考教程:https://blog.csdn.net/condom10010/article/details/128091786
在Qt5.1.0文件夹内(找合适的位置)创建一个qt_creator.sh
的脚本,终端命令:
cd /home/用户名/Qt5.1.0
gedit qt_creator.sh
在.sh文件内输入:
cd /home/用户名/Qt5.1.0/Tools/QtCreator/bin
sh qtcreator.sh
保存后,增加qt_creator.sh
文件权限:
chmod +x qt_creator.sh
打开.bashrc文件,在最下方增加alias指令:
alias qtcreator=‘nohup /home/用户名/Qt5.1.0/qt_creator.sh’
注意:qt可以替换成任何你自己记得住的字母,=左右不可以添加空格。
nohup & 为让command在后台运行,这样的话关闭终端也不会导致qt退出。
打开一个新终端,输入qtcreator
就可以打开QtCreator了。
- 可以不使用2中的方法,直接在终端找路径打开QtCreator:
cd /home/用户名/Qt5.1.0/Tools/QtCreator/bin
./qtcreator
2.3 使用Qt编译PX4
2.3.1 CMake生成脚本
1、生成build文件夹:
在PX4源码文件夹下,终端中执行:
mkdir qt-build
cd qt-build
使用CMake生成脚本文件:
cmake …/PX4-Autopilot -G “CodeBlocks - Unix Makefiles” -DCONFIG=nuttx_px4_fmu-v3_default
如果PX4版本较低,则是:
cmake …/Firmware -G “CodeBlocks - Unix Makefiles” -DCONFIG=nuttx_px4_fmu-v3_default
2.3.2 配置Qt Creator
1、打开Qt Creator,点击Open Project,进入PX4文件夹下,找到CMakeLists.txt
,点击Open。
2、选择Import Build From的Details,点击Browse,找到刚才2.3.1-1的build文件夹,点击Import。
3、点击Imported Kit,只选择Release with Debug Information,找到刚刚的build的文件夹,Configure Project配置工程。
4、进入后发现工程配置成功。
5、点开左侧的Projects,Build,正常的话红框内的Key和Value都有值。
![在这里插入图片描述](https://img-blog.csdnimg.cn/f4b67e998b054cf49decf2c1f421bf15.png
6、点击绿色三角形对工程进行编译。
7、文件夹内的.px4文件可以用QGC烧写到飞控内,或者直接在Qt内烧写。
参考文章链接:
https://mbot1.blog.csdn.net/article/details/106822491