// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Float64Array {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, repeated, tag = "2")]
    pub val: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for Float64Array {
    const NAME: &'static str = "Float64Array";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.Float64Array".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.Float64Array".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BaseConstr {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, tag = "3")]
    pub v_max: f64,
    #[prost(double, tag = "4")]
    pub av_max: f64,
    #[prost(double, tag = "5")]
    pub w_max: f64,
    #[prost(double, tag = "6")]
    pub aw_max: f64,
    #[prost(double, tag = "7")]
    pub omg_wh_max: f64,
}
impl ::prost::Name for BaseConstr {
    const NAME: &'static str = "BaseConstr";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.BaseConstr".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.BaseConstr".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RouteSegment {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub r#type: u32,
    #[prost(uint32, tag = "4")]
    pub orientation: u32,
    #[prost(uint32, tag = "5")]
    pub motion_type: u32,
    #[prost(message, optional, tag = "6")]
    pub start: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "7")]
    pub end: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "8")]
    pub center: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(int32, tag = "9")]
    pub level: i32,
}
impl ::prost::Name for RouteSegment {
    const NAME: &'static str = "RouteSegment";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.RouteSegment".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.RouteSegment".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ControllerState {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(int32, tag = "3")]
    pub state: i32,
    #[prost(uint32, tag = "4")]
    pub progress: u32,
    #[prost(uint32, tag = "5")]
    pub progress_in_relation_to: u32,
    #[prost(string, tag = "6")]
    pub info: ::prost::alloc::string::String,
}
impl ::prost::Name for ControllerState {
    const NAME: &'static str = "ControllerState";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.ControllerState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.ControllerState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JointsIws {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "3")]
    pub type_steering: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub type_revolute: ::prost::alloc::string::String,
    #[prost(double, repeated, tag = "5")]
    pub steering: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "6")]
    pub revolute: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for JointsIws {
    const NAME: &'static str = "JointsIWS";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.JointsIWS".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.JointsIWS".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RouteSegments {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "3")]
    pub segments: ::prost::alloc::vec::Vec<RouteSegment>,
}
impl ::prost::Name for RouteSegments {
    const NAME: &'static str = "RouteSegments";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.RouteSegments".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.RouteSegments".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IwsCmdVwwtVec {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, repeated, tag = "3")]
    pub v: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub w_f: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "5")]
    pub w_icc: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "6")]
    pub delta_t: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "7")]
    pub state0: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for IwsCmdVwwtVec {
    const NAME: &'static str = "IwsCmdVWWTVec";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.IwsCmdVWWTVec".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.IwsCmdVWWTVec".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiffDriveCmdVwVec {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, repeated, tag = "3")]
    pub v: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub w: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "5")]
    pub delta_t: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "6")]
    pub state0: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for DiffDriveCmdVwVec {
    const NAME: &'static str = "DiffDriveCmdVWVec";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.DiffDriveCmdVWVec".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.DiffDriveCmdVWVec".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Spline {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, repeated, tag = "3")]
    pub knots: ::prost::alloc::vec::Vec<f64>,
    #[prost(message, repeated, tag = "4")]
    pub ctrls: ::prost::alloc::vec::Vec<Float64Array>,
}
impl ::prost::Name for Spline {
    const NAME: &'static str = "Spline";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.Spline".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.Spline".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IwsCmdVrat {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, tag = "3")]
    pub v: f64,
    #[prost(double, tag = "4")]
    pub rho: f64,
    #[prost(double, tag = "5")]
    pub phi: f64,
    #[prost(double, tag = "6")]
    pub delta_t: f64,
}
impl ::prost::Name for IwsCmdVrat {
    const NAME: &'static str = "IwsCmdVRAT";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.IwsCmdVRAT".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.IwsCmdVRAT".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IwsCmdVratVec {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, repeated, tag = "3")]
    pub v: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub rho: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "5")]
    pub phi: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "6")]
    pub delta_t: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "7")]
    pub state0: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for IwsCmdVratVec {
    const NAME: &'static str = "IwsCmdVRATVec";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.IwsCmdVRATVec".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.IwsCmdVRATVec".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PathVec {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "3")]
    pub paths: ::prost::alloc::vec::Vec<super::super::nav_msgs::msg::Path>,
}
impl ::prost::Name for PathVec {
    const NAME: &'static str = "PathVec";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.tuw_nav_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.tuw_nav_msgs.msg.PathVec".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.tuw_nav_msgs.msg.PathVec".into()
    }
}
