Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ben Cordova Brendan Dahl Eric Hall Jeff Bartlett Professor Peter Young Dr. Narda Robinson Dr. Regina Schoenfeld-Tacher.

Similar presentations


Presentation on theme: "Ben Cordova Brendan Dahl Eric Hall Jeff Bartlett Professor Peter Young Dr. Narda Robinson Dr. Regina Schoenfeld-Tacher."— Presentation transcript:

1 Ben Cordova Brendan Dahl Eric Hall Jeff Bartlett Professor Peter Young Dr. Narda Robinson Dr. Regina Schoenfeld-Tacher

2 MRI or CT Scan Data AMIRA Solid Model User Physical ModelComputer Model Haptics Device touchesUI rotation H3DAPI stylus

3  Purpose: To simulate a sense of touch feedback that acupuncture provides without physically touching the mannequin  SensAble PHANTOM Omni Haptics Device:  Allows users to touch and manipulate virtual objects  Model is the most cost- effective  Portable design and compact footprint  IEEE-1394a FireWire port interface

4  File received was in Amira Mesh (*.am) format  Amira Mesh is a list of integers which describes a 3D image  Each integer corresponds to a different flesh material  Example: describes a single black point in a 3x3 Amira Mesh of white points  Amira 3D can translate the Mesh file to a Wavefront (*.obj) file 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

5  Represents a 3D object describing surface triangles  Surface is made up of vertices and faces  Vertices are 3D point locations and are listed first  Faces are comprised by three vertices (listed by index)  The example below describes a 4-faced pyramid v x1 y1 z1 //vert1 v x2 y2 z2 //vert2 v x3 y3 z3 //vert3 v x4 y4 z4 //vert4 f 1 2 3 f 1 2 4 f 1 3 4 f 2 3 4 x1,y1,z1 x2,y2,z2 x3,y3,z3 x4,y4,z4

6 Operating System PHANTOM Omni Device Drivers Without API Link Libraries C++ Code Operating System PHANTOM Omni Device Drivers C++ Code With API H3D API X3D Code Python Code Link Libraries

7 DogStart.py Provides User Interface Calls Dog.py’s update() function on each scene refresh. Performs Point Set Comparison, Grading, & Saving. dog_main.x3d H3D File that contains file linkage information. Main Executable enclosure.x3d Defines H3D Object and Environment (viewpoint, dog, stylus). Dog.py Main class for the haptic interaction. Contains an update() function that is called on each scene refresh. Performs point touch acquisition. Performs object rotation. MySQL Database Contains current rotational value of the Physical Dog Head.

8 Old Concept Motor, PIC, RS232 Device Problems with Previous Design

9 New Design  Parts Removed:  PIC, RS232, Motor, Gear assembly  Parts Added  MA3, magnetic shaft encoder  DU-158U, Analog/Digital Converter

10 Coupled the two shafts together Possible Improvement

11  Divide and conquer method  Two closest points  d is the minimum distance between all pairs of points  Split the points into two equal subsets  Find the minimal distances for each side d l and d r  Compute the minimum distance δ between S l and S r  Minimum between δ, d l and d r  Not good for looking at each of the teacher points and each of the student points and comparing them

12  Loop through each of the teacher points for each student point  A hit is a Teacher Point that is closest to the current Student Point  At each hit, we remove this teacher point from the available teacher point list  This way in the end we will know if there are still teacher points that were not hit

13 Flaw with algorithm:  There could arise a situation in which a teacher point was removed on accident  This case rare because the Student attempts should be 1 to 1 with Teacher Points Grading:  Finally, the code saves the student points as they go through the simulation.  The code prints out :  The Student Point  The Target Teacher Point  The distance between the two for comparison (5 mm) a b m n x y

14  The partitioning of a plane with n points into convex polygons  Each polygon contains exactly one generating point  Every point in a given polygon is closer to its generating point than to any other generating point  A point location data structure can be built on top of the Voronoi diagram in order to answer nearest neighbor queries  With this algorithm we can not only determine which point the student was aiming for by marking if its in the region, we can also know for sure if a region was missed altogether  Tricky to turn the program into 3D by making Voronoi regions into polyhedrons

15

16

17

18 Initial Budget$25,000.00 FA2006 - SP2007-$9,177.74 FA2007:-$47.76 Python Programming Book-$32.00 Magnetic Encoder-$42.03 1 st A/D Converter-$114.73 Base Unit Hardware-$9.00 2 nd A/D Converter-$50.00 Senior Design Student Allotment +$200.00 Total$15,774.50  Because Python, the H3D API, & MySQL are open source, there was no cost associated with the Test Program.  We did have to purchase some new parts for the Base Unit.  Most of our purchases for this semester were covered by the $50 per student allotment.

19  Head/Haptics Device Calibration  Create communication stream from Test Program to Base Unit USB Device  Incorporation of Voronoi Algorithm for Grading  Expansion of current UI

20


Download ppt "Ben Cordova Brendan Dahl Eric Hall Jeff Bartlett Professor Peter Young Dr. Narda Robinson Dr. Regina Schoenfeld-Tacher."

Similar presentations


Ads by Google