+ All Categories
Home > Documents > Volumetric Display Research...1 Abstract The goal of this project was to research and develop a...

Volumetric Display Research...1 Abstract The goal of this project was to research and develop a...

Date post: 20-Aug-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
67
Volumetric Display Research A Major Qualifying Project Report Submitted to the Faculty of Worcester Polytechnic Institute In partial fulfillment of the requirements for the Degree of Bachelor of Science By: Andrew Santos Oliver Simon Advisor: Professor R. James Duckworth April 26, 2017
Transcript
Page 1: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

VolumetricDisplayResearch

AMajorQualifyingProjectReport

SubmittedtotheFacultyof

WorcesterPolytechnicInstitute

Inpartialfulfillmentoftherequirementsforthe

DegreeofBachelorofScience

By:

AndrewSantos

OliverSimon

Advisor:

ProfessorR.JamesDuckworth

April26,2017

Page 2: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

1

AbstractThegoalofthisprojectwastoresearchanddevelopavolumetricdisplaysystemthatallowsathree-

dimensionalCADfiletobedisplayedinrealspace.ThesystemusedaXilinxZynqSoCtoprocessaCAD

modelintoaseriesoftwo-dimensionalimagestobeprojectedontoaspinninghelicoidsurfaceusing

DLPtechnology.TheSoCcontainedacombinationofcustomlogiconFPGAfabricaswellassoftwareon

anembeddedprocessortoimplementtheuniquesystemfunctionality.

Page 3: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

2

ExecutiveSummaryThree-dimensionaldisplaytechnologyisagrowingmarket,withapplicationsrangingfromthe

movieindustryandgaming,toengineeringdesign,medicine,andadvertising.Currently,many

technologiesarebasedontwo-dimensionalscreensandareusedwithspeciallensesorglassestocreate

three-dimensionalillusions,andthereisalackoftruethree-dimensionaldisplays.Thedevelopmentof

volumetricdisplaytechnologiesisanopportunitytofillthisgap.

Thisprojectresearchedanddevelopedavolumetricdisplaysystemthatcandisplaya3DCAD

modelinrealspace.Anembeddedend-to-endsolutionwasdesigned,howeverthefinalsystem

implementedperformedthemainprocessingonaPCinsteadofbeingembedded.Initialresearch

providedthenecessarybackgroundonvolumetricdisplaymethodsandtechniques,andtheprojectwas

basedonthemethodofprojectingontoaspinninghelicoidsurfacetocreateathree-dimensionalimage.

Thisisachievedbyprojectingthetwo-dimensionalintersectionsofa3Dmodelandhelicoidontothe

helicoidatthesamepositionofintersection.Asthesurfacespins,eachintersectioncorrespondingwith

thehelicoidpositionwillbeprojected,andathighspeeds,createsathree-dimensionalimage.A

simulationwasdevelopedinMATLABtoverifytheconceptandshowedsuccessfulresults.

Thesystemprocessesa.STLCADfileandgeneratestwo-dimensionalslicesthatareprojected

ontoaspinninghelicoidsurface.AnAvnetZedBoardwasusedasthemaindevelopmentplatform,which

featuresaXilinxZynq-7020System-on-Chip(SoC)withadual-coreARMCortexA9processorandXilinx

Artix-7FPGAfabric.TheutilizationofaSystem-on-Chip(SoC)providedanidealplatformtodevelopthe

customlogicandsoftwarerequiredforsuchasystem.Inaddition,aTexasInstrumentsLightCrafter

developmentboardwasusedtoprovidetheDLPtechnologycapableofmeetingtheframerate

requirementsofthesystem.

Thedesignedembeddedsystemcanbebrokenupintofourmainparts:theProgrammableLogic

(PL),ProcessingSystem(PS),projectionsystem,andmechanicalhardware.ThePLsystemwasdesigned

usingacombinationofcustomlogicandXilinxIPblockstocreatethememoryinterfaceandslice

processormodulesthatimplementthecoredataprocessingfunctionality,aswellastheencoder

calibrationmodulethatsynchronizesthemotorwiththeprojectedframes.Theprocessingsystemis

comprisedofmultiplefunctionallayers.ThelowestlayerrunningonthedualcoreARMprocessorofthe

ZynqisaLinuxoperatingsystemdesignedbyXilinxcalledPetaLinux.Petalinuxwaschosenforits

versatilityandinteroperabilitywiththeFPGAfabricandhardwaredesignsthereon.Theoperating

systemlayersupportstheembeddedsoftwarecreatedforBRAMaccess,voxelizationprocessing,and

imagegenerationfromrawslicedata.Finally,themechanicalsystemconsistsoftherotational

Page 4: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

3

hardware,theframe,andtherotaryencoder.TherotationalhardwareisdrivenbyaDCmotorthatcan

spinthehardwareataratefastenoughforasmoothprojection.Thishardwareincludesthehelical

projectionsurface,theencoderwheel,andthesteelshaftonwhichtheaforementionedpiecesare

mounted.Theencoderwheelhastwosetsofholesarrangedintwocirculartracks,atrackwithhome

positionsandageneralencodertrack.Usedintandem,thesetwosetsofholesarenecessarytotrack

theabsoluterotationalpositionofthemotor.Theencodercircuitryconsistsofphototransistorsand

infraredLEDsthatdetectwhenanewpositionhasbeenpassedduetoIRlightbeingsensedthroughthe

holesoftheencoderwheel.Theframewasconstructedofsteelchannel,withmountsforthemotor,

encodercircuitryhousing,andprojector.

Thedatapathofthedesignedembeddedsystembeginswithvoxelizationintheprocessing

system.Thisistheprocessofconvertingthe.STLmeshmodelintoagraphicalrepresentationin3D

spaceonathree-dimensionalgrid(x,y,z).ThisdataiswrittenintomemorytobeaccessedbythePL.

Fromthere,thePLsystemisenabledandthememoryinterfacereadsthevoxeldata,whichisthenfed

intothesliceprocessormodule.Thesliceprocessormodulecalculatesthetwo-dimensionalintersection

betweentheobjecttobedisplayedandeachhelixrotation,andtheslicedataiswrittenbackintoBRAM

bythememoryinterfacetobeaccessedinthePS.AnembeddedbitmapgenerationprograminthePS

thenreadstheslicedataandgenerates.bmpfilestobesenttotheLightCrafter.Onceallsliceimages

havebeengenerated,theLightCrafterisconfiguredinthePS,theencodermoduleisenabled,andthe

motorisswitchedon.Whentheencodermoduledetectsthehomeposition,theprojectioninitiates.The

LightCrafterutilizesaninputtrigger,displayingeachconsecutiveframeonlyonceitscorresponding

positionisdetectedbytheencodermodule,thusallowingasynchronizedsystemthatdisplaysathree-

dimensionalimage.

Theimplementedsystemsuccessfullycreatedavolumetricdisplaysystemthatconvertsa3D

CADfileintoathree-dimensionalimage,howeveraspectsoftheprocessingmoduleswereleftoff-board

duetotimingconstraintsandthescopeoftheproject.Inthedesignedsystem,thevoxelization,slicing,

andLightCrafterconfigurationwouldbeembeddedintheZynqSoC,howeverthisfunctionalitywaskept

onaPCusingMATLABforthevoxelizationandslicing,andaGUIprovidedbyTexasInstrumentsforthe

LightCrafterconfiguration.Thegoalssetforthemechanicalsystem,slicingalgorithm,voxelization

algorithm,projection,andmotorsynchronizationwereallindividuallymettocreatefunctional

componentsofavolumetricdisplay.TheZynqSoChasbeenproventobethebestplatformforthe

implementationoftheprojectduetoitsversatilityandperformance.Futureworkmightinclude

embeddingthevoxelizationalgorithmintothesystem,moreaccuratehandlingandconsiderationof

Page 5: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

4

projectiondistortion,aswellasimprovingtheconnectivitybetweenandtheeventuallytheunification

oftheZynqSoCandDLPhardware.Thiswouldresultinatrueend-to-endsystem.

Page 6: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

5

TableofContents

CHAPTER1:INTRODUCTION................................................................................................................9

CHAPTER2:BACKGROUND.................................................................................................................102.1VOLUMETRICDISPLAYCONCEPTS.............................................................................................................10

2.1.1SweptHelixApproach................................................................................................................102.1.2ModelProcessing......................................................................................................................11

2.2MOTORTECHNOLOGY...........................................................................................................................152.3PROJECTIONTECHNOLOGY.....................................................................................................................162.4HARDWAREPLATFORMOVERVIEW..........................................................................................................17

2.4.1ZedBoard...................................................................................................................................172.4.2LightCrafterEVM.......................................................................................................................20

CHAPTER3:ALGORITHMDEVELOPMENT&SYSTEMSIMULATION......................................................233.1DATAPROCESSINGFLOW.......................................................................................................................233.2VOXELIZATIONALGORITHM....................................................................................................................233.3SLICINGALGORITHM..............................................................................................................................253.4SYSTEMSIMULATION.............................................................................................................................26

CHAPTER4:SYSTEMDESIGN&IMPLEMENTATION.............................................................................294.1EMBEDDEDSYSTEMDESIGN...................................................................................................................294.2PROJECTION.........................................................................................................................................294.3PROCESSINGSYSTEM.............................................................................................................................31

4.3.1PetaLinux...................................................................................................................................324.3.2VoxelizationandPS-PLInterface...............................................................................................324.3.3LightCrafterAPI.........................................................................................................................334.3.4BitmapGeneration....................................................................................................................33

4.4PROGRAMMINGLOGIC...........................................................................................................................354.4.1Memory.....................................................................................................................................364.4.2SliceProcessor...........................................................................................................................364.4.3EncoderModule.........................................................................................................................394.4.4PSInterfaceandPLSystemIntegration.....................................................................................40

4.5MECHANICALSYSTEM............................................................................................................................434.6FINALSYSTEMIMPLEMENTATION.............................................................................................................47

CHAPTER5:SYSTEMTESTING&RESULTS...........................................................................................495.1PROCESSINGSYSTEM.............................................................................................................................49

5.1.1PetaLinux...................................................................................................................................495.1.2LightCrafterAPI.........................................................................................................................495.1.3BitmapGeneration....................................................................................................................49

5.2PROGRAMMABLELOGIC.........................................................................................................................505.2.1BRAMread/write.......................................................................................................................505.2.2SliceProcessor...........................................................................................................................525.2.3EncoderModule.........................................................................................................................58

5.3MECHANICALSYSTEM............................................................................................................................58

Page 7: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

6

5.4FULLSYSTEMTESTS...............................................................................................................................59

CHAPTER6:CONCLUSION...................................................................................................................626.1FUTUREWORK......................................................................................................................................63

REFERENCES.......................................................................................................................................64

APPENDICES.......................................................................................................................................66APPENDIXA:MATLABSIMULATIONCODE.....................................................................................................66APPENDIXB:LIGHTCRAFTERAPICODE..........................................................................................................66APPENDIXC:BITMAPGENERATIONCODE.......................................................................................................66APPENDIXD:SLICEMODULETESTCODE........................................................................................................66APPENDIXE:SLICEPROCESSORCODE.............................................................................................................66APPENDIXF:ENCODERMODULECODE..........................................................................................................66APPENDIXG:FULLPLSYSTEMCODE..............................................................................................................66APPENDIXH:WIRECOLORGUIDE.................................................................................................................66

Page 8: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

7

ListofFiguresFIGURE2-1-CUBEINTERSECTIONSWITHHELICOID[2]...........................................................................................................11FIGURE2-2-CUBEEXPRESSEDASVERTICES,EDGES,FACES[6].................................................................................................12FIGURE2-3-DOLPHINTRIANGLEMESH...............................................................................................................................12FIGURE2-4-STANFORDBUNNY3DMODEL.........................................................................................................................13FIGURE2-5-HELICOIDVOXELREPRESENTATION...................................................................................................................14FIGURE2-6-STANFORDBUNNYHELICOIDINTERSECTIONSLICES..............................................................................................14FIGURE2-7–ZEDBOARD..................................................................................................................................................18FIGURE2-8-ZYNQPLATFORMOVERVIEW............................................................................................................................19FIGURE2-9–ZEDBOARDPLATFORMOVERVIEW...................................................................................................................20FIGURE2-10-LIGHTCRAFTER............................................................................................................................................21FIGURE2-11–LIGHTCRAFTERDIAGRAM.............................................................................................................................22FIGURE3-1-DATAPROCESSING.........................................................................................................................................23FIGURE3-2-CARMESHMODEL........................................................................................................................................24FIGURE3-3-VOXELIZEDCARMODEL(UNMODIFIEDSCRIPT)....................................................................................................24FIGURE3-4-VOXELIZEDCARMODEL(MODIFIEDSCRIPT)........................................................................................................25FIGURE3-5-(A)20X20X20CARVOXELMODEL(B)20X20X20HELIXVOXELMODEL(C)20X20CARSLICE.......................................26FIGURE3-6-ROTATEDHELIXMODELS.................................................................................................................................26FIGURE3-7-3DINTERSECTIONS.........................................................................................................................................27FIGURE3-8-2DINTERSECTIONS.........................................................................................................................................27FIGURE3-9-(A)VOXELIZEDCARMODEL,(B)COMBINEDHELIXSLICERESULT................................................................................28FIGURE4-1-SYSTEMDESIGN............................................................................................................................................29FIGURE4-2-LIGHTCRAFTERGUI.......................................................................................................................................30FIGURE4-3-CONICALHELIX..............................................................................................................................................31FIGURE4-4-PSBLOCKDIAGRAM......................................................................................................................................32FIGURE4-5-CONVERSIONEXAMPLE...................................................................................................................................34FIGURE4-6-BITMAPSTRUCTURE.......................................................................................................................................35FIGURE4-7-PROGRAMMABLELOGICSYSTEM......................................................................................................................35FIGURE4-8-SLICEPROCESSOR..........................................................................................................................................37FIGURE4-9-READMODULEDESIGN..................................................................................................................................38FIGURE4-10-SLICEPROCESSORWRITEMODULE.................................................................................................................39FIGURE4-11-ZYNQ7PROCESSINGSYSTEMGUI...................................................................................................................41FIGURE4-12-PLSYSTEMBLOCKDIAGRAM.........................................................................................................................42FIGURE4-13-MECHANICALSYSTEMPHOTOGRAPH...............................................................................................................43FIGURE4-14-ENCODERWHEEL........................................................................................................................................44FIGURE4-15-ENCODERCIRCUITRY....................................................................................................................................45FIGURE4-16A-MOTORMOUNT.......................................................................................................................................46FIGURE4-16B-PROJECTORMOUNT...................................................................................................................................46FIGURE4-17–EMBEDDEDDESIGNMODIFICATIONS..............................................................................................................47FIGURE4-18-FINALSYSTEMIMPLEMENTATION....................................................................................................................47FIGURE5-1-MEMORYINITIALIZATIONTESTBENCHRESULTS...................................................................................................50FIGURE5-2-4000-BITDATAINITIALIZATIONTESTBENCHRESULTS..........................................................................................51FIGURE5-3A-TESTBENCHRESULTS.....................................................................................................................................51FIGURE5-3B-TESTBENCHRESULTS.....................................................................................................................................52FIGURE5-4-3DOBJECT(LEFT)ANDINTERSECTINGSURFACE(RIGHT).........................................................................................52FIGURE5-5-TESTBENCHRESULTS.......................................................................................................................................53FIGURE5-6-SLICETESTMODULEBLOCKDIAGRAM.................................................................................................................54FIGURE5-7-HARDWAREIMPLEMENTATIONRESULT..............................................................................................................54

Page 9: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

8

FIGURE5-8-BLANK20X20X0GRID....................................................................................................................................55FIGURE5-9-(A)MATLABSLICERESULTS(B)HARDWAREIMPLEMENTATIONRESULTS..................................................................55FIGURE5-10-PLSLICESIMULATIONRESULTS......................................................................................................................56FIGURE5-11-PLSLICEPROCESSORSIMULATION..................................................................................................................57FIGURE5-12-ENCODERMODULETESTRESULTS...................................................................................................................58FIGURE5-13A-ENCODERDETAILVIEW...............................................................................................................................59FIGURE5-13B-HOMEPOSITIONDETAILVIEW.....................................................................................................................59FIGURE5-14-VOXELIZATIONRESULTS................................................................................................................................59FIGURE5-15-SLICINGRESULTS.........................................................................................................................................60FIGURE5-16-VOLUMETRICDISPLAYRESULT........................................................................................................................61

Page 10: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

9

Chapter1:Introduction

Athree-dimensionaldisplayallowsausertoperceiveathree-dimensionalimage.Asopposedto

atwo-dimensionaldisplay,athree-dimensionaldisplayallowsfortheperceptionofdepth.Theevolution

ofthree-dimensionaldisplayscomprisesanarrayofdifferenttechnologiesandapplications.From

moviesandgamingconsolestomechanicaldesignandhumananatomy,themarketforsuchdisplays

continuestogrow.Three-dimensionaldisplaytechnologiescanbesplitupintothreemaincategories:

stereoscopic,autostereoscopic,andautomultiscopicdisplays.Outofthesethree,automultiscopic

displaysaretheonlysystemsthatcandisplaymultipleanglesofanimageatonce[1].

Stereoscopicdisplayscreateanillusionofdepthusingequipmentsuchasspecialglasses,

commonlyusedinthemovieindustry.Autostereoscopicdisplaysontheotherhanddisplaythree-

dimensionalimageswithouttheneedforspecialgearorlenses,suchaswhatisfoundontheNintendo

3DS.Automultiscopicdisplays,however,areabletodisplaymultipleanglesatonce,allowingaviewerto

movearoundandviewanimageatdifferentangles[1].

Volumetricdisplaysareanexampleofanautomultiscopicsystem,displayinganimagewithina

three-dimensionalvolume.Thisallowsmultipleviewerstomovearoundandseeathreedimensional

imagesimultaneouslyatdifferentangleswithouttheneedforspecialvisualeffectsorlenses[1].The

termvolumetricimpliesthattheimageisdisplayedinthreedimensions,asopposedtousingaflat

screenorusingparallaxorholographictechniques.Onetypeofvolumetricdisplayinparticularutilizes

projectingontoasweptvolumetocreateathreedimensionalimage[2].

Thepurposeofthisprojectwastoresearchanddesignafunctional,self-contained

automultiscopicvolumetricdisplaysystemcapableofdisplayinga3DCADfileinrealspace.Theproject

wasbasedonthevolumetricdisplaymethodofprojectingontoaspinning,swepthelixtocreateathree-

dimensionalimage.Thedesignconsistedofamechanicalhardwaresystem,projectionsystem,

programmablelogic,andprocessingsoftwarethatallworkedtogethertodisplayathree-dimensional

objectinrealspace.

Thisreportwilldetailthestepstakenduringthedesignandcreationofavolumetricdisplay

system,startingwithresearchconductedintovolumetricdisplayconceptsanddesignmethods.The

technologyrequiredforsuchsystemisexploredandimmediatelyfollowingarethestepstakentodesign

andimplementeachsectionofthesystem.Thestepstakentotesteachareaofthesystemandresults

obtainedfromthetestingareexplorednext.Lastly,theoverallresultsoftheresearchandfinalized

designandimplementation,includingconclusionsdrawnfromtheproject,arediscussed.

Page 11: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

10

Chapter2:Background

Thischapterpresentsinformationfrombackgroundresearchconductedonrelevanttopicsfor

creatingthevolumetricdisplaysystem.Thisincludedgaininganunderstandingofvolumetricdisplay

conceptsandthetechnologyrequiredtodevelopsuchasystem.

2.1VolumetricDisplayConcepts

AccordingtoBarryG.Blundell,volumetricdisplays“enablethedepictionofthree-dimensional

(3D)imageswithinatransparentvolume(imagespace).”)[3]Hisresearchstatedthatavolumetric

displayhasthreesubsystems:imagespaceformation,voxelgeneration,andvoxelactivation[3].

Imagespaceformationisthesystemormethodusedtoimplementthephysicalimagespace.

Voxelgenerationisthetechniqueusedtoproduceavisiblegraphicalunittodescribeapointinthree

dimensionalspace.Itisparalleltowhatapixelisfor2Dimages.Asopposedtovoxelgeneration,voxel

activationisthetechniqueusedtoproducethe3Dimageinspace.Blundellalsodefinestwoimportant

variablesinavolumetricdisplay:voxelactivationcapacity,andfillfactor[3].Thesevariablesgivea

metricthatdefinestheeffectivenessofavolumetricdisplayimplementation.

Voxelactivationcapacityisdefinedasthe‘totalnumberofvoxelsactivatedduringarefreshperiod’:

(1)

Pisthenumberofvoxelsthatcanbeactivatedsimultaneously,Tisthetimeittakestogenerateavoxel,

andfistheimagerefreshfrequency.

Fillfactoristhe‘percentageofavailablevoxelsitesthatcanbeactivatedduringanimagerefreshperiod:

(2)

Naistheactivationcapacity,Nlisthenumberofpossiblevoxellocations.

2.1.1SweptHelixApproach

Theprojectfocusedontheswepthelixapproachtocreatingavolumetricdisplaysystem,based

onresearchbyY.Jian,J.Feng,andS.Chun-lin[4]andMichelDavid[2].Theresearchdiscussesthekey

conceptsofaswepthelixvolumetricdisplayandapproachestothedesign.

David’sworkstatesthatavolumetricdisplaycanbecreatedbyprojectingaseriesof2D

intersectionsofamodelontoahelicoidsurfacerotatingatafastrateinordertocreatethevolumetric

Page 12: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

11

displayphenomenon.AnexampleofacubeisshownbelowinFigure2-1.Thecoloredlinesbelowthe

helicoidrepresentsthe2Dimagesbeingprojected.

Figure2-1-CubeintersectionswithHelicoid[2]

Inordertoachieveavolumetricimage,theprojectionsurface(helicoid)needstobespinningat

aminimumof15rotationspersecondtoprovideaclear,stableimage.Theresolutionoftheimageis

dependentupontheframerateoftheprojection.Thequalityoftheresolutioncanbedescribedusing

theangleofretrieveddata,orthenumberofframesprojectedperrotation.Forexample,a36-degree

resolutionwouldmean10images/rotationat15rotations/secor150images/sec.A36-degree

resolutionwouldrequireaprojectorwithaframerateof150Hz.

Aswepthelixismoreadvantageousforavolumetricdisplaythanaplaneasitenlargesthe

imagespaceandimprovesthedeadzone[4].Adeadzoneisanareawherethereisalackofvoxels.Itis

affectedbycharacteristicssuchastheimagespaceshapeandsize.Jianandco.foundthatahelixmore

adequatelyutilizesspaceandminimizesthedeadzoneoveraplanarshape.

2.1.2ModelProcessing

Theconversionfroma3Dmeshmodelintoavolumetricimageinvolvesaseriesofprocessing

steps,namelyvoxelizationandslicing.

3DMeshModels

3Dobjectscanbeconstructedandrepresentedincomputeraideddesigntoolsusingpolygon

meshes.Thesemeshesareacollectionofvertices,edges,andfacesthatareusedtodefineathree-

dimensionalobjectinacomputermodel[5].BelowinFigure2-2isanexampleofacuberepresentedin

theseparameters:

Page 13: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

12

Figure2-2-Cubeexpressedasvertices,edges,faces[6]

Theuseofpolygonmeshesisvastincomputergraphics,aseachobjectcanbeexpressedusing

themathematicalparametersmentionedforcomputermodellingapplications.BelowinFigure2-3isan

exampleofadolphinrepresentedusingtrianglemeshes:

Figure2-3-DolphinTriangleMesh[6]

Meshmodelsmayconsistoftriangles,quadrilaterals,orotherconvexpolygonstomodelan

object.Anumberofdifferentfileformatscurrentlyexistthatusepolygonmeshmodelingtostore3D

objectdata.Thisincludes.3ds,.obj,.stl,andmanyothers.Thesefileformatsconsistofdifferent

structures,butessentiallystorethesametypeofdata(vertices,faces,edges)[5].Themathematical

representationofthree-dimensionalobjectsincomputermodellingmakesitpossibleformanipulation

andconversionintothenecessarydatarepresentationforavolumetricdisplay.

Page 14: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

13

Voxelization

AccordingtoapaperfromNanjingUniversity[7],asignificantstepinconvertingameshmodel

intothe2Dslicesisvoxelization.Thisconceptisdiscussedandpresentedasfarbackas1996inapaper

byMarkJones[8]wherehedescribesvoxelizationas“thetermgiventotheprocessofconvertingdata

fromonesourcetypeintoathreedimensionalvolumeofdatavalues.”Thisinvolvesconvertingthe3D

meshmodelintographicaldatawithx,y,andzvariables.ThepaperfromNanjingUniversitypresents

thisconceptusingtheStanfordBunny[9]asanexample,asseeninFigure2-4:

Figure2-4-StanfordBunny3Dmodel[7]

Theprocessinvolvestakingthe3Dmodel(Figure2-4a),andmappingittothe3Dspaceitwillbe

projectedonto(Figure2-4b).Themappingisintheformofx,y,andzvariables(voxels).Intheexample

given,thevoxelsaresetasabinarypattern,with1indicatingtheobjectand0indicatingtheabsenceof

theobject.Figure2-4cshowsthesame3Dmodelrepresentedinvoxelsinsteadofthemesh.

Thevoxelizationofameshmodelisessentiallyanapproximation,convertingthegeometric

representationofthemodelintoasetofvoxelsofdesiredresolution.ThisisdiscussedinapaperbyS.

PatilandB.Ravi[10]whichdiscussesdifferentmethodstoimplementthevoxelizationprocess,and

presentsanalgorithmforvoxelization.Themethodusedinthedevelopmentoftheiralgorithmisthe

‘ray-stabbing’method.Thismethodcreatesa‘boundingbox’,orthree-dimensionalgridaroundthe

meshmodel(Figure2-4b),andcalculatestheintersectionsbetweenaraythattraversesalongthex-axis,

withthenormalvectorsofthetriangularmeshfacetsofthemodel.Theraytraversesthroughthex-axis

alongthey-axisateachz-axislayertogenerateathree-dimensionalbinaryapproximationofthemesh

model,thusachievingvoxelization.

Page 15: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

14

Thesizeandresolutionforaswept-helixvolumetricdisplayisdeterminedbythesizeofthe

projectionsurfaceandtheresolutionoftheprojector.Belowishowtheprojectionsurfacecanbeseen

tomatchthevoxelmappingabove.ThisisdisplayedinFigure2-5:

Figure2-5-HelicoidVoxelRepresentation[7]

Slicing

Convertingthevolumedatainto2Dslicesisthendonebycalculatingtheintersectionsofthe

volumedatawiththehelicoidateachpositionasitrotates.BelowinFigure2-6isanexampleofthe

intersectionslices:

Figure2-6-StanfordBunnyHelicoidIntersectionSlices[7]

Thethreedimensionalintersectionmustbecalculatedandthenconvertedintoatwo-

dimensionalslicetobeprojected.

Page 16: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

15

2.2MotorTechnology

Onevitalpieceinmanysystemswithradialmotionisthemotor.Therearemanykindsof

motors,eachwithitsadvantagesanddisadvantages.Althoughoftenrelated,differentkindsofmotors

aresuitedfordifferentapplications.Therearenumerouscategoriesofsmallelectricmotorsthatare

poweredbyadirectcurrentpowersource.TheseincludeDCmotors,servomotors,andsteppermotors.

Aptlynamed,aDCmotorrunswhendrivenbyadirectcurrentvoltagesource.Therateatwhich

themotorspinsiscorrelatedtothemotor’sinputvoltage.Thesemotorsareoftennotdirectlydriven

usingchangingvoltagelevels,however.Athighfrequencies,theaveragevoltageofapulsewidth

modulatedsignalactsindistinguishablyfromaconstantsourceatthesamevoltage.BecauseaPWM

(PulseWidthModulation)signalisoftentimeseasiertogeneratethanadifferentialconstantvoltage

source,DCmotorsareoftentimesdrivenusingPWM.

TherearetwoprimarytypesofDCmotors.ThesearethebrushedDCmotorandbrushlessDC

motor.BrushedDCmotorsutilizeaphysicalelectronicconnection—calledabrush—betweenthe

voltagesourceandcoilsonthemotor’sshafttocontrolwhichcoilsarepositivelychargedandwhich

coilsarenegativelycharged,effectingfurtherrotationoftheshaft.BrushedDCmotorsareverysimple

mechanicallyandareeasyandinexpensivetoproduce.Theircontinueduse,however,causesthebrush

towearoutovertimeandthemotorwilllosealargeamountofenergyasheat.

AbrushlessDCmotor,asthenamemightimply,doesnothavethisconnectionbetweenthe

statorandtheshaft.InsteadoftheshafthavingmountedcoilssuchasthoseonabrushedDCmotor,a

brushlessDCmotorhasapermanentmagnetmountedtotheshaftwhilethecoilsaremountedtothe

stator.Hall-effect(magneticfield)sensorsareusedtodetecttherotationofthepermanentmagnetand

appropriatelychargethecorrectcoilstopositive,negative,orground.BrushlessDCmotorsrequire

internalcircuitrytodrivethecoilvoltages,makingthemmoreexpensiveandcomplicatedtoproduce

thanabrushedDCmotor.Thelackofmechanicalcontact,however,allowsforalongerlifeandgreater

powerefficiencyinrotation,whichinturnallowsbrushlessDCmotorstorotatefasteratagivenvoltage

thanabrushedDCmotor.Thesemotorsareoftenusedinapplicationssuchasaviationduetotheir

powertoweightratio[11].

Thesecondkindofmotor,theservomotor,isoftenfoundinsystemsthatrequireahighdegree

ofrotationalprecisionsuchasroboticsandmanufacturingequipment.Aservomotoroperatesbytaking

inaPWMsignalandusingthedutycycletorotatetoaspecificangle.Thisisaccomplishedbyusinga

standardDCmotorthatisconnectedtoaradialencoder.TheoutputoftheencoderisfedintoaPID

(Proportional-Integral-Derivative)controllerinordertoensurerotationalaccuracyofthesystem.Servos

Page 17: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

16

areoftenlimitedtoaconfinedrotationalrange,howevertherearealsoservosthatdonotcontainthese

limitationsandcanrotatefreely[12].

Steppermotors,likeservos,areoftenfoundinhighprecisionapplicationssuchas

manufacturingandrobotics.Thesemotorsareoftenmeanttobeusedinhigh-torque,low-speed

applications.Asteppermotorhasadiscretenumberofstepsperrevolutionandwillalwaysrotatetothe

nextbeforecontinuing.Thisallowsforcontrolaspreciseasthenumberofstepsinthemotor.Thereare

numerouskindsofsteppermotorsthataredriveninvariousways,howeverthecoreconceptofdriving

eachisthesame:chargingthecorrectcoilsinsidethemotortothecorrectvoltagesinordertorotate

theshaft[13].

2.3ProjectionTechnology

Mostmoderndayconsumerlevelprojectionsystemsuseoneofthreeprimarytechnologies:

DLP(DigitalLightProcessing),LCD(LiquidCrystalDisplay),andlaserscanners.Therearealsonumerous

hybridsbetweenthesetechnologies,suchasLCoS(LiquidCrystalonSilicon)andlaser-drivenLCDand

DLPprojectors.Eachofthesetechnologieshasareasandapplicationswhereitexcelsaswellas

drawbacks.

TexasInstrumentscreatedDLPtechnologyinthelate1980’s.ThetechnologyusesaDMD

(DigitalMicromirrorDevice)toreflectlightthroughasystemofopticallensestoprojectanimage[14].

EachmirrorontheDMDrepresentsoneormorepixelsintheendprojection.Themirrorsmodulate

rapidlybetweenreflectinglightthroughtheopticalsystemandreflectinglightontoaheatsink.This

modulationproducesvariousintensitiesoflightateachmirror,allowingforcomplexgradientsorrapid

binarypatterns.DLPtechnologyisusedinmanyareasfromconsumerandcinemaprojectionsystemsto

manufacturingandrapidprototypingequipment.MultibitcolorprojectionusingDLPisachievedby

rapidlyswitchingbetweenanumberofcoloredlightsourceswhilstsimultaneouslyswitchingtheDMD

torepresentthecorrectcolorintensities[15].ManyDLPprojectorsusedinresidentialsettingsusea

halogenlamppairedwithrapidlyspinningcolorwheelwiththreeorfourcolors.Manymodern

commercialprojectorsutilizecoloredLEDsorlasertechnologytogenerateabrighterimagewithfewer

visibleartifactsintheprojection.

Laserprojectionisalsousedinmanyapplications,fromliveentertainmenttoindustrialscanning

andevenprinting.Oneormorelasersareprojectedagainstgalvanometerswithmirrorsattached,called

scanners.OnescannercontrolstheXaxisoftheprojectionandtheothertheYaxis.UnlikeDLPandLCD

technology,laserprojectionproducesavectorimage.Thismeansthattheimageproducedthroughlaser

Page 18: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

17

projectiondoesnothavediscretepixels,butratheriscomposedofmathematicalcurvesthatrepresent

theimage.Thisisbecausethelaserprojectsasthescannersmove,generatingacontinuousline[16].In

polychromaticapplications,numerouslasersarecombinedintoasinglebeambyinternalopticsofthe

projector.

ThefinalprojectiontechnologyisLCD.Foundanywherefrommonitorstoresearchequipment,

LCDworksonasimilarprincipletoDLP:differentintensitiesoflightareallowedtopassforeach

individualpixel.WhereDLPandLCDdiffer,however,ishowtheyachievethisgoal.WhereasDLPusesan

arrayofmirrorstoreflectlight,LCDprojectionusesapanelfullofliquidcrystalstomodulatelight

passingthrough[17].TherearetwocommonlayoutsforpolychromaticLCDprojectionsystems,which

aresingleLCDand3LCD.AsingleLCDsystemwilluseasingleLCDpanelwithsubpixelsforeachofred,

green,andblue,whilea3LCDsystemusesaseparateLCDpaneldesignatedtoeachaforementioned

color.

2.4HardwarePlatformOverview

Twohardwareplatformswerechosenforthisproject.ThesearetheAvnetZedBoardandTexas

InstrumentsDLPLightCrafterEVM.Bothoftheseplatformspossessuniquefunctionalityimportantto

thedesigngoalsoftheproject.

2.4.1ZedBoard

TheAvnetZedBoardisanevaluationkitthatutilizesaXilinxZynq-7000SoC.Theboardiscalled

assuchbecauseitstandsforthe'ZynqEvaluationandDevelopmentBoard.'Thespecificmemberofthe

Zynq-7000SoCfamilythattheZedboardUtilizesistheZynqXC7Z020.Forthepurposesofsimplicity,

Zynq-7000andZynqXC7Z020areusedinterchangeably.TheZynq-7000isasystemonachipthat

includesbothadual-coreARMCortexA9processingsystem(PS)aswellasFPGAfabricforthe

programmablelogic(PL).ThePLisrunoffofanon-board100MHzclockwhilethePSissuppliedbya

33.33MHzclock.TheZedBoardCanbeseeninFigure2-7.

Page 19: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

18

Figure2-7–ZedBoard[18]

TheXilinxFPGAfabricisequivalenttoaXilinxArtix-7FPGAandcontains85,000logiccells,

106,400flip-flops,and53,200LUTs.TheFPGAfabricalsocontainscontains140modulesof36KbBlock

RAM(BRAM).TheARMprocessorcontains256Kbofon-chipmemory,8DirectMemoryAccess(DMA)

channels,aswellasperipheralinterfacesforUART,CAN,I2C,SPI,GPIO,USB2.0OTG,andTri-mode

GigabitEthernet.InorderforthePLtocommunicatewiththePS,theZynq-7000seriesincludesa

numberofAXIbussesand16internalinterruptsbetweenthetwosectionsoftheSoC[19].ThefullZynq-

7000SoCsystemisdisplayedbelowinFigure2-8:

Page 20: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

19

Figure2-8-ZynqPlatformOverview[20]

AlongwiththeZynq-7000SoC,theZedBoardalsocontainstwoMicronDDR3chipsthathavea

totalmemoryof512MB.TheZedBoardalsohasaslotforanSDcard,allowingtheARMprocessorto

bootanexternaloperatingsystem.OntheboardtheUSB2.0OTG,Ethernet,UART,VGA,HDMI,and

CANarebrokenouttotheirrespectiveconnectors,withUARTbeingbrokenouttoaUSBtoUART

interface.Theboardalsofeaturesnumerousinputsandoutputs.Theinputsincludesevenpushbuttons

andeightswitcheswhiletheoutputsinclude8LEDsandanOLEDdisplay[21].Acomprehensive

ZedBoardblockdiagramcanbeseeninFigure2-9.

Page 21: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

20

Figure2-9–ZedBoardPlatformOverview[22]

2.4.2LightCrafterEVM

The TexasInstrumentsLightCrafterDLPEVMisanevaluationkitforDLPprojectiontechnology.

TheLightCrafterutilizesa0.3"DMDwithatotalof415,872mirrorsinadiamondpatternwithawidthof

608mirrorsandaheightof684mirrors.Whenrunningtheboardinone-bitmonochromemode,a

4000Hzframerateisachievable.TheopticsoftheLightCrafterproduceathrowratioof1.66andcan

produceaminimumdiagonalimageat10"andamaximumat60"[23].TheLightCraftercanbeseenin

Figure2-10.

Page 22: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

21

Figure2-10-LightCrafter[24]

TheDMDandlightengineoftheLightCrafterarecontrolledusingacombinationofadigital

videoprocessorandFPGA.TheFPGAreceivesinputdirectlyfromDVI(miniHDMI)andanexternal

trigger.Otherinputssuchascamera,USB,UART,andMicroSDaretakeninbyadigitalvideoprocessing

chiprunninganembeddedLinuxoperatingsystem.ThisvideoprocessingchiphasGPIOanddigitalvideo

connectionswiththeFPGA,whichisinturnresponsibleforprocessingandstreamingvideoandLED

colordata.ThesetwostreamsofdataaresenttotheDMDcontrollerandLEDdriverrespectively[23].

ThefullsystemblockdiagramcanbeseeninFigure2-11.

Page 23: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

22

Figure2-11–LightCrafterDiagram [23]

Page 24: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

23

Chapter3:AlgorithmDevelopment&SystemSimulation

ThedataprocessingofthevolumetricdisplaysystemwasinitiallyimplementedinMATLABfor

developmentandsimulation.ThevoxelizationandslicingalgorithmsweredevelopedasMATLABscripts

beforetheirimplementationsinsoftwareandcustomlogic.Inaddition,asimulationwascreatedofthe

volumetricdisplaysystemasaproof-of-concept.

3.1DataProcessingFlow

Theconversionofthemeshmodelintoatwo-dimensionalsliceinvolvestwomainprocesses:

voxelizationandslicing.Thedesignedsystemutilizestheseprocessesinthreesteps:voxelizetheobject

andhelix,calculatethethree-dimensionalintersection,andgeneratethetwo-dimensionalslice.Thisis

outlinedinFigure3-1below:

Figure3-1-DataProcessing

Thisprocessisrepeatedforeachhelixrotationpositioninordertogeneratetheslicesnecessaryforthe

fullvolumetricdisplay.

3.2VoxelizationAlgorithm

ThevoxelizationalgorithmwasdevelopedusingaMATLABpackagecreatedbyAdam

Aitkenhead[25].Thepackageincludesavoxelizationscriptthatconvertsa.STLfileintoabinaryvoxel

representationasathree-dimensionalarray.ThescriptwasbasedontheresearchofPatilandRavi

mentionedpreviously[10].Thepackageincludedanexamplevoxelizationscriptwhichwasmodifiedto

suittheneedsoftheprojectbyaddingfeaturessuchasthegenerationofthree-dimensionalfiguresof

thevoxelizedobjectaswellasthemanipulationoftheoutputdatatosuittheneedsoftheslicing

algorithm.

Thevoxelizationscripttakesina.STLfileandaspecifiedgridsizeforthevoxelizedobject.The

outputofthescriptisathree-dimensionalarrayrepresentingthex,y,andzdimensionsofthevoxel

Page 25: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

24

grid.A‘1’representswheretheobjectispresent,and‘0’representsitsabsenceorthebackground.The

originalscriptalsogeneratedfiguresofthemeshmodel(Figure3-2),aswellasthreetwo-dimensional

figuresofthevoxelizedresult(Figure3-3).Thescriptwasmodifiedtogenerateasinglethree-

dimensionalfigureofthevoxelizedresult.

CADModels

Totestthevoxelizationalgorithm,severalCADmodelswereutilized.Acarmodelfromthe

NationalUniversityofSingapore’sSTLLibrary[26]wasselectedasanexampleoftheobjecttobe

projected,andahelixmodelwascreatedtobevoxelizedaswell.

VoxelizationScriptTesting

Thevoxelgridsizewasinitiallyselectedas100x100x100.Theresultsusingtheoriginalscript

(withoutmodification)areshowninFigures3-2and3-3:

Figure3-2-CarMeshModel

Figure3-3-VoxelizedCarModel(unmodifiedscript)

Page 26: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

25

Themodifiedscriptwasthentestedtogenerateathree-dimensionalfigureinsteadofthethree

separateangles,andtheresultcanbeseeninFigure3-4:

Figure3-4-VoxelizedCarModel(modifiedscript)

3.3SlicingAlgorithm

TheslicingalgorithmwascreatedasanextensiontothevoxelizationMATLABscript.The

algorithmtraversesthrougheachpositionofthethree-dimensionalarraysforthevoxelizedobjectand

helixandconstructsanewarrayasaresult.Ateacharrayindex,thebitfortheobjectandhelixare

compared.Iftheyarebothsetto1atthatposition,anintersectionhasbeenfound,andthebitforthe

newarrayissetto1,otherwise,itissetto0.Togeneratethetwo-dimensionalintersection,thesame

processisfollowedbutatwo-dimensionalarrayisconstructed,butthezdimensionisignored.Ifan

intersectionisfoundinthex-yplaneatanylevel,thex-ybitinatwo-dimensionalarraywillbesetto1.

Theoutputofthescriptgeneratesafigurewiththethree-dimensionalintersection,aswellasthetwo-

dimensionalslice.

SliceAlgorithmTesting

Thecarmodelwasslicedwiththehelixusingtheresultingdatafromvoxelization.Theresultsof

theprocesscanbeseeninFigure5-3.

Page 27: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

26

(a) (b) (c)Figure3-5-(a)20x20x20carvoxelmodel(b)20x20x20helixvoxelmodel(c)20x20carslice

Thetestshowedsuccessfulresults,verifiedbyrotatingthe3Dintersectiontoviewthex-yplane

andcomparingitwiththe2Dresult.Furthermore,thetestutilizedavoxelgridsizeof20x20x20gridto

verifyadequateresolutionwithlessvoxels.ThiswasasignificantconsiderationforthePLdesignin

termsofmemoryresourcerequirementdiscussedfurtherinthisreport.

3.4SystemSimulation

Thevoxelizationandslicingscriptswereexpandedtobeabletosimulatethefullvolumetric

displaysystem.Thisincludedbeingabletogenerateslicesforeachhelixrotation.MeshLabwasusedto

re-orienttheoriginal.STLmodelofthehelixtothedesiredrotationangles.Therotatedmodelswere

thensavedtobevoxelizedinMATLAB.Thegoalwastogenerate20slices,thusanangleof180/20=9

degreeswasusedforeachrotation,asthesameintersectionsarefoundafter180degrees.InFigure3-6

areafewexamplesoftherotatedhelixmodels:

Figure3-6-Rotatedhelixmodels

Page 28: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

27

Thescriptwasthenmadetoreadineach.STLfileandperformthevoxelizationandslice

algorithm(both3dand2d)foreachrotation(withthecarmodelusedpreviously),savingtheresultsto

theworkingdirectory.Thescriptessentiallysimulatesthevolumetricdisplayconceptfully,generatinga

finalimagewitheachrotationslicecombined.Theresultsforslices1,10,and19areshownbelowin

voxelizedformintersectingthehelixvoxelmodelsinFigure3-7,2DformafterbeingslicedinFigure3-8,

andinrecombined3DforminFigure3-9:

3Dintersections

Figure3-7-3Dintersections

2DIntersections

Figure3-8-2Dintersections

Page 29: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

28

Combined3Dresult

(a) (b)

Figure3-9-(a)voxelizedcarmodel,(b)combinedhelixsliceresult

Asseenabove,thesimulationsuccessfullyreconstructedthecarmodelusingthehelixslices.Thecode

fortheMATLABscriptscanbefoundinAppendixA.

Page 30: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

29

Chapter4:SystemDesign&Implementation

Thefollowingchapterdescribesthedesignandimplementationofeachaspectofthesystem.

Theoveralldesignispresentedandeachfunctionalmoduleisexpandedupon.

4.1EmbeddedSystemDesign

Thegoaloftheprojectwastoresearchanddevelopanend-to-endvolumetricdisplaysystem.

Theteamfocusedontheswept-helixapproach,anddesignedasystemasisshowninFigure4-1below:

Figure4-1-SystemDesign

Thesystemtakesina3DCADmodelandconvertsitintotwo-dimensionalimagestobe

projectedontoaspinninghelix.Thisisachievedthroughaseriesofprocessingsteps,utilizingboththe

ARMprocessorandFPGAfabricoftheZynqSoC.Thedesigncanbesplitupintofourmaincategories:

projection,processingsystem,programmablelogic,andmechanicalhardware.Eachofthefollowing

sectionswilldescribethedesignandimplementationofeachaspect,aswellasdiscussthe

modifications,tradeoffsandlimitationsinimplementingthedesign.

4.2Projection

Therequirementfortheprojectoristohaveahighenoughframeratetogenerateastable

volumetricimage.Thedesignedsystemdisplayed40framesoverasinglerotation,andtherateofthe

motormustbeatleast15rotations/secondasfoundinthebackgroundresearch.Thisresultsin15*40

frames/seconds,or600Hz.TheLightCrafterEVMwasselectedasitisabletoachievesuchrates.

Page 31: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

30

Inordertosuccessfullydisplayavolumetricimage,theprojectorneededtobesetuptothe

correctspecifications.Inorder,theseincludeddisplaymode,patterncount,inputtriggermode,LED

color,exposure,andinputtriggerdelay.Thedisplaymodeneededforprojectingapatternofbinary

bitmapsathighspeedsisreferredtobyTexasInstrumentsas“StoredPatternSequence”mode.Because

thereweretwentyimagesinacycle,thepatterncountwasthensetto20.TheLightCrafterreceived

inputpulsesthathadanactivehigh,sotheinputtriggermodewassetto“External(Positive)”tosignify

thattheinputtriggerwasbothactiveandactedonarisingpulseedge.Theexposureandtriggerdelay

werebothleftat0µSsotheimagewouldremainbrightandtheframewouldchangedirectlyatthe

pulseedge.AfterthesesettingswerechangedtheseriesofimageswasloadedontotheLightCrafter.A

viewoftherequiredsettingscanbeseeninthescreenshotoftheLightCrafterGUIapplicationinFigure

4-2.

Figure4-2-LightCrafterGUI

Becausetheprojectordoesnotproduceaperfectisometricprojectionbeam,aneffortwasmadeto

adjustfortheconeangleoftheLightCrafter.Thiswasaccomplishedbycreatinganalternativehelical

modelforuseinslicing.Thisnewhelicoidwasdeformedalongtheupwards-facingaxis,decreasingradial

sizeincorrelationwiththe1.66:1throwratiodefinedbytheLightCrafter’soptics.Orthogonalityofthe

Page 32: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

31

beamwasnottakenintoaccountincorrelationwiththeisometricqualityofthebeam.Thisdeformed

helicoidcanbeseeninFigure4-3.

Figure4-3-ConicalHelix

4.3ProcessingSystem

Theembeddedsystemdesignrequiredanumberofpiecesofsoftwaretomeetthegoalsofthe

processingsystemdesign.ThesewereimplementedintheClanguageandbuiltonanembeddedLinux

operatingsysteminordertoutilizetheARMprocessoroftheZedBoard.Thesystemdesigncanbeseen

inFigure4-4.

Page 33: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

32

Figure4-4-PSBlockDiagram

4.3.1PetaLinux

Anoperatingsystemwaschosenoverabare-metalapproachtoprogrammingtheARM

processorfortwomainreasons.Thesereasonsaretheneedforfilesystemaccessandtherequirement

forlibrariesthatareincludedwithvariousoperatingsystems.Thefilesystemwasneededtointeract

withtheoriginalSTLfileaswellasthegeneratedimages,andthelibrarieswereneededforinterfacing

withtheLightCrafter’sprovidedAPI.PetaLinux,aLinuxdistributionprovidedbyXilinxforuseontheir

FPGAproducts,waschosentobethebaselayerforallprocessingsystemfunctionality.Becausethe

operatingsystemisdesignedforuseonaZynqSoC,thereisinherentfunctionalitythatallowsforease

ofcommunicationbetweenthePLandPSoftheoveralldigitalsystem.ThePetaLinuxoperatingsystem

providesabaselayerandframeworkonwhichallotherprocessingfunctionalitywasbuilt.Thisincludes

directGPIOandBRAMaccessaswellasstandardLinuxlibraries,USBfunctionality,andfilesystem

access.

4.3.2VoxelizationandPS-PLInterface

Theembeddedsystemdesignincludedthevoxelizationalgorithmasanembeddedsoftware

applicationthatgeneratedthevoxeldataandwritesthisdataintomemoryinthePLsystem.However,

duetothescopeoftheproject,thevoxelizationalgorithmwaskeptasaMATLABscript.Thescriptmay

beconvertedintoaCapplicationusingMATLABCoder,butthetooldidnotsupportallthefunctions

necessaryinthevoxelizationpackage.Theconversionprocesswouldinvolvefurtherresearchofthe

voxelizationalgorithmanditsprogramming,whichwasoutsidethescopeoftheproject.

Page 34: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

33

ThePS-PLinterfacewasinvestigated,howeverduetothetimingconstraintsoftheproject,the

implementationwasleftoutofthefinalsystem.BRAMaccessinPetaLinuxiscanbeachievedthrough

thecombinationoftwomethods.ThefirstofthesemethodsistheuseofthemmapLinuxsystemcallto

accessamemorymanageddevice,inthiscaseBRAM.Thesecondisassigningeachhardwaredevice,

suchastheGPIOandBRAMinterfaces,asadeviceintheUserspaceIO(UIO)inPetaLinux.Thecreation

ofaUIOdrivercreatesafileinthe/dev/folderoftheLinuxfilesystem.

4.3.3LightCrafterAPI

TheLightCrafterAPIisasetofsoftwarelibrariesprovidedbyTexasInstruments.Thesewere

neededtocreatesoftwarethatinteractswiththeLightCrafterEVM.BecausetheZedBoardisaheadless

embeddedsystem,softwareneededtobewrittenforPetaLinuxthatreplacedtheGUILightCrafter

ControlprogramthathadpreviouslybeenusedonaworkstationPC.TheLightCraftercontrolprogram

waswrittenusingcallstotheLightCrafterAPIprovidedbyTexasInstruments.Thecontrolprogram

worksbyfirstcheckingtheconnectiontomakesuretheLightCrafterisconnectedandisvisibleasan

RNDISethernetgadget.Theprogramthengoesthroughandchangestheprojectionmodeto‘Stored

ImageSequence’andsetsthecolor,sequencelength,andtriggertypebeforeuploadingalltheimages

totheprojector.Thetriggertypeissetto‘External(positive)’becausetheoutputfromtheZedBoardis

anactivehighsignal,sotheLightCraftermustbetriggeredontherisingclockedgesratherthanthe

fallingclockedges.TheLightCrafterAPIcodecanbeseeninitsentiretyinAppendixB.

4.3.4BitmapGeneration

Thebitmapconversionprogramtakesinabitarrayrepresentationoftheslicedandflattened

dataandturnsitintooneoftheimagesthatisuploadedtotheLightCrafter.Thebitmapgeneration

happensinfourmainsteps:initialfilecreation,dataprocessing,imagepadding,andwritingtothefile.

TheLightCraftertakesinaone-bitBMPfile,soaheaderforthisformatisfirstgeneratedbythe

software.ABMPfilehastwoheaders,agenericfileheaderandadataheaderspecifictothebitmap

format[27].Bothofthesemustbeformattedproperlyinordertogenerateauseableimage.

FirstthefileheaderisgeneratedanditisgivenasignatureuniquetotheBMPformat.Nextthe

totalfilesizeandheaderlengtharecalculatedandplacedintotheirrespectivespotsintheheader.The

secondpartofformattingthefilecorrectlyistheBMPdataheader.Thisincludesinformationsuchas

thesize,pixeldensity,andbitdepthoftheimage.Alloftheneededvaluesarecalculatedandplaced

intotheirrespectivespotsinthedataheader.

Page 35: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

34

Nexttheinputdatamustbescaledandformattedtofittheprojector.Thisisaccomplishedby

copyingthedataoutofmemoryandthenscalingthedatabyafactorof25.Thedataisscaledby

iteratingthrougheachpixelinthescaledarrayandmappingittoapixelinthesourcearray.Thiscanbe

seendemonstratedinFigure4-5,whichshowsfirstanarraybeingscaledandthentheimageresultofa

scaledarray.

InputData OutputImage

[0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0xff,0x00,0xff,

0xff,0x00,0xff,

0xff,0x00,0xff,

0xff,0x00,0xff,

0xff,0x00,0xff,

0xff,0x00,0xff,

0xff,0x00,0xff,

0xff,0x00,0xff,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00,

0x00,0xff,0x00]

Figure4-5-ConversionExample

Afterthepixelsarescaled,theyarepaddedinordertobringeachrowofpixelstoamultipleof

fourbytestopreventimageskew.Theaddedpaddingbringstheimageto608x684pixels,which

matchestheresolutionrequiredbytheLightCrafter.ThedataisthenwrittentotheBMPfileinorder.

Page 36: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

35

Firstthefileheaderiswrittenfollowedbythedataheader.Beforetheactualimagedataiswritten,

however,acolortableisincludedtostatewhichtwocolorsarerepresentedbythemonochrome

bitmap.ThefullbitmapfilestackcanbeseeninFigure4-6below.FormoreinformationabouttheBMP

generationcode,seeAppendixC.

1 FileHeader(14bytes)

2 DataHeader(32bytes)

3 ColorTable(2*4bytes)

4 ImageData(51,984bytes)

Figure4-6-BitmapStructure

4.4ProgrammingLogic

Theprogrammablelogicsystemconsistsofthesliceprocessor,encoder,andprocessingsystem

interface.AblockDiagramofthefulldesigncanbeseeninFigure4-7below:

Figure4-7-ProgrammableLogicSystem

ThesystemwasdesignedandimplementedinVerilog,usingacombinationofcustomIPand

XilinxIPblocks.Theonlyexternalinputandoutputtothesystemisfortheencodermodule,which

handlestheprojectionsynchronization.

Page 37: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

36

4.4.1Memory

AsignificantaspectinthePLdesignwasthememoryrequirementofthesystem.Thedatasent

fromtheprocessingsystemisa20x20x20arrayrepresentingthevoxelizedobject,thus20x20x20,or

8000bitsarerequiredforstorageofone3Dmodel.Thecompletesystemrequirestwenty-one3D

models:onefortheobject,andtwentyforeachhelixrotation.Inaddition,memoryisrequiredtostore

thetwentytwo-dimensionalslicesgenerated,needing20x20or400bitsforeach2Dslice.Thisresultsin

atotalof21*8000+20*400bits,or176000bits.

TheZynqSoCfeatures140x36KbblocksofRAM,witheachblockhavingamaximumbus-width

of75bits.TheseblocksofmemorycanbegeneratedusingXilinxIP,namelytheBlockMemory

Generator.ThegeneratorallowstheconfigurationofcustomBRAM,allowingthespecificationforthe

widthanddepthforthedatatobestoredwithintheblock.Thesystemwasdesignedsothateachthree-

dimensionalmodelwouldbestoredinitsownblockRAMforeasyaccess,andalltwentyofthe2Dslices

wouldbestoredinasingleblocktobeaccessedbythePS,resultinginatotalutilizationof22blocksof

RAM.TheBlockMemoryGeneratoralsoallowsforthememorytobepre-initializedwithdata.This

allowedthetwentyhelixmodelstobepreloadedintothememoryblocksusingmemoryinitialization

files(.coe)containingthevoxeldataforeachhelixrotation.

4.4.2SliceProcessor

Thesliceprocessorfindstheintersectionbetweenthevoxelizedobjectandhelix,andconvertsit

intotwo-dimensionalslicedata.Thisisdoneforeachhelixrotation.Theoveralldesigncanbeseenin

Figure4-8.

Page 38: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

37

Figure4-8-SliceProcessor

Theuseofcustomlogicforthesemodulesallowsforfast,parallel,computationsofthe

intersections.ThesliceprocessorisactivatedbyanenablesignalsentthroughGPIOfromtheprocessing

system,whichactivatesthereadmoduleofthesliceprocessor.Thereadmoduleextractsthevoxeldata

oftheobjectfromBRAM,aswellasthevoxeldataofthehelix.Itcontainstwentymemoryblocks,each

containingthedataofonehelixrotationasmentionedabove.Eachblockofmemoryhasadatabus

widthof50bitsandadepthof160bits,andthemodulereadsfromoneBRAMatatime.Themodule

selectsanewmemoryblocktoreadfromonceeachaddresshasbeenvisitedfromthepreviousblock.

ThereadmoduledesigncanbeseeninFigure4-9.

Page 39: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

38

Figure4-9-ReadModuleDesign

Theoutputofthereadmodulepopulatesthe8000registersforafullmodel.Onceallthedataof

ahelixisextracted,theslicemoduleisenabledtogeneratethetwo-dimensionalslicedataforthat

rotation.Theslicemoduleperformstwooperations-calculatingthethree-dimensionalintersectionand

thenconvertingitintotwo-dimensionalslicedata.Insteadoftraversingthroughthethree-dimensional

arrayasdoneinthesimulation,thethree-dimensionalintersectioniscalculatedbyabitwiseANDofthe

objectandhelixdata,andthetwo-dimensionalsliceiscalculatedbymappingeachxandypositionon

everyzleveltothesamebitonthe20x20array.Thisallowsforafasterparallelcomputationofthe

intersection.

Oncethesliceisgenerated,thewritemoduletakestheoutputfromtheslicemoduleasitsmain

input,storeseachsliceinaslicebuffer,andwritestheslicesintoBRAMasseeninFigure4-10.

Page 40: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

39

Figure4-10-SliceProcessorWriteModule

Theread_countcountsfrom0to19inordertoloadthe20slicesintobufferregisters.The

buffersarethenfedintoamultiplexer,whichselectsonesliceatatimetobewrittenintoBRAM.The

BRAMhasa32-bitdatawidth,thuseachsliceisfedintoanothermultiplexertofeedthedatain

sequentially.Theread_countbeginsattheinputenablesignal.Whenallsliceshavebeenreadin,

write_nextandwrite_countareenabledtoallowfortheBRAMwriteoperationstooccur.Thismoduleis

enabledsimultaneouslywiththeslicemodule.OnceeachslicehasbeenwrittenintoBRAM,the

processingsystemcancommencereadingthedatatogeneratethebitmapimagesforprojection.The

codeforthesliceprocessorcanbefoundinAppendixE.

4.4.3EncoderModule

Theencodermoduleisanintegralpartoftheprojectioncontrolsystemthatenables

synchronizationbetweenthespinninghelixandprojectedframes.Themoduletakesinthehomeand

helixpositionsignalsfromencodercircuitryasitsinputsandoutputsapulsesignalthatissenttothe

LightCrafter.

Themodulehastwostates-standbyandactive.Themoduleisinitializedinitsstandbystate,

anditsfunctionalityistodetectthehomeposition.Thehomepositionisthestartingpositionofthe

helixwherethefirstframeistobeprojected.Whileinstandbystate,thereisnooutputtothe

Page 41: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

40

LightCrafter.Thesignalscomingfromtheencodercircuitryareactivelow,thusthehomesignalis

detectedwhenthereisalogic0inthe‘home’input.Oncedetected,themoduleisputintoitsactive

state,wherethehelixpositionsignalinputisdirectedasthepulsesignaloutput.Thus,foreverynew

positiondetected,thenextframeistriggeredforprojection.Theencodermodulecodecanbeseenin

AppendixF.

4.4.4PSInterfaceandPLSystemIntegration

TheprogrammablelogicsysteminteractswiththeprocessingsystemviatheZynq7Processing

SystemIPblock,whichwrapstheARMprocessortoenablecommunicationbetweenthecustomlogic

andsoftware.Communicationbetweenthetwosystemsisnecessarytobeabletotransferthe

voxelizationdatafromPStoPL,andtheslicedatafromPLtoPS.Inaddition,thecustomlogicmodules

areactivatedthroughGPIOsignalssentfromthePS.Thecommunicationbetweenthetwosystemswas

configuredusinganAdvancedeXtensibleInterface(AXI)bus,whichprovidestheinterfaceforboth

memoryandGPIO.

ProcessingSystemWrapper

TheZynq7IPblockintegratestheprocessingsystemwiththeprogrammablelogicsystem.This

allowsthePStohaveaccesstobothon-chipandexternalmemory,PLclocks,andadditionalI/O

peripherals.ThePSinterfaceconfigurationcanbecustomizedusingtheuserinterfaceoftheIPblockas

seeninFigure4-11below:

Page 42: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

41

Figure4-11-Zynq7ProcessingSystemGUI

Settingssuchastheperipherals,systemboot-mode,clocks,andthePS-PLinterfacecanbe

configuredbytheuser.ThePSwasconfiguredtohaveUSB,UART,andSDcardperipherals.TheUSB

peripheralallowstheLightCraftertobeconnected,UARTallowsaconnectionbetweentheheadlessPS

systemandahostPC,andtheSDcardperipheralallowsthesystemtobebootedfromanoperating

systemresidingonanSDcard.Inaddition,thePSwasconfiguredwithanAXIinterfacefor

communicationwithBRAMandGPIO.

AdvancedeXtensibleInterface

AXIisaprotocoladoptedbyXilinxasaninterconnectionbetweenIPcores[28].Specifically,AXI

enablesaninterconnectionformemory-mappedIO.AnAXIinterconnectionwasgeneratedinthePL

systemtocreatethenecessaryconnectionswiththePS.Theinterconnectwasautomaticallygenerated

Page 43: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

42

aspartofVivado’s‘runblockautomation’toolinblockdesignmode,creatingthenecessaryabstractions

forasimpleconnection.

TheAXIinterconnectwasusedforboththeGPIOandBRAMconnectionsinthePL.AnAXIBRAM

controllerwasgeneratedusingXilinxIPthatallowsthePSsystemtoaccesstheon-chipBRAMinPL.Two

blocksofRAMweregeneratedinthetopleveldesignofthePLfortheseparatereadandwrite

operationsofthedatapath.ThefirstBRAMisusedtostorethevoxeldatawrittenfromPStobereadin

PL,andthesecondBRAMistostoretheslicedatawrittenbyPLtobereadbackintoPS.

SystemIntegration

ThePSwrapper,AXIinterconnect,andblockmemorycoreswereintegratedintoasingleblock

designasseeninFigure4-12below:

Figure4-12-PLSystemBlockDiagram

InordertoconnecttheblockdesignwiththecustomsliceprocessorandencoderIP,theGPIO

andBRAMportswereconfiguredasexternalports.Atop-levelmodulewasthencreatedusingVerilog

thatinstantiatedandconnectedthemoduleabovewiththesliceprocessorandencodermodulesto

completethecomprehensiveprogrammablelogicsystem.ThefullPLsystemcodecanbeseenin

AppendixG.

Page 44: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

43

4.5MechanicalSystem

Inordertoproduceavolumetricimage,arotationalhardwaresystemneededtobecreatedto

spinandtrackthehelicalprojectionscreen.Aframealsoneededtobeconstructedinordertomount

rotationalsystemandprojectionsystem.Themechanicalsystemconsistsofthreemaincomponents:

theencoder,therotationalhardware,andtheframe.Thepurposeofthedesignwastoprioritize

stabilityandstructurearoundtherotationalhardwarewhilstmaintainingtheproperdistancesbetween

thehelixandtheprojector.AnimageofthefullsystemcanbeseeninFigure4-13below.

Figure4-13-MechanicalSystemPhotograph

Onerequirementofthesystemwastosynchronizethemotorwiththeprojection,inorderto

generateacorrectimage.Theencoderwasdesignedtoallowthesystemtotrackboththerateof

rotationaswellasabsoluterotationalposition.Thiswasaccomplishedthroughtheinclusionofbotha

forty-positionencoderaswellastwohomepositions.Thehomepositionmarksthestartingpointofthe

rotationalsequence.Twohomepositionswereincludedduetotheradialsymmetryofthehelixat180°.

Thesetwohomepositionsactidentically,buttheinclusionofbothhalvestheworst-case-scenariowait

Page 45: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

44

timeforthesystemtobecomesynchronized.Inordertotrackthis,40encoderpositionswereincluded

equidistantfromeachotheraroundtheperimeteroftheencoderbelowthehomeposition.Each

positionindicatesanewframetobeprojected.Acomputer-generatedmodelofthisencodercanbe

seeninFigure4-14.

Figure4-14-EncoderWheel

TheencodercircuitryconsistsoftwophototransistorsandtwoinfraredLEDs.Pullinglowwhen

theysenselightoveracertainthreshold,thephototransistorsaremountedacrossfromtheLEDswith

thebeamofbothLEDscenteredonandperpendiculartoeachtrackontheencoderwheel.Thisallows

fortheencoderandhomepositionsonthewheeltobeseparatelytracked.TheLEDsand

phototransistorsshareacommonpowersource,howevertheoutputsareseparatedandfedinto

separateinputsoftheZedBoard.AcircuitdiagramforthetwoLED/phototransistorpairscanbeseenin

Figure4-15.InformationaboutthewirecolorcodingschemecanbefoundinAppendixH.

Page 46: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

45

Figure4-15-EncoderCircuitry

Therotationalhardwarewasselectedtoallowforthehelicalloadtospinataratefastenough

toprojectasteadyimageataconstantspeed.Themotorselectedwasabrushedmotorwithapower

drawunderfullloadof6W.Thismotorwaschosenduetocost,speed,andeaseofintegrationintothe

design.Themotor,aHyongyangHRS-755S,islowcostandadvertisedforapplicationsinhigh-speed

applicationssuchasincordlessleafblowersandhedgetrimmers.Themotoralsohaseasilyaccessible

mountingpointsthatwereutilizedincouplingtherotationalsystemtotherestofthehardware.In

ordertopreventthehelixfromfreelyrotatingaroundacircularshaftwhilstspinning,aD-shaft–named

foritsshape–waschosentoallowfortheshaftcoupler,shaftcollars,encoderwheel,andhelixtoeasily

limitnon-motorradialmotionwhilesimultaneouslymaintainingeasyverticalmotiontoassembleand

disassemblethecomponents.

Inordertoholdeachpieceofthemechanicalsystemtogether,aframewasconstructedfrom

steelanglechannelandacrylic.Twoacrylicpanelsweredesignedfortheframeinordertomountthe

motorandLightCraftertothesystem.Thesetwomountingplateswerelasercutfromacrylicsheetsand

attachedtothesteelframeusingL-brackets.Themotorplate,asseeninFigure4-16a,wasdesignedto

accommodatetheshaftofthemotoralongwithtwoscrewstoallowforthemotorfacetobemounted

flushwiththepanel.TheprojectormountseeninFigure4-16bwasdesignedtoutilizethreeslotsinthe

acrylic.Thewidecenterslotistoallowtheprojectedimagetopassthroughthepaneluninterrupted

whilethetwoouterslotsareformountingtheprojectortothepanel,allowingforslidingtoadjustand

calibratetheimage.

Page 47: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

46

Figure4-16a-MotorMount Figure4-16b-ProjectorMount

Afterinvestigationintoanumberofpossibletechniquestocreatethehelix,extrusion-based3D

printingwasdecidedtobethemostfeasible.Duetorestrictionsofthe3Dprinterusedfor

manufacturing,thehelixwassplitintothreepiecesinordertoallowittofitonthebedoftheprinter.

Nylonwasusedastheprintmaterialduetoitslowcost,highstrength,andlightweightnature.The

housingfortheencodercircuitrywasalso3Dprinted.Thisenclosurewasdesignedbothtoallowfor

easymountingtotheframeandtoprovideampleheadroomtotherotatingencoderwheel.

Page 48: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

47

4.6FinalSystemImplementation

Duetothetimingconstraintsandscopeoftheproject,thefinalsystemimplementation

processedtheCADfileonaPC.Thisincludedvoxelization,slicing,generatingbitmapimages,and

configuringtheLightCrafter.Figure4-17showstheoriginalembeddedsystemdesign.Themodules

highlightedingreenwereimplementedonaPCforthefinalimplementation,andthemoduleinblue

wasimplementedontheZedBoard:

Figure4-17–EmbeddedDesignModifications

ThePCwasconnectedtotheLightCrafterviaUSB,andtheZedBoardwasconnectedtoboththe

encodercircuitryandtheLightCrafter(seeAppendixH).ThisisshowninFigure4-18below:

Figure4-18-FinalSystemImplementation

Page 49: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

48

TheCADfilewasprocessedinMATLABforvoxelizationandslicingusingthesimulationscript.

Thescriptgeneratedthetwentyslicesandwereautomaticallysaved.Theseimageswerethenconverted

tothenecessaryresolution(608x684)andfiletype(monochromebitmap).TheLightCrafterGUIwas

thenusedtoconfiguretheLightCrafterforstoredpatternsequence,andthe20bitmapswereuploaded.

ThemotoristurnedononcetheimageshavebeenuploadedtotheLightCrafter,andtheprojection

commenceswhenthehomepositionisdetectedbytheencoder.Theintegrationofthesepartscreate

thecompletevolumetricdisplaysystem.

Page 50: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

49

Chapter5:SystemTesting&Results

Inordertoensurethateverypieceoftheprojectwasfunctional,astrictandcomprehensiveset

oftestingguidelineswasdevelopedforeachpart.Thissectionoutlinesthestepstakentotesteachpart

oftheprojectaswellastheresultsfromtesting.

5.1ProcessingSystem

5.1.1PetaLinux

PetaLinuxwastestedbybuildingtheoperatingsystemsuccessfullyandloadingittoanSDcard

withtwopartitions,oneforthebootdiskandonefortherootfilesystem.Thesepartitionswereaptly

named“BOOT”and“rootfs”asperthePetaLinuxdocumentation.Theoperatingsystemwasthen

bootedontheZedBoardandthefunctionalitywaschecked.ThesoftwarebeingrunontopoftheOS

layerwastestedinasimilarmanner,asitscompilationcoincidedwiththePetaLinuxcompilation.

AlthoughbothPetaLinuxandthesoftwarecompiledsuccessfullyandranontheZedBoard,functionality

innumerouspiecesofsoftwarewasnotworking,asisexplainedinthefollowingsections.

5.1.2LightCrafterAPI

TheLightCraftersoftwarewasinitiallytestedsuccessfullyonaPC.Sampleimageswereplacedin

afolder,theLightCrafterwasconnected,andthesoftwarewasthenrununderUbuntu.TheLightCrafter

wassuccessfullyloadedwiththeimagesandrespondedtotheinputtriggerwhileprojectingusingthe

correctLED.

TheLightCraftercontrolprogramwasthentestedinthePSbycompilingitwithPetaLinux,

attachingtheLightCrafterviaUSBOTGtotheZedBoard,andrunningtheprogram.Althoughthe

programsuccessfullyranwithoutissue,itcouldnotutilizetheRNDISconnectiontotheLightCrafterover

USBOTG.NumerousstepsweretakentoresolvethisbyalteringthePetaLinuxkernelconfiguration,

howevernostepstakenprovedeffective.TheunderlyingcauseoftheRNDISconnectivityissueis

unknown.

5.1.3BitmapGeneration

Thebitmapgenerationsoftware,whilesuccessfullyrunonthedevelopmentPC,produceda

segmentationfaultwhenrunontheZedBoard.Thisproblemarisesduetothelimitedresourcesofthe

ZedBoardandtheprogramrunningoutofvirtualmemory.Thisisduetotheneedtoallocateanarray

Page 51: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

50

fortheoutputimageandthetemporaryarrayresidinginprogrammemory.Whentestingthebitmap

generationsoftwareonthedevelopmentworkstationPC,testingincludedthegenerationofmultiple

sizesofimagesaswellasusingmultiplepatternsasthesourcedata.Resultsshowedthatduetothe

BMPspecificationsoutputimagesthatdidnotincludeanxdimensiondivisiblebyfourbitswouldbe

skewedunlessotherwisepadded.Theprogramalsoworkedonlyforaselectnumberofpatterns,

resultinginimproperlyscaleddataforotherpatterns.Thecauseofthisbehaviorwasnarroweddownto

anerrorinthescalingalgorithm.

5.2ProgrammableLogic

EachfunctionalblockinthePLwastestedindividuallytoverifythefunctionalityofeachmodule

beforedoingintegratedtests.Thefollowingsectionsoutlinethetestsperformedandexplaintheresults.

5.2.1BRAMread/write

CustomlogictoreadandwritefromBRAMwastestedtoverifythatthedatabeingbothread

andwrittenwasaccurate.Inaddition,thememoryinitializationfileswereconfiguredandtestedto

verifyaccuratedataaswell.

BRAMMemoryInitialization

AblockRAMwasconfiguredtoloadwithaninitialization(.coe)file.Thisfilecontainedtheinitial

contentstobeloadedontheBRAM.Thefilesimplyrequiredaradixanddatavectortodefinethe

desiredcontents.Thememoryinitializationwastestedbyloading4dataelementsof8-bitseach:0xAA,

0xBB,0xCC,0xDD.TheBRAMwasconfiguredtohaveadatabus-widthof8bitsandadepthof4bits

(fouraddresses/elements).Thememoryblockwasinstantiatedintoatestbenchtodetermine

successfuldatainitializationandreadfunctionality.TheresultsareshowninFigure5-1below:

Figure5-1-MemoryInitializationTestBenchResults

Page 52: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

51

TheBRAMwasthenmodifiedtohaveadatabus-widthof4000bitsanddepthof2,andwas

testedagain.Theresultsofthe4000-bitdata-bustestcanbeseeninFigure5-2:

Figure5-2-4000-bitDataInitializationTestBenchResults

AsdisplayedinFigures5-1and5-2,bothtestsshowedsuccessfulresultsforreadingpre-loaded

data.Thiswasusedforthefinalimplementation,asthehelixdatawasbepre-loadedinthesystem.

SequentialReadModule

Thereadmoduleinthesliceprocessorcontains20memoryblocks,eachcontainingthedataof

onehelixrotation.Thiswassimulatedinatestdesignwitheachblockofmemoryconfiguredwithadata

bus-widthof50bits,andadepthof160bits.ThemodulereadsfromoneBRAMatatime,withthe

doutbofonemodulebeingtheoutputofthemodule.Themodulethenselectsanewmemoryblockto

readfromonceeachaddresshasbeenvisitedfromthepreviousblock.Onceeachmemoryblockhas

beenvisited,themodulewillstopreadingfrommemory(enableislow).Thedesignwasimplemented

with4blocksofmemoryinatestbenchwiththefollowingresults.TheseresultscanbeseeninFigures

5-3aand5-3b.

Figure5-3a-Testbenchresults

Page 53: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

52

Figure5-3b-Testbenchresults

Asseeninthefiguresabove,themodulesuccessfullyreadallthedatafrommemoryblock0,

andshowedasuccessfulswitchtomemoryblock1.Thedoutbvalueswerealsovalidatedbycomparing

themtothememoryinitializationfiles.Thistestverifiedthesequentialreadfunctionalityofthecustom

logicandallowedforexpansiontothefull20blockimplementation.

5.2.2SliceProcessor

Eachfunctionalmodulewithinthesliceprocessorwastestedbeforeintegratingthemintoa

singlefunctionalunit.Thisincludedtheslicemodule,sequentialreading,andsequentialwriting.

SliceModule

Theslicemodulewasinitiallytestedusinga3x3x3gridtoverifyfunctionality.Theinputstothe

modulewereafullyvoxelizedcubeforthe3Dobject(obj)andaslantedplaneoutlineastheintersecting

surface.Imagerepresentationsoftheseareshownbelow:

Figure5-4-3Dobject(left)andintersectingsurface(right)

Page 54: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

53

Theexpectedprocessingwouldresulttothefollowing:

27’b 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

& 27’b 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1

--------------------------------------------------------------------

27’b1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1

--------- CONVERT TO 2D-------

=> 9’b1 1 1 1 0 1 1 1 1

ThetestbenchwassimulatedandshowedtheexpectedresultasseeninFigure5-5.

Figure5-5-Testbenchresults

ThemodulewasthenimplementedinhardwareusingtheZedBoardtodisplaythe2Dresulton

aVGAdisplay.Thefollowingtestmodulewasdesignedandimplemented.Themoduletotestslicing

usingVGAcanbeseeninFigure5-6.

Page 55: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

54

Figure5-6-Slicetestmoduleblockdiagram

Thesameinputswereused(generatedwithintheVerilogcode)asthetestbench.The9-bit

outputwasmappedtothecorresponding3x3gridandresultedintheimageshowninFigure5-7.

Figure5-7-HardwareImplementationResult

Page 56: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

55

Theinitialtestswerethenexpandedforthe20x20x20resolution.Todoso,a20x20x20VGA

displaygridwasdesignedandimplemented.Bydefault,thegridwoulddisplayasallpurple(indicating

anoutputofallzeros)asseeninFigure5-8:

Figure5-8-Blank20x20x0grid

Eachsquareonthegridwasmappedtoabitthatcorrespondstotheoutputoftheslicemodule

(twoD).Whenabitisequalto1,itsetthecorrespondingsquaretowhite.Thefunctionalityofthegrid

wastestedusingtoverifythebitsweremappedtothecorrespondingsquaresbeforetestingtheslice

module.Theslicemodulewasthenimplementedusingthevoxelmodelsofthecarandhelixexported

fromtheMATLABsimulationsasinputs.TheresultsareshowninFigure5-9bwiththeMATLABresultfor

comparisoninFigure5-9a:

(a) (b)Figure5-9-(a)MATLABsliceresults(b)Hardwareimplementationresults

Theresultsshowedasuccessfulimplementationoftheslicingmodule,withthe20x20grid

outputshowingtheexactsameresultastheMATLABsimulation.TheVGAtestmodulecodecanbeseen

inAppendixD.

Page 57: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

56

SequentialSlices

Theslicemodulewasthenintegratedwiththesequentialreadmoduletoensurethesystem

wasabletoloadthehelixdataforeachrotation,andgeneratetheslices.Thistestmoduledirectedthe

outputoftheBRAMreadtotheslicemodule,andtheslicemodulewasenabledoncetheBRAMread

modulehadfinishedloadingtheentiremodel.Themodulewastestedinatestbenchandtheresultscan

beseeninFigure5-10:

Figure5-10-PLSliceSimulationResults

Thefigureshowsslice_engoinghighaftersurf_counthasreached9f,indicatingthat0to159

dataaddresseshadbeenreadfromandloadedreadyforslicing.Theslice_enbitenablesthevoxelslice

module,andtheoutputtwoDwasproduced,representinga2Dslice.Thesimulationshowedsuccessful

resultsinloadingandslicingall20models.

FullSliceProcessorTesting

Thefinalaspectwastointegratethewritingmoduleintothesliceprocessorsystem.Themodule

wasintegratedintothetoplevelsliceprocessordesignandwassimulatedwiththewholesystem.The

fullsystemtestbenchresultscanbeseeninFigure5-11:

Page 58: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

57

Figure5-11-PLSliceProcessorSimulation

Thesimulationshowedsuccessfulresultsforthecontrolofthewritemodule.Thewaveform

aboveshowsthatthemomentthatread_countreachesthelastslice,thuswritingwillbeenabled

(write_engoeshigh).Aswrite_engoeshigh,theappropriatedinandaddressisgeneratedfortheBRAM

writeoperation.

Page 59: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

58

5.2.3EncoderModule

Theencodermodulewastestedusingatestbenchtosimulatetheencodercircuitry.Thetest

casesverifiedthatthepulsesignalfollowstheoppositeoftheinputoftheencodersignal,butonlyafter

thehomesignalhasbeendetected.AsseeninFigure5-12,thetestbenchshowedsuccessfulresultsfor

theencodermodule:

Figure5-12-EncoderModuleTestResults

Inaddition,theencoderhardwareimplementationwastestedinwiththemechanicaland

projectionsystem.TheencodercircuitrywasconnectedtotheZedBoard,andanoutputwasconnected

totheLightCrafter(seeAppendixH).TheZedBoardwasprogrammedandthefunctionalityofthe

encodermodulewasverifiedbyturningtheencoderwheelbyhand.Atestimagesequencewasused

andshowedsuccessfulresults,witheachframetriggereduponeachpositoindetectedbytheencoder.

5.3MechanicalSystem

Theencodercircuitrywastestedtoensureareliableandconsistentsignalwhilstrotating.This

wasaccomplishedbymeasuringtheoutputofbothencodersensorsusingadigitaloscilloscope.The

widthsofboththehomepositionpulseandencoderpulsemeasuredtobe640µswhenspinning.The

encodertestingincludedmotortestingbymeasuringspeedwhilstspinningunderfullload.Thisequates

to1.563kHz,whichiswellbelowthe4KHzmaximuminputtriggerconstraintoftheLightCrafter.Itcan

beseenbelowinFigures5-13aand5-13bthatbothsetsofpulsesappearconsistentandoccurata

consistentrate.Theencodersignalisrepresentedbythesecondchannelinbothoscillogramswhilethe

homepositionisdisplayedonthefirst.Theencodermoduletakesanactivelowsignalduetothe

phototransistorspullinglow,thereforethepulsesoccurwhenthehighsignalfallslow.

Page 60: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

59

Figure5-13a-EncoderDetailView Figure5-13b-HomePositionDetailView

5.4FullSystemTests

Thefinalsystemimplementationwastestedtoverifythefunctionalityofthevolumetricdisplay

system.TheStanfordBunnymodel[9]wasusedtodoso.Theresultsforeachstageofthesystemare

presentedbelow.

Voxelization&Slicing

ThefirststageofthesystemwastovoxelizetheBunnymodel.TheMATLABsystemsimulation

scriptwasutilizedtogenerateavoxelizedmodelwithagridsizeof20x20x20asseeninFigure5-14

below:

Figure5-14-VoxelizationResults

Page 61: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

60

Slicing

Thenextstageofthesystemwastoslicethevoxelizedmodel.TheMATLABsimulationscript

accomplishedthisbyrunningtheslicingalgorithmwiththeBunnymodelandavoxelizedmodelofevery

helixrotationposition.TheresultsoftwoslicesareshowninFigure5-15below:

Figure5-15-SlicingResults

Theslicesgeneratedwereverifiedwiththethree-dimensionalintersectionsgeneratedbythe

script,toensurethatthex-yplanewascapturedaccurately.TheMATLABgeneratedfigureswerethen

convertedintomonochromebitmapfileswithasizeof608x684(arequirementforLightCrafter

configuration)usingMicrosoftPaint.

Projection

TheLightCrafterwasthenconfiguredtoStoredPatternSequencemode,withtheexternal

triggersettingactivatedusingtheLightCrafterGUI.The20bitmapsofthesliceswereuploadedtothe

LightCrafterreadyforprojection.TheZedBoardwasthenprogrammedwiththeencodermodule,and

theDCmotorwasswitchedon.Theprojectionsequencecommencedonceahomepositionwas

detected,andtheresultingvolumetricimagecanbeseeninFigure5-16.

Page 62: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

61

Figure5-16-VolumetricDisplayResult

Thevoxelizationandslicingalgorithmsshowedsuccessfulresults,andtheprojectionsystemwas

abletogenerateathree-dimensionalimage.LookingcloselyatFigure5-16above,individualvoxelscan

beseenwithinthecylindricalshapeofthespinninghelix,andavisiblefigureisobserved.However,the

imagewasdistorted,andthebunnymodelwasdifficulttodistinguish.Thedistortionisinpartdueto

theangleofprojectionoftheLightCrafter.Inaddition,theStanfordBunnymodelwasnotconically

distortedtoaccountfortheconeangleoftheLightCrafter.Eventhoughtheimagewassomewhat

distorted,theresultsofthesystemwasconsideredasuccessduetoitsabilitytoprojectastatic,visibly

voxelizedvolumetricimage.

Page 63: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

62

Chapter6:Conclusion

Thisprojectsuccessfullycreatedavolumetricdisplaysystemthatdisplaysa3DCADfileintoa

three-dimensionalvolume.ThefinalsystemimplementedprocessedaCADmodelonaPCtogenerate

thetwo-dimensionalslices,configuredtheLightCrafterusingaGUI,andcontrolledtheprojection

synchronizationusingencodercircuitryandcustomlogicontheZynqSoC.

TheresearchconductedonvolumetricdisplayconceptsandCADfilemanipulationresultedin

thedevelopmentofworkingvoxelizationandslicingalgorithms.Thesecanbeusedtosimulatea

volumetricdisplay,aswellasgeneratethesliceimagestobeprojectedfromaPC.Customlogicfor

slicingwassuccessfullydesigned,implementedandtestedtoshowcasethehardwareprocessing

functionalityinthesystem.Additionally,theimplementationofPetaLinuxontheARMProcessor

allowedforexperimentationandtestingofanembeddedoperatingsystemaswellasthetestingof

embeddedsoftwareapplications.Acompleteprojectioncontrolsystemwasalsosuccessfullydesigned,

built,andtested,includingmechanicalhardware,a3Dprintedhelix,andencodermodulethatwas

capableoftrackinghelixrotationalpositionsandthesynchronizationofthemotorwithprojected

frames.

Althoughmanyaspectsoftheembeddeddesignweresuccessfullyimplementedinsimulation,

theteamwasunabletoimplementtheseintothefinalsystemimplementation.Inordertotransform

theprojectdeliverablesintoafullend-to-endembeddedsystem,multipleitemsthatwereinthe

proposedandsimulateddesignbutnotinthefinalimplementationmustbetakenintoaccount.First,

thevoxelizationsoftwarewasnotfullydevelopedinCandthuswasnotimplementedinPetaLinux.This

isduetotimeconstraintsandprojectscope.Thisholdsequallytrueforthebitmapgenerationsoftware,

whichattemptstoutilizemoreresourcessuchasvirtualmemorythantheZynq-7000SoChasavailable

toit.ThedeliverablealsoreliesonaconnectiontoaPCinordertoloadtheprojectionimagesbecause

theUSBconnectivitywiththeLightCrafterusingRNDIScouldnotbeimplementedontheZedBoarddue

totimeandtechnologyconstraints.Althoughmanyattemptsweremadetomendtheconnectionissue,

asolutioncouldnotbefound.Thefunctionaldeliverablereliesonthevoxelizationbeingcompletedin

MATLABandtheLightCrafterbeingconfiguredusingaworkstationPC.

Therearealsovariousitemsthatwerenottakenintoaccountintheinitialdesignprocess.Each

componentofthedesignedsystemreliesonaseparatepowersourcewhileideallyafinalproductwould

utilizeasinglepowersourceresponsibleforeverycomponent.Themotorisalsonotcontrolledbythe

systembutinsteadmustbemanuallystartedafterboththeprojectorandprojectioncontrolsystemare

readyfortherotationtobegin.

Page 64: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

63

TheZedboardandZynqSoCprovedtobetheidealplatformfortheresearchanddevelopment

ofthesystem.Thecombinationoftheembeddedprocessorandprogrammablehardwareprovided

flexibilityintheexperimentationanddevelopmentofthedifferentprocessingmodules,allowingfor

changesinthesystemdesign.TheSoCwouldbeidealforacompleteembeddedsystemtoreapthe

benefitsofbothsoftwareandhardwareprocessing.

6.1Futurework

Therearevariouscomponentsofthesystemthatcanbeimproveduponthroughfuturework.

Oneimportantissuethatisapparentwithboththecurrentdesignandphysicalsystemisthelackof

distortioncompensation.Theconeanglehasbeencompensatedforbyusingaconically-distortedhelix

toslicethemodel,howevertheangleofthebeamoutoftheprojectorisnotdirectlytangenttothe

normalvectoroftheprojectorlensandthusneedstobetakenintoaccountbytheslicingalgorithm.

OtherfutureworkwouldinvolveunifyingtheZynqSoCplatformandDLPplatformontoasinglepieceof

hardware.BothsystemsutilizeanFPGAforparallelprocessingandafutureunificationwouldallowthe

twosystemstoshareFPGAfabric,removingtheneedfortheRNDISUSBconnectivityaswellastheneed

tobringtheslicesbackintotheprocessingsystemforthegenerationofbitmaps.Thisalsowouldlower

latencyinthattheLightCrafterwouldnotneedtorelyonitsownonboardLinuxsystem.Inaddition,the

resolutionoftheprojectedimagecanbeimprovedfrom20x20x20forabetterqualityimage.Thismay

requiretheuseofexternalDDR3memoryasopposedtothesoleuseofon-chipblockRAMtomeet

memorycapacityrequirementsofincreasedresolution.

Page 65: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

64

References[1] J. Geng, “Three-dimensional display technologies,” Advances in Optics and Photonics, vol. 5, no. 4,

p. 456, 2013. [2] M. David, “New Approach to Volumetric Displays,” The Critical Technologist, 2012. [3] B. G. Blundell, “Volumetric Displays,”AccessScience (McGraw-Hill Education, 2014). [4] J. Yue, F. Jiao and C. Shen. “The key technologies of helix rotating screen volumetric-swept

display system.” 2009, . DOI: 10.1109/ICISE.2009.1227. [5] Scratchapixel. "Introduction to Polygon Meshes." Scratchapixel. 02 Apr. 2015. Web. [6] “Polygon mesh,” Wikipedia, 2017. [Online]. Available:

https://en.wikipedia.org/wiki/Polygon_mesh.[7] J. Xing et al. “Imaging algorithm for volumetric display based on double-helicoid scanning screen.”

2012, . DOI: 10.1109/IBCAST.2012.6177531 [8] M. W. Jones, “The production of volume data from triangular meshes using voxelization,”Computer

Graphics Forum, vol.15, pp. 311-318, 1996. [9] G. Turk, “The Stanford Bunny,” The Stanford Bunny, 2000. [Online]. Available:

http://www.cc.gatech.edu/~turk/bunny/bunny.html. [10] S. Patil and B. Ravi. “Voxel-based representation, display and thickness analysis of intricate shapes.”

2005, . DOI: 10.1109/CAD-CG.2005.86. [11] A. Hughes, “Electric motors and drives: fundamentals, types, and applications.” Kidlington: Elsevier,

2006. [12] F. Reed, “How Do Servo Motors Work,” Jameco Electronics, Belmont, CA. [Online]. Available:

http://www.jameco.com/jameco/workshop/howitworks/how-servo-motors-work.html. [13] B. Lipták,” Instrument Engineers' Handbook.” Boca Raton, FL: CRC Taylor & Francis, 2006. [14] “Geometric Optics for DLP®,” Texas Instruments, Dallas, TX, 2013. [Online]. Available:

http://www.ti.com/lit/an/dlpa044/dlpa044.pdf [15] T. Wilson, “How DLP Sets Work,” HowStuffWorks, 2005. [Online]. Available:

http://electronics.howstuffworks.com/dlp2.htm [16] G. F. Marshall, “Handbook of optical and laser scanning,” Lincoln Laser, Boca Raton, FL: CRC

Press Taylor & Francis, 2012 [17] “DLP vs LCD Projectors - Guide,” Purple Cat - Audio Visual products and installation, Ossett, UK.

[Online]. Available: http://www.purple-cat.co.uk/dlp-or-lcd-projectors-guide [18] Zedboard. http://zedboard.org/sites/default/files/product_spec_images/ZedBoard_RevA_sideA_0_

0%20%281%29_0.jpg [19] "Zynq-7000APSoCFamilyProductTablesandProductSelectionGuide,"Xilinx.[Online].Available:

https://www.xilinx.com/support/documentation/selection-guides/zynq-7000-product-selection-guide.pdf

[20] Xilinx. http://www.wiki.xilinx.com/file/view/block_sata.png/516676974/800x483/block_sata.png [21]"ZedBoard(Zynq™EvaluationandDevelopment)HardwareUser’sGuide,"ZedBoard.[Online].

Available:http://zedboard.org/sites/default/files/documentations/ZedBoard_HW_UG_v2_2.pdf[22] ZedBoard. http://zedboard.org/sites/default/files/product_spec_images/block%20diagram

_0_0.jpg [23] “DLP® LightCrafter™ Evaluation Module (EVM) User's Guide,” Texas Instruments, Dallas, TX,

2014. [Online]. Available: http://www.ti.com/lit/ug/dlpu006e/dlpu006e.pdf [24] Texas Instruments. http://www.ti.com/diagrams/dlplightcrafter_dlp_lightcrafter_board_1.jpg [25] Adam A. “Mesh voxelisation,” MathWorks. [Online].

Page 66: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

65

https://www.mathworks.com/matlabcentral/fileexchange/27390-mesh-voxelisation[26] “Porsche,” National University of Singapore STL Library. [Online].

http://www.eng.nus.edu.sg/LCEL/RP/u21/wwwroot/stl_library.htm.[27] “Bitmap Storage,” Microsoft. [Online]. Available: https://msdn.microsoft.com/en-

us/library/windows/desktop/dd183391(v=vs.85).aspx [28] “AXI Reference Guide,” Xilinx, 2011. [Online]. Available: https://www.xilinx.com/support/document

ation/ip_documentation/ug761_axi_reference_guide.pdf

Page 67: Volumetric Display Research...1 Abstract The goal of this project was to research and develop a volumetric display system that allows a three-dimensional CAD file to be displayed in

66

Appendices

AppendixA:MATLABSimulationCodeTheSystemSimulationMATLABscriptcanbefoundin:

VDR_MQP_FILES/MATLAB Algorithm and Sims/Mesh_voxelization/VOXELIZE_SLICE_SIMULATION.m

AppendixB:LightCrafterAPICode

TheLightCrafterAPIcodecanbefoundin:VDR_MQP_FILES/PS System/lightcrafter_code_arm/main.c

AppendixC:BitmapGenerationCodeTheBitmapGenerationcodecanbefoundin:

VDR_MQP_FILES/PS System/bmpgen.c

AppendixD:SliceModuleTestCodeTheSliceTestwiththeVGAdisplayVivadoProjectarchivecanbefoundin:

VDR_MQP_FILES/PL System/Slice_Test.xpr.zip

AppendixE:SliceProcessorCode

TheSliceProcessorVivadoProjectarchivecanbefoundin:VDR_MQP_FILES/PL System/Slice_Processor.xpr.zip

AppendixF:EncoderModuleCodeTheEncoderModuleVivadoProjectarchivecanbefoundin:

VDR_MQP_FILES/PL System/Encoder_Module.xpr.zip

AppendixG:FullPLSystemCodeTheFullPLSystemVivadoProjectarchivecanbefoundin:

VDR_MQP_FILES/PL System/Full_PL_System.xpr.zip

AppendixH:WireColorGuideThecolorcodedwiresofthesystemareconnectedtotheZedBoardpinsasseeninthefollowing

image.PleaserefertotheZedBoardHardwareUser'sGuideforpinoutlocations.


Recommended