Advertisement

AI controlled bone animation and motion

Started by November 24, 2003 08:55 AM
6 comments, last by technobot 21 years, 2 months ago
I''m not sure if this is the right forum forum for this topic (where does one put these interdisciplinary threads?..), but it seems the most suitable, so here goes... Has anyone here tried or knows of attempts to use a learning/adaptive AI system to control a bone animation or even generate it from scratch? Something like learn how to walk, pick up objects, etcetera, perhaps based on some initial knowledge. I''m particularly interested in applications for gaming (realtime graphics), but academic studies or non-realtime uses can also be interesting. Another idea is to use AI to control simulated vehicles, i.e. have it learn to drive, or at least drive better. Anyone has any experience/thoughts on the matter? Michael K., Co-designer and Graphics Programmer of "The Keepers"
We come in peace... surrender or die!
Michael K.
Hi;

Check out the thread "Finding information"
http://gamedev.net/community/forums/topic.asp?topic_id=192626
It talks about something related, though not quite the same as your first question.

As for simulated vehicles learning how to drive better. I once went through a very nice tutorial about genetically evolved neural networks (I think it was called smart sweepers).

The idea is to create a population of neural networks that output the parameters necessary to drive the vehicle (e.g. how hard you''re pressing on gas/brakes, how far you''re turning the wheel ...etc). Have these cars race against each other, Crossover the best achievers until you get satisfactory results.

I guess the same approach could be taken with the first problems, but the neural networks will probably be much bigger.

Peace Out!
Advertisement
Hmm.. interesting read here (link from "Finding information" thread). Many of the movements in the accompanied demo animation even look rather organic (even if a bit crude), which is more than I can hope to acheive with more conventional animation systems. And the underlying mechanism is not even that complex. Very nice indeed.

The one thing that bothers me though, is that it involves an initial evolution process. I am more interested in using an existing "creature" and having it learn in the beginning of the game. A preprocessing learning stage is ok for some situations, but not so suitable for others.

I suppose I can use a similar system to the one presented at the above link, and constrain it such that only the control system of the creature would eveolve, but not its morphology. The evolution would be done as a preprocess, of course.

This would allow me to teach a bipedal unit how to walk, run, etc., but I would still like to see it learn to adapt to less optimal conditions in-game, e.g. walk "better" on different ground conditions. I use the term "better" loosely here, since I do not know what would be the effect of subjecting a given control system to conditions different than than the ones for which it evolved or was defined, and I do not know which changes will occur if it adapted to the new conditions... More importantly, I would like to take what was learned by one type of unit, and project that onto a different type of unit that has similar morphology but different physical propetries (i.e. different body part weights/sizes etcetera), and have the control system adapt to the new physiology.

For example, in the case of vehicles, I can define a tank as a combination of an engine, a chasis, a turret, and a pair of tracks. The parameters of these parts can very from tank to tank (e.g. different power output of the engine), and new combinations can be defined during the game. I would like to have a basic control system defined (or evolved) for a tank, and have it adapt to each specific type of tank (e.g. adapt to how the tank responds to commands such as push x gas). A similar situation exists for bipedal and multi-pedal units (e.g. androids). Clearly, I cannot use an evolutionary approach during the game (or can I?).. How can something like this be acheived?


quote:
Original post by SecondBest
As for simulated vehicles learning how to drive better. I once went through a very nice tutorial about genetically evolved neural networks (I think it was called smart sweepers).

The idea is to create a population of neural networks that output the parameters necessary to drive the vehicle (e.g. how hard you''re pressing on gas/brakes, how far you''re turning the wheel ...etc). Have these cars race against each other, Crossover the best achievers until you get satisfactory results.

Yes, this could work; in fact, it is somewhat similar to what''s done in the system described at the above link.. However, again - this requires an evolutionary approach, which while useful to some extent, seems inappropriate inside the game... I was thinking perhaps to use some sort of adaptive decision tree to figure out how much gas to press and so on, but how would this translate to bi/multi-pedal units? Is this even a good idea? Also, what other approaches can I use?

Michael K.,
Co-designer and Graphics Programmer of "The Keepers"



We come in peace... surrender or die!
Michael K.
I am working on a project to do this.
Works okay so far. (have generated okay-looking movements for biped, triped, quadruped)

here is a comercial product that does what you want:
http://www.naturalmotion.com/

they use neural net controllers & GA''s to do it.
Wow! They're getting very nice results. Seems like the way to go.
There's just one capability that I didn't see in their demo videos, and that is to change the physioligy of the creature (i.e. change body-part weights and sizes) in-game, and have the control system adapt to that. I don't know, maybe their system produces sufficiently flexible control systems to handle that, but maybe not.. How would you have the control system adapt in-game (note: I suppose the adaption doesn't need to be very drastic, since the overall morphology of the creature stays the same..)?

aboeing : "I am working on a project to do this. Works okay so far"

Could you tell me some more about your system please? 10x.

Michael K.,
Co-designer and Graphics Programmer of "The Keepers"



We come in peace... surrender or die!

[edited by - technobot on November 28, 2003 4:24:17 PM]
Michael K.
Yeah, thier system can''t co-evolve the morphology of the characters, so it is somewhat limited in that sense, but I dont think thats really what they are targeting. I have my suspicions that they use heavily pre-trained networks and then only do the last few stages of evolution "online". I couldnt really confirm until I got a copy of their software.

Since they use a neural controller, you could probably use some training methods to modify the controller in-game, but Im not sure thats such a wonderfull plan. The problem with the neural nets is that its difficult to predict or design the nets for changing morphology, your not going to know how long its going to take to evolve everything.

Of course, all of this is just guess-work because its all comerical now, but if you look around hard enough, you can find some of thier articles in old journals which describe some of the past approaches they took.

The system im developing currently uses a spline control system and a GA to evolve movements for simulated robots, and physical robots. It works okay, but nowhere near as fast as what natural-motion claim to be getting.
I am redevloping my system at the moment to handle a number of different control systems, morphologies and targets (physical world, different dynamic simulators,etc.) It will be open source, but you can bet you will be waiting for about a year or two.

I believe Russell did something similar to natural motion for his thesis, which is available online from the ODE website.
open dynamics engine
Also have a look at:
darwin2k
So far none of this stuff is really easily useable. - I hope to change that
Advertisement
quote:
Original post by aboeing
Yeah, thier system can''t co-evolve the morphology of the characters, so it is somewhat limited in that sense, but I dont think thats really what they are targeting.

I don''t need the morphology (number/types/positions of body parts) to change, only the physiology (weights/sizes/etcetera). So I think any aditional adaption probably won''t be drastic. Actually, the situation is somewhat akin to having a biped put on a heavy suite (or an anti-grav one) or pickup some weapon etc. The demo vid''s at naturalmotion do show a short sequence with a biped holding a gun, so perhaps their system is upto it. On the other hand, they could be ignoring the extra weight of the gun, so go figure... Anyway, I think a similar system has some good potential, so I''ll investigate this further.

quote:

The system im developing currently uses a spline control system and a GA to evolve movements for simulated robots, and physical robots. It works okay, but nowhere near as fast as what natural-motion claim to be getting.
I am redevloping my system at the moment to handle a number of different control systems, morphologies and targets (physical world, different dynamic simulators,etc.) It will be open source, but you can bet you will be waiting for about a year or two.

Cool. Well, goodluck then!

quote:

I believe Russell did something similar to natural motion for his thesis, which is available online from the ODE website.
open dynamics engine
Also have a look at:
darwin2k

Yes, I know ODE - we are probably going to use it as our rigid-body-dynamics engine. An extra look at its community page has led me here. They used a fixed morphology, and only evoloved the brain, which is (partly) what I wanted to do. As for Darwin2K - it looks very interesting. I''ll have to play around with it over the weekend..

Michael K.,
Co-designer and Graphics Programmer of "The Keepers"



We come in peace... surrender or die!
Michael K.
Something like this has been done, and I believe was even allowed to test it a bit during the making of the Final Fantasy movie, although I don''t think it took any major role in the making of the film what-so-ever.

~Vendayan
"Never have a battle of wits with an unarmed man. He will surely attempt to disarm you as well"~Vendayan

This topic is closed to new replies.

Advertisement