message.proto 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. syntax = "proto3";
  2. package NavMessage;
  3. message LidarOdomStatu {
  4. float x=1;
  5. float y=2;
  6. float theta=3;
  7. float v=4;
  8. float vth=5;
  9. }
  10. message AgvStatu{
  11. float v=1;
  12. float w=2;
  13. int32 clamp=3; //夹持状态 0,中间状态,1夹紧到位,2,打开到位,
  14. int32 clamp_other=4; //另外一节
  15. int32 lifter=5; //提升机构 0中间状态,1上升到位, 2下降到位
  16. int32 lifter_other = 6; //另外一节
  17. }
  18. message ToAgvCmd {
  19. int32 H=1; //心跳
  20. int32 M=2; //模式:2整车模式,1:单车
  21. int32 T=3; // 1:原地旋转, 2:横移, 3:MPC巡线/前进, 5:夹持, 6:松夹持, 7:提升机构抬升, 8:抬升机构下降, 其他/未接收到:停止
  22. float V=4; //角速度
  23. float W=5; //线速度
  24. float L=6; //轴距
  25. int32 end=7;
  26. }
  27. message Pose2d
  28. {
  29. float x=1;
  30. float y=2;
  31. float theta=3;
  32. }
  33. message PathNode //导航路径点及精度
  34. {
  35. float x=1; //目标点坐标
  36. float y=2;
  37. float l=3; //目标点旋转矩形方程,代表精度范围
  38. float w=4;
  39. float theta=5;
  40. string id=6;
  41. }
  42. message Trajectory
  43. {
  44. repeated Pose2d poses=1;
  45. }
  46. //----------------------------
  47. message NewAction //进库,出库,轨迹导航,夹持,松夹持
  48. {
  49. int32 type =1; //1,进库,2,出库,3,自动选择动作导航,4,保证agv朝前导航,5,汽车模型导航,6:夹持,7:松夹持,8:切换模式, 9:提升机构提升, 10: 提升机构下降
  50. PathNode spaceNode = 2; //进出库起点
  51. PathNode passNode=3; //进出库途径点
  52. PathNode streetNode = 4; //进出库终点
  53. repeated PathNode pathNodes=5;//导航路径点
  54. float wheelbase=6; //切换模式,轴距信息
  55. int32 changedMode=7; //1:切换单车模式,2:切换双车模式
  56. }
  57. //-----------------------------
  58. message NavCmd
  59. {
  60. int32 action=1; // 0 开始任务,1 pause, 2 continue ,3 cancel,4:切换到双车模式,5:切换到单车模式,
  61. string key=2;
  62. repeated NewAction newActions=5;
  63. }
  64. message NavResponse{
  65. int32 ret=1;
  66. string info=2;
  67. }
  68. message ManualCmd {
  69. string key = 1;
  70. int32 operation_type = 2; // 1:旋转, 2:前后平移(X方向), 3:左右平移(Y方向):
  71. float velocity = 3; // 正数为正方向,负数为负方向
  72. }
  73. service NavExcutor {
  74. rpc Start (NavCmd) returns (NavResponse) {}
  75. rpc Cancel (NavCmd) returns (NavResponse) {}
  76. rpc ManualOperation (ManualCmd) returns (NavResponse) {}
  77. }
  78. message NavStatu
  79. {
  80. int32 statu = 1; //0:ready 1:原地旋转,2:Horizon,3:vrtical,4:MPC,5:夹持开,6:夹持关,7:提升机构提升,8:提升机构下降
  81. bool main_agv=2; //是否是两节控制plc
  82. int32 move_mode=3; //运动模式,0:single,1:双车
  83. LidarOdomStatu odom=4;
  84. string key = 5; // 任务唯一码
  85. Trajectory selected_traj = 6;
  86. Trajectory predict_traj = 7;
  87. bool in_space=8; //是否在车位/正在进入车位
  88. string space_id=9;
  89. }
  90. message RobotStatu
  91. {
  92. float x=1;
  93. float y=2;
  94. float theta=3;
  95. AgvStatu agvStatu=4;
  96. }