syntax = "proto2"; package gazebo.msgs; /// \ingroup gazebo_msgs /// \interface Joint /// \brief Message for creating joint import "axis.proto"; import "pose.proto"; import "sensor.proto"; message Joint { message Gearbox { /// \brief Gearbox joint reference body link required string gearbox_reference_body = 1; /// \brief Gearbox ratio. required double gearbox_ratio = 2; } message Screw { /// \brief Screw joint thread pitch. required double thread_pitch = 1; } enum Type { REVOLUTE = 1; REVOLUTE2 = 2; PRISMATIC = 3; UNIVERSAL = 4; BALL = 5; SCREW = 6; GEARBOX = 7; FIXED = 8; } required string name = 1; optional uint32 id = 2; repeated double angle = 3; optional Type type = 4; optional string parent = 5; optional uint32 parent_id = 6; optional string child = 7; optional uint32 child_id = 8; optional Pose pose = 9; optional Axis axis1 = 10; optional Axis axis2 = 11; optional double cfm = 12; optional double bounce = 13; optional double velocity = 14; optional double fudge_factor = 15; optional double limit_cfm = 16; optional double limit_erp = 17; optional double suspension_cfm = 18; optional double suspension_erp = 19; optional Gearbox gearbox = 20; optional Screw screw = 21; repeated Sensor sensor = 22; }