rotation matrix with Euler angles(peter corke 'robotics tool box')
14 views (last 30 days)
Show older comments
SUNGWOON YOON
on 26 Mar 2020
Commented: Ameer Hamza
on 30 Mar 2020
I have some question about different answer from me to professor (I'm student and i just follow professor's source)
My answer is
eul2r(10, 0, 30)
ans=-0.6669 -0.7451 0
0.7451 -0.6669 0
0 0 1.
My professor is
eul2r(10, 0, 30)
ans=0 -0.3420 0.9397
0 0.9397 0.3420
-1 0 0
what's wrong of me... pleae let me know
4 Comments
Accepted Answer
Ameer Hamza
on 27 Mar 2020
Edited: Ameer Hamza
on 27 Mar 2020
You code is correct. You can also verify your own answer using MATLAB's builtin function. Note that these functions take input in radians.
x1 = eul2r(10, 20, 30);
x2 = eul2rotm([10,20,30], 'ZYZ');
Result:
>> x1
x1 =
-0.5903 -0.2544 -0.7660
0.7948 -0.3488 -0.4967
-0.1408 -0.9020 0.4081
>> x2
x2 =
-0.5903 -0.2544 -0.7660
0.7948 -0.3488 -0.4967
-0.1408 -0.9020 0.4081
You professor is getting that answer, either because he is using an older version of the toolbox which takes input in degrees or he has modified the function definition itself by commenting out the following condition
% optionally convert from degrees
% if opt.deg % <---- maybe the professor commented this condition
d2r = pi/180.0;
phi = phi * d2r;
theta = theta * d2r;
psi = psi * d2r;
% end
You will get his answer if you convert the input from degress to radians
eul2r(deg2rad(10), deg2rad(20), deg2rad(30))
ans =
0.7146 -0.6131 0.3368
0.6337 0.7713 0.0594
-0.2962 0.1710 0.9397
2 Comments
More Answers (0)
See Also
Categories
Find more on Network Connection and Exploration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!