Skip to content

yezehao/Compact-Continuum-Manipulator-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Robotic Arm icon

Compact Continuum Manipulator Platform

Repository Status

Developed with tools and softwares below.

πŸ”— Quick Links

πŸ“ Overview

The project is proposed to develop a compact continuum robotic platform suitable for precisely manipulating ultrasonic transducers for laboratory experimental FUS studies.

Objectives

The objective of the project aims to design a modular fishbone continuum manipulator constructed from commonly used materials, capable of carrying the FUS transducer. The workspace of manipulator is specified as 300x300x300 mm, featuring a high level of precision with a permissible error margin of 0.02 mm. The manipulator is expected to be user-friendly, requiring a learning cost of less than two hours. Testing and validation will be conducted through simulations based on Ansys, MATLAB, and Arduino. The project commenced on 10th November 2023, and is scheduled to conclude on 15th March 2024.

Features
  • Manipulator Workspace: 300x300x300 mm
  • Precision: error = 0.05 mm
  • Manipulator Design: CAD model and strength analysis
  • Kinematics Derivation: forward and inverse kinematics,
  • Control System: Arduino
  • Project Completion: 15th March 2024.
  • Open Source

πŸ€– Achievement

Manipulator Design

design

Strength Analysis

displacement_analysis stress_analysis

Kinematics - Trajectory Replication

circle.mp4

Arduino Actuation Control

actuation-control.mp4

πŸš€ Getting Started

Requirements for Kinematics Simulation

  • Python: 3.10+
  • Package manager or container runtime: conda, pip or docker recommended.

βš™οΈ Installation

Kinematics Simulation Programme

Conda Installation
conda RECOMMAND

  • Create conda environment and activation:
    conda create -n manipulator python=3.10  
    
    conda activate manipulator 
    
  • Install pytorch according to Pytorch Official Turorial:
    conda install pytorch torchvision torchaudio pytorch-cuda=<your_version> -c pytorch -c nvidia   
    
  • Other Installation
    conda install jupyter notebook
    conda install ipykernel
    
    pip install -r requirements.txt
    

Pip Installation
pip

  • Create virtual environment (optional)
    python -m venv venv
    venv\Scripts\activate
    
  • Install pytorch according to Pytorch Official Turorial
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu<your-version>   
    
  • Other Installation
    pip install jupyter notebook
    pip install ipykernel
    pip install pandas
    pip install h5py
    pip install matplotlib
    

πŸ‘©β€πŸ’» Running Tutorial

Kinematics Simulation Programme

There are two versions of the kinematics about compact continuum manipulator platform. The python version (2.0) have robust performances in Machine Learning (ML) compared with the MATLAB version (1.0). The simulation about inverse kinematics will mainly contribute to the python programme to make further explanation. However, the MATLAB version (1.0) have better visualization, which can be utilized for parameter design and manipulator model displayment. The tutorials about the kinematics programmes are shown as follow:

Further Improvement

The CAD model of the manipulator is designed in Model. It can be exported into the ROS for further simulation. The docker env has been configurated in .devcontainer and can be executed through VS Code.

πŸ“‹ Parameter Definations

Parameter Definations of Manipulator
Parameter Definition Value (mm)
$Sr_i$ the length of elastic sheet in Module i $Sr_{1,2,3,4} = 150$
$d_i$ the thickness of the cross-shaped connector $d_{1,2,3,4,5} = 15$
$N$ the number of cross-shaped sheet in a module $N = 0 \text{ textasciitilde} 15$
$r_i$ the distance between the centroid of connector and cable routing hole $r_{1,2} = 17.5$, $r_{3,4} = 15$
$\Delta S_i$ the change volume of cable, cable${2i-1}$ and cable ${2i}$ corresponds to Module i
$\boldsymbol{\Delta S}$ a series of change volume of cables $\Delta S_1 \sim \Delta S_8$
$\alpha_i$ the bending angle of module i
$\boldsymbol{\alpha}$ a series of bending angles about four modules $[\alpha_1,\ \alpha_2,\ \alpha_3,\ \alpha_4]$
$\boldsymbol{\theta}$ a series of inverse kinematics solutions $[\theta_1,\ \theta_2,\ \theta_3,\ \theta_4]$
$\boldsymbol{\epsilon}$ threshold of the error in FABRIKc algorithm $\boldsymbol{\epsilon} = 0.02$

πŸ“ Repository Structure

πŸ“¦ Compact Continuum Manipulator Platform
β”œβ”€β”€ πŸ“‚ .devcontainer
β”œβ”€β”€ πŸ“‚ Arduino-Simulation
β”‚Β Β  β”œβ”€β”€ πŸ“‚ motor_control_final
β”‚Β Β  β”‚Β Β  └── motor_control_final.ino
β”‚Β Β  β”œβ”€β”€ multiple_motor_control.ino
β”‚Β Β  β”œβ”€β”€ multiple_motor_control.pdsprj
β”‚Β Β  └── πŸ“œ README.md
β”œβ”€β”€ πŸ“‚ Deliverable
β”‚Β Β  β”œβ”€β”€ πŸ“‚ Documentation
β”‚Β Β  └── πŸ“‚ Final-Report
β”‚Β Β   Β Β  β”œβ”€β”€ πŸ“‚ Appendix
β”‚Β Β   Β Β  β”œβ”€β”€ πŸ“‚ config
β”‚Β Β   Β Β  β”œβ”€β”€ πŸ“‚ Image
β”‚Β Β   Β Β  β”œβ”€β”€ πŸ“‚ Section
β”‚Β Β   Β Β  β”œβ”€β”€ Main-Thesis-File.pdf
β”‚Β Β   Β Β  β”œβ”€β”€ Main-Thesis-File.tex
β”‚Β Β   Β Β  └── references.bib
β”œβ”€β”€ πŸ“‚ Kinematics
β”‚Β Β  β”œβ”€β”€ πŸ“‚ circle
β”‚Β Β  β”œβ”€β”€ πŸ“‚ IK_NN
β”‚Β Β  β”œβ”€β”€ conversion.py
β”‚Β Β  β”œβ”€β”€ FABRIKc.py
β”‚Β Β  β”œβ”€β”€ forward-kinematics.ipynb
β”‚Β Β  β”œβ”€β”€ inverse_kinematics.py
β”‚Β Β  β”œβ”€β”€ trajectory_replication.py
β”‚Β Β  β”œβ”€β”€ work-space-simulation.py
β”‚Β Β  └── πŸ“œ README.md
β”œβ”€β”€ πŸ“‚ MATLAB
β”‚Β Β  β”œβ”€β”€ πŸ“‚ result
β”‚Β Β  β”œβ”€β”€ draw_tdcr.m
β”‚Β Β  β”œβ”€β”€ error_calculation.m
β”‚Β Β  β”œβ”€β”€ FKD_geometry.m
β”‚Β Β  β”œβ”€β”€ FKD_visual.m
β”‚Β Β  β”œβ”€β”€ FK_matrix.m
β”‚Β Β  β”œβ”€β”€ TR_display.m
β”‚Β Β  β”œβ”€β”€ workspace_simulation.m
β”‚Β Β  └── πŸ“œ README.md
β”œβ”€β”€ πŸ“‚ Model
β”‚Β Β  └── Manipulator.SLDASM
β”œβ”€β”€ πŸ“„ LICENSE
β”œβ”€β”€ πŸ“‹ requirements.txt
└── πŸ“œ README.md

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published