Проект Мегапират на самик!

Drinker
Syberian:

“Их” 72 МГц это “наших” около 24 МГц

Нифига, как минимум мегагерц к мегагерцу.
А М4 с плывуном хорош гат.
Я вот М3 юзаю. На ардуине мега (ибо у прочих памяти не хватат) екф запускал, но цикл 20мс. А на м3 тот-же код уже 4 мс. Кстати, почти пропорционально мегагерцам.

Syberian

м4 дискавер только что купил. Доедет - буду баловаться. С доставкой 750р. 2 проводка к вортексу по и2с - вот и датчики готовы.

По поводу мегагерцов - это только дхрайстон-тест поможет. Еще, кстати, я не конфигурировал “часики”, взял типовой проект на 103-й чип из кейла. хз, сколько там выставлено.

Drinker
Musgravehill:

Кстати, не понимаю, как multiwii ставят на летающее крыло, если в инверте компас тоже показывает инвертировано (N перекручивается на S, к примеру. Будто самолет резко изменил курс на 180)

Так он и изменил курс на 180.
Чего тут не так?

Syberian
Musgravehill:

как multiwii ставят на летающее крыло

а его кто-то реально ставил? если да, то без компаса по любому. Сколько смотрел их билды, нигде не было tilt compensation и калибровки компаса. Поэтому и показывает чопопало.

ABL
Syberian:

а его кто-то реально ставил?

Я ставил и летал.
И да, Flying Wing не читает компас и баро. Они показываютса на GUI, но толко ACC+Gyro работает.
Кстати, на MW 2.0 должна быть поддержка GPS - так может быт на MW 2.2 будет и RTH 😉

Musgravehill
Syberian:

нигде не было tilt compensation и калибровки компаса.

Сейчас есть компенсация наклонов (до 45 градусов стрелка компаса почти стоит на месте). Калибровка тоже есть, кроме магнитного склонения. Время цикла стало 2.5 мс (с полным набором датчиков). Но в инверте компас меняет ориентацию на противоположную. Что квадрику хорошо, то самолету - смерть =)

ukkr
LeonVS:

Активацию управления с джоя добавь, штука будет пользоваться популярностью у кого есть хорошие модему для телеметрии

Лёнь, можешь перевести, что надо добавить? А то я не очень понял.
Олег, а можешь рассказать, что это за команды:

  1. 16 Remote Control commands (override RC by 0.5 seconds from last packet)
    roll,pitch,thro,yaw
  2. 24 MASK - IMU channels reverse
    PIDs SET/REQ GYRO_RATE,RC_RATE,IMU_R,IMU_P,IMU_Y
alex-ber

Костя.
я сново с проблемой…😦
Что-то у меня конфигурация приборов не сохраняется (жму Саве - пару минут висит прога, затем выключаю, включаю жмакаю Лоед - опять пару минут висит и ничего не происходит…).
А после последних двух попыток загрузить парамерты прога просто вылетает…
Посмотри что не так - в архиве лог файлы ошибок и конфигурации…😍

ukkr
alex-ber:

Что-то у меня конфигурация приборов не сохраняется (жму Саве - пару минут висит прога, затем выключаю, включаю жмакаю Лоед - опять пару минут висит и ничего не происходит…).
А после последних двух попыток загрузить парамерты прога просто вылетает…

Привет, Саш.
С вероятностью 99% ты выключаешь когда оно ещё сохраняет.
На сколько я понял по крешдампам jvm ты добавил Altimeter? Блин, забыл дописать в описание, что новый сериализатор работает только с horizon и linearbargraph. С остальными работает старый сериализатор, а он просто фигеет от всего многообразия свойств показометров. Вот в процессе его офигевания от Альтиметра ты его и срубил. При этом, скорее всего, запортились файлы сессии, куда оно его сериализавало.
Можешь прислать gauges.xml и ccl.xml файлы? Они, скорее всего, порченные. Проверю гипотезу.
На работоспособность софта наличие этих бракованных особо не влияет пока ты не попробуешь загрузить сессию. Можешь удалить их и скопировать из APScope.ZIP дефолтные, если тебе надо поработать с пиратомХ и гуйнёй. Или просто пересоздай своё\отредактируй дефолтное с использованием только linearbargraph и horizon показометров.

Блин, в следующую основную версию точно добавлю какие-то часики или иной индикатор занятости приложения по кликам на save и load конфигурации, чтоб пользователь не пытался в панике срубить приложение пока оно занято важным делом.
Плюс, переведу остальные показометры на новый сериализатор, чтоб такого бреда больше не было.
Ну и то, что Лёня просит, если он мне сможет разъяснить что это реализую.

baychi
EHOT:

Без акселя - это уже другая платко будет. (а где такую видели? название?)

Для чистого алгоритма определения положения можно взять новейшую микроплатку от ST: www.promelec.ru/company/news/868/
А для одноплатного варианта АП+OSD, ИМХО надо сразу STM32F4xx ставить. Вон проект OpenPilot/CopterControl - на ST32F103 - уже скушал все ресурсы (128 МБ программной и 20 кБ ОЗУ), даже не реализовав EKF и теперь растет вширь, плодя сущности: одна платка MEMS, другая OSD, третья - модем телеметрии.

alex-ber
ukkr:

При этом, скорее всего, запортились файлы сессии, куда оно его сериализавало. Можешь прислать gauges.xml и ccl.xml файлы? Они, скорее всего, порченные. Проверю гипотезу

Спасибо Костя!
Вот файлы _
Спасибо что подсказал - попробую альтиметр убрать (пока…)😉
С часиками - отличная идея!
А Леонид просил тебя (на сколько я понял…) - добавить в твою Гуйню управление Вортексом при помощи обратной связи с компа (ждой или другой контролер…) - у Олега в Гуйне это уже реализовано - вот и хочет, чтоб с одной проги все делать…😇
счас попробую без альтиметра сохраниться…
ПС Да если не ставить Альтиметр - все сохраняется и загружается без проблем… Спасибо! Будем ждать продолжения…

ukkr

Саш, а ты с дефолтной конфигурацие пробовал подрубать вортекс? Интересно просто, работает ли всё остальное.

Syberian
ukkr:

Олег, а можешь рассказать, что это за команды:

  1. 16 Remote Control commands (override RC by 0.5 seconds from last packet)
    roll,pitch,thro,yaw
  2. 24 MASK - IMU channels reverse
    PIDs SET/REQ GYRO_RATE,RC_RATE,IMU_R,IMU_P,IMU_Y

16 - это и есть команды с джойстика: крен, тангаж, газ, руддер типа uint16, диапазон 1800…4200, нейтраль 3000.
При поступлении пакета команды с пульта РУ блокируются на 0.5с. По истечении этого времени управление с пульта восстанавливается.
В моей гуйне также есть экспоненты, реверсы и триммирование джоя и регулируется скорость выдачи.
Для экспонент великий тов. Прикупец вывел гениальную формулу, которая замечательно работает:
rcopen.com/blogs/5271/694
Сигнал управления нужно нормализовать к диапазону -1…1
Вот код в удобоваримом виде

float getExpo(float x, float percent)
{
// Thanks to Andrey Prikupets for his formulas!
// were taken from here 
//A=10^( (2^(%/25))/4 )
//Y=100*((A^(X/100))-1)/(A-1)
  float a,result;

a=pow(10,pow(2,(percent/25))/4);

if(x>=0) result=(pow(a,x)-1)/(a-1);
else    result=-(pow(a,-x)-1)/(a-1);

return (result);

24 - это конфигурация миксера. Каждый параметр в формате uint8. Диапазон значений 0-2.55, умноженный на 100
Побайтно:
1 - реверс каналов IMU, биты : 0 - крен, 1 - тангаж, 3 - руддер
2 - gain гироскопа 0-2.55 *100
3 - gain радио 0-2.55 *100
4,5,6 - стабилизация крена, тангажа, руддера 0-2.55 *100

Пустой пакет с кодом 128+24 - запрос параметров без их изменения.

baychi:

Для чистого алгоритма определения положения можно взять новейшую микроплатку от ST:

  1. которая будет доступна в конце 12 года
  2. на 103 проце екф на 2 входа будет тупить 5-10мс, а его ведь еще передавать на основную плату надо

По поводу М4 вы правы.
F407 со своим 16-канальным DMA позволяет формировать видеосигнал, отрывая процессор лишь раз в 64 мкс для указания позиции следующей строки. То же самое с последовательными портами. даже буфер на прерываниях делать не надо.
Коптерконтрол пал жертвой минимализма и злого пиара, гы.

ukkr:

Краткий список изменений:

гуглокарту с кешем на диске сможешь прикрутить? если да, то от своей корявой наземки откажусь нафиг 😃

ukkr
Syberian:

гуглокарту с кешем на диске сможешь прикрутить?

Эм…, Олег, вообще-то гугля напрямую в лицензии запрещает использование своего статического сервиса сторонними приложениями вне броузера. Т.е., для получения картинок нужно открывать броузер. Связано это с тем, что по лицензионному договору они не имеют права позволять третьим сторонам сохранять кеш aerial данных. Можно конечно положить с прибором на все эти лицензионные ограничения как делают многие. Но это пахнет жареным. Яндекс вон жесточайший дрын вставляет за каждое нелицензионное использование своих карт.
П.С. А шо GPS уже заработал в пирате?

alex-ber:

А Леонид просил тебя (на сколько я понял…) - добавить в твою Гуйню управление Вортексом при помощи обратной связи с компа (ждой или другой контролер…)

Да, думаю это несложно будет реализовать. 16 Remote Control commands у Олега для этого и предназначена. Если надо добавлю в ближайшей версии.

Syberian
ukkr:

использование своего статического сервиса сторонними приложениями вне броузера.

Давай подойдем к процессу формально. Вставь в форму объект TBrowser, можешь даже адресную строку вбить, чтоб парнуху открывало. В GET-хидере в поле browser type пиши Mozilla, в поле referrer - мапс.гогле.ком
Короче, представь, что ты соорудил типа браузер на одну страничку, и совесть будет чиста у обоих.

Также можно йузать google earth API

И да, сохранять будет не 3rd party а end user’s browser

ukkr

Для гугл ёрз апи нужна сама гугл ёрз. Ладно, посмотрим. Тем более, что в лицензии вроде как какой-то новый пункт есть:
You must not use the Static Maps API(s) outside of a web-based application unless:

(i) your platform does not have a web browser; or

(ii) if your platform does have a web browser, you provide a link that shows the location concerned either (x) in the Google Maps native application (if your platform has one); or (y) on the Google Maps website.
Т.е., теоретически можно использовать их статик АПИ без броузера, но обязательно должен быть виден урл на гуглоМапсах той картинки, что отображается. А это уже хорошо и даже удобно.

Syberian
ukkr:

это уже хорошо и даже удобно

вот и официальный выход из ситуевины. Отображение кликабельной урл-ки поверх скоченных карт

serj
baychi:

А для одноплатного варианта АП+OSD, ИМХО надо сразу STM32F4xx ставить. Вон проект OpenPilot/CopterControl - на ST32F103 - уже скушал все ресурсы (128 МБ программной и 20 кБ ОЗУ), даже не реализовав EKF и теперь растет вширь, плодя сущности: одна платка MEMS, другая OSD, третья - модем телеметрии.

Мдя… вероятно, это следствие множества разработчиков (может, там индусы сидят которым платят за каждую строчку кода, , как в ST-шных библиотеках? ) получается очередной папарацци…

baychi
serj:

вероятно, это следствие множества разработчиков

Это следствие “академического подхода”. Зато весь код открыт, универсален, многоплатформенен, прекрасно документирован и с хорошей поддержкой на земле. Впрочем любой желающий может передалать его под себя, выкинуть лишнее и реализовать на сэкономленых ресурсах полноценный автопилот.
Например еще одну Фишку. 😃
Сделал небольшую табличку IMU-шных решений сегодняшнего дня, для сравнения:
docs.google.com/spreadsheet/ccc?key=0AnOacOXMTM_5d…

Надо бы сюда еще и Мегапират добавить. Не подскажите детали, чтоб не рыть ветку?

Syberian
baychi:

код открыт, универсален, многоплатформенен, прекрасно документирован

А толку?
перерыл весь сайт и вик этих “академиков”, так и не нашел в этой “прекрасно документированной куче” ни ссылки на гит, ни сорца фирмваре, ни товара в наличии. Для скачать надо вступить в секту и вымолить ссылку у хозяина?

любой желающий может … выкинуть лишнее и реализовать на сэкономленых ресурсах полноценный автопилот.

ага, любая кухарка может теоретически управлять страной 😁 на 103-м проце…
После атмеги и так зубы ноют после одной только инициализации таймера на 407.

Drinker
serj:

Вон проект OpenPilot/CopterControl - на ST32F103 - уже скушал все ресурсы (128 МБ программной и 20 кБ ОЗУ)

Как они умудрились?
Функционал коптерконтроля ничем выдающимся не блещет ведь.