Exemple #1
0
 def __init__(self, name=None):
     SensorCreator.__init__(self, name)
     self.camera = Camera("CameraRobot")
     self.camera.name = "CameraRobot"
     self.append(self.camera)
     self.properties(cam_width = 256, cam_height = 256, cam_focal = 35.0,
                     capturing = True, Vertical_Flip = True)
     # set the frequency to 20 Hz
     self.frequency(20)
     # add toggle capture action (`Space` key)
     bpymorse.add_sensor(type="KEYBOARD")
     obj = bpymorse.get_context_object()
     sensor = obj.game.sensors[-1]
     sensor.key = 'SPACE'
     bpymorse.add_controller(type='LOGIC_AND')
     controller = obj.game.controllers[-1]
     bpymorse.add_actuator(type='PROPERTY')
     actuator = obj.game.actuators[-1]
     actuator.mode = 'TOGGLE'
     actuator.property = 'capturing'
     controller.link(sensor = sensor, actuator = actuator)
     # looking in +X
     SensorCreator.rotate(self, x=math.pi/2, z=math.pi/2)
     # append CameraMesh with its textures
     self.append_meshes(['CameraMesh'], "camera")
     self.rotate(z=math.pi)
Exemple #2
0
 def __init__(self, name=None):
     SensorCreator.__init__(self, name)
     self.camera = Camera("CameraRobot")
     self.camera.name = "CameraRobot"
     self.append(self.camera)
     self.properties(cam_width = 256, cam_height = 256, cam_focal = 35.0,
                     capturing = True, Vertical_Flip = True)
     # set the frequency to 20 Hz
     self.frequency(20)
     # add toggle capture action (`Space` key)
     bpymorse.add_sensor(type="KEYBOARD")
     obj = bpymorse.get_context_object()
     sensor = obj.game.sensors[-1]
     sensor.key = 'SPACE'
     bpymorse.add_controller(type='LOGIC_AND')
     controller = obj.game.controllers[-1]
     bpymorse.add_actuator(type='PROPERTY')
     actuator = obj.game.actuators[-1]
     actuator.mode = 'TOGGLE'
     actuator.property = 'capturing'
     controller.link(sensor = sensor, actuator = actuator)
     # looking in +X
     SensorCreator.rotate(self, x=math.pi/2, z=math.pi/2)
     # append CameraMesh with its textures
     self.mesh = self.append_meshes(['CameraMesh'], "camera")[0]
     self.rotate(z=math.pi)
Exemple #3
0
 def __init__(self, name=None, cclass="VideoCameraClass", \
              cpath="morse/sensors/video_camera", bname = "video_camera"):
     SensorCreator.__init__(self, name, cpath, cclass, bname)
     camera = Camera("CameraRobot")
     camera.name = "CameraRobot"
     self.append(camera)
     self.properties(cam_width = 256, cam_height = 256, cam_focal = 35.0, \
                     capturing = True, Vertical_Flip = True)
     # set the frequency to 3 (20ips for ticrate = 60Hz)
     self.frequency(3)
     # add toggle capture action (`Space` key)
     bpymorse.add_sensor(type="KEYBOARD")
     obj = bpymorse.get_context_object()
     sensor = obj.game.sensors[-1]
     sensor.key = 'SPACE'
     bpymorse.add_controller(type='LOGIC_AND')
     controller = obj.game.controllers[-1]
     bpymorse.add_actuator(type='PROPERTY')
     actuator = obj.game.actuators[-1]
     actuator.mode = 'TOGGLE'
     actuator.property = 'capturing'
     controller.link(sensor = sensor, actuator = actuator)
     # looking in +x
     self.rotate(x=math.pi/2, z=-math.pi/2)
     # append CameraMesh with its textures
     imported_objects = self.append_meshes(['CameraMesh'], "video_camera")
     # TODO fix the CameraMesh location and rotation in video_camera.blend
     camera_mesh = imported_objects[0]
     camera_mesh.rotation_euler = (math.pi/2, -math.pi/2, 0)
     camera_mesh.location = (0, 0, 0.015)
Exemple #4
0
 def __init__(self, name=None):
     DepthCamera.__init__(self, name)
     # Always (MORSE_LOGIC) - And - Motion (rotation z: 0.017453)
     morselogic = [sensor for sensor in self._bpy_object.game.sensors \
                   if sensor.name.startswith('MORSE_LOGIC')]
     sensor = morselogic[0]
     bpymorse.add_controller(type='LOGIC_AND')
     controller = self._bpy_object.game.controllers[-1]
     # Motion (rotation z: 0.017453)
     bpymorse.add_actuator(type='MOTION', name='MORSE_ROTATE')
     actuator = self._bpy_object.game.actuators[-1]
     actuator.offset_rotation.y = self.camera._bpy_object.data.angle  # FOV
     controller.link(sensor=sensor, actuator=actuator)
Exemple #5
0
 def __init__(self, name=None):
     DepthCamera.__init__(self, name)
     # Always (MORSE_LOGIC) - And - Motion (rotation z: 0.017453)
     morselogic = [sensor for sensor in self._bpy_object.game.sensors \
                   if sensor.name.startswith('MORSE_LOGIC')]
     sensor = morselogic[0]
     bpymorse.add_controller(type='LOGIC_AND')
     controller = self._bpy_object.game.controllers[-1]
     # Motion (rotation z: 0.017453)
     bpymorse.add_actuator(type='MOTION', name='MORSE_ROTATE')
     actuator = self._bpy_object.game.actuators[-1]
     actuator.offset_rotation.y = self.camera._bpy_object.data.angle # FOV
     controller.link(sensor = sensor, actuator = actuator)
Exemple #6
0
 def __init__(self, name=None):
     SensorCreator.__init__(self, name, "morse/sensors/velodyne", \
                            "VelodyneClass", "velodyne")
     # set components-specific properties
     self.properties(Visible_arc = True, laser_range = 50.0, \
                     scan_window = 31.500, resolution = 0.5)
     # Add Always (use_true_level) - And - Motion (rotation z: 0.017453)
     bpymorse.add_sensor(type='ALWAYS')
     obj = bpymorse.get_context_object()
     sensor = obj.game.sensors[-1]
     sensor.use_pulse_true_level = True
     bpymorse.add_controller(type='LOGIC_AND')
     controller = obj.game.controllers[-1]
     # Motion (rotation z: 0.017453)
     bpymorse.add_actuator(type='MOTION')
     actuator = obj.game.actuators[-1]
     actuator.offset_rotation.z = math.radians(1)
     controller.link(sensor = sensor, actuator = actuator)
     # append velodyne mesh, from MORSE_COMPONENTS/sensors/velodyne.blend
     imported_objects = self.append_meshes(['VelodyneMesh', 'Arc_31'])
     # TODO fix the VelodyneMesh location in velodyne.blend (z=1.2m!)
     velodyne_mesh = self.get_child('VelodyneMesh', imported_objects)
     velodyne_mesh.location.z = 0