Most problems in robotics have to do with a controlling a system. An easy example for a system is the forward kinematic of a robot arm. A joint in the model gets a certain value, and as the result the arm is moving to a new position in space. More complex problems are visible if a grasping task gets simulated. Here is the problem, that objects are in the system which can't moved by it's own, but need to be pushed. It's a typical example for an underactuated non-linear system.

A system which contains rigid body dynamics has a certain behavior. A box is colliding with another box and as a result they are changing their position in 3d space. Simulating a rigid body system in realtime is called a physics engine. And creating such an engine without having access to the original one is called system identification.

Machine learning is the natural choice in doing so. Because machine learning is datadriven and it's able is reproduce the behavior of a non-linear system. In the training dataset, all the values are stored which are recorded by the sensors. That is the position of the rigid body boxes, their angle and the forces applied to them. But how exactly can machine learning be utilized for system identification of such system? Is a multi-layer-perceptron the right choice, or is the LSTM network with it's ability to store information about the past the only option in doing so?

  • $\begingroup$ "And creating such an engine without having access to the original one is called system identification." Not correct, system identification deals with identifying a system to which the identification process has access to. Furhtermore, system identification creates a model not an "engine". $\endgroup$ – 50k4 Mar 6 '19 at 15:32
  • $\begingroup$ The term “model” is misleading, because a trained neural network is called a model too. The better vocabulary here is, to talk about forward models. The similarity between a forward model and a physics engine is, that both are a numerical simulation for predicting the future. $\endgroup$ – Manuel Rodriguez Mar 6 '19 at 16:25
  • 2
    $\begingroup$ No. Model can be used in AI terminology and in Robotics/Controls/Simulation technology terminology. In the latter a model does not predict the future. There ar forward or inverse dynamics and kinematics models. No prediction of the future is involved. In predicitive control models can be used to make a predicion about probable future states, but it is still just a model (no forward specification needed). Furtheremore, models must not need numerical methods. Many analytical models fo just fine. $\endgroup$ – 50k4 Mar 6 '19 at 16:32
  • $\begingroup$ A physics engine is not a forward model. A physics engine, used mostly in games can be compared to a a numerical solver but not to a model. None of these does necesarily predict the future, both of them can be used in this regard. $\endgroup$ – 50k4 Mar 6 '19 at 16:33
  • $\begingroup$ Differen domains use the same word/expressions for the different things. Context is important and so is technical accuracy. $\endgroup$ – 50k4 Mar 6 '19 at 16:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.