Pixhawk无人机-ArduPilot 软件SITL仿真模拟飞行(SITL+MAVProxy)

1 引言

本人是先看了多个博客实现了:在ubuntu下建立完整的ardupilot开发环境。
该文是基于搭建完编译环境后,也就是搭建好ardupilot的仿真环境实现的。

在文章: 《Pixhawk无人机扩展教程(5)—SITL仿真模拟飞行:开发环境搭建》.中指出:

要进行SITL仿真飞行,需要分以下几步进行:
第一步:搭建Ardupilot开发环境;
第二步:ArduPilot 软件在环仿真SITL(SITL+MAVProxy);
第三步:ArduPilot 软件在环仿真SITL(SITL+Mission Planner或则SITL+QGC);
第四步:ArduPilot 软件在环仿真SITL(SITL+Gazebo三维仿真)

本文实现的是第二步ArduPilot 软件在环仿真SITL(SITL+MAVProxy),接下来我们就可以开始进行仿真.。

官方文档:MAVProxy
官方解释:
1)MAVProxy是基于MAVLink系统的无人机地面站软件包
2)MAVProxy是一个强大的基于命令行的“开发人员”地面站软件。
3)它可以通过附加模块进行扩展,也可以与另一个地面站(如Mission Planner、APM Planner 2、QGroundControl等)进行补充,以提供图形用户界面。

2 实现步骤

第一步:打开终端,把路径转到ArduCopter目录下

cd ardupilot/ArduCopter

第二步:执行命令启动SITL仿真
注意:若是第一次进行仿真,请先运行一下sim_vehicle.py -w,运行正常后,使用Ctrl+C kill这个程序的运行。然后执行如下命令:

sim_vehicle.py --console --map

启动选项解释:
--console:Load the GUI console module on startup.启动时加载GUI控制台模块。
--map:Load the moving map module on startup.启动时加载移动地图模块。

正常启动后,会出现3个窗口,Terminal、Console和Map 。

出现的问题:

1、注意:如果没有看到map和console窗口。
没有地图,没有控制台,也没有 MAVProxy 命令提示符。看到了这些错误:
Failed to load module: No module named ‘console’. Use ‘set moddebug 3’ in the MAVProxy console to enable traceback Failed to load module: No module named ‘map’. Use ‘set moddebug 3’ in the MAVProxy console to enable traceback

解决问题的帖子:https://github.com/ArduPilot/ardupilot/issues/13357

解决方法一:按照帖子提供的方法,您很可能错过了一些 mavproxy 依赖项,例如 python-wxgtk3.0 。请从http://ardupilot.github.io/MAVProxy/html/index.html检查你是否正确安装了 mavproxy 。

Linux下正确安装mavproxy:
对于基于 Debian 的系统(包括 Ubuntu、WSL、Raspian):

sudo apt-get install python3-dev python3-opencv python3-wxgtk4.0 python3-pip python3-matplotlib python3-lxml python3-pygame
pip3 install PyYAML mavproxy --user
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

当我安装python3-pygame,出现错误:python3-pygame 没有可安装候选,然后百度谷歌也搜不到解决办法,我就先把其他包安装上,然后用python-pygame代替了python3-pygame。

解决方法二:可能是由于MAVProxy,pymavlink,future,lxml这几个python包没有安装好,运行下面的命令安装:

sudo -H pip2 install --upgrade MAVProxy pymavlink future lxml

你可能感兴趣的:(无人机,ubuntu,linux)