15 May 2016

2.77 PUPS 11: Documentation

Thanks a lot, Professor Slocum, for teaching this great class! I've learned a lot and I can't wait to apply my new skills to my future designs. 

Here is a link to my final report: Dropbox Link

Owner's Manual: 

Home configuration:

  • Clamp (Y) axes both fully disengaged, back clamp screw touching the rear top plate. 
  • X axis against wall near its stepper motor
  • Z axis all the way up.

Electronics and turning on your FASBot: 

  • The FASBot uses a 22.2 LiPo battery, which can last it a long time. Place the battery inside the FASBot's electronics compartment on the hook-and-loop fastener patch. The power connectors should be facing AWAY from the wall.
  • To turn the FASBot on, flip the switch on the backside UP. 
  • A digital display shows the battery's voltage. This battery will charge up to 25V and should be disconnected and charged before it reaches 18V.

Software and communicating with your FASBot: 

  • The FASBot uses an Arduino Uno with grbl CNC firmware.  
  • The Arduino Uno is fitted with an XBee wireless communication device on a shield. An identical Xbee attached to a USB dongle is required to communicate with the FASBot. This XBee will show up as a serial port on your computer. In order to allow for reliable wireless communication, a serial baud rate of 19200 must be used. 
  • The FASBot can be controlled using GCode from the CNC GCode Interpreter. 
  • For its intended purpose in aircraft manufacturing, a Python program was written in order to allow the FASBot to be integrated with the Triple Scissor Extender and allow the pair to work together autonomously. The FASBot must be turned ON before running the Python program. 
 FASBot control software  
 by Daniel J. Gonzalez - dgonz@mit.edu  
 Spring 2016  
 import serial  
 import time  
 # Open grbl serial port  
 s = serial.Serial('COM13',19200)  
 def setupFASBot():  
   # Wake up grbl  
   time.sleep(2)  # Wait for grbl to initialize  
   s.flushInput() # Flush startup text in serial input  
 def sendG(msg):  
   print 'Sending: ' + msg  
   grbl_out = s.readline()  
   print ' : ' + grbl_out.strip()  
 def exitFASBot():  
   # Close file and serial port  
 def sendFasten():  
   #Drive Spindle  
   sendG('S100 M3')  
   #Move Spindle Down  
   sendG('G90 G0 Z-1.25')  
   #Turn OFf Spindle  
   #Move Spindle Back up  
   sendG('G90 G0 Z-0.5')  
 def test():  
   for i in range(0,25):  
     sendG('G90 G0 X3')  
     sendG('G90 G0 X4')  
     raw_input(" Press <Enter> to Move to rest location.")  
   #raw_input(" Press <Enter> to Start up FASBot.")  
   #Move Spindle To Side  
   sendG('G90 G0 X4.5 Z-0.5') #(1.783/2) #(1*(1.75))  
   #raw_input(" Press <Enter> to Close Clamp.")  
   #Close Clamp  
   sendG('G90 G0 Y1.6')  
   #raw_input(" Press <Enter> to Start Fastening Job.")  
   for i in range(0,6):  
     sendG('G90 G0 X'+str(i*1.75))  
   #raw_input(" Press <Enter> to Move to pickup position.")  
   #Move Spindle Home  
   sendG('G90 G0 X4.5 Z0')  
   #raw_input(" Press <Enter> to Open Clamp.")  
   #Open Clamp  
   sendG('G90 G0 Y0')  
   #raw_input(" Press <Enter> after FASBot is removed from TSE.")  
   #Move Spindle To Side  
   sendG('G90 G0 X0') #(1.783/2) #(1*(1.75))  

This test program requires the user to press ENTER in order for the FASBot to perform the next move. By putting this code into the code running the Triple Scissor Extender, they can both be used together autonomously. For the demonstration, two computers were used, each running its own program that required the user to press Enter

Once the Python program exits, the FASBot may be turned off.

Aaaaaaaaaaaand that's a wrap! 


  1. You convey the good information about your new skills and it is very important to development according to the time. You share the most different stuff in this article.

  2. As we know that the documentation is the main thing of the project from which you will be able to understand it. You can buy bachelor thesis abstract from which you can easily make your project and itsdocumentation for the understanding of people.

  3. wow! this site is really very good site. you just prove this. I'm a well wisher for you now. thanks for this post also.

  4. I admired your effort. You've put on this article. I'm going to bookmark this site to get further interesting articles. Anyhow, Recently i'm working on psychology dissertation. Just contact to our experts and professionals and get interesting ideas.

  5. Documentation is requirement of many website for their companies. These programs are quite useful for students by following these steps they can do by themselves. You can read here more about these companies.

  6. configuration is taking time, but you enjoy a lot when doing it for this website. configuration has not required the Extra coding, chances, but your Efforts may be required for this task.

  7. Great that you described it is very important to be interested in it.

  8. This is great, That's a great website

  9. This article is very interesting.

  10. Wow, wonderful blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your site is great, as well as the content!

  11. If your question is who can write an essay for me, you're in the right place. We've got a team of professional writers who are able ace your paper.

  12. We have got excellent information of the storage data. Thanks for sharing.
    Germany VPS Server Hosting

  13. Nice Post Admin!! this is really very good Article.
    If you are facing any problem your Netflix account, Please call us today!

    Netflix activation code
    netflix device activation code