Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Animation profile development explained simply in the previous Kinematic Analysis portion.

Highlighted Coding Sections -

...

Instead of finding the torsional gradient for what would be necessary for a soft finger with links, we simplify the flexure into a discrete Pseudo-Rigid-Body. Thus, we treat each finger section as a beam, and we use the Euler-Bernoulli beam theory, learned from our solids class. By calculating the second moment of area and distinct lengths, we can return obtain a torsional stiffness per link.

...

We needed to identify torsional stiffness and then anticipate estimate the max maximum displacement our fingers could move as undergo to identify determine boundary conditions or “limits.” This max displacement was derived from the distance of the pivot to where a tendon began (r), and then the degrees the finger could move between each pivot (θ), r1θ + r2θ + r3θ.

...

We need to establish a relationship between motor movement and finger curling. The problem of relating a linear system with a complex dyanmic nonlinear system, our finger, is difficult. We opreated some a basic assumptions though to find a method to use: the more tension we added, the more the finger would move. The bisection method, operating under this assumption, ensures that we can find motor movement connected to a finger curl. The code calculates the midpoint tension and "tests" it using our Forward Model. If the resulting pull is less than the motor's current position, we know we need more tension (the lower bound moves up). If the pull is greater, we need less tension (the upper bound moves down). By iterating over and over we can find a static equilibrium that lets us model what the physical movement should look like.

...

We can then translate these joint angles back into a coordinate map to visualize the finger's actual position in 2D space. To achieve this, we treat the structure as a 3-Revolute (3R) serial chain and perform forward kinematics. Starting at the base coordinate (0,0), the code recursively calculates the position of each joint by accumulating the previous angles and applying trigonometric functions. This allows us to track the fingertip trajectory and mathematically prove our "sequential curling" design goal, confirming that the proximal joints engage before the distal ones to wrap around an object.

...

Finally, we use a mobility analysis as a sanity check to ensure our system is controllable. By applying the Kutzbach Criterion, the code verifies that despite the complexity of three interconnected joints, the finger possesses exactly one degree of freedom (1-DOF). This confirms that our software logic is sound: since the system is deterministic, a single motor input is sufficient to define every joint angle, an proves that our single-actuator design can reliably manage a multi-jointed compliant structure.