Автопилот Arduplane - открытое ПО

alexeykozin

я отправил запрос крису андерсону на полномочия по переводу официальной вики на русский язык, он владелец проекта если сочтет уместным - переведем общими силами

alexeykozin

Всем привет,

  1. Крис Андерсон принял предложение о дополнении ардипилот-википедии русским переводом, мы договорились что я создам отдельную ветку в которой сделаю перевод а потом, когда перевод будет закончен он сольет это все на официальный сайт.
  2. для того чтобы сделать все по уму, чтобы не съехало форматирование я создал временный ресурс на котором можно будет обкатать и проверить перевод (у клона википедии такой возможности нет)
    ресурс находится здесь: code.google.com/p/apwikitest/wiki/APMsidebar?tm=6
  3. если желающие помочь с переводом еще не передумали я могу высылать по несколько файлов. переводить конечно не так удобно, нужно понимать особенности синтаксиса google-code/
  4. для координации проекта возможно создать отдельную ветку на этом форуме / в коментах code.google.com/p/apwikitest/wiki/APMsidebar?tm=6
  5. кто хочет взять несколько файлов для перевода обращайтесь kozin@mail.ru
kaveg

возьму часть работы на себя когда куплю железку)))) плюс минус месяц

кодом апм пользуюсь))))) пока без собственных вложений(((

YureZzZ

Я одно время делал перевод самого Mission Planner-а, но Майк Оборн не всегда мог найти времени, чтобы пофиксить ту утилиту, через которую я забивал перевод(редактор ресурсов), поэтому не очень то закончил перевод. Но основы положены - кому интересно, продолжайте.

vadson

Скажите, а как реализована наземная станция? Можно ли ею пользоватся с модемами 3др?
Хочу приобрести комплект оборудования, да вот стоит вопрос что именно мне надо будет.
Так краткий список, АРМ2,5 ., гпс - опять же хорошо работает медиатек или лучше доплатить до юблокса., датчик тока, ОСД, модемы 3др 900мхз., плата наземки. Вроде все! Может еще чего? И еще если кто покупал на диудронсе, может знает они инвойс занижают?
На сколько критичен наличие датчика воздушной скорости?
Сейчас летаю с Иглами, воздушной скорости датчика нет, самоль возвращается хорошо и по скорости гпс. ???

kaveg

раньше в федексе если летело через москву было ограничение в 100 баксов, сейчас тыща. если летело через питер то лимит был тыща баксов… кажется так, но лучше позвони в федекс по бесплатному номеру и спроси какой щас лимит… стоимость доставки к стати входит в этот лимит)))

Engel_dgrad

а у нас в россии есть кто нибудь кто летает с ардуиной на крыле?
очень хочется, но как то все не там и не то изучаю, не понимаю даже какой должен быть минимальный комплект, где его лучше заказать и чего с ним потом делать… 😦

alexeykozin
Engel_dgrad:

а у нас в россии есть кто нибудь кто летает с ардуиной на крыле?
очень хочется, но как то все не там и не то изучаю, не понимаю даже какой должен быть минимальный комплект, где его лучше заказать и чего с ним потом делать… 😦

дешевле всего на rctimer.com
минимально автопилот + GPS + подобрать хороший регулятор питания
для удобства настройки радиомодемов пару
потом когда захотите летать ветронезависимо можно докупить датчик воздушной скорости

на сайте производителя store.diydrones.com можно купить хороший комплект апм2 с жпс и повермодулем (это датчик напряжения таок и стабилизатор питания - три в одном) повермодулей пока больше нигде нет
только в канун нового года почта идти будет аж до февраля

jfm06

А кто в курсе, США отдыхает с 1 до 8? Они заказ обработают и отправят в этом году или только после 8-го? Или пока мы отдыхать будем посылочки будут тихонько идти в Россию?

kaveg

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

jfm06

Тогда, заказ до НГ оправдан, до таможни как раз недели 2 идут?

GrAl
jfm06:

А кто в курсе, США отдыхает с 1 до 8?

США отдыхает с 23 декабря по 3 января.

karabasus

Что-то у меня ерунда какая-то получается с компиляцией прошивок.
В Arduino 1.0 компилится, но в конце почему-то ошибка :

ArduPlane.cpp.o: In function `test_ins':
C:\Users\VIALIY~1\AppData\Local\Temp\build262365979062948355.tmp/ArduPlane.cpp:9498: warning: internal error: out of range error
C:\Users\VIALIY~1\AppData\Local\Temp\build262365979062948355.tmp/ArduPlane.cpp:9498: warning: internal error: out of range error
ArduPlane.cpp.o: In function `test_mag':
C:\Users\VIALIY~1\AppData\Local\Temp\build262365979062948355.tmp/ArduPlane.cpp:9561: warning: internal error: out of range error
C:\Users\VIALIY~1\AppData\Local\Temp\build262365979062948355.tmp/ArduPlane.cpp:9561: warning: internal error: out of range error
ArduPlane.cpp.o: In function `setup_accel_scale':
C:\Users\VIALIY~1\AppData\Local\Temp\build262365979062948355.tmp/ArduPlane.cpp:8062: warning: internal error: out of range error
C:\Users\VIALIY~1\AppData\Local\Temp\build262365979062948355.tmp/ArduPlane.cpp:8062: warning: internal error: out of range error
C:\Users\VIALIY~1\AppData\Local\Temp\build262365979062948355.tmp/ArduPlane.cpp:8063: warning: internal error: out of range error
C:\Users\VIALIY~1\AppData\Local\Temp\build262365979062948355.tmp/ArduPlane.cpp:8063: warning: internal error: out of range error
ArduPlane.cpp.o:(.rodata._ZTV16DerivativeFilterIfLh7EE+0x6): warning: internal error: out of range error
ArduPlane.cpp.o:(.rodata._ZTV16DerivativeFilterIfLh7EE+0xc): warning: internal error: out of range error
ArduPlane.cpp.o:(.rodata._ZTV16DerivativeFilterIfLh7EE+0xe): warning: internal error: out of range error
FastSerial\FastSerial.cpp.o:(.rodata._ZTV10FastSerial+0x6): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x4): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x6): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x8): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0xa): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x12): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x1c): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x1e): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x20): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x22): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x24): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor.cpp.o:(.rodata._ZTV17AP_InertialSensor+0x26): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x4): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x6): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x8): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0xa): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0xc): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0xe): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x10): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x12): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x14): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x16): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x18): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x1a): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x1c): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x1e): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x20): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x22): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x24): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_Oilpan.cpp.o:(.rodata._ZTV24AP_InertialSensor_Oilpan+0x26): warning: internal error: out of range error
AP_AHRS\AP_AHRS.cpp.o:(.rodata._ZTV7AP_AHRS+0x4): warning: internal error: out of range error
AP_AHRS\AP_AHRS.cpp.o:(.rodata._ZTV7AP_AHRS+0x14): warning: internal error: out of range error
AP_AHRS\AP_AHRS.cpp.o:(.rodata._ZTV7AP_AHRS+0x16): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0x4): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0x6): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0x8): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0xa): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0xc): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0xe): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0x10): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0x12): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0x14): warning: internal error: out of range error
AP_AHRS\AP_AHRS_DCM.cpp.o:(.rodata._ZTV11AP_AHRS_DCM+0x16): warning: internal error: out of range error
AP_InertialSensor\AP_InertialSensor_MPU6000.cpp.o:H:\arduino-1.0\libraries\AP_InertialSensor/AP_InertialSensor_MPU6000.cpp:487: warning: internal error: out of range error
Binary sketch size: 182936 bytes (of a 258048 byte maximum)

А если компилировать в ArduPilot-Arduino-1.0.3-windows то другая беда :

Building for ArduPilot Mega 2.x
Excluding arduino core from include paths
H:\ArduPilot-Arduino-1.0.3-windows\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=103 -mcall-prologues -DCONFIG_HAL_BOARD=HAL_BOARD_APM2 -DEXCLUDECORE -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Common -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Menu -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\Arduino_Mega_ISR_Registry -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\APM_RC -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\I2C -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\SPI -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Semaphore -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\DataFlash -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_ADC -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_AnalogSource -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_PeriodicProcess -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Baro -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Compass -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Math -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_InertialSensor -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_AHRS -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\PID -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\RC_Channel -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_RangeFinder -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\Filter -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Buffer -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Relay -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Camera -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Airspeed -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\memcheck -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\APM_Control -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\GCS_MAVLink -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Mount -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_Declination -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\APM_OBC -IH:\ArduPilot-Arduino-1.0.3-windows\libraries\SITL C:\Users\VIALIY~1\AppData\Local\Temp\build7743221427799125628.tmp\ArduPlane.cpp -o C:\Users\VIALIY~1\AppData\Local\Temp\build7743221427799125628.tmp\ArduPlane.cpp.o
In file included from H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/FastSerial.h:56,
                 from ArduPlane.pde:28:
H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/BetterStream.h:14:20: warning: Stream.h: No such file or directory
In file included from H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/BetterStream.h:16,
                 from H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/FastSerial.h:56,
                 from ArduPlane.pde:28:
H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/../AP_Common/AP_Common.h:20:22: error: Arduino.h: No such file or directory
In file included from H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/FastSerial.h:56,
                 from ArduPlane.pde:28:
H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/BetterStream.h:18: error: expected class-name before '{' token
H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/BetterStream.h:30: error: 'va_list' has not been declared
H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/BetterStream.h:37: error: 'va_list' has not been declared
In file included from ArduPlane.pde:28:
H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/FastSerial.h:124: error: no members matching 'BetterStream::write' in 'class BetterStream'
In file included from H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS_NMEA.h:45,
                 from H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS.h:6,
                 from ArduPlane.pde:33:
H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/GPS.h:153: error: ISO C++ forbids declaration of 'Stream' with no type
H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/GPS.h:153: error: expected ';' before '*' token
H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/GPS.h:162: error: expected `)' before '*' token
H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/GPS.h:205: error: 'Stream' has not been declared
H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/GPS.h:206: error: 'Stream' has not been declared
In file included from H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS.h:6,
                 from ArduPlane.pde:33:
H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS_NMEA.h:56: error: expected `)' before '*' token
In file included from H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS.h:7,
                 from ArduPlane.pde:33:
H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS_SIRF.h:20: error: expected `)' before '*' token
In file included from H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS.h:8,
                 from ArduPlane.pde:33:
H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS_406.h:23: error: expected `)' before '*' token
In file included from H:\ArduPilot-Arduino-1.0.3-windows\libraries\AP_GPS/AP_GPS.h:9,
                 from ArduPlane.pde:33:

Плата выбрана в настройках нужная, библиотеки скопированы в arduino/libraries

как это победить?

karabasus
Vilniz:

Скачивали от суда ардуино code.google.com/p/ardupilot-m...s.zip&can=2&q= ?

alexeykozin:

попробуйте модифицированную IDE code.google.com/p/ardupilot-mega/downloads/list

так в том и дело, что во втором случае это она самая модифицированная

karabasus:

ArduPilot-Arduino-1.0.3-windows

и пишет она, что файл найти не может - H:\ArduPilot-Arduino-1.0.3-windows\libraries\FastSerial/BetterStream.h:14:20: warning: Stream.h: No such file or directory

И почему-то в комментарии к ошибке указан путь к файлу с последним слэшем в обратную сторону.

svir

здравствуйте, пришла мне платка 2,5 сижу теперь осваиваю и появились вопросы, от жадности купил самое дешёвое миниосб, подключил, оно работает только всё китайскими иероглифами показывает, понимаю что надо прошить и даже скачал нех и програмку для правки только как прошить не понятно? ещё вопрос про осд в вики платы 2,5 написано что на уарт0 нельзя сажать осд и 3д модем и написано что на задней части платы, на контактах автомух, надо перерезать две дорожки и запаять другие и тогда заработает уарт2 но надо изменить настройски, где эти настройки находятся и как их менять?

alexeykozin

штрифты шьются через любой ftdi адаптер
uart2 включают лишь тогда когда надо одновременно обеспечить работу и по usb и по телеметрии,
в противном случае можно оставить портом телеметрии 0 порт без перерезания перемычек и внесения настроек

DVE

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

alexeykozin

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

Примечание от переводчика: На настоящих самолетах, экипаж каждый раз подготавливая самолет к взлету, производит процедуру “чтения контрольной карты” наша краткая процедура проверки работоспособности могла бы стать не только необходимостью для обеспечения безопасности, но и красивым ритуалом.
контрольная карта:

подготовка передатчика

  • команда включить передатчик : передатчик включен
  • проверка ручки газа: газ в “0”
  • проверка переключателя режима: режим “ручной”

подготовка самолета

  • проверка Фиксаторы рулей, винта : сняты
  • проверка положения модели для калибровки: модель в уровне, в полетном положении
  • команда включение питания - питание включено
  • ожидание завершения калибровки - перестали мигать три светодиода: калибровка выполнена
  • ожидание захвата спутников - ответ есть GPS LOCK
  • проверка отклонения рулей в ручном режиме: рули отклоняются в соответствующем направлениями, расходы в норме
  • проверка отклонения рулей в режиме стабилизации: рули отклоняются в направлениями удержания горизонта, расходы в норме
  • команда возврата ручного режима: режим ручной

краткосрочная проверка максимальной тяги:

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

решение: самолет к взлету готов.

может чего упустил или будут предложения по формулировке?

DChernov

Я ещё перед взлётом, после поимки спутников, с выключенным мотором в режиме стабилизации кидаю самолёт горизонтально (планировать в бурьян). Очень показательно в плане правильности положения начальной инициализации автопилота.
Ещё одна необходимая проверка - насколько качественно затянуто крепление винта, особенно толкающего (там на отвинчивание).