Автопилот Arduplane - открытое ПО
Я одно время делал перевод самого Mission Planner-а, но Майк Оборн не всегда мог найти времени, чтобы пофиксить ту утилиту, через которую я забивал перевод(редактор ресурсов), поэтому не очень то закончил перевод. Но основы положены - кому интересно, продолжайте.
Скажите, а как реализована наземная станция? Можно ли ею пользоватся с модемами 3др?
Хочу приобрести комплект оборудования, да вот стоит вопрос что именно мне надо будет.
Так краткий список, АРМ2,5 ., гпс - опять же хорошо работает медиатек или лучше доплатить до юблокса., датчик тока, ОСД, модемы 3др 900мхз., плата наземки. Вроде все! Может еще чего? И еще если кто покупал на диудронсе, может знает они инвойс занижают?
На сколько критичен наличие датчика воздушной скорости?
Сейчас летаю с Иглами, воздушной скорости датчика нет, самоль возвращается хорошо и по скорости гпс. ???
раньше в федексе если летело через москву было ограничение в 100 баксов, сейчас тыща. если летело через питер то лимит был тыща баксов… кажется так, но лучше позвони в федекс по бесплатному номеру и спроси какой щас лимит… стоимость доставки к стати входит в этот лимит)))
а у нас в россии есть кто нибудь кто летает с ардуиной на крыле?
очень хочется, но как то все не там и не то изучаю, не понимаю даже какой должен быть минимальный комплект, где его лучше заказать и чего с ним потом делать… 😦
а у нас в россии есть кто нибудь кто летает с ардуиной на крыле?
очень хочется, но как то все не там и не то изучаю, не понимаю даже какой должен быть минимальный комплект, где его лучше заказать и чего с ним потом делать… 😦
дешевле всего на rctimer.com
минимально автопилот + GPS + подобрать хороший регулятор питания
для удобства настройки радиомодемов пару
потом когда захотите летать ветронезависимо можно докупить датчик воздушной скорости
на сайте производителя store.diydrones.com можно купить хороший комплект апм2 с жпс и повермодулем (это датчик напряжения таок и стабилизатор питания - три в одном) повермодулей пока больше нигде нет
только в канун нового года почта идти будет аж до февраля
А кто в курсе, США отдыхает с 1 до 8? Они заказ обработают и отправят в этом году или только после 8-го? Или пока мы отдыхать будем посылочки будут тихонько идти в Россию?
посылочки тихонько будут идти до нашей томожни, где ждать пока сотрудники оной протрезвеют после праздников)))
Тогда, заказ до НГ оправдан, до таможни как раз недели 2 идут?
А кто в курсе, США отдыхает с 1 до 8?
США отдыхает с 23 декабря по 3 января.
Что-то у меня ерунда какая-то получается с компиляцией прошивок.
В 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
как это победить?
Ч
как это победить?
Скачивали от суда ардуино code.google.com/p/ardupilot-mega/…/detail?name=Ard… ?
как это победить?
попробуйте модифицированную IDE code.google.com/p/ardupilot-mega/downloads/list
Тогда, заказ до НГ оправдан
в новый год почта перегружена, и идет долго и теряют чаще
Скачивали от суда ардуино code.google.com/p/ardupilot-m...s.zip&can=2&q= ?
попробуйте модифицированную IDE code.google.com/p/ardupilot-mega/downloads/list
так в том и дело, что во втором случае это она самая модифицированная
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
И почему-то в комментарии к ошибке указан путь к файлу с последним слэшем в обратную сторону.
здравствуйте, пришла мне платка 2,5 сижу теперь осваиваю и появились вопросы, от жадности купил самое дешёвое миниосб, подключил, оно работает только всё китайскими иероглифами показывает, понимаю что надо прошить и даже скачал нех и програмку для правки только как прошить не понятно? ещё вопрос про осд в вики платы 2,5 написано что на уарт0 нельзя сажать осд и 3д модем и написано что на задней части платы, на контактах автомух, надо перерезать две дорожки и запаять другие и тогда заработает уарт2 но надо изменить настройски, где эти настройки находятся и как их менять?
штрифты шьются через любой ftdi адаптер
uart2 включают лишь тогда когда надо одновременно обеспечить работу и по usb и по телеметрии,
в противном случае можно оставить портом телеметрии 0 порт без перерезания перемычек и внесения настроек
Только для прошивки шрифтов надо запаять перемычку на осд для питания видеочасти, иначе не прошьется - шрифт хранится не в контроллере, а в микросхеме видеоадаптера.
перевожу ардупилот вики, в основном оставляю оригинальную текстовку, но тут из любви к взрослой авиации навеяло добавить такой фрагментик
Примечание от переводчика: На настоящих самолетах, экипаж каждый раз подготавливая самолет к взлету, производит процедуру “чтения контрольной карты” наша краткая процедура проверки работоспособности могла бы стать не только необходимостью для обеспечения безопасности, но и красивым ритуалом.
контрольная карта:
подготовка передатчика
- команда включить передатчик : передатчик включен
- проверка ручки газа: газ в “0”
- проверка переключателя режима: режим “ручной”
подготовка самолета
- проверка Фиксаторы рулей, винта : сняты
- проверка положения модели для калибровки: модель в уровне, в полетном положении
- команда включение питания - питание включено
- ожидание завершения калибровки - перестали мигать три светодиода: калибровка выполнена
- ожидание захвата спутников - ответ есть GPS LOCK
- проверка отклонения рулей в ручном режиме: рули отклоняются в соответствующем направлениями, расходы в норме
- проверка отклонения рулей в режиме стабилизации: рули отклоняются в направлениями удержания горизонта, расходы в норме
- команда возврата ручного режима: режим ручной
краткосрочная проверка максимальной тяги:
- проверка винт свободен от фиксаторов, посторонних предметов (в.т.ч. пальцев)
- проверка модель надежно удерживается
- краткосрочный полный газ - проверяется отсутствие вибраций, уровень тяги (понижение тяги косвенно может указать о разряде батареи): тяга в норме, вибрации отсутствуют.
решение: самолет к взлету готов.
может чего упустил или будут предложения по формулировке?
Я ещё перед взлётом, после поимки спутников, с выключенным мотором в режиме стабилизации кидаю самолёт горизонтально (планировать в бурьян). Очень показательно в плане правильности положения начальной инициализации автопилота.
Ещё одна необходимая проверка - насколько качественно затянуто крепление винта, особенно толкающего (там на отвинчивание).
Я ещё перед взлётом, после поимки спутников, с выключенным мотором в режиме стабилизации кидаю самолёт горизонтально (планировать в бурьян). Очень показательно в плане правильности положения начальной инициализации автопилота. Ещё одна необходимая проверка - насколько качественно затянуто крепление винта, особенно толкающего (там на отвинчивание).
в принципе “пенолет” можно кинуть в высокую траву, но крупные, хрупкие модели не все такое переживут, да и не каждую кинешь без катапульты,
ко мне обращались товарищи с самолем с размахом крыльев 6 метров под ардупилот, такой врядли кинешь в траву 😃)
насчет проверки крепления винта- добавил это полезно, хотя у меня толкающий не откручивается - хорошо затянут на синий лактайд
штрифты шьются через любой ftdi адаптер
uart2 включают лишь тогда когда надо одновременно обеспечить работу и по usb и по телеметрии,
в противном случае можно оставить портом телеметрии 0 порт без перерезания перемычек и внесения настроек
ftdi адаптера к сожалению сейчас нет, только едет со второй осд, которая чуть подороже, самому его как то можно будет спаять?
осд попалось вообще какое то не понятное, подал питание +5 и +12 вольт, на соответствующие разъёмы, не заработало, убрал 12 вольт и запаял перемычку тогда только заработала, а земля по осд и без запаивания земляной перемычки везде одна, так должно быть или это китайская поделка под настоящее осд?
ftdi адаптера к сожалению сейчас нет, только едет со второй осд, которая чуть подороже, самому его как то можно будет спаять?
несколько страниц назад обсуждались всевозможные варианты FTDI от использования переходника от старой мобилки до автопилота в качестве FTDI