roboforum.ru

Технический форум по робототехнике.

dccharacter - Излить посильно

Блоги посетителей.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 02 фев 2013, 11:19

в личке
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 02 фев 2013, 18:08

ЗАРАБОТАЛО :-)
Спасибо

Добавлено спустя 1 час 45 минут 59 секунд:
Но в свой проект перетащить не получается :-(
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 02 фев 2013, 22:06

dccharacter писал(а):Но в свой проект перетащить не получается

А зачем тебе тащить в свой проект?
Все точки расставлены, все на местах. И можно развлечься риторическим вопросом :)
Весь твой пупер проЭкт должен находиться в файле main.c, в функции int main(void){}, между строк оператора while(1) {}
:crazy:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 02 фев 2013, 23:39

Вот это тоже в while копипастить?
http://www.x-io.co.uk/open-source-imu-a ... lgorithms/
:lol:
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 02 фев 2013, 23:50

Так трудно сказать. Если ты чужой проект компилишь, то ой :oops:
А так, все библиотеки датчиков в f3 подключены, все откликается на запросы юсб, нужно только в соотв. места вставить свой код. Все чужие функции (не на прерываниях) тоже подключаются.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 02 фев 2013, 23:59

потупи ссылочку кстати. ничего так.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 03 фев 2013, 03:13

Да я уже сделал один подход к магнитному компасу в f3 для своего ардрона :o
Теперь знаю все о магнитном поле, компенсации его по акселерометрам, быдлокодировании stm32 для своих дискаверей и кучи другой хрени. Теперь у меня не скоро появится желание разбираться дальше с Калманом и другими страшными словами типа AHRS. :cry:
Шутки ради, загрузи пример компаса, понаклоняй плату и посмотри как гуляет север с югом. STM жжжоот.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 03 фев 2013, 05:26


Чо-та не выходит лучше ничего :-(((

Добавлено спустя 21 минуту 6 секунд:
У меня, похоже, на одном из датчиков одна ось битая. Бывает такое на мемсах? :shock:
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 03 фев 2013, 06:30

Ну выведи все оси на терминалку, проверь.
Если алгоритм корректировки по компасу, то ничего и не выйдет в таком месте, поле нужно.
А вообще смотрится круто, твою бы энергию да в мирных целях :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 03 фев 2013, 06:35

Круто - это вот так

Да еще понимать как это работает
А то за день из кусков собрать... Абсолютно не понимая что там да как на самом деле. Кватернионы, ё.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 03 фев 2013, 06:40

У тебя случайно не задрана чувствительность гира и акселей? Когда в конце болтаешь плату, похоже на уход всех сигналов в ограничение. Попробуй выставить минимальные значения усиления.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 03 фев 2013, 06:41

Dmitry__ писал(а):У тебя случайно не задрана чувствительность гира и акселей? Когда в конце болтаешь плату, похоже на уход всех сигналов в ограничение. Попробуй выставить минимальные значения усиления.

Да уж все перепробовал
Спать пойду
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение dccharacter » 03 фев 2013, 14:54

Accel data, held horizontally
X ( Mean: 129.476635514 StdDev: 4.52685815495 CoeffVar: 0.0349627416327
Y ( Mean: -114.953271028 StdDev: 3.64648897211 CoeffVar: -0.0317214894322
Z ( Mean: 1031.96728972 StdDev: 4.38602870426 CoeffVar: 0.00425016252739
Accel data, held vertically
X ( Mean: 1028.89908257 StdDev: 3.2845061744 CoeffVar: 0.00319225299162
Y ( Mean: 57.7293577982 StdDev: 3.00842251181 CoeffVar: 0.0521125234466
Z ( Mean: -32.7247706422 StdDev: 5.22497804681 CoeffVar: -0.159664313738
Accel data, on its side
X ( Mean: -4.54838709677 StdDev: 3.11436535944 CoeffVar: -0.684718625126
Y ( Mean: -1022.1827957 StdDev: 3.11584999901 CoeffVar: -0.00304823169801
Z ( Mean: 86.7580645161 StdDev: 6.21916605032 CoeffVar: 0.0716840109908
Gyro data, held horizontally
X ( Mean: -1.21379162273 StdDev: 0.370046742087 CoeffVar: -0.304868426473
Y ( Mean: -1.17441641364 StdDev: 0.448860610387 CoeffVar: -0.382198856534
Z ( Mean: 0.375775054545 StdDev: 0.35560187112 CoeffVar: 0.946315799356
Gyro data, held vertically
X ( Mean: -1.06695729148 StdDev: 0.281490751744 CoeffVar: -0.263825697609
Y ( Mean: -0.999703533632 StdDev: 0.837818544473 CoeffVar: -0.838067003153
Z ( Mean: 0.28427864574 StdDev: 0.230493790201 CoeffVar: 0.810802336564
Gyro data, on its side
X ( Mean: -1.16762351163 StdDev: 0.213605213243 CoeffVar: -0.182940143904
Y ( Mean: -1.03739013953 StdDev: 0.314969743839 CoeffVar: -0.303617445198
Z ( Mean: 0.334659027907 StdDev: 0.195181466576 CoeffVar: 0.58322486561

Не похоже на датчик. МОж программа на компе тупит? Она в углы эйлера пересчитывает кватернионы для вращения кубика, может когда Z вертикальна, она с ума сходит? Или нормализация там какая-то...

Добавлено спустя 2 минуты 28 секунд:
А, блин, это ж я ночью коэффициенты подкрутил. Сейчас ориентация работает чОтко, только дергается сильно все.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение avr123.nm.ru » 03 фев 2013, 16:31

Поделись проктом с исходничками и по для пк :D
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: dccharacter - Излить посильно

Сообщение dccharacter » 03 фев 2013, 18:18

avr123.nm.ru писал(а):Поделись проктом с исходничками и по для пк :D

Проектом поделюсь, как допилю или забью (скоро :oops: )
А код для ПК (python 2.7) - вот

Код: Выделить всёРазвернуть
import pylab as pli
import os

class csvData(object):
    def __init__(self, path):
        path = os.path.normpath(path)
        self.xset = []
        self.yset = []
        self.zset = []
        with open(path, 'r') as f:
            for line in f:
                vals = line.split(',')
                if vals[-1][-1] == '\n':
                    vals[-1] = vals[-1][:-1]
                self.xset.append(float(vals[0]))
                self.yset.append(float(vals[1]))
                self.zset.append(float(vals[2]))
        print 'X (',
        self.analyse(self.xset)
        print 'Y (',
        self.analyse(self.yset)
        print 'Z (',
        self.analyse(self.zset)
               
    def analyse(self, a):
        print 'Mean:', pli.mean(a),
        print 'StdDev:', pli.std(a),
        print 'CoeffVar:', pli.std(a)/pli.mean(a)


print 'Accel data, held horizontally'
d = csvData(r"E:\Dropbox\study\9dof noize analysis\accelHor.txt")
print 'Accel data, held vertically'
d = csvData(r"E:\Dropbox\study\9dof noize analysis\accelVert.txt")
print 'Accel data, on its side'
d = csvData(r"E:\Dropbox\study\9dof noize analysis\accelSide.txt")
print 'Gyro data, held horizontally'
d = csvData(r"E:\Dropbox\study\9dof noize analysis\gyroHor.txt")
print 'Gyro data, held vertically'
d = csvData(r"E:\Dropbox\study\9dof noize analysis\gyroVert.txt")
print 'Gyro data, on its side'
d = csvData(r"E:\Dropbox\study\9dof noize analysis\gyroSide.txt")


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

Добавлено спустя 2 минуты 8 секунд:
А если тебе нужен вращающийся кубик, ищи библиотеку для дуни FreeIMU. Вчера узнал, что ее создатель в декабре умер...

Добавлено спустя 44 минуты 24 секунды:
Вообще STM-овская документация на мемсы ничего кроме раздражения не вызывает. Например, есть регистр Bandwidth - 2 бита. Этими битами настривается Cut-off.

Что это за катофф, к какому фильтру она, как он включается, как выключается - ни-че-го не написано. Аппнотов нет.
Или ФИФО. шесть режимов фифо. Зачем, для чего - вообще непонятно. Написано - имея фифо, вы можете не дергать постоянно девайс, а дождаться заполнения фифо и качнуть сразу 32 семпла бёрстом.
Ок, и что мне предлагается делать с 32 семплами, 31 из которых давно протух? ЛПФ программный?

жесть.

Добавлено спустя 14 минут 51 секунду:
ФИЛЬТРЫ! Кажись, работает.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Пред.След.

Вернуться в Блоги

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

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