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
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):