Pārlūkot izejas kodu

20210401, 调度流程

huli 4 gadi atpakaļ
vecāks
revīzija
e8bad8cd7a

+ 5 - 0
dispatch/dispatch_coordinates.cpp

@@ -114,16 +114,21 @@ Error_manager Dispatch_coordinates::dispatch_coordinates_init_from_protobuf(Disp
 	std::cout << " huli test :::: " << " m_catcher_coordinates.size() = " << m_catcher_coordinates.size() << std::endl;
 
 	m_default_wheelbase = dispatch_coordinates_parameter_all.default_wheelbase();
+
 	m_catcher_1th_floor_z = dispatch_coordinates_parameter_all.catcher_1th_floor_z();
 	m_catcher_2th_floor_z = dispatch_coordinates_parameter_all.catcher_2th_floor_z();
 	m_catcher_3th_floor_z = dispatch_coordinates_parameter_all.catcher_3th_floor_z();
 	m_catcher_4th_floor_z = dispatch_coordinates_parameter_all.catcher_4th_floor_z();
+
 	m_catcher_d1_d2_distance = dispatch_coordinates_parameter_all.catcher_d1_d2_distance();
 	m_catcher_wheel_base_limit = dispatch_coordinates_parameter_all.catcher_wheel_base_limit();
+
+	m_carrier_y_y1_distance = dispatch_coordinates_parameter_all.carrier_y_y1_distance();
 	m_carrier_default_y1_back = dispatch_coordinates_parameter_all.carrier_default_y1_back();
 	m_carrier_default_y1_leave = dispatch_coordinates_parameter_all.carrier_default_y1_leave();
 	m_carrier_default_y_back = dispatch_coordinates_parameter_all.carrier_default_y_back();
 	m_carrier_default_y_leave = dispatch_coordinates_parameter_all.carrier_default_y_leave();
+
 	m_carrier_default_x_left = dispatch_coordinates_parameter_all.carrier_default_x_left();
 	m_carrier_default_x_right = dispatch_coordinates_parameter_all.carrier_default_x_right();
 	return Error_code::SUCCESS;

+ 2 - 1
dispatch/dispatch_coordinates.h

@@ -71,7 +71,7 @@ public://member variable
 	float									m_catcher_d2_max;
 
 
-	float 									m_default_wheelbase;		//默认轴距
+	float 									m_default_wheelbase;		//默认轴距 2700mm
 
 	float 									m_catcher_1th_floor_z;			//机器手在1楼的z周高度, 0
 	float 									m_catcher_2th_floor_z;			//机器手在2楼的z周高度, 2760
@@ -81,6 +81,7 @@ public://member variable
 	float									m_catcher_d1_d2_distance;		//机器手2D1-2D2零位间距1903mm
 	float									m_catcher_wheel_base_limit;		//机器手下降过程中的轮距限制 3000mm
 
+	float									m_carrier_y_y1_distance;		//小跑车 y-y1的间距1500mm
 	float									m_carrier_default_y1_back;		//小跑车的默认y1, 回到中跑车 4500mm
 	float									m_carrier_default_y1_leave;		//小跑车的默认y1, 离开中跑车 10500mm
 	float									m_carrier_default_y_back;		//小跑车的默认y, 回到中跑车 3000mm

+ 107 - 68
dispatch/dispatch_parameter.pb.cc

@@ -503,6 +503,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Dispatch_proto::Dispatch_coordinates_parameter_all, catcher_4th_floor_z_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Dispatch_proto::Dispatch_coordinates_parameter_all, catcher_d1_d2_distance_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Dispatch_proto::Dispatch_coordinates_parameter_all, catcher_wheel_base_limit_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Dispatch_proto::Dispatch_coordinates_parameter_all, carrier_y_y1_distance_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Dispatch_proto::Dispatch_coordinates_parameter_all, carrier_default_y1_back_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Dispatch_proto::Dispatch_coordinates_parameter_all, carrier_default_y1_leave_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Dispatch_proto::Dispatch_coordinates_parameter_all, carrier_default_y_back_),
@@ -534,6 +535,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   18,
   19,
   20,
+  21,
 };
 static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
   { 0, 6, sizeof(::Dispatch_proto::Catcher_parameter)},
@@ -547,7 +549,7 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROT
   { 90, 101, sizeof(::Dispatch_proto::Carrier_box_parameter)},
   { 107, 118, sizeof(::Dispatch_proto::Catcher_box_parameter)},
   { 124, 131, sizeof(::Dispatch_proto::Axis_range_parameter)},
-  { 133, 163, sizeof(::Dispatch_proto::Dispatch_coordinates_parameter_all)},
+  { 133, 164, sizeof(::Dispatch_proto::Dispatch_coordinates_parameter_all)},
 };
 
 static ::google::protobuf::Message const * const file_default_instances[] = {
@@ -617,7 +619,7 @@ void AddDescriptorsImpl() {
       "\004 \001(\005:\0071000000\022\027\n\005z_min\030\005 \001(\005:\010-1000000\022"
       "\026\n\005z_max\030\006 \001(\005:\0071000000\"C\n\024Axis_range_pa"
       "rameter\022\025\n\003min\030\001 \001(\005:\010-1000000\022\024\n\003max\030\002 "
-      "\001(\005:\0071000000\"\274\010\n\"Dispatch_coordinates_pa"
+      "\001(\005:\0071000000\"\333\010\n\"Dispatch_coordinates_pa"
       "rameter_all\022Y\n packspace_coordinates_par"
       "ameters\030\001 \003(\0132/.Dispatch_proto.Packspace"
       "_coordinates_parameter\022[\n!passageway_coo"
@@ -639,15 +641,16 @@ void AddDescriptorsImpl() {
       "_2th_floor_z\030\017 \001(\005\022\033\n\023catcher_3th_floor_"
       "z\030\020 \001(\005\022\033\n\023catcher_4th_floor_z\030\021 \001(\005\022\036\n\026"
       "catcher_d1_d2_distance\030\022 \001(\005\022 \n\030catcher_"
-      "wheel_base_limit\030\023 \001(\005\022\037\n\027carrier_defaul"
-      "t_y1_back\030\024 \001(\005\022 \n\030carrier_default_y1_le"
-      "ave\030\025 \001(\005\022\036\n\026carrier_default_y_back\030\026 \001("
-      "\005\022\037\n\027carrier_default_y_leave\030\027 \001(\005\022\036\n\026ca"
-      "rrier_default_x_left\030\030 \001(\005\022\037\n\027carrier_de"
-      "fault_x_right\030\031 \001(\005"
+      "wheel_base_limit\030\023 \001(\005\022\035\n\025carrier_y_y1_d"
+      "istance\030\024 \001(\005\022\037\n\027carrier_default_y1_back"
+      "\030\025 \001(\005\022 \n\030carrier_default_y1_leave\030\026 \001(\005"
+      "\022\036\n\026carrier_default_y_back\030\027 \001(\005\022\037\n\027carr"
+      "ier_default_y_leave\030\030 \001(\005\022\036\n\026carrier_def"
+      "ault_x_left\030\031 \001(\005\022\037\n\027carrier_default_x_r"
+      "ight\030\032 \001(\005"
   };
   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 2299);
+      descriptor, 2330);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
     "dispatch_parameter.proto", &protobuf_RegisterTypes);
 }
@@ -4549,6 +4552,7 @@ const int Dispatch_coordinates_parameter_all::kCatcher3ThFloorZFieldNumber;
 const int Dispatch_coordinates_parameter_all::kCatcher4ThFloorZFieldNumber;
 const int Dispatch_coordinates_parameter_all::kCatcherD1D2DistanceFieldNumber;
 const int Dispatch_coordinates_parameter_all::kCatcherWheelBaseLimitFieldNumber;
+const int Dispatch_coordinates_parameter_all::kCarrierYY1DistanceFieldNumber;
 const int Dispatch_coordinates_parameter_all::kCarrierDefaultY1BackFieldNumber;
 const int Dispatch_coordinates_parameter_all::kCarrierDefaultY1LeaveFieldNumber;
 const int Dispatch_coordinates_parameter_all::kCarrierDefaultYBackFieldNumber;
@@ -4659,13 +4663,13 @@ void Dispatch_coordinates_parameter_all::Clear() {
   }
   if (cached_has_bits & 65280u) {
     ::memset(&default_wheelbase_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&carrier_default_y1_back_) -
-        reinterpret_cast<char*>(&default_wheelbase_)) + sizeof(carrier_default_y1_back_));
+        reinterpret_cast<char*>(&carrier_y_y1_distance_) -
+        reinterpret_cast<char*>(&default_wheelbase_)) + sizeof(carrier_y_y1_distance_));
   }
-  if (cached_has_bits & 2031616u) {
-    ::memset(&carrier_default_y1_leave_, 0, static_cast<size_t>(
+  if (cached_has_bits & 4128768u) {
+    ::memset(&carrier_default_y1_back_, 0, static_cast<size_t>(
         reinterpret_cast<char*>(&carrier_default_x_right_) -
-        reinterpret_cast<char*>(&carrier_default_y1_leave_)) + sizeof(carrier_default_x_right_));
+        reinterpret_cast<char*>(&carrier_default_y1_back_)) + sizeof(carrier_default_x_right_));
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
@@ -4931,80 +4935,94 @@ bool Dispatch_coordinates_parameter_all::MergePartialFromCodedStream(
         break;
       }
 
-      // optional int32 carrier_default_y1_back = 20;
+      // optional int32 carrier_y_y1_distance = 20;
       case 20: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(160u /* 160 & 0xFF */)) {
-          set_has_carrier_default_y1_back();
+          set_has_carrier_y_y1_distance();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &carrier_default_y1_back_)));
+                 input, &carrier_y_y1_distance_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional int32 carrier_default_y1_leave = 21;
+      // optional int32 carrier_default_y1_back = 21;
       case 21: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(168u /* 168 & 0xFF */)) {
-          set_has_carrier_default_y1_leave();
+          set_has_carrier_default_y1_back();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &carrier_default_y1_leave_)));
+                 input, &carrier_default_y1_back_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional int32 carrier_default_y_back = 22;
+      // optional int32 carrier_default_y1_leave = 22;
       case 22: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(176u /* 176 & 0xFF */)) {
-          set_has_carrier_default_y_back();
+          set_has_carrier_default_y1_leave();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &carrier_default_y_back_)));
+                 input, &carrier_default_y1_leave_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional int32 carrier_default_y_leave = 23;
+      // optional int32 carrier_default_y_back = 23;
       case 23: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(184u /* 184 & 0xFF */)) {
-          set_has_carrier_default_y_leave();
+          set_has_carrier_default_y_back();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &carrier_default_y_leave_)));
+                 input, &carrier_default_y_back_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional int32 carrier_default_x_left = 24;
+      // optional int32 carrier_default_y_leave = 24;
       case 24: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(192u /* 192 & 0xFF */)) {
-          set_has_carrier_default_x_left();
+          set_has_carrier_default_y_leave();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &carrier_default_x_left_)));
+                 input, &carrier_default_y_leave_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional int32 carrier_default_x_right = 25;
+      // optional int32 carrier_default_x_left = 25;
       case 25: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(200u /* 200 & 0xFF */)) {
+          set_has_carrier_default_x_left();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &carrier_default_x_left_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 carrier_default_x_right = 26;
+      case 26: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(208u /* 208 & 0xFF */)) {
           set_has_carrier_default_x_right();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
@@ -5147,34 +5165,39 @@ void Dispatch_coordinates_parameter_all::SerializeWithCachedSizes(
     ::google::protobuf::internal::WireFormatLite::WriteInt32(19, this->catcher_wheel_base_limit(), output);
   }
 
-  // optional int32 carrier_default_y1_back = 20;
+  // optional int32 carrier_y_y1_distance = 20;
   if (cached_has_bits & 0x00008000u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(20, this->carrier_default_y1_back(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(20, this->carrier_y_y1_distance(), output);
   }
 
-  // optional int32 carrier_default_y1_leave = 21;
+  // optional int32 carrier_default_y1_back = 21;
   if (cached_has_bits & 0x00010000u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(21, this->carrier_default_y1_leave(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(21, this->carrier_default_y1_back(), output);
   }
 
-  // optional int32 carrier_default_y_back = 22;
+  // optional int32 carrier_default_y1_leave = 22;
   if (cached_has_bits & 0x00020000u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(22, this->carrier_default_y_back(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(22, this->carrier_default_y1_leave(), output);
   }
 
-  // optional int32 carrier_default_y_leave = 23;
+  // optional int32 carrier_default_y_back = 23;
   if (cached_has_bits & 0x00040000u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(23, this->carrier_default_y_leave(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(23, this->carrier_default_y_back(), output);
   }
 
-  // optional int32 carrier_default_x_left = 24;
+  // optional int32 carrier_default_y_leave = 24;
   if (cached_has_bits & 0x00080000u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(24, this->carrier_default_x_left(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(24, this->carrier_default_y_leave(), output);
   }
 
-  // optional int32 carrier_default_x_right = 25;
+  // optional int32 carrier_default_x_left = 25;
   if (cached_has_bits & 0x00100000u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(25, this->carrier_default_x_right(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(25, this->carrier_default_x_left(), output);
+  }
+
+  // optional int32 carrier_default_x_right = 26;
+  if (cached_has_bits & 0x00200000u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(26, this->carrier_default_x_right(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -5303,34 +5326,39 @@ void Dispatch_coordinates_parameter_all::SerializeWithCachedSizes(
     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(19, this->catcher_wheel_base_limit(), target);
   }
 
-  // optional int32 carrier_default_y1_back = 20;
+  // optional int32 carrier_y_y1_distance = 20;
   if (cached_has_bits & 0x00008000u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(20, this->carrier_default_y1_back(), target);
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(20, this->carrier_y_y1_distance(), target);
   }
 
-  // optional int32 carrier_default_y1_leave = 21;
+  // optional int32 carrier_default_y1_back = 21;
   if (cached_has_bits & 0x00010000u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(21, this->carrier_default_y1_leave(), target);
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(21, this->carrier_default_y1_back(), target);
   }
 
-  // optional int32 carrier_default_y_back = 22;
+  // optional int32 carrier_default_y1_leave = 22;
   if (cached_has_bits & 0x00020000u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(22, this->carrier_default_y_back(), target);
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(22, this->carrier_default_y1_leave(), target);
   }
 
-  // optional int32 carrier_default_y_leave = 23;
+  // optional int32 carrier_default_y_back = 23;
   if (cached_has_bits & 0x00040000u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(23, this->carrier_default_y_leave(), target);
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(23, this->carrier_default_y_back(), target);
   }
 
-  // optional int32 carrier_default_x_left = 24;
+  // optional int32 carrier_default_y_leave = 24;
   if (cached_has_bits & 0x00080000u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(24, this->carrier_default_x_left(), target);
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(24, this->carrier_default_y_leave(), target);
   }
 
-  // optional int32 carrier_default_x_right = 25;
+  // optional int32 carrier_default_x_left = 25;
   if (cached_has_bits & 0x00100000u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(25, this->carrier_default_x_right(), target);
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(25, this->carrier_default_x_left(), target);
+  }
+
+  // optional int32 carrier_default_x_right = 26;
+  if (cached_has_bits & 0x00200000u) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(26, this->carrier_default_x_right(), target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -5502,44 +5530,51 @@ size_t Dispatch_coordinates_parameter_all::ByteSizeLong() const {
           this->catcher_wheel_base_limit());
     }
 
-    // optional int32 carrier_default_y1_back = 20;
+    // optional int32 carrier_y_y1_distance = 20;
+    if (has_carrier_y_y1_distance()) {
+      total_size += 2 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->carrier_y_y1_distance());
+    }
+
+  }
+  if (_has_bits_[16 / 32] & 4128768u) {
+    // optional int32 carrier_default_y1_back = 21;
     if (has_carrier_default_y1_back()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->carrier_default_y1_back());
     }
 
-  }
-  if (_has_bits_[16 / 32] & 2031616u) {
-    // optional int32 carrier_default_y1_leave = 21;
+    // optional int32 carrier_default_y1_leave = 22;
     if (has_carrier_default_y1_leave()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->carrier_default_y1_leave());
     }
 
-    // optional int32 carrier_default_y_back = 22;
+    // optional int32 carrier_default_y_back = 23;
     if (has_carrier_default_y_back()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->carrier_default_y_back());
     }
 
-    // optional int32 carrier_default_y_leave = 23;
+    // optional int32 carrier_default_y_leave = 24;
     if (has_carrier_default_y_leave()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->carrier_default_y_leave());
     }
 
-    // optional int32 carrier_default_x_left = 24;
+    // optional int32 carrier_default_x_left = 25;
     if (has_carrier_default_x_left()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->carrier_default_x_left());
     }
 
-    // optional int32 carrier_default_x_right = 25;
+    // optional int32 carrier_default_x_right = 26;
     if (has_carrier_default_x_right()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
@@ -5631,24 +5666,27 @@ void Dispatch_coordinates_parameter_all::MergeFrom(const Dispatch_coordinates_pa
       catcher_wheel_base_limit_ = from.catcher_wheel_base_limit_;
     }
     if (cached_has_bits & 0x00008000u) {
-      carrier_default_y1_back_ = from.carrier_default_y1_back_;
+      carrier_y_y1_distance_ = from.carrier_y_y1_distance_;
     }
     _has_bits_[0] |= cached_has_bits;
   }
-  if (cached_has_bits & 2031616u) {
+  if (cached_has_bits & 4128768u) {
     if (cached_has_bits & 0x00010000u) {
-      carrier_default_y1_leave_ = from.carrier_default_y1_leave_;
+      carrier_default_y1_back_ = from.carrier_default_y1_back_;
     }
     if (cached_has_bits & 0x00020000u) {
-      carrier_default_y_back_ = from.carrier_default_y_back_;
+      carrier_default_y1_leave_ = from.carrier_default_y1_leave_;
     }
     if (cached_has_bits & 0x00040000u) {
-      carrier_default_y_leave_ = from.carrier_default_y_leave_;
+      carrier_default_y_back_ = from.carrier_default_y_back_;
     }
     if (cached_has_bits & 0x00080000u) {
-      carrier_default_x_left_ = from.carrier_default_x_left_;
+      carrier_default_y_leave_ = from.carrier_default_y_leave_;
     }
     if (cached_has_bits & 0x00100000u) {
+      carrier_default_x_left_ = from.carrier_default_x_left_;
+    }
+    if (cached_has_bits & 0x00200000u) {
       carrier_default_x_right_ = from.carrier_default_x_right_;
     }
     _has_bits_[0] |= cached_has_bits;
@@ -5698,6 +5736,7 @@ void Dispatch_coordinates_parameter_all::InternalSwap(Dispatch_coordinates_param
   swap(catcher_4th_floor_z_, other->catcher_4th_floor_z_);
   swap(catcher_d1_d2_distance_, other->catcher_d1_d2_distance_);
   swap(catcher_wheel_base_limit_, other->catcher_wheel_base_limit_);
+  swap(carrier_y_y1_distance_, other->carrier_y_y1_distance_);
   swap(carrier_default_y1_back_, other->carrier_default_y1_back_);
   swap(carrier_default_y1_leave_, other->carrier_default_y1_leave_);
   swap(carrier_default_y_back_, other->carrier_default_y_back_);

+ 70 - 36
dispatch/dispatch_parameter.pb.h

@@ -1871,45 +1871,52 @@ class Dispatch_coordinates_parameter_all : public ::google::protobuf::Message /*
   ::google::protobuf::int32 catcher_wheel_base_limit() const;
   void set_catcher_wheel_base_limit(::google::protobuf::int32 value);
 
-  // optional int32 carrier_default_y1_back = 20;
+  // optional int32 carrier_y_y1_distance = 20;
+  bool has_carrier_y_y1_distance() const;
+  void clear_carrier_y_y1_distance();
+  static const int kCarrierYY1DistanceFieldNumber = 20;
+  ::google::protobuf::int32 carrier_y_y1_distance() const;
+  void set_carrier_y_y1_distance(::google::protobuf::int32 value);
+
+  // optional int32 carrier_default_y1_back = 21;
   bool has_carrier_default_y1_back() const;
   void clear_carrier_default_y1_back();
-  static const int kCarrierDefaultY1BackFieldNumber = 20;
+  static const int kCarrierDefaultY1BackFieldNumber = 21;
   ::google::protobuf::int32 carrier_default_y1_back() const;
   void set_carrier_default_y1_back(::google::protobuf::int32 value);
 
-  // optional int32 carrier_default_y1_leave = 21;
+  // optional int32 carrier_default_y1_leave = 22;
   bool has_carrier_default_y1_leave() const;
   void clear_carrier_default_y1_leave();
-  static const int kCarrierDefaultY1LeaveFieldNumber = 21;
+  static const int kCarrierDefaultY1LeaveFieldNumber = 22;
   ::google::protobuf::int32 carrier_default_y1_leave() const;
   void set_carrier_default_y1_leave(::google::protobuf::int32 value);
 
-  // optional int32 carrier_default_y_back = 22;
+  // optional int32 carrier_default_y_back = 23;
   bool has_carrier_default_y_back() const;
   void clear_carrier_default_y_back();
-  static const int kCarrierDefaultYBackFieldNumber = 22;
+  static const int kCarrierDefaultYBackFieldNumber = 23;
   ::google::protobuf::int32 carrier_default_y_back() const;
   void set_carrier_default_y_back(::google::protobuf::int32 value);
 
-  // optional int32 carrier_default_y_leave = 23;
+  // optional int32 carrier_default_y_leave = 24;
   bool has_carrier_default_y_leave() const;
   void clear_carrier_default_y_leave();
-  static const int kCarrierDefaultYLeaveFieldNumber = 23;
+  static const int kCarrierDefaultYLeaveFieldNumber = 24;
   ::google::protobuf::int32 carrier_default_y_leave() const;
   void set_carrier_default_y_leave(::google::protobuf::int32 value);
 
-  // optional int32 carrier_default_x_left = 24;
+  // optional int32 carrier_default_x_left = 25;
   bool has_carrier_default_x_left() const;
   void clear_carrier_default_x_left();
-  static const int kCarrierDefaultXLeftFieldNumber = 24;
+  static const int kCarrierDefaultXLeftFieldNumber = 25;
   ::google::protobuf::int32 carrier_default_x_left() const;
   void set_carrier_default_x_left(::google::protobuf::int32 value);
 
-  // optional int32 carrier_default_x_right = 25;
+  // optional int32 carrier_default_x_right = 26;
   bool has_carrier_default_x_right() const;
   void clear_carrier_default_x_right();
-  static const int kCarrierDefaultXRightFieldNumber = 25;
+  static const int kCarrierDefaultXRightFieldNumber = 26;
   ::google::protobuf::int32 carrier_default_x_right() const;
   void set_carrier_default_x_right(::google::protobuf::int32 value);
 
@@ -1945,6 +1952,8 @@ class Dispatch_coordinates_parameter_all : public ::google::protobuf::Message /*
   void clear_has_catcher_d1_d2_distance();
   void set_has_catcher_wheel_base_limit();
   void clear_has_catcher_wheel_base_limit();
+  void set_has_carrier_y_y1_distance();
+  void clear_has_carrier_y_y1_distance();
   void set_has_carrier_default_y1_back();
   void clear_has_carrier_default_y1_back();
   void set_has_carrier_default_y1_leave();
@@ -1980,6 +1989,7 @@ class Dispatch_coordinates_parameter_all : public ::google::protobuf::Message /*
   ::google::protobuf::int32 catcher_4th_floor_z_;
   ::google::protobuf::int32 catcher_d1_d2_distance_;
   ::google::protobuf::int32 catcher_wheel_base_limit_;
+  ::google::protobuf::int32 carrier_y_y1_distance_;
   ::google::protobuf::int32 carrier_default_y1_back_;
   ::google::protobuf::int32 carrier_default_y1_leave_;
   ::google::protobuf::int32 carrier_default_y_back_;
@@ -3538,16 +3548,40 @@ inline void Dispatch_coordinates_parameter_all::set_catcher_wheel_base_limit(::g
   // @@protoc_insertion_point(field_set:Dispatch_proto.Dispatch_coordinates_parameter_all.catcher_wheel_base_limit)
 }
 
-// optional int32 carrier_default_y1_back = 20;
-inline bool Dispatch_coordinates_parameter_all::has_carrier_default_y1_back() const {
+// optional int32 carrier_y_y1_distance = 20;
+inline bool Dispatch_coordinates_parameter_all::has_carrier_y_y1_distance() const {
   return (_has_bits_[0] & 0x00008000u) != 0;
 }
-inline void Dispatch_coordinates_parameter_all::set_has_carrier_default_y1_back() {
+inline void Dispatch_coordinates_parameter_all::set_has_carrier_y_y1_distance() {
   _has_bits_[0] |= 0x00008000u;
 }
-inline void Dispatch_coordinates_parameter_all::clear_has_carrier_default_y1_back() {
+inline void Dispatch_coordinates_parameter_all::clear_has_carrier_y_y1_distance() {
   _has_bits_[0] &= ~0x00008000u;
 }
+inline void Dispatch_coordinates_parameter_all::clear_carrier_y_y1_distance() {
+  carrier_y_y1_distance_ = 0;
+  clear_has_carrier_y_y1_distance();
+}
+inline ::google::protobuf::int32 Dispatch_coordinates_parameter_all::carrier_y_y1_distance() const {
+  // @@protoc_insertion_point(field_get:Dispatch_proto.Dispatch_coordinates_parameter_all.carrier_y_y1_distance)
+  return carrier_y_y1_distance_;
+}
+inline void Dispatch_coordinates_parameter_all::set_carrier_y_y1_distance(::google::protobuf::int32 value) {
+  set_has_carrier_y_y1_distance();
+  carrier_y_y1_distance_ = value;
+  // @@protoc_insertion_point(field_set:Dispatch_proto.Dispatch_coordinates_parameter_all.carrier_y_y1_distance)
+}
+
+// optional int32 carrier_default_y1_back = 21;
+inline bool Dispatch_coordinates_parameter_all::has_carrier_default_y1_back() const {
+  return (_has_bits_[0] & 0x00010000u) != 0;
+}
+inline void Dispatch_coordinates_parameter_all::set_has_carrier_default_y1_back() {
+  _has_bits_[0] |= 0x00010000u;
+}
+inline void Dispatch_coordinates_parameter_all::clear_has_carrier_default_y1_back() {
+  _has_bits_[0] &= ~0x00010000u;
+}
 inline void Dispatch_coordinates_parameter_all::clear_carrier_default_y1_back() {
   carrier_default_y1_back_ = 0;
   clear_has_carrier_default_y1_back();
@@ -3562,15 +3596,15 @@ inline void Dispatch_coordinates_parameter_all::set_carrier_default_y1_back(::go
   // @@protoc_insertion_point(field_set:Dispatch_proto.Dispatch_coordinates_parameter_all.carrier_default_y1_back)
 }
 
-// optional int32 carrier_default_y1_leave = 21;
+// optional int32 carrier_default_y1_leave = 22;
 inline bool Dispatch_coordinates_parameter_all::has_carrier_default_y1_leave() const {
-  return (_has_bits_[0] & 0x00010000u) != 0;
+  return (_has_bits_[0] & 0x00020000u) != 0;
 }
 inline void Dispatch_coordinates_parameter_all::set_has_carrier_default_y1_leave() {
-  _has_bits_[0] |= 0x00010000u;
+  _has_bits_[0] |= 0x00020000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_has_carrier_default_y1_leave() {
-  _has_bits_[0] &= ~0x00010000u;
+  _has_bits_[0] &= ~0x00020000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_carrier_default_y1_leave() {
   carrier_default_y1_leave_ = 0;
@@ -3586,15 +3620,15 @@ inline void Dispatch_coordinates_parameter_all::set_carrier_default_y1_leave(::g
   // @@protoc_insertion_point(field_set:Dispatch_proto.Dispatch_coordinates_parameter_all.carrier_default_y1_leave)
 }
 
-// optional int32 carrier_default_y_back = 22;
+// optional int32 carrier_default_y_back = 23;
 inline bool Dispatch_coordinates_parameter_all::has_carrier_default_y_back() const {
-  return (_has_bits_[0] & 0x00020000u) != 0;
+  return (_has_bits_[0] & 0x00040000u) != 0;
 }
 inline void Dispatch_coordinates_parameter_all::set_has_carrier_default_y_back() {
-  _has_bits_[0] |= 0x00020000u;
+  _has_bits_[0] |= 0x00040000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_has_carrier_default_y_back() {
-  _has_bits_[0] &= ~0x00020000u;
+  _has_bits_[0] &= ~0x00040000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_carrier_default_y_back() {
   carrier_default_y_back_ = 0;
@@ -3610,15 +3644,15 @@ inline void Dispatch_coordinates_parameter_all::set_carrier_default_y_back(::goo
   // @@protoc_insertion_point(field_set:Dispatch_proto.Dispatch_coordinates_parameter_all.carrier_default_y_back)
 }
 
-// optional int32 carrier_default_y_leave = 23;
+// optional int32 carrier_default_y_leave = 24;
 inline bool Dispatch_coordinates_parameter_all::has_carrier_default_y_leave() const {
-  return (_has_bits_[0] & 0x00040000u) != 0;
+  return (_has_bits_[0] & 0x00080000u) != 0;
 }
 inline void Dispatch_coordinates_parameter_all::set_has_carrier_default_y_leave() {
-  _has_bits_[0] |= 0x00040000u;
+  _has_bits_[0] |= 0x00080000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_has_carrier_default_y_leave() {
-  _has_bits_[0] &= ~0x00040000u;
+  _has_bits_[0] &= ~0x00080000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_carrier_default_y_leave() {
   carrier_default_y_leave_ = 0;
@@ -3634,15 +3668,15 @@ inline void Dispatch_coordinates_parameter_all::set_carrier_default_y_leave(::go
   // @@protoc_insertion_point(field_set:Dispatch_proto.Dispatch_coordinates_parameter_all.carrier_default_y_leave)
 }
 
-// optional int32 carrier_default_x_left = 24;
+// optional int32 carrier_default_x_left = 25;
 inline bool Dispatch_coordinates_parameter_all::has_carrier_default_x_left() const {
-  return (_has_bits_[0] & 0x00080000u) != 0;
+  return (_has_bits_[0] & 0x00100000u) != 0;
 }
 inline void Dispatch_coordinates_parameter_all::set_has_carrier_default_x_left() {
-  _has_bits_[0] |= 0x00080000u;
+  _has_bits_[0] |= 0x00100000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_has_carrier_default_x_left() {
-  _has_bits_[0] &= ~0x00080000u;
+  _has_bits_[0] &= ~0x00100000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_carrier_default_x_left() {
   carrier_default_x_left_ = 0;
@@ -3658,15 +3692,15 @@ inline void Dispatch_coordinates_parameter_all::set_carrier_default_x_left(::goo
   // @@protoc_insertion_point(field_set:Dispatch_proto.Dispatch_coordinates_parameter_all.carrier_default_x_left)
 }
 
-// optional int32 carrier_default_x_right = 25;
+// optional int32 carrier_default_x_right = 26;
 inline bool Dispatch_coordinates_parameter_all::has_carrier_default_x_right() const {
-  return (_has_bits_[0] & 0x00100000u) != 0;
+  return (_has_bits_[0] & 0x00200000u) != 0;
 }
 inline void Dispatch_coordinates_parameter_all::set_has_carrier_default_x_right() {
-  _has_bits_[0] |= 0x00100000u;
+  _has_bits_[0] |= 0x00200000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_has_carrier_default_x_right() {
-  _has_bits_[0] &= ~0x00100000u;
+  _has_bits_[0] &= ~0x00200000u;
 }
 inline void Dispatch_coordinates_parameter_all::clear_carrier_default_x_right() {
   carrier_default_x_right_ = 0;

+ 11 - 6
dispatch/dispatch_parameter.proto

@@ -144,16 +144,21 @@ message Dispatch_coordinates_parameter_all
 
 
     optional int32                                      default_wheelbase = 13;
+
     optional int32                                      catcher_1th_floor_z = 14;
     optional int32                                      catcher_2th_floor_z = 15;
     optional int32                                      catcher_3th_floor_z = 16;
     optional int32                                      catcher_4th_floor_z = 17;
+
     optional int32                                      catcher_d1_d2_distance = 18;
     optional int32                                      catcher_wheel_base_limit = 19;
-    optional int32                                      carrier_default_y1_back = 20;
-    optional int32                                      carrier_default_y1_leave = 21;
-    optional int32                                      carrier_default_y_back = 22;
-    optional int32                                      carrier_default_y_leave = 23;
-    optional int32                                      carrier_default_x_left = 24;
-    optional int32                                      carrier_default_x_right = 25;
+
+    optional int32                                      carrier_y_y1_distance = 20;
+    optional int32                                      carrier_default_y1_back = 21;
+    optional int32                                      carrier_default_y1_leave = 22;
+    optional int32                                      carrier_default_y_back = 23;
+    optional int32                                      carrier_default_y_leave = 24;
+
+    optional int32                                      carrier_default_x_left = 25;
+    optional int32                                      carrier_default_x_right = 26;
 }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 2005 - 405
dispatch/dispatch_process.cpp


+ 66 - 45
dispatch/dispatch_process.h

@@ -43,7 +43,7 @@ class Dispatch_process : public tq::BaseTask
 {
 public:
 	//调度指令超时时间 300000ms = 5min
-#define DISPATCH_PROCESS_TIMEOUT_MS							300000
+#define DISPATCH_PROCESS_TIMEOUT_MS							600000
 //调度指令超时时间  衰减值 在原有的基础上减少30秒
 #define DISPATCH_PROCESS_ATTENUATION_TIMEOUT_MS				30000
 
@@ -97,7 +97,7 @@ public://API functions
 
 public://get or set member variable
 
-protected://member functions
+protected://主流程
 
 	//主线程
 	virtual void Main();
@@ -109,21 +109,24 @@ protected://member functions
 
 	//等待控制指令
 	Error_manager wait_dispatch_control_request_msg();
-
-	//连接调度设备, 后续还需要检查设备姿态, 防止意外.
+	//连接调度设备, 创建新的任务单 与设备建立连接
 	Error_manager connect_dispatch_device();
-
-	//检查机器手任务单
-	Error_manager check_catcher_task();
-	//检查搬运器任务单
-	Error_manager check_carrier_task();
-	//检查通道口任务单
-	Error_manager check_passageway_task();
-	//检查 任务单 是否完成任务, 里面会调整短步骤
-	Error_manager check_task_ex(std::shared_ptr<Task_Base> p_catcher_task, int& step);
 	//执行调度控制指令, 并根据完成情况给答复
 	Error_manager excute_dispatch_control();
+	//连接调度设备, 释放任务单 与设备解除连接
+	Error_manager disconnect_dispatch_device();
+
+	//等待调度总计划答复
+	Error_manager wait_dispatch_plan_response_msg();
+	//发送调度答复, 发给主控的
+	Error_manager send_dispatch_response_msg();
 
+	//通知调度管理, 释放资源,
+	Error_manager release_resource();
+	//异常处理
+	Error_manager Exception_handling();
+
+protected://长流程
 	//机器手去入口抓车(例如:机器手移动到2号入口上方,然后下降到一楼抓车,最后上升到最上方)
 	Error_manager excute_robot_catch_car_from_inlet();
 	//机器手把车放到中跑车上面(例如:机器手下降到中跑车上放车,最后上升到最上方)(通过目标点 指定放到哪一个中跑车上)
@@ -134,6 +137,7 @@ protected://member functions
 	Error_manager excute_robot_put_car_to_outlet();
 	//机器手的自由移动(例如:机器手移动到6号出入口的上方4楼处,给其他设备避让)(不进行抓车和放车的操作)
 	Error_manager excute_robot_move();
+
 	//搬运器从机器手上接车(例如:搬运器移动到2号入口的上方,然后等待机器手把车放到中跑车上,小跑车保持松夹杆状态)
 	Error_manager excute_carrier_receive_car_from_robot();
 	//搬运器把车存到停车位上(例如:小跑车夹车后,搬运器移动到56号停车位,然后小跑车将车存入车位,之后搬运器退回至电梯井)
@@ -152,33 +156,49 @@ protected://member functions
 	//执行通道口动作
 	Error_manager excute_passageway_motion();
 
+protected://短流程
+	//检查机器手任务单
+	Error_manager check_catcher_task();
+	//检查搬运器任务单
+	Error_manager check_carrier_task();
+	//检查通道口任务单
+	Error_manager check_passageway_task();
+	//检查 任务单 是否完成任务, 里面会调整短步骤
+	Error_manager check_task_ex(std::shared_ptr<Task_Base> p_catcher_task, int& step);
 
-	//等待调度总计划答复
-	Error_manager wait_dispatch_plan_response_msg();
-
-	//发送调度答复, 发给主控的
-	Error_manager send_dispatch_response_msg();
-
-	//通知调度管理, 释放资源,
-	Error_manager release_resource();
-
-	//异常处理
-	Error_manager Exception_handling();
-
-
-	//机器手调整到 正常待机的姿态
-	Error_manager cartcher_adjust_to_ready(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
+	//机器手调整到 正常待机的姿态(调节夹杆和轴距)
+	Error_manager catcher_adjust_to_ready(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
 	//机器手 移动z
-	Error_manager cartcher_move_z(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates, float target);
+	Error_manager catcher_move_z(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates, float target);
 	//机器手调整到 准备从地面抓车前的姿态
-	Error_manager cartcher_adjust_from_ground(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
+	Error_manager catcher_adjust_from_ground(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
 	//机器手 修正轴距, 如果轴距大于3000mm, 那么就要修正轴距.
-	Error_manager cartcher_adjust_wheel_base(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
+	Error_manager catcher_adjust_wheel_base(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
 	//机器手 移动c轴 夹杆
-	Error_manager cartcher_move_c(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates, Catcher_task::Clamp_motion target);
-	//机器手调整到 准备把车放到搬运器的姿态
-	Error_manager cartcher_adjust_to_carrier(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
-
+	Error_manager catcher_move_c(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates, Catcher_task::Clamp_motion target);
+	//机器手调整到 对接搬运器的姿态
+	Error_manager catcher_adjust_to_carrier(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates, bool reverse_flag);
+	//机器手调整到 准备把车放到地面的姿态
+	Error_manager catcher_adjust_to_ground(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
+	//机器手调整到 对接搬运器的姿态
+	Error_manager catcher_adjust_from_carrier(Catcher * tp_catcher, Catcher_task * tp_catcher_task, Dispatch_coordinates * tp_dispatch_coordinates);
+
+	//搬运器调整到 正常待机的姿态(调节夹杆和轴距)
+	Error_manager carrier_adjust_to_ready(Carrier * tp_carrier, Carrier_task * tp_carrier_task, Dispatch_coordinates * tp_dispatch_coordinates);
+	//搬运器 移动x
+	Error_manager carrier_move_x(Carrier * tp_carrier, Carrier_task * tp_carrier_task, Dispatch_coordinates * tp_dispatch_coordinates, float target);
+	//搬运器 移动y
+	Error_manager carrier_move_y(Carrier * tp_carrier, Carrier_task * tp_carrier_task, Dispatch_coordinates * tp_dispatch_coordinates, float target);
+	//搬运器 移动z
+	Error_manager carrier_move_z(Carrier * tp_carrier, Carrier_task * tp_carrier_task, Dispatch_coordinates * tp_dispatch_coordinates, float target);
+	//搬运器 移动c轴 夹车杆
+	Error_manager carrier_move_c(Carrier * tp_carrier, Carrier_task * tp_carrier_task, Dispatch_coordinates * tp_dispatch_coordinates, Carrier_task::Clamp_motion target);
+	//搬运器调整 水平的交接
+	Error_manager carrier_joint_x(Carrier * tp_carrier, Carrier_task * tp_carrier_task, Dispatch_coordinates * tp_dispatch_coordinates, Carrier_task::Joint_motion target);
+	//搬运器 修正轴距
+	Error_manager carrier_adjust_wheel_base(Carrier * tp_carrier, Carrier_task * tp_carrier_task, Dispatch_coordinates * tp_dispatch_coordinates);
+//	//搬运器调整到 正常待机的姿态
+//	Error_manager carrier_adjust_to_ready(Carrier * tp_carrier, Carrier_task * tp_carrier_task, Dispatch_coordinates * tp_dispatch_coordinates);
 
 public://member variable
 	Dispatch_process_status					m_dispatch_process_status;	//调度流程的状态, 控制步骤
@@ -191,25 +211,26 @@ public://member variable
 	Common_data::Car_measure_information	m_car_measure_information;	//整车的测量信息
 	Common_data::Parkspace_information		m_parkspace_information;	//单个车位基本信息与状态信息,车位信息以及车位上的车辆信息
 
-	//硬件资源
-	std::shared_ptr<Dispatch_device_base>	mp_catcher;					//抓车器指针, 内存由Dispatch_manager来管理
-	std::shared_ptr<Task_Base>				mp_catcher_task;			//抓车器任务, 内存由本模块管理
-	std::shared_ptr<Dispatch_device_base>	mp_carrier;					//搬运器指针, 内存由Dispatch_manager来管理
-	std::shared_ptr<Task_Base>				mp_carrier_task;			//搬运器任务, 内存由本模块管理
-	std::shared_ptr<Dispatch_device_base>	mp_passageway;				//通道口指针, 内存由Dispatch_manager来管理
-	std::shared_ptr<Task_Base>				mp_passageway_task;			//通道口任务, 内存由本模块管理
-
-
 	std::string								m_command_key;						//任务唯一码
 	int 									m_timeout_ms;						//超时时间,单位ms
 	std::chrono::system_clock::time_point	m_start_time;						//流程开始时间
 	Error_manager 							m_result;							//流程的执行结果
 	Point3D_tool::Point3D					m_source_coordinates;				//起点 的坐标
 	Point3D_tool::Point3D					m_destination_coordinates;			//终点 的坐标
+	float 									m_wheel_base;						//轮距
 	Dispatch_process_catcher_motion			m_dispatch_process_catcher_motion;	//机器手的动作, 控制步骤
 	Dispatch_process_carrier_motion			m_dispatch_process_carrier_motion;	//搬运器的动作, 控制步骤
 
 
+
+	//硬件资源
+	std::shared_ptr<Dispatch_device_base>	mp_catcher;					//抓车器指针, 内存由Dispatch_manager来管理
+	std::shared_ptr<Task_Base>				mp_catcher_task;			//抓车器任务, 内存由本模块管理
+	std::shared_ptr<Dispatch_device_base>	mp_carrier;					//搬运器指针, 内存由Dispatch_manager来管理
+	std::shared_ptr<Task_Base>				mp_carrier_task;			//搬运器任务, 内存由本模块管理
+	std::shared_ptr<Dispatch_device_base>	mp_passageway;				//通道口指针, 内存由Dispatch_manager来管理
+	std::shared_ptr<Task_Base>				mp_passageway_task;			//通道口任务, 内存由本模块管理
+
 	//通信缓存
 	message::Dispatch_request_msg			m_dispatch_request_msg;				//1执行搬运请求(主控->调度管理)
 	message::Dispatch_plan_request_msg		m_dispatch_plan_request_msg;		//2调度总规划的请求, 用于启动整个调度算法(调度管理->调度算法)
@@ -217,7 +238,7 @@ public://member variable
 	message::Dispatch_control_response_msg	m_dispatch_control_response_msg;	//4调度控制的任务答复(调度管理->调度算法)
 	message::Dispatch_plan_response_msg		m_dispatch_plan_response_msg;		//5调度总规划的答复(调度算法->调度管理)
 	message::Dispatch_response_msg			m_dispatch_response_msg;			//6搬运动作执行完成后反馈结果(调度管理->主控)
-	//流程通信顺序为  收1->发2->收3->发4->收3->发4->收3->发4->收5->发6
+	//流程通信顺序为  收1->发2  ->收3->发4->收3->发4->收3->发4.....  ->收5->发6
 
 private:
 

+ 1 - 0
setting/dispatch_coordinates.prototxt

@@ -3289,6 +3289,7 @@ catcher_4th_floor:5410
 catcher_d1_d2_distance:1903
 catcher_wheel_base_limit:3000
 
+carrier_y_y1_distance:1500
 carrier_default_y1_back:4500
 carrier_default_y1_leave:10500
 carrier_default_y_back:3000