Skip to content

mir7b/URoboSim

This branch is 2 commits behind urobosim/URoboSim:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Michael Neumann
Mar 8, 2022
1255d62 · Mar 8, 2022
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URoboSim

Unreal engine based robot simulator.

Version using SDF for loading robots. See gzsdf for converting URDF to SDF.

Plugin Dependencies

Installation

  • place the URobosim into the plugin folder of your project
  • place all plugin dependencies into the plugin folder of your project
  • add URoboSim as dependency to the *.Build.cs

ROS requirements

Tools

Setup Editor

  • open Editor Settings
  • search for CPU
  • disable "Use less CPU when in Background"

Importing new Robot Model

  • convert xacro to urdf: rosrun xacro xacro --inorder -o model.urdf model.urdf.xacro

  • convert urdf to sdf: gz sdf -v 1.6 -p /my_urdf.urdf > /my_sdf.sdf

  • replace ' with ": sed -i "s/'/\"/g" my_sdf.sdf

  • convert .stl and .dae files to .fbx

  • Source ROS environment before starting UE4.

    • Currently only ros python tool "catkin build" supported (catkin_make creates different ROS_PACKAGE_PATH which unreal uses to finds all ros packages)
  • Start unreal

  • Create Collision channel Robot in new Projects

  • Click import

  • Select sdf
  • Tick combine meshes
  • Click ImportAll (if first mesh does not include textures the rest will be loaded without texture. Workaround: click import until mesh with texture is imported)

  • Drag and drop the created asset into the world (while dragging wait for the mesh creation to be finished before dropping the model)

Setup GameInstance

  • Create Blueprint of RoboSimGameInstance or adjust URoboSimGameInstance of the URoboSim Content

  • Open the Project Settings (Edit > ProjectSettings)

  • In Maps & Modes set
    • Default GameMode to GameMode
    • GameInstance to the RoboSimGameInstance

Add Controller

  • create new data asset, right click into ContentBrowser > Miscellaneous > Data Asset

  • search for RControllerDataAsset

  • double click on the created asset
  • add robot name and controller configurations
  • drag and drop the config file into the world

Add ROSCommunication

  • create new data asset, right click into ContentBrowser > Miscellaneous > Data Asset
  • search for RROSCommunicationDataAsset

  • double click on the created asset
  • add robot name and communication configurations
  • drag and drop the config file into the world

FQA

  • The robot in dynamic mode wobbles/moves strange
    • Unreal has problems with long kinematic chains
    • Try optimizing the joint controller parameters
    • Try small changes in joint space large changes might lead to overswinging

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 99.4%
  • Other 0.6%