top of page

Evaluating Form Closure

Evaluating form closure of an object is important when working with robotic arms that perform grasping or manipulation of an object. When the sum of all forces acting on a body is zero, the body is in form closure. This analysis is made for planar bodies, but it can be traslated to spatial bodies.

Here, I wrote a program to determine if a planar rigid body, subject to a specified set of stationary point contact, is in form closure. 

 

I used two scenarios, one where the set of coordinates successfully yields form closure, and one with the same coordinate locations, but changing the direction of coordinate #3 from 225 to 170 degrees, causing the body not to be in form closure. 

 

First, it takes as input a list of stationary point contacts on the body, each specified by the (x,y) contact location and the direction of the contact normal. Then, it creates a matrix of all contact wrenches, where a wrench is a representation of a force acting on a point, and the moment it generates.

After that, it uses linear programming to find a vector k of nonnegative wrench magnitudes at the contacts, such that the sum of contact wrenches in the body equals zero. 

Finaly, it returns either True or False to show if is in form closure, or not in form closure.

Representation of the contact forces in the cases for in form closure and not in form closure.

This project helped me to better understand the effect acting forces on different points of an object, and how important is the direction of the force on the contact point. I also learned that the system will have different force magnitudes on each contact point to maintain equilibrium. 

I used Python 3.7 to develop this program, with the libraries numpy, scipy, matplotlib, math and csv. I also used the library 'modern_robotics' provided in the Modern Robotics wiki website.
http://hades.mech.northwestern.edu/index.php/Modern_Robotics
For the simulations, I used the software V-REP EDU PRO software.

python.png
v-rep-pro-edu.png

I followed the assignments in the Course 5: "Robot Manipulation and Wheeled Mobile Robots", which is part of the online specialization "Modern Robotics: Mechanics, Planing and Control" offered by Nortwestern University and Coursera.

nu-horizontal.gif
f76415d3d9779400d610a0f089f551e5.jpg

©  2022 by Marissa Campa. Created with Wix.com

bottom of page