roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 14:37

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




Начать новую тему Ответить на тему  [ Сообщений: 352 ]  На страницу Пред.  1 ... 17, 18, 19, 20, 21, 22, 23, 24  След.
Автор Сообщение
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 11:58 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2SMT: Реально не понятно что и как в вашей программе :( можно привести скриншот с какой-то программкой и указать, какие блоки что означают?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 13:20 
Не в сети
Аватара пользователя

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

Думаете поможет? :)
Там стековая машина - сначала запихиваешь аргументы, потом вызываешь функцию.
Ход выполнения программы - это тайна покрытая мраком... Оно конечно событийное, только кубики
стоят в строгом беспорядке... "Соединение" и "объединить" вообще убили...

Вот этот код, казалось бы, должен быть интуитивно понятным:
Ехать вперед, если стукнулся бампером, то две секунды назад, после чего продолжить ехать вперед.
Вложение:
rvsl.GIF
rvsl.GIF [ 25.52 КиБ | Просмотров: 1512 ]

Обратите внимание это ЛИНЕЙНЫЕ два события :) Без циклов, без ветвлений...

Интуитивная понятность даже у текста выше, имхо,
Старт
=====
Мотор1.ПолныйВперед
Мотор2.ПолныйВперед

Бампер
======
Мотор1.ПолныйНазад
Мотор2.ПолныйНазад
Пауза 2 секунды
Мотор1.ПолныйВперед
Мотор2.ПолныйВперед


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 13:41 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 14:15 
Не в сети

Зарегистрирован: 23 авг 2008, 22:28
Сообщения: 1158
Откуда: Санкт-Петербург
ФИО: Сергей
Сделал пару демок с использованием встроенной "симуляции" :)
Использование переменной

Передача значения мощности моторам и их остановка по сигналу нажатия на бампер


Синим - движение данных, красным - передача на исполнительные устройства, зеленым - получение внешних событий.
Стека нет - данные или сохраняются в переменных или передаются сквозь кубики.
Вложение:
RVSL-Demo-Events.jpg
RVSL-Demo-Events.jpg [ 73.25 КиБ | Просмотров: 1498 ]


Добавлено спустя 13 минут 27 секунд:
Программа сырая, но для обкатки решения достаточна. Предлагаю раскритиковать нафиг неудачные решения и предложить улучшения или альтернативу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 14:16 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
+1. Вынос мозга...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 14:16 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2SMT: Я понимаю как это работает, а вот школьникам ИМХО будет очень тяжко. Не ясно как между собой перекликаются две ветки исполнения программы. Ну и самое главное - не ясно как с этого переходить позже на обычный язык :(

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 14:29 
Не в сети

Зарегистрирован: 23 авг 2008, 22:28
Сообщения: 1158
Откуда: Санкт-Петербург
ФИО: Сергей
Насчет веток была мысль переделать (в Lego аналогично вроде сделано). Общее поле сделать в виде таб-контрола, в каждой вкладке (табе) на входе только одно событие. Например, вкладка для обработки сигнала одного бампера (для другого - вторая вкладка), кнопки "пуск", таймера и т.п. Сервисы (датчики), поставляющие события (и\или данные) проверять по очереди (вытесняющая многозадачность, как в Win3.1), или по прерываниям (учитывая приоритеты).

Добавлено спустя 3 минуты 2 секунды:
Каждый блок может быть транслирован в код (видимый в специальном окне по блокам или с подсветкой фрагмента при выборе блока) - этот код потом можно собрать в программу и скомпилировать.

if-ы у меня пока не работают на else, есть и другие незавершенности. Вопрос в принципиальном решении


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 14:36 
Не в сети
Аватара пользователя

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

А что именно предлагается взять из этого решения?

1. Визуальное решение явно надо менять.

2. Событийную ориентированность скорее всего рано давать школьникам - хотя надо Сергея спросить, но в случае событийной ориентированности надо вводить веревки данных, т.к. переменные тут уже тяжко отслеживать.

3. Настройка "кубика" - ну это понятно, что надо;

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 14:51 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Цитата:
но в случае событийной ориентированности надо вводить веревки данных,

Какая связь между событийностью и веревками данных?
Вы второй раз эту мысль высказываете, а я второй раз понять не могу :pardon: :oops:

Внутри события все переменные локальные,
кроме явно указанных глобальных - точно так же как и в любых других функциях...
В чем я не прав?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 15:03 
Не в сети

Зарегистрирован: 23 авг 2008, 22:28
Сообщения: 1158
Откуда: Санкт-Петербург
ФИО: Сергей
Без переменных (глобальных) не обойтись - счетчики, значения по умолчанию и текущие состояния. К событийной модели они вроде имеют косвенное (прикладное) отношение.

Есть мысли что можно изменить в визуальном плане, чтобы было ясно и понятно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 15:12 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Нужно иметь прямой, мало разветвляющийся и явно глазами видимый путь - ход выполнения программы.
Действия укрупнить. Например, вместо отдельного задавания данных, можно в кубике мотор завести
ТекстБокс "скорость". Любая структура должна быть "монолитной" - не надо ее разбивать на куски!

По прежнему не представляю, как у вас будет выглядеть не линейная программа.

Цитата:
Без переменных (глобальных) не обойтись

Я и не спрашивал о переменных, я спрашивал о "веревках".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 15:47 
Не в сети
Аватара пользователя

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

Такая, что там очень часто переменные используются ровно 1 раз, а значит есть смысл просто соединить выход со входом, не вводя именование.

Добавлено спустя 7 минут 14 секунд:
SMT писал(а):
Есть мысли что можно изменить в визуальном плане, чтобы было ясно и понятно?

Отвязаться от строгих позиций "кубиков", сделать более мелкую сетку привязки, ввести связи порядка исполнения между ними с помощью "веревок". Сделать кубики визуально понятными.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 15:54 
Не в сети

Зарегистрирован: 23 авг 2008, 22:28
Сообщения: 1158
Откуда: Санкт-Петербург
ФИО: Сергей
Michael_K писал(а):
Действия укрупнить. Например, вместо отдельного задавания данных, можно в кубике мотор завести ТекстБокс "скорость"

Так у Lego сделано. Мне это не понравилось - разве что в качестве опции или с указанием "мощность\угол". Показалось логично посылать данные устройству "мотор" - общий подход во всей среде, приближенный к реальной программе.

=DeaD= писал(а):
есть смысл просто соединить выход со входом

так я и сделал - в блоке есть значение Value set и get, которое может потребляться (использоваться блоком), передаваться дальше неизменным (если это логично), или измененным (в вычисляемом блоке).

=DeaD= писал(а):
Отвязаться от строгих позиций "кубиков"

Думаю будет больше вероятность запутать программу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 16:00 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот - платформа для технического творчества
СообщениеДобавлено: 03 янв 2010, 16:05 
Не в сети

Зарегистрирован: 23 авг 2008, 22:28
Сообщения: 1158
Откуда: Санкт-Петербург
ФИО: Сергей
Поскольку у нас есть множество независимых датчиков, событийная ориентированость упрощает понимание. В реальной программе для МК его можно скрыть циклом с опросом датчиков и подключение датчиков к прерываниям, но в среде разработки подобного обобщенного представления подробности разумно скрывать. Не знаю как можно сделать проще.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 352 ]  На страницу Пред.  1 ... 17, 18, 19, 20, 21, 22, 23, 24  След.

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


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

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


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

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