轮编码器¶
罗孚最多可支持两个 "AB "轮编码器,如 这台 Pololu 马达 可用于改进位置估计,尤其是在不使用 GPS 的情况下。
连接和设置¶
将电机编码器的 A 和 B 输出连接到(飞行)控制器(即 Pixhawk)的 AUX OUT 3、4、5 和 6 引脚。通常左侧电机的编码器应使用 3、4 针,右侧电机的编码器应使用 5、6 针。
设置
BRD_PWM_COUNT
至 2,以便将辅助输出口 3 和 4 用作输入端
备注
在固件 4.2 及更高版本中,将 PWM/SERVO/MOTOR 输出设置为 GPIO 功能的方法有所改变。而不是 BRD_PWM_COUNT
个人 SERVOx_FUNCTION
参数仅设置为"-1"。如果设置为 "0",则仍为 PWM 输出,未指定功能,并在电路板安全未激活时输出该输出的微调值。如果舵机功能被 "镜像 "到远程设备(如 DroneCAN 或 KDECAN ESC),那么要将自动驾驶板的相应输出引脚改为 GPIO,但允许 SERVOx_FUNCTION
仍分配给远程设备,则 servo_gpio_mask 参数可用于将电路板引脚指定为 GPIO,而不影响 SERVOx_FUNCTION
远程设备的分配。
设置 WENC_TYPE 和 WENC2_TYPE 为 1,以便读取两个车轮编码器的数据
设置 WENC_RADIUS 和 WENC2_RADIUS 到每个车轮的半径(以米为单位)(即半径为 5 厘米的车轮为 0.05)
设置 WENC_POS_X 和 WENC_POS_Y 来定义第一个车轮与(飞行)控制器或 COG 的距离(即 WENC_POS_X = 0.10, WENC_POS_Y =0.05 表示方向盘在(飞行)控制器前方 10 厘米和左侧 5 厘米处)。
设置 WENC2_POS_X 和 WENC2_POS_Y 来定义二轮与(飞行)控制器或 COG 的距离
关闭 继电器 通过设置 RELAY1_PIN 和 RELAY2_PIN 至 -1
要使用车轮编码器进行位置估算,必须使用 EKF3 并进行如下配置:
设置 AHRS_EKF_TYPE 至 3(表示使用 EKF3)
设置 EK2_ENABLE 为 0(禁用 EKF2)
设置 EK3_ENABLE 为 1(启用 EKF3)
设置 EK3_SRC1_VELXY 至 7("车轮编码器)
(可选)设置 EK3_SRC1_POSXY 为 0("无"),则禁止使用 GPS 进行水平定位
(可选)设置 EK3_SRC1_VELZ 为 0("无"),以禁用 GPS 来测量垂直速度
进行上述更改后,应重新启动(飞行)控制器
地面测试¶
"这款" 轮距
MAVLink 信息实时显示每个轮子的总飞行距离。可以使用Mission Planner地面站的 MAVLink 检查器,按下 Ctrl-F,然后按下 "MAVLink 检查器 "按钮即可打开。
数据闪存记录¶
WENC 数据闪存日志信息中会显示车轮编码器数据,包括每个车轮行驶的总距离。