Explorar o código

20221101 chutian

yct %!s(int64=2) %!d(string=hai) anos
pai
achega
f0d062d4c2

+ 1 - 0
main.cpp

@@ -139,6 +139,7 @@ int main(int argc,char* argv[])
 		LOG(ERROR) << "system communication mq init failed: " << ec.to_string();
 		return -1;
 	}
+	System_communication_mq::get_instance_references().set_encapsulate_status_cycle_time(100);
 
 	// prev_test_pred_task();
 	// test_whole_process();

+ 20 - 20
message/measure_message.pb.cc

@@ -393,7 +393,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::measure_info, height_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::measure_info, wheelbase_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::measure_info, front_theta_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::measure_info, border_stuta_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::measure_info, border_statu_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::measure_info, ground_status_),
   0,
   1,
@@ -548,8 +548,8 @@ void AddDescriptorsImpl() {
       "ate\"\271\001\n\014measure_info\022\n\n\002cx\030\001 \002(\002\022\n\n\002cy\030\002"
       " \002(\002\022\r\n\005theta\030\003 \002(\002\022\016\n\006length\030\004 \002(\002\022\r\n\005w"
       "idth\030\005 \002(\002\022\016\n\006height\030\006 \002(\002\022\021\n\twheelbase\030"
-      "\007 \002(\002\022\023\n\013front_theta\030\010 \002(\002\022\024\n\014border_stu"
-      "ta\030\t \002(\005\022\025\n\rground_status\030\n \002(\005\"3\n\020Cloud"
+      "\007 \002(\002\022\023\n\013front_theta\030\010 \002(\002\022\024\n\014border_sta"
+      "tu\030\t \002(\005\022\025\n\rground_status\030\n \002(\005\"3\n\020Cloud"
       "_coordinate\022\t\n\001x\030\001 \002(\002\022\t\n\001y\030\002 \002(\002\022\t\n\001z\030\003"
       " \002(\002\"\032\n\nCloud_type\022\014\n\004type\030\001 \002(\005\"\304\001\n\027Loc"
       "ate_sift_request_msg\022%\n\tbase_info\030\001 \002(\0132"
@@ -3828,7 +3828,7 @@ const int measure_info::kWidthFieldNumber;
 const int measure_info::kHeightFieldNumber;
 const int measure_info::kWheelbaseFieldNumber;
 const int measure_info::kFrontThetaFieldNumber;
-const int measure_info::kBorderStutaFieldNumber;
+const int measure_info::kBorderStatuFieldNumber;
 const int measure_info::kGroundStatusFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
@@ -3891,9 +3891,9 @@ void measure_info::Clear() {
         reinterpret_cast<char*>(&cx_)) + sizeof(front_theta_));
   }
   if (cached_has_bits & 768u) {
-    ::memset(&border_stuta_, 0, static_cast<size_t>(
+    ::memset(&border_statu_, 0, static_cast<size_t>(
         reinterpret_cast<char*>(&ground_status_) -
-        reinterpret_cast<char*>(&border_stuta_)) + sizeof(ground_status_));
+        reinterpret_cast<char*>(&border_statu_)) + sizeof(ground_status_));
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
@@ -4021,14 +4021,14 @@ bool measure_info::MergePartialFromCodedStream(
         break;
       }
 
-      // required int32 border_stuta = 9;
+      // required int32 border_statu = 9;
       case 9: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(72u /* 72 & 0xFF */)) {
-          set_has_border_stuta();
+          set_has_border_statu();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &border_stuta_)));
+                 input, &border_statu_)));
         } else {
           goto handle_unusual;
         }
@@ -4116,9 +4116,9 @@ void measure_info::SerializeWithCachedSizes(
     ::google::protobuf::internal::WireFormatLite::WriteFloat(8, this->front_theta(), output);
   }
 
-  // required int32 border_stuta = 9;
+  // required int32 border_statu = 9;
   if (cached_has_bits & 0x00000100u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(9, this->border_stuta(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(9, this->border_statu(), output);
   }
 
   // required int32 ground_status = 10;
@@ -4181,9 +4181,9 @@ void measure_info::SerializeWithCachedSizes(
     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(8, this->front_theta(), target);
   }
 
-  // required int32 border_stuta = 9;
+  // required int32 border_statu = 9;
   if (cached_has_bits & 0x00000100u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(9, this->border_stuta(), target);
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(9, this->border_statu(), target);
   }
 
   // required int32 ground_status = 10;
@@ -4243,11 +4243,11 @@ size_t measure_info::RequiredFieldsByteSizeFallback() const {
     total_size += 1 + 4;
   }
 
-  if (has_border_stuta()) {
-    // required int32 border_stuta = 9;
+  if (has_border_statu()) {
+    // required int32 border_statu = 9;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::Int32Size(
-        this->border_stuta());
+        this->border_statu());
   }
 
   if (has_ground_status()) {
@@ -4293,10 +4293,10 @@ size_t measure_info::ByteSizeLong() const {
     // required float front_theta = 8;
     total_size += 1 + 4;
 
-    // required int32 border_stuta = 9;
+    // required int32 border_statu = 9;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::Int32Size(
-        this->border_stuta());
+        this->border_statu());
 
     // required int32 ground_status = 10;
     total_size += 1 +
@@ -4363,7 +4363,7 @@ void measure_info::MergeFrom(const measure_info& from) {
   }
   if (cached_has_bits & 768u) {
     if (cached_has_bits & 0x00000100u) {
-      border_stuta_ = from.border_stuta_;
+      border_statu_ = from.border_statu_;
     }
     if (cached_has_bits & 0x00000200u) {
       ground_status_ = from.ground_status_;
@@ -4405,7 +4405,7 @@ void measure_info::InternalSwap(measure_info* other) {
   swap(height_, other->height_);
   swap(wheelbase_, other->wheelbase_);
   swap(front_theta_, other->front_theta_);
-  swap(border_stuta_, other->border_stuta_);
+  swap(border_statu_, other->border_statu_);
   swap(ground_status_, other->ground_status_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);

+ 23 - 23
message/measure_message.pb.h

@@ -1500,12 +1500,12 @@ class measure_info : public ::google::protobuf::Message /* @@protoc_insertion_po
   float front_theta() const;
   void set_front_theta(float value);
 
-  // required int32 border_stuta = 9;
-  bool has_border_stuta() const;
-  void clear_border_stuta();
-  static const int kBorderStutaFieldNumber = 9;
-  ::google::protobuf::int32 border_stuta() const;
-  void set_border_stuta(::google::protobuf::int32 value);
+  // required int32 border_statu = 9;
+  bool has_border_statu() const;
+  void clear_border_statu();
+  static const int kBorderStatuFieldNumber = 9;
+  ::google::protobuf::int32 border_statu() const;
+  void set_border_statu(::google::protobuf::int32 value);
 
   // required int32 ground_status = 10;
   bool has_ground_status() const;
@@ -1532,8 +1532,8 @@ class measure_info : public ::google::protobuf::Message /* @@protoc_insertion_po
   void clear_has_wheelbase();
   void set_has_front_theta();
   void clear_has_front_theta();
-  void set_has_border_stuta();
-  void clear_has_border_stuta();
+  void set_has_border_statu();
+  void clear_has_border_statu();
   void set_has_ground_status();
   void clear_has_ground_status();
 
@@ -1551,7 +1551,7 @@ class measure_info : public ::google::protobuf::Message /* @@protoc_insertion_po
   float height_;
   float wheelbase_;
   float front_theta_;
-  ::google::protobuf::int32 border_stuta_;
+  ::google::protobuf::int32 border_statu_;
   ::google::protobuf::int32 ground_status_;
   friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
 };
@@ -3937,28 +3937,28 @@ inline void measure_info::set_front_theta(float value) {
   // @@protoc_insertion_point(field_set:message.measure_info.front_theta)
 }
 
-// required int32 border_stuta = 9;
-inline bool measure_info::has_border_stuta() const {
+// required int32 border_statu = 9;
+inline bool measure_info::has_border_statu() const {
   return (_has_bits_[0] & 0x00000100u) != 0;
 }
-inline void measure_info::set_has_border_stuta() {
+inline void measure_info::set_has_border_statu() {
   _has_bits_[0] |= 0x00000100u;
 }
-inline void measure_info::clear_has_border_stuta() {
+inline void measure_info::clear_has_border_statu() {
   _has_bits_[0] &= ~0x00000100u;
 }
-inline void measure_info::clear_border_stuta() {
-  border_stuta_ = 0;
-  clear_has_border_stuta();
+inline void measure_info::clear_border_statu() {
+  border_statu_ = 0;
+  clear_has_border_statu();
 }
-inline ::google::protobuf::int32 measure_info::border_stuta() const {
-  // @@protoc_insertion_point(field_get:message.measure_info.border_stuta)
-  return border_stuta_;
+inline ::google::protobuf::int32 measure_info::border_statu() const {
+  // @@protoc_insertion_point(field_get:message.measure_info.border_statu)
+  return border_statu_;
 }
-inline void measure_info::set_border_stuta(::google::protobuf::int32 value) {
-  set_has_border_stuta();
-  border_stuta_ = value;
-  // @@protoc_insertion_point(field_set:message.measure_info.border_stuta)
+inline void measure_info::set_border_statu(::google::protobuf::int32 value) {
+  set_has_border_statu();
+  border_statu_ = value;
+  // @@protoc_insertion_point(field_set:message.measure_info.border_statu)
 }
 
 // required int32 ground_status = 10;

+ 1 - 1
message/measure_message.proto

@@ -161,7 +161,7 @@ message measure_info {
   required float height=6;
   required float wheelbase=7;
   required float front_theta=8;
-  required int32 border_stuta=9;
+  required int32 border_statu=9;
   required int32 ground_status=10; // 电子围栏状态, 0 ok, 1 nothing, 2 noise, 3 border
 }
 

+ 37 - 1
setting/rabbitmq.prototxt

@@ -43,6 +43,34 @@ rabbitmq_parameters
 #         consume_exclusive:0
 #     }
 
+    rabbitmq_sender_status_vector
+    {
+        channel:411
+        exchange_name:"statu_ex"
+        routing_key:"measure_1_statu_port"
+        timeout_ms:0
+    }
+    rabbitmq_sender_status_vector
+    {
+        channel:411
+        exchange_name:"statu_ex"
+        routing_key:"measure_2_statu_port"
+        timeout_ms:0
+    }
+    rabbitmq_sender_status_vector
+    {
+        channel:411
+        exchange_name:"statu_ex"
+        routing_key:"measure_3_statu_port"
+        timeout_ms:0
+    }
+    rabbitmq_sender_status_vector
+    {
+        channel:411
+        exchange_name:"statu_ex"
+        routing_key:"measure_4_statu_port"
+        timeout_ms:0
+    }
     rabbitmq_sender_status_vector
     {
         channel:411
@@ -50,4 +78,12 @@ rabbitmq_parameters
         routing_key:"measure_5_statu_port"
         timeout_ms:0
     }
-}
+    rabbitmq_sender_status_vector
+    {
+        channel:411
+        exchange_name:"statu_ex"
+        routing_key:"measure_6_statu_port"
+        timeout_ms:0
+    }
+}
+

+ 71 - 71
setting/velodyne_manager.prototxt

@@ -6,31 +6,31 @@ distribution_mode:false
 
 #-----------------------------------lidars, id 0-6 from A1-C2
 
-# # 6 lidar 192.168.1.201
-# velodyne_lidars
-# {
-#     ip:""
-#     port:2368
-#     model:"VLP16"
-#     calibrationFile:"../setting/VLP16db.yaml"
-#     lidar_id:6
-#     max_range:8.0
-#     min_range:0.1
-#     min_angle:0
-#     max_angle:360
-#     rpm:600
-#     calib
-#     {
-#          r:-0.276397
-#          p:-0.11717
-#          y:89.6003
-#          cz:0.05467
-#         #r:-0.623165
-#         #p:0.601821
-#         #y:87.0198
-#         #cz:0.101527
-#     }
-# }
+ # 6 lidar 192.168.1.201
+velodyne_lidars
+{
+    ip:""
+    port:2368
+    model:"VLP16"
+    calibrationFile:"../setting/VLP16db.yaml"
+    lidar_id:6
+    max_range:8.0
+    min_range:0.1
+    min_angle:0
+    max_angle:360
+    rpm:600
+    calib
+    {
+         r:-0.276397
+         p:-0.11717
+         y:88.703  #89.6003
+         cz:0.05467
+        #r:-0.623165
+        #p:0.601821
+        #y:87.0198
+        #cz:0.101527
+    }
+}
 
 # 5 lidar 192.168.1.202
 velodyne_lidars
@@ -172,52 +172,52 @@ velodyne_lidars
 
 #-----------------------------------regions, 0-5 from A1 to C2
 
-# # 5 region
-# region
-# {
-#     minx:-1.6
-# 	maxx:1.6
-# 	miny:-2.6
-# 	maxy:2.6
-# 	minz:0.025
-# 	maxz:0.5
-#     region_id:5
-#     turnplate_cx:0.0
-#     turnplate_cy:0.0
-#     border_minx:-1.2
-#     border_maxx:1.2
-#     plc_offsetx:1.913
-#     plc_offsety:-6.078
-#     plc_offset_degree:-89.5
-#     plc_border_miny:-7.51
-#     car_min_width:1.55
-#     car_max_width:1.92
-#     car_min_wheelbase:2.3
-#     car_max_wheelbase:3.15
-#     turnplate_angle_limit_anti_clockwise:5.3
-#     turnplate_angle_limit_clockwise:5.3
+# 5 region
+region
+{
+    minx:-1.6
+	maxx:1.6
+	miny:-2.6
+	maxy:2.6
+	minz:0.025
+	maxz:0.5
+    region_id:5
+    turnplate_cx:0.0
+    turnplate_cy:0.0
+    border_minx:-1.2
+    border_maxx:1.2
+    plc_offsetx:1.913
+    plc_offsety:-6.078
+    plc_offset_degree:-89.5
+    plc_border_miny:-7.51
+    car_min_width:1.55
+    car_max_width:1.92
+    car_min_wheelbase:2.3
+    car_max_wheelbase:3.15
+    turnplate_angle_limit_anti_clockwise:5.3
+    turnplate_angle_limit_clockwise:5.3
 
-#     lidar_exts
-#     {
-#         lidar_id:6
-#         calib
-#         {
-#             cx:1.9018
-#             cy:-0.0175
-#         }
-#     }
-#     lidar_exts
-#     {
-#         lidar_id:5
-#         calib
-#         {
-#             #cx:-4.021775
-#             #cy:-0.039429
-#             cx:-1.9018
-#             cy:0.0175
-#         }
-#     }
-# }
+    lidar_exts
+    {
+        lidar_id:6
+        calib
+        {
+            cx:1.89004
+            cy:0
+        }
+    }
+    lidar_exts
+    {
+        lidar_id:5
+        calib
+        {
+            #cx:-4.021775
+            #cy:-0.039429
+            cx:-1.89004
+            cy:0
+        }
+    }
+}
 
 # 4 region
 # 利用共用雷达标定plc偏移量
@@ -469,4 +469,4 @@ region
             cy:0.01367
         }
     }
-}
+}

+ 8 - 3
system/system_executor.cpp

@@ -622,7 +622,12 @@ Error_manager System_executor::encapsulate_send_mq_status()
 
 		update_measure_info(t_multi_status_msg, t_car_wheel_information, t_region_cloud->size());
 
-		if(t_multi_status_msg.id_struct().terminal_id() == 4)
+		if(t_multi_status_msg.id_struct().terminal_id() == 4 ||
+			t_multi_status_msg.id_struct().terminal_id() == 0||
+			t_multi_status_msg.id_struct().terminal_id() == 5||
+			t_multi_status_msg.id_struct().terminal_id() == 1||
+			t_multi_status_msg.id_struct().terminal_id() == 3||
+			t_multi_status_msg.id_struct().terminal_id() == 2)
 		{
 			// rabbitmq new measure info
 			message::measure_info t_multi_measure_info_msg;
@@ -634,7 +639,7 @@ Error_manager System_executor::encapsulate_send_mq_status()
 			t_multi_measure_info_msg.set_height(0.0f);
 			t_multi_measure_info_msg.set_wheelbase(t_car_wheel_information.car_wheel_base);
 			t_multi_measure_info_msg.set_front_theta(t_car_wheel_information.car_front_theta);
-			t_multi_measure_info_msg.set_border_stuta(t_car_wheel_information.range_status);
+			t_multi_measure_info_msg.set_border_statu(t_car_wheel_information.range_status);
 			
 			auto t_ground_status = t_multi_status_msg.ground_status();
 			if(t_ground_status == message::Ground_statu::Car_correct)
@@ -653,7 +658,7 @@ Error_manager System_executor::encapsulate_send_mq_status()
 			}
 			
 			std::string t_msg = t_multi_measure_info_msg.DebugString();
-			System_communication_mq::get_instance_references().encapsulate_status_msg(t_msg, 0);
+			System_communication_mq::get_instance_references().encapsulate_status_msg(t_msg, t_multi_status_msg.id_struct().terminal_id());
 		}
 		if (t_multi_status_msg.id_struct().terminal_id() == DISP_TERM_ID)
 			std::cout << t_multi_status_msg.DebugString() << std::endl