All Projects → Intelligent-Quads → iq_sim

Intelligent-Quads / iq_sim

Licence: MIT license
example gazebo ardupilot simulation package

Programming Languages

CMake
9771 projects
GLSL
2045 projects
shell
77523 projects

Projects that are alternatives of or similar to iq sim

iq gnc
ROS package for GNC of Ardupilot drones
Stars: ✭ 28 (-53.33%)
Mutual labels:  drone, ardupilot
ardupilot gazebo
Repository for ArduPilot & Gazebo Software In Loop Simulation Interfaces, Models
Stars: ✭ 52 (-13.33%)
Mutual labels:  gazebo, ardupilot
ESP32
DroneBridge for ESP32. A short range wifi based telemetry link. Support for MAVLink, MSP & LTM (iNAV).
Stars: ✭ 183 (+205%)
Mutual labels:  drone, ardupilot
Autonomus Indoor Drone
Final year project, autonomus indoor drone developed in ROS using DWM1001 dev-board
Stars: ✭ 26 (-56.67%)
Mutual labels:  gazebo, ardupilot
Ardupilot
ArduPlane, ArduCopter, ArduRover, ArduSub source
Stars: ✭ 6,637 (+10961.67%)
Mutual labels:  drone, ardupilot
Qgroundcontrol
Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)
Stars: ✭ 2,026 (+3276.67%)
Mutual labels:  drone, ardupilot
HandGesturesDroneController
Hand Gestures for Drone Control Using Deep Learning ✊ ✋ 🚁 ☝️ 🙌
Stars: ✭ 23 (-61.67%)
Mutual labels:  drone, ardupilot
ign-rendering
C++ library designed to provide an abstraction for different rendering engines. It offers unified APIs for creating 3D graphics applications.
Stars: ✭ 34 (-43.33%)
Mutual labels:  gazebo
elfie
Flight control for Eachine E10/JJRC H37 "Selfie" drone
Stars: ✭ 18 (-70%)
Mutual labels:  drone
FreeTAKUAS
DJI drone flying app with integrations for FreeTAKServer
Stars: ✭ 41 (-31.67%)
Mutual labels:  drone
goliath-quadcopter
Design files for the Goliath Quadcopter
Stars: ✭ 25 (-58.33%)
Mutual labels:  drone
drone-helm3
Helm3 plugin for Drone CI
Stars: ✭ 20 (-66.67%)
Mutual labels:  drone
specification
The Cyphal specification documents are maintained here.
Stars: ✭ 38 (-36.67%)
Mutual labels:  drone
ZeroPilot-SW
Software for WARG custom autopilot
Stars: ✭ 13 (-78.33%)
Mutual labels:  drone
drone-in-minikube
Run Drone inside minikube
Stars: ✭ 19 (-68.33%)
Mutual labels:  drone
curio
ROS packages to control a version of Roger Chen's Sawppy Rover.
Stars: ✭ 38 (-36.67%)
Mutual labels:  gazebo
ardupilog
A ardupilot log to MATLAB converter
Stars: ✭ 26 (-56.67%)
Mutual labels:  ardupilot
motion-planner-reinforcement-learning
End to end motion planner using Deep Deterministic Policy Gradient (DDPG) in gazebo
Stars: ✭ 99 (+65%)
Mutual labels:  gazebo
RaspberryPilot
RaspberryPilot
Stars: ✭ 31 (-48.33%)
Mutual labels:  drone
drone-ftps
Deploy to FTPS server from Drone CI build
Stars: ✭ 18 (-70%)
Mutual labels:  drone

IQ Simulations

This repo hosts gazebo worlds for various drone scenarios and various drone configurations. This Repo is specifically designed to work with the Ardupilot control system, and utilizes the ardupilot gazebo plugin to allow the ardupilot control software to interface and control the model drone in gazebo.

Vehicles Supported

Community Discord Server

Come be a part of the growing community of drone application developers! Join the conversation in our discord.

IQ Tutorials

This Repo is part of the Intelligent Quads Software Development tutorial series. Please take a look at the following resources to learn more about how to use this repository.

Intelligent Quads Text Tutorials

Intelligent Quads Video Tutorials

Dependencies

Take a look at these tutorials to setup ardupilot, gazebo and the ardupilot gazebo plugin

Installing Ardupilot and MAVProxy

Installing QGroundControl

Installing Gazebo and ArduPilot Plugin

Installing x-term is recommended as it allows the ardupilot sitl interface to run in a terminal that will cleanly close when closing you sitl instance

sudo apt install xterm

Drone Simulations

runway world

This repo contains a couple different gazebo worlds containing various ardupilot drone configurations. The worlds are listed below

  • droneOnly.world - simple gazebo world containing only a single drone
  • runway.world - simple gazebo world containing only a single drone on a runway
  • lidar.world - a simple gazebo world containing a single drone with a 2d lidar sensor
  • multi_drone.world - a simple world containing 12 drones

Running Drone Simulations

Each world contains a corresponding launch file. For example to launch runway.world run

roslaunch iq_sim runway.launch

Launch the ardupilot instance by running

cd ~/ardupilot/ArduCopter/ && sim_vehicle.py -v ArduCopter -f gazebo-iris --console

For more information, take a look at the corresponding tutorials here

Quad Planes

Quad Planes are a vtol aircraft that uses quadcopter controls in hover and airplane controls in forward flight.

vtol pic

Setup

In order to use the gazebo quad plane sim a few files needed to be modified in ardupilot the first is to add the following to the file ardupilot/Tools/autotest/pysim/vehicleinfo.py on line 274. this should be within the Arduplane structure.

"gazebo-quadplane": {
    "waf_target": "bin/arduplane",
    "default_params_filename": "default_params/gazebo_quadplane.parm",
},

copy the file iq_sim/scripts/vtol-params/gazebo_quadplane.parm to ardupilot/Tools/autotest/default_params/gazebo_quadplane.parm

Running VTOL sim

Run Boat Sim

First terminal

roslaunch iq_sim vtol.launch

Second terminal

sim_vehicle.py -v ArduPlane -f gazebo-quadplane  -m --mav10 --console -I0

Boat Simulation

Recently I have been experimenting with Ardurover for controlling an autonomous boat. Below shows the steps for installing for boat simulation. If you have already installed for quadcopter simulation, then most of the boat installation should already be completed.

boat setup

river world

Run Boat Sim

First terminal

roslaunch iq_sim boat.launch

Second terminal

sim_vehicle.py -v APMrover2 -f gazebo-rover  -m --mav10 --console -L Viridian

IQ_SIM Models

drone1-12

This repo hosts a few helpful gazebo models you can use to build upon. Included in this repo are 12 drones which contain the ardupilot plugin. Each ardupilot plugin is staggered such that you can simulate multiple unique aircraft using ardupilot's SITL. For more information please see the iq_tutorial on ardupilot drone swarming

drone_with_lidar

Example drone that has a 2d lidar attached. The lidar plugin publishes a sensor_msgs/LaserScan ROS msg containing return data.

topics

/spur/laser/scan

drone_with_lidar

drone_with_sonar

Example drone with 4 sonars attached in each direction. Each sonar publishes a sensor_msgs/Range ROS msg containing range data.

topics

/drone1/sensor/sonar/back
/drone1/sensor/sonar/front
/drone1/sensor/sonar/left
/drone1/sensor/sonar/right

drone_with_sonar

drone_with_camera

Example drone with a forward facing camera. The camera published a sensor_msgs/Image ROS msg which can be used to view or do image processing on.

drone_with_camera

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].