gruvi-animation-test / adv-test

advanced test of cooperation
0 stars 1 forks source link

Requirements for new simulation engines #4

Open milkpku opened 5 years ago

milkpku commented 5 years ago

Hi guys,

I think we can discuss about the requirements for our new simulation engine/wrapper to be implemented, here are some of my ideas:

  1. Enable to fully save and reload states (including collision cache, solver states), so that SamCon can be reimplemented.
  2. Enable to parallelize simulation (need to be discussed whether to choose multiple scenes or multiple processes)
  3. Articulations can be configured by URDF files
  4. Whole articulation can be driven by SPD controller
  5. All dynamic information should be avilable, including position/velocity/contact status of links/joints
  6. Articulations can be reposed and collisions can be automatically solved (or be reported).
  7. Configurable landmap
arpspoof commented 5 years ago

Hi, I'll be working from home these days for some medical problem. Prof Yin suggested that I implement Simbicon on PhysX anyway and then make a performance comparison with DART. I think we can start implementing these ideas after the comparison. Some of these are quite straightforward in DART. But most of them are difficult on PhysX.

Current observations about physX: Multi-threading does not work for articulations. Single thread will achieve best performance. GPU acceleration for articulations is not working expected as them claimed. Seems its performance advantages can only apply to non articulations (multi-threading can be very effective)

milkpku commented 5 years ago

Sorry to hear that. Take your time, go to hospital if necessary.

Don't worry, we are not in a hurry to start this work, just discuss before we invest our efforts. All we need now is to raise needs for the simulation engine/wrapper, then select best suitable one.

arpspoof commented 5 years ago

Yeah we do need to discuss before we invest our efforts. I think in the mean time of doing the performance benchmark we can think about the ideas / requirements for new engine. I think maybe I'll be able to provide some practical insights after finishing the implementation.