I tried to throttle the joint_state publishing and set its topic as a trigger but then I get an error and NRP crashes.
I did exactly as is shown in the tutorial, as far as I can tell:
@nrp.MapRobotSubscriber("joints_current_sub", Topic('/robot/current_trajectory/joints', sensor_msgs.msg.JointState))
@nrp.Robot2Neuron(triggers=["joints_current_sub"])
def planner(t, ....
The error message looks like this:
2018-09-11 17:52:00,622 [Thread-338 ] [hbp_nrp_cle ] [ERROR] argument of type 'bool' is not iterable
Traceback (most recent call last):
File "/home/jakob/Documents/NRP/CLE/hbp_nrp_cle/hbp_nrp_cle/cle/DeterministicClosedLoopEngine.py", line 248, in __loop
self.run_step(self.timestep)
File "/home/jakob/Documents/NRP/CLE/hbp_nrp_cle/hbp_nrp_cle/cle/DeterministicClosedLoopEngine.py", line 185, in run_step
self.bca.run_step(timestep * 1000.0)
File "/home/jakob/Documents/NRP/CLE/hbp_nrp_cle/hbp_nrp_cle/brainsim/pynn/PyNNControlAdapter.py", line 211, in run_step
self._sim.run(dt)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/pyNN/common/control.py", line 110, in run
return run_until(simulator.state.t + simtime, callbacks)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/pyNN/common/control.py", line 93, in run_until
return simulator.state.t
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/pyNN/nest/simulator.py", line 70, in t
return max(nest.GetKernelStatus('time') - self.dt, 0.0) # note that we always simulate one time step past the requested time
File "/home/jakob/.local/lib/python2.7/site-packages/nest/lib/hl_api_helper.py", line 230, in stack_checker_func
return f(*args, **kwargs)
File "/home/jakob/.local/lib/python2.7/site-packages/nest/lib/hl_api_simulation.py", line 118, in GetKernelStatus
d = dict((k, v) for k, v in status_root.items() if k not in status_subnet)
File "/home/jakob/.local/lib/python2.7/site-packages/nest/lib/hl_api_simulation.py", line 118, in <genexpr>
d = dict((k, v) for k, v in status_root.items() if k not in status_subnet)
TypeError: argument of type 'bool' is not iterable
2018-09-11 17:52:00,640 [Thread-338 ] [hbp_nrp_cles] [ERROR] Error in CLE (General Error): argument of type 'bool' is not iterable
Traceback (most recent call last):
File "/home/jakob/Documents/NRP/CLE/hbp_nrp_cle/hbp_nrp_cle/cle/DeterministicClosedLoopEngine.py", line 248, in __loop
self.run_step(self.timestep)
File "/home/jakob/Documents/NRP/CLE/hbp_nrp_cle/hbp_nrp_cle/cle/DeterministicClosedLoopEngine.py", line 185, in run_step
self.bca.run_step(timestep * 1000.0)
File "/home/jakob/Documents/NRP/CLE/hbp_nrp_cle/hbp_nrp_cle/brainsim/pynn/PyNNControlAdapter.py", line 211, in run_step
self._sim.run(dt)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/pyNN/common/control.py", line 110, in run
return run_until(simulator.state.t + simtime, callbacks)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/pyNN/common/control.py", line 93, in run_until
return simulator.state.t
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/pyNN/nest/simulator.py", line 70, in t
return max(nest.GetKernelStatus('time') - self.dt, 0.0) # note that we always simulate one time step past the requested time
File "/home/jakob/.local/lib/python2.7/site-packages/nest/lib/hl_api_helper.py", line 230, in stack_checker_func
return f(*args, **kwargs)
File "/home/jakob/.local/lib/python2.7/site-packages/nest/lib/hl_api_simulation.py", line 118, in GetKernelStatus
d = dict((k, v) for k, v in status_root.items() if k not in status_subnet)
File "/home/jakob/.local/lib/python2.7/site-packages/nest/lib/hl_api_simulation.py", line 118, in <genexpr>
d = dict((k, v) for k, v in status_root.items() if k not in status_subnet)
TypeError: argument of type 'bool' is not iterable
2018-09-11 17:52:00,641 [Thread-338 ] [transitions.] [INFO] Initiating transition from state started to state halted...
2018-09-11 17:52:00,641 [Thread-338 ] [transitions.] [INFO] Exited state started
2018-09-11 17:52:00,641 [Thread-338 ] [transitions.] [INFO] Entered state halted
2018-09-11 17:52:01,148 [Thread-2 ] [rospy.intern] [INFO] topic[/ros_cle_simulation/cle_error] removing connection to /virtual_coach
2018-09-11 17:52:01,148 [Thread-2 ] [rospy.intern] [INFO] topic[/ros_cle_simulation/status] removing connection to /virtual_coach
2018-09-11 17:52:05,642 [Thread-338 ] [concurrent.f] [ERROR] exception calling callback for <Future at 0x7fb817f7fad0 state=finished raised TypeError>
Traceback (most recent call last):
File "/home/jakob/.local/lib/python2.7/site-packages/concurrent/futures/_base.py", line 331, in _invoke_callbacks
callback(self)
File "/home/jakob/Documents/NRP/ExDBackend/hbp_nrp_cleserver/hbp_nrp_cleserver/server/SimulationServerLifecycle.py", line 120, in __handle_crash
severity=CLEError.SEVERITY_CRITICAL)
File "/home/jakob/Documents/NRP/ExDBackend/hbp_nrp_cleserver/hbp_nrp_cleserver/server/ROSCLEServer.py", line 160, in publish_error
self.lifecycle.failed()
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/transitions/extensions/locking.py", line 22, in trigger
super(LockedEvent, self).trigger(*args, **kwargs)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/transitions/core.py", line 222, in trigger
return self.machine.process(f)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/transitions/extensions/locking.py", line 15, in __call__
return self.func(*args, **kwargs)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/transitions/core.py", line 526, in process
return trigger()
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/transitions/core.py", line 247, in _trigger
if t.execute(event):
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/transitions/core.py", line 151, in execute
machine.callback(func, event_data)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/transitions/extensions/locking.py", line 15, in __call__
return self.func(*args, **kwargs)
File "/home/jakob/.opt/platform_venv/local/lib/python2.7/site-packages/transitions/core.py", line 516, in callback
func(event_data)
File "/home/jakob/Documents/NRP/ExDBackend/hbp_nrp_cleserver/hbp_nrp_cleserver/server/SimulationServerLifecycle.py", line 141, in fail
self.__cle.stop(forced=True)
File "/home/jakob/Documents/NRP/CLE/hbp_nrp_cle/hbp_nrp_cle/cle/DeterministicClosedLoopEngine.py", line 280, in stop
raise Exception("The simulation loop could not be completed")
Exception: The simulation loop could not be completed
2018-09-11 17:52:05,644 [Thread-338 ] [hbp_nrp_cle ] [INFO] Simulation loop ended