Skip to content
Erencan edited this page Mar 1, 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.

Guide

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. 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.4 at the moment.

The tutorial on how to install Ubuntu on Oracle VM can be found here.

Ubuntu Side Set-up

  • Install Ubuntu on Oracle VM as explained in the following link.
  • 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 we will be running the model in this one to launch the visualization in RViz. It's also useful because the demo.launch file replaces the actual robot controls with the joint_state_publisher, which is what we want at this point.
  • 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.

Unity-side Set-up

  • Install the latest version of Unity
  • Create a new 3D project
  • In the new project, go to File > Build Settings ... > Player Settings... > Other Settings > Configuration and change the Api compatibility level to .NET 4.x
  • Clone the ROS# repository to your computer and copy the RosSharp folder located under ros-sharp > Unity3D > Assets into your Unity project's folder. You should now see the 'RosBridgeClient' option at the top of the window.
  • Finally, go over to the Franka Emika Panda's ROS repository and copy the franka_description folder inside your Assets folder in the Unity project.

Establishing Connection Between Unity and Ubuntu

  • Open up the terminal in Ubuntu, type hostname -I and copy the IP address of the virtual machine.
  • On Unity, in the game objects pane, right-click and select Create Empty to create an empty game object.
  • In the inspector pane, click Add Component and type ROS Connector.
  • After the ROS connector component has been added, modify it so that its Protocol reads Web Socket NET (which is the option for anything above Windows 8) and change the Ros Bridge Server Url to include the IP address of the virtual machine so that it reads ws://IP-address-of-the-VM:9090.
  • Open up a terminal window on Ubuntu and run the following commands on three separate terminal tabs: roslaunch rosbridge_server rosbridge_websocket.launch, rosrun rqt_graph rqt_graph, rosrun file_server file_server.
  • Open up another terminal window, now to run the MoveIt! demo, by running these commands in order: cd ~/ws_moveit/, catkin_make, source ~/ws_moveit/devel/setup.bash, roslaunch panda_moveit_config demo.launch rviz_tutorial:=true. If you've previously followed the MoveIt! tutorial, you should see the robot on the RViz window right away.
  • Over on the open Unity project, go over to RosBridgeClient and select Transfer URDF from ROS....
  • Make sure the IP address is correct and that Protocol under the Settings toggle is Web Scoket NET.
  • Click Read Robot Description and if everything is correct, you should end up with the robot in the Unity scene.

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.