README.md

April 11, 2024 · View on GitHub

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 NameFunction IntroductionPreview
test_active_depthInfrared Depth
test_articulation_ikNative IK
test_camera_imageCamera Screenshot Example
test_custom_messageCustom Messages and Dynamic Messages
test_debugLoop Display of Various Debug Modules
test_digitInteractive Digit Tactile Sensor Simulation
test_gelslimGelSlim tactile sensor simulation
test_grasp_simFranka Grasping Test
test_grasp_poseFranka Grasp Point Preview
test_heat_mapInteractive Heatmap
test_cloth_attachCloth Simulation
test_humanbody_ikHuman Body IK Interface
test_labelScene Labeling 2DBBOX
test_ligthLighting Parameter Settings
test_load_meshImporting OBJ Model as Rigid Body
test_load_urdfImporting URDF File
test_object_dataObject Basic Data
test_pick_and_placeBasic Interface and Grasping Driven by Native IK
test_point_cloudObtaining Depth Image and Converting to Point Cloud Using Image Width, Height, and FOV
test_point_cloud_renderImporting and Displaying .PLY Point Cloud File
test_point_cloud_with_intrinsic_matrixObtaining Depth Image and Converting to Point Cloud Using Camera Intrinsic Matrix
test_save_gripperSaving Gripper as OBJ Model
test_save_objSaving Multiple Objects in the Scene as OBJ Models
test_sceneScene Building/Saving/Loading
test_tobor_moveTobor Wheel Drive Movement
test_urdf_parameterJoint Target Position Setting Panel
test_omplRobotic 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