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

I want to use Gazebo to emulate Caipiroshka Duo Tailsitter #1008

Open
waitfordark opened this issue Sep 18, 2023 · 8 comments
Open

I want to use Gazebo to emulate Caipiroshka Duo Tailsitter #1008

waitfordark opened this issue Sep 18, 2023 · 8 comments

Comments

@waitfordark
Copy link

waitfordark commented Sep 18, 2023

At present, Gazebo can simulate tailsitter, and I want to simulate caipiroshka duo tailsitter through gazebo.
During the current simulation, caipiroshka duo tailsitter always has attitude confusion when taking off. Which led to the crash. After comparing the caipiroshka duo tailsitter, it is found that Caipiroshka Duo tailsitter needs two rudder surfaces for attitude control during takeoff. I guess it is because my rudder model is not accurate enough, which leads to the takeoff failure, but I still can't adjust it.

I would like to ask you to give me some suggestions.

Thank you!

@Userpc1010
Copy link

Yes, and is it possible to somehow add tilt rotors for hover mode?)))

@waitfordark
Copy link
Author

Thank you for your reply!

I don't think that's quite right. From the PX4 source code analysis, the difference between Caipiroshka Duo Tailsitter and Tailsitter is that the tailsitter only needs 4 rotor motors to take off smoothly during takeoff. Besides the two rotor motors, two rudder motors are also needed to maintain the attitude balance. The modeling effect of Caipiroshka Duo Tailsitter's rudder model is not good, but I do not know how to improve it. I don't think that's quite right. From the PX4 source code analysis, the difference between Caipiroshka Duo Tailsitter and Tailsitter is that the tailsitter only needs 4 rotor motors to take off smoothly during takeoff. Besides the two rotor motors, two rudder motors are also needed to maintain the attitude balance. The modeling effect of Caipiroshka Duo Tailsitter's rudder model is not good, but I do not know how to improve it.

@Userpc1010
Copy link

My idea is to replace the elevons with a servo drive that tilts the rotor according to one axis, pitch (roll & yaw we have in 2 rotos on hover mode) for hanging in a vertical position perhaps this will require a non-standard airframe and also add 2 servo for the elevons in horizont fly. It is difficult to simulate the moments occurring at the elevons because gazebo models thrust as a force and not a stream of particles reflected from the rudders, but I think it’s possible to rotate the thrust vector of the engines themselves along one axis of pitch? In the gazebo there is an example of tiltrotor, you need to combine them with the example of a tailsitter on two motors if the angular position of the rotors can be controlled, you get a thrust vector.

@hamishwillee
Copy link

@Jaeyoung-Lim Can you provide a starting point for this, or is it something that needs to be addressed first though the vtol discussion boards and perhaps with Silvan/Roman?

@Jaeyoung-Lim
Copy link
Member

During the current simulation, caipiroshka duo tailsitter always has attitude confusion when taking off. Which led to the crash.

@waitfordark Which model are we talking about?

Duo tailsitter's primary dynamics comes from the control surface actuated under the propwash of the motor. If you want to simulate this, you would need to model the physics of this in gazebo first.

@waitfordark
Copy link
Author

@Jaeyoung-Lim Yes, we're focusing on Duo tailsitter. I have adjusted the elevon model and model parameters in the last two days, and now it can hover stably. Thank you for your attention! @hamishwillee @Userpc1010

@Userpc1010
Copy link

Userpc1010 commented Sep 21, 2023

I did some tests with my model with two rotors and ran into a problem with the signals from the elevons freezing during vertical takeoff. I also tried to reconfigure the airframe manually in QGC (using Caipiroshka Duo Tailsitter) but got the same result the PWM outputs (3,4,5,6 channel) after the start freeze at position 1000 or 1500 without controlling the pitch(((.

Screenshot from 2023-09-21 11-49-32

Although in horizontal flight they try to work:

Screenshot from 2023-09-21 17-02-40

https://youtu.be/Bte9bHw2Rpo

My model:

Dual_Rotor_tailsitter1.zip

Tilt rotor not correct to:

Screenshot from 2023-09-21 09-53-12
Screenshot from 2023-09-21 09-53-30

Upd: At the moment, the tilt rotors control are moved to channel 7 (.sdf) for tests in horizontal mode, because In a way I don’t understand, the model takes off without pitch control (only using two rotors).

@waitfordark
Copy link
Author

@Userpc1010
First, you need to ensure that the mixing channel is correct. According to the definition of duo tailsitter mixing document, channel 1 and channel 2 correspond to rotor motors, which mainly provide propeller pull during takeoff to make the aircraft leave the ground, while channel 5 and channel 6 correspond to rudder motors, which are used to control the left and right elevon to control the attitude during takeoff.

Secondly, it should be noted that in the simulation process, the input control amount of the rudder motor is positive and negative.

At the same time, the installation position of the motor I set is above the center of gravity of the aircraft, and the installation position of the steering gear is below the center of gravity of the aircraft.

I hope my reply can help you!

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

No branches or pull requests

4 participants