SlideShare a Scribd company logo
SOLIDWORKS LABVIEW INTERFACE FOR iCobra 600 ROBOT
Submitted by- Saurabh Deobhankar
UTA id: 1001114694
 INTRODUCTION:
 AdeptiCobra600 is a 4 axisSCARA robotsystemformechanical assembly, packaging,material
assembly,andscrewdriving,machinetendingandotherapplicationsthatrequire highprecision
and functioning.The iCobraincludesaSmartMotionControllerwhichenablesittoperformance
highprecisiontasks.
 AdeptiCobra600 has 3 revolute and1 prismaticjoint.
 Joints1, 2, and 4 are revolute andjoint3isprismatic.
 PROJECT SCOPE:
 The scope of thisprojectwasto interface SOLIDWORKSand LabVIEW andto achieve a specific
positionforthe robotby inputtingthroughLabVIEW.
 The aim of thisprojectis to show how the robot can be movedto desiredpositionsbygivingthe
correspondinginputstoLabVIEW.
 OBJECTIVES:
 To understandForwardandInverse Kinematicsof iCobrarobotsystem.
 To studythe basic motionstudyinSOLIDWORKS.
 To developasuitable code forForwardandInverse kinematicsinMATLAB.
 To understandthe basiclogicdevelopmentforthe blockdiagramin LabVIEW.
 To interface SOLIDWORKSandLabVIEW.
 To execute the programandachieve the desiredpositionof the end effector.
 PROCEDURE:
 The robot was designedusingSOLIDWORKS.Individualcomponentswere takenfromthe Adept
website andthenassembledmanually.
 Motors were assignedtoeachjointandconstraintswere set.
 UsingSOLIDWORKSmotion,the motionstudywascalculatedfora predefinedperiodof 5secs.
 ThisassemblywasthenassignedtoLabVIEW.
 4 axeswere assignedtothismodel inLabVIEWasshownbelow.
 The code forinverse kinematicsof cobrarobotwas setup in Matlab suchthat it will return
valuesof d3, THETA1, THETA2, and THETA4 forthe correspondinginputvalues px,py,and pz.
 Thisreturns2 valuesof THETA1, 4 valuesof THETA2 and 8 valuesof THETA4 as shownbelow.
MATLAB CODE
syms t1 t2 d3 t4
% t1=pi/6;
% t2=pi/3;
% d3=20;
% t4=pi/4;
T01=mdht (0,0,342,t1)
T12=mdht(425,0,52,t2)
T23=mdht(375,0,d3,0)
T34=mdht(0,0,0,t4)
T04=(T01*T12*T23*T34)
nx=-0.7071;
ax=-0.7071;
ox=0;
px=368.0608;
ny=0.7071;
ay=-0.7071;
oy=0;
py=587.5000;
nz=0;
az=0;
oz=1;
pz=414.000
Tdes=[nx ax ox px;ny ay oy py;nz az oz pz;0 0 0 1]
% THETA2@#$@#@$@#@$@#@$@#@$@#@$@$
M=375*cos(t1 + t2) + 425*cos(t1)
N=375*sin(t1 + t2) + 425*sin(t1)
L=simplify(M^2+N^2)
Q=(((px^2+py^2)-321250)/318750)
t2(1)=vpa((atan2((+sqrt(1-Q^2)),Q)))
t2(2)=vpa((atan2((-sqrt(1-Q^2)),Q)))
Theta2(1)=vpa(rad2deg(t2(1)))
Theta2(2)=vpa(rad2deg(t2(2)))
%THETA1 @#$@#$@#$@#$@#$@#$@#$@#$
A1=inv(T01)*Tdes
B1=T12*T23*T34
simplify(A1)
simplify(B1)
t1(1)=vpa((atan2(739.97,1218.66)))
t1(2)=vpa((atan2(-739.97,1218.66)))
t1(3)=vpa((atan2(739.97,-1218.66)))
t1(4)=vpa((atan2(-739.97,-1218.66)))
Theta1(1)=vpa(rad2deg(t1(1)))
Theta1(2)=vpa(rad2deg(t1(2)))
Theta1(3)=vpa(rad2deg(t1(3)))
Theta1(4)=vpa(rad2deg(t1(4)))
%THETA4 @#$@#$@#$@#$@#$@#$
A2=simplify (inv(T01)*inv(T12)*Tdes)
B2=T23*T34
W= ((7071*sin(t1(1) + t2(1)))/10000 - (7071*cos(t1(1) + t2(1)))/10000)
Z=((7071*cos(t1(1) + t2(1)))/10000 + (7071*sin(t1(1) + t2(1)))/10000)
t4(1)=vpa(rad2deg(atan2(Z,W)))
W1= ((7071*sin(t1(2) + t2(1)))/10000 - (7071*cos(t1(2) + t2(1)))/10000)
Z1=((7071*cos(t1(2) + t2(2)))/10000 + (7071*sin(t1(2) + t2(1)))/10000)
t4(2)=vpa(rad2deg(atan2(Z1,W1)))
W2= ((7071*sin(t1(3) + t2(1)))/10000 - (7071*cos(t1(3) + t2(1)))/10000)
Z2=((7071*cos(t1(3) + t2(1)))/10000 + (7071*sin(t1(3) + t2(1)))/10000)
t4(3)=vpa(rad2deg(atan2(Z2,W2)))
W3= ((7071*sin(t1(4) + t2(1)))/10000 - (7071*cos(t1(4) + t2(1)))/10000)
Z3=((7071*cos(t1(4) + t2(1)))/10000 + (7071*sin(t1(4) + t2(1)))/10000)
t4(4)=vpa(rad2deg(atan2(Z3,W3)))
W4= ((7071*sin(t1(1) + t2(2)))/10000 - (-7071*cos(t1(2) + t2(2)))/10000)
Z4=((7071*cos(t1(1) + t2(2)))/10000 + (7071*sin(t1(2) + t2(2)))/10000)
t4(5)=vpa(rad2deg(atan2(Z4,W4)))
W5= ((7071*sin(t1(2) +t2(2)))/10000 - (7071*cos(t1(2) + t2(2)))/10000)
Z5=((7071*cos(t1(2) + t2(2)))/10000 + (7071*sin(t1(2) + t2(2)))/10000)
t4(6)=vpa(rad2deg(atan2(Z5,W5)))
W6= ((7071*sin(t1(3) + t2(2)))/10000 - (7071*cos(t1(3) +t2(2)))/10000)
Z6=((7071*cos(t1(3) + t2(2)))/10000 + (7071*sin(t1(3) + t2(2)))/10000)
t4(7)=vpa(rad2deg(atan2(Z6,W6)))
W7= ((7071*sin(t1(4) + t2(2)))/10000 - (7071*cos(t1(4) + t2(2)))/10000)
Z7=((7071*cos(t1(4) + t2(2)))/10000 + (7071*sin(t1(4) + t2(2)))/10000)
t4(8)=vpa(rad2deg(atan2(Z7,W7)))
LABVIEW SETUP
 Onlyone positionof the robotwassimulatedusingLabVIEWinterface.
 Thiscode wasincludedinMATHSCRIPTinLabVIEWwith px, py, and pz as the inputsand d3,
THETA1, THETA2, and THETA4 as the outputs.
 Here d3 was takenas constantentity(=20)
 The jointangleswere calculatedasshowninthe Mathscript.
 The outputparameterswere assignedtothe correspondingaxisinthe blockdiagramtoreturn
the positionof eachjoint.
 The velocitywaskeptconstantat 50.
 UsingControl functionpx,py,pz inputswere createdinthe FRONTPANEL
 UsingIndicatorfunctionsd3,THETA1, THETA2, THETA4 outputswere createdaswell inthe
FRONTPANEL.
 Here,px,py,pz are the variablesthatcan be changedand the correspondingoutputparameters
are displayed.
FRONT PANEL
 Now,throughProjectExplorerwindow,the MyComputertab, all 4 axesand the SW Assembly
are deployedsothatSOLIDWORKSisinterfacedthroughLabVIEW.
 Usingthe RUN commandinLabVIEW and START SIMULATION commandinprojectexplorer,the
robot issyncedwithLabVIEWand itachievesthe desiredposition.
 Usingpx,py, pz as the inputs,the outputswere foundtobe:t1=30deg, t2=60deg, t4=45deg and
d3=20.
 The desiredpositionof the endeffectorisshownbelow
DESIRED POSTION
 OBSERVATIONS AND VALIDATION:
 Correspondingtothe giveninputs,the outputvaluesare foundtobe appropriate.
 The outputresultswere validatedtobe true byequatingthe resultsgivenbyForward
KinematicsandInverse Kinematics.
 Initiallyusingthetavalues,forwardkinematicswascalculatedforT04 and laterthe inverse
kinematicsgave the similarresultsasthe inputstoForwardKinematicswhichvalidatedthe
experimentcarriedout.
 PROBLEMS FACED:
 Motionstudyin SOLIDWORKSwasinconvenientdue tomotionconstrainterror.
 Confusioninunderstandingthe logicof developingBooleanoperationsinLabVIEW.
 Code error insettingupconstraintsinMATHSCRIPT.
 Continual requirementof assignmentof axesinLabVIEWeverytime the solidworksassemblyis
disturbed.
 CONCLUSION:
 SOLIDWORKSand LabVIEWwere successfullyinterfacedby overcomingthe problemsstatedand
the desiredpositionof endeffectorwasachievedcorrespondingtothe giveninputs.

More Related Content

Viewers also liked

Curso online certificacao de consultores em educacao de jovens e adultos – eja
Curso online certificacao de consultores em educacao de jovens e adultos – ejaCurso online certificacao de consultores em educacao de jovens e adultos – eja
Curso online certificacao de consultores em educacao de jovens e adultos – eja
Unichristus Centro Universitário
 
Assignment 3
Assignment 3Assignment 3
Assignment 3
asiabaez7
 
Els amèricoliberians
Els amèricoliberiansEls amèricoliberians
Els amèricoliberiansrogeraspa
 
Presentatie visones de cuba van anke en ed 2013 zwart
Presentatie visones de cuba van anke  en ed  2013 zwartPresentatie visones de cuba van anke  en ed  2013 zwart
Presentatie visones de cuba van anke en ed 2013 zwart
Anke Lodewijks Gerzee
 
ACQ 101- Section 302 Certificate
ACQ 101- Section 302 CertificateACQ 101- Section 302 Certificate
ACQ 101- Section 302 Certificate
adhassi4
 
VIPER S650 report
VIPER S650 reportVIPER S650 report
VIPER S650 report
Saurabh Deobhankar
 
MUSIC VIDEO TYPES
MUSIC VIDEO TYPESMUSIC VIDEO TYPES
MUSIC VIDEO TYPES
Harry Soning
 
dimensiones humanas
dimensiones humanasdimensiones humanas
dimensiones humanasDina Pineres
 
IN TERMS OF THE CONTENT, HOW DOES YOUR FILM REFLECT OR CHALLENGE CONVENTIONS ...
IN TERMS OF THE CONTENT, HOW DOES YOUR FILM REFLECT OR CHALLENGE CONVENTIONS ...IN TERMS OF THE CONTENT, HOW DOES YOUR FILM REFLECT OR CHALLENGE CONVENTIONS ...
IN TERMS OF THE CONTENT, HOW DOES YOUR FILM REFLECT OR CHALLENGE CONVENTIONS ...
Barnsley College.
 
Recommendation Letter for Kemal Didic
Recommendation Letter for Kemal DidicRecommendation Letter for Kemal Didic
Recommendation Letter for Kemal Didic
Kemal Didi?
 
math 1st task
math 1st taskmath 1st task

Viewers also liked (11)

Curso online certificacao de consultores em educacao de jovens e adultos – eja
Curso online certificacao de consultores em educacao de jovens e adultos – ejaCurso online certificacao de consultores em educacao de jovens e adultos – eja
Curso online certificacao de consultores em educacao de jovens e adultos – eja
 
Assignment 3
Assignment 3Assignment 3
Assignment 3
 
Els amèricoliberians
Els amèricoliberiansEls amèricoliberians
Els amèricoliberians
 
Presentatie visones de cuba van anke en ed 2013 zwart
Presentatie visones de cuba van anke  en ed  2013 zwartPresentatie visones de cuba van anke  en ed  2013 zwart
Presentatie visones de cuba van anke en ed 2013 zwart
 
ACQ 101- Section 302 Certificate
ACQ 101- Section 302 CertificateACQ 101- Section 302 Certificate
ACQ 101- Section 302 Certificate
 
VIPER S650 report
VIPER S650 reportVIPER S650 report
VIPER S650 report
 
MUSIC VIDEO TYPES
MUSIC VIDEO TYPESMUSIC VIDEO TYPES
MUSIC VIDEO TYPES
 
dimensiones humanas
dimensiones humanasdimensiones humanas
dimensiones humanas
 
IN TERMS OF THE CONTENT, HOW DOES YOUR FILM REFLECT OR CHALLENGE CONVENTIONS ...
IN TERMS OF THE CONTENT, HOW DOES YOUR FILM REFLECT OR CHALLENGE CONVENTIONS ...IN TERMS OF THE CONTENT, HOW DOES YOUR FILM REFLECT OR CHALLENGE CONVENTIONS ...
IN TERMS OF THE CONTENT, HOW DOES YOUR FILM REFLECT OR CHALLENGE CONVENTIONS ...
 
Recommendation Letter for Kemal Didic
Recommendation Letter for Kemal DidicRecommendation Letter for Kemal Didic
Recommendation Letter for Kemal Didic
 
math 1st task
math 1st taskmath 1st task
math 1st task
 

Similar to SOLIDWORKS LABVIEW INTERFACE FOR iCOBRA 600 ROBOT

Design and Analysis of Articulated Inspection Arm of Robot
Design and Analysis of Articulated Inspection Arm of RobotDesign and Analysis of Articulated Inspection Arm of Robot
Design and Analysis of Articulated Inspection Arm of Robot
IJTET Journal
 
Hacking JavaFX with Groovy, Clojure, Scala, and Visage
Hacking JavaFX with Groovy, Clojure, Scala, and VisageHacking JavaFX with Groovy, Clojure, Scala, and Visage
Hacking JavaFX with Groovy, Clojure, Scala, and Visage
Stephen Chin
 
Introduction to Coding
Introduction to CodingIntroduction to Coding
Introduction to Coding
Fabio506452
 
Understanding the Disruptor
Understanding the DisruptorUnderstanding the Disruptor
Understanding the Disruptor
Trisha Gee
 
MAIN CANOPY BAJAJ HR(22.09.2016)
MAIN CANOPY BAJAJ HR(22.09.2016)MAIN CANOPY BAJAJ HR(22.09.2016)
MAIN CANOPY BAJAJ HR(22.09.2016)
sufiyan shaikh
 
Generating Automated and Online Test Oracles for Simulink Models with Continu...
Generating Automated and Online Test Oracles for Simulink Models with Continu...Generating Automated and Online Test Oracles for Simulink Models with Continu...
Generating Automated and Online Test Oracles for Simulink Models with Continu...
Lionel Briand
 
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
JAX London
 
Circular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab CodeCircular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab Code
Bharti Airtel Ltd.
 
Android RenderScript on LLVM
Android RenderScript on LLVMAndroid RenderScript on LLVM
Android RenderScript on LLVM
John Lee
 
Differentiation and its applications
Differentiation and its applications Differentiation and its applications
Differentiation and its applications
ProjectUserAthsStudent
 
Hacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen Chin
Hacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen ChinHacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen Chin
Hacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen Chin
jaxconf
 
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
NETFest
 
Windows Debugging with WinDbg
Windows Debugging with WinDbgWindows Debugging with WinDbg
Windows Debugging with WinDbg
Arno Huetter
 
Robotics (2.008x Lecture Slides)
Robotics (2.008x Lecture Slides)Robotics (2.008x Lecture Slides)
Robotics (2.008x Lecture Slides)
A. John Hart
 
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
apidays
 
The Joy of ServerSide Swift Development
The Joy  of ServerSide Swift DevelopmentThe Joy  of ServerSide Swift Development
The Joy of ServerSide Swift Development
Giordano Scalzo
 
The Joy of Server Side Swift Development
The Joy  of Server Side Swift DevelopmentThe Joy  of Server Side Swift Development
The Joy of Server Side Swift Development
Giordano Scalzo
 
The Joy Of Server Side Swift Development
The Joy Of Server Side Swift DevelopmentThe Joy Of Server Side Swift Development
The Joy Of Server Side Swift Development
Giordano Scalzo
 
Emerging Languages: A Tour of the Horizon
Emerging Languages: A Tour of the HorizonEmerging Languages: A Tour of the Horizon
Emerging Languages: A Tour of the Horizon
Alex Payne
 
Building Enigma with State Monad & Lens
Building Enigma with State Monad & LensBuilding Enigma with State Monad & Lens
Building Enigma with State Monad & Lens
Timothy Perrett
 

Similar to SOLIDWORKS LABVIEW INTERFACE FOR iCOBRA 600 ROBOT (20)

Design and Analysis of Articulated Inspection Arm of Robot
Design and Analysis of Articulated Inspection Arm of RobotDesign and Analysis of Articulated Inspection Arm of Robot
Design and Analysis of Articulated Inspection Arm of Robot
 
Hacking JavaFX with Groovy, Clojure, Scala, and Visage
Hacking JavaFX with Groovy, Clojure, Scala, and VisageHacking JavaFX with Groovy, Clojure, Scala, and Visage
Hacking JavaFX with Groovy, Clojure, Scala, and Visage
 
Introduction to Coding
Introduction to CodingIntroduction to Coding
Introduction to Coding
 
Understanding the Disruptor
Understanding the DisruptorUnderstanding the Disruptor
Understanding the Disruptor
 
MAIN CANOPY BAJAJ HR(22.09.2016)
MAIN CANOPY BAJAJ HR(22.09.2016)MAIN CANOPY BAJAJ HR(22.09.2016)
MAIN CANOPY BAJAJ HR(22.09.2016)
 
Generating Automated and Online Test Oracles for Simulink Models with Continu...
Generating Automated and Online Test Oracles for Simulink Models with Continu...Generating Automated and Online Test Oracles for Simulink Models with Continu...
Generating Automated and Online Test Oracles for Simulink Models with Continu...
 
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
 
Circular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab CodeCircular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab Code
 
Android RenderScript on LLVM
Android RenderScript on LLVMAndroid RenderScript on LLVM
Android RenderScript on LLVM
 
Differentiation and its applications
Differentiation and its applications Differentiation and its applications
Differentiation and its applications
 
Hacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen Chin
Hacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen ChinHacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen Chin
Hacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen Chin
 
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
 
Windows Debugging with WinDbg
Windows Debugging with WinDbgWindows Debugging with WinDbg
Windows Debugging with WinDbg
 
Robotics (2.008x Lecture Slides)
Robotics (2.008x Lecture Slides)Robotics (2.008x Lecture Slides)
Robotics (2.008x Lecture Slides)
 
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
 
The Joy of ServerSide Swift Development
The Joy  of ServerSide Swift DevelopmentThe Joy  of ServerSide Swift Development
The Joy of ServerSide Swift Development
 
The Joy of Server Side Swift Development
The Joy  of Server Side Swift DevelopmentThe Joy  of Server Side Swift Development
The Joy of Server Side Swift Development
 
The Joy Of Server Side Swift Development
The Joy Of Server Side Swift DevelopmentThe Joy Of Server Side Swift Development
The Joy Of Server Side Swift Development
 
Emerging Languages: A Tour of the Horizon
Emerging Languages: A Tour of the HorizonEmerging Languages: A Tour of the Horizon
Emerging Languages: A Tour of the Horizon
 
Building Enigma with State Monad & Lens
Building Enigma with State Monad & LensBuilding Enigma with State Monad & Lens
Building Enigma with State Monad & Lens
 

SOLIDWORKS LABVIEW INTERFACE FOR iCOBRA 600 ROBOT

  • 1. SOLIDWORKS LABVIEW INTERFACE FOR iCobra 600 ROBOT Submitted by- Saurabh Deobhankar UTA id: 1001114694
  • 2.  INTRODUCTION:  AdeptiCobra600 is a 4 axisSCARA robotsystemformechanical assembly, packaging,material assembly,andscrewdriving,machinetendingandotherapplicationsthatrequire highprecision and functioning.The iCobraincludesaSmartMotionControllerwhichenablesittoperformance highprecisiontasks.  AdeptiCobra600 has 3 revolute and1 prismaticjoint.  Joints1, 2, and 4 are revolute andjoint3isprismatic.  PROJECT SCOPE:  The scope of thisprojectwasto interface SOLIDWORKSand LabVIEW andto achieve a specific positionforthe robotby inputtingthroughLabVIEW.  The aim of thisprojectis to show how the robot can be movedto desiredpositionsbygivingthe correspondinginputstoLabVIEW.  OBJECTIVES:  To understandForwardandInverse Kinematicsof iCobrarobotsystem.  To studythe basic motionstudyinSOLIDWORKS.  To developasuitable code forForwardandInverse kinematicsinMATLAB.  To understandthe basiclogicdevelopmentforthe blockdiagramin LabVIEW.  To interface SOLIDWORKSandLabVIEW.  To execute the programandachieve the desiredpositionof the end effector.
  • 3.  PROCEDURE:  The robot was designedusingSOLIDWORKS.Individualcomponentswere takenfromthe Adept website andthenassembledmanually.  Motors were assignedtoeachjointandconstraintswere set.  UsingSOLIDWORKSmotion,the motionstudywascalculatedfora predefinedperiodof 5secs.  ThisassemblywasthenassignedtoLabVIEW.  4 axeswere assignedtothismodel inLabVIEWasshownbelow.  The code forinverse kinematicsof cobrarobotwas setup in Matlab suchthat it will return valuesof d3, THETA1, THETA2, and THETA4 forthe correspondinginputvalues px,py,and pz.  Thisreturns2 valuesof THETA1, 4 valuesof THETA2 and 8 valuesof THETA4 as shownbelow. MATLAB CODE syms t1 t2 d3 t4 % t1=pi/6; % t2=pi/3; % d3=20; % t4=pi/4; T01=mdht (0,0,342,t1) T12=mdht(425,0,52,t2) T23=mdht(375,0,d3,0) T34=mdht(0,0,0,t4) T04=(T01*T12*T23*T34) nx=-0.7071; ax=-0.7071; ox=0; px=368.0608;
  • 4. ny=0.7071; ay=-0.7071; oy=0; py=587.5000; nz=0; az=0; oz=1; pz=414.000 Tdes=[nx ax ox px;ny ay oy py;nz az oz pz;0 0 0 1] % THETA2@#$@#@$@#@$@#@$@#@$@#@$@$ M=375*cos(t1 + t2) + 425*cos(t1) N=375*sin(t1 + t2) + 425*sin(t1) L=simplify(M^2+N^2) Q=(((px^2+py^2)-321250)/318750) t2(1)=vpa((atan2((+sqrt(1-Q^2)),Q))) t2(2)=vpa((atan2((-sqrt(1-Q^2)),Q))) Theta2(1)=vpa(rad2deg(t2(1))) Theta2(2)=vpa(rad2deg(t2(2))) %THETA1 @#$@#$@#$@#$@#$@#$@#$@#$ A1=inv(T01)*Tdes B1=T12*T23*T34 simplify(A1) simplify(B1) t1(1)=vpa((atan2(739.97,1218.66))) t1(2)=vpa((atan2(-739.97,1218.66))) t1(3)=vpa((atan2(739.97,-1218.66))) t1(4)=vpa((atan2(-739.97,-1218.66))) Theta1(1)=vpa(rad2deg(t1(1))) Theta1(2)=vpa(rad2deg(t1(2))) Theta1(3)=vpa(rad2deg(t1(3))) Theta1(4)=vpa(rad2deg(t1(4))) %THETA4 @#$@#$@#$@#$@#$@#$ A2=simplify (inv(T01)*inv(T12)*Tdes) B2=T23*T34 W= ((7071*sin(t1(1) + t2(1)))/10000 - (7071*cos(t1(1) + t2(1)))/10000) Z=((7071*cos(t1(1) + t2(1)))/10000 + (7071*sin(t1(1) + t2(1)))/10000) t4(1)=vpa(rad2deg(atan2(Z,W))) W1= ((7071*sin(t1(2) + t2(1)))/10000 - (7071*cos(t1(2) + t2(1)))/10000) Z1=((7071*cos(t1(2) + t2(2)))/10000 + (7071*sin(t1(2) + t2(1)))/10000) t4(2)=vpa(rad2deg(atan2(Z1,W1))) W2= ((7071*sin(t1(3) + t2(1)))/10000 - (7071*cos(t1(3) + t2(1)))/10000) Z2=((7071*cos(t1(3) + t2(1)))/10000 + (7071*sin(t1(3) + t2(1)))/10000) t4(3)=vpa(rad2deg(atan2(Z2,W2))) W3= ((7071*sin(t1(4) + t2(1)))/10000 - (7071*cos(t1(4) + t2(1)))/10000) Z3=((7071*cos(t1(4) + t2(1)))/10000 + (7071*sin(t1(4) + t2(1)))/10000) t4(4)=vpa(rad2deg(atan2(Z3,W3))) W4= ((7071*sin(t1(1) + t2(2)))/10000 - (-7071*cos(t1(2) + t2(2)))/10000)
  • 5. Z4=((7071*cos(t1(1) + t2(2)))/10000 + (7071*sin(t1(2) + t2(2)))/10000) t4(5)=vpa(rad2deg(atan2(Z4,W4))) W5= ((7071*sin(t1(2) +t2(2)))/10000 - (7071*cos(t1(2) + t2(2)))/10000) Z5=((7071*cos(t1(2) + t2(2)))/10000 + (7071*sin(t1(2) + t2(2)))/10000) t4(6)=vpa(rad2deg(atan2(Z5,W5))) W6= ((7071*sin(t1(3) + t2(2)))/10000 - (7071*cos(t1(3) +t2(2)))/10000) Z6=((7071*cos(t1(3) + t2(2)))/10000 + (7071*sin(t1(3) + t2(2)))/10000) t4(7)=vpa(rad2deg(atan2(Z6,W6))) W7= ((7071*sin(t1(4) + t2(2)))/10000 - (7071*cos(t1(4) + t2(2)))/10000) Z7=((7071*cos(t1(4) + t2(2)))/10000 + (7071*sin(t1(4) + t2(2)))/10000) t4(8)=vpa(rad2deg(atan2(Z7,W7))) LABVIEW SETUP  Onlyone positionof the robotwassimulatedusingLabVIEWinterface.  Thiscode wasincludedinMATHSCRIPTinLabVIEWwith px, py, and pz as the inputsand d3, THETA1, THETA2, and THETA4 as the outputs.  Here d3 was takenas constantentity(=20)  The jointangleswere calculatedasshowninthe Mathscript.
  • 6.  The outputparameterswere assignedtothe correspondingaxisinthe blockdiagramtoreturn the positionof eachjoint.  The velocitywaskeptconstantat 50.  UsingControl functionpx,py,pz inputswere createdinthe FRONTPANEL  UsingIndicatorfunctionsd3,THETA1, THETA2, THETA4 outputswere createdaswell inthe FRONTPANEL.  Here,px,py,pz are the variablesthatcan be changedand the correspondingoutputparameters are displayed. FRONT PANEL  Now,throughProjectExplorerwindow,the MyComputertab, all 4 axesand the SW Assembly are deployedsothatSOLIDWORKSisinterfacedthroughLabVIEW.  Usingthe RUN commandinLabVIEW and START SIMULATION commandinprojectexplorer,the robot issyncedwithLabVIEWand itachievesthe desiredposition.  Usingpx,py, pz as the inputs,the outputswere foundtobe:t1=30deg, t2=60deg, t4=45deg and d3=20.  The desiredpositionof the endeffectorisshownbelow
  • 7. DESIRED POSTION  OBSERVATIONS AND VALIDATION:  Correspondingtothe giveninputs,the outputvaluesare foundtobe appropriate.  The outputresultswere validatedtobe true byequatingthe resultsgivenbyForward KinematicsandInverse Kinematics.  Initiallyusingthetavalues,forwardkinematicswascalculatedforT04 and laterthe inverse kinematicsgave the similarresultsasthe inputstoForwardKinematicswhichvalidatedthe experimentcarriedout.
  • 8.  PROBLEMS FACED:  Motionstudyin SOLIDWORKSwasinconvenientdue tomotionconstrainterror.  Confusioninunderstandingthe logicof developingBooleanoperationsinLabVIEW.  Code error insettingupconstraintsinMATHSCRIPT.  Continual requirementof assignmentof axesinLabVIEWeverytime the solidworksassemblyis disturbed.  CONCLUSION:  SOLIDWORKSand LabVIEWwere successfullyinterfacedby overcomingthe problemsstatedand the desiredpositionof endeffectorwasachievedcorrespondingtothe giveninputs.