UsersManual
[
Front page
] [
New
|
List of pages
|
Search
|
Recent changes
|
Help
]
Start:
&color(red){&size(20){This information is old. Please do ...
&size(24){SIGVerse};
#contents
''Summary''
* What is SIGVerse? [#f00c31e6]
SIGVerse is a simulator system, which provides virtual en...
&size(18){''System Architecture''};
The system consists of a simulation server for the virtua...
&size(18){''Schematic Diagram''};
&size(18){''Physical Simulation in the virtual world''};
In the virtual world made up within the simulation server...
&size(18){''Control of the Agents and the Sensory Functio...
Actions and behaviors of the agents can be control by att...
* Requirements [#d23a0c2e]
** Simulation Server [#t1b792c7]
* Language Used
C++
* OS
Linux
* Library Required(Versions used for development)
gcc(4.1.2)
xerces-c(2.7.0)
ode(0.8)
JDK(1.6.0)
** Viewer [#bdf17c2d]
* Language Used
C++ (Visual C++ 2005)
* OS
Microsoft Windows XP, Windows Vista (32bit)
* Library Required(Versions used for development)
OGRE(1.4.9)
JRE(1.6.0)
Xj3D(1.0)
OpenAL(1.1)
* Compilation and Installation [#lbe1ab7b]
** How to Compile the simulation server [#h1d49d1a]
*** Install the Libraries [#b8310f09]
- JDK6
~Install JDK6 to your system. The JDK6 can be downloaded ...
- xerces-c, xerces-c-devel
~Install the packages through a package management system...
- ode
~Download ode-src-0.8.zip from ODE project page(sourcefor...
# cd /usr/local/src
# unzip -x ode-src-0.8.zip
# cd ode-0.8/
# ./configure --disable-tests --without-x --...
--with-trimesh=opcode --enable-release --enab...
# make
# make install
The simulation uses double-precision and the algorithm of...
- Xj3D
~Download Xj3D-1-0-linuxx86.jar from [[Xj3D download page...
*** Compile [#xa18c5b8]
Initialization after extracting irwas-sim source packages
% cat irwas-sim-XXX.tar.gz | tar zxvf -
% cd irwas-sim-XXX
% make init # only for the first time
'make' after modifying JRELIBDIR of the srcs/simserver/Ma...
----- srcs/simserver/Makefile.base ----------------
...
#JRELIBDIR = `java-config -o`/jre/lib/amd64/server
JRELIBDIR = /usr/java/latest/jre/lib/amd64/server
...
---------------------------------------------------
% make
*** Configure X3DParser.cfg [#of4cbce8]
X3DParser.cfg is a configuration file for X3D parser Xj3D...
jar files needed for simulation server execution are incl...
----- srcs/server/X3DParser.cfg-----------------------...
java.library.path=./
java.class.path=<irwas-sim-dir>/jar/X3DParser.jar:<xj3...
------------------------------------------------------...
** How to Install the viewer [#r1d8a046]
Abbreviations are used for directory name in the followin...
*** Preparation [#ub0759d3]
[SIGVIEWER_ROOT]
The directory where the client installation packages ...
[JRE_ROOT]
The directory where JRE (Java Runtime Environment) ha...
*** Install JRE 1.6.0 [#ecce0a81]
Please install JRE 1.6.0, when JRE or JDK with 1.6.0 or a...
The installer of the JRE 1.6.0 is located at
[SIGVIEWER_ROOT]/downloads/JRE6/jre-6u7-windows-i586-p-s....
Please execute this. (it can be installed to any directory)
Please make sure to remember the directory where the JRE ...
If JRE is installed at /Java/jre1.6.0_07,
[JRE_ROOT] = /Java/jre1.6.0_07
for example
If JDK is install instead of JRE, the directory name 'jre...
(ex) when JDK 1.6.0_07 is installed to /Java/jdk1.6.0_07
[JRE_ROOT] = /Java/jdk1.6.0_07/jre
is assigned
*** Install Xj3D library [#ca9039bc]
Run Xj3D-1-0-windows-full.exe located at directory [SIGVI...
Xj3D installer will automatically run an installer of JRE...
JRE 1.6.0(or above) is already installed at the last step...
INSERT IMAGE HERE
After skipping the JRE installation, the installation of ...
INSERT IMAGE HERE
After clicking 'Next' for some times, installation direct...
specified the installation directory as [SIGVIEWER_ROOT]/...
For example, if [SIGVIEWER_ROOT] is /MySIGViewer, specifi...
INSERT IMAGE HERE
Press 'Next' after confirming the path is correct. Contin...
*** Assurance Test(1) [#ca94c99e]
Confirm the installation of the Xj3D library by an assura...
''Modification of go.bat''
go.bat is a batch file to start java class files that is ...
Run cmd, then move to [SIGVIEWER_ROOT]/x3d/parser/java/X3...
In go.bat, there is a line to specify the location of the...
@echo off
java -Djava.library.path=/SIGViewer/x3d/parser/java/X3DP...
For example, if
[SIGVIEWER_ROOT] = /MySIGViewer
change the line as below.
@echo off
java -Djava.library.path=/MySIGViewer/x3d/parser/java/X3...
''Run go.bat''
Type as below at the command prompt.
> go X3DParserTest 0 list2-1.x3d
(Note) 'go X3DParserTest.class 0 list2-1.x3d' will not w...
It is successful if the parse result is displayed as belo...
WorldRoot
Background
[ groundAngle ] :
[ groundColor ] :
[ skyAngle ] :
[ skyColor ] : 1.0 1.0 1.0
...
[ geometry ]
Box
[ solid ] true
[ size ] 4.0 3.0 2.0
[ bboxSize ] -1.0 -1.0 -1.0
[ bboxCenter ] 0.0 0.0 0.0
If the result is shown as above on the screen,
(1) proper installation of Xj3D library~
(2) operation of VMML parser java program
are confirmed.
*** Install Visual C++ 2005 SP1 Redistributable Package [...
Next, we will install an runtime to run executable files ...
Installer of the Visual C++ 2005 SP1 runtime is
[SIGVIEWER_ROOT]/downloads/VC2005_sp1_redist/vcredist_x86...
Please run this executable file.
Dialog shown as below will appeared when it is run. Insta...
INSERT IMAGE HERE
*** Install Direct3D9 [#k4c34af8]
Next, let's install runtime of DirectX 9 to the system.
The Installer of the DirectX 9 runtime is
[SIGVIEWER_ROOT]/downloads/directx_nov2008_redist/directx...
Please run this executable file.
As a dialog appeared as below, asking for location to ext...
Please specify a directory as your need.(below is an exa...
INSERT IMAGE HERE
Please run DXSETUP.exe, which can be found in the directo...
INSERT IMAGE HERE
*** Install OpenAL library [#m8db5315]
Next, let's install OpenAL runtime library.
The installer of the OpenAL runtime is in
[SIGVIEWER_ROOT]/downloads/OpenAL/oalinst.zip
Please extract this file and run oalinst.exe.
Press 'OK' as the dialog shown. This will execute the ins...
INSERT IMAGE HERE
*** Configuration for running the viewer [#jc2757c7]
''Add the path to jvm.dll''
jvm.dll is a JNI (Java Native Interface) related DLL.
~X3D program is written in C++ and call the Xj3D library ...
The jvm.dll is located at
[JRE_ROOT]/bin/client
in general.
Please add this directory to the path.
''Modify X3DParser.cfg''
X3DParser.cfg is located at
[SIGVIEWER_ROOT]/SIGViewer/release
and used by the viewer
Please modify the X3DParser.cfg to configure the class pa...
#
# Library Path
#
java.library.path=/SIGViewer/x3d/parser/java/X3DParser...
#
# Class Path
#
java.class.path=.;/SIGViewer/Xj3D/jars/xj3d-all.jar;/S...
For example, if
[SIGVIEWER_ROOT] = /MySIGViewer
then, change the portion as below(blue part)
#
# Library Path
#
java.library.path=/MySIGViewer/x3d/parser/java/X3DPars...
#
# Class Path
#
java.class.path=.;/MySIGViewer/Xj3D/jars/xj3d-all.jar;...
*** Assurance Test(2) [#lceb2692]
Let's confirm whether the Xj3D library can be called thr...
Please open the command prompt and move to the directory...
>cd [SIGVIEWER_ROOT]/SIGViewer/release
Next, run X3DParserTest.exe.
>X3DParserTest.exe
It should be displayed on the screeen as below.
usage: X3DParserTest.exe testNo VRMLFile [args] [-MFMax ...
testNo ... Test Number
0 : VRMLFile parser
1 : List child nodes of the root node
2 : Display node names
3 : Display fields
4 : Display the field of Box node
5 : Display the field of Transform node
6 : Calculation of simple geometry
7 : Display files in OpenHRP format
8 : Display all DEF names
9 : Display contents of specified DEF node
nMFMax ... Display values of MF field with abbreviated ...
logfile ... Redirect logs (default is stderr)
(ex)
X3DParserTest.exe 0 sample.x3d
X3DParserTest.exe 1 sample.x3d -MFMax 3 # Display only t...
X3DParserTest.exe 5 sample.x3d -log out.txt # redirect ...
If the displayed contents are not like above, it is possi...
Next, let's confirm whether the call through JNI function...
Please type as below.
>X3DParserTest.exe 1 apple.wrl
It is successful if you see contents like below on the sc...
testNo : 1
nMFMax : 0
logfile : stderr
*** JavaVMOption *** [#j07ce002]
options[0].optionString = (-Djava.library.path=/MySIGVie...
options[1].optionString = (-Djava.class.path=.;/MySIGVie...
Java VM start ok
**** Children of Root Node **** [#g9c5a1b2]
WorldInfo
NavigationInfo
Switch
Group
Now,
(1) Execution of programs compiled with Visual C++ 2005.~
(2) VRML parser program written in java can be called fro...
are confirmed.
Preparation to start the view is completed, and the viewe...
** Uninstall the viewer [#e0f53a20]
*** Uninstall Xj3D library [#s8463888]
Uninstall the Xj3D library by using uninstaller.jar, whic...
> java -jar uninstaller.jar
Uninstallation will be complete by following instructions.
*** Uninstall SIGViewer.exe [#d71f73ce]
No registries are modified at the installation. Please de...
*** Change the PATH Environment variable [#u061bad2]
Remove the path to jvm.dll.
* How To Use [#x5afcaa2]
** Start the simulation server [#d4b98422]
The following command starts the simulation server with p...
% cd irwas-sim-XXX/src/server
% ./simserver.sh -p 6000
The following is the option available for the simulation ...
% ./simserver.sh [-v <number>] [-p <number>] [-c <dir...
OPTION :
-p <number> : server port number
-c <dir> : configure file directory (default: ./c...
-w <file> : world file (default: MyWorld.xml)
-v <number> : verbose number
** Start voice recognition service provider [#cfbcf2d1]
SIGVerse system provides voice recognition service with [...
SIGVerse system uses Julius_sp as a voice recognition ser...
julius_sp accesses to the simulation server as it starts ...
% cd irwas-sim-XXX/src/julius-sp
% ./julius_sp -p 6500
The default port, number 6000, will be used if not specif...
Options available for the voice recognition service provi...
% ./julius_sp [-p <number>] [-sp <number>] [-mp <number>...
OPTION :
-p <number> : server port number
-sp <number> : julius_sp service provider port number
-mp <number> : julius module mode port number
-ap <number> : julius adinnet port number
-e <path> : julius location (default: /usr/local/bin/...
-C <config.jconf;> : config file for julius
The julius_sp uses module-mode of julius for the communic...
-e option is used to specify the absolute path where the...
% ./julius_sp -e /usr/local/bin/julius-4.1.2 -C myconf.j...
would make the julius start with executing~
/usr/local/bin/julius-4.1.2 -C myconf.jconf
A configuration file named jsp.cfg can be used without sp...
Please refer to the Julius manual for the configurations ...
** Start the Viewer &aname(AnchorSTW); [#p188e0b1]
Run SIGViewer.exe.
The following dialogue will appear only on the first boot.
INSERT IMAGE HERE
This dialogue is to configure the graphical environment o...
Please choose either OpenGL or Direct3D9 for the sub lett...
''(CAUTION) Be sure to set"FullScreen"as"No"during the se...
(Note) The configuration will be saved as ogre.cfg. This ...
If you would like to change the configuration, delete the...
Press "OK", then the configuration will be saved and the ...
INSERT IMAGE HERE
- Command Line Options
''-s hostname''~
Specify the host name of the simulation server. The defau...
''-p portno''~
Specify the port number of the simulation server. The def...
''-sp portno''~
Specify the port number opened by the viewer as a service...
(Example)~
myserver.co.jp as a simulation server, 7500 as the port n...
> SIGViewer –s myserver.co.jp –p 7500
- Configuration File
When the startup.cfg is located in the same directory as ...
If the hostname of the simulation server, port number and...
Available items in the configuration file.
''SERVER''
Assign the hostname of the simulation server. Unless spec...
''PORT''
Assign the port number of the simulation server. Unless s...
''SERVICE_PROVIDER_PORT''
Assign the port number opened by the viewer as the servic...
''MAIN_CAMERA_INIT_POS''
Assign the position of the main camera at the start up.
''MAIN_CAMERA_INIT_DIR''
Assign the line of the sight direction of the main camera...
''BACK_GROUND_COLOR''
Assign the background color of the main window.
''MSG_WINDOW_LIMIT_TEXT_SIZE''
Assign the maximum length of the string displayed in the ...
''SYS_MSG_WINDOW_LIMIT_TEXT_SIZE''
Limit the text size displayed in the message window. Same...
''ATTR_NAMES_TO_SHOW''
Assign the name of attribute which will be displayed on t...
''SHOW_GROUND_GRID''
Assign whether display the grid on the flow or not. The d...
''GROUND_GRID_SIZE''
Assign the mesh spacing of the floor's grid. The default ...
''SHOW_AXIS_ARROW''
Assign whether display arrows of x, y, z axis. The defaul...
''AXIS_ARROW_LENGTH''
Assign the length of the arrows of the axis. The default ...
''VIDEO_RECORD_RATE''
Assign the fps in milli-second for recording the motion p...
''VIDEO_RECORD_COMPRESS''
Assign whether compress the recorded video file(.svd) or ...
Any line starting with # is considered as a comment.
~
~
[An example file of startup.cfg]
#
# ***************************************************
#
# SIGviewer configuration file
#
# ***************************************************
# ------------------------------------------------
# Host name and port number of the simulation server
# ------------------------------------------------
SERVER=myserver.co.jp
PORT=7000
# ------------------------------------------------
# Port number opened by the viewer as a service provider
# # ------------------------------------------------
SERVICE_PROVIDER_PORT=8000
# ------------------------------------------------
# Position and line of sight direction
# ------------------------------------------------
MAIN_CAMERA_INIT_POS=(30, 20, 50)
MAIN_CAMERA_INIT_DIR=(-30, -20, -50)
# ------------------------------------------------
# Background color
# defined by R, G, B color component value (0.0 ~ 1.0)
# ------------------------------------------------
BACK_GROUND_COLOR=(0.7, 0.7, 0.8)
# ------------------------------------------------
# Maximum size of the text displayed in the message area
#
# 0 (default) = max size (2G chars)
# ------------------------------------------------
MSG_WINDOW_LIMIT_TEXT_SIZE=0
SYS_MSG_WINDOW_LIMIT_TEXT_SIZE=0
# ------------------------------------------------
# Attribute name displayed in the attribute area
#
# Assigning nothing will display all the attributes
# ------------------------------------------------
ATTR_NAMES_TO_SHOW=(name, class, x, y, z, qw, qx, qy, ...
# ------------------------------------------------
# Show grids on the floor
# ------------------------------------------------
SHOW_GROUND_GRID=true
# ------------------------------------------------
# The grid size on the floor
# ------------------------------------------------
GROUND_GRID_SIZE=10
# ------------------------------------------------
# Show arrows of x, y, z axis
# ------------------------------------------------
SHOW_AXIS_ARROW=true
# ------------------------------------------------
# Arrow length of x, y and z axis
# ------------------------------------------------
AXIS_ARROW_LENGTH=10
# ------------------------------------------------
# Video recording frame rate [frame/msec]
# ------------------------------------------------
VIDEO_RECORD_RATE=500
# ------------------------------------------------
# Flag of compression for video recording
# ------------------------------------------------
VIDEO_RECORD_COMPRESS=true
(Note)
Command line option will be executed when the startup.cfg...
** How to use the viewer [#u3ec2338]
*** Start up screen [#nbfef36f]
INSERT IMAGE HERE
(1) Main window~
(2) Sub window~
(3) Lower panel tab~
(4) Right side panel tab~
The following explain each item.
*** Main window [#q4e94e6a]
- Displacing the point of view
Dragging the mouse keeping right button clicked will move...
, Operation , Behavior of SIGViewer
, Drag holding right button down , Rotation of the point ...
, Drag holding right button + SHIFT down , Displacement o...
, Drag holding right button + CTRL down , Displacement of...
- Selecting objects
An object can be selected by left clicking on the mouse.~
Dragging the mouse while holding left button down moves a...
, Operation , Behavior of SIGViewer
, Left click , Select the object
, Drag holding left button down , Rotate the object
, Drag holding left button + SHIFT down , Move the object...
, Drag holding left button + CTRL down , Move the object ...
*** Sub window [#t7bd5c49]
Displays the view from the viewpoint of selected agent by...
INSERT IMAGE HERE
*** Lower panel [#c63bd271]
- Message tab
Displays speech of the agent(s)
INSERT IMAGE HERE
- Syslog tab
Displays the system log
INSERT IMAGE HERE
- Comm. Tab
Operation of communication with the server
INSERT IMAGE HERE
-- "Connect to Sim Server" button~
Connect to the simulation server.
Host name of the server and the port number need to b...
-- "Disconnect Sim Server" button~
Disconnect from the simulation server.
-- "Start World Update" button~
Obtain the simulation status of the server sequential...
While "Start World Update" button is "ON", simulation...
(in the mean time, the objects cannot be moved by mou...
When the button is "OFF", the objects displayed in th...
-- "SIM_CTRP_CMD" area~
Start/Stop the simulation.
Select command, such as "START", "STOP" and so on, fr...
Press "Send" sends the selected command to the server.
- Video tab
Record/Play the simulation.
INSERT IMAGE HERE
-- (1) Video file name input area~
Specify the name of video file to play/record.
The extension of the video file is .svd, which is a S...
-- (2) "Refer" button~
Open a dialogue to specify the name of video file.
Selecting a file displays the selected file's name an...
-- (3) "Load" button~
Load a video file specified in "(1) Video file name i...
-- (4)Video playback control button~
Press "(3)button" to play the loaded video.
Available operations are Play, Pause, Rewind, Fast-fo...
-- (5) "Start Record" and "Stop Record" button~
Pressing "Start Record" records the ongoing simulation.
Pressing "Stop Record" saves the recorded result to t...
*** Right side panel [#ka910330]
- Attributes tab
Display the agent's attributes and other information.
-- Attributes~
Display attributes of a selected agent.
INSERT IMAGE HERE
Displayed attributes can be specified at ATTR_NAMES_TO_SH...
(Assigning nothing will display all the attributes)
-- Detected Entities~
Display names of other agents or entities seen from t...
INSERT IMAGE HERE
-- Camera Info~
Display location and the direction of the main camera...
Assigning MAIN_CAMERA_INIT_POS, MAIN_CAMERA_INIT_DIR ...
- Command tab
Send command to an agent.
Combo box just beneath the tab specify the type of messag...
There are two type of tabs, "general" and "voice" at this...
-- general~
Panel to send arbitrarily messages to an agent.
(1),(2) specifies the agent to send the message.
Press "select agent" to send message, select an agent by ...
Name of the agent can be specified directly in (2) by typ...
(3) Area to input the message to be sent~
One string in each line.
(4) Send the message to the controller of agent.
The above example sends four strings, "move", "0", "0" an...
-- voice~
Panel to send voice data to an agent
(1), (2) specifies the agent to send the message.
Press "select agent" to send message, select an agent by ...
Name of the agent can be specified by typing the name dir...
(3) Pressing "Rec Start" button starts recording from mic...
(4) Pressing "Rec End" button ends recoding from the micr...
(5) Pressing "Send Voice" button opens a dialogue to spec...
(Any .wav file can be selected and can be sent to an agen...
Send voice data can be received by a method onRecvSound(...
* Create World File [#u550ef4f]
This part explains how to create world-definition file, w...
** Coordinate system [#v5c343fe]
The system uses following three coordinate systems.
- World coordinate system
Coordinate system that represents location of the agents ...
Vertical upward is the +Y direction.
- Agent coordinate system
Coordinate system that represents position of parts of th...
The center of the agent and/or entity is the origin.~
The agent face to +Z direction, +Y direction is the upwar...
- Line of sight coordinate system
Coordinate system that represents location of items from ...
The origin is the viewpoint of the agent.~
The agent faces to -Z direction, right hand side is +X di...
INSERT IMAGE HERE
** Definition of Agent and Entity Class [#t8831c85]
"Agent" and "Entity" are defined as below.
''Agent'' : Object that moves autonomously
''Entity'' : Object that does not move autonomously or st...
''Objects in the virtual world are defined by XML files.''~
''User needs to define a new class using XML file when an...
''Agent and Entity classes are already defined. (Entity.x...
- Inheritance relationship
Agent class is as same as Entity class except that it has...
Therefore, Agent class inherits Entity class.
Entity class is the base class in the virtual world.~
All the classes are required to inherit Entity class, eit...
A newly created class, which moves autonomously, needs to...
A new immovable class needs to inherit Entity class.~
TO COMPLETE ? Entity class, Agent class, Class definition
** Configuration of the Agent and the Entity [#h3793008]
The shape of the agent/entity is defined in shape-file an...
- Shape-file
The shape of the agents and/or entities are defined eithe...
- Specify the shape-file in class definition
Assign the shape-file when defining a class. The followin...
The shape-file robot-body.xml is assigned in the Robot cl...
-- Assign X3D-shape-file
<?xml version="1.0" encoding="utf8"?>
<define-class name="Robot" inherit="Agent.xml">
<x3d>
<filename>robot.x3d</filename>
</x3d>
</define-class>
-- Assign SIGVerse original XML shape-file
<?xml version="1.0" encoding="utf8"?>
<define-class name="Robot" inherit="Agent.xml">
<body filename="robot-body.xml"/>
</define-class>
- X3D shape-file
Configure the following items in X3D shape-file.
-- Configuration of Joint Axis
The joint angles can be specified in the controller.~
The axis of rotation is specified in jointAxis tag under ...
<?xml version="1.0" encoding="UTF-8"?>
<X3D profile="Immersive" version="3.0">
...
<ProtoInstance name='Joint' DEF="WAIST_JOINT1" conta...
<fieldValue name='name' value='WAIST_JOINT1' />
<fieldValue name='translation' value='15.0 0.0 0.0...
<fieldValue name='jointType' value='rotate' />
<!-- Axis of rotation of WAIST_JOINT1 is (1.0, 0.0...
<fieldValue name='jointAxis' value='1.0 0.0 0.0' />
<fieldValue name='jointId' value='26.0' />
...;
</ProtoInstance>
** World File [#b04bca0f]
The initial state of the virtual world is described in XM...
- Define World(<world>)
Property of the World and Agents/Entities appeared in ...
- Specify the gravitational acceleration(<gravity>)
Assign the gravitational acceleration in x, y and z di...
- Create an instance(<instanciate>)
Make agents/entities appeared to the virtual world by ...
Specify the name and the initial position (x, y, z) by...
The external force by ODE physics simulation can be tu...
- Specify agent controller
Controller can be assigned to the agent by specifying ...
The value for language is c++ only, at this moment. (a...
InSERT SAMPLE OF WORLD FILE HERE
* Control of the agent by a controller [#ud4323d3]
** Displacement Mode and Control Mode [#if130f5a]
** Create the controller [#z8cad858]
*** Create a controller to do nothing [#kb06c528]
*** Compile [#e74cd304]
*** Attach to an agent (Execute a test) [#u05241a2]
** A Sample of a controller [#laad5227]
** Reference [#n9930c41]
[[SIGVerse(English)]]
Last modified: Mon Feb 25 11:13:10 JST 2008
End:
&color(red){&size(20){This information is old. Please do ...
&size(24){SIGVerse};
#contents
''Summary''
* What is SIGVerse? [#f00c31e6]
SIGVerse is a simulator system, which provides virtual en...
&size(18){''System Architecture''};
The system consists of a simulation server for the virtua...
&size(18){''Schematic Diagram''};
&size(18){''Physical Simulation in the virtual world''};
In the virtual world made up within the simulation server...
&size(18){''Control of the Agents and the Sensory Functio...
Actions and behaviors of the agents can be control by att...
* Requirements [#d23a0c2e]
** Simulation Server [#t1b792c7]
* Language Used
C++
* OS
Linux
* Library Required(Versions used for development)
gcc(4.1.2)
xerces-c(2.7.0)
ode(0.8)
JDK(1.6.0)
** Viewer [#bdf17c2d]
* Language Used
C++ (Visual C++ 2005)
* OS
Microsoft Windows XP, Windows Vista (32bit)
* Library Required(Versions used for development)
OGRE(1.4.9)
JRE(1.6.0)
Xj3D(1.0)
OpenAL(1.1)
* Compilation and Installation [#lbe1ab7b]
** How to Compile the simulation server [#h1d49d1a]
*** Install the Libraries [#b8310f09]
- JDK6
~Install JDK6 to your system. The JDK6 can be downloaded ...
- xerces-c, xerces-c-devel
~Install the packages through a package management system...
- ode
~Download ode-src-0.8.zip from ODE project page(sourcefor...
# cd /usr/local/src
# unzip -x ode-src-0.8.zip
# cd ode-0.8/
# ./configure --disable-tests --without-x --...
--with-trimesh=opcode --enable-release --enab...
# make
# make install
The simulation uses double-precision and the algorithm of...
- Xj3D
~Download Xj3D-1-0-linuxx86.jar from [[Xj3D download page...
*** Compile [#xa18c5b8]
Initialization after extracting irwas-sim source packages
% cat irwas-sim-XXX.tar.gz | tar zxvf -
% cd irwas-sim-XXX
% make init # only for the first time
'make' after modifying JRELIBDIR of the srcs/simserver/Ma...
----- srcs/simserver/Makefile.base ----------------
...
#JRELIBDIR = `java-config -o`/jre/lib/amd64/server
JRELIBDIR = /usr/java/latest/jre/lib/amd64/server
...
---------------------------------------------------
% make
*** Configure X3DParser.cfg [#of4cbce8]
X3DParser.cfg is a configuration file for X3D parser Xj3D...
jar files needed for simulation server execution are incl...
----- srcs/server/X3DParser.cfg-----------------------...
java.library.path=./
java.class.path=<irwas-sim-dir>/jar/X3DParser.jar:<xj3...
------------------------------------------------------...
** How to Install the viewer [#r1d8a046]
Abbreviations are used for directory name in the followin...
*** Preparation [#ub0759d3]
[SIGVIEWER_ROOT]
The directory where the client installation packages ...
[JRE_ROOT]
The directory where JRE (Java Runtime Environment) ha...
*** Install JRE 1.6.0 [#ecce0a81]
Please install JRE 1.6.0, when JRE or JDK with 1.6.0 or a...
The installer of the JRE 1.6.0 is located at
[SIGVIEWER_ROOT]/downloads/JRE6/jre-6u7-windows-i586-p-s....
Please execute this. (it can be installed to any directory)
Please make sure to remember the directory where the JRE ...
If JRE is installed at /Java/jre1.6.0_07,
[JRE_ROOT] = /Java/jre1.6.0_07
for example
If JDK is install instead of JRE, the directory name 'jre...
(ex) when JDK 1.6.0_07 is installed to /Java/jdk1.6.0_07
[JRE_ROOT] = /Java/jdk1.6.0_07/jre
is assigned
*** Install Xj3D library [#ca9039bc]
Run Xj3D-1-0-windows-full.exe located at directory [SIGVI...
Xj3D installer will automatically run an installer of JRE...
JRE 1.6.0(or above) is already installed at the last step...
INSERT IMAGE HERE
After skipping the JRE installation, the installation of ...
INSERT IMAGE HERE
After clicking 'Next' for some times, installation direct...
specified the installation directory as [SIGVIEWER_ROOT]/...
For example, if [SIGVIEWER_ROOT] is /MySIGViewer, specifi...
INSERT IMAGE HERE
Press 'Next' after confirming the path is correct. Contin...
*** Assurance Test(1) [#ca94c99e]
Confirm the installation of the Xj3D library by an assura...
''Modification of go.bat''
go.bat is a batch file to start java class files that is ...
Run cmd, then move to [SIGVIEWER_ROOT]/x3d/parser/java/X3...
In go.bat, there is a line to specify the location of the...
@echo off
java -Djava.library.path=/SIGViewer/x3d/parser/java/X3DP...
For example, if
[SIGVIEWER_ROOT] = /MySIGViewer
change the line as below.
@echo off
java -Djava.library.path=/MySIGViewer/x3d/parser/java/X3...
''Run go.bat''
Type as below at the command prompt.
> go X3DParserTest 0 list2-1.x3d
(Note) 'go X3DParserTest.class 0 list2-1.x3d' will not w...
It is successful if the parse result is displayed as belo...
WorldRoot
Background
[ groundAngle ] :
[ groundColor ] :
[ skyAngle ] :
[ skyColor ] : 1.0 1.0 1.0
...
[ geometry ]
Box
[ solid ] true
[ size ] 4.0 3.0 2.0
[ bboxSize ] -1.0 -1.0 -1.0
[ bboxCenter ] 0.0 0.0 0.0
If the result is shown as above on the screen,
(1) proper installation of Xj3D library~
(2) operation of VMML parser java program
are confirmed.
*** Install Visual C++ 2005 SP1 Redistributable Package [...
Next, we will install an runtime to run executable files ...
Installer of the Visual C++ 2005 SP1 runtime is
[SIGVIEWER_ROOT]/downloads/VC2005_sp1_redist/vcredist_x86...
Please run this executable file.
Dialog shown as below will appeared when it is run. Insta...
INSERT IMAGE HERE
*** Install Direct3D9 [#k4c34af8]
Next, let's install runtime of DirectX 9 to the system.
The Installer of the DirectX 9 runtime is
[SIGVIEWER_ROOT]/downloads/directx_nov2008_redist/directx...
Please run this executable file.
As a dialog appeared as below, asking for location to ext...
Please specify a directory as your need.(below is an exa...
INSERT IMAGE HERE
Please run DXSETUP.exe, which can be found in the directo...
INSERT IMAGE HERE
*** Install OpenAL library [#m8db5315]
Next, let's install OpenAL runtime library.
The installer of the OpenAL runtime is in
[SIGVIEWER_ROOT]/downloads/OpenAL/oalinst.zip
Please extract this file and run oalinst.exe.
Press 'OK' as the dialog shown. This will execute the ins...
INSERT IMAGE HERE
*** Configuration for running the viewer [#jc2757c7]
''Add the path to jvm.dll''
jvm.dll is a JNI (Java Native Interface) related DLL.
~X3D program is written in C++ and call the Xj3D library ...
The jvm.dll is located at
[JRE_ROOT]/bin/client
in general.
Please add this directory to the path.
''Modify X3DParser.cfg''
X3DParser.cfg is located at
[SIGVIEWER_ROOT]/SIGViewer/release
and used by the viewer
Please modify the X3DParser.cfg to configure the class pa...
#
# Library Path
#
java.library.path=/SIGViewer/x3d/parser/java/X3DParser...
#
# Class Path
#
java.class.path=.;/SIGViewer/Xj3D/jars/xj3d-all.jar;/S...
For example, if
[SIGVIEWER_ROOT] = /MySIGViewer
then, change the portion as below(blue part)
#
# Library Path
#
java.library.path=/MySIGViewer/x3d/parser/java/X3DPars...
#
# Class Path
#
java.class.path=.;/MySIGViewer/Xj3D/jars/xj3d-all.jar;...
*** Assurance Test(2) [#lceb2692]
Let's confirm whether the Xj3D library can be called thr...
Please open the command prompt and move to the directory...
>cd [SIGVIEWER_ROOT]/SIGViewer/release
Next, run X3DParserTest.exe.
>X3DParserTest.exe
It should be displayed on the screeen as below.
usage: X3DParserTest.exe testNo VRMLFile [args] [-MFMax ...
testNo ... Test Number
0 : VRMLFile parser
1 : List child nodes of the root node
2 : Display node names
3 : Display fields
4 : Display the field of Box node
5 : Display the field of Transform node
6 : Calculation of simple geometry
7 : Display files in OpenHRP format
8 : Display all DEF names
9 : Display contents of specified DEF node
nMFMax ... Display values of MF field with abbreviated ...
logfile ... Redirect logs (default is stderr)
(ex)
X3DParserTest.exe 0 sample.x3d
X3DParserTest.exe 1 sample.x3d -MFMax 3 # Display only t...
X3DParserTest.exe 5 sample.x3d -log out.txt # redirect ...
If the displayed contents are not like above, it is possi...
Next, let's confirm whether the call through JNI function...
Please type as below.
>X3DParserTest.exe 1 apple.wrl
It is successful if you see contents like below on the sc...
testNo : 1
nMFMax : 0
logfile : stderr
*** JavaVMOption *** [#j07ce002]
options[0].optionString = (-Djava.library.path=/MySIGVie...
options[1].optionString = (-Djava.class.path=.;/MySIGVie...
Java VM start ok
**** Children of Root Node **** [#g9c5a1b2]
WorldInfo
NavigationInfo
Switch
Group
Now,
(1) Execution of programs compiled with Visual C++ 2005.~
(2) VRML parser program written in java can be called fro...
are confirmed.
Preparation to start the view is completed, and the viewe...
** Uninstall the viewer [#e0f53a20]
*** Uninstall Xj3D library [#s8463888]
Uninstall the Xj3D library by using uninstaller.jar, whic...
> java -jar uninstaller.jar
Uninstallation will be complete by following instructions.
*** Uninstall SIGViewer.exe [#d71f73ce]
No registries are modified at the installation. Please de...
*** Change the PATH Environment variable [#u061bad2]
Remove the path to jvm.dll.
* How To Use [#x5afcaa2]
** Start the simulation server [#d4b98422]
The following command starts the simulation server with p...
% cd irwas-sim-XXX/src/server
% ./simserver.sh -p 6000
The following is the option available for the simulation ...
% ./simserver.sh [-v <number>] [-p <number>] [-c <dir...
OPTION :
-p <number> : server port number
-c <dir> : configure file directory (default: ./c...
-w <file> : world file (default: MyWorld.xml)
-v <number> : verbose number
** Start voice recognition service provider [#cfbcf2d1]
SIGVerse system provides voice recognition service with [...
SIGVerse system uses Julius_sp as a voice recognition ser...
julius_sp accesses to the simulation server as it starts ...
% cd irwas-sim-XXX/src/julius-sp
% ./julius_sp -p 6500
The default port, number 6000, will be used if not specif...
Options available for the voice recognition service provi...
% ./julius_sp [-p <number>] [-sp <number>] [-mp <number>...
OPTION :
-p <number> : server port number
-sp <number> : julius_sp service provider port number
-mp <number> : julius module mode port number
-ap <number> : julius adinnet port number
-e <path> : julius location (default: /usr/local/bin/...
-C <config.jconf;> : config file for julius
The julius_sp uses module-mode of julius for the communic...
-e option is used to specify the absolute path where the...
% ./julius_sp -e /usr/local/bin/julius-4.1.2 -C myconf.j...
would make the julius start with executing~
/usr/local/bin/julius-4.1.2 -C myconf.jconf
A configuration file named jsp.cfg can be used without sp...
Please refer to the Julius manual for the configurations ...
** Start the Viewer &aname(AnchorSTW); [#p188e0b1]
Run SIGViewer.exe.
The following dialogue will appear only on the first boot.
INSERT IMAGE HERE
This dialogue is to configure the graphical environment o...
Please choose either OpenGL or Direct3D9 for the sub lett...
''(CAUTION) Be sure to set"FullScreen"as"No"during the se...
(Note) The configuration will be saved as ogre.cfg. This ...
If you would like to change the configuration, delete the...
Press "OK", then the configuration will be saved and the ...
INSERT IMAGE HERE
- Command Line Options
''-s hostname''~
Specify the host name of the simulation server. The defau...
''-p portno''~
Specify the port number of the simulation server. The def...
''-sp portno''~
Specify the port number opened by the viewer as a service...
(Example)~
myserver.co.jp as a simulation server, 7500 as the port n...
> SIGViewer –s myserver.co.jp –p 7500
- Configuration File
When the startup.cfg is located in the same directory as ...
If the hostname of the simulation server, port number and...
Available items in the configuration file.
''SERVER''
Assign the hostname of the simulation server. Unless spec...
''PORT''
Assign the port number of the simulation server. Unless s...
''SERVICE_PROVIDER_PORT''
Assign the port number opened by the viewer as the servic...
''MAIN_CAMERA_INIT_POS''
Assign the position of the main camera at the start up.
''MAIN_CAMERA_INIT_DIR''
Assign the line of the sight direction of the main camera...
''BACK_GROUND_COLOR''
Assign the background color of the main window.
''MSG_WINDOW_LIMIT_TEXT_SIZE''
Assign the maximum length of the string displayed in the ...
''SYS_MSG_WINDOW_LIMIT_TEXT_SIZE''
Limit the text size displayed in the message window. Same...
''ATTR_NAMES_TO_SHOW''
Assign the name of attribute which will be displayed on t...
''SHOW_GROUND_GRID''
Assign whether display the grid on the flow or not. The d...
''GROUND_GRID_SIZE''
Assign the mesh spacing of the floor's grid. The default ...
''SHOW_AXIS_ARROW''
Assign whether display arrows of x, y, z axis. The defaul...
''AXIS_ARROW_LENGTH''
Assign the length of the arrows of the axis. The default ...
''VIDEO_RECORD_RATE''
Assign the fps in milli-second for recording the motion p...
''VIDEO_RECORD_COMPRESS''
Assign whether compress the recorded video file(.svd) or ...
Any line starting with # is considered as a comment.
~
~
[An example file of startup.cfg]
#
# ***************************************************
#
# SIGviewer configuration file
#
# ***************************************************
# ------------------------------------------------
# Host name and port number of the simulation server
# ------------------------------------------------
SERVER=myserver.co.jp
PORT=7000
# ------------------------------------------------
# Port number opened by the viewer as a service provider
# # ------------------------------------------------
SERVICE_PROVIDER_PORT=8000
# ------------------------------------------------
# Position and line of sight direction
# ------------------------------------------------
MAIN_CAMERA_INIT_POS=(30, 20, 50)
MAIN_CAMERA_INIT_DIR=(-30, -20, -50)
# ------------------------------------------------
# Background color
# defined by R, G, B color component value (0.0 ~ 1.0)
# ------------------------------------------------
BACK_GROUND_COLOR=(0.7, 0.7, 0.8)
# ------------------------------------------------
# Maximum size of the text displayed in the message area
#
# 0 (default) = max size (2G chars)
# ------------------------------------------------
MSG_WINDOW_LIMIT_TEXT_SIZE=0
SYS_MSG_WINDOW_LIMIT_TEXT_SIZE=0
# ------------------------------------------------
# Attribute name displayed in the attribute area
#
# Assigning nothing will display all the attributes
# ------------------------------------------------
ATTR_NAMES_TO_SHOW=(name, class, x, y, z, qw, qx, qy, ...
# ------------------------------------------------
# Show grids on the floor
# ------------------------------------------------
SHOW_GROUND_GRID=true
# ------------------------------------------------
# The grid size on the floor
# ------------------------------------------------
GROUND_GRID_SIZE=10
# ------------------------------------------------
# Show arrows of x, y, z axis
# ------------------------------------------------
SHOW_AXIS_ARROW=true
# ------------------------------------------------
# Arrow length of x, y and z axis
# ------------------------------------------------
AXIS_ARROW_LENGTH=10
# ------------------------------------------------
# Video recording frame rate [frame/msec]
# ------------------------------------------------
VIDEO_RECORD_RATE=500
# ------------------------------------------------
# Flag of compression for video recording
# ------------------------------------------------
VIDEO_RECORD_COMPRESS=true
(Note)
Command line option will be executed when the startup.cfg...
** How to use the viewer [#u3ec2338]
*** Start up screen [#nbfef36f]
INSERT IMAGE HERE
(1) Main window~
(2) Sub window~
(3) Lower panel tab~
(4) Right side panel tab~
The following explain each item.
*** Main window [#q4e94e6a]
- Displacing the point of view
Dragging the mouse keeping right button clicked will move...
, Operation , Behavior of SIGViewer
, Drag holding right button down , Rotation of the point ...
, Drag holding right button + SHIFT down , Displacement o...
, Drag holding right button + CTRL down , Displacement of...
- Selecting objects
An object can be selected by left clicking on the mouse.~
Dragging the mouse while holding left button down moves a...
, Operation , Behavior of SIGViewer
, Left click , Select the object
, Drag holding left button down , Rotate the object
, Drag holding left button + SHIFT down , Move the object...
, Drag holding left button + CTRL down , Move the object ...
*** Sub window [#t7bd5c49]
Displays the view from the viewpoint of selected agent by...
INSERT IMAGE HERE
*** Lower panel [#c63bd271]
- Message tab
Displays speech of the agent(s)
INSERT IMAGE HERE
- Syslog tab
Displays the system log
INSERT IMAGE HERE
- Comm. Tab
Operation of communication with the server
INSERT IMAGE HERE
-- "Connect to Sim Server" button~
Connect to the simulation server.
Host name of the server and the port number need to b...
-- "Disconnect Sim Server" button~
Disconnect from the simulation server.
-- "Start World Update" button~
Obtain the simulation status of the server sequential...
While "Start World Update" button is "ON", simulation...
(in the mean time, the objects cannot be moved by mou...
When the button is "OFF", the objects displayed in th...
-- "SIM_CTRP_CMD" area~
Start/Stop the simulation.
Select command, such as "START", "STOP" and so on, fr...
Press "Send" sends the selected command to the server.
- Video tab
Record/Play the simulation.
INSERT IMAGE HERE
-- (1) Video file name input area~
Specify the name of video file to play/record.
The extension of the video file is .svd, which is a S...
-- (2) "Refer" button~
Open a dialogue to specify the name of video file.
Selecting a file displays the selected file's name an...
-- (3) "Load" button~
Load a video file specified in "(1) Video file name i...
-- (4)Video playback control button~
Press "(3)button" to play the loaded video.
Available operations are Play, Pause, Rewind, Fast-fo...
-- (5) "Start Record" and "Stop Record" button~
Pressing "Start Record" records the ongoing simulation.
Pressing "Stop Record" saves the recorded result to t...
*** Right side panel [#ka910330]
- Attributes tab
Display the agent's attributes and other information.
-- Attributes~
Display attributes of a selected agent.
INSERT IMAGE HERE
Displayed attributes can be specified at ATTR_NAMES_TO_SH...
(Assigning nothing will display all the attributes)
-- Detected Entities~
Display names of other agents or entities seen from t...
INSERT IMAGE HERE
-- Camera Info~
Display location and the direction of the main camera...
Assigning MAIN_CAMERA_INIT_POS, MAIN_CAMERA_INIT_DIR ...
- Command tab
Send command to an agent.
Combo box just beneath the tab specify the type of messag...
There are two type of tabs, "general" and "voice" at this...
-- general~
Panel to send arbitrarily messages to an agent.
(1),(2) specifies the agent to send the message.
Press "select agent" to send message, select an agent by ...
Name of the agent can be specified directly in (2) by typ...
(3) Area to input the message to be sent~
One string in each line.
(4) Send the message to the controller of agent.
The above example sends four strings, "move", "0", "0" an...
-- voice~
Panel to send voice data to an agent
(1), (2) specifies the agent to send the message.
Press "select agent" to send message, select an agent by ...
Name of the agent can be specified by typing the name dir...
(3) Pressing "Rec Start" button starts recording from mic...
(4) Pressing "Rec End" button ends recoding from the micr...
(5) Pressing "Send Voice" button opens a dialogue to spec...
(Any .wav file can be selected and can be sent to an agen...
Send voice data can be received by a method onRecvSound(...
* Create World File [#u550ef4f]
This part explains how to create world-definition file, w...
** Coordinate system [#v5c343fe]
The system uses following three coordinate systems.
- World coordinate system
Coordinate system that represents location of the agents ...
Vertical upward is the +Y direction.
- Agent coordinate system
Coordinate system that represents position of parts of th...
The center of the agent and/or entity is the origin.~
The agent face to +Z direction, +Y direction is the upwar...
- Line of sight coordinate system
Coordinate system that represents location of items from ...
The origin is the viewpoint of the agent.~
The agent faces to -Z direction, right hand side is +X di...
INSERT IMAGE HERE
** Definition of Agent and Entity Class [#t8831c85]
"Agent" and "Entity" are defined as below.
''Agent'' : Object that moves autonomously
''Entity'' : Object that does not move autonomously or st...
''Objects in the virtual world are defined by XML files.''~
''User needs to define a new class using XML file when an...
''Agent and Entity classes are already defined. (Entity.x...
- Inheritance relationship
Agent class is as same as Entity class except that it has...
Therefore, Agent class inherits Entity class.
Entity class is the base class in the virtual world.~
All the classes are required to inherit Entity class, eit...
A newly created class, which moves autonomously, needs to...
A new immovable class needs to inherit Entity class.~
TO COMPLETE ? Entity class, Agent class, Class definition
** Configuration of the Agent and the Entity [#h3793008]
The shape of the agent/entity is defined in shape-file an...
- Shape-file
The shape of the agents and/or entities are defined eithe...
- Specify the shape-file in class definition
Assign the shape-file when defining a class. The followin...
The shape-file robot-body.xml is assigned in the Robot cl...
-- Assign X3D-shape-file
<?xml version="1.0" encoding="utf8"?>
<define-class name="Robot" inherit="Agent.xml">
<x3d>
<filename>robot.x3d</filename>
</x3d>
</define-class>
-- Assign SIGVerse original XML shape-file
<?xml version="1.0" encoding="utf8"?>
<define-class name="Robot" inherit="Agent.xml">
<body filename="robot-body.xml"/>
</define-class>
- X3D shape-file
Configure the following items in X3D shape-file.
-- Configuration of Joint Axis
The joint angles can be specified in the controller.~
The axis of rotation is specified in jointAxis tag under ...
<?xml version="1.0" encoding="UTF-8"?>
<X3D profile="Immersive" version="3.0">
...
<ProtoInstance name='Joint' DEF="WAIST_JOINT1" conta...
<fieldValue name='name' value='WAIST_JOINT1' />
<fieldValue name='translation' value='15.0 0.0 0.0...
<fieldValue name='jointType' value='rotate' />
<!-- Axis of rotation of WAIST_JOINT1 is (1.0, 0.0...
<fieldValue name='jointAxis' value='1.0 0.0 0.0' />
<fieldValue name='jointId' value='26.0' />
...;
</ProtoInstance>
** World File [#b04bca0f]
The initial state of the virtual world is described in XM...
- Define World(<world>)
Property of the World and Agents/Entities appeared in ...
- Specify the gravitational acceleration(<gravity>)
Assign the gravitational acceleration in x, y and z di...
- Create an instance(<instanciate>)
Make agents/entities appeared to the virtual world by ...
Specify the name and the initial position (x, y, z) by...
The external force by ODE physics simulation can be tu...
- Specify agent controller
Controller can be assigned to the agent by specifying ...
The value for language is c++ only, at this moment. (a...
InSERT SAMPLE OF WORLD FILE HERE
* Control of the agent by a controller [#ud4323d3]
** Displacement Mode and Control Mode [#if130f5a]
** Create the controller [#z8cad858]
*** Create a controller to do nothing [#kb06c528]
*** Compile [#e74cd304]
*** Attach to an agent (Execute a test) [#u05241a2]
** A Sample of a controller [#laad5227]
** Reference [#n9930c41]
[[SIGVerse(English)]]
Last modified: Mon Feb 25 11:13:10 JST 2008
Page: