소스 검색

20210611, 调度流程 取车流程 完整版

huli 4 년 전
부모
커밋
f4da082398
3개의 변경된 파일137개의 추가작업 그리고 58개의 파일을 삭제
  1. 1 1
      dispatch/dispatch_coordinates.h
  2. 135 56
      dispatch/dispatch_process.cpp
  3. 1 1
      main.cpp

+ 1 - 1
dispatch/dispatch_coordinates.h

@@ -134,7 +134,7 @@ public://member variable
 	std::map<int, Point3D_tool::Point3D>	m_catcher_coordinates_map;
 
 
-	Point3D_tool::Point3D_box				m_carrier_box;//搬运器 限定范围
+	Point3D_tool::Point3D_box				m_carrier_box;//搬运器 限定范围DISPATCH_CARRIER_PICKUP_END
 	Point3D_tool::Point3D_box				m_catcher_box;//机器手 限定范围
 
 	float									m_catcher_b_min;

+ 135 - 56
dispatch/dispatch_process.cpp

@@ -273,7 +273,7 @@ void Dispatch_process::Main()
 	{
 		std::this_thread::sleep_for(std::chrono::microseconds(1));
 		std::this_thread::sleep_for(std::chrono::milliseconds(1));
-//		std::this_thread::sleep_for(std::chrono::seconds(1));
+		std::this_thread::sleep_for(std::chrono::seconds(1));
 //		std::cout << " huli test :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: " << " m_dispatch_process_status = " << m_dispatch_process_status << std::endl;
 
 		switch ( (Dispatch_process_status)m_dispatch_process_status )
@@ -976,18 +976,7 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			check_task_status(m_dispatch_carrier_node.mp_main_carrier_task, m_dispatch_carrier_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CARRIER_PICKUP_29://小跑车 进入车位
-		{
-			carrier_move_y(get_dispatch_control_command_key(m_dispatch_carrier_node), tp_main_carrier, tp_main_carrier_task, tp_dispatch_coordinates, tp_dispatch_coordinates->m_carrier_default_y_leave);
-			m_dispatch_carrier_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_carrier_node.m_dispatch_control_status+1);
-			break;
-		}
-		case DISPATCH_CARRIER_PICKUP_30:
-		{
-			check_task_status(m_dispatch_carrier_node.mp_main_carrier_task, m_dispatch_carrier_node.m_dispatch_control_status);
-			break;
-		}
-		case DISPATCH_CARRIER_PICKUP_31://把任务从一级升到三级, 准备取车
+		case DISPATCH_CARRIER_PICKUP_29://把任务从一级升到三级, 准备取车
 		{
 			m_dispatch_carrier_node.m_error = m_dispatch_carrier_node.mp_main_carrier->change_task_level(Dispatch_device_base::Dispatch_task_level::DISPATCH_TASK_ONE_LEVEL, Dispatch_device_base::Dispatch_task_level::DISPATCH_TASK_THREE_LEVEL);
 			if ( m_dispatch_carrier_node.m_error == Error_code::SUCCESS )
@@ -1000,6 +989,17 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			}
 			break;
 		}
+		case DISPATCH_CARRIER_PICKUP_30://小跑车 进入车位
+		{
+			carrier_move_y(get_dispatch_control_command_key(m_dispatch_carrier_node), tp_main_carrier, tp_main_carrier_task, tp_dispatch_coordinates, tp_dispatch_coordinates->m_carrier_default_y_leave);
+			m_dispatch_carrier_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_carrier_node.m_dispatch_control_status+1);
+			break;
+		}
+		case DISPATCH_CARRIER_PICKUP_31:
+		{
+			check_task_status(m_dispatch_carrier_node.mp_main_carrier_task, m_dispatch_carrier_node.m_dispatch_control_status);
+			break;
+		}
 		case DISPATCH_CARRIER_PICKUP_32://小跑车 夹车
 		{
 			carrier_move_c(get_dispatch_control_command_key(m_dispatch_carrier_node), tp_main_carrier, tp_main_carrier_task, tp_dispatch_coordinates, Carrier_task::Clamp_motion::E_CLAMP_TIGHT);
@@ -1305,7 +1305,7 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 		case DISPATCH_CARRIER_PICKUP_52://等待机器人把车从搬运器上面取走
 		{
 			// 等待机器人把车从搬运器上面取走
-			if ( m_dispatch_catcher_node.m_dispatch_control_status >= DISPATCH_CATCHER_PICKUP_21 )
+			if ( m_dispatch_catcher_node.m_dispatch_control_status >= DISPATCH_CATCHER_PICKUP_22 )
 			{
 				if ( tp_main_carrier->get_device_id() == 2 )
 				{
@@ -1317,6 +1317,7 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 					m_dispatch_carrier_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_carrier_node.m_dispatch_control_status+1);
 				}
 			}
+			//else 无限等待
 			break;
 		}
 		case DISPATCH_CARRIER_PICKUP_53://搬运器退回电梯井
@@ -1400,7 +1401,7 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			{
 				t_following_x = tp_dispatch_coordinates->m_carrier_coordinates_map[m_dispatch_destination+1].x;
 			}
-			carrier_move_x(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_carrier, tp_main_carrier_task, tp_dispatch_coordinates, t_following_x);
+			carrier_move_x(get_dispatch_control_command_key(m_dispatch_carrier_node), tp_main_carrier, tp_main_carrier_task, tp_dispatch_coordinates, t_following_x);
 			break;
 		}
 		case DISPATCH_CARRIER_PICKUP_71:
@@ -1417,10 +1418,10 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			}
 			else
 			{
-				if ( m_dispatch_catcher_node.m_dispatch_control_status >= DISPATCH_CATCHER_PICKUP_31 )
+				if ( m_dispatch_catcher_node.m_dispatch_control_status >= DISPATCH_CATCHER_PICKUP_34 )
 				{
 					float t_x = tp_dispatch_coordinates->m_carrier_coordinates_map[m_dispatch_destination].x;
-					carrier_move_x(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_carrier, tp_main_carrier_task, tp_dispatch_coordinates, t_x);
+					carrier_move_x(get_dispatch_control_command_key(m_dispatch_carrier_node), tp_main_carrier, tp_main_carrier_task, tp_dispatch_coordinates, t_x);
 					m_dispatch_carrier_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_carrier_node.m_dispatch_control_status+1);
 				}
 				//else 无限等待
@@ -1564,7 +1565,7 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 		}
 		case DISPATCH_CATCHER_PICKUP_2://机器人 准备开始, 需要同步任务单和设备真实数据
 		{
-			//搬运器 准备开始, 需要同步任务单和设备真实数据.//注意了:连接设备只是预约, 设备不一定立刻执行.所以需要在连接成功之后进行数据同步
+			//机器人 准备开始, 需要同步任务单和设备真实数据.//注意了:连接设备只是预约, 设备不一定立刻执行.所以需要在连接成功之后进行数据同步
 			catcher_ready_to_start(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_catcher, tp_main_catcher_task, tp_dispatch_coordinates);
 			m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			break;
@@ -1677,7 +1678,6 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 				m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			}
 			//else 无限等待
-
 			break;
 		}
 		case DISPATCH_CATCHER_PICKUP_10://机器手调整到 对接搬运器的姿态
@@ -1734,26 +1734,40 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			}
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_12://机器手 z轴下降, 空间加锁
+		case DISPATCH_CATCHER_PICKUP_12://机器手 准备下降抓车之前, 等待搬运器就位, 然后把一级任务升到三级
 		{
-			//等待搬运器就位, 2楼交接的空间由搬运器加锁, 机器人下降时就不判断了, 强制加锁即可.
-			if ( m_dispatch_carrier_node.m_dispatch_control_status >=999 )
+			//等待搬运器就位, 把一级任务升到三级
+			if ( m_dispatch_carrier_node.m_dispatch_control_status >= Dispatch_process::Dispatch_control_status::DISPATCH_CARRIER_PICKUP_52 )
 			{
-				if ( m_dispatch_catcher_node.m_following_flag )
+				m_dispatch_catcher_node.m_error = m_dispatch_catcher_node.mp_main_catcher->change_task_level(Dispatch_device_base::Dispatch_task_level::DISPATCH_TASK_ONE_LEVEL, Dispatch_device_base::Dispatch_task_level::DISPATCH_TASK_THREE_LEVEL);
+				if ( m_dispatch_catcher_node.m_error == Error_code::SUCCESS )
 				{
-					int t_terminal = m_dispatch_destination - 1100;
-					int temp = (t_terminal-1)%2;
-					int t_column = 4 + ((t_terminal-1)/2)*3 + temp*2 -1;
-					m_dispatch_catcher_node.m_error = tp_dispatch_coordinates->catcher_force_space_lock(0, t_column-1,
-																										2, t_column+1,
-																										tp_main_catcher->get_device_id());
+					m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
+				}
+				else
+				{
+					m_dispatch_catcher_node.m_dispatch_control_status = Dispatch_process::Dispatch_control_status::DISPATCH_CONTROL_FAULT;
 				}
-				m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			}
 			//else 无限等待
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_13://机器手 z轴下降
+		case DISPATCH_CATCHER_PICKUP_13://机器手 z轴下降, 空间加锁
+		{
+			//2楼交接的空间已经由搬运器加锁, 机器人下降时就不判断了, 强制加锁即可.
+			if ( m_dispatch_catcher_node.m_following_flag )//去3楼取车不用加锁
+			{
+				int t_terminal = m_dispatch_destination - 1100;
+				int temp = (t_terminal-1)%2;
+				int t_column = 4 + ((t_terminal-1)/2)*3 + temp*2 -1;
+				m_dispatch_catcher_node.m_error = tp_dispatch_coordinates->catcher_force_space_lock(0, t_column-1,
+																									2, t_column+1,
+																									tp_main_catcher->get_device_id());
+			}
+			m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
+			break;
+		}
+		case DISPATCH_CATCHER_PICKUP_14://机器手 z轴下降
 		{
 			float t_z = 0;
 			if ( m_dispatch_catcher_node.m_following_flag )
@@ -1770,12 +1784,12 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_14:
+		case DISPATCH_CATCHER_PICKUP_15:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_15://修正轴距, 如果轴距大于3000mm, 那么就要修正轴距.
+		case DISPATCH_CATCHER_PICKUP_16://修正轴距, 如果轴距大于3000mm, 那么就要修正轴距.
 		{
 			float temp_wheel_base = tp_main_catcher->m_actual_d1 + tp_main_catcher->m_actual_d2 + tp_dispatch_coordinates->m_catcher_d1_d2_distance;
 			//修正轴距, 如果轴距大于3000mm, 那么就要修正轴距.
@@ -1790,23 +1804,23 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			}
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_16:
+		case DISPATCH_CATCHER_PICKUP_17:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_17://机器手 夹车
+		case DISPATCH_CATCHER_PICKUP_18://机器手 夹车
 		{
 			catcher_move_c(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_catcher, tp_main_catcher_task, tp_dispatch_coordinates, Catcher_task::Clamp_motion::E_CLAMP_TIGHT);
 			m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_18:
+		case DISPATCH_CATCHER_PICKUP_19:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_19://机器手 z轴上升, 上升190mm就足以
+		case DISPATCH_CATCHER_PICKUP_20://机器手 z轴上升, 上升190mm就足以
 		{
 			float t_z = 0;
 			if ( m_dispatch_catcher_node.m_following_flag )
@@ -1821,12 +1835,12 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_20:
+		case DISPATCH_CATCHER_PICKUP_21:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_21://机器手调整到 准备把车放到地面的姿态
+		case DISPATCH_CATCHER_PICKUP_22://机器手调整到 准备把车放到地面的姿态
 		{
 			float t_x = tp_dispatch_coordinates->m_carrier_coordinates_map[m_dispatch_destination].x;
 			float t_y = tp_dispatch_coordinates->m_carrier_coordinates_map[m_dispatch_destination].y;
@@ -1843,46 +1857,70 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			}
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_22:
+		case DISPATCH_CATCHER_PICKUP_23:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_23://机器手 z轴下降 到地面放车
+		case DISPATCH_CATCHER_PICKUP_24://等待搬运器离开后, 机器人就可以下降了
 		{
-			float t_z = tp_dispatch_coordinates->m_catcher_1th_floor_z;
 			//等待搬运器离开后, 机器人就可以下降了
-			if ( m_dispatch_carrier_node.m_dispatch_control_status >=999 )
+			if ( (m_dispatch_carrier_node.m_dispatch_control_status >= Dispatch_process::Dispatch_control_status::DISPATCH_CARRIER_PICKUP_55 &&
+				  m_dispatch_carrier_node.m_dispatch_control_status <= Dispatch_process::Dispatch_control_status::DISPATCH_CARRIER_PICKUP_57)
+				 || (m_dispatch_carrier_node.m_dispatch_control_status >= Dispatch_process::Dispatch_control_status::DISPATCH_CARRIER_PICKUP_72 &&
+					 m_dispatch_carrier_node.m_dispatch_control_status <= Dispatch_process::Dispatch_control_status::DISPATCH_CARRIER_PICKUP_74)
+				 || (m_dispatch_carrier_node.m_dispatch_control_status == Dispatch_process::Dispatch_control_status::DISPATCH_CARRIER_PICKUP_END) )
 			{
-				catcher_move_z(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_catcher, tp_main_catcher_task, tp_dispatch_coordinates, t_z);
 				m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			}
-			else if(m_dispatch_carrier_node.m_dispatch_control_status >=998 &&
+			else if(m_dispatch_carrier_node.m_dispatch_control_status == Dispatch_process::Dispatch_control_status::DISPATCH_CARRIER_PICKUP_54 &&
 					Common_data::approximate_difference(tp_main_carrier->m_actual_x, tp_main_catcher->m_actual_x, tp_dispatch_coordinates->m_separated_distance_x) == false )
 			{
-				catcher_move_z(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_catcher, tp_main_catcher_task, tp_dispatch_coordinates, t_z);
 				m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			}
 			//else 无限等待
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_24:
+		case DISPATCH_CATCHER_PICKUP_25://机器人z轴下降, 判断空间锁
+		{
+			int t_terminal = m_dispatch_destination - 1100;
+			int temp = (t_terminal-1)%2;
+			int t_column = 4 + ((t_terminal-1)/2)*3 + temp*2 -1;
+			m_dispatch_catcher_node.m_error = tp_dispatch_coordinates->catcher_try_space_lock(0, t_column-1,
+																							  2, t_column+1,
+																							  tp_main_catcher->get_device_id());
+
+			//判断结果
+			if ( m_dispatch_catcher_node.m_error == Error_code::SUCCESS )
+			{
+				m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
+			}
+			//else 无限等待
+			break;
+		}
+		case DISPATCH_CATCHER_PICKUP_26://机器人下降到地面放车
+		{
+			catcher_move_z(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_catcher, tp_main_catcher_task, tp_dispatch_coordinates, tp_dispatch_coordinates->m_catcher_1th_floor_z);
+			m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
+			break;
+		}
+		case DISPATCH_CATCHER_PICKUP_27:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_25://机器手 松开夹杆
+		case DISPATCH_CATCHER_PICKUP_28://机器手 松开夹杆
 		{
 			catcher_move_c(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_catcher, tp_main_catcher_task, tp_dispatch_coordinates, Catcher_task::Clamp_motion::E_CLAMP_LOOSE);
 			m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_26:
+		case DISPATCH_CATCHER_PICKUP_29:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_27://机器手调整到 正常待机的姿态(调节夹杆和轴距)
+		case DISPATCH_CATCHER_PICKUP_30://机器手调整到 正常待机的姿态(调节夹杆和轴距)
 		{
 			if ( tp_main_catcher->m_actual_clamp_motion1 != Dispatch_device_base::Clamp_motion::E_CLAMP_LOOSE ||
 				 tp_main_catcher->m_actual_d1 + tp_main_catcher->m_actual_d2 + tp_dispatch_coordinates->m_catcher_d1_d2_distance >
@@ -1898,18 +1936,18 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			}
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_28:
+		case DISPATCH_CATCHER_PICKUP_31:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_29://机器手 调整z轴, z轴上升到4楼
+		case DISPATCH_CATCHER_PICKUP_32://机器手 调整z轴, z轴上升到4楼
 		{
 			catcher_move_z(get_dispatch_control_command_key(m_dispatch_catcher_node), tp_main_catcher, tp_main_catcher_task, tp_dispatch_coordinates, tp_dispatch_coordinates->m_catcher_4th_floor_z);
 			m_dispatch_catcher_node.m_dispatch_control_status = (Dispatch_process::Dispatch_control_status)(m_dispatch_catcher_node.m_dispatch_control_status+1);
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_30://机器人释放 空间锁
+		case DISPATCH_CATCHER_PICKUP_33://机器人释放 空间锁
 		{
 			m_dispatch_catcher_node.m_error = check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			if ( m_dispatch_catcher_node.m_error == Error_code::SUCCESS )
@@ -1918,7 +1956,7 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			}
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_31://3楼的搬运器跟随到机器人下方
+		case DISPATCH_CATCHER_PICKUP_34://3楼的搬运器跟随到机器人下方
 		{
 			//如果后面有一级存车任务, 那么就跳过
 			if ( m_dispatch_catcher_node.m_following_flag &&
@@ -1934,12 +1972,12 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 			}
 			break;
 		}
-		case DISPATCH_CATCHER_PICKUP_32:
+		case DISPATCH_CATCHER_PICKUP_35:
 		{
 			check_task_status(m_dispatch_catcher_node.mp_main_catcher_task, m_dispatch_catcher_node.m_dispatch_control_status);
 			break;
 		}		
-		case DISPATCH_CATCHER_PICKUP_33://主搬运器 断连
+		case DISPATCH_CATCHER_PICKUP_36://主搬运器 断连
 		{
 			disconnect_dispatch_device(m_dispatch_catcher_node.mp_main_catcher, m_dispatch_catcher_node.mp_main_catcher_task);
 			if ( m_dispatch_catcher_node.m_following_flag )
@@ -1961,6 +1999,47 @@ Error_manager Dispatch_process::dispatch_control_motion_pickup()
 		}
 	}
 
+	std::cout << " huli test :::: " << " =========================================================== = " << 1 << std::endl;
+	std::cout << " huli test :::: " << " m_dispatch_carrier_node.m_dispatch_control_status = " << m_dispatch_carrier_node.m_dispatch_control_status << std::endl;
+	if ( tp_main_carrier != NULL )
+	{
+	    std::cout << " huli test :::: " << " tp_main_carrier->get_device_id() = " << tp_main_carrier->get_device_id() << std::endl;
+	}
+	else
+	{
+		std::cout << " huli test :::: " << " tp_main_carrier->get_device_id() = " << -1 << std::endl;
+	}
+	if ( tp_avoid_catcher != NULL )
+	{
+		std::cout << " huli test :::: " << " tp_avoid_catcher->get_device_id() = " << tp_avoid_catcher->get_device_id() << std::endl;
+	}
+	else
+	{
+		std::cout << " huli test :::: " << " tp_avoid_catcher->get_device_id() = " << -1 << std::endl;
+	}
+	std::cout << " huli test :::: " << " -------------------------- = " << 2 << std::endl;
+	std::cout << " huli test :::: " << " m_dispatch_catcher_node.m_dispatch_control_status = " << m_dispatch_catcher_node.m_dispatch_control_status << std::endl;
+	if ( tp_main_catcher != NULL )
+	{
+		std::cout << " huli test :::: " << " tp_main_catcher->get_device_id() = " << tp_main_catcher->get_device_id() << std::endl;
+	}
+	else
+	{
+		std::cout << " huli test :::: " << " tp_main_catcher->get_device_id() = " << -1 << std::endl;
+	}
+	if ( tp_following_carrier != NULL )
+	{
+		std::cout << " huli test :::: " << " tp_following_carrier->get_device_id() = " << tp_following_carrier->get_device_id() << std::endl;
+	}
+	else
+	{
+		std::cout << " huli test :::: " << " tp_following_carrier->get_device_id() = " << -1 << std::endl;
+	}
+
+	char ch;
+	std::cin >> ch ;
+
+
 	//结果汇总
 	if ( m_dispatch_carrier_node.m_dispatch_control_status == DISPATCH_CARRIER_PICKUP_END &&
 		 m_dispatch_catcher_node.m_dispatch_control_status == DISPATCH_CATCHER_PICKUP_END)

+ 1 - 1
main.cpp

@@ -92,7 +92,7 @@ int main(int argc,char* argv[])
 	FLAGS_stop_logging_if_full_disk = true;
 
 
-//#define MAIN_TEST 1
+#define MAIN_TEST 1
 #ifdef MAIN_TEST
 	t_error = Dispatch_coordinates::get_instance_references().dispatch_coordinates_init();
 	std::cout << " huli test :::: " << " Dispatch_coordinates::get_instance_references().dispatch_coordinates_init() = " << t_error.to_string() << std::endl;