Skip to content

Robot physics simulation and RL platform based on Unity / 基于Unity的机器人物理仿真和RL平台

License

Notifications You must be signed in to change notification settings

robotflow-initiative/rfuniverse

Repository files navigation

RFUniverse.png

Pypi Release Stars Issues PR

English | 中文

User Doc | Dev Guide


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

  1. Create a new conda environment and install pyrfuniverse

    conda create -n rfuniverse python=3.10 -y
    conda activate rfuniverse
    pip install pyrfuniverse
    
  2. 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

  3. 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


Test Directory
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

Enter Edit mode

Launch RFUniverse with the <-edit> parameter to enter Edit mode:

Linux:

RFUniverse.x86_64 -edit

Windows:

RFUniverse.exe -edit