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.
UNITS
Joint configuration in degrees, ordered base to wrist.
The Skill
python
robot.set_default_joint_configuration(q=[0, -90, 90, -90, -90, 0])
The Code
python
"""
Override the default joint configuration used as the offline commanded state.
Supports Universal Robots (UR), Epson, and virtual.
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 Robot ==========================================
robot = universal_robots.UniversalRobotsUR10E(name='UR10e')
# ==================== Run Skill ============================================
# 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(q=new_default)
logger.success(f"Updated default joint configuration [deg]: {robot.default_joint_configuration}")
# ==================== Visualization (Optional) =============================
# set_default_joint_configuration() only changes the IK seed, not the
# commanded state — drive the robot there to see the change reflected.
robot.set_joint_positions(joint_positions=new_default)
robot.visualize_rerun(live=False)
if __name__ == "__main__":
main()Parameter Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
q | list[float] | np.ndarray | required | 1D joint configuration vector in degrees, length equal to the number of joints on the robot. |
Returns
| 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.