mercoledì 30 aprile 2025

Framework matematico del progetto/Mathematical framework of the project

Calcolo della posizione

La velocità angolare ω è un vettore di cui il sensore BNO055 riporta le componenti, attraverso le quali si può calcolare con un integrale il vettore di Eulero θ(t):
θx, θy, θz sono le componenti del vettore di Eulero in funzione del tempo, ovvero gli angoli di Eulero rispetto agli assi x, y e z rispettivamente. 

ωx, ωy, ωz, invece sono le componenti del vettore velocità angolare, calcolate rispetto agli assi rispettivi, sempre in funzione del tempo. Attraverso gli angoli di Eulero otteniamo una matrice di rotazione R(t) che permette di trasformare le componenti di vettori nel sistema di riferimento del BNO055 stesso al sistema di riferimento a terra, che ignorando la rotazione e rivoluzione terrestre, risulta essere un sistema inerziale. 


Calcolo dell'angolo

Il vettore di accelerazione f che è misurato dal BNO055 è nel sistema di riferimento del BNO stesso, per trasformarlo nel vettore di accelerazione nel sistema di riferimento inerziale a utilizziamo la matrice R:


a(t) = R(t) f (t)


Questo vettore a contiene anche il vettore di accelerazione gravitazionale, che nel nostro sistema di riferimento sappiamo essere:


g = [0, 0, 9.81]


Allora il vettore di accelerazione ai lineare è:

ai (t) = a(t) - g


Ora possiamo calcolare il vettore velocità:




E infine il vettore posizione:


Formule e modello matematico preso dal libro Fundamentals of Inertial Navigation, Satellite-based Positioning and their Integration - 2013

Aboelmagd Noureldin, Tashfeen B. Karamat, Jacques George.


Position calculation

The angular velocity is a vector and the BNO055 sensor gives us its components that we can use to calculate Eulero’s vector θ(t):

θx, θy, θz are the components of the Eulero’s vector and they are calculated from the time, so they are the Eulero’s angles on the x, y and z axis. ωx, ωy, ωz are the components of the angular velocity vector and they are calculated from time and basing on their axis. With the Eulero’s angles we can have a rotation matrix R(t) that allows us to find the components of the vectors of the system of reference of the BNO055 that is the same on the ground pc that ignores the rotation and the revolution , so it turns out to be an inertial system.


Angle calculation

The acceleration vector f that is measured by the BNO055 is in the system of reference of the BNO, to transform it in the acceleration vector we need to use the R matrix:


a(t) = R(t) f (t)


This vector also contains the gravitational acceleration vector that in our system of reference is:


g = [0, 0, 9.81]


So ai, the linear acceleration vector, is:

ai (t) = a(t) - g


Now we can calculate the velocity vector:




And the position vector:


Mathematical module and formulas from the book Fundamentals of Inertial Navigation, Satellite-based Positioning and their Integration- 2013 by Aboelmagd Noureldin, Tashfeen B. Karamat, Jacques George

Nessun commento:

Posta un commento

Day 2 in Torino

🇮🇹 Oggi è andato tutto a rotoli… Come vi abbiamo già raccontato pochi minuti prima della simulazione del lancio abbiamo incominciato a ris...