Python interface for Mambo and Bebop


@awmt102 Thank you! I’ll get some testing done this weekend. If you solve it and do the request, I’ll check it in. I also need to check your windows solution on my Mac to ensure it works there too. If so, I can check that in. I bet it is the issue for the one trying to use the mambo.


@awmt102: Quick thought about the string encoding error … It really seems to be a “python2 vs python3” error to me.

As I see that @CaptainSaavik noted that pyparrot requires python3, are you sure that you ran the code within a python3 interpreter, not a python2 one ?

This could explain some differences between your results :wink:


Thank your for answer. I run your code and bebop is working but I saw that message again and again. However Katarina is not working they said firmware version is not matching…


Sorry, you need to ask the author of Katerina.


@Nicolas Good point about python 2/3… I think I’m on 2. I will check and upgrade tomorrow.


My laptop is windows OS. Do you think that vmware with ubuntu is good? I want to get video feed.


Had some fun tonight. We have a fleet of 9 Mambos right now (preparing to use them in the classroom) and I wrote a quick program to see how many we could get to take off at once and fly together. The answer seems to be 7. So I had 7 mambos flying at once :). We are going to do some fun coordinated programming with them. In case others are curious, the coordination is going to require BLE (that way they are all connected to the same computer, with wifi each one is connected to a separate network).


@awmt102 helped find the error and I have published an update to the code that fixes this. You will want to update as it was a big fix! Thanks for the help on finding that.


@CaptainSaavik I have managed to get bebop video working! (Thanks largely to @Nicolas and his work on ByBop).

Its a bit ‘hacky’ at the moment so needs tidying up before I create a pull request. I might try and replicate your Mambo structure and create a new class for BebopVision… What do you think? Happy to discuss outside this forum to save others from being bored by ‘project structure’ discussion!


That is awesome! Yes, I’m happy to talk off-line. My email is on the GitHub in the comments for the code. I fixed that whole develop/master branch problem by going down to one branch. I did push some vision stuff last night for Mambo. Did demos today with high school kids on the mambos and learned all the ways to break mambos (including a physical break that is going to cost me two motors!). But the demos went over really well :slight_smile:


great. I read your code. I will test it on weekend. Looks great.
Do I need install some other library?


I’ll get the new code checked in this weekend. And yes, you will need opencv.


@freaad the pull request I have logged here allows you to command the Bebop to start sending the stream. It does not require any additional libraries. If you simply want to view the images then you can use VLC to open the SDP file shown in the pull request (at the bottom) and you will see what the camera sees. If you want to further process the images then its relatively easy with the OpenCV python. @CaptainSaavik and I are talking about adding that functionality into pyparrot in a very accessible way… but if you want to get stuck in straight away you can do so with the cv2.VideoCapture(bebop.sdp) command and code like this (right at the bottom of that page).

Unfortunately, whilst it is simple in principle, it may not work that easily in practice. There appear to be a few issues associated with python, openCV and sdp files. If you have problems try here. If you still have problems my solution was to downgrade both python and openCV as I describe here. No idea why this works for me though.


I wonder if that is why I couldn’t get the mambo vision to verify for me. It worked fine back when I was using python 2.7 but now that I upgraded, it is saying it won’t open. I will work on tracking this down this weekend and I’ll get the code in.


woo install opencv python is kind of pain. I failed compile 5 times :sob:


opencv is the library you will need if you want to actually process the vision. If you just want to use the vision, I just (about 30 min ago) released the full Bebop vision code to enable the vision (from @awmt102). You have to use VLC or another viewer to see the stream right now. Working on a BebopVision class, similar to MamboVision. Are you using Mambo or Bebop? If Mambo, you can view it using VLC just by opening the RTSP URL in the MamboVision code.


I am using the bebop.
It is really pain I need to get the video data and want to run the vision based flight.


are you using the anaconda opencv binary?


Yes, I am using anaconda. I will get working on the BebopVision part but it will likely be a bit as final grades are due next week. Once those are turned in, I will have coding time again. I think @awmt102 is also working on it.


Ok When you get success please let me know I am trying to install pure python with opencv and CMake has some issue woo…