Shop OBEX P1 Docs P2 Docs Learn Events
Is that possible to interface small cameras on the ActivityBot? — Parallax Forums

Is that possible to interface small cameras on the ActivityBot?

Aurelio FreireAurelio Freire Posts: 5
edited 2014-07-05 14:50 in Robotics
I bought the ActivityBot kit and I'm starting to have fun with it. But I wanted to advance more and detect objects and maybe calculate distances/volumes with two small cameras calculating object positions by using stereo vision.
I have also a Arduino kit and the RaspBerry Pi, which can come in handy. Also, it would be even more awesome to interface the images received to Matlab (I have more experience on it) instead using OpenCV (used just a little in C). I intend to use XBee to connect the ActivityBot directly to my laptop.

So anyone knows tutorials/links/videos that could be helpful? I already saw some XBee tutorials connecting Arduinos.
Also I don't know what cameras would be compatible to the ActivityBot.
Thanks for any help! :D

Comments

  • NWCCTVNWCCTV Posts: 3,629
    edited 2014-06-27 20:59
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-06-27 21:20
    A lot of this is a big "it depends".

    I've collected some machine vision links in post #4 of my index.

    Most of the machine vision links listed use the Propeller to analyze the captured image but some of the methods linked to send the image to a PC for processing.

    You'll have a lot of trouble trying to transmit an image via XBee. It's just too slow for real time image transmission.

    One option not listed is the CMUcam5 (aka Pixy). This sort of camera does the processing for you and sends the Propeller (or other microcontroller) information about what the camera sees. There's some discussion about using the Pixy with the Propeller here.

    I used Hanno's method of capturing a black and white image and displayed the captured image on a LED array. This made for a very low res monitor but I thought it looked cool.

    attachment.php?attachmentid=80519&d=1303582009

    I really like this photo and I post it whenever it's remotely related to the topic being discussed. The camera in the top left of the photo is used to capture the "HI" on the whiteboard which is then displayed on the array.

    A low res image like this could be sent over XBee without too much trouble but high resolution images could only be sent at a very low frame rate.

    The RaspBerry Pi can be used for for machine vision. There are several tutorials on how to use it this way on Letsmakerobots.com. I'm sure there are lots of other tutorials for doing machine vision with the RPi but the ones at LMR are the only ones I know of off the top of my head.

    Another option is a newly released "PropCam". There should be a link to a forum thread about the PropCam in post #4 of my index. (Edit: I was wrong. I don't have any PropCam links in post #4. I'll update this section soon.)

    I could go on for a while about the different options but I'm running out time. This is a topic in which I'm very interested. I keep intending to do a thorough survey of the various machine vision options for the Propeller but I'm easily distracted by all the other fun things to do with a Propeller.
  • Aurelio FreireAurelio Freire Posts: 5
    edited 2014-07-04 16:51
    Do you think I could get cheaper options like this one below?

    http://store.cutedigi.com/ov7670-camera-module-for-robot-all-glass-metal-lens/
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-07-05 14:50
    Do you think I could get cheaper options like this one below?

    http://store.cutedigi.com/ov7670-camera-module-for-robot-all-glass-metal-lens/

    Yes, it should be possible. I recently purchased a pair of OV7670 cameras in hopes of getting them to work with a Propeller. If you don't mind waiting three weeks you can get the cameras for a lower price at ICStation.

    These cameras were mentioned recently on Let's Make Robots (one reason for my decision to purchase them). The post by Bajdi has a link to more information about connecting the cameras to a microcontroller.

    Since you mentioned the ActivityBot, I assume you want to use C? It might be easier to adapt the available code to the Propeller using C than trying to adapt the code with Spin. If/when I attempt to use the OV7670 with the Propeller, I'll likely try to write the code with Spin and PASM.

    One major obstacle with trying to perform machine vision with the Propeller is where to store the captured image. The OV7670's 640*480 image means there are 307,200 pixels (hub RAM has 32,768 bytes).

    IMO, using a camera like the OV7670 with the Propeller is far from trivial, not that I think this should stop anyone from making the attempt.
Sign In or Register to comment.