Home

Awesome

<p align="center"><img src="images/warehouse.gif"/></p>

Unity Robotics Hub

<!-- [![Version](https://img.shields.io/github/v/tag/Unity-Technologies/Unity-Robotics-Hub)](https://github.com/Unity-Technologies/Unity-Robotics-Hub/releases) -->

License ROS ROS ROS Unity

This is a central repository for tools, tutorials, resources, and documentation for robotic simulation in Unity.

The contents of this repository are in active development. Its features and API are subject to significant change as development progresses.


We're currently working on lots of things! Please take a short moment fill out our survey to help us identify what products and packages to build next.


Introduction

Simulation plays an important role in robotics development, and we’re here to ensure that roboticists can use Unity for these simulations. We're starting off with a set of tools to make it easier to use Unity with existing ROS-based workflows. Try out some of our samples below to get started quickly.

Getting Started

Quick Installation Instructions

Brief steps on installing the Unity Robotics packages.

Pick-and-Place Tutorial

A complete end-to-end demonstration, including how to set up the Unity environment, how to import a robot from URDF, and how to set up two-way communication with ROS for control.

Object Pose Estimation Tutorial

A complete end-to-end demonstration in which we collect training data in Unity and use that data to train a deep neural network to predict the pose of a cube. This model is then deployed in a simulated robotic pick-and-place task.

Articulations Robot Demo

A robot simulation demonstrating Unity's new physics solver (no ROS dependency).

[New!] Navigation 2 SLAM Example

An example simulation environment, integrated with ROS 2 and [New!] Visualizations, which enables the exercise of ROS 2's Navigation 2 and slam_toolbox packages using a simulated Turtlebot 3.

Documentation

TutorialDescription
ROS–Unity IntegrationA set of component-level tutorials showing how to set up communication between ROS and Unity
URDF ImporterSteps on using the Unity package for loading URDF files
[New!] VisualizationsUsage instructions for adding visualizations for incoming and outgoing ROS messages

Component Repos

RepoFunctionality
ROS TCP EndpointROS node for sending/receiving messages from Unity
ROS TCP ConnectorUnity package for sending, receiving, and visualizing messages from ROS
URDF ImporterUnity package for loading URDF files

Additional Resources

Blog Posts and Talks

More from Unity

New Physics Features in Unity

New Features

Coming Soon

Here’s a peek into what our Physics Team is hard at work on…

ROS 2

ROS2 support is now available! You can get started by following this tutorial.

Community and Feedback

The Unity Robotics projects are open-source and we encourage and welcome contributions. If you wish to contribute, be sure to review our contribution guidelines and code of conduct.

Support

For questions or discussions about Unity Robotics package installations or how to best set up and integrate your robotics projects, please create a new thread on the Unity Robotics forum and make sure to include as much detail as possible.

For feature requests, bugs, or other issues, please file a GitHub issue using the provided templates and the Robotics team will investigate as soon as possible.

For any other questions or feedback, connect directly with the Robotics team at unity-robotics@unity3d.com.

Newsletter

To get notified about new updates and features, sign up for our newsletter!

FAQs

FAQs

License

Apache License 2.0