message_base.proto 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. syntax = "proto2";
  2. package message;
  3. //消息类型定义;每个在网络上传输的消息必须含有这个属性
  4. enum Message_type
  5. {
  6. eBase_msg=0x00;
  7. eCommand_msg=0x01; //指令消息
  8. eLocate_status_msg=0x11; //定位模块状态消息
  9. eLocate_request_msg=0x12; //定位请求消息
  10. eLocate_response_msg=0x13; //定位反馈消息
  11. eDispatch_status_msg=0x21; //调度模块硬件状态消息
  12. eDispatch_request_msg=0x22; //请求调度消息
  13. eDispatch_response_msg=0x23; //调度结果反馈消息
  14. eParkspace_allocation_status_msg=0x31; //车位分配模块状态消息,包括车位信息
  15. eParkspace_allocation_request_msg=0x32; //请求分配车位消息
  16. eParkspace_allocation_response_msg=0x33;//分配车位结果反馈消息
  17. eParkspace_search_request_msg = 0x34; //查询车位请求消息
  18. eParkspace_search_response_msg = 0x35; //查询车位反馈消息
  19. eParkspace_release_request_msg = 0x36; //释放车位请求消息
  20. eParkspace_release_response_msg = 0x37; //释放车位反馈消息
  21. eParkspace_force_update_request_msg = 0x38; //手动修改车位消息
  22. eParkspace_force_update_response_msg = 0x39;//手动修改车位反馈消息
  23. eParkspace_confirm_alloc_request_msg = 0x3A;//确认分配车位请求消息
  24. eParkspace_confirm_alloc_response_msg = 0x3B;//确认分配车位反馈消息
  25. eStore_command_request_msg=0x41; //终端停车请求消息
  26. eStore_command_response_msg=0x42; //停车请求反馈消息
  27. ePickup_command_request_msg=0x43; //取车请求消息
  28. ePickup_command_response_msg=0x44; //取车请求反馈消息
  29. eStoring_process_statu_msg=0x90; //停车进度条消息
  30. ePicking_process_statu_msg=0x91; //取车进度消息
  31. }
  32. //通讯单元
  33. enum Communicator
  34. {
  35. eEmpty=0x0000;
  36. eMain=0x0001; //主流程
  37. eTerminor=0x0100;
  38. //车位表
  39. eParkspace=0x0200;
  40. //测量单元
  41. eMeasurer=0x0300;
  42. //调度机构
  43. eDispatch=0x0400;
  44. //...
  45. }
  46. ////base message 用于解析未知类型的消息
  47. message Base_info
  48. {
  49. required Message_type msg_type=1;
  50. optional int32 timeout_ms=2;
  51. required Communicator sender=3; //发送者
  52. required Communicator receiver=4; //接收者
  53. }
  54. // 事件,停车或者取车
  55. enum Event
  56. {
  57. eStoring=1;
  58. ePicking=2;
  59. }
  60. // 指令信息, 包含 时间,地点,事件
  61. // 时间 格式为: 年-月-日:时-分-秒
  62. //地点格式为 : 区号-序号 楚天项目为 027-01
  63. message Command_info
  64. {
  65. required string time=1;
  66. required string location=2;
  67. required Event event=3;
  68. }
  69. message Base_msg
  70. {
  71. required Base_info base_info=1;
  72. }
  73. //错误等级,用来做故障处理
  74. enum Error_level
  75. {
  76. NORMAL = 0; // 正常,没有错误,默认值0
  77. NEGLIGIBLE_ERROR = 1; // 轻微故障;可忽略的故障,NEGLIGIBLE_ERROR
  78. MINOR_ERROR = 2; // 一般故障,MINOR_ERROR
  79. MAJOR_ERROR = 3; // 严重故障,MAJOR_ERROR
  80. CRITICAL_ERROR = 4; // 致命故障,CRITICAL_ERROR
  81. }
  82. message Error_manager
  83. {
  84. required int32 error_code = 1;
  85. optional Error_level error_level = 2;
  86. optional string error_description = 3;
  87. }
  88. //测量结果结构体
  89. message Locate_information
  90. {
  91. optional float locate_x = 1; //整车的中心点x值; 四轮的中心
  92. optional float locate_y = 2; //整车的中心点y值; 四轮的中心
  93. optional float locate_angle = 3; //整车的旋转角; 四轮的旋转角
  94. optional float locate_length = 4; //整车的长度; 用于规避碰撞
  95. optional float locate_width = 5; //整车的宽度; 用于规避碰撞
  96. optional float locate_height = 6; //整车的高度; 用于规避碰撞
  97. optional float locate_wheel_base = 7; //整车的轮距; 前后轮的距离; 用于机器人或agv的抓车
  98. optional float locate_wheel_width = 8; //整车的轮距; 左右轮的距离; 用于机器人或agv的抓车
  99. optional bool locate_correct = 9; //整车的校准标记位
  100. }
  101. message Car_info
  102. {
  103. optional float car_length=1; //车长
  104. optional float car_width=2; //车宽
  105. optional float car_height=3; //车高
  106. optional string license=4; //车辆凭证号
  107. }
  108. //车位状态枚举
  109. enum Parkspace_status
  110. {
  111. eParkspace_empty = 0; //空闲,可分配
  112. eParkspace_occupied = 1; //被占用,不可分配
  113. eParkspace_reserved = 2; //被预约,预约车辆可分配
  114. eParkspace_locked = 3; //临时锁定,不可分配
  115. eParkspace_error = 4; //车位机械结构或硬件故障
  116. }
  117. enum Direction
  118. {
  119. eForward = 1;
  120. eBackward = 2;
  121. }
  122. //单个车位基本信息与状态信息
  123. message Parkspace_info
  124. {
  125. optional int32 parkspace_id=1; //车位编号
  126. optional int32 index=2; //同层编号
  127. optional Direction direction=3; //前后
  128. optional int32 floor=4; //楼层
  129. optional float length=5; //车位长
  130. optional float width=6; //车位宽
  131. optional float height=7; //车位高
  132. optional Parkspace_status parkspace_status=8; //车位当前状态
  133. optional Car_info car_info=9; //当前车位存入车辆的凭证号
  134. optional string entry_time=10; //入场时间
  135. optional string leave_time=11; //离场时间
  136. optional int32 block_id=12; //区块编号
  137. }