All Projects → SwiftGust → ardupilot_gazebo

SwiftGust / ardupilot_gazebo

Licence: other
Repository for ArduPilot & Gazebo Software In Loop Simulation Interfaces, Models

Programming Languages

C++
36643 projects - #6 most used programming language
HTML
75241 projects
CMake
9771 projects

Projects that are alternatives of or similar to ardupilot gazebo

iq sim
example gazebo ardupilot simulation package
Stars: ✭ 60 (+15.38%)
Mutual labels:  gazebo, ardupilot
Autonomus Indoor Drone
Final year project, autonomus indoor drone developed in ROS using DWM1001 dev-board
Stars: ✭ 26 (-50%)
Mutual labels:  gazebo, ardupilot
conde simulator
Autonomous Driving Simulator for the Portuguese Robotics Open
Stars: ✭ 31 (-40.38%)
Mutual labels:  gazebo
raspimouse sim
ROS package suite for Raspberry Pi Mouse Simulator
Stars: ✭ 23 (-55.77%)
Mutual labels:  gazebo
gazebo tutorials
Tutorials for gazebo
Stars: ✭ 78 (+50%)
Mutual labels:  gazebo
MultiOSD
MinimOSD firmware for OpenPilot/LibrePilot CC/CC3D/Atom/Revolution/Revo Nano, MAVLink (APM/Pixhawk PX4/Paparazzi/generic MAVLink), GPS u-blox, TauLabs, dRonin
Stars: ✭ 42 (-19.23%)
Mutual labels:  ardupilot
MAVCesium
An experimental web based map display for MAVProxy based on Cesium
Stars: ✭ 28 (-46.15%)
Mutual labels:  ardupilot
gazebo terrain
Terrain model generator for Gazebo
Stars: ✭ 38 (-26.92%)
Mutual labels:  gazebo
ign-math
General purpose math library for robot applications.
Stars: ✭ 35 (-32.69%)
Mutual labels:  gazebo
katana driver
This stack contains hardware drivers, Gazebo plugins and other basic functionalities for the Neuronics Katana family of robot arms.
Stars: ✭ 16 (-69.23%)
Mutual labels:  gazebo
Pavilion
Unreal-based Gazebo Alternative
Stars: ✭ 30 (-42.31%)
Mutual labels:  gazebo
Autonomous-Ai-drone-scripts
State of the art autonomous navigation scripts using Ai, Computer Vision, Lidar and GPS to control an arducopter based quad copter.
Stars: ✭ 45 (-13.46%)
Mutual labels:  ardupilot
rmua19 ignition simulator
Gazebo Simulator for RoboMaster University AI Challenge 2019
Stars: ✭ 15 (-71.15%)
Mutual labels:  gazebo
GazeboWorldDesigner
A visual tool for laying out Gazebo simulation world files.
Stars: ✭ 12 (-76.92%)
Mutual labels:  gazebo
wpr simulation
No description or website provided.
Stars: ✭ 24 (-53.85%)
Mutual labels:  gazebo
gzweb
Web client for Gazebo classic simulation
Stars: ✭ 36 (-30.77%)
Mutual labels:  gazebo
ur ws
Universal robot with robotiq hand workspace
Stars: ✭ 21 (-59.62%)
Mutual labels:  gazebo
aws-robomaker-robotics-curriculum
Introductory robotics curriculum
Stars: ✭ 78 (+50%)
Mutual labels:  gazebo
ign-physics
Abstract physics interface designed to support simulation and rapid development of robot applications.
Stars: ✭ 40 (-23.08%)
Mutual labels:  gazebo
autonomous landing uav
ROS packages of the Autonomous landing system of a UAV in Gazebo
Stars: ✭ 44 (-15.38%)
Mutual labels:  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/

Note : This just enables running gazebo in virtual machine, does not guarantee the performance and Gazebo require much of CPU & GPU processing power depending on what you are running the simulation.

ArduPilot setup for SITL launch Gazebo version 7 or later

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

Repository Structure :

models_gazebo : Gazebo Original models retrieved from OSRF bitbucket repository (you can find more in https://bitbucket.org/osrf/gazebo_models/src)

models : Ardupilot SITL compatible models.

worlds : Ardupilot SITL example worlds.

src : source files for Gazebo - ArduPilot Plugin

include : header files for Gazebo - ArduPilot Plugin

Getting Started :

How to Install :

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

OR

For Gazebo 9

sudo apt-get install libgazebo9-dev

Common :

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}
export GAZEBO_PLUGIN_PATH=~/ardupilot_gazebo/build:${GAZEBO_PLUGIN_PATH}

Install is complete

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 ArduRover SITL)

sim_vehicle.py -v APMrover2 -f gazebo-rover  -m --mav10 --map --console -I1

On 2nd Termianal(Launch Gazebo with differential drive Rover model, Retrieved from Husky Model)

gazebo --verbose rover_ardupilot.world

COPTER (3DR IRIS) On 1st Terminal(Launch ArduCopter 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 ArduPlane 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 per instance(#) In SITL launch argument -I # of 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

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 Gazebo's glitch. It only happens with Gazebo version 7.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].