ݺߣ

ݺߣShare a Scribd company logo
EECS498

REDTEAM
CharlesHardin,ColinNangle,DeepakSharma,Mykola
Kravchenko

Project2:FinalReport

“CartesianSquared”
CONTENT

1. Background
1.1. ProjectIntroduction
1.2. EquipmentInvolved
1.2.1. ComputerVisionSystem
1.2.2. DynamixelRX­64andEX­106ServoMotors
1.3. Designbrainstorming
1.3.1. Hardware
1.3.1.1. SCARARobot
1.3.1.2. R4Robot
1.3.1.3. CartesianRobot
1.3.2. Software
2. Implementation
2.1. InitialConcept
2.2. RobotDesignandConstruction
2.3. DesignConsiderations
2.3.1. SourcesofError
2.3.2. Re­evaluationandModifications
2.4. MotionAlgorithm
2.4.1. Robot
2.4.2. ManualController
2.4.3. AutonomousController
3. ExpectedPerformance
3.1. ModellingSoftware
3.2. CalibrationandModification
4. Results
4.1. P­DayResults
4.2. Observations
5. Discussion
5.1. DiscussionofOtherTeams
5.2. ReflectiononCurrentDesign
5.2.1. MechanicalDesign
5.2.2. Software
5.3. FutureModifications
5.3.1. MechanicalDesign
5.3.2. Software
6. References
7. Appendix


1. Background
1.1. ProjectIntroduction
 Ourtaskwastobuildarobotarmwhichiscapableofdrawingonapiece
ofpaperwithina1ft.³workspace.Therewereseveralpaperpositionsand
orientations,whichwerenotknowninadvanceexceptforthefollowing
properties:
(1)thepaperisastandardsheetofletterpaper,laidonarigidbacking,
entirelywithintheworkspace;
(2)thepapermustfaceupwardsoratmost5°downwards.
(3)thepapermustfacewithin90°ofadesignated“front”direction.

Beforeattemptingtodrawoneachorientation,ourteamwasallowedtocalibratetherobotby
hand,bymovingittoknownpointsonthepaper.Wewererequiredtodrawafourbyfourinch
square,withsidesparalleltotheedgesofthepaper.Inaddition,theinstructorprovidedasequence
ofpenstrokesasalistoftwo­dimensionalpositionsrelativetothecornerofthepage.Therobotarm
hadtoalsodrawthesepenstrokesonthepage.

1.2. EquipmentInvolved
1.2.1. ComputerSystem
TherobotwascontrolledviaaJoyAppwritteninpythonandrunningonalinuxmachine.The
computercommunicatedwiththerobotviaRS485serialconnection.

1.2.2. DynamixelRX­64andMX­64ServoMotors
Servomotorswereprovidedalongwiththepythonlibrary.Thesemotorsallowedbothconstant
rotationandjointmodeoperations,whereprescribedtorquebetween­1to+1orprescribedangles
between­10000to10000couldbespecified.Maximumof6servomotors(acombinationofRX­64
andMXmotors)wereallowedinanysuitableconfiguration.

1.3. Designbrainstorming
1.3.1.Hardware
Groupbrainstormingmeetingsfocusedondesigningarobotwithsimplifiedinversekinematics.
Asateamwecameup3designssatisfyingthedesignconstraintsofthisproblem.Theserobotideas
areasfollows:

1.3.1.1. Scara(thecompetition)Robot
Thescara(SelectiveComplianceAssemblyRobotArm)isanRRRPRstylerobotarmthatis
typicallyusedinindustrialrobotics.ThearmisrigidinthezaxisandpliableintheX­Yaxes.Inorder
tomeetthedesignconstraintsoftheproject,anadditionalaxisofrotationwouldhavetobe
implementedinordertocontroltheorientationoftheendeffector.
Thedesignwouldallowustoreacheverypointandpenorientationintheworkspace,butat
theexpenseofdifficultinversekinematicsandthemechanicaldesignchallengeofcorrectlybalancing
thehangingservos.


 
Fig.1:SCARArobotarm[1]


1.3.1.2. R­4Robot
Similarly,totheSCARArobot,theR­4robotwasanassemblageof4revolutejointsthatcould
reachallofthepointsandorientationintherobotworkspace.Thedesignwasbetterthanthescara
robot,inthattheinversekinematicscalculationsrequiredforthedesignwouldbesimplified,however
thisdesignwouldstillbeveryhardtoimplementfromamechanicalperspective.Weanticipated
issueswitharmsagandtorquerequirementsoftheservomotorsthatwerearesultoftherobotarms
hangingservos.











Fig.2:CADmodelofaR­4botcontrolledwith4revolutejoints
1.3.1.3. CartesianRobot
CartesianrobotworkssimilartoR­4robotbut
hasacartesianjointsystemtodrawonthepaper.This
botusesasliding­barmechanismtomovetheslideron
aadjustablehorizontalrod(whichcouldbemoved
verticallyusingahexnutandleadscrew).Aftercareful
designconsiderationsandbasedonteam’sabilityto
completeprojectontime,cartesianrobotwasfinalized
asthefinaldesign.





Fig.3:Aschematicviewcartesianrobot

1.3.2. Software
Thesoftwarehastwoprimaryfunctions;alignthecartesianframesothatitisparalleltothe
surfaceofthepaper,andthenmovethepentotwo­dimensionalcoordinateswithinthatframe.
Alignmentwiththepaperwasaccomplishedduringthephysicalcalibrationofthetrials.Theservos
weresetslack,andtheframewasmovedintoaparallelpositionbyhand.Akeyboardbuttonwas
thenpressedwhichcalledaninitializationfunctionthatcapturedthecurrentpositionofthetwoservos
controllingtherotationandtiltoftheframeandbase.Therobotwasthenreturnedtoitszeroposition.
Therobotcouldthenreturntotheappropriatetiltandrotationsettingsonitsownwhileinautonomous
mode.
Thesecondtaskthesoftwarehadtoaccomplishwasmovingthepentoappropriate
coordinates.Havingalreadyalignedtheframeparalleltothepaper,reachinganyparticularpointon
thesurfaceofthepaperwasreducedtoasimple2­D2­linkinversekinematicsproblem.Duetothe
formofourrobot,gettingtoacoordinateinvolvedtwosteps.First,movingthepenintheydirection
wasaccomplisheddirectly.Astatevariablewasmaintainedtorecordtheheightofthepenwithinthe
frame,andthelead­screwwasdriventomovethepenupordowntothedesiredheight.Nextthe
angleoftheactivelycontrolledlinkagearmmustbeset.Todothis,thedesiredx,ycoordinateswere
convertedtopolarcoordinates.Withthelengthandangleofthedestinationvectornowknown,as
wellasthefixedlengthofthetwolinkagearms,allthatwaslefttodowassolveforoneunknown
angleusingthelawofcosines,asillustratedinthediagrambelow.Onlyoneanglecalculationwas
necessaryasthelinkagejointanglewaspassiveandthusirrelevanttocontrolofthepen.Oncethe
relevantanglewascalculatedtheservowouldthenbesettothatpositioncausingthepenandslider
tomovetothecorrectxcoordinate.Inordertoachieveastraightlineonanangle,astrokewouldbe
brokenintodozensofsegments,andtherobotwouldmovetothosepointssequentially.Byadjusting
xandysettingssequentiallyandinsmallincrements,acloseapproximationofastraightlineonan
anglecouldbeachieved.

Fig.4:trigonometryusedininversekinematics
2. Implementation
2.1. RobotDesignandConstruction
Throughoutthebrainstormingprocess,weconsideredseveraldifferentdesignsbutfinally
decidedona4degreeoffreedomcartesianrobotarm.Thisdesignsimplifiedthekinematics,inthatit
canbemanuallycalibratedtomatchtheplaneofthepieceofpaper,allowingustofocusononlythe
xandykinematicsoftherobotfordrawingthesquareandthedatafromthetextfile.
Hands-on Robotics_Robotic Arm



Thebasicdesignisa2degreeoffreedomcartesianframeona2degreeoffreedombase
controlledbyrevolutejoints.Thebaseallowsrotationaroundthezandxaxistoorientthe
cartesianframetomatchtheplaneofthepaper.Inthepaperreferenceframe,thecartesian
actuationis
 
Fig.5:CADmodeloffinaldesignwithcoordinateslabeled

controlledintheydirectionusinga1/4”threadedrodmountedtoaDynamixelMX­64motorproviding
continuousrotation.A¼”diameterwoodendowelismountedtoa1/4”nutusingmanufacturedrail
supportsandthenut/dowelassemblyisscrewedontothethreadedrod.Finallythex­axisorientation
iscontrolledbyatwolinkarmwithapassiverotationaljointattachedtoarotationalservothatis
mountedtothebase.Thecartesianservosweremountedbelowtheaxisofthetiltservoinorderto
counterbalancetheweightoftheframe.

Amoredetaileddescriptionoftherobotsconstructionprocess,withstepbystepprocedures
andabillofmaterials,canbefoundinourconstructiondocumentation.

2.2. DesignConsiderations
2.2.1. SourcesofError
Duringtestingseveralsourcesoflargeerrorswereidentified.Primaryamongthemwasthe
generalsloppynessinallofthemanyjointsontherobot.Snap­lockjointsbetweenservoshad
substantialplay,thejointsconnectingthelinkageandendeffectorwerelooseandinconsistent,and
theU­frame/servohorncouplingsthemselvesflexedundertheweightoftherobot.Severaldesign
factorsnecessitatedtheuseoflinkagearmsthatwerelongerthanstrictlynecessarytoachievethe
fullrangeofmotioninthexaxis.Thisinturnmeantthattheinaccuraciesofsettingthepositiononthe
servowasamplified,asthelongerarmsresultedinalargerxdisplacementperdegreeturnedonthe
servo.Finally,ourinitialconstructionhadthexaxisrodsupportedononlyoneside.Thisledtoa
largeamountofbouncingintherod.

2.2.2. Re­evaluationandModifications
Effortsweremadetoreducetheamountofplayinalloftherobot’sjoints.Snap­lockscrews
wereadjustedtoprovidetighter,morestableconnections.Thefoam­corelinkagearmswereadjusted
tohaveaslittlestressaspossibleindirectionsotherthanthedrivingdirections.Theframeofthe
robotwasalsorebuilttoprovidesupporttobothendsofthexaxisrod.Thisgreatlyreducesthe
mechanicalinaccuraciesoftherobot.

2.3. ManualController
ManualcontrolwasimplementedforeachservousingtheKORGMidiboard.Thetiltand
rotateservoswereallowedtobesetupduringourcalibrationstageforeachpaperorientation,sono
furtherimplementationwasdone.Topreventjitterintheservomotionfromdestroyingourrobot,the
speedofeachservowassetto0.2,tocreateaverysmoothmotion.Thisintroducedsignificantdelay
intheresponse,butitcompletelyeliminatedhumanjitterwhenmovingthesliders,whichimproved
theeffectofcontrol.
Manualoverridewasalwaysavailableduringautonomousdrawingtestingforsafetypurposes.
TheimplementationofthemanualcontrolcanbefoundinthepythonfilesintheRedteamproject2
wiki.

2.3.1.1. AutonomousController
AutonomousalgorithmswereactivatedbypressingbuttonsontheMidicontrollerandthe
keyboard.Severalmethodswereimplementedforsquaredrawingandarbitrarypointfollowing.The
firstissuethatweworkedtosolvewasabsoluteyposition.SincetheMXservoonlygivesthecurrent
angleasareading,thereneededtobeawaytotrackthenumberofrotationsithadcompletedtoget
theheightofthepen.Thethreadedrodweusedwasratedat20rotationsperinch,soifwecould
countthenumberofrotationsfromanarbitraryzeropoint,wecoulddetermineabsoluteheight.The
firstmethodweimplemented,wastosampletheanglereading,andwhenitreachedacertainrange
aroundzerotocountthatasarotation.Thenwhentheanglereadingbecameeitherpositiveor
negative90degreeswegetthedirectionofrotation,andweresetthe“fullrotation”counterwhenthe
anglereadingreachesarangearound180degrees.Theprevailingissueswiththismethod,isthatit
requiredconstantsamplingoftheservo.Thislimitedthespeedatwhichtheservocouldrotate,since
weneededatleast2sampleseveryrotationtonotlosecount.Ourservoswouldalsofrequentlylose
connectionwiththecomputer,causingtheprogramtocrashandtheservostogetstuck.Usingthis
methodwefoundthatrapidlyreadingdatarepeatedlyfromtheservoswasnotaveryrobustsolution,
sowedidnotstickwithturncountingandtheMX.
Insteadofturncounting,wefixedacertaintorquefortheyservo,andmeasuredtheamountof
timeittooktocompleteafullrotationatthattorque.Sinceweknowhowmanyrotationsthethreaded
rodhasperinch,andwefoundthetimeforonerotation,wecancalculatethetimeneededtomove
anarbitraryheight.Theprocessorwascommandedtosleepduringrotationforaspecifiedamountof
time.Wefoundthatwhenapplying.3torqueandmeasuringmanually,theendeffectormovedat
approximately1.25s/inch.Thisspeedwasusedtocalculatethetimetheprocessorshouldsleep
whentryingtomoveforlongerverticaldistances.
Ourcodealsohadteach­repeatfunctionality,althoughwedidnotendupusingitduring
P­Day.Weimplementedafunctionbywhichwewouldsavethestateofeachservo,andthecurrent
absoluteheightoftherobot,thenuseafunctiontoplaybackeachstatefrombeginningtoend.

3. ExpectedPerformance
3.1. ModelingSoftware
OurmodelingwasdoneinMATLABusingtheopensourceRoboticsToolbox.TheRobotics
Toolboxisidealformodelingrobotarms.Itprovidesamethodtoaddanarbitraryamountofeither
rotationalorprismaticjoints,connectedbylinks.Italsocalculatestheforwardkinematicsandcanplot
thearm,aswellasmotionofthearm.Unfortunatelythereisalimitation,inthatitdoesnotallow
branchesoflinks(twolinkscomingfromthesamenode).Thislimitsourabilitytohaveagood
representationofourrobotusingthissoftware.
Inourmodelingcodewefirstdefinetheorientationofthepaper.Weallowfordifferent
orientationsbycreatingapapercoordinatesystem,anddefiningamatrixtoconvertfromthepaper
coordinatesystemtotherobotcoordinatesystem.Oursimulationisthengivenaseriesofpoints
(eitherforasquareorforstrokes)inpapercoordinates,andweuseourinversekinematicsfunction
togettheanglesrequiredateachpoint.Wetheniteratebetweentheminsmallincrementsandtrack
thepositiontoseewhatshapethearmwouldmake.

3.2. CalibrationandModification
Wedidseveralcalibrationprocedureswhilecreatingcodeforthedriverinourmodel.Seethe
softwaresection2.Firstwesetthemaximumandminimumanglesofthexpositionservos.Since
uponstartup,therobotdoesnotknowahard­codedvaluefortheyposition(sinceittakesmany
rotationstomoveupordown),wecouldnotaddsafetylimitsintheydirection.Forthexposition
servos,wemovedthepenverticallyinchbyinch,andrecordedthemaximumandminimumx
positions(ateachendofthepaperarea).Wecreatedafilewhichthedriverreadwhenmovingthex
servotolimittheresponsetobewithintheallowedxrange,dependingontheyposition.
AtP­Day,wealsofoundthatwhilethepenwasmovingintheydirection,thepressureofthe
penonthepapercausedthexservotodrift,sincetheleverarmwasnotveryrigid.Toaccountfor
this,wemeasuredtheamountofdriftthathappenedatalowlevelofpressure,andcorrectedthex
servoinrealtimeastheservowasmoving.Thismadeourverticallinesevenstraighter.

3.3. SimulationResults


Totestoursimulation,weprovidedanarbitrarylistofpapercoordinates
betweenwhichthearmhadtomove.Wefocusedoursimulationeffortson
drawingsquaressinceitwasthepassingrequirement.Asyoucanseein
thefigureabove,oursimulationwascapableofmovingbetween6points
inasquare.Themidpointswereaddedbetweenthehorizontallinesto
improveaccuracy,asthearmaswemodeleditwasinaccuratewhen
movinginthexdirection.

Fig.6:Matlabsimulation

3.4. ModelingValidation
Therewereseveraldrawbackswithusingthismodelingmethod.Therobotarmcreatedin
Matlabwasanaccuraterobotarm,butdidnotmatchourphysicalconstruction.Thismodeling
schemewouldhavebeenidealforoneoftheteamswhichweremakinganarm.Wefoundthatthe
inaccuraciescreatedwhendrawingoursquarewerelikelynotgoingtobeaproblemforourdesign,
andthatthemodelwasnotverygoodattellinguswhereourdesignwouldstray.Forexample,inthe
figureabove,thehorizontallineshavecurvededgesbetweenthepoints,butourphysical
constructionwillnotallowthat,asmotioninthexdirectionwillbealongapredefinedstiffwoodenbar.
Eventhoughwehadagoodmodelforarobotarm,wedidnotbuildthatrobotarmintheend,soour
modelingeffortswerenotveryproductive.

4. Results
4.1. P­DayResults
OnP­dayourrobotdidnotperformaswellasweexpected.Aslistedinoursourcesoferror
section,wehadconsideredproblemswithrobotsagatcertainorientationsandwehadrealizedthat
atcertaineaselorientations(specificallythevaryingxandyaxesorientation),ourrobotwouldnotbe
abletodrawasquarewithoutastrokesorinversekinematicsfunction.However,wedidnotaccount
fortheendeffectorbeingthemaincauseofourproblemsintheotherorientation.Intheresults
shownbelow,itisobviousthatourrobotworkedbestinwhenthepaperwasbeingheldvertically,
andtheworstwhenpaperwasfacingupatanangle.
Fig.7:RedteamResults(fromtop,clockwise)
(a)run1RMS:.131  (b)run3RMS:0.129(~45degreeorientation)
(c)run3repeatedRMS:0.164(~45degrees)(d)run5RMS0.0714(verticalorientation)


 

Fig.8:RedTeamFurtherresults:clockwisefromtop(a)RepeatedverticalorientationRMS:.0616
Repeatedrunsflathorizontalorientation(b)RMS:0.0357(c)0.0200


Qualitatively,ourrobotworkedbestforthehorizontalorientation;wheretheeffectsofgravity
hadlittleeffectontheperformanceofourendeffector.Inassessingoursquaresitisapparentthat
ourrobotwasnotyettunedforstraightlinetravel.Forexample,lookingatrun3whenthepaperwas
heldatapproximatelya45degreeanglefromthehorizontal,itdrewacurvedlinewhileactuating
downward.Thiscurveappearedineachofourruns,andwaslikelytheresultofourfailureto
compensatethepassivearmaswemovedintheydirection.Iftherewaseverasignificantamountof
pressureresultingfromthemarkerscontactwiththepaper,themarkerwoulddriftleftasitwent
upwardsandrightasitwentdownwardsresultinginthecurvedshapesseeninourresults.

Wedidnotdesignourrobottocompeteinthestrokeschallengeofthisproject,becauseofthe
issueswehadwithourrobotverticalmotionwedidnothavetimetodefineastrokesfunctionthat
couldbeusedforcompetition.

4.2. Observations
Ourrobotsufferedheavilyfromthepressureappliedbytheeaselontothepen.Wedidnot
experiencethisintesting,butwhentheboardwasorientedtobetooclosetothepaper,thepen
woulddragtotheleftduringverticalmotion.Acorrectionfactorwasintroduced,andtheamountof
pressuretheeaselexertedonthepenwasgreatlyreduced.Wedidnotseethisinmodelingor
experiencethisinprevioustestingbecauseweonlytriedverticalorientationandorientedthebotwith
extracaution.

4.3. OtherTeamPerformance
Theotherteamswereallabletodrawclosed,fourcornerfiguresusingtheirvariousdesigns.
Allfiveteamsuseddifferentdesignsfortheirrobot,whichtendedtoproducedifferentresultswith
differenttypesoferrors.Withregardstodrawingpenstrokes,onlyoneteamhadbuiltinfunctionality
fordrawingstrokes,whiletherestsettledfordrawingonlythesquare.

4.3.1Greenteam’sProjectDayresults
Greenteambuilt5Rrobotsimilartotherobotthatweconsideredinourbrainstormingprocess.
Howeverthererobotwasmechanicallybalanced,andusedbourbarlinkagesforactuation.Whenit
cametodrawingsquares,greenteamwastheclearwinner.Regardlessoftheorientationofthe
paper,blueteamwasabletodrawaclosedfoursidedsquare.

Fig.9:Greenteamrun1RMS:.0413

Greenteamalsodesignedfunctionalityforthestrokesportionoftheproject,buttheyraninto
errorsinthecodewhiletryingtorunonP­Day.Thustheirstrokesfunctionalitywasnotquantitatively
tested.Hadtheyfixedthebugsintherecode,itislikelythattheywouldhavewonboththesquare
drawingandpointsdrawingcompetition,duetothemechanicalrobustnessoftheirdesign.

4.3.2PurpleTeamsProjectDayResults
PurpleteambuiltanRRRrobottakingusingfourbarlinkagesasthelinkbetweentheirjoints.
Theyusedagridsystemtodeterminethedistancetheirrobothadtobemoved,andcalculatedthe
jointanglesrequiredtomovetheendeffectoracrossthesurface.Oncedefiningthegrid,theywere
abletoteachtheirrobothowtodrawasquareandattemptedtodrawthepointsusingthegridsystem
thattheyhaddefined.Since,theyweretheonlygrouptotrystrokes,theyachievedthebestresults
forthestrokepartofthecompetition,andwhentheywereabletocompletetheirsquarestheyhad
verylowRMSvalues.inthe.06­.09range.

Fig.10:(a)TeamPurple’ssquareRMS:.0609(b)feasiblestrokesresult

4.3.3MaizeTeamProjectDayResults
MaizeteambuiltanRRProbotthattookadvantageofthemechanicalcharacteristicsofa
Hoekenslinkagetoturnrotationalmotionintoprismaticmotion.OnP­daytheircodehadafewbugs,
andittookthemseveraltriestocompleteasquareatdifferentorientations.Howeverforrun3and
run7theywereabletocompleteasquare,achievingtheirbestRMSscoreof.0824ontheroughly45
degreeangleplane.

Fig.11:MaizeteamsquareresultsRMS:0.0824

Similar,toalloftheotherteams.Maizewasnotabletodesigntherobottoactuatepen
strokes.Thusthereisnoquantitativedatatoreport,aboutthestrokesportionoftheproject.

4.3.4BlueTeamProjectDayResults
Theblueteamchosetodesignaplanardeltaarmwhichseemedmorerigidthanmostofthe
robots.Thererobotsimplifiedtheprocessbyaligningthedeltaarmlinkagewiththeplaneofthe
paper,allowingtherobottoonlyneed2degreesoffreedominordertodrawonthepaper.Theblue
teamwasabletocompleteafoursidedobjectfor3outofthe7orientationswiththeirRMSerror
rangingfrom.116to.132.TheRMSerrorwasrelativelyhighincomparisontotheotherteamsandit
appearedthattheyhaddifficultydrawinginoneofthedirectionsastheirsquaresoftencameout
lookingliketriangles.


Fig.12:BlueTeamSquareResultsRun1RMS:0.116and(b)Run3RMS:0.218

Theirrobotwasuniquebecauseitusedahomemadeforcefeedbackloopwithaforcedetection
sensorandasarruslinkageattachedtotheendofthedeltaarminordertoadjustthezpositionof
theendeffector.Thiselegantdesignallowedtheotherpartsoftheirrobottobebuiltwithless
accuracy,andimprovedtheperformanceoftheirendeffector.
 
4.4. Discussion
4.4.1. MechanicalDesign
Oneareawhereourmechanicaldesigncouldbeimproved,isinthexdirectionleverarm.The
currentleverarmmadeoutoffoamcorewasonlyconnectedbyasinglebolt,andthereforenotvery
rigid.Thejointhadalotofgive,andforagivenxpositionoftheendeffectortherewasarangeofx
servoangles(uptoseveraldegrees)thatwouldresultinthesamexposition.Thereforesmall
changesintheangleofthexpositionservodidnotresultinanymotionoftheendeffector.This
limitedtheprecisionoftheendeffectorinthexdirection.Ifweimprovedthejointbyaddingadditional
boltsandaddingmorefoamcorelayerstothejointtoincreasethegriptheboltswouldhave. 
Additionallythelocationoftheservoitselfcouldbeoptimized.Inthecurrentconfigurationthe
linkagearmsaremuchlongerthanstrictlyneededtoprovideafullrangeofmotiononthexaxis.This
isduetotheservobeingmountedsolow,relativetothecartesianframeandtopofthepivotservo.
Byraisingtheheightoftheservo,thelengthofthatlinkagecouldbegreatlyreduced,thereby
reducingtheeffectsofservoerroronxcoordinateposition. 
Theinnerandouterguidesfortheslidersupportrodwereanad­hocconstructionthatcouldbe
greatlyimprovedupon.Grossmanufacturingdefectsinthesepiecesledtounevenverticalmotionof
theslidersupportrod.Verticalmotioncouldalsobeaidedbyusingascrewwithalowerpitch.The
leadscrewweusedrequired20revolutionsperinchofdisplacement.Thismadeapainfullyslow
robotandmadeitdifficulttotrackverticalmovement,astheservosneededtoberunatfullspeed.

4.4.2. Software
OursoftwarehadfeatureswhichwereunderdevelopedandthusnotusedatP­Day.This
preventedusfromtryingthestrokechallengeeventhoughwehadwrittensoftwareforit.Our
correctioneffortsworkedwellinkeepingourstraightlinesdrawn,butwecouldhavedonemoreto
mitigateandpredicttheeffectofappliedpressureonthepenfromasoftwareperspective.Reducing
thespeedoftheservomotionhadaverygoodeffectontheresponsetothemidiboard,andno
additionalfilteringshouldbenecessary.
Thereismuchmoreworkneededtobedoneonthesoftware.Strokefollowingshouldbe
bettertested.Theframeworkhasbeenmade,butsincedrawingasquarewasthemainrequirement
oftherobot,alotofeffortwasspentinmakingsurethatitwoulddrawasquare,andnotmuchonthe
followingofarbitrarypoints.Muchmoretestingshouldbedonetomakesurethattheproposed
functioninRedArmDriver.pywillgobetweenpoits.Theinversekinematicsfunctionmustalsobe
implementedtoconvertbetweenpapercoordinatesandrobotarmangles.Itwasdeemed
unnecessaryforthedrawingofthesquareaswecouldhard­codethefourcornersinthex­yrobot
planeandorientourrobotaccordingly.
ThemoveTogetherfunctioninthedriverfilehasshowngooddiagonalmotionintesting,so
fullytestingthatwithaddedpenpressureandcreatinganadditionalfunctiontoreadthevectorof
pointsandcreatevectorsofsmallpointsinbetweenforthemoveTogetherfunctiontofollowshould
besufficienttoimplementstrokes.ItwouldalsobeconvenienttotesttherobotwithanactualP­Day
easel,aswellasasamplestrokefile.

5. References
[1]http://www.societyofrobots.com/robot_arm_tutorial.shtml#joint_force
additionally,seereferencesinthepresentations

6. Appendix
7.1 SourceCode:https://wiki.eecs.umich.edu/hrb/index.php/File:Red_2_Source_Code.py
7.2. CADModel:
https://drive.google.com/folderview?id=0Bw2WF0CVsfPnNldDblNQUE5FYVk&usp=sharing
7.3 RobotVideo:https://www.youtube.com/watch?v=2r7dksC­IGA
7.4 Modelingcode:https://wiki.eecs.umich.edu/hrb/index.php/File:RedArmModel.txt

More Related Content

Hands-on Robotics_Robotic Arm