Quaternion orientation
Does anyone have a good resource on "Quaternion orientation"
What is this? What does it describe? Do I need to really start developing my knowledge of it to program better?
Comments

Hi,
You don't need to know everything about quaternions to program robots, but it's good to know the basics of it and in general about rotation and different ways to represent rotation (Rotation Matrix, Euler, Quaternion, Axis Angle, etc.)
In a nutshell:
1) Euler angles are very difficult to use mathematically. They are ambiguous (there are 12 different formulations) and become singular at certain attitudes (Gimbal lock). Their only positive aspect is that people are somewhat familiar with roll, pitch and yaw angles, so eulers are more human understandable.
2) The DCM (Direction Cosine matrix) is complex to use but is stable.
3) Quaternions are easy to compute, are efficient, have no singularities and don't suffer ambiguity. The only downside is that quaternions are regarded as mysterious, almost magical, and impossible to be understood.
You can start here:
https://en.wikipedia.org/wiki/Quaternion
http://web.mit.edu/2.998/www/QuaternionReport1.pdf
http://www.mth.kcl.ac.uk/~salamon/AGT23.pdf
Regards,
Mika
1 
1

Thanks Mika. My name is Micah, nice to meet you.
I am mirroring targets/paths/robot across my world yz, and the quanternion units are the only ones I don't fully understand. I am running into some weird validation errors where the mirrored path will auto configure and be reachable everywhere, but it will then error during simulation and I run into coupling errors, out of position errors...
I would just like to be confident my robot wires don't tangle because of weird rotation.
Actual:
CONST robtarget p1060Sec1_10:=[[39338.6,877.738,2644.25],[0.04491202,0.697822308,0.713224314,0.048353021],[1,3,2,1],[34164,135,2400,0,9E9,9E9]];
Mirror:
CONST robtarget mirror_Sec1_10:=[[39338.6,877.738,2644.25],[0.048353,0.713224,0.697822,0.044912],[1,3,2,1],[34164,45,2400,0,9E9,9E9]];
0 
The values in x axis of the target looks very strange (39000 mm!!!) have you moved the robot in RS?Per Svensson
Robotics and Vision Specialist
Consat Engineering0 
target located in world coordinates.
0 
Are you using a track ?
It looks like the path i is mirroed over the y axis. x=39000 to x=39000
Regards
Knud Erik Lindberg
Jorgensen Engineering0 
And If you add all 4 quatraneon angles, it shoould be equal to 1.
0 
Attaching a tool I made for converting to/from quaternions. It also has an overview, in text, of the different types of expressing a frame rotation.
The tool runs under the free Wolfram CDF Player. Can be downloaded here:
http://www.wolfram.com/cdfplayer/
Once installed the CDF Player will take ~2.7 GB of disc space.
I use this tool regularly in my work. Its fast and accurate.
0 
The attachment!0
Categories
 10.4K All Categories
 5.3K RobotStudio
 351 UpFeed
 15 Tutorials
 9 RobotApps
 282 PowerPacs
 404 RobotStudio S4
 1.8K Developer Tools
 239 ScreenMaker
 2.6K Robot Controller
 251 IRC5
 36 OmniCore
 6 RCS (Realistic Controller Simulation)
 3 RobotStudio AR Viewer
 702 RAPID Programming
 14 Wizard Easy Programming
 107 Collaborative Robots
 3 Job listings