# ardupilot_gazebo仿真

Posted spa147

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# ardupilot_gazebo仿真相关的知识,希望对你有一定的参考价值。

ardupilot_gazebo仿真

标签(空格分隔): 未分类


ardupilot_gazebo仿真 官网网址
代码更新地址

Ardupilot Gazebo Plugin & Models

Requirements :

Native Ubuntu Xenial(16.04 LTS) able to run full 3D graphics.

Note : Virtual Machine such as VMWare Player does not support full 3D graphics.

but, possible solution is here

Type follow in the terminal,

echo "export SVGA_VGPU10=0" >> ~/.bashrc
source ~/.bashrc

solution retreived from here http://answers.gazebosim.org/question/13214/virtual-machine-not-launching-gazebo/

ArduPilot setup for SITL launch
Gazebo version 7.x or 8.x
The gazebo9 branch will works on gazebo >= 9.x

Disclamer :

This is a playground until I get some time to push the correct patch to gazebo master (I got hard time to work with mercurial..)!
So you can expect things to not be up-to-date.
This assume that your are using Ubuntu 16.04

Usage :

I assume you already have Gazebo 7+ installed with ROS (or without).
If you don‘t have it yet, install ROS with sudo apt install ros-kinetic-desktop-full
(follow instruction here http://wiki.ros.org/kinetic/Installation/Ubuntu).

Or install directly gazebo8 from http://gazebosim.org/tutorials?tut=install_ubuntu

libgazebo7-dev or libgazebo8-dev must be installed.

For Gazebo 7

sudo apt-get install libgazebo7-dev

OR
For Gazebo 8

sudo apt-get install libgazebo8-dev
git clone https://github.com/SwiftGust/ardupilot_gazebo
cd ardupilot_gazebo
mkdir build
cd build
cmake ..
make -j4
sudo make install

Set Path of Gazebo Models / Worlds...
Open up .bashrc

sudo gedit ~/.bashrc

Copy & Paste Followings at the end of .bashrc file

source /usr/share/gazebo/setup.sh
export GAZEBO_MODEL_PATH=~/ardupilot_gazebo/models:${GAZEBO_MODEL_PATH}
export GAZEBO_MODEL_PATH=~/ardupilot_gazebo/models_gazebo:${GAZEBO_MODEL_PATH}
export GAZEBO_RESOURCE_PATH=~/ardupilot_gazebo/worlds:${GAZEBO_RESOURCE_PATH}

Install is done !!

Now launch a world file with a copter/rover/plane and ardupilot plugin, and it should work!
(I will try to add some world file and model later)

HELP

How to Launch :
Launch Ardupilot Software In the Loop Simulation for each vehicle.
On new terminal, Launch Gazebo with basic demo world.

ROVER

On 1st Terminal(Launch Ardupilot SITL)
sim_vehicle.py -v APMrover2 -f gazebo-rover  -m --mav10 --map --console -I1

On 2nd Termianal(Launch Gazebo with Rover, Retrieved from Husky Model)
gazebo --verbose rover_ardupilot.world

COPTER (3DR IRIS)

On 1st Terminal(Launch Ardupilot SITL)
sim_vehicle.py -v ArduCopter -f gazebo-iris  -m --mav10 --map --console -I0

On 2nd Terminal(Launch Gazebo with demo 3DR Iris model)
gazebo --verbose iris_ardupilot.world

PLANE

On 1st Terminal(Launch Ardupilot SITL)
sim_vehicle.py -v ArduPlane -f gazebo-zephyr  -m --mav10 --map --console -I0

On 2nd Terminal(Launch Gazebo with demo Zephyr flying wing model)
gazebo --verbose zephyr_ardupilot_demo.world

In addition, you can use any GCS that can connect to the Ardupilot locally or remotely(will require connection setup).
If MAVProxy Developer GCS is uncomfortable. Omit --map --console arguments out of SITL launch.

And use APMPlanner2 or QGroundControl instead.
(Possibly MissionPlanner but require Windows PC)

Local connection with APMPlanner2/QGroundControl is automatic, and easier to use.

For APMPlanner2

Download it from here http://firmware.eu.ardupilot.org/Tools/APMPlanner/
and launch it in terminal or run executable

apmplanner2

For QGroundControl

Download it from here and follow the installation guide.

https://donlakeflyer.gitbooks.io/qgroundcontrol-user-guide/en/download_and_install.html

Multi-Vehicle simulation

This section explains how to connect any combination of multi-vehicles of ArduPilot

For the multi-vehicle connection, port number is increased by 10
In SITL launch argument (sim_vehicle.py)

-I 0 has FDM in/out ports of 9002/9003 / GCS connection UDP:14550

-I 1 has FDM in/out ports of 9012/9013 / GCS connection UDP:14560

-I 2 has FDM in/out ports of 9022/9023 / GCS connection UDP:14570

and so on...

You will need to edit your world for any combination of Rover, Plane, Copter, etc...

Additional Note for GCS Connection
You will also need to edit ArduPilot Parameter SYSID_THISMAV to be unique from one another for the GCS connection

Example

Look simulation of 3 IRIS quadcopter at once from Jonathan Lopes Florêncio
https://www.youtube.com/watch?v=3c7EhVMaqKY&feature=youtu.be

Troubleshooting

Missing libArduPilotPlugin.so... etc

In case you see this message when you launch gazebo with demo worlds, check you have no error after sudo make install.
If no error use "ls" on the install path given to see if the plugin is really here.
If this is correct, check with "cat /usr/share/gazebo/setup.sh" the variable GAZEBO_PLUGIN_PATH. It should be the same as the install path. If not use "cp" to copy the lib to right path.

For Example

sudo cp -a /usr/lib/x86_64-linux-gnu/gazebo-7.0/plugins/ /usr/lib/x86_64-linux-gnu/gazebo-7/

path mismatch is confirmed as ROS‘s glitch. It‘ll be fixed.





















以上是关于# ardupilot_gazebo仿真的主要内容,如果未能解决你的问题,请参考以下文章

共识算法仿真论文及实现代码

电能仿真基于matlab电能质量谐波波形仿真含Matlab源码 2263期

Matlab增采样仿真——代码实现

定位仿真基于matlab RSSI三边定位仿真含Matlab源码 1690期

导航仿真基于matlab GUI PSINS导航仿真含Matlab源码 1496期

机械仿真基于matlab GUI凸轮设计与仿真含Matlab源码 153期