Sometimes we have different software applications and we have to integrate them. The applications could be written in the same language or not. But to get them working together is important. One such problem is when you have a gaming engine and a training software. The gaming engine could have all sorts of competitive agents in it. The training software could be an implementation of a machine learning technique that one might want to use to train the competitive agents in the gaming engine so that they could compete sensibly.
A good training software could be the ECJ package. ECJ is an evolutionary computing software package written in Java. It has quite a few nice algorithms implemented in it. A few examples are evolution strategies, genetic programming, genetic algorithms and particle swarm optimization.
A good gaming engine could be the TORCS simulator. TORCS stands for the open racing car(s) simulator and is used by the famous “The Simulated Car Racing Competition”. Other gaming engines could be thought about in which you can make objects and they act in a smart way in some meaningful sense. Software simulators for physical objects and devices could be counted in the same category.
One nice software simulator is the UAV Playground. With the UAV Playground you can create various types of drone plane as software objects in the simulator and have them fly (in the same simulator of course).
Flying an object with a joystick in a simulator is one thing. Another important thing is to the objects (drones in this case) by themselves in an intelligent manner. This is the challenge.
As discussed above a training software like ECJ can be used to accomplish this goal. The training software and the simulation software have to be integrated in order to accomplish this, however.
The challenge is to write an application integration software that:
- Integrates ECJ and UAV Playground.
- It should be easy to create members in ECJ that correspond with the controllers of the drones UAV Playground. This is to say that the members of ECJ should have a representation that is amenable with the representation of the controllers of the drones.
- The integration software should preferably be written in Java and/or Matlab.
If you found an error, highlight it and press Shift + Enter or click here to inform us.