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:
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.
The DCM (Direction Cosine matrix) is complex to use but is stable.
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.
I am mirroring targets/paths/robot across my world y-z, 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.
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/cdf-player/
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.