I use dcm2quat function in a function block in simulink but it doesnt work.
1 次查看(过去 30 天)
显示 更早的评论
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)
0 个评论
回答(2 个)
Githin John
2020-1-28
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.
0 个评论
Stacey Gage
2020-3-26
Have you tried using the Direction Cosine Matrix to Quaternions block in Aerospace Blockset?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Aerospace Blockset 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!