Ideas made simple

One of the things that I cannot stand is describing something as complicated or complex. That is to say, there are some really complicated and complex things in this world but that should never be the way your research or presentation should pass on information. I challenge myself to take anything that I’m trying to explain and make it as clear as tying my shoes…

In fact, that is not a bad way to practice explaining yourself. If you choose something you are comfortable with like cooking, playing a sport, or tying your shoes and then explain it in video or using a presentation then you will get some practice with handling more difficult topics for example your PhD research proposal or defense. I recommend to have a steady diet of TED talks and 3MT to give yourself the cultural context to communicate your ideas. Remember, that the evidence that you have been successful is not making it through your material but instead hearing that same concept passed on by an understanding audience.

Just don’t practice without any content, I’d rather you be boring than say nothing.

Those old papers are worth something…

So, other than the desktop cnc mill that I appear to be spending all my time on… I try to teach and research too. When I find an article like this one, I like to share it with my graduate students and offer some thoughts on a positive side. This thought is to offer some context to protect our research group from similar pitfalls. So, what am I talking about.

Inadequate literature reviews can get you retracted!

Even innocent co-authors are impacted by retraction!

Science corrects false information slower than you expect!

Thanks to Craig Beard at UAB Library for being a good resource for me. I think the best thing to do is to make sure your work is your own and that you’ve made the best possible effort to get criticism from the best experts in the field to make sure you haven’t missed any details that catch you by surprise. And I admit, engineering seems to be weaker at this than you would expect based on knowing all the work we put into the studies we do and the tests and experiments we run. I think there are just too many ways to publish this information and strong disagreements about what is a contribution enough to publish.

I’ve been looking for better tools for making this easier for my students and myself. Heres a short list of ideas if you are also interested in the world of bibliometrics and systematic review.

  1. Use a reference manager, several I’ve tried include Jabref, Bibdesk, Papers, Mendeley, and Zotero. Most of these will let you exchange via a .bibtex file so you won’t really lose time playing around with all of them until you get one you like. Once you find the solution though, I’d stick with it because it makes it super easy to add comments to papers you want to use in writing.
  2. Explore bibliometrics software, for example, Bibliometrix for R, SciMAT, VOSviewer, Network Workbench, and CiteSpace may work for you. I’ve had varying degrees of progress getting these tools to work.
  3. Make you own mind map using Docear,  FreeMind, or other. Honestly, when I first discovered mind mapping I though “wow! this is going to be so useful” but I think my engineering mind is just wired up to sort information as I receive it. So whenever I mind map it just turns into an exercise of prioritization of how important the information I get is.
  4. Define a stopping point, don’t use your research as a jumping off point to connect to every paper ever written. Use the papers you do find to narrow the scope of your research until what you say gives you the references you intended to find. In other words, the first thing you write to describe your research is probably not correct.

In my process and I think I’m pretty quick at this, I typically take an idea or hypothesis and find the best paper I can possibly find. This means that this first, key paper is highly cited, published in a reputable journal (not on a blog site), written by researchers with proven background in the field. Then use that first paper to search for related material (a) in it’s reference section, (b) by the same authors, (c) citing this paper. That is the start of your comprehensive literature review. You will probably find in that initial search about 10-20 papers. Hopefully another paper you find will also be pretty key and important to you. Take this second key paper and do the same thing. Repeat perhaps a 3rd or 4th time. Hopefully you will find that if you have a good scope to your research work that you can define your stopping point now and you should have by the 4th time about 80 papers or so. Now it may take me a couple weeks to really digest this information for a new field… But, you can be smarter than about 99% of everyone on a topic using this approach in about 3-4 hours if you have access to the references. The other benefit to this… You will also know who are the 1% of people that are smarter than you on that same topic. Use these skills carefully, because you only get to make first impressions once.

As Charles Caleb Colton and Oscar Wilde said “imitation is the sincerest form of flattery that mediocrity can pay to greatness.” Don’t be mediocre, be great.

Gcode for Knife pattern

So a little primer on how to go from STL file to gcode to run the desktop cnc mill. First, make sure you are absolutely happy with the STL file. If you export the file with too few facets then your machine paths will also be blocky. So this really is one of those circumstances where what you see is what you get. Also, I like to go ahead and reassemble the stl files together into it’s own model to check that the alignment is good, also that the coordinate system is in the right place and generally things are going to work out the way I like it. The picture shows that I’ve placed the origin at the lower left of the pattern and I’m showing the cope on top and the drag underneath. Maybe you can see that the knife sections line up and the corner of the mold lock matches as well. Picture1.png

Next import these into your preferred gcode tool. Let me take a short aside on that topic because these are not as simple as the wealth of information on plastic 3D printing. In 3D printing looking at the free software world alone you can choose from Repetier Host, Cura, Slic3r, Skeinforge, just to name a few. These support gcode generation for many different 3D printer flavors and have many options for support materials, overhangs, and infill. I highly recommend looking at all of these if you are interested in 3D printing. Confusingly for experts in 3D printing, the cnc world breaks down into 2D, 2.5D, and for lack of better word 2.5D+ which would include the 3 axis mill and beyond. If you are just getting started with desktop CNC milling then I would suggest looking specifically at 2D such as jscut, FlatCAM, and PyCAM. Remember those tools are only going to cut completely through material, so they can be used for the mill, plasma cutter, laser, water jet, etc. For patternmaking, I’m interested in 2.5D machining which basically exercises the same muscles as the 3D plastic printing changing profiles from layer to layer in the height. It is similar to the 3D printing but instead of building up from 0 to the full height; it is subtractive taking from the full height down to the bottom.

For my 2.5D approach to the desktop cnc mill, I am using several tools because I haven’t settled on the best approach to teach with. First, Kiri:Moto is kind of amazing. If you even have a little interest in this stuff, you should check it out. Easy to set up, shows the machine paths, lots of default values that make sense, even integrated directly into Onshape. My experience with Kiri:Moto has been good, works quickly, and is useful for the initial check if you are going in the right direction. I have high hopes that this tool continues to get some love and attention because it is awesome! As is my style, I have broken it as well both when adding in new complicated stl files as well as on the export side. Unfortunately, there is not a lot of easy to debug log information about why the slicing or export fails. So, there are other alternatives… HeeksCNC, FreeMill, and for the low budget (but not free) hobbyist MeshCAM. I went ahead and bought a license of MeshCAM because the other alternatives I mentioned above are only Windows based, awkward to install, or a little gimmicky (as in not clear what the terms and capabilities were) I’m sure all of these issues could be overcome if I had more time. There of course are other established programs like GibbsCAM or MasterCAM. I hope to revisit this specifically in the future, pending I find a solution I like.

My simple instructions are assuming you are using Kiri:Moto and you don’t run into the issues that I faced with exporting the final gcode. So… In the menu on the left, choose your mode, in my case CNC milling. Second, choose the device, in my case it is a tinyg mill. Then, choose the tool and I have a 1/8″ end mill installed on the desktop mill which they already have some parameters for. Make sure this tool is selected in all the slicing steps you have activated on the right. So use the dropdown tabs to select the 1/8″ tool. Make sure you’ve loaded the geometry and rotated it into position. At this point, I can slice the geometry and see what the path looks like for the cutting tool. Once it completes the path generation, you can even use the slider at the bottom of the page to watch the cutting layer by layer. If you like it, then you can export the gcode for the mill. I love the little bar at the bottom of the screen where you can scroll through the roughing and finishing steps to see exactly where the tool goes.

Screen Shot 2018-01-18 at 5.29.18 PM.png

Finally, if you can save the gcode out from whatever package you have then it’s time to setup the mill. I used the wood that I prepared yesterday and secured it to the spoiler board. I’m pretty novice at setting this up so hopefully someone will school me in the comments on the best way to prepare the spoiler board and setting up the workpiece. Basically, I moved the end mill within the approximate operating range and setup rails that I could secure the workpiece to so that it would stay in my preferred location and give me the most access to machining my features. For running the desktop mill, which is an OX CNC, it interprets gcode through a tinyg controller which is hosted by a json server. Honestly, seeing the other options I think the GBRL controller seems a little more common, but you have to walk in the shoes you own. You can move the machine with coolterm but I just jumped straight into Chilipeppr for sending gcode instructions to the tinyg controller. Again, my advice if you are getting started with this is go to Chilipeppr’s website and start pressing buttons and trying it. I was pretty impressed with the ease of use once I finally got the communications side hooked up. In the end, for the drag side of the knife pattern I started milling today as shown in the picture.

IMG_0256

Some concluding remarks, the milling above failed today. First, the hold downs you see there were not adequate to secure the wood while the tool was traveling (thanks to Kat Steel for noticing my overconfidence). Second, my first gcode was stepping down 1mm deep each pass for the roughing cut. This stalled the machine because it was too much for the little 300W router on my system. Third, when I started the shopvac to vacuum some of the sawdust… it popped the circuit breaker on the power strip I was using and stopped the mill. So with those three interruptions, I decided to call it quits on the mill today and start it early tomorrow morning to see if I can finish something to show. Given the above discussion, I’m sure I’ll need to add some posts about setting up the machining parameters and other details but later on that.