def __init__(self,pendulum_mass, cart_mass,pendulum_length): self.pendulum_mass = pendulum_mass self.cart_mass=cart_mass self.pendulum_length = pendulum_length self.model = InvertedPendulumModel(self.pendulum_length,self.pendulum_mass,self.cart_mass) mass = cart_mass + pendulum_mass self.force = mass*10 self.radian = 0.0174532925
def set_pendulum_model(self, angular_position): self.pendulumModel = InvertedPendulumModel( pendulum_length=PENDULUM_LENGTH, pendulum_mass=PENDULUM_MASS, cart_mass=CART_MASS) self.pendulumModel.set_state(angular_position=angular_position, angular_velocity=ANGULAR_VELOCITY, cart_position=CART_POSITION, cart_velocity=CART_VELOCITY)
def __init__(self, pendulum_length, pendulum_mass, cart_mass): super(ReinforcedController, self).__init__(pendulum_length, pendulum_mass, cart_mass) self.ranges = self.get_ranges() self.model = InvertedPendulumModel(self.pendulum_length, self.pendulum_mass, self.cart_mass) self.force_granularity = 2 self.environment = CartEnvironment( self.model, *self.ranges, force_granularity=self.force_granularity)
def __create_scene(self): self.pendulumView = PendulumView( self.width(), self.height(), visible_meters=float(self.ui.visibility.text()), length=float(self.ui.pendulumLength.text()), mass=float(self.ui.pendulumMass.text())) self.ui.view.setScene(self.pendulumView) self.pendulumModel = InvertedPendulumModel( pendulum_length=float(self.ui.pendulumLength.text()), pendulum_mass=float(self.ui.pendulumMass.text()), cart_mass=float(self.ui.cartMass.text())) self.pendulumModel.register_observer(self.pendulumView) self.set_pendulum_model()