I ran today in some crazy problems with my mavros setup and they got solved by itself - but I’m still curious why it happened and how I can maybe prevent it from happening again.
So what am I using - I have a motion capture system (vicon) which is running fine with a quadcopter (and a RaspPi3B as onboard computer) but I also have two big hexacopters (also with a Pi as onboard computer) and everything was fine - just two days ago I flew one of the big ones in Position mode via a wifi vicon-mavros-rasppi-pixhawk-connection and it looked great. Both hexacopters run the current master branch (18/19.09.2019) the quad an older version all on a pixhawk 2.1 (‘classic’ cube).
Today happened some crazy things. I removed the Pi from hexacopter A and put in on hexacopter B, I started mavros as usual, started my vrpn_client for my vicon system and established a data connection to my pixhawk.
In QGC I could see a true position estimation for each direction and via the mavlink-widget I could confirm to have local_position data on my pixhawk (I even flew in POSCTL mode and everything was more or less fine) BUT while all of this worked my mavros system just reported to be not connected ->
rostopic echo mavros/state and the output of anyother mavros topic was -of course- empty.
So to say in other words - my mavros connection worked in some kind of one-way-system the position data could be transfered to the pixhawk, but none mavlinks could be reported back.
I thought I might have configured the Pi wrong (which is in fact a copy of the one which I used on the quad without problems). But I couldn’t figure out anything. So I went for try-and-error to determine my issue and plugged both pi’s to all 3 copters. The Pi which ran before on the quad (where everything was fine) ran nice and without mavros problems on the hexacopters. The Pi of the hexacopters (where I guessed was something not right) still ran without problems on the quad… placing it back on a hexa - everything was fine again.
So in short:
a) are the any known issues with mavros on the current master?
b) did anyone had this issue before?
c) can a fault in the connection cable (pixhawk-pi) be the issue?
(But why did the motion capture data still arrived on the drone then? - Still the most obvious explanation)
d) how can mavros send data but can’t recieve any?
I hope someone will read through all of this without being confused by multiple copters and pi’s.
Really I would also be gratefull if you may have an idea why this might have happened.