Effacer les filtres
Effacer les filtres

quaternion does not work in matlab

8 vues (au cours des 30 derniers jours)
Reza Zh
Reza Zh le 12 Oct 2023
I am trying to use rotatepoint and quaternion. when I want to do matlab's example. an error ocurres.
the example is here:
x = 0.5;
y = 0.5;
z = 0;
plot(x,y,"ko")
hold on
axis([-1 1 -1 1])
quat = quaternion([0,0,pi/4; 0,0,-pi/2],"euler","XYZ","point");
rotatedPoint = rotatepoint(quat,[x,y,z])
rotatedPoint = 2×3
-0.0000 0.7071 0 0.5000 -0.5000 0
-------------------------------------------------------------------
this is the error i get:(when using quaternion)
Index exceeds the number of array elements. Index must not exceed 1.
Error in matlabshared.rotations.internal.quaternionBase>partsFromEuler (line 256)
r3 = [arg3(3) arg3(2) arg3(1)];
Error in matlabshared.rotations.internal.quaternionBase>partsFromConversion (line 182)
[qa,qb,qc,qd] = partsFromEuler(arg1,arg2,arg3,arg4);
Error in matlabshared.rotations.internal.quaternionBase (line 59)
[obj.a,obj.b,obj.c,obj.d] = partsFromConversion(varargin{:});
Error in quaternion (line 109)
obj@matlabshared.rotations.internal.quaternionBase(varargin{:});
  4 commentaires
Dyuman Joshi
Dyuman Joshi le 12 Oct 2023
Modifié(e) : Dyuman Joshi le 12 Oct 2023
It could be. Using quaternion() and rotatepoint() requires toolboxes.
MATLAB Online says that one of the following is required for both -
Automated Driving Toolbox
Sensor Fusion and Tracking Toolbox
Navigation Toolbox
Radar Toolbox
Robotics System Toolbox
ROS Toolbox
UAV Toolbox
Computer Vision Toolbox
Check if you have any of the following toolboxes installed by typing "ver" in the command window.
Reza Zh
Reza Zh le 12 Oct 2023
All toolbox mentioned here are installed on my MATLAB 2022a ii

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 12 Oct 2023
Déplacé(e) : Walter Roberson le 12 Oct 2023
As an experiment try
quat = quaternion([0,0,pi/4; 0,0,-pi/2],'euler','XYZ','point');
The R2022a documentation https://www.mathworks.com/help/releases/R2022a/driving/ref/quaternion.html?s_tid=doc_ta shows only using character vectors in those positions, not string objects, so it just might be the case that R2022a does not recognize string objects there.
  1 commentaire
Reza Zh
Reza Zh le 12 Oct 2023
Déplacé(e) : Walter Roberson le 12 Oct 2023
it worked by using 'euler','XYZ','point' instead of "euler","XYZ","point"
thank you

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by