Sunday, January 30, 2011

Eye for an eye... and a slightly smoky thought...

As part of my thoughts on the internals of my droid, I've come across two very interesting things. Firstly, a few people have ported OpenCV, an open-source computer vision project, to the Beagle Board-xM board, running under Linux. Very nice, 1GHz processor, very low power consumption, quite powerful really... Vision would be handy to have but, of course, but is dependent on the power required to process - and the software required to make best use of it.

I could easily use a board or three of these - especially as they will happily cluster. However, my personal preference is to have boards running dedicated processes, rather than a single board (or two) doing everything. Additionally, one board could be run just for any orbital mechanics calculations - what's the point of having an astromech if it can't do any astrodynamics calculations? *g*

Secondly, I came across (a couple of years back) a company which apparently makes Neural Network processor chips... *cough* MwahahahaHaHaHAHAHA! *ahem* Again, it's the programming which is the problem. They have boards dedicated to vision processing, plus the idea of speaker-independent speech recognition is interesting. If neural network ICs are available, of course, it makes possible the option of having a few chips processing environmental/etc data on the fly; alternatively you log a run (start to stop of operation), with a suitable sampling of data, and use it to provide some action/reaction mental processing.

Here's the thing, though... Say you have a few neural processors. You log sufficient data... NNs have two modes - Training and Operation. During a run, you set the processors to their Operation mode, and log operational data. The robot goes back to recharge, goes into Sleep Mode. During sleep mode, you have taken care to have motors, sensors, etc., turned off - you use the time to Train the network...

Is the robot dreaming?

If you didn't quite fully disable everything, would the robot twitch while it sleeps?

Thursday, January 20, 2011

Pro-tip: when ordering parts, make sure you get everything...

I get most of my electronics parts from two sources... One is local, the other international... The local source is more expensive, the non-local takes a lot more time. There can be a difference in what is available, but anything that both have I decide on is based on a speed vs cost question - do I want it quickly, or cheaply? For a lot of things at the moment, I go the cheap option, and just have to put up with waiting three weeks.

However, going that route has its problems - when you buy something, you need to make sure you get everything for it... I just received my order from before Christmas - lots of fun goodies (more below), which included (importantly) some non-polarised header sockets...

Except - I forgot to also order the pins for them. The pins being what the wire attaches to to make contact with (and hence use of) any header pins you want to actually use. So another order is required... I will fake it, most of the boards come with both socket and pins, so I'll use the sockets for the moment.

As for the parts that I got - a small I2C real time clock, some PIR sensors, logic level converters... Not anything to get excited about, but all make for useful things for a robot to have... I also realised the other day that it would be awfully useful for a robot to have an on-board logging system, particularly when a lot of data could need to be analysed, a view reinforced by one book I've been reading on the pitfalls and problems with robots. Actually getting to anything to work can be an interesting challenge of course, but that's the interesting thing about putting together this sort of a project...

Thursday, January 13, 2011

A Change Of Heart... Or A Replacement Motivator

It has been a little while since my last entry. Nothing serious, just life getting in the way. Like earning the money to get the bits to build my droid...

I've been thinking... Perhaps I should be willing to make astromechs for people.

The question is: would people be willing to pay a couple of thousand for labour? Note that I wouldn't be selling droids, you would be paying for the cost of parts, reimbursing me for said, and paying for me to spend my time putting it together. Plus shipping and handling costs. Given that costs for astromech parts can easily run into the thousands of dollars, having someone do the work might be acceptable for those who are prepared to pay a cost of convenience, and don't have the time.

I've just finished paying for my first frame (from James of Commando 8) - really, I prefer the idea of a machined aluminium internal body over wood, and I couldn't buy the tools to do it myself for less, nor get a local machine shop to make it.

Since my last post, I've also been doing a bit with microcontrollers (AVR FTW - not that I'm biased, or anything). Mostly playing with some that I've had for a while, and have only really started learning to use. I have learned (in my time) a bit of programming, and some electronics, so this is a convergence of the two. Combine this with an interest in robotics, and being a Star Wars fan... Like I said, I'm using the excuse that this is an interesting engineering project (gotta give that mind of mine some exercise), and it's a convenient shape to use...

I will make some more posts soon, mostly on the microcontroller side of things (at least until the frame is delivered)... and one interesting observation I made recently (without the use of mind-influencing substances as much as you might think otherwise when I write about it).