Friday, September 4, 2015

Reading 1 : Mechanix and Free-Body Diagrams

Citation:
S Valentine, F Vides, G Lucchese, D Turner, H Kim… - AI Magazine, 2012

Summary:
Scalar mechanics, beam stress analysis, etc. are some of the important techniques that every civil and mechanical engineer needs to be well versed in. This paper discussed Mechanix, an software that tries to teach these skills to students, allowing them to hand-draw figures, analyzes these strokes and provide intuitive annotations and feedback to help students draw a diagram correctly and understand the underlying concepts. The paper first discusses past work in this area, all of which have only been partial solutions, or do not give students the liberty to hand draw diagrams. Mechanix blends the traditional and authentic practice of hand-drawing diagrams, with a touch of artificial intelligence, to create a rich and visually enriching learning experience for students. The authors then document a myriad of interaction methods and geometric recognition techniques that have been used in Mechanix for features such as truss recognition, answer correction, scribbling, etc. It also discusses the overall distributed architecture of the system, and how students' solutions are evaluated securely at a server location, against the predefined sketches and equations designed by the instructor.


Discussion:
As I have used Mechanix before and am familiar with the user experience, the main takeaways from this paper are a couple of things - how Mechanix is better than its predecessors, and what algorithms does Mechanix use?

Prior to Mechanix:
1. Sketch-Worksheets: Generates raw facts about sketches, doesn't actually understand diagrams. Heavily dependent on the instructor to filter these facts.
2. Wintruss/Bridge Architect: No hand-drawn input, and offer only partially completed solutions
3. Andes Physics/Free Body Diagram Assistant: Pick and use shapes, no actual drawing, which is bad in the long run.
4. Newton's Pen: Forcing drawing in a very specific order.


Algorithms that power the various features of Mechanix:

1. Scribbling
Scribbles are understood as combinations of strokes within a small time interval. The algorithm also uses the region of scribbling whether to erase a single stroke, or a partial or full shape.

2. Steps in Geometric Recognition: This phase uses a kind of agglomerative clustering algorithm, whereby clusters of shapes are formed based on some pre-understood domain knowledge on the various possible complex shapes, and this goes on until no more clusters/groups of shapes can be merged.

(i) Stroke Segmentation: Cusp Detector (Wolin 2010)
(ii) Primitive Shape : PaleoSketch (Paulson and Hammond 2008)
(iii) Adding primitive shapes to collection of shapes.
(iv) Analyze various shape grouping using high level recognizers
(v) Replace low level shapes with high level shapes, and return to step (iii)


3. Truss Recognition
Trusses are recognized primarily by detecting shared edges. To find out if two polygons share a particular edge, we remove that edge from the graph form by the vertexes of polygon and the edges, and evaluate using BFS if there is still a way to reach B from A, where AB is the removed edge.

4. Answer Checking
(i) Checks for truss configuration, by representing the completed sketch as a graph, and compares with instructor's solution using Graph Isomorphism
(ii) Checks for axis and presence of forces and their directions
(iii) Checks force values 


5. Generic Closed-Shape Comparison Technique
Makes use of three similarity measures :  Hausdroff distance, Modified Hausdroff Distance, and Tanimoto Coefficient. They basically try to gague geometric similarity, as well as ratio of points overlapping between studen'ts solution and instructor's solution.

6. Creative Response
Uses the constraints provided by instructor to frame its own set of solutions against which the student's work is compared.

7. Distributed Architechture
The student's workspace is transferred in the form of XML document to a session at a server running Mechanix. Load balancing is done using HAProxy.




No comments:

Post a Comment