Giter VIP home page Giter VIP logo

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

urobosim's Projects

giskardpy icon giskardpy

The core python library of the Giskard framework for constraint- and optimization-based robot motion control.

iai_maps icon iai_maps

The semantic and ground lab and environment maps for projects in the IAI group in the University of Bremen

knowrob icon knowrob

KnowRob is a knowledge base for robots. It equips robots with the capability to organize information in re-usable knowledge chunks, and to perform reasoning in an expressive logic formalism. It further provides a set of tools for visualization and acquisition of knowledge.

msggeneration icon msggeneration

A python script to generate UROSBridge compatible message files from ROS-like templates.

universal_robot icon universal_robot

ROS-Industrial Universal Robots support (http://wiki.ros.org/universal_robot)

urobovision icon urobovision

Unreal plugin with a CameraActor that captures RGB-D data and publishes it via TCP

uutils icon uutils

Plugin with various utility modules for RobCoG

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.