def Step(self, settings): if not self.doorOpened: #print(self.arm.get_points(self.arm.get_angles())) settings.positionIterations = 50 settings.velocityIterations = 250 if self.door.joint.angle < -math.pi / 3: self.doorOpened = True print("Door Successfully Opened") Framework.Step(self, settings) self.update_keyboard_angles() self.arm.update_arm_IK(self.arm_speeds[0], self.arm_speeds[1], self.arm_speeds[2], self.arm_speeds[3]) if self.recording: print("recording") self.dataGen.produceAnnotation(self.arm, self.door, self.arm_speeds) if self.reset: print("reset") if self.recording: self.dataGen.closeFile() print("closed file") self.dataGen.newFile() self.__reset() self.reset = False
def Step(self, settings): settings.positionIterations = 50 settings.velocityIterations = 250 if self.door.joint.angle < -math.pi / 3: self.doorOpened = True print("Door Successfully Opened") Framework.Step(self, settings) self.update_keyboard_angles() self.arm.update_arm(target_pose_mode=True) renderer = self.renderer
def Step(self, settings): Framework.Step(self, settings) self.count -= 1 if self.count == 0: return self.world.CreateDynamicBody( position=(0, 10), allowSleep=False, fixtures=b2FixtureDef( density=1.0, shape=b2PolygonShape(box=(0.125, 0.125))), )
def Step(self, settings): Framework.Step(self, settings) if self.go and settings.hz > 0.0: self.time += 1.0 / settings.hz linear_offset = (6 * sin(2.0 * self.time), 8.0 + 4.0 * sin(1.0 * self.time)) angular_offset = 4.0 * self.time self.joint.linearOffset = linear_offset self.joint.angularOffset = angular_offset renderer = self.renderer renderer.DrawPoint(renderer.to_screen( linear_offset), 4, b2Color(0.9, 0.9, 0.9))
def Step(self, settings): Framework.Step(self, settings) # Apply external force # Apply spring force to building 1 x0 = 0 - self.floor[0].position.x x1 = self.floor[1].position.x - self.floor[0].position.x self.floor[0].ApplyForce((spring_k * (x0 + x1), 0), (0, 0), True) xf = self.floor[-2].position.x - self.floor[-1].position.x self.floor[-1].ApplyForce((spring_k * xf, 0), (0, 0), True) for i in range(1, num_of_floors - 1): x_bot = self.floor[i - 1].position.x - self.floor[i].position.x x_top = self.floor[i + 1].position.x - self.floor[i].position.x self.floor[i].ApplyForce((spring_k * (x_bot + x_top), 0), (0, 0), True) # Apply pendulum damping rel_vel = self.pendulum.linearVelocity.x - self.floor[ -1].linearVelocity.x self.pendulum.ApplyForce((-pendulum_damping * rel_vel, 0), (0, 0), True) # Apply spring force to building 2 x0 = self.base2.position.x - self.floor2[0].position.x x1 = self.floor2[1].position.x - self.floor2[0].position.x self.floor2[0].ApplyForce((spring_k * (x0 + x1), 0), (0, 0), True) xf = self.floor2[-2].position.x - self.floor2[-1].position.x self.floor2[-1].ApplyForce((spring_k * xf, 0), (0, 0), True) for i in range(1, num_of_floors - 1): x_bot = self.floor2[i - 1].position.x - self.floor2[i].position.x x_top = self.floor2[i + 1].position.x - self.floor2[i].position.x self.floor2[i].ApplyForce((spring_k * (x_bot + x_top), 0), (0, 0), True) # Logging print(str(self.time) + " " + str(self.floor[-1].position.x), file=open("last_data_point.dat", "w"), flush=True) self.time += 1 / 60
def Step(self, settings): Framework.Step(self, settings) renderer = self.renderer try: poly = b2PolygonShape(vertices=self.verts) except AssertionError as ex: self.Print('b2PolygonShape failed: %s' % ex) else: self.Print('Valid: %s' % poly.valid) renderer.DrawPolygon([renderer.to_screen(v) for v in self.verts], b2Color(0.9, 0.9, 0.9)) for i, v in enumerate(self.verts): renderer.DrawPoint(renderer.to_screen(v), 2.0, b2Color(0.9, 0.5, 0.5)) x, y = renderer.to_screen(v) self.DrawStringAt(x + 0.05, y + 0.05, '%d' % i) if self.auto: self.generate()
def Step(self, settings): Framework.Step(self, settings) blob_step(self.world, self.bodies, self.blob_radius, self.jump, self.move) self.jump = 100
def Step(self, settings): Framework.Step(self, settings) laser_display(self.renderer, self.laser_body, laser_half_width=LASER_HALF_WIDTH)