Skip to content

Added passive sensing module#3

Open
jerry-chun wants to merge 3 commits into
USC-ACTLab:masterfrom
jerry-chun:downwash-deck-f50
Open

Added passive sensing module#3
jerry-chun wants to merge 3 commits into
USC-ACTLab:masterfrom
jerry-chun:downwash-deck-f50

Conversation

@jerry-chun

Copy link
Copy Markdown

No description provided.

@WillWu88

Copy link
Copy Markdown

Hi there @jerry-chun, what's this PR opened for? More context would help with our review. Thanks.

@jerry-chun

Copy link
Copy Markdown
Author

Hey @WillWu88! Thanks for taking a look at this PR.

This change introduces a lightweight passive sensing module for the Crazyflie that estimates a proxy for external interaction forces using only onboard signals (IMU, attitude, and commanded thrust). The goal is to enable contact and interaction awareness without adding any extra hardware or force sensors.

At a high level, the module:

  • Uses a simple rigid body residual model: F_ext = ma + mg - F_thrust in the body frame
  • Converts IMU acceleration from G to m/s^2 and rotates gravity into the body frame using the current quaternion
  • Uses commanded thrust (scaled by a tunable coefficient) as the thrust model
  • Applies a low pass filter to stabilize the force estimate
  • Outputs useful features (external force estimate (fx, fy, fz), accelerometer magnitude, gyro energy (norm of angular rate))

This provides a simple real time signal that can be used for:

  • detecting collisions or contact events
  • estimating interaction forces during physical contact
  • feeding higher level learning or control policies (for example RL based interaction control)

The implementation is intentionally minimal and parameterized (mass, thrust coefficient, filter gain) so it is easy to tune and iterate on. In the future, I plan to replace this residual model with a more formal estimator (for example EKF or UKF with disturbance states), but this is a clean and practical starting point that integrates easily with the existing logging and parameter system.

Happy to add more documentation or tests if helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants