www.flightgear.ru

FlightGear - свободно распространяемый, кросс-платформенный авиасимулятор.
Текущее время: 13 июл 2020, 02:54

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 15 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 11 ноя 2011, 01:50 
Не в сети

Зарегистрирован: 11 ноя 2011, 01:28
Сообщения: 6
Откуда: Москва
Всем привет!
Есть ли возможность из дерева параметров FlightGear'а выцепить кажущиеся ускорения и абсолютные угловые скорости?
Нечто похожее на угловые скорости я нашёл, но они похоже не абсолютные:
/fdm/jsbsim/velocities/phidot-rad_sec
/fdm/jsbsim/velocities/psidot-rad_sec
/fdm/jsbsim/velocities/thetadot-rad_sec

Я попробовал написать простенький файл протокола, чтобы получить их значения, но в результате получаю одни нолики.
Запускаю вот так:
Код:
fgfs --httpd=8080 --generic=file,out,10,/home/dima/nw.dat,nw --log-level=1

При этом в web-интерфейсе эти параметры ненулевые.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 ноя 2011, 11:48 
Не в сети
Аватара пользователя

Зарегистрирован: 25 фев 2009, 15:09
Сообщения: 246
неправильно составлен файл протокола, надо добавить <type>float</type> во все <chunk>, т.е.
Код:
<?xml version="1.0"?>

<PropertyList>
  <generic>
    <output>
      <line_separator>\n</line_separator>
      <var_separator>\t</var_separator>
      <binary_mode>false</binary_mode>

      <chunk>
        <name>phidot</name>
        <type>float</type>
        <format>%f</format>
        <node>/fdm/jsbsim/velocities/phidot-rad_sec</node>
      </chunk>

      <chunk>
        <name>psidot</name>
        <type>float</type>
        <format>%f</format>
        <node>/fdm/jsbsim/velocities/psidot-rad_sec</node>
      </chunk>

      <chunk>
        <name>thetadot</name>
        <type>float</type>
        <format>%f</format>
        <node>/fdm/jsbsim/velocities/thetadot-rad_sec</node>
      </chunk>

   </output>
 </generic>
</PropertyList>


Что, инерциалочку тестируем? ;) я не в курсе, что в этих ветках лежит, но если это скорости крена/тангажа/курса, тогда придёться пересчитать в угловые скорости по осям самолёта...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 ноя 2011, 23:43 
Не в сети

Зарегистрирован: 11 ноя 2011, 01:28
Сообщения: 6
Откуда: Москва
Спасибо за помощь с протоколом, теперь работает.
Я написал другой, который выводит те параметры, которые есть. Всё работает, но почему-то в нём ускорения
/accelerations/ned/north-accel-fps_sec
/accelerations/ned/east-accel-fps_sec
/accelerations/ned/down-accel-fps_sec
стабильно равны нулю. И в веб-интерфейсы их значения постоянно (0). Почему так может быть?

Да, инерциалки-инерциалочки. ^_^


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 ноя 2011, 06:27 
Не в сети
Аватара пользователя

Зарегистрирован: 09 янв 2008, 08:22
Сообщения: 2018
Цитата:
стабильно равны нулю. И в веб-интерфейсы их значения постоянно (0). Почему так может быть?


ЕСли возникают такие вопросы, то наиболее простой способ получить ответ - это глянуть в исходники.

_________________
Нет!
Я никогда не пойму,
Как в небе держится сталь!
(с)НС


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 ноя 2011, 15:48 
Не в сети

Зарегистрирован: 11 ноя 2011, 01:28
Сообщения: 6
Откуда: Москва
Ок..

/flightgear-2.4.0/src/FDM/flight.cxx:392
Код:
                               // NED accelerations
  fgTie("/accelerations/ned/north-accel-fps_sec",
        this, &FGInterface::get_V_dot_north); // read-only
  fgTie("/accelerations/ned/east-accel-fps_sec",
        this, &FGInterface::get_V_dot_east); // read-only
  fgTie("/accelerations/ned/down-accel-fps_sec",
        this, &FGInterface::get_V_dot_down); // read-only

/flightgear-2.4.0/src/FDM/flight.hxx:495
Код:
    // ========== Accelerations ==========

    inline double get_V_dot_north() const { return v_dot_local_v[0]; }
    inline double get_V_dot_east() const { return v_dot_local_v[1]; }
    inline double get_V_dot_down() const { return v_dot_local_v[2]; }


/flightgear-2.4.0/src/FDM/flight.hxx:230
Код:
    inline void _set_Accels_Local( double north, double east, double down ) {
   v_dot_local_v[0] = north;
   v_dot_local_v[1] = east;
   v_dot_local_v[2] = down;
    }

/flightgear-2.4.0/src/FDM/flight.cxx:78
Код:
/**
 * Set default values for the state of the FDM.
 *
 * This method is invoked by the constructors.
 */
void
FGInterface::_setup ()
{
    inited = false;
    bound = false;

    d_cg_rp_body_v = SGVec3d::zeros();
    v_dot_local_v = SGVec3d::zeros();
...


_set_Accels_Local() в есть в YASim и даже в LaRCsim, но нет в JSBsim. Потому и нули.
Осталось только понять, что теперь делать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 ноя 2011, 18:45 
Не в сети
Аватара пользователя

Зарегистрирован: 25 фев 2009, 15:09
Сообщения: 246
/accelerations/pilot/... это то что нужно для инерциалки (кажущиеся ускорения)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 17:16 
Не в сети

Зарегистрирован: 11 ноя 2011, 01:28
Сообщения: 6
Откуда: Москва
Schneider писал(а):
/accelerations/pilot/... это то что нужно для инерциалки (кажущиеся ускорения)

Разве? Я думал, что это что-то типа ускорений, действующих на пилота?
Так как в вики пустовато на предмет описания ускорений из дерева параметров, я посмотрел исходники, как тут советуют. Единственный комментарий, связанный с этими параметрами такой:
/flightgear-2.4.0/src/Network/net_fdm.hxx-71
Код:
    // Accelerations
    float A_X_pilot;           // X accel in body frame ft/sec^2
    float A_Y_pilot;           // Y accel in body frame ft/sec^2
    float A_Z_pilot;           // Z accel in body frame ft/sec^2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 17:37 
Не в сети
Аватара пользователя

Зарегистрирован: 25 фев 2009, 15:09
Сообщения: 246
а что надо?

это как бы виртуальный 3-хосевой акселерометр на борту ЛА

с виртуальным 3-х осевым гироскопом сложнее, угловые скорости по осям ЛА придётся пересчитать из имеющихся в propertytree скоростей крена/тангажа/курса. или в jsbsim есть нативные данные? я просто только с yasim дело имел


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 ноя 2011, 08:05 
Не в сети
Аватара пользователя

Зарегистрирован: 09 янв 2008, 08:22
Сообщения: 2018
Цитата:
или в jsbsim есть нативные данные?


Угловые скорости там всякие есть, только у меня с многочисленными координатными системами нету понимания:) кто бы понимающий соорудил бы фак по авиационным координатным системам?

_________________
Нет!
Я никогда не пойму,
Как в небе держится сталь!
(с)НС


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 ноя 2011, 13:38 
Не в сети

Зарегистрирован: 11 ноя 2011, 01:28
Сообщения: 6
Откуда: Москва
Schneider писал(а):
а что надо?

это как бы виртуальный 3-хосевой акселерометр на борту ЛА

Так это и надо. Вы не могли бы сказать, где Вы это узнали? Просто это не совсем очевидно, особенно из названия "pilot".

yurik_nsk писал(а):
Угловые скорости там всякие есть, только у меня с многочисленными координатными системами нету понимания:) кто бы понимающий соорудил бы фак по авиационным координатным системам?

Да, с системами координат есть проблемы. Не везде понятно, какая используется. Некоторое представление о системах координат есть на 97-й странице мануала по JSBSim.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB