高通导航器软件开发包使用指南(10)
8.9位置控制参数
velocity_ff_factor–浮动,0.4,[0,1.0]
如果使用光流进行位置估计,该值表示所需的速度前馈因子用于横向控制(XY平面)。值0消除了位置控制器。值1.0对应于完全前馈控制。
velocity_ff_factor_vio–浮点,0.25,[0,1.0]
如果使用VIO进行位置估计,该值表示横向控制(XY平面)。值0消除了位置的速度前馈分量控制器。值1.0对应于完全前馈控制。
velocity_ff_factor_gps–浮点,0.168,[0,1.0]
如果使用GPS进行位置估计,该值表示横向控制(XY平面)。值0消除了位置的速度前馈分量控制器。值1.0对应于完全前馈控制。
velocity_z_ff_factor–浮点,无单位,0.4,[0,1.0]
如果使用气压计和声纳进行高度估计,该值表示所需的速度前馈高度控制系数(Z轴控制)。值0消除了速度前馈分量高度控制器。值1.0对应于完全前馈控制。
velocity_z_ff_factor_vio–浮点,无单位,0.4,[0,1.0]
如果使用VIO进行高度估计,该值表示高度的期望速度前馈因子控制(Z轴控制)。值0消除了高度的速度前馈分量控制器。值1.0对应于完全前馈控制。
max_gps_control_tilt_angle–浮点,弧度,0.6108652381980153,[0.0,1.23]
GPS位置控制器的最大总侧倾和俯仰倾斜角命令。
max_optic_flow_control_tilt_angle–浮点,弧度,0.4,[0.0,1.23]
光流位置控制器的最大总侧倾和俯仰倾斜角命令。
max_vio_control_tilt_angle–浮点,弧度,0.6,[0.0,1.23]
VIO位置控制器的最大总侧倾和俯仰倾斜角命令。
max_pos_control_tilt_angle–浮点,弧度,0.6108652381980153,[0.0,1.23]
位置保持模式的最大总侧倾和俯仰倾斜角命令。
基本推力–必需,浮动,克,240.0,[0.0,–]
Z位置控制器增加了恒定推力。总控制器输出为该值加上反馈项。基本推力值必须接近车辆质量。
kp_z_factor–浮子,1/米,0.917,[0.001,–]
Z(垂直)位置控制器的比例增益等于该值乘以基本推力参数。
kd_z_factor–浮动,1/(米/秒),0.734,[0.0,–]
Z(垂直)位置控制器的导数增益等于该值乘以基本推力参数。
first_order_z_filter_autoff_freq–浮点,rad/sec,188.496,[0.001,–]
应用于Z(垂直)位置输出的一阶低通滤波器的截止频率制器。
kp_xy–浮动,弧度/米,0.15207125,[0.0,–]
XY(横向)GPS位置控制器的比例增益。控制器输出为倾斜角度弧度。
kd_xy–浮动,弧度/(米/秒),0.34862150000000003,[0.0,–]
XY(横向)GPS位置控制器的导数增益。控制器输出是以弧度为单位的倾斜角度。
kp_xy_optic_flow–浮动,弧度/米,0.55033,[0.0,–]
XY(横向)光流位置控制器的比例增益。控制器输出为倾斜角度弧度。
kd_xy_optic_flow–浮动,弧度/(米/秒),0.55033,[0.0,–]
XY(横向)光流位置控制器的导数增益。控制器输出为倾斜角度弧度
kp_xy_vio–可设置,浮动,弧度/米,0.512,[0.0,–]
XY(横向)VIO位置控制器的比例增益。控制器输出为倾斜角度
弧度。
kd_xy_vio–可设置,浮动,弧度/(米/秒),0.537,[0.0,–]
XY(横向)VIO位置控制器的导数增益。控制器输出是以弧度为单位的倾斜角度。
force_landing_speed–浮子,米/秒,-0.75,[–,0.0]
车辆因低电压而被迫着陆时的下降速度。此值必须小于0。
最大相对压力高度–浮子,米,50.0
Z速度控制模式下的最大相对指令高度。
8.10状态_机器_进程
prop_startup_time_1us–int64_t,4000000
螺旋桨在超时前开始旋转的时间长度(以微秒为单位)。
enable_hybrid_gps_outdoor_mode–int,无单位,0,[0,1]
当GPS启用并转换为光流时,启用(1)或禁用(0)混合模式模式(如果条件允许)。此标志会导致报告的模式在相同的命令。
max_ang_vel_component_for_starting_props–浮点,弧度/秒,0.5236允许启动螺旋桨的最大X、Y或Z角速度分量(单位:rad/sec)。
最大加速度mag_for_starting_props–浮动,重力,1.3允许启动螺旋桨的最大加速度值。
min_accel_mag_for_starting_props–浮动,重力,0.7允许启动螺旋桨的最小加速度值。
max_tilt_angle_for_starting_props–浮点,弧度,1.047允许启动螺旋桨的最大总横摇和总俯仰倾斜角(弧度)。
8.11高度_估算器_图
use_min_pressure_height_limit_feature–uint8_t,无单位,0
启用(1)或禁用(0)特定高度控制功能。此功能尝试修复Z位置控制当车辆接近地面时,由于螺旋桨地面效应产生的高压而产生的问题。只有如果需要,请使用此功能。
min_sonar_range–浮子,米,0.25高度估算器使用的最小声纳范围(米),不使用低于该值的声纳范围。
max_sonar_range–浮子,米,6.5高度估计器使用的最大声纳范围(米),不使用高于该值的声纳范围。
initial_barometer_rate–浮点,赫兹,49.1初始气压计速率(Hz),该估计值在收到气压计数据时更新。
min_barometer_rate–浮动,赫兹,20可以用Hz估计的最小气压计速率。
max_barometer_rate–浮点,赫兹,150可以用Hz估计的最大气压计速率。
initial_sonar_rate–浮点,赫兹,10.15初始声纳频率(Hz),该估计值在收到声纳数据时更新。
min_sonar_rate–浮点,赫兹,5可估计的最小声纳频率(Hz)。
max_sonar_rate–浮点,赫兹,25可估计的最大声纳频率(Hz)。
8.12最大加速度偏差
imu_accel_offset_params参数用于加速计偏移校准。参见章节程序见6.2和6.3。
dynamic_samples_req–int,样本数,10000飞行中(动态)加速计校准程序所需的IMU样本总数。对于例如,因为IMU样本是以500Hz的速率测量的,如果该参数设置为10000样本,该过程将持续20秒。
static_samples_req–int,样本数,5000地面(静态)加速计校准程序所需的IMU样本总数。对于例如,因为IMU样本是以500Hz的速率测量的,该过程将持续10秒。
max_rate_stationary_x–浮动,rad/s,0.15如果最大值和最小值之间的差异,则地面加速计校准失败校准过程中的X角速度比大于此值。
max_rate_stationary_y–浮动,rad/s,0.15如果最大值和最小值之间的差异,则地面加速计校准失败校准过程中的Y角速度比大于此值。
max_rate_stationary_z–浮动,rad/s,0.15如果最大值和最小值之间的差异,则地面加速计校准失败校准过程中的Z角速度比大于该值。
desired_x_accel–浮动,重力,0.0地面加速计校准期间所需的X加速计值。
desired_y_accel–浮动,重力,0.0地面加速计校准期间所需的Y加速计值。
desired_z_accel–浮动,重力,1.0地面加速计校准期间所需的Z加速计值。默认值为1.0desired_x_accel和desired_y_accel均设置为0,对应于地面加速度计校准程序在标准直立配置中运行。值为-1.0,其中desired_x_accel和desired_y_accel均设置为0,对应于反向运行的地面加速度计校准配置
max_x_accel_error–浮动,重力,0.5测量的X加速计值与预期的_X_accel之间的最大绝对差值允许在地面成功校准加速计的参数。
max_y_accel_error–浮动,重力,0.5测得的Y加速计值与预期的_Y_accel之间的最大绝对差值允许在地面成功校准加速计的参数。
max_z_accel_error–浮动,重力,0.25测得的Z加速计值与预期的_Z_accel之间的最大绝对差值允许在地面成功校准加速计的参数。
8.13电压监控图
voltage_warn_threshold–必需,浮动,伏特,7.05低于此阈值时,状态LED将显示低电压警告。
voltage_warn_critical–必需,浮动,伏特,6.95低于此阈值时,状态LED将显示临界电压警告。此值必须小于电压警告阈值。
voltage_force_landing–必需,浮动,伏特,6.9如果电压低于该值达一定时间,则车辆被迫下降。如果车辆处于Z位置控制模式,车辆被迫以force_landing_speed参数。如果车辆处于推力控制模式推力值根据low_voltage_thrust_slope参数定义的斜率降低。
电压_不启动–需要,浮动,伏特,6.7低于此电压时,螺旋桨不允许旋转。
voltage_warn_threshold_external–浮动,伏特,-1.0如果该值大于0且电压由外部驱动器测量,则使用该值电压警告阈值。如果该值小于0,则voltage_warn_threshold始终不使用无论如何感测电压。
电压_学习_关键_外部–浮动,伏特,-1.0请参见voltage_warn_threshold_external。
voltage_force_landing_external–浮动,伏特,-1.0请参见voltage_warn_threshold_external。
电压_no_start_external–浮动,伏特,-1.0请参见voltage_warn_threshold_external。
low_voltage_thrust_slope–必需,浮动,克/伏,700如果电压在一定时间内低于voltage_force_landing参数,则强制车辆下降。该斜率值确定最大指令车辆推力降低多少当感测的电压低于voltage_force_landing值时。例如,如果检测到的电压为低于voltage_force_landing 1 V,最大推力降低low_voltage_thrust_slope。
voltage_landing_reset_threshold–浮动,伏特,30.0如果检测到的电压低于某一电压,则车辆被迫着陆。强制着陆逻辑如果电压高于voltage_landing_reset_threshold,则重置。背景此参数设置为较大值将禁用此重置功能。
8.14 att_control_params(附件控制参数)kp_roll_mont–必需,浮子,克米/弧度,23.084,[0,–]横滚(+x)轴姿态控制器的比例增益。该增益将滚转角误差相乘。这个控制器的输出是以克米为单位的滚动轴力矩。
kp_pitch_mont–必需,浮动,克米/弧度,23.084,[0,–]俯仰(+y)轴姿态控制器的比例增益。该增益乘以俯仰角误差。这个控制器的输出是以克米为单位的俯仰轴力矩。
kpy–要求,浮子,克/弧度,109.831,[0,–]偏航(+z)轴姿态控制器的比例增益。该增益乘以偏航角误差。这个控制器的输出是每一次顺时针旋转所增加的单个电机推力差并从每个逆时针旋转的电机中减去。
kd_roll_mont–必需,浮动,克*米/(rad/sec),2.6508,[0,–]横滚(+x)轴姿态控制器的导数增益。该增益乘以滚动角速度的误差。
控制器的输出是以克*米为单位的滚动轴力矩。
kd_pitch_mont–必需,浮点,克米/(rad/sec),2.6508,[0,–]俯仰(+y)轴姿态控制器的导数增益。该增益乘以俯仰角误差速度控制器的输出是以克米为单位的俯仰轴力矩。
kdy–必需,浮动,克/(rad/sec),18.699,[0,–]偏航(+z)轴姿态控制器的导数增益。该增益乘以偏航角误差速度控制器的输出是每个电机的差动推力并从每个逆时针旋转电机中减去。
roll_filter_type–int,无单位,2,[0,2]应用于侧倾姿态控制器输出的滤波器类型。值为0表示没有过滤应用值1表示应用了一阶低通滤波器,参见first_order_roll_filter_autoff_freq。值2表示应用了二阶低通滤波器,请参见second_order_roll_filter_autoff_freq和second_ordeer_roll_filter。
pitch_filter_type–int,无单位,2,[0,2]请参见roll_filter_type的说明。
yaw_filter_type–int,无单位,2,[0,2]请参见roll_filter_type的说明。
second_order_roll_filter_autoff_freq–浮点,rad/sec,408.407,[0.0,–]应用于滚转姿态输出的二阶低通滤波器的截止频率控制器。仅当roll_filter_type设置为2时,此参数才有影响。
second_order_roll_filter_amping_ratio–浮点,无单位,1.0,[0.0,–]应用于侧倾姿态控制器输出的二阶低通滤波器的阻尼比。
仅当roll_filter_type设置为2时,此参数才有影响。
second_order_pitch_filter_autoff_freq–浮点,rad/sec,408.407,[0.0,–]请参见second_order_roll_filter_autoff_freq的说明。
second_order_pitch_filter_amping_ratio–浮点,无单位,1.0,[0.0,–]请参见second_order_roll_filter_mping_ratio的说明。
second_order_yaw_filter_autoff_freq–浮点,rad/sec,408.407,[0.0,–]请参见second_order_roll_filter_autoff_freq的说明。
second_order_yaw_filter_damping_ratio–浮点,无单位,1.0,[0.0,–]请参见second_order_roll_filter_mping_ratio的说明。
first_order_roll_filter_autoff_freq–浮点,rad/sec,282.743,[0.0,–]应用于侧倾姿态控制器输出的一阶低通滤波器的截止频率。
仅当roll_filter_type设置为1时,此参数才有影响。
first_order_pitch_filter_autoff_freq–浮点,rad/sec,282.743,[0.0,–]请参见first_order_roll_filter_autoff_freq的说明。
first_order_yaw_filter_autoff_freq–浮点,rad/sec,219.911,[0.0,–]请参见first_order_yaw_filter_autoff_freq的说明。
prop_rpm_thrust_curve_a2–必需,浮子,克/转/分/分,4.2447e-07,[1.0e-10,–]单螺旋桨推力曲线的螺旋桨常数必须使用以下格式指定:
推力=a2∗ 每平方米+a1∗ 转速+a0其中推力是来自单个螺旋桨的推力,单位为克,rpm是螺旋桨的rpm,a1和a0是参数prop_rpm_thrust_curve_a2、prop_rpm_thrust_ccurve_a1,以及prop_rpm_thrust_curve_a0.根据螺旋桨理论,螺旋桨的推力必须为
与rpm的平方成比例。也就是说,a2必须是a0和a1等于零的正数。
要根据实验螺旋桨转速和推力数据计算a2值,请计算单个参数曲线拟合。例如,在Excel a2=LINEST(THRUST_DATA,RPM_DATA^2,0)或Matlab a2中=rpm_data.^2\画眉数据,其中rpm_data和画眉数据是列向量。
可以指定prop_rpm_thrust_curve_a0和prop_rpm_thrust_ccurve_a1的非零常数。
prop_rpm_thrust_curve_a1–浮子,克/分钟,0.0请参见prop_rpm_thrust_curve_a2。
prop_rpm_thrust_curve_a0–浮点,克,0.0请参见prop_rpm_thrust_curve_a2。
min_rpm–必需,int16_t,rpm,5500,[0,–]最小指令电机转速。
max_rpm–必需,int16_t,rpm,16400,[0,–]最大指令电机转速。
number_of_props–必填,int16_t,无单位,4,[4,6]车辆上的螺旋桨数量。支持的螺旋桨数量为4或6个。
use_max_rpm_curve–int,无单位,0,[0,1]
1已启用,0已禁用。此参数允许车辆根据
车辆的测量电压。如果禁用,最大指令电机转速仅为max_RPM。
如果启用,则最大RPM为max_RPM中的最小值,RPM由(max_rpm_curve_a0+max_rpm_curve_a1×电压)。
max_rpm_curve_a0–浮点,rpm,12200请参见use_max_rpm_curve。
max_rpm_curve_a1–浮动,rpm/volt,0请参见use_max_rpm_curve。
standard_motor_directions–int,无单位,1,[0,1]如果为真(1),则使用电机方向的标准惯例。四旋翼的标准方向电机0和2为顺时针方向,电机1和3为逆时针方向。如果为假(0),则相反使用电机方向的惯例。四转子的相反方向为逆时针电机0和2以及电机1和3的顺时针方向。
prop_config_type–必需,int16_t,无单位,0,[0,2]指定螺旋桨配置类型以及prop_config_Dx、prop_config_Dy和解释prop_config_beta参数。0是四转子矩形配置,1是四旋翼菱形构型,2是六旋翼正六边形构型。见第9.2.6节详细信息。
prop_config_Dx–必需,浮子,米,0.0707,[0.001,–]请参见prop_config_type。
prop_config_Dy–必需,浮子,米,0.08,[0.001,–]请参见prop_config_type。
prop_config_beta–浮子,rad,0请参见prop_config_type。
ang_vel_z_ff_factor–浮点,无单位,1.0,[0,1.0]偏航控制(Z轴控制)所需的角速度前馈因子。零值消除用于姿态控制器的期望偏航角速度前馈分量。值1.0对应于完全前馈控制。
8.15圆规_校准_校准
compass_calib_params参数用于指南针校准。该软件适合
当车辆通过
第6.4节中描述的顺序。收集数据后,对收集的磁力计进行几次检查
执行数据和椭球拟合以确定校准是否通过。这些检查受到控制
通过以下参数。
use_optized_mag_calibration–int32_t,无单位,1,[0,1.0]
磁强计校准算法–值1使用最小二乘优化拟合
磁强计校准数据。值0使用最小/最大拟合。
mag_calibration_data_capture_type–int32_t,无单位,1,[0,1.0]
如果使用优化拟合校准算法(use_optimized_mag_calibration=1),则值为1
强制数据捕获以遵循旋转/倾斜/旋转过程。值0使用基于时间的数据捕获。
use_mag_R_est–int32_t,无单位,1,[0,1.0]
如果使用优化拟合校准算法(use_optimized_mag_calibration=1),则值为1
在校准期间估计磁强计的旋转并将其存储在校准文件中。值为0
使用磁强计参数设置的旋转(参见orientation_params中的mag_R00)。
max_mag_R_est_error–浮点,rad,0.08726646259971647,[0.0,–]
如果使用优化拟合校准算法(use_optimized_mag_calibration=1),则该值为
加载磁强计旋转之间的最大允许误差(来自校准文件或参数)
以及来自新校准的估计磁强计旋转。如果为0,则禁用此检查。
min_range_each_axis–浮动,microteslas,35,[0.0,–]
罗盘校准过程中收集的原始罗盘场数据必须具有最小范围
(即,最大值-最小值)。
min_corrected_samplitude–浮动,校准罗盘单位,0.7,[0.0,1.0]
椭球拟合算法试图将原始罗盘场数据映射到单位球体(即球体
半径为1.0)。该检查要求采集的磁强计数据的矢量不小于
在应用计算的校准之后,该值的幅度大于该值。
max_corrected_simum–浮动,校准罗盘单位,1.3,[1.0,–]
椭球拟合算法试图将原始罗盘场数据映射到单位球体(即球体
半径为1.0)。该检查要求采集的磁强计数据在矢量上不大于
在应用计算的校准之后,该值的幅度大于该值。
max_axes_ratio–浮点,无单位,2.0,[1.0,–]
最长椭球轴长度与最短椭球轴长度之比必须小于
大于此值。如果椭圆体太长,则检查失败。