roboforum.ru

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

Как из дешевого китайского танчика сделать робоплатформу

Обсуждаем рождающиеся мысли и результаты экспериментов.

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение blindman » 29 апр 2009, 12:02

если все прочее под Linux собирается - лучше wxWidgets, и желательно поновее
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение =DeaD= » 29 апр 2009, 12:11

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

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение EDV » 29 апр 2009, 12:19

OpenCV – многоплатформенная, так что я тоже за wxWidgets, вот только не знаю, как здешним разработчикам, удобно компилировать будет? Дискомфорт не будет создавать? Эту библиотеку (wxWidgets) ведь придётся отдельно выкачивать, инсталлировать, компилировать, настраивать пути к заголовочным файлам и библиотекам.

А вот в MFC ничего такого делать не придётся, он входит в инсталляционный пакет самой среды Microsoft Visual Studio 6.0.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение Duhas » 29 апр 2009, 12:33

я думаю те кому оно надо и не на такие "жертвы" пойдут :crazy:
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение blindman » 29 апр 2009, 12:42

На самом деле вопрос не в том,насколько удобно использовать wxWidgets, а в том, сможет ли автор предоставить свои закрытые библиотеки скомпилированные под Linux
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение EDV » 29 апр 2009, 13:37

Хороший вопрос :)
Пока что AVM SDK есть только под Windows, но потенциально исходники можно скомпилировать и под Linux (потому что они завязаны только на OpenCV).
Последний раз редактировалось blindman 29 апр 2009, 13:41, всего редактировалось 1 раз.
Причина: Излишнее цитирование!
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение =DeaD= » 29 апр 2009, 14:06

blindman писал(а):На самом деле вопрос не в том,насколько удобно использовать wxWidgets, а в том, сможет ли автор предоставить свои закрытые библиотеки скомпилированные под Linux

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

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение EDV » 12 май 2009, 08:52

Я начал разработку программы «Навигатор» и у меня готовы первые результаты.

Кто сказал, что управлять «зрячим» роботом очень сложно?

Посмотрите, на что способен мизерный кусочек кода (алгоритм управления роботом) плюс технология AVM.

Код: Выделить всёРазвернуть
if(gpCmdArray) {
   bool MvFrw = gpCmdArray->Cmd[cmFORWARD];
   bool MvBkw = gpCmdArray->Cmd[cmBACKWARDS];
   bool MvLft = gpCmdArray->Cmd[cmLEFT];
   bool MvRht = gpCmdArray->Cmd[cmRIGHT];
   bool TrLft = gpCmdArray->Cmd[cmTURRET_LEFT];
   bool TrRht = gpCmdArray->Cmd[cmTURRET_RIGHT];
   memset(gpCmdArray, 0, sizeof(TCmdArray));

   if(d.ObjTotal) {
      double ScrBase = MIN(apImage->width, apImage->height);
      double ObjBase = MAX(d.ObjRect->width, d.ObjRect->height);
      double ObjZoom = ObjBaseScrBase;
      
      int cXs = apImage->width>>1;
      int cXo = d.ObjRect->x + (d.ObjRect->width>>1);
      int cXd = cXs - cXo;

      if(ObjZoom > 0.6  || (ObjZoom > 0.57 && MvBkw)) { gpCmdArray->Cmd[cmBACKWARDS] = true; }
      if(ObjZoom < 0.30 || (ObjZoom < 0.33 && MvFrw)) { gpCmdArray->Cmd[cmFORWARD]   = true; }

      if(cXd >  40) {
         if(!MvLft && gNvg.TurretBalance > 0) { gpCmdArray->Cmd[cmLEFT] = true; }
         if(!TrLft) {
            gpCmdArray->Cmd[cmTURRET_LEFT] = true;
            gNvg.TurretBalance++;
         }
      }

      if(cXd < -40) {
         if(!MvRht && gNvg.TurretBalance < 0) { gpCmdArray->Cmd[cmRIGHT] = true; }
         if(!TrRht) {
            gpCmdArray->Cmd[cmTURRET_RIGHT] = true;
            gNvg.TurretBalance--;
         }
      }
   } else {
      // Выравнивание башни
      if(gNvg.TurretBalance) {
         if(gNvg.TurretBalance > 0) {
            gpCmdArray->Cmd[cmTURRET_RIGHT] = true;
            gNvg.TurretBalance--;
         } else {
            gpCmdArray->Cmd[cmTURRET_LEFT] = true;
            gNvg.TurretBalance++;
         }
      }
   }
}


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

Я добавил два видеоролика, демонстрирующих процесс навигации:

http://rapidshare.de/files/47125315/Navigate1.avi.html
http://rapidshare.de/files/47125331/Navigate2.avi.html

Экран разделён на две части, слева то, что видит робот, а справа запечатлен общий план. В левом нижнем углу, расположен индикатор команд, которые выдаёт алгоритм управления. Расположение индикаторов соответствую расположению кнопок в диалоговом окне драйвера управления роботом.

Изображение

В ближайшее время я планирую подготовить и опубликовать на «Робофоруме» исходные тексты программы «Recognition.exe», в которой будет реализован режим навигации робота.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение =DeaD= » 12 май 2009, 09:03

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

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение EDV » 12 май 2009, 09:07

Сейчас попробую залить…
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение Snable » 12 май 2009, 09:25

Определенно круто) Вот это уже серьезные вещи) :good:
Аватара пользователя
Snable
 
Сообщения: 395
Зарегистрирован: 21 мар 2009, 20:06
Откуда: Город на Неве
прог. языки: GNU C++ with Qt / C# via .NET
ФИО: Александр

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение EDV » 12 май 2009, 10:18

Записал видео на YouTube:

Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение =DeaD= » 12 май 2009, 10:41

Прикольно :) хотя с точки зрения использования этого на практике - не ясно зачем :)

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

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение EdGull » 12 май 2009, 11:16

зато я знаю как на практике применить...
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Как из дешевого китайского танчика сделать робоплатформу

Сообщение EDV » 12 май 2009, 11:26

Основная цель этого эксперимента – выяснить, способна ли AVM управлять роботом (по скорости, по помехам типа размазывание изображения при движении). И похоже, что у AVM получается управлять роботом. Так что теперь, можно попробовать усложнить задачу навигации. Я постараюсь подготовить и опубликовать исходные тексты программы «навигатора», что бы все желающие имели возможность поучаствовать в разработке алгоритмов навигации. Для управления роботом «навигатор» будет использовать драйвер управления, так что если у кого то робплатформа будет отличатся от используемой мною, то им будет достаточно модифицировать программу драйвера под свой робот без изменений в программе «навигатора».
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Пред.След.

Вернуться в Идеи

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

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

cron