MATLAB: Is this possible?!?!

raspberry pirobotstereo imagingwebcams

I am planning on building a robot and have it do the following things:
  • Is run with a Raspberry Pi 2 and using all Matlab/Simulink scripts
  • Is streaming stereo-graphic pictures from 2 USB webcams
  • Is taking the stereo-graphic images and locate objects and their distances
  • Using that information to make and implement decisions based on its surrounding
  • I would also like to program some functions of the robot that might not be possible in Matlab, and would need to be done in python.
  • Do all of that without too much delay
I think I would need to use the Raspberry pi toolbox, as well as the image processing, image acquisition, and machine vision toolboxes. Anything else?
Is their a better place for this type of question?
Any little tip or hint that might point me in a better direction would be extremely appreciated! Thanks for your feedback!

Best Answer

Hi, if you ar not familiar yet with Computer Vision Toolbox i suggest to look at Stereo Calibration And Scene Reconstructio Example . That will answer a lot about your first three points.
With every computer it will depend a lot on the resolution of your web cams. That will influence the speed of getting the depth info. With resolution of something like 800x600 I gues it might be realistic to get depth data few times per second on Raspberry Pi 2. The images in the example are 900x1600 download trial if you dont have access to this toolbox and time it with tic toc (my guess is it will take around 1 second). And then you will have to look for objects and stuff in this depth map and make decisions based on that.
Also Raspberry Pi 2 has quad core processor and i am not sure if MatLab is capable of using full potential of multiple core processor. To speed this up C would be better.
But you actually can skip these 3 parts and use Kinect instead (or any other depth sensor, but Kinect should be cheapest). I suggest Kinect v1 (from Xbox 360) because of the method used for its depth sensor (if you dont want to use it outside). It will get you the depth data in relatively good resolution at 30 FPS without using much of the Raspberrys processor. And you will also find libraries for Python for it. This might be inspiring for you.