Giter Club home page Giter Club logo

oltans / ur5e_touch_haptic_teleoperation Goto Github PK

View Code? Open in Web Editor NEW
13.0 1.0 1.0 3.23 MB

This repository was created as a part of an mechatronic engineering honours thesis at the University of New South Wales (UNSW). This repository includes files that relate to teleoperating a Universal Robots E-series robot via a 3Dsystems Touch haptic device with haptic feedback for the purposes of improving remote ultrasounds.

CMake 42.70% C++ 57.30%
haptic-feedback teleoperation universal-robots ur5e 3dsystems 3dsystems-touch haptic-teleoperation

ur5e_touch_haptic_teleoperation's Introduction

Haptic Teleoperation of a UR5e with 3DSystems Touch

See a video of the system in operation:

Video of teleoperation

This repository was created as a part of an mechatronic engineering honours thesis at the University of New South Wales (UNSW).

This repository includes files that relate to teleoperating a Universal Robots E-series robot via a 3Dsystems Touch haptic device with haptic feedback for the purposes of improving remote ultrasounds.

The steps below are not written in great detail and assume familiarity with ROS and enough knowledge of ubuntu to bugsplat as issues come up, but should be sufficient to point the users in the correct direction.

Steps to utilize the code:

  1. Get an installation of Ubuntu 20.04
  2. Install the touch driver from here. The instructions it presents are outdated, DO NO FOLLOW THEM, the steps to take are:
    1. Install the dependencies:

      sudo apt-get install --no-install-recommends freeglut3-dev g++ libdrm-dev\
      libexpat1-dev libglw1-mesa libglw1-mesa-dev libmotif-dev libncurses5-dev\
      libraw1394-dev libx11-dev libxdamage-dev libxext-dev libxt-dev libxxf86vm-dev\
      tcsh unzip x11proto-dri2-dev x11proto-gl-dev
      

      Note that while some places want the now defunct x11proto-print-dev library stated as required in some locations is not actually necessary.

    2. Install the openhaptics SDK. If link is dead google "openhaptics linux sdk" and install the most recent version.

    3. Install the Touch driver from the same page. It must be from the same page for compatability.

    4. Follow the installation instructions. If link is dead follow the pdf on the most recent page of the openhaptics linux sdk install page.

    5. If on a 64-bit system (so most everyone) run the following:

    sudo ln -s /usr/lib/x86_64-linux-gnu/libraw1394.so.11.0.1 /usr/lib/libraw1394.so.8
    sudo ln -s /usr/lib64/libPHANToMIO.so.4.3 /usr/lib/libPHANToMIO.so.4
    sudo ln -s /usr/lib64/libHD.so.3.0.0 /usr/lib/libHD.so.3.0
    sudo ln -s /usr/lib64/libHL.so.3.0.0 /usr/lib/libHL.so.3.0 
    
  3. (Optional but highly recommended) Install a realtime kernel on your ubuntu installation, instructions can be found here. Note that these instructions did not work out of the box for me, but are a strong place to start.
  4. Setup ROS Noetic on your installation.
  5. Install catkin_tools.
  6. Create a catkin workspace.
  7. Install the universal robots ROS driver in your catkin workspace and follow its setup instructions up to the end of extracting calibration information.
  8. Install moveit_servo following the instructions here in your catkin workspace.
  9. Download this repository into your catkin workspace.
  10. Build and source your catkin workspace. (use catkin build not catkin_make)
  11. Run one of the launch files to start, like roslaunch ur_to_touch_haptic_teleoperation ur_touch_haptic_teleop.launch

Known problems (Nothing in active development):

  1. The haptic feedback does not rotate with the robot, always assuming position parallel to the default.
  2. The filtering used to use smooth motion is imperfect, empirical (and perhaps even silly compared to smarter methods). Some further filtering work is required to stop gurning noises in the robot due to micro movements.

ur5e_touch_haptic_teleoperation's People

Contributors

oltans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

zsorcerer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.