コード例 #1
0
    oData['Surf'][
        'posTE1Sym'] = oData['Surf']['posTE1L'] + oData['Surf']['posTE1R']
    oData['Surf'][
        'posTE2Sym'] = oData['Surf']['posTE2L'] + oData['Surf']['posTE2R']
    oData['Surf'][
        'posTE3Sym'] = oData['Surf']['posTE3L'] + oData['Surf']['posTE3R']
    oData['Surf'][
        'posTE4Sym'] = oData['Surf']['posTE4L'] + oData['Surf']['posTE4R']
    oData['Surf'][
        'posTE5Sym'] = oData['Surf']['posTE5L'] + oData['Surf']['posTE5R']
    oData['Surf'][
        'posLESym'] = oData['Surf']['posLEL'] + oData['Surf']['posLER']

    # Segments
    seg = OpenData.Segment(oData, rtsmSeg['seg'])
    oDataSegs.append(seg)

    #    plt.plot(seg['time_s'], seg['Excitation']['cmdTE1L_rad'], seg['time_s'], seg['Excitation']['cmdTE2L_rad'], seg['time_s'], seg['measBend'], seg['time_s'], seg['measPitch'])
    plt.plot(seg['time_s'], seg['measPitch'], seg['time_s'], seg['measBend'])

#%%

sigInList = ['cmdTE1Sym_rad', 'cmdTE3Sym_rad', 'cmdTE5Sym_rad']
#sigInList = ['cmdTE2Sym_rad', 'cmdTE4Sym_rad', 'cmdLESym_rad']
#sigInList = ['posTE1Sym', 'posTE3Sym', 'posTE5Sym']
#sigInList = ['cmdRoll_rps', 'cmdPitch_rps', 'cmdBend_nd']

sigOutList = ['measPitch', 'measBend']

freqExc_rps = []
コード例 #2
0
for flt in fileList.keys():
    fileLog = fileList[flt]['log']
    fileConfig = fileList[flt]['config']
    fileDef = fileList[flt]['def']

    fltDef = Loader.JsonRead(fileDef)

    for testPt in fltDef['Test-Points']:
        if testPt['Excitation'] == ExcName:

            # Load Flight Log
            oData, h5Data = Loader.Log_RAPTRS(fileLog, fileConfig)
            t0 = testPt['time_us'][0] * 1e-6
            tf = t0 + (2 * np.pi) + 2.0

            ODataSeg = OpenData.Segment(oData, ('time_s', [t0, tf]))
            oDataList.append(ODataSeg)

            seg = {
                'flt': flt,
                'seg': ('time_us', testPt['time_us']),
                'Desc': '{:.2f}'.format(ODataSeg['vIas_mps'].mean()) + ' m/s'
            }

            segList.append(seg)

# Add Description to each segment
#segList =
#    [{'flt': 'FLT03', 'seg': ('time_us', [645277887, 669278251]), 'Desc': '23.54 m/s'},
#     {'flt': 'FLT03', 'seg': ('time_us', [828338096, 839997973]), 'Desc': '19.78 m/s'},
#     {'flt': 'FLT04', 'seg': ('time_us', [872601981, 882883356]), 'Desc': '25.76 m/s'},
コード例 #3
0
#windSegList = [
#        {'flt': 'FLT03', 'seg': ('time_us', [610000000, 741298701])},
#        {'flt': 'FLT03', 'seg': ('time_us', [839997973, 925000000])},
#        {'flt': 'FLT04', 'seg': ('time_us', [940469572, 957651007])}
#    ]

oDataWindList = []
for windSeg in windSegList:
    fltNum = windSeg['flt']

    fileLog = fileList[fltNum]['log']
    fileConfig = fileList[fltNum]['config']

    oData, h5Data = Loader.Log_RAPTRS(fileLog, fileConfig)
    oData = OpenData.Decimate(oData, 10)
    oDataWindList.append(OpenData.Segment(oData, windSeg['seg']))

fig, ax = plt.subplots(nrows=2)
for oDataWind in oDataWindList:

    latGps_deg = oDataWind['rGps_D_ddm'][0]
    lonGps_deg = oDataWind['rGps_D_ddm'][1]
    latB_deg = oDataWind['rB_D_ddm'][0]
    lonB_deg = oDataWind['rB_D_ddm'][1]
    ax[0].plot(lonGps_deg, latGps_deg, '.', label='GPS')
    #    ax[0].plot(lonB_deg, latB_deg, label='Ekf')
    ax[0].grid()
    ax[1].plot(oDataWind['time_s'], oDataWind['vIas_mps'])
    #    ax[1].plot(oDataWind['time_s'], oDataWind['sB_L_rad'][0]*180.0/np.pi)
    ax[1].grid()
コード例 #4
0
    h5Data = Loader.Load_h5(fileLog)  # RAPTRS log data as hdf5
    sysConfig = Loader.JsonRead(fileConfig)
    oData = Loader.OpenData_RAPTRS(h5Data, sysConfig)

    oData['cmdRoll_FF'] = h5Data['Control']['cmdRoll_pidFF']
    oData['cmdRoll_FB'] = h5Data['Control']['cmdRoll_pidFB']
    oData['cmdPitch_FF'] = h5Data['Control']['cmdPitch_pidFF']
    oData['cmdPitch_FB'] = h5Data['Control']['cmdPitch_pidFB']
    oData['cmdYaw_FF'] = h5Data['Control']['refPsi_rad']
    oData['cmdYaw_FB'] = h5Data['Control']['cmdYaw_damp_rps']

    # Segments
    rtsmSeg['seg'][1][0] += 1e6
    rtsmSeg['seg'][1][1] += -1e6 + 50e3

    oDataSegs.append(OpenData.Segment(oData, rtsmSeg['seg']))

#%%

sigExcList = ['cmdRoll_rps', 'cmdPitch_rps', 'cmdYaw_rps']
sigFbList = ['cmdRoll_FB', 'cmdPitch_FB', 'cmdYaw_FB']
sigFfList = ['cmdRoll_FF', 'cmdPitch_FF', 'cmdYaw_FF']
#sigSensList = ['wB_I_rps', 'cmdPitch_FF', 'cmdYaw_FF']

freqExc_rps = []
freqExc_rps.append(np.array(
    sysConfig['Excitation']['OMS_RTSM_1']['Frequency']))
freqExc_rps.append(np.array(
    sysConfig['Excitation']['OMS_RTSM_2']['Frequency']))
freqExc_rps.append(np.array(
    sysConfig['Excitation']['OMS_RTSM_3']['Frequency']))
コード例 #5
0
pathBase = os.path.join('/home', 'rega0051', 'FlightArchive')
ac = 'Huginn'
flt = 'FLT03'

fileLog = os.path.join(pathBase, ac, ac + flt, ac + flt + '.h5')
fileTestDef = os.path.join(pathBase, ac, ac + flt, ac.lower() + '_def.json')
fileSysConfig = os.path.join(pathBase, ac, ac + flt, ac.lower() + '.json')

#%%
# Read in raw h5 data into dictionary and data
oData, h5Data = Loader.Log_RAPTRS(fileLog, fileSysConfig)

# Plot Overview of flight
#oData = OpenData.Segment(oData, ('time_s', [950, 970]))
OpenData.PlotOverview(oData)

#%% Find Excitation Times
excList = OpenData.FindExcite(oData)
segList = []
print('\n\nFlight Excitation Times:\n')
for iExc in range(0, len(excList)):
    print('Excitiation: ', excList[iExc][0], ', Time: [', excList[iExc][1][0],
          ',', excList[iExc][1][1], ']')

    segList.append(('time_us', excList[iExc][1]))

oDataExc = OpenData.Segment(oData, segList)
#OpenData.PlotOverview(oDataExc[0])

#%% Save _init.json file