Robot Simulator and virtual environment for robot training


I want to know if using jme I can build a virtual environment to train a robot.

My requirements are:

  1. to don't have rendering to screen but directly to the virtual robot sensors
  2. to have an internal time that can be accelerated to speed up robot training… no dependence on real time and fps (batchmode)
  3. to get the forces, speed and position of every object at every time step
  4. to select a force that is applied to every joint of the robot by an actuator at every time step

    Can I do this things with jme physics?

    There is something similar around? some tutorial ?
ilredeldomani said:

Can I do this things with jme physics?

Yes, except for probably forces in 3) - joint forces are currently not readable regarding the API but this could be added easily as ODE (the current physics engine behind the API) supports it

There is something similar around? some tutorial ?

There are tutorial lessons in jME Physics 2 but they don't model such complex things like robots.

Be aware that you will have to invest a significant amount of time in physics modeling before you will be satisfied with the physics simulation. This applies to any real time physics engine I know. Usually one would use the simulator that comes with the robot, robot arm etc. and integrate it into an environment for other rigid body physics... which is still very complicated but a lot less work than simulating your whole robot.

I'm building the robot too… but at the moment it is only an arm with 2 webcams

so i need only to set the forces on the joints… and get the vision and status of joints… then i'll feed some nice machine learning an vison algorithms

Till now I trained it using only static behavior and using servos on the robot…

however thanks

ps can someone explain me where i can find some help for the other points in my post like batch rendering and so on.

You won't need a lot of help for batch mode: simply put no waits/sleeps in there and don't use a timer for the timestep size but a fixed value.

Have a look into TestVehicle for a simple demo of joint forces / motors. This should get you started. I would recommend to do it with rendering to screen, first, to get an impression of what you are doing. You can switch to batch mode later on.