Skip to content

Unity-Technologies/ROS-TCP-Connector

Repository files navigation

ROS TCP Connector

Version License ROS ROS Unity


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

This repository contains two Unity packages: the ROS TCP Connector, for sending/receiving messages from ROS, and the Visualizations Package, for adding visualizations of incoming and outgoing messages in the Unity scene.

Installation

  1. Using Unity 2020.2 or later, open the Package Manager from Window -> Package Manager.

  2. In the Package Manager window, find and click the + button in the upper lefthand corner of the window. Select Add package from git URL....

    image

  3. Enter the git URL for the desired package. Note: you can append a version tag to the end of the git url, like #v0.4.0 or #v0.5.0, to declare a specific package version, or exclude the tag to get the latest from the package's main branch.

    1. For the ROS-TCP-Connector, enter https://github.com/Unity-Technologies/ROS-TCP-Connector.git?path=/com.unity.robotics.ros-tcp-connector.
    2. For Visualizations, enter https://github.com/Unity-Technologies/ROS-TCP-Connector.git?path=/com.unity.robotics.visualizations.
  4. Click Add.

To install from a local clone of the repository, see installing a local package in the Unity manual.

Tutorials

This Unity package provides four main features:

  • ROSConnection: A component that sets up communication between ROS and Unity. See the Unity Robotics Hub for information and tutorials.

  • Message Generation: A tool to generate C# classes for ROS message types.

  • Visualizations: A suite of default configurations and APIs to visualize incoming and outgoing information from ROS.

    • See the Nav2 SLAM Example for tutorials on using the Visualizations Package!
    • You can also view the package's Usage Information for more details on using the package in your own project.
  • ROSGeometry: A set of extensions that convert geometries between Unity and other coordinate frames.

ROS#

Special thanks to the Siemens ROS# Project Team for driving the ROS-Unity Integration Open Source since 2017.

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.

License

Apache License 2.0