message_base.proto 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. eHarware_statu_msg=0x21; //调度模块硬件状态消息
  12. eExecute_request_msg=0x22; //请求调度消息
  13. eExecute_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. }
  26. //通讯单元
  27. enum Communicator
  28. {
  29. eEmpty=0x0000;
  30. eMain=0x0001; //主流程
  31. eTerminor=0x0100;
  32. //车位数据表
  33. eParkspace=0x0200;
  34. //测量单元
  35. eMeasurer=0x0300;
  36. //调度机构
  37. eProcess=0x0400;
  38. //...
  39. }
  40. ////base message 用于解析未知类型的消息
  41. message Base_info
  42. {
  43. required Message_type msg_type=1;
  44. optional int32 timeout_ms=2;
  45. required Communicator sender=3; //发送者
  46. required Communicator receiver=4; //接收者
  47. }
  48. message Base_msg
  49. {
  50. required Base_info base_info=1;
  51. }
  52. //错误等级,用来做故障处理
  53. enum Error_level
  54. {
  55. NORMAL = 0; // 正常,没有错误,默认值0
  56. NEGLIGIBLE_ERROR = 1; // 轻微故障;可忽略的故障,NEGLIGIBLE_ERROR
  57. MINOR_ERROR = 2; // 一般故障,MINOR_ERROR
  58. MAJOR_ERROR = 3; // 严重故障,MAJOR_ERROR
  59. CRITICAL_ERROR = 4; // 致命故障,CRITICAL_ERROR
  60. }
  61. message Error_manager
  62. {
  63. required int32 error_code = 1;
  64. optional Error_level error_level = 2;
  65. optional string error_description = 3;
  66. }
  67. //测量结果结构体
  68. message Locate_information
  69. {
  70. optional float locate_x = 1; //整车的中心点x值; 四轮的中心
  71. optional float locate_y = 2; //整车的中心点y值; 四轮的中心
  72. optional float locate_angle = 3; //整车的旋转角; 四轮的旋转角
  73. optional float locate_length = 4; //整车的长度; 用于规避碰撞
  74. optional float locate_width = 5; //整车的宽度; 用于规避碰撞
  75. optional float locate_height = 6; //整车的高度; 用于规避碰撞
  76. optional float locate_wheel_base = 7; //整车的轮距; 前后轮的距离; 用于机器人或agv的抓车
  77. optional float locate_wheel_width = 8; //整车的轮距; 左右轮的距离; 用于机器人或agv的抓车
  78. optional bool locate_correct = 9; //整车的校准标记位
  79. }