-
Notifications
You must be signed in to change notification settings - Fork 11
Running rosie
Installing Perceptual System
Installing Rosie
Running Rosie
Below is a summary of the environment variables used in the process of installation and building. These are customized for my installation so some paths may have slight differences. Most of these are also needed by the programs in order to run.
# Added for LCM
export CLASSPATH=$CLASSPATH:/usr/local/share/java/lcm.jar:./
# Added for April
export APRIL_HOME=$HOME/april
export CLASSPATH=$CLASSPATH:$APRIL_HOME/java/april.jar
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$APRIL_HOME/lib:$APRIL_HOME/java/jni/jgl
alias java='java -ea -server'
# Added for Probcog
export CLASSPATH=$CLASSPATH:$HOME/probcog/java/probcog.jar
# Added for Soar
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/SoarSuite/out/
export SOAR_HOME=$HOME/SoarSuite/out
# Added for LGSoar
export CLASSPATH=$CLASSPATH:$SOAR_HOME/java/sml.jar:$SOAR_HOME/SoarJavaDebugger.jar
# Added for Rosie
export CLASSPATH=$CLASSPATH:$HOME/rosie/java/language/lgsoar.jar:$HOME/rosie/java/insoar.jar
This can be skipped if only using the simulator
To start generating Kinect LCM frames run the following:
cd $HOME/probcog/bin
./kinect
You will probably have to increase your UDP buffer size to accommodate the large amount of data in the kinect lcm packets. Details can be found here. In short, add the following code to /etc/sysctl.conf
net.core.rmem_max=2097152
net.core.rmem_default=2097152
This can be skipped if only using the simulator.
cd $HOME/probcog/config
cp probcog.config probcog.calib.local (First time only, creates a local copy of the calibration file)
java probcog.sensor.KinectCalibrator -c probcog.config.local.kinect.KinectCalibrator
Place the origin, x, and y points as desired to create the mapping to world coordinates. The white region drawn on the screen shows the area that will be clipped, this can be adjusted.
You can pass a world file when you start the visual system. This specifies what simulator objects to create, including all the locations in the scene. You can use some existing world files in simple.world or empty.world. empty.world is designed to be run with the real world and only has locations.
Example Block:
"probcog.sim.SimBoxPC"
{
X Y Z R P Y <- The pose information for the block, for now just set R P Y to 0 0 0
<scale> <- A number indicating a scaling factor
R G B A <- The color, in decimal from 0 to 1
<properties> <- A number indicating the number of state properties (i.e. on or off, open or closed)
L W H <- 3 numbers indicating the dimensions of the box (cube would be 1 1 1)
}
Example Location:
"probcog.sim.SimLocation"
{
X Y Z R P Y <- The pose information for the block, for now just set R P Y to 0 0 0
<scale> <- A number indicating a scaling factor
R G B A <- The color, in decimal from 0 to 1
<properties> <- A number indicating the number of state properties (i.e. on or off, open or closed)
<name> <- Name of the location
}
State properties are optional properties on a location that can be set by a soar agent. These are mutually exclusive and the default property value is the first one. For instance, door=closed,open
The java class you want to use is probcog.gui.PerceptionGUI
. Argument information to Bolt can be seen by using -h. When you run it you need to specify a config file using -c
(probably config/probcog.config.local) and a world file using -w
. To run in the real world using the kinect and robot arm you also need to use -k
and -a
. An optional -d
will provide some additional debugging windows. Use -p to enable perfect segmentation and tracking.
Examples of running probcog (Assuming inside $HOME/probcog):
java probcog.gui.PerceptionGUI -c config/probcog.config.local -w worlds/simple.world -p <- Perfect Sim
java probcog.gui.PerceptionGUI -c config/probcog.config.local -w worlds/empty.world -k -a <- Real world
Create the properties file
cd $HOME/rosie/
cp sbolt.properties.example sbolt.properties
In sbolt.properties are ways to specify how rosie runs and where it loads productions. Only the arm-config file should be changed to where the probcog/config/probcog.config.local file is. To run rosie:
cd $HOME/rosie
java edu.umich.insoar.InSoar