You are on page 1of 49

Attitude Determination and Control System

Sensors, Actuators, Modeling, Estimation and Control

Space Robotics and Control Systems

Minor In Space Sciences & Technologies


Scientific Area of Systems, Decision, and Control

IST, January 13th 2022

April 2021 - NASA – Mars landscape, from a camera installed onboard robot Perseverance
Attitude Determination and Control Systems
Sensors
Attitude Determination and Control Systems
Sensors
Attitude Determination and Control Systems
Sensors
Attitude Determination and Control Systems
Sensors
Attitude Determination and Control Systems

Sensors
Attitude Determination and Control Systems
Sensors
Attitude Determination and Control Systems
Characteristics of Sensors

Linearity Bias

Resolution Dead zone

Dynamic range Saturation


Attitude Determination and Control Systems
Characteristics of Sensors

Hysteresis

Magnetic core Linkage with friction Linkage with backlash


Attitude Determination and Control Systems
Sensors - Errors Compensation
Attitude Determination and Control Systems
Attitude Representation ~xA
<latexit sha1_base64="AItYbU+jbyVeNln+mbz9ttCLnb8=">AAAB+3icbVDLSsNAFJ3UV62vWJdugkVwVRIp6LLixmUF+4AmhMn0ph06mYSZSWkJ+RU3LhRx64+482+ctFlo64GBwzn3cs+cIGFUKtv+Nipb2zu7e9X92sHh0fGJeVrvyTgVBLokZrEYBFgCoxy6iioGg0QAjgIG/WB6X/j9GQhJY/6kFgl4ER5zGlKClZZ8s+7OgGRuhNUkCLN5nvt3vtmwm/YS1iZxStJAJTq++eWOYpJGwBVhWMqhYyfKy7BQlDDIa24qIcFkiscw1JTjCKSXLbPn1qVWRlYYC/24spbq740MR1IuokBPFiHluleI/3nDVIW3XkZ5kirgZHUoTJmlYqsowhpRAUSxhSaYCKqzWmSCBSZK11XTJTjrX94kveumYzedx1aj3SrrqKJzdIGukINuUBs9oA7qIoLm6Bm9ojcjN16Md+NjNVoxyp0z9AfG5w+eUZTB</latexit>

~yA
• A reference frame {A} is defined by its
<latexit sha1_base64="3dxl2eO4m5jFyVJhfu1s2baX2xE=">AAAB+3icbVDLSsNAFL2pr1pfsS7dBIvgqiQi6LLixmUF+4AmhMl00g6dTMLMpBhCfsWNC0Xc+iPu/BsnbRbaemDgcM693DMnSBiVyra/jdrG5tb2Tn23sbd/cHhkHjf7Mk4FJj0cs1gMAyQJo5z0FFWMDBNBUBQwMghmd6U/mBMhacwfVZYQL0ITTkOKkdKSbzbdOcG5GyE1DcI8Kwr/1jdbdttewFonTkVaUKHrm1/uOMZpRLjCDEk5cuxEeTkSimJGioabSpIgPEMTMtKUo4hIL19kL6xzrYytMBb6cWUt1N8bOYqkzKJAT5Yh5apXiv95o1SFN15OeZIqwvHyUJgyS8VWWYQ1poJgxTJNEBZUZ7XwFAmEla6roUtwVr+8TvqXbcduOw9Xrc5VVUcdTuEMLsCBa+jAPXShBxie4Ble4c0ojBfj3fhYjtaMaucE/sD4/AGf2ZTC</latexit>

~zA
• Origin
<latexit sha1_base64="DJJjUo4sgY26cfPdvhNBW7srUQ0=">AAAB+3icbVDLSsNAFJ3UV62vWJdugkVwVRIp6LLixmUF+4AmhMn0ph06mYSZSbGG/IobF4q49Ufc+TdO2iy09cDA4Zx7uWdOkDAqlW1/G5WNza3tnepubW//4PDIPK73ZJwKAl0Ss1gMAiyBUQ5dRRWDQSIARwGDfjC9Lfz+DISkMX9Q8wS8CI85DSnBSku+WXdnQDI3wmoShNlTnvs3vtmwm/YC1jpxStJAJTq++eWOYpJGwBVhWMqhYyfKy7BQlDDIa24qIcFkiscw1JTjCKSXLbLn1rlWRlYYC/24shbq740MR1LOo0BPFiHlqleI/3nDVIXXXkZ5kirgZHkoTJmlYqsowhpRAUSxuSaYCKqzWmSCBSZK11XTJTirX14nvcumYzed+1aj3SrrqKJTdIYukIOuUBvdoQ7qIoIe0TN6RW9GbrwY78bHcrRilDsn6A+Mzx+hYZTD</latexit>

• 3 orthonormal axes
(right-hand convention)

• The configuration of {B} w. r. t. {I} is defined by


• The position (of the origin) of {B} expressed in {I}
I
pB 2 R 3
<latexit sha1_base64="liZ5lOTCz53p9Clb2dNL/1EMEEk=">AAACAHicbVBNS8NAEJ34WetX1IMHL4tF8FQSLeix6EVvVewHNG3YbLft0s0m7G6EEnLxr3jxoIhXf4Y3/43bNgdtfTDweG+GmXlBzJnSjvNtLS2vrK6tFzaKm1vbO7v23n5DRYkktE4iHslWgBXlTNC6ZprTViwpDgNOm8HoeuI3H6lULBIPehzTTogHgvUZwdpIvn3YvUWxf4U8JpAXYj0MgvQ+6577dskpO1OgReLmpAQ5ar795fUikoRUaMKxUm3XiXUnxVIzwmlW9BJFY0xGeEDbhgocUtVJpw9k6MQoPdSPpCmh0VT9PZHiUKlxGJjOyY1q3puI/3ntRPcvOykTcaKpILNF/YQjHaFJGqjHJCWajw3BRDJzKyJDLDHRJrOiCcGdf3mRNM7KrlN27yqlaiWPowBHcAyn4MIFVOEGalAHAhk8wyu8WU/Wi/Vufcxal6x85gD+wPr8AS2WlXM=</latexit>

{B}
p
• The orientation (of the axes) of {B} expressed in {I}
Rotation matrix representation {I}

Special Orthogonal Group of order 3


SO(3) = {R 2 R3⇥3 : RRT = RT R = I3 , det(R) = 1}
<latexit sha1_base64="I8on5MoW6IX/OJCoanMTDUh8YxY=">AAACOXicbVDLSgMxFM34rPVVdekmWIQKUmasoAhCwY2urKO1hU5bMmmqwUxmSO4IZZjfcuNfuBPcuFDErT9gplZQ64Ukh3POJfcePxJcg20/WhOTU9Mzs7m5/PzC4tJyYWX1UoexoqxOQxGqpk80E1yyOnAQrBkpRgJfsIZ/c5TpjVumNA/lBQwi1g7IleR9TgkYqluoeQGBa99Pzk/TUmULH2IvcbHHJf4W3LSTVDzgAdOV9AC7bufCuMztmuekW9nGXo9Byc16HS/tFop22R4WHgfOCBTRqGrdwoPXC2kcMAlUEK1bjh1BOyEKOBUszXuxZhGhN+SKtQyUxAzSToabp3jTMD3cD5U5EvCQ/dmRkEDrQeAbZ7aO/qtl5H9aK4b+fjvhMoqBSfr1UT8WGEKcxYh7XDEKYmAAoYqbWTG9JopQMGHnTQjO35XHweVO2bHLztlusbo7iiOH1tEGKiEH7aEqOkY1VEcU3aEn9IJerXvr2Xqz3r+sE9aoZw39KuvjE4JFqPY=</latexit>
Attitude Determination and Control Systems
Attitude Representation
Rotation from frame {B} to frame {A}
2 3
<latexit sha1_base64="axyWb9ey2n1A2J9zOT7nvK8kiJE=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeKF48VTFtoQtlst+3SzSbsToQS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8KJXCoOt+O6WNza3tnfJuZW//4PCoenzSNkmmGfdZIhPdjajhUijuo0DJu6nmNI4k70STu7nfeeLaiEQ94jTlYUxHSgwFo2glP8hvg1m/WnPr7gJknXgFqUGBVr/6FQwSlsVcIZPUmJ7nphjmVKNgks8qQWZ4StmEjnjPUkVjbsJ8ceyMXFhlQIaJtqWQLNTfEzmNjZnGke2MKY7NqjcX//N6GQ5vwlyoNEOu2HLRMJMEEzL/nAyE5gzl1BLKtLC3EjammjK0+VRsCN7qy+ukfVX33Lr30Kg1G0UcZTiDc7gED66hCffQAh8YCHiGV3hzlPPivDsfy9aSU8ycwh84nz+0746P</latexit>

<latexit sha1_base64="cmUlFg2joGzH8OedYz4vuKU6r2Y=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeiF48VTFtoQtlst+3SzSbsToQS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8KJXCoOt+O6WNza3tnfJuZW//4PCoenzSNkmmGfdZIhPdjajhUijuo0DJu6nmNI4k70STu7nfeeLaiEQ94jTlYUxHSgwFo2glP8hvg1m/WnPr7gJknXgFqUGBVr/6FQwSlsVcIZPUmJ7nphjmVKNgks8qQWZ4StmEjnjPUkVjbsJ8ceyMXFhlQIaJtqWQLNTfEzmNjZnGke2MKY7NqjcX//N6GQ5vwlyoNEOu2HLRMJMEEzL/nAyE5gzl1BLKtLC3EjammjK0+VRsCN7qy+ukfVX33Lr30Kg1G0UcZTiDc7gED66hCffQAh8YCHiGV3hzlPPivDsfy9aSU8ycwh84nz+2dY6Q</latexit>

cos(✓) sin(✓) 0 ~xA


~yB
<latexit sha1_base64="AItYbU+jbyVeNln+mbz9ttCLnb8=">AAAB+3icbVDLSsNAFJ3UV62vWJdugkVwVRIp6LLixmUF+4AmhMn0ph06mYSZSWkJ+RU3LhRx64+482+ctFlo64GBwzn3cs+cIGFUKtv+Nipb2zu7e9X92sHh0fGJeVrvyTgVBLokZrEYBFgCoxy6iioGg0QAjgIG/WB6X/j9GQhJY/6kFgl4ER5zGlKClZZ8s+7OgGRuhNUkCLN5nvt3vtmwm/YS1iZxStJAJTq++eWOYpJGwBVhWMqhYyfKy7BQlDDIa24qIcFkiscw1JTjCKSXLbPn1qVWRlYYC/24spbq740MR1IuokBPFiHluleI/3nDVIW3XkZ5kirgZHUoTJmlYqsowhpRAUSxhSaYCKqzWmSCBSZK11XTJTjrX94kveumYzedx1aj3SrrqKJzdIGukINuUBs9oA7qIoLm6Bm9ojcjN16Md+NjNVoxyp0z9AfG5w+eUZTB</latexit>

A 4
B R = sin(✓) cos(✓) 05 <latexit sha1_base64="HY2P/AVgcW/kCuX3r8ngeJF+8zs=">AAAB+3icbVDLSsNAFL2pr1pfsS7dBIvgqiQi6LLoxmUF+4AmhMl00g6dTMLMpBhCfsWNC0Xc+iPu/BsnbRbaemDgcM693DMnSBiVyra/jdrG5tb2Tn23sbd/cHhkHjf7Mk4FJj0cs1gMAyQJo5z0FFWMDBNBUBQwMghmd6U/mBMhacwfVZYQL0ITTkOKkdKSbzbdOcG5GyE1DcI8Kwr/1jdbdttewFonTkVaUKHrm1/uOMZpRLjCDEk5cuxEeTkSimJGioabSpIgPEMTMtKUo4hIL19kL6xzrYytMBb6cWUt1N8bOYqkzKJAT5Yh5apXiv95o1SFN15OeZIqwvHyUJgyS8VWWYQ1poJgxTJNEBZUZ7XwFAmEla6roUtwVr+8TvqXbcduOw9Xrc5VVUcdTuEMLsCBa+jAPXShBxie4Ble4c0ojBfj3fhYjtaMaucE/sD4/AGhXZTD</latexit>

~yA ~xB
0 0 1
<latexit sha1_base64="Zo4CMnOvdYCkthji0sRs++KASdg=">AAAB+3icbVDLSsNAFJ3UV62vWJdugkVwVRIp6LLoxmUF+4AmhMn0ph06mYSZSWkJ+RU3LhRx64+482+ctFlo64GBwzn3cs+cIGFUKtv+Nipb2zu7e9X92sHh0fGJeVrvyTgVBLokZrEYBFgCoxy6iioGg0QAjgIG/WB6X/j9GQhJY/6kFgl4ER5zGlKClZZ8s+7OgGRuhNUkCLN5nvt3vtmwm/YS1iZxStJAJTq++eWOYpJGwBVhWMqhYyfKy7BQlDDIa24qIcFkiscw1JTjCKSXLbPn1qVWRlYYC/24spbq740MR1IuokBPFiHluleI/3nDVIW3XkZ5kirgZHUoTJmlYqsowhpRAUSxhSaYCKqzWmSCBSZK11XTJTjrX94kveumYzedx1aj3SrrqKJzdIGukINuUBs9oA7qIoLm6Bm9ojcjN16Md+NjNVoxyp0z9AfG5w+f1ZTC</latexit>

<latexit sha1_base64="3dxl2eO4m5jFyVJhfu1s2baX2xE=">AAAB+3icbVDLSsNAFL2pr1pfsS7dBIvgqiQi6LLixmUF+4AmhMl00g6dTMLMpBhCfsWNC0Xc+iPu/BsnbRbaemDgcM693DMnSBiVyra/jdrG5tb2Tn23sbd/cHhkHjf7Mk4FJj0cs1gMAyQJo5z0FFWMDBNBUBQwMghmd6U/mBMhacwfVZYQL0ITTkOKkdKSbzbdOcG5GyE1DcI8Kwr/1jdbdttewFonTkVaUKHrm1/uOMZpRLjCDEk5cuxEeTkSimJGioabSpIgPEMTMtKUo4hIL19kL6xzrYytMBb6cWUt1N8bOYqkzKJAT5Yh5apXiv95o1SFN15OeZIqwvHyUJgyS8VWWYQ1poJgxTJNEBZUZ7XwFAmEla6roUtwVr+8TvqXbcduOw9Xrc5VVUcdTuEMLsCBa+jAPXShBxie4Ble4c0ojBfj3fhYjtaMaucE/sD4/AGf2ZTC</latexit>

<latexit sha1_base64="V18ELGrYFhtwwBHnqpCbHSEFqow=">AAACYnicbVHLSgMxFM2M7/FVdamLYFF0YZkRQTeCj41LFatCU0smvW1DM5khuSOWoT/pzpUbP8R0LKjVA4GTc89Nbk7iTEmLYfjm+VPTM7Nz8wvB4tLyymplbf3eprkRUBepSs1jzC0oqaGOEhU8ZgZ4Eit4iPuXo/rDMxgrU32HgwyaCe9q2ZGCo5NalUHxdN66oLdDekpZDF2pizjhaOTLkDKR2j2GPUC+T3fpAbNS/9iHlLFgQptoKS1hSXZpxEC3v09vVaphLSxB/5JoTKpkjOtW5ZW1U5EnoFEobm0jCjNsFtygFAqGAcstZFz0eRcajmqegG0WZURDuuOUNu2kxi2NtFR/dhQ8sXaQxM7pBuzZydpI/K/WyLFz0iykznIELb4u6uSKYkpHedO2NCBQDRzhwkg3KxU9brhA9yuBCyGafPJfcn9Yi8JadHNUPTsaxzFPNsk22SMROSZn5IpckzoR5N2b8Va8Ve/DD/w1f+PL6nvjng3yC/7WJ0Z1sHc=</latexit>

In general,
A
⇥A A A
⇤ ⇥ ⇤
BR
<latexit sha1_base64="U4l6ecZPCTuFJHRoamFdYRNgduI=">AAACXHicbZHNT8IwGMa7iYr4hZp48dJINJ7IhiR6IUG8eFQjQgK4dOUFG7puaTsDLvsnvXHxX9EOiB/om7T55XmfN22f+hFnSjvO1LJXcqtr6/mNwubW9s5ucW//UYWxpNCkIQ9l2ycKOBPQ1ExzaEcSSOBzaPmj66zfegGpWCge9CSCXkCGgg0YJdpIXlElT1deA9+nuIa7PgyZSPyAaMnGKTatsddI8WlGky96zagLov/trC2PSs81ZulVZvv5b7tXLDllZ1b4L7gLKKFF3XrFt24/pHEAQlNOlOq4TqR7CZGaUQ5poRsriAgdkSF0DAoSgOols3BSfGKUPh6E0iyh8Uz9OZGQQKlJ4Bunud+zWu5l4n+9TqwHl72EiSjWIOj8oEHMsQ5xljTuMwlU84kBQiUzd8X0mUhCtfmPggnBXX7yX3islF2n7N5VS/XqIo48OkLH6Ay56ALV0Q26RU1E0RR9WHlrw3q3c/amvT232tZi5gD9KvvwE63zs30=</latexit>
= xB yB zB = r 1 r2 r3 ~zA = ~zB
<latexit sha1_base64="Ah/C+uS+d5JTYWNyLXjTRfBFFNM=">AAACEHicbVDLSsNAFL3xWesr6tLNYBFdlUQKuhGqblxWsA9oQphMJ+3QyYOZSaGGfoIbf8WNC0XcunTn3zhps9DWAxcO59zLvff4CWdSWda3sbS8srq2Xtoob25t7+yae/stGaeC0CaJeSw6PpaUs4g2FVOcdhJBcehz2vaHN7nfHlEhWRzdq3FC3RD3IxYwgpWWPPPEGVGSOSFWAz/IHiYT7wpdogXx2jMrVtWaAi0SuyAVKNDwzC+nF5M0pJEiHEvZta1EuRkWihFOJ2UnlTTBZIj7tKtphEMq3Wz60AQda6WHgljoihSaqr8nMhxKOQ593ZkfKee9XPzP66YquHAzFiWpohGZLQpSjlSM8nRQjwlKFB9rgolg+lZEBlhgonSGZR2CPf/yImmdVW2rat/VKvVaEUcJDuEITsGGc6jDLTSgCQQe4Rle4c14Ml6Md+Nj1rpkFDMH8AfG5w+cvZ2F</latexit>

Concatenates the coordinates of


the principal axes of {B} expressed in {A} <latexit sha1_base64="cmUlFg2joGzH8OedYz4vuKU6r2Y=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeiF48VTFtoQtlst+3SzSbsToQS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8KJXCoOt+O6WNza3tnfJuZW//4PCoenzSNkmmGfdZIhPdjajhUijuo0DJu6nmNI4k70STu7nfeeLaiEQ94jTlYUxHSgwFo2glP8hvg1m/WnPr7gJknXgFqUGBVr/6FQwSlsVcIZPUmJ7nphjmVKNgks8qQWZ4StmEjnjPUkVjbsJ8ceyMXFhlQIaJtqWQLNTfEzmNjZnGke2MKY7NqjcX//N6GQ5vwlyoNEOu2HLRMJMEEzL/nAyE5gzl1BLKtLC3EjammjK0+VRsCN7qy+ukfVX33Lr30Kg1G0UcZTiDc7gED66hCffQAh8YCHiGV3hzlPPivDsfy9aSU8ycwh84nz+2dY6Q</latexit> <latexit sha1_base64="axyWb9ey2n1A2J9zOT7nvK8kiJE=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeKF48VTFtoQtlst+3SzSbsToQS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8KJXCoOt+O6WNza3tnfJuZW//4PCoenzSNkmmGfdZIhPdjajhUijuo0DJu6nmNI4k70STu7nfeeLaiEQ94jTlYUxHSgwFo2glP8hvg1m/WnPr7gJknXgFqUGBVr/6FQwSlsVcIZPUmJ7nphjmVKNgks8qQWZ4StmEjnjPUkVjbsJ8ceyMXFhlQIaJtqWQLNTfEzmNjZnGke2MKY7NqjcX//N6GQ5vwlyoNEOu2HLRMJMEEzL/nAyE5gzl1BLKtLC3EjammjK0+VRsCN7qy+ukfVX33Lr30Kg1G0UcZTiDc7gED66hCffQAh8YCHiGV3hzlPPivDsfy9aSU8ycwh84nz+0746P</latexit>

In this case,
2 3 3 2 2 3
cos(✓) sin(✓) 0
A
xB = r1 = 4 sin(✓) 5 A
yB = r2 = 4 cos(✓) 5 A
zB = r3 = 405
<latexit sha1_base64="pgsibesNUaDUhKowoc32bY42lpU=">AAACN3icbVDLSgMxFM34rPVVdekmWATdlBkp6EbwsXElFawKTR0y6W0bzGSG5I5Yhv6VG3/DnW5cKOLWPzCtBZ8HEk7OPZfce6JUSYu+/+CNjU9MTk0XZoqzc/MLi6Wl5TObZEZAXSQqMRcRt6CkhjpKVHCRGuBxpOA8ujoc1M+vwViZ6FPspdCMeUfLthQcnRSWji/3b8IDuktNGLibRdCROo9ijkbe9CkTid1g2AXkm5QxyqzU398+ZaBbX/6wVPYr/hD0LwlGpExGqIWle9ZKRBaDRqG4tY3AT7GZc4NSKOgXWWYh5eKKd6DhqOYx2GY+3LtP153Sou3EuKORDtXvHTmPre3FkXO6Abv2d20g/ldrZNjeaeZSpxmCFp8ftTNFMaGDEGlLGhCoeo5wYaSblYouN1ygi7roQgh+r/yXnG1VAr8SnFTLe9VRHAWyStbIBgnINtkjR6RG6kSQW/JInsmLd+c9ea/e26d1zBv1rJAf8N4/AHfGqnw=</latexit>
0 0
<latexit sha1_base64="VYyWTAJqX3tkL3NMA1l9vCoO3m0=">AAACOHicbVDLSgMxFM34rPVVdekmWARdWGZE0I3gY+POClaFpg6Z9LYNZjJDckcsQz/LjZ/hTty4UMStX2BaCz4PJJycew+590SpkhZ9/8EbGR0bn5gsTBWnZ2bn5ksLi2c2yYyAmkhUYi4ibkFJDTWUqOAiNcDjSMF5dHXYr59fg7Ey0afYTaER87aWLSk4OiksHV/ud8MDuktNuOluFkFb6jyKORp506MbzEq9xrADyNcpY5SJxH5/+5SBbn4ZwlLZr/gD0L8kGJIyGaIalu5ZMxFZDBqF4tbWAz/FRs4NSqGgV2SZhZSLK96GuqOax2Ab+WDxHl11SpO2EuOORjpQvztyHlvbjSPX6Qbs2N+1vvhfrZ5ha6eRS51mCFp8ftTKFMWE9lOkTWlAoOo6woWRblYqOtxwgS7rogsh+L3yX3K2WQn8SnCyVd7bGsZRIMtkhayRgGyTPXJEqqRGBLklj+SZvHh33pP36r19to54Q88S+QHv/QP4E6q1</latexit>
1
<latexit sha1_base64="hVogjZtsZ6c8hKhlP9orWxzFWhQ=">AAACIXicbVDLSgMxFM3UV62vUZdugkVwVWa0YDdC1Y3LCvYBnTpk0ts2NJMZkoxYh/6KG3/FjQtFuhN/xvQBauuBXA7n3EvuPUHMmdKO82lllpZXVtey67mNza3tHXt3r6aiRFKo0ohHshEQBZwJqGqmOTRiCSQMONSD/tXYr9+DVCwSt3oQQyskXcE6jBJtJN8u3V08+pf4HEv/1FQvgC4TaRASLdnDEDvY86bFxR6I9o/j23mn4EyAF4k7I3k0Q8W3R147okkIQlNOlGq6TqxbKZGaUQ7DnJcoiAntky40DRUkBNVKJxcO8ZFR2rgTSfOExhP190RKQqUGYWA6zYI9Ne+Nxf+8ZqI7pVbKRJxoEHT6USfhWEd4HBduMwlU84EhhEpmdsW0RySh2oSaMyG48ycvktpJwXUK7k0xXy7O4siiA3SIjpGLzlAZXaMKqiKKntALekPv1rP1an1Yo2lrxprN7KM/sL6+AXa3oTg=</latexit>
Attitude Determination and Control Systems
Attitude Representation
Rotation from frame {B} to frame {A} <latexit sha1_base64="cmUlFg2joGzH8OedYz4vuKU6r2Y=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeiF48VTFtoQtlst+3SzSbsToQS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8KJXCoOt+O6WNza3tnfJuZW//4PCoenzSNkmmGfdZIhPdjajhUijuo0DJu6nmNI4k70STu7nfeeLaiEQ94jTlYUxHSgwFo2glP8hvg1m/WnPr7gJknXgFqUGBVr/6FQwSlsVcIZPUmJ7nphjmVKNgks8qQWZ4StmEjnjPUkVjbsJ8ceyMXFhlQIaJtqWQLNTfEzmNjZnGke2MKY7NqjcX//N6GQ5vwlyoNEOu2HLRMJMEEzL/nAyE5gzl1BLKtLC3EjammjK0+VRsCN7qy+ukfVX33Lr30Kg1G0UcZTiDc7gED66hCffQAh8YCHiGV3hzlPPivDsfy9aSU8ycwh84nz+2dY6Q</latexit>
<latexit sha1_base64="axyWb9ey2n1A2J9zOT7nvK8kiJE=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeKF48VTFtoQtlst+3SzSbsToQS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8KJXCoOt+O6WNza3tnfJuZW//4PCoenzSNkmmGfdZIhPdjajhUijuo0DJu6nmNI4k70STu7nfeeLaiEQ94jTlYUxHSgwFo2glP8hvg1m/WnPr7gJknXgFqUGBVr/6FQwSlsVcIZPUmJ7nphjmVKNgks8qQWZ4StmEjnjPUkVjbsJ8ceyMXFhlQIaJtqWQLNTfEzmNjZnGke2MKY7NqjcX//N6GQ5vwlyoNEOu2HLRMJMEEzL/nAyE5gzl1BLKtLC3EjammjK0+VRsCN7qy+ukfVX33Lr30Kg1G0UcZTiDc7gED66hCffQAh8YCHiGV3hzlPPivDsfy9aSU8ycwh84nz+0746P</latexit>

~yB ~yA
• Coordinates expressed in {B}
<latexit sha1_base64="3dxl2eO4m5jFyVJhfu1s2baX2xE=">AAAB+3icbVDLSsNAFL2pr1pfsS7dBIvgqiQi6LLixmUF+4AmhMl00g6dTMLMpBhCfsWNC0Xc+iPu/BsnbRbaemDgcM693DMnSBiVyra/jdrG5tb2Tn23sbd/cHhkHjf7Mk4FJj0cs1gMAyQJo5z0FFWMDBNBUBQwMghmd6U/mBMhacwfVZYQL0ITTkOKkdKSbzbdOcG5GyE1DcI8Kwr/1jdbdttewFonTkVaUKHrm1/uOMZpRLjCDEk5cuxEeTkSimJGioabSpIgPEMTMtKUo4hIL19kL6xzrYytMBb6cWUt1N8bOYqkzKJAT5Yh5apXiv95o1SFN15OeZIqwvHyUJgyS8VWWYQ1poJgxTJNEBZUZ7XwFAmEla6roUtwVr+8TvqXbcduOw9Xrc5VVUcdTuEMLsCBa+jAPXShBxie4Ble4c0ojBfj3fhYjtaMaucE/sD4/AGf2ZTC</latexit>

<latexit sha1_base64="HY2P/AVgcW/kCuX3r8ngeJF+8zs=">AAAB+3icbVDLSsNAFL2pr1pfsS7dBIvgqiQi6LLoxmUF+4AmhMl00g6dTMLMpBhCfsWNC0Xc+iPu/BsnbRbaemDgcM693DMnSBiVyra/jdrG5tb2Tn23sbd/cHhkHjf7Mk4FJj0cs1gMAyQJo5z0FFWMDBNBUBQwMghmd6U/mBMhacwfVZYQL0ITTkOKkdKSbzbdOcG5GyE1DcI8Kwr/1jdbdttewFonTkVaUKHrm1/uOMZpRLjCDEk5cuxEeTkSimJGioabSpIgPEMTMtKUo4hIL19kL6xzrYytMBb6cWUt1N8bOYqkzKJAT5Yh5apXiv95o1SFN15OeZIqwvHyUJgyS8VWWYQ1poJgxTJNEBZUZ7XwFAmEla6roUtwVr+8TvqXbcduOw9Xrc5VVUcdTuEMLsCBa+jAPXShBxie4Ble4c0ojBfj3fhYjtaMaucE/sD4/AGhXZTD</latexit>

are transformed to A
py
coordinates expressed in {A}
<latexit sha1_base64="n1gvPPRPS/Vss+z/AJ75YZUS+xg=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0lE0GPFi8cKpi20sWy2m3bpZhN2J0Io/Q1ePCji1R/kzX/jts1BWx8MPN6bYWZemEph0HW/ndLa+sbmVnm7srO7t39QPTxqmSTTjPsskYnuhNRwKRT3UaDknVRzGoeSt8Px7cxvP3FtRKIeME95ENOhEpFgFK3kP96k/bxfrbl1dw6ySryC1KBAs1/96g0SlsVcIZPUmK7nphhMqEbBJJ9WepnhKWVjOuRdSxWNuQkm82On5MwqAxIl2pZCMld/T0xobEweh7Yzpjgyy95M/M/rZhhdBxOh0gy5YotFUSYJJmT2ORkIzRnK3BLKtLC3EjaimjK0+VRsCN7yy6ukdVH33Lp3f1lrXBZxlOEETuEcPLiCBtxBE3xgIOAZXuHNUc6L8+58LFpLTjFzDH/gfP4ApYKOhQ==</latexit>

~xB
<latexit sha1_base64="Zo4CMnOvdYCkthji0sRs++KASdg=">AAAB+3icbVDLSsNAFJ3UV62vWJdugkVwVRIp6LLoxmUF+4AmhMn0ph06mYSZSWkJ+RU3LhRx64+482+ctFlo64GBwzn3cs+cIGFUKtv+Nipb2zu7e9X92sHh0fGJeVrvyTgVBLokZrEYBFgCoxy6iioGg0QAjgIG/WB6X/j9GQhJY/6kFgl4ER5zGlKClZZ8s+7OgGRuhNUkCLN5nvt3vtmwm/YS1iZxStJAJTq++eWOYpJGwBVhWMqhYyfKy7BQlDDIa24qIcFkiscw1JTjCKSXLbPn1qVWRlYYC/24spbq740MR1IuokBPFiHluleI/3nDVIW3XkZ5kirgZHUoTJmlYqsowhpRAUSxhSaYCKqzWmSCBSZK11XTJTjrX94kveumYzedx1aj3SrrqKJzdIGukINuUBs9oA7qIoLm6Bm9ojcjN16Md+NjNVoxyp0z9AfG5w+f1ZTC</latexit>

B
A
p=A B py
BR p B
<latexit sha1_base64="E3wOat29Mk3etp9e+6NLdiSrLvo=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0lE0GPRi8cKpi20sWy2m3bpZhN2J0Io/Q1ePCji1R/kzX/jts1BWx8MPN6bYWZemEph0HW/ndLa+sbmVnm7srO7t39QPTxqmSTTjPsskYnuhNRwKRT3UaDknVRzGoeSt8Px7cxvP3FtRKIeME95ENOhEpFgFK3kP96k/bxfrbl1dw6ySryC1KBAs1/96g0SlsVcIZPUmK7nphhMqEbBJJ9WepnhKWVjOuRdSxWNuQkm82On5MwqAxIl2pZCMld/T0xobEweh7Yzpjgyy95M/M/rZhhdBxOh0gy5YotFUSYJJmT2ORkIzRnK3BLKtLC3EjaimjK0+VRsCN7yy6ukdVH33Lp3f1lrXBZxlOEETuEcPLiCBtxBE3xgIOAZXuHNUc6L8+58LFpLTjFzDH/gfP4ApwmOhg==</latexit>

px
<latexit sha1_base64="0maTP7zNHORtb1/RMTN/ebvAmGQ=">AAACAHicbZDLSgMxFIYz9VbrbdSFCzfBIriQMiMF3Qht3bisYi/QTodMmrahmUxIMkIZZuOruHGhiFsfw51vY9rOQlt/CHz85xxOzh8IRpV2nG8rt7K6tr6R3yxsbe/s7tn7B00VxRKTBo5YJNsBUoRRThqaakbaQhIUBoy0gvHNtN56JFLRiD/oiSBeiIacDihG2li+fdSrQgGvYdKr+jV4n3bPDdZE6ttFp+TMBJfBzaAIMtV9+6vbj3AcEq4xQ0p1XEdoL0FSU8xIWujGigiEx2hIOgY5ConyktkBKTw1Th8OImke13Dm/p5IUKjUJAxMZ4j0SC3WpuZ/tU6sB1deQrmINeF4vmgQM6gjOE0D9qkkWLOJAYQlNX+FeIQkwtpkVjAhuIsnL0PzouQ6JfeuXKyUszjy4BicgDPggktQAbegDhoAgxQ8g1fwZj1ZL9a79TFvzVnZzCH4I+vzB7/GlIk=</latexit>

2A 3 2B 3 <latexit sha1_base64="etMae2DHvsJLdQ+RWaS5Mwk+IIw=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeiF48VTFtoY9lsJ+3SzSbsbsRS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8MBVcG9f9dgpr6xubW8Xt0s7u3v5B+fCoqZNMMfRZIhLVDqlGwSX6hhuB7VQhjUOBrXB0M/Nbj6g0T+S9GacYxHQgecQZNVbyH67T3lOvXHGr7hxklXg5qUCORq/81e0nLItRGiao1h3PTU0wocpwJnBa6mYaU8pGdIAdSyWNUQeT+bFTcmaVPokSZUsaMld/T0xorPU4Dm1nTM1QL3sz8T+vk5noKphwmWYGJVssijJBTEJmn5M+V8iMGFtCmeL2VsKGVFFmbD4lG4K3/PIqaV5UPbfq3dUq9VoeRxFO4BTOwYNLqMMtNMAHBhye4RXeHOm8OO/Ox6K14OQzx/AHzucPpYWOhQ==</latexit>

px px
4A py 5 = B R 4 p y 5
A B
~zA = ~zB A
px ~xA
<latexit sha1_base64="AItYbU+jbyVeNln+mbz9ttCLnb8=">AAAB+3icbVDLSsNAFJ3UV62vWJdugkVwVRIp6LLixmUF+4AmhMn0ph06mYSZSWkJ+RU3LhRx64+482+ctFlo64GBwzn3cs+cIGFUKtv+Nipb2zu7e9X92sHh0fGJeVrvyTgVBLokZrEYBFgCoxy6iioGg0QAjgIG/WB6X/j9GQhJY/6kFgl4ER5zGlKClZZ8s+7OgGRuhNUkCLN5nvt3vtmwm/YS1iZxStJAJTq++eWOYpJGwBVhWMqhYyfKy7BQlDDIa24qIcFkiscw1JTjCKSXLbPn1qVWRlYYC/24spbq740MR1IuokBPFiHluleI/3nDVIW3XkZ5kirgZHUoTJmlYqsowhpRAUSxhSaYCKqzWmSCBSZK11XTJTjrX94kveumYzedx1aj3SrrqKJzdIGukINuUBs9oA7qIoLm6Bm9ojcjN16Md+NjNVoxyp0z9AfG5w+eUZTB</latexit>

<latexit sha1_base64="Ah/C+uS+d5JTYWNyLXjTRfBFFNM=">AAACEHicbVDLSsNAFL3xWesr6tLNYBFdlUQKuhGqblxWsA9oQphMJ+3QyYOZSaGGfoIbf8WNC0XcunTn3zhps9DWAxcO59zLvff4CWdSWda3sbS8srq2Xtoob25t7+yae/stGaeC0CaJeSw6PpaUs4g2FVOcdhJBcehz2vaHN7nfHlEhWRzdq3FC3RD3IxYwgpWWPPPEGVGSOSFWAz/IHiYT7wpdogXx2jMrVtWaAi0SuyAVKNDwzC+nF5M0pJEiHEvZta1EuRkWihFOJ2UnlTTBZIj7tKtphEMq3Wz60AQda6WHgljoihSaqr8nMhxKOQ593ZkfKee9XPzP66YquHAzFiWpohGZLQpSjlSM8nRQjwlKFB9rgolg+lZEBlhgonSGZR2CPf/yImmdVW2rat/VKvVaEUcJDuEITsGGc6jDLTSgCQQe4Rle4c14Ml6Md+Nj1rpkFDMH8AfG5w+cvZ2F</latexit>

A B
<latexit sha1_base64="FVx7lJ3i5rL6Brh3twH+lI/XydM=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeKF48VTFtoY9lsJ+3SzSbsbsRS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8MBVcG9f9dgpr6xubW8Xt0s7u3v5B+fCoqZNMMfRZIhLVDqlGwSX6hhuB7VQhjUOBrXB0M/Nbj6g0T+S9GacYxHQgecQZNVbyH67T3lOvXHGr7hxklXg5qUCORq/81e0nLItRGiao1h3PTU0wocpwJnBa6mYaU8pGdIAdSyWNUQeT+bFTcmaVPokSZUsaMld/T0xorPU4Dm1nTM1QL3sz8T+vk5noKphwmWYGJVssijJBTEJmn5M+V8iMGFtCmeL2VsKGVFFmbD4lG4K3/PIqaV5UPbfq3dUq9VoeRxFO4BTOwYNLqMMtNMAHBhye4RXeHOm8OO/Ox6K14OQzx/AHzucPo/6OhA==</latexit>

pz px
<latexit sha1_base64="dkHE0D0Gdm98Y/5bn7SKbDJaRmg=">AAACY3icbVFdS8MwFE2rzrn5UT/eRAgOwQcZrQz0RZjzxccpToV1K2l2twXTtCSpuJX9Sd9888X/YdaNodMLgcM5957cnIQJZ0q77odlr6yuFdaLG6Xy5tb2jrO796jiVFJo0ZjH8jkkCjgT0NJMc3hOJJAo5PAUvtxM9adXkIrF4kGPEuhEZCBYn1GiDRU4Yz+EARNZGBEt2duke42T4A37Ps7RaIHGPojeog1f4ax7HTTw/cQ/w8sejYVHY+GRc788AqfiVt288F/gzUEFzasZOO9+L6ZpBEJTTpRqe26iOxmRmlEOk5KfKkgIfSEDaBsoSASqk+UZTfCJYXq4H0tzhMY5+3MiI5FSoyg0nWa/oVrWpuR/WjvV/ctOxkSSahB0dlE/5VjHeBo47jEJVPORAYRKZnbFdEgkodp8S8mE4C0/+S94PK96btW7q1XqtXkcRXSIjtEp8tAFqqNb1EQtRNGnVbB2LMf6ssv2nn0wa7Wt+cw++lX20Tehh7Xm</latexit>

Rotation about z axis


2 3 2 3 2 3
p cos(✓ + ↵) p cos(↵) cos(✓) sin(✓) 0
4 p sin(✓ + ↵) 5 = A
BR
4 p sin(↵) 5 4
A
B R = sin(✓) cos(✓) 05
0 0
<latexit sha1_base64="8siGNTWcbFcYQIt5Hla9nACNcQs=">AAAChHicdVHbThsxEPVuy6VpgUAf+2I1qgoCRbtcBC+taPvSR4oIIMUhmnUmiYXXa9mzqNEqX9K/6lv/ps5FqE3gSJaOzsycGc9kVitPSfInil+8XFldW39Ve/1mY3Orvr1z7YvSSWzJQhfuNgOPWhlskSKNt9Yh5JnGm+z+2yR+84DOq8Jc0chiJ4eBUX0lgYLUrf8SGQ6UqbIcyKmfY8uFLPyuoCES7AvQdgh7XAhuhVfmCT0RaHqP5fwTr+6+dL/yy7E44IveM+slz+fMuvVG0kym4MsknZMGm+OiW/8teoUsczQkNXjfThNLnQocKalxXBOlRwvyHgbYDtRAjr5TTZc45h+C0uP9woVniE/VfysqyL0f5VnIDPMN/WJsIj4Va5fUP+tUytiS0MhZo36pORV8chHeUw4l6VEgIJ0Ks3I5BAeSwt1qYQnp4peXyfVhM02a6Y/jxvnxfB3r7B17z3ZZyk7ZOfvOLliLySiKPkZJlMar8UF8FJ/MUuNoXvOW/Yf4818hicHb</latexit>
0 0 1
<latexit sha1_base64="V18ELGrYFhtwwBHnqpCbHSEFqow=">AAACYnicbVHLSgMxFM2M7/FVdamLYFF0YZkRQTeCj41LFatCU0smvW1DM5khuSOWoT/pzpUbP8R0LKjVA4GTc89Nbk7iTEmLYfjm+VPTM7Nz8wvB4tLyymplbf3eprkRUBepSs1jzC0oqaGOEhU8ZgZ4Eit4iPuXo/rDMxgrU32HgwyaCe9q2ZGCo5NalUHxdN66oLdDekpZDF2pizjhaOTLkDKR2j2GPUC+T3fpAbNS/9iHlLFgQptoKS1hSXZpxEC3v09vVaphLSxB/5JoTKpkjOtW5ZW1U5EnoFEobm0jCjNsFtygFAqGAcstZFz0eRcajmqegG0WZURDuuOUNu2kxi2NtFR/dhQ8sXaQxM7pBuzZydpI/K/WyLFz0iykznIELb4u6uSKYkpHedO2NCBQDRzhwkg3KxU9brhA9yuBCyGafPJfcn9Yi8JadHNUPTsaxzFPNsk22SMROSZn5IpckzoR5N2b8Va8Ve/DD/w1f+PL6nvjng3yC/7WJ0Z1sHc=</latexit>
~yB1
Attitude Determination and Control Systems
<latexit sha1_base64="lkxmdT/Y1GdIV3Tow1hNRFgfHLo=">AAAB/3icbVDLSsNAFJ3UV62vqODGzWARXJVECrosunFZwT6gKWEyvWmHTh7MTAohZuGvuHGhiFt/w51/46TNQlsPDBzOuZd75ngxZ1JZ1rdRWVvf2Nyqbtd2dvf2D8zDo66MEkGhQyMeib5HJHAWQkcxxaEfCyCBx6HnTW8LvzcDIVkUPqg0hmFAxiHzGSVKS6554syAZk5A1MTzszTP3ezGtXPXrFsNaw68SuyS1FGJtmt+OaOIJgGEinIi5cC2YjXMiFCMcshrTiIhJnRKxjDQNCQByGE2z5/jc62MsB8J/UKF5+rvjYwEUqaBpyeLoHLZK8T/vEGi/OthxsI4URDSxSE/4VhFuCgDj5gAqniqCaGC6ayYToggVOnKaroEe/nLq6R72bCthn3frLeaZR1VdIrO0AWy0RVqoTvURh1E0SN6Rq/ozXgyXox342MxWjHKnWP0B8bnD6irlnM=</latexit>

{B}
Attitude Representation
<latexit sha1_base64="cmUlFg2joGzH8OedYz4vuKU6r2Y=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mkoMeiF48VTFtoQtlst+3SzSbsToQS+hu8eFDEqz/Im//GbZuDtj4YeLw3w8y8KJXCoOt+O6WNza3tnfJuZW//4PCoenzSNkmmGfdZIhPdjajhUijuo0DJu6nmNI4k70STu7nfeeLaiEQ94jTlYUxHSgwFo2glP8hvg1m/WnPr7gJknXgFqUGBVr/6FQwSlsVcIZPUmJ7nphjmVKNgks8qQWZ4StmEjnjPUkVjbsJ8ceyMXFhlQIaJtqWQLNTfEzmNjZnGke2MKY7NqjcX//N6GQ5vwlyoNEOu2HLRMJMEEzL/nAyE5gzl1BLKtLC3EjammjK0+VRsCN7qy+ukfVX33Lr30Kg1G0UcZTiDc7gED66hCffQAh8YCHiGV3hzlPPivDsfy9aSU8ycwh84nz+2dY6Q</latexit>

Euler angles ~yB


<latexit sha1_base64="c1E1FvZ8E4f2H0/bt6G7pZ/FVCc=">AAAB/XicbVDLSsNAFL2pr1pf8bFzEyyCq5JIQZdFNy4r2Ac0oUymk3boZBJmJoUYgr/ixoUibv0Pd/6NkzYLbT0wcDjnXu6Z48eMSmXb30ZlbX1jc6u6XdvZ3ds/MA+PujJKBCYdHLFI9H0kCaOcdBRVjPRjQVDoM9Lzp7eF35sRIWnEH1QaEy9EY04DipHS0tA8cWcEZ26I1MQPsjTPh9lNPjTrdsOew1olTknqUKI9NL/cUYSTkHCFGZJy4Nix8jIkFMWM5DU3kSRGeIrGZKApRyGRXjZPn1vnWhlZQST048qaq783MhRKmYa+nixiymWvEP/zBokKrr2M8jhRhOPFoSBhloqsogprRAXBiqWaICyozmrhCRIIK11YTZfgLH95lXQvG47dcO6b9VazrKMKp3AGF+DAFbTgDtrQAQyP8Ayv8GY8GS/Gu/GxGK0Y5c4x/IHx+QNzP5XP</latexit>

• Any rotation can be decomposed into three elementary


rotations, e.g. Z-Y-Z, Y-Z-X, Z-Y-X. ~zB1 ~zB
<latexit sha1_base64="l9KGU/3aUXM2l2HaXB17hfQmWS8=">AAAB+3icbVDLSsNAFJ3UV62vWJdugkVwVRIp6LLoxmUF+4AmhMn0ph06mYSZSbGG/IobF4q49Ufc+TdO2iy09cDA4Zx7uWdOkDAqlW1/G5WNza3tnepubW//4PDIPK73ZJwKAl0Ss1gMAiyBUQ5dRRWDQSIARwGDfjC9Lfz+DISkMX9Q8wS8CI85DSnBSku+WXdnQDI3wmoShNlTnvs3vtmwm/YC1jpxStJAJTq++eWOYpJGwBVhWMqhYyfKy7BQlDDIa24qIcFkiscw1JTjCKSXLbLn1rlWRlYYC/24shbq740MR1LOo0BPFiHlqleI/3nDVIXXXkZ5kirgZHkoTJmlYqsowhpRAUSxuSaYCKqzWmSCBSZK11XTJTirX14nvcumYzed+1aj3SrrqKJTdIYukIOuUBvdoQ7qIoIe0TN6RW9GbrwY78bHcrRilDsn6A+Mzx+i5ZTE</latexit>

<latexit sha1_base64="YCuSvACM6068csk6zusGUviyKgI=">AAAB/3icbVBNS8NAFHypX7V+RQUvXoJF8FQSKeix6MVjBdsKTQib7aZdutmE3U2hxhz8K148KOLVv+HNf+OmzUFbBxaGmfd4sxMkjEpl299GZWV1bX2julnb2t7Z3TP3D7oyTgUmHRyzWNwHSBJGOekoqhi5TwRBUcBILxhfF35vQoSkMb9T04R4ERpyGlKMlJZ888idEJy5EVKjIMwe8tzPrnwn98263bBnsJaJU5I6lGj75pc7iHEaEa4wQ1L2HTtRXoaEopiRvOamkiQIj9GQ9DXlKCLSy2b5c+tUKwMrjIV+XFkz9fdGhiIpp1GgJ4ugctErxP+8fqrCSy+jPEkV4Xh+KEyZpWKrKMMaUEGwYlNNEBZUZ7XwCAmEla6spktwFr+8TLrnDcduOLfNeqtZ1lGFYziBM3DgAlpwA23oAIZHeIZXeDOejBfj3fiYj1aMcucQ/sD4/AGqN5Z0</latexit>

• Z-Y-X parametrization, also known as,


yaw , pitch ✓ , roll Euler angles
<latexit sha1_base64="oCVw4I6SKVvLxfEYcohI0vU5bsk=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbBU0lE0GPBi8cKpi20oWy2k3bpZhN2N0IJ/Q1ePCji1R/kzX/jps1BWx8MPN6bYWZemAqujet+O5WNza3tnepubW//4PCofnzS0UmmGPosEYnqhVSj4BJ9w43AXqqQxqHAbji9K/zuEyrNE/loZikGMR1LHnFGjZX8Qap5bVhvuE13AbJOvJI0oER7WP8ajBKWxSgNE1TrvuemJsipMpwJnNcGmcaUsikdY99SSWPUQb44dk4urDIiUaJsSUMW6u+JnMZaz+LQdsbUTPSqV4j/ef3MRLdBzmWaGZRsuSjKBDEJKT4nI66QGTGzhDLF7a2ETaiizNh8ihC81ZfXSeeq6blN7+G60bou46jCGZzDJXhwAy24hzb4wIDDM7zCmyOdF+fd+Vi2Vpxy5hT+wPn8AVXDjlA=</latexit>
<latexit sha1_base64="jyuMvlByuPMtrDVDINtgfn4+FK0=">AAAB7XicbVDLSgNBEJyNrxhfUY9eBoPgKexKQI8BLx4jmAckS5id9CZjZmeWmV4hhPyDFw+KePV/vPk3TpI9aGJBQ1HVTXdXlEph0fe/vcLG5tb2TnG3tLd/cHhUPj5pWZ0ZDk2upTadiFmQQkETBUropAZYEkloR+Pbud9+AmOFVg84SSFM2FCJWHCGTmr1cATI+uWKX/UXoOskyEmF5Gj0y1+9geZZAgq5ZNZ2Az/FcMoMCi5hVuplFlLGx2wIXUcVS8CG08W1M3rhlAGNtXGlkC7U3xNTllg7SSLXmTAc2VVvLv7ndTOMb8KpUGmGoPhyUZxJiprOX6cDYYCjnDjCuBHuVspHzDCOLqCSCyFYfXmdtK6qgV8N7muVei2Po0jOyDm5JAG5JnVyRxqkSTh5JM/klbx52nvx3r2PZWvBy2dOyR94nz+fwY8a</latexit>
<latexit

<latexit sha1_base64="I7naOXi9//ECfvO3BtwyG2yiI2s=">AAAB63icbVDLSgNBEOyNrxhfUY9eBoPgKeyKoMeAF48RzAOSJcxOZrND5rHMzAphyS948aCIV3/Im3/jbLIHTSxoKKq66e6KUs6M9f1vr7KxubW9U92t7e0fHB7Vj0+6RmWa0A5RXOl+hA3lTNKOZZbTfqopFhGnvWh6V/i9J6oNU/LRzlIaCjyRLGYE20Iapgkb1Rt+018ArZOgJA0o0R7Vv4ZjRTJBpSUcGzMI/NSGOdaWEU7ntWFmaIrJFE/owFGJBTVhvrh1ji6cMkax0q6kRQv190SOhTEzEblOgW1iVr1C/M8bZDa+DXMm08xSSZaL4owjq1DxOBozTYnlM0cw0czdikiCNSbWxVNzIQSrL6+T7lUz8JvBw3WjdV3GUYUzOIdLCOAGWnAPbegAgQSe4RXePOG9eO/ex7K14pUzp/AH3ucPD1KOMQ==</latexit>

⇥ ⇤
<latexit sha1_base64="92CmFagsVNGSDX1e74sqRD/tlp4=">AAACLnicbVDLSgMxFM34tr6qLt0Ei+KqzGhBN4IggksV+4BOLZnMbRvMZIbkjliGfpEbf0UXgoq49TPM1CJqPRA4nHMuufcEiRQGXffZmZicmp6ZnZsvLCwuLa8UV9dqJk41hyqPZawbATMghYIqCpTQSDSwKJBQD66Pc79+A9qIWF1iP4FWxLpKdARnaKV28cSXNhyywvYh9QPoCpUFEUMtbgfUT3qCblMfe4AsJ4kR1AcVfkd8oejF1V6hXSy5ZXcIOk68ESmREc7axUc/jHkagUIumTFNz02wlTGNgksYFPzUQML4NetC01LFIjCtbHjugG5ZJaSdWNunkA7VnxMZi4zpR4FN2j175q+Xi/95zRQ7B61MqCRFUPzro04qKcY0746GQgNH2beEcS3srpT3mGYcbcN5Cd7fk8dJbbfsuWXvvFI6qozqmCMbZJPsEI/skyNySs5IlXByRx7IC3l17p0n5815/4pOOKOZdfILzscnUSanbg==</latexit>
= ✓ 2 R3
I
BR = R( ) = Rz ( )Ry (✓)Rx ( )
2 32 32 3
cos sin 0 cos ✓ 0 sin ✓ 1 0 0
= 4 sin cos 05 4 0 1 0 5 40 cos sin 5
<latexit sha1_base64="qUPOFmE30gokkP7QbDp/ruyZKRk=">AAADTnicfVLPb9MwGHWyASX86uDIxVpF1R1WJdMkuEyaxgVuY6LbpLpEjuM21hwnsp1pXbS/kAvixp/BhQMIwZcfrKVFWLL0vve+9/nZcpRLYazvf3Hcjc07d+917nsPHj56/KS79fTUZIVmfMQymenziBouheIjK6zk57nmNI0kP4suXlf62SXXRmTqvZ3nfJLSmRJTwagFKtxy4g9vwyN8gg/wyYBIMMZ0B/ehCq8HJDdiB9B8QGzCLa3wFbAJsIR40EUiPhOqjFJqtbi6wYRlpnLh/i4xQjXQr5oX5aKnFnzcx9UOPMJVfDvKWxnt1bY6RmuoJzYEjGlm1BJUu0ti272wV2n+e1TQem7zNZETiIzbeyXij9SWy11rB4Tdnj/064XXQdCCHmrXcdj9TOKMFSlXlklqzDjwczspqbaCSQ6JC8Nzyi7ojI8BKppyMynr73CDXwAT42mmYSuLa3bZUdLUmHkaQScETMyqVpH/0saFnb6alELlheWKNQdNC4lthqu/hWOhObNyDoAyLSArZgnVlFn4gdUjBKtXXgene8PAHwbv9nuH++1zdNBztI0GKEAv0SF6g47RCDHno/PV+e78cD+539yf7q+m1XVazzP019ro/AYw4AEe</latexit>
0 0 1 sin ✓ 0 cos ✓ 0 sin cos
• 3-dimensional parametrization means that singularities are always present
Attitude Determination and Control Systems
Inertial Force Sensors - Accelerometers

Also denominated as
Specific Force Sensors

ay= 0
a=F/M [m/s2] az= - g

Conclusion: It is impossible to obtain tilt information from accelerometers


mounted on board conventional bank-to-turn or pitch-to-loop aircraft.
Attitude Determination and Control Systems
Specific Force Reading in Moving Platforms

From the Newton law the SFS reading is

The terms are: i) tangential acceleration, and ii) Coriolis acceleration


Assuming and

Results:
Attitude Determination and Control Systems
Example: Q-FLEX QA3000 COTS accelerometer

Exploded view of Q-flex accelerometer subassembly


(Sundstrand Data Control)

Price @ 2021: 2000 USD per axis


Specifications (on the left, partial)
Attitude Determination and Control Systems
Inertial Rotation Sensors
Assume Euler angles roll (𝚽), pitch (𝚹 ), and yaw
(𝜳) are used for attitude representation.
Denoting the body-fixed angular velocities are P, Q,
and R. The following relations hold:

RPY attitude can be obtained as


(open loop!)
Attitude Determination and Control Systems
Rate Gyros

The gyro rotor has mass and is spinning at a high rotational


rate (ꙍ). L

This produces Angular Momentum (L), which is a vector that


points out along the axis of rotation of the rotor.

L = J x ꙍ
As with any form of “momentum” which is a resistance to a
change in motion, the angular momentum resists any change where
in rotational motion (along the spin axis or orthogonal to it).

As a result, the momentum vector has a tendency to remain J = ½ M r2


pointing in the same direction.
Attitude Determination and Control Systems
Example: NEC MDP-A3U7 rate gyro
Attitude Determination and Control Systems
Strapdown Mechanization

Attitude Heading Reference Systems


(AHRS)

Basic strapdown mechanization for


computation of ground speed and vehicle
position based on measured specific force
sensors and rate gyroscopes.

OPEN LOOP!
Attitude Determination and Control Systems
Star Tracker
A star tracker is basically a digital camera, i.e.
on the focal plane a CCD or a CMOS sensitive device is placed.

On the image plane:


Attitude Determination and Control Systems
Star Tracker
Required to track at least 4 stars.
With modern systems hundreds of stars can be tracked.
If tracking N starts

Where is the average number of starts on the field of view (FOV).

For a 99% percentage of finding N=4 starts, it is enough to observe 10 starts in average.

Accuracy is a function of the FOV and the size of the size of the star catalog.
Attitude Determination and Control Systems
Other sensors
Sun sensors
Example: in low cost solutions, a pair of leds can be used as coarse Sun sensor.
(FSS - Accuracy <0.5o rms @2021 12K USD)

Horizon sensors

Magnetometers
(NSS – 8nT @2021 15K USD)

GPS receivers (also interesting with multiple receivers)

Info from https://www.cubesatshop.com


Attitude Determination and Control Systems
Attitude Determination

Assuming that a set of N > 1 vectors, known in the


inertial frame ri, can be measured onboard bi.

Problem: Given N > 1 vector observations, how to


estimate the attitude of the spacecraft, relative to the inertial frame?

Solution: To minimize

where A ∈ SO(3), is the rotation matrix, and ai are non-negative weights.


Attitude Determination and Control Systems
Deterministic solutions:
Each term can be written as

Thus the functional to be minimized can be written as

with and the “attitude profile matrix” B, defined as

Wahba problem [1965]: For the case of N=2 (due to [Farrerll].


i) Decompose B with the SVD, B=USVT.
ii) Compute A=UMVT, with M=diag(1, 1, det(U)det(V)).
Attitude Determination and Control Systems
Other Deterministic Solutions:
Davenport’s q method

Quaternion estimation (QUEST) [Mortari, Markley]

Method of sequential rotations [Shuster] – relevant also due to the error covariance
analysis.

Estimation of the Optimal Quaternion (ESOQ), (ESOQ2)

FOAM,...

Check in [Markley and Crassidis] for details.


Attitude Determination and Control Systems
Stochastic solutions:
MLE formulation: Assuming no errors on the reference values ritrue , the pdf of
measurement bi assumed as Gaussian is expressed as

where 𝛔bi2 is is the measurement covariance, used as optimal weight.


The likelihood of the N independent measurements bi is

Its maximum is equivalent to minimize

The last term, is the weights term in the Wahba problem


formulation.
Attitude Determination and Control Systems r ψ
Optimal Stochastic solutions: rd Design
Model
ψd
Motivation example: Attitude Estimation

To design an estimator, based


ψm rm
on the measurements of a
compass ( ψ m = ψ d + ψ ) and a r̂
rate gyro ( rm = rd + r = rd + ψ!)
to provide estimates ψ̂ and r̂ , Estimator
of ψ and r, respectively. ψ̂
Characteristics of the problem:

• Non-linear kynematics
• Time-varying Formal tools are needed!
u
G
z e
• Multi-rate y
• Design constraints may require
compromises E
F ẑ
Attitude Determination and Control Systems
Optimal Stochastic solutions:
r M
1 ψ
Motivation example: Attitude Estimation
s
rd
To design an estimator, based
ψd
on the measurements of a
compass ( ψ m = ψ d + ψ ) and a
rate gyro ( rm = rd + r = rd + ψ!) ψm rm
to provide estimates ψ̂ and r̂ ,
of ψ and r, respectively. r̂

s+k
ˆ (s ) =
ψ ψ m (s ) Estimator
s+k ψ̂
k s
ψˆ (s ) = ψ m (s ) + ψ m (s )
s+k s+k Design Model
ˆ (s ) = T1 (s ) ψ m (s ) + T2 (s ) ψ m (s ),
ψ
where T1 (s ) + T2 (s ) = I
Attitude Determination and Control Systems
Optimal Stochastic solutions:
Sub-optimal Complementary filters (from [Wiener], 1950) r M
1 ψ
s
Using r (s ) = sψ (s ), rd
T2 (s ) ψd
ˆ (s ) = T1 (s )ψ m (s ) +
ψ rm (s )
s
The filter admits the realization: ψm rm
!ˆ (t ) = r (t ) + k (ψ (t ) - ψ
ψ ˆ (t ))
m m F01 r̂
1
k
T1 (s ) :y m ® y T2 (s ) / s : rm ® yˆ s
0dB ψ̂

0.01k 0.1k k 10k 100kω


Attitude Determination and Control Systems
Optimal Stochastic solutions:
Sub-optimal Complementary filters (from [Wiener], 1950) r M
1 ψ
s
rd
It is possible to modify this simple ψd
structure to meet other constraints.
Transfer
Ex:function:
to achieve steady state rejection
of rate gyro bias with an appended ψm rm
integrator.

ˆ (s ) = (T1 (s ) + T2 (s )) ψ m (s )
ψ
Estimator ψ̂
k 1
+ ψd + rd
s+k s+k
Attitude Determination and Control Systems
Optimal Stochastic solutions:
Sub-optimal Complementary filters (from [Wiener], 1950) bd M’ ψ
1 b 1
ìéψ!ù é0 1 ù éψ ù é1ù s s
rd
ïê ! ú = ê ê b ú + ê0ú rm
ïë b û ë 0 0úû ë û ë û
SM ' =í ψd
éψ!ù
ïψ = [1 0] êb ú
ïî m ë û
Design Model ψm rm

Transfer function: 1 1
k2
ˆ (s ) = ψ m (s )
s s ψ̂
ψ
k1 s + k 2 k1
+ ψd
s + k1 s + k 2
2

s
+ rd
s 2 + k1 s + k 2
Complementary Filters
Attitude Determination and Control Systems
Optimal Stochastic solutions:
High frequency
Angle sensor Angle rate sensor
Other ψ ¢m¢ rm

Angle sensor
F00 F01
First order
ψ ¢m 1 ψ̂ ψm 1 ψ̂
k k
s s
Complementary
Low frequency

Filters ψm rm¢¢
Angle rate sensor

F10 F11
rm 1 1 ψ̂ rm¢ 1 1 ψ̂
k k
s s s s
Complementary Filters
Attitude Determination and Control Systems
Optimal Stochastic solutions:
Optimal filters – Kalman filters [Kalman 1959]

• State observer for


ẋ = Ax + Bu + w
<latexit sha1_base64="URyzXoEKDSfW4TNAw57e1XfJke0=">AAACDnicbVC7TsMwFHXKq4RXgZHFoipCQqoSVAkWpEIXxiLRh9REleM6rVXHiWwHiKJ+AQu/wsIAQqzMbPwNTpsBWq5k3+Nz7rV9jxcxKpVlfRuFpeWV1bXiurmxubW9U9rda8swFpi0cMhC0fWQJIxy0lJUMdKNBEGBx0jHGzcyvXNHhKQhv1VJRNwADTn1KUZKU/1SxRmECj7Aowt4qdMJvIr1du84ZpJxDZjoo64rW1VrGnAR2Dkogzya/dKXvhfHAeEKMyRlz7Yi5aZIKIoZmZhOLEmE8BgNSU9DjgIi3XQ6zgRWNDOAfij04gpO2d8dKQqkTAJPVwZIjeS8lpH/ab1Y+eduSnkUK8Lx7CE/ZlCFMPMGDqggWLFEA4QF1X+FeIQEwko7aGoT7PmRF0H7tGpbVfumVq7XcjuK4AAcgmNggzNQB9egCVoAg0fwDF7Bm/FkvBjvxsestGDkPfvgTxifP6eSl10=</latexit>
y = Cy + n
• the disturbance w and the measurement noise n are zero-mean white
noise stochastic processes with covariance matrices
E[w(t)w(⌧ )T ] = (t ⌧ )W
<latexit sha1_base64="DJEDwg3t1+SlrurgyG2anN/gl5g=">AAACN3icfVDLSgMxFM34rPVVdekmWJR2YZmRgm6EggiuSoW+oDOWTJq2oZnMkNyxlNK/cuNvuNONC0Xc+gemj4W24oHA4ZxzubnHjwTXYNvP1tLyyuraemIjubm1vbOb2tuv6jBWlFVoKEJV94lmgktWAQ6C1SPFSOALVvN7V2O/ds+U5qEswyBiXkA6krc5JWCkZqp4ct3oZyDbz7hA4uxd2cOX2G0xASQDpxMN11w3aWLSxOQ/saKJNVNpO2dPgBeJMyNpNEOpmXpyWyGNAyaBCqJ1w7Ej8IZEAaeCjZJurFlEaI90WMNQSQKmveHk7hE+NkoLt0NlngQ8UX9ODEmg9SDwTTIg0NXz3lj8y2vE0L7whlxGMTBJp4vascAQ4nGJuMUVoyAGhhCquPkrpl2iCAVT9bgEZ/7kRVI9yzl2zrnNpwv5WR0JdIiOUAY56BwV0A0qoQqi6AG9oDf0bj1ar9aH9TmNLlmzmQP0C9bXN1yTp/Q=</latexit>
E[n(t)n(⌧ )T ] = (t ⌧ )N
• Kalman filter design provides state estimate that minimizes

J = lim E[x̃(t)T x̃(t)]


<latexit sha1_base64="TwRvkJCThY8W9lhMMttZAnztrqc=">AAACJXicbVDLSsNAFJ34tr6iLt0MFqEilEQKulAoiCCuFGwVmhgmk0k7dDIJMzdqCf0ZN/6KGxeKCK78FaePRX0cuHDmnHuZe0+YCa7BcT6tqemZ2bn5hcXS0vLK6pq9vtHUaa4oa9BUpOomJJoJLlkDOAh2kylGklCw67B7MvCv75jSPJVX0MuYn5C25DGnBIwU2Efn+Bh7gidBAZ7i7Q4QpdL7PY/LGHp9fNrygIuIFQ/9CuzeXk2+/MAuO1VnCPyXuGNSRmNcBPabF6U0T5gEKojWLdfJwC+IAk4F65e8XLOM0C5ps5ahkiRM+8Xwyj7eMUqE41SZkoCH6uREQRKte0loOhMCHf3bG4j/ea0c4kO/4DLLgUk6+ijOBYYUDyLDEVeMgugZQqjiZldMO0QRCibYkgnB/X3yX9Lcr7pO1b2sleu1cRwLaAttowpy0QGqozN0gRqIokf0jF7Rm/VkvVjv1seodcoaz2yiH7C+vgEQHKWQ</latexit>
t!+1

• Estimation error x̃(t) = x(t)


<latexit sha1_base64="CL76VHs804/d/qEqt9qh79YUbPU=">AAACCXicbVDLSsNAFJ34rPUVdelmsAh1YUmkoBuh4MZlBfuAJpTJZNIOnTyYuZGW0K0bf8WNC0Xc+gfu/BsnbRbaeuByD+fcy8w9XiK4Asv6NlZW19Y3Nktb5e2d3b198+CwreJUUtaisYhl1yOKCR6xFnAQrJtIRkJPsI43usn9zgOTisfRPUwS5oZkEPGAUwJa6pvYAS58lo2nVTjD13ict3PsDAnMtb5ZsWrWDHiZ2AWpoALNvvnl+DFNQxYBFUSpnm0l4GZEAqeCTctOqlhC6IgMWE/TiIRMudnskik+1YqPg1jqigDP1N8bGQmVmoSengwJDNWil4v/eb0Ugis341GSAovo/KEgFRhinMeCfS4ZBTHRhFDJ9V8xHRJJKOjwyjoEe/HkZdK+qNlWzb6rVxr1Io4SOkYnqIpsdIka6BY1UQtR9Iie0St6M56MF+Pd+JiPrhjFzhH6A+PzB9rAmHU=</latexit>
x̂(t)
Complementary Filters
Attitude Determination and Control Systems
Optimal Stochastic solutions:
Optimal filters – Kalman filters [Kalman 1959]

• Kalman filter design provides state estimate that minimizes


J = lim E[x̃(t)T x̃(t)] = lim tr[⌃(t)]
<latexit sha1_base64="mC0Pi92GpM/MmNqXZ552KTUZVJ4=">AAACUHicfVFdSxwxFL2zarWr1q197EtwERRhmRFBXwRBBOmTUvcDZsYlk83MBpPMkNyxLsP+RF9883f0pQ8tNruusGrphZCTc87lJidJIYVF33/0aguLSx+WVz7WV9fWP200Pm92bF4axtssl7npJdRyKTRvo0DJe4XhVCWSd5Ob04neveXGilxf4ajgsaKZFqlgFB3Vb2TfyDGJpFD9CiMjsiFSY/Ife5HQKY7G5CyMUMgBr+7GO7h7fTV/iv/fiiaMvotM0Ym132j6LX9a5D0IZqAJs7roNx6iQc5KxTUySa0NA7/AuKIGBZN8XI9KywvKbmjGQwc1VdzG1TSQMdl2zICkuXFLI5my8x0VVdaOVOKciuLQvtUm5L+0sMT0KK6ELkrkmj0PSktJMCeTdMlAGM5QjhygzAh3V8KG1FCG7g/qLoTg7ZPfg85+K/BbweVB8+RgFscKfIUt2IEADuEEzuEC2sDgHn7Cb/jjPXi/vKea92x92eELvKpa/S+wgrVM</latexit>
t!+1 t!+1
• Error covariance
⌃(t) = E[x̃(t)x̃(t)T ]
<latexit sha1_base64="cneBE3IjZ6G2ms3GnWr2UiLVDz8=">AAACEnicbZC7SgNBFIZnvcZ4W7W0GQxC0oRdCWgjBESwjJgbbNYwOztJhsxemDkrhiXPYOOr2FgoYmtl59s4SbaIiT8MfPznHM6c34sFV2BZP8bK6tr6xmZuK7+9s7u3bx4cNlWUSMoaNBKRbHtEMcFD1gAOgrVjyUjgCdbyhleTeuuBScWjsA6jmLkB6Ye8xykBbXXNUueO9wNShBK+xNdOB7jwWfo41sY839fdrlmwytZUeBnsDAooU61rfnf8iCYBC4EKopRjWzG4KZHAqWDjfCdRLCZ0SPrM0RiSgCk3nZ40xqfa8XEvkvqFgKfu/ERKAqVGgac7AwIDtVibmP/VnAR6F27KwzgBFtLZol4iMER4kg/2uWQUxEgDoZLrv2I6IJJQ0CnmdQj24snL0Dwr21bZvq0UqpUsjhw6RieoiGx0jqroBtVQA1H0hF7QG3o3no1X48P4nLWuGNnMEfoj4+sXjJWcuw==</latexit>

• Solution takes the form of a state observer


x̂˙ = Ax̂ + Bu
<latexit sha1_base64="B5SWXZHUfcHeKTKFbc3vIxHrHi8=">AAACG3icbVDLSgNBEJz1GeMr6tFLYxAikrArgl4ENRcPHhTMA5IQZieTZHD2wUyvuCz7H178FS8eFPEkePBvnMQ9aGLBQHVVNz1dbiiFRtv+smZm5+YXFnNL+eWV1bX1wsZmXQeRYrzGAhmopks1l8LnNRQoeTNUnHqu5A33tjryG3dcaRH4NxiHvOPRgS/6glE0Urdw0O4FCEl7SDG5T1M4gTPICtiHc4igDJdQisvVTN2DbqFoV+wxYJo4GSmSDFfdwodZwiKP+8gk1brl2CF2EqpQMMnTfDvSPKTslg54y1Cfelx3kvFtKewapQf9QJnnI4zV3xMJ9bSOPdd0ehSHetIbif95rQj7x51E+GGE3Gc/i/qRBAxgFBT0hOIMZWwIZUqYvwIbUkUZmjjzJgRn8uRpUj+oOHbFuT4snh5mceTINtkhJeKQI3JKLsgVqRFGHsgTeSGv1qP1bL1Z7z+tM1Y2s0X+wPr8BuEZnro=</latexit>
L(y C x̂)
• The gain L is given by L = ⌃1 C T N 1 <latexit sha1_base64="qdgb7lV4QZCOmmAWZc5x9X+dEyw=">AAACBXicbVDLSsNAFJ34rPUVdamLwSK4sSRS0I1Q6MaFSMW+oEnDZDpph04mYWYihNCNG3/FjQtF3PoP7vwbp20W2nrgwuGce7n3Hj9mVCrL+jaWlldW19YLG8XNre2dXXNvvyWjRGDSxBGLRMdHkjDKSVNRxUgnFgSFPiNtf1Sb+O0HIiSNeEOlMXFDNOA0oBgpLXnm0Q28gs49HYTIcygPVAprvQa87WVn9tgzS1bZmgIuEjsnJZCj7plfTj/CSUi4wgxJ2bWtWLkZEopiRsZFJ5EkRniEBqSrKUchkW42/WIMT7TSh0EkdHEFp+rviQyFUqahrztDpIZy3puI/3ndRAWXbkZ5nCjC8WxRkDCoIjiJBPapIFixVBOEBdW3QjxEAmGlgyvqEOz5lxdJ67xsW2X7rlKqVvI4CuAQHINTYIMLUAXXoA6aAINH8AxewZvxZLwY78bHrHXJyGcOwB8Ynz/22Jbn</latexit>

where ⌃1 is the steady-state error covariance, given by the solution to


<latexit sha1_base64="xphstR1ww7dO3F0TyaI2cpD/wQY=">AAAB9HicbVBNS8NAEN3Ur1q/qh69LBbBU0mkoMeCF48V7Qc0oWy2m3bp7ibuTgoh9Hd48aCIV3+MN/+N2zYHbX0w8Hhvhpl5YSK4Adf9dkobm1vbO+Xdyt7+weFR9fikY+JUU9amsYh1LySGCa5YGzgI1ks0IzIUrBtObud+d8q04bF6hCxhgSQjxSNOCVgp8B/4SJKBz1UE2aBac+vuAnideAWpoQKtQfXLH8Y0lUwBFcSYvucmEOREA6eCzSp+alhC6ISMWN9SRSQzQb44eoYvrDLEUaxtKcAL9fdETqQxmQxtpyQwNqveXPzP66cQ3QQ5V0kKTNHloigVGGI8TwAPuWYURGYJoZrbWzEdE00o2JwqNgRv9eV10rmqe27du2/Umo0ijjI6Q+foEnnoGjXRHWqhNqLoCT2jV/TmTJ0X5935WLaWnGLmFP2B8/kD5YOSIA==</latexit>

(A
<latexit sha1_base64="pUIXqilOjr69SQLqa/r2O2by4I4=">AAACKnicbVDLagIxFM30ae1r2i67CZWCUpSZIrSbguKmCymW+gJHJRMzGsxkhiRTkMHv6aa/0o2LFum2H9L4WFTtgQvnnnMvyT1uyKhUljU1trZ3dvf2EwfJw6Pjk1Pz7Lwug0hgUsMBC0TTRZIwyklNUcVIMxQE+S4jDXdYmvmNVyIkDXhVjULS9lGfU49ipLTUNYvpYrZcyjgvtO+jrkO5p0bwBq706WKnmi11quVONaO9hq4yfIK6hQ/Q6popK2fNATeJvSQpsESla06cXoAjn3CFGZKyZVuhasdIKIoZGSedSJIQ4SHqk5amHPlEtuP5qWN4rZUe9AKhiys4V/9uxMiXcuS7etJHaiDXvZn4n9eKlHffjikPI0U4XjzkRQyqAM5ygz0qCFZspAnCguq/QjxAAmGl003qEOz1kzdJ/TZnWzn7OZ8q5JdxJMAluAJpYIM7UACPoAJqAIM38AE+wZfxbkyMqfG9GN0yljsXYAXGzy+kXKJa</latexit>
LC)⌃1 + ⌃1 (AT C T LT ) + W + LN LT = 0
Navigation System
Navigation System Architecture – Extended Kalman Filter
Aiding Sensors GPS, Magnetometer and Gravity
Selective Frequency Contents
GPS
Dynamic
Vector Readings
Inertial Sensors
Rate Gyro INS Measurement
Accelerometer Residual EKF
Calculation
(Error Correction Routine)
Position, Velocity, Attitude and
Bias Errors Compensation
Position, Velocity and
Attitude Computation

• High-accuracy, multi-rate INS computes position, velocity and attitude


based on the inertial sensor readings.
• GPS, Magnetometer and Gravity Selective Frequency Contents are
introduced in the EKF for inertial sensor error estimation.
• Direct-feedback error compensation.
Navigation System
Navigation System Architecture – Extended Kalman Filter

Inputs: Attitude Computations:

Attitude Increment

Velocity Increment

Velocity/Position Computations:

• Multi-rate, high accuracy, coning, sculling and scrolling computation.


• Fast inertial sensor dynamics are accounted for.
Navigation System
Navigation System Architecture – Extended Kalman Filter
State Vector: State Noise:

Position
Velocity Accelerometer noise
Attitude Rate gyro noise
Accelerometer bias Random Walk biases
Rate gyro bias

• Vector error definition


nominal vector

compensated vector

• Locally non-singular, linear attitude error parameterization


Navigation System
Navigation System Architecture – Extended Kalman Filter
State Space Model:

Error Compensation Routines:

Error estimates are reset after


the compensation routine
Navigation System
Navigation System Architecture – Extended Kalman Filter
Classically, vector observations are converted to attitude
estimates using external attitude algorithms.

Aiding Sensor Readings

Attitude
Computation
Vector Error
Computation EKF

INS estimates Poor aiding sensor characterization in


the attitude measurement residuals.
Navigation System
Navigation System Architecture – Extended Kalman Filter
Features:
• Vector readings are directly modeled and fed into the EKF.
No intermediate attitude estimates are needed.

• The vector measurement residuals state space description is

where sensor errors characteristics are directly included in the EKF.

• The physical coupling between velocity and attitude errors

brings about velocity/position estimates accuracy enhancements using


vector readings.
Navigation System
Navigation System Architecture – Extended Kalman Filter
Impact on performance:
• Enhanced attitude estimates.
• Enhanced velocity/position estimates.
• Bias estimation improvements.

Motivation to include vector frequency contents:


• Accelerometer readings include gravity and acceleration information.
§ Gravity is a constant vector.
§ Vehicle dynamics bandwidth information is available.

Frequency Contents of Vector Observations


Navigation System
Navigation System Architecture – Extended Kalman Filter
• Compensated accelerometer readings

E B
g g
INS estimate INS estimate na
n LA s h
a LA B
a SF
+ +
s l s h
Transfer
l Function
h

B
v ba
Vehicle dynamics bandwidth information
• The vehicle produces linear accelerations for short periods of time.
• Thus, linear accelerations can be modeled as bandpass signals.
• INS high-frequency jitter and low-frequency biases effects are filtered out.
Navigation System
Navigation System Architecture – Extended Kalman Filter

Aiding Sensor Readings

-
EKF
+
+ model

INS estimates Measurement residuals are described


by a function of EKF error states.
Navigation System
Navigation System Architecture – Extended Kalman Filter
Simulation Setup
Case Studies:
• Vehicle dynamics bandwidth
information validation.

• Initial alignment and bias


estimation error enhancements.

• Standard UAV trimming


trajectory results.

• GPS signal blockage effects.


Navigation System
Navigation System Architecture – Extended Kalman Filter

1.4 0.2
V x
x 2LAx
GPS d BV
1.2 0.15 x
GPS + Mag + Grav

1 0.1

X-Axis Acceleration (m/s2)


0.8 0.05
V (m/s)

0.6 0
x

0.4 -0.05

0.2 -0.1

0 -0.15

-0.2 -0.2
0 10 20 30 40 0 10 20 30 40
Time (s) Time (s)

Linear Velocity Estimation Linear Acceleration Compensation

• Improves the velocity estimates accuracy.


• Linear acceleration is properly compensated.
Navigation System
Navigation System Architecture – Extended Kalman Filter

10 30
GPS GPS GPS GPS GPS GPS
GPS + GPS
Mag + Mag GPS + GPS
Mag + Mag
GPS + Mag + Grav 25 GPS + Mag + Grav
5

20

0
15
(o/s)

(o)
Roll
bwx

e
10
e

-5

-10
0

-15 -5
0 2 4 6 8 10 0 4 8 12 16 20
Time (s) Time (s)

Rate Gyro Bias Estimation Error Roll Estimation Error


Bibliography:

Shmuel Merhav, Aerospace Sensor Systems and Applications, 1st edition, 1996,
Springer

F. Landis Markley and John L. Crassidis, Fundamentals of Spacecraft Attitude


Determination and Control, 2014, Springer

Rita Cunha, notes of Unmanned Aerial Systems, IST, 2020-2021.

You might also like