Angry AI v3 - Battle Robots | Unity ML-Agents

The angry bots are back with a mix of heuristic and machine learning behaviour. Hardcoded high-level logic switches between patrol and attack modes based on opponent proximity. It provides direction vectors and target speed values for a deep learning policy, which in turn controls the robot’s actuators while reacting to environment physics.

I took some inspiration from the recent “CARL: Controllable Agent with Reinforcement Learning for Quadruped Locomotion” paper. My agent was trained with an initial round of imitation learning for mimicking a quadruped gait. Followed by a reinforcement learning phase in order to make the policy (user) controllable and robust against pertubations.

3 Likes

Another AI cool project. Well done. Is that Boston Dynamics dog robot? :slight_smile:

Thanks! Yes, it’s Spot Mini.
5dcbee77730640269cef5bd2587e328a

1 Like

Pretty cool! I like that overlay when the camera switches to what one of the robots is seeing, did you create that with a custom shader?

This is for AI algorithm, using vision, by detecting terrain features / edges.

Thanks!

That would be awesome… but I’m afraid it’s just some FX (post-processing layer with edge detection). I didn’t use any visual observations for this one.

1 Like

Oh, wasn’t older project been using vision?

https://www.youtube.com/watch?v=B_cGPis6eDk

Sure was different approach.
I thought this one is using too, but more advanced?
Or i completely mixed things up.
It looks cool too however :slight_smile:

Yeah, that old version uses depth and motion vector textures as visual input. The environment is much simpler to handle though, no buildings etc. I haven’t tried visual training with the new one. Either way, those would be different policies, layered on top of one another. A visually trained navigator policy would generate direction vectors (avoiding obstacles, following other bots) which are then fed to the walker policy - at least that’s how I did it back then. The current version has some hard coded logic for calculating the direction vectors.

1 Like

Thx for insight and some details.
Oh well, that would be indeed cool, having full vision mechanics.
But for game applications, sure, should simplify and use smokes and mirrors whenever possible.