PX4学习笔记(2)

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 终端控制无人机起飞

  1. 让无人机起飞,终端回车一下,输入命令:

commander takeoff

在这里插入图片描述

  1. 让无人机降落,终端输入命令:

commander land

  1. 后面就可以玩耍一番了,在QGC软件的地图上选择某个点,点击Go to location,在jMAVSim和QGC的窗口就可以看到模拟的无人机飞向设置的点位了。
    点击Orbit at location,在地图上拖动无人机飞行的半径,就可以让无人机绕着中心点飞行。
    在这里插入图片描述

1.2 gazebo仿真

教程网址:https://blog.csdn.net/qq_52785580/article/details/126971784
除了可以使用jMAVSim仿真之外,gazebo也可以进行仿真。
但首先还是需要添加环境变量,否则gazebo在虚拟机上会出现闪退现象。

  1. 打开.bashrc文件,在最下面添加脚本:

export SVGA_VGPU10=0

保存就行。

2.gazebo官方提供了很多物体模型,但在安装的时候没有一起下载下来,这里提供了gitee的下载链接:

cd /home/…/.gazebo
git clone https://gitee.com/dva7777/gazebo_models.git

然后把下载的文件夹改名为models,放在.gazebo/路径下。

  1. 打开终端,输入命令:

gazebo

就可以打开gazebo软件了。

2 使用QT编译PX4

这个方法跟在终端中编译是一样的,不过Qt方便源代码修改。

2.1安装QT

参考教程:https://blog.csdn.net/xujianjun229/article/details/118457517

  1. QT下载官网:https://download.qt.io/archive/qt/
    本人选择的是

qt-linux-opensource-5.1.0-x86_64-offline.run

能够在Ubuntu18.04上使用,可以windows迅雷下载下来,拖动到Ubuntu里面,自己找个文件夹,建议放在home/用户名/下。
在这里插入图片描述

  1. 授予安装包权限
    在该文件夹下,打开终端,输入命令:

sudo chmod -R 777 qt-opensource-linux-x64-5.7.0.run

  1. 选择安装位置
    不输入sudo,文件安装在home目录;输入sudo,文件安装在根目录/opt下。

./qt-opensource-linux-x64-5.7.0.run
sudo ./qt-opensource-linux-x64-5.7.0.run #不建议放在opt下

  1. 选择安装细节
    一定要勾选GCC 64 bit ,同意协议,选择LGPL开源协议。
    安装完成后先不要打开QT软件,下面准备配置QT环境。

2.2 配置QT环境

  1. 打开终端安装gcc g++编译器(可能之前安装过)

sudo apt-get install gcc g++
sudo apt-get install libqt4-dev
sudo apt-get install build-essential

  1. 添加终端快捷打开命令(选用)
    参考教程: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了。

  1. 可以不使用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

猜你喜欢

转载自blog.csdn.net/qq_45362336/article/details/129018948