Jaeyoung-Lim / mavros_controllers

Aggressive trajectory tracking using mavros for PX4 enabled vehicles
BSD 3-Clause "New" or "Revised" License
400 stars 164 forks source link

More controllers #207

Closed brunopinto900 closed 2 years ago

brunopinto900 commented 2 years ago

Sorry for opening another issue. Do you have any plans to add other controllers? If so, can you tell the reference papers? For example i was planning do add this https://foehnx.github.io/publication/icra18/ but its already done here https://github.com/llanesc/lqr-tracking.

Thank you.

Jaeyoung-Lim commented 2 years ago

@brunopinto900 Would be definitely cool to have that as part of this package, and we can then start doing benchmarks etc

brunopinto900 commented 2 years ago

@brunopinto900 Would be definitely cool to have that as part of this package, and we can then start doing benchmarks etc

That would be good to directly compare with geometric controller. The idea would be to port the code to this package with the same interface as the geometric controller.

But any more ideas for controllers?

Jaeyoung-Lim commented 2 years ago

@brunopinto900 I think any controller that is reasonably not redundant would be good.

Personally, I would be interested on adding a predictive controller, e.g. a MPPI(Model Predictive Path Integral Controller) or a MPCC(Model Predictive Contouring Control) but probably a lot more work than a full state LQR :wink:

brunopinto900 commented 2 years ago

A model predictive control with collision avoidance would be nice. We can do this with the following steps:

1) Integrate https://github.com/llanesc/lqr-tracking into this package. Essentialy it is a base for MPC. 2) Implement a linear MPC with collision avoidance start integrate collision avoidance with RRT using OMPL (similar to PX4-Obstacle_avoidance repo). 3) Think about non-linear control, etc.

The MPPI is nice, but the math is so dull haha.