I have set up a Raspberry Pi 3 to communicate with the Pixhawk via MAVProxy. When it works, it great, but there are many times where it does not.
When I send commands sometimes, like "wp list" or "mode auto" or "mode manual" etc..nothing changes. I have to say the same command several times before it registers.
Has anyone experienced this problem? Is there a fix?
My ultimate goal is to automate how the Pi sends command via MAVProxy, but if the commands don't register that will be a problem for me (unless someone knows how to get around that).
Replies
Great, well done!
Unfortunately there are problems with mavlink with multiple devices, there has been some discussions on how to fix it and even some code produced but nothing concrete in a release yet.
I finally got it all working, and on the Pi3!
After removing the 3DR radio from Telem1, MAVProxy started responding instantaneously. No clue why I didn't just try that when you first mentioned it -.- but it's good now.
As for the hardware problem with the Pi3, no clue what was going on but after reimaging, it seemed to get fixed.
I am powering the Pi externally and not from the Pixhawk.
I have not disconnected all other serial devices from the Pixhawk so I will give that a shot.
I am running Rover 3.0.1.
I believe mavproxy and pymavlink are the most recent. Is there a way to check? I installed them via apt-get install this morning so I am assuming they are the most up to date.
I have not tried drone kit, might be worth a try.
Baud rate is definitely correct.
Are you powering the pi from the pixhawk, like in the apm setup wiki? That's a really bad idea, particularly with the newer pis which have even higher power requirements. Disconnect the 5v, power the raspberry from a bec and see if you still have the problem. It's probably not the problem here, but it will save you a pixhawk in the long term and possible unpredictable issues like this.
Have you disconnected all the other mavlink devices from the pixhawk, so you just have the raspberry attached?
What firmware are you running? Do you have latest mavproxy and pymavlink installed?
Have you tried dronekit 2? This doesn't require mavproxy anymore, so worth trying.
Are you sure the pixhawk baud rate for the telem port you're connecting to is set to 57600?
For some reason it did not save when I did enable_uart=1. After fixing that the Pi stopped shutting off.
That still doesn't explain the Pi3 problem though.
Anyways, MAVProxy can let me send commands, but it still ignores the input and I have to send it several times before it registers.
We know the problem isn't ttyS vs ttyAMA0 anymore lol. But what else could it be?
I connect the Pixhawk to the Pi exactly as shown in the setup picture.
Wow, that's impressive! So how are you connecting the pi to the pixhawk exactly?
One of my friends let me borrow a Pi 2. Went through the process from scratch, and as soon as I turn on the Pixhawk, the Pi disconnects its SSH session.
What in the world could I be doing wrong?
I would return that pi3 if you can to wherever you bought it, and get a replacement. My pi3 works just fine. But the pi2 is pretty much just as good for what you want - it lacks the onboard wifi and bluetooth but they're of limited use in uav environment and just get in the way of the uart. The pi1 had a pathetic cpu, stay clear of it.
You could also look at the odroids, they're much more powerful.
I've given up with the Pi 3. I think I'm going to get a Pi 2. Would you recommend the 2 or the 1 with MAVProxy?
Yup! It seems as I found a bug with the raspberry. I'm going to keeping messing with it to see if I can find a fix.