Simple Gazebo Example

To install this project, clone the repository:

git clone https://github.com/aerostack2/project_gazebo

To start using this project, please go to the root folder of the project.

Execution

The execution will open a simulation in Gazebo and the Aerostack2 components will use simulation time.

The flags for the components launcher are:

  • -m: launch the components for the swarm multiagent system.

  • -t: launch keyboard teleoperation.

  • -r: record rosbag.

  • -b: use Behavior Tree.

  • -n: use custom dron namespace.

Single drone

In order to launch the components for a single drone, do:

./launch_as2.bash -t

This will open a simulation for a single drone alongside the Aerostack2 components necessary for the mission execution.

A window like the following image should open.

../../../_images/single_drone_gz2.png

Gazebo simulator

It will also open a keyboard teleoperation (argument -t), which you can use to teleoperate the drone with the aerostack2 keyboard teleoperation user interface.

A window like the following image should popup:

../../../_images/keyboard_teleop_view2.png

Keyboard teleoperation

To start the mission, execute:

python3 mission.py

Also, you can try the mission planner, which describes the mission in a JSON format:

python3 mission_planner.py

Here it’s what the execution should look like:

To do a clean exit of tmux, execute:

./stop.bash

Behavior Tree

In order to launch the components for using behavior tree, do:

./launch_as2.bash -b

Then, you can start the mission with:

python3 mission_behavior_tree.py

To do a clean exit of tmux, execute:

./stop.bash

Swarm drones

In order to launch the components for a swarm of 3 drones, do:

./launch_as2.bash -m -t

This will open a simulation for a swarm of drones (argument -m) alongside the Aerostack2 components necessary for the mission execution.

A window like the following image should open.

../../../_images/swarm_gz1.png

Gazebo simulator

It will also open a keyboard teleoperation (argument -t), which you can use to teleoperate the swarm with the aerostack2 keyboard teleoperation user interface.

A window like the following image should popup:

../../../_images/keyboard_swarm_view2.png

Keyboard teleoperation

To start the mission, execute:

python3 mission_swarm.py

Here it’s what the execution should look like:

To do a clean exit of tmux, execute the following command with the list of the used drones:

./stop.bash drone0 drone1 drone2