A Tactile Feedback Approach to Path Recovery after High-Speed Impacts for Collision-Resilient Drones   




TL;DR: We equip a collision resilient quadrotor with binary contact sensors. Based on the pre-collision velocities, rates and collision points we predict the post collision velocities and rates which improves state-estimation through contact. Based on the improved state estimation and knowledge about where in the world frame the collision occured, we show improved collision recovery and path adaptation behavior.



Overview

Aerial robots are a well-established solution for exploration, monitoring, and inspection, thanks to their superior maneuverability and agility. However, in many environments of interest, they risk crashing and sustaining damage following collisions. Traditional methods focus on avoiding obstacles entirely to prevent damage, but these approaches can be limiting, particularly in complex environments where collisions may be unavoidable, or on weight and compute-constrained platforms. In this project we develop an approach to enhance the robustness and autonomy of drones in such scenarios by developing a path recovery and adjustment method for a high-speed collision-resistant drone equipped with binary contact sensors. The proposed system employs an estimator that explicitly models collisions, using pre-collision velocities and rates to predict post-collision dynamics, thereby improving the drone's state estimation accuracy. Additionally, we introduce a vector-field-based path representation which guarantees convergence to the path. Post-collision, the contact point is incorporated into the vector field as a repulsive potential, enabling the drone to avoid obstacles while naturally converging to the original path. The effectiveness of this method is validated through Monte Carlo simulations and demonstrated on a physical prototype, showing successful path following and adjustment through collisions as well as recovery from collisions at speeds up to 3.7 m / s.

Methods


Modelling


The model used is the conventional quadrotor, with its CoM encased in a protective icosahedral shell. In free flight, the system dynamics follow the standard equations of motion for a quadrotor. $$ \begin{align} \ddot{\mathbf{p}} &= m^{-1} \mathbf{f}_M + \mathbf{g}\\ \dot{\mathbf{\omega}} &= \mathbf{I}^{-1} (\mathbf{\tau}_M - \mathbf{\omega}\times\mathbf{I}\omega) \end{align} $$ The vehicle is controlled using a cascaded control approach whereby a position reference is converted into an acceleration reference, which is then translated into total thrust and attitude commands. These are subsequently tracked by a rate controller. % We assume that contact can only occur at the twelve vertices of the icosahedral shell, with the vertices treated as point contacts. Sensors detect the contact as a binary signal \(\mathbf{\mathcal{C}}\). Following an impulse-based collision modeling approach, we assume that the collision causes an instantaneous change in momentum, governed by a coefficient of restitution \(e\)and a friction coefficient \(\mu\). % For a single vertex \(i\) with the pre-collision velocity \(\mathbf{v}_{i}^- = \mathbf{v} + \mathbf{\omega}\times(\mathbf{\Omega}\mathbf{r}_i)\) the impulse \(\mathbf{j}_i\) is: $$ \begin{align} \mathbf{j}_i &= -\frac{(1+e)\langle\hat{\mathbf{n}} | \mathbf{v}_{i}^{-1}\rangle}{m^{-1} + \langle\hat{\mathbf{n}} | \mathbf{I}^{-1}(\mathbf{\Omega}\mathbf{r}_i \times \hat{\mathbf{n}})\times\mathbf{\Omega}\mathbf{r}_i\rangle}\left(\hat{\mathbf{n}} + \mu\hat{\mathbf{t}}\right) \end{align} $$ The surface normal is assumed to align with the tensegrity beam on which the active contact location lies. The friction is modeled as Coulomb, meaning it is active only if it exceeds a static threshold \(\mu_\text{static}\), which is satisfied if there is sufficient lateral velocity. The overall change in linear and angular velocity is then the normalized sum of the contribution of all \(k\) active vertices: $$ \begin{align} \Delta \mathbf{v} &= \frac{1}{k}\sum_{i=1}^k m^{-1} \mathbf{j}_i\label{eq:delta-v}\\ \Delta \mathbf{\omega} &= \frac{1}{k}\sum_{i=1}^k \mathbf{I}^{-1} \left(\mathbf{\Omega}\mathbf{r}_i\times\mathbf{j}_i\right) \label{eq:delta-omega} \end{align} $$ Normalization is required to prevent the introduction of excess energy into the system.

Contact Inclusive Estimator & Path Recovery

We employ a collision-inclusive state estimator which takes on the form of a modified Kalman Filter. It uses a switching prediction function and assumes that, on average, the MAV follows the commanded angular velocity. This enables the estimator's angular velocity estimate to decay toward the commanded velocity with a time constant \(\tau_\omega\). Specifically, at each timestep \(k\), with duration \(\Delta t\), and given the commanded acceleration \(\mathbf{a}_{k, cmd}\) and angular velocity \(\mathbf{\omega}_{k,cmd}\), the prediction step proceeds as follows: $$ \begin{align} &\mathbf{p}_{k+1} = \mathbf{p}_k + \mathbf{v}_k \Delta t + \mathbf{a}_{k, cmd} \frac{\Delta t^2}{2}\\ &\mathbf{v}_{k+1} = \mathbf{v}_k + (1 - \kappa) \Delta t \mathbf{a}_{k, cmd} + \kappa \Delta\mathbf{v}_{\mathbf{\mathcal{C}}}\\ &\mathbf{\Omega}_{k+1} = \mathbf{\Omega}_k [\omega\Delta t]_\times\\ &\begin{aligned} \mathbf{\omega}_{k+1} =& (1-\kappa) \left(e^{-\frac{\Delta t}{\tau_\omega}} \omega_{k} + \left(1-e^{-\frac{\Delta t}{\tau_\omega}}\right) \mathbf{\omega}_{k, cmd}\right) \\ &+ \kappa \Delta\omega_{\mathbf{\mathcal{C}}} \end{aligned}\\ &\kappa_{k+1} = \begin{cases} 1 & \text{if $\mathcal{C}_{i,k}$ for any $i \in [1, 12]$}\\ 0 & \text{otherwise} \end{cases}, \end{align} $$ where \(\Delta\mathbf{v}_{\mathbf{\mathcal{C}}}\) and \(\Delta\mathbf{\omega}_{\mathbf{\mathcal{C}}}\) are the difference in linear and angular velocity due to a collision with contacts \(\mathbf{\mathcal{C}}\) as introduced before.

For any given desired (differential) path we represent then find a vector field representing the path. Hereby the goal is to construct a vector field such that by integrating along the field one converges to the original path and moves along it while also avoiding known objects. The vector field is initialized without any known objects and only after the reflexive collision recovery procedure in the previous section has succeeded we add the location of the triggering sensor as a new known obstacle. The overall vector field function for a twice differential desired path \(\mathbf{h}(\tau)\) with the closest point being located at \(\mathbf{h}(\tau_\min)\) is composed of the normalized sum of three components, as illustrate below:

  1. One that points towards the nearest point on the path: \(\kappa_p(\mathbf{h}(\tau_{\text{min}}) - \mathbf{x})\)
  2. One representing the velocity at the nearest point: \(\frac{1}{\kappa_v||\mathbf{h}(\tau_{\text{min}}) - \mathbf{x}||}\mathbf{h}'(\tau_{\text{min}})\)
  3. One that repels from known obstacles: \(\sum_{k=1}^{m} \mathbf{g}_{\text{collision}, k}(\mathbf{x})\)

Where \(\kappa_p, \kappa_v, \mathbf{g}_{\text{collision},k}(\mathbf{x})\) are the weighting factors for position and velocity as well as the repulsive potential function for the \(k\)-th known collision. Please refer to the paper for more details on how to efficiently find the nearest point on the path.





Hardware Prototype

The overall hardware prototype consists of a collision-resilient drone equipped with binary contact sensors. The main purpose of the contact sensor is to trigger a binary signal when the respective corner of the tensegrity vehicle makes contact. It is designed for high sensitivity, contact-detection from all directions, physical robustness, and minimal weight. At the same time since we only require a binary signal there are no range or significant resolution requirements. The sensor consists of a 3D-printed housing with a compliant mechanism connected to a dome, a button magnet inside the dome, and a 3D hall-effect sensor positioned below. The compliant mechanism includes four spring-like connections between the casing and the dome, allowing displacement along all three axes while returning the dome to its original position when no external force is applied. The housing is printed using TPU material making it flexible and robust. When in contact, the contact force displaces the dome, altering the magnetic field measured by the hall sensor from its nominal value. Therefore, the binary output for sensor is then: $$ \begin{align} \mathcal{C}_i = (||\mathbf{B}_i - \mathbf{B}_{nom,i}|| < \epsilon_{B, i}) \end{align} $$ By selecting an appropriate threshold $\epsilon_B$, the sensor is calibrated to provide high sensitivity while minimizing false positives. Overall the contact sensor weights 3.5 g and is smaller than 8.5 cm along all dimensions.
The collision resilient MAV takes on the form of an icosahedron tensegrity vehicle. Tensegrity structures consist of rigid bodies suspended within a tension network; As these structures distribute external loads through tension and compression rather than bending, they are exceptionally impact-resistant. For aerial vehicles, which have fragile components like propellers and electronics that are vulnerable to collisions and whose defect results in total loss of functionality, such a tensegrity structure provides a protective shell.




The physical prototype, as seen in the picture, carries a Bitcraze Crazyflie 2.1 as a flight controller, four Little Bee 20 A ESCs and EMAX RS1106 II 4500KV motors with \(2.5\times4\) three blade propellers. Due to constraints on the \(\text{I}^2\text{C}\) bus of the crazyflie 2.1 the prototype carries only two contact sensors along the forward flight direction.


Results


Two general scenarios are validated using Monte Carlo simulations: the first evaluates the system's ability to recover from high-speed collisions compared to non-tactile approaches, while the second assesses the reliability of the overall path-recovery procedure. The table below displays the recovery success for different velocities across three controllers: (1) a contact-agnostic cascading controller combined with a Kalman Filter, (2) the same estimator and low-level controller, but with the recovery maneuver introduced triggered when the accelerometer norm exceeds a threshold, and (3) the proposed approach. For each velocity and controller, the Monte Carlo simulation consists of 50 trials. A recovery is considered successful if the MAV does not touch the ground during the recovery maneuver. In simulation, our approach achieves a 100 % success rate for collisions up to 8 m / s, outperforming both baselines.


Velocity (m/s) 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
Collision Agnostic
Accelerometer Based
Ours

We evaluate the replanning capability, by commanding the MAV to take off from an initial position that is randomized for each trial by uniformly sampling from within a 50 cm cube. After takeoff, the MAV is instructed to follow an elliptical path at a speed of 1 m / s. However, this path is obstructed. The video below shows the flight paths for all \(250\) trials. The MAV successfully recovers from the collision in all trials. After recovery, it avoids the object when continuing along the path and avoids the obstacle on all subsequent passes of the elliptical trajectory. By incorporating the collision location into the vector field, the MAV naturally bypasses the obstacle and re-converges to the original path in each loop.

We further evaluate this in a simulated cluttered environment akin to a forest, as well as with more challenging obstacles, e.g. concave obstacles. In the former case the drone successfully recovers from multiple collisions and reconverges to the desired path. In the latter the drone collides multiple times with the obstacle until an escape path emerges.

Monte Carlo Recovery and Replan
Monte Carlo Concave Obstacle

We execute the same experiments on the developed prototype. Here we achieve collision recovery at speeds up to 3.7 m / s and successfully recover the elliptical path after collision as shown in the videos below.


BibTex


The website template was adapted from John Barron and Michaël Gharbi.