syntax = "proto3"; package NavMessage; message AGVStatu { float x=1; float y=2; float theta=3; float v=4; float vth=5; } message AGVSpeed{ float v=1; float w=2; } message Speed { int32 H=1; //心跳 int32 M=2; //模式:1整车模式,其他:单车 int32 T=3; // 1:原地旋转,2:横移,3:MPC巡线/前进, 其他/未接收到:停止 float V=4; //角速度 float W=5; //线速度 float L=6; //轴距 int32 end=7; } message SpeedLimit { float min=1; float max=2; } message Pose2d { float x=1; float y=2; float theta=3; } message Trajectory { repeated Pose2d poses=1; } message Action { int32 type = 1; // 1:原地调整,2:巡线, 3:夹持, 4:松夹持 Pose2d begin = 2; Pose2d target = 3; Pose2d target_diff = 4; SpeedLimit velocity_limit=5; SpeedLimit angular_limit=6; SpeedLimit horize_limit=7; } message NavCmd { int32 action=1; // 0 开始导航,1 pause, 2 continue ,3 cancel,4:切换到双车模式,5:切换到单车模式 string key=2; float wheelbase=3; //轴距 repeated Action actions=4; } message NavStatu { bool statu = 1; //0:ready 1:running bool main_agv=2; //是否是两节控制plc int32 move_mode=3; //运动模式,1:single,2:双车 string key = 4; // 任务唯一码 repeated Action unfinished_actions = 5; //未完成的动作,第一个即为当前动作 Trajectory selected_traj = 6; Trajectory predict_traj = 7; }