Skip to content

Commit

Permalink
doc: add layered grid, takeoff, rth and land description
Browse files Browse the repository at this point in the history
  • Loading branch information
vasarhelyi committed Jul 10, 2023
1 parent aec686b commit 847b60c
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 6 deletions.
Binary file modified doc/modules/ROOT/assets/images/panels/swarm/create_takeoff_grid.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/modules/ROOT/assets/images/panels/swarm/land.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/modules/ROOT/assets/images/panels/swarm/return_to_home.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/modules/ROOT/assets/images/panels/swarm/takeoff.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 14 additions & 6 deletions doc/modules/ROOT/pages/panels/formations/swarm.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,46 @@ The btn:[Create Takeoff Grid] button helps you set up your takeoff and landing g

image::panels/swarm/create_takeoff_grid.jpg[Create takeoff grid]

You can define the number of rows and columns, the exact number of drones and the spacing between them. Once you press btn:[OK], a rectangular grid is created with the specified parameters.
For a regular takeoff grid you can define the number of rows and columns, the exact number of drones and the spacing between them. Once you press btn:[OK], a rectangular grid is created with the specified parameters.

This operator also creates all Skybrush-specific collections (Drones, Formations, Templates) that you will need for your drone show, will add the first "Takeoff grid" entry to the storyboard and will also initialize your drones in the 3D Viewport editor.
If you wish to takeoff (and land) in layers, you can also define a more complex takeoff grid with slots, where each slot contains more than one drone with typically, but not necessarily smaller spacing (see the *Drones per slot* and *Intra-slot spacing* parameters). With such a takeoff grid it will be guaranteed that only one drone will takeoff from (and land to) every slot at a time, using layered takeoff and land operations automatically.

The *Create takeoff grid* operator also creates all Skybrush-specific collections (Drones, Formations, Templates) that you will need for your drone show, it adds the first "Takeoff grid" entry to the storyboard and also initializes your drones in the 3D Viewport editor.

TIP: Once the takeoff grid is created, you are free to modify the created "Takeoff grid" formation to re-arrange the placement of the drones using standard Blender operations, thus you can easily adapt the grid to the requirements of your specific takeoff area. For instance, if there are lampposts, stairs, power lines or any other obstacles in the area, you can move the affected drones to other positions by simply changing the takeoff positions in the "Takeoff grid" formation.

== Takeoff

The btn:[Takeoff] button adds a takeoff maneuver to a specified altitude and with a specified _average_ vertical velocity from your initial takeoff grid. The start frame of the maneuver can be customized, although it is usually the same as the first frame of the scene.

If the takeoff grid was created with more than one drones per slot, use the "layer height" parameter to setup the altitude difference between additional target layers above the default layer during the layered takeoff operation.

image::panels/swarm/takeoff.jpg[Takeoff]

This button should ideally be pressed right after the takeoff grid is created before any other formations are added yet. It is also possible to use the operator later after having defined the first few formations, but you must ensure that there is enough time before the first formation to perform the takeoff _and_ get to the first formation in time.
This button should ideally be pressed right after the takeoff grid is created, but before any other formations are added. It is also possible to use the operator later after having defined the first few formations, but you must ensure that there is enough time before the first formation to perform the takeoff _and_ get to the first formation in time.

NOTE: Skybrush requires you to specify the _average_ vertical velocity of the drones during takeoff. This lets you gauge easily how much time the takeoff will need (e.g., taking off to 6 meters with an average velocity of 1.5 m/s takes 4 seconds), but since the drones need time to accelerate and decelerate, their _maximum_ vertical velocity will be higher than the average velocity to compensate for the time lost during acceleration and deceleration. Make sure to take this into account in order not to overshoot the vertical velocity limits of the drones.

== Return to home (RTH)

The btn:[RTH] button performs a return-to-home maneuver with a specified _average_ velocity from your last formation of the show. This maneuver brings the drones straight above the positions where they are supposed to land to an altitude that can be specified in the operator.

If the takeoff grid was created with more than one drones per slot, use the "layer height" parameter to setup the altitude difference between additional target layers above the default layer during the layered RTH operation.

image::panels/swarm/return_to_home.jpg[Return to home]

Note that the maneuver is not performed _at_ the specified altitude -- it is initiated from the positions at the end of the last formation. However, all drones arrive _to_ the given altitude value, above the takeoff grid.
Note that the maneuver is not performed _at_ the specified altitude -- it is initiated from the positions at the end of the last formation. However, all drones arrive _to_ the given altitude (or layered altitude) value, above the takeoff grid.

This button should be pressed after all formations of the show are inserted to the storyboard, but before the landing entry is given.

CAUTION: It is not guaranteed that each drone will land at the same position where it took off from. In the vast majority of cases, they will land at a different position in the grid. This is intentional; safe collision-free trajectories are easier and faster to design when the software is free to choose which drone should occupy which landing position.

== Land

The btn:[Land] button lands the drones, starting from a given frame such that they move downwards in a straight line from their current position until they reach ground level (assumed to be at Z = 0). As usual, the _average_ velocity of the descent can be adjusted.
The btn:[Land] button lands the drones, starting from a given frame such that they move downwards in a straight line from their current position until they reach the given target altitude (ground is assumed to be at Z = 0). As usual, the _average_ velocity of the descent can be adjusted.

If the takeoff grid was created with more than one drones per slot, use the "Motor spindown delay" parameter to setup the time difference between landing layers. This ensures that drones will land close to the others within the same slot only when the motors of the neighboring drones are already stopped.

image::panels/swarm/land.jpg[Land]

This button should be pressed after the return to home entry is inserted to the storyboard.
This button should be pressed after the return to home entry is inserted to the storyboard.

0 comments on commit 847b60c

Please sign in to comment.