English|中文
RFUniverse is a platform developed in Unity for robot simulation and reinforcement learning, consisting of three main functional modules:
Python API:Python communication interface
Unity Player:Receiving messages from Python and executing simulations
Unity EditMode:Used for building or editing simulation scenes. This code is located in a submodule
Follow the steps below to configure and run the sample scene through the published version:
-
Download the RFUniverse Releases and unzip it:
Run the program once, enter the scene and then close it:
Linux:
RFUniverse_For_Linux/RFUniverse.x86_64
Windows:
RFUniverse_For_Windows/RFUniverse.exe
-
Create a conda environment and activate it, install the 'pyrfuniverse' package with the same version number as the RFUniverse Release:
⚠️ Please replace [0.12.3] in the following command with the version number of the RFUniverse Releases you downloaded.conda create -n rfuniverse python=3.10 -y conda activate rfuniverse pip install pyrfuniverse==0.12.3
-
Clone the pyrfuniverse, switch to the Tag with the same version number as the RFUniverse Release:
⚠️ Please replace [0.12.3] in the following command with the version number of the RFUniverse Releases you downloaded.git clone https://github.com/mvig-robotflow/pyrfuniverse.git cd pyrfuniverse git checkout v0.12.3
-
Run any Python script under 'pyrfuniverse/Test' (some scripts may require installation of large packages such as 'pybullet', 'open3d', etc.):
cd Test python test_pick_and_place.py
Additional operations that may be required on Linux systems:
If an error occurs during runtime, please check this document to supplement dependencies
Script Name | Function Introduction | Preview |
---|---|---|
test_active_depth | Infrared Depth | |
test_articulation_ik | Native IK | |
test_camera_image | Camera Screenshot Example | |
test_custom_message | Custom Messages and Dynamic Messages | |
test_debug | Loop Display of Various Debug Modules | |
test_digit | Interactive Digit Tactile Sensor Simulation | |
test_gelslim | GelSlim tactile sensor simulation | |
test_grasp_sim | Franka Grasping Test | |
test_grasp_pose | Franka Grasp Point Preview | |
test_heat_map | Interactive Heatmap | |
test_humanbody_ik | Human Body IK Interface | |
test_label | Scene Labeling 2DBBOX | |
test_ligth | Lighting Parameter Settings | |
test_load_mesh | Importing OBJ Model as Rigid Body | |
test_load_urdf | Importing URDF File | |
test_object_data | Object Basic Data | |
test_pick_and_place | Basic Interface and Grasping Driven by Native IK | |
test_point_cloud | Obtaining Depth Image and Converting to Point Cloud Using Image Width, Height, and FOV | |
test_point_cloud_render | Importing and Displaying .PLY Point Cloud File | |
test_point_cloud_with_intrinsic_matrix | Obtaining Depth Image and Converting to Point Cloud Using Camera Intrinsic Matrix | |
test_save_gripper | Saving Gripper as OBJ Model | |
test_save_obj | Saving Multiple Objects in the Scene as OBJ Models | |
test_scene | Scene Building/Saving/Loading | |
test_tobor_move | Tobor Wheel Drive Movement | |
test_urdf_parameter | Joint Target Position Setting Panel | |
test_ompl | Robotic Arm Obstacle Avoidance Planning This example requires Linux and self-installation of OMPL |
Launch RFUniverse with the <-edit> parameter to enter Edit mode:
Linux:
RFUniverse.x86_64 -edit
Windows:
RFUniverse.exe -edit