New Type CoaxCopter and need some help!

Hi everyone,
I am an Erasmus student at Klagenfurt University. My professor designed a copter and I am not sure how I can build pixhawk on it. The article link about the helicopter is below.
Now I should explain the design of the UAV. The UAV consists of a double-blade coaxial shaft rotor and four swash masses that allow changing the orientation and maneuvering the UAV. Also, the difference between a coax helicopter and a swash mass helicopter is that one of the blades is upside down. How can I customize pixhawk ( I am using QGroundController) to hover this helicopter and stabilize it ? The architecture of a swash mass helicopter is a little bit different from a coax copter and I do not if I can customize it for hovering. ( My first task is to fly it and maintain it in the air. Then I will work on pitch, roll, and yaw axes).

  1. First, Should I select the airframe as a Coax copter for this design?
  2. How can I control altitude by thrust? I am asking that because one of the blades is up-side-down and I want to know if it occurs a problem to control it. How can I customize pixhawk ( I am using QGroundController) to hover this helicopter and stabilize it? I have a transmitter to control the UAV.
  3. In this design, there are 4 rotating masses and 2 servos that control them. How can I control these servos by using pixhawk for pitch and yaw axes? I do not have any experience in this field ( which is not a default airframe on pixhawk).
    I am open to hearing any kind of advice. Here is my e-mail: umutdundar37@gmail.com
    https://arxiv.org/pdf/1909.06154.pdf
    Kind regards,
2 Likes
  1. It seems that Coax is very close to your design, so I’ll go with it.
  2. I don’t understand what’s up with the upside down blade. This could be your answer : the Coax algo can control altitude and yaw by modulating the speed of the two counter rotating props.
  3. Outputs on the pixhawk in Coax will be PWM, and you will use that to control the servos (totally normal for the Coax frame_class). This will control pitch and roll, the two props will control thrust and yaw.

If I were you, I would try making it work with Coax to see if you really need to modify it, and this way you’ll be familiar with how Coax (and pixhawk) works before modifying it. Start small.

Also after rereading your post there I’m worried by this part : “My first task is to fly it and maintain it in the air. Then I will work on pitch, roll, and yaw axes”. The system is unstable, you need pitch, roll (and yaw) working to fly. The Center of Mass below the thrust does not make a copter stable, this is called pendulum falacy. If you want to test thrust control first, you’ll need a system that blocks pitch and yaw. But, to me this is useless because your first flights should be in manual control (you control the thrust directly with your radio). " fly it and maintain it in the air" should be your last task. I would advise : Yaw -> Pitch and Roll -> Altitude as a roadmap.

1 Like

To continue on the pendulum fallacy I quickly checked the paper to see if it also was in it. I fear the answer is yes, but I don’t know if the calculations or the rest of the parper are correct (I don’t want to read everything), usually people fall for the pendulum fallacy but do the calculation correctly. I would strongly advise you to check the paper for the pendulum fallacy, to see if some parts are utterly wrong.

This part of this intro fell for it:

The rotors provide a drag thrust,while the inertial masses (through the gravitational forces) induce a certain orientation so that to attain a certain roll, pitchand yaw.

(through the gravitational forces) induce a certain orientation

It is not gravity that makes the copter rotate, it is the thrust force that is not aligned with the center of mass (it rotates the exact same without gravity). The Pitch-Right figure is more of a Clockwise-torque, and the copter is not stable: it will continue to accelerate in a clockwise spiral.

the quote should be:

(through the misaligned thrust and center of inertia) induce a certain torque

2 Likes

After gliding though the paper, I have little hope. See remark 4 page 8:

This part is addressing the fact that the swash mass cannot be displaced at infinity, so they use a maximum displacement L on the swash mass position.

Remark 4. It should be observed that instead of saturating L,
the target pitch angle from (47) can be saturated, i.e., impose
a maximum limit to Phi. However, we found that this provides
worse performance.

But there is no maximum angle to Phi (linked to L) in reality.

My professor had some experience with the prototype of the UAV. Here is the video: https://www.youtube.com/watch?v=FIgQufNabPE&ab_channel=TonelloLab
I am trying to understand your replies and I am so grateful. As an intern, I have to find a way to make some tests and fly it. At the end of the discussion, I would love to know what would you do If you were me. I am kind of lost in this article and pixhawk.
Thanks

Answering private message from OP:

How can I create a control system by using pixhawk ardupilot?

I don’t know, but (after thinking more about it) the dynamic of your system is the same as a the single/coax frame. It should work with the default frame class/type and you’ll first have to THOROUGHLY follow the doc https://ardupilot.org/copter/docs/singlecopter-and-coaxcopter.html (this is just the setup for coax then there is the global documentation).

Why is it the same as a Coax with flaps ? you may ask. Flaps induce a torque that is linked to the angle of the servo, the single/coax algo works with that. Your swash mass do the same, they create a torque (because the center of inertia is not aligned with the thrust) that is linked to the angle of the servo. I believe the Single/Coax frame class should work without any modification.

Lastly, my professor provides me a system that can block the orientation of drones. But, my professor recommend me to do land it and stabilize it in the air? Do you highly recommend me to control yaw first?

If you can block the orientation, then yes, test the thrust first and get used to manual control (manual is the best flight mode to do reliable tests on pitch roll yaw). I’d do Thrust -> Yaw -> Pitch and Roll -> Free flight (having altitude control is useless before you can free flight, all first test should be done in manual mode. Plus, there are also problems with altitude estimation in a confined environment)

1 Like

I want to ask if there is any other document about the single copter and coax copper because there is only one instruction about the Single/Coax copter. Lastly, I will follow your guide word by word and analyze them to use in my project. Thank you for your effort so far.

Then simply start by testing if thrust works on the test rig provided by your professor. Setting ardupilot up to make the prop move with radio input is already hard and could answer lots of your questions. after that Yaw is easy. Then Pitch/roll is a pain (altitude is also a pain if there is a pb). Try looking for answer on one step at a time.

1 Like

Here on the left you have every step for configuring ardupilot (it is more or less the same for every frame) https://ardupilot.org/copter/docs/introduction.html

1 Like

Do you know how I can select coaxcopter airframe in Mission Planner? I could do it in QGround Controller but could not in MP.

The answer to that question is in the linked wiki page. This section is particular. https://ardupilot.org/copter/docs/singlecopter-and-coaxcopter.html#loading-the-firmware

what should I select the motor functions? For example, there are max. 6 motors in coaxcopter. I build a prototype today but it did not work. ( I could not turn motors by Transmitter. It turns when I only use ESC, battery, motor, and receiver by transmitter but when I connect the ESC to pixhawk(disconnected from the receiver but also the receiver is still connected to the pixhawk), it does not respond and always “beeps beeps” frequently and constantly) Should I choose Servox_Function for motors, for example, Servo6_function= thrust. Or, should it be like Servo6_function= motor6

Please check https://ardupilot.org/copter/docs/esc-calibration.html and follow the doc

Servo5-6 should be motor. Note that you must arm the copter to make the motors turn AFTER DOING THE CALIBRATION INSIDE ARDUPILOT. This is dangerous, even more with your level of understanding of ardupilot, so please be careful around your brushless motors. The servos can be moved without arming (and armed with motors unplugged), so please make this work (and everything else) before the motor that will cut your hand if you forget about it.

Hi, I have made ESC calibrations and other tests. Now, I need to think about the control of flaps by using a servo. I want to get your thoughts about this situation. You told me that servos can control the " Swash Mass Helicopter" if I choose airframe as CoaxCopter. Are their working dynamics the same? Because in my copter, servos trying to control pitch and roll axes by changing the position of the masses. Can pixhawk handle this and control it smoothly? I am going to make some tests to observe that but first I wanted to ask you.

Yes I truly think that you swash mass is very close to a fin/flap system and have similar dynamics, thus the control algo of ardupilot should handle it.

Here was my explanation, but I’d like other to verify it (though it’s not my problem but yours, I find the idea interesting).

Why is it the same as a Coax with flaps ? you may ask. Flaps induce a torque that is linked to the angle of the servo, the single/coax algo works with that. Your swash mass do the same, they create a torque (because the center of inertia is not aligned with the thrust) that is linked to the angle of the servo. I believe the Single/Coax frame class should work without any modification.

This is what an angled servo will do on a flap system:

image

The angle of the servo moves the thrust, the thrust T is not aligned with the center of inertia G (that cannot move), thus the copter rotates (clockwise in my figure).

This is what happens with the same servo on your swash mass system:

image

It’s the same except G moves instead of T. The angle of the servo moves the center of inertia G, the thrust T (that cannot move) is not aligned with G, thus the copter rotates (clockwise in my figure).

I know that G will not be exactly on the moving mass and that you have a linear rail, those simplification are for illustration purpose. The result is the “same”, except linear rail will be difficult to build but give a linear response.

1 Like

Thanks for your message!
I have been examining your single copter project and others but there are limited resources. Do you have any document for single copters that explains the dynamic structure? I have been looking for it but I could not find any kind of resource. I need to understand the dynamic structure of single/coax copters very well so that I can use pixhawk for my project. I understood up to a point but I need more.
Thanks in advance

@Umut_Dundar Umut, I’m not sure exactly what you are looking for. You will need to be more specific as to what you mean regarding “explains the dynamic structure”. Are you looking for physical information like size of vehicle and aerodynamic surfaces in order to determine how much moment/acceleration can be produced. I don’ know how many users would actually have this data as it is probably a hobby for them where it is work/research related for you. I think the arducopter firmware provides the necessary control capability. It will probably be more experimentation on your part to determine the necessary PID control gains for your application.

I’m not discouraging you from asking more questions. I just think you need to be more specific as to what you are looking for. I hope you find the answers you are looking for.

@bnsgeyer @Umut_Dundar wouldn’t have put it better. We, as hobbyist, are confident in our troubleshooting skills and prior knowledge, where a researcher or an engineer will be confident in its calculations and data.

Obviously it’s not a clear cut, you can very well do a more hands-on approach to a project as an engineer/researcher. But schools (and investors) don’t really like when you go forward through failures and corrections, even though it can be faster to just wing it (that’s what I did, a single copter was one of my school project that lasted for 3 years before being canceled by my group, and I now did it in 4 months with the wing it strategy while being “unemployed” because of covid).

Anyway, I don’t have any documentations (mine were mainly Youtube videos of similar builds to have a sense of scale and if it’s possible) but calculating the dynamic yourself is not very hard, you only have 1 force and the center of mass (and gravity, but that’s nothing, just an acceleration on z).