1. German Larrain
  2. ars


ars / demos / sensors / potential_energy1.py

"""Shows usage of the PotentialEnergy 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.PotentialEnergy(ball_object, self.sim.gravity)'
It is updated in the `on_post_step` method
Sensor measurements can be retrieved at any time

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

from .base import FallingBalls, PrintDataMixin

class PotentialEnergy(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.PotentialEnergy(ball_object, self.sim.gravity)

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