Posts Tagged ‘kinect’

From Kinect to MakerBot Guide at Make: Projects

Head on over to the MakeProjects site to catch Brian Jepson’s From Kinect to MakerBot guide-in-progress for how to transform captured Kinect data on through to the STLs you need to 3D print with your MakerBot Thing-O-Matic.

His guide picks up where Kyle McDonald’s great 3D Printing with Kinect post leaves off — a great tutorial to take you from the initial STL you create using Kyle’s KinectToSTL tool through to a scaled-down, MakerBot-printable  STL. Bonus points for using only open source tools for the entire chain!

Those looking to learn more about the Open Kinect movement should check out the Open Kinect Project (offers MeetUps in certain cities) and consider attending conferences such as Art && Code 3D: Kinect-Hacking Conference, on October 21-23rd at Carnegie Mellon University.

There have been a few people asking for easier to install binary releases for Kyle’s KinectToSTL tool, compiled also for Windows and Linux. There are some complications that require fuss, not to mention the need to make changes to the code to suit the latest OpenFrameworks release (according to Matt and Kyle). If you accomplish this work, drop a comment back here and we will happily trumpet your triumph to the world.

Tagged with , , , Leave a comment
 

Spherical Projector by nrp

Spherical Projector by nrp

Spherical Projector by nrp

Thingiverse citizen nrp, duplicator-of-keys, gesture-freestyle-printer, and Kinect-copier-of-people has uploaded another incredible design.  This time he has created a spherical projector using OpenSCAD designed printed parts, a frosted globe, a pico projector, and some hardware.  Nrp, like many others, has been inspired by Neal Stephenson’s cyberpunk classic “Snow Crash” as his inspiration for this project. 1 2  Nrp’s amazing write-up and description suggests there’s more than a little math involved in converting flat digital photos of the earth into a pico-projected-globe.  I’m looking forward to reading the rest of series of upcoming blog posts detailing his work.

A writeup with links and images is on my blog: eclecti.cc/computergraphics/snow-globe-part-one-cheap-diy-spherical-projection Since reading Snow Crash, I’ve been drawn to the idea of having my own personal Earth. Because I’m stuck in reality and the virtual version of it is always 5 years away, I’m building a physical artifact that approximates the idea: an interactive spherical display. This is of course something that exists and can likely be found at your local science center. The ones they use are typically 30-100″ in diameter and cost enough that they don’t have prices publicly listed. Snow Globe is my 8″ diameter version that costs around $200 to build if you didn’t buy a Microvision SHOWWX for $600 when they launched like I did. The basic design here is to shoot a picoprojector through a 180° fisheye lens into a frosted glass globe. The projector is a SHOWWX since I already have one, but it likely works better than any of the non-laser alternatives since you avoid having to deal with keeping the surface of the sphere focused. Microvision also publishes some useful specs, and if you ask nicely, they’ll email you a .STL model of their projector. The lens is an Opteka fisheye designed to be attached to handheld camcorders. It is by far the cheapest 180° lens I could find with a large enough opening to project through. The globe, as in my last dome based project is for use on lighting fixtures. This time I bought one from the local hardware store for $6 instead of taking the one in my bathroom. I’ve had a lot of fun recently copying keys and people, but my objective in building a 3D printer was to make it easier to do projects like this one. Designing a model in OpenSCAD, printing it, tweaking it, and repeating as necessary is much simpler than any other fabrication technique I’m capable of. In this case, I printed a mount that attaches the lens to the correct spot in front of the projector at a 14.5° angle to center the projected image. I also printed brackets to attach the globe to the lens/projector mount. The whole thing is sitting on a GorillaPod until I get around to building something more permanent. Actually calibrating a projector with slight pincushion through a $25 lens into a bathroom fixture attached together with some guesswork and a 3D printer is well beyond my linear algebra skill, so I simplified the calibration procedure down to four terms. We need to find the radius in pixels of the circle being projected and the x and y position of the center of that circle for starters. The more difficult part, which tested my extremely rusty memory of trigonometry is figuring out how to map the hemisphere coming out of the fisheye lens to the spherical display surface. For that, we have a single number for the distance from the center of the sphere to the lens, in terms of a ratio of the projected radius. The math is all available in the code, but the calibration script I wrote is pretty simple to use. It uses pygame to project longitude lines and latitude color sections as in the image above. You use the arrow keys to line up the longitude lines correctly to arrive at the x and y position, plus and minus keys to adjust the radius size until it fits the full visible area of the sphere, and 9 and 0 to adjust the lens offset until the latitudes look properly aligned. What you end up with is close enough to correct to look good, though as you can see in the images, the projector doesn’t quite fit the lens or fill the sphere. The script saves the calibration information in a pickle file for use elsewhere. Going back to the initial goal, I wrote a script to turn equirectangular projected maps of the Earth into roughly azimuthal equidistant projected images calibrated for a Snow Globe like the one above. There are plenty of maps of the former projection available freely, like Natural Earth and Blue Marble. Written in python, the script is quite slow, but it serves as a proof of concept. The script, along with the calibration script and the models for the 3D printed mounts are all available on github. I’ve finally fully accepted git and no longer see a point in attaching the files to these posts themselves. I put a Part One in the title to warn you that this blog is going to be all Snow Globe all the time for the foreseeable future. Up next is writing a faster interface to interactively display to it in real time, and if I think of a good way to do it, touch input is coming after that. Download from github: git://github.com/nrpatel/SnowGlobe.git
This thing brought to you by Thingiverse.com

  1. Interestingly, one of the creators of Google Earth also cites this book for his inspiration. []
  2. Also interesting, Neal Stephenson’s work “The Diamond Age” is cited by many 3D printing enthusiasts as their inspiration.  Just look at Vik’s website! []
Tagged with , , , , , , , , , , Leave a comment
 

3D Printer Key Duplication with nrp

Duplicating Disc Detainer Keys by nrp

Duplicating Disc Detainer Keys by nrp

Thingiverse user nrp has been working on using his 3D RepRap printer in some pretty amazing ways.  He’s already put his 3D printer to use along with a Kinect to print by use of hand gestures.  Since then he’s been working on duplicating house keys and the more secure disc detainer keys pictured above.  Nrp’s website, and the comments that go along with his detailed posts, provide a wealth of information about his project along with lots of interesting links about computer enhanced key generation.

This project and the way nrp uses his printer remind me of the very cool Nickel for Scale project by Amy Hurst and MakerBot’s own Marty McGuire.  How cool would it be to never have to go get keys made again?  I don’t think it’s too much to dream that one day you might be able to put a key down next to a nickel, take a picture or short video, and have your MakerBot crunch out a few duplicates.

Full writeup on my blog at: eclecti.cc/hardware/physical-keygen-duplicating-house-keys-on-a-3d-printer It occurred to me recently that I had printed almost nothing actually useful on my RepRap 3D printer, aside from parts to improve on or build more RepRaps. I am rectifying that with this project. The goal here is to generate working house keys by inputing the key code of the lock into a parametric OpenSCAD model. Instead of having to explain to my landlord how I ended up with a wedge of plastic jammed in my front door, I ordered a box of (well) used locks and latches from eBay to experiment on. Luckily, the lot includes both Kwikset KW1 and Schlage SC1 locks, which are the two most commonly found in the US. I created an SC1 model to start with, but I’ll probably make a KW1 soon. EDIT: I uploaded a KW1 model as well. Designing the key model was actually pretty straightforward. I measured a key with a ruler and calipers and created an approximate model of it that is reasonably easy to print. I then got pin depth specifications and parametrically differenced them out of the model. To generate new keys, you can just edit the last line of the file and enter in the key code for your key. If the code isn’t written on the key, you can measure the height of each bit and compare to the numbers in the Root Depth column on the aforementioned pin depth site. Perhaps more nefariously, you could implement something like SNEAKEY to generate key codes without physically measuring the key.
This thing brought to you by Thingiverse.com
Writeup containing actual links at eclecti.cc/hardware/physical-keygen-now-for-disc-detainer-locks The Physical Keygen post got some interesting reactions, but there was a common claim among many of them that it was just a gimmick because there are more practical ways of getting past basic Schlage and Kwikset pin tumbler locks. I agree with that, and I’ll also admit that a fair number of my projects are gimmicks, or as a stretch, art. Schuyler Towne of Open Locksport saw past the gimmick (or art) and into the possibility of printing keys for more interesting locks. He stopped by recently with a collection of said locks, and over the period of a few hours we found that keys for disc detainer locks were printable and created a nearly working ABUS Plus key. He left me a cutaway lock, and over the next week, I refined the model to the point of working straight off of the printer. Despite being a higher security lock than the SC1 or KW1 pin tumblers I was working with before, the key is much easier to print accurately. The OpenSCAD model is linked below, and like the last files, you simply edit the last line to match the code for your key. The ABUS Plus and other disc detainer locks are much more common in Europe than the US, but we do have a pretty ubiquitous example around here. After the Bic Pen debacle in 2004, Kryptonite switched their bicycle U-locks from tubular to disc detainer. I designed a model off of the key from the Kryptonite Evolution I have, but as of yet, I have not successfully opened the lock with it. The key is smaller and thinner than the ABUS Plus, causing it to flex too much to effectively turn the last few discs. I’ve posted the file anyway, in case someone has stronger plastic or an idea to strengthen the model. EDIT: The Kryptonite key works. I tightened my X and Y belts and printed it a bit slower. Apparently some of the blobbing on the corners before was catching on disks.
This thing brought to you by Thingiverse.com
Tagged with , , , , , , , Leave a comment
 

3D Printing with Kinect

 

80 mm tall scan, printed with a Thing-O-Matic

I’ve been working with 3d scanning for over two years now, building my own 3d scanners and writing code to work with commercial scanners like the Kinect. When I started my artist residency at MakerBot, I knew I had to combine 3d scanning and 3d printing. One of the first ideas we had was to set up a 3d photo booth at MakerBot to scan visitors. So I wrote an app called KinectToStl which first launched at the MakerBot NY user group. I modified it a bit based on feedback from that event, and it’s since been fired up for the 3rd Ward Make-A-Thon and Maker Faire Bay Area 2011. Other artists and hackers are exploring the app, like 4nchor5 la6.

I’ve been maintaining a GitHub repository of all the code I write while at MakerBot, and the source is available for download there. If you don’t want to deal with compiling it, there’s also an OSX app available. The project has a few external dependencies that make it slightly difficult to compile right now, primarily because openFrameworks is nearing a release and hasn’t stabilized yet. The source would be most useful for someone interested in recreating this in Processing or another environment.

Once you’ve downloaded the app, plug in your Kinect and start the app, you’ll see three tabs and four sliders.

 

Screenshot from KinectToStl

The first tab is where the relevant options are:

  • zCutoff controls how far away your cutoff plane is, in centimeters. Anything farther than this will disappear into the “background” (flat area).
  • fovWidth and fovHeight control the field of view (or angle of view) multiplier in each axis. This acts like a “zoom” function, and lets you zoom into the center of the scan.
  • stlSize controls the width of the STL file, in millimeters. I generally stick between 60 and 80 mm.
  • useRandomExport is an experimental export option that only works when fovWidth and fovHeight are set to 1. It will attempt to do a more natural triangulation of the model.

Once you’ve framed the subject and have your settings right, click on “exportStl”. This will save an STL file to the /data folder next to the .app. They’re named like screenshots, “Kinect Export 2011-05-25 at 18.21.13.stl” These files are ready to be 3D printed. They’re scaled properly, and sitting flat on the bed. Because they have a high triangle count, they can take anywhere from 10-20 minutes to run through Skeinforge.

The second tab (click in the the second rectangle) is for lighting options if you’re having trouble seeing the live preview. The third tab is for more advanced options. I’ll mention a few:

  • temporalBlur is what causes the 3d model to fade over time, and helps with the accuracy of the scan. It’s like the “exposure time” setting on a camera: shorter exposure is noisier, longer is more sensitive to motion but less noisy.
  • smoothingAmount controls the level of blurring on the model. This can make a visually more appealing or better skeined model at the expense of loss of detail.
  • backOffset controls the size of the backing plane. If you want more layers of backing, turn this up.

I’ve found that the best parameters for printing these models are with 3-4 shells and almost 0 infill. They’ll print quickly like this, and should be fairly structurally sound.

I also recommend playing with the “OSX Kinect Application” posted by CidVilas to Thingiverse, it has a lot more options and a prettier interface.

If you’re interested in scanning an object in a more complete way, I recommend taking multiple STL exports from KinectToStl and doing boolean joins on them after cutting off the backing plane with an intersection operator. If someone tries this out, I’d love to see the results!

All the scans we (myself and MakerBot) have been taking with this app are being posted to the 3dphotobooth Thingiverse account. So if you’ve been to any of the recent events mentioned above, check it out!

Tagged with , , , , , 7 comments
 

Popular Mechanics Features MakerBot Thing-O-Matic in 10 Coolest DIY Projects From Maker Faire 2011

Popular Mechanics: "Top 10 Coolest DIY Projects from MakerFaire"

The MakerBot crew was in attendance at MakerFaire 2011 – Bay Area this past weekend — where the MakerBot Thing-O-Matic made quite a splash. Check out a little of what Popular Mechanics has to say about our latest DIY 3D printer kit:

MakerBot Thing-O-MaticMakerBot Industries is a pure example of the maker ethos: Not only has the company created an interesting machine, but its machine’s sole purpose is to create things. Provided with the right instructions, it can print just about any 3D shape into plastic.

It can be hard to explain why exactly someone might want a 3D printer, so the crew put together a demo: a facial scanning system housed inside a 7-foot-tall dome built by maker Michael Felix, the joints of which were created with a 3D printer. Inside, fellow maker Kyle MacDonald uses the infrared camera bar from a Microsoft Kinect, along with software he wrote himself, to capture 3D models of attendees’ faces, which are then printed into plastic statues. The whole process, from flesh to plastic, takes only 45 minutes.

Tagged with , , , , , , One comment
 

NYC Elevation Map by kylemcdonald – Machine Halts FTW

Now...lets just see...where am I? Brooklyn!

MakerBot Artist-In-Residence Kyle McDonald is already an expert in mapping objects with point clouds given his extensive work on structured light and 3D scanning with a Kinect via Processing. But he is also exploring another kind of mapping — grabbing topological1 data and 3D printing it with a MakerBot Thing-O-Matic.

He’s not the first to attempt this — Lake and Mountain Topography and Mt Everest are other notable examples from the Thingiverse kingdom — but his hack makes the topography easier to read.

He uses the g-code command M1 machine halt2 to pause the print to give you time to switch filaments. The results are a two-color topography where the critical elevation gain above the bottom color of filament is easier to read. Works great for sea-level topography where the transition maps to an easy to understand reference elevation. ((Though I’d love to see some sea trenches!)

This hack only works on a “tethered” MakerBot printing RepG at the moment, but is worth the hassle:

  • The topographical data is freely available here.
  • Generate the STL with Kyle’s custom app here.
  • Then search through the gcode for just before the M101 command for the first G1 command including the z-height where you’d like the transition, and drop an “M1″ on its own line.
  • I’d suggest sandwiching a “20mm up, 20mm” down waiting position script around the M1 command to keep from oozing while you fiddle with the filament, but you should code to taste.
  • If there is an active M101 command you will be extruding while you switch filament! You need to find a sweet spot between an M103 and an M101.

Kyle was standing somewhere just above the thumb when he took this picture!

A topographical map of NYC based on the 1/3 arc second NED data from the USGS. Generated with a custom app available at github.com/kylemcdonald/Makerbot/tree/master/NedToStl
This thing brought to you by Thingiverse.com
  1. From topology to topography []
  2. that might be vanishing as an option soon []
Tagged with , , , , , , , , , , One comment
 

3rd Ward MakerBot Make-A-Thon!

Get scanned by MakerBot Artist-in-Residence Kyle McDonald at the 3rd Ward MakerBot Make-A-Thon

MakerBot User Group New York – it’s time to meetup!

The 3rd Ward MakerBot Make-A-Thon is your chance to meet other MakerBot users, print awesome 3D objects and even a 3D portrait of yourself.

MakerBot Artist-in-Residence Kyle McDonald will be presenting his work turning the Xbox Kinect into a 3D Scanner. He will scan you in his 3D Photo Booth, then print you using the MakerBot.

Learn more about Kyle McDonald’s Xbox Kinect hack in this 3rd Ward blog post.

Bring your MakerBots and your favorite objects for a MakerBot user show and tell.

Giveaways! There will be giveaways, including LEDs!

MakerBot User Group New York

3rd Ward MakerBot Make-A-Thon
Saturday, May 14th
2:00 pm – 6:00 pm
3rd Ward – 195 Morgan Avenue, Brooklyn, NY 11237
FREE EVENT!

Tagged with , , , , , , Leave a comment
 

Gestural 3D Printing: Printing Freehand

YouTube Preview Image

Thingiverse citizen nrp uploaded a Python script that enables a Kinect to track a hand in the air and feed the corresponding Gcode to a 3D printer – a process he calls “gestural 3D printing.”  From the video above you can see how the monitor provides visual feedback for the user while his RepRap in the background mimics the user’s movement.

Really, the best description is the video:youtube.com/watch?v=BRJY927raTo Also on my website:eclecti.cc/computervision/gestural-printing-jumping-the-shark-on-kinect-hacks We’ve seen a seemingly endless array of amazing Kinect hacks over the last few months, from superhero generators to obstacle avoiding quadcopters. However, it was only a matter of time before someone came up with a hack so inane and irrelevant that it would bring shame to the entire hobby. That time is now, and that someone is me. I bring to you, gestural 3D printing! Using the Kinect to track your hand, you can draw one layer at a time, with the printer following your every move. Pushing forward extrudes plastic, while pulling your hand back will start a new layer. Who needs difficult and confusing CAD software when you can just directly draw the object you want to print?
This thing brought to you by Thingiverse.com
Tagged with , , , , , One comment
 

FaceCube! Copy Real Life with a Kinect and 3D Printer by nrp

nrp's FaceCube: Copy Real Life with a Kinect and 3D Printer

nrp's FaceCube: Copy Real Life with a Kinect and 3D Printer

I think the Penrose Triangle controversy of last month has definitely proved that if you really want to inspire a maker to build something – show them a picture of it, but don’t tell them how you did it.  Thingiverse citizen nrp cites the Fabricate Yourself project as the impetus behind finishing up his own work on FaceCube.  Nrp put together a great write up on his Thingiverse page as well as an even more detailed background on his work on his own blog.  While the process of taking the point cloud from the Kinect to a final usable manifold and printable STL is a multistep and multi-program process, nrp hopes to make this a one-click solution.

Being able to copy real everyday things is a really cool development.   It may sound mundane, but my favorite use of a 3D scanner would almost certainly be to create replacement parts for broken things – just scan all the broken parts, reassemble in a computer1 , and then crunch out the replacement part.

Then again…  I’d almost certainly use it to mashup real objects.  :)   Like, um, this mug and this… whistle!2

  1. I’d probably use my new best friend OpenSCAD []
  2. So I can whistle while I work. []
Tagged with , , , , , One comment
 

Fabricate Yourself: Mix-n-Match People

YouTube Preview Image

Doesn’t that look like fun?!  The Fabricate Yourself project used a Kinect to capture 3D images of attendees that were then converted to STL’s on dovetail joint blocks and then 3D printed at the TEI 2011 conference!1

Fabricate Yourself is a project that documented the Tangible, Embedded and Embodied Interaction Conference. Usually we think of documentation in terms of text, photography and video, but given the tangible theme of the conference we decided to engage the community by capturing and fabricating small 3D models of attendees. This enabled us to build a tangible model of the event and fabricate it piece by piece during the conference.

I could totally imagine a future with 3D photo booths that print out a printed plastic block with a 3D rendering of the booth’s occupants.  Or what about a souvenir from your favorite theme park – you could get a printed model of yourself cringing in the seat of a roller coaster instead of just a picture!

  1. Tangible, Embedded, and Embodied Interaction []
Tagged with , , , , , 2 comments