123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- syntax = "proto3";
- package NavMessage;
- message LidarOdomStatu {
- float x = 1;
- float y = 2;
- float theta = 3;
- float v = 4;
- float vth = 5;
- }
- message AgvStatu {
- float v = 1;
- float w = 2;
- int32 clamp = 3; //夹持状态 0,中间状态,1夹紧到位,2,半打开到位,3. 全打开到位
- int32 clamp_other = 4; //另外一节
- int32 lifter = 5; //提升机构 0中间状态,1上升到位, 2下降到位
- int32 lifter_other = 6; //另外一节
- repeated int32 zcb = 7; //载车板
- int32 door = 8; // 门控(1门+状态+2门+状态)
- }
- message ToAgvCmd {
- int32 H1 = 1; //心跳
- int32 M1 = 2; //模式:2整车模式,1:单车
- int32 T1 = 3; // 1:原地旋转, 2:横移, 3:MPC巡线/前进, 5:夹持, 6:松夹持半开位, 7:提升机构抬升, 8:抬升机构下降, 9:松夹持全开位,其他/未接收到:停止
- float V1 = 4; //线速度
- float W1 = 5; //角速度
- float V2 = 6; //线速度
- float W2 = 7; //角速度
- float V3 = 8; //线速度
- float W3 = 9; //角速度
- float L1 = 10; //轴距
- int32 P1 = 11; //车位编号
- float D1 = 12; //距目标点距离
- float Y1=13; //主车相对前车的dy
- float Y2=14; //副车相对前车角度偏差纠偏的小w
- int32 CL=15;
- int32 end = 16;
- }
- message Pose2d
- {
- float x = 1;
- float y = 2;
- float theta = 3;
- }
- message PathNode //导航路径点及精度
- {
- float x = 1; //目标点坐标
- float y = 2;
- float l = 3; //目标点旋转矩形方程,代表精度范围
- float w = 4;
- float theta = 5;
- optional string id = 6;
- }
- message Trajectory
- {
- repeated Pose2d poses = 1;
- }
- //----------------------------
- message NewAction //进库,出库,轨迹导航,夹持,松夹持
- {
- int32 type = 1; //1,进库,2,出库,3,自动选择动作导航,4,保证agv朝前导航,5,汽车模型导航,6:夹持,7:松夹持,8:切换模式, 9:提升机构提升, 10: 提升机构下降
- PathNode spaceNode = 2; //进出库起点
- PathNode passNode = 3; //进出库途径点
- PathNode streetNode = 4; //进出库终点
- repeated PathNode pathNodes = 5;//导航路径点
- float wheelbase = 6; //切换模式,轴距信息
- int32 changedMode = 7; //1:切换单车模式,2:切换双车模式
- }
- //-----------------------------
- message NavCmd
- {
- int32 action = 1; // 0 开始任务,1 pause, 2 continue ,3 cancel,4:切换到双车模式,5:切换到单车模式,
- string key = 2;
- repeated NewAction newActions = 5;
- }
- message NavResponse {
- int32 ret = 1;
- string info = 2;
- }
- message ManualCmd {
- string key = 1;
- int32 operation_type = 2; // 1:旋转, 2:前后平移(X方向), 3:左右平移(Y方向):
- float velocity = 3; // 正数为正方向,负数为负方向
- }
- service NavExcutor {
- rpc Start (NavCmd) returns (NavResponse) {}
- rpc Cancel (NavCmd) returns (NavResponse) {}
- rpc ManualOperation (ManualCmd) returns (NavResponse) {}
- }
- message NavStatu
- {
- int32 statu = 1; //0:ready 1:原地旋转,2:Horizon,3:vrtical,4:MPC,5:夹持开,6:夹持关,7:提升机构提升, 8: 提升机构下降
- bool main_agv = 2; //是否是两节控制plc
- int32 move_mode = 3; //运动模式,1:single,2:双车
- LidarOdomStatu odom = 4;
- string key = 5; // 任务唯一码
- Trajectory selected_traj = 6;
- Trajectory predict_traj = 7;
- bool in_space = 8; //是否在车位/正在进入车位
- string space_id = 9;
- }
- message RobotStatu
- {
- float x = 1;
- float y = 2;
- float theta = 3;
- AgvStatu agvStatu = 4;
- }
|