Forum Replies Created
The first idea, and immediately workable, is to use
xdotool. With xdotool:
1- move the mouse to a spring source
2- press the local water key
3- wait some time
4- release the key
Repeat this in a loop (in a script) with several spring sources.
As an example, here are xdotool commands to add water at three locations, each for a tenth of a second. (This assumes the ‘r’ key has been assigned to “Manage Local Water” in SARndbox.)
search --name "^SARndbox$" windowactivate %1 mousemove --window %1 --polar 0 200 keydown 'r' sleep 0.1 keyup 'r' mousemove --window %1 --polar 90 200 keydown 'r' sleep 0.1 keyup 'r' mousemove --window %1 --polar 270 200 keydown 'r' sleep 0.1 keyup 'r'
If there is not enough water from each spring, increase the rain strength with the
-rsargument or patch your SARndbox to add the rainStrength pipe command.
Thank you for sharing the video. I had not seen the Universidade Regional de Blumenau (FURB) project before.
…I can’t talk with the creators…
Is it a language issue or are they not responding?
I see two possible ways to accomplish multiple springs. I’ll split the ideas across posts in case I have to fight the spam filters.
The BenQ MX631ST looks to have a native 4:3 aspect ratio, so that should be simpler. Otherwise, it appears to be the same as the MW632ST.
I would try to disable any image processing by the projector. In the projector menus, set the aspect ratio to “Real” and disable digital zoom by setting it to “1.0”.
Hm, so that yellow frame is supposed to outline the sandbox? After reading the source code for
CalibrateProjector.cpp, I see you’re right.
I suspect the yellow frame does not match the sandbox because your projector (and ours) has a wider aspect ratio than the software originally expected. A 4:3 ratio is hardcoded into
CalibrateProjector, while a BenQ MW632ST projects in a 16:10 aspect ratio.
I’ve never seen the yellow frame match the physical box and it has not been a problem. I recommend ignoring the yellow frame and calibrate as normal.
One possible way to do this is to cut out a hand silohuette. Just as a trial, I once cut out a trace of my hand on cardboard and stood it over the sand with a short PVC pipe. It worked to make an artesian well on the sand.
We do not use the hand silohuette because part of the fun is the interactivity and group effort. Assign a student to make the rain hand shape. Rotate student helpers as arms become tired.
Another way is to use the “Manage Water Locally” tool. Place the mouse cursor where you want the rain/spring and press the assigned key to add water at that spot. I believe this could be automated with
xdotool(for Xorg or the similar
ydotoolfor Wayland) to place the mouse pointer and virtually press the “Manage Water Locally” hot key. I think it would be possible to assign a command key in SARndbox to run a script for a local water source. I have not tried this.
You are not the first to encounter this problem.
A third option would be to install LM 19. This is the latest “officially” supported version, but your IT department may not like a post-end-of-life OS on their network.
@robbo I agree that turning the camera or projector is a solution. Calibrating the Kinect and projector as they are should also work.
I was wrong (darn faulty memory) to say the virtual disc will project onto the real disc after calibration, but the red cross-hairs will follow the center of the real disc. And the sandbox projection should match up with the sand forms.
If I am picturing things correctly, I believe you are fine for this point in the calibration. Only use the disc color as feedback during calibration: yellow means a capture will not work, while a green disc means the Kinect has a good reading to use for calibration. Ignore the position of the projected disk until after you have captured at least nine tie points, then the projected disc should closely follow the real disc.
Oliver covers this in his calibration video, but I know I was confused the first time I saw the disc projected on the wrong side of our sandbox.
Please post a transcript of a terminal session where you run the failing command and the errors you receive. Also, include the output of the terminal command
ls -lR ~/src/scriptsand the contents of
I suspect you have all the pieces in place and it is just a matter of patching them together.
Welcome to the forum.
Could you post a transcript of the commands you type and the output you see? The context (current directory) and specific name used to start the command are important.
I’m looking for something like the commands in Step 11″
cd ~/src/SARndbox-2.8 ./bin/CalibrateProjector -s 1024 768
But I want to see what commands you are using.
Welcome to the forum.
Yes, the AR Sandbox should work on RHEL. There will be differences in the software installation steps. As a start, you can try the
Build-Fedora.shscript instead of the
Build-Ubuntu.shscript (Fedora is to RHEL as Ubuntu is to Linux Mint).
AR Sandbox installation has been widely tested and documented on Linux Mint. If you are a Linux novice and don’t have someone to help debug installation difficulties on RHEL, I recommend you try Linux Mint.
What does it look like (on the sand) if you reshape the sand after a freeze? Do the contour lines remain frozen? Does the water flow through the new terrain or keep animating in the frozen terrain?
Can you swap out the Kinect? Are there any infrared light sources (like a covered, exterior window) that could influence the Kinect?
I’m curious what you mean by “permanent water level”. I’ve customized our sandbox, too, and I’m interested in what others have done. My own changes have mostly been to convert command line arguments (i.e. -evr and -rs) to pipe commands.
A little more information might help. What Linux distribution and version are you using? Which model GPU? Which GPU driver?
The following are ideas and questions that I might pursue, if it were my sandbox.
How much of the sandbox software is responsive during a freeze? Can you bring up menus?
What other programs freeze? Try the Vrui example
ShowEarthModelapp and leave the earth rotating, does the animation freeze? Does
glxgearsdoes not freeze on its own, run
SARndboxat the same time. Does
glxgearsfreeze when the sandbox freezes?
Much of the above is to determine if the freeze is in the GPU or CPU.
I would try re-seating RAM and the video card in their motherboard slots. I’ve seen loose video cards cause intermittent hard freezes (i.e. only rebooting will restore the system).
home/civur/src/scripts/weather.shaprobably does not exist, I believe you meant
But, are you using “civur” as your sandbox login name? If not, replace “civur” with your sandbox login name. That is,
Also, when I press the “5” button, it closes the sandbox aplication, the same with the “6” button, the aplication freeze and then close.
I suspect, like the initial post from @nicolas-mendoza, the failed weather script is crashing the sandbox software. Do you see any errors if you start the sandbox from a terminal window?
Doh! <slaps forehead> I see, now. Yes, my instructions above have an error. The pipe file name must match in all steps. So “SARndbox.fifo” in steps 4 and 5 should be “SARndbox.pipe”. Sorry.
Good catch. Will you be posting video anywhere of your sandbox running with alternate liquids and matching colors?
Updated/Fixed steps to change color maps in a running sandbox:
1) If not already done, add a control pipe in the folder you launch SARndbox. In a terminal window, run
mknod SARndbox.pipe pto create a pipe you will use to control the running sandbox.
2) If not already done, tell SARndbox to use a control pipe. This is done with the
-cp SARndbox.pipeoption. I.e.
SARndbox -uhm -cp SARndbox.pipe. The pipe names must match in all steps.
3) Create an alternate color map file. Find “HeightColorMap.cpt” and copy it, in the same folder, to “HeightColorMap-lava.cpt”. The four columns in cpt files are (left to right) elevation, red, green, and blue. Edit “HeightColorMap-lava.cpt” to swap the red and blue values for all elevations below sea level. For example, the first line (“-40.0 0 0 80”) becomes “-40.0 80 0 0”.
4) Test your new color map in a terminal window. Run
echo "colorMap HeightColorMap-lava.cpt" > SARndbox.pipeto change to the lava color map. Run
echo "colorMap HeightColorMap.cpt" > SARndbox.pipeto change to the default color map.
echo "colorMap <color map file>" > SARndbox.pipeto the “switch” scripts to match the color map to the texture.
6) Ask questions if you run into problems.