ArduCopter Mega: порт на обычную Arduino (тестим)
По мне так спуск с выключенными винтами.
Только всегда боюсь, что дисармиться.
У знакомого так и произошло… В итоге расхреначил коптер об детскую металлическую карусель 😃 А спуск с 800 метров будет явно больше 2 секунд, так что дизарм точно случится…
Я например для подъёмов использую стаб
Стаб стремно использовать для подъема - наверху ветер неизвестно какой и неизвестно куда улетит. RTL конечно, если что, сработает, но если там наверху что-то случится и коптер рухнет, неизвестно куда он рухнет, поди сыши потом…
Коптер без FPV ?
А время до дисарма нельзя накрутить ?
Коптер без FPV ?
да, FPV пока еще в проекте 😃
да, FPV пока еще в проекте 😃
а) ну тогда всё ещё в переди, я на такие высоты только по FPV поднимаюсь, больше 200м ориентацию коптера не определить уже 😦
а) ну тогда всё ещё в переди, я на такие высоты только по FPV поднимаюсь, больше 200м ориентацию коптера не определить уже
Поэтому Lioter и использую: взлетаю пока взлетается на месте, кручусь-делаю фотографии, спускаюсь на месте 😃 Думал сегодня попробовать взлет PILOT_VELZ_MAX = 10м/c, как оно будет (может выше получится), но погода как обычно…
Может быть кто-то[Сэр Алекс? 😃] сможет подсказать мне по коду Пирата?
Залез здесь немного в библиотеки, стало интересно, какая фильтрация применяется… Наткнулся на github.com/MegaPirateNG/…/AP_LeadFilter
Согласно описанию эта либа удялет задержку GPS
1ый непонятный момент: зачем в AP_LeadFilter.h строка
#include <AP_LeadFilter.h>
В С++ уже давно, но иногда чувствую себя новичком 😃
2ой Непонятный для меня момент.
задача, как я её понял:
Дана позиция(pos), известно время между измерениями(lag_in_seconds), известна скорость на предыдущем такте(_last_velocity), известна скорость на этом такте(vel). Нужно спрогнозировать позицию в следующем такте.
Как решается там:
int32_t
AP_LeadFilter::get_position(int32_t pos, int16_t vel, float lag_in_seconds)
{
// assumes a 1 second delay in the GPS
int16_t accel_contribution = (vel - _last_velocity) * lag_in_seconds * lag_in_seconds;
int16_t vel_contribution = vel * lag_in_seconds;
// store velocity for next iteration
_last_velocity = vel;
return pos + vel_contribution + accel_contribution;
}
Здесь, как я понял, предполагается, что движение равноускорено, т.е. из школьных воспоминаний
S = So + Vo * t + a * t*t/2;
Т.е. получается, что accel_contribution должно вычисляться по формуле (если не сокращать ничего):
int16_t accel_contribution = (vel - _last_velocity) / lag_in_seconds * lag_in_seconds * lag_in_seconds / 2.0;
где
(vel - _last_velocity) / lag_in_seconds - это вычисленное ускорение.
lag_in_seconds * lag_in_seconds / 2.0 - время в квадрате пополам.
Ну а в реальном коде это немного не так… Стало очень интересно, в чем дело 😃😃
Стало очень интересно, в чем дело
Вопрос снимается - оказывается эта библиотечка нигде не используется и даже вроде выпилена из APM коптера.
Вопрос не совсем по теме.
Как подключены датчики в AMP 2.5.
SPI или i2c ?
SPI или i2c ?
i2c
i2c
гугл вот такую цитату дал “The IMU board is busy communicating with the processor board on the SPI bus”
угл вот такую цитату дал “The IMU board is busy communicating with the processor board on the SPI bus”
Это про PX4 наверное, там две платы, хотя могу ошибаться.
Ошибаюсь, это APM1 судя по всему, двуслойный.
А вообще баро вроде как тоже по SPI подключен, я думал там всё i2c.
/*
APM_MS5611.cpp - Arduino Library for MS5611-01BA01 absolute pressure sensor
Code by Jose Julio, Pat Hickey and Jordi Muñoz.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
Sensor is conected to standard SPI port
Кто нибудь знает аналоги 3др модемов, милливатт так на 300-500, хочется увеличить дистанцию телеметрии.
Кто нибудь знает аналоги 3др модемов, милливатт так на 300-500, хочется увеличить дистанцию телеметрии.
Можно попробовать Digi XBee, с хорошими антеннами обещают до 28 миль на открытой местности.
www.digi.com/products/…/xbee-pro-900hp
У меня есть модули послабее (брал на ебае) - довольно интересные штуки, можно делать mesh-сеть и т.п.
Но для нужд коптера можно просто взять две и завязать в бридж и будет как 3DR. В качестве бонуса для параноиков умеет шифровать траффик в AES.
Жаль у них 433 МГц нету, у меня видео везде на 900 МГц
Жаль у них 433 МГц нету, у меня видео везде на 900 МГц
Есть 868Мгц до 80км радиусом: www.digi.com/products/…/xbee-pro-868
Не шибко частота сдвинута от 900, но и то хлеб 😃
Вот еще есть store.jdrones.com/…/rfd900bund01.htm
- но с диверсити
- но тоже на 900MHz,
Блин нету модемов нормальных, то частота не та то скорость слишком медленная, а так на али их полно, но все до 19200 😦
ИМХО и 19200 вполне неплохо, ты же не видео передаешь 😃
Народ после последнего обновления планнера у всех проблема коннекта пропала ?
Или случайное совпадение.
Но все равно не реагирует на стики…
Разобрался с проблемой?
У меня похоже такая же проблема случилась после того как турниговский приёмник поменял на FrSKY D8R-II Plus.
Приёмник в обычном PWM режиме подключен, в RCInput_MPNG.cpp установлен SERIAL_PPM_DISABLED.
В Mission Planner не реагирует на стики.
Если для теста подключать сервы напрямую в приёмник, то всё работает.
Может кто-то сталкивался?
Пока нету возможности перешить приёмник в CPPM.
Народ после последнего обновления планнера у всех проблема коннекта пропала ?
Или случайное совпадение.
Ага, на последнем планере коннектится нормально.