// generated from rosidl_adapter/resource/msg.idl.em
// with input from interface_protocol/msg/JointMotionPlanRequest.msg
// generated code does not contain a copyright notice


module interface_protocol {
  module msg {
    module JointMotionPlanRequest_Constants {
      @verbatim (language="comment", text=
        "Plan and execute")
      const uint8 REQUEST_PLAN_EXECUTE = 0;
      @verbatim (language="comment", text=
        "Cancel specified request_id")
      const uint8 REQUEST_CANCEL = 1;
      @verbatim (language="comment", text=
        "Reset to default pose")
      const uint8 REQUEST_RESET = 2;
    };
    @verbatim (language="comment", text=
      "Motion plan request message (via topic)" "\n"
      "request_type constants")
    struct JointMotionPlanRequest {
      int32 request_id;

      uint8 request_type;

      @verbatim (language="comment", text=
        "Motion target (consistent with JointMotion.action)")
      boolean use_gravity_compensation;

      @verbatim (language="comment", text=
        "Empty array means reset to default")
      sequence<int32> joint_indices;

      @verbatim (language="comment", text=
        "Target joint positions (rad)")
      sequence<double> target_positions;

      @verbatim (language="comment", text=
        "Target joint velocities (empty for auto-planning)")
      sequence<double> target_velocities;

      @verbatim (language="comment", text=
        "Expected execution time (s)")
      double execution_time;

      @verbatim (language="comment", text=
        "Optional, empty array for default")
      sequence<double> stiffness;

      @verbatim (language="comment", text=
        "Optional, empty array for default")
      sequence<double> damping;
    };
  };
};
