Ardupilot开源代码之Rover上路 - 后续2
1. 源由
之前一直说过,一个没有接触过的事物,上手过程就是一个学习过程,而这个学习过程每个人都需要经历。当然适当的方法可能可以帮助节约时间,甚至帮助入门。不当的方法可能会导致无法入门,而且直接放弃。
既然有后续1(主要是硬件安装方面的问题),当然也逃不掉后续2(配置方面问题),估计还的后续3(深度配置问题,也许吧)。
好了,接下来我们就总结下关于配置的问题。
2. 问题汇总
ArduRover-4.5.2 AKM First Drive
2.1 Rover资料出现Boat配置
一句话,玩这个的人不多,所以很多资料就不如Copter文档那么结构化。所以,如果不是玩Boat,调过这个配置步骤即可。
2.2 指南针频繁警告异常
Rover指南针异常与Copter的处理方式稍微不太一样,感觉Copter更加智能,只要PreArm Check disable就没问题了。
Rover设置COMPASS_ENABLE
= 0
2.3 配置参数
AKM车的构型配置:
- 后轮2个电机驱动
- 前轮转向伺服器
S1 – ESC – left motor
S3 – left motor encoder B
S4 – left motor encoder AS2 – ESC – right motor
S5 – right motor encoder B
S6 – right motor encoder AS8 - ground steering servo
2.3.1 后轮电机配置
SERVO1_FUNCTION = 70 //Throttle
SERVO2_FUNCTION = 70 //Throttle
2.3.2 后轮编码器配置
SERVO3_FUNCTION = -1 //GPIO
SERVO4_FUNCTION = -1 //GPIO
SERVO5_FUNCTION = -1 //GPIO
SERVO6_FUNCTION = -1 //GPIO
WENC_TYPE = 1
WENC_PINA = 52
WENC_PINB = 53
WENC2_TYPE = 1
WENC2_PINA = 54
WENC2_PINB = 55
2.2.3 ESC驱动类型
MOT_PWM_TYPE = 0
2.3.4 Throttle正反向控制
RC3_TRIM = 1500
注:可以先尝试直接将RC3 输出到SERVO1_FUNCTION
,此时输出不收飞控控制,请注意轮子会直接转动起来。但是可以使用这个方法排除硬件问题。
3. 遗留&后续
3.1 编码器 - Internal Errors 0x2000000
编码器的问题初步问题感觉是中断太频繁了,这个可能与1024PPR的编码器有关,通常只有13PPR。当时考虑买个高精度的,这下可把自己给坑惨了。
- ArduPilot开源代码之AP_WheelEncoder
- Are these motors compatible with ArduRover 4.5?
- Internal Errors 0x2000000 with WheelEncoder – ArduRover 4.5.2
- Rover 4.5.2 encoder GPIO interrupt quota increase causing crash dump, any idea?
3.2 MP无法连接ESP8266
虽然EPS32已经是最新的1.2.3版本,但是与MP1.3.81版本仍然连不上。
- 4.3 DEV can’t connect thru esp8266 wifi
- ESP8266 WiFi connection
- 64bit Windows 11 + MP 1.3.81 Can’t UDP connect 8266WiFi module (v1.2.3) #3356
3.3 设置倒车按钮
类似汽车的操作:
- 默认前进挡:深踩油门,加速前进
- 挂倒挡:深踩油门,加速后退
3.4 后续工作
- LED灯点亮
- 摄像头安装
- 4G LTE 超视距
- 伴机电脑供电