ArduCopter Mega: порт на обычную Arduino (тестим)

verial

С этим направили к вам.
Добрый день, вот приобрел квадрик для некоего проекта (так, мозг размять ну и кошелек уменьшить в весе). Интересует использование андурины так как знаком с ним, непосредственно интересует его точность позиционирования места относительно немецкой сборки.

MaF

кстати,камраты,ахтунг
красная хк плата может сама заармиться при подрубе к компу и перезагрузке в процессе.
я сегодня пострадал,да
газ был оставлен на максимуме случайно на пульте
подрубаю коптер к компу и тут же на максимум раскручиваются движки.
у меня они 750кв и 11 винты,хрупкие,но 4 пальца - шкура покоцана,мясо чуток,по ногтю -не прорубило,но след от удара

damian
MaF:

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

Ни разу подобного не было. Да и как бы взял себе за правило: при любых экспериментах с платой ESC обесточены. Да и не так часто нужны они подключенными(compasmot появился недавно, честно написано что версия beta, что означает возможны баги… будьте аккуратны). Однажды полез проверять цифровым тестером питание на выводах, внезапно раскрутился один двигатель-минус проп.

MaF

мне так же больше не удалось данную ситуацию повторить
но факт остается фактом - плата способна заармиться сама.

limon_spb
verial:

С этим направили к вам.
Добрый день, вот приобрел квадрик для некоего проекта (так, мозг размять ну и кошелек уменьшить в весе). Интересует использование андурины так как знаком с ним, непосредственно интересует его точность позиционирования места относительно немецкой сборки.

Сравнить не могу, но при отсутствии ветра у меня точность возврата в точку старта - плюс-минус пол метра. Вообще, я думаю, железо не очень влияет. Влияют настройки, ПИДы, и количество пойманных спутников.

======================================================

Уважаемые сведущие, а кто может что рассказать про параметр PILOT_VELZ_MAX? (Pilot maximum vertical speed) Он регулирует максимальную вертикальную скорость в режиме loiter. Но мне в списке стандартных параметров не дает выставить более 500 см в сек. Однако через список всех параметров я выставил 1000 см в сек… Чем это чревато? Я хочу полетать высоко-высоко. Но сегодня при максимальной скорости 500см в сек улетел на 800 метров над уровнем моря, но акума еле хватило на спуск… Изверещался весь и я с испугу неаккуратно сел и поломал проп 😃

kren-DEL
limon_spb:

Но сегодня при максимальной скорости 500см в сек улетел на 800 метров над уровнем моря, но акума еле хватило на спуск… Изверещался весь и я с испугу неаккуратно сел и поломал проп 😃

Иван, 500см/сек=5м/с, это очень много и для подъёма и для спуска. Я например для подъёмов использую стаб, а для спусков акро. Ну а по теме - черевато только дестабилизацией аппарата при спуске(начнёт трясти), такова особенность спуска блинчиком…

RTemka

По мне так спуск с выключенными винтами.
Только всегда боюсь, что дисармиться.

limon_spb
RTemka:

По мне так спуск с выключенными винтами.
Только всегда боюсь, что дисармиться.

У знакомого так и произошло… В итоге расхреначил коптер об детскую металлическую карусель 😃 А спуск с 800 метров будет явно больше 2 секунд, так что дизарм точно случится…

kren-DEL:

Я например для подъёмов использую стаб

Стаб стремно использовать для подъема - наверху ветер неизвестно какой и неизвестно куда улетит. RTL конечно, если что, сработает, но если там наверху что-то случится и коптер рухнет, неизвестно куда он рухнет, поди сыши потом…

RTemka

Коптер без FPV ?
А время до дисарма нельзя накрутить ?

limon_spb
RTemka:

Коптер без FPV ?

да, FPV пока еще в проекте 😃

kren-DEL
limon_spb:

да, FPV пока еще в проекте 😃

а) ну тогда всё ещё в переди, я на такие высоты только по FPV поднимаюсь, больше 200м ориентацию коптера не определить уже 😦

limon_spb
kren-DEL:

а) ну тогда всё ещё в переди, я на такие высоты только по FPV поднимаюсь, больше 200м ориентацию коптера не определить уже

Поэтому Lioter и использую: взлетаю пока взлетается на месте, кручусь-делаю фотографии, спускаюсь на месте 😃 Думал сегодня попробовать взлет PILOT_VELZ_MAX = 10м/c, как оно будет (может выше получится), но погода как обычно…

limon_spb

Может быть кто-то[Сэр Алекс? 😃] сможет подсказать мне по коду Пирата?

Залез здесь немного в библиотеки, стало интересно, какая фильтрация применяется… Наткнулся на 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 - время в квадрате пополам.
Ну а в реальном коде это немного не так… Стало очень интересно, в чем дело 😃😃

limon_spb
limon_spb:

Стало очень интересно, в чем дело

Вопрос снимается - оказывается эта библиотечка нигде не используется и даже вроде выпилена из APM коптера.

RTemka

Вопрос не совсем по теме.
Как подключены датчики в AMP 2.5.
SPI или i2c ?

SovGVD
blind_oracle:

i2c

гугл вот такую цитату дал “The IMU board is busy communicating with the processor board on the SPI bus”

blind_oracle
SovGVD:

угл вот такую цитату дал “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
2fast2real

Кто нибудь знает аналоги 3др модемов, милливатт так на 300-500, хочется увеличить дистанцию телеметрии.

blind_oracle
2fast2real:

Кто нибудь знает аналоги 3др модемов, милливатт так на 300-500, хочется увеличить дистанцию телеметрии.

Можно попробовать Digi XBee, с хорошими антеннами обещают до 28 миль на открытой местности.
www.digi.com/products/…/xbee-pro-900hp

У меня есть модули послабее (брал на ебае) - довольно интересные штуки, можно делать mesh-сеть и т.п.

Но для нужд коптера можно просто взять две и завязать в бридж и будет как 3DR. В качестве бонуса для параноиков умеет шифровать траффик в AES.

2fast2real

Жаль у них 433 МГц нету, у меня видео везде на 900 МГц