From 0fe1c93ef3a7ae1d5af3b0427c045689020c8add Mon Sep 17 00:00:00 2001 From: Micah Pearlman Date: Mon, 29 Mar 2021 11:53:02 -0700 Subject: [PATCH] added timestep setting and phyiscs settings documentation --- .../images/unity_physics_settings.png | 4 +- .../images/unity_timestep_settings.png | 3 + README.md | 8 +- Samples~/ZeroSimSamples/killme.zosim | 791 ------------------ Samples~/ZeroSimSamples/killme.zosim.meta | 10 - 5 files changed, 10 insertions(+), 806 deletions(-) create mode 100644 Documentation~/images/unity_timestep_settings.png delete mode 100644 Samples~/ZeroSimSamples/killme.zosim delete mode 100644 Samples~/ZeroSimSamples/killme.zosim.meta diff --git a/Documentation~/images/unity_physics_settings.png b/Documentation~/images/unity_physics_settings.png index fefd3be..c54d2c1 100644 --- a/Documentation~/images/unity_physics_settings.png +++ b/Documentation~/images/unity_physics_settings.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:26ca90e27ed8d70c079c77dc426b828a3d7d5ff8e2808a3c8cd287012c1f5414 -size 128024 +oid sha256:86437506c66cc94dd0ff83af1fc915ce3121c44ac3729b4d579de1bf070ab0d7 +size 127476 diff --git a/Documentation~/images/unity_timestep_settings.png b/Documentation~/images/unity_timestep_settings.png new file mode 100644 index 0000000..a8d2db7 --- /dev/null +++ b/Documentation~/images/unity_timestep_settings.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba7e30e51a4bd86e3a5618fbc12e2325a6f21b3f0b7ac129e2c8ae722597121a +size 60500 diff --git a/README.md b/README.md index 2ac20d1..25dda14 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,9 @@ ZeroSim provides a multitude of tools for building robots and environments in Un * **COMING SOON:** * More complete documentation. - * Secure communications via WebSockets. * URDF import & export. + * Finish Docker integration with Unity. (Currently incomplete) + * Secure communications via WebSockets. * Support for other Physics engines such as Bullet or Havok. ## Getting Started @@ -65,8 +66,9 @@ ZeroSim provides a multitude of tools for building robots and environments in Un ![ZeroSim Package Installed](Documentation~/images/zerosim_package_installed.png) 1. Import the ZeroSim Samples by selecting the Samples `Import` button in the Package Manager: ![Import ZeroSim Samples](Documentation~/images/import_zerosim_samples.png) -3. *IMPORTANT* the default Unity physics setting do not work well with a lot of simulations. It is very much reccomended (required for probably most all simulations) to set the physics settings by opening the Unity menu `Edit -> Project Settings... -> Physics` and set the `Default Solver Iterations` to `10` and the `Default Solver Velocity Iterations` to `60`. ![Unity Physics Settings](Documentation~/images/unity_physics_settings.png) -4. If running Unity on Linux you want to avoid using OpenGL and use Vulkan, otherwise image based sensors may run slowly or not at all. To change to using Vulkan: +3. **IMPORTANT** the default Unity physics settings do not work well with a lot of simulations. It is very much recommended (required for probably most all simulations) to set the physics settings by opening the Unity menu `Edit -> Project Settings... -> Physics` and set the `Default Solver Iterations` to `30` and the `Default Solver Velocity Iterations` to `60`. ![Unity Physics Settings](Documentation~/images/unity_physics_settings.png) +4. **IMPORTANT** the default Unity fixed timestep setting does not work well with a lot of simulions. It is very much recommended to set the `Fixed Timestep` setting by `Edit -> Project Settings... -> Time` to `0.005` ![Timestep Settings](Documentation~/images/unity_timestep_settings.png) +5. If running Unity on Linux you want to avoid using OpenGL and use Vulkan, otherwise image based sensors may run slowly or not at all. To change to using Vulkan: 1. In the Unity Menu: `Edit -> Project Settings...`: 2. Uncheck `Auto Graphics API for Linux` and then under `Graphics APIs for Linux` set `Vulkan` ahead of `OpenGL`: ![Vulkan Settings](Documentation~/images/vulkan_settings.png) diff --git a/Samples~/ZeroSimSamples/killme.zosim b/Samples~/ZeroSimSamples/killme.zosim deleted file mode 100644 index 5488275..0000000 --- a/Samples~/ZeroSimSamples/killme.zosim +++ /dev/null @@ -1,791 +0,0 @@ -{ - "document_name": "UR10", - "document_version": "1.0", - "mesh_scale": [ - 1.0, - 1.0, - 1.0 - ], - "transform_scale": [ - 1.0, - 1.0, - 1.0 - ], - "components": [ - { - "name": "UR10" - } - ], - "occurrences": [ - { - "name": "size-4-joint-occurrence", - "translation": [ - 2.3242149E-17, - 0.128, - -9.689141E-16 - ], - "rotation_quaternion": [ - -3.09086232E-08, - 0.7071068, - -0.7071068, - -3.09086232E-08 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "size-4-joint_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "size-4-joint_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "size-4-joint-occurrence_1", - "translation": [ - -5.330753E-16, - 0.128, - -0.176 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "size-4-joint_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "size-4-joint_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "size-2-joint-occurrence", - "translation": [ - -1.33176034E-14, - 1.428, - -0.231390715 - ], - "rotation_quaternion": [ - 0.7071068, - 1.60849026E-15, - -1.60849026E-15, - 0.7071068 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "size-2-joint_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "size-2-joint_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "size-3-joint-occurrence", - "translation": [ - -0.01, - 0.6744, - -0.101840712 - ], - "rotation_quaternion": [ - 0.7071068, - 3.83200755E-15, - 3.83200755E-15, - -0.7071068 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "size-3-joint_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "size-3-joint_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "size-2-joint-occurrence_1", - "translation": [ - -3.44963549E-15, - 1.3123, - -0.115690708 - ], - "rotation_quaternion": [ - 0.7071068, - -2.4826182E-15, - 2.4826182E-15, - 0.7071068 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "size-2-joint_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "size-2-joint_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "tool-flange-occurrence", - "translation": [ - 0.06721881, - 1.45435059, - -0.254264385 - ], - "rotation_quaternion": [ - 0.7071068, - 1.3388063E-15, - -1.3388063E-15, - 0.7071068 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "tool-flange_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "tool-flange_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "lower-arm-occurrence", - "translation": [ - 0.00427553942, - 1.0533762, - -0.0704268962 - ], - "rotation_quaternion": [ - 0.5, - 0.5, - 0.5, - 0.5 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "lower-arm_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "lower-arm_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - }, - { - "type": "primitive.mesh", - "name": "lower-arm_collision_1", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "base-occurrence", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "base_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "base_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "upper-arm-occurrence", - "translation": [ - -3.30243852E-15, - 0.207, - -0.176 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "upper-arm_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "upper-arm_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - }, - { - "type": "primitive.mesh", - "name": "upper-arm_collision_1", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "size-2-joint-occurrence_2", - "translation": [ - -5.10427263E-15, - 1.3798, - -0.1638907 - ], - "rotation_quaternion": [ - -3.84029849E-17, - -9.8254955E-17, - 1.0, - -4.371139E-08 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "size-2-joint_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "size-2-joint_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - }, - { - "name": "size-3-elbow-occurrence", - "translation": [ - -0.0138977757, - 0.7590817, - -0.0455195941 - ], - "rotation_quaternion": [ - 0.7071068, - -3.09086232E-08, - -0.7071068, - 3.09086232E-08 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "visuals": [ - { - "type": "primitive.mesh", - "name": "size-3-elbow_visual_", - "has_collisions": false, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ], - "collisions": [ - { - "type": "primitive.mesh", - "name": "size-3-elbow_collision_0", - "has_collisions": true, - "is_convex": true, - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation_quaternion": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - -1.0, - 1.0, - 1.0 - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/Samples~/ZeroSimSamples/killme.zosim.meta b/Samples~/ZeroSimSamples/killme.zosim.meta deleted file mode 100644 index 7ea69b5..0000000 --- a/Samples~/ZeroSimSamples/killme.zosim.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 5aa90759cc3fb706cb8d6593a12a29e8 -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {instanceID: 0}