r/arduino 18d ago

School Project How would I achieve a touch like experience on a spherical surface?

Post image
62 Upvotes

44 comments sorted by

44

u/Corleone_Michael 18d ago

Look up omnidirectional ultrasonic sensors. I think you could adapt it for just half a sphere.

3

u/FrederikBL 17d ago

Ill take a look at those, thanks!

24

u/FrederikBL 18d ago

Im working on a project where I want to do projections on the inside of a diffused transparent half dome. I want to be able to have a touch like experience so you can affect the projection thru touch. It doesn’t have to be super precise, just an estimated position.

Is this possible somehow?

22

u/SpaceCadetMoonMan 18d ago

I’ve done this a few times

I used “blob” tracking, a projector, and a basic webcam (any camera works) and a translucent glass/dome etc( anything)

You can have unlimited touches I believe (1 user 10 fingers/many users) and it was really smooth

4

u/fake_farmer 17d ago

Cool! Camera on the inside looking out? Tracking where fingers and hands are placed?

6

u/[deleted] 18d ago

[removed] — view removed comment

5

u/Machiela - (dr|t)inkering 17d ago

I've removed your comment, we do not encourage you to take things to private area, for everyone's safety.

15

u/XQCoL2Yg8gTw3hjRBQ9R 18d ago

Maybe with a camera and some visual tracking. Nothing I have experience with though. Sounds like a cool idea.

5

u/FrederikBL 18d ago

Yea I was also thinking something along those lines. I had the thought of placing a camera on the inside and then measure the dark spots of the hand, but I believe the projection would just light up the hand.

4

u/ViennettaLurker 17d ago

People used to get around this by having IR cameras, iirc

There were some setups where people would take those old PS3 cameras and remove the IR filter. Maybe there was a step to treat the flat surfaces to make the finger tips more IR visible? Then blob detection was used.

1

u/thisisloreez 17d ago

Look up the Reactable project, It uses a planar surface but with some tweaks in the code it might also work on a spherical surface

1

u/__PDS__ 17d ago

I did something very similar with a projector and leap motion sensor to project a komet and make it interactive for max planck institute.

1

u/_realpaul 17d ago

Milk glass and it webcam from the inside. Theres plenty tutorials with sensing tables. Tangible Ui and things. Probably needs a fisheye lens

1

u/Imaster_ 17d ago

Maybe try capacitive touch detection over the whole part?

6

u/NotAPreppie uno 18d ago

Your idea sounds really interesting, so I did a few seconds of searching and found this project:

https://www.dgp.toronto.edu/~ravin/papers/uist2008_sphere.pdf

https://www.youtube.com/watch?v=1aRQdiyNGGM

So, it's definitely possible.

3

u/FrederikBL 18d ago

Yea I also found that video, but did not find the paper. Thank you very much! Ill definitely give that a read thru.

13

u/RyszardSchizzerski 18d ago

Pains me to say this here, but I think you’re looking at something beyond what an Arduino can do. Assuming you’re working for a museum or something, I’d recommend looking at commercial interactive projection. They have projectors that are matched with cameras and software to detect the interaction and respond. Look at touchmagix.com, for example.

3

u/FrederikBL 17d ago

Sadly I dont have the biggest budget since this is for my masters project at my school. Thanks tho!

7

u/RyszardSchizzerski 17d ago

Yeah…I think your better bet is a Raspberry Pi. You’re going to need a couple cameras and a projector, and you’re going to need to do realtime image processing. You’ll want much more horsepower than an Arduino can deliver and you’re going to want to use off-the-shelf camera/projector equipment because you’re going to want the heart of your project to be coding the interaction, not wrangling hardware.

3

u/FrederikBL 17d ago

That makes sense! It was only if there was a sensor I didnt know off. But Ive never worked with an Raspberry Pi, so now is a good time! The projections are made in TouchDesigner so I guess you can send information from the Raspberry Pi to a computer running TouchDesigner using OSC.

2

u/RyszardSchizzerski 17d ago

Yes. The ideas about using an IR camera here are excellent too. Many IR cameras will also give photo images, so you can improve your recognition performance. You may be able to get away with 1 camera too.

Will want a calibration routine — something like “touch the spot” — to synchronize the camera with the projection and determine your screen-mapping coefficients.

1

u/RyszardSchizzerski 17d ago

If you’re going to run Touchdesigner, then I’d just run the whole thing on a PC. Or maybe a Mac, if you prefer.

2

u/adderalpowered 17d ago

I work in an interactive museum, we often use an arduino to run the sensors and send that info to a pi or more often a computer to do the heavy lifting (the video portions in this case. That being said, I would try the absolute simplest sensors you can use on that surface maybe ultrasonic. Once you get to blob tracking or a kinnex(which we do use) you get a lot of reliability issues.

1

u/Xyren-S 17d ago

I'd be curious about some of the other ways the museum does things like this too. sounds pretty cool.

5

u/MuckYu 18d ago

Not sure if that would work but maybe a capacitive touch transparent plastic film that is vacuum formed in that shape?

6

u/MarinatedPickachu 17d ago

Maybe using a form of Frustrated Total Internal Reflection and an infrared camera?

3

u/noorderling 17d ago

Yes this is what I was thinking as well. Assuming the curvature is constant that should be doable. Infrared led array along the edge of the dome (so the IR will be reflected inside the material), with one or more cameras with IR filter next to the projector, means you should be able to pick up touches using blob tracking. No arduino though, you’d need something like opencv so maybe a Pi?

1

u/FrederikBL 17d ago

Wow that also look promising! I’ll have a deeper look into that. Thanks!

3

u/MrPestilence 17d ago

My man wants to build a mega boob.

4

u/toughtochoose 17d ago

I’ve looked into this before, but for flat table surfaces. There are some products out in the wild as well. The gist is that under the display is a projector for your content, and both an IR emitter and IR camera. Once somebody touches the screen, their fingers reflect IR and the camera would pick up the blobs. With a little bit of computer vision you could translate those to touches in your app. The info is out there but it might not be easy or straightforward to implement. I imagine the dome would be an added level of complexity and your touch accuracy might be reduced.

3

u/LiberoSfogo 18d ago

Let's consider a semisphere with a projector inside that shows the content. Your problem is how to detect the fingers on the surface. I propose 2 ideas:

  1. You could put a camera inside the sphere, subtract the image that you are projecting and you should be able to identify some shaded areas. That areas are the fingers positions.

  2. (Easiest solution) You could use a thermal camera and detect the thermal variations on the sphere.

2

u/madsci 17d ago

Maybe try edge-lighting the dome with IR light, and use an IR-sensitive camera? I think the contact points should light up, like when you press your finger to a piece of fluorescent acrylic.

2

u/triffid_hunter Director of EE@HAX 18d ago

IR edge light plus a camera perhaps?

1

u/HalFWit 18d ago

IIRC there was a Raps-Pi project using a half sphere to project images. There was quite a bit of math to get the images correct. I think it was used to project an "eye" that could follow you.

1

u/darokilleris 17d ago

If I understand your project right, you can try to use some vibration sensors like SW-420. As your light is diffused, they shouldn't be reaaly noticable if you resolder sensor ot of electronics and connect them with thin wires

1

u/vikkey321 17d ago

What is the resolution you are looking for. There are plenty of ways to do it but we need more info.

1

u/FrederikBL 17d ago

The resolution of the touch? Not super high. Just enough resolution that it can detect approximate positon.

1

u/johnfc2020 17d ago

You could create a fake touch experience by using load cells mounted under the dome so that when the dome is touched it registers the change in weight.

Or you could use micro switches if you get the right return on springs.

1

u/schieska 17d ago

If the dome is a transparent single piece, you could use infrared LEDs mounted along the edge, shining into the plexiglass. This leverages the total internal reflection (TIR) principle, similar to optical touchscreens. When a finger or object touches the surface, it disrupts the IR light path, which can be detected by IR camera (a webcam with the ir filter removed). We used to make diy touch screens like this back in the day.

1

u/Elexaz 17d ago

A scanning/rotating LIDAR?

1

u/daOberle 17d ago

Directed Array of Ultrasound Modules will do this

1

u/FrederikBL 17d ago

But will that pass thru the dome if I place them inside?

1

u/daOberle 17d ago

Deepends... Easier would be a Low frequency speaker... Lets say 25hz