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


module px4_msgs {
  module msg {
    typedef float float__3[3];
    @verbatim (language="comment", text=
      "Position and (optional) heading setpoints with corresponding speed constraints" "\n"
      "Setpoints are intended as inputs to position and heading smoothers, respectively" "\n"
      "Setpoints do not need to be kinematically consistent" "\n"
      "Optional heading setpoints may be specified as controlled by the respective flag" "\n"
      "Unset optional setpoints are not controlled" "\n"
      "Unset optional constraints default to vehicle specifications")
    struct GotoSetpoint {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "setpoints" "\n"
        "[m] NED local world frame")
      @unit (value="m")
      float__3 position;

      @verbatim (language="comment", text=
        "true if heading is to be controlled")
      boolean flag_control_heading;

      @verbatim (language="comment", text=
        "(optional) [-pi,pi] from North")
      @unit (value="rad")
      float heading;

      @verbatim (language="comment", text=
        "constraints" "\n"
        "true if setting a non-default horizontal speed limit")
      boolean flag_set_max_horizontal_speed;

      @verbatim (language="comment", text=
        "(optional) maximum speed (absolute) in the NE-plane")
      @unit (value="m/s")
      float max_horizontal_speed;

      @verbatim (language="comment", text=
        "true if setting a non-default vertical speed limit")
      boolean flag_set_max_vertical_speed;

      @verbatim (language="comment", text=
        "(optional) maximum speed (absolute) in the D-axis")
      @unit (value="m/s")
      float max_vertical_speed;

      @verbatim (language="comment", text=
        "true if setting a non-default heading rate limit")
      boolean flag_set_max_heading_rate;

      @verbatim (language="comment", text=
        "(optional) maximum heading rate (absolute)")
      @unit (value="rad/s")
      float max_heading_rate;
    };
  };
};
