Форум по Роботика
Проекти за роботи => Други роботи => Темата е започната от: nunep в Септември 16, 2010, 10:33:58 am
-
Здравейте!
Със съвети от форума относно избора на камери и използването на библиотеки за управление на серво моторите накрая си направих идеята за робо-очите :clap:
Използвани части:
- 3 броя 8 грама серво
- 2 камери модел NEO NC-386
- Ардуино DUEMILANOVE
- подръчни материали
тука е камерката готова за монтаж:
http://kachi-snimka.info/viewer.php?id=viu1284624435h.jpg
Снимки на конструкцията:
http://kachi-snimka.info/viewer.php?id=cqs1284624601v.JPG
http://kachi-snimka.info/viewer.php?id=viu1284624623x.JPG
http://kachi-snimka.info/viewer.php?id=bwy1284624642m.JPG
http://kachi-snimka.info/viewer.php?id=arx1284624669c.JPG
Ето и кода на програмата:
#include <MegaServo.h>
#define NBR_SERVOS 3 // the number of servos, up to 48 for Mega, 12 for other boards
#define FIRST_SERVO_PIN 2
MegaServo Servos[NBR_SERVOS] ; // max servos is 48 for mega, 12 for other boards
int pos = 0;
int pl = 80;
int pr = 100;
void setup()
{
Servos[0].attach(2);
Servos[1].attach(3);
Servos[2].attach(4);
Servos[0].write(pl);
Servos[1].write(pr);
Servos[2].write(90);
delay(10000);
}
void loop()
{
for ( int p=0; p<5; p++)
{
for( int i =-30; i < 30; i++)
{
Servos[0].write( pl+i);
Servos[1].write( pr+i);
Servos[2].write( 90+i);
delay(50);
}
for( int i =30; i >-30; i--)
{
Servos[0].write( pl+i);
Servos[1].write( pr+i);
Servos[2].write( 90+i);
delay(50);
}
}
for ( int p=0; p<5; p++)
{
for( int i =-30; i < 30; i++)
{
Servos[0].write( pl+i);
delay(50);
}
for( int i =30; i >-30; i--)
{
Servos[0].write( pl+i);
delay(50);
}
}
}
По-късно ще кача и видеоклип.
-
Колега, интересна статия. :) Браво за механиката, изглежда много добре! Мога ли да те попитам каква е тази библиотека MegaServo.h и можеш ли да я качиш, за да я разгледаме и ползваме? :)
Поздрави!
-
http://www.arduino.cc/playground/Code/MegaServo
-
ето и клип:
http://www.youtube.com/watch?v=YSjarrd0W7o
относно библиотеката за сервото и аз несъм много наясно и с помоща на MIVR ....
http://www.robotics-bg.com/forum/viewtopic.php?t=1114
последният пост на mivr
-
Браво! На мен ми харесва :) А тези камери какви са точно и какво ще правиш после с картината от тях?
-
Браво! Много добре изглежда, какво мислиш да правиш с тази система за стерео зрение, ако имаш въпроси свързани с обработка на изображения ще помогна с удоволствие.
-
@anio: камерите са обикновенни WEB камерки модел NEO NC-386. От техномаркет ги купих за по 19 лв. едната. Хареса ми че дават хубав образ имат и вграден микрофон, сигнала на който върви по USB а не отделен кабел за микрофонен вход. В първия пост съм пуснал картинка на платката на камерката.
@sv_shady: целта ми беше да направя механиката. Несъм програмист и от такова сложно програмиране за прихващане и обработка на образ не разбирам а и не ми се занимава.
@Borislav: механиката става добре - друго е човек като си има CNC. Затова бях предложил да изрежа частите на крачещия робот стига да не са от метал. Но офератат още важи :D
-
Не мога да разбера за какво служат тези неща.
Моля за информация.
-
@bochev ебаси въпроса :-D ами за нищо не служат тези неща. Всичко се прави така за спорта (хобито). Накрая ти остава удоволствието от нещото което си създал и натрупания опит. Иначе конкретно това ако някой ден ми потрябва глава за робот слагам тази и тотово. Даже има място за монтаж на лазерчета щом те кефят оръжия :D
-----------------------------
До момента за измерване на разстояние до обект ставаше с камера + лазер. Възможен ли е метода показан на схемата с 2 камери? Където:
- A,B - камерите;
- C - обекта;
- L - константа;
- α,β,γ - ъглите които се снемат след окончателно фокусиране на 2-те камери;
(http://kachi-snimka.info/thumbs/arx1285351542l.jpg) (http://kachi-snimka.info/viewer.php?id=arx1285351542l.jpg)
Възможни проблеми:
- Недостатъчно добро фокусиране на камерите;
- Луфтовете по механиката да оказват влияние на точноста в ъглите;
Как ви се вижда идеята?
Благодаря!
-
Теоритично е напълно възможно, директно приложение на синусова теорема, обаче смятам, че механиката ще внася доста отклонения от реалното разстояние.