Skip to content
Erencan edited this page Apr 13, 2022 · 15 revisions

Introduction

This is a step-by-step guide of how I set up and configure my working environments for the time being. This wiki should allow you to get the working environment I'm working on so far. It should be noted that this is the first time I'm working Unity or ROS or Ubuntu for that matter so there may be easier ways to configure this project.

Scope

The aim of this thesis is to design a gripping feedback from the Franka Emika Panda robot to a multi-sensory feedback glove TouchDIVER, designed by Weart.

Guides

This guide should take you from installing every package to configuring the environments you'll be working on. While some steps are not explicitly mentioned here, the key steps are explained to the best of my abilities.

System Architecture

The system works on a Windows computer with a virtual machine (Oracle VM in this case) running the latest version of Ubuntu, which is 20.04 at the moment.

  • Host OS: Windows 10
  • Guest OS: Ubuntu 20.04
  • Unity Editor Version: 2020.3.301f

Ubuntu Side Set-up

  1. The tutorial on how to install Ubuntu on Oracle VM can be found here.
  2. Install ROS on your current Ubuntu VM and follow these tutorials to get acquainted with creating a workspace.

MoveIt!

  • The MoveIt! tutorials use Franka Emika Panda by default so the robot model is already configured with the installation of the tutorials.
  • Following this tutorial also ensures that the important packages such as catkin and wstool that may have been skipped over in the ROS tutorials are installed.
  • While real-time arm servoing with MoveIt! is possible through the servo_server node, I couldn't use it (as of 13.04.2022).

franka_ros

franka_ros is an integration of the Franka Emika Panda libraries into ROS and I've slightly modified the franka_gazebo example that uses the cartesian_impedance_example_controller to achieve end effector tracking.

Establishing Connection Between Unity and ROS

The connection between Unity and ROS is mainly carried out by two options: ROS# and Unity Robotics Hub, which is built on ROS# with additional features. While working, I've used both until I came across an issue and tried to document what I've accomplished to the best of my abilities. All the progress recorded can be found in the pages in the sidebar.

13/04/2022: I accomplished end effector tracking with ROS# so that path is currently the most advanced one.