In the latest issuse fixed, franka_env.py's step calculates nextpos using rotation vector instead of Euler angles, which said euler angles as delta action failed to converge. But why representing state using eulers instead of quat? I believe quaternions would actually be suitable for state representation (as network input), since:
- The double cover issue (q and -q representing the same rotation) only affects network outputs, not inputs
- As observations, quaternions are already normalized and singularity-free
- The network can naturally learn the symmetry between q and -q
Additionally, delta action is supposed to be small increments, which is fine to use euler angles I think, because it will never reach singularity in 1/10 second.
In the latest issuse fixed, franka_env.py's step calculates nextpos using rotation vector instead of Euler angles, which said euler angles as delta action failed to converge. But why representing state using eulers instead of quat? I believe quaternions would actually be suitable for state representation (as network input), since:
Additionally, delta action is supposed to be small increments, which is fine to use euler angles I think, because it will never reach singularity in 1/10 second.