Hello,
First of all, apologies if the question is not placed in the correct sub-forum, as it is a problem that I believe involves both PX4 and QGC, I thought this would be the correct sub-forum.
I’m building a Rover and I’m testing PX4, but I’ve encountered a problem trying to make it work with a joystick and I don’t know how to solve it. Despite the joystick is detected correctly, when I try to move the robot with the joystick sticks the motors don’t move. The actions assigned to the joystick buttons do work.
Next I detail a little bit the components and the steps I have taken so far, in case someone can give me a hand.
Board: Pixhawk 1 (currently connected to the PC using the USB port)
Joystick: Logitech F710 (tried both DirectInput and XInput modes)
ESC: 2x Dual Brushed Motor ESC connected to pins MAIN 1 and MAIN 3
Frame: Differential Rover
The steps I have followed so far are as follows:
- From QGroundControl (v5.0.2) I have flashed PX4 1.15.4.
- In the Vehicle Setup > Airframe I select Rover Differential
- I performed the calibration of the sensors
- In the Motors tab, the first thing that strikes me is that although I have previously selected the Airframe Rover Differential, it shows me the configuration for a Rover Ackermann. At this point, no matter how many times I select in the Airframe tab the Rover Differential option and restart Pixhawk, it always shows me Rover Ackermann in the Motors tab. Doing some research in the parameters, I found the parameter CA_AIRFRAME, which was set as “Rover (Ackermann)”. By changing it to “Rover (Differential)”, the Motors tab already showed the correct information and I was able to set the ESC of the right side motors in MAIN 1 output as “Right Motor” and the ESC of the left side motors in MAIN 3 as “Left Motor”. I also configured the Min, Max and Trim values. At this point, in the Motor Testing section I can move the motors using the Sliders correctly.
- With all this, we come to the Joystick part. In Vehicle Setup > Joystick I click on “Enable joystick input” and I make sure that the joystick is selected in the drop-down menu. I try to move the joystick sticks and I see how all the Roll, Pitch, Yaw and Throttle sliders move according to the sticks (I have done the calibration process as well but it didn’t solve the problem). In Button Assignment I assign the Arm function to button 1 and the Disarm function to button 2.
- With all this configured, I close the Vehicle Setup screen and press button 1 on the joystick to arm the Rover, which arms without any problems. I make sure I am in “Manual” mode and when I move the Joystick sticks, nothing moves. The motors remain still. I try arming and disarming the Rover using the joystick buttons and the actions are executed without problems, so I rule out that it is a communication problem with the joystick.
At this point I’m a bit lost and I don’t know where to go, I’ve tried to change the RC_Mapping parameter settings, but nothing has changed, am I overlooking some configuration screen where I have to assign the Throttle and Yaw functions to the Joystick sticks?
Thank you very much