示例#1
0
 def __init__( self, metalog=None, onlyIFrames=True ):
     if metalog is None:
         self._discovery()
         metalog = MetaLog()
     self.navdata = metalog.createLoggedSocket( "navdata", headerFormat="<BBBI" )
     self.navdata.bind( ('',NAVDATA_PORT) )
     if metalog.replay:
         self.commandSender = CommandSenderReplay(metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" ), 
                 hostPortPair=(HOST, COMMAND_PORT), checkAsserts=metalog.areAssertsEnabled())
     else:
         self.commandSender = CommandSender(metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" ), 
                 hostPortPair=(HOST, COMMAND_PORT))
     self.console = metalog.createLoggedInput( "console", myKbhit ).get
     self.metalog = metalog
     self.buf = ""
     self.videoFrameProcessor = VideoFrames( onlyIFrames=onlyIFrames, verbose=False )
     self.videoCbk = None
     self.videoCbkResults = None
     self.battery = None
     self.flyingState = None
     self.flatTrimCompleted = False
     self.manualControl = False
     self.time = None
     self.altitude = None
     self.position = (0,0,0)
     self.speed = (0,0,0)
     self.positionGPS = None
     self.cameraTilt, self.cameraPan = 0,0
     self.lastImageResult = None
     self.navigateHomeState = None
     self.config()
     self.commandSender.start()
示例#2
0
    def __init__( self, metalog=None, onlyIFrames=True, jpegStream=False, fps = 0 ):
        if metalog is None:
            self._discovery()
            metalog = MetaLog()
        self.navdata = metalog.createLoggedSocket( "navdata", headerFormat="<BBBI" )
        self.navdata.bind( ('',NAVDATA_PORT) )
        if metalog.replay:
            self.commandSender = CommandSenderReplay(metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" ),
                    hostPortPair=(HOST, COMMAND_PORT), checkAsserts=metalog.areAssertsEnabled())
        else:
            self.commandSender = CommandSender(metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" ),
                    hostPortPair=(HOST, COMMAND_PORT))
        self.console = metalog.createLoggedInput( "console", myKbhit ).get
        self.metalog = metalog
        self.buf = ""
        self.jpegStream = jpegStream
        self.fps = fps
        self.videoCbk = None
        self.videoCbkResults = None
        self.battery = None
        self.flyingState = None
        self.flatTrimCompleted = False
        self.manualControl = False
        self.time = None
        self.altitude = None
        self.position = (0,0,0)
        self.speed = (0,0,0)
        self.positionGPS = None
        self.cameraTilt, self.cameraPan = 0,0
        self.lastImageResult = None
        self.navigateHomeState = None
        self.config()
        self.commandSender.start()

        # Video variables
        self.frameWidth = 0
        self.frameHeight = 0
        self.pictureBoolean = False
        self.barcodes = []

        # Sphero tracking variables
        self.findSphero = False
        self.sinceLastSphero = 0
        self.lastFrame = None
        self.thisFrame = None
        self.moveScaler = 0
        self.objectCenterX = 0
        self.objectCenterY = 0
        self.minEdgeVal = 0
        self.maxEdgeVal = 0
        self.minCircleRadius = 0
        self.maxCircleRadius = 0

        if self.jpegStream:
            self.videoFrameProcessor = VideoFrames(onlyIFrames=False, verbose=False)
            self.reader = JpegReader(self, self.fps)
            self.reader.setDaemon(True)
            self.reader.start()
        else:
            self.videoFrameProcessor = VideoFrames(onlyIFrames=onlyIFrames, verbose=False)
示例#3
0
 def __init__( self, metalog=None, onlyIFrames=True ):
     if metalog is None:
         self._discovery()
         metalog = MetaLog()
     self.navdata = metalog.createLoggedSocket( "navdata", headerFormat="<BBBI" )
     self.navdata.bind( ('',NAVDATA_PORT) )
     if metalog.replay:
         self.commandSender = CommandSenderReplay(metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" ), 
                 hostPortPair=(HOST, COMMAND_PORT), checkAsserts=metalog.areAssertsEnabled())
     else:
         self.commandSender = CommandSender(metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" ), 
                 hostPortPair=(HOST, COMMAND_PORT))
     self.console = metalog.createLoggedInput( "console", myKbhit ).get
     self.metalog = metalog
     self.buf = ""
     self.videoFrameProcessor = VideoFrames( onlyIFrames=onlyIFrames, verbose=False )
     self.videoCbk = None
     self.videoCbkResults = None
     self.battery = None
     self.flyingState = None
     self.flatTrimCompleted = False
     self.manualControl = False
     self.time = None
     self.altitude = None
     self.position = (0,0,0)
     self.angle = (0,0,0)
     self.speed = (0,0,0)
     self.positionGPS = None
     self.cameraTilt, self.cameraPan = 0,0
     self.lastImageResult = None
     self.navigateHomeState = None
     self.config()
     self.commandSender.start()
示例#4
0
 def __init__( self, metalog=None ):
     if metalog is None:
         self._discovery()
         metalog = MetaLog()
     self.navdata = metalog.createLoggedSocket( "navdata", headerFormat="<BBBI" )
     self.navdata.bind( ('',NAVDATA_PORT) )
     self.command = metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" )
     self.console = metalog.createLoggedInput( "console", myKbhit ).get
     self.metalog = metalog
     self.buf = ""
     self.battery = None
     self.flyingState = None
     self.flatTrimCompleted = False
     self.manualControl = False
示例#5
0
    def __init__( self, host,navdata_port,speed_limits, metalog=None, onlyIFrames=True):
        self.host = host
        self.navdata_port = navdata_port
        if metalog is None:
            self._discovery()
            metalog = MetaLog()
        self.navdata = metalog.createLoggedSocket( "navdata", headerFormat="<BBBI" )
        self.navdata.bind(('',self.navdata_port))

        if metalog.replay:
            self.commandSender = CommandSenderReplay(metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" ), 
                    hostPortPair=(self.host, COMMAND_PORT), checkAsserts=metalog.areAssertsEnabled())
        else:
            self.commandSender = CommandSender(metalog.createLoggedSocket( "cmd", headerFormat="<BBBI" ), 
                    hostPortPair=(self.host, COMMAND_PORT))
        #self.console = metalog.createLoggedInput( "console", myKbhit ).get #takahashi changed

        self.metalog = metalog
        self.buf = ""
        self.videoFrameProcessor = VideoFrames( onlyIFrames=onlyIFrames, verbose=False )
        self.videoCbk = None
        self.videoCbkResults = None
        self.battery = None
        self.flyingState = None
        self.flatTrimCompleted = False
        self.manualControl = True# takahashi changed
        self.time = None
        self.altitude = None
        self.position = (0,0,0)
        self.speed = (0,0,0)
        self.positionGPS = None
        self.cameraTilt, self.cameraPan = 0,0
        self.lastImageResult = None
        self.navigateHomeState = None
        self.config(speed_limits[0],speed_limits[1])#speed_limits[0] is linear velocity limit, speed_limits[1] is angular velocity limit
        self.commandSender.start()
        
        # takahashi added
        self.roll = 0
        self.pitch = 0
        self.yaw = 0
示例#6
0
 def __init__(self, metalog=None):
     if metalog is None:
         metalog = MetaLog()
     self.soc = metalog.createLoggedSocket("velodyne", headerFormat="<BBBI")
     self.soc.bind( ('',PORT) )
     self.metalog = metalog
     self.buf = ""
     self.time = None
     self.last_blocked = None
     self.dist = np.zeros( (360, NUM_LASERS), dtype=np.uint16)
     self.scan_index = 0
     self.prev_azimuth = None
     self.safe_dist = None
     self.dist_index = None