3D-Printed Blood Vessels: The Tech Just Became Scalable
The Problem: Making Vasculature is Hard!
It sounds simple enough — all of your cells require a constant supply of oxygen. Your lungs extract it from the air and your blood carries it all around your body through a vascular network comprising thousands of miles of veins and arteries. If your heart doesn’t beat at least once every couple seconds, your brain doesn’t receive enough oxygen-rich blood to maintain consciousness.
We don’t understand super high-level biological phenomena like consciousness. We can’t engineer a conscious array of cells, or even of transistors. But we understand pretty well the vasculature that supports consciousness. It’s a series of tubes. Literally. And it may be that if we can make the tubes and deliver oxygen to a sufficiently large population of cells, we can make some cool things happen. A conscious brain is a long shot, a functional piece of liver or kidney decidedly less so.
An alternative means of generating physiological structure’s blood vessels is a bit cruder — design the structure you want, then make a robot that can physically place the cells and the vessels where you want them. We call this bioprinting. A major hurdle with bioprinting is the fact that, while the printer is working, the cells that have been printed are slowly dying from lack of oxygen. For really big, complex tissues, you either need a way to supply oxygen while you’re still printing, or you need a way to make all those blood vessels really fast.
One really fast approach was demonstrated in 2009. Researchers at Cornell used a cotton candy machine to melt-spin a pile of sugar fibers. They cast the sugar fibers in a polymer, dissolved them out with water and made a random vascular network in minutes. In 2012, researchers at Penn used a hacked desktop 3D printer to draw molten sugar fibers into a simple lattice and showed that the same sacrificial casting approach could be used deliver blood to rat liver cells in a dish, keeping them alive for weeks. Now, researchers at the University of Illinois at Urbana-Champaign have developed the ability to make these sugar fiber networks of any shape and size.
Materials Science + Mechanical Engineering + Theoretical Computer Science to the Rescue
Scaling the process isn’t just a matter of building a more precise, more expensive printer (although that is necessary). It’s a matter of choosing the right type of sugar, understanding the physical behavior of the sugar as it is printed and of telling the printing robot how to move. The problem spans materials science, mechanical engineering and theoretical computer science; it contained more than enough material for a PhD thesis, and the cells aren’t even in there yet. The materials and mechanical engineering aspects are laid out in a recent publication in Additive Manufacturing; the planning algorithm is described in a recent manuscript still under review.
Instead of conventional sugars, this printer uses isomalt, the same low-calorie sugar substitute they use to make throat lozenges. Isomalt works better than conventional sugar, mostly because it doesn’t burn like sugar does. The printer melts the isomalt and pushes it out of a tiny nozzle under pressure. Like a pen, the nozzle is used to “write” thin isomalt filaments, but in 3D. Printing speed, temperature and pressure are critical to achieving precise filaments. Right now the diameters of the filaments can be anywhere from 50 to 500 micrometers; to give some context, a human hair is about 10 micrometers thick. However, the researchers say it’s entirely possible to go bigger or smaller.
At that point it might seem like you’re done. But when you want to print a network comprising thousands of filaments, you encounter an interesting problem. You need to choose an order in which to print them. The printing process is freeform; you can move the nozzle anywhere you want. That means if you’re not careful, you can hit your sugar construct with your nozzle and destroy it.
Avoid Collisions AND Don’t Melt
Collision avoidance is a pretty common problem in robotics, so that part isn’t too hard to deal with. However, there is an additional wrinkle that is very specific to this problem. It has to do with the fact that every time you go to an existing filament and draw a new branch, you melt the material at the joint. Imagine you’re building a bridge, but every time you weld a new beam on, all the existing welds around it melt. This makes the problem a lot harder.
Without this constraint, the problem of choosing a sequence is analogous to finding your way out of the maze on the right. There are dead ends, but you can see them. You won’t get lost in them; you’ll immediately turn around. But with this particular constraint, choosing a sequence is like finding your way out of the maze on the right. The maze is big; for long sequences, it becomes, for all practical purposes, infinite.
The best you can do in this case is make an educated guess at every fork. For example, if you had a compass that pointed towards the exit, you might take the path that most nearly coincides with the direction of the needle. In some cases, there is no feasible printing sequence; the maze has no exit. More strangely still, you can’t know, at least with our current understanding of computer science, if you should give up. You know the exit exists if, and only if, you actually find it.
In order to navigate the maze and generate a printing sequence, you need an efficient algorithm as well as a fair bit of computational power. This part has become much easier recently with high-level languages such as the Wolfram Language. Says author Greg Hurst, a developer at Wolfram Research, “This problem spans many disciplines. Computational geometry is needed for collision detection, NP-complete graph problems — like finding cliques — need to be solved, and sparse matrix solvers need to be invoked thousands of times throughout. With the Wolfram Language, I was able to hammer out fast code in a matter of months.”
Here’s a Wolfram Language command to visualize nozzle-beam collisions. The red beams must be drawn after the green one to avoid contact with the blue nozzle as it draws the green beam:
Here’s the full implementation with relevant information to monitor the progress:
So the problems of turning a design into a set of printer instructions, and of having a printer that is sufficiently precise into execute them, are more or less solved. This doesn’t mean that 3D-printed organs are just around the corner. Just pouring a bunch of liver cells around a vascular mold doesn’t give you a functional liver. You need to make the cells to grow and organize the same way they do in your body.
Cells respond to the chemical and mechanical properties of their environment, and successfully recapitulating tissue requires tailoring these parameters as well. But printing vasculature is a very important step, because without it, everything dies. Now we can start tweaking the environment without worrying so much about the all-important blood vessels.
Today, we have sugar bunnies. Tomorrow, we might have miniature organs on a chip that we use to test new drugs. In several years, who knows. Maybe we’ll be able to replace a failing heart with a patient-specific replica. Maybe the processor in your computer will be replaced by a vascularized slab of neurons. We can’t yet say what the application will be, but we have the tools now to start entertaining these ideas. Stay tuned!
For a more technical overview, visit the Wolfram Blog.
About the Authors
Greg Hurst is a mathematician with interests in human organ design, computational geometry, and number theory.