That really depends on the implementation - it mentioned it used a "simple linearization with Euler angles", so why not use a more complex algorithm using Euler angles?
You need to linearize the system in order to design the PIDs for a flight controller. IE turn x' = f(x, u) into x' = Ax + Bu (where x is your vector of position, angle and velocity states, and u is your vector of throttle inputs). From there you can invert the system and select transfer functions to tune PID controllers for. Put simply: multi-copter dynamics are extremely complicated and not reasonable to solve analytically. So instead we make a linearization of the system around some set of states (usually hover) so you can analyze the performance and design a flight controller.
Hi! Of course, you can find some of our publications in ieexplore: ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=abaunza%20quaternion or in our book: www.elsevier.com/books/indoor-navigation-strategies-for-aerial-autonomous-systems/castillo-garcia/978-0-12-805189-4, we are using quaternion-based approaches to stabilize the vehicle's position
@@hernanabaunzagonzalez4482 Hermano! que excelente demostración! Sinceramente tu conocimiento es asombroso y debería ser publico, pero debes comer (como todos), ojalá me diera el cuero para comprar el libro y los papers, pero soy un Argentino promedio en 2024. La cuestión es que estoy interesado en aprender sobre los cuaterniones, pero más que nada en su uso, implementación y aplicación. Programo en C# y me encanta el diseño 3D (Uso Rhino y Grasshopper), por ende quiero crear un ambiente virtual para entrenar iAs, robots (de todo tipo, etc) pero para ello necesito aprender sobre cuaterniones y su implementación. La plataforma de la que hablo es muy completa y flexible, pero todo material que encuentro sobre cuaterniones es un copy paste (de la misma fuente), te "enseñan que son y a usarlos" en un ejemplo básico y especifico, pero no te enseñan a comprenderlos, por ende tampoco puedes explorar otras posibilidades de implementación. Pero por lo visto... Tu si que los comprendes! por ende quería saber si podrías hacer una especie de curso que explique bien el tema, para comprender de manera correcta los mismos. Desde ya muchas gracias por tu respuesta.
Don't think so, they likely just did a better job at implementing their quaternion flight control software vs their euler angle one. Gimbal lock only occurs in very specific situations. Not to mention in there test they pulled the euler angle quadcopter much further from it's target position so it may just be a software error causing it to flip when it tries to get back to the set position.
@@codeblocks4067 I do actually think so. With Euler angles you introduce a singularity at a pitch angle of 90 degrees; which in the video was exactly when the drone started malfunctioning. With quaternions you do not introduce this singularity, and hence it was still controllable at that state.
Not only gimbal lock. Newton Euler requires some form of sin and cos linearisation. The more points around a circle you linearize the better, but you get a lot of parameters into your code. With quaternions you have a linear algebra for rotations, so you can design one controller covering all rotations. But Quaternions tend to be "nervous" when there is "zero" rotation to the reference frame.
Not really, the only thing this shows is that they did a better implementation of their flight control software using quaternions vs euler angles. Would only be valid if they gave a paper with it showing their different implementations and some data showing where they're experiencing gimbal lock, or whatever shortfall of a euler angle they're claiming is visible here. Edit: Which they appeared to link in another comment so take a look there if you're interested.
Both have their pro and cons. Euler Implementation can be extremely fast to compute, but you need to linearise sin and cos and at 90° angles you have gimbal locks. Quaternions are a bit more to compute, but the algebra is linear by definition. So from pure math your UAV could hold any orientation in space.
hello We are students of SJKS a school in Belgium and we have to do a research for our final paper. You seem to be a very interesting person for our research. Is there any possibility to be able to contact you with our questions? thank you
the PID controller can be used in both Euler and Quaternion approaches, but as you know it is valid only on linear systems or linearized regions, or some particular nonlinear systems. If you are trying to stabilize the position of a quadrotor using a PID and Euler angles, it will be very difficult to acchieve robustness with large angles (nonlinear conditions) or strong disturbances.
@@00bean00 ahh, not sure what you are trying to say here. But the difference between an Euler based implementation and a Quaternion based implementation is quiet subtle if done well. The most significant difference is the need to handle gimbal lock and the attitude trajectory can be made more efficient with less work using a Quaternion based system. I have no idea how this all relates to Lisp and Intel......
Thanks for the great video. Beautiful technology!
William Rowan Hamilton would dig this the most.
Yes - he'd love to see drones (obviously that's just a guess!) and he'd love to see how his work had helped give better results than other techniques.
Thought the guy was missing a limb until I saw 1:02
Wtf
I was about to ask where is his arm
Do you have a paper or documentation of the difference in your flight controller between the two?
Did you get any results?
wow, im totally switching to quaternion
That really depends on the implementation - it mentioned it used a "simple linearization with Euler angles", so why not use a more complex algorithm using Euler angles?
You need to linearize the system in order to design the PIDs for a flight controller. IE turn x' = f(x, u) into x' = Ax + Bu (where x is your vector of position, angle and velocity states, and u is your vector of throttle inputs). From there you can invert the system and select transfer functions to tune PID controllers for.
Put simply: multi-copter dynamics are extremely complicated and not reasonable to solve analytically. So instead we make a linearization of the system around some set of states (usually hover) so you can analyze the performance and design a flight controller.
@@MisterSkaa Thanks for the concise explanation!
Thank you for video.
If you can provide some material to understand this, It would be very helpful.
Hi! Of course, you can find some of our publications in ieexplore: ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=abaunza%20quaternion or in our book: www.elsevier.com/books/indoor-navigation-strategies-for-aerial-autonomous-systems/castillo-garcia/978-0-12-805189-4, we are using quaternion-based approaches to stabilize the vehicle's position
i will appreciate those materials. Thank you, sir.
@@hernanabaunzagonzalez4482 Hermano! que excelente demostración! Sinceramente tu conocimiento es asombroso y debería ser publico, pero debes comer (como todos), ojalá me diera el cuero para comprar el libro y los papers, pero soy un Argentino promedio en 2024.
La cuestión es que estoy interesado en aprender sobre los cuaterniones, pero más que nada en su uso, implementación y aplicación. Programo en C# y me encanta el diseño 3D (Uso Rhino y Grasshopper), por ende quiero crear un ambiente virtual para entrenar iAs, robots (de todo tipo, etc) pero para ello necesito aprender sobre cuaterniones y su implementación.
La plataforma de la que hablo es muy completa y flexible, pero todo material que encuentro sobre cuaterniones es un copy paste (de la misma fuente), te "enseñan que son y a usarlos" en un ejemplo básico y especifico, pero no te enseñan a comprenderlos, por ende tampoco puedes explorar otras posibilidades de implementación.
Pero por lo visto... Tu si que los comprendes! por ende quería saber si podrías hacer una especie de curso que explique bien el tema, para comprender de manera correcta los mismos.
Desde ya muchas gracias por tu respuesta.
Hello there, really interesting comparison.
Why is the quaternion approach has weird micro oscillation when hovering?
Hamilton would be proud
I spent the first one and a half minute wondering if this was a one armed engineer ^^
what are u using to control position? camera or only accelration extracted from qauternion?
IbnBatoutaful sorry for the delay in my response, we are using an OptiTrack system to estimate the position
Hello, could you provide some insight as to how did you achieve motor mixing using quaternions. Thank you!
SLERP and ScLERP: en.wikipedia.org/wiki/Slerp
Eulers = gimbal lock
Quaternions = no gimbal lock
Is that the difference we're seeing?
Yes
Exactly!
Don't think so, they likely just did a better job at implementing their quaternion flight control software vs their euler angle one. Gimbal lock only occurs in very specific situations. Not to mention in there test they pulled the euler angle quadcopter much further from it's target position so it may just be a software error causing it to flip when it tries to get back to the set position.
@@codeblocks4067 I do actually think so. With Euler angles you introduce a singularity at a pitch angle of 90 degrees; which in the video was exactly when the drone started malfunctioning. With quaternions you do not introduce this singularity, and hence it was still controllable at that state.
Not only gimbal lock. Newton Euler requires some form of sin and cos linearisation. The more points around a circle you linearize the better, but you get a lot of parameters into your code.
With quaternions you have a linear algebra for rotations, so you can design one controller covering all rotations.
But Quaternions tend to be "nervous" when there is "zero" rotation to the reference frame.
Quaternions: harder daddy
Dude: what?
Quaternions: what?
Yo this music kinda dope tho
Hey, I have 5 DW1001 Dev-Kit. I want to make this using that. Please share some document or repository so I can try this.
Thank you! I now know that quaternions are the way to go!
Not really, the only thing this shows is that they did a better implementation of their flight control software using quaternions vs euler angles. Would only be valid if they gave a paper with it showing their different implementations and some data showing where they're experiencing gimbal lock, or whatever shortfall of a euler angle they're claiming is visible here.
Edit: Which they appeared to link in another comment so take a look there if you're interested.
Both have their pro and cons.
Euler Implementation can be extremely fast to compute, but you need to linearise sin and cos and at 90° angles you have gimbal locks.
Quaternions are a bit more to compute, but the algebra is linear by definition. So from pure math your UAV could hold any orientation in space.
Hello, great work. Is this project open source?
yo pensaba que le faltaba un brazo
jajajajajajajajajajajajajajjaja c mamo buen joven
hello
We are students of SJKS a school in Belgium and we have to do a research for our final paper. You seem to be a very interesting person for our research. Is there any possibility to be able to contact you with our questions?
thank you
Hello Alice, I have just responded to your colleague via email! Thank you for your interest!
How it can back inti the blue mark? What kind of algorithm
what quadcopter frame is that? I build my own embedded flight controller and would like to test it safely, that looks like great quadcopter frame
drone parrot
Can you make it only using imu data, without camaras ???
Looks like the euler version recieves way rougher pushes
Olof Sandberg I don't think so... See after 1:11
funny :)). but no.
The euler angle test definitely wasn't rougher pushes but it was pulled further from the desired position for sure.
Hell yeah
Nice. Hello Unity Devs.
Where can i get such a drone frame??
Great video good work
ali atabak thank you!
Do you have the code for this?
amazing
please share source code thank you kindly
Ngl I thought you had one arm......
what about pid controller ?
the PID controller can be used in both Euler and Quaternion approaches, but as you know it is valid only on linear systems or linearized regions, or some particular nonlinear systems. If you are trying to stabilize the position of a quadrotor using a PID and Euler angles, it will be very difficult to acchieve robustness with large angles (nonlinear conditions) or strong disturbances.
poor guy lost his arm due to euler angles... probably.
1:02
@@willemmichielssen2527 t'was a joke but good eye nonetheless!
hahaha, good one
I know This Sound Track....I wonder how , I wonder Where....! lol ~Namaste~
does it have imu?
Hi, yes, these UAVs are provided with an IMU, an OptiTrack system is used to measure the vehicle's position
thanks!
Wow :)
🎈👌👌👌👌👌👌👍👍👍👍👍
The math does not support the difference between the two. Poor programming would.
I agree it's probably to donwith computation speed
Ah, so poor programming is the reason Lisp won't run natively on Intel Hardware right?
@@00bean00 ahh, not sure what you are trying to say here. But the difference between an Euler based implementation and a Quaternion based implementation is quiet subtle if done well. The most significant difference is the need to handle gimbal lock and the attitude trajectory can be made more efficient with less work using a Quaternion based system. I have no idea how this all relates to Lisp and Intel......
Drone tamer
This music is too unprofessional
what's wrong with your hand dude
Quadcopters are dangerous. Probably has nothing to do with the arm though
so...euler angles = shit?
LoganBerry hahaha, basically... Yeah
No, just not robust enough 🙂
That shit is called Gimble lock.