一、开发环境搭建
在CSDN上看了很多博客,感觉对于PX4的开发环境搭建还是一知半解,一头雾水。结合自己的疑问,又去看了些视频,查了一些资料,把PX4软件开发做一个完整的了解。
开源飞控包括PX4固件,APM固件还有穿越机。地面站包括QGC(QGroundcontol)地面站,MP(MissionPlan)地面站,Betaflight。仿真平台包括gazebo(树林穿越仿真需要自己建模型),jMAVSim。ROS是机器人操作系统,用于联通仿真无人机;flightplot飞行日记。PX4与地面站之间的通信是用mavlink协议。QT可以对地面站进行二次开发,源码在github可以下载。
PX4二次开发在px4官网上有Linux系统和window系统还有VSCode这几种。在ubuntu系统比较高效方便。开发方式:在ubuntu系统中下载PX4固件,涉及到固件下载,代码查看工具VSCode,编译环境,Gazebo仿真。编译环境的搭建涉及到Cmake,ubuntu的使用。从PX4固件下载到可以仿真看到一家虚拟无人机飞行必须学会:linux系统安装,ubuntu基础配置,linux基础命令,git基础使用,px4下载,编译环境搭建,代码烧入和仿真。
---------------------------------------------------------------------------------------------------------------------------------
新手上路 - 代码编译 - 《PX4开发指南》 - 书栈网 · BookStack
使用git指令下载源码,将固件代码放在了/home/xxx/src/Firmware。
编译指令:
cd Firmware
make px4fmu-v2_default
在编译成功之后,用指令将编译之后二进制代码通过USB上传到飞控硬件:
make px4fmu-v2_default upload
在使用开发指南的步骤去编译工具链之后,python包下载失败,影响后面的固件库编译,编译失败。各种安装包很多指令,而且出现很多版本旧或者其它问题,真的很烦。px4环境搭建难点在于配置好基本的依赖包,坑点是版本问题。
然后又转头换了种方法:安装依赖(各种工具链)
bash ./Tools/setup/ubuntu.sh
使用这个指令检查是否安装成功:
arm-none-eabi-gcc --version
如果安装失败,那么:
sudo apt-get update
sudo apt install gcc-arm-none-eabi
再检查一下是否成功。成功之后,将固件库编译一下(使用前面的编译指令和下载指令)。最后成功下载到板子上面。
需要注意:下载固件时,把USB连接到虚拟机而不是主机。在从git下载完固件之后,安装依赖和编译下载程序都要在firmware目录下进行。
---------------------------------------------------------------------------------------------------------------------------------
上面我们完成了固件下载到ubuntu,固件编译,固件下载到PIXHAWK的过程。那么,如何进行源码开