dispatch_coordinates.cpp 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. //
  2. // Created by huli on 2021/3/24.
  3. //
  4. #include "dispatch_coordinates.h"
  5. #include "../tool/proto_tool.h"
  6. Dispatch_coordinates::Dispatch_coordinates()
  7. {
  8. }
  9. Dispatch_coordinates::~Dispatch_coordinates()
  10. {
  11. }
  12. //初始化 调度的坐标系 模块。如下三选一
  13. Error_manager Dispatch_coordinates::dispatch_coordinates_init()
  14. {
  15. return dispatch_coordinates_init_from_protobuf(DISPATCH_COORDINATES_PARAMETER_PATH);
  16. }
  17. //初始化 调度的坐标系 模块。从文件读取
  18. Error_manager Dispatch_coordinates::dispatch_coordinates_init_from_protobuf(std::string prototxt_path)
  19. {
  20. Dispatch_proto::Dispatch_coordinates_parameter_all t_dispatch_coordinates_parameter_all;
  21. if(! proto_tool::read_proto_param(prototxt_path,t_dispatch_coordinates_parameter_all) )
  22. {
  23. return Error_manager(DISPATCH_COORDINATES_READ_PROTOBUF_ERROR,MINOR_ERROR,
  24. "Dispatch_coordinates read_proto_param failed");
  25. }
  26. return dispatch_coordinates_init_from_protobuf(t_dispatch_coordinates_parameter_all);
  27. }
  28. //初始化 调度的坐标系 模块。从protobuf读取
  29. Error_manager Dispatch_coordinates::dispatch_coordinates_init_from_protobuf(Dispatch_proto::Dispatch_coordinates_parameter_all& dispatch_coordinates_parameter_all)
  30. {
  31. LOG(INFO) << " ---Dispatch_coordinates::dispatch_coordinates_init_from_protobuf() run--- "<< this;
  32. Error_manager t_error;
  33. int size;
  34. size = dispatch_coordinates_parameter_all.packspace_coordinates_parameters_size();
  35. for (int i = 0; i < size; ++i)
  36. {
  37. Point3D_tool::Point3D t_point3d;
  38. int id = dispatch_coordinates_parameter_all.packspace_coordinates_parameters(i).id();
  39. t_point3d.x = dispatch_coordinates_parameter_all.packspace_coordinates_parameters(i).x();
  40. t_point3d.y = dispatch_coordinates_parameter_all.packspace_coordinates_parameters(i).y();
  41. t_point3d.z = dispatch_coordinates_parameter_all.packspace_coordinates_parameters(i).z();
  42. m_packspace_coordinates[id] = t_point3d;
  43. }
  44. size = dispatch_coordinates_parameter_all.passageway_coordinates_parameters_size();
  45. for (int i = 0; i < size; ++i)
  46. {
  47. Point3D_tool::Point3D t_point3d;
  48. int id = dispatch_coordinates_parameter_all.passageway_coordinates_parameters(i).id();
  49. t_point3d.x = dispatch_coordinates_parameter_all.passageway_coordinates_parameters(i).x();
  50. t_point3d.y = dispatch_coordinates_parameter_all.passageway_coordinates_parameters(i).y();
  51. t_point3d.z = dispatch_coordinates_parameter_all.passageway_coordinates_parameters(i).z();
  52. m_passageway_coordinates[id] = t_point3d;
  53. }
  54. size = dispatch_coordinates_parameter_all.carrier_coordinates_parameters_size();
  55. for (int i = 0; i < size; ++i)
  56. {
  57. Point3D_tool::Point3D t_point3d;
  58. int id = dispatch_coordinates_parameter_all.carrier_coordinates_parameters(i).id();
  59. t_point3d.x = dispatch_coordinates_parameter_all.carrier_coordinates_parameters(i).x();
  60. t_point3d.y = dispatch_coordinates_parameter_all.carrier_coordinates_parameters(i).y();
  61. t_point3d.z = dispatch_coordinates_parameter_all.carrier_coordinates_parameters(i).z();
  62. m_carrier_coordinates[id] = t_point3d;
  63. }
  64. size = dispatch_coordinates_parameter_all.catcher_coordinates_parameters_size();
  65. for (int i = 0; i < size; ++i)
  66. {
  67. Point3D_tool::Point3D t_point3d;
  68. int id = dispatch_coordinates_parameter_all.catcher_coordinates_parameters(i).id();
  69. t_point3d.x = dispatch_coordinates_parameter_all.catcher_coordinates_parameters(i).x();
  70. t_point3d.y = dispatch_coordinates_parameter_all.catcher_coordinates_parameters(i).y();
  71. t_point3d.z = dispatch_coordinates_parameter_all.catcher_coordinates_parameters(i).z();
  72. m_catcher_coordinates[id] = t_point3d;
  73. }
  74. m_carrier_box.x_min = dispatch_coordinates_parameter_all.carrier_box_parameters().x_min();
  75. m_carrier_box.x_max = dispatch_coordinates_parameter_all.carrier_box_parameters().x_max();
  76. m_carrier_box.y_min = dispatch_coordinates_parameter_all.carrier_box_parameters().y_min();
  77. m_carrier_box.y_max = dispatch_coordinates_parameter_all.carrier_box_parameters().y_max();
  78. m_carrier_box.z_min = dispatch_coordinates_parameter_all.carrier_box_parameters().z_min();
  79. m_carrier_box.z_max = dispatch_coordinates_parameter_all.carrier_box_parameters().z_max();
  80. m_catcher_box.x_min = dispatch_coordinates_parameter_all.catcher_box_parameters().x_min();
  81. m_catcher_box.x_max = dispatch_coordinates_parameter_all.catcher_box_parameters().x_max();
  82. m_catcher_box.y_min = dispatch_coordinates_parameter_all.catcher_box_parameters().y_min();
  83. m_catcher_box.y_max = dispatch_coordinates_parameter_all.catcher_box_parameters().y_max();
  84. m_catcher_box.z_min = dispatch_coordinates_parameter_all.catcher_box_parameters().z_min();
  85. m_catcher_box.z_max = dispatch_coordinates_parameter_all.catcher_box_parameters().z_max();
  86. m_catcher_b_min = dispatch_coordinates_parameter_all.catcher_b_min();
  87. m_catcher_b_max = dispatch_coordinates_parameter_all.catcher_b_max();
  88. m_catcher_d1_min = dispatch_coordinates_parameter_all.catcher_d1_min();
  89. m_catcher_d1_max = dispatch_coordinates_parameter_all.catcher_d1_max();
  90. m_catcher_d2_min = dispatch_coordinates_parameter_all.catcher_d2_min();
  91. m_catcher_d2_max = dispatch_coordinates_parameter_all.catcher_d2_max();
  92. std::cout << " huli test :::: " << " m_packspace_coordinates.size() = " << m_packspace_coordinates.size() << std::endl;
  93. std::cout << " huli test :::: " << " m_passageway_coordinates.size() = " << m_passageway_coordinates.size() << std::endl;
  94. std::cout << " huli test :::: " << " m_carrier_coordinates.size() = " << m_carrier_coordinates.size() << std::endl;
  95. std::cout << " huli test :::: " << " m_catcher_coordinates.size() = " << m_catcher_coordinates.size() << std::endl;
  96. m_default_wheelbase = dispatch_coordinates_parameter_all.default_wheelbase();
  97. m_catcher_1th_floor_z = dispatch_coordinates_parameter_all.catcher_1th_floor_z();
  98. m_catcher_2th_floor_z = dispatch_coordinates_parameter_all.catcher_2th_floor_z();
  99. m_catcher_3th_floor_z = dispatch_coordinates_parameter_all.catcher_3th_floor_z();
  100. m_catcher_4th_floor_z = dispatch_coordinates_parameter_all.catcher_4th_floor_z();
  101. m_carrier_1th_floor_z = dispatch_coordinates_parameter_all.carrier_1th_floor_z();
  102. m_carrier_2th_floor_z = dispatch_coordinates_parameter_all.carrier_2th_floor_z();
  103. m_carrier_3th_floor_z = dispatch_coordinates_parameter_all.carrier_3th_floor_z();
  104. m_carrier_4th_floor_z = dispatch_coordinates_parameter_all.carrier_4th_floor_z();
  105. m_catcher_d1_d2_distance = dispatch_coordinates_parameter_all.catcher_d1_d2_distance();
  106. m_catcher_wheel_base_limit = dispatch_coordinates_parameter_all.catcher_wheel_base_limit();
  107. m_carrier_y_y1_distance = dispatch_coordinates_parameter_all.carrier_y_y1_distance();
  108. m_carrier_default_y1_back = dispatch_coordinates_parameter_all.carrier_default_y1_back();
  109. m_carrier_default_y1_leave = dispatch_coordinates_parameter_all.carrier_default_y1_leave();
  110. m_carrier_default_y_back = dispatch_coordinates_parameter_all.carrier_default_y_back();
  111. m_carrier_default_y_leave = dispatch_coordinates_parameter_all.carrier_default_y_leave();
  112. m_carrier_default_x_left = dispatch_coordinates_parameter_all.carrier_default_x_left();
  113. m_carrier_default_x_right = dispatch_coordinates_parameter_all.carrier_default_x_right();
  114. return Error_code::SUCCESS;
  115. }