AR_Sandbox/install のバックアップ(No.15)



目次  

ソフトのインストール  

1.最新バージョンのLinux Mint (64-bit, MATEデスクトップ版) をまっさらなPCにインストールします.  

2.Nvidia製のグラフィックカードを使うためにベンダーのドライバーをインストールします.  

3.Vrui VR toolkitをインストールしてビルドします.  

cd ~
wget http://idav.ucdavis.edu/~okreylos/ResDev/Vrui/Build-Ubuntu.sh
bash Build-Ubuntu.sh

4.Kinect 3D video packageをインストールします.  

cd ~/src
wget http://idav.ucdavis.edu/~okreylos/ResDev/Kinect/Kinect-3.5.tar.gz
tar xfz Kinect-3.5.tar.gz
cd Kinect-3.5
make
sudo make install
sudo make installudevrules
ls /usr/local/bin

5.AR Sandboxのソフト本体をインストールします.  

cd ~/src
wget http://idav.ucdavis.edu/~okreylos/ResDev/SARndbox/SARndbox-2.5.tar.gz
tar xfz SARndbox-2.5.tar.gz
cd SARndbox-2.5
make
ls ./bin

システムの統合・キャリブレーション  

6.第一世代のKinectデバイスを接続して,そのファームウェアから機器固有の調整パラメータをダウンロードします.  

sudo /usr/local/bin/KinectUtil getCalib 0

7.全画面表示のキーボード・ショートカットの登録  

8.Kinectの向きを調整して,カメラの視界がサンドボックスの内側をカバーするようにします.  

cd ~/src/SARndbox-2.5
RawKinectViewer -compress 0

9.サンドボックスの底面を算出します.  

cd ~/src/SARndbox-2.3
pluma etc/SARndbox-2.3/BoxLayout.txt &

【巧みの技: 】テキストを異なるウィンドウ間ですばやくコピペする方法

  1. : コピー元の画面のテキストをマウスで反転させます
  2. : コピー先の画面にマウスを移動させてペーストしたい箇所で中ボタンをクリックします.

10.砂の表面の3次元的広がりを計測します.  

BoxLayout.txt の例(ここで設定するのは2〜5行目です)

(-0.0302053, -0.0164072, 0.999409), -100.1997 //水平面(海水準)のパラメータ(鉛直ベクトルと深さ)
(            -28.4518,             -36.6135,             -99.2554) //sandboxの四隅(左下)
(             36.3453,             -36.2071,             -100.039) //sandboxの四隅(右下)
(             -28.321,              35.1049,             -102.783) //sandboxの四隅(左上)
(              36.313,              34.6932,             -99.9503) //sandboxの四隅(右下)

11.プロジェクタの投影がサンドボックス内に収まるように本体の向きを調整します.  

XBackground

12.Kinectカメラとプロジェクタの相互関係を調整します.  

cd ~/src/SARndbox-2.5
./bin/CalibrateProjector -s <width> <height>
./bin/CalibrateProjector -s 1024 768

重要

CalibrateProjectorはフルスクリーンで起動してください. その後,動画の10:10以降の説明に従ってください.

ARSandboxの起動  

13.いよいよメインのAR Sandboxアプリの起動です.  

cd ~/src/SARndbox-2.5
./bin/SARndbox -uhm -fpv

プリセットの作成など  

14.プリセット用のディレクトリの作成  

/.config/Vrui-<version>/Applications

mkdir -p ~/.config/Vrui-4.5/Applications

15.CalibrateProjectorプログラム用の設定ファイル  

xed ~/.config/Vrui-4.5/Applications/CalibrateProjector.cfg
section Vrui
   section Desktop
       section Window
           # Force the application's window to full-screen mode:
           windowFullscreen true
       endsection
       
       section Tools
           section DefaultTools
               # Bind a tie point capture tool to the "1" and "2" keys:
               section CalibrationTool
                   toolClass CaptureTool
                   bindings ((Mouse, 1, 2))
               endsection
           endsection
       endsection
   endsection
endsection

16.SARndbox用の設定ファイル  

xed ~/.config/Vrui-4.5/Applications/SARndbox.cfg
section Vrui
   section Desktop
       # Disable the screen saver:
       inhibitScreenSaver true
       
       section MouseAdapter
           # Hide the mouse cursor after 5 seconds of inactivity:
           mouseIdleTimeout 5.0
       endsection
       
       section Window
           # Force the application's window to full-screen mode:
           windowFullscreen true
       endsection
       
       section Tools
           section DefaultTools
               # Bind a global rain/dry tool to the "1" and "2" keys:
               section WaterTool
                   toolClass GlobalWaterTool
                   bindings ((Mouse, 1, 2))
               endsection
           endsection
       endsection
   endsection
endsection

17.Create a Desktop Icon to Launch the AR Sandbox  

xed ~/src/SARndbox-2.5/RunSARndbox.sh
#!/bin/bash

# Enter SARndbox directory:
cd ~/src/SARndbox-2.5

# Run SARndbox with proper command line arguments:
./bin/SARndbox -uhm -fpv
chmod a+x ~/src/SARndbox-2.5/RunSARndbox.sh
xed ~/Desktop/RunSARndbox.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=mate-panel-launcher
Icon[en_US]=
Name[en_US]=
Exec=/home/<username>/src/SARndbox-2.5/RunSARndbox.sh
Comment[en_US]=
Name=Start the AR Sandbox
Comment=
chmod a+x ~/Desktop/RunSARndbox.desktop

18.Launch the AR Sandbox on Login / Boot  

To run the AR Sandbox as a computational appliance that starts automatically when the PC is powered on, you need to create an auto-login account during Linux installation in Step 1, and create a shell script to run the SARndbox application as described in Step 16. Then you add that shell script to your user account's start-up list. Select the "Startup Applications" applet in the MATE Control Center, and click the "Add" button next to the list of "Additional startup programs." Into the dialog box that opens, enter a name (such as "Start AR Sandbox"), and into the Command field enter the full name of the shell script, i.e., /home/<username>/src/SARndbox-2.5/RunSARndbox.sh, where you replace <username> with your actual user name.

The next time you log into your account, or the next time the PC powers up (if auto-login is enabled), the AR Sandbox will start automatically. To exit from the application, for example to run a new projector calibration or do other maintenance tasks, simply press the Esc key.

19.Use Multiple Screens  

If you are running an AR Sandbox from a laptop, or if your desktop computer has a main monitor in addition to the sandbox projector, you can tell CalibrateProjector and SARndbox to use the projector, and leave the main monitor for other purposes, such as starting scripts or displaying a secondary view of the virtual topographic map from arbitrary points of view. First, determine to which video output port the sandbox projector is connected. In a terminal window, run:

xrandr | grep connected

The xrandr utility will print a list of all video output ports that exist on the computer, and information about the monitors/projectors connected to those ports. An xrandr report might look like this:

DVI-I-0 disconnected primary (normal left inverted right x axis y axis)
DVI-I-1 connected 2560x1600+0+0 (normal left inverted right x axis y axis) 641mm x 401mm
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 connected 1600x1200+2560+0 (normal left inverted right x axis y axis) 367mm x 275mm
DP-1 disconnected (normal left inverted right x axis y axis)

This report shows two connected monitors: One with 2560x1600 pixels connected to port DVI-I-1, and a secondary with 1600x1200 pixels and origin +2560+0, i.e., positioned to the right of the main monitor, connected to port DVI-D-0. From your xrandr report, determine the port name connected to your sandbox projector, for example by looking for the projector's pixel size, e.g., 1024x768. Then direct CalibrateProjector and SARndbox to open their display windows on that video output port by editing their respective configuration files:

xed ~/.config/Vrui-4.5/Applications/CalibrateProjector.cfg

and afterwards

xed ~/.config/Vrui-4.5/Applications/SARndbox.cfg

In both files, insert the following "outputName" setting into the existing "Window" section:

       section Window
           ...
           # Open the window on a specific video output port:
           outputName <port name>
           ...
       endsection

where <port name> is replaced with the name of the actual video output port from your xrandr report, e.g., DVI-D-0. Afterwards, starting CalibrateProjector or SARndbox will send their display windows to the sandbox projector and full-screen them there. Check that there are no remaining window frames or panels etc.

The xrandr utility can also be used to turn connected monitors/projectors on or off. For example, let's say that your main monitor is connected to port DVI-I-1, and your projector to port HDMI-0. Then you can turn on the projector, and place it to the right of your main monitor, by running:

xrandr --output DVI-I-1 --auto --primary --output HDMI-0 --auto --right-of DVI-I-1

To turn the projector off again, run:

xrandr --output DVI-I-1 --auto --primary --output HDMI-0 --off

20.Show a Secondary View of the AR Sandbox  

If you have multiple displays connected to the PC running your AR Sandbox, and have done the multi-screen setup in Step 18, then you can show a second display window that does not just replicate the projected view shown in the sandbox itself, but that can show the captured 3D topography from arbitrary points of view, in full 3D, as explained in this video.

To create a secondary view, you first need to edit the SARndbox application's configuration file and instruct it to open a second window on a different display. Run in a terminal window:

xed ~/.config/Vrui-4.5/Applications/SARndbox.cfg

At the beginning of the "Desktop" section, insert the following setting:

section Vrui
   section Desktop
       # Open a second window:
       windowNames += (Window2)
       ...
   endsection
endsection

Then, after the existing "Window" section, insert a new section "Window2" with the following settings:

section Vrui
   section Desktop
       ...
       section Window
           ...
       endsection
       
       section Window2
           viewerName Viewer
           screenName Screen
           windowType Mono
           
           # Open the window on a specific video output port:
           outputName <port name>
           
           # Open the window to full-screen mode:
           windowSize (800, 600)
           windowFullscreen true
       endsection
       ...
   endsection
endsection

where <port name> is replaced with the name of the actual video output port to which your non-sandbox display is connected, as gathered from your xrandr report in Step 18.

After the above changes, SARndbox will open a second window on the secondary display, but it will still show the same fixed projector view as the main projector, possibly squished due to a different aspect ratio on the secondary display. To allow an independent view on the secondary display, you have to modify SARndbox's command line. The best way to do this is to edit the RunSARndbox.sh shell script you created in Step 16. In a terminal window, run:

xed ~/src/SARndbox-2.5/RunSARndbox.sh

The simple command line entered in Step 16 only has two arguments:

./bin/SARndbox -uhm -fpv

These instruct SARndbox, in order, to apply the default elevation color map, and to lock the display to the projector calibration matrix captured in Step 11. By default, SARndbox applies display options from the command line to all windows it opens, but this can be overridden by using a -wi <window index> argument, where <window index> is the zero-based index of a window. After seeing that argument, SARndbox will apply all following display options to all windows with the same or a larger index, and also reset the -fpv option. Thus, append the following to SARndbox's command line:

./bin/SARndbox -uhm -fpv -wi 1 -rws

The (optional) -rws argument will draw water as a three-dimensional surface instead of applying it to the topography as a texture, as is the default setting. This will create a better representation of water flow when seen from oblique angles. After these changes, the AR Sandbox will show a navigable three-dimensional view of the 3D topography model, including water drawn as a real 3D surface, on the secondary display. The secondary display can be rotated, translated, and scaled as in many other 3D graphics software, using a combination of mouse buttons and keyboard keys. Most importantly, pressing the left mouse button will rotate the view around the center of the window, and pressing the "Z" key while moving the mouse will translate the view in the window's plane. Pressing the left mouse button and "Z" key together, while moving the mouse up and down, will scale the view (zoom in or out), as will rolling the mouse wheel. Finally, pressing the left mouse button, the "Z" key, and the left Shift key, while moving the mouse up or down, will "dolly" the view in or out of the window's plane, as will rolling the mouse wheel while pressing the left Shift key.

On start-up, SARndbox will show a default view of the 3D topography in its secondary window. If you would like to show a different view on start-up, you can use the navigation techniques described in the previous paragraph to create the perfect view that you want, and then save it. To do this, press and hold the right mouse button to show the main application menu. Move the mouse to the last entry, "Vrui System", and from there to the "View" sub-menu, then to the "Save View..." entry, and there release the right mouse button. This will open a file selection dialog where you can specify a file name and location for the view file about to be written. Leave the default file name ("SavedViewpoint0001.view") and default location (the AR Sandbox's project directory) alone, and press the "OK" button. This will close the file selection dialog and save the current view to the selected file.

After exiting from SARndbox, change the command line in the RunSARndbox.sh shell script again, this time appending a command to load the view file you just saved. Run in a terminal:

xed ~/src/SARndbox-2.5/RunSARndbox.sh

and change the command line to:

./bin/SARndbox -uhm -fpv -wi 1 -rws -loadView SavedViewpoint0001.view

If you changed the name of the view file before saving it (or renamed it later), use the correct name here. Afterwards, the AR Sandbox will start up with your preferred view displayed in its secondary window.

AR Sandbox post-installation setup” では,起動の自動化やより細かなチューニングについて説明しています.



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS