Browse Source

增加停取车指令车牌重复判断

zx 3 years ago
parent
commit
83ae0c0960

+ 261 - 148
message/message_base.pb.cc

@@ -179,6 +179,8 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_message_5fbase_2eproto::offset
   PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_wheel_width_),
   PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_correct_),
   PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_front_theta_),
+  PROTOBUF_FIELD_OFFSET(::message::Locate_information, uniformed_car_x_),
+  PROTOBUF_FIELD_OFFSET(::message::Locate_information, uniformed_car_y_),
   0,
   1,
   2,
@@ -189,6 +191,8 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_message_5fbase_2eproto::offset
   7,
   8,
   9,
+  10,
+  11,
   PROTOBUF_FIELD_OFFSET(::message::Car_info, _has_bits_),
   PROTOBUF_FIELD_OFFSET(::message::Car_info, _internal_metadata_),
   ~0u,  // no _extensions_
@@ -198,14 +202,16 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_message_5fbase_2eproto::offset
   PROTOBUF_FIELD_OFFSET(::message::Car_info, car_width_),
   PROTOBUF_FIELD_OFFSET(::message::Car_info, car_height_),
   PROTOBUF_FIELD_OFFSET(::message::Car_info, license_),
+  PROTOBUF_FIELD_OFFSET(::message::Car_info, car_numberplate_),
   PROTOBUF_FIELD_OFFSET(::message::Car_info, car_wheel_base_),
   PROTOBUF_FIELD_OFFSET(::message::Car_info, car_wheel_width_),
-  1,
   2,
   3,
-  0,
   4,
+  0,
+  1,
   5,
+  6,
   PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, _has_bits_),
   PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, _internal_metadata_),
   ~0u,  // no _extensions_
@@ -250,9 +256,9 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
   { 0, 9, sizeof(::message::Base_info)},
   { 13, 19, sizeof(::message::Base_msg)},
   { 20, 28, sizeof(::message::Error_manager)},
-  { 31, 46, sizeof(::message::Locate_information)},
-  { 56, 67, sizeof(::message::Car_info)},
-  { 73, 95, sizeof(::message::Parkspace_info)},
+  { 31, 48, sizeof(::message::Locate_information)},
+  { 60, 72, sizeof(::message::Car_info)},
+  { 79, 101, sizeof(::message::Parkspace_info)},
 };
 
 static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
@@ -274,109 +280,115 @@ const char descriptor_table_protodef_message_5fbase_2eproto[] PROTOBUF_SECTION_V
   "\001 \002(\0132\022.message.Base_info\"v\n\rError_manag"
   "er\022\025\n\nerror_code\030\001 \002(\005:\0010\0221\n\013error_level"
   "\030\002 \001(\0162\024.message.Error_level:\006NORMAL\022\033\n\021"
-  "error_description\030\003 \001(\t:\000\"\237\002\n\022Locate_inf"
+  "error_description\030\003 \001(\t:\000\"\321\002\n\022Locate_inf"
   "ormation\022\023\n\010locate_x\030\001 \001(\002:\0010\022\023\n\010locate_"
   "y\030\002 \001(\002:\0010\022\027\n\014locate_angle\030\003 \001(\002:\0010\022\030\n\rl"
   "ocate_length\030\004 \001(\002:\0010\022\027\n\014locate_width\030\005 "
   "\001(\002:\0010\022\030\n\rlocate_height\030\006 \001(\002:\0010\022\034\n\021loca"
   "te_wheel_base\030\007 \001(\002:\0010\022\035\n\022locate_wheel_w"
   "idth\030\010 \001(\002:\0010\022\035\n\016locate_correct\030\t \001(\010:\005f"
-  "alse\022\035\n\022locate_front_theta\030\n \001(\002:\0010\"\230\001\n\010"
-  "Car_info\022\025\n\ncar_length\030\001 \001(\002:\0010\022\024\n\tcar_w"
-  "idth\030\002 \001(\002:\0010\022\025\n\ncar_height\030\003 \001(\002:\0010\022\021\n\007"
-  "license\030\004 \001(\t:\000\022\031\n\016car_wheel_base\030\005 \001(\002:"
-  "\0010\022\032\n\017car_wheel_width\030\006 \001(\002:\0010\"\375\004\n\016Parks"
-  "pace_info\022\035\n\025parkingspace_index_id\030\001 \001(\005"
-  "\0222\n\021parkingspace_type\030\002 \001(\0162\027.message.Pa"
-  "rkspace_type\022\034\n\024parkingspace_unit_id\030\003 \001"
-  "(\005\022\035\n\025parkingspace_label_id\030\004 \001(\005\022\034\n\024par"
-  "kingspace_room_id\030\005 \001(\005\0222\n\026parkingspace_"
-  "direction\030\006 \001(\0162\022.message.Direction\022\035\n\025p"
-  "arkingspace_floor_id\030\007 \001(\005\022\032\n\022parkingspa"
-  "ce_width\030\010 \001(\002\022\033\n\023parkingspace_height\030\t "
-  "\001(\002\0226\n\023parkingspace_status\030\n \001(\0162\031.messa"
-  "ge.Parkspace_status\022#\n\010car_info\030\013 \001(\0132\021."
-  "message.Car_info\022\022\n\nentry_time\030\014 \001(\t\022\022\n\n"
-  "leave_time\030\r \001(\t\022/\n\016parkspace_path\030\016 \001(\016"
-  "2\027.message.Parkspace_path\022\032\n\022path_estima"
-  "te_time\030\017 \001(\002\022:\n\027parkspace_status_target"
-  "\030\020 \001(\0162\031.message.Parkspace_status\022#\n\010car"
-  "_type\030\021 \001(\0162\021.message.Car_type*\263\013\n\014Messa"
-  "ge_type\022\r\n\teBase_msg\020\000\022\020\n\014eCommand_msg\020\001"
-  "\022\026\n\022eLocate_status_msg\020\021\022\027\n\023eLocate_requ"
-  "est_msg\020\022\022\030\n\024eLocate_response_msg\020\023\022\034\n\030e"
-  "Locate_sift_request_msg\020\024\022\035\n\031eLocate_sif"
-  "t_response_msg\020\025\022\030\n\024eDispatch_status_msg"
-  "\020!\022\031\n\025eDispatch_request_msg\020\"\022\032\n\026eDispat"
-  "ch_response_msg\020#\022$\n eParkspace_allocati"
-  "on_status_msg\0201\022%\n!eParkspace_allocation"
-  "_request_msg\0202\022&\n\"eParkspace_allocation_"
-  "response_msg\0203\022!\n\035eParkspace_search_requ"
-  "est_msg\0204\022\"\n\036eParkspace_search_response_"
-  "msg\0205\022\"\n\036eParkspace_release_request_msg\020"
-  "6\022#\n\037eParkspace_release_response_msg\0207\022\'"
-  "\n#eParkspace_force_update_request_msg\0208\022"
-  "(\n$eParkspace_force_update_response_msg\020"
-  "9\022(\n$eParkspace_confirm_alloc_request_ms"
-  "g\020:\022)\n%eParkspace_confirm_alloc_response"
-  "_msg\020;\022\"\n\036eParkspace_allocation_data_msg"
-  "\020<\022+\n\'eParkspace_allocation_data_respons"
-  "e_msg\020=\022\036\n\032eStore_command_request_msg\020A\022"
-  "\037\n\033eStore_command_response_msg\020B\022\037\n\033ePic"
-  "kup_command_request_msg\020C\022 \n\034ePickup_com"
-  "mand_response_msg\020D\022\037\n\032eStoring_process_"
-  "statu_msg\020\220\001\022\037\n\032ePicking_process_statu_m"
-  "sg\020\221\001\022\"\n\035eCentral_controller_statu_msg\020\240"
-  "\001\022#\n\036eEntrance_manual_operation_msg\020\260\001\022\""
-  "\n\035eProcess_manual_operation_msg\020\261\001\022\030\n\023eN"
-  "otify_request_msg\020\300\001\022\031\n\024eNotify_response"
-  "_msg\020\301\001\022\027\n\022eNotify_status_msg\020\302\001\022\037\n\032eDis"
-  "patch_plan_request_msg\020\340\001\022 \n\033eDispatch_p"
-  "lan_response_msg\020\341\001\022\"\n\035eDispatch_control"
-  "_request_msg\020\342\001\022#\n\036eDispatch_control_res"
-  "ponse_msg\020\343\001\022!\n\034eDispatch_manager_status"
-  "_msg\020\352\001\022\037\n\032eDispatch_manager_data_msg\020\353\001"
-  "\022\037\n\032eGround_detect_request_msg\020\360\001\022 \n\033eGr"
-  "ound_detect_response_msg\020\361\001\022\027\n\022eGround_s"
-  "tatus_msg\020\362\001*\307\001\n\014Communicator\022\n\n\006eEmpty\020"
-  "\000\022\t\n\005eMain\020\001\022\016\n\teTerminor\020\200\002\022\017\n\neParkspa"
-  "ce\020\200\004\022\016\n\teMeasurer\020\200\006\022\032\n\025eMeasurer_sift_"
-  "server\020\201\006\022\026\n\021eDispatch_manager\020\200\010\022\026\n\021eDi"
-  "spatch_control\020\201\010\022\014\n\007eNotify\020\201\n\022\025\n\020eGrou"
-  "nd_measurer\020\200\036**\n\014Process_type\022\014\n\010eStori"
-  "ng\020\001\022\014\n\010ePicking\020\002*e\n\013Error_level\022\n\n\006NOR"
-  "MAL\020\000\022\024\n\020NEGLIGIBLE_ERROR\020\001\022\017\n\013MINOR_ERR"
-  "OR\020\002\022\017\n\013MAJOR_ERROR\020\003\022\022\n\016CRITICAL_ERROR\020"
-  "\004*\245\001\n\020Parkspace_status\022\034\n\030eParkspace_sta"
-  "tus_unknow\020\000\022\024\n\020eParkspace_empty\020\001\022\027\n\023eP"
-  "arkspace_occupied\020\002\022\027\n\023eParkspace_reserv"
-  "ed\020\003\022\025\n\021eParkspace_locked\020\004\022\024\n\020eParkspac"
-  "e_error\020\005*\?\n\tDirection\022\025\n\021eDirection_unk"
-  "now\020\000\022\014\n\010eForward\020\001\022\r\n\teBackward\020\002*l\n\016Pa"
-  "rkspace_path\022\017\n\013UNKNOW_PATH\020\000\022\020\n\014OPTIMAL"
-  "_PATH\020\001\022\r\n\tLEFT_PATH\020\002\022\016\n\nRIGHT_PATH\020\003\022\030"
-  "\n\024TEMPORARY_CACHE_PATH\020\004*m\n\016Parkspace_ty"
-  "pe\022\031\n\025UNKNOW_PARKSPACE_TYPE\020\000\022\024\n\020MIN_PAR"
-  "KINGSPACE\020\001\022\024\n\020MID_PARKINGSPACE\020\002\022\024\n\020BIG"
-  "_PARKINGSPACE\020\003*F\n\010Car_type\022\023\n\017UNKNOW_CA"
-  "R_TYPE\020\000\022\013\n\007MIN_CAR\020\001\022\013\n\007MID_CAR\020\002\022\013\n\007BI"
-  "G_CAR\020\003*\335\002\n\tStep_type\022\017\n\013eAlloc_step\020\000\022\021"
-  "\n\reMeasure_step\020\001\022\021\n\reCompare_step\020\002\022\022\n\016"
-  "eDispatch_step\020\003\022\021\n\reConfirm_step\020\004\022\020\n\014e"
-  "Search_step\020\005\022\016\n\neWait_step\020\006\022\021\n\reReleas"
-  "e_step\020\007\022\r\n\teComplete\020\010\022\025\n\021eBackConfirm_"
-  "step\020\t\022\026\n\022eBack_compare_step\020\n\022\025\n\021eBackM"
-  "easure_step\020\013\022\023\n\017eBackAlloc_step\020\014\022\022\n\016eB"
-  "ackWait_step\020\r\022\026\n\022eBackDispatch_step\020\016\022\024"
-  "\n\020eBackSearch_step\020\017\022\021\n\reBackComplete\020\020*"
-  "C\n\nStep_statu\022\014\n\010eWaiting\020\000\022\014\n\010eWorking\020"
-  "\001\022\n\n\006eError\020\002\022\r\n\teFinished\020\003*\370\001\n\024Dispatc"
-  "h_device_type\022\013\n\007ROBOT_1\020e\022\013\n\007ROBOT_2\020f\022"
-  "\016\n\tCARRIER_1\020\310\001\022\016\n\tCARRIER_2\020\317\001\022\016\n\tCARRI"
-  "ER_3\020\313\001\022\021\n\014PASSAGEWAY_0\020\254\002\022\021\n\014PASSAGEWAY"
-  "_1\020\255\002\022\021\n\014PASSAGEWAY_2\020\256\002\022\021\n\014PASSAGEWAY_3"
-  "\020\257\002\022\021\n\014PASSAGEWAY_4\020\260\002\022\021\n\014PASSAGEWAY_5\020\261"
-  "\002\022\021\n\014PASSAGEWAY_6\020\262\002\022\021\n\014PASSAGEWAY_7\020\263\002"
+  "alse\022\035\n\022locate_front_theta\030\n \001(\002:\0010\022\027\n\017u"
+  "niformed_car_x\030\013 \001(\002\022\027\n\017uniformed_car_y\030"
+  "\014 \001(\002\"\263\001\n\010Car_info\022\025\n\ncar_length\030\001 \001(\002:\001"
+  "0\022\024\n\tcar_width\030\002 \001(\002:\0010\022\025\n\ncar_height\030\003 "
+  "\001(\002:\0010\022\021\n\007license\030\004 \001(\t:\000\022\031\n\017car_numberP"
+  "late\030\005 \001(\t:\000\022\031\n\016car_wheel_base\030\006 \001(\002:\0010\022"
+  "\032\n\017car_wheel_width\030\007 \001(\002:\0010\"\375\004\n\016Parkspac"
+  "e_info\022\035\n\025parkingspace_index_id\030\001 \001(\005\0222\n"
+  "\021parkingspace_type\030\002 \001(\0162\027.message.Parks"
+  "pace_type\022\034\n\024parkingspace_unit_id\030\003 \001(\005\022"
+  "\035\n\025parkingspace_label_id\030\004 \001(\005\022\034\n\024parkin"
+  "gspace_room_id\030\005 \001(\005\0222\n\026parkingspace_dir"
+  "ection\030\006 \001(\0162\022.message.Direction\022\035\n\025park"
+  "ingspace_floor_id\030\007 \001(\005\022\032\n\022parkingspace_"
+  "width\030\010 \001(\002\022\033\n\023parkingspace_height\030\t \001(\002"
+  "\0226\n\023parkingspace_status\030\n \001(\0162\031.message."
+  "Parkspace_status\022#\n\010car_info\030\013 \001(\0132\021.mes"
+  "sage.Car_info\022\022\n\nentry_time\030\014 \001(\t\022\022\n\nlea"
+  "ve_time\030\r \001(\t\022/\n\016parkspace_path\030\016 \001(\0162\027."
+  "message.Parkspace_path\022\032\n\022path_estimate_"
+  "time\030\017 \001(\002\022:\n\027parkspace_status_target\030\020 "
+  "\001(\0162\031.message.Parkspace_status\022#\n\010car_ty"
+  "pe\030\021 \001(\0162\021.message.Car_type*\307\014\n\014Message_"
+  "type\022\r\n\teBase_msg\020\000\022\020\n\014eCommand_msg\020\001\022\026\n"
+  "\022eLocate_status_msg\020\021\022\027\n\023eLocate_request"
+  "_msg\020\022\022\030\n\024eLocate_response_msg\020\023\022\034\n\030eLoc"
+  "ate_sift_request_msg\020\024\022\035\n\031eLocate_sift_r"
+  "esponse_msg\020\025\022\030\n\024eDispatch_status_msg\020!\022"
+  "\031\n\025eDispatch_request_msg\020\"\022\032\n\026eDispatch_"
+  "response_msg\020#\022$\n eParkspace_allocation_"
+  "status_msg\0201\022%\n!eParkspace_allocation_re"
+  "quest_msg\0202\022&\n\"eParkspace_allocation_res"
+  "ponse_msg\0203\022!\n\035eParkspace_search_request"
+  "_msg\0204\022\"\n\036eParkspace_search_response_msg"
+  "\0205\022\"\n\036eParkspace_release_request_msg\0206\022#"
+  "\n\037eParkspace_release_response_msg\0207\022\'\n#e"
+  "Parkspace_force_update_request_msg\0208\022(\n$"
+  "eParkspace_force_update_response_msg\0209\022("
+  "\n$eParkspace_confirm_alloc_request_msg\020:"
+  "\022)\n%eParkspace_confirm_alloc_response_ms"
+  "g\020;\022\"\n\036eParkspace_allocation_data_msg\020<\022"
+  "+\n\'eParkspace_allocation_data_response_m"
+  "sg\020=\022(\n$eParkspace_manual_search_request"
+  "_msg\020>\022)\n%eParkspace_manual_search_respo"
+  "nse_msg\020\?\022\036\n\032eStore_command_request_msg\020"
+  "A\022\037\n\033eStore_command_response_msg\020B\022\037\n\033eP"
+  "ickup_command_request_msg\020C\022 \n\034ePickup_c"
+  "ommand_response_msg\020D\022\030\n\024eTerminal_statu"
+  "s_msg\020P\022\037\n\032eStoring_process_statu_msg\020\220\001"
+  "\022\037\n\032ePicking_process_statu_msg\020\221\001\022\"\n\035eCe"
+  "ntral_controller_statu_msg\020\240\001\022#\n\036eEntran"
+  "ce_manual_operation_msg\020\260\001\022\"\n\035eProcess_m"
+  "anual_operation_msg\020\261\001\022\030\n\023eNotify_reques"
+  "t_msg\020\300\001\022\031\n\024eNotify_response_msg\020\301\001\022\027\n\022e"
+  "Notify_status_msg\020\302\001\022#\n\036eUnNormalized_mo"
+  "dule_statu_msg\020\320\001\022\037\n\032eDispatch_plan_requ"
+  "est_msg\020\340\001\022 \n\033eDispatch_plan_response_ms"
+  "g\020\341\001\022\"\n\035eDispatch_control_request_msg\020\342\001"
+  "\022#\n\036eDispatch_control_response_msg\020\343\001\022!\n"
+  "\034eDispatch_manager_status_msg\020\352\001\022\037\n\032eDis"
+  "patch_manager_data_msg\020\353\001\022\037\n\032eGround_det"
+  "ect_request_msg\020\360\001\022 \n\033eGround_detect_res"
+  "ponse_msg\020\361\001\022\027\n\022eGround_status_msg\020\362\001*\307\001"
+  "\n\014Communicator\022\n\n\006eEmpty\020\000\022\t\n\005eMain\020\001\022\016\n"
+  "\teTerminor\020\200\002\022\017\n\neParkspace\020\200\004\022\016\n\teMeasu"
+  "rer\020\200\006\022\032\n\025eMeasurer_sift_server\020\201\006\022\026\n\021eD"
+  "ispatch_manager\020\200\010\022\026\n\021eDispatch_control\020"
+  "\201\010\022\014\n\007eNotify\020\201\n\022\025\n\020eGround_measurer\020\200\036*"
+  "*\n\014Process_type\022\014\n\010eStoring\020\001\022\014\n\010ePickin"
+  "g\020\002*e\n\013Error_level\022\n\n\006NORMAL\020\000\022\024\n\020NEGLIG"
+  "IBLE_ERROR\020\001\022\017\n\013MINOR_ERROR\020\002\022\017\n\013MAJOR_E"
+  "RROR\020\003\022\022\n\016CRITICAL_ERROR\020\004*\245\001\n\020Parkspace"
+  "_status\022\034\n\030eParkspace_status_unknow\020\000\022\024\n"
+  "\020eParkspace_empty\020\001\022\027\n\023eParkspace_occupi"
+  "ed\020\002\022\027\n\023eParkspace_reserved\020\003\022\025\n\021eParksp"
+  "ace_locked\020\004\022\024\n\020eParkspace_error\020\005*\?\n\tDi"
+  "rection\022\025\n\021eDirection_unknow\020\000\022\014\n\010eForwa"
+  "rd\020\001\022\r\n\teBackward\020\002*l\n\016Parkspace_path\022\017\n"
+  "\013UNKNOW_PATH\020\000\022\020\n\014OPTIMAL_PATH\020\001\022\r\n\tLEFT"
+  "_PATH\020\002\022\016\n\nRIGHT_PATH\020\003\022\030\n\024TEMPORARY_CAC"
+  "HE_PATH\020\004*m\n\016Parkspace_type\022\031\n\025UNKNOW_PA"
+  "RKSPACE_TYPE\020\000\022\024\n\020MIN_PARKINGSPACE\020\001\022\024\n\020"
+  "MID_PARKINGSPACE\020\002\022\024\n\020BIG_PARKINGSPACE\020\003"
+  "*F\n\010Car_type\022\023\n\017UNKNOW_CAR_TYPE\020\000\022\013\n\007MIN"
+  "_CAR\020\001\022\013\n\007MID_CAR\020\002\022\013\n\007BIG_CAR\020\003*\335\002\n\tSte"
+  "p_type\022\017\n\013eAlloc_step\020\000\022\021\n\reMeasure_step"
+  "\020\001\022\021\n\reCompare_step\020\002\022\022\n\016eDispatch_step\020"
+  "\003\022\021\n\reConfirm_step\020\004\022\020\n\014eSearch_step\020\005\022\016"
+  "\n\neWait_step\020\006\022\021\n\reRelease_step\020\007\022\r\n\teCo"
+  "mplete\020\010\022\025\n\021eBackConfirm_step\020\t\022\026\n\022eBack"
+  "_compare_step\020\n\022\025\n\021eBackMeasure_step\020\013\022\023"
+  "\n\017eBackAlloc_step\020\014\022\022\n\016eBackWait_step\020\r\022"
+  "\026\n\022eBackDispatch_step\020\016\022\024\n\020eBackSearch_s"
+  "tep\020\017\022\021\n\reBackComplete\020\020*C\n\nStep_statu\022\014"
+  "\n\010eWaiting\020\000\022\014\n\010eWorking\020\001\022\n\n\006eError\020\002\022\r"
+  "\n\teFinished\020\003*\370\001\n\024Dispatch_device_type\022\013"
+  "\n\007ROBOT_1\020e\022\013\n\007ROBOT_2\020f\022\016\n\tCARRIER_1\020\310\001"
+  "\022\016\n\tCARRIER_2\020\317\001\022\016\n\tCARRIER_3\020\313\001\022\021\n\014PASS"
+  "AGEWAY_0\020\254\002\022\021\n\014PASSAGEWAY_1\020\255\002\022\021\n\014PASSAG"
+  "EWAY_2\020\256\002\022\021\n\014PASSAGEWAY_3\020\257\002\022\021\n\014PASSAGEW"
+  "AY_4\020\260\002\022\021\n\014PASSAGEWAY_5\020\261\002\022\021\n\014PASSAGEWAY"
+  "_6\020\262\002\022\021\n\014PASSAGEWAY_7\020\263\002"
   ;
 static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_message_5fbase_2eproto_deps[1] = {
 };
@@ -390,7 +402,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mes
 };
 static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_message_5fbase_2eproto_once;
 const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_message_5fbase_2eproto = {
-  false, false, descriptor_table_protodef_message_5fbase_2eproto, "message_base.proto", 4479,
+  false, false, descriptor_table_protodef_message_5fbase_2eproto, "message_base.proto", 4704,
   &descriptor_table_message_5fbase_2eproto_once, descriptor_table_message_5fbase_2eproto_sccs, descriptor_table_message_5fbase_2eproto_deps, 6, 0,
   schemas, file_default_instances, TableStruct_message_5fbase_2eproto::offsets,
   file_level_metadata_message_5fbase_2eproto, 6, file_level_enum_descriptors_message_5fbase_2eproto, file_level_service_descriptors_message_5fbase_2eproto,
@@ -428,10 +440,13 @@ bool Message_type_IsValid(int value) {
     case 59:
     case 60:
     case 61:
+    case 62:
+    case 63:
     case 65:
     case 66:
     case 67:
     case 68:
+    case 80:
     case 144:
     case 145:
     case 160:
@@ -440,6 +455,7 @@ bool Message_type_IsValid(int value) {
     case 192:
     case 193:
     case 194:
+    case 208:
     case 224:
     case 225:
     case 226:
@@ -1583,6 +1599,12 @@ class Locate_information::_Internal {
   static void set_has_locate_front_theta(HasBits* has_bits) {
     (*has_bits)[0] |= 512u;
   }
+  static void set_has_uniformed_car_x(HasBits* has_bits) {
+    (*has_bits)[0] |= 1024u;
+  }
+  static void set_has_uniformed_car_y(HasBits* has_bits) {
+    (*has_bits)[0] |= 2048u;
+  }
 };
 
 Locate_information::Locate_information(::PROTOBUF_NAMESPACE_ID::Arena* arena)
@@ -1596,15 +1618,15 @@ Locate_information::Locate_information(const Locate_information& from)
       _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
   ::memcpy(&locate_x_, &from.locate_x_,
-    static_cast<size_t>(reinterpret_cast<char*>(&locate_front_theta_) -
-    reinterpret_cast<char*>(&locate_x_)) + sizeof(locate_front_theta_));
+    static_cast<size_t>(reinterpret_cast<char*>(&uniformed_car_y_) -
+    reinterpret_cast<char*>(&locate_x_)) + sizeof(uniformed_car_y_));
   // @@protoc_insertion_point(copy_constructor:message.Locate_information)
 }
 
 void Locate_information::SharedCtor() {
   ::memset(&locate_x_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&locate_front_theta_) -
-      reinterpret_cast<char*>(&locate_x_)) + sizeof(locate_front_theta_));
+      reinterpret_cast<char*>(&uniformed_car_y_) -
+      reinterpret_cast<char*>(&locate_x_)) + sizeof(uniformed_car_y_));
 }
 
 Locate_information::~Locate_information() {
@@ -1644,10 +1666,10 @@ void Locate_information::Clear() {
         reinterpret_cast<char*>(&locate_wheel_width_) -
         reinterpret_cast<char*>(&locate_x_)) + sizeof(locate_wheel_width_));
   }
-  if (cached_has_bits & 0x00000300u) {
+  if (cached_has_bits & 0x00000f00u) {
     ::memset(&locate_correct_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&locate_front_theta_) -
-        reinterpret_cast<char*>(&locate_correct_)) + sizeof(locate_front_theta_));
+        reinterpret_cast<char*>(&uniformed_car_y_) -
+        reinterpret_cast<char*>(&locate_correct_)) + sizeof(uniformed_car_y_));
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
@@ -1742,6 +1764,22 @@ const char* Locate_information::_InternalParse(const char* ptr, ::PROTOBUF_NAMES
           ptr += sizeof(float);
         } else goto handle_unusual;
         continue;
+      // optional float uniformed_car_x = 11;
+      case 11:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 93)) {
+          _Internal::set_has_uniformed_car_x(&has_bits);
+          uniformed_car_x_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
+          ptr += sizeof(float);
+        } else goto handle_unusual;
+        continue;
+      // optional float uniformed_car_y = 12;
+      case 12:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 101)) {
+          _Internal::set_has_uniformed_car_y(&has_bits);
+          uniformed_car_y_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
+          ptr += sizeof(float);
+        } else goto handle_unusual;
+        continue;
       default: {
       handle_unusual:
         if ((tag & 7) == 4 || tag == 0) {
@@ -1832,6 +1870,18 @@ failure:
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(10, this->_internal_locate_front_theta(), target);
   }
 
+  // optional float uniformed_car_x = 11;
+  if (cached_has_bits & 0x00000400u) {
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(11, this->_internal_uniformed_car_x(), target);
+  }
+
+  // optional float uniformed_car_y = 12;
+  if (cached_has_bits & 0x00000800u) {
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(12, this->_internal_uniformed_car_y(), target);
+  }
+
   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
@@ -1891,7 +1941,7 @@ size_t Locate_information::ByteSizeLong() const {
     }
 
   }
-  if (cached_has_bits & 0x00000300u) {
+  if (cached_has_bits & 0x00000f00u) {
     // optional bool locate_correct = 9 [default = false];
     if (cached_has_bits & 0x00000100u) {
       total_size += 1 + 1;
@@ -1902,6 +1952,16 @@ size_t Locate_information::ByteSizeLong() const {
       total_size += 1 + 4;
     }
 
+    // optional float uniformed_car_x = 11;
+    if (cached_has_bits & 0x00000400u) {
+      total_size += 1 + 4;
+    }
+
+    // optional float uniformed_car_y = 12;
+    if (cached_has_bits & 0x00000800u) {
+      total_size += 1 + 4;
+    }
+
   }
   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
     return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
@@ -1962,13 +2022,19 @@ void Locate_information::MergeFrom(const Locate_information& from) {
     }
     _has_bits_[0] |= cached_has_bits;
   }
-  if (cached_has_bits & 0x00000300u) {
+  if (cached_has_bits & 0x00000f00u) {
     if (cached_has_bits & 0x00000100u) {
       locate_correct_ = from.locate_correct_;
     }
     if (cached_has_bits & 0x00000200u) {
       locate_front_theta_ = from.locate_front_theta_;
     }
+    if (cached_has_bits & 0x00000400u) {
+      uniformed_car_x_ = from.uniformed_car_x_;
+    }
+    if (cached_has_bits & 0x00000800u) {
+      uniformed_car_y_ = from.uniformed_car_y_;
+    }
     _has_bits_[0] |= cached_has_bits;
   }
 }
@@ -1996,8 +2062,8 @@ void Locate_information::InternalSwap(Locate_information* other) {
   _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(Locate_information, locate_front_theta_)
-      + sizeof(Locate_information::locate_front_theta_)
+      PROTOBUF_FIELD_OFFSET(Locate_information, uniformed_car_y_)
+      + sizeof(Locate_information::uniformed_car_y_)
       - PROTOBUF_FIELD_OFFSET(Locate_information, locate_x_)>(
           reinterpret_cast<char*>(&locate_x_),
           reinterpret_cast<char*>(&other->locate_x_));
@@ -2016,22 +2082,25 @@ class Car_info::_Internal {
  public:
   using HasBits = decltype(std::declval<Car_info>()._has_bits_);
   static void set_has_car_length(HasBits* has_bits) {
-    (*has_bits)[0] |= 2u;
+    (*has_bits)[0] |= 4u;
   }
   static void set_has_car_width(HasBits* has_bits) {
-    (*has_bits)[0] |= 4u;
+    (*has_bits)[0] |= 8u;
   }
   static void set_has_car_height(HasBits* has_bits) {
-    (*has_bits)[0] |= 8u;
+    (*has_bits)[0] |= 16u;
   }
   static void set_has_license(HasBits* has_bits) {
     (*has_bits)[0] |= 1u;
   }
+  static void set_has_car_numberplate(HasBits* has_bits) {
+    (*has_bits)[0] |= 2u;
+  }
   static void set_has_car_wheel_base(HasBits* has_bits) {
-    (*has_bits)[0] |= 16u;
+    (*has_bits)[0] |= 32u;
   }
   static void set_has_car_wheel_width(HasBits* has_bits) {
-    (*has_bits)[0] |= 32u;
+    (*has_bits)[0] |= 64u;
   }
 };
 
@@ -2050,6 +2119,11 @@ Car_info::Car_info(const Car_info& from)
     license_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_license(),
       GetArena());
   }
+  car_numberplate_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  if (from._internal_has_car_numberplate()) {
+    car_numberplate_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_car_numberplate(),
+      GetArena());
+  }
   ::memcpy(&car_length_, &from.car_length_,
     static_cast<size_t>(reinterpret_cast<char*>(&car_wheel_width_) -
     reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
@@ -2059,6 +2133,7 @@ Car_info::Car_info(const Car_info& from)
 void Car_info::SharedCtor() {
   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Car_info_message_5fbase_2eproto.base);
   license_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  car_numberplate_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
   ::memset(&car_length_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&car_wheel_width_) -
       reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
@@ -2073,6 +2148,7 @@ Car_info::~Car_info() {
 void Car_info::SharedDtor() {
   GOOGLE_DCHECK(GetArena() == nullptr);
   license_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  car_numberplate_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
 }
 
 void Car_info::ArenaDtor(void* object) {
@@ -2097,10 +2173,15 @@ void Car_info::Clear() {
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    license_.ClearNonDefaultToEmpty();
+  if (cached_has_bits & 0x00000003u) {
+    if (cached_has_bits & 0x00000001u) {
+      license_.ClearNonDefaultToEmpty();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      car_numberplate_.ClearNonDefaultToEmpty();
+    }
   }
-  if (cached_has_bits & 0x0000003eu) {
+  if (cached_has_bits & 0x0000007cu) {
     ::memset(&car_length_, 0, static_cast<size_t>(
         reinterpret_cast<char*>(&car_wheel_width_) -
         reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
@@ -2153,17 +2234,28 @@ const char* Car_info::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::i
           CHK_(ptr);
         } else goto handle_unusual;
         continue;
-      // optional float car_wheel_base = 5 [default = 0];
+      // optional string car_numberPlate = 5 [default = ""];
       case 5:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 45)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+          auto str = _internal_mutable_car_numberplate();
+          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
+          #ifndef NDEBUG
+          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "message.Car_info.car_numberPlate");
+          #endif  // !NDEBUG
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // optional float car_wheel_base = 6 [default = 0];
+      case 6:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 53)) {
           _Internal::set_has_car_wheel_base(&has_bits);
           car_wheel_base_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
           ptr += sizeof(float);
         } else goto handle_unusual;
         continue;
-      // optional float car_wheel_width = 6 [default = 0];
-      case 6:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 53)) {
+      // optional float car_wheel_width = 7 [default = 0];
+      case 7:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 61)) {
           _Internal::set_has_car_wheel_width(&has_bits);
           car_wheel_width_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
           ptr += sizeof(float);
@@ -2200,19 +2292,19 @@ failure:
 
   cached_has_bits = _has_bits_[0];
   // optional float car_length = 1 [default = 0];
-  if (cached_has_bits & 0x00000002u) {
+  if (cached_has_bits & 0x00000004u) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_car_length(), target);
   }
 
   // optional float car_width = 2 [default = 0];
-  if (cached_has_bits & 0x00000004u) {
+  if (cached_has_bits & 0x00000008u) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_car_width(), target);
   }
 
   // optional float car_height = 3 [default = 0];
-  if (cached_has_bits & 0x00000008u) {
+  if (cached_has_bits & 0x00000010u) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->_internal_car_height(), target);
   }
@@ -2227,16 +2319,26 @@ failure:
         4, this->_internal_license(), target);
   }
 
-  // optional float car_wheel_base = 5 [default = 0];
-  if (cached_has_bits & 0x00000010u) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(5, this->_internal_car_wheel_base(), target);
+  // optional string car_numberPlate = 5 [default = ""];
+  if (cached_has_bits & 0x00000002u) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
+      this->_internal_car_numberplate().data(), static_cast<int>(this->_internal_car_numberplate().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
+      "message.Car_info.car_numberPlate");
+    target = stream->WriteStringMaybeAliased(
+        5, this->_internal_car_numberplate(), target);
   }
 
-  // optional float car_wheel_width = 6 [default = 0];
+  // optional float car_wheel_base = 6 [default = 0];
   if (cached_has_bits & 0x00000020u) {
     target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(6, this->_internal_car_wheel_width(), target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(6, this->_internal_car_wheel_base(), target);
+  }
+
+  // optional float car_wheel_width = 7 [default = 0];
+  if (cached_has_bits & 0x00000040u) {
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(7, this->_internal_car_wheel_width(), target);
   }
 
   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
@@ -2256,7 +2358,7 @@ size_t Car_info::ByteSizeLong() const {
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x0000003fu) {
+  if (cached_has_bits & 0x0000007fu) {
     // optional string license = 4 [default = ""];
     if (cached_has_bits & 0x00000001u) {
       total_size += 1 +
@@ -2264,31 +2366,38 @@ size_t Car_info::ByteSizeLong() const {
           this->_internal_license());
     }
 
-    // optional float car_length = 1 [default = 0];
+    // optional string car_numberPlate = 5 [default = ""];
     if (cached_has_bits & 0x00000002u) {
-      total_size += 1 + 4;
+      total_size += 1 +
+        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
+          this->_internal_car_numberplate());
     }
 
-    // optional float car_width = 2 [default = 0];
+    // optional float car_length = 1 [default = 0];
     if (cached_has_bits & 0x00000004u) {
       total_size += 1 + 4;
     }
 
-    // optional float car_height = 3 [default = 0];
+    // optional float car_width = 2 [default = 0];
     if (cached_has_bits & 0x00000008u) {
       total_size += 1 + 4;
     }
 
-    // optional float car_wheel_base = 5 [default = 0];
+    // optional float car_height = 3 [default = 0];
     if (cached_has_bits & 0x00000010u) {
       total_size += 1 + 4;
     }
 
-    // optional float car_wheel_width = 6 [default = 0];
+    // optional float car_wheel_base = 6 [default = 0];
     if (cached_has_bits & 0x00000020u) {
       total_size += 1 + 4;
     }
 
+    // optional float car_wheel_width = 7 [default = 0];
+    if (cached_has_bits & 0x00000040u) {
+      total_size += 1 + 4;
+    }
+
   }
   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
     return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
@@ -2322,23 +2431,26 @@ void Car_info::MergeFrom(const Car_info& from) {
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 0x0000003fu) {
+  if (cached_has_bits & 0x0000007fu) {
     if (cached_has_bits & 0x00000001u) {
       _internal_set_license(from._internal_license());
     }
     if (cached_has_bits & 0x00000002u) {
-      car_length_ = from.car_length_;
+      _internal_set_car_numberplate(from._internal_car_numberplate());
     }
     if (cached_has_bits & 0x00000004u) {
-      car_width_ = from.car_width_;
+      car_length_ = from.car_length_;
     }
     if (cached_has_bits & 0x00000008u) {
-      car_height_ = from.car_height_;
+      car_width_ = from.car_width_;
     }
     if (cached_has_bits & 0x00000010u) {
-      car_wheel_base_ = from.car_wheel_base_;
+      car_height_ = from.car_height_;
     }
     if (cached_has_bits & 0x00000020u) {
+      car_wheel_base_ = from.car_wheel_base_;
+    }
+    if (cached_has_bits & 0x00000040u) {
       car_wheel_width_ = from.car_wheel_width_;
     }
     _has_bits_[0] |= cached_has_bits;
@@ -2368,6 +2480,7 @@ void Car_info::InternalSwap(Car_info* other) {
   _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   license_.Swap(&other->license_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
+  car_numberplate_.Swap(&other->car_numberplate_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
       PROTOBUF_FIELD_OFFSET(Car_info, car_wheel_width_)
       + sizeof(Car_info::car_wheel_width_)

+ 207 - 21
message/message_base.pb.h

@@ -109,10 +109,13 @@ enum Message_type : int {
   eParkspace_confirm_alloc_response_msg = 59,
   eParkspace_allocation_data_msg = 60,
   eParkspace_allocation_data_response_msg = 61,
+  eParkspace_manual_search_request_msg = 62,
+  eParkspace_manual_search_response_msg = 63,
   eStore_command_request_msg = 65,
   eStore_command_response_msg = 66,
   ePickup_command_request_msg = 67,
   ePickup_command_response_msg = 68,
+  eTerminal_status_msg = 80,
   eStoring_process_statu_msg = 144,
   ePicking_process_statu_msg = 145,
   eCentral_controller_statu_msg = 160,
@@ -121,6 +124,7 @@ enum Message_type : int {
   eNotify_request_msg = 192,
   eNotify_response_msg = 193,
   eNotify_status_msg = 194,
+  eUnNormalized_module_statu_msg = 208,
   eDispatch_plan_request_msg = 224,
   eDispatch_plan_response_msg = 225,
   eDispatch_control_request_msg = 226,
@@ -1123,6 +1127,8 @@ class Locate_information PROTOBUF_FINAL :
     kLocateWheelWidthFieldNumber = 8,
     kLocateCorrectFieldNumber = 9,
     kLocateFrontThetaFieldNumber = 10,
+    kUniformedCarXFieldNumber = 11,
+    kUniformedCarYFieldNumber = 12,
   };
   // optional float locate_x = 1 [default = 0];
   bool has_locate_x() const;
@@ -1254,6 +1260,32 @@ class Locate_information PROTOBUF_FINAL :
   void _internal_set_locate_front_theta(float value);
   public:
 
+  // optional float uniformed_car_x = 11;
+  bool has_uniformed_car_x() const;
+  private:
+  bool _internal_has_uniformed_car_x() const;
+  public:
+  void clear_uniformed_car_x();
+  float uniformed_car_x() const;
+  void set_uniformed_car_x(float value);
+  private:
+  float _internal_uniformed_car_x() const;
+  void _internal_set_uniformed_car_x(float value);
+  public:
+
+  // optional float uniformed_car_y = 12;
+  bool has_uniformed_car_y() const;
+  private:
+  bool _internal_has_uniformed_car_y() const;
+  public:
+  void clear_uniformed_car_y();
+  float uniformed_car_y() const;
+  void set_uniformed_car_y(float value);
+  private:
+  float _internal_uniformed_car_y() const;
+  void _internal_set_uniformed_car_y(float value);
+  public:
+
   // @@protoc_insertion_point(class_scope:message.Locate_information)
  private:
   class _Internal;
@@ -1273,6 +1305,8 @@ class Locate_information PROTOBUF_FINAL :
   float locate_wheel_width_;
   bool locate_correct_;
   float locate_front_theta_;
+  float uniformed_car_x_;
+  float uniformed_car_y_;
   friend struct ::TableStruct_message_5fbase_2eproto;
 };
 // -------------------------------------------------------------------
@@ -1398,11 +1432,12 @@ class Car_info PROTOBUF_FINAL :
 
   enum : int {
     kLicenseFieldNumber = 4,
+    kCarNumberPlateFieldNumber = 5,
     kCarLengthFieldNumber = 1,
     kCarWidthFieldNumber = 2,
     kCarHeightFieldNumber = 3,
-    kCarWheelBaseFieldNumber = 5,
-    kCarWheelWidthFieldNumber = 6,
+    kCarWheelBaseFieldNumber = 6,
+    kCarWheelWidthFieldNumber = 7,
   };
   // optional string license = 4 [default = ""];
   bool has_license() const;
@@ -1424,6 +1459,26 @@ class Car_info PROTOBUF_FINAL :
   std::string* _internal_mutable_license();
   public:
 
+  // optional string car_numberPlate = 5 [default = ""];
+  bool has_car_numberplate() const;
+  private:
+  bool _internal_has_car_numberplate() const;
+  public:
+  void clear_car_numberplate();
+  const std::string& car_numberplate() const;
+  void set_car_numberplate(const std::string& value);
+  void set_car_numberplate(std::string&& value);
+  void set_car_numberplate(const char* value);
+  void set_car_numberplate(const char* value, size_t size);
+  std::string* mutable_car_numberplate();
+  std::string* release_car_numberplate();
+  void set_allocated_car_numberplate(std::string* car_numberplate);
+  private:
+  const std::string& _internal_car_numberplate() const;
+  void _internal_set_car_numberplate(const std::string& value);
+  std::string* _internal_mutable_car_numberplate();
+  public:
+
   // optional float car_length = 1 [default = 0];
   bool has_car_length() const;
   private:
@@ -1463,7 +1518,7 @@ class Car_info PROTOBUF_FINAL :
   void _internal_set_car_height(float value);
   public:
 
-  // optional float car_wheel_base = 5 [default = 0];
+  // optional float car_wheel_base = 6 [default = 0];
   bool has_car_wheel_base() const;
   private:
   bool _internal_has_car_wheel_base() const;
@@ -1476,7 +1531,7 @@ class Car_info PROTOBUF_FINAL :
   void _internal_set_car_wheel_base(float value);
   public:
 
-  // optional float car_wheel_width = 6 [default = 0];
+  // optional float car_wheel_width = 7 [default = 0];
   bool has_car_wheel_width() const;
   private:
   bool _internal_has_car_wheel_width() const;
@@ -1499,6 +1554,7 @@ class Car_info PROTOBUF_FINAL :
   ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
   mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr license_;
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr car_numberplate_;
   float car_length_;
   float car_width_;
   float car_height_;
@@ -2546,13 +2602,69 @@ inline void Locate_information::set_locate_front_theta(float value) {
   // @@protoc_insertion_point(field_set:message.Locate_information.locate_front_theta)
 }
 
+// optional float uniformed_car_x = 11;
+inline bool Locate_information::_internal_has_uniformed_car_x() const {
+  bool value = (_has_bits_[0] & 0x00000400u) != 0;
+  return value;
+}
+inline bool Locate_information::has_uniformed_car_x() const {
+  return _internal_has_uniformed_car_x();
+}
+inline void Locate_information::clear_uniformed_car_x() {
+  uniformed_car_x_ = 0;
+  _has_bits_[0] &= ~0x00000400u;
+}
+inline float Locate_information::_internal_uniformed_car_x() const {
+  return uniformed_car_x_;
+}
+inline float Locate_information::uniformed_car_x() const {
+  // @@protoc_insertion_point(field_get:message.Locate_information.uniformed_car_x)
+  return _internal_uniformed_car_x();
+}
+inline void Locate_information::_internal_set_uniformed_car_x(float value) {
+  _has_bits_[0] |= 0x00000400u;
+  uniformed_car_x_ = value;
+}
+inline void Locate_information::set_uniformed_car_x(float value) {
+  _internal_set_uniformed_car_x(value);
+  // @@protoc_insertion_point(field_set:message.Locate_information.uniformed_car_x)
+}
+
+// optional float uniformed_car_y = 12;
+inline bool Locate_information::_internal_has_uniformed_car_y() const {
+  bool value = (_has_bits_[0] & 0x00000800u) != 0;
+  return value;
+}
+inline bool Locate_information::has_uniformed_car_y() const {
+  return _internal_has_uniformed_car_y();
+}
+inline void Locate_information::clear_uniformed_car_y() {
+  uniformed_car_y_ = 0;
+  _has_bits_[0] &= ~0x00000800u;
+}
+inline float Locate_information::_internal_uniformed_car_y() const {
+  return uniformed_car_y_;
+}
+inline float Locate_information::uniformed_car_y() const {
+  // @@protoc_insertion_point(field_get:message.Locate_information.uniformed_car_y)
+  return _internal_uniformed_car_y();
+}
+inline void Locate_information::_internal_set_uniformed_car_y(float value) {
+  _has_bits_[0] |= 0x00000800u;
+  uniformed_car_y_ = value;
+}
+inline void Locate_information::set_uniformed_car_y(float value) {
+  _internal_set_uniformed_car_y(value);
+  // @@protoc_insertion_point(field_set:message.Locate_information.uniformed_car_y)
+}
+
 // -------------------------------------------------------------------
 
 // Car_info
 
 // optional float car_length = 1 [default = 0];
 inline bool Car_info::_internal_has_car_length() const {
-  bool value = (_has_bits_[0] & 0x00000002u) != 0;
+  bool value = (_has_bits_[0] & 0x00000004u) != 0;
   return value;
 }
 inline bool Car_info::has_car_length() const {
@@ -2560,7 +2672,7 @@ inline bool Car_info::has_car_length() const {
 }
 inline void Car_info::clear_car_length() {
   car_length_ = 0;
-  _has_bits_[0] &= ~0x00000002u;
+  _has_bits_[0] &= ~0x00000004u;
 }
 inline float Car_info::_internal_car_length() const {
   return car_length_;
@@ -2570,7 +2682,7 @@ inline float Car_info::car_length() const {
   return _internal_car_length();
 }
 inline void Car_info::_internal_set_car_length(float value) {
-  _has_bits_[0] |= 0x00000002u;
+  _has_bits_[0] |= 0x00000004u;
   car_length_ = value;
 }
 inline void Car_info::set_car_length(float value) {
@@ -2580,7 +2692,7 @@ inline void Car_info::set_car_length(float value) {
 
 // optional float car_width = 2 [default = 0];
 inline bool Car_info::_internal_has_car_width() const {
-  bool value = (_has_bits_[0] & 0x00000004u) != 0;
+  bool value = (_has_bits_[0] & 0x00000008u) != 0;
   return value;
 }
 inline bool Car_info::has_car_width() const {
@@ -2588,7 +2700,7 @@ inline bool Car_info::has_car_width() const {
 }
 inline void Car_info::clear_car_width() {
   car_width_ = 0;
-  _has_bits_[0] &= ~0x00000004u;
+  _has_bits_[0] &= ~0x00000008u;
 }
 inline float Car_info::_internal_car_width() const {
   return car_width_;
@@ -2598,7 +2710,7 @@ inline float Car_info::car_width() const {
   return _internal_car_width();
 }
 inline void Car_info::_internal_set_car_width(float value) {
-  _has_bits_[0] |= 0x00000004u;
+  _has_bits_[0] |= 0x00000008u;
   car_width_ = value;
 }
 inline void Car_info::set_car_width(float value) {
@@ -2608,7 +2720,7 @@ inline void Car_info::set_car_width(float value) {
 
 // optional float car_height = 3 [default = 0];
 inline bool Car_info::_internal_has_car_height() const {
-  bool value = (_has_bits_[0] & 0x00000008u) != 0;
+  bool value = (_has_bits_[0] & 0x00000010u) != 0;
   return value;
 }
 inline bool Car_info::has_car_height() const {
@@ -2616,7 +2728,7 @@ inline bool Car_info::has_car_height() const {
 }
 inline void Car_info::clear_car_height() {
   car_height_ = 0;
-  _has_bits_[0] &= ~0x00000008u;
+  _has_bits_[0] &= ~0x00000010u;
 }
 inline float Car_info::_internal_car_height() const {
   return car_height_;
@@ -2626,7 +2738,7 @@ inline float Car_info::car_height() const {
   return _internal_car_height();
 }
 inline void Car_info::_internal_set_car_height(float value) {
-  _has_bits_[0] |= 0x00000008u;
+  _has_bits_[0] |= 0x00000010u;
   car_height_ = value;
 }
 inline void Car_info::set_car_height(float value) {
@@ -2708,9 +2820,83 @@ inline void Car_info::set_allocated_license(std::string* license) {
   // @@protoc_insertion_point(field_set_allocated:message.Car_info.license)
 }
 
-// optional float car_wheel_base = 5 [default = 0];
+// optional string car_numberPlate = 5 [default = ""];
+inline bool Car_info::_internal_has_car_numberplate() const {
+  bool value = (_has_bits_[0] & 0x00000002u) != 0;
+  return value;
+}
+inline bool Car_info::has_car_numberplate() const {
+  return _internal_has_car_numberplate();
+}
+inline void Car_info::clear_car_numberplate() {
+  car_numberplate_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline const std::string& Car_info::car_numberplate() const {
+  // @@protoc_insertion_point(field_get:message.Car_info.car_numberPlate)
+  return _internal_car_numberplate();
+}
+inline void Car_info::set_car_numberplate(const std::string& value) {
+  _internal_set_car_numberplate(value);
+  // @@protoc_insertion_point(field_set:message.Car_info.car_numberPlate)
+}
+inline std::string* Car_info::mutable_car_numberplate() {
+  // @@protoc_insertion_point(field_mutable:message.Car_info.car_numberPlate)
+  return _internal_mutable_car_numberplate();
+}
+inline const std::string& Car_info::_internal_car_numberplate() const {
+  return car_numberplate_.Get();
+}
+inline void Car_info::_internal_set_car_numberplate(const std::string& value) {
+  _has_bits_[0] |= 0x00000002u;
+  car_numberplate_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
+}
+inline void Car_info::set_car_numberplate(std::string&& value) {
+  _has_bits_[0] |= 0x00000002u;
+  car_numberplate_.Set(
+    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
+  // @@protoc_insertion_point(field_set_rvalue:message.Car_info.car_numberPlate)
+}
+inline void Car_info::set_car_numberplate(const char* value) {
+  GOOGLE_DCHECK(value != nullptr);
+  _has_bits_[0] |= 0x00000002u;
+  car_numberplate_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
+              GetArena());
+  // @@protoc_insertion_point(field_set_char:message.Car_info.car_numberPlate)
+}
+inline void Car_info::set_car_numberplate(const char* value,
+    size_t size) {
+  _has_bits_[0] |= 0x00000002u;
+  car_numberplate_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
+      reinterpret_cast<const char*>(value), size), GetArena());
+  // @@protoc_insertion_point(field_set_pointer:message.Car_info.car_numberPlate)
+}
+inline std::string* Car_info::_internal_mutable_car_numberplate() {
+  _has_bits_[0] |= 0x00000002u;
+  return car_numberplate_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
+}
+inline std::string* Car_info::release_car_numberplate() {
+  // @@protoc_insertion_point(field_release:message.Car_info.car_numberPlate)
+  if (!_internal_has_car_numberplate()) {
+    return nullptr;
+  }
+  _has_bits_[0] &= ~0x00000002u;
+  return car_numberplate_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
+}
+inline void Car_info::set_allocated_car_numberplate(std::string* car_numberplate) {
+  if (car_numberplate != nullptr) {
+    _has_bits_[0] |= 0x00000002u;
+  } else {
+    _has_bits_[0] &= ~0x00000002u;
+  }
+  car_numberplate_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), car_numberplate,
+      GetArena());
+  // @@protoc_insertion_point(field_set_allocated:message.Car_info.car_numberPlate)
+}
+
+// optional float car_wheel_base = 6 [default = 0];
 inline bool Car_info::_internal_has_car_wheel_base() const {
-  bool value = (_has_bits_[0] & 0x00000010u) != 0;
+  bool value = (_has_bits_[0] & 0x00000020u) != 0;
   return value;
 }
 inline bool Car_info::has_car_wheel_base() const {
@@ -2718,7 +2904,7 @@ inline bool Car_info::has_car_wheel_base() const {
 }
 inline void Car_info::clear_car_wheel_base() {
   car_wheel_base_ = 0;
-  _has_bits_[0] &= ~0x00000010u;
+  _has_bits_[0] &= ~0x00000020u;
 }
 inline float Car_info::_internal_car_wheel_base() const {
   return car_wheel_base_;
@@ -2728,7 +2914,7 @@ inline float Car_info::car_wheel_base() const {
   return _internal_car_wheel_base();
 }
 inline void Car_info::_internal_set_car_wheel_base(float value) {
-  _has_bits_[0] |= 0x00000010u;
+  _has_bits_[0] |= 0x00000020u;
   car_wheel_base_ = value;
 }
 inline void Car_info::set_car_wheel_base(float value) {
@@ -2736,9 +2922,9 @@ inline void Car_info::set_car_wheel_base(float value) {
   // @@protoc_insertion_point(field_set:message.Car_info.car_wheel_base)
 }
 
-// optional float car_wheel_width = 6 [default = 0];
+// optional float car_wheel_width = 7 [default = 0];
 inline bool Car_info::_internal_has_car_wheel_width() const {
-  bool value = (_has_bits_[0] & 0x00000020u) != 0;
+  bool value = (_has_bits_[0] & 0x00000040u) != 0;
   return value;
 }
 inline bool Car_info::has_car_wheel_width() const {
@@ -2746,7 +2932,7 @@ inline bool Car_info::has_car_wheel_width() const {
 }
 inline void Car_info::clear_car_wheel_width() {
   car_wheel_width_ = 0;
-  _has_bits_[0] &= ~0x00000020u;
+  _has_bits_[0] &= ~0x00000040u;
 }
 inline float Car_info::_internal_car_wheel_width() const {
   return car_wheel_width_;
@@ -2756,7 +2942,7 @@ inline float Car_info::car_wheel_width() const {
   return _internal_car_wheel_width();
 }
 inline void Car_info::_internal_set_car_wheel_width(float value) {
-  _has_bits_[0] |= 0x00000020u;
+  _has_bits_[0] |= 0x00000040u;
   car_wheel_width_ = value;
 }
 inline void Car_info::set_car_wheel_width(float value) {

+ 14 - 7
message/message_base.proto

@@ -32,13 +32,15 @@ enum Message_type
     eParkspace_confirm_alloc_response_msg = 0x3B;//确认分配车位反馈消息
     eParkspace_allocation_data_msg = 0x3C;     //车位分配模块车位数据消息
     eParkspace_allocation_data_response_msg =0x3D;//车位数据反馈消息
+    eParkspace_manual_search_request_msg = 0x3E;	//手动查询车位请求消息
+    eParkspace_manual_search_response_msg = 0x3F;//手动查询车位反馈消息
 
     eStore_command_request_msg=0x41;        //终端停车请求消息
     eStore_command_response_msg=0x42;       //停车请求反馈消息
     ePickup_command_request_msg=0x43;       //取车请求消息
     ePickup_command_response_msg=0x44;       //取车请求反馈消息
 
-
+    eTerminal_status_msg = 0x50;	 //终端状态消息
 
     eStoring_process_statu_msg=0x90;        //停车指令进度条消息
     ePicking_process_statu_msg=0x91;        //取车指令进度消息
@@ -54,6 +56,8 @@ enum Message_type
     eNotify_response_msg=0xc1;              //等候区反馈
     eNotify_status_msg=0xc2;                //等候区通知节点状态
 
+    eUnNormalized_module_statu_msg = 0xd0; //非标节点状态
+;
     eDispatch_plan_request_msg          = 0xe0;     //调度总规划的请求(用于启动整个调度算法)(调度管理->调度算法)
     eDispatch_plan_response_msg         = 0xe1;     //调度总规划的答复(调度算法->调度管理)
     eDispatch_control_request_msg       = 0xe2;     //调度控制的任务请求(调度算法->调度管理)
@@ -86,10 +90,9 @@ enum Communicator
     //调度机构
     eDispatch_control=0x0401;
     //...
-    //取车等候区通知节点
+  //取车等候区通知节点
     eNotify=0x0501;
 
-
     //地面测量单元
 	eGround_measurer=0x0f00;
 }
@@ -151,6 +154,9 @@ message Locate_information
     optional bool locate_correct = 9[default = false];		    //整车的校准标记位
 
     optional float locate_front_theta = 10[default = 0];	    //整车的前轮的旋转角
+    optional float uniformed_car_x = 11;
+    optional float uniformed_car_y = 12;
+
 }
 
 //车辆基本信息
@@ -159,9 +165,10 @@ message Car_info
     optional float                      car_length=1[default = 0];           //车长
     optional float                      car_width=2[default = 0];            //车宽
     optional float                      car_height=3[default = 0];           //车高
-    optional string                     license=4[default = ""];              //车辆凭证号
-    optional float                      car_wheel_base = 5[default = 0];	    //整车的轮距; 前后轮的距离; 用于机器人或agv的抓车
-    optional float                      car_wheel_width = 6[default = 0];	//整车的轮距; 左右轮的距离; 用于机器人或agv的抓车
+    optional string                     license=4[default = ""];             //车辆凭证号(车牌号+唯一码)
+    optional string                     car_numberPlate = 5[default = ""];   //车牌号
+    optional float                      car_wheel_base = 6[default = 0];	 //整车的轮距; 前后轮的距离; 用于机器人或agv的抓车
+    optional float                      car_wheel_width = 7[default = 0];	 //整车的轮距; 左右轮的距离; 用于机器人或agv的抓车
 }
 
 //车位状态枚举
@@ -293,4 +300,4 @@ enum Dispatch_device_type
     PASSAGEWAY_5                            = 305;      //5号出入口
     PASSAGEWAY_6                            = 306;      //6号出入口
     PASSAGEWAY_7                            = 307;      //7号出口(在右侧电梯井, 只能取车)
-}
+}

+ 11 - 0
system/PickupProcessTask.cpp

@@ -38,6 +38,13 @@ Error_manager PickupProcessTask::init_task(const ::google::protobuf::Message& pa
     sprintf(log,"来自终端 %d 的取车指令:\n %s",m_terminor_id,m_car_info.DebugString().c_str());
     ALOG(INFO)<<log;*/
 
+    //判断该号牌指令是否已存在
+    if(m_picking_carlicense_terminal_id.find(m_car_info.car_numberplate())==true)
+    {
+        return Error_manager(ERROR,NORMAL,"该车牌取车指令已经存在");
+    }
+    m_picking_carlicense_terminal_id[m_car_info.car_numberplate()]=m_terminor_id;
+
     reset_msg();
 
     //设置状态消息,基本信息
@@ -323,6 +330,10 @@ void PickupProcessTask::Main()
     updata_step_statu(message::eFinished);
     publish_step_status();
 
+    //删除该号牌指令记录
+    if(m_picking_carlicense_terminal_id.find(m_car_info.car_numberplate())==true)
+        m_picking_carlicense_terminal_id.erase(m_car_info.car_numberplate());
+
     if(m_cancel_condition.wait_for_millisecond(1)==true) {
         LOG(ERROR) << "-------  取  -------取车任务被强制取消,车牌号:" << m_car_info.license()
                    << ",  终端号:" << m_terminor_id;

+ 10 - 0
system/StoreProcessTask.cpp

@@ -44,6 +44,13 @@ Error_manager StoreProcessTask::init_task(const ::google::protobuf::Message& par
     sprintf(log,"来自终端 %d 的停车指令:\n %s",m_terminor_id,locate_info.DebugString().c_str());
     ALOG(INFO)<<log;*/
 
+    //判断该号牌的指令是否存在
+    if(m_storing_carlicense_terminal_id.find(m_car_info.car_numberplate())==true)
+    {
+        return Error_manager(ERROR,NORMAL,"该车牌停车指令已经存在");
+    }
+    m_storing_carlicense_terminal_id[m_car_info.car_numberplate()]=m_terminor_id;
+
     reset_msg();
     m_locate_info=locate_info;
 
@@ -553,6 +560,9 @@ void StoreProcessTask::Main()
     updata_step_statu(message::eFinished);
     publish_step_status();
 
+    if(m_storing_carlicense_terminal_id.find(m_car_info.car_numberplate())==true)
+        m_storing_carlicense_terminal_id.erase(m_car_info.car_numberplate());
+
     if(m_cancel_condition.wait_for_millisecond(1)==true) {
         /*ALOG(ERROR) << "------  停  ------- 停车任务被强制取消,车牌号:" << m_car_info.license()
                    << ",  终端号:" << m_terminor_id;*/

+ 3 - 0
system/process_task.cpp

@@ -8,6 +8,9 @@
 #include "pathcreator.h"
 #include "command_accepter.h"
 
+thread_safe_map<std::string,int>   Process_task::m_storing_carlicense_terminal_id;
+thread_safe_map<std::string,int>   Process_task::m_picking_carlicense_terminal_id;
+
 Process_task::Process_task(unsigned int terminal_id,message::Car_info car_info)
         :m_publish_statu_thread(nullptr)
 {

+ 4 - 0
system/process_task.h

@@ -11,6 +11,7 @@
 #include "process_message.pb.h"
 #include "log_process.pb.h"
 #include <glog/logging.h>
+#include <thread_safe_map.h>
 
 /*
  * 停取车流程基类, 包括任务创建, 状态消息发布线程启动, 任务取消等公共功能
@@ -186,6 +187,9 @@ protected:
     message::Process_log                    m_process_log;                      //流程日志数据
     int                                     m_step_index;                       //记录当前步骤的序号
 
+    static thread_safe_map<std::string,int>        m_storing_carlicense_terminal_id;
+    static thread_safe_map<std::string,int>        m_picking_carlicense_terminal_id;
+
 };
 
 

+ 3 - 0
tool/thread_safe_map.h

@@ -14,6 +14,9 @@ class thread_safe_map
 public:
     typedef typename std::map<Key, Val>::iterator this_iterator;
     typedef typename std::map<Key, Val>::const_iterator this_const_iterator;
+    thread_safe_map()
+    {}
+
     Val& operator [](const Key& key)
     {
         std::lock_guard<std::mutex> lk(mtx_);