[Robotica, Meccanica applicata] Discriminazione matrice di rotazione
È noto che la rotazione di un corpo rigido in un ambiente tridimensionale possa essere rappresentata con una terna di angoli esprimenti rotazioni elementari del corpo attorno a determinati assi, e che i valori di questa terna variano proprio a seconda degli assi rispetto cui tali rotazioni elementari vengono calcolate. Le conseguenti matrici di rotazione elementari, moltiplicate tra loro secondo la corretta sequenza di esecuzione delle rotazioni stesse, produrranno una matrice di rotazione complessiva con una struttura specifica per la convenzione adottata.
Supponendo quindi di avere una matrice di rotazione (nel mio caso specifico, quella che si ottiene in output dalla funzione getDeviceToAbsoluteTrackingPose() dell'SDK di Steam chiamato OpenVR), senza che sia nota la convenzione adottata, c'è un modo per estrarre da essa gli angoli corretti? O si tratta di dover 'procedere per tentativi' aiutandosi con i valori contenuti dalla matrice, provando varie tecniche di cinematica inversa?
Supponendo quindi di avere una matrice di rotazione (nel mio caso specifico, quella che si ottiene in output dalla funzione getDeviceToAbsoluteTrackingPose() dell'SDK di Steam chiamato OpenVR), senza che sia nota la convenzione adottata, c'è un modo per estrarre da essa gli angoli corretti? O si tratta di dover 'procedere per tentativi' aiutandosi con i valori contenuti dalla matrice, provando varie tecniche di cinematica inversa?