export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/evl/cole/lib:. export PATH=$PATH:/home/evl/cole/bin:.:/opt/mpich/ch-p4/bin export TERM=linux export DISPLAY=:0.0The /opt/mpich... path is so you can use MPI. The term and display variables are also necessary for certain cluster operations.
cd <electro root> patch -Np0 -i table_config.diffDon't forget to personalize your run/electro-table script, and add the run directory to your path for easy electro access!
cd <electro root> make MPI=1 SOCKET=1Don't forget to set your LD_LIBRARY_PATH to reflect your home library folder!
cd <electro root>/examples/fifteen electro-table fifteen.luaAssuming that your path is set, and you've followed the above steps correctly, you should see the fifteen demo running on the table. Also try out the driving demo!
svn co svn://cube.evl.uic.edu/lambdatracker/scripts/lua/demo/ <destination>Here's what you're getting:
After a reboot of a slave, MPI must be re-initialized on that machine. This is done by opening up a command line prompt and futtsing with the MPI daemon. Navigate to Start->Run... and execute "cmd". This will give you a dos style command prompt. Then
smpd -shutdown smpd -d 0This should stop and restart your mpi background process with different permissions (ones that allow it to pop up a window and access a graphics context). You do not need to do this on the master, only the slaves. You can examine the status of the mpi daemon by typing "smpd -status".
For other MPI troubleshooting I will have to refer you to the excellent documentation for the windows MPICH2 distribution. Additionally there are some resources in the start->MPICH2 folder that may help.
Finally, significant issues can result if camera settings such as gain and shutterspeed are incorrect. A further discusison can be found in the section on calibration.
cd <table demo script folder> electro-table ui-test.luaTurn on the pucks and place them on the table. You should find they are followed by small spiral markers on the table surface. Button clicking will change the marker's state. This shows the raw output from the tracker and is an excellent tool for spotting strange tracking behavior that needs a fixin!
cd <table demo script folder> electro-table view.luaIt will take a while for the datasets to get transfered over to the display cluster nodes. Once you get an electro window on teiburu master, hit F2 then F1. F2 turns off rendering on the master, which is essential to improve performance. Otherwise the master will try to create an overview, which will require it to render the entire scenegraph, rather than a subset as like the slaves. F1 disables the console which pops up first thing when you run the viewer app. With the console up, keyboard commands will not be passed along as events to the application.
Once the application is running, the following commands are availeble:
Configuring Camera Settings
Calculate Inter-Camera Properties
These are the intrinsic camera coefficients, such as barrel distortion and center of projection. Barrel distortion is most significant for wide field of view cameras. The current lambdatable configuration reduces the impact of this distortion. Currently barrel distortion rectification is disabled. If necessary, in order to perform this step:
Calculate Intra-Camera Properties
These are the extrinsic camera properties, such as the transformation matrix that places each camera in the correct position relative to eachother. All cameras are positioned relative to the root camera, which is the master node's first camera as defined in the tracker config lua file. To determine these transformation matricies:
cd <table demo script folder> electro-table cal-interface.luaThis must be done before the next step.