五、关于pixhawk的仿真,jmavsim和Gazebo

实物飞总是很麻烦的,一个不小心就炸鸡了

所以在仿真环境里去验证是最好的方法,我也觉得先艹仿真再艹飞机是很正确的一种方式。

先介绍一下jmavsim

官网介绍
前面说的环境搭建好了,就可以直接make px4_sitl_default jmavsim
一次编译可能需要一点时间

然后就可以打开QGC来操控了,他会自动connected
然后就可以在QGC里为所欲为啦
很可惜它只支持室外的GPS环境

接上一个虚拟手柄就完全可以了开始操控了,没有接遥控器的话也可以,只能用部分模式定点啊之类的不依赖遥控器的

各种模式切换,任务运行,自行体会

QGC的终端我们会发现打不开,它其实搬到我们电脑运行仿真的终端里面啦,里面的一些模块都跟终端里一样,这说明我们也可以写自己的模块在程序里运行
比如hello功能,在终端输入hello start就运行这一个模块了,显然我们可以在这里面做一些其它的事情。
所以任务是在我们ubuntu的终端里面调试的而不是在QGC里的nsh终端,终端搬了家呗。

jMAVSim是一个轻量级的仿真器,目前只支持四旋翼仿真

一般而言,如果我是修改了PX4固件内的代码,比如修改了姿态控制器,我会用jMAVSim调试,同时打开地面站,利用定点及自稳模式进行飞行测试,还能下载log看看记录的量对不对。jMAVSim不吃电脑配置,运行比较流畅,适合快速验证PX4内部代码逻辑及检查修改固件后的BUG。
赞同上面的话

再看看GAZEBO

首先gazebo确实是我看来最好的仿真环境
它也确实对PX4支持的更多,很多算法的验证,包括仿真环境的搭建都是在gazebo里面搭建的,对我来说简直是天堂!!!
但是,要是没有ROS的基础的话还是尽量熟悉好ROS下的gazebo仿真后再来接触的比较好
虽然官方说gazebo开始是一个单独的仿真软件不再依赖ROS了,但是对于ROS玩家来说这俩一直是一起的,有些坑也只有ROS开发过的人才知道怎么踩。

关于安装

首先肯定是需要一个GAZEBO环境的
先按照这个链接里说的脚本运行安装
五、关于pixhawk的仿真,jmavsim和Gazebo_第1张图片
ROS/Gazebo,里面有一些操作不是我们需要的,自己看一下这个.sh文件,里面后面的一段关于mavros的操作我们可以去掉,或者他可能会执行不完报错(我的是因为已经有了catkin_ws文件夹所以报错没继续执行),不管他就是了,我看了一下好像是在通过源码编译安装mavros和mavlink,这个没必要扯源码去编译。。。
我之前在系统里部署过了过ros-melodic,所以把里面安装sudo apt install ros-melodic-desktop-full -y去掉了,嗨~要是电脑足够强就不要注释了,不然运行ros的时候可能偶尔会缺一点东西需要自己再去apt-get install,懂得都懂
sudo rosdep init/rosdep update这个大家可以忽略关于它的报错,或者直接注释掉它算了,这东西老毛病,它报错我从来没理过,反正不影响我使用
单纯地从仿真上来看
gazebo与jmavsim一样它可以连接QGC地面站,玩法与jmavsim一样的
但是它支持更多的机型
具体使用看这个
下面说一下编译需要注意的地方
将PX4-Autopilot/Tools/sitl_gazebo/models里的模型文件里的模型文件复制到~/.gazebo/models,玩过ROS GAZEBO仿真的都知道这一步啥意思,就是给gazebo添加模型文件
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev,这个我遇到过报错,make px4_sitl gazebo报错通过这个解决的
以上均不依赖ROS,完全是gazebo环境,感觉没什么好研究的。

我看了一下PX4-Autopilot/Tools/sitl_gazebo/里面是关于gazebo仿真的文件
src文件夹。这里是gazebo仿真的核心代码,即plugin(插件)代码。比如gps、imu、电机的插件,简单说如何模拟产生gps信号,就是这里的代码负责的。Gazebo自身也会提供一些默认插件,或者第三方也会提供插件,比如你要新增一个传感器,就可以找到相应的插件。
models文件夹。存放各种Gazebo模型文件。
worlds文件夹。存放Gazebo的世界环境文件。

看官网的介绍具体使用看这个
我们可以尝试做一些东西
比如说选择机型
五、关于pixhawk的仿真,jmavsim和Gazebo_第2张图片加载不同的Wolrd
五、关于pixhawk的仿真,jmavsim和Gazebo_第3张图片等等等等。。。
纯仿真,没什么好聊的

你可能感兴趣的:(飞控pixhawk)