Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Опис параметрів моделі

Читайте также:
  1. Етапи і моделі стандартизації ІТ
  2. Інтерфейси Еталонної моделі
  3. Лттық экономиканы реттеудің кейнстік моделі.
  4. Моделі демократизації
  5. МОДЕЛІ МАСОВОЇ КОМУНІКАЦІЇ
  6. Моделі ринкової економіки та переходу до неї
  7. Моделі соціальної політики в країнах Заходу

 

Опис параметра моделі Величина / од. виміри
Аеродинамічні довідкові параметри
Середня аеродинамічна хорда крила, ba 0.189941, м
Розмах крила, l 2.8956, м
Площа крила, S 0.55, м2
Точка прикладення аеродинамічної сили, rAC [0.1425; 0; 0], м
Аеродинамічні коефіцієнти
Коефіцієнт лобового опору
Мінімальний лобовий опір 0.0434
Похідна по управлінню креном(елерони) 0.0302
Похідна по управлінню тангажем(кермо висоти) 0.0135
Похідна по управлінню підйомом(закрилки) 0.1467
Похідна по управлінню рисканням(кермо напряму) 0.0303
Похідна по числу Маха  
Коефіцієнт Освальда, e 0.75
Коефіцієнт підйому
Коефіцієнт підйому при нульовому куті тангажа -0.23
Похідна першого порядку по куту атаки -5.6106
Похідна по управлінню підйомом(закрилки) -0.74
Похідна по управлінню тангажем(кермо висоти) -0.13
Похідна другого порядку по куту атаки -1.9724
Похідна по кутовій швидкості тангажа -7.9543
Похідна по числу Маха  
Коефіцієнт бічної сили
Похідна по куту ковзання -0.83
Опис параметра моделі Величина/од. виміру
Похідна по управлінню креном(елерони) -0.075
Похідна по управлінню рисканням(кермо напряму) 0.1914
Похідна по кутовій швидкості крену  
Похідна по кутовій швидкості рискання  
Похідна по числу Маха  

 

Коефіцієнт моменту крену
Похідна першого порядку по куту ковзання -0.13
Похідна по управлінню креном(елерони) -0.1695
Похідна по управлінню рисканням(кермо напряму) 0.0024
Похідна по кутовій швидкості крену -0.5051
Похідна по кутовій швидкості рискання 0.2519
Похідна по числу Маха  
Коефіцієнт моменту рискання
Похідна першого порядку по куту ковзання -0.0726
Похідна по управлінню креном(елерони) -0.0108
Похідна по управлінню рисканням(кермо напряму) 0.0693
Похідна по кутовій швидкості крену 0.069
Похідна по кутовій швидкості рискання 0.0946
Похідна по числу Маха  
Коефіцієнт моменту тангажа
Коефіцієнт підйому при нульовому вугіллі тангажа 0.135
Похідна першого порядку по куту атаки -2.7397
Похідна по управлінню підйомом(закрилки) 0.0467
Похідна по управлінню тангажем(кермо висоти) -0.9918
Похідна другого порядку по куту атаки -10.3796
Похідна по кутовій швидкості тангажа -38.2067
Похідна по числу Маха  
Інерція
Маса літака при порожніх баках, mempty 8.5, кг
Маса літака при повних баках, mgross 13.5, кг
Положення центру мас при порожніх баках, CGempy [0.156; -0.079;0], м
Опис параметра моделі Величина,од. виміру
Положення центру мас при повних баках, Cggross [0.159; -0.090;0], м
Моменти інерції при порожніх баках, Jempy [0.7795; 1.752; 1.122; 0.1211], кг м2
Моменти інерції при повних баках, Jgross [0.8244; 1.759; 1.135; 0.1204], кг м2

Параметри двигуна

Двигун
Точка прикладення сили тяги двигуна, rPC [0; 0; 0], м
Радіус пропелера, Rprop 0.254, м
Момент інерції пропелера, Jprop 0.002, кг м2
Момент інерції валу двигуна, Jeng 0.001, кг м2
Запалення, ign  
Інші параметри
Число пі 3.14
Радіус екватора 6378137, м
Перша ексцентричність 0.081819191
Прискорення вільного падіння на екваторі 9.780327 м/c2
Гравітаційна постійна 0.00193185
Тиск на рівні моря 102300, Па
Температура на рівні моря 291.15, К
Початкові значення
Початкове положення в просторі по OXg 0, м
Початкове положення в просторі по OYg 1000, м
Початкове положення в просторі по OZg 0, м
Початкова швидкість по OX 25, м/c
Початкова швидкість по OY 0, м/c
Початкова швидкість по OZ 0, м/c
Початкове завантаження палива, fl 2, кг

 


Додаток Б

 

 

Опис змінних

 

Опис змінної Одиниці виміру Позначення у VisSim Призначення
[радіан] alpha Кут атаки
[радіан /c] dotalpha Похідна по куту атаки
[радіан] beta Кут ковзання
[радіан /c] dotbeta Похідна по куту ковзання
[радіан] gamma Кут крену
[радіан] da Відхилення елеронів
[радіан] de Відхилення керма висоти
[радіан] df Відхилення закрилок
[радіан] dr Відхилення керма напряму
- dthr Нормований показник відхилення ручки управління тягою двигуна
- e Перша ексцентричність
- pi Число пі
[кг/м3] rho Щільність повітря
[радіан] psi Кут рискання
[радіан] - Кут нахилу траєкторії
[радіан] theta Кут тангажа
[з] - Постійна часу приводу
[радіан /c] - Вектор кутових швидкостей
[радіан /c] wx Кутова швидкість крену
[радіан /c] wy Кутова швидкість рискання
[радіан /c] wz Кутова швидкість тангажа
Опис змінної Одиниці виміру Позначення у VisSim Призначення
[радіан /c] wy _ wind Кутова швидкість БПЛА обумовлена турбулентністю
[радіан/c] wz _ wind Кутова швидкість БПЛА обумовлена турбулентністю
- - Випадковий сигнал з нормальним розподілом
- - Вектор інтенсивності фільтрів турбулентності
[радіан/c] Omega Кутова швидкість обертання пропелера
[об/c] - Кутова швидкість обертання пропелера
[радіан/c2] - Кутове прискорення обертання пропелера
A [м/c2] - Вектор прискорень в пов'язаній СК
[м/c2] aturb Вектор вітрових турбулентних прискорень в пов'язаній СК
[м/c2] - Вектор вітрових прискорень в пов'язаній СК
[м/c2] - Вектор вітрових фонових прискорень в пов'язаній СК
ba [м] ba Середня аеродинамічна хорда крила
- Cx0 Мінімальний лобовий опір
- cxda Похідна по управлінню креном(елерони)
- cxde Похідна по управлінню тангажем(кермо висоти)
- cxdf Похідна по управлінню підйомом(закрилки)
- cxdr Похідна по управлінню рисканням(кермо напряму)
- cxM Похідна по числу Маха
- cy0 Коефіцієнт підйому при нульовому куті Тангажа
- cyalpha Похідна першого порядку по куту атаки
Опис змінної Одиниці виміру Позначення у VisSim Призначення
- cyDalpha Похідна другого порядку по куту атаки
- cyde Похідна по управлінню тангажем(кермо висоти)
- cydf Похідна по управлінню підйомом(закрилки)
- cywz Похідна по кутовій швидкості тангажа
- cyM Похідна по числу Маха
- czbeta Похідна по куту ковзання
- czda Похідна по управлінню креном(елерони)
- czdr Похідна по управлінню рисканням(кермо напряму)
- czwx Похідна по кутовій швидкості крену
- czwy Похідна по кутовій швидкості рискання
- czM Похідна по числу Маха
E - osw Коефіцієнт Освальда
Fl [кг] FuelLoad Початкове завантаження палива
G [м/с2] g Прискорення вільного падіння
[м/с2] gWGS0 Прискорення вільного падіння на екваторі
- gWGS1 Гравітаційна постійна
ign - ignition Запалення
m [кг] m Маса БПЛА
mempty [кг] mempty Маса БПЛА при порожніх баках
mempty [кг] mgross Маса БПЛА при повних баках
- mxbeta Похідна першого порядку по куту ковзання
- mxda Похідна по управлінню креном(елерони)
- mxdr Похідна по управлінню рисканням(кермо напряму)
- mxwx Похідна по кутовій швидкості крену
- mxwy Похідна по кутовій швидкості рискання
Опис змінної Одиниці виміру Позначення у VisSim Призначення
- mxM Похідна по числу Маха
- mybeta Похідна першого порядку по куту ковзання
- myda Похідна по управлінню креном(елерони)
- mydr Похідна по управлінню рисканням(кермо напряму)
- mywx Похідна по кутовій швидкості крену
- mywy Похідна по кутовій швидкості рискання
- myM Похідна по числу Маха
- mz0 Коефіцієнт підйому при нульовому куті Тангажа
- mzalpha Похідна першого порядку по куту атаки
- mzDalpha Похідна другого порядку по куту атаки
- mzdf Похідна по управлінню підйомом(закрилки)
- mzde Похідна по управлінню тангажем(кермо висоти)
- mzwz Похідна по кутовій швидкості тангажа
- mzM Похідна по числу Маха  
L [м] l Розмах крила  
P [Па] p Тиск на поточній висоті  
[Па] psl Тиск на рівні моря  
Pd [грам/годину] FuelFlow Витрата палива на рівні моря  
power [Вт] - Потужність двигуна на рівні моря  
Q [кг/м с2] q Швидкісний натиск  
rAC [м] rAC Точка прикладення аеродинамічної сили  
rCG [м] rCG Центр тяжіння БПЛА  
rPC [м] rHub Точка прикладення сили тяги двигуна  
xg [м] x Поточне положення ЛА в нормальній СК по Oxg  
Опис змінної Одиниці виміру Позначення у VisSim Призначення  
zg [м] z Поточне положення ЛА в нормальній СК по Ozg  
CP - Cp Коефіцієнт тяги  
CT - Ct Коефіцієнт потужності  
CGempy [м] CGempty Положення центру мас при порожніх баках  
CGgross [м] CGgross Положення центру мас при повних баках  
- - Матриця переходу від нормальної до пов'язаної СК  
- Dcb Матриця переходу від пов'язаної до нормальної СК  
- Dck Матриця переходу від нормальної до швидкісної СК  
- - Матриця переходу від нормальної до траєкторної СК  
[Н] F Рівнодійний вектор сил в пов'язаній СК  
[Н] - Вектор сили тяжіння в пов'язаній СК  
[Н] G Вектор сили тяжіння в нормальній СК  
Hg [м] y Поточне положення ЛА в нормальній СК по Oyg  
[кг м2] J Матриця моментів інерції  
- - Коефіцієнт, що характеризує режим роботи гвинта  
Jempy [кг м2] Jempty Моменти інерції при порожніх баках  
Jeng [кг м2] Jeng Момент інерції двигуна  
Jgross [кг м2] Jgross Моменти інерції при порожніх баках  
Jprop [кг м2] Jprop Момент інерції пропелера  
Jx [кг м2] Jx Момент інерції по OX  
Jxy [кг м2] Jxy Момент інерції по OXY  
Jy [кг м2] Jy Момент інерції по OY  
Jz [кг м2] Jz Момент інерції по OZ  
Опис змінної Одиниці виміру Позначення у VisSim Призначення  
[м] Lf Вектор опорної відстані до фільтру  
Lat [град] Lat Поточна широта  
Lon [град] Lon Поточна довгота  
M [Н м] - Рівнодійний вектор моментів в пов'язаній СК  
M - M Число маху  
Maero [Н м] Maero Вектор аеродинамічних моментів  
Mprop [Н м] Mprop Вектор гіроскопічних моментів двигуна  
P [Н] P Вектор сили тяги двигуна  
[грам/годину] - Всмоктування палива  
[грам/годину] FuelFlow Витрата палива  
R [Н] - Вектор аеродинамічних сил  
[м] Requiv Еквівалентний радіус Землі  
[м] - Радіус меридіана;  
[м] - Нормальний радіус Землі  
S [м2] S Площа крила  
T [До] T Температура на поточній висоті  
TSL [До] Tsl Температура на рівні моря висоті  
V [м/c] V Вектор швидкостей в пов'язаній СК  
V [м/c] absV Модуль вектору швидкостей в швидкісній СК  
VLat [м/c] - Швидкість по широті  
VLon [м/c] - Швидкість по довготі  
Vsnd [м/c] Vsnd Швидкість звуку на поточній висоті  
[м/c] Vturb Швидкість турбулентності  
[м/c] Vwind Швидкість вітру  
[м/c] Vwind0 Швидкість постійного фонового вітру  
Vx [м/c] Vx Швидкість по осі OX в пов'язаній СК  
Vy [м/c] Vy Швидкість по осі OY в пов'язаній СК  
Vz [м/c] Vz Швидкість по осі OZ в пов'язаній СК  

 

Додаток В

Файл підтримки зв’язку

<input>

<line_separator>newline</line_separator>

<var_separator>;</var_separator>

<chunk>

<name>z-offset-m</name>

<type>float</type>

<node>/sim/current-view/z-offset-m</node>

</chunk>

<chunk>

<name>y-offset-m</name>

<type>float</type>

<node>/sim/current-view/y-offset-m</node>

</chunk>

<chunk>

<name>x-offset-m</name>

<type>float</type>

<node>/sim/current-view/x-offset-m</node>

</chunk>

<chunk>

<name>goal-heading-offset-deg</name>

<type>float</type>

<node>/sim/current-view/goal-heading-offset-deg</node>

</chunk>

<chunk>

<name>goal-pitch-offset-deg</name>

<type>float</type>

<node>/sim/current-view/goal-pitch-offset-deg</node>

</chunk>

<chunk>

<name>goal-roll-offset-deg</name>

<type>float</type>

<node>/sim/current-view/goal-roll-offset-deg</node>

</chunk>

</input>


Додаток Г

Програмна реалізація системи управління

import javax.swing.*;  
  import javax.swing.event.TableModelListener;
  import javax.swing.table.AbstractTableModel;
  import javax.swing.table.DefaultTableCellRenderer;
  import java.awt.*;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.text.SimpleDateFormat;
  import java.util.ArrayList;
   
  public class DronePanel extends WindowPanel {
  private Drone drone;
  private JLabel title;
  private JTable stateTable;
  private DroneStatesModel stateModel;
  private JScrollPane scrollPane;
  private JScrollBar vertical;
  private JPanel mainPanel;
  private JPanel sendPanel;
   
  private MainWindow mainWindow;
   
  public DronePanel(final Manager manager, JFrame frame, final Drone drone, final MainWindow mainWindow) {
  super(manager, frame);
  this.drone = drone;
  this.mainWindow = mainWindow;
  setLayout(new BorderLayout());
   
  JButton back = new JButton("Назад");
  back.addActionListener(new ActionListener() {
  @Override
  public void actionPerformed(ActionEvent e) {
  mainWindow.setDronesTablePanel();
  }
  });
  title = new JLabel("Мониторинг БПЛА#" + drone.getId(), SwingConstants.CENTER);
  title.setFont(new Font("Arial", Font.BOLD, 14));
  add(BorderLayout.NORTH, title);
  add(BorderLayout.SOUTH, back);
   
  stateModel = new DroneStatesModel(this.drone.getDroneStates());
  stateTable = new JTable(stateModel);
  stateTable.setRowHeight(25);
  DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
  centerRenderer.setHorizontalAlignment(SwingConstants.CENTER);
  stateTable.getColumnModel().getColumn(0).setCellRenderer(centerRenderer);
  stateTable.getColumnModel().getColumn(1).setCellRenderer(centerRenderer);
  stateTable.getColumnModel().getColumn(2).setCellRenderer(centerRenderer);
  stateTable.getColumnModel().getColumn(3).setCellRenderer(centerRenderer);
  stateTable.getColumnModel().getColumn(4).setCellRenderer(centerRenderer);
  scrollPane = new JScrollPane(stateTable);
  vertical = scrollPane.getVerticalScrollBar();
  vertical.setValue(vertical.getMaximum());
   
  mainPanel = new JPanel(new BorderLayout());
  mainPanel.add(BorderLayout.CENTER, scrollPane);
  sendPanel = new JPanel();
  JLabel sendCmdLabel = new JLabel("CMD: ");
  final JTextField sendCmdField = new JTextField(10);
  JLabel sendValueLabel = new JLabel("VAL: ");
  final JTextField sendValueField = new JTextField(10);
  JButton sendButton = new JButton("Отправить");
  sendButton.addActionListener(new ActionListener() {
  @Override
  public void actionPerformed(ActionEvent e) {
  // DID=1;CMD=1;VAL=0
  String sendStr = "DID=" + drone.getId() + ";CMD=" + sendCmdField.getText() + ";VAL=" + sendValueField.getText();
  sendCmdField.setText("");
  sendValueField.setText("");
  try {
  manager.getBs().getPort().write(sendStr);
  System.out.println(sendStr);
  } catch (NullPointerException ex) {
  }
  }
  });
  sendPanel.add(sendCmdLabel);
  sendPanel.add(sendCmdField);
  sendPanel.add(sendValueLabel);
  sendPanel.add(sendValueField);
  sendPanel.add(sendButton);
  add(BorderLayout.CENTER, mainPanel);
  mainPanel.add(BorderLayout.SOUTH, sendPanel);
  }
   
  @Override
  public void redraw() {
  stateTable.repaint();
  scrollPane.getViewport().revalidate();
  vertical.setValue(vertical.getMaximum());
  }
   
  private class DroneStatesModel extends AbstractTableModel {
  private ArrayList<DroneState> droneStates;
   
  public DroneStatesModel(ArrayList<DroneState> droneStates) {
  this.droneStates = droneStates;
  }
   
  @Override
  public int getRowCount() {
  return droneStates.size();
  }
   
  @Override
  public int getColumnCount() {
  return 5;
  }
   
  @Override
  public String getColumnName(int columnIndex) {
  switch (columnIndex) {
  case 0:
  return "Time";
   
  case 1:
  return "Latitude";
   
  case 2:
  return "Longitude";
   
  case 3:
  return "Состояние";
   
  case 4:
  return "Задание";
  }
  return null;
  }
   
  @Override
  public Class<?> getColumnClass(int columnIndex) {
  return String.class;
  }
   
  @Override
  public boolean isCellEditable(int rowIndex, int columnIndex) {
  return false;
  }
   
  @Override
  public Object getValueAt(int rowIndex, int columnIndex) {
  DroneState droneState = droneStates.get(rowIndex);
  switch (columnIndex) {
  case 0:
  SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM HH:mm:ss");
  return dateFormat.format(droneState.getDate());
   
  case 1:
  return droneState.getLatitude();
   
  case 2:
  return droneState.getLongitude();
   
  case 3:
  return droneState.getState();
   
  case 4:
  return droneState.getJob();
  }
  return null;
  }
   
  @Override
  public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
   
  }
   
  @Override
  public void addTableModelListener(TableModelListener l) {
   
  }
   
  @Override
  public void removeTableModelListener(TableModelListener l) {
   
  }
  }
  }
public class ManagerGUI extends JFrame implements DronesUpdateObserver {
  private Manager manager;
  private MainWindow mainWindow;
  private JLabel statusLabel;
   
  public final static String TITLE = "Manager";
  public final static int WIDTH = 930;
  public final static int HEIGHT = 600;
   
  public ManagerGUI() {
  manager = new Manager();
  manager.getBs().addDronesUpdateListener(this);
  statusLabel = new JLabel(" Последнее обновление:");
  Font font = new Font("Arial", Font.BOLD, 14);
  statusLabel.setFont(font);
   
  setMenu();
  setTitle(TITLE);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setMinimumSize(new Dimension(WIDTH, HEIGHT));
  setBounds(300, 300, WIDTH, HEIGHT);
  setVisible(true);
   
  mainWindow = new MainWindow(manager, this);
  add(BorderLayout.CENTER, mainWindow);
  add(BorderLayout.SOUTH, statusLabel);
  }
   
  private void setMenu() {
  JMenuBar menuBar = new JMenuBar();
  JMenu menuSettings = new JMenu("Настройка");
  JMenu menuCom = new JMenu("COM порт");
  JMenuItem menuComClose = new JMenuItem("Закрыть порт");
  menuSettings.add(menuCom);
  menuSettings.add(menuComClose);
  menuBar.add(menuSettings);
   
  menuComClose.addActionListener(new ActionListener() {
  @Override
  public void actionPerformed(ActionEvent e) {
  try {
  manager.getBs().closeComPort();
  System.out.println("Close connection.");
  } catch (NullPointerException ex) {
  // TODO диалоговое окно
  System.out.println("Сначала откройте соединение");
  }
  }
  });
   
  final String[] allPorts = SerialPortList.getPortNames();
  for (int i = 0; i < allPorts.length; i++) {
  JMenuItem menuPort = new JMenuItem(allPorts[i]);
  menuCom.add(menuPort);
  menuPort.addActionListener(new ActionListener() {
  @Override
  public void actionPerformed(ActionEvent e) {
  manager.getBs().setComPort(e.getActionCommand());
  manager.getBs().getPort().addComListener(mainWindow.getTerminalPanel());
  }
  });
  }
  this.setJMenuBar(menuBar);
  }
   
  @Override
  public void onDronesUpdate() {
  mainWindow.redraw();
  SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss.ms");
  statusLabel.setText(" Последнее обновление: " + dateFormat.format(new Date()));
  }
  }
     

 


Дата добавления: 2015-12-07; просмотров: 82 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.02 сек.)