# Gazebo (logiciel)

Gazebo, initialement nommé Gazebo Project, est un simulateur 3D, cinématique, dynamique et multi-robot permettant de simuler des robots articulés dans des environnements complexes, intérieurs ou extérieurs, réalistes et en trois dimensions.
Il s'agit d’un programme open source distribué sous licence Apache 2.0, utilisé dans les domaines de la recherche en robotique et en intelligence artificielle.
Gazebo a été une composante du projet Player de 2004 à 2011 et est devenu un projet indépendant en 2011.

## Caractéristiques

Gazebo est un logiciel libre financé en partie par Willow Garage qui peut être reconfiguré, développé et modifié. Il est compatible avec ROS et Player.
Gazebo peut être exécuté à partir de ROS et il est possible d'utiliser les API de ce dernier pour transmettre des données avec les robots dans les simulations.
Ce logiciel permet également de faire des simulations réalistes de la physique des corps rigides.
Les robots peuvent interagir avec le monde (ils peuvent ramasser et pousser des objets, rouler et glisser sur le sol) et inversement (ils sont affectés par la gravité et peuvent se heurter à des obstacles dans le monde).
Pour ce faire, Gazebo utilise de multiples moteurs physiques tels que l' Open Dynamics Engine (ODE), Bullet, Symbody ou DART.
Il existe la possibilité de développer et de simuler ses propres modèles de robot (URDF) et de les charger au moment de l'exécution.
De plus, il est possible de créer des scénarios de simulation (mondes), en modifiant les caractéristiques des contacts avec le sol, des obstacles et des valeurs de gravité dans les trois dimensions. Ces caractéristiques de contact peuvent être modifiées pour chaque lien.
Gazebo contient divers modules externes pour ajouter des capteurs au modèle du robot et les simuler, tels que des capteurs d'odométrie (GPS et IMU), de force, de contact, de laser et des caméras stéréos.
Il possède également un immense catalogue de robots dont la majorité des robots commerciaux.

## Environnement de simulation

Pour exécuter le simulateur dans un environnement déjà configuré, il est nécessaire de le passer en tant qu'argument d'un fichier de configuration d'extension « world ».
Ce type de fichier est écrit en langage XML et spécifie les paramètres du moteur physique ODE (tels que le temps d’intégration, la valeur de gravité, etc.), ceux du moteur graphique OGRE (rendu, ombres, ciel, environnement, etc.) et les objets devant apparaître automatiquement dans le simulateur.

## Compétitions

Gazebo a été utilisé comme environnement de simulation dans plusieurs compétitions technologiques.

### DARPA Robotics Challenge (DRC)

La compétition DRC était un concours primé et financé par la DARPA.
Son objectif était de développer des robots terrestres semi-autonomes capables d'effectuer des tâches complexes dans des environnements dangereux, dégradés et construits par l'homme.
La phase de simulation, le Virtual Robotics Challenge, s'est déroulée du 17 au 21 juin 2013 et a été remportée par l'équipe de l'institut pour la cognition des humains et des machines (IHMC) de Pensacola en Floride.

### NASA Space Robotics Challenge (SRC)

Le Concours de robotique spatiale de la NASA demande aux équipes de développer et de montrer les capacités d'un robot R5 (Valkyrie) pour aider dans le déroulement d'une mission de la NASA, telle que celles se déroulant sur Mars.
Ce concours offrait un prix de 1 million de dollars.
La NASA a sélectionné 20 équipes finalistes sur la base de leurs performances pour effectuer certaines tâches dans le simulateur de robot 3D Gazebo. Chacun de ces finalistes devait programmer un humanoïde Valkyrie pour effectuer une mission de réparation sur une base simulée de Mars.

### Toyota Prius Challenge

Le défi Prius est une compétition au cours de laquelle les participants concourent pour atteindre la meilleure économie de carburant et d'efficacité énergétique dans les délais impartis.
Le 3 mars 2017, le Toyota Research Institute (TRI) accueille les participants sur le circuit de Sonoma (Californie).
Open Robotics a créé un environnement de simulation basé sur Gazebo pour la compétition, dans lequel les équipes ont mis en pratique et ont testé leurs théories et leurs stratégies pour la compétition.

### Agile Robotics for Industrial Automation Competition (ARIAC)

ARIAC est une compétition fondée sur des simulations conçues pour répondre à une limitation critique des robots utilisés dans des environnements industriels : ils ne sont pas aussi agiles qu’ils doivent l’être.
L'ARIAC a pour objectif de permettre aux robots industriels installés dans les ateliers, d'être plus productifs, plus autonomes et plus sensibles aux besoins des ouvriers.

### DARPA Service Academy Swarm Challenge (SASC)

La DARPA a créé le Service Swords Academies Challenge pour développer les tactiques efficaces de pilotage d'essaims de drones. Le défi est une collaboration entre la DARPA et les trois académies de service militaire des États-Unis (United States Military Academy, Naval Academy, United States Air Force Academy).

### DARPA Subterranean Challenge (SubT)

Le défi DARPA Subterranean (SubT) vise à développer des technologies innovantes de navigation dans des opérations souterraines.
Le SubT Challenge est organisé en deux compétitions : environnement réel et virtuel.

### Virtual RobotX Competition (VRX)

Virtual RobotX (VRX) est un environnement de simulation conçu pour prendre en charge le RobotX Challenge.
Cet outil de simulation permet d’améliorer les performances des systèmes participant au RobotX Challenge.
En développant des algorithmes et des logiciels pour commander et contrôler un véhicule de surface sans pilote simulé, les utilisateurs ont la possibilité d'explorer les avantages de la simulation.
C’est une compétition de niveau universitaire conçu pour élargir l'exposition des étudiants à l'autonomie et aux technologies robotiques maritimes.
Les équipes d'étudiants utilisent leur véhicule dans un environnement de simulation fondé sur Gazebo, créé par Open Robotics et Naval Postgraduate School.