From 46f7dfd7683cf1fe8d539129c2fdd79c3b74b336 Mon Sep 17 00:00:00 2001 From: Jake <jake.read@cba.mit.edu> Date: Wed, 14 Nov 2018 00:21:40 -0500 Subject: [PATCH] writing continues --- README.md | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 1dd3ffe..2463622 100644 --- a/README.md +++ b/README.md @@ -34,17 +34,15 @@ For machine week, you'll have four ATKStepper23's, two ATKBreadBoardBoards and o - [ATKBreadBoardBoard](https://gitlab.cba.mit.edu/jakeread/atkbreadboardboard) - [ATKBLDCDriver](https://gitlab.cba.mit.edu/jakeread/atkbldcdriver) --------------------- - #### [Control - RNDMC - Reconfigurable Numeric Dataflow Controller](https://gitlab.cba.mit.edu/jakeread/atkapi) 'RUN-DMC' - get it? -This is a piece of software that is designed to help you assemble higher level controllers from the modular pieces of networked hardware mentioned above. It serves a graphical programming interface, or can be used to write a regular old program (in javascript). +This is a piece of software that is designed to help you assemble higher level controllers from the modular pieces of networked hardware mentioned above. It serves a graphical programming interface, or can be used to write a regular old program (in javascript, as a kind of library). #### [Also This - Open Assemblies](http://openassemblies.com) -This is just a place where I put links to everything. If you're ever trying to find something, go here first. +This is just a place where I put links to everything else, including this. If you're ever trying to find something, go here first. # Going About Designing a Machine @@ -52,15 +50,19 @@ Any kind of design process is nonlinear / contradictory. To that end, this guide ## 1) Design -I leave 'design' up to you, to save myself following the rabbit hole where I end up writing about it for too long. Look at [examples](openassemblies.com), do back of envelope maths (stiffnesses, forces, speeds, weights) etc, draw things with your hands, with your friends, have ideas, etc. +I leave 'design' up to you, to save myself following the rabbit hole where I end up writing about it for too long. Look at [examples](http://mtm.cba.mit.edu), do back of envelope maths (stiffnesses, forces, speeds, weights) etc, draw things with your hands, with your friends, have ideas, etc. + +Another important note: the process posted here is proscriptive, but it isn't meant to be restrictive. I.E. we only have parametric designs for linear axis here, but there are *lots* of ways to make rotation happen, and the motors provided are torque-y. There are no rules, this is just an attempt at helping you do the thing! ## 2) CAD Wrangling ### Configure Parametric Axis in Fusion 360 +Really, this happens once you know how long / wide you'd like each axis to be. +  -To start, head to [the RCT Gantries Repository](https://gitlab.cba.mit.edu/jakeread/rctgantries) and download from the CAD folder the parametric axis you'd like to configure. +To start, head to [the RCT Gantries Repository](https://gitlab.cba.mit.edu/jakeread/rctgantries) and *read it* and then download from the CAD folder the parametric axis you'd like to configure. In Fusion[^2], you can open this file up and use (from the top menu) @@ -76,17 +78,21 @@ Make sure to change 'type' to .step, and check the 'save to my computer' box. ### Set Relations Between Axis in Rhino -.step files open up beautifully in Rhino[^3], where you can go about setting up relationships between parametric elements. I.E. here is where you 'assemble' the components you've configured. +Rhino is a great swiss-army knife tool for CAD wrangling. The linear axis we have here can kind of bolt-to-anything, but it will be useful to figure out / plan what / where / how we're going to bolt them together. + +.step files open up beautifully in Rhino[^3], where you can go about setting up relationships between parametric elements. I.E. here is where you 'assemble' the components you've configured.  -I've also made a set of static blocks that can be configured to connect degrees of freedom to one another, most usefully at 90 degrees. Those models are also available in [the RCT Gantries Repository](https://gitlab.cba.mit.edu/jakeread/rctgantries). +If you're more comfortable in Fusion, you can save configured axis as new files, and include them in an assembly, mating them together there. + +I've also made a set of static blocks that can be configured to connect degrees of freedom to one another, most usefully at 90 degrees. Those models are also available in [the RCT Gantries Repository](https://gitlab.cba.mit.edu/jakeread/rctgantries) - although at the time of writing there is only one available for 0.25" thick aluminium, it wouldn't take much to write a new model for 3/8" thick HDPE, or come up with your own mounting blocks.  I'll also leave the chassis up to you. You can design it in Fusion, or Rhino, whatever you'd like. -Of course, it's also fair game to do everything in Fusion and build a big parametric model (i.e. instances of parametric gantries could be imported to an assembly as components), if you'd like. Rhino is personal preference. +Of course, it's also fair game to do everything in Fusion and build a big parametric model (i.e. instances of parametric gantries could be imported to an assembly as components), if you'd like. Rhino is personal preference. Have I made this point already? ### Modifications / Connections in Rhino @@ -94,6 +100,8 @@ Of course, it's also fair game to do everything in Fusion and build a big parame Rhino is pretty free-form, and presents a good opportunity to add-in whatever details you'd like - i.e. here I'm modifying the X-Gantry of [this machine](https://gitlab.cba.mit.edu/jakeread/mothermother) to lighten it up, and to mate with the Y-connectors on the same machine. I also add a cable-routing tray. +The thing about parametric hardware is that it's kind of going to be like the vise-grips of robotics. Great for most stuff, not perfect for anything. Generality = mediocrity (if all we are interested in is *performance*). All this to say, trying to stay in the rigid bounds of a parametric system all the way through is often more effort than it's worth: at some point it becomes productive to abandon parametricism and just draw things. + Of course, you can get away without doing very much of this at all - just make sure you have the right holes / mounts set up to secure each axis to eachother. ## 3) Fabrication @@ -102,9 +110,17 @@ Of course, you can get away without doing very much of this at all - just make s Once you're feeling O-K about your machine design, you should get ready to cut it out. +Again, I do this in Rhino because I like to be able to push things around and nest curves by hand. You can also export faces directly from Fusion by: +1. right clicking on a face +2. creating a sketch on that face +3. rick-clicking on that sketch in the feature menu (left) +4. selecting 'save as dxf' +  -First, pick out the 3D Printed Parts and slice them up. +First, pick out the 3D Printed Parts and slice them up. Each axis has these 3D Printed Bits: + - Belt Holders (both sides) + - Belt 'Tenders' (for the motor-adjacent rollers) - 4x This is a lot of manual model-moving-about and 'nesting'. I recommend drawing out some rectangles of the size you'll be cutting from to make sure you can fit everything into the stock you have available. Your favourite commands will be ``` Orient3Pt ``` , ``` Rotate3D ``` , and ``` Move ```. @@ -116,7 +132,11 @@ While I cheat by using the CBA's Waterjet and Zund, there are a lot of ways you ### Assembly - - fasteners, bearings, belts, oh my +For assembly, it's best to follow along the documentation on the [RCT Gantries](https://gitlab.cba.mit.edu/jakeread/rctgantries) page. + + + +Filippos has put some documentation together from his experience doing all of this. ## 4) Electronics @@ -131,7 +151,7 @@ While I cheat by using the CBA's Waterjet and Zund, there are a lot of ways you I'm working on a few end effectors. You can grab some of these design files and fabricate them, or try designing your own. Here's the [simple spindle](https://gitlab.cba.mit.edu/jakeread/simplespindle): - + Hopefully to come: - rotary tool w/ inserts a-la Zund -- GitLab