// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GripperTranslation {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub direction: ::core::option::Option<
        super::super::geometry_msgs::msg::Vector3Stamped,
    >,
    #[prost(float, tag = "3")]
    pub desired_distance: f32,
    #[prost(float, tag = "4")]
    pub min_distance: f32,
}
impl ::prost::Name for GripperTranslation {
    const NAME: &'static str = "GripperTranslation";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.GripperTranslation".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.GripperTranslation".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Grasp {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub pre_grasp_posture: ::core::option::Option<
        super::super::trajectory_msgs::msg::JointTrajectory,
    >,
    #[prost(message, optional, tag = "4")]
    pub grasp_posture: ::core::option::Option<
        super::super::trajectory_msgs::msg::JointTrajectory,
    >,
    #[prost(message, optional, tag = "5")]
    pub grasp_pose: ::core::option::Option<
        super::super::geometry_msgs::msg::PoseStamped,
    >,
    #[prost(double, tag = "6")]
    pub grasp_quality: f64,
    #[prost(message, optional, tag = "7")]
    pub pre_grasp_approach: ::core::option::Option<GripperTranslation>,
    #[prost(message, optional, tag = "8")]
    pub post_grasp_retreat: ::core::option::Option<GripperTranslation>,
    #[prost(message, optional, tag = "9")]
    pub post_place_retreat: ::core::option::Option<GripperTranslation>,
    #[prost(float, tag = "10")]
    pub max_contact_force: f32,
    #[prost(string, repeated, tag = "11")]
    pub allowed_touch_objects: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for Grasp {
    const NAME: &'static str = "Grasp";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.Grasp".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.Grasp".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CollisionObject {
    #[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, optional, tag = "3")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(string, tag = "4")]
    pub id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "5")]
    pub r#type: ::core::option::Option<
        super::super::object_recognition_msgs::msg::ObjectType,
    >,
    #[prost(message, repeated, tag = "6")]
    pub primitives: ::prost::alloc::vec::Vec<
        super::super::shape_msgs::msg::SolidPrimitive,
    >,
    #[prost(message, repeated, tag = "7")]
    pub primitive_poses: ::prost::alloc::vec::Vec<
        super::super::geometry_msgs::msg::Pose,
    >,
    #[prost(message, repeated, tag = "8")]
    pub meshes: ::prost::alloc::vec::Vec<super::super::shape_msgs::msg::Mesh>,
    #[prost(message, repeated, tag = "9")]
    pub mesh_poses: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, repeated, tag = "10")]
    pub planes: ::prost::alloc::vec::Vec<super::super::shape_msgs::msg::Plane>,
    #[prost(message, repeated, tag = "11")]
    pub plane_poses: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Pose>,
    #[prost(string, repeated, tag = "12")]
    pub subframe_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, repeated, tag = "13")]
    pub subframe_poses: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Pose>,
    #[prost(uint32, tag = "14")]
    pub operation: u32,
}
impl ::prost::Name for CollisionObject {
    const NAME: &'static str = "CollisionObject";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.CollisionObject".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.CollisionObject".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MoveItErrorCodes {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int32, tag = "2")]
    pub val: i32,
    #[prost(string, tag = "3")]
    pub message: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub source: ::prost::alloc::string::String,
}
impl ::prost::Name for MoveItErrorCodes {
    const NAME: &'static str = "MoveItErrorCodes";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.MoveItErrorCodes".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.MoveItErrorCodes".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AllowedCollisionEntry {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, repeated, tag = "2")]
    pub enabled: ::prost::alloc::vec::Vec<bool>,
}
impl ::prost::Name for AllowedCollisionEntry {
    const NAME: &'static str = "AllowedCollisionEntry";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.AllowedCollisionEntry".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.AllowedCollisionEntry".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AllowedCollisionMatrix {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub entry_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, repeated, tag = "3")]
    pub entry_values: ::prost::alloc::vec::Vec<AllowedCollisionEntry>,
    #[prost(string, repeated, tag = "4")]
    pub default_entry_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, repeated, tag = "5")]
    pub default_entry_values: ::prost::alloc::vec::Vec<bool>,
}
impl ::prost::Name for AllowedCollisionMatrix {
    const NAME: &'static str = "AllowedCollisionMatrix";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.AllowedCollisionMatrix".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.AllowedCollisionMatrix".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LinkPadding {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub link_name: ::prost::alloc::string::String,
    #[prost(double, tag = "3")]
    pub padding: f64,
}
impl ::prost::Name for LinkPadding {
    const NAME: &'static str = "LinkPadding";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.LinkPadding".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.LinkPadding".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LinkScale {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub link_name: ::prost::alloc::string::String,
    #[prost(double, tag = "3")]
    pub scale: f64,
}
impl ::prost::Name for LinkScale {
    const NAME: &'static str = "LinkScale";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.LinkScale".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.LinkScale".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectColor {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub color: ::core::option::Option<super::super::std_msgs::msg::ColorRgba>,
}
impl ::prost::Name for ObjectColor {
    const NAME: &'static str = "ObjectColor";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.ObjectColor".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.ObjectColor".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanningSceneWorld {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub collision_objects: ::prost::alloc::vec::Vec<CollisionObject>,
    #[prost(message, optional, tag = "3")]
    pub octomap: ::core::option::Option<
        super::super::octomap_msgs::msg::OctomapWithPose,
    >,
}
impl ::prost::Name for PlanningSceneWorld {
    const NAME: &'static str = "PlanningSceneWorld";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PlanningSceneWorld".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PlanningSceneWorld".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttachedCollisionObject {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub link_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub object: ::core::option::Option<CollisionObject>,
    #[prost(string, repeated, tag = "4")]
    pub touch_links: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, optional, tag = "5")]
    pub detach_posture: ::core::option::Option<
        super::super::trajectory_msgs::msg::JointTrajectory,
    >,
    #[prost(double, tag = "6")]
    pub weight: f64,
}
impl ::prost::Name for AttachedCollisionObject {
    const NAME: &'static str = "AttachedCollisionObject";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.AttachedCollisionObject".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.AttachedCollisionObject".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RobotState {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub joint_state: ::core::option::Option<super::super::sensor_msgs::msg::JointState>,
    #[prost(message, optional, tag = "3")]
    pub multi_dof_joint_state: ::core::option::Option<
        super::super::sensor_msgs::msg::MultiDofJointState,
    >,
    #[prost(message, repeated, tag = "4")]
    pub attached_collision_objects: ::prost::alloc::vec::Vec<AttachedCollisionObject>,
    #[prost(bool, tag = "5")]
    pub is_diff: bool,
}
impl ::prost::Name for RobotState {
    const NAME: &'static str = "RobotState";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.RobotState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.RobotState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanningScene {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub robot_state: ::core::option::Option<RobotState>,
    #[prost(string, tag = "4")]
    pub robot_model_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "5")]
    pub fixed_frame_transforms: ::prost::alloc::vec::Vec<
        super::super::geometry_msgs::msg::TransformStamped,
    >,
    #[prost(message, optional, tag = "6")]
    pub allowed_collision_matrix: ::core::option::Option<AllowedCollisionMatrix>,
    #[prost(message, repeated, tag = "7")]
    pub link_padding: ::prost::alloc::vec::Vec<LinkPadding>,
    #[prost(message, repeated, tag = "8")]
    pub link_scale: ::prost::alloc::vec::Vec<LinkScale>,
    #[prost(message, repeated, tag = "9")]
    pub object_colors: ::prost::alloc::vec::Vec<ObjectColor>,
    #[prost(message, optional, tag = "10")]
    pub world: ::core::option::Option<PlanningSceneWorld>,
    #[prost(bool, tag = "11")]
    pub is_diff: bool,
}
impl ::prost::Name for PlanningScene {
    const NAME: &'static str = "PlanningScene";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PlanningScene".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PlanningScene".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlannerParams {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "3")]
    pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "4")]
    pub descriptions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for PlannerParams {
    const NAME: &'static str = "PlannerParams";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PlannerParams".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PlannerParams".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlannerInterfaceDescription {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub pipeline_id: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "4")]
    pub planner_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for PlannerInterfaceDescription {
    const NAME: &'static str = "PlannerInterfaceDescription";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PlannerInterfaceDescription".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PlannerInterfaceDescription".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JointConstraint {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub joint_name: ::prost::alloc::string::String,
    #[prost(double, tag = "3")]
    pub position: f64,
    #[prost(double, tag = "4")]
    pub tolerance_above: f64,
    #[prost(double, tag = "5")]
    pub tolerance_below: f64,
    #[prost(double, tag = "6")]
    pub weight: f64,
}
impl ::prost::Name for JointConstraint {
    const NAME: &'static str = "JointConstraint";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.JointConstraint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.JointConstraint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrientationConstraint {
    #[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, optional, tag = "3")]
    pub orientation: ::core::option::Option<
        super::super::geometry_msgs::msg::Quaternion,
    >,
    #[prost(string, tag = "4")]
    pub link_name: ::prost::alloc::string::String,
    #[prost(double, tag = "5")]
    pub absolute_x_axis_tolerance: f64,
    #[prost(double, tag = "6")]
    pub absolute_y_axis_tolerance: f64,
    #[prost(double, tag = "7")]
    pub absolute_z_axis_tolerance: f64,
    #[prost(uint32, tag = "8")]
    pub parameterization: u32,
    #[prost(double, tag = "9")]
    pub weight: f64,
}
impl ::prost::Name for OrientationConstraint {
    const NAME: &'static str = "OrientationConstraint";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.OrientationConstraint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.OrientationConstraint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoundingVolume {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub primitives: ::prost::alloc::vec::Vec<
        super::super::shape_msgs::msg::SolidPrimitive,
    >,
    #[prost(message, repeated, tag = "3")]
    pub primitive_poses: ::prost::alloc::vec::Vec<
        super::super::geometry_msgs::msg::Pose,
    >,
    #[prost(message, repeated, tag = "4")]
    pub meshes: ::prost::alloc::vec::Vec<super::super::shape_msgs::msg::Mesh>,
    #[prost(message, repeated, tag = "5")]
    pub mesh_poses: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Pose>,
}
impl ::prost::Name for BoundingVolume {
    const NAME: &'static str = "BoundingVolume";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.BoundingVolume".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.BoundingVolume".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PositionConstraint {
    #[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 link_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "4")]
    pub target_point_offset: ::core::option::Option<
        super::super::geometry_msgs::msg::Vector3,
    >,
    #[prost(message, optional, tag = "5")]
    pub constraint_region: ::core::option::Option<BoundingVolume>,
    #[prost(double, tag = "6")]
    pub weight: f64,
}
impl ::prost::Name for PositionConstraint {
    const NAME: &'static str = "PositionConstraint";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PositionConstraint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PositionConstraint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VisibilityConstraint {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, tag = "2")]
    pub target_radius: f64,
    #[prost(message, optional, tag = "3")]
    pub target_pose: ::core::option::Option<
        super::super::geometry_msgs::msg::PoseStamped,
    >,
    #[prost(int32, tag = "4")]
    pub cone_sides: i32,
    #[prost(message, optional, tag = "5")]
    pub sensor_pose: ::core::option::Option<
        super::super::geometry_msgs::msg::PoseStamped,
    >,
    #[prost(double, tag = "6")]
    pub max_view_angle: f64,
    #[prost(double, tag = "7")]
    pub max_range_angle: f64,
    #[prost(uint32, tag = "8")]
    pub sensor_view_direction: u32,
    #[prost(double, tag = "9")]
    pub weight: f64,
}
impl ::prost::Name for VisibilityConstraint {
    const NAME: &'static str = "VisibilityConstraint";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.VisibilityConstraint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.VisibilityConstraint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Constraints {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "3")]
    pub joint_constraints: ::prost::alloc::vec::Vec<JointConstraint>,
    #[prost(message, repeated, tag = "4")]
    pub position_constraints: ::prost::alloc::vec::Vec<PositionConstraint>,
    #[prost(message, repeated, tag = "5")]
    pub orientation_constraints: ::prost::alloc::vec::Vec<OrientationConstraint>,
    #[prost(message, repeated, tag = "6")]
    pub visibility_constraints: ::prost::alloc::vec::Vec<VisibilityConstraint>,
}
impl ::prost::Name for Constraints {
    const NAME: &'static str = "Constraints";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.Constraints".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.Constraints".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartesianPoint {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "3")]
    pub velocity: ::core::option::Option<super::super::geometry_msgs::msg::Twist>,
    #[prost(message, optional, tag = "4")]
    pub acceleration: ::core::option::Option<super::super::geometry_msgs::msg::Accel>,
}
impl ::prost::Name for CartesianPoint {
    const NAME: &'static str = "CartesianPoint";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.CartesianPoint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.CartesianPoint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartesianTrajectoryPoint {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub point: ::core::option::Option<CartesianPoint>,
    #[prost(message, optional, tag = "3")]
    pub time_from_start: ::core::option::Option<
        super::super::builtin_interfaces::msg::Duration,
    >,
}
impl ::prost::Name for CartesianTrajectoryPoint {
    const NAME: &'static str = "CartesianTrajectoryPoint";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.CartesianTrajectoryPoint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.CartesianTrajectoryPoint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartesianTrajectory {
    #[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 tracked_frame: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub points: ::prost::alloc::vec::Vec<CartesianTrajectoryPoint>,
}
impl ::prost::Name for CartesianTrajectory {
    const NAME: &'static str = "CartesianTrajectory";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.CartesianTrajectory".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.CartesianTrajectory".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenericTrajectory {
    #[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 joint_trajectory: ::prost::alloc::vec::Vec<
        super::super::trajectory_msgs::msg::JointTrajectory,
    >,
    #[prost(message, repeated, tag = "4")]
    pub cartesian_trajectory: ::prost::alloc::vec::Vec<CartesianTrajectory>,
}
impl ::prost::Name for GenericTrajectory {
    const NAME: &'static str = "GenericTrajectory";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.GenericTrajectory".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.GenericTrajectory".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrajectoryConstraints {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub constraints: ::prost::alloc::vec::Vec<Constraints>,
}
impl ::prost::Name for TrajectoryConstraints {
    const NAME: &'static str = "TrajectoryConstraints";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.TrajectoryConstraints".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.TrajectoryConstraints".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkspaceParameters {
    #[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, optional, tag = "3")]
    pub min_corner: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "4")]
    pub max_corner: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
}
impl ::prost::Name for WorkspaceParameters {
    const NAME: &'static str = "WorkspaceParameters";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.WorkspaceParameters".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.WorkspaceParameters".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotionPlanRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub workspace_parameters: ::core::option::Option<WorkspaceParameters>,
    #[prost(message, optional, tag = "3")]
    pub start_state: ::core::option::Option<RobotState>,
    #[prost(message, repeated, tag = "4")]
    pub goal_constraints: ::prost::alloc::vec::Vec<Constraints>,
    #[prost(message, optional, tag = "5")]
    pub path_constraints: ::core::option::Option<Constraints>,
    #[prost(message, optional, tag = "6")]
    pub trajectory_constraints: ::core::option::Option<TrajectoryConstraints>,
    #[prost(message, repeated, tag = "7")]
    pub reference_trajectories: ::prost::alloc::vec::Vec<GenericTrajectory>,
    #[prost(string, tag = "8")]
    pub pipeline_id: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub planner_id: ::prost::alloc::string::String,
    #[prost(string, tag = "10")]
    pub group_name: ::prost::alloc::string::String,
    #[prost(int32, tag = "11")]
    pub num_planning_attempts: i32,
    #[prost(double, tag = "12")]
    pub allowed_planning_time: f64,
    #[prost(double, tag = "13")]
    pub max_velocity_scaling_factor: f64,
    #[prost(double, tag = "14")]
    pub max_acceleration_scaling_factor: f64,
    #[prost(string, tag = "15")]
    pub cartesian_speed_limited_link: ::prost::alloc::string::String,
    #[prost(double, tag = "16")]
    pub max_cartesian_speed: f64,
}
impl ::prost::Name for MotionPlanRequest {
    const NAME: &'static str = "MotionPlanRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.MotionPlanRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.MotionPlanRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RobotTrajectory {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub joint_trajectory: ::core::option::Option<
        super::super::trajectory_msgs::msg::JointTrajectory,
    >,
    #[prost(message, optional, tag = "3")]
    pub multi_dof_joint_trajectory: ::core::option::Option<
        super::super::trajectory_msgs::msg::MultiDofJointTrajectory,
    >,
}
impl ::prost::Name for RobotTrajectory {
    const NAME: &'static str = "RobotTrajectory";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.RobotTrajectory".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.RobotTrajectory".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotionPlanResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub trajectory_start: ::core::option::Option<RobotState>,
    #[prost(string, tag = "3")]
    pub group_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "4")]
    pub trajectory: ::core::option::Option<RobotTrajectory>,
    #[prost(double, tag = "5")]
    pub planning_time: f64,
    #[prost(message, optional, tag = "6")]
    pub error_code: ::core::option::Option<MoveItErrorCodes>,
}
impl ::prost::Name for MotionPlanResponse {
    const NAME: &'static str = "MotionPlanResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.MotionPlanResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.MotionPlanResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotionSequenceItem {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub req: ::core::option::Option<MotionPlanRequest>,
    #[prost(double, tag = "3")]
    pub blend_radius: f64,
}
impl ::prost::Name for MotionSequenceItem {
    const NAME: &'static str = "MotionSequenceItem";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.MotionSequenceItem".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.MotionSequenceItem".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotionSequenceRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub items: ::prost::alloc::vec::Vec<MotionSequenceItem>,
}
impl ::prost::Name for MotionSequenceRequest {
    const NAME: &'static str = "MotionSequenceRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.MotionSequenceRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.MotionSequenceRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotionSequenceResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error_code: ::core::option::Option<MoveItErrorCodes>,
    #[prost(message, optional, tag = "3")]
    pub sequence_start: ::core::option::Option<RobotState>,
    #[prost(message, repeated, tag = "4")]
    pub planned_trajectories: ::prost::alloc::vec::Vec<RobotTrajectory>,
    #[prost(double, tag = "5")]
    pub planning_time: f64,
}
impl ::prost::Name for MotionSequenceResponse {
    const NAME: &'static str = "MotionSequenceResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.MotionSequenceResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.MotionSequenceResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PositionIkRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub group_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub robot_state: ::core::option::Option<RobotState>,
    #[prost(message, optional, tag = "4")]
    pub constraints: ::core::option::Option<Constraints>,
    #[prost(bool, tag = "5")]
    pub avoid_collisions: bool,
    #[prost(string, tag = "6")]
    pub ik_link_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "7")]
    pub pose_stamped: ::core::option::Option<
        super::super::geometry_msgs::msg::PoseStamped,
    >,
    #[prost(string, repeated, tag = "8")]
    pub ik_link_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, repeated, tag = "9")]
    pub pose_stamped_vector: ::prost::alloc::vec::Vec<
        super::super::geometry_msgs::msg::PoseStamped,
    >,
    #[prost(message, optional, tag = "10")]
    pub timeout: ::core::option::Option<super::super::builtin_interfaces::msg::Duration>,
}
impl ::prost::Name for PositionIkRequest {
    const NAME: &'static str = "PositionIKRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PositionIKRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PositionIKRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanningSceneComponents {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub components: u32,
}
impl ::prost::Name for PlanningSceneComponents {
    const NAME: &'static str = "PlanningSceneComponents";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PlanningSceneComponents".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PlanningSceneComponents".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConstraintEvalResult {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub result: bool,
    #[prost(double, tag = "3")]
    pub distance: f64,
}
impl ::prost::Name for ConstraintEvalResult {
    const NAME: &'static str = "ConstraintEvalResult";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.ConstraintEvalResult".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.ConstraintEvalResult".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContactInformation {
    #[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, optional, tag = "3")]
    pub position: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(message, optional, tag = "4")]
    pub normal: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(double, tag = "5")]
    pub depth: f64,
    #[prost(string, tag = "6")]
    pub contact_body_1: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub body_type_1: u32,
    #[prost(string, tag = "8")]
    pub contact_body_2: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub body_type_2: u32,
}
impl ::prost::Name for ContactInformation {
    const NAME: &'static str = "ContactInformation";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.ContactInformation".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.ContactInformation".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CostSource {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, tag = "2")]
    pub cost_density: f64,
    #[prost(message, optional, tag = "3")]
    pub aabb_min: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "4")]
    pub aabb_max: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
}
impl ::prost::Name for CostSource {
    const NAME: &'static str = "CostSource";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.CostSource".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.CostSource".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotionPlanDetailedResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub trajectory_start: ::core::option::Option<RobotState>,
    #[prost(string, tag = "3")]
    pub group_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub trajectory: ::prost::alloc::vec::Vec<RobotTrajectory>,
    #[prost(string, repeated, tag = "5")]
    pub description: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(double, repeated, tag = "6")]
    pub processing_time: ::prost::alloc::vec::Vec<f64>,
    #[prost(message, optional, tag = "7")]
    pub error_code: ::core::option::Option<MoveItErrorCodes>,
}
impl ::prost::Name for MotionPlanDetailedResponse {
    const NAME: &'static str = "MotionPlanDetailedResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.MotionPlanDetailedResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.MotionPlanDetailedResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanningOptions {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub planning_scene_diff: ::core::option::Option<PlanningScene>,
    #[prost(bool, tag = "3")]
    pub plan_only: bool,
    #[prost(bool, tag = "4")]
    pub look_around: bool,
    #[prost(int32, tag = "5")]
    pub look_around_attempts: i32,
    #[prost(double, tag = "6")]
    pub max_safe_execution_cost: f64,
    #[prost(bool, tag = "7")]
    pub replan: bool,
    #[prost(int32, tag = "8")]
    pub replan_attempts: i32,
    #[prost(double, tag = "9")]
    pub replan_delay: f64,
}
impl ::prost::Name for PlanningOptions {
    const NAME: &'static str = "PlanningOptions";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PlanningOptions".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PlanningOptions".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlaceLocation {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub post_place_posture: ::core::option::Option<
        super::super::trajectory_msgs::msg::JointTrajectory,
    >,
    #[prost(message, optional, tag = "4")]
    pub place_pose: ::core::option::Option<
        super::super::geometry_msgs::msg::PoseStamped,
    >,
    #[prost(double, tag = "5")]
    pub quality: f64,
    #[prost(message, optional, tag = "6")]
    pub pre_place_approach: ::core::option::Option<GripperTranslation>,
    #[prost(message, optional, tag = "7")]
    pub post_place_retreat: ::core::option::Option<GripperTranslation>,
    #[prost(string, repeated, tag = "8")]
    pub allowed_touch_objects: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for PlaceLocation {
    const NAME: &'static str = "PlaceLocation";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PlaceLocation".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PlaceLocation".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JointLimits {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub joint_name: ::prost::alloc::string::String,
    #[prost(bool, tag = "3")]
    pub has_position_limits: bool,
    #[prost(double, tag = "4")]
    pub min_position: f64,
    #[prost(double, tag = "5")]
    pub max_position: f64,
    #[prost(bool, tag = "6")]
    pub has_velocity_limits: bool,
    #[prost(double, tag = "7")]
    pub max_velocity: f64,
    #[prost(bool, tag = "8")]
    pub has_acceleration_limits: bool,
    #[prost(double, tag = "9")]
    pub max_acceleration: f64,
    #[prost(bool, tag = "10")]
    pub has_jerk_limits: bool,
    #[prost(double, tag = "11")]
    pub max_jerk: f64,
}
impl ::prost::Name for JointLimits {
    const NAME: &'static str = "JointLimits";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.JointLimits".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.JointLimits".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KinematicSolverInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub joint_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, repeated, tag = "3")]
    pub limits: ::prost::alloc::vec::Vec<JointLimits>,
    #[prost(string, repeated, tag = "4")]
    pub link_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for KinematicSolverInfo {
    const NAME: &'static str = "KinematicSolverInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.KinematicSolverInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.KinematicSolverInfo".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServoStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int32, tag = "2")]
    pub code: i32,
    #[prost(string, tag = "3")]
    pub message: ::prost::alloc::string::String,
}
impl ::prost::Name for ServoStatus {
    const NAME: &'static str = "ServoStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.ServoStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.ServoStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PipelineState {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub request: ::core::option::Option<MotionPlanRequest>,
    #[prost(message, optional, tag = "3")]
    pub response: ::core::option::Option<MotionPlanResponse>,
    #[prost(string, tag = "4")]
    pub pipeline_stage: ::prost::alloc::string::String,
}
impl ::prost::Name for PipelineState {
    const NAME: &'static str = "PipelineState";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.PipelineState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.PipelineState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayTrajectory {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub model_id: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "3")]
    pub trajectory: ::prost::alloc::vec::Vec<RobotTrajectory>,
    #[prost(message, optional, tag = "4")]
    pub trajectory_start: ::core::option::Option<RobotState>,
}
impl ::prost::Name for DisplayTrajectory {
    const NAME: &'static str = "DisplayTrajectory";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.DisplayTrajectory".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.DisplayTrajectory".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayRobotState {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub state: ::core::option::Option<RobotState>,
    #[prost(message, repeated, tag = "3")]
    pub highlight_links: ::prost::alloc::vec::Vec<ObjectColor>,
    #[prost(bool, tag = "4")]
    pub hide: bool,
}
impl ::prost::Name for DisplayRobotState {
    const NAME: &'static str = "DisplayRobotState";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.DisplayRobotState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.DisplayRobotState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrientedBoundingBox {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "3")]
    pub extents: ::core::option::Option<super::super::geometry_msgs::msg::Point32>,
}
impl ::prost::Name for OrientedBoundingBox {
    const NAME: &'static str = "OrientedBoundingBox";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.moveit_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.moveit_msgs.msg.OrientedBoundingBox".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.moveit_msgs.msg.OrientedBoundingBox".into()
    }
}
