Amont the control methods for UAV swarm, Dynamic Formation Changes is the one holding the most promise for morphing from one virtual structure to another. When there is no outside influence or data driven flight management, coming up with the next virtual structure is an easier articulation for the swarm pilot.
It is usually helpful to plan out up to two or three virtual structures in advance for a UAV swarm to seamlessly morph from one holding position to another. This macro and micro movements can even be delegated to humans and UAV swarm respectively because given initial and final positions, the autonomous UAV can make tactical moves efficiently and the humans can generate the overall workflow given the absence of a three-dimensional GPS based map.
Virtual structure generation can even be synthesized from images with object detection and appropriate scaling. So virtual structures are not necessarily input by humans. In a perfect world, UAV swarms launch from packed formation to take positions in a matrix in the air and then morph from one position to another given the signals they receive.
There are several morphing algorithms that reduce the distances between initial and final positions of the drones during transition between virtual structures. These include but are not limited to:
1. Thin-plate splines aka TPS algorithm: that adapts to minimize deformation of the swarm’s formation while avoiding obstacles. It uses a non-rigid mapping function to reduce lag caused by maneuvers.
2. Non-rigid Mapping function: This function helps reduce the lag caused by maneuvers, making the swarm more responsive and energy efficient.
3. Distributed assignment and optimization protocol: this protocol enables uav swarms to construct and reconfigure formations dynamically as the number of UAV changes.
4. Consensus based algorithms: These algorithms allow UAVs to agree on specific parameters such as position, velocity, or direction, ensuring cohesive movement as unit,
5. Leader-follower method: This method involves a designated leader UAV guiding the formation, with other UAV following its path.
The essential idea behind the transition can be listed as the following steps:
1. Select random control points
2. Create a grid and use TPS to interpolate value on this grid
3. Visualize the original control points and the interpolated surface.
A sample python implementation might look like so:
import numpy as np
from scipy.interpolate import Rbf
import matplotlib.pyplot as plt
# Define the control points
x = np.random.rand(10) * 10
y = np.random.rand(10) * 10
z = np.sin(x) + np.cos(y)
# Create the TPS interpolator
tps = Rbf(x, y, z, function='thin_plate')
# Define a grid for interpolation
x_grid, y_grid = np.meshgrid(np.linspace(0, 10, 100), np.linspace(0, 10, 100))
z_grid = tps(x_grid, y_grid)
# Plot the original points and the TPS interpolation
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, color='red', label='Control Points')
ax.plot_surface(x_grid, y_grid, z_grid, cmap='viridis', alpha=0.6)
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')
ax.legend()
plt.show()
Reference: previous post