3D simulation environment
Project description
ThreeDWorld (TDW)
ThreeDWorld (TDW) is a platform for interactive multi-modal physical simulation. With TDW, users can simulate high-fidelity sensory data and physical interactions between mobile agents and objects in a wide variety of rich 3D environments.
General guide to TDW
Setup
1.1 Installation (Read this first!)
1.2 How to run TDW on a Linux server
- Overview
- Launch a TDW build on a remote server from a personal computer
- Remote rendering with xpra
- X11 forwarding
Core Concepts
- The controller
- Auto-launching the TDW build
- Commands
- Design philosophy of TDW
- Scenes
- Avatars and cameras
- Add-ons and the
ThirdPersonCamera - Objects
- Output data
- Images
- Outdoor scenes
Troubleshooting
Tutorials
1. Scene Setup
1.1 Scene Setup (High-Level APIs)
- Overview
- Procedural generation (the
ProcGenKitchenadd-on) - Regions, interior regions, and rooms
- Procedural object arrangements
- Scripted object placement (floorplan layouts)
- Reset a scene
High-level APs: Floorplan and ProcGenKitchen
1.2 Scene Setup (Low-Level APIs)
- Overview
- Units and data formats
Boundsoutput data- Visual materials, textures, and colors
- ProcGenRoom
2. 3D Models
2.1 Other model libraries
2.2 Custom models
2.3 Composite (articulated) objects
- Overview
- Composite objects in TDW
- Create a composite object from a prefab
- Create a composite object from a .urdf file
3. Read/Write to Disk
- Overview
- The
LoggerandLogPlaybackadd-ons - The
JsonWriteradd-on - The
OutputDataWriteradd-on - Create a custom data writer
- Import .sdf and .lisdf files
- Images (Cross-referenced with "Core Concepts")
- Audio (Cross-referenced with "Audio")
- Video (Cross-referenced with "Video Recording")
4. Semantic States
- Overview
- Line of sight (
Raycastoutput data) - Proximity to region (
Overlapoutput data) - Proximity to other objects (the
TriggerCollisionManageradd-on) - Containment (the
ContainerManageradd-on) - Open and closed states
- Grasped objects
5. Visual Perception
- Overview
- Instance ID segmentation colors (
_idpass) - Semantic category segmentation colors (
_categorypass) - Depth maps (
_depthand_depth_simplepasses) - Motion perception (
_flowpass) - Other image passes (
_mask,_normals, and_albedopasses) Occlusionoutput data
6. Camera Controls
7. Photorealism
- Overview
- Lighting (HDRI skyboxes)
- Post-processing
- Interior lighting (the
InteriorSceneLightingadd-on) - Depth of field
- V-Ray Rendering
High-level API: tdw_image_dataset
8. Physics
8.1 Physics (PhysX)
- PhysX
- Object physics parameters
Rigidbodiesoutput dataCollisionoutput data- Apply forces to objects
- Skip physics frames
- Disable physics
High-level API: tdw_physics
8.2 Physics (Obi)
- Obi
- Fluids
- Cloth
ObiParticlesoutput data- Colliders and collision materials
- Solvers
- Obi and robots
- Obi and Flex
8.3 Physics (Flex)
- Flex
- Solid and soft actors
- Cloth actors
- Fluid and source actors
- Move, rotate, and scale Flex objects
FlexParticlesoutput data- Apply forces to Flex objects
- Reset a Flex scene
- Other Flex commands
High-level API: tdw_physics
9. Audio
9.1 Clatter (Physically-derived audio)
- Overview
- Object audio data
- Recording Clatter audio with the
PhysicsAudioRecorderadd-on - Clatter and Resonance Audio
- Reset Clatter
- Manually generate audio (Clatter CLI)
- Troubleshooting Clatter
- How to contribute to Clatter
9.2 PyImpact (obsolete predecessor to Clatter)
10. Video Recording
11. Agents
11.1 Robots
- Overview
- The
Robotadd-on - Robot arm add-ons
- Robot collision detection
- Select a robot
- Add your own robots to TDW
- Robotics API (low-level)
- Add a camera to a robot
11.2 Magnebots
11.3 Replicants
- Overview
- Actions
- Output data
- Collision detection
- Movement
- Animations
- Arm articulation, pt. 1: Basics
- Arm articulation, pt. 2: Grasp and drop objects
- Arm articulation, pt. 3: Advanced topics
- Arm articulation, pt. 4: Stacking objects
- Head rotation
- Navigation
- Custom actions
- Multiple Replicants
- Reset
11.4 Wheelchair Replicants
- Overview
- Actions
- Output data
- Collision detection
- Movement
- Arm articulation, pt. 1: Basics
- Arm articulation, pt. 2: Grasp and drop objects
- Arm articulation, pt. 3: Advanced topics
- Head rotation
- Navigation
- Custom actions
- Multiple Agents
- Reset
11.5 Drones
11.6 Vehicles
11.7 Virtual Reality (VR)
11.8 Keyboard and Mouse
11.9 Embodied avatars
12. Multi-agent simulations
13. Navigation
14. Non-physics objects
14.1 Non-physics humanoids
14.2 Misc. non-physics objects
- Overview
- Position markers
- Line renderers
- Textured quads
- User Interface (the
UIadd-on) - Compass rose
- Visual Effects
- The
FloorplanFloodadd-on - Empty objects
15. Misc. other topics
API Documentation
Command API
tdw module API
tdw
- AudioConstants
- AudioUtils
- CardinalDirection
- Controller
- IntPair
- OrdinalDirection
- QuaternionUtils
- RemoteBuildLauncher
- TDWUtils
- TypeAliases
tdw.add_ons
- AddOn
- AudioInitializer
- AudioInitializerBase
- AvatarBody
- Benchmark
- CinematicCamera
- Clatter
- CollisionManager
- CompositeObjectManager
- ContainerManager
- Drone
- EmbodiedAvatar
- EmptyObjectManager
- FirstPersonAvatar
- Floorplan
- FloorplanFlood
- ImageCapture
- InteriorSceneLighting
- JsonWriter
- Keyboard
- LisdfReader
- Logger
- LogPlayback
- ModelVerifier
- Mouse
- NavMesh
- Obi
- ObjectManager
- OccupancyMap
- OculusLeapMotion
- OculusTouch
- OutputDataWriter
- PhysicsAudioRecorder
- ProcGenKitchen
- PyImpact
- Replicant
- ReplicantBase
- ResonanceAudioInitializer
- Robot
- RobotArm
- RobotBase
- StepPhysics
- ThirdPersonCamera
- ThirdPersonCameraBase
- TriggerCollisionManager
- UI
- Vehicle
- VR
- VrayExporter
- WheelchairReplicant
- Writer
tdw.agent_data
tdw.asset_bundle_creator
- AnimationCreator
- AssetBundleCreator
- CompositeObjectCreator
- HumanoidCreator
- HumanoidCreatorBase
- ModelCreator
- RobotCreator
tdw.collision_data
tdw.container_data
tdw.drone
tdw.flex_data
tdw.librarian
- DroneLibrarian
- HdriSkyboxLibrarian
- HumanoidAnimationLibrarian
- HumanoidLibrarian
- MaterialLibrarian
- ModelLibrarian
- RobotLibrarian
- SceneLibrarian
- VehicleLibrarian
- VisualEffectLibrarian
tdw.lisdf_data
tdw.model_tests
tdw.obi_data
tdw.obi_data.cloth
tdw.obi_data.collision_materials
tdw.obi_data.fluids
- CubeEmitter
- DiskEmitter
- EdgeEmitter
- EmitterSamplingMethod
- EmitterShape
- Fluid
- FluidBase
- GranularFluid
- SphereEmitter
tdw.object_data
tdw.object_data.composite_object
tdw.object_data.composite_object.sub_object
- HingeDynamic
- HingeStatic
- HingeStaticBase
- LightDynamic
- LightStatic
- MotorStatic
- NonMachineStatic
- PrismaticJointStatic
- SpringStatic
- SubObjectDynamic
- SubObjectStatic
tdw.physics_audio
- AudioMaterial
- Base64Sound
- ClatterObject
- CollisionAudioEvent
- CollisionAudioInfo
- CollisionAudioType
- ImpactMaterial
- Modes
- ObjectAudioStatic
- ScrapeMaterial
- ScrapeModel
- ScrapeSubObject
tdw.proc_gen.arrangements
- Arrangement
- ArrangementAlongWall
- ArrangementWithRootObject
- Basket
- CupAndCoaster
- Dishwasher
- KitchenCabinet
- KitchenCounter
- KitchenCounterTop
- KitchenTable
- Microwave
- Painting
- Plate
- Radiator
- Refrigerator
- Shelf
- SideTable
- Sink
- StackOfPlates
- Stool
- Stove
- Suitcase
- TableAndChairs
- TableSetting
- Void
- WallCabinet
tdw.proc_gen.arrangements.cabinetry
tdw.release
tdw.replicant
- ActionStatus
- Arm
- CollisionDetection
- ImageFrequency
- ReplicantBodyPart
- ReplicantDynamic
- ReplicantStatic
tdw.replicant.actions
- Action
- Animate
- ArmMotion
- DoNothing
- Drop
- Grasp
- HeadMotion
- IkMotion
- LookAt
- MoveBy
- MoveTo
- ReachFor
- ReachForWithPlan
- ResetArm
- ResetHead
- RotateHead
- TurnBy
- TurnTo
tdw.replicant.ik_plans
tdw.robot_data
tdw.scene_data
tdw.vehicle
tdw.vray_data
tdw.vr_data
tdw.wheelchair_replicant
tdw.wheelchair_replicant.actions
Performance benchmarks
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tdw-1.12.2.0.tar.gz.
File metadata
- Download URL: tdw-1.12.2.0.tar.gz
- Upload date:
- Size: 21.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.5.0 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5fe28b62ad11817ecf6f03e52f750eccfc829965ec96871ad3058d6d7d84381
|
|
| MD5 |
2ce0716efc97e8ea443a4b3eb70beae2
|
|
| BLAKE2b-256 |
d55a7859a2987ffa88fefb198eccbb3952be0a15d19794f2abee3ee104fce032
|