Wicked Minds Electronics Posted June 7, 2012 Report Share Posted June 7, 2012 Setup and tracking of multiple objects (Rubiks squares) of different colors using Papilio 500k and a camera from SparkFun. Image acquisition and segmentation are implemented in custom VHDL. Blob detection is limited to 8 objects and is very crude at this point because only a single pass algorithm has been implemented in assembly using a KCPSM3 running at 64MHz. The client application shown here is written in C#. Only Wing C on Papilio is needed to interface the camera, the next step after adding a second and maybe third pass to blob detection is to throw some servos on the other side (Wings A, and see what that leads to. Still lots of room left!Logic Utilization Slice Flip Flops 423 of 9,312 (4%)4 input LUTs 1,072 of 9,312 (11%)Occupied Slices 629 of 4,656 (13%) Slices containing only related logic 100% Number of Slices containing unrelated logic 0% Total Number of 4 input LUTs 1,128 of 9,312 (12%) Number used as logic 740 Number used as a route-thru 56 Number used for Dual Port RAMs 272 Number used for 32x1 RAMs 52 Number used as Shift registers 8This post has been promoted to an article Link to comment Share on other sites More sharing options...
voelker Posted June 9, 2012 Report Share Posted June 9, 2012 Hi, very nice work ! Can you give detail on tracking framerate (30hz ?) , resolution and memory utilization of the papilio one ? Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 9, 2012 Author Report Share Posted June 9, 2012 Tracking area is 128 pixels x 96 lines (subQCIF) with 13-bit color resolution. Tracking registers are updated every frame at 30 frames per second. A single DCM is used to provide 24MHz clock to the camera/UART and 64MHz clock to the picoBlaze. All memory is accessible via UART at 115,200 baud. Memory Utilization: 24k x 8-bit RAMB for raw frame capture8k x 8-bit RAMB to hold the color map6k x 8-bit RAMB for segmented image capture1k x 16-bit RAMB provides program storage for picoBlaze64 byte Distributed RAM for picoBlaze scratchpad memory128 byte FIFO for RLE compression during tracking256 byte Distributed RAM to host the Tracking Registers. Raw frame capture is only used to support creation of color maps and is possible to omit from a stand alone design however I kind of like the thought of having the ability to take a snapshot of objects I am tracking in the field. Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 14, 2012 Author Report Share Posted June 14, 2012 I posted another video taken from my cell phone showing me moving the cube around with the tracking window in the background. Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 20, 2012 Author Report Share Posted June 20, 2012 I tossed a servo core from opencores.org into the mix and hooked up an old servo I had laying around. Currently just a single axis going. Need to find another working servo to implement the other axis. So far so good Here is a quick video of the servo tracking in action. Link to comment Share on other sites More sharing options...
Jack Gassett Posted June 21, 2012 Report Share Posted June 21, 2012 Wicked, this is wicked! Great demo Jack. Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 24, 2012 Author Report Share Posted June 24, 2012 And here is Y axis Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 25, 2012 Author Report Share Posted June 25, 2012 Took a time out from playing with the software to model up a wing design. Turns out to be pretty damn small Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 26, 2012 Author Report Share Posted June 26, 2012 Finally found models for the connectors Link to comment Share on other sites More sharing options...
alvieboy Posted June 26, 2012 Report Share Posted June 26, 2012 Just a question: is that a PQFN package? Alvie Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 26, 2012 Author Report Share Posted June 26, 2012 Just a question: is that a PQFN package? Alvie Not really, SparkFun has the datasheet for the camera. There are two ways to connect to it, there are pads on the bottom which are also broken out to tabs on the sides for a socket. You will have to look at the drawings in the datasheet, it is hard to describe the pattern. Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted July 1, 2012 Author Report Share Posted July 1, 2012 I added a TV Wing to my design and here is the results of tracking with a live composite video monitor. I added some screenshots at the end of the video so that you can see what the picture looks like without the brightness being skewed by the angle I filmed the demo at. The TV Wing is based on the design by BenL posted on the GadgetFactory playground with slight modifications to bring the DAC up to 8 bit resolution and using 100ohm/200ohm values for R/R2. I had to add some VHDL to convert the cameras YUV422 data stream into the separate Y, U and V channels for encoding. Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted July 2, 2012 Author Report Share Posted July 2, 2012 Finally got another camera to put everything onto a wing and get the thing off my breadboard. So relieved the right angle connector worked out correctly! Link to comment Share on other sites More sharing options...
Jack Gassett Posted July 2, 2012 Report Share Posted July 2, 2012 It's all looking really great! Must be time to order some professional PCB's now! Jack. Link to comment Share on other sites More sharing options...
Jack Gassett Posted September 6, 2012 Report Share Posted September 6, 2012 Ok, professional PCB's just arrived, Wicked and I are working towards making these available for purchase!Here's pics of the PCB: Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted September 6, 2012 Author Report Share Posted September 6, 2012 Thank goodness the drill file was correct! I'm so happy to see the holes where they belong It looks awesome! Can't wait to see one assembled. Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted September 12, 2012 Author Report Share Posted September 12, 2012 So here it is assembled by hand using the new socket design. Just finished running tests on it and taking pictures. Works flawlessly This time around I chose female headers as connectors so that I have more mounting flexibility and can more readily use some ribbon cable to mount the camera on a servo assembly.P.S. As you can see from the close-ups, I couldn't find my tweezers for the caps and such Link to comment Share on other sites More sharing options...
Jack Gassett Posted September 13, 2012 Report Share Posted September 13, 2012 Looks great Wicked! I'm waiting for parts to arrive to build up a few as well. Then we can start working on making these available in the Gadget Factory store so anyone can play with FPGA based vision system!Jack. Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted September 13, 2012 Author Report Share Posted September 13, 2012 My youngest volunteered to model for a raw image test Link to comment Share on other sites More sharing options...
Jack Gassett Posted September 13, 2012 Report Share Posted September 13, 2012 Nice! Tell him thank you for helping out. My boy loves that kind of stuff, I recorded a youtube video with him in it and he had a blast showing to all his friends at school.BTW, take a look at Flowstone, I'm pretty excited about all the things we can do with this new graphical programming tool. Has lots of great image processing and DSP tools that don't require any programming to make a really cool windows application.Jack. Link to comment Share on other sites More sharing options...
veysel77 Posted November 27, 2012 Report Share Posted November 27, 2012 Nice work! where do you learn all of these?? Is there a tutorial for these to learn the basics??? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.