Saturday, February 12, 2011

In a mind to...

The more I've been thinking about it, the more I like the Beagleboard - lots of processing power, small size, lowe power consumption, plus a growing community of developers. I will, however, still have quite a few AVRs sitting in there, doing control.

Essentially, the AVRs will be working as the nervous system, the Beagleboard(s) the higher brain functions. Higher functions, such as OpenCV, Java Astrodynamics Toolkit, OBD-II interfacing... Fortunately, I have an OBD-II interface board that's been sitting away, ready to be used. I have to finish the last couple of things, like actually connecting the OBD-II plug, and adding in some optocouplers. Actually making sense of the data going back and forth will be interesting.

I still like the idea of having some neural network processors doing some work... and I do believe in using several processors doing individual jobs, rather than having one trying to do lots

Saturday, February 5, 2011

Body building...

Woot! Frame arrived yesterday, and I've put it together in a couple of hours.





It looks good, feels solid - great work from James. Of course, I still need legs, ankles, feet... head, skins... But - a good marker... And a first step into a larger world...

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).

Wednesday, October 13, 2010

The Work Continues...

Well, yesterday saw my first step into a larger world - I etched my first PCB(s). Normally, I'd just use experimenter/vero/whatever-board - when you're trying experimental stuff, it's easy enough to use. The problem with that stuff, though, is it's only for relatively low amperage. For driving motors, you need to be able to control reasonable currents... Assuming around 4-6 amps, I decided it was easier to make a small board to mount the MOSFETs which, for the uninitiated, will be the electronic switches for controlling speed and direction.






So what is called for is a couple of small boards, with big tracks - so I decided to make a couple of small boards, using Copper clad board, a special pen, and the required etching compound. Of course, manually drawing onto the copper (protecting the bit that I don't want eaten away) means that it won't be consistent, nor the optimal size... But I'm making this for myself, and just wanted something quick to do the job. Plus it's the first board I've etched - clearly a milestone.

Easy enough to do, but not an optimum result. What aren't readily visible are the bits that haven't been protected enough - but it's enough to do the job, especially when I give a coat of solder over the tracks to ensure good power transfer. It will be enough to control the power, give the MOSFETs something to be attached easily enough...

For those not technically minded, MOSFETs are a type of transistor made for switching high power - and hence good for running motors. For those technically minded, I've been reading up on Complementary Pairs - and how easy they seem to use in an H-bridge.

The end goal being that although controlling motors is simple enough, I want to not only have a good control system, but plenty of feedback to any control system - ie proprioception - available. So, experimental circuitry is being made and will be tested

I could probably buy what I want, but cost is a killer, and I'm learning plenty.

Wednesday, October 6, 2010

Droid with a good motivator...

My new motors arrived from Oatley Electronics on Friday... They're a bit heavier than they look - but hardly surprising when you think about it, really. Brushed motors, which means that they're not as efficient and won't last as long as would be ideal - but so much easier to drive than any other type, such as brushless.



They're 100W at 24V, so they'll put out a bit of power, while not needing too much amperage. Of course, it means playing around, and plenty of batteries in order to get the full power... On the other hand, because they are brushed motors, it will be possible to run them at lower voltages - and therefore lower power.

I've just checked from the standardised astromech plans (available online), and it looks like there will be plenty of room in the feet to fit them - the whole frame is about 5 inches wide, 3.5" at the top, while feet are 7 wide at the bottom but 3" or so at the top... What I will do is do up a paper foot to double check... If I have to fudge... I suppose it will have to be... I doubt any hobby builder would call me out about it - once you know how much work it is to do, you don't denigrate others... If someone does, I reckon that a couple of hundred watts propelling quite a few kilograms bearing down on them will change their minds.

The other step is to build a couple of motor driver boards - a few high power MOSFETs, a current shunt (to test for motor stall, etc., rotation encoders...