[Control Method]
From: Jetson TK1 board (connected to the ArduRover’s Pixhawk)
What to Control: Raw Steering Gear PWM and Raw Throttle PWM Value, specifically in Guided mode
[What I Tried]
MAV_CMD_DO_SET_SERVO
SERVO_OUTPUT_RAW
Neither of these methods worked. Since the system will only be used indoors, commands relying on speed, acceleration, or position may not be applicable.
[What I Expect]
I would like to know the most appropriate way to control them. Is it correct that MAV_CMD_DO_SET_SERVO only controls AUX servos and does not control the steering gear or throttle ESC?
I found a GitHub repository that uses mavlink_msg_rc_channel_override, but I have heard that this might not be the best approach for control. I want to control the servo directly in Guided mode, not via blocking the transmitter.
MAV_CMD_DO_SET_SERVO: This only works on servos that are not used as control surfaces. In Mission Planner on Windows, I observed that the auxiliary servo responds to commands from my Jetson TK1, but the steering gear and throttle PWM remain unchanged.
SERVO_OUTPUT_RAW: This message is sent from the rover and cannot be used to control the rover via the Jetson TK1.
I’m considering connecting my ESC and steering servo to the AUX PWM outputs to control the rover through the Jetson TK1 (since it only controls AUX outputs). However, if I do this, I’ll need to create a control loop using the RC input via MAVLink messages on the Jetson TK1, as the servos won’t be on the PWM channels used by ArduPilot’s control loop.
Is this really the only possible solution, aside from overriding the RC signal with mavlink_msg_rc_channel_override? It’s hard to believe this is the only option.