A joint connections two links with kinematic and dynamic properties. A unique name for the joint within the scope of the model. The type of joint, which must be one of the following: (revolute) a hinge joint that rotates on a single axis with either a fixed or continuous range of motion, (gearbox) geared revolute joints, (revolute2) same as two revolute joints connected in series, (prismatic) a sliding joint that slides along an axis with a limited range specified by upper and lower limits, (ball) a ball and socket joint, (screw) a single degree of freedom joint with coupled sliding and rotational motion, (universal) like a ball joint, but constrains one degree of freedom, (fixed) a joint with zero degrees of freedom that rigidly connects two links. Name of the parent link Name of the child link Parameter for gearbox joints. Given theta_1 and theta_2 defined in description for gearbox_reference_body, theta_2 = -gearbox_ratio * theta_1. Parameter for gearbox joints. Gearbox ratio is enforced over two joint angles. First joint angle (theta_1) is the angle from the gearbox_reference_body to the parent link in the direction of the axis element and the second joint angle (theta_2) is the angle from the gearbox_reference_body to the child link in the direction of the axis2 element. Parameter for screw joints. Parameters related to the axis of rotation for revolute joints, the axis of translation for prismatic joints. Default joint position for this joint axis. Represents the x,y,z components of the axis unit vector. The axis is expressed in the joint frame unless the use_parent_model_frame flag is set to true. The vector should be normalized. Flag to interpret the axis xyz element in the parent model frame instead of joint frame. Provided for Gazebo compatibility (see https://bitbucket.org/osrf/gazebo/issue/494 ). An element specifying physical properties of the joint. These values are used to specify modeling properties of the joint, particularly useful for simulation. The physical velocity dependent viscous damping coefficient of the joint. The physical static friction value of the joint. The spring reference position for this joint axis. The spring stiffness for this joint axis. specifies the limits of this joint An attribute specifying the lower joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous. An attribute specifying the upper joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous. An attribute for enforcing the maximum joint effort applied by Joint::SetForce. Limit is not enforced if value is negative. (not implemented) An attribute for enforcing the maximum joint velocity. Joint stop stiffness. Support physics engines: SimBody. Joint stop dissipation. Parameters related to the second axis of rotation for revolute2 joints and universal joints. Default joint position for this joint axis. Represents the x,y,z components of the axis unit vector. The axis is expressed in the joint frame unless the use_parent_model_frame flag is set to true. The vector should be normalized. Flag to interpret the axis xyz element in the parent model frame instead of joint frame. Provided for Gazebo compatibility (see https://bitbucket.org/osrf/gazebo/issue/494 ). An element specifying physical properties of the joint. These values are used to specify modeling properties of the joint, particularly useful for simulation. The physical velocity dependent viscous damping coefficient of the joint. EXPERIMENTAL: if damping coefficient is negative and implicit_spring_damper is true, adaptive damping is used. The physical static friction value of the joint. The spring reference position for this joint axis. The spring stiffness for this joint axis. An attribute specifying the lower joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous. An attribute specifying the upper joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous. An attribute for enforcing the maximum joint effort applied by Joint::SetForce. Limit is not enforced if value is negative. (not implemented) An attribute for enforcing the maximum joint velocity. Joint stop stiffness. Supported physics engines: SimBody. Joint stop dissipation. Supported physics engines: SimBody. Parameters that are specific to a certain physics engine. Simbody specific parameters Force cut in the multibody graph at this joint. ODE specific parameters (DEPRECATION WARNING: In SDF 1.5 this tag will be replaced by the same tag directly under the physics-block. For now, this tag overrides the one outside of ode-block, but in SDF 1.5 this tag will be removed completely.) If provide feedback is set to true, ODE will compute the constraint forces at this joint. If cfm damping is set to true, ODE will use CFM to simulate damping, allows for infinite damping, and one additional constraint row (previously used for joint limit) is always active. If implicit_spring_damper is set to true, ODE will use CFM, ERP to simulate stiffness and damping, allows for infinite damping, and one additional constraint row (previously used for joint limit) is always active. This replaces cfm_damping parameter in sdf 1.4. Scale the excess for in a joint motor at joint limits. Should be between zero and one. Constraint force mixing for constrained directions Error reduction parameter for constrained directions Bounciness of the limits Maximum force or torque used to reach the desired velocity. The desired velocity of the joint. Should only be set if you want the joint to move on load. Constraint force mixing parameter used by the joint stop Error reduction parameter used by the joint stop Suspension constraint force mixing parameter Suspension error reduction parameter If provide feedback is set to true, physics engine will compute the constraint forces at this joint. For now, provide_feedback under ode block will override this tag and given user warning about the migration. provide_feedback under ode is scheduled to be removed in SDF 1.5.