Создание собственной системы стабилизации

rual
strizhmax:

Все, теперь все встало на места.

strizhmax:
  1. Заменяем
    # define AP_BATT_VOLT_PIN 13

Это в каком файле?

strizhmax:
  1. Не трогаем, нет у нас виртуальности.
    #define PX4_ANALOG_ORB_BATTERY_VOLTAGE_PIN 103

Поясни, что за “виртуальность”, для чего нужна и почему её нет?

strizhmax:
  1. В файле ardupilot\libraries\AP_HAL_PX4\AnalogIn.cpp в методе PX4AnalogIn::init

удаляем

  • _battery_handle = orb_subscribe(ORB_ID(battery_status));
    заменяем на
  • _battery_handle = -1;

Это как работает?

Уффф… Наконец доделал первую F4BY, на стапелях ещё пара, осталось впаять датчики )

mahowik:

6 мая начнется курс

Классно, но я английским сильно не владею… Хотя обязательно посмотрю, может что новое увижу…

strizhmax
rual:

Это в каком файле?

ardupilot/libraries/AP_BattMonitor/AP_BattMonitor.h

rual:

Поясни, что за “виртуальность”, для чего нужна и почему её нет?

Дело в том, что в PX4v1 данные для батареи брались не с самой платы, а с PX4IO. Поэтому они и ввели виртуальный порт.

rual:

Это как работает?

Скорее как это работалО. Мы это выключили. Если интересно, то копать в сторону uORB.

P.S. Думал куплю раму, мотор, ESC и мозг. Соберу и полечу, и в код ни за что не полезу.
Еще за пределами квартиры ни разу не взлетнул, а в код залез по самые уши.

mahowik
rual:

Классно, но я английским сильно не владею… Хотя обязательно посмотрю, может что новое увижу…

думаю что много чего увидишь… всеж по науке, а не домашним пальцетырканьем 😃

Хотя курс курсу рознь. Я вот окончил Control of Mobile Robots, так очень понравился. Сейчас прохожу Machine Learning, тоже отличный курс (от Стэнфорда). Кроме того если кой где затык в понимании материала, дык русские титры прилагаются (перевод человечий, т.е. не гугл 😃 )… А вот Autonomous Mobile Robots не пошел мне. Скачут от сложного к простому. Читает несколько лекторов, каждый в своем стиле. Забросил. Они похоже свою книженцию проталкивают через курс…

soliada
strizhmax:

P.S. Думал куплю раму, мотор, ESC и мозг. Соберу и полечу, и в код ни за что не полезу.
Еще за пределами квартиры ни разу не взлетнул, а в код залез по самые уши.

А у Вас “мозг” оригинальный или тоже хэнд мэйд плата или на картонке)))?

strizhmax
soliada:

А у Вас “мозг” оригинальный или тоже хэнд мэйд плата или на картонке)))?

У меня мозг мой, “оригинальный”! А вот у коптера пока AIOP v2. Но Sir Alex, как я понял, переметнулся сюда. Вот я и слежу за ходом событий.
А спаять, плату сделать – не велика проблема.

SergDoc

Во один вечер к компу не подходил - а тут 😃
Как уже писал выше делитель я поменял - из соображений на тему: старый делитель максимум для 3-х секционной батареи…
сейчас делитель 47КОм/10КОм - т.е. до 17 В - можно 4-х секционную батарею подцепить, ну и уже как следствие в кодятнике меньше копаться… Про датчик тока, rssi и вход с датчика скорости(если аналоговый) пока ничего не скажу ибо ни того, ни другого, ни третьего не имею в наличии…

strizhmax
SergDoc:

Как уже писал выше делитель я поменял

Пропустил/пролистал.

Код попробовал?

SergDoc
strizhmax:

Код попробовал?

вчера я не подходил к компу 😃 а сейчас на работе - в обед попробую…

Непошло…

strizhmax
SergDoc:

Непошло

Батарея точно к PC3 подключена?

SergDoc

Щяс все ржать будете - короче ничего нигде менять ненадо, ну разве что в Bat_monitor порт 13 поставить и то не актуально - это и из планнера сделать можно - во вкладке с батарейкой выбрать APM2.5 а не PX4 (а выбирать придётся всёравно APM ибо планнер не признает 13 лапу у PX4 и влупит 100 в параметрах) - напругу кажеть 😃
естественно в /PX4Firmware/src/modules/sensors/sensors.cpp “правильный” 13-й порт прописать 😃

strizhmax
SergDoc:

во вкладке с батарейкой выбрать APM2.5 а не PX4

Бага в планере?

SergDoc

не бага - фича 😃 у него где-то прописано что если выбрана PX4 то лапа 100 автоматом в виртуальную eeprom забивается и дефайн пофиг…
да если кто желает под линуксом APM Planner собрать описано у меня в дневнике ибо сцуко без бубна не собирается из-за уплоадера для PX4…

strizhmax

Да не, это я как раз вчера и обходил правкой
#define PX4_ANALOG_ORB_BATTERY_VOLTAGE_PIN 103

  • _battery_handle = -1;
SergDoc
strizhmax:

#define PX4_ANALOG_ORB_BATTERY_VOLTAGE_PIN 103

  • _battery_handle = -1;

говорю же планнер загоняет параметр BATT_VOLT_PIN в 100 если выбрать PX4 и пофиг ему дефайны…

strizhmax:

#define PX4_ANALOG_ORB_BATTERY_VOLTAGE_PIN 103

тут в оригинале 100

strizhmax
SergDoc:

планнер загоняет параметр BATT_VOLT_PIN в 100 если выбрать PX4

Ах вот оно что.
Потом можно через “Full Parameter List” поменять на 13 и больше во вкладке “Battery Monitor” ничего не менять.

SergDoc:

тут в оригинале 100

Да без разницы, главное что 100 (103) != 13.

SergDoc

Просто немного не удобно для пользователя - если ещё и датчик тока, то всё придётся ручками вводить в параметрах, начиная от того BATT_MONITOR 3 или 4 - и пины соответственно BATT_VOLT_PIN и BATT_CURR_PIN и во вкладку монитора не лазить…

strizhmax

Планнер пишется под то железо, что и ardupilot. Можно в коде 100 завиртуалить на PC3 (103).

Или железо делать pin-to-pin, или планнер форкать, ну или в коде делать совместимость.

SergDoc

Скажем так - мера временная, всё равно надо делать свой отдельный HAL с возможностью потом влиться в Ардупилот иначе смысла гоняться нет за ними.

  1. убить io - нефиг таскать за собой несуществующую железяку да ещё и её прошивку…
  2. сделать все входы и s.bus(оно на io плате а нам в 4-й уарт надо), переключалку наверно можно не перемычками, а файлами-флагами с sd в стартовом скрипте их прописать просто…
  3. навешать всяких плюшек типа телеметрии во фриску (х.з. наверно в арду надо лезть - так что пока не стоит)…
    а у нас погода - веснаа, вечером платку поставлю на трёху - пойду завтра летать 😃 может и киношка получиццо…
rual
SergDoc:

Щяс все ржать будете

Ржем уже, но тут как бы нужно понять над чем Ж) Я в АПМ не в зуб ногой… Нужна помощь профессионалов.

SergDoc:

всё равно надо делать свой отдельный HAL с возможностью потом влиться в Ардупилот

А что они уже приглашали? Если нет, то проще пиратствовать…

SergDoc:
  1. убить io - нефиг таскать за собой несуществующую железяку да ещё и её прошивку…

Убивать в коде не вижу особого смысла, а прошивку легко искоренить, нужно только выкинуть из скрипта сборки модулей.

SergDoc:
  1. сделать все входы и s.bus(оно на io плате а нам в 4-й уарт надо),

Думаю что это не сложно, но пока особо желающих нет - совершенно лень.

SergDoc:

переключалку наверно можно не перемычками, а файлами-флагами с sd в стартовом скрипте их прописать просто…

Это конечно “нанотехнологично”, но ненаглядно и непрактично , полагаю.

SergDoc:
  1. навешать всяких плюшек типа телеметрии во фриску (х.з. наверно в арду надо лезть - так что пока не стоит)…

эта хз, саму телеметрию встроить в нутекс не сложно, но вот как данные из приложения получить?? Если СирАлекс возьмётся - помогу с протоколом фриски.

strizhmax
rual:

но вот как данные из приложения получить

Это откуда и куда? Из арду отослать на передатчик?

rual:

помогу с протоколом фриски

Он вроде не сложный.

SergDoc
rual:

Если СирАлекс возьмётся - помогу с протоколом фриски.

У него в пирате есть 😃

p.s. Друг с Москвы приехал - наверно года два не виделись, так что я пока не могу разобраться на каком я свете сегодня 😃