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 example scenes through the release version
-
Create a new conda environment and install pyrfuniverse
conda create -n rfuniverse python=3.10 -y conda activate rfuniverse pip install pyrfuniverse
-
Download the RFUniverse simulation environment
Option 1: Use the pyrfuniverse command line entry
pyrfuniverse download
By default, it downloads the latest available version to
~/rfuniverse
, you can add the optional argument-s
to change the download path,-v
to change the download version
Option 2: Download from Github Release: RFUniverse Releases
After downloading and unzipping, run the program once, and you can close it after entering the scene:
Linux:
RFUniverse_For_Linux/RFUniverse.x86_64
Windows:
RFUniverse_For_Windows/RFUniverse.exe
-
Install the test package pyrfuniverse-test and run the example script
pip install pyrfuniverse-test pyrfuniverse-test test_pick_and_place
More examples can be viewed with
pyrfuniverse-test -h
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_cloth_attach | Cloth Simulation | |
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