roboforum.ru

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

Датчик касания оптический, триангуляция

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 20 дек 2015, 01:41

Dmitry__ писал(а):По твоей картинке, новый алгоритм не проходит только 2 последних кадра.

Там, к сожалению, на входе пятна много всего происходит, но это частично можно убрать, фильтруя по шаттеру. Он падает меньше 200 только когда пятно к центру кадра приближается, а меньше 100 вообще в небольшом диапазоне.

Добавлено спустя 11 минут 54 секунды:
Dmitry__ писал(а):солнышко начинает полностью заходит в поле, pix_sum растет.

Пикс сам падает! При равномерной засветке, даже самой маленькой, пикс сам огромный (причем это не среднее, а старшие 8 бит суммы пикселей)
Аот с лазером, когда есть контраст, оно падает до 35-45

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

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 20 дек 2015, 01:57

dccharacter писал(а):Пикс сам падает! При равномерной засветке, даже самой маленькой, пикс сам огромный (причем это не среднее, а старшие 8 бит суммы пикселей)
Аот с лазером, когда есть контраст, оно падает до 35-45

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

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 20 дек 2015, 02:01

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

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 20 дек 2015, 02:09

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

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 20 дек 2015, 02:14

Закрой! А то жена придет в ветку и люлей навешает обоим

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

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 20 дек 2015, 02:34

Закрой!

Вот уж фиг, я еще вторую поставил в холодильник :)
Когда рассказал своим про:
А ваще ты прав, надо идти бухать, не дело это в выходные ни с ребенком не заниматься, ни жену не топтать, ни водку не пить.

Ну только топтать заменил на любить, старшой спросил: "Папа, а ты точно не бухой". Пришлось дышать на него :D
Я пытаюсь ссылки найти на предельный угол шероховатой поверхности (когда она становится зеркальная). В нашем случае, конечно далеко до щтого угла, но знать стоит. Кста, дифф датчик принимает отраженный свет по зеркальной схеме (угол падения равен....), т.е. дифф датчик еще хорошо измеряет угол поверхности :D , вот попалась пупырышка, отскочил свет в приемник, есть - 5мм.
Пока не найду ссылку, но нашел про синий свет.
Таким образом, одна и та же поверхность может быть матовой, диффузно-отражающей для видимого или ультрафиолетового излучения, но гладкой и зеркально-отражающей для инфракрасного излучения.

http://www.kipis.ru/info/index.php?ELEMENT_ID=98907
Полупроводник конечно плохо ловит ультракороткие волны, но есть мышки с синим диодом, что обнадеживает...
Хороший пдф, ноо не тот:
https://courses.graphics.cs.msu.ru/pluginfile.php/984/mod_resource/content/1/%D0%92%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5%20%D1%81%D0%B2%D0%B5%D1%82%D0%B0%20%D0%B8%20%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D0%B0.pdf

Добавлено спустя 10 минут 32 секунды:
dccharacter писал(а):Мы ж тут не говорим про детект лазера. Детект лазера такой устойчивый, что его заманаешь сбивать. Мы говорим про то, как обеспечить детект вертикального перемещения меньше 0.01. А это совсем другая история.

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

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 20 дек 2015, 04:51

Перемещения по вертикали по 0.1мм. Дима, что ты видишь?

Добавлено спустя 9 минут 45 секунд:
Окей, давай я тебе помогу. Как насчет "единственный параметр, который мог бы нам помочь, сильно зашумлен"?

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

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 20 дек 2015, 05:04

Слушай, а что это я такое написал? :shock:
max > ConstMax. После ждем: max > ConstMax && min < ConstMin. Тут можно остановиться.
С бантиками: на 3-м шаге: max > ConstMax && min < ConstMin && Pix_Sum > ConstPixMin && Pix_Sum < ConstPixMax.

Надеюсь ты понeл, что я хотел написать? Надо проверять давление :D Я чесна тогда был трезвый :cry:
Я щаз пишу прогу, но ты меня кинул :), хотел сказать это, :
Код: Выделить всёРазвернуть
#ifndef flg_serial_debug
//-----------------------------------------------------------------------
   byte dataМах, dataМin, dataPix_Sum;
   while(1)
   {
/*
      //data = ADNS_read(squal);
      data = ADNS_read(Maximum_Pixel);
      //data = ADNS_read(Pixel_Sum);
      data > ConstMax ? pin_led_HIGH : pin_led_LOW;
*/
      pin_led_LOW;
      while(1)   //шаг1
      {
         dataМах = ADNS_read(Maximum_Pixel);
         if(dataМах > ConstMax) break;
      }
      while(1)   //шаг2
      {
         dataМах = ADNS_read(Maximum_Pixel);
         dataMin = ADNS_read(Minimum_Pixel);
         if(dataМах >(ConstMax -2) && dataMin < ConstMin) break;
      }
      while(1)   //шаг3
      {
         dataМах = ADNS_read(Maximum_Pixel);
         dataMin = ADNS_read(Minimum_Pixel);
         dataPix_Sum = ADNS_read(Pixel_Sum);
         if(dataМах > (ConstMax -2) && dataMin < (ConstMin +2) && dataPix_Sum > ConstPixMin && dataPix_Sum < ConstPixMax) break;
      }
      pin_led_HIGH;

      while(1)   //ожидание подьема головы
      {
         dataМах = ADNS_read(Maximum_Pixel);
         if(dataМах < ConstMax -2) break;
      }
   }
//-----------------------------------------------------------------------

Проверять не буду, шампанское кончилось и ты меня кинул :)
Епт, это же сколько завтра придется удалять? Рука-лицо.

Добавлено спустя 1 минуту 48 секунд:
обана, dccharacter обьявился, не кинул?

Добавлено спустя 6 минут 17 секунд:
dccharacter писал(а):Перемещения по вертикали по 0.1мм. Дима, что ты видишь?

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

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 20 дек 2015, 05:13

Блина, ну посмотри на скачки в 10 единиц всех параметров, кроме шаттера
А шаттер на ура аффектится внешней засветкой
Не ты ли мне писал, что пора в миру шум добавить?
И заметь, я забил на тот факт, что на стекле оно работать не будет :-)

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

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 20 дек 2015, 05:15

блина, ты получил 3-й знак после запятой на фуфловом тесте. Теперь поднимаешь планку до небес. Говорю словами баракуда: "Я не грязнуля, у меня стол всегда чистый". ФСЕ!

Добавлено спустя 1 минуту 26 секунд:
dccharacter писал(а):Найди на графике точку срабатывания по твоему алгоритму

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

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 20 дек 2015, 05:19

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

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 20 дек 2015, 05:20

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

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 20 дек 2015, 05:22

Дим, посмотри еще раз на график. Почему пикс сам остается всегда почти неизменным? Ну простой же вопрос!

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

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 20 дек 2015, 05:43

Кто все эти люди? Кто такой "не заметим"? Ты говорил, что получается 0.005, а тут выбросы, у тебя значительно хуже сигнал/шум чем у меня, на вопросы ты не отвечаешь, главный Бригадир Телепатов спит. Ты под Москвой, я в Питере.
Простой тест: где ответ на вопрос?
Еще есть ошибки в моем коде? Кроме ресета и все что с ним связано?

НАШЕЛ ПРОСТЫМ ПОИСКОМ НА ПРЕДПОСЛЕДНЕЙ СТРАНИЦЕ ПО ЗНАКУ "?"
Извините за капс :)

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

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 20 дек 2015, 05:55

Вот тебе подарок - код, в котором нормально запилен съем скриншота при срабатывании порога

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

Пред.След.

Вернуться в 3D печать

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

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