Skip to content
Snippets Groups Projects
Commit d39a5882 authored by Ugo Albanese's avatar Ugo Albanese
Browse files

Merged in NRRPLT-8342-add-lockstep-support (pull request #141)

[NRRPLT-8342] Add support for EXC <gazeboLockstep> element.

Approved-by: Eloy Retamino
Approved-by: Vahid Zolfaghari
Approved-by: Viktor Vorobev
parent 55d673c2
No related branches found
No related tags found
No related merge requests found
...@@ -114,7 +114,8 @@ class GazeboSimulationAssembly(SimulationAssembly): # pragma: no cover ...@@ -114,7 +114,8 @@ class GazeboSimulationAssembly(SimulationAssembly): # pragma: no cover
self.gzserver.gazebo_died_callback = self._handle_gazebo_shutdown self.gzserver.gazebo_died_callback = self._handle_gazebo_shutdown
# experiment specific gzserver command line arguments # experiment specific gzserver command line arguments
gzserver_args = '--seed {rng_seed} -e {engine} {world_file}'.format( gzserver_args = '{lockstep} --seed {rng_seed} -e {engine} {world_file}'.format(
lockstep='--lockstep' if self.sim_config.gazebo_lockstep else '',
rng_seed=self.rng_seed, engine=self.sim_config.physics_engine, rng_seed=self.rng_seed, engine=self.sim_config.physics_engine,
world_file=self.sim_config.world_model.resource_path.abs_path) world_file=self.sim_config.world_model.resource_path.abs_path)
......
...@@ -173,6 +173,7 @@ class SimConfig(object): ...@@ -173,6 +173,7 @@ class SimConfig(object):
self._rng_seed = params.get('rng_seed', None) self._rng_seed = params.get('rng_seed', None)
self._playback_path = params.get('playback_path', None) self._playback_path = params.get('playback_path', None)
self._gazebo_lockstep = False
self._physics_engine = None self._physics_engine = None
self._gzweb = None self._gzweb = None
...@@ -327,6 +328,11 @@ class SimConfig(object): ...@@ -327,6 +328,11 @@ class SimConfig(object):
# Environment model # Environment model
self.get_world_model() self.get_world_model()
# gazebo's lockstep update feature
self._gazebo_lockstep = (self._exc_dom.gazeboLockstep
if self._exc_dom.gazeboLockstep is not None else False)
logger.info("Gazebo's lockstep mode set to %s", self._gazebo_lockstep)
# physics engine # physics engine
self._physics_engine = (self._exc_dom.physicsEngine self._physics_engine = (self._exc_dom.physicsEngine
if self._exc_dom.physicsEngine is not None else 'ode') if self._exc_dom.physicsEngine is not None else 'ode')
...@@ -556,6 +562,13 @@ class SimConfig(object): ...@@ -556,6 +562,13 @@ class SimConfig(object):
""" """
return self._tfs return self._tfs
@property
def gazebo_lockstep(self):
"""
Gets gazebo_lockstep argument
"""
return self._gazebo_lockstep
@property @property
def physics_engine(self): def physics_engine(self):
""" """
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment