由于项目使用的是固定翼飞机,然后又要求使用的是APM固件,所以之前对PX4固件就需要从新来过。
固定翼常见的飞行模式
配置请你参考前面一篇文章:点击这里
(1)
#终端输如下行命令报错
gazebo --verbose zephyr_ardupilot_demo.world
报错:无法找到world文件
解决办法:
sudo gedit /usr/share/gazebo/setup.sh
sudo gedit /usr/share/gazebo-9/setup.sh
将export GAZEBO_MODEL_DATABASE_URI=http://gazebosim.org/models修改为:
export GAZEBO_MODEL_DATABASE_URI=http://models.gazebosim.org/
然后:
cd ~/ardupilot_gazebo/models
打开终端
wget http://models.gazebosim.org/manifest.xml
(2)map和终端不显示
原因:mavproxy未安装好,参考官方链接安装参考地址
解决办法:
sudo apt-get install python3-dev python3-opencv python3-wxgtk4.0 python3-pip python3-matplotlib python3-lxml python-pygame
pip3 install PyYAML mavproxy --user
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
常见错误请参考链接](https://blog.csdn.net/Dojinz/article/details/134872301)
在上一个文章中,我们构建自己的gazebo模型,然后进行编译,但是那个没有包含固定翼模型,所以我们需要更换。
git clone https://github.com/SwiftGust/ardupilot_gazebo
cd ardupilot_gazebo
mkdir build
cd build
cmake ..
make -j4
sudo make install
更换之前里面的模型如下所示:
上述就是全部的环境配置
接下来可以按照BUILD.md中的进行waf编译。
确保~/.bashrc的环境变量都设置好了,没有就请你参考我的第一篇文章点击这里
./waf configure --board sitl
./waf plane #编译的是固定翼,你也可以选择四旋翼(copter)
运行仿真:
sim_vehicle.py -v ArduPlane -f gazebo-zephyr --map --console -I0
换另外一个终端
gazebo --verbose zephyr_ardupilot_demo.world
开始起飞:
#切换到takeoff模式
mode takeoff
#解锁油门
arm throttle
固定翼会默认起飞到10m高度进行circle动作。