Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overall feasibility of adding support for fully actuated hex with non-coplanar rotors? #7678

Closed
jpreiss opened this issue Jul 25, 2017 · 7 comments

Comments

@jpreiss
Copy link

jpreiss commented Jul 25, 2017

I am interested in implementing a hexrotor with tilted rotors (i.e. this). The tilted rotors make the robot fully actuated, decoupling attitude from acceleration. This holds when the attitude is not too far from flat, and the acceleration is moderate.

I am considering using PX4 as the flight controller. I am not familiar with PX4 code architecture. Briefly looking through, it seems like the thrust mixing and control architecture is highly modularized to avoid redundant code for different rotor configurations. However, all the supported multirotors still have coplanar rotors.

Basically, I am wondering how "baked in" is the assumption of coplanar rotors. I am prepared to implement control and thrust mixing from scratch, but I want to make sure I am not fighting an uphill battle against the code architecture.

Thanks!

@MaEtUgR
Copy link
Member

MaEtUgR commented Jul 26, 2017

Short Explanation
Currently the default multicopter architecture works as follows:

To your Question
From our discussion I think with @dagar (who is on holiday right now) amongst others I remember that we aim to allow arbitrary thrust actuator orientations and therefore an interface with a 3D thrust vector also in the body frame. I'm not sure if anyone already worked on this or where it stands but I personally think it's a good idea.

The general structure proposal not exclusive to your question including visualization can be found here: #7318 (comment)

So I think in summary we would really appreciate any work done in this field as it would be nice to extend support of PX4 for such vehicles. The architectural changes should of course be properly arranged with the general control structure goal such that we all work into the same direction.

Here's just an other example that would profit form such an extention and was built at ETH: https://www.youtube.com/watch?v=0gR1ekapOAE

@bresch
Copy link
Member

bresch commented Aug 2, 2017

@jpreiss FYI, here is a good document about control of a fully actuated hexacopter: www.mdpi.com/2226-4310/2/2/325/pdf (p.331-333)

@jpreiss
Copy link
Author

jpreiss commented Aug 3, 2017

Thanks for the detailed response! I am currently prototyping on a Crazyflie because I am already familiar with that platform. I still may be interested in porting to PX4 later to run on a Snapdragon Flight.

In general, I think the (thrust, 3x torque) interface boundary between control and actuator mixing might need to be broken for fully actuated control. Since the set of achievable thrusts is defined by the actuator orientations, a good controller would probably need to know the actuator configuration and exploit this knowledge to get the best performance.

Fully actuated platforms are also used for aerial manipulation, so ideally a code restructuring should consider force control and hybrid position/force control too.

It seems like it might be too big of a change for a non-core contributor.

Either way, when I get my controller working on Crazyflie, I am happy to release it open source (it's a standalone C function) in case it is useful for you.

@Jaeyoung-Lim
Copy link
Member

@jpreiss are there any updates regarding the fully actuated hex? This sounds super interesting

@dagar
Copy link
Member

dagar commented Feb 12, 2018

We're hoping to bring support for this into PX4. jlecoeur#1

@stale
Copy link

stale bot commented Jan 30, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale
Copy link

stale bot commented Feb 13, 2019

Closing as stale.

@stale stale bot closed this as completed Feb 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants