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