Goal
The goal of this is to have a rover driven by 4 Hoverboard motors (skidsteer) with a 2 Axis motorized gimbal with a small load attached (for testing purposes it will be a relay driven searchlight). I am hoping to control the rover in via Xbox 360 controller over LTE using either Andruav (preferred) or Drone Engage. I am completely new to ardupilot and would appreciate any help you can provide.
System Layout
The controllers I am using to power the hoverboard motors are ZS-X11H controllers, which take PWM input for throttle, digital direction pin, and optional brake pin ( I am hoping to use it for emergency stopping, but this can be removed if needed). Each controller also sends out the motor hall signals, which can be used for speed input (the signal is not square wave however, since the waves are 120 degree out of phase instead of 90°). The ideal layout would be something like below:
This has the downside that it takes a 19+ pins, which is more than I have seen on any flight controller. It also requires the flight controller use PID loops to synchronize the left and right wheels to the setpoint, which seems challenging.
Alternate Layout
Alternatively, I was considering using an ESP32 to reduce the pin count and perform the control.
This uses the ESP32 to handle the feedback and PID loop, and reduces the pin count to 11, which seems more achievable with some of the larger controllers.
Xbox 360 Control
The controller would control the rover over the web client interface for the andruav. and I was hoping to map the following configuration:
This would be ideal, but it takes more inputs than I have typically seen for joystick control over LTE. Does anyone know if this is supported, or if there are any alternate ways to get this kind of input to the controller?
Flight controller
Since I am intending to use the Andruav for the camera, LTE telemetry, and GPS, are there any recommendations for a controller? I was thinking a Pixhawk 2.4.8 clone, but something less expensive would be nice if it supports Andruav. Again, I am a little out of my depth here where it comes to control like this.
I would appreciate any additional advice to assist with this. Thanks!