Технический форум по робототехнике.
dccharacter » 29 дек 2015, 08:39
- Код: Выделить всё • Развернуть
Стекло:
23:20:50.052 : Mean: -0.982765
23:20:50.052 : Standard Deviation: 0.005026
Белая бумага:
23:26:02.693 : Mean: 0.328882
23:26:02.697 : Standard Deviation: 0.003596
Черная бумага:
23:29:09.736 : Mean: -0.068279
23:29:09.740 : Standard Deviation: 0.004738
Полупрозрачный матовый сотч:
23:34:41.503 : Mean: -0.268912
23:34:41.507 : Standard Deviation: 0.008178
Все, мне тута делать больше нечего...
setar » 29 дек 2015, 11:52
Коллеги,действительно сложно стало код копировать туда-сюда, пора в гит.
Дима, Андрей Вы как пионеры придумывайте название.
Если есть опыт - создавайте репозитарий на гитхабе, или я могу на себя роль релиз менеджера взять и сам создам.
Добавлено спустя 11 минут 25 секунд:
что нибудь типа
RF_3aSens = RoboForum Triangle Sensor
RF3Sens
elmot » 29 дек 2015, 12:17
А я уже привык, даже личные проекты валю в гитхаб.
setar » 29 дек 2015, 12:22
да, и тип лицензии укажите, чтобы сразу все правильно было
применяемая библиотека SendOnlySoftwareSerial имеет лицензию lgpl и позволяет использовать ее в других программах с любым типом лицензии.
предлагаю использовать лицензию
типа MIT (свободный исходник, отсутствие гарантий, измененный код последователям открывать не обязательно и можно использовать для коммерческих проектов)
Dmitry__ » 29 дек 2015, 15:55
Я 2-мя руками за, только я полный ноль в этом. Сергей, делай как правильно, только помни про мою треуголку Наполеона

Я тут предлагал пиар робофорума, по сочинениям у меня всегда была твердая два.
forum107/topic15929-135.html?style=8#p342484Добавлено спустя 9 минут 19 секунд:dccharacter писал(а):Все, мне тута делать больше нечего...
Нечего будет делать, когда координата останется на месте после теста на белой поверхности, а потом закрашивание этого места маркером и проведение второго теста. Вот тогда - да, шампанское, блэкджек и шлюхи...
dccharacter » 29 дек 2015, 18:59
setar, жги, вытаскивай нас из болота
Добавлено спустя 12 минут 3 секунды:Тест на триколоре:
- Код: Выделить всё • Развернуть
Голубая полоса:
09:49:24.260 : Mean: 89.802749
09:49:24.260 : Standard Deviation: 0.011780
Темно-синяя полоса:
09:53:11.967 : Mean: 90.104171
09:53:11.967 : Standard Deviation: 0.009142
Чистая белая глянцевая бумага:
09:56:17.112 : Mean: 90.395797
09:56:17.112 : Standard Deviation: 0.005697
Дим, вот покажи мне хоть что-нить, на чем твой оптимизм основан

- Вложения
-

Dmitry__ » 29 дек 2015, 21:17
dccharacter писал(а):Дим, вот покажи мне хоть что-нить, на чем твой оптимизм основан
Шим надо делать на лазер.
Мне 3 дня расстрелов выписали на работе за не работу

dccharacter » 29 дек 2015, 21:18
Молодцы какие

Ладно, работай

Dmitry__ » 29 дек 2015, 21:25
А на последнем твоем тесте, поперек линию одного цвета сделать, пройдет тест в 3-х точках нормально? Сколько там реально наклон стола? 0?
Добавлено спустя 2 минуты 5 секунд:
Как костыль для белой поверхности: Резко менять алгоритм если sum > max, posmotri moi kartinki...
Добавлено спустя 1 минуту 52 секунды:
Правда у тебя немного набежало на белой поверхности...
dccharacter » 29 дек 2015, 22:54
Пройдет с полосой тест - стенд портить не охота, но у меня поиск минимального значения шаттера с таймаутом. Вот если белая полоска на черной поверхности - об нее запнется.
setar » 30 дек 2015, 03:05
попытался причесать код, почти не меняя логики:
- в отдельные файлы вынес описание сенсоров и плат-контроллеров (борд)
- причесал синтаксис
- добавил обработку наличия или отсутствия у сенсора nCS ноги (может вообще ее нафиг ? не думаю что появятся еще spi устройства на этой борде)
- выпилил аппаратный spi
- ввел разделение serial на программный и аппаратный
- ввел обработку варианта питания лазера и сенсора с ног контроллера
Проверяйте, обсуждаем, когда все утрясем - делаю первый коммит на github
Добавлено спустя 5 минут 49 секунд:в конфиге маленький фикс для сенсоров без ноги nCS (добавлено условие #ifdef use_nCS)
- Код: Выделить всё • Развернуть
//###########################################################################################
// Определения
//###########################################################################################
#ifdef use_nCS
#define pin_nCS_Mode_OUTPUT pin_nCS_DDR |= (1<<pin_nCS_bit)
#define pin_nCS_LOW pin_nCS_PORT &=~(1<<pin_nCS_bit)
#define pin_nCS_HIGH pin_nCS_PORT |= (1<<pin_nCS_bit)
#endif
- Вложения
-
RF3Sens.zip
- (17.45 КиБ) Скачиваний: 0
Dmitry__ » 30 дек 2015, 03:15
Ну ваще, красота

Только смотрел, не тестил.
dccharacter » 30 дек 2015, 06:04
Вот еще хедер
Добавлено спустя 10 минут 43 секунды:И для наны чуть подправил хэдер - у тебя там на одних и тех же пинах висят функции и забыл ТРИГГЕР. А еще я перевесил на светодиод led_pin, поскольку все равно аппаратный SPI не используется
Еще поправил конфиг и основной скетч чтобы убрать дублирование (сделал через инлийны, но после попытки - безуспешной - осмыслить вот это:
http://www.greenend.org.uk/rjk/tech/inline.html, не уверен, что сделал доброе дело)
Добавлено спустя 2 часа 8 минут 46 секунд:setar писал(а):[*]добавил обработку наличия или отсутствия у сенсора nCS ноги (может вообще ее нафиг ? не думаю что появятся еще spi устройства на этой борде)
А нельзя просто пустыми их объявить?
- Код: Выделить всё • Развернуть
#ifdef use_nCS
#define pin_nCS_Mode_OUTPUT pin_nCS_DDR |= (1<<pin_nCS_bit)
#define pin_nCS_LOW pin_nCS_PORT &=~(1<<pin_nCS_bit)
#define pin_nCS_HIGH pin_nCS_PORT |= (1<<pin_nCS_bit)
#else
#define pin_nCS_Mode_OUTPUT
#define pin_nCS_LOW
#define pin_nCS_HIGH
#endif
Компилятор не догадается выкинуть пустые конструкции?
То же самое и с питением через ноги
- Вложения
-
RF3Sens.zip
- (14.08 КиБ) Скачиваний: 0
Dmitry__ » 30 дек 2015, 06:47
Посравнивал я ваши файлы, слабо себе представляю как вы собрались это все синхронизировать. У Андрея все время куда-то слетает форматирование. А Сергей внес новый вид форматирования.

Давайте уже закидывайте в этот гит. Есть подозрение, что там есть опция "принять изменения" и "обсуждение". А так у меня крыша едет и хочется вернуться к дедовскому программингу...
А это нормально пользоваться кучей пробелов вместо табуляции? Ведь каждый такой пробел - лишний байт в коде

Не говоря уже о том, что в программах сравнивания файлов все начинает пестрить...
dccharacter » 30 дек 2015, 08:20
Я так стараюсь в гит все это запихнуть, чтобы брать твои исходники и накатывать на них свои конфигурационные изменения (запарило уже 30 строк каждый раз править:-). В свете этого может имеет смысл логику самого главного режима вынести в отдельный файл, так как все остальные режимы статичны, а с этим надо играться до полного просветления (которое, я верю, у меня наступило процентов на 90, через это есть у меня кое-какие мысли, но ты, мне кажется, не готов их воспринять - все жду, пока у тебя розовые очки просветлятся, ну да видно в следующем году). Суть того, до чего я допер - для истории (мысль наведенная) - надо делать большую базу, поднимть метрицу дальше от стола и ловить пятно в центре вычислительными лагающими методами (лагающими по времени, а не из-за чтения кадра, т.е. страдает не точность, а время ухода координаты за время принятия решения). Промежуточный хороший результат (правда, периодически отправляюший голову в стол) - это ловить пересечение pixSum и maxPix.