roboforum.ru

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


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

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

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

Сообщение dccharacter » 10 фев 2016, 09:50


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

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

Сообщение linvinus » 10 фев 2016, 10:00

а чем принципиально отличается версия с двумя лазерами от версии с одним лазером?
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

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

Сообщение dccharacter » 10 фев 2016, 10:06


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

Добавлено спустя 1 минуту 12 секунд:
linvinus писал(а):а чем принципиально отличается версия с двумя лазерами от версии с одним лазером?

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

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

Сообщение linvinus » 10 фев 2016, 10:22

dccharacter писал(а):Это тест на сильно замаркированной поверхности, лазерных пятен почти не видно, надо фокусировкой заниматься и вообще оптикой

оптика в любом случае нужна, и её нужно юстировать.

dccharacter писал(а):Предположительно данные с двух соседних фреймов (каждый из которых подсвечен своим лазером) будут схожи в очень узком диапазоне высот датчика.

не уловил, тут речь о двух датчиках adns-2610 или двух кадрах? если кадрах, то мы уже выяснили что кадры считываются очень медленно
если не кадры считывать а опираться на pix_min,max,sum,squial то непонятно как определять что такое два соседних фрейма
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

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

Сообщение dccharacter » 10 фев 2016, 10:34

Вот код https://github.com/dccharacter/RF3Sens/ ... uble_laser
В этой версии работает так:
Включили лазер 1, считали макс пиксел и шаттер, выключили лазер.
Включили лазер 2, считали макс пиксел и шаттер, выключили лазер.
Сравнили. Если при максимальных значениях пикселей (оба пятна в поле зрения матрицы) значения шаттеров близки, сообщаем о детекте.

Добавлено спустя 1 минуту 33 секунды:
linvinus писал(а):оптика в любом случае нужна, и её нужно юстировать.

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

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

Сообщение setar » 10 фев 2016, 11:19

linvinus писал(а):@setar на видео больше похоже на то что лазер регулируется по значению pix_sum а не от pix_max , я прав?
хотя по видео мощность лазера постоянна, выходит что это выдержка меняется.

тут лазер на постоянной PWM величине,
управлять могу но пока это только ухудшает результаты
Еще ошибка, первый столбик пикселей это последний столбик кадра

ага, это я коллегам уже писал
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

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

Сообщение linvinus » 10 фев 2016, 11:45

ещё нужно понять почему pix_max,min больше 63


setar писал(а):тут лазер на постоянной PWM величине,
управлять могу но пока это только ухудшает результаты


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

А есть возможность снять аналогичное видео с медленным проходом на разных поверхностях? (с зафиксированной мощностью лазера)
Мне интересно какая будет зависимость, и какие показатели SQUAL

И ещё уточните пожалуйста постановку задачи, вам нужно выставлять точную высоту независимо от типа подложки или нужна относительная но одинаковая высота на одной и той же подложке (т.е. если подложку сменить то высота изменится но срабатывать будет на одинаковой высоте для этого типа поверхности)?

Добавлено спустя 7 минут 35 секунд:
dccharacter писал(а):Включили лазер 1, считали макс пиксел и шаттер, выключили лазер.
Включили лазер 2, считали макс пиксел и шаттер, выключили лазер.
Сравнили. Если при максимальных значениях пикселей (оба пятна в поле зрения матрицы) значения шаттеров близки, сообщаем о детекте.

в таком алгоритме логика есть, правило - две непараллельные прямые на одной плоскости пересекаются в одной точке
а мощности лазеров не отличаются?
а если на один лазер пылинка попадёт?
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

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

Сообщение setar » 10 фев 2016, 11:51

основная задача сейчас в принципе уже решена (методом обнаружения максимального пиксела в кадре):
получить воспроизводимость срабатывания на одинаковой высоте (какой - в принципе не важно, лишь бы не плавала от дня к другому) с точностью от 0.01мм и лучше.

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

Принтер дома, вечером проведу серию тестов
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

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

Сообщение ales2k » 10 фев 2016, 12:00

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

P/S ваш код у меня так и не заработал, переписал функции ADNS_read и ADNS_write по примеру референсной библиотеки, сейчас все работает.
Сейчас начал бороться с оптикой.

P/P/S Нашел прогу на процессинге для фокусировки оптики ADNS2620, работает подо всем и виндами, 1-2 кадра в секунду, очень удобно.
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.
Аватара пользователя
ales2k
 
Сообщения: 463
Зарегистрирован: 30 июн 2014, 12:50

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

Сообщение linvinus » 10 фев 2016, 12:03

судя по видео я бы сказал что shutter ориентируется не на pix_max а на pix_sum,

Еще не плохо было бы определять внешнюю засветку, сейчас если осветить ярким фонарем с лампой накаливания пятно датчика, то срабатывания не происходит. Логично наверное дать срабатывание сразу как будет обнаружена чрезмерная засветка, это защитит механику от повреждений.

возможно мы говорим об одном и том же


нужно понять shutter ориентируется на pix_max или на pix_sum,

может быть такой вариант - shutter отрабатывает по pix_max, как сказано в документации но только в центральной зоне сенсора например в зоне 10x10 пикселей

чтобы понять первый вариант или второй можно подвести лазер к краю, когда pix_max подскочит до 123 потом подсветить место лазера другим источником света, например фонариком, чтобы остальные пиксели засветить но не пересветить.
если shutter изменится - то pix_sum, если нет - то pix_max


Однако сейчас дистанция срабатывания зависит от цвета поверхности, это не очень хорошо т.к. можно получить ошибку при неравномерно очищенном столике.

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

Нашел прогу на процессинге для фокусировки оптики ADNS2620, работает подо всем и виндами, 1-2 кадра в секунду, очень удобно.

а ссылку можно?
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

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

Сообщение ales2k » 10 фев 2016, 12:51

http://pastebin.com/XqGyP5EA - Пока искал ссылку - вы ответили

По не работе кода функций - у меня есть два подозрения
1 в неполной совместимости 12085 с ADNS2620
2 в задержках, у меня нанка 16Mhz и в референсе задержки на 20% больше.


P/S По видео - а вы доп фокусировку лазера не делаете? Точка сильно велика.

Добавлено спустя 22 минуты 14 секунд:
Похоже подтверждается мое первое подозрение
val = DriverRead(0x08); // в работающем коде сделано как у ADNS2610, хотя везде написано что 12085 полный аналог ADNS2620
#define Pixel_Grab 0x48 // в sensor_ADNS_2620.h

Пойду читать доку с коммандами

Добавлено спустя 24 минуты 16 секунд:
Судя по всему 12085 (мой из мыши логитечь) аналог ADNS2610 а не ADNS2620
Пойду препарирую еще пяток мышей разных
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.
Аватара пользователя
ales2k
 
Сообщения: 463
Зарегистрирован: 30 июн 2014, 12:50

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

Сообщение setar » 10 фев 2016, 13:32

доп фокусировку делаем, не всегда удачно получается
у меня сейчас два рабочих устройства, на одном из них в два раз меньше точка, вот только это не влияет на результат, по крайней мере на текущих алгоритмах.
без фокусировки оригинальный луч перекрывает все поле зрения и он слаб очень, на черном не видно.

Добавлено спустя 2 минуты 52 секунды:
P.S. c фокусировкой тут еще нужно учитывать что от края до края датчика перемещается пятно за 3-5мм хода Z (кстати нужно померять), за это расстояние фокус успевает быть расплывчатым, собраться в точку и опять разойтись.
только на скорости точку эту в пятно все равно размывает.
сейчас попробую видео на другом устройстве снять.
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

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

Сообщение ales2k » 10 фев 2016, 13:59

Может у меня не такой лазер http://ru.aliexpress.com/item/New-Hot-R ... 44635.html , но на черном глазами видно отлично. Линзу с пирамидкой с него скрутил, сейчас светит в точку.

Сергей а как делал оптику для датчика, что то у меня пока ничего толкового не получается?
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.
Аватара пользователя
ales2k
 
Сообщения: 463
Зарегистрирован: 30 июн 2014, 12:50

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

Сообщение setar » 10 фев 2016, 14:12

при скрученной линзе в точку ? :shock:
про оптику :
forum107/topic15929-630.html#p347057
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

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

Сообщение ales2k » 10 фев 2016, 14:15

Не верно выразился. Там идет линза нормальная а за ней стоит стеклышко с пирамидкой чтобы луч в линию расфокусировать
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.
Аватара пользователя
ales2k
 
Сообщения: 463
Зарегистрирован: 30 июн 2014, 12:50

Пред.След.

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

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

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