SIGVerse Web
[
Front page
] [
New
|
List of pages
|
Search
|
Recent changes
|
Help
]
Start:
[[SIGVerse.org:http://sigverse.org]] | [[SIGVerse Forum:h...
----
%%%''&size(24){Sorry! SIGVerse Web is now under maintenan...
#contents
----
* Introduction [#d01a4ae2]
SIGVerse Web is a ''Web Interface for SIGVerse Applicatio...
Main feature of SIGVerse Web:
- Web-based Editor and Compiler
- Remote Control SIGServer
- Workspace on the Cloud
----
* Setup [#vd1221fc]
** Register and Login Webuser account [#b09c1ddd]
- Pull down the top panel for web registration and login ...
&ref(./Register&Login.png,alt-title-Register & Login on T...
** SIGVerse Installation/Uninstallation [#v8122c9a]
- On the main page, after '''Connect to Socio''', select ...
- ''*Important*'' After clicking the '''Install''' button...
- Once the installation is completed, you can click '''Go...
&ref(./SetupPage.png,alt-title-Setup Page,90%);
** '''* Socio Server Access''' [#e61d1f94]
- In order for SIGViewer to visualize your simulation run...
- Please contact Professor Inamura (inamura@nii.ac.jp) to...
- Download the SSH-Key (On the main page after login to S...
- Please find the passphrase in the passphrase.txt.
- For security reason, the key and the passphrase will ex...
- Follow the guide below (SSH Connection) to establish th...
----
* Basic Development Guide [#g3744b5c]
** Workspace Overview [#s8df86d6]
&ref(./Workspace.png,alt-title-Workspace,80%);
- Project Directory
-- The left panel consists of a file navigation for proje...
- Editor Area
-- The center area is the editor for programming code dev...
- Control Panel
-- The lower panel is the Control Panel for code compilin...
-- ''Make'' - To '''make''' controller codes with a Makef...
Makefile.txt
#highlight(xml){{
#SIGVerseソースの場所指定
SIG_SRC = ../sigverse-$(sigversion)/include/sigverse
#オブジェクトファイルの指定
OBJS = Controller.so
all: $(OBJS)
#コンパイルを行います。
./%.so: ./%.cpp
g++ -DCONTROLLER -DNDEBUG -DUSE_ODE -DdDOUBLE -I$(SIG_SR...
}}
-- ''Build'' - To "build" the project files into the curr...
-- ''Import (.zip)'' - To import a project from local mac...
-- ''Export'' - To download a project in zip format.
-- ''Delete'' - To delete a project (with all files insid...
-- Execute [Admin] - For administrative purpose only.
** Run SIGServer [#ldee943d]
- ''Run'' - To execute SIGServer (./sigverse.sh).
- ''Check'' - To view output of the execution (for possib...
- ''Kill'' - To terminate SIGServer.
** SSH Connection [#f2e8ee8d]
- Input host name, user name and pass phrase
-- Run SIGViewer.exe on local machine.
-- From the top '''Setting''' menu, select '''SSH Connect...
#ref(SSH接続/ssh_connect1.jpg)
-- Input the server host name (or IP address), user name ...
-- For temporary access,
--- Server host name: socio2.iir.nii.ac.jp
--- User name: testuser
--- Passphrase: (as written in passphrase.txt)
#ref(SSH接続/ssh_connect2.jpg)
-- Check the '''Use RSA key to login'''.
-- Enable port forwarding (in most cases blocked by firew...
-- Check '''Local port forwarding with login''' and input...
--- Local port: Port on local machine
--- Listen host: Listening machine(normally '''localhos...
--- Remote port: Port on server
#ref(SSH接続/ssh_connect3.jpg)
-- Check '''Remote port forwarding with login''' and inpu...
--- Server port: Port on local machine
--- Listen host: Listening machine(normally '''localhos...
--- Local port: Port on server
#ref(SSH接続/ssh_connect4jpg.jpg)
-- * In normal cases, please use 9001 and above for local...
-- Check '''Download shape file''' for automatically upda...
-- Press '''Connect''', the SSH connection is established...
#ref(SSH接続/ssh_connect5.jpg)
----
* Tutorials [#i308f6c9]
** First Test (Tutorial01) [#yc3437d8]
- To simulate a falling object due to gravitational and e...
- Step 1: Create a new project
-- Click the '''Add Folder''' icon on the top of the left...
-- Insert "Tutorial01" and click SAVE.
-- A new folder named "Tutorial01" appears on the Project...
- Step 2: Create an agent controller
-- An agent is an autonomous object controlled by a contr...
-- Click into "Tutorial01" and click '''Add File''' to cr...
-- Insert "MoveController" and select "cpp" as the file t...
-- Insert the following codes into the Editor Area and cl...
MoveController.cpp
#highlight(cpp){{
#include "Controller.h"
#include "Logger.h"
//ControllerのサブクラスMoveControllerの宣言します。
class MoveController : public Controller {
public:
//定期的な処理を行うonActionの利用を宣言します。
double onAction(ActionEvent&);
};
double MoveController::onAction(ActionEvent &evt) {
return 5.0; //次にonActionが呼ばれるまでの時間を...
}
//自身のインスタンスをSIGVerseに返します。
extern "C" Controller * createController() {
return new MoveController;
}
}}
-- The above controller codes do nothing except execute "...
- Step 3: Compiling the controller codes
-- Create a file named "Makefile" with "txt" file type.
-- Insert the following codes into the Editor Area and cl...
Makefile.txt
#highlight(xml){{
#SIGVerseソースの場所指定
SIG_SRC = ../sigverse-$(sigversion)/include/sigverse
#オブジェクトファイルの指定
OBJS = MoveController.so
all: $(OBJS)
#コンパイルを行います。
./%.so: ./%.cpp
g++ -DCONTROLLER -DNDEBUG -DUSE_ODE -DdDOUBLE -I$(SIG_SR...
}}
-- In the Control Panel, insert the project name "Tutoria...
- Step 4: Create a virtual world with the agent
-- Create a new file named "NewWorld" with "xml" file type.
-- Insert the following codes into the Editor Area and cl...
NewWorld.xml
#highlight(xml){{
<?xml version="1.0" encoding="utf8"?>
<world name="myworld">
<!--重力の設定-->
<gravity x="0.0" y="-9.8" z="0.0"/>
<!--エージェントToy_Dのインスタンス作成-->
<instanciate class="seToy_D.xml">
<!--エージェント名-->
<set-attr-value name="name" value="Toy_D"/>
<!--C++言語の指定-->
<set-attr-value name="language" value="c++"/>
<!--作成したコントローラの指定-->
<set-attr-value name="implementation" value="./M...
<!--動力学演算フラグ-->
<set-attr-value name="dynamics" value="true"/>
<!--エージェントの最初の位置(x,y,z)-->
<set-attr-value name="x" value="0.0"/>
<set-attr-value name="y" value="18.0"/>
<set-attr-value name="z" value="5.0"/>
<!--エージェントの質量設定-->
<set-attr-value name="mass" value="1.0"/>
</instanciate>
</world>
}}
-- The above codes create a virtual world named "myworld".
-- In the world, an agent named "Toy_D" using the instanc...
-- The "implementation" attribute attaches "MoveControlle...
-- With the "dynamics" attribute value set to "true", the...
-- The initial position (x,y,z) and mass are set.
- Step 5: Execute the simulation
-- On the Control Panel, build the project by using '''Bu...
-- Set "Port" to 9001 and "World" to "NewWorld.xml"
-- Click '''Run''' to execute SIGVerse.
-- Click '''Check''' to check the last line of the output...
-- If you see "cannot bind socket: Address already in use...
Try bigger number, e.g. 9002, 9003, 9004, ... There are v...
-- Run SIGViewer. Establish SSH connection under Setting....
-- An agent in a virtual world appears as follows.
-- * View controls for SIGViewer:
--- Turn around - Right click
--- Zoom - Ctrl + Right click
--- Pan - Shift + Right click
#ref(動力学シミュレーションのサンプル/toy_1.jpg)
-- Click '''Send''' under SIM_CTRL_CMD (START) to start t...
-- The agent falls straight down the ground.
-- '''Disconnect SimServer''' in SIGViewer and '''Kill'''...
- Step 6: Apply external force
-- To apply an external force to the agent, edit the agen...
MoveController.cpp
#highlight(cpp:firstline[13]){{
double MoveController::onAction(ActionEvent &evt) {
return 5.0; //次にonActionが呼ばれるまでの時間を...
}
}}
↓
#highlight(cpp:firstline[13]){{
double MoveController::onAction(ActionEvent &evt) {
SimObj *obj = getObj(myname()); //自分自身の取得
obj->setForce(0,0,300); //z軸方向に300[N]の力...
return 5.0; //次にonActionが呼ばれるまでの時間を...
}
}}
-- '''Make''', '''Build''' and '''Run''' the simulation a...
-- The agent moves forward as below.
#ref(動力学シミュレーションのサンプル/toy_3.jpg)
** Tutorial Project Files [#j3b3ff3e]
- Tutorial01 - &ref(./Tutorial01.zip);
- Tutorial02 -
- Tutorial03 -
- Tutorial04 -
- Tutorial05 -
- Tutorial06 -
- Tutorial07 -
- Tutorial08 -
- Tutorial09 -
- Tutorial10 -
** Differences between SIGVerse Web and manual programmin...
SIGVerse Web is developed with the aim to ease and reduce...
- The files system in SIGVerse Web is organized based on ...
- ''*Difference*'' In World files (.xml), the path to the...
#highlight(xml){{
<set-attr-value name="implementation" value="./MoveContro...
}}
- In SIGVerse Web, you can install and execute all availa...
- ''*Difference*'' To make sure the Makefile indicates th...
#highlight(xml){{
SIG_SRC = ../sigverse-$(sigversion)/include/sigverse
}}
----
* Library [#j37e4e6a]
- Object Gallery
- World Gallery
-- Living Room (Small)
-- Living Room (Big)
-- Kitchen
- Controller Collection
-- Mobile Robot
-- Humanoid
- User Interface Systems
-- Kinect
-- Webcam
----
For any inquiry, suggestion, and feedback, please kindly ...
#highlight(end)
#counter
End:
[[SIGVerse.org:http://sigverse.org]] | [[SIGVerse Forum:h...
----
%%%''&size(24){Sorry! SIGVerse Web is now under maintenan...
#contents
----
* Introduction [#d01a4ae2]
SIGVerse Web is a ''Web Interface for SIGVerse Applicatio...
Main feature of SIGVerse Web:
- Web-based Editor and Compiler
- Remote Control SIGServer
- Workspace on the Cloud
----
* Setup [#vd1221fc]
** Register and Login Webuser account [#b09c1ddd]
- Pull down the top panel for web registration and login ...
&ref(./Register&Login.png,alt-title-Register & Login on T...
** SIGVerse Installation/Uninstallation [#v8122c9a]
- On the main page, after '''Connect to Socio''', select ...
- ''*Important*'' After clicking the '''Install''' button...
- Once the installation is completed, you can click '''Go...
&ref(./SetupPage.png,alt-title-Setup Page,90%);
** '''* Socio Server Access''' [#e61d1f94]
- In order for SIGViewer to visualize your simulation run...
- Please contact Professor Inamura (inamura@nii.ac.jp) to...
- Download the SSH-Key (On the main page after login to S...
- Please find the passphrase in the passphrase.txt.
- For security reason, the key and the passphrase will ex...
- Follow the guide below (SSH Connection) to establish th...
----
* Basic Development Guide [#g3744b5c]
** Workspace Overview [#s8df86d6]
&ref(./Workspace.png,alt-title-Workspace,80%);
- Project Directory
-- The left panel consists of a file navigation for proje...
- Editor Area
-- The center area is the editor for programming code dev...
- Control Panel
-- The lower panel is the Control Panel for code compilin...
-- ''Make'' - To '''make''' controller codes with a Makef...
Makefile.txt
#highlight(xml){{
#SIGVerseソースの場所指定
SIG_SRC = ../sigverse-$(sigversion)/include/sigverse
#オブジェクトファイルの指定
OBJS = Controller.so
all: $(OBJS)
#コンパイルを行います。
./%.so: ./%.cpp
g++ -DCONTROLLER -DNDEBUG -DUSE_ODE -DdDOUBLE -I$(SIG_SR...
}}
-- ''Build'' - To "build" the project files into the curr...
-- ''Import (.zip)'' - To import a project from local mac...
-- ''Export'' - To download a project in zip format.
-- ''Delete'' - To delete a project (with all files insid...
-- Execute [Admin] - For administrative purpose only.
** Run SIGServer [#ldee943d]
- ''Run'' - To execute SIGServer (./sigverse.sh).
- ''Check'' - To view output of the execution (for possib...
- ''Kill'' - To terminate SIGServer.
** SSH Connection [#f2e8ee8d]
- Input host name, user name and pass phrase
-- Run SIGViewer.exe on local machine.
-- From the top '''Setting''' menu, select '''SSH Connect...
#ref(SSH接続/ssh_connect1.jpg)
-- Input the server host name (or IP address), user name ...
-- For temporary access,
--- Server host name: socio2.iir.nii.ac.jp
--- User name: testuser
--- Passphrase: (as written in passphrase.txt)
#ref(SSH接続/ssh_connect2.jpg)
-- Check the '''Use RSA key to login'''.
-- Enable port forwarding (in most cases blocked by firew...
-- Check '''Local port forwarding with login''' and input...
--- Local port: Port on local machine
--- Listen host: Listening machine(normally '''localhos...
--- Remote port: Port on server
#ref(SSH接続/ssh_connect3.jpg)
-- Check '''Remote port forwarding with login''' and inpu...
--- Server port: Port on local machine
--- Listen host: Listening machine(normally '''localhos...
--- Local port: Port on server
#ref(SSH接続/ssh_connect4jpg.jpg)
-- * In normal cases, please use 9001 and above for local...
-- Check '''Download shape file''' for automatically upda...
-- Press '''Connect''', the SSH connection is established...
#ref(SSH接続/ssh_connect5.jpg)
----
* Tutorials [#i308f6c9]
** First Test (Tutorial01) [#yc3437d8]
- To simulate a falling object due to gravitational and e...
- Step 1: Create a new project
-- Click the '''Add Folder''' icon on the top of the left...
-- Insert "Tutorial01" and click SAVE.
-- A new folder named "Tutorial01" appears on the Project...
- Step 2: Create an agent controller
-- An agent is an autonomous object controlled by a contr...
-- Click into "Tutorial01" and click '''Add File''' to cr...
-- Insert "MoveController" and select "cpp" as the file t...
-- Insert the following codes into the Editor Area and cl...
MoveController.cpp
#highlight(cpp){{
#include "Controller.h"
#include "Logger.h"
//ControllerのサブクラスMoveControllerの宣言します。
class MoveController : public Controller {
public:
//定期的な処理を行うonActionの利用を宣言します。
double onAction(ActionEvent&);
};
double MoveController::onAction(ActionEvent &evt) {
return 5.0; //次にonActionが呼ばれるまでの時間を...
}
//自身のインスタンスをSIGVerseに返します。
extern "C" Controller * createController() {
return new MoveController;
}
}}
-- The above controller codes do nothing except execute "...
- Step 3: Compiling the controller codes
-- Create a file named "Makefile" with "txt" file type.
-- Insert the following codes into the Editor Area and cl...
Makefile.txt
#highlight(xml){{
#SIGVerseソースの場所指定
SIG_SRC = ../sigverse-$(sigversion)/include/sigverse
#オブジェクトファイルの指定
OBJS = MoveController.so
all: $(OBJS)
#コンパイルを行います。
./%.so: ./%.cpp
g++ -DCONTROLLER -DNDEBUG -DUSE_ODE -DdDOUBLE -I$(SIG_SR...
}}
-- In the Control Panel, insert the project name "Tutoria...
- Step 4: Create a virtual world with the agent
-- Create a new file named "NewWorld" with "xml" file type.
-- Insert the following codes into the Editor Area and cl...
NewWorld.xml
#highlight(xml){{
<?xml version="1.0" encoding="utf8"?>
<world name="myworld">
<!--重力の設定-->
<gravity x="0.0" y="-9.8" z="0.0"/>
<!--エージェントToy_Dのインスタンス作成-->
<instanciate class="seToy_D.xml">
<!--エージェント名-->
<set-attr-value name="name" value="Toy_D"/>
<!--C++言語の指定-->
<set-attr-value name="language" value="c++"/>
<!--作成したコントローラの指定-->
<set-attr-value name="implementation" value="./M...
<!--動力学演算フラグ-->
<set-attr-value name="dynamics" value="true"/>
<!--エージェントの最初の位置(x,y,z)-->
<set-attr-value name="x" value="0.0"/>
<set-attr-value name="y" value="18.0"/>
<set-attr-value name="z" value="5.0"/>
<!--エージェントの質量設定-->
<set-attr-value name="mass" value="1.0"/>
</instanciate>
</world>
}}
-- The above codes create a virtual world named "myworld".
-- In the world, an agent named "Toy_D" using the instanc...
-- The "implementation" attribute attaches "MoveControlle...
-- With the "dynamics" attribute value set to "true", the...
-- The initial position (x,y,z) and mass are set.
- Step 5: Execute the simulation
-- On the Control Panel, build the project by using '''Bu...
-- Set "Port" to 9001 and "World" to "NewWorld.xml"
-- Click '''Run''' to execute SIGVerse.
-- Click '''Check''' to check the last line of the output...
-- If you see "cannot bind socket: Address already in use...
Try bigger number, e.g. 9002, 9003, 9004, ... There are v...
-- Run SIGViewer. Establish SSH connection under Setting....
-- An agent in a virtual world appears as follows.
-- * View controls for SIGViewer:
--- Turn around - Right click
--- Zoom - Ctrl + Right click
--- Pan - Shift + Right click
#ref(動力学シミュレーションのサンプル/toy_1.jpg)
-- Click '''Send''' under SIM_CTRL_CMD (START) to start t...
-- The agent falls straight down the ground.
-- '''Disconnect SimServer''' in SIGViewer and '''Kill'''...
- Step 6: Apply external force
-- To apply an external force to the agent, edit the agen...
MoveController.cpp
#highlight(cpp:firstline[13]){{
double MoveController::onAction(ActionEvent &evt) {
return 5.0; //次にonActionが呼ばれるまでの時間を...
}
}}
↓
#highlight(cpp:firstline[13]){{
double MoveController::onAction(ActionEvent &evt) {
SimObj *obj = getObj(myname()); //自分自身の取得
obj->setForce(0,0,300); //z軸方向に300[N]の力...
return 5.0; //次にonActionが呼ばれるまでの時間を...
}
}}
-- '''Make''', '''Build''' and '''Run''' the simulation a...
-- The agent moves forward as below.
#ref(動力学シミュレーションのサンプル/toy_3.jpg)
** Tutorial Project Files [#j3b3ff3e]
- Tutorial01 - &ref(./Tutorial01.zip);
- Tutorial02 -
- Tutorial03 -
- Tutorial04 -
- Tutorial05 -
- Tutorial06 -
- Tutorial07 -
- Tutorial08 -
- Tutorial09 -
- Tutorial10 -
** Differences between SIGVerse Web and manual programmin...
SIGVerse Web is developed with the aim to ease and reduce...
- The files system in SIGVerse Web is organized based on ...
- ''*Difference*'' In World files (.xml), the path to the...
#highlight(xml){{
<set-attr-value name="implementation" value="./MoveContro...
}}
- In SIGVerse Web, you can install and execute all availa...
- ''*Difference*'' To make sure the Makefile indicates th...
#highlight(xml){{
SIG_SRC = ../sigverse-$(sigversion)/include/sigverse
}}
----
* Library [#j37e4e6a]
- Object Gallery
- World Gallery
-- Living Room (Small)
-- Living Room (Big)
-- Kitchen
- Controller Collection
-- Mobile Robot
-- Humanoid
- User Interface Systems
-- Kinect
-- Webcam
----
For any inquiry, suggestion, and feedback, please kindly ...
#highlight(end)
#counter
Page: