コード例 #1
0
ファイル: plot_drone.py プロジェクト: AndreaCensi/mcdp
def go_plane2():
#     combinations = {
#         "endurance": (np.linspace(5, 120, 10), "minutes"),
#         "extra_payload": (np.linspace(1, 1000, 10), "g"),
#     }
#     
    librarian = get_test_librarian()
    lib = librarian.load_library('mcdp_theory') 
    ndp = lib.load_ndp('drone1_plane2')


    n = 10
    
    def interpolate_endurance(i): 
        assert 0 <= i< n 
        x = np.linspace(5, 60, n)[i]
        return (x, "minutes")
    
    def interpolate_extra_payload(i): 
        assert 0 <= i< n 
        x = np.linspace(1, 500, n)[i]
        return (x, "g")
    
    queries = []
    for i in range(n):
        q = {}
        q['endurance'] = interpolate_endurance(i)
        q['extra_payload'] = interpolate_extra_payload(i)
        queries.append(q)
    
    result_like = dict(total_mass="kg", total_cost="USD")
    data = solve_queries(ndp, queries, result_like, lower=None, upper=None)
    return data
コード例 #2
0
ファイル: plot_drone.py プロジェクト: rusi/mcdp
def go_plane2():
    #     combinations = {
    #         "endurance": (np.linspace(5, 120, 10), "minutes"),
    #         "extra_payload": (np.linspace(1, 1000, 10), "g"),
    #     }
    #
    librarian = get_test_librarian()
    lib = librarian.load_library('mcdp_theory')
    ndp = lib.load_ndp('drone1_plane2')

    n = 10

    def interpolate_endurance(i):
        assert 0 <= i < n
        x = np.linspace(5, 60, n)[i]
        return (x, "minutes")

    def interpolate_extra_payload(i):
        assert 0 <= i < n
        x = np.linspace(1, 500, n)[i]
        return (x, "g")

    queries = []
    for i in range(n):
        q = {}
        q['endurance'] = interpolate_endurance(i)
        q['extra_payload'] = interpolate_extra_payload(i)
        queries.append(q)

    result_like = dict(total_mass="kg", total_cost="USD")
    data = solve_queries(ndp, queries, result_like, lower=None, upper=None)
    return data
コード例 #3
0
ファイル: plot_drone.py プロジェクト: AndreaCensi/mcdp
def go_plane1():
     
    librarian = get_test_librarian()
    lib = librarian.load_library('mcdp_theory') 
    ndp = lib.load_ndp('drone1_plane1')


    n = 10
    
    def interpolate_endurance(i): 
        assert 0 <= i< n 
        x = np.linspace(5, 120, n)[i]
        return (x, "minutes")
    
    def interpolate_missions(i): 
        assert 0 <= i< n 
        x = np.linspace(1, 1000, n)[i]
        return (x, "[]")
    
    queries = []
    for i in range(n):
        q = {}
        q['endurance'] = interpolate_endurance(i)
        q['num_missions'] = interpolate_missions(i)
        queries.append(q)
    
    result_like = dict(total_mass="kg", total_cost="USD")
    data = solve_queries(ndp, queries, result_like, lower=None, upper=None)
    return data
コード例 #4
0
ファイル: plot_drone.py プロジェクト: rusi/mcdp
def go_plane1():

    librarian = get_test_librarian()
    lib = librarian.load_library('mcdp_theory')
    ndp = lib.load_ndp('drone1_plane1')

    n = 10

    def interpolate_endurance(i):
        assert 0 <= i < n
        x = np.linspace(5, 120, n)[i]
        return (x, "minutes")

    def interpolate_missions(i):
        assert 0 <= i < n
        x = np.linspace(1, 1000, n)[i]
        return (x, "[]")

    queries = []
    for i in range(n):
        q = {}
        q['endurance'] = interpolate_endurance(i)
        q['num_missions'] = interpolate_missions(i)
        queries.append(q)

    result_like = dict(total_mass="kg", total_cost="USD")
    data = solve_queries(ndp, queries, result_like, lower=None, upper=None)
    return data
コード例 #5
0
ファイル: plot_actuation.py プロジェクト: AndreaCensi/mcdp
def go_(model_name, queries, result_like, what_to_plot_res, what_to_plot_fun, fn):
    lib = MCDPLibrary()
    lib.add_search_dir('.')
    ndp = lib.load_ndp(model_name)

    data = solve_queries(ndp, queries, result_like)

    r = Report()

    plot_all_directions(r,
                        queries=data['queries'],
                        results=data['results'],
                        what_to_plot_res=what_to_plot_res,
                        what_to_plot_fun=what_to_plot_fun)
    print('writing to %r' % fn)
    r.to_html(fn)
コード例 #6
0
def go_(model_name, queries, result_like, what_to_plot_res, what_to_plot_fun,
        fn):
    lib = MCDPLibrary()
    lib.add_search_dir('.')
    ndp = lib.load_ndp(model_name)

    data = solve_queries(ndp, queries, result_like)

    r = Report()

    plot_all_directions(r,
                        queries=data['queries'],
                        results=data['results'],
                        what_to_plot_res=what_to_plot_res,
                        what_to_plot_fun=what_to_plot_fun)
    print('writing to %r' % fn)
    r.to_html(fn)
コード例 #7
0
def go():
 
    model_name = 'droneC'
    queries = []
    def add(q):
        queries.append(q)

    n = 10
    endurance = np.linspace(1, 20, n)
    payload = np.linspace(5, 50, n)

    for endurance, payload in zip(endurance, payload):
        q = {
            "num_missions": (1000, "[]"),
            "extra_power": (5, "W"),
            "extra_payload": (payload, "g"),
            "endurance": (endurance, "minutes"),
        }
        add(q)

    result_like = dict(total_cost="CHF", total_mass='kg')
    what_to_plot_res = result_like
    what_to_plot_fun = dict(extra_payload="g", endurance="minutes")

    librarian = Librarian()
    librarian.find_libraries('..')
    lib = librarian.load_library('droneC_cost_v1')
    ndp = lib.load_ndp(model_name)

    data = solve_queries(ndp, queries, result_like)

    r = Report()

    plot_all_directions(r,
                        queries=data['queries'],
                        results=data['results'],
                        what_to_plot_res=what_to_plot_res,
                        what_to_plot_fun=what_to_plot_fun)
    fn = 'out/droneC_c1.html'
    print('writing to %r' % fn)
    r.to_html(fn)
コード例 #8
0
ファイル: plot_actuation.py プロジェクト: AndreaCensi/mcdp
def go():
    fn = 'out/actuation_c1.html'
 
    model_name = 'actuation'
    queries = []
    def add(q):
        queries.append(q)

    n = 10
    lifts = np.linspace(0, 10.0, n)

    for lift,  in zip(lifts):
        q = {
            "lift": (lift, "N"),
        }
        add(q)

    result_like = dict(power="W", cost='$')
    
    what_to_plot_res = result_like
    
    what_to_plot_fun = dict(lift="N")


    lib = MCDPLibrary()
    lib.add_search_dir('.')
    ndp = lib.load_ndp(model_name)

    data = solve_queries(ndp, queries, result_like)

    r = Report()

    plot_all_directions(r,
                        queries=data['queries'],
                        results=data['results'],
                        what_to_plot_res=what_to_plot_res,
                        what_to_plot_fun=what_to_plot_fun)
    print('writing to %r' % fn)
    r.to_html(fn)
コード例 #9
0
ファイル: plot_actuation.py プロジェクト: rusi/mcdp
def go():
    fn = 'out/actuation_c1.html'

    model_name = 'actuation'
    queries = []

    def add(q):
        queries.append(q)

    n = 10
    lifts = np.linspace(0, 10.0, n)

    for lift, in zip(lifts):
        q = {
            "lift": (lift, "N"),
        }
        add(q)

    result_like = dict(power="W", cost='$')

    what_to_plot_res = result_like

    what_to_plot_fun = dict(lift="N")

    lib = MCDPLibrary()
    lib.add_search_dir('.')
    ndp = lib.load_ndp(model_name)

    data = solve_queries(ndp, queries, result_like)

    r = Report()

    plot_all_directions(r,
                        queries=data['queries'],
                        results=data['results'],
                        what_to_plot_res=what_to_plot_res,
                        what_to_plot_fun=what_to_plot_fun)
    print('writing to %r' % fn)
    r.to_html(fn)