IA, Python and Armory 3d/Blender


#41

I am speechless how fast a new (!) approach of technology can be implemented in things we daily use. I think i understand just a particle of the wole thing, but already bought a few books.

NICE VIDEO by the way!


#42

Hello @dugati,
I think you found the right words. It’s a technology that can be implemented in the things we use every day.

A majority of the users of this forum seem to me more coming from the field of 3D arts than that of Engineering and Data Sciences, and yet I hope that many will realize with these videos that through a tool like ATRAP, a growing industry demand is appearing for talents capable of creating 3D environments in which robots, drones, IoT and consors will train their AI/Neurones Networks.


#43

From what I saw on the video this tech should easily be able to be incorporated into games. I will have to see more and probably study it, but I having enemies that learn for themselves is a invaluable part of some games. I plan to follow the videos and see where they go.


#44

Thanks for the comment and interest @Monte_Drebenstedt.

Allow me too to clarify some points. ATRAP is conceived with the idea of training neural networks which will then be installed on target machines like factory robots, thanks to the exceptional possibilities of Armory /Haxe, with performances and portability.

In the second video I put yesterday on youtube, a simple calculation shows that kickly it’s a Romain’s job to populate a database with photos that you need to labellise with targets and rewards data and that then will be used to train the neural network, as it’s the case in the classical Deep Learning aproach.

Thus as you would like, an AI / neural network can also be formed in ATRAP and then be integrated in a game.

If you look at the video of the training until batch 22 (others coming soon), it’s actually already close to this. The indicator with gray curve shows how little by little the training questions more and more the neural network for the choice of the next action (versus a random choice).


#45

@Didier Wow, this stuff looks really cool! I’m really interested in how you could use some of this stuff. Me and my brothers are wanting to make our own game studio and the possibility of training a motion capture system from a 2D video could be amazing. Plus having learning AI for video game enemies.

Do you have any example blend + code anywhere or is it to early and volatile to release for others to experiment with yet?


#46

Hello @zicklag,
There are still small adjustments and tests to perform, including porting to a small target. Right now, neural network training is done. Perhaps you will be interested in developing an ecosystem around this approach… you can use the link on the video to discuss it.


#47

@didier I am unable to get to YouTube ( due to local network configuration and rules ) and I am probably going to be too busy to do a whole lot of development around the ecosystem, though I am interested. :slight_smile: I was just wondering if you had the source code for your logic nodes and maybe the blend for your tank game training example somewhere public like GitHub. So that I can test using it for game AI.


#48

@zicklag It will be possible to use it soon I hope (time is something fast as for you) , throught a website I will build soon too :slight_smile: with doc user.


#49

Last step was the export of a Neurone Network trained into ATRAP, from one machine to another.

It opens the door to using a crowd of PC/ATRAP with Neural Networks able to exchange their NN during training.

Then as it’s easier to train the Neural Network on small portions of a 3D environment, the next step is to parralelize/combine/merge several neural networks trained into differents 3D environments into only one, thus having the equivalent of a training done on a vast 3D world.

More generally, it’s a way to :

  • to accelerate the creation of a community / ecosystem capable of exchanging their best Neural Networks during a “Distributed Neural Network Training” … like a kind of electrical network on which you can get the best energy at any time for your AI/Neural Network.

  • to distribute among several actors of an ecosystem, the training of AI in the 3D environment ATRAP/ARMORY 3D :
    . some in charge of creating a portion of the 3D environment on Armory 3D.
    . others in charge to specialize in training Neuronal Networks on ATRAP.


#50

Ya, It is quite easier to train the Neural Network on the 3D environment, the next step is to merge neural networks trained into different 3D environments into only one. Thanks for providing a solution. By the way, anyone knows how to fix epson error code 0x97 , Its troubling me.


#51

@nimmy I made the test with the export of the NN then import in html environment … json format. Everything then possible !
Actually I focuse on training an industrial robot … meet some problems when IK is good in blender and but then fail in Armory/Krom … worse in Html. With the new today version hope that will change.


#52

It takes time for things to mature and we have an interesting post of @MagicLord here Procedural animation and Motion matching that could reuse the approach used for ATRAP to find a new way for making animation with less efforts in Armory.


#53

Any progress so far ?


#54

@Chris.k
I’m on the 2nd demo part with industrial robot. The IK in Armory needs more work …

A great progress is that the Forum site is starting to be activated on the animation part in Armory… perhaps the beginning of the creation of an ecosystem between Armory/Animation/IA.

The links you gave here in this post Procedural animation and Motion matching was a starting point/motivation for starting ATRAP.


Trying to replicate "animation_movebone" from armory example but I am missing something
#55

Some news on actual progress: it seems promising to use ATRAP to finaly make an IKNN (Neural Network based on Inverse Kinematics) for a robotic arm, hoping to be faster and more accurate that actual existing solutions, as for example with Fabrik or Jacobian, methods that need CPU ressources and could be impossible to use in case of lot of objects with IK to manage in a game scene on a small computer.

For your info, ATRAP generates the training data for the neural network, using random joint quaternion values during firsts stages, then using NN results as training progreses. The reward is fonction of the distance to the target.
Thereafter a use case where reaching correctly the target is crucial …:wink:
image


#56

Dude that’s awesome! IK is a great challenge to try to solve with ML and something that we could really use in Armory.


#57

@Monte_Drebenstedt I come back to your interesting remark about

The idea of a game with having NN embedded inside characters, for me could consist for example of creating a training environment for each category of characters equipped with a NN and then launching them into an operational theater to observe what’s happening …

Taking for example a game near a Age of Empire, but which allows you to form the NN of different characters using different kinds of training environments.

Game tools calling Armory game engine, are used to create/adapt the game training environments.

Once your characters trained, then you launche them on a territory and they start to create by themselves the development of a civilization.

According to the evolution of the different civilizations, the game consists in knowing how to reinforce your civilization by improving the formation of the NN for your different categories of characters.

At the same time, NN of characters could improve too through the experiences/rewards obtained during the evolution of a civilization. Thus the choice could be for the gamer to let the NN improves by themself, reuse/import best NN into training environment, best NN initialisation, adapt rewards in training, …

This approach could be seen too like in games similar to Virtual Regatta for example, to allow you to train a NN for a racing boat and see what’s hapenning to it when racing into a Virtual Regatta. Same thing for car race, skying, foot, ops, …


#58

When will you have some game example good AI in Armory to show ? LOL


#59

@MagicLord Please look here for first tests with NN training in the simple tanks game template that you know https://youtu.be/zlhQTxwBSnQ or https://youtu.be/ef-S7M6_yEo

The 2 main logic nodes at the center of the NN training
image and image

Is it not enough in your opinion to respond to your remark, as I interpret your remark as the need to have a feasibility study result / demonstration model to show :sunglasses:?

(My hope is to create motivation of some passionates to use this technology that I encapsulate through the name ATRAP (actually kick and dirt :wink: that I am busy at reusing and adapt/optimizing it for a test on Inverse Kinematic for Robot arm ), and to give the help needed for an open-game that must be defined see the discussion opened by @trsh here Ongoing projects that need help… sharing ideas and feasability welcome)


#60

I didn’t know you were really working on some logic nodes lol

Looking at video, the graph seems very spaghetti , could not NN encapsulate more things ?
For example one NN specifically made for character , another for some vehicule type ?

It is promising, just need to see in action in game and see if it could be useful.
The game example you posted, i’m not sure it will be able to at least perform the same AI like other AI systems ( Behaviour tree, hard coded conditions, FSM).
For example :

  • see player , player distance
  • hear player on radius
  • obstacle avoidance
  • search cover or best place to attack
  • retreat and search for health pack
  • choose to run to pick up a attack power up
  • team up with other ai to do strategy like suppression fire or flank

I mean something more practical and more ai advanced.

Well, i don’t need NN, but i think it could be very usefull for lot use cases.

The best point is Armory does not have Behavior trees or FSM or any other AI systems,
so your logic nodes would be very helpful to help beginners and other users to get AI quickly running with some logic nodes without even needing to know AI programming :sunglasses:

This could expand and make Armory even more interesting.