// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lateral {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "3")]
    pub control_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(float, tag = "4")]
    pub steering_tire_angle: f32,
    #[prost(float, tag = "5")]
    pub steering_tire_rotation_rate: f32,
    #[prost(bool, tag = "6")]
    pub is_defined_steering_tire_rotation_rate: bool,
}
impl ::prost::Name for Lateral {
    const NAME: &'static str = "Lateral";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.autoware_control_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.autoware_control_msgs.msg.Lateral".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.autoware_control_msgs.msg.Lateral".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Longitudinal {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "3")]
    pub control_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(float, tag = "4")]
    pub velocity: f32,
    #[prost(float, tag = "5")]
    pub acceleration: f32,
    #[prost(float, tag = "6")]
    pub jerk: f32,
    #[prost(bool, tag = "7")]
    pub is_defined_acceleration: bool,
    #[prost(bool, tag = "8")]
    pub is_defined_jerk: bool,
}
impl ::prost::Name for Longitudinal {
    const NAME: &'static str = "Longitudinal";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.autoware_control_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.autoware_control_msgs.msg.Longitudinal".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.autoware_control_msgs.msg.Longitudinal".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Control {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "3")]
    pub control_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(message, optional, tag = "4")]
    pub lateral: ::core::option::Option<Lateral>,
    #[prost(message, optional, tag = "5")]
    pub longitudinal: ::core::option::Option<Longitudinal>,
}
impl ::prost::Name for Control {
    const NAME: &'static str = "Control";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.autoware_control_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.autoware_control_msgs.msg.Control".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.autoware_control_msgs.msg.Control".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ControlHorizon {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "3")]
    pub control_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(float, tag = "4")]
    pub time_step_ms: f32,
    #[prost(message, repeated, tag = "5")]
    pub controls: ::prost::alloc::vec::Vec<Control>,
}
impl ::prost::Name for ControlHorizon {
    const NAME: &'static str = "ControlHorizon";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.autoware_control_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.autoware_control_msgs.msg.ControlHorizon".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.autoware_control_msgs.msg.ControlHorizon".into()
    }
}
