[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4678: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4680: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4681: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4682: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
virt2real.ru • Просмотр темы - Квадрокоптер




 

Управляем чем угодно откуда угодно

Квадрокоптер

Кто что сделал и кто что собирается делать

Re: Квадрокоптер

Сообщение lyxstv » 27 фев 2014, 19:40

Спасибо, пропустил наверное.
lyxstv
 
Сообщения: 42
Зарегистрирован: 13 сен 2013, 16:02

Re: Квадрокоптер

Сообщение eagafonov » 27 фев 2014, 20:32

Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Квадрокоптер

Сообщение eagafonov » 02 мар 2014, 21:52

https://github.com/eagafonov/v2r-ardupilot

На мастере лежит весь код, который я написал/перелопатил для портирования ArduPilot на виртурилку.
в наличии много костылей и хаков под специфично моё железо, так что граблей много - надевайте каски.

README_V2R.md - пара слов как построить и небоьлшой список TODO, который однозначно будет расти :-)

Из текущей движухи - учись измерять напряжение батарейки с помощью ADC, операционного усилителя и утюга.
Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Квадрокоптер

Сообщение Vrevre » 11 мар 2014, 22:26

Vrevre
 
Сообщения: 33
Зарегистрирован: 04 ноя 2013, 23:52

Re: Квадрокоптер

Сообщение lyxstv » 12 мар 2014, 12:46

Тут все не так просто как кажется, не считайте занудством, просто хотелось чтобы все понимали, что же происходит.

Кодированием видео сам CPU не занимается, этим занимается DSP(скажем так сопроцессор), а вот вещанием его например в сеть уже сам CPU.

Сейчас пока руки не доходят поковыряться в том что выложил eagafonov, как назло свалилось много, но проект arducopter мне хорошо знаком.

Суть его такова, тупо в бесконечном цикле, опрашиваем датчики и корректируем работу двигателей, это приводит к пожиранию всех ресурсов CPU.
Для ардуины это нормальный и самый лучший режим работы, но когда есть ОС и приходится делится ресурсами архитектура должна быть немного иной.
К примеру стандартные регуляторы принимают данные по шиму 50 герц и нет смысла опрашивать датчики в 100 раз быстрей.

И конечно же ответ на ваш вопрос, 8 битный AVR(ардуино если не понятно) 20Mhz с 256кб оперативки, это проц на котором работает изначально arducopter, имхо ресурсов более чем достаточно для обоих задач.
lyxstv
 
Сообщения: 42
Зарегистрирован: 13 сен 2013, 16:02

Re: Квадрокоптер

Сообщение eagafonov » 12 мар 2014, 22:07

Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Квадрокоптер

Сообщение lyxstv » 13 мар 2014, 19:37

Я завтра постараюсь глянуть какой cycle time у оригинального ардукоптера.
Евгений попробуйте узнать(есть в мавлинке) какой у вас сейчас этот параметр.

pool epool и select принимает файловые дескрипторы, но как не прискорбно под линуксом они не работают :(

Также на производительность слипа может влияет параметр HZ который крутили для стабильности работы wifi
Он влияет на выделение слайсов времени для процессов, если он им не пользуется, (могу ошибаться) он квантуется по этому параметру, NOHZ соответственно отдает ресурс сразуже другому процессу.

А вообще вроде i2c и uart аппаратные они не должны хавать проц :\
Нужно сравнить cycle time тогда думаю все прояснится.
lyxstv
 
Сообщения: 42
Зарегистрирован: 13 сен 2013, 16:02

Re: Квадрокоптер

Сообщение phoenix367 » 13 мар 2014, 23:05

phoenix367
 
Сообщения: 193
Зарегистрирован: 09 сен 2013, 00:19

Re: Квадрокоптер

Сообщение lyxstv » 15 мар 2014, 21:05

Я долго не мог понять почему у меня время цыкла все время 0 )
Но как оказалось, оно не пишется в логи если время меньше 10мс.
Так что сравнить не получится, печально например на multiwii он постоянно его пишет (
Если что в логах раздел PM параметр NLon
Подробней здесь http://copter.ardupilot.com/wiki/downlo ... n-planner/
lyxstv
 
Сообщения: 42
Зарегистрирован: 13 сен 2013, 16:02

Re: Квадрокоптер

Сообщение eagafonov » 15 мар 2014, 22:10

Замеры показали, что основной цикл выполняется на частоте 70Гц. Похоже, что в основное время уходит на чтение данных с акселерометра по i2c. В оригинальном железе apm:copter аксель подключён по spi.

Я сегодня попытался поднять частоту i2c до 400 kHz, стало хуже, но, кажется, из-за длинных проводов от виртурилки до макетки. Попробую укоротить до минимума.

В общем, есть что оптимизировать. Как выяснилось, что опрос ADC жрёт много ресурсов. В apm:copter ADC используется для общения с аналоговым сонаром, я же его использую только для мониторинга заряда батареи, так что можно катастрофически уменьшить частоту опроса ADC.

Вообще, для чтения "в час по чайной ложке" из файла /dev/v2r_adc достаточно, в случае частого опроса - это ад и израиль. Я вроде реализовывал ioctl для /dev/v2r_adc, надо будет найти код....

Ещё у меня появился вопрос опытным мультикоптероводам про расположение GPS-приёмников. На многих видео/фото видно, что приёмник располагается на выносной штанге. С чего бы это?

Гугл выдаёт много картинок с вынесенным приёмником.
https://www.google.ru/search?q=dji+gps+mount&tbm=isch

Я понимаю, что встраивать в основной модуль не стоит ибо неизвестно куда он будет засунут,
но штанга-то зачем?

Просто на верхней плоскости расположить что-то мешает? Возникло предположение, что винты могу задеть, но хз...
Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Пред.След.

Вернуться в Проекты на базе Виртурилки

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

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

cron