Skip to content

This repository contains my work on 'Simulations of Cable-Driven flexible Manipulators' during the Tele-Internship at the Department of Bio-medical Engineering, NUS, under the guidance of Dr. Ren Hongliyang.

Notifications You must be signed in to change notification settings

YogeshPhalak/Simulation-Of-Cable-Driven-Flexible-Manipulators-Using-Matlab-and-Simulink

Repository files navigation

Simulation-Of-Cable-Driven-Flexible-Manipulators-Using-Matlab-and-Simulink

(Department of Bio-medical Engineering , NUS | Tele-Internship)

Installation of Simscape Multibody link

The Simscape Multibody Link plug-in provides the primary interface for exporting CAD assemblies into Simscape Multibody software. The plug-in is compatible with three CAD applications: Autodesk Inventor, Creo Parametric, and SolidWorks. The installation steps of Simscape Multibody Link are given below:

  • Run MATLAB as administrator.
  • Add the saved installation files to the MATLAB path.
  • You can do this by entering addpath('foldername') at the MATLAB command prompt. Replace foldername with the name of the folder in which you saved the installation files—e.g., C:\Temp.
  • At the MATLAB command prompt, enter install_addon('zipname').
  • Replace zipname with the name of the zip archive—e.g., smlink.r2015b.win64.zip.

Importing the SolidWorks CAD Model Assembly in MATLAB Simulink:

  • For exporting the CAD model assembly from SolidWorks to the MATALB Simulink we need to add Simscape Multibody Link to the SolidWorks from Settings/addins/Simscape Multibody Link.
  • CAD model can be exported to the 1st and 2nd generation of Simulink by Tools/Simscape Multibody Link/ Export / Simscape Multibody 1st/2nd generation, this creates the ‘.xml’ file which can be imported in to the MATLAB by using command smimport(‘filename.xml’) for 2nd generation of mechimport(‘filename.xml’) for 1st generation.
  • After importing the Model in the Simulink, MATLAB Simulink automatically generates the Simulink block diagram of the model and ‘.slx‘ file.

Gait generation and control of the Snake Robot model

  • As a test, I made one CAD model assembly of the snake robot with 4 actuated revolute joints and imported into Simulink by the steps asserted above.
  • By default, all actuators have automatically calculated motion control, Hence, on starting simulation shows random movements.

  • For controlling motion of each revolute joints, I used PS Converter Blocks, which converts physical signal to the Simulink signal. Also used one Repeating Sequence Source Blocks to give time dependent angle vectors from MATLAB workspace as the inputs of the actuators.

  • User defined MATLAB Function Blocks are used to ensure the initial conditions and definition of the domain of the input angle vectors to -90 to 90 degrees.
  • Angle vectors are generated by using MATLAB code including equations of the snake gaits and imported them to the source blocks from MATLAB workspace.

Cable driven flexible manipulators

  • Cable-driven parallel manipulators (CDRPMs) are a special class of parallel robots in which rigid ex- tensile links are replaced by actuated cables. In the referenced literature, different types of workspace have been introduced based on various definitions for cable-driven parallel manipulators.
  • The distal end positions and workspace of studied manipulator:

  • My derived model for cable driven manipulators: Here is the mathematical model including equations for angles of each links as a function of reduced length of the cable.

δ**l1 + δ**l2 + δ**l3 = δ**L (total reduced lenght of cable)

θ1 = δL/5t × 1800/π

θ2 = 2δL/5t × 1800/π

θ3 = 2δL/5t × 1800/π

Simulation of 3Fingered model of cable driven manipulator

  • Equations derived in the mathematical model are implemented on the 3Fingered model using Simulink blocks and controlled the reduced length of cable by dashboard control block in such a way that all the angles at the revolute joints are automatically calculated.

  • In this setup the user can control the cable manually and verify the results from the simulation in the same way as in real environment.

PID controller

  • A proportional–integral–derivative controller (PID controller or three term controller) is a control loop feedback mechanism widely used in industrial control systems and a variety of other applications requiring continuously modulated control. A PID controller continuously calculates an error value {\displaystyle e(t)} e(t) as the difference between a desired setpoint (SP) and a measured process variable (PV) and applies a correction based on proportional, integral, and derivative terms (denoted P, I, and D respectively).
  • I made one PID controller using Simulink blocks given below but Simulink PID Controller Block is used in the simulation of the given CAD models. PID controller Block is tuned I to get required gain values for desired reaction time.

About

This repository contains my work on 'Simulations of Cable-Driven flexible Manipulators' during the Tele-Internship at the Department of Bio-medical Engineering, NUS, under the guidance of Dr. Ren Hongliyang.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published