Getting started with MAVproxy

Hi,

We are running a BlueROV2 with advanced electronics package smoothly with QGC on a Windows topside computer. We would like to use MAVproxy simultaneously with QGC to send additional ROV control messages, but have not yet found step-by-step guidance for getting running with MAVproxy. A little help for some beginners??

We tried following the directions here, and entered ‘mavproxy.py --master=tcp:192.168.1.1:14550’ (and various other options including 0.0.0.0) at the MAV prompt in MAVproxy running on the topside computer, with no luck.

Various resources give hints from the perspective of users with questions about particular configurations and versions (e.g. here and here). I see various threads refer to using Putty to log into the Raspberry Pi, and I see references to MAVproxy running on the Pi, and so some of the helpful hints seem ambiguous as to where and when the commands might be entered.

Thanks for any clarification-- hopefully this will be useful for others using a Windows/Fathom-X/RaspberryPi/Pixhawk setup.
-Scott

The communications from the Pi come over UDP by default, so on the surface computer try --master=udp:0.0.0.0:14550 instead. If you want to use mavproxy + qgc, then you need to set up two separate ports one for each program to listen on. Fastest way would be to turn off UDP auto-connect from QGC general settings, start mavproxy with --master=udp:0.0.0.0:14550 --out=udp:0.0.0.0:14660, then set up a comm link in qgc to listen on 14660, and connect to it manually in QGC.

New documentation is in the works, this will be covered.

-Jacob

Jacob–

Thanks for the guidance. I did as you suggested and I was able to get mavproxy running on the surface Windows computer once I got the proper directories sorted out. However, setting up the ports as you suggested resulted in a video signal coming through to QGC, but no other signal-- QGC would not connect to the vehicle.

To explore MAVproxy, I alternated between QGC (watching the MAVlink inspector to learn what MAVlink messages were associated with various controls), then switching to mavproxy (entering the same commands and watching the ROV response). Unfortunately during this exercise I wound up with an unresponsive/twitching thruster, and later found an ESC connection that had overheated-- it actually melted the plastic junction block (!), but didn’t show any evidence of overheating on the ESC board itself.

So, is this just a coincidence (perhaps a poor connection that overheated) or could I have caused the overheating by sending an unfortunate sequence of mavlink commands? Among other things, I think I sent ‘rc 3 1700’ followed by ‘rc 3 1500’, and in retrospect I wondered if that kind of Full Speed then Full Stop sequence is detrimental (whereas joystick controls would ramp up and ramp down gently).

-Scott

After experiencing another episode of “twitching thruster syndrome”, we realized that the screw-down connections in the plastic junction block connecting thruster wires to the ESC wires are loosening on us. Probably we didn’t tighten them enough in the first place. Also I suspect that having the wire ends tinned solid prevents the screw from seating as securely as it would if the wires were left with raw ends. Probably the junction meltdown we experienced was due to high current through a barely-connected wire at the connector.

Still no success with simultaneous QGC and Mavproxy.

Dear Sir,

We have bought a new Blue ROV2 and we are running a BlueROV2 with advanced electronics package smoothly with QGC on a Windows topside computer. We would like to use MAVproxy simultaneously with QGC to send additional ROV control messages, but have not yet found step-by-step guidance for getting running with MAVproxy.

Little guidance is required so that we can give direct commands from Rpi to ardusub for arming, moving ROV forward/lateral etc.

Hi @sjpanwar, check here

Dear Sir,

Can a example in python be provided to give RC commands to ardusub pixhawk
from Rpi for strainght/lateral movement.

Hi @sjpanwar,

Check the QGC code to see what kind of mavlink messages are used, they sounds like exatcly whay you want, take a look in the different modes and what message is used for each one of them.

If you want to send mavlink message with python, most messages follow this rules: message_send.
E.g:

#start connection
conn = mavutil.mavlink_connection(args*)
#send SET_ATTITUDE_TARGET 
self.conn.mav.set_attitude_target_send(args*)
#send SET_POSITION_TARGET_LOCAL_NED
self.conn.mav.set_position_target_local_ned_send(args*)