So good to be back.
 
If some remembers me, I joined MRL two years ago in my early days on the university. I was trying to make a Beer Pong Robot (http://myrobotlab.org/content/beer-pong-robot). If anyone is curious about that, the result of that project was, well.. disastrous. The main problem for this is that it was an academic work and we had just a few days to make it work. So between the short time and my team being.. not as enthusiastic as I wished, I coudn't focus as I wanted on the programming. 
 
After this I started working in some new ideas that I was really excited to develop, some of them incluide a mobile App that is starting to work here in Mexico and a wearable device for an Intel contest.
 
Any way, after all this I improved my programming skills and it's time to face a new challange. This year we have another workshop in which we havve 5 days to make a robot capable to do a rescue mission in different scenarios. My team (a much better team than the last time, I need to say) got the dark room and difficult terrain scenarios, so we need to get to a certain point, rescue a dummy and get back to the starting point. The robot doesn't need to be autonomous, we can be controlling it (wirelessly). My idea was to use MRL to send commands comming from a Xbox360 controller to a PIC mounted on the robot with the Serial service  and stream video from a GoPro Hero 4 that we have. I got the controller and serial communication parts almost finished. 

 
 
The only thing left is the streaming part. I achieved to stream the video coming from the GoPro Hero 4 using a FFmpeg promt and a Python script to mantain the stream alive. But I was wondering if I can use OpenCV to stream and process the video. Suposely OpenCV has a FFmpeg option that uses a Java library, isn't it? So woud be possible to make the stream right here to manage de video? I'll keep searching forward for that.
 
I'll let you know the results

GroG

8 years 7 months ago

WELCOME BACK ERICK !

Once a MRL'er always a MRL'er !

What a cool project..
FFmpeg is an amazing project, but it comes with a metric tonne of dependencies.

Its been worky sometimes and not so worky others ..  I'll check for you what all is currently working.
If it "is" working, it would be in our latest development branch - which is a HUGE difference from the "never dying 119" release which you are currently working with.

On your side, I'd be curious if your program works with our latest development branch.
You can find out quickly, by :
1. Downloading the latest jar into a new empty directory.
2. Installing all dependencies with the following command
       java -jar myrobotlab.jar -install
      ... it will take a while ...
3. Then starting with
       java -jar myrobotlab.jar

4. Running your script

The latest version is always accessable through the links above the shoutbox :
latest build | version 

current version is 1.0.1279

I'll keep you updated with what I find, keep me updated with your test

5 Days ! starting today !?!

Very cool challenge, and were really excited your using MRL !

BTW - in the new version there is a WebGUI - so if your bot had a raspi, or comprable sbc you wouldn't need the laptop, and the gui could be remotely accesable from anywhere
You can take a peek at it - in the online demo - http://demo.myrobotlab.org:8888/#/main (if its up :)

GroG

8 years 7 months ago

So what kind of video can you get from a GoPro 4 ?
MPEG4 H.264 ?
Does it have a server on it ?  Can you point a browser at it and get a video stream ?
What do you want to do with the video stream ?  
Just relay the data remotely or re-processes it with OpenCV ?

Thanks GroG! 

Right now I am making some tests with the latest build. And I'm not so sure about the codec from the GoPro. When I was searching more about it I found that this model uses a different kind of processor so you can't access directly to the stream from a local host in the Wi-Fi network that it regulary uses for the GoPro App. 

The way that I found to make the stream was using this build with the ffplay.exe and UDP, and I'm trying that this ffmpeg promt copy the stream to a local host maybe...

And it was 5 days starting this monday but everything is almost finished, I still can send the commands and have the stream on the other side with no problem, I just tought it would be cool to have it in the same framework and use OpenCV to apply some filters so help the rob find the dummy. If this works we can even run it on a raspi that have here.

I'll keep you updated. Cheers.