роботы робототехника микроконтроллеры


 Страниц (6): « 1 2 3 [4] 5 6 »   

> Без описания
Vladimir72 Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  



варианты все, что именно интересует? дальше все работает программно, над которой я сейчас работаю.
 
 Top
Vladimir72 Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  



Всем привет!
азиаты шагнули далеко!!! Вот ссылка соревнование по micromouse (робот-лабиринт)

http://www.youtube.com/watch?v=bproY7G2t4o
 
 Top
Vladimir72 Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  



Всем привет! Возобновил проект робот лабиринт, сейчас пробую езду по линии, повороты, доберусь скоро до лабиринта.
 
 Top
fortekom Post Id


Маршал


Сообщений всего: 148
Дата рег-ции: Окт. 2012  



Vladimir72 пишет:
Всем привет!
азиаты шагнули далеко!!! Вот ссылка соревнование по micromouse (робот-лабиринт)


Вот ссылка посмотри тут
http://myrobot.ru/news/2012/01/20120124_2.php
 
 Top
fortekom Post Id


Маршал


Сообщений всего: 148
Дата рег-ции: Окт. 2012  



Нам понадобилась программа, под ардуину, для прохождения лабиринта, но почему то ни чего готового не нашел кроме - http://www.myrobot.ru/articles/l..._mazesolving.php
Пришлось написать самим, может кому нибудь пригодится. (таким начинающим как мы)
CODE:
#define SPEED_LEFT 5 // ШИМ для левой стороны
#define SPEED_RIGHT 9 // ШИМ для правой стороны
#define DIR_LEFT 6 // цифровой выход для левой стороны
#define DIR_RIGHT 10 // цифровой выход для правой стороны
#define CENTR 4 // датчик растояния спереди
#define RIGHT 12 // датчик растояния с правой стороны

int SPEED = 20; // скорость движения, если уменьшать то будет быстрее ехать
int prym = 714; //714 - 7,2В 437 - 11,1 проезд 30см
// параметр отвечает за проезд вперед на один шаг
// к примеру ставим 1000 и робот проезжает на 42см, тогда 1000*30/42=714

int prym1 = 250; // когда кончится стена с право, проехать до середины
int pov = 400; //250 поворот на 90гр

void runForward()
{
analogWrite(SPEED_LEFT, SPEED);
analogWrite(SPEED_RIGHT, SPEED);
digitalWrite(DIR_LEFT, 1);
digitalWrite(DIR_RIGHT, 1);
}

void runVPERED()
{
analogWrite(SPEED_LEFT, SPEED);
analogWrite(SPEED_RIGHT, SPEED);
digitalWrite(DIR_LEFT, 1);
digitalWrite(DIR_RIGHT, 1);
delay (prym);
digitalWrite(DIR_LEFT, 0);
digitalWrite(DIR_RIGHT, 0);
analogWrite(SPEED_LEFT, 0);
analogWrite(SPEED_RIGHT, 0);
}

void runVPERED1()
{
analogWrite(SPEED_LEFT, SPEED);
analogWrite(SPEED_RIGHT, SPEED);
digitalWrite(DIR_LEFT, 1);
digitalWrite(DIR_RIGHT, 1);
delay (prym1);
digitalWrite(DIR_LEFT, 0);
digitalWrite(DIR_RIGHT, 0);
analogWrite(SPEED_LEFT, 0);
analogWrite(SPEED_RIGHT, 0);
}

void runPOVR()
{
analogWrite(SPEED_LEFT, SPEED);
analogWrite(SPEED_RIGHT, (255-SPEED));
digitalWrite(DIR_LEFT, 1);
digitalWrite(DIR_RIGHT, 0);
delay (pov);
analogWrite(SPEED_RIGHT, 0);
digitalWrite(DIR_LEFT, 0);
analogWrite(SPEED_LEFT, 0);
}

void runPOVL()
{
analogWrite(SPEED_LEFT, (255-SPEED));
analogWrite(SPEED_RIGHT, SPEED);
digitalWrite(DIR_LEFT, 0);
digitalWrite(DIR_RIGHT, 1);
delay (pov);
digitalWrite(DIR_RIGHT, 0);
analogWrite(SPEED_LEFT, 0);
analogWrite(SPEED_RIGHT, 0);
}

void setup()
{
pinMode(SPEED_LEFT, OUTPUT);
pinMode(SPEED_RIGHT, OUTPUT);
pinMode(DIR_LEFT, OUTPUT);
pinMode(DIR_RIGHT, OUTPUT);
}

void loop()
{
if (digitalRead(RIGHT) == 0 and digitalRead(CENTR) == 1){
runForward();// едем прямо пока стена не кончится
}
else {
if (digitalRead(RIGHT) == 0 and digitalRead(CENTR)== 0){
runPOVL();// если справо и спереди стена, то поворот на лево
}
else {// иначе делаем поворот на право и шаг вперед
runVPERED1(); // немного вперед
runPOVR(); // повернуть на право
runVPERED(); //проехать 30 см вперед
if (digitalRead(RIGHT) == 1){//если справо нет стены, то делаем
// ещё один поворот на право и шаг вперед
runPOVR();
runVPERED();
}
}
}
delay (100);
}
 
 Top
Петр Киселев Post Id



Гуру


Сообщений всего: 2397
Дата рег-ции: Окт. 2012  



fortekom, если не секрет, какие технические данные твоего робота:
диаметр колес;
колея (ресстояние между центрами колес);
какие мотор-редукторы.
Или это готовая платформа?
(Добавление)
А видео нет? Хотелось бы увидеть!
 
 Top
fortekom Post Id


Маршал


Сообщений всего: 148
Дата рег-ции: Окт. 2012  



Шасси гусеницы, платформа из оргстекла, лобзиком пиленая.
Между осями 8см, длина гусениц 12см, ширина 11см.
гусянки такие - http://robototehnika.ru/e-store/...atalog/208/1083/
Мы их на выигранный сертификат в Амперке покупали.
Движки эти - Мотор-редуктор Gekko MR16 (не помню передаточное отношение)
Датчики - http://dvrobot.ru/238/406.html

Наш робот настроен ещё на движение по линии, выбор программ осуществляется реостатом на 10кОм (наверху установлен) Мы так настраивали до 5 различных программ в одном роботе и плюс ещё после выбора регулировали скорость этим же переменником.
 
 Top
fortekom Post Id


Маршал


Сообщений всего: 148
Дата рег-ции: Окт. 2012  



Старт робота настроен от переднего датчика.

Видео к сожалению нету.
 
 Top
fortekom Post Id


Маршал


Сообщений всего: 148
Дата рег-ции: Окт. 2012  



Лабиринт размером 120см на 240см составленный из квадратов 30*30, очень быстро меняется маршрут.
Вот тут правило - http://wroboto.ru/rules/freecat/.../svobcat_62.html

Даже я засветился на фото Улыбка
(Добавление)
С датчиков берем только три состояния.
1- впереди пусто, а с право стена
2- впереди пусто, а с право кончилась стена
3- впереди стена

При повороте на право, может быть два состояния
1- мы повернули и с право стена
2- мы повернули, а с право нет стены, значит делаем ещё поворот на 90гр.
Вот и весь алгоритм.

С начало мы сделали, чтобы робот делал шаг (то есть проезжал ровно 30см), но наш самодельный лабиринт был не идеальным. Поэтому вместо шага, он у нас двигается вдоль стены, пока датчик не увидит проход с право, а дальше нужно проехать до центра квадрата, повернуть на 90гр. и ещё проехать 30см на следующий квадрат, если с право нет стены, то сделать ещё поворот на 90гр. А дальше цикл повторяется.
30см настраивали так- ставили линейку и давали проехать роботу за 1000мс (1сек) из полученного результата с помощью пропорции находили нужное время для прохождения ровно 30см.
Увеличивая напряжение скорость увеличивалась, но он вставал на дыбы и переворачивался, пришлось выбрать оптимальное напряжение 7,4В.
Хотя если добавить плавность набора скорости, можно улучшить результат.
 
 Top
Петр Киселев Post Id



Гуру


Сообщений всего: 2397
Дата рег-ции: Окт. 2012  



Сегодня раскрасил поле (1,5х1,5 м) для лабиринта.
Собираюсь начать изготовление робота для прохождения.

Что за электроника нужна для такого робота?
 
 Top
Vladimir72 Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  



Петр какой лабиринт будешь использовать, стена или линия?
 
 Top
Петр Киселев Post Id



Гуру


Сообщений всего: 2397
Дата рег-ции: Окт. 2012  



Линия. На поле 1,5х1,5 метра повторил лабиринт из видео по ссылке:

http://www.youtube.com/watch?v=MLHeUEPLSAY

Это поле уже готово.
Сегодня начну вырисовывать второе - поле по линии. Там я нагородил свое. Собираюсь в дальнейшем использовать его и для слалома.
(Добавление)
Очень неплохой лабиринт вот здесь:

http://www.youtube.com/watch?v=Q3keldV-pmc

Я его только сегодня встретил, а то бы его изобразил.
 
 Top
Vladimir72 Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  



Петр, рисуешь черной тушью?
 
 Top
Петр Киселев Post Id



Гуру


Сообщений всего: 2397
Дата рег-ции: Окт. 2012  



Нет. Темно-синими маркерами.Вот мой лабиринт:
(Добавление)
Так, что насчет электроники? Ардуино и датчики линии? Или ATmega8 и L293D и датчики?
Что лучше?
Прикреплено изображение
Лабиринт 480.JPG

 
 Top
Vladimir72 Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  



разницы нет, используй что удобней для тебя, сколько датчиков планируешь, какие будешь использовать, цифра или аналог?
 
 Top
Страниц (6): « 1 2 3 [4] 5 6 »
« Делаем роботов »


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





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru