f450无人机pid参数(无人机专题(四)PX4固件、地面站、MAVROS下载)
无人机的飞控系统种类有很多种,而由苏黎世理工大学推出Pixhawk开源飞控硬件板以其先进的处理器架构和模块化的特点,搭载了目前非常主流的APM和PX4两种飞行控制固件代码,因此广泛被人们学习和使用。我们在后续的学习和实验中,也是基于此进行开发的。
Dronecode集成了关于飞控系统的开源项目,其中就包含了基于Mavlink通信协议的PX4固件和地面站(QGroundControl)官方网站。
Leading Open Source Technologies - Dronecodewww.dronecode.org/projects/一、PX4固件下载
目前,PX4官网已经把下载的步骤尽可能的简化了,只需要三个步骤即可完成。
Ubuntu/Debian Linuxdev.px4.io/master/en/setup/dev_env_linux_ubuntu.html第一步,创建新的文件夹,并进入该文件夹下载/克隆源代码(这一步非常非常需要网络,如有必要也可以在终端使用科学上网)
mkdir px4_src #这里文件夹的名字可以随意命名cd px4_srcgit clone https://github.com/PX4/PX4-Autopilot.git --recursive注:如果上述克隆方法还是非常的缓慢难以进行,可以尝试如下代码。
git clone https://github.com.cnpmjs.org/PX4/PX4-Autopilot.git --recursive第二步,进入克隆好的文件夹目录下,运行脚本文件,安装相关依赖和仿真环境
由于我们并不直接使用Nuttx系统,因此并不需要安装关于nuttx的相关依赖和环境, 同时由于我们在前面安装ROS的时候已经自带了Gazebo仿真环境,因此,这里切记一定不要勾选仿真工具,选择no-sim-tools,否则会出现仿真环境版本冲突的情况。
cd PX4-Autopilot/Tools/setup bash ubuntu.sh --no-nuttx --no-sim-tools第三步,编译,测试。由于我们后期仿真都是建立在gazebo上,因此可以直接执行如下代码
cd ~/px4_src/PX4-Autopilot make px4_sitl gazebo注:由于前面我们没有选择仿真工具,因此在这里大多数人会报错,缺少一个依赖,如下图所示。
没关系,我们只需要执行下列命令单独安装一下即可,如果还有其他的,只需要对应安装响应的依赖即可。
sudo apt install libgstreamer-plugins-base1.0-dev最后我们再执行第三步,编译,即可出现如下图含有小旋翼机的界面,这时候就已经成功啦,我们还可以在终端直接输入commander takeoff让小旋翼机飞起来。
二、地面站下载
地面站的下载较为方便,进入下面的网站,找到和你操作系统相匹配的可执行文件进行下载即可。
https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.htmldocs.qgroundcontrol.com/master/en/getting_started/download_and_install.html在运行前我们还需要对其进行加权,然后双击即可打开,打开界面如下图所示。
chmod +x ./QGroundControl.AppImage如果出现了打不开的情况,可以参考官方的操作方式后,再次运行即可:
sudo usermod -a -G dialout $USER sudo apt-get remove modemmanager -y sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y三、MAVROS下载
MAVROS包是允许在运行ROS的计算机和支持MAVLink的飞控板以及支持MAVLink的地面站之间通讯的功能包,建立了三者之间的联系。为了便于安装,这里我们推荐二进制安装的方式,直接执行下列命令,即可完成mavros的安装。
sudo apt install ros-melodic-mavros*接着,我们还需要安装一些依赖,执行它自带的脚本文件即可,这一步需要良好的网络。
sudo /opt/ros/melodic/lib/mavros/install_geographiclib_datasets.sh安装完成后即可。
到这里,无人机仿真环境的搭建就基本上完成了,后面就是正式仿真的过程啦~