Code Monkey home page Code Monkey logo

macromicrosurgicalrobot's Introduction

A Low-Cost Teleoperable Surgical Robot with a Macro-Micro Structure and a Continuum Tip for Open-Source Research

ROS package providing simultaneous teleoperation of a custom micro-manipulator and a Universal Robots UR5e robotic arm via a 3D Systems Touch haptic stylus.

Additional dependencies and their installation instructions can be found in these repositories:

https://github.com/LMBScott/motor_angles_msg/

https://github.com/LMBScott/Serial_Control/

Installation

  1. Install Ubuntu 20.04 LTS
  2. Apply a patch to install a real-time kernel on your Linux system. The exact version used to develop the project was 5.15.96-rt61. Instructions can be found here.
  3. Install ROS Noetic.
  4. Install catkin_tools.
  5. Create a catkin workspace.
cd ~
mkdir catkin_ws && cd catkin_ws
  1. Install the Universal Robots ROS driver in your catkin workspace and follow its setup instructions up to the end of extracting calibration information.

  2. Install the Geomagic Touch driver. Note: The installation instructions on the GitHub page are outdated, working instructions as of February 2023 are:

    1. Install the driver's 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
    
    1. Install the OpenHaptics SDK. If the page is unavailable, search for "openhaptics linux sdk" and install the most recent version available.
    2. Install the compatible Touch driver version from the same page.
    3. Follow the installation instructions. If the page is unavailable, follow the instructions found on the most recent version of the openhaptics Linux SDK install page used in step 2.
    4. For a 64-bit system, create symbolic links by executing the following commands:
    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 
    

    Note: Run ./Touch_Setup and ./Touch_Diagnostic found in the touch driver directory, with the Touch device connected, to verify that Touch communication is functional.

  3. Clone this repository into your catkin workspace.

  4. Build and source your catkin workspace using catkin build.

Thanks to Mustafa Sevinc for writing the original installation instructions.

ROS Startup Commands

Touch Stylus

  1. Start ROS: roscore

  2. Add permissions for touch USB device: sudo chmod 777 /dev/ttyACM0

  3. Start Touch Driver: roslaunch omni_common omni_state.launch

UR5e

  1. Start driver: roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=192.168.0.100 kinematics_config:=/home/lachlan/lab_ur5e_1_calibration.yaml

  2. Start LS_ROS_CONTROL program on UR5e Teach Pendant

  3. Start control node: rosrun ls_thesis ur5e_control

Micro Module

  1. Add permissions for Arduino device: sudo chmod 777 /dev/ttyACM1

  2. Start serial node: rosrun rosserial_python serial_node.py /dev/ttyACM1

  3. Start control node: rosrun ls_thesis micro_module_control

NOTE: Be sure to manually disable power to servo motors via the switch on the micro module before unplugging the control USB cable

macromicrosurgicalrobot's People

Contributors

lmbscott avatar drliaowu avatar

Stargazers

 avatar

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.