I’m glad, after a lot of things the ROV is working! The solution was a stupid. We have had the SYSID MYGCS bad all time. The default value is 255 or 240, the correct value is 1, for my case.
If anyone has doubts, the corrects steps are the follow:
- Launching, please verify the port and baudrate:
roslaunch mavros apm.launch
- Setting the stream rate, in my case 10 Hz is OK.
rosservice call /mavros/set_stream_rate 0 10 1
- Arming the ROV
rosservice call /mavros/cmd/arming "value: true"
- In my case, I was sure and was writting the cero value. I have just 4 motors. ATENTION: I compiled a version of Ardusub with a specific frame. If it is your case modify the frame parameter for
custom in QGC.
rostopic pub -r 20 /mavros/rc/override mavros_msgs/OverrideRCIn "channels: [1500, 1500, 1500, 1500, 0, 0, 0, 0]"
- If you set another velocity for each motor you can send specific value according to the max to min parameters. For example: I want to move the 2nd motor, I use:
rostopic pub -r 20 /mavros/rc/override mavros_msgs/OverrideRCIn "channels: [1500, 1750, 1500, 1500, 0, 0, 0, 0]"
Finally, I can say, I solved my problem!
Thanks a lot to @jwalser and @patrickelectric for your help!