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
robot.set_default_joint_configuration(value=[0, -90, 90, -90, -90, 0])The Code
"""
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
| Parameter | Type | Default | Description |
|---|---|---|---|
value | list[float] | np.ndarray | - | 1D joint configuration vector in degrees, length equal to the number of joints on the robot. |
Return Value
| Type | Description |
|---|---|
None | The 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_initfor Inverse Kinematics. Whenq_init=None, the solver seeds fromdefault_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.

