Tuesday, April 21, 2009

Light pollution

We had some problems when there was a external source of IR light right above our table, so we tried to place a IR blocking foil on top of the acrylic, just like the one they use on the windows in office buildings.

The result is not so good as we thought it would be, because the foil is on top of the acrylic it would not interfere with the IR light that that refracts to the webcam, but we need to press very hard to get weak blob's.



So this is not the best solution to block surrounding IR light.

We hope to find something that will work as IR blocker and still let's us have good blob's.

Automatisation of startup

We also needed to make the startup of all the programs needed to control the multi-touch screen, so we decided to write some code in C#.

What happens in the code is the following.

1: startup of tbeta
2: simulate removing bacground by pressing 'b'
3: minimize tbeta screen for max fps (spacebar)
4: startup of multitouchvista processes in the right order.
5: we move all processes to the background (except tbeta for so far)
6: we write a logfile so you can track what events occurred and what not.
7: we kill all processes when you restart the program.

for more information on the code you can always ask us.

Update

It's been a while since our last update, but we sure made some progress in the meanwhile.

We completely closed the table with wooden panels, so no external light can disturb with the working of out table.





We successfully installed MultTouchVista and made it work with Tbeta as an input device (sends TUIO to MultiTouchVista).
So now we use the standard built in multi-touch function of Windows7.

We installed google earth to play around with :P, and we also tried to install Nasa Worlwind and the multi-touch plugin, but for some reason (we think: not supported driver) it won't start up at all, so we can't test with it.

We installed Bumptop for a more multi-touch experience, it has some cool functions.



Friday, March 27, 2009

windows 7 and Multitouchvista

In our previous post you can see our first demo,

There are some small differences in our setup since our last video's,

We upgraded our pc from a P4 to a Dual core developers machine, Tbeta runs much smoother now.
We also installed Windows7 on it. Why? Because Windows 7 supports Multi touch input.

The only problem is that Windows does not know that we made a multi touch screen, it just sees a independent projector and webcam, so we need to tell Windows that there are Multiple (touch) inputs possible, multiple inputs as in, we connect 4 different mouses to the pc and each user can control it's own mouse and do different things with it.

One way, and as far as we know, the only way at this moment is to install MultiTouchVista.
This project is still in alpha phase, we need to compile the solutions ourself.

But for some reason we can't seem to get it working, and that is what we are figuring out now.

Demo

Today we recorded our 1ste real demo.
Enjoy!

Friday, March 20, 2009

Running demo application

We placed the rosco grey under the acrylic and did a calibration in Tbeta.



Then we tried to run a demo application which eventually worked.

We thoroughly followed the steps on this site and it worked, we've also made a video of this and we'll try to upload it because it was filmed with a cellphone.

Our demo application worked!



Now we can go on with the fine-tuning.

(Sorry for the bad quality)

Test with rosco grey on top of sulky solvy

Today we wanted to test some more with sulky solvy on top of the acrylic and on top of that rosco grey.

We tough we could get some better results when we really stretched the sulky solvy realy hard over the acrylic, and kept it there with some double sided tape on the 4 edges.
But we soon decided to get rid of it.

Here is a picture of this test.



We decided to go for our other solution with the rosco grey under the acrylic.

Thursday, March 19, 2009

Rosco grey under acrylic

On Monday we had blobs but no projection on the acrylic, so we had the idea to put rosco grey underneath the acrylic, and the result was not what we expected, in a positive way.
As you can see the projection is good and it does not interfere with the quality of the blobs.








After some more testing the configuration of Tbeta and touchlib was all set and done.







Monday, March 16, 2009

Some exta tests

After some small tests we came to the conclusion the harder we stretched sulky solvy over the acrylic the better blobs we got.



After stretching Sulky Solvy we didn't need to press as hard as before.
You still have to use a bit of force.

Testing with Sulky and Rosco

The next test we did was with a pirce of rosco grey on top of the Sulky Solvy



As you can see with rosco on top of Sulky Solvy the result is even worse then before.
We'll still experiment with this in Tbeta to see if we can get any usefull blobs.

Testing with Sulky Solvy

Today we wanted to test with Sulky Solvy applied on top of the acrylic.

We had many expectations, afther reading allot of it on Nuigroup.



So as you can see in the video we recorded, the results were very disappointing but it's possible we might did something wrong, forgot somthing, or just need to test some more.

In the second video we removed the IR bandpass filter to see if it would make any difference.



So as you can see in this video even without the bandpass filter there is not much difference.

Thursday, March 12, 2009

Blob's!

We still need to make some configuration adjustment (fine-tuning) but the result we get now is very promising.

note: this is on bare acrylic!


IR ribbon is working fine



Low FPS in Tbeta

Another 'problem' we encountered last week was that the frame rate in Tbeta was very low, only 5 frames per second (as you can see in the picture), this is way to low, we should at least have 30fps.




By pressing the spacebar you can enter the mini mode of Tbeta, and as you can see in the picture the frame rate now is 30fps constantly. This is the result we want.



The cause of this is just guessing, but it could be that our pc's performance might not be good enough, it's a P4 with 2Gig RAM.
The pentium 4 might not be as good as the Dualcores, but for now it should do the trick.

Unofficial Touchlib Reference

This also will sure come in handy.

Touchlib documentation.

http://www.multigesture.net/wp-content/uploads/Touchlib_Reference.pdf

google code pages:

http://code.google.com/p/touchlib/

How to run touchlib (windows)

Installing Touchlib on Windows

Installing Touchlib on Windows XP/Vista

Requirements
Flash Player 9
Visual Studio 2005 SP1 x86 redistributable package

Please make sure your camera is properly setup within Windows before continuing with the follow steps.



  1. Download the latest version of Touchlib from http://nuigroup.com/touchlib/downloads/

  2. Open the zip file and extract touchlib_beta_v*.* folder to your desktop.

  3. Execute config.bat
    • Hit B to perform background subtraction
    • Hit Enter to perform calibration
    • Hit ESC when you are complete with calibration
    • The config application has now saved your settings into touchlib/config.xml
    • Also see: Touchlib configapp

  4. Now everything from previous step should be closed..
    • Execute server.bat
    • Execute vision.bat

  5. Go into the clients folder and choose an application to test. Your input device should now register touch events within Flash.

Source: http://nuigroup.com/wiki/Installing_Touchlib_on_Windows/

Touchlib error

We were able to run Tbeta in windows without a problem, but we also wanted to try out Touchlib, but every time we tried to run it on a pc it gave the following error.



So I downloaded the needed DLL from http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71
I copied it to C:\Windows\System32

and tried to run it again, but still the same error...

Then I tried to copy the dll directly in the Touchlib folder, but still the same result.

After some searching on the internet I downloaded this:
Microsoft Visual C++ 2005 Redistributable Package (x86)

But the result was still the same,

The version of touchlib we were running was V2.0, and version V1.0 worked without a problem.
So I copied the missing dll from the V1.0 folder to the V2.0 folder.

And it worked.

you can download V1.0 from here:
http://nuigroup.com/touchlib/downloads/

Webcam lens

It's been a while since our last update of our blog.
Last week we went to Cebit in Hannover (Germany) which was very interesting and there where plenty of (multi-)touch applications there, some in very large scale.

The last thing we did before our 'break' was place the IR ribbon around the acrylic, the acrylic arrived about one week ago, so we tested it right away with our IR ribbon.

The first results were not so promising and the result could be better, a lot better.
Our main problem is that the webcam gives a very blurry image, I'll add pictures of that so you know what i mean.
Because of the blurry image we could not get bright or clear blobs, and we could not know for sure what the problem was of the 'weak blobs', the bad lens or the IR ribbon?

So today we experimented a little with the webcam and the lens to see what could cause the blurry image.
The solution is, that you do not have to screw the lens all the way to the bottom, you need to screw it in just the right amount so that the focus is good.
I'll add a picture of the image we get now, the result is just what we expected.

Problem:


Result:




So this is the lens without IR filter!, it's not very clear to see the difference with a normal lens, but later on I'll take some some pictures So you can clearly see why you need this lens.

Tuesday, February 24, 2009

Modification of the webcam

Today we also made a 'small' modification to the webcam.

Original:

We removed the casing of it, and build a new one, you can also see the new lens without IR Filter we put on.
On top of this comes another casing to hold the IR bandpassfilter.



First test with projector

Today we did some tests with the projector, so that the image would be in the centre of the surface.

We used a simple piece of paper to project onto.

As you can see, we removed the back plate of the projector so it could move back a little more, this is so the projected surface would fit completely on the screen.
We also had to play a little with the resolution on the computer.





Monday, February 23, 2009

Deliveries

Today the rosco grey screen arrived, we were not able to take any pictures of it, but I can tell you it's great, and it feels very smooth just like we expected, we can't wait to test it.

Pictures of the screen still packed may follow, pictures are always more interesting then some text :)

The frame is almost finished

This is why we recommend to first draw the multi touch screen on a computer, so you know what to expect, and so you can overlook problems more easier and you can handle with them before the problem really occurs.



Difficulties with projector in frame

After noticing the problem it wasn't so hard to figure out a way to solve this problem.
We got back to the drawing board and adapted the first prototype sketch we drew.

This is our solution to the problem,




- We raised the projector 4,5cm above the top of the frame, this is to get the proper image projection size.
- We also had to move the projector 23,3cm to the back to fit the image centered onto the surface.
- We figured out a way to stabilize the projector. We made a support under the projector where he can rest on, and we are going to attach the projector to the back of the frame.

See sketches (support and attachment in more dark brown color).