Простой робот-симулятор с автоматическим ИК-сканированием координат и простым отображением состояний
В настоящее время я работаю над проектом для аспирантов. Для моего проекта у меня есть идея о расширении поиска в любое время, такого как ARA* ADA* и DLite*. Я хочу проверить эту идею, симулируя ее на роботе. Последние несколько ночей я смотрел на разные программы, и мне не повезло.
В конечном счете мне нужно что-то, что имеет робота, который будет иметь доступ к следующей информации в любое время и дискретным образом:
Координаты (x,y,z) Скорость
Мне также нужно, чтобы у робота был какой-то способ сбора координат из его окружения, например, наличие ИК-сканера, который сопоставит координаты x, y с (пройденный / непроходимый).
Наконец, мне нужно уметь программировать в алгоритмах, которые будут использовать информацию об окружающей среде, чтобы предлагать, через какие состояния пройти по пути к координате цели.
Мой вопрос заключается в том, есть ли программное обеспечение, которое я могу достичь всего этого без особых усилий. Я не хотел бы проводить больше 7 ночей, программируя это, и в идеале я хотел бы получить некоторые видимые результаты в течение ночи или двух.
Я запрограммировал множество эвристических алгоритмов поиска для своей диссертации (например, поиск по периметру, BiMaxf, BS*, A*, мой собственный алгоритм двунаправленного поиска, а также некоторые фронтальные поиски). Все они были основаны на 8/15-головоломка и может решить достаточно сложные проблемы в течение нескольких секунд в Java. Мне удобно использовать языки Си или скриптовые, так как все, что мне понадобится, - это хеш-таблицы и очереди с приоритетами для ADT.
Так есть ли какое-либо программное обеспечение с открытым исходным кодом, с которым я могу добиться моделирования (в реальном времени) с разумной легкостью Если нет, звучит ли вопрос о создании моего собственного симулятора? Если бы я сделал это, то, скорее всего, это был бы просто симулятор 2D, который знает о его окружении в пределах заданного радиуса... Было бы просто неплохо сделать это на чем-то уже существующем, поскольку эксперименты не были бы (как) предвзято...
1 ответ
Вы рассматривали Player / Stage?
http://playerstage.sourceforge.net/
Player - это робототехническая платформа с открытым исходным кодом, а stage - это среда моделирования, связанная с ней. В его базовой форме вы можете быстро создать мобильного 2D-робота с лазерным / ИК / сонарным сканером и моделировать его в среде моделирования. Вот изображение того, как это будет выглядеть: http://goo.gl/BV4X8
Это открытый исходный код, довольно простой в установке (в любом случае на linux) и написание простых конфигураций для. Там также есть учебники, которые помогут вам в этом.