halBRY / EVL_DigitalTwin

0 stars 0 forks source link

EVL Digital Twin Efforts

Overview

For this project, our goal is to create a "digital twin" of a given robot so that it can be controlled remotely through a virtual reality (VR) application. At its simplest, this will involve communicating between ROS2 and some VR-capable application.

Software:

Hardware:

Getting Started

ROS2

As this project hinges on ROS2, first step will be to install and familiarize yourself with ROS2 Humble.

ROS2 is supported on Windows 10, but I have never used it (feel free to investigate this, though), and the VR workstation (Discovery, the Intel NUC) is a Windows 11 machine. So, currently, the plan is to use WSL.

I am assuming you have a windows machine, as that's what we're gonna use for VR. If you have a Mac, you should use the Intel NUC instead.

Steps:

  1. If you don't have it already, install Ubuntu 22 through WSL. You should be able to do this on the Windows store.
  2. Install ROS2 Humble following this guide.
    • make sure you get the desktop installation AND the dev tools: sudo apt install ros-humble-desktop sudo apt install ros-dev-tools
  3. (Optional but recommended) Install Xming X server so that you can launch GUI applications from WSL. ROS2 has several handy GUI features, and the Create3 Robot makes use of these for some simulation tools.

Once you have ROS2, I recommend following their turtlesim tutorial, as it gives a good overview of ROS2 terms that will be relevant to this project. TLDR: ROS2 is a system where a bunch of distributed scripts called nodes share data by publishing/subscribing to topics. These scripts can be written in C++ or Python.

iRobot Create3

The iRobot Create3 is an educational robot that can be controlled using either their Python API or ROS2. We are going to be using ROS2. You can connect to the robot with the following methods:

Next Steps

Generally speaking, our next steps are as follows: