Skip to content

Conversation

@stmio
Copy link
Contributor

@stmio stmio commented Nov 22, 2025

Major changes to drone environment to make development for sim2real easier:

  • Merge swarm and racing envs back into one
  • Split task logic into a separate file
  • Separate rendering logic from physics
  • Improve overall code quality

@Kinvert
Copy link
Contributor

Kinvert commented Nov 22, 2025

I made an env based off your guys stuff FYI:

#372

@stmio
Copy link
Contributor Author

stmio commented Nov 22, 2025

@Kinvert - looks awesome! Maybe we should work (at some point in the future) on adding this to the main "drone" environment as a task. I think it would be super cool to have it all in one place, where you can pick and choose which tasks to train on given a scenario. :)

@Kinvert
Copy link
Contributor

Kinvert commented Nov 22, 2025

Yep this is something I wanted to do after the hackathon but ran out of time. I had some small changes to that physics h file. Your envs might benefit actually from some sort of PID. iirc they seemed to be just training off the P portion.

The Drone Delivery task could be simplified greatly by getting rid of the hidden_pos etc. This was done since we wanted the complexity in PufferLib and not have to manually move around the actual target position and velocity in Isaac Sim.

@FinlaySanders
Copy link
Contributor

I think the "I" is handled by the LSTM?

@Kinvert
Copy link
Contributor

Kinvert commented Nov 22, 2025

Not sure they seemed to wobble to me, but I was in a hackathon and didn't have time to be thorough lol.

Co-authored-by: Finlay Sanders <finlay_sanders@icloud.com>
@stmio
Copy link
Contributor Author

stmio commented Nov 24, 2025

Some things we are working on for the next version:

  • Proper sim2real results! (dev for this is here https://github.com/tensaur/drone)
  • Better logging and perf metrics
  • Policy struggles with learning both static/dynamic tasks simultaneously. This is improved in this version, but there is still room for improvement.

@FinlaySanders
Copy link
Contributor

Worth noting that the current perf metric needs some work - we will make this nice soon.

@FinlaySanders
Copy link
Contributor

Rough sim2real todo:

  • Make physical constants in dronelib.h match real crazyflie drone
  • Add observation noise

@Kinvert
Copy link
Contributor

Kinvert commented Nov 24, 2025

Consider some actions noise too, latency, etc. Or maybe it was already there and I forgot. Physics noise.

Also one thing I don't remember seeing, could have forgot or missed it, was how they can induce yaw by changing the 4 throttles. Was this accounting for torque of the blades? Gyroscopic effects of the blades?

@FinlaySanders
Copy link
Contributor

I think these bases are covered already but will double check :). I suspect for some of the aerodynamic forces there will be a tradeoff. ie. can we measure the constants accurately enough that including them will be worth it (or find them elsewhere)

@jsuarez5341 jsuarez5341 merged commit 5421f8e into PufferAI:3.0 Nov 24, 2025
12 checks passed
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.

4 participants