hi my name is matthew runyon and this is
an hi my name is matthew runyon and this is
intelligent system to analyze sketched an
solutions to open-ended truss problems intelligent system to analyze sketched
so first we'll start with the problem so solutions to open-ended truss problems
engineering students need practice with so first we'll start with the problem so
open-ended problems in order to improve engineering students need practice with
their critical thinking skills and help open-ended problems in order to improve
prepare them for jobs their critical thinking skills and help
but open-ended problems can be difficult prepare them for jobs
to grade and also time-consuming but open-ended problems can be difficult
so instructors typically must validate to grade and also time-consuming
each student's calculations so instructors typically must validate
and every student will have a different each student's calculations
solution to the problem and every student will have a different
and so basically large classes can make solution to the problem
open-ended problems infeasible for and so basically large classes can make
instructors to assign open-ended problems infeasible for
so for this project we looked at an instructors to assign
open-ended problem for a statics class so for this project we looked at an
which was designing a 2d truss bridge open-ended problem for a statics class
so some existing systems and their which was designing a 2d truss bridge
limitations there's some so some existing systems and their
statics homework systems such as limitations there's some
wileyplus or mcgraw-hill connect but statics homework systems such as
these systems don't require free body wileyplus or mcgraw-hill connect but
diagrams and they typically don't have these systems don't require free body
open-ended problems diagrams and they typically don't have
all the problems just have a single open-ended problems
solution and are what you would normally all the problems just have a single
find in the textbook solution and are what you would normally
and then there's also truss analysis find in the textbook
systems which would be systems that an and then there's also truss analysis
instructor might use to grade systems which would be systems that an
an open-ended truss problem but instructor might use to grade
it still requires a lot of time for the an open-ended truss problem but
instructor potentially and could have a it still requires a lot of time for the
steep learning curve in order for the instructor potentially and could have a
instructor to use something steep learning curve in order for the
like solidworks simulation just to check instructor to use something
their students answers like solidworks simulation just to check
so the solution of course is to use ai their students answers
so we wanted students to be able to draw so the solution of course is to use ai
the truss by hand so we wanted students to be able to draw
and so we used sketch recognition in the truss by hand
order to understand the truss and so we used sketch recognition in
and also in order to help check the order to understand the truss
solution against open-ended constraints and also in order to help check the
so the students receive immediate solution against open-ended constraints
feedback with automatic grading which so the students receive immediate
helps reduce the burden on instructors feedback with automatic grading which
so they don't have to grade these helps reduce the burden on instructors
problems by hand and so we so they don't have to grade these
created a web app which automatically problems by hand and so we
grades open-ended bridge design created a web app which automatically
problems grades open-ended bridge design
so a quick system overview the students problems
first draw the truss they design so a quick system overview the students
when they're done drawing the truss they first draw the truss they design
click a finished button when they're done drawing the truss they
this just prevents the system from click a finished button
providing visual feedback this just prevents the system from
and recognizing a truss that's an providing visual feedback
intermediate step and recognizing a truss that's an
to the truss that they wanted to draw intermediate step
ultimately to the truss that they wanted to draw
the students then draw the forces that ultimately
are applied and input the students then draw the forces that
the side lengths and angles so if the are applied and input
students the side lengths and angles so if the
provide enough side lengths or angles to students
define one of the triangles in this case provide enough side lengths or angles to
then the remaining side lengths and define one of the triangles in this case
angles are automatically filled in for then the remaining side lengths and
them angles are automatically filled in for
and then the students provide the max them
load that the trust can support and the and then the students provide the max
system automatically grades it and load that the trust can support and the
provides them with feedback system automatically grades it and
so we'll cover the truss recognition
first so we'll cover the truss recognition
so the first step is to segment strokes first
and we use so the first step is to segment strokes
an algorithm called shortstraw to and we use
create different substrokes from an algorithm called shortstraw to
what the student drew and on top of that create different substrokes from
we also what the student drew and on top of that
segment the substrokes such that every we also
substroke intersects segment the substrokes such that every
another sub stroke at its end point only substroke intersects
so you can't if you have a another sub stroke at its end point only
system like this where you have a t so you can't if you have a
you'd end up with three separate system like this where you have a t
substrokes even if it was drawn with two you'd end up with three separate
strokes substrokes even if it was drawn with two
then we convert the substrokes into a strokes
graph so if the endpoints of then we convert the substrokes into a
the substrokes are within 40 pixels of graph so if the endpoints of
each other we the substrokes are within 40 pixels of
determine these to be intersecting at each other we
the same node in the graph determine these to be intersecting at
and then so we combine them and call the same node in the graph
them the same node and then so we combine them and call
and then we check if the graph is them the same node
connected so the problem is to create a and then we check if the graph is
single truss so if there's connected so the problem is to create a
any disjoint section then single truss so if there's
it's not a single truss it would be any disjoint section then
multiple trusses or it's not a single truss it would be
just a random shape and then we check multiple trusses or
a couple of simplifications for the just a random shape and then we check
introductory class a couple of simplifications for the
so we require the students to make their introductory class
trusses completely out of triangles so we require the students to make their
it is possible to have trusses with trusses completely out of triangles
other shapes within them but triangles it is possible to have trusses with
are the most common other shapes within them but triangles
and most typically what you would see are the most common
in these classes and most typically what you would see
and then we also check that the in these classes
triangles share an edge with another and then we also check that the
triangle triangles share an edge with another
and this is part of a static triangle
determinancy check which we'll also talk and this is part of a static
about in a moment determinancy check which we'll also talk
so then after the truss is recognized we about in a moment
find so then after the truss is recognized we
the logical coordinates of the truss so find
the logical coordinates are what we the logical coordinates of the truss so
refer to as the logical coordinates are what we
the actual position that the student refer to as
intended based on their labels and not the actual position that the student
based on what they drew intended based on their labels and not
because it's very very unlikely that based on what they drew
anyone would draw because it's very very unlikely that
perfectly to scale of what they wanted anyone would draw
so we start by looking at node a we call perfectly to scale of what they wanted
that point zero zero so we start by looking at node a we call
and then we find the nearest node to the that point zero zero
horizontal axis from a and then we find the nearest node to the
so in this case it's f and it's close horizontal axis from a
enough to the horizontal axis that we so in this case it's f and it's close
don't ask the student for an angle enough to the horizontal axis that we
if it were further away from the don't ask the student for an angle
horizontal axis at an angle we would if it were further away from the
then require the student to input the horizontal axis at an angle we would
angle then require the student to input the
in between the horizontal axis and that angle
beam in between the horizontal axis and that
so using the student's input we can say beam
that f is at position four so using the student's input we can say
zero and then we do a breadth-first that f is at position four
search from a zero and then we do a breadth-first
in order to find the remaining search from a
coordinates of the unknown nodes in order to find the remaining
so we would go to c and see since we coordinates of the unknown nodes
know so we would go to c and see since we
the coordinates of a and f we can know
calculate the coordinates of c using a the coordinates of a and f we can
rotation matrix calculate the coordinates of c using a
so that's this matrix here and what we rotation matrix
do is we find so that's this matrix here and what we
the unit vector from point a to point c do is we find
using the rotation matrix and then using the unit vector from point a to point c
the coordinates of a using the rotation matrix and then using
plus the input from the student we can the coordinates of a
determine the coordinates of c plus the input from the student we can
using this equation determine the coordinates of c
so the next step is once the student
submits their so the next step is once the student
answer we check the internal forces submits their
so first we check for static answer we check the internal forces
determinancy this is an equation based so first we check for static
on the number of nodes determinancy this is an equation based
beams and external reaction forces in on the number of nodes
the truss beams and external reaction forces in
and then we generate if it's the truss
statically determinate we generate two and then we generate if it's
equations of equilibrium per node statically determinate we generate two
one in the x direction and one in the y equations of equilibrium per node
direction and so these equations will be one in the x direction and one in the y
in the form of ax plus b direction and so these equations will be
equals zero so in this case we would in the form of ax plus b
have up to six equals zero so in this case we would
equations but we remove the equations have up to six
that deal with the equations but we remove the equations
external reaction forces because we that deal with the
don't need them external reaction forces because we
so we have this coefficient matrix which don't need them
is the so we have this coefficient matrix which
the component force of each beam is the
reaction force so we have beams ab ac the component force of each beam
and bc reaction force so we have beams ab ac
and then we have the externally applied and bc
forces which in this case is p and then we have the externally applied
and so we can use the logical forces which in this case is p
coordinates to determine these and so we can use the logical
components of the beam forces coordinates to determine these
so then we check the constraints so we
use lu decomposition in order to solve so then we check the constraints so we
the system of equations from before use lu decomposition in order to solve
so we assign a value of one for each the system of equations from before
possible external force so in this case so we assign a value of one for each
we only have one value p possible external force so in this case
but this can be scaled up if you have we only have one value p
p and q for example you would solve but this can be scaled up if you have
the same system of equations twice once p and q for example you would solve
with p equal to one the same system of equations twice once
and q equal to zero and then once with with p equal to one
those values reversed and q equal to zero and then once with
so in that case you use superposition to those values reversed
combine the multiple external forces so so in that case you use superposition to
this combine the multiple external forces so
right here gives the effect of this
the load p on the internal force in each right here gives the effect of
of the three members the load p on the internal force in each
so then we can check that the of the three members
constraints are met which in this case so then we can check that the
there is a minimum and maximum length constraints are met which in this case
for the bridge there is a minimum and maximum length
and then there is amount of tension and for the bridge
compression that each of the beams could and then there is amount of tension and
support compression that each of the beams could
and then there was a minimum load that support
the bridge needed to support and then there was a minimum load that
so just a quick evaluation of the
interface we tested this in an so just a quick evaluation of the
introductory statics course interface we tested this in an
there are 58 students that participated introductory statics course
between software and paper and pencil there are 58 students that participated
groups between software and paper and pencil
and of those 58 we took 16 students for groups
focus groups and of those 58 we took 16 students for
and we analyzed the focus groups using focus groups
conventional content analysis and we analyzed the focus groups using
and as a note the problem was assigned conventional content analysis
just before and as a note the problem was assigned
covid caused classes to go completely just before
virtual in march of 2020. covid caused classes to go completely
so the student experiences with the virtual in march of 2020.
problem overall the students seemed to so the student experiences with the
like the problem they problem overall the students seemed to
liked that it was different they felt it like the problem they
was helpful but we noted that the liked that it was different they felt it
students in the software group mentioned was helpful but we noted that the
that they felt that they applied students in the software group mentioned
iterative design more and that that they felt that they applied
the problem was helpful and encouraged iterative design more and that
their creativity and critical thinking the problem was helpful and encouraged
more than the paper and pencil group their creativity and critical thinking
mentioned we think that this was due more than the paper and pencil group
to the fact that the students in the mentioned we think that this was due
software group had immediate feedback to the fact that the students in the
whereas students in the paper and pencil software group had immediate feedback
group didn't receive any feedback whereas students in the paper and pencil
until they submitted the problem group didn't receive any feedback
the student experiences with the
software overall most the student experiences with the
students in the software group mentioned software overall most
that they liked the real-time feedback students in the software group mentioned
and they found this system efficient to that they liked the real-time feedback
use and they found this system efficient to
some dislikes were that they thought it use
was a little bit messier which we think some dislikes were that they thought it
was was a little bit messier which we think
probably due to students not every was
student having a stylus probably due to students not every
to use and instead having to use either student having a stylus
a mouse or use their finger on a tablet to use and instead having to use either
and then there are a couple of notes a mouse or use their finger on a tablet
about intermittent recognition issues and then there are a couple of notes
from some of the students about intermittent recognition issues
so with that from some of the students
complaint in mind we we investigated so with that
what caused some of those issues complaint in mind we we investigated
and so we looked at any time when a what caused some of those issues
student had to erase and so we looked at any time when a
a part of their sketch as a potential student had to erase
spot for where an error may have a part of their sketch as a potential
occurred and of those there were only spot for where an error may have
about nine potential spots occurred and of those there were only
so looking through them and watching about nine potential spots
the playbacks so looking through them and watching
most of the errors were due to user the playbacks
error most of the errors were due to user
where they were either drawing things error
out of order or where they were either drawing things
not drawing a complete truss and out of order or
thinking that it was supposed to that it not drawing a complete truss and
should have been recognized as a truss thinking that it was supposed to that it
there was one instance where a should have been recognized as a truss
student drew a beam there was one instance where a
with multiple strokes like this and that student drew a beam
wasn't supported so that was a with multiple strokes like this and that
recognition wasn't supported so that was a
problem that we need to address and recognition
there are a couple of instances of what problem that we need to address and
we call there are a couple of instances of what
short and fat arrows where we just we call
needed to short and fat arrows where we just
relax some of the constraints for our needed to
arrow recognition system relax some of the constraints for our
talking about the algorithmic arrow recognition system
accuracy overall we tested the truss talking about the algorithmic
on a accuracy overall we tested the truss
set of 3000 trusses and non-trusses on a
it correctly rejected all of the set of 3000 trusses and non-trusses
non-trusses and it missed a handful of it correctly rejected all of the
real trusses mostly due to them either non-trusses and it missed a handful of
containing non-triangle shapes real trusses mostly due to them either
or having multiple strokes for a single containing non-triangle shapes
beam and we got an f-score of 0.997 on or having multiple strokes for a single
our data set beam and we got an f-score of 0.997 on
so in conclusion students felt the our data set
problem was valuable practice so in conclusion students felt the
most of the students reported positive problem was valuable practice
experiences with the software most of the students reported positive
and then the students attempted more experiences with the software
designs and were and then the students attempted more
more successful in general with this designs and were
problem on software over paper and more successful in general with this
pencil there's more info about this problem on software over paper and
in a paper that we had published in fie pencil there's more info about this
and then in a paper that we had published in fie
some future work we want to expand the and then
types of trusses that can be some future work we want to expand the
accepted and also add analysis for types of trusses that can be
statically indeterminate trusses accepted and also add analysis for
so thank you for watching statically indeterminate trusses