huli %!s(int64=4) %!d(string=hai) anos
pai
achega
f8813ef6e3

+ 102 - 95
error_code/error_code.h

@@ -96,7 +96,7 @@ enum Error_code
 	LASER_QUEUE_ERROR,								//雷达基类模块, 数据缓存错误
 
 
-//    laser_livox.cpp的错误码
+//   livox  大疆雷达
     LIVOX_ERROR_BASE                = 0x01020000,
     LIVOX_START_FAILE,								//livox模块,开始扫描失败
 	LIVOX_TASK_TYPE_ERROR,							//livox模块,任务类型错误
@@ -150,61 +150,66 @@ enum Error_code
 	LOCATER_MANAGER_TASK_TYPE_ERROR,					//定位管理模块,任务类型错误
 	LOCATER_MANAGER_IS_NOT_READY,						//定位管理模块,不在准备状态
 	LOCATER_MANAGER_CLOUD_MAP_ERROR,					//定位管理模块,任务输入点云map的error
-	LOCATE_MANAGER_TASK_OVER_TIME,						//定位管理模块,任务超时
-
-
-	//Locater.cpp error from 0x0301000-0x030100FF
-	LOCATER_TASK_INIT_CLOUD_EMPTY ,
-    LOCATER_TASK_ERROR,
-    LOCATER_TASK_INPUT_CLOUD_UNINIT,
-    LOCATER_INPUT_CLOUD_EMPTY,
-    LOCATER_YOLO_UNINIT,
-    LOCATER_POINTSIFT_UNINIT,
-    LOCATER_3DCNN_UNINIT,
-    LOCATER_INPUT_YOLO_CLOUD_EMPTY,
-    LOCATER_Y_OUT_RANGE_BY_PLC,
-    LOCATER_MEASURE_HEIGHT_CLOUD_UNINIT,
-    LOCATER_MEASURE_HEIGHT_CLOUD_EMPTY,
-    LOCATER_INPUT_CLOUD_UNINIT,
-
-
-    //point sift from 0x03010100-0x030101FF
-    LOCATER_SIFT_INIT_FAILED=0x03010100,
-    LOCATER_SIFT_INPUT_CLOUD_UNINIT,
-	LOCATER_SIFT_INPUT_CLOUD_EMPTY,
-	LOCATER_SIFT_GRID_ERROR,
-	LOCATER_SIFT_SELECT_ERROR,
-	LOCATER_SIFT_CLOUD_VERY_LITTLE,
-	LOCATER_SIFT_CREATE_INPUT_DATA_FAILED,
-	LOCATER_SIFT_PREDICT_FAILED,
-	LOCATER_SIFT_PREDICT_TIMEOUT,
-	LOCATER_SIFT_PREDICT_NO_WHEEL_POINT,
-	LOCATER_SIFT_PREDICT_NO_CAR_POINT,
-
-    LOCATER_SIFT_FILTE_OBS_FAILED,
-    LOCATER_SIFT_INPUT_BOX_PARAMETER_FAILED,
-
-//    //yolo from 0x03010200-0x030102FF
-//        LOCATER_YOLO_DETECT_FAILED=0x03010200,
-//    LOCATER_YOLO_DETECT_NO_TARGET,
-//    LOCATER_YOLO_PARAMETER_INVALID,
-//    LOCATER_YOLO_INPUT_CLOUD_UNINIT,
-
-    //3dcnn from 0x03010300-0x030103FF
-    LOCATER_3DCNN_INIT_FAILED=0x03010300,
-    LOCATER_3DCNN_INPUT_CLOUD_UNINIT,
-	LOCATER_3DCNN_INPUT_CLOUD_EMPTY,
-	LOCATER_3DCNN_INPUT_CLOUD_MAP_ERROR,
-	LOCATER_3DCNN_PCA_OUT_ERROR,
-	LOCATER_3DCNN_EXTRACT_RECT_ERROR,
-	LOCATER_3DCNN_RECT_SIZE_ERROR,
-
-    LOCATER_3DCNN_PREDICT_FAILED,
-    LOCATER_3DCNN_VERIFY_RECT_FAILED_3,
-    LOCATER_3DCNN_VERIFY_RECT_FAILED_4,
-    LOCATER_3DCNN_KMEANS_FAILED,
-    LOCATER_3DCNN_IIU_FAILED,
-    LOCATER_3DCNN_PCA_OUT_CLOUD_EMPTY,
+	LOCATER_MANAGER_TASK_OVER_TIME,						//定位管理模块,任务超时
+
+
+	//Locater  算法模块	
+	LOCATER_ALGORITHM_ERROR_BASE					= 0x03020000,
+	LOCATER_TASK_INIT_CLOUD_EMPTY,						//定位任务初始化点云为空
+	LOCATER_TASK_ERROR,									//定位任务错误
+	LOCATER_TASK_INPUT_CLOUD_UNINIT,					//定位任务输入点云为空
+	LOCATER_INPUT_CLOUD_EMPTY,							//定位输入点云为空
+	LOCATER_YOLO_UNINIT,								//定位yolo未初始化
+	LOCATER_POINTSIFT_UNINIT,							//定位POINTSIFT未初始化
+	LOCATER_3DCNN_UNINIT,								//定位3DCNN未初始化
+	LOCATER_INPUT_YOLO_CLOUD_EMPTY,						//定位输入yolo点云为空
+	LOCATER_Y_OUT_RANGE_BY_PLC,							//定位超出plc的限制范围
+	LOCATER_MEASURE_HEIGHT_CLOUD_UNINIT,				//定位测量高点云未初始化
+	LOCATER_MEASURE_HEIGHT_CLOUD_EMPTY,					//定位测量高点云为空
+	LOCATER_INPUT_CLOUD_UNINIT,							//定位输入点云未初始化
+
+
+	//point	sift	from	0x03010100-0x030101FF
+	LOCATER_SIFT_ERROR_BASE							= 0x03020100,
+	LOCATER_SIFT_INIT_FAILED,							//定位过滤模块,初始化失败
+	LOCATER_SIFT_INPUT_CLOUD_UNINIT,					//定位过滤模块,输入点云未初始化
+	LOCATER_SIFT_INPUT_CLOUD_EMPTY,						//定位过滤模块,输入点云为空
+	LOCATER_SIFT_GRID_ERROR,							//定位过滤模块,筛选网格错误
+	LOCATER_SIFT_SELECT_ERROR,							//定位过滤模块,筛选选择错误
+	LOCATER_SIFT_CLOUD_VERY_LITTLE,						//定位过滤模块,筛选点云很少
+	LOCATER_SIFT_CREATE_INPUT_DATA_FAILED,				//定位过滤模块,筛选创建输入数据失败
+	LOCATER_SIFT_PREDICT_FAILED,						//定位过滤模块,预测失败
+	LOCATER_SIFT_PREDICT_TIMEOUT,						//定位过滤模块,预测超时
+	LOCATER_SIFT_PREDICT_NO_WHEEL_POINT,				//定位过滤模块,预测结果没有车轮点云
+	LOCATER_SIFT_PREDICT_NO_CAR_POINT,					//定位过滤模块,预测结果没有车身点云
+
+	LOCATER_SIFT_FILTE_OBS_FAILED,						//定位过滤模块,过滤OBS失败
+	LOCATER_SIFT_INPUT_BOX_PARAMETER_FAILED,			//定位过滤模块,输入范围参数错误
+
+//	//yolo	
+//	LOCATER_YOLO_ERROR_BASE	=0x03020200,
+//	LOCATER_YOLO_DETECT_FAILED,
+//	LOCATER_YOLO_DETECT_NO_TARGET,
+//	LOCATER_YOLO_PARAMETER_INVALID,
+//	LOCATER_YOLO_INPUT_CLOUD_UNINIT,
+
+	//3dcnn	from	0x03010300-0x030103FF
+	LOCATER_3DCNN_ERROR_BASE						=0x03020300,
+	LOCATER_3DCNN_INIT_FAILED,							//定位3DCNN模块,初始化失败
+	LOCATER_3DCNN_INPUT_CLOUD_UNINIT,					//定位3DCNN模块,输入点云未初始化
+	LOCATER_3DCNN_INPUT_CLOUD_EMPTY,					//定位3DCNN模块,输入点云为空
+	LOCATER_3DCNN_INPUT_CLOUD_MAP_ERROR,				//定位3DCNN模块,输入点云的map错误
+	LOCATER_3DCNN_PCA_OUT_ERROR,						//定位3DCNN模块,pca错误
+	LOCATER_3DCNN_EXTRACT_RECT_ERROR,					//定位3DCNN模块,提取矩形错误
+	LOCATER_3DCNN_RECT_SIZE_ERROR,						//定位3DCNN模块,矩形范围错误
+
+	LOCATER_3DCNN_PREDICT_FAILED,						//定位3DCNN模块,预测失败
+	LOCATER_3DCNN_VERIFY_RECT_FAILED_3,					//定位3DCNN模块,验证矩形失败3
+	LOCATER_3DCNN_VERIFY_RECT_FAILED_4,					//定位3DCNN模块,验证矩形失败4
+	LOCATER_3DCNN_KMEANS_FAILED,						//定位3DCNN模块,k均值失败
+	LOCATER_3DCNN_IIU_FAILED,							//定位3DCNN模块,IIU失败
+	LOCATER_3DCNN_PCA_OUT_CLOUD_EMPTY,					//定位3DCNN模块,pca输出点云为空
+
 
     //System_manager error from 0x04010000-0x0401FFFF
     SYSTEM_READ_PARAMETER_ERROR=0x04010100,
@@ -240,8 +245,8 @@ enum Error_code
     HARDWARE_LIMIT_TERMINAL_LR_ERROR,
 
 
-
-    WANJI_LIDAR_DEVICE_ERROR_BASE=0x06080000,						//万集设备模块,错误基类
+//万集设备模块,
+    WANJI_LIDAR_DEVICE_ERROR_BASE								=0x06080000,//万集设备模块,错误基类
 	WANJI_LIDAR_DEVICE_STATUS_BUSY,									//万集设备模块,状态正忙
 	WANJI_LIDAR_DEVICE_STATUS_ERROR,								//万集设备模块,状态错误
 	WANJI_LIDAR_DEVICE_TASK_TYPE_ERROR,								//万集设备模块,任务类型错误
@@ -249,42 +254,43 @@ enum Error_code
 	WANJI_LIDAR_DEVICE_NO_CLOUD,									//万集设备模块,没有点云
 
 
-	//wj_lidar error from 0x06010000-0x0601FFFF
-	WJ_LIDAR_COMMUNICATION_ERROR_BASE=0x06010000,
+//万集通信
+	WJ_LIDAR_COMMUNICATION_ERROR_BASE							=0x06010000,
 	WJ_LIDAR_COMMUNICATION_UNINITIALIZED,							//万集通信,未初始化
 	WJ_LIDAR_COMMUNICATION_DISCONNECT,								//万集通信,断连
 	WJ_LIDAR_COMMUNICATION_FAULT,									//万集通信,故障
-	WJ_LIDAR_CONNECT_FAILED,
-    WJ_LIDAR_UNINITIALIZED,
-    WJ_LIDAR_READ_FAILED,
-    WJ_LIDAR_WRITE_FAILED,
-    WJ_LIDAR_GET_CLOUD_TIMEOUT,
-
-    //wj lidar protocol error from 0x06020000-0x0602FFFF
-        WJ_PROTOCOL_ERROR_BASE=0x06020000,
+	WJ_LIDAR_CONNECT_FAILED,										//万集通信,连接失败
+    WJ_LIDAR_UNINITIALIZED,											//万集通信,未初始化
+    WJ_LIDAR_READ_FAILED,											//万集通信,读取失败
+    WJ_LIDAR_WRITE_FAILED,											//万集通信,写入失败
+    WJ_LIDAR_GET_CLOUD_TIMEOUT,										//万集通信,获取点云超时
+
+//万集解析
+    WJ_PROTOCOL_ERROR_BASE										=0x06020000,
 	WJ_PROTOCOL_STATUS_BUSY,										//万集解析, 状态正忙
-	WJ_PROTOCOL_STATUS_ERROR,										//系统执行模块, 状态错误
-    WJ_PROTOCOL_INTEGRITY_ERROR,
-    WJ_PROTOCOL_PARSE_FAILED,
-    WJ_PROTOCOL_EMPTY_PACKAGE,
-    WJ_PROTOCOL_EXCEED_MAX_SIZE,
-
-    //wj region detect error from 0x06030000-0x0603FFFF
-	WJ_REGION_ERROR_BASE					= 0x06030000,
-	WJ_REGION_EMPTY_CLOUD,
-	WJ_REGION_EMPTY_NO_WHEEL_INFORMATION,
-    WJ_REGION_RECTANGLE_ANGLE_ERROR,
-    WJ_REGION_RECTANGLE_SIZE_ERROR,
-    WJ_REGION_RECTANGLE_SYMMETRY_ERROR,
-    WJ_REGION_CLUSTER_SIZE_ERROR,
-
-    //wj manager error from 0x06040000-0x0604FFFF
-    WJ_MANAGER_UNINITIALIZED=0x06040000,
-    WJ_MANAGER_LIDAR_DISCONNECTED,
-    WJ_MANAGER_PLC_DISCONNECTED,
-    WJ_MANAGER_EMPTY_CLOUD,
+	WJ_PROTOCOL_STATUS_ERROR,										//万集解析, 状态错误
+    WJ_PROTOCOL_INTEGRITY_ERROR,									//万集解析, 完整性错误								
+    WJ_PROTOCOL_PARSE_FAILED,										//万集解析, 解析失败
+    WJ_PROTOCOL_EMPTY_PACKAGE,										//万集解析, 空包
+    WJ_PROTOCOL_EXCEED_MAX_SIZE,									//万集解析, 超出最大范围
+
+    //万集测量范围
+	WJ_REGION_ERROR_BASE										= 0x06030000,
+	WJ_REGION_EMPTY_CLOUD,											//万集测量,空点云	
+	WJ_REGION_EMPTY_NO_WHEEL_INFORMATION,							//万集测量,没有车轮信息
+    WJ_REGION_RECTANGLE_ANGLE_ERROR,								//万集测量,矩形旋转角错误
+    WJ_REGION_RECTANGLE_SIZE_ERROR,									//万集测量,矩形大小错误
+    WJ_REGION_RECTANGLE_SYMMETRY_ERROR,								//万集测量,矩形对称错误
+    WJ_REGION_CLUSTER_SIZE_ERROR,									//万集测量,簇大小错误
+
+//万集管理模块
+	WJ_MANAGER_ERROR_BASE										= 0x06040000,
+    WJ_MANAGER_UNINITIALIZED,									//万集管理模块,未初始化
+    WJ_MANAGER_LIDAR_DISCONNECTED,								//万集管理模块,雷达断链
+    WJ_MANAGER_PLC_DISCONNECTED,								//万集管理模块,plc断链
+    WJ_MANAGER_EMPTY_CLOUD,										//万集管理模块,空点云
 	WJ_MANAGER_READ_PROTOBUF_ERROR,								//万集管理模块,读取参数错误
-	WJ_MANAGER_INIT_REPEAT,										//万集管理模块,重复初始化
+	WJ_MANAGER_INIT_ERROR,										//万集管理模块,初始化error
 	WJ_MANAGER_TASK_TYPE_ERROR,									//万集管理模块,任务类型错误
 	WJ_MANAGER_STATUS_BUSY,										//万集管理模块,状态正忙
 	WJ_MANAGER_STATUS_ERROR,									//万集管理模块,状态错误
@@ -292,12 +298,13 @@ enum Error_code
 	WJ_MANAGER_LASER_INDEX_REPEAT,								//万集管理模块,需要扫描的雷达索引重复,可忽略的错误,提示作用
 	WJ_MANAGER_TASK_OVER_TIME,									//万集管理模块,任务超时
 
-
-	WJ_LIDAR_TASK_EMPTY_RESULT=0x06050000,
-    WJ_LIDAR_TASK_EMPTY_TASK,
-    WJ_LIDAR_TASK_WRONG_TYPE,
-    WJ_LIDAR_TASK_INVALID_TASK,
-    WJ_LIDAR_TASK_MEASURE_FAILED,
+//万集任务模块
+	WJ_LIDAR_TASK_ERROR_BASE									=0x06050000,
+	WJ_LIDAR_TASK_EMPTY_RESULT,									//万集任务模块,空结果
+    WJ_LIDAR_TASK_EMPTY_TASK,									//万集任务模块,空任务
+    WJ_LIDAR_TASK_WRONG_TYPE,									//万集任务模块,错误类型
+    WJ_LIDAR_TASK_INVALID_TASK,									//万集任务模块,无效任务
+    WJ_LIDAR_TASK_MEASURE_FAILED,								//万集任务模块,测量失败
 
 
 

+ 3 - 1
locate/locate_manager.cpp

@@ -683,7 +683,9 @@ Error_manager Locate_manager::locate_car(pcl::PointCloud<pcl::PointXYZRGB>::Ptr
 {
     if(cloud_car.get()==0)
     {
-        return Error_manager(LOCATER_MEASURE_HEIGHT_CLOUD_UNINIT,MINOR_ERROR,"measure height input cloud uninit");
+    	return Error_manager(Error_code::POINTER_IS_NULL, Error_level::MINOR_ERROR,
+    						"  POINTER IS NULL ");
+//        return Error_manager(LOCATER_MEASURE_HEIGHT_CLOUD_UNINIT,MINOR_ERROR,"measure height input cloud uninit");
     }
     if(cloud_car->size()==0)
     {

+ 2 - 2
main.cpp

@@ -230,7 +230,7 @@ int main(int argc,char* argv[])
 					//超时处理。取消任务。
 					Locate_manager::get_instance_pointer()->cancel_task();
 					locate_manager_task.set_task_statu(TASK_DEAD);
-					t_error.error_manager_reset(Error_code::LOCATE_MANAGER_TASK_OVER_TIME, Error_level::MINOR_ERROR,
+					t_error.error_manager_reset(Error_code::LOCATER_MANAGER_TASK_OVER_TIME, Error_level::MINOR_ERROR,
 												" locate_manager_task is_over_time ");
 					locate_manager_task.set_task_error_manager(t_error);
 				}
@@ -434,7 +434,7 @@ int main(int argc,char* argv[])
 						//超时处理。取消任务。
 						Locate_manager::get_instance_pointer()->cancel_task();
 						locate_manager_task->set_task_statu(TASK_DEAD);
-						t_error.error_manager_reset(Error_code::LOCATE_MANAGER_TASK_OVER_TIME, Error_level::MINOR_ERROR,
+						t_error.error_manager_reset(Error_code::LOCATER_MANAGER_TASK_OVER_TIME, Error_level::MINOR_ERROR,
 													" locate_manager_task is_over_time ");
 						locate_manager_task->set_task_error_manager(t_error);
 					}

+ 5 - 1
setting/communication.prototxt

@@ -19,10 +19,14 @@ communication_parameters
 
 
   # connect_string_vector:"tcp://192.168.2.183:30002"
-   connect_string_vector:"tcp://192.168.2.125:7001"
+ #  connect_string_vector:"tcp://192.168.2.125:7001"
 
 
 #   connect_string_vector:"tcp://192.168.2.233:2333"
 
+bind_string:"tcp://192.168.2.168:30008"
+connect_string_vector:"tcp://192.168.2.183:30000"
+
+
 }
 

+ 5 - 1
system/system_executor.cpp

@@ -194,6 +194,8 @@ Error_manager System_executor::execute_msg(Communication_message* p_msg)
 		return Error_manager(Error_code::POINTER_IS_NULL, Error_level::MINOR_ERROR,
 							 "  POINTER IS NULL ");
 	}
+
+	std::cout << " huli test ::333333333333333333333333333333:: " << " p_msg->get_message_type() = " << p_msg->get_message_type() << std::endl;
 	switch ( p_msg->get_message_type() )
 	{
 		case Communication_message::eLocate_request_msg:
@@ -327,6 +329,8 @@ Error_manager System_executor::encapsulate_send_status()
 	string t_msg = t_measure_status_msg.SerializeAsString();
 	System_communication::get_instance_references().encapsulate_msg(t_msg);
 
+//	std::cout << " huli test :::: " << " t_measure_status_msg.DebugString() = " << t_measure_status_msg.DebugString() << std::endl;
+
 	return Error_code::SUCCESS;
 }
 
@@ -458,7 +462,7 @@ void System_executor::execute_for_measure(std::string command_info, int terminal
 					//超时处理。取消任务。
 					Locate_manager::get_instance_pointer()->cancel_task();
 					locate_manager_task.set_task_statu(TASK_DEAD);
-					t_error.error_manager_reset(Error_code::LOCATE_MANAGER_TASK_OVER_TIME, Error_level::MINOR_ERROR,
+					t_error.error_manager_reset(Error_code::LOCATER_MANAGER_TASK_OVER_TIME, Error_level::MINOR_ERROR,
 												" locate_manager_task is_over_time ");
 					locate_manager_task.set_task_error_manager(t_error);
 				}

+ 1 - 1
wanji_lidar/wanji_manager.cpp

@@ -46,7 +46,7 @@ Error_manager Wanji_manager::wanji_manager_init_from_protobuf(wj::wjManagerParam
 	Error_manager t_error;
 	if ( m_wanji_manager_status != E_UNKNOWN)
 	{
-		return Error_manager(Error_code::WJ_MANAGER_INIT_REPEAT, Error_level::MINOR_ERROR,
+		return Error_manager(Error_code::WJ_MANAGER_INIT_ERROR, Error_level::MINOR_ERROR,
 							 " Wanji_manager::wanji_manager_init_from_protobuf init repeat error ");
 	}