You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
6.3 KiB
137 lines
6.3 KiB
|
3 weeks ago
|
/* Automatically generated nanopb header */
|
||
|
|
/* Generated by nanopb-0.4.8 */
|
||
|
|
|
||
|
|
#ifndef PB_BSP_PV_PB_H_INCLUDED
|
||
|
|
#define PB_BSP_PV_PB_H_INCLUDED
|
||
|
|
#include "pb.h"
|
||
|
|
|
||
|
|
#if PB_PROTO_HEADER_VERSION != 40
|
||
|
|
#error Regenerate this file with the current version of nanopb generator.
|
||
|
|
#endif
|
||
|
|
|
||
|
|
/* Struct definitions */
|
||
|
|
/* 抛丸机器人作业参数结构体定义
|
||
|
|
作用:用于APP/遥控器与机器人控制系统之间的参数传输,涵盖操作模式、运动参数、摆臂参数、作业参数等核心配置 */
|
||
|
|
typedef struct _PV_struct_define {
|
||
|
|
/* 操作模式(枚举值)
|
||
|
|
1 - 手动模式:人工摇杆/按键控制机器人所有动作
|
||
|
|
2 - 水平模式:适配水平作业面的半自动/手动操作
|
||
|
|
3 - 平面模式:适配平面作业面的操作(修正原文笔误:原"平民"为"平面")
|
||
|
|
4 - 竖直左模式:左侧垂直作业面(如船舶外壁左侧)操作
|
||
|
|
5 - 竖直右模式:右侧垂直作业面(如船舶外壁右侧)操作
|
||
|
|
6 - 水平区域自动:水平作业面的区域自动作业模式
|
||
|
|
7 - 平面区域自动:平面作业面的区域自动作业模式 */
|
||
|
|
int32_t Robot_Operation_Mode;
|
||
|
|
/* 机器人移动速度(基础行走速度)
|
||
|
|
单位:0.1m/min(字段值×0.1=实际速度,如值为10则实际速度1m/min)
|
||
|
|
取值范围:0~180(对应实际0~18m/min,符合协议书中最大18m/min的要求) */
|
||
|
|
int32_t Robot_Move_Speed;
|
||
|
|
/* 换道距离(自动换道功能的核心参数)
|
||
|
|
单位:mm(建议,可根据实际硬件标定调整)
|
||
|
|
作用:一键换道时机器人横向移动的距离,用于控制换道压边量 */
|
||
|
|
int32_t Robot_Change_Lane_Distance;
|
||
|
|
/* 摆臂速度(抛丸/喷砂摆臂装置的摆动速度)
|
||
|
|
单位:°/s(度/秒)
|
||
|
|
取值要求:≥25(对应协议书中摆臂速度≥25°/S的要求) */
|
||
|
|
int32_t Robot_Swing_Speed;
|
||
|
|
/* 摆臂角度设置模式(对称/非对称)
|
||
|
|
1 - 对称模式:摆臂以中心轴左右对称摆动
|
||
|
|
2 - 非对称模式:摆臂仅单侧(左/右)摆动 */
|
||
|
|
int32_t Robot_symmetricalOrNot;
|
||
|
|
/* 对称模式下摆臂总摆动角度
|
||
|
|
单位:°(度)
|
||
|
|
示例:值为90则摆臂从-45°~+45°对称摆动 */
|
||
|
|
int32_t Robot_Swing_Range_Angle;
|
||
|
|
/* 非对称模式下的摆动侧选择
|
||
|
|
1 - 左侧:仅摆臂左侧区域摆动
|
||
|
|
2 - 右侧:仅摆臂右侧区域摆动 */
|
||
|
|
int32_t Robot_asymmetricalAngleSetValue;
|
||
|
|
/* 后退作业模式(抛丸/喷砂作业时的后退逻辑)
|
||
|
|
1 - 打退交替:作业一段距离后停止作业,后退指定距离再继续作业
|
||
|
|
2 - 边打边退:作业过程中同步后退,持续作业无中断 */
|
||
|
|
int32_t Robot_backMode;
|
||
|
|
/* 打退交替模式下的后退距离
|
||
|
|
单位:mm(建议)
|
||
|
|
作用:打退交替时单次后退的距离,适配不同作业面的补抛需求 */
|
||
|
|
int32_t Robot_Back_Distance;
|
||
|
|
/* 边打边退模式下的后退速度
|
||
|
|
单位:0.1m/min(同Robot_Move_Speed)
|
||
|
|
取值范围:0~180(对应实际0~18m/min) */
|
||
|
|
int32_t Robot_Back_Speed;
|
||
|
|
/* 压力设置(抛丸/喷砂作业的介质压力)
|
||
|
|
单位:0.01MPa(建议,如值为50则实际0.5MPa)
|
||
|
|
作用:控制抛丸/喷砂的强度,适配不同表面处理等级(≥Sa2.5) */
|
||
|
|
int32_t Robot_Press_Set;
|
||
|
|
/* 竖直微调(竖直作业模式下的位置微调量)
|
||
|
|
单位:mm(建议)
|
||
|
|
作用:竖直作业时微调机器人位置,补偿曲面/安装误差 */
|
||
|
|
int32_t Robot_Vertical_Adjust;
|
||
|
|
/* 自动模式下的作业长度
|
||
|
|
单位:mm(建议)
|
||
|
|
作用:区域自动作业时,单次作业的纵向长度(完成后自动换道) */
|
||
|
|
int32_t Robot_Length_Homework;
|
||
|
|
/* 自动模式下的作业宽度
|
||
|
|
单位:mm(建议)
|
||
|
|
作用:区域自动作业时,单次作业的横向宽度(默认适配110mm标准作业宽度) */
|
||
|
|
int32_t Robot_Width_Homework;
|
||
|
|
} PV_struct_define;
|
||
|
|
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
/* Initializer values for message structs */
|
||
|
|
#define PV_struct_define_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
||
|
|
#define PV_struct_define_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
||
|
|
|
||
|
|
/* Field tags (for use in manual encoding/decoding) */
|
||
|
|
#define PV_struct_define_Robot_Operation_Mode_tag 1
|
||
|
|
#define PV_struct_define_Robot_Move_Speed_tag 2
|
||
|
|
#define PV_struct_define_Robot_Change_Lane_Distance_tag 3
|
||
|
|
#define PV_struct_define_Robot_Swing_Speed_tag 4
|
||
|
|
#define PV_struct_define_Robot_symmetricalOrNot_tag 5
|
||
|
|
#define PV_struct_define_Robot_Swing_Range_Angle_tag 6
|
||
|
|
#define PV_struct_define_Robot_asymmetricalAngleSetValue_tag 7
|
||
|
|
#define PV_struct_define_Robot_backMode_tag 8
|
||
|
|
#define PV_struct_define_Robot_Back_Distance_tag 9
|
||
|
|
#define PV_struct_define_Robot_Back_Speed_tag 10
|
||
|
|
#define PV_struct_define_Robot_Press_Set_tag 11
|
||
|
|
#define PV_struct_define_Robot_Vertical_Adjust_tag 12
|
||
|
|
#define PV_struct_define_Robot_Length_Homework_tag 13
|
||
|
|
#define PV_struct_define_Robot_Width_Homework_tag 14
|
||
|
|
|
||
|
|
/* Struct field encoding specification for nanopb */
|
||
|
|
#define PV_struct_define_FIELDLIST(X, a) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Operation_Mode, 1) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Move_Speed, 2) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Change_Lane_Distance, 3) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Swing_Speed, 4) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_symmetricalOrNot, 5) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Swing_Range_Angle, 6) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_asymmetricalAngleSetValue, 7) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_backMode, 8) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Back_Distance, 9) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Back_Speed, 10) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Press_Set, 11) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Vertical_Adjust, 12) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Length_Homework, 13) \
|
||
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Width_Homework, 14)
|
||
|
|
#define PV_struct_define_CALLBACK NULL
|
||
|
|
#define PV_struct_define_DEFAULT NULL
|
||
|
|
|
||
|
|
extern const pb_msgdesc_t PV_struct_define_msg;
|
||
|
|
|
||
|
|
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
||
|
|
#define PV_struct_define_fields &PV_struct_define_msg
|
||
|
|
|
||
|
|
/* Maximum encoded size of messages (where known) */
|
||
|
|
#define BSP_PV_PB_H_MAX_SIZE PV_struct_define_size
|
||
|
|
#define PV_struct_define_size 154
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
} /* extern "C" */
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#endif
|