Skip to content

[Proposal] Change Default Euler Angle Range in euler_xyz_from_quat #2364

Open
@ShaoshuSu

Description

@ShaoshuSu

Proposal

Change the default behavior of the euler_xyz_from_quat function to return Euler angles in the range (-π, π] instead of [0, 2π). Introduce an optional argument allowing users to explicitly request the [0, 2π) range when necessary.

Motivation

Euler angles represented in the (-π, π] range are more intuitive and widely adopted within the robotics community. Users currently must manually adjust outputs, which leads to redundant and scattered implementations across multiple projects. Examples of user-implemented adjustments can be found in:

This proposal aims to centralize and standardize angle normalization.

Alternatives

An alternative is to continue using the current implementation, which would require individual users to manually perform angle wrapping each time they invoke the function.

Additional context

Euler angle normalization issues frequently cause confusion and subtle bugs in robotics simulations and control algorithms.

Checklist

  • I have checked that there is no similar issue in the repo (required)

Acceptance Criteria

  • Default output from euler_xyz_from_quat is changed to the range (-π, π].
  • An argument enables the legacy [0, 2π) range.
  • Documentation clearly reflects the new default behavior and the optional argument.
  • Unit tests are provided to verify behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions