Автономный (или способный быть) робототехнический симулятор


13

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

Одна очень привлекательная идея - иметь онлайн-симулятор или (более предпочтительно) автономный симулятор-симулятор, с помощью которого мы можем создавать и программировать простых роботов. Возможно, не что иное, как объединение компонентов, а затем программирование взаимодействия между этими компонентами.

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


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

Нам нужен тренажер, чтобы девушки могли на самом деле выучить концепции программирования и использовать их. Симулятор не должен быть красивым - это может быть не более чем грубые геометрические фигуры. Код это то, что имеет значение.
Сэмпсон

Ответы:


7

Stage и Gazebo являются симуляторами 2D и 3D с открытым исходным кодом соответственно. Они создаются и поддерживаются проектом Player . Они очень просты в использовании и имеют много готовых карт и роботов. В зависимости от опыта вашей аудитории вам может потребоваться немного проделать тяжелую работу (например, создание файлов конфигурации и основных классов).

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


4

Может быть, это немного дорого (75 швейцарских франков), но я все еще предлагаю Колобот . Это приятная, почти игровая среда, в которой роботы должны помочь людям сделать обитаемую космическую базу. Роботы программируются детьми, в то время как все более сложные задачи выполняются. Программа обучает основам программирования целенаправленным, забавным способом.


3

Microsoft робототехника БЕСПЛАТНО и включает в себя симулятор . Это не самая легкая среда в мире, однако она надежна и соответствует реальной робототехнике. Я думаю, что при некотором вовлечении учителя, чтобы настроить вещи заранее, это могло бы быть полезным. Существует «пакет» симулятора для LEGO, Neato и некоторых других роботов, и они могут быть запрограммированы на C # или на языке визуального перетаскивания.

Опять же, я думаю, что нужно было бы немного поработать, чтобы упростить использование молодежью, но это будет не так сложно, и это будет мой подход с учетом ваших требований. Я бы сказал, что с точки зрения сложности, это (Windows) по сравнению с Linux-средой с Gazebo / ROS, Windows-среда будет немного менее сложной, хотя, вероятно, большая часть этого будет скрыта при подготовке.


2

RobotC имеет симулятор , хотя оба являются продуктами по некоторым ценам. Тем не менее, они очень ориентированы на молодых студентов и образование. Это был бы самый простой и наиболее подходящий маршрут, если затраты не являются фактором блокировки ( около 100 долларов за лицензию для обоих пользователей для одного пользователя, 300 долларов для 6 пользователей, 600 долларов для 30 пользователей ).

Если вы покупаете студенческую версию ROBOTC для MINDSTORMS NXT от LEGO, цена может составлять 49 $ за каждую или 40 $ (более 20 лицензий)


2

V-Rep (виртуальная платформа для экспериментов с роботами), кажется, достаточно широка в типах симуляций, которые она может выполнять. Это бесплатно для образовательных целей и поставляется с широким спектром инструментов. Вы можете посмотреть это видео на YouTube для демонстрации.


1

Возможно, не полный робототехнический симулятор, но мы используем 3D CAD, Autodesk Inventor, довольно много для моделирования. Обычно мы делаем интерфейс к САПР похожим на то, что мы хотим, чтобы он был для аппаратного обеспечения. Таким образом, мы можем использовать модель CAD в качестве виртуального прототипа, чтобы:

  • Лови ошибки дизайна рано. Столкновения, недостаточно удара и т. Д.
  • Это также было полезно для поиска компенсации ошибок, таких как ошибки выравнивания. Используя САПР, мы можем моделировать различные ошибки одну за другой и проверять наши компенсации. Удобно иметь возможность вносить большие ошибки с известным знаком.
  • САПР также дает ответы о таких моментах инерции.
  • Мы также используем модель CAD для создания программы для оборудования.

Поправьте меня, если я ошибаюсь, но САПР уделяет большое внимание правильному моделированию оборудования и физики, а тем более программированию робота. ОП интересуется обучением программированию, а не инженерному делу, поэтому я думаю, что система CAD не решает его проблему
ThomasH

@ThomasH мы успешно программировали для API CAD и таким образом смогли сделать большую разработку. Должен ли я удалить?
Йохан Ларссон

1
Нет необходимости удалять. Это не плохой ответ только потому, что я думаю, что это не очень подходит для ОП. В любом случае, голосование обычно подталкивает наиболее подходящий ответ к вершине, и ФП примет тот, который помог больше всего. Но ваши могут все еще представлять интерес для кого-то с подобной проблемой, которая сталкивается с этим вопросом
ThomasH

1

Вы можете проверить « MindRover ». Это старый и труднее найти сейчас, так как оригинальный сайт больше не существует, но все еще можно найти на Ebay или Amazon . Хотя игра / миссия ориентирована, она включала в себя выбор из палитры компонентов робота, размещение их на шасси, а затем соединение их вместе. Это было действительно хорошо сделано для игры и могло использоваться, чтобы исследовать простые или полу продвинутые понятия. Некоторые скриншоты здесь: http://images.google.com/images?q=mindrover .

Если вы ищете что-то более серьезное с возможностями реального мира, вы можете попробовать FlowStone for Education . Я не использовал его, но я считаю, что это среда визуального программирования, идеально подходящая для работы типа робототехники.

Наконец, хотя это и не программное обеспечение или симуляция, я недавно натолкнулся на комментарий reddit от phblj относительно техники для введения программирования , и я подумал, что это действительно хорошо (и особенно адаптируется к программированию робототехники). Цитата:

Прекрасный пример компьютеров, которые я сделал с детьми: один ребенок попал в «программу» и дал инструкции о том, как приготовить бутерброд с арахисовым маслом и желе, но они не могли наблюдать за моими действиями. Я был компьютером и точно следовал инструкциям. Весёлый результат. (Не снимая крышку с арахисового батончика, не доставая хлеб из коробки, он у меня был). Через минуту другой ребенок подошел и попытался. Они продвинулись немного дальше, но все еще колебались. «Положите арахисовое масло на хлеб», в результате чего баночка сидела на буханке и т. Д. Потребовалось несколько детей, но в итоге мы его получили. Если у вас есть помощник, попросите его написать инструкции, как они сказали, создав «программу».

Тогда вы можете получить объяснения, но по-настоящему застряло то, что дети были «умнее, чем компьютер». Но эти компьютеры действительно очень быстро следовали инструкциям. Поэтому им нужно было использовать свои умные способности, скорость компьютеров и ... программирование!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.