SITL在win10下的环境搭建(纯手打,经历了各种报错的痛苦结晶)
SITL在win10下的环境搭建说简单很简单,说难也很难,关键是得处理各种难以想象的报错。
安装cygwin
https://www.cygwin.com/install.html
在官网按照自己电脑的配置下载cygwin的安装程序。建议安装包直接放在C:\用户\user下,然后使用cmd安装。
在cmd中键入
setup-x86_64.exe -P autoconf,automake,ccache,gcc-g++,git,libtool,make,gawk,libexpat-devel,libxml2-devel,python36,python36-future,python36-lxml,python36-pip,libxslt-devel,python36-devel,procps-ng,zip,gdb,ddd
一切安装步骤按照默认来,在选择下载节点时作者直接用的163节点。
因为已经在cmd中键入了相关命令,所以在select界面时不用选择包直接点击下一步即可。
安装gcc编译器(arm-gcc交叉工具链)
https://firmware.ardupilot.org/Tools/STM32-tools/gcc-arm-none-eabi-6-2017-q2-update-win32-sha2.exe
在官网下载gcc编译器(arm-gcc交叉工具链),安装选择都按默认来,但是在安装程序最后一个界面一定要勾选上add path to environment variable选项。
安装MAVProxy
https://firmware.ardupilot.org/Tools/MAVProxy/MAVProxySetup-latest.exe
下载最新安装包,一切安装选项按默认来。
注意事项:一定要装在c盘的默认位置!!!
添加环境变量
在系统中直接搜索环境变量
再点击环境变量,在出现的界面下方系统变量中点击新建,添加变量名为CYGWIN_HOME,值为CYGWIN安装路径的环境变量。
初始化
先打开cygwin再关闭,让程序自行配置初始化文件!!
cygwin的配置
再次打开程序并输入一下代码:
ln -s /usr/bin/python3.6 /usr/bin/python
ln -s /usr/bin/pip3.6 /usr/bin/pip
pip install empy pyserial pymavlink
如果提示链接或文件已经存在,则输入
ln -sf /usr/bin/python3.6 /usr/bin/python
ln -sf /usr/bin/pip3.6 /usr/bin/pip
pip install empy pyserial pymavlink`
一切成功后,再写入命令:
git clone https://github.com/ardupilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive
如果git clone失败,则写入
git clone git://github.com/ardupilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive
一切成功后再写入
cd ~/ardupilot/ArduCopter
../Tools/autotest/sim_vehicle.py --map --console
如果上述操作没有问题,到这一步为之就已经成功打开仿真界面了。
找不到pymavlink
键入`
pip install pymavlink
如果键入该命令又提示没有pip,那应该是环境变量出了问题,键入
export PATH=/bin:/usr/bin:$PATH