import type IUrdfLink from "./IUrdfLink"; export default interface IUrdfJoint { name?: string; type?: "revolute" | "continuous" | "prismatic" | "fixed" | "floating" | "planar"; // rpy = roll, pitch, yaw (values between -pi and +pi) origin_rpy: [roll: number, pitch: number, yaw: number]; origin_xyz: [x: number, y: number, z: number]; // calculated rotation for non-fixed joints based on origin_rpy and axis_xyz rotation: [x: number, y: number, z: number]; parent: IUrdfLink; child: IUrdfLink; // axis for revolute and continuous joints defaults to (1,0,0) axis_xyz?: [x: number, y: number, z: number]; calibration?: { rising?: number; // Calibration rising value in radians falling?: number; // Calibration falling value in radians }; dynamics?: { damping?: number; friction?: number; }; // only for revolute joints limit?: { lower?: number; upper?: number; effort: number; velocity: number; }; mimic?: { joint: string; multiplier?: number; offset?: number; }; safety_controller?: { soft_lower_limit?: number; soft_upper_limit?: number; k_position?: number; k_velocity: number; }; elem: Element; }