[ Home | Events | Robots | Humans | Projects | About | Account

Recent blog entries for marcin

20 Oct 2006 »

Well, it's been almost a year since I posted anything here. My major achievements in the mean time have been blowing a lot of things - zigbee modules, microcontrollers, voltage regulators, etc. In fact it's been a bit annoying. I'm back on deck now, though, and working with the Cypress PSOC, and the graphical development tool PSOCExpress - you wouldn't want to write any AI in it, but it rocks for device drivers (motors, sensors, etc) and has a very convenient I2C interface.

Cheers, Marcin

21 Nov 2005 »

Are there any aussies out there building robots? Sydneysiders, specifically?

marcin@roboteer.net

10 Nov 2005 »

Finally, after what's been a 5-6 week break, I returned fresh to ScaredyBot and sorted out the issues I was having - it's amazing how quickly I was able to find the problems in the code once I actually sat down to it. So now I have a subsumption architecture going on, all on one chip (Renesas M16C). It's not quite how Brooks does it - it's not exactly asynchronous or parallel, but oh well. So I've written up four behaviours, in decending order of priority: retreat, collision avoidance, wall avoidance, and roaming. Each behaviour is written independently and can be inserted (even possibly dynamically at runtime) into the behaviour list at any level. So next, I'll get a light sensor, write the 'driver', and then try to use it in some behaviours (photovore, photophobe, other - ideas?)

Cheers, Marcin

1 Nov 2005 »

I truly haven't done anything on ScaredyBot for almost a month - my subsumption architecture was a bit too complicated - still is, but I'm working on it. The funny (or sad) thing is, that I didn't take the step back and try to trade off some of the complexity/functionality/purity in a pragmatic manner. Basically, I was trying to go for generality that would (in theory) support any future requirements. Now that's just silly, especially considering this is only my second robot. So I'm now going to shed some of the Brooks subsumption ideals and just focus on making it work reliably, with extensiblility to support the likely future growth.

Ah, embedded ISR debugging is so much fun, because it's just so darn easy and not at all time consuming.

Cheers, Marcin

10 Oct 2005 »

Okay, so I was a bit premature in giving myself kudos for getting a nice subsumption/arbitration thing going there. I've been refactoring the code a little while writing the rotating ranger code (ie servo+SRF as a single entity), and as it turns out, one of the conditional compiles wasn't #defined previously. Now that I have enabled it ... well subsumption has a little way to go.

That being said, though, I have to say that the architecture works as designed, it is just that my behaviours are too simple - they should be state machines, not simple conditional outputs. It does raise the question though, once the behaviours are FSMs, what will happen once a higher-priority tasks interrupts a lower priority one, since not all behaviours are mutually exclusive.

Cheers, Marcin.

6 Oct 2005 »

Finally, after procrastinating for over two weeks, I finally finished writing up the servo interface docs for the M16C (as done for ScaredyBot). You can find them here. I should write up the motor PWM driver as well ...

I'm still reading the Brooks book - I like it, there's a lot of me me me in it, but hey, he's probably got a fair claim to that pronoun in this context. And he's an Aussie, too! Well, sort of.

Cheers, Marcin.

3 Oct 2005 »

I've been a bit slow recently with the robotics work. I'm at the stage where I am tidying up the architecture to allow more of a plug-and-play feel for additional sensor modules. By plug and play, I mean that the modules are robot-independent and can simply be included in the code with no modification. Going ok so far. I'm also trying to encapsulate the SRF04 and servo turret as a single entity, so that theoretically 1 rangefinder on a turret behaves like 5 fixed rangefinders. Indeed, the next iteration robot will use a OS/RTOS of some description - hopefully not homebrew by me - and will allow me to use some more powerful programming models. Unfortunately, my limited skill in C is a bit of a weakness - I know what I want to do, but I don't know how to achieve it. I think function pointers are going to be involved.

Having said that, Scaredy has a four-component behaviour at present, which has seen it become pretty much unstoppable (except for getting snagged) - it has retreat, collision avoidance, wall-avoidance, and roam behaviours which are all indepenently coded. I'm thinking that an accelerometer would be a good way of detecting a stall or snagged condition. Also need to figure out how to avoid mindless loops (ie if A then B, if B then C, if C then A) which can happen over and over again in corners (although, remarkably, it does eventually break free).

I've also been reading Rodney Brooks book 'Robot: the future of flesh and machine' and now I realise that I am about 20 years behind the times! However, it was quite gratifying reading some of his approaches and seeing how I have been going down the same path anyway, fairly independently. I'm only 1/4 of the way through the book, though.

26 Sep 2005 »

Having some issues now with the software subsumption architecture. Chris Schur was right in that the implementation in software can be a bit nasty - my implementation certainly is. I still like the concept, but I need to tidy it up a bit - the arbiter needs to work more like a scheduler as well as a sort of bus-master? Maybe.

22 Sep 2005 »

Well, Scaredy is all systems go. Not that there are that many systems (servo, motor, SRF04 and MCU) but go it is.

I've put up new pics and a tiny video (745k) on my ScaredyBot page (http://roboteer.net/robots/scaredy.html).

So that's good. More soon.

Cheers, Marcin.

21 Sep 2005 »

I've been putting together my enhanced controller according to my Robot-MCU Peripheral Interface. It's a living document at this stage, but once all the interfaces are designed, implemented and tested, it will become the stardard for all my mobile robots (that use the Renesas M16C, at any rate).

I've also been trying to stir up interest in a Sydney robotics club - I may have 1 interested party (well 2, if you count my wife who wants me to talk to someone else about robots) so that's a start (albeit very modest).

Ciao, Marcin (marcin__at__roboteer.net)

17 older entries...