roboforum.ru

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

Как сделать движение тележки по большому полю ровно полосами

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

Re: Как сделать движение тележки по большому полю ровно поло

Сообщение RootAdmin » 05 май 2014, 12:34

Да, я учитываю только красный канал.
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: Как сделать движение тележки по большому полю ровно поло

Сообщение =DeaD= » 05 май 2014, 13:17

Я не говорил про взвешенное значение, я сказал, что не очень хорошо брать предопределенное количество самых ярких пикселей, лучше отсечь все по границе и координаты достаточно ярких усреднить, при этом яркость не стоит считать весом.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Как сделать движение тележки по большому полю ровно поло

Сообщение avr123.nm.ru » 05 май 2014, 14:08

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

Re: Как сделать движение тележки по большому полю ровно поло

Сообщение RootAdmin » 05 май 2014, 17:42

Типа так:
Код: Выделить всёРазвернуть
     // пробегаемся по пикселям изображения
        for(int y=0; y<frame.rows; y++)
        {
                for(int x=0; x<frame.cols; x++)
                {
               readbyte=frame.at<cv::Vec3b>(y,x)[2]; // red Только красный   
               
               if( readbyte>porog )
                        {
                                Xc += x;
                                Yc += y;
                                counter++;
                        }
                }
        }
        Coord tmp;
        if(counter!=0)
        {
             tmp.x = float(Xc)/counter;
                tmp.y = float(Yc)/counter;
            return tmp;
        }
      else
      {
             tmp.x = 0;
                tmp.y = 0;
            return tmp;
      }
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: Как сделать движение тележки по большому полю ровно поло

Сообщение avr123.nm.ru » 05 май 2014, 18:30

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

Re: Как сделать движение тележки по большому полю ровно поло

Сообщение RootAdmin » 05 май 2014, 23:55

Берем среднее яркостей всех красных пикселей, умножаем на 0,98 и вуаля.
Впрочем коэффициент можно подобрать.
У меня на сером "экране" ловился даже луч указки с насадкой (детская указка, насадки-фигурки всякие) причем через пару слоев полиэтилена.
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: Как сделать движение тележки по большому полю ровно поло

Сообщение Диабаз » 04 июл 2014, 12:52

Мне очень интересна реализация данной идеи!!!
Хочу отметить, что для меня в микроэлектронике знакомы основы и алгоритм, в остальном я ...
Подскажите, реально настроить ходовую часть механизма для движения по определенному контуру с помощью схемы, включающую время и скорость движения?
Ну и как следствие поворота на 180.
Аватара пользователя
Диабаз
 
Сообщения: 6
Зарегистрирован: 03 июл 2014, 13:40
ФИО: Васильев Павел Геннадьевич

Re: Как сделать движение тележки по большому полю ровно поло

Сообщение Vladimat » 06 ноя 2014, 00:22

Обсуждение было не долгим, но каким интенсивным! Жаль, что неизвестно чем всё это закончилось и зачем это было нужно. У меня для этой задачи такие идеи.
1. По углам площадки QR-метки, которые считывает вращающаяся вокруг вертикальной оси камера телеги и триангулирует своё положение. Достаточно 2х меток. Библиотеки для сканирования QR-меток брать тут: wiki/Распознавание_маяков_типа_%22Q-Code%22. Сложность - надо учитывать смещение, проходимое телегой за время поворота камеры от одной метки к другой при построении триангуляции. Удастся ли достичь требуемой точности - не знаю, зависит от размеров площадки, скорости телеги, скорости вращения камеры.
2. Камера стоит в стороне от площадки и смотрит на светодиод на макушке телеги. По положению светодиода вычисляет положение телеги и даёт ей команды.
3. Дождаться 2020 года, когда точность ГЛОНАСС достигнет 10см :-D http://mp3car.ru/blog/gagets/77.html
Vladimat
 
Сообщения: 436
Зарегистрирован: 04 ноя 2014, 01:57

Пред.

Вернуться в Новичкам или основы основ роботостроения.

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

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