roboforum.ru

Технический форум по робототехнике.
Текущее время: 22 апр 2025, 22:40

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Обсуждение алгоритмов движения пылесоса
СообщениеДобавлено: 15 июл 2011, 11:29 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Для начала алгоритм "квадратная спираль + оверлок" в пустой прямоугольной комнате
Код:
фон = room.gif
переменная а
цвет 13
перо 1
опустить перо

переменная х
переменная шаг
переменная ширина_спирали
х = 1
ширина_спирали = 10
шаг = ширина_спирали
спираль:
поднять перо
вперед 1
если датчик <50 то
назад 1
опустить перо
перейти к конец_спираль
иначе
назад 1
опустить перо
вперед 1
конец условия
шаг = шаг-1
если шаг = 0 то
х = х+1
шаг = ширина_спирали*х
направо 90
конец условия
перейти к спираль

конец_спираль:
а = 10
повторять пока а > 1
{
     поднять перо
     вперед 3
     если датчик > 50 то
          назад 3
          опустить перо
          вперед 3
          направо а
а = а / 1.0002

     иначе
          назад 3
          налево 90 + случайный * 90

     конец условия
}
пиши "конец"



Вложения:
room.gif
room.gif [ 3.31 КиБ | Просмотров: 11020 ]


Последний раз редактировалось Radist 19 июл 2011, 12:25, всего редактировалось 2 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 11:31 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Я вас умоляю - не надо оценивать сферические алгоритмы в вакууме :)

Либо надо добавить препятствия, либо погрешность движения, а лучше и то и другое.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 11:39 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Это только для начала, чтоб отработать сам алгоритм. У меня спираль не сразу вышла - язык очень примитивный. А потом можно нарисовать свою мебель, поставить черепашку к стенке у зарядной станции, повернуть ее в нужную сторону. Тема создана для обмена программами/алгоритмами, а также планами комнат.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 11:41 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
Можно начинать убираться в комнате yak-40 :wink:
forum90/topic9506-795.html#p212133

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 12:18 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Это можно
Код:
фон = yak-40.gif
поднять перо
место 50,50
переменная а
цвет 13
перо 1
опустить перо

переменная х
переменная шаг
переменная ширина_спирали
х = 1
ширина_спирали = 10
шаг = ширина_спирали
спираль:
поднять перо
вперед 1
если датчик <50 то
назад 1
опустить перо
перейти к конец_спираль
иначе
назад 1
опустить перо
вперед 1
конец условия
шаг = шаг-1
если шаг = 0 то
х = х+1
шаг = ширина_спирали*х
направо 90
конец условия
перейти к спираль

конец_спираль:
а = 10
повторять пока а > 1
{
     поднять перо
     вперед 1
     если датчик > 50 то
          назад 1
          опустить перо
          вперед 1
          направо а
а = а / 1.0002

     иначе
          назад 3
          налево 90 + случайный * 90

     конец условия
}
пиши "конец"



Вложения:
yak-40.GIF
yak-40.GIF [ 4.28 КиБ | Просмотров: 10858 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 12:25 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
:crazy:


Вложения:
Room_yak_40.gif
Room_yak_40.gif [ 23.63 КиБ | Просмотров: 7841 ]

_________________
_________
Sincerely,
Vovan
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 12:45 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Предлагаю во вложения вставлять файлы "чистых" комнат, чтоб по ним можно было повозить черепашку разными алгоритмами. Зарисованные комнаты мы сами посмотрим - их уже второй раз не использовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 13:40 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Надо сделать толщину окружности в радиус пылесоса :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 15:56 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Да в этом лого, к сожалению, приходится извращаться, если делаешь широкую линию , то черепха подъезжая к стенке ее (стенку) закрашивает и едет сквозь стенку спокойно по своему только что нарисованному следу.


Последний раз редактировалось Michael_K 15 июл 2011, 19:47, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 16:18 
Не в сети

Зарегистрирован: 16 июл 2010, 16:25
Сообщения: 219
Откуда: Беларусь , Минск
Отработка алгоритмов на компьютере хорошая идея :good:
Было бы хорошо рас , сформировали отдельную темку , и программу Game Logo выложить , а то как не искал так и не нашел :cry: . Хотелось бы тоже опробовать :)

_________________
Любая высокоразвитая технология похожа на волшебство


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 16:38 
Не в сети
Аватара пользователя

Зарегистрирован: 12 авг 2010, 15:10
Сообщения: 897
Откуда: Астраханская обл.
GameLogo http://myrobot.ru/logo/download.php

_________________
Соединяй и здравствуй.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 19:44 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Алгоритм "газонокосилка"
Код:
фон = path.gif
переменная угол_поворота
переменная пройденный_путь
переменная флаг
цвет 14
перо 1
опустить перо

флаг = 1
пройденный_путь =0

повторять 10000
{
     поднять перо
     вперед 3
     если датчик > 50 то
          назад 3
          опустить перо
          вперед 3
          пройденный_путь = пройденный_путь+3
     иначе
          назад 3
          если пройденный_путь < 15 то
               угол_поворота = 90
              если флаг = 1 то
                  налево угол_поворота
                  флаг = 0
              иначе
                  направо угол_поворота
                  флаг = 1
              конец условия
          иначе
              угол_поворота = 180 - (15/пройденный_путь) * 180 / 3.14
              если флаг = 1 то
                  направо угол_поворота
                  флаг = 0
              иначе
                  налево угол_поворота
                  флаг = 1
              конец условия
          конец условия
          пройденный_путь = 0
     конец условия
}
пиши "конец"
Вложение:
lm1.jpg
lm1.jpg [ 44.94 КиБ | Просмотров: 7820 ]
Вложение:
lm2.JPG
lm2.JPG [ 54.57 КиБ | Просмотров: 7815 ]


Добавлено спустя 5 минут 16 секунд:
у оверлока нужно угол отскока уменьшить. А чтобы он круги не мотал, попав в чистое поле, ограничить движение по дуге разумной цифрой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 22:14 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
ИМХО команду "поднять перо" употреблять не следует, т.к. применительно к пылесосу, пока, эта команда не подходит - у него всегда "перо опущено".
Про необходимость "поднятия пера" у пылесоса - в соседней теме.

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 22:26 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
разрешаю не употреблять :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отработка алгоритмов движения пылесоса в среде Game Logo
СообщениеДобавлено: 15 июл 2011, 22:41 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
А я наоборот поддерживаю предварительную проверку стены. Реальный пылесос в стену заехать не может, а черепашка заезжает. И если она принесет туда след, то потом будут глюки с определением стены. Так что я за поднятие пера перед проверкой.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO