На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила поведения
1. Разработка компьютерных игр - процесс творческий, поэтому в данном разделе есть место как тематике, так и флейму.
2. Главное: будьте вежливы и не флудите.
3. По всем спорным вопросам пишите в PM модератору раздела.
4. Перед тем, как задать вопрос, посмотрите GameDev FAQ - возможно, там Вы найдете ответ. Также посмотрите список полезных тем в разделе.
5. По поводу модерирования этого раздела можно высказаться здесь: Da$aD.
Модераторы: Da$aD
  
> Роботёнок, Ходим по карте и изучаем мир
    День добрый!

    Вот тут

    http://portal.fire.usi.ru/modules.php?name...rticle&artid=14

    и тут

    http://forum.roboclub.ru/forum2.shtml

    была затронута проблема создания автономных роботов.
    В итоге обсуждения возникло несколько идей. Поскольку большая часть их - чисто программная (в натуре чисто конкретно smile.gif программная), я пришел сюда.
    Для начала посылаю туда (см. выше).

    Теперь к делу.

    Дана некоторая территория (квартира). По ней может перепещаться некий механизм, назовем его Роботёнок. Он может выполнять стандартные команды (вперед, наза, вправо, влево) и имеет датчики препятствий (бамперы).
    Нужно составить карту территории и находить с ее помощью оптимальные траектории от одной точки до другой, с целью выполнения задач хозяина. Например, приехать на кухню, получить там кофе и привезти его обратно (кофе в постель), или найти и принести хозяину тапочки smile.gif.

    Отдельные части, на которые распадается эта задача, тут обсуждали, и не раз. Как и проблему ИИ. Вот конкретный проект, к которому применим ИИ. Проблема в том, что размеры территории заранее неизвестны. По сути, это лабиринт. Но найти надо не просто выход (классическя задача), а кратчайший путь к заданной точке. А доступные вычислительные ресурсы - ограниченные. На сравнительно мелкий механизм, каковым является Роботёнок, сервер не поставишь.

    Макет, разумеется, будет чисто программный, но в идеале надо получить прошиву для микроконтроллера с размерами программной памяти в несколько килобайт, а память для данных (внешняя) немногим больше, допустим, сотня килобайт.
    Выполнима ли такая задача? Можн ли ее разбить на части, на несколько микроконтроллеров? Какие методы для таких задач подходят лучше других?

    Может быть, реально сделать некий интерпретатор для микроконтроллера, а программу, реализующую этот проект, писать в относительно большую внешнюю память?

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

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

    Сколько можно обсуждать абстрактный ИИ? smile.gif Вот реальная задача...
      Так проблема-то я понял, одна -- в оценке потребной памяти для хранения лабиринта?

      Я бы использовал битовую карту -- двумерный массив квадратов, сторона которых не меньше диаметра роботенка, и при необходимости (память исчерпана, а диаметр лабиринта еще нет) изменял соотношение размеров сторон прямоугольной карты и увеличивал размер елементарного квадратика вдвое smile.gif
      В соответсвтии с Первой Поправкой Марселя, "hello, world!" на древнем языке C следует произносить так:
      main(t,O){int _=main;char m[]=",!((+hd3+6( e";return O==_?((int(*)())O)(_,t+1),68:
      t==_?(*(char*)O?*(char*)O^=((int(*)())t)(O,t):17),O:printf(((int(*)())_)(_,m));}
      все здесь
        Не только...
        Проблема в том, чо бы собрать все это в кучку и убедиться, что работает хотя бы на экране.
        Если это буду делать, к примеру. я, то потрачу уйму времени на восстановление навыков, а если это поможет сделать тот. кто сутками пишет программы smile.gif, то получится на пару порядков быстрее и проект может стать реальностью, а не умереть в зародыше.
        То есть нужна реализация в исходниках. Желательно поближе к Пасику smile.gif, или к Дельфи, но Пасик - лучше (работает под досом, можно засунуть в мини-РС). Хотя можно и на Прологе.
        Как я вычитал в правилах, этот форум именно для таких проектов, которые одному не потянуть.
        Мне вот так сразу, с ходу, не потянуть... А идея хороша и реализовать хочется!
          Классная идея - у меня такая же идея примерно года два думается, только редко думаетсяsad.gif
          С радостью бы помог или сам занялся, но времени щас пока нет. Пишу сам прогу.
          Но идея классная!
          Сообщение отредактировано: maybah -
            по запаху!! в крайнем случае по радиоволнам
            потипу получила задание принести тапочки, идёт по градиенту запаха тапочек, а потом по градиенту запаха хозяина smile.gif иначе имхо никак она не отличит тапочки от стенки
              По запаху можно... Но сложно.
              Проблема ориентирования в пространстве на основе карты никуда не девается.
                а я vot ищо чо подумал. многие современные сотовые телефоны поддерживают яву и имеют разъёмы для сексуаров. можно приобрести телефон за 200 баксов, изучить яву, спаять преобразователь для телефонного разъёма, а потом управлять роботом через смс. благо приём смс бесплатно. а обратная связь тоже через смс - подключиться к какомулибо мегафону, у которого смс по одному центу.
                  Вообще-то это чистейшей воды оффтопик и Я думаю, чт оМодератор перенесет его "куда следует" вместе с моим ответом.

                  Поставив на робота контроллер с СОМ-портом, можн оподключить через этот порт любой телефон за 80 баксов ,имеющий подключение к компу, и забирать с телефона СМСки напрямую безо всякой джавы. И отвечать напрямую СМСками через стандартные функци ителефона.
                  Все что надо - написать микро-терминал для контроллера.
                  В случаеустановки на робота мини-РС вообще минимум работы - ставится стандартный сотф для данного телефона и отсылается/принимается СМС.
                  Только замаетесь, сударь, управлять реал-тайм роботом через СМСки, у которых запаздывание неописуемое и ничем не ограниченное...


                  Добавлено в
                  По делу вот пришла в голову идея: есть стандартны ультразвуковой дальномер стоимостью в полторы-две сотни долларов. Выход совместим с контроллерами.
                  Можно заранее прозвонить комнату (предполагается, чт оробот в квартире) и определить ее размеры.
                  После этого спокойно определить, на сколько квадратов при данной памяти можно разбить и какой будет масштаб карты.
                  Более дешевое решение - мини-сонар, полсотни баксов, но он работает до 3 метров.

                  Но это немножко не то. Генеральная идея пректа - изучение местности с нуля, типа черного ящика... Без сонаров - только контактным или околоконтактным метолдом....

                    а я в железе полный лох, для меня слово "микроконтроллер" звучит пугающе и фантастично, "паяльник" чуть менее пугающе. предложил первое, что в голову пришло. больше не буду smile.gif
                    vot приблизительно то же сделанное руками профессоров с помощью нейронных сетей
                      Ну не так страшен PIC, как его малюют smile.gif
                      Это ма-а-аленький такой компьютер, программа для
                      которого в откомпилированном виде не превышает нескольких килобайт.
                      Понятно, по сравнению с монструозными виндозными софтинами это смешно, но как много можно вбить в эти килобайты!

                      За ссылкук спасибо! Сохранил у себя, буду вникать.
                      Но нейронные сети это не совсем то.
                      Это полностью аппаратное решение - нейронная сеть уникальна и создается под конкретный проект полностью.
                      Видел ведь, какой там "кирпич"....
                      А хочется изящного программно-аппаратного решения поставленной выше задачи!
                        Вообще-то, к ИИ эта задача отношения не имеет.
                        Причем, она относительно простая.
                        Кстати, при заливке замкнутых областей решается задача, почти эквивалентная.

                        ..А ИИ начнется, если наделить этого робота зрением..
                          biggrin.gif А что такое зрение? ИМХО: любой оператор if - МИНИ-реализация сенсора - одномерное зрение, т.с. wink.gif Само по себе "зрение" (в нашем понимании) - ТРЁХ-мерное зрение.

                          А вот при заливке замкнутых областей используется ДВУХ-мерное зрение.
                            Я не говорил, что это - сверхсложная задача.

                            Я просил помочь в ее решении...
                              А никто и не спорит smile.gif
                              ЗЫ: Так ты уже определился со способом решения?
                                Слишком много неизвестных...

                                Если проблема решаема в исполняемом коде объемом 2 килобайка, это одно. Это можно засунуть в недорогой PIC контроллер.

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

                                Если это потребует 64 килобайт исполняемого кода, это более другое. Это потребует очень дорогого микроконтроллера и очень сложной схемы.

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

                                Объем памяти под данные - это отдельаня статья расхода байт и решается более легко...

                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1218 ]   [ 17 queries used ]   [ Generated: 17.07.19, 12:38 GMT ]