Simulating a 2D Quadcopter from Scratch
Cet article construit un modèle élémentaire d’un quadricoptère plan en dérivant les équations du mouvement dans un repère y (horizontal), z (vertical) et un angle de rotation φ. Les équations de Newton-Euler donnent m ÿ = -(F1+F2) sinφ, m z̈ = (F1+F2) cosφ - mg et I φ̈ = (F1-F2) ℓ, qui sont reformulées en variables d’état. L’entrée est choisie comme u = [u1, u2] = [F1+F2, F1-F2] et l’état x = [y, z, φ, ẏ, ż, φ̇] permet d’écrire le système premier ordre ẋ = f(x,u). Le code Python définit les paramètres physiques, implémente la dynamique, intègre par la méthode d’Euler et trace/visualise les trajectoires en testant des cas à couple nul puis non nul. Dans le cas sans couple l’horizontal et l’angle restent constants tandis que z croît quadratiquement, et avec un couple non nul la rotation réduit la composante verticale de poussée jusqu’à ce que l’engin retombe ou bascule.