Skip to content

Set Default Joint Configuration

SUMMARY

Set Default Joint Configuration stores a default joint configuration (in degrees) on the robot object. The default is the joint positions loaded into the manipulator's state at robot creation - see Manipulator States for how state is seeded and how it switches between offline and live modes.

SUPPORTED ROBOTS

Available on all supported manipulators.

UNITS

Joint configuration in degrees, ordered base to wrist.

The Skill

python
robot.set_default_joint_configuration(value=[0, -90, 90, -90, -90, 0])

The Code

python
"""
Set the default joint configuration for the Synapse SDK.

``set_default_joint_configuration`` overrides the brand-default joint configuration
that are used as the offline commanded state. Values are in degrees.

Universal Robots (UR10e) is used here purely for illustration. It supports all robots. This example runs purely on the kinematic model and does

Usage:
    python set_default_joint_configuration.py
"""

from loguru import logger

from telekinesis.synapse.robots.manipulators import universal_robots


def main():
    """Override the default joint configuration and verify the readback."""

    # Create the robot (no connect required — runs on the kinematic model)
    robot = universal_robots.UniversalRobotsUR10E()

    # Log the brand-default joint configuration [deg]
    logger.info(f"Default joint configuration [deg]: {robot.default_joint_configuration}")

    # Set a new default joint configuration [deg]
    new_default = [0.0, -90.0, -90.0, 0.0, 90.0, 0.0]
    robot.set_default_joint_configuration(new_default)
    logger.success(f"Updated default joint configuration [deg]: {robot.default_joint_configuration}")


if __name__ == "__main__":
    main()

The Explanation of the Code

set_default_joint_configuration overwrites the robot's stored default joint positions. Input is interpreted in degrees and converted to radians internally for use by the underlying kinematic model. The new value is exposed through the default_joint_configuration property (also in degrees).

How to Tune the Parameters

ParameterTypeDefaultDescription
valuelist[float] | np.ndarray-1D joint configuration vector in degrees, length equal to the number of joints on the robot.

Return Value

TypeDescription
NoneThe default configuration is stored on the robot object. Read it back through robot.default_joint_configuration.

Where to Use the Skill

  • IK seed - Use the default joint configuration as the implicit q_init for Inverse Kinematics. When q_init=None, the solver seeds from default_joint_configuration, so setting it once at startup biases every subsequent IK call toward a preferred posture.
  • Safe home pose for robot motions - Set the default to a known-good "home" configuration that is reachable, collision-free, and far from joint limits and singularities, then drive the robot back to it whenever you want a deterministic reset point.

When Not to Use the Skill

Do not use the default joint configuration on real robot unless validated on the real system.