This setup allows you to control the robot with any standard GCS and mavros at the same time, which will cause issues if both are running at the same time.
Alternatively you can changes the robot’s default accepted system_id in BlueOS/QGC firmware parameters
I’ve understood that it map the value to the direction (e.g., channel 1 = forward → changes 4 motors) but I still don’t see the motors moving, why could that be? Are there other issues I should check?
Is there any official documentation about this?
I’m not well-versed in the ROS side of things, but MAVLink’s RC_CHANNELS_OVERRIDE messages (which OverrideRCIn uses) are overriding the RC inputs - i.e. pretending to be a radio controller communicating with the vehicle.
The SERVO_OUTPUT_RAW messages (which as I understand it are provided as ROS’s rc/out) are reflecting the autopilot’s raw servo channel outputs, which are determined by the autopilot from the combination of its various inputs, including the RC input channel mapping, to achieve the configured output functions.
It is possible to set each output to RCPassThru if you want, but that then doesn’t make any use of the autopilot’s functionalities (including arming and failsafes and the like).
Assuming you’re only using the values you’ve shown, 10µs of pulse-duration away from the neutral PWM value is still within the ESC’s dead-zone, so isn’t expected to have any effect.
If you’re using larger values and still not getting any movement then perhaps you haven’t armed your vehicle, or have triggered a disarming failsafe (e.g. by not sending heartbeats, or sending control inputs too infrequently)?
Thanks! It was just too short a pulse duration, that’s why nothing was moving. I increased the values and now it works. I’ll keep using OverrideRCIn as before.
Really appreciate you taking the time to explain how OverrideRCIn works that clarified things a lot.