250 likes | 263 Views
Project Presentation On “Improving the Novint Falcon”. From : Scott Teuscher Aman Shah. About Novint Falcon. Novint Falcon : 3-DOF, Impedance type Haptic Device. Mechanism used is modified delta mechanism. Cost : 150$ only…..
E N D
Project Presentation On “Improving the Novint Falcon” From : Scott Teuscher Aman Shah
About Novint Falcon Novint Falcon : 3-DOF, Impedance type Haptic Device. Mechanism used is modified delta mechanism. Cost : 150$ only….. Performance : Varies from device to device, due to cheap motors, cheap encoders etc. But really cheap device for any beginner to start his/her research work. Cool device to play games and have real force feedback. Courtesy of : http://www.terminally-incoherent.com/
Our Initial Goals • To improve the performance of the device by implementing Gravity and Friction Compensation.
How far have we reached? • We did implemented the Gravity Compensation, by computing it’s Kinematics, calculating COM, forming Jacobian Matrix, calculating the masses and then calculating & giving the force output to the device. • We already have the dynamics calculated for the device.
Approach Initially, we proceeded with the paper on : Delta robot: inverse, direct, and intermediate Jacobians by M Lo´pez1, E Castillo, G Garcı´a, and A Bashir We computed Kinematics using this paper. Fig. Original Delta Mechanism Courtesy of: http://journals.pepublishing.com/content/8w134w1h7r3p7rj2/fulltext.pdf
Movies • Without Gravity Compensation • With Gravity Compensation
The major turnaround!!! We later on, found online a Ph.D. Thesis Report of R.E. Stamper on “A Three Degree of Freedom Parallel Manipulator with Only Translational Degrees of Freedom”. • We found that the work what we were trying to do was already done way back!!! • Gravity and Friction Compensation both were already done.
Further Modifications • We made few modifications in our original Inverse Kinematic Equations, based on modified delta mechanism. • Jacobian Matrix and Gravity Compensation implemented from the Phd Paper with further modifications.
How were we same?? Courtesy of: http://libnifalcon.wiki.sourceforge.net/space/showim age/PhD_97-4.pdf Courtesy of: www.thg.ru Fig. Modified Delta Mechanism used in the Phd paper
How were we different?? • Assumptions being made. • Falcon mechanism is different, than the Thesis Paper in two ways. Courtesy of : http://www.terminally-incoherent.com/ Courtesy of : http://libnifalcon.wiki.sourceforge.net/space/showimage/PhD_97-4.pdf Direction of Gravity Force Direction of Gravity Force
Goals being modified!!! • Building a 5-DOF device using 2-Falcons.
Alternative available in the Market Quanser HD^2 High-Definition Haptic Device. It’s an 5-DOF Device. Cost : $70,000... Courtesy of: www.trafficcomplex.com Courtesy of : www.quanser.blogspot.com
What can be the cheaper alternative??? Build an 5-DOF Haptic Device using two Falcons. Cost : 320$ [2 Falcons + $20] Performance : Improved by our Gravity Compensation. Courtesy of: upload.wikimedia.org
Software • Open Source software available at www.chai3d.org. • Chai3d Beta Version 2.0 • Visual Studio 2003 or above is required. • OpenGl & Microsoft SDk are required. • Latest Novint Drivers from www.novint.com.
Future Goals • Implementing Friction Compensation, to make device feel much better. • Make the current code more efficient. • Make new virtual environments.
Information about DEMO • Gravity Compensation working for the New 5-DOF Device. • Few Virtual Environments to interact.
Thank You.Any Questions??? Courtesy of : www.crewelive08.com
Computing Inverse Kinematics • float theta33_1 = acos((px*sin(phi_1)/bb + py*cos(phi_1)/bb)); • float theta33_2 = acos((px*sin(phi_2)/bb + py*cos(phi_2)/bb)); • float theta33_3 = acos((px*sin(phi_3)/bb + py*cos(phi_3)/bb)); • float theta22_1 = acos((( A_1 * A_1)+(B_1 * B_I)-(a*a) -(alpha_1*alpha_1))/ (2.0 * a * alpha_1)); • float theta22_2 =acos((( A_2 * A_2)+(B_2 *B_2) -(a* a) -(alpha_2*alpha_2))/ (2.0 * a* alpha_2)); • float theta22_3 =acos((( A_3 * A_3)+(B_3 * B_3) -(a*a) - (alpha_3*alpha_3))/ (2.0 *a* alpha_3)); • double theta11_1 = atan2( ((B_1 * A_1) - (EE_1 * a) - (EE_1 * DD_1)) / ((A_1 * a) - ( EE_1 * B_1) + (DD_1 * A_1)) , ((B_1 * B_1) - ((a + DD_1)*(a + DD_1))) / ((EE_1 * B_1) - ( A_1 * ( a + DD_1))) ); • double theta11_2 = atan2( ((B_2 * A_2) - (EE_2 * a) - (EE_2 * DD_2)) / ((A_2 * a) - ( EE_2 * B_2) + (DD_2 * A_2)) , ((B_2 * B_2) - ((a + DD_2)*(a + DD_2))) / ((EE_2 * B_2) - ( A_2 * ( a + DD_2))) ); • double theta11_3 = atan2( ((B_3 * A_3) - (EE_3 * a) - (EE_3 * DD_3)) / ((A_3 * a) - ( EE_3 * B_3) + (DD_3 * A_3)) , ((B_3 * B_3) - ((a + DD_3)*(a + DD_3))) / ((EE_3 * B_3) - ( A_3 * ( a + DD_3))) );