|
From: <he...@us...> - 2010-01-10 23:45:17
|
Revision: 140
http://simspark.svn.sourceforge.net/simspark/?rev=140&view=rev
Author: hedayat
Date: 2010-01-10 23:45:10 +0000 (Sun, 10 Jan 2010)
Log Message:
-----------
Add a new script: rcsoccersim3d to run both a server and a monitor, and shut down the server when monitor quits
renamed simspark to rcssserver3d
Updates release notes
Modified Paths:
--------------
trunk/rcssserver3d/CMakeLists.txt
trunk/rcssserver3d/ChangeLog
trunk/rcssserver3d/RELEASE
trunk/rcssserver3d/rcssserver3d/CMakeLists.txt
trunk/rcssserver3d/rcssserver3d/main.cpp
Added Paths:
-----------
trunk/rcssserver3d/rcssserver3d/
trunk/rcssserver3d/rcssserver3d/naosoccersim.rb
trunk/rcssserver3d/rcssserver3d/rcsoccersim3d.in
Removed Paths:
-------------
trunk/rcssserver3d/rcssserver3d/naosoccersim.rb
trunk/rcssserver3d/simspark/
Modified: trunk/rcssserver3d/CMakeLists.txt
===================================================================
--- trunk/rcssserver3d/CMakeLists.txt 2010-01-10 09:14:25 UTC (rev 139)
+++ trunk/rcssserver3d/CMakeLists.txt 2010-01-10 23:45:10 UTC (rev 140)
@@ -76,7 +76,7 @@
add_subdirectory(plugin)
add_subdirectory(rcssagent3d)
add_subdirectory(rcssmonitor3d)
-add_subdirectory(simspark)
+add_subdirectory(rcssserver3d)
########### install files ###############
Modified: trunk/rcssserver3d/ChangeLog
===================================================================
--- trunk/rcssserver3d/ChangeLog 2010-01-10 09:14:25 UTC (rev 139)
+++ trunk/rcssserver3d/ChangeLog 2010-01-10 23:45:10 UTC (rev 140)
@@ -1,3 +1,19 @@
+2010-01-11 Hedayat Vatankhah <he...@gr...>
+
+ * RELEASE:
+ - added some notes about the name change and also the new script
+ (rcsoccersim3d)
+
+ * CMakeLists.txt:
+ * rcssserver3d/main.cpp:
+ * rcssserver3d/CMakeLists.txt:
+ - renamed simspark -> rcssserver3d. creating a simspark symbolic link for
+ backward compatibility
+
+ * rcssserver3d/rcsoccersim3d.in:
+ - added rcsoccersim3d script to run both rcssserver3d (simspark) and
+ rcssmonitor3d, and terminate the simulator when the monitor stops
+
2010-01-09 Hedayat Vatankhah <he...@gr...>
* data/models/leftgoal.obj:
Modified: trunk/rcssserver3d/RELEASE
===================================================================
--- trunk/rcssserver3d/RELEASE 2010-01-10 09:14:25 UTC (rev 139)
+++ trunk/rcssserver3d/RELEASE 2010-01-10 23:45:10 UTC (rev 140)
@@ -1,7 +1,10 @@
RELEASE News of rcssserver3d-0.6.3 (In progress)
* Most notable changes:
- - No internal monitor by default. Run rcssmonitor3d separately to see the game.
+ - Name change: simspark -> rcssserver3d. To make the functionality more clear.
+ - No internal monitor by default. Run rcssmonitor3d separately to see the game.
+ As another option, you might run rcsoccersim3d which runs both
+ rcssserver3d (simspark) and rcssmonitor3d on the local machine.
- Added HMDP effector/perceptor
- Some compilation fixes
- Improved Windows support
Modified: trunk/rcssserver3d/rcssserver3d/CMakeLists.txt
===================================================================
--- trunk/rcssserver3d/simspark/CMakeLists.txt 2009-12-18 13:01:31 UTC (rev 126)
+++ trunk/rcssserver3d/rcssserver3d/CMakeLists.txt 2010-01-10 23:45:10 UTC (rev 140)
@@ -1,10 +1,10 @@
########### next target ###############
-set(simspark_SRCS
+set(rcssserver3d_SRCS
main.cpp
)
-add_executable(simspark ${simspark_SRCS})
+add_executable(rcssserver3d ${rcssserver3d_SRCS})
if (APPLE)
set(SDL_LINK_LIBS ${SDLMAIN_LIBRARY} ${SDL_LIBRARY_TEMP})
@@ -12,16 +12,27 @@
include_directories(${SDL_INCLUDE_DIR})
-target_link_libraries(simspark ${SPARK_LIBRARIES} ${SALT_LIBRARIES}
+target_link_libraries(rcssserver3d ${SPARK_LIBRARIES} ${SALT_LIBRARIES}
${ZEITGEIST_LIBRARIES} ${OXYGEN_LIBRARIES} ${KEROSIN_LIBRARIES}
${SDL_LINK_LIBS} ${RCSSNET3D_LIBRARY})
-set_target_properties(simspark PROPERTIES INSTALL_RPATH "${RPATH_DIRECTORIES}")
-install(TARGETS simspark DESTINATION ${BINDIR})
+set_target_properties(rcssserver3d PROPERTIES INSTALL_RPATH "${RPATH_DIRECTORIES}")
+install(TARGETS rcssserver3d DESTINATION ${BINDIR})
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/rcsoccersim3d.in
+ ${CMAKE_CURRENT_BINARY_DIR}/rcsoccersim3d)
+execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
+ ${CMAKE_INSTALL_PREFIX}/${BINDIR}/rcssserver3d
+ ${CMAKE_CURRENT_BINARY_DIR}/simspark)
+
########### install files ###############
install(FILES simspark.rb soccersim.rb naosoccersim.rb
internalsoccermonitor.rb internalsoccerbindings.rb
DESTINATION ${DATADIR}/${CMAKE_PROJECT_NAME})
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rcsoccersim3d
+ ${CMAKE_CURRENT_BINARY_DIR}/simspark DESTINATION ${BINDIR}
+ PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE)
Modified: trunk/rcssserver3d/rcssserver3d/main.cpp
===================================================================
--- trunk/rcssserver3d/simspark/main.cpp 2009-12-18 13:01:31 UTC (rev 126)
+++ trunk/rcssserver3d/rcssserver3d/main.cpp 2010-01-10 23:45:10 UTC (rev 140)
@@ -69,7 +69,7 @@
void SimSpark::PrintGreeting()
{
GetLog()->Normal()
- << "simspark, a monolithic simulator 0.6.1\n"
+ << "rcssserver3d (formerly simspark), a monolithic simulator 0.6.1\n"
<< "Copyright (C) 2004 Markus Rollmann, \n"
<< "Universität Koblenz.\n"
<< "Copyright (C) 2004-2009, "
@@ -80,7 +80,7 @@
void SimSpark::PrintHelp()
{
GetLog()->Normal()
- << "\nusage: simspark [options] [script]\n"
+ << "\nusage: rcssserver3d [options] [script]\n"
<< "\noptions:\n"
<< " --help\t\t\t print this message.\n"
<< " --script-path PATH\t set the script path (simspark.rb path).\n"
Deleted: trunk/rcssserver3d/rcssserver3d/naosoccersim.rb
===================================================================
--- trunk/rcssserver3d/simspark/naosoccersim.rb 2009-12-18 13:01:31 UTC (rev 126)
+++ trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2010-01-10 23:45:10 UTC (rev 140)
@@ -1,103 +0,0 @@
-#
-# prepare soccer simulation
-#
-
-# setup soccer specific materials
-# run "scripts/rcs-materials.rb"
-if ($enableInternalMonitor)
- run "scripts/rcs-materials-textures.rb"
-
- material = sparkCreate('kerosin/Material2DTexture', $serverPath+'material/matGrass');
- material.setDiffuse(1.0,1.0,1.0,1.0)
- material.setAmbient(0.5,0.5,0.5,1.0)
- material.setDiffuseTexture('textures/rcs-naofield.png')
-end
-
-importBundle "soccer"
-
-# soccer namespace
-$soccerNameSpace = "Soccer"
-
-# register a variable in the soccer namespace
-def addSoccerVar(name, value)
- createVariable($soccerNameSpace, name, value)
-end
-
-# helper to get the value of a variable in the soccer namespace
-def getSoccerVar(name)
- eval <<-EOS
- #{$soccerNameSpace}.#{name}
- EOS
-end
-
-# set a random seed (a seed of 0 means: use a random random seed)
-randomServer = get($serverPath+'random')
-if (randomServer != nil)
- randomServer.seed(0)
-end
-
-# the soccer field dimensions in meters
-addSoccerVar('FieldLength', 12.0)
-addSoccerVar('FieldWidth', 8.0)
-addSoccerVar('FieldHeight', 40.0)
-addSoccerVar('GoalWidth', 1.4)
-addSoccerVar('GoalDepth', 0.4)
-addSoccerVar('GoalHeight', 0.8)
-addSoccerVar('PenaltyLength',1.2)
-addSoccerVar('PenaltyWidth',2.6)
-addSoccerVar('FreeKickDistance', 1.3)
-addSoccerVar('FreeKickMoveDist', 1.5)
-addSoccerVar('GoalKickDist', 1.0)
-addSoccerVar('AutomaticKickOff', false)
-addSoccerVar('WaitBeforeKickOff', 2.0)
-
-# agent parameters
-addSoccerVar('AgentRadius', 0.4)
-
-# ball parameters
-addSoccerVar('BallRadius', 0.042)
-addSoccerVar('BallMass',0.026)
-
-# soccer rule parameters
-addSoccerVar('RuleGoalPauseTime',3.0)
-addSoccerVar('RuleKickInPauseTime',1.0)
-addSoccerVar('RuleHalfTime',5.0 * 60)
-addSoccerVar('RuleDropBallTime',30)
-addSoccerVar('SingleHalfTime', false)
-addSoccerVar('UseOffside',false)
-
-# recorders
-addSoccerVar('BallRecorder',"Ball/geometry/recorder")
-addSoccerVar('LeftGoalRecorder',"leftgoal/GoalBox/BoxCollider/recorder")
-addSoccerVar('RightGoalRecorder',"rightgoal/GoalBox/BoxCollider/recorder")
-
-# textures
-createVariable('Nao', 'UseTexture', 'true')
-
-scene = get($scenePath)
-if (scene != nil)
- scene.importScene('rsg/agent/nao/soccer.rsg')
-end
-
-# setup the GameControlServer
-gameControlServer = get($serverPath+'gamecontrol')
-if (gameControlServer != nil)
- gameControlServer.initControlAspect('GameStateAspect')
- gameControlServer.initControlAspect('BallStateAspect')
- gameControlServer.initControlAspect('SoccerRuleAspect')
- obj = get('/sys/server/gamecontrol/GameStateAspect')
- if (obj != nil)
- obj.setTime(0)
- obj.setScores(0,0)
- end
-end
-
-# init monitorItems to transmit game state information
-monitorServer = get($serverPath+'monitor')
-if (monitorServer != nil)
- monitorServer.registerMonitorItem('GameStateItem')
-end
-
-# install the TrainerCommandParser to parse commands received from a
-# monitor client
-sparkRegisterMonitorCmdParser 'TrainerCommandParser'
Copied: trunk/rcssserver3d/rcssserver3d/naosoccersim.rb (from rev 130, trunk/rcssserver3d/simspark/naosoccersim.rb)
===================================================================
--- trunk/rcssserver3d/rcssserver3d/naosoccersim.rb (rev 0)
+++ trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2010-01-10 23:45:10 UTC (rev 140)
@@ -0,0 +1,103 @@
+#
+# prepare soccer simulation
+#
+
+# setup soccer specific materials
+# run "scripts/rcs-materials.rb"
+if ($enableInternalMonitor)
+ run "scripts/rcs-materials-textures.rb"
+
+ material = sparkCreate('kerosin/Material2DTexture', $serverPath+'material/matGrass');
+ material.setDiffuse(1.0,1.0,1.0,1.0)
+ material.setAmbient(0.5,0.5,0.5,1.0)
+ material.setDiffuseTexture('textures/rcs-naofield.png')
+end
+
+importBundle "soccer"
+
+# soccer namespace
+$soccerNameSpace = "Soccer"
+
+# register a variable in the soccer namespace
+def addSoccerVar(name, value)
+ createVariable($soccerNameSpace, name, value)
+end
+
+# helper to get the value of a variable in the soccer namespace
+def getSoccerVar(name)
+ eval <<-EOS
+ #{$soccerNameSpace}.#{name}
+ EOS
+end
+
+# set a random seed (a seed of 0 means: use a random random seed)
+randomServer = get($serverPath+'random')
+if (randomServer != nil)
+ randomServer.seed(0)
+end
+
+# the soccer field dimensions in meters
+addSoccerVar('FieldLength', 18.0)
+addSoccerVar('FieldWidth', 12.0)
+addSoccerVar('FieldHeight', 40.0)
+addSoccerVar('GoalWidth', 2.1)
+addSoccerVar('GoalDepth', 0.6)
+addSoccerVar('GoalHeight', 0.8)
+addSoccerVar('PenaltyLength',1.8)
+addSoccerVar('PenaltyWidth',3.9)
+addSoccerVar('FreeKickDistance', 1.3)
+addSoccerVar('FreeKickMoveDist', 1.5)
+addSoccerVar('GoalKickDist', 1.0)
+addSoccerVar('AutomaticKickOff', false)
+addSoccerVar('WaitBeforeKickOff', 2.0)
+
+# agent parameters
+addSoccerVar('AgentRadius', 0.4)
+
+# ball parameters
+addSoccerVar('BallRadius', 0.042)
+addSoccerVar('BallMass',0.026)
+
+# soccer rule parameters
+addSoccerVar('RuleGoalPauseTime',3.0)
+addSoccerVar('RuleKickInPauseTime',1.0)
+addSoccerVar('RuleHalfTime',5.0 * 60)
+addSoccerVar('RuleDropBallTime',30)
+addSoccerVar('SingleHalfTime', false)
+addSoccerVar('UseOffside',false)
+
+# recorders
+addSoccerVar('BallRecorder',"Ball/geometry/recorder")
+addSoccerVar('LeftGoalRecorder',"leftgoal/GoalBox/BoxCollider/recorder")
+addSoccerVar('RightGoalRecorder',"rightgoal/GoalBox/BoxCollider/recorder")
+
+# textures
+createVariable('Nao', 'UseTexture', 'true')
+
+scene = get($scenePath)
+if (scene != nil)
+ scene.importScene('rsg/agent/nao/soccer.rsg')
+end
+
+# setup the GameControlServer
+gameControlServer = get($serverPath+'gamecontrol')
+if (gameControlServer != nil)
+ gameControlServer.initControlAspect('GameStateAspect')
+ gameControlServer.initControlAspect('BallStateAspect')
+ gameControlServer.initControlAspect('SoccerRuleAspect')
+ obj = get('/sys/server/gamecontrol/GameStateAspect')
+ if (obj != nil)
+ obj.setTime(0)
+ obj.setScores(0,0)
+ end
+end
+
+# init monitorItems to transmit game state information
+monitorServer = get($serverPath+'monitor')
+if (monitorServer != nil)
+ monitorServer.registerMonitorItem('GameStateItem')
+end
+
+# install the TrainerCommandParser to parse commands received from a
+# monitor client
+sparkRegisterMonitorCmdParser 'TrainerCommandParser'
Added: trunk/rcssserver3d/rcssserver3d/rcsoccersim3d.in
===================================================================
--- trunk/rcssserver3d/rcssserver3d/rcsoccersim3d.in (rev 0)
+++ trunk/rcssserver3d/rcssserver3d/rcsoccersim3d.in 2010-01-10 23:45:10 UTC (rev 140)
@@ -0,0 +1,65 @@
+#! /bin/sh
+
+bindir="@CMAKE_INSTALL_PREFIX@/@BINDIR@"
+libdir="@CMAKE_INSTALL_PREFIX@/@LIBDIR@"
+
+LIBPATH="$libdir/simspark:$libdir/rcssserver3d"
+if [ x"$LIBPATH" != x ] ; then
+ if [ x"$LD_LIBRARY_PATH" = x ] ; then
+ LD_LIBRARY_PATH=$LIBPATH
+ else
+ LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH
+ fi
+ export LD_LIBRARY_PATH
+fi
+
+#--------------------------------------------------
+# option
+#
+
+SERV="$bindir/rcssserver3d"
+if [ ! -f $SERV ]; then
+ echo "Error: $SERV does not exist!"
+ echo ""
+ exit 1
+fi
+
+MON="$bindir/rcssmonitor3d"
+if [ ! -f $MON ]; then
+ echo "Error: $MON does not exist!"
+ echo ""
+ exit 1
+fi
+
+#--------------------------------------------------
+# set handler
+#
+
+trap kill_server INT
+
+#--------------------------------------------------
+# start server
+#
+
+$SERV &
+PID=$!
+
+#--------------------------------------------------
+# kill server
+#
+kill_server()
+{
+ kill -s INT $PID
+ echo ""
+ exit 0
+}
+
+#--------------------------------------------------
+# start monitor
+#
+
+sleep 2
+
+$MON
+
+kill_server
Property changes on: trunk/rcssserver3d/rcssserver3d/rcsoccersim3d.in
___________________________________________________________________
Added: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|