top | item 40003710

Show HN: I made a new sensor out of 3D printer filament for my PhD

886 points| 00702 | 1 year ago |paulbupejr.com | reply

Here's a "behind-the-scenes" look at my development of a cool sensor during my PhD (electrical engineering). This sensor is only about 1/3 of my total research for my degree and took about a year.

I've been on HN for a while now and I've seen my fair share of posts about the woes of pursuing a PhD. Now that I'm done with mine I wanna share some anecdotal evidence that doing a PhD can actually be enjoyable (not necessarily easy) and also be doable in 3 years.

When I started I knew I didn't want to work on something that would never leave the lab or languish in a dissertation PDF no one will ever read. Thanks to an awesome advisor I think I managed to thread the needle between simplicity and functionality.

Looking back, the ideas and methods behind it are pretty straightforward, but getting there took some doing. It’s funny how things seem obvious once you've figured them out!

Oh, I love creating GUIs for sensor data and visualizations as you'll see -- it's such a game changer! pyqtgraph is my go-to at the moment - such a great library.

130 comments

order
[+] raphman|1 year ago|reply
Very beautiful research and thorough documentation. I initially wanted to comment that this looks a lot like time-domain reflectometry on a conceptual level - but as Cindy Harnett seems to be your advisor, you probably know that already :)
[+] smoyer|1 year ago|reply
I did some work on TDR analysis when analyzing CATV fraud detection but it turns out that we generally know where on the fiber plant each CPE is and collecting the DOCS IS timing data from those devices is essentially free.
[+] 00702|1 year ago|reply
Indeed! How do you know her?
[+] OisinMoran|1 year ago|reply
This is really neat—thanks for sharing! I love the general idea of making materials more "self-aware" or inspectable. It's very sci fi!

The research I did before my current job touched ever so slightly on this too, so even cooler to see it on the front page. What we were doing was using complex valued neural nets to learn the transmission matrix of an optical fibre. It was previously done in the optics community by propagating Maxwell's equations, but we were able to beat the state of the art by a few orders of magnitude with a very simple architecture (the actual physics just boils down to a single complex matrix multiplication!). The connection to your work here is that if the fibre is bent you have to relearn a new matrix. It could even be possible to learn some parameterized characterisation of the fibre, so you could say do some input/output measurements and use that to model a spline of the fibre. We did not get that far though!

Here are the papers if you're interested:

CS-focussed one: https://papers.nips.cc/paper_files/paper/2018/hash/148510031...

Physics-focussed one: https://www.nature.com/articles/s41467-019-10057-8

[+] spiderxxxx|1 year ago|reply
could it detect a twist instead of a bend?
[+] jjk166|1 year ago|reply
This is fantastic! One can easily imagine some minor refinements that would allow this to be mass producible with very high accuracy. And the applications are abundant. I imagine you could use space filling curves to make 2D or 3D sensors that could cost-efficiently give robots a sense of touch. Wrapped around something like a flexible tube you could make it directionally sensitive for proprioception. It's easily possible that other things that affect the air gaps like say temperature differences could be detected and localized as well.
[+] 00702|1 year ago|reply
There are a lot of cool applications indeed! I was able to use it to do gait for a soft robot "leg", but I have to wait for the paper to be published later this year before going into too much detail.
[+] klysm|1 year ago|reply
> Thanks to an awesome advisor

And there you have it! The difference between a miserable experience and a good one

[+] jallmann|1 year ago|reply
What an excellent write-up. Very clearly explained, and the use of gifs and visuals to illustrate concepts was spot-on. I'm only a software engineer with a limited understanding of this field, but really enjoyed reading this and learned a lot. Well done and congrats on the PhD.
[+] ericdfoley|1 year ago|reply
Not quite the same thing, but this reminds me of DAS using fiber optic cable for various acoustic sensing tasks--basically as an alternative to geophones/hydrophones. There have been a number of papers using transoceanic fibers for various monitoring tasks.

That is also used for various industrial applications, e.g. for strain sensing by Luna Innovations. I know that Schlumberger has various patents on fiber-optic sensing relating to towed streamers (e.g. for marine seismic acquisition.) But I haven't seen it used for soft robotics before.

[+] 00702|1 year ago|reply
Yeah initially doing literature review was a bit daunting because of all this existing work, especially FBG-type sensors, but this idea is so fundamentally simple that its been mostly bypassed by the smarter minds
[+] crote|1 year ago|reply
What an absolutely amazing idea, great work!

Your sensor data seems to have quite large "dead zones" - those should be trivially fixable by reducing the inter-sensor distance, right?

Would it be useful to sense the direction of the bend? I reckon this might be possible by dividing the tube like a Mercedes logo, and having three sets of the sensor in one outer tube.

Is there a way to sense multiple bends? With the current setup that'd result in invalid readings as you're essentially OR-ing the value. Are there any good solutions for this?

[+] 00702|1 year ago|reply
Great ideas! Even though I haven't implemented it fully it is possible to sense multiple bends because each bend will always have the same relative attenuation (across the strands) so it would just be a matter of matching on the relative deltas from one reading to another. The catch, though, is at that at some point no light will reach the end if every joint bends a lot. There are ways to mitigate that, but my comment is too long already!
[+] beachy|1 year ago|reply
I've been looking for a sensor that can accurately detect a golf club sweeping over the top of it (how close, how quickly, arc of swing).

The idea being to create a golf launch monitor that doesn't require hitting a ball, so you can play sim golf inside. Think playing alongside the Masters as you watch on TV in the lounge - without smashing a golf ball through your TV.

I am wondering if this could be suitable (or a number of them ganged together).

[+] cglace|1 year ago|reply
My dad had something like this that hooked up to his computer in the 90's.
[+] speps|1 year ago|reply
The risk of hitting the sensor and seeing it flying across the room into the TV seems too risky.

As mentioned, a high FPS camera along with the Kinect tech to extract a skeleton would work so much better. You could make that in your garage using a PlayStation Eye and existing open source tech.

[+] risenshinetech|1 year ago|reply
This already exists, its called the Optishot, and it doesn't work very well when compared to any modern radar or camera based sensors.
[+] schrectacular|1 year ago|reply
Seems like a hall sensor or two plus a magnetic club head is what you need
[+] downrightmike|1 year ago|reply
Isn't this just the same tech as the first Nintendo Power Glove had? https://www.youtube.com/watch?v=3g8JiGjRQNE

They put light down a tube and then measured the light to trigger a key press. That's why bending your fingers/hand did anything. The revised the mechanism in the later generations.

[+] Doxin|1 year ago|reply
I think at least one novelty here is that there's multiple "bend points" it can detect without needing a fiber for each bend point.
[+] robryk|1 year ago|reply
I don't understand what happens when the sensor is bent in more than one location.

At the beginning you mention a ToF sensor, which made me think that you're looking at reflections from the bends and measuring distance to them, but this seems not to be the case. ISTM that if you bend the sensor in two places, you'll simply get the sum of the logattenuations from both. If we assume that the "strength" of the bend continuously changes attenuation, ISTM that you need as many strands as there are gap locations to be able to disambiguate between any two sets of bends.

Am I misreading something or is this intended to operate in cases where we know only one bend is present?

[+] mariusor|1 year ago|reply
In the paragraph "Visualization of the OptiGap Sensor System" looks like the gap pattern from multiple sensors is providing a unique signature that can be translated into the exact location on the length of the sensors. The mechanism for translating the wave forms to actual location seems to be based on a bayesian model, according to the "Realtime Machine Learning on a Microcontroller" paragraph.
[+] riedel|1 year ago|reply
Have you explored fiber bragg grating. 10 years ago a student of mine semi successfully explored sensing the shape of firefighter hose using that technique. Seems to gain new traction again lately for optical shape sensing.
[+] 00702|1 year ago|reply
I explored FBG sensors early on and they are very cool -- I was aiming for a less expensive and more robotics-oriented application. Something that can be seamlessly integrated into a design at a lower level without the complexity of FBG technology.
[+] Prcmaker|1 year ago|reply
The perpetual issue with FBGs is cost, in my experience. For quality sensors, you can use cheap fibre with expensive detectors, or cheap detectors with expensive fibre. There's been a perpetual promise of the tech getting cheaper, but never seems to really drop significantly. We always struggled to find buyers once they saw the price tag.
[+] bythreads|1 year ago|reply
Congrats and if I may; your blog post should be how ph.d's are done - readable, understandable and devoid of techno mumbling.
[+] karambahh|1 year ago|reply
It seems to me that the refractive index plays a role: couldn't you increase resolution by replacing air by another medium every other cut? Say air, water, air, etc.

My reasoning is that you'd increase the resolution without adding too much technical complexity.

My maths is too rusty to evaluate how it would mess with the gray code though.

Very nice idea

[+] 00702|1 year ago|reply
I didn't include this in my article but I did some experiments early on (for a different idea) with air bubbles in oil inside a Teflon coated tube but that presented a lot of challenges (mainly the bubble breaking up) that made it not ideal for something like this.

This can certainly be miniaturized with the right manufacturing techniques but I left that for the future.

[+] wholinator2|1 year ago|reply
As sometime about to start a PhD in theoretical physics, how did you do 3 years? I've been told a doctorate is 2 years of classes followed by 3 to 5 years of research. Did you already have a masters that you're doctorate college accepted to override class requirements?
[+] 00702|1 year ago|reply
The short answer? Weekly meetings with my advisor! Long answer: I also had 2 years of classes but I started working on my research immediately, while taking classes. By the time I finished all my classes and became a candidate I had one paper already published and another one accepted, so I was able to get a 3rd paper out and defend by the end of the 3rd year.
[+] skoocda|1 year ago|reply
This is awesome! Presumably you can make this work with any interface that doesn't enforce the total internal reflectivity of a fiber optic cable, and therefore allows light to leak out. Instead of an air gap, have you tried experimenting with removing the cladding of the fiber optic cable, but keeping the core intact?

Alteratively, could you use a short segment of colored cladding that allows certain wavelengths to leak out more than others? I think that would allow you to encode each bend point as a different color-- which might require a different (more expensive) rx sensor, but could be useful for certain applications.

[+] 00702|1 year ago|reply
I did experiment with various ways of allowing light to escape but nothing came close to the properties of a total air gap. You can actually measure (relative) bend angle with it like a protractor since the attenuation is very linear!

There is already existing work that uses colored segments for something similar but those techniques are hard to do outside a well equipped lab.

[+] knodi123|1 year ago|reply
This is interesting! Although the way you have to have log2 fibers, and a different encoding in each junction, presents quite a manufacturing challenge. Oh well, it's not a problem at the research/POC phase!
[+] teucris|1 year ago|reply
I wonder if by using a large nozzle, you could print out the entire sensor by laying out lengths of TPU with flexible joints at each air gap. It would depend on how well light traveled through the printed part though.
[+] 00702|1 year ago|reply
3D printing does affect the light passing through significantly. There are a number of options for fabricating these but most of the successful ones involve cutting (can even use a laser cutter).
[+] moralestapia|1 year ago|reply
Paul, what an amazing project, this is what hacking is all about. Congratulations!

Definitely try to explore the commercial side of your invention.

It wouldn't hurt to talk to an IP lawyer, if you're still in Uni they usually have people there doing this and you can just go talk to them, free of charge (for you!).

I'm generally against the idea of patents, mainly because of people who came to know to game the system and exploit it (patent trolls etc...) Your project is a real thing with real applications, you definitely deserve a share of whatever commercial benefit this could bring to the world, :D.

[+] 00702|1 year ago|reply
My (former) school is actually already in the process of doing that! My dissertation committee thought it was novel enough that it needed some IP protection and encouraged me to pursue that.
[+] kobalsky|1 year ago|reply
Maybe I'm not understanding the blog post so bear with me. Isn't what he is described what a time domain reflectometer does? [1]. I mean that's what it's used to detect breaks or kinks in fiber optics cables. The same tech is used to detect problems in civil infrastructure with embbeded fiber optics.

[1]: https://en.wikipedia.org/wiki/Optical_time-domain_reflectome...

[+] porphyra|1 year ago|reply
That's super cool and I hope you don't mind a little bit of unsolicited feedback but the first question everyone's asking is "what does it do?" At present the blog post starts out with two paragraphs talking about the format of the blog post and the applications but not what the sensor actually measures.
[+] Netcob|1 year ago|reply
That's basically every other HN article for me. Zero context. "Blorglorp 2024.4.99 released" "With the new version, Blorglorp finally sheds its libgnipgnop dependency and increases efficiency by 1.25%". Bam, top post for the day, lots of multi-paragraph comments, and I'll still never know what it's even for.
[+] 00702|1 year ago|reply
Good point -- I need to better explain what "bend localization" means on a more practical level pretty early on.
[+] nuancebydefault|1 year ago|reply
This question surprises me. Bend location == locate where something is bent. Then some video's of the researcher bending a tube. Is there any confusion possible?
[+] Prcmaker|1 year ago|reply
Very cool! I used to build sensors similar in construction, but in all glass. Was a great challenge and a lot of fun. I like your spin on things.

Well done completing the Phd!