Tuesday, December 05, 2006

Physical car control

We recently got a new Vicon motion capture system installed in our robot arena here at Essex. It's an amazing piece of equipment. Able to track hundreds of infrared reflectors at a 100 hz or more with millimetre precision, you can even use it to track the spinning blades of a micro-helicopter!

The video below is from our first experiments with tracking a real radio-controlled toy car with the Vicon system, and controlling it from a desktop computer via a hacked transmitter connected to the parallel port (as in earlier experiments using webcams).



Although the car above was controlled by a hard-coded algorithm (about 15 lines of code!) we think we can do significantly better through a learned, and possibly learning, controller. So right now we are working on an approach to automatically inferring models of the car dynamics, evolving controllers for these models, and using the controllers thus learned in simulation to control the real car. We (as usual I'm working with Simon, but right now also with Renzo, Richard and Hugo) have a couple of exciting ideas about this, which I might blog about as soon as we've convinced ourselves that they actually work. Stay tuned!

5 comments:

Marcelo said...

Hallo, Togelius!

Very nice simulations and experiment!

You said the controller has only 15 lines of code and that your group are planning to evolve another one. But, tell me, please: Would not that hard-coded controller be interesting to apply, since it has only 15 lines of code, while an evolved one would require a "hard" work to be implemented (mainly through evolutionary neural networks)?

But, although the "hard" work factor, would be interesting to evolve another controller if this one can obtain better behaviours for your experiments. :)

Até Mais!

Marcelo

Anonymous said...

Hi,
Is this linked in any way with the CIG 2007 competition? Do you want to transform it in the future from a simulated into a real one?
Also i was wondering if you could give some more info on the helicopter project? Did you succeed something in reality?
I am currently working on a personal project involving Evolutionary Robotics in simulation (a simulated robot that travels through a maze to a light source), and i'd like to pass in reality some time in the future. Besides what i've seen on your page, and the initial work of Floreano and Mandada, i didn't see that being succesful to many people - so that's where the curiosity comes from.
Thanks,
Sergiu

mirko said...

Hi !
cool stuff, although I'm wondering about the o.s. of the workstation shown on the video... especially given your 'Sticky stuff' post, do you rememeber? ;-)
maybe it's due to the vicon equipment and its bundled software... or maybe not
keep entertaining us with your progresses, they're always interesting
bye!

Julian Togelius said...

Thanks for all the encouraging comments, guys!

Marcelo:

Yes, the hard-coded controller is in many respects simpler than an evolved one would be. But what we want is a system for automatically modelling and developing controllers for any sort of agent. Also, manually developing a reasonably good controller might not be very easy when we have obstacles and/or other cars in the way.

BTW, what does Até Mais mean?

Sergiu:

In a way, yes. The task is basically the same as the one in the CIG competition, except that we have two cars there. The helicopter project hasn't really "taken off" yet due to hardware issues with the helicopter, but it's closer than ever to doing so. You have to ask Renzo more about that.

There is quite a lot of work on evolutionary roboitics in simulation - check the webpages of e.g. Floreano, Stefano Nolfi, Inman Harvey or Randall Beer for recent papers. In fact, the amount of work done in this field is the main reason I'm more and more moving into evolutionary AI in games rather than robotics.

Mirko:

Indeed, the Vicon stuff only works in Windows. The lab over here is very much a mixed shop, Linux, Mac and Windows.

Marcelo said...

Hallo, Togelius!

Thank you for your answer!

Até Mais == Until Later

Portuguese! :)

Até Mais!

Marcelo