After many weeks of fiddling and messing around, I’ve finally finished the first version of MergeBlob. What is MergeBlob you ask? It’s a modified firmware for the new Mindsensors NXTCam V3.
I added the following features:
- Calculate the size of all the tracked objects (this is not exposed to the user, yet)
- Merge objects if they are found to be touching or overlapping
- Sort them according to size, biggest object first
This may not seem like much, but as they say, a picture speaks a thousand words, so below are some images captures using NXTCamView.
So, rather than attempting to track 8 objects at once, you can now instruct your robot to just track the first object, which also happens to be the largest one and most likely the object you are after, rather than an artifact. While the MergeBlob firmware tries hard to eliminate most sub blobs, it doesn’t always succeed. However, that being said, it does a much better job than the standard firmware. The current version of the firmware does not allow the merging and sorting to be disabled for object tracking mode, line tracking mode is unchanged from the factory default.
You can download the complete source here: [LINK]. You’ll need an SVN client on your computer to do so. I can recommend using TortoiseSVN.
Hi Xander
I’m a very grateful user of your driver suite and various other pieces of code you have published, and having recently bought two Mindsensors NXTCam v3s, I hope to add MergeBlob to that list.
I’ve downloaded the hex file and followed all the relevant instructions I can find from the Mindsensors website, but I’m completely stuck trying to get AVR Studio to recognize the NXTCams in boot mode. I wondered if you would be willing to give me some tips? If so, I’m happy to write more clearly what I have done, with screenshots and stuff.
Thanks, Daniel
Are you using the small program I wrote to control the NXTCam to put it into boot mode? It’s the program they have on their website: http://goo.gl/i3xHg ? Sometimes it takes a few reconnects to make it work. You should also put on the latest version of the standard firmware for the PIC. This is done with their firmware flashing utility and affects the PIC on there. I don’t know what the latest one is for that but I am sure the guys from Mindsensors can tell you 🙂
– Xander
I emailed Mindsensors and the problem turned out to be that new NXTCams (with firmware 3.01 shipped by default) need a different procedure to update the firmware. They sent me some amended instructions and it all worked well. I have yet to fiddle with it properly, but mergeblob certainly seems as impressive as it appears in your video – Thanks for sharing it!