Thursday 4 April 2019

3D Printing with Ai on Nvidia Jetson

Having an Nvidia Jetson allows you to explore what is possible for advanced mobile platforms. Most people using 3D printing have explored adding Bluetooth or Wifi, or connecting a Raspberry Pi and using it as a server/client with something like Octoprint. If I go down that route I usually just buy a cheap bluetooth module and connect it to the 3D printer.
What interested me is to see if it is possible to effectively use an ARMv7 Platform to perform the complete 3D Printing process of Object Design, Slicing for Gcode, and 3D Printer Control. Form what I have seen, all the platforms skirt around the first two; it is claimed that ARM platforms are not suited for CAD software, And using a Slicing Program is also impractical. Hmmm Got me thinking. Admittedly, I haven't tried this using a Raspberry Pi, I used a Nvidia Jetson with Tegra GPU.

Don't be fooled this thing can shift.

I have a Nvidia Jetson Board that I have DIY'ed into a cardboard box style monitor which runs on low current DC 12v power, either batteries or power supply works. I modified the board to run Ubuntu 16.04.

Firstly, I installed Repetier Host (Note that is Host and not Server). I installed version 2.1.3 and it worked straight off the bat. It recognises the Nvidia Tegra GPU, and has nice smooth and quick 3D Object rendering.
I am able to connect to the 3D Printer using repetier host just as I normally do.
Then I installed a Slicing application. I am mostly familiar with Slic3r so I installed that. It too also works just fine. Slicing takes about the same time as my laptop, I tried it out with the Boat file.
Slicer Version 1.2.9 with Repetier Host Version 2.1.3

Positives:

-Both Repetier Host and Slic3r install Just fine, for me no hangs or errors.
-3D rendering and lighting is super using the Nvidia Jetson Tegra GPU
-The experience is the same as using a laptop
-The software is Free

Things I would like to see:

-I hope one day Repetier Host implements a multi-threading option, as it seems that in System Monitor it uses only two CPU threads
-Likewise, I would like to see a Slicing platform such as Cura or Slic3r that implemented the Tegra GPU for processing as I believe it will run very very fast.

What about CAD design? Well, for beginning this experiment, I chose TinkerCAD as it uses WebGL in Chromium Browser and the Jetson GPU handles that just nicely. There is a good list discussion for CAD Linux software here.



Repetier Host also now has a good function which checks if the STL object is manifold and will repair it for you automatically, so bad CAD design skills are ok.

So what now, that we have full 3D Printer platform running on an embedded AI system? Why, we can run Ai code. 

Perhaps we can put a nice tracking selection on the 3d printer extruder and use OpenCV to track the hotend so to ensure the 3d printer switches off and cools should it fail during the print process. A safety feature.
It could also perhaps be used to try and identify the printed object during the print process, a little bit of creative fun.

It leads to the question: Does a drone have to fly? 

Can it be a fully automated engineering robot with intelligent learning and a brain which can detect itself or prevent problems and fix itself as it undergoes it's work day?
Thanks for reading.

Update:
Just two months after I wrote this article, the monied, rich, hustling, 3d printing industry jump onboard with sensational articles and mockups to boost funding, investment and share values.
read here
and here
and here
I mean, who can't afford a 6-axis Kuka Robot Arm these days and under use it as a filament 3d printer, then photoshop some ai bounding boxes, and say you're connected to Milan and Zaha Hadid? Just do Jazzhands and you're set.

1 comment:

Lewis Stringston said...

Well done, what a project. Working in mro services and specifically engine mro this really interests me.