Answers.Body: <ol>
  <li><p>Not really. Unity physics is just an approximation of an approximation. It has to look more or less real but at the same time the performances are very important, so it has not the realistic level you would hope to "bring things to the real world". There are some physics engine you can install that usually work a bit better. Still, don't expect "real-world level".</p></li>
  <li><p>Based on 1, yes. If, once you got it to the real world you still give it the chance to optimize, it can only make things better.</p></li>
  <li><p>This is difficult to say. You should try to use the best possible approximation in Unity, maybe testing multiple scenarios and seeing that they perform more or less in the same way. Then train. Then bring this "approximated model" to the real world and let it train more to adjust to the real physics.</p></li>
  <li><p>I don't know this. Unity seems the most versatile around (together with other game engines). This versatility is its strength and weakness, as it cannot focus on solving perfectly a single problem. It rather has to aim at generalizing as much as possible. There might be "more specialized" programs around, but I doubt.</p></li>
  <li><p>Just try different algorithms/methods. Usually with complex problems neuroevolutionary techniques perform better, but the amount of code is hugely higher. </p></li>
  </ol>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-12-20T09:33:54.933Z
Answers.LastActivityDate: 2019-12-20T09:33:54.933Z
Answers.UserDisplayName: Alvin Sartor
Body: <p>I am looking to train a bipedal robot using unity as a scape with a genetic algorithm. I will import the CAD into unity so the hardware is exact. My questions:</p>
  
  <ol>
  <li><p>Is Unity physics accurate enough to train a neural network that will perform in the real world?</p></li>
  <li><p>Should I optimize the network using reinforcement learning in the real world (after trained in scape)?</p></li>
  <li><p>I am looking to use air muscles for my build. If the physics aren’t exactly right in unity (elasticity, max length, torque) will the bot still perform in the real world?</p></li>
  <li><p>Are there any other programs that would be better than unity to train a robot inside a scape?</p></li>
  <li><p>Any other approaches or new ideas on how to train the bot more efficiently would be greatly appreciated.</p></li>
  </ol>
  
Tags: <reinforcement-learning><genetic-algorithms>
Title: Training methods for bipedal robot
UserDisplayName: iamPres
ThreadText: # Training methods for bipedal robot
  
  (Asked by: username_0 on 2019-11-14)
  
  I am looking to train a bipedal robot using unity as a scape with a genetic algorithm. I will import the CAD into unity so the hardware is exact. My questions:
  
  1. Is Unity physics accurate enough to train a neural network that will perform in the real world?
  2. Should I optimize the network using reinforcement learning in the real world (after trained in scape)?
  3. I am looking to use air muscles for my build. If the physics aren’t exactly right in unity (elasticity, max length, torque) will the bot still perform in the real world?
  4. Are there any other programs that would be better than unity to train a robot inside a scape?
  5. Any other approaches or new ideas on how to train the bot more efficiently would be greatly appreciated.
  
  **Tags:** reinforcement-learning, genetic-algorithms
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2019-12-20. Score: 1 | Accepted answer
  
  1. Not really. Unity physics is just an approximation of an approximation. It has to look more or less real but at the same time the performances are very important, so it has not the realistic level you would hope to "bring things to the real world". There are some physics engine you can install that usually work a bit better. Still, don't expect "real-world level".
  2. Based on 1, yes. If, once you got it to the real world you still give it the chance to optimize, it can only make things better.
  3. This is difficult to say. You should try to use the best possible approximation in Unity, maybe testing multiple scenarios and seeing that they perform more or less in the same way. Then train. Then bring this "approximated model" to the real world and let it train more to adjust to the real physics.
  4. I don't know this. Unity seems the most versatile around (together with other game engines). This versatility is its strength and weakness, as it cannot focus on solving perfectly a single problem. It rather has to aim at generalizing as much as possible. There might be "more specialized" programs around, but I doubt.
  5. Just try different algorithms/methods. Usually with complex problems neuroevolutionary techniques perform better, but the amount of code is hugely higher.
  
  
  ---
  
  