LITE

From CajunBot Wiki

Jump to: navigation, search


LITE (see also [1]) is the Louisiana Immersive Technologies Enterprise based in Lafayette, Louisiana.

The Louisiana Immersive Technologies Enterprise (LITE) is a $27 million, 70,000-square-foot facility located at the Research Park of the University of Louisiana at Lafayette. Redefining how organizations see, think about and use information and data, LITE’s technological infrastructure encourages and enables the development of innovative solutions. LITE expands the frontiers of today’s public and private leading-edge organizations by transforming the process of innovation and accelerating the time to discovery.
Today, LITE’s diversified client base includes private sector and federal and state funded research projects. LITE is involved in simulated burns to better understand how fires spread and how to fight them; radio frequency transmissions through dense objects; render farming for a movie production company; training projects for both the U.S. Army and the state also using simulation models and coastal restoration initiatives among other exciting data visualization initiatives.
Louisiana Immersive Technologies Enterprise (LITE) is a 3-D immersive visualization and high-performance computing resource center hosting clients in commercial industry, government and university sectors. LITE’s leading-edge facility features a comprehensive set of advanced visualization systems including one of the world’s largest 3-D visualization theatres and one of the world’s first multi-user six-sided digital 3-D total immersive space (TIS) based on CAVE® technologies.
LITE is a Louisiana state entity governed by a Board of Commissioners. Conceived as a magnet for economic development, LITE provides access to leading-edge virtual reality (VR) design and essential decision-making technologies, which represent powerful business and research tools.[2]

Team CajunBot uses the LITE center for data visualization and traffic simulation.

Contents

[edit] CBSUPPORT

For $CBSUPPORT, have a directory in your home called cbserver. In that directory, have the following links set up:

bin -> /store/cajunbot/cbserver/bin/
cbsupport_bak -> /store/cajunbot/cbserver/cbsupport_bak/
cluster -> /store/cajunbot/cbserver/cluster
common -> /store/cajunbot/cbserver/common
data -> /store/cajunbot/cbserver/data/
downloads -> /store/cajunbot/cbserver/downloads/
include -> /store/cajunbot/cbserver/include/
lib -> lib_x86_64
lib_ia64 -> /store/cajunbot/cbserver/lib_ia64/
lib_x86_64 -> /store/cajunbot/cbserver/lib_x86_64/
lite_scripts -> /store/cajunbot/cbserver/lite_scripts/
man -> /store/cajunbot/cbserver/man/
multipipe -> /store/cajunbot/cbserver/multipipe/
share -> /store/cajunbot/cbserver/share/
theater -> /store/cajunbot/cbserver/theater

[edit] lite.jconf

The lite.jconf file is a master file that loads up all of the other VR Juggler configuration files.

[edit] Theater

In the Theater, it is the following:

<?xml version="1.0" encoding="UTF-8"?>                                                                                             
<?org-vrjuggler-jccl-settings configuration.version="3.0"?>                                                                        
<configuration xmlns="http://www.vrjuggler.org/jccl/xsd/3.0/configuration" name="Configuration" xmlns:xsi="http://www.w3.org/2001/\
XMLSchema-instance" xsi:schemaLocation="http://www.vrjuggler.org/jccl/xsd/3.0/configuration http://www.vrjuggler.org/jccl/xsd/3.0/\
configuration.xsd">                                                                                                                
   <include>base/user01.gamepad.jconf</include>                                                                                    
   <include>base/inputmanager.jconf</include>                                                                                      
   <include>devices/gamepad/gamepad01.base.jconf</include>                                                                         
   <include>devices/gamepad/gamepad01.dev.jconf</include>                                                                          
   <include>devices/gamepad/cb.gamepad01.alias.jconf</include>                                                                     
   <include>devices/km/km01.base.jconf</include>                                                                                   
   <include>devices/km/km01.alias.jconf</include>                                                                                  
   <include>plugins/plugins.jconf</include>                                                                                        
   <include>nodes/front.jconf</include>                                                                                            
   <include>nodes/left.jconf</include>                                                                                             
   <include>nodes/right.jconf</include>                                                                                            
   <elements />                                                                                                                    
</configuration>

[edit] TIS

In the TIS, it is the following:

<?xml version="1.0" encoding="UTF-8"?>                                                                                             
<?org-vrjuggler-jccl-settings configuration.version="3.0"?>                                                                        
<configuration xmlns="http://www.vrjuggler.org/jccl/xsd/3.0/configuration" name="Configuration" xmlns:xsi="http://www.w3.org/2001/\
XMLSchema-instance" xsi:schemaLocation="http://www.vrjuggler.org/jccl/xsd/3.0/configuration http://www.vrjuggler.org/jccl/xsd/3.0/\
configuration.xsd">                                                                                                                
   <include>base/user01.gamepad.jconf</include>                                                                                    
   <include>base/inputmanager.jconf</include>                                                                                      
   <include>devices/gamepad/gamepad01.base.jconf</include>                                                                         
   <include>devices/gamepad/gamepad01.dev.jconf</include>                                                                          
   <include>devices/gamepad/cb.gamepad01.alias.jconf</include>                                                                     
   <include>devices/km/km01.base.jconf</include>                                                                                   
   <include>devices/km/km01.alias.jconf</include>                                                                                  
   <include>plugins/plugins.jconf</include>                                                                                        
   <include>nodes/left.jconf</include>                                                                                             
   <include>nodes/right.jconf</include>                                                                                            
   <include>nodes/top.jconf</include>                                                                                              
   <include>nodes/bottom.jconf</include>                                                                                           
   <include>nodes/front.jconf</include>                                                                                            
   <include>nodes/back.jconf</include>                                                                                             
   <elements />                                                                                                                    
</configuration>

[edit] Gamepad alias file

cbsystem relies on a gamepad alias file so that different devices may be used but their button names remain the same. It is stored in the devices/gamepad directory with the following name: cb.gamepad01.alias.jconf. Its contents are as follows:

<?xml version="1.0" encoding="UTF-8"?>
<?org-vrjuggler-jccl-settings configuration.version="3.0"?>
<configuration xmlns="http://www.vrjuggler.org/jccl/xsd/3.0/configuration" name="Configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vrjuggler.org/jccl/xsd/3.0/configuration http://www.vrjuggler.org/jccl/xsd/3.0/configuration.xsd">
   <elements>
      <alias name="CBButton01" version="1">
         <proxy>Gamepad01Button01Proxy</proxy>
      </alias>
      <alias name="CBButton02" version="1">
         <proxy>Gamepad01Button02Proxy</proxy>
      </alias>
      <alias name="CBButton03" version="1">
         <proxy>Gamepad01Button03Proxy</proxy>
      </alias>
      <alias name="CBButton04" version="1">
         <proxy>Gamepad01Button04Proxy</proxy>
      </alias>
      <alias name="CBButton05" version="1">
         <proxy>Gamepad01Button05Proxy</proxy>
      </alias>
      <alias name="CBButton06" version="1">
         <proxy>Gamepad01Button06Proxy</proxy>
      </alias>
      <alias name="CBButton07" version="1">
         <proxy>Gamepad01Button07Proxy</proxy>
      </alias>
      <alias name="CBButton08" version="1">
         <proxy>Gamepad01Button08Proxy</proxy>
      </alias>
      <alias name="CBButton09" version="1">
         <proxy>Gamepad01Button09Proxy</proxy>
      </alias>
      <alias name="CBButton10" version="1">
         <proxy>Gamepad01Button10Proxy</proxy>
      </alias>
      <alias name="CBButton11" version="1">
         <proxy>Gamepad01Button11Proxy</proxy>
      </alias>
      <alias name="CBButton12" version="1">
         <proxy>Gamepad01Button12Proxy</proxy>
      </alias>
      <alias name="CBAnalog01" version="1">
         <proxy>Gamepad01Analog01Proxy</proxy>
      </alias>
      <alias name="CBAnalog02" version="1">
         <proxy>Gamepad01Analog02Proxy</proxy>
      </alias>
      <alias name="CBAnalog03" version="1">
         <proxy>Gamepad01Analog03Proxy</proxy>
      </alias>
      <alias name="CBAnalog04" version="1">
         <proxy>Gamepad01Analog04Proxy</proxy>
      </alias>
      <alias name="CBAnalog05" version="1">
         <proxy>Gamepad01Analog05Proxy</proxy>
      </alias>
      <alias name="CBAnalog06" version="1">
         <proxy>Gamepad01Analog06Proxy</proxy>
      </alias>
   </elements>
</configuration>

[edit] Running in the Theater

[edit] $LITE_VENUE

Add a file in your home .venue with the following contents:

LITE_VENUE=theater

The lite_cfg script has been updated with the following contents:

if [ -f ~/.venue ] ; then
    source ~/.venue
fi

This is so that the lite_scripts work correctly for checking which venue you are in.

[edit] Machines

The following hostnames comprise the computers on the theater cluster:

audcluster1 audcluster2 audcluster3

[edit] Before compiling the code

[edit] Before running a demo

cluster_startX
  • Start the VRPN server for the gamepad on the PC.
  • Turn on the projectors for the main display.
  • Glasses

[edit] To stop a demo

  • Usually "Esc" will stop the simulation.
  • If the programs don't stop, run the lite_stop_simulation script with no arguments.

[edit] Before logging out

  • Stop the X server on the cluster machines:
cluster_stopX


[edit] Updating configuration files for more aggressive bot

See: this section

[edit] Common Problems

None currently. (That's a good thing!)

[edit] Running in the TIS

[edit] Machines

The following hostnames comprise the computers on the Dell cluster in the TIS:

tiscluster1 tiscluster2 tiscluster3 tiscluster4 tiscluster5 tiscluster6

The following hostnames comprise the computers on the HP cluster in the TIS:

ws1 ws2 ws3 ws4 ws5 ws6

[edit] Before compiling the code

[edit] Before running a demo

cluster_startX

[edit] To stop a demo

  • Usually "Esc" will stop the simulation.
  • If the programs don't stop, run the lite_stop_simulation script with no arguments.

[edit] Before logging out

  • Stop the X server on the cluster machines:
cluster_stopX

[edit] Updating the VR Juggler files

Run the lite_update_cfg script which will update the $CBSUPPORT VR Juggler files from their latest configuration.

Additionally, you'll need to modify the following file:

  • $CBSUPPORT/cluster/devices/gamepad/gamepad01.dev.jconf

Under simulated_positional_device name="SimHeadPos" will be following entries:

        <initial_position>0.0</initial_position>                                                                                                                     
        <initial_position>1.55</initial_position>                                                                                                                    
        <initial_position>0.0</initial_position>                                                                                                                     
        <initial_rotation>90.0</initial_rotation>                                                                                                                    
        <initial_rotation>0.0</initial_rotation>                                                                                                                     
        <initial_rotation>0.0</initial_rotation>

Update the entries so that it is now:

        <initial_position>0.0</initial_position>                                                                                                                     
        <initial_position>1.55</initial_position>                                                                                                                    
        <initial_position>0.0</initial_position>                                                                                                                     
        <initial_rotation>0.0</initial_rotation>                                                                                                                     
        <initial_rotation>0.0</initial_rotation>                                                                                                                     
        <initial_rotation>0.0</initial_rotation> 

This should fix the weird camera problem where the bot is on the top screen and not the back one, and also the inbot camera should now be in the bot, not above.

[edit] Updating configuration files for more aggressive bot

For the Girard Park demo in particular, the bot needs to be more aggressive as well have better positioned sensors.

Here are the following changes you need to make.

In $CBCONF/$CBBOTNAME/onboard/scan_gp_driver_0.conf (File:Girard simulation-scan gp driver 0.conf), here are the diffs:

1,4c1,5
< # front_bottom_sick
< pos_x='-0.02500'
< pos_y='2.75000'
< pos_z='-0.83500'
---
> # font sick offsets
> 
> pos_x='-0.4000'
> pos_y='0.40000'
> pos_z='0.00000'
8,9c9,10
< orientation_x='-1.5447'
< orientation_y='0.47667'
---
> orientation_x='-0.5000'
> orientation_y='0.00000'
14c15
< range='80'
---
> range='800'
43,44c44,45
< start_theta='10.00'
< end_theta='170.00'
---
> start_theta='1.00'
> end_theta='179.00'

In $CBCONF/$CBBOTNAME/onboard/scan_gp_driver_2.conf (File:Girard simulation-scan gp driver 2.conf), here are the diffs:

< # rear_sick
< pos_x='0.0000'
< pos_y='-1.16000'
< pos_z='-0.84000'
---
> # rear sick offsets
> 
> pos_x='-0.4000'
> pos_y='0.40000'
> pos_z='-0.10000'
8,9c9,10
< orientation_x='+0.7503'
< orientation_y='-0.4466'
---
> orientation_x='-0.5000'
> orientation_y='0.00000'
17c18
< height_from_ground='0.85'
---
> height_from_ground='1.76'

In $CBCONF/$CBBOTNAME/steering/steering.conf (File:Girard simulation-steering.conf), here are the diffs:

72c72
< path_turn_speed_limits='2:8,5:5,10:3,20:3,40:2,80:1'
---
> path_turn_speed_limits='2:10,5:7,10:5,20:5,40:3,80:2'
80c80
< heading_error_speed_limit='0:3,5:1,,15:0.5,30:.5,60:.5'
---
> heading_error_speed_limit='0:5,5:2,,15:0.5,30:.5,60:.5'

[edit] Common Problems

[edit] VRPN Tracking Server

The vrpn tracking server may give the following errors when a demo is first start up:

VRPN Error
 (198) from joyLeft: No response from server for >= 10 seconds
VRPN Error
 (199) from joyLeft: No response from server for >= 10 seconds
VRPN Error
 (200) from joyLeft: No response from server for >= 10 seconds
VRPN Error
 (201) from joyLeft: No response from server for >= 10 seconds
VRPN Error
 (202) from joyLeft: No response from server for >= 10 seconds

The symptoms include a laggy or unresponsive joystick/gamepad. Currently there is no known fix.

[edit] Displays shutting off

The X server will shut off / suspend after some time on one or more of the displays. Currently the only fix is to:

cluster_stopX
cluster_startX

[edit] Bot is on top screen not bottom

See Updating the VR Juggler files

[edit] In bot camera is above bot, not in

See Updating the VR Juggler files

[edit] Scripted camera is not working for the back screen

The back screen is likely the "master" node in the cluster while the rest are "slave" nodes. Not sure if this has anything to do with it, but..

The solution is to have lite_simulation be passed the -v option to disable the visualizer (which is the same as for start_simulator, and add tiscluster1 to the list of nodes. Then when the simulation is run, the visualizer will be start up on tiscluster1 as if it were any other node. This seemed to fix the scripted camera problem.

[edit] Two compasses are displayed on the screen

This is a pending issue.

[edit] See also