I use dcm2quat function in a function block in simulink but it doesnt work.

3 visualizaciones (últimos 30 días)
I am working on an object tracking project and I am using MPU9250 with Arduino 2560. I have prepared my system on Simulink. I want to transform my dcm matrix to quartionen with dcmtoquat (function) and simulate with HelpOrientationViewer in a function block by simulink but it doenst work.
could you help me pls?
function dcm = fnc(roll,pitch,yaw)
x =[1 0 0; 0 cos(roll) -sin(roll); 0 sin(roll) cos(roll)];
y =[ cos(pitch) 0 -sin(pitch);0 1 0 ; -sin(pitch) 0 cos(pitch)];
z =[ cos(yaw) -sin(yaw) 0; sin(yaw) cos(yaw) 0 ; 1 0 0];
%zy = bsxfun(@times,z,y);
%dcm = bsxfun(@times,zy,x);
dcm = z*y*x;
Q =dcm2quat(dcm);
viewer = HelpOrientationViewer;
viewer(Q)
pause(.1)

Respuestas (2)

Githin John
Githin John el 28 de En. de 2020
Since it is not clear from your question as to what the problem is, I am assuming that the issue is that MATLAB can't find the HelperOrientationViewer (note: typo in your code). To use this class, you need the MATLAB Support Package for Arduino Hardware Installed through the Add-Ons explorer.

Stacey Gage
Stacey Gage el 26 de Mzo. de 2020
Have you tried using the Direction Cosine Matrix to Quaternions block in Aerospace Blockset?

Categorías

Más información sobre Aerospace Applications en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by