题记:最近做毕业设计得用到无人机仿真,重操旧业,搞一搞SITL仿真。
给个传送门参考:无人机SITL仿真
APM软件在环仿真
我的环境:ubuntu18.04虚拟机
1.官方教程
ardupilot官网和官方git帐号,里面有很多东西可以学习。
1)先安装编译环境,Setting up the Build Environment;
具体步骤如下:
sudo apt-get update
sudo apt-get install git
sudo apt-get install gitk git-gui
cd ~/
git clone https://github.com/ArduPilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive
Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile
成功后应该是这样的,此后就可以进行仿真了。
接下来可以按照BUILD.md中的进行waf编译。
./waf configure --board sitl
./waf copter
这里记录一下我遇到的一个关于Mavproxy的问题。
这个
从APM官方git中,下载安装Mavproxy即可,注意之后将build/scripts2.7/中的文件拷贝到~/.local/lib/python2.7/site-packages/MAVProxy-1.8.18.dist-info/scripts/下,问题解决。
附加:查看可用的板子命令
./waf list_boards
结果如下:
export PATH=$PATH:$HOME/ardupilot/Tools/autotest
export PATH=/usr/lib/ccache:$PATH
. ~/.bashrc
接下来:
2)开始SITL simulator
cd ardupilot/ArduCopter
sim_vehicle.py -w
sim_vehicle.py --console --map
pip install --upgrade pymavlink MAVProxy --user
默认配置时会弹出一个窗口,取消后再sim_vehicle.py --console --map
之后会有三个窗口,表示SITL成功运行啦。如下:
3)使用gazebo仿真器
APM_Gazebo官方教程
得先git clone ardupilot_gazebo
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt update
sudo apt install gazebo9 libgazebo9-dev
gazebo --verbose
echo “export SVGA_VGPU10=0” >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/khancyr/ardupilot_gazebo
cd ardupilot_gazebo
mkdir build
cd build
cmake ..
make -j4
sudo make install
cd ~/ardupilot_gazebo
gazebo --verbose worlds/iris_arducopter_runway.world
cd ~/ardupilot/ArduCopter
../Tools/autotest/sim_vehicle.py -f gazebo-iris --console --map
启动APM在gazebo中的SITL,如下:
分别是map和Xterm、显示面板三个窗口。在终端可以输入命令:
mode guided
arm throttle
takeoff 10
2.APM仿真使用
APM的指令暂时没找,记录一下常用的指令。更多内容可以参考最上方给出的传送门。
官方demoOctomapPlanner
,官方git主页,官方在ubuntu16.04测试,基于opencv3,我在18.04虚拟机上做的,基于opencv4.1.1。
git clone https://github.com/ardupilot/OctomapPlanner
cd OctomapPlanner
mkdir build
cd build
cmake ..
make
cp -r ../models/* ~/.gazebo/models/
cd ~/OctomapPlanner/
gazebo --verbose worlds/iris_gas_station_demo.world
sim_vehicle.py -v ArduCopter -f gazebo-iris
mode guided
arm throttle
takeoff 1
./build/main_node
正常进入gazebo如下:
启动项目节点后如下,将弹出视差图窗口,并且无人机自主移动。
自主规划路径:
之后,我发现它自杀了,哈哈哈
记录一个问题,arm throttle之后会自动加锁,暂时不知道为何。
通过ROS话题来获取gazebo中双目相机的图片,gazebo双目相机
。
附上OctomapPlanner的两篇博客地址:
1)OctomapPlanner1
2)OctomapPlanner2
另外几个关于APM和avoidance的包.
**APM官方的避障:object avoidance
**
3.mavros
关于APM飞控,使用ros和gazebo进行SITL仿真似乎还在开发中,GG。
详情参考:https://ardupilot.org/dev/docs/ros.html
另外这一块还有伴生嵌入式板子等内容,参考以上链接。
4.XTDrone
肖昆XTDrone:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)