roboforum.ru

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

Робот - платформа для технического творчества

Re: Робот - платформа для технического творчества

=DeaD= » 31 дек 2009, 14:40

Michael_K писал(а):Написать таск-свитчер - это дело пары часов - в интернете дольше шариться будешь.
Да и простенькую виртуальную машинку можно за недельку отладить...


Ну прямо классика:

баш писал(а):XXX: Зачем ставить целый движок для какого то файлообменника? Ведь такой файлообменник который ему нужен пишется буквально за пару часов....

SoftCore: Знаем мы вас. Два часа пишем, потом неделя отладки, потом три месяца обкатки, сотни жалоб пользователей. Через пол-года надо что-нибудь добавить, так программиста нет, а код непонятный, а деньги плати, а о чем вы вообще думали, есть же куча готовых решений?!


Добавлено спустя 1 минуту 24 секунды:
:crazy:

Re: Робот - платформа для технического творчества

Michael_K » 31 дек 2009, 14:57

Dead, именно поэтому нужно сначала конкретно представить задачу.

Конечно, можно взять FreeRTOS (Она обкатана многочисленными проектами),
но, боюсь, что она слишком тяжелая, а большая часть функционала не понадобится никогда.
Отрезать от нее куски... можно, но чем это будет отличаться от написания своего ядра
в плане отладки, обкатки, поддержки и т.д. (программиста нет, код непонятный и т.д.)

То же самое и с виртуальной машиной. Да, можно взять KVM джавовскую...
Все то же самое... (или C-flea посмотрите из простеньких)...
Там вообще что-то поправить нереально.

Re: Робот - платформа для технического творчества

=DeaD= » 31 дек 2009, 15:03

А зачем что-то отрезать? Разве нельзя просто не использовать какие-то функции?

Re: Робот - платформа для технического творчества

blindman » 31 дек 2009, 15:13

=DeaD= писал(а):А в чем игрушечность особая? Тормозит совсем жестко? Или функционал порезанный сильно?

Главная проблема, применительно к этому топику - нужно будет самому писать классы на С/ассемблере. Имхо не стоит оно того. А вообще, я как-то не могу четко сформулировать свое отношение к таким машинам. Попробовал, поигрался - да весело, прикольно, целая Java на МК! А пробуешь что-то интересное написать и вылазят всякие ограничения, то памяти не хватает, то медленно, то все равно в конечном итоге в С залазишь. Бяка, короче.

Blindman, Dead, вы же серьезные проекты тяните...

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

Конечно написать шедулер - дело пяти минут. Я их по пять штук в неделю делаю :) Шутю, конечно :) Но пара RTOS для МК в активе есть. Но тут проект немного другого масштаба. Не только планировщик/среда выполнения (что в принципе вторично), но еще и аппаратная платформа, и софт на ПК, и интеграция всего этого. Психология, педагогика. Черная магия, в конце концов :)

Re: Робот - платформа для технического творчества

Michael_K » 31 дек 2009, 17:20

Конечно написать шедулер - дело пяти минут.... Но пара RTOS для МК в активе есть.

Ну вот... я тоже не скажу, что к каждому проекту прикручиваю свое ядро,
но парочка своих решений кочуют из проекта в проект периодически...

когда опрометчиво принятое на начальном этапе решение приводило к провалу проекта...
...и аппаратная платформа, и софт на ПК, и интеграция всего этого. Психология, педагогика.
Черная магия, в конце концов

Именно поэтому здесь хотелось бы обсудить детали,
а не просто разглагольствовать...

Хотелось бы максимально точно поставить _минимальную_ задачу...
И реализовать... Поиграться, понять ошибки и переписать... с нуля :)
(Да-да, я часто так делаю :) - получается лучше, чем латать дырки)
Глядишь, третья версия заживет...

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

2Dead, а как, вы думаете, делают такие штуки?
NXT что срисовало виртуальную машину у JVM?... Нет!
(ну, максимум, может быть подглядывало одним глазом :))
Arduino тоже не стал тупо копировать FreeRTOS,
а значительно ее "похакал". И компилятор своего языка написал, между прочим.
Вот лохи-то!

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

Re: Робот - платформа для технического творчества

blindman » 31 дек 2009, 18:12

Michael_K, я просто выступаю за взвешенные и обоснованные решения, а не просто "а, шедулер, дело пары часов". Лучше полчаса потерять сейчас, чем месяц потом.

Re: Робот - платформа для технического творчества

Michael_K » 31 дек 2009, 18:26

Да я в общем-то и не кинулся его писать :)

Надо ж понять сначала, нужен ли он вообще,
и если да, то чего от него требуется... :)

Re: Робот - платформа для технического творчества

Sergey Filippov » 31 дек 2009, 18:34

Michael_K писал(а):Набор "ключевых слов" языка такой:
- Условие (if)
- Цикл (for, while...)
- Выбор варианта (switch)
- Новый процесс (new_task)
- простая математика и логика (+-*/= <>) (битовые операции можно, имхо, выкинуть)

Вот, забыл выбор варианта, спасибо. В графической среде изрядно сил уходит на построение лишних ветвлений.
Битовые операции тоже могут пригодиться. Здесь есть важный момент. Многие старшеклассники стесняются заниматься Лего, потому что считают это детской игрушкой. Наш робот не должен вызывать таких ассоциаций. И я заранее внес в список задач элементы старшей школы и даже вузовского уровня, чтобы привлечь сильных и тем самым укрепить слабых. Старшие ребята сами будут учить малышей простым вещам, видя, что за этим стоит (у меня, кстати, так и происходит).

22. Множественный выбор. В том числе выбор по диапазону значений (например, реагировать на показания датчика с 20 до 40 и с 50 до 70).
23. Готовые учебные блоки регуляторов с изменяемыми коэффициентами (бегунками, как в среде у SMT). Надо реализовать их внутрисистемно, но и показать, как это делается стандартными средствами.

Re: Робот - платформа для технического творчества

Ворон » 31 дек 2009, 18:39

Michael_K писал(а):Смысла собирать с мира по нитке готовых решений не вижу.
....
:no:
есть старая пословица С МИРА ПО НИТКЕ---МОНОПОЛИИ РУБАШКА)) интернет для того и существует чтоб нужные нитки найти и свое себе сделать) :good:

Re: Робот - платформа для технического творчества

Michael_K » 31 дек 2009, 19:07

Многие старшеклассники стесняются заниматься Лего, потому что считают это детской игрушкой.

А можете оценить, это проблемы визуального ряда, или все таки проблема нехватки возможностей?

Грубо, говоря, они больше стесняются цветных пластмассовых кубиков
или стесняются программировать на языке "ДваМетраВперед" "ПоворотНалево"?
Программать лего на Си они тоже стесняются?
А программать чугунные привода языком "СверлиДыркуЧерезКаждыеДваМетра"? :))

Вот и начались "элементы психологии и черной магии"... :)

Re: Робот - платформа для технического творчества

=DeaD= » 31 дек 2009, 19:51

Michael_K писал(а):2Dead, а как, вы думаете, делают такие штуки?
NXT что срисовало виртуальную машину у JVM?... Нет!
(ну, максимум, может быть подглядывало одним глазом :))

Чтобы делать как NXT надо бюджет такой же и команду :)

Michael_K писал(а):Arduino тоже не стал тупо копировать FreeRTOS,
а значительно ее "похакал". И компилятор своего языка написал, между прочим.
Вот лохи-то!

Похакал - это значит начал с неё. Я же не предлагал не трогать никогда больше то, из чего соберем, и не запрещал трогать при первой сборке.

Re: Робот - платформа для технического творчества

Sergey Filippov » 02 янв 2010, 13:19

С Новым годом!
Желаю всем, чтобы все удалось!
Michael_K писал(а):
Многие старшеклассники стесняются заниматься Лего, потому что считают это детской игрушкой.

А можете оценить, это проблемы визуального ряда, или все таки проблема нехватки возможностей?

Скорее проблемы визуального ряда, брэнда "Лего". Это касается тех старшеклассников, которые в робототехнику вообще ни разу не заглядывали (хотя, возможно, тащились от биониклов). Они же начинают высмеивать тех, кому это нравится, и далее идет по цепочке.
Грубо, говоря, они больше стесняются цветных пластмассовых кубиков
или стесняются программировать на языке "ДваМетраВперед" "ПоворотНалево"?
Программать лего на Си они тоже стесняются?

Графический язык вообще быстро становится предметом насмешек из-за плохой масштабируемости (отладка большой программы превращается в пытку апельсинами). Сейчас продвинутые девятиклашки начали поругивать RobotC, поскольку не все там реализовано чисто. И это те, кто терпит насмешки одноклассников, гораздо более слабых по уровню алгоритмической подготовки. Теперь они жаждут LeJOS, основанный на Java, надеясь, что там будет лучше.
Кстати, среду программирования стоит делать платформо-независимой в нескольких смыслах. Во-первых, касательно операционной системы компьютера. С 2011 г. в школах России система Microsoft Windows упраздняется. Конечно, где-то ее купят и оставят в качестве основной. Но сверху уже заказана и сделана новая система на базе Alt Linux: http://linux.armd.ru/, которая распространяется свободно. Проводятся курсы для учителей, все серьезно.
Так что потребуется поддержка обеих систем. Когда выйдем на мировой рынок, то и Mac OS. Кое-где в российских школах целые классы айбуков.
Во-вторых, желательно не зависеть от железа самого робота, чтобы была возможность переехать на отечественные микроконтроллеры, как только они займут полагающееся место на рынке.

Re: Робот - платформа для технического творчества

Michael_K » 02 янв 2010, 14:34

Окей
Это только говорит о двух вещах
1. железки должны выглядеть "серьезно"
2. Переходить с "графики" нужно на GCC (там и портируемость и многоплатформенность)
с библиотеками...
(Шутка про отечественные микроконтроллеры тоже повеселила :))

А вот по свойствам графического языка, как мне кажется,
ваши требования сильно противоречивы.
И тем более, если речь идет об автоматическом переводе в Си.

Например в NXTG блок может выдать несколько переменных на выход.
В Си это можно реализовать используя структуры с указателями или,
напрмер, классы с публичными членами (можно выдумать и другие способы).
И в том, и в другом случае Сишный код будет перегруженным.

И вообще не очень понятно, вы хотите, чтобы язык был простой для пятиклассников
и в то же время функционально насыщенный для девятиклассников.
Я прекрасно понимаю, что хочется всего сразу и побольше, но не кажется ли вам,
что такие требования просто противоречивы?
Последний раз редактировалось Michael_K 02 янв 2010, 14:49, всего редактировалось 1 раз.

Re: Робот - платформа для технического творчества

=DeaD= » 02 янв 2010, 14:49

А почему же это должен быть 1 язык? Просто, ИМХО, это говорит о том, что должна быть простая обертка для 5-классников и полный язык для 9-классников.

Re: Робот - платформа для технического творчества

Michael_K » 02 янв 2010, 14:54

А почему же это должен быть 1 язык?

Я к тому и клоню!

Просто непонятно, к чему относились вот те 27 пунктов...
Как-то они надерганы, имхо, бессистемно и оттуда и отсуда - в результате каша.

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


Rambler\'s Top100 Mail.ru counter