话说apm的sitl(simulation in the loop)开发环境的搭建

来源:互联网 发布:js中的选择器 编辑:程序博客网 时间:2024/05/02 00:29

系统:
      ubuntu 16.10
平台:
      dell precision5520,i7 7820,东芝ssd,ddr4
固件:
      当前版本最新多悬翼稳定版的固件是3.4.6,也就是我现在使用的版本

不得不说仿真是个准备工作比较长的东西,我如果配上图的话说明效果会好很多,然而我懒…

apm的仿真具体分为两个部分,与mavproxy联动的二维仿真和与flightgear联动的三维仿真.

这里推荐一下步骤,我建议先从简单的做起,就是先安装好mavproxy,因为一开始我先装了flightgear,然后走了很多弯路,额,具体就不说了,反正还是相信过来人的经验吧,反正就算你先装好flightgear也要等软件仿真连接才能看现象.


  • MAVPROXY

首先是这里,这个连接好难找,我是在官网跟着操作的时候顺着这里面的这一小节才跟进去的.

mavproxy的仿真分为两个页面,一个教你配置环境,就是上一段出现过的这里,一个是教你初步的使用,这里以多悬翼为例,其实大同小异,我在实际的使用中并没有出现什么不兼容的问题,我居然还会感觉到窃喜这是为什么…

可能在配置环境的地方出现环境变量的问题导致某个指令(没错我说的就是sim_vehicle.py,注意后缀是.py,网上很多老教程写的.sh后缀也是把我小坑了一下)找不到,唔,这个问题其实也是个老朋友了,大概是这一节会提到,其实这个问题我在这里已经讲的很明白了,官网里用的是改.bashrc(注意有一个.),对比官网和我这篇搞定环境变量其实是个很简单的事情.


  • flightgear

flightgear的安装其实并不麻烦,就是比较大,强烈建议在网速好的时候做,要不然动不动就在终端卡住重来一遍敲恶心.也是按照这里来操作就行,其实蛮简单但.


  • 最后一些自己的调试仿真心得
    其实按照官网来就好,比编译的时候出的问题少多了,我印象里仿真的时候需要在./waf configure 里把board设置为linux
./waf configure --board=-linux

这里要注意./waf的指令都要在项目的根目录里操作,也就是在ardupilot里面.
还有就是我印象里是需要先设置一下的,现在回去找找不到了,也可能是Replay模式里才需要,我记混了.

每次仿真前首先要定位到你vehicle的目录,比如ArduCopter目录里,首先按照手册说的先

sim_vehicel.py -w

擦除上一次的记录,然后control+c杀死进程,重新再进行你需要的仿真.

然后这时当前终端就像用screen看看串口一样换了样子,已经变成了mavlink的终端.

再然后新打开一个终端,定位到ardupolot/Tools/autotest里,再运行fg_quad_view.sh,这里基本上就能看到二维和三维的联动仿真了.


最后我留了一点点小尾巴,我的flightgear是没有地图模型的,感觉是软件的使用问题,又是一个典型的为了做饭学炼钢问题…

还有就是需要跑一下Replay模式,这个近期就会搞.

0 0