Does ArduRover support AKM Rover and how to configure?

Hi I have got AKM Rover, it has following configurations:

  1. two motors (and I have got a ESC supporting two brush motor)

  1. each motor comes with encoder

  1. And there is a steering servo ahead.

图片

  1. I got an FC Aocoda-RC H743, which doesn’t provide main/aux out (At least there are no related prints on the silkscreen.) Can I wire as follows, and how to configure the FC?

S1 – ESC – left motor
S3 – left motor encoder B
S4 – left motor encoder A

S2 – ESC – right motor
S5 – right motor encoder B
S6 – right motor encoder A

Yes, that should work. You’ll need the following params to map their functions:

SERVO1_FUNCTION = 73
SERVO2_FUNCTION = 74
SERVO3_FUNCTION = -1
SERVO4_FUNCTION = -1
SERVO5_FUNCTION = -1
SERVO6_FUNCTION = -1
WENC_TYPE = 1
WENC_PINA = 50
WENC_PINB = 51
WENC2_TYPE = 1
WENC2_PINA = 52
WENC2_PINB = 53
2 Likes

For maximal flexibility connect the encoders to S5, S6, S9, S10 since that’s the only group with 4 outputs on the Aocoda. But it doesn’t matter unless you plan to add lots of servos and dshot motors.

1 Like

After proper settings:

  1. Servo & ENC settings (H743 PWM3/4/5/6 are numbered 52/53/54/55) and position always 1100 (it seems nothing to do with RC controller)


  2. ESC, support PWM

  3. ARMING_CHECK set to zero

Now, except steering servo is OK, I have following issue:

a) motor are running when I first selected BurshedWithRelay( I can’t stop, so remove the power)
b) the motor never spins again when repower or reboot
c) MP continously report “bad compass health”. Yes I didn’t connect the GPS, but I have disabled arming check, why it still report “bad compass health”?

Is there any other settings I am still missing here.

EDIT: Can’t use motor test either

MP prints following message, but motor doesn’t spin.

4/5/20 8:43:30 : Throttle disarmed
24/5/20 8:43:28 : Throttle armed
24/5/20 8:43:28 : Warning: Arming Checks Disabled

And I try to follow PWM, OneShot and OneShot125 ESCs — Copter documentation, which seems to configure PWM type ESC for brush motor.

I set MOT_PWM_TYPE to 0, reboot the FC.

There is no MOT_PWM_MIN and MOT_PWM_MAX, which can be observed in ESC calibration page.


24/5/20 9:40:40 : ChibiOS: 6a85082c
24/5/20 9:40:40 : ArduRover V4.5.2 (5d9c84ca)
24/5/20 9:40:36 : AHRS: EKF3 active
24/5/20 9:40:36 : EKF3 IMU1 tilt alignment complete

motor test log, A(no response)–>B(steering servo action)–>C(no response)–>D(no response)

Now, A(no response)–>B(steering servo action)–>C(right motor spin forward)–>D(left spin forward)
But I still can’t control it by RC controller. And it’s quite different from Can’t get throttle output… I don’t find BRD_SAFETY_ENABLE param.

Similar to the issue discussed here: Throttle function does not respond to RC signals

rover2.param (18.9 KB)

BRD_SAFETYENABLE was renamed to BRD_SAFETY_DEFLT in… 4.4.0 I think.

You’ve armed the vehicle in MANUAL mode? Otherwise, we’ll need a bin log from the flight controller’s SD card.

You can not set the motors to throttle left/right and use ackermann steering at the same time. Set both motor outputs to throttle.
The problem is, throttle left/right will control your rover with skid steering. The steering input is translated to a rotation speed, even if the rover is standing still (pivot turning). This would require 90° degree steering angle from the front wheels. Most likely not possible with a normal mechanical steering linkage. So if you use both the front axle will be dragged around by the skid steering rear motors, or the rear motors will lose traction.

1 Like

Count is right. If you want to mimic a differential, you’ll probably need a Lua script to calculate the proper wheel speed values.

I’m trying Motor Test, it will arm/disarm the motor.
And I have
a) ArduRover 4.5.2 Bad Compass Health issue, not sure what cause it.
b) Throttle function does not respond to RC signals

The zip file is binary log. It’s too large so I compressed it a bit.

Thanks, I’ll try. Actually, I just wanna use this AKM as rear wheel drive model car right now.

OK, it sounds a little bit complicated for me. I think I need to configure it working as rear wheel drive model car first.

@count74 I made progress.

After configuring throttle, the throttle can be controlled by RC controller. But there are still some issues:

  • a) @stephendade set manual and arm the rover (without GPS unit, nor compass; well just ignore those warnings). Right now I don’t know what’s happening here.

DO as @Oli1 says. After set COMPASS_ENABLE = 0, all the warnings are gone!

  • b) @count74 As the above process, arm the rover from MP, it can only move forward, can’t move backward. I don’t know if it’s something to do with the “position configuration”? I fly copter most of the time, so the throttle is at 1000 by default. Is there anything I should configure ahead?

  • c) I can arm/disarm from the MP, but I can’t arm/disarm Rover from RC controller? Any ideas?

set channel8 for arm/disarm, problem solved; Arming and Disarming my rover from RC - #2 by dkemxr

  • Question A: With the configuration makes progress, currently, I have the above “can’t move backward” issue. (something like Throttle tuning for Rover)

  • Question B: And got a new one “Internal Errors 0x2000000”, it seems something to do with the encoder.

BTW, I can’t see rpm value large then 0 in MP, even the motor is spining. Maybe I need to read more about discussion GPIO ISR Flood - bug or misconfig

24/5/21 6:03:39 : Retrying pin 53 after ISR flood
24/5/21 6:03:39 : Retrying pin 52 after ISR flood
24/5/21 6:03:29 : Throttle disarmed
24/5/21 6:03:25 : Internal Errors 0x2000000
24/5/21 6:03:25 : ISR flood on pin 53
24/5/21 6:03:25 : ISR flood on pin 52
24/5/21 6:03:22 : Throttle armed
24/5/21 6:03:22 : Warning: Arming Checks Disabled
24/5/21 6:03:19 : ELRS: Link rate 150Hz, Telemetry rate 69Hz
24/5/21 6:03:16 : AHRS: EKF3 active
24/5/21 6:03:16 : EKF3 IMU1 tilt alignment complete
24/5/21 6:03:16 : EKF3 IMU0 tilt alignment complete
24/5/21 6:03:15 : EKF3 IMU1 initialised
24/5/21 6:03:15 : EKF3 IMU0 initialised
24/5/21 6:03:15 : ELRS: RSSI now displays normally
24/5/21 6:03:15 : ELRS: Link rate 150Hz, Telemetry rate 149Hz
24/5/21 6:03:13 : RCInput: decoding CRSF(3)
24/5/21 6:03:13 : RCOut: PWM:1-2 PWM:7-13
24/5/21 6:03:13 : Aocoda-RC-H743Dual 0036002A 3031510A 39373436
24/5/21 6:03:13 : ChibiOS: 6a85082c
24/5/21 6:03:13 : ArduRover V4.5.2 (5d9c84ca)
24/5/21 6:03:12 : RCOut: PWM:1-2 PWM:7-13
24/5/21 6:03:12 : AHRS: DCM active
24/5/21 6:03:12 : ArduPilot Ready
24/5/21 6:03:12 : RCOut: Initialising
24/5/21 6:03:12 : Aocoda-RC-H743Dual 0036002A 3031510A 39373436
24/5/21 6:03:12 : ChibiOS: 6a85082c
24/5/21 6:03:12 : ArduRover V4.5.2 (5d9c84ca)
24/5/21 6:03:12 : RCOut: Initialising
24/5/21 6:03:12 : Aocoda-RC-H743Dual 0036002A 3031510A 39373436
24/5/21 6:03:12 : ChibiOS: 6a85082c
24/5/21 6:03:12 : ArduRover V4.5.2 (5d9c84ca)
24/5/21 6:03:11 : Beginning INS calibration. Do not move vehicle
24/5/21 6:03:11 : Barometer 1 calibration complete

EDIT: 1024 PPR encoder with 1: 60 reduction ratio

If I set motor PWM pin to RCIN, then it can move forward and backward. But it can’t be controlled by arm/disarm button.

And it means my hardware is OK. There is definitely some configuration params that I have missed.

EDIT:
THR_MIN has been superceded by a MOT parameter. And currently, it can’t be set to nagetive values. I think it might be the reason.

Thank you guys @Yuri_Rage @Oli1 @count74 @stephendade , the Rover basically works.

Last question moved here: Internal Errors 0x2000000 with WheelEncoder -- ArduRover 4.5.2