ars / demos / sensors /

Full commit
"""Shows usage of the GPS sensor, with the FallingBalls program.
Sensor data is stored in a queue, which is retrieved after the simulation ends
(but it can be accessed at any time).

Sensor is created in the `create_sim_objects` method.
	'self.sensor = sensors.GPS(ball_object)'
It is updated in the `on_post_step` method
Sensor measurements can be retrieved at any time

from import dispatcher
from ars.model.robot import sensors
from ars.model.simulator import signals

from .base import FallingBalls, PrintDataMixin

class GPSSensor(FallingBalls, PrintDataMixin):

	def __init__(self):
		dispatcher.connect(self.on_post_step, signals.SIM_POST_STEP)

	def create_sim_objects(self):
		ball_object = self.sim.get_object(self.ball1)
		self.sensor = sensors.GPS(ball_object)

	def on_post_step(self):
			time = self.sim.sim_time
		except Exception as e:
			print('Exception when executing on_post_step: %s' % str(e))