Вебботы
![]() Автономный автомобиль в Webots | |
Разработчик(и) | ООО "Киберботика" |
---|---|
Стабильная версия | Вебботы R2023b
/ 28 июня 2023 г. |
Репозиторий | GitHub |
Операционная система | Windows , Linux , MacOS |
Тип | Симулятор робототехники |
Лицензия | Апач 2 |
Веб-сайт | Веб-страница Киберботики |
Webots — это бесплатный 3D- симулятор роботов с открытым исходным кодом , используемый в промышленности, образовании и исследованиях.
Проект Webots стартовал в 1996 году и первоначально был разработан доктором Оливье Мишелем из Швейцарского федерального технологического института ( EPFL ) в Лозанне , Швейцария , а затем с 1998 года компанией Cyberbotics Ltd. как проприетарное лицензионное программное обеспечение. С декабря 2018 года он распространяется под бесплатной лицензией Apache 2 с открытым исходным кодом . [1]
Webots включает в себя большую коллекцию свободно модифицируемых моделей роботов, датчиков, приводов и объектов. Кроме того, также можно создавать новые модели с нуля или импортировать их из программного обеспечения 3D CAD. При проектировании модели робота пользователь задает как графические, так и физические свойства объектов. Графические свойства включают форму, размеры, положение и ориентацию, цвета и текстуру объекта. Физические свойства включают массу, коэффициент трения, а также константы пружины и демпфирования . В программном обеспечении присутствует простая гидродинамика.
Webots использует ответвление ODE ( Open Dynamics Engine ) для обнаружения столкновений и моделирования динамики твердого тела. Библиотека ODE позволяет точно моделировать физические свойства объектов, такие как скорость, инерция и трение.
Webots включает в себя набор датчиков и исполнительных механизмов, часто используемых в роботизированных экспериментах, например, лидары, радары, датчики приближения , датчики освещенности, сенсорные датчики, GPS , акселерометры , камеры, излучатели и приемники, серводвигатели (вращательные и линейные), датчики положения и силы. , светодиоды, захваты, гироскопы, компас, IMU и т. д.
Программы контроллера робота можно писать вне Webots на C , C++ , Python , ROS , Java и MATLAB с использованием простого API.
Webots предлагает возможность делать снимки экрана и записывать симуляции. Миры Webots хранятся в кроссплатформенных файлах *.wbt, формат которых основан на языке VRML . Также можно импортировать и экспортировать миры и объекты Webots в формате VRML. Пользователи могут взаимодействовать с запущенной симуляцией, перемещая роботов и другие объекты с помощью мыши. Веб-боты также могут транслировать моделирование в веб-браузерах с помощью WebGL .







Веб-интерфейс
[ редактировать ]С 18 августа 2017 года веб-сайт robotbenchmark.net предлагает бесплатный доступ к серии тестов робототехники, основанных на симуляциях Webots, через веб-интерфейс Webots. Экземпляры Webots работают в облаке, а 3D-изображения отображаются в браузере пользователя. С помощью этого веб-интерфейса пользователи могут программировать роботов на Python и пошагово изучать управление роботами.
Пример программирования контроллера
[ редактировать ]Это простой пример программирования контроллера C/C++ с помощью Webots: тривиальное поведение по предотвращению коллизий. Вначале робот бежит вперед, затем при обнаружении препятствия некоторое время вращается вокруг себя, а затем возобновляет движение вперед.
#include <webots/robot.h>
#include <webots/motor.h>
#include <webots/distance_sensor.h>
#define TIME_STEP 64
int main() {
// initialize Webots
wb_robot_init();
// get handle and enable distance sensor
WbDeviceTag ds = wb_robot_get_device("ds");
wb_distance_sensor_enable(ds, TIME_STEP);
// get handle and initialize the motors
WbDeviceTag left_motor = wb_robot_get_device("left_motor");
WbDeviceTag right_motor = wb_robot_get_device("right_motor");
wb_motor_set_position(left_motor, INFINITY);
wb_motor_set_position(right_motor, INFINITY);
wb_motor_set_velocity(left_motor, 0.0);
wb_motor_set_velocity(right_motor, 0.0);
// control loop
while (1) {
// read sensors
double v = wb_distance_sensor_get_value(ds);
// if obstacle detected
if (v > 512) {
// turn around
wb_motor_set_velocity(left_motor, -600);
wb_motor_set_velocity(right_motor, 600);
}
else {
// go straight
wb_motor_set_velocity(left_motor, 600);
wb_motor_set_velocity(right_motor, 600);
}
// run a simulation step
wb_robot_step(TIME_STEP);
}
wb_robot_cleanup();
return 0;
}
Основные области применения
[ редактировать ]- Быстрое прототипирование колесных и ножных роботов
- Исследование движения роботов [2]
- Роевой интеллект (моделирование нескольких роботов) [3] [4]
- Искусственная жизнь и эволюционная робототехника
- Моделирование адаптивного поведения [5] [6]
- Самопереконфигурируемая модульная робототехника [7]
- Экспериментальная среда для компьютерного зрения
- Конкурсы по обучению и программированию роботов
Включенные модели роботов
[ редактировать ]Полный и актуальный список представлен в руководстве пользователя Webots.
- АИБО ERS7 и ERS210, [8] Sony Корпорация
- БИОЛОИД (собака), Роботис [9]
- Бо Бот
- ДАРвин-ОП, Роботис
- Электронная шайба
- Хемиссон
- НОАП-2, Fujitsu Limited
- iCub , Консорциум RobotCub
- iRobot Создать , iRobot
- Катана IPR, Neuronics AG
- Мобильный робот Хепера I, II, III, K-Team Corporation
- ХР-2ХВ, ХР-3ХВ, Кондо
- Коала, Корпорация K-Team
- Lego Mindstorms (модель RCX Rover)
- Магеллан
- Нао V2, V3, Альдебаран Робототехника
- MobileRobots Inc Pioneer 2, Pioneer 3-DX, Pioneer 3-AT
- Пума 560, Юнимат
- Разведчик 2
- Креветка III, BlueBotics SA
- Сюрвейер СРВ-1, Сюрвейерская корпорация
- youBot, ВОЗ
Кросс-компиляция и поддержка удаленного управления.
[ редактировать ]- Электронная шайба
- DARwIn-OP и Robotis OP2
- ОНИ
- Тимио II
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Версия R2019a — Webots становится открытым исходным кодом» . Киберботика. 2018.
- ^ «Размещение рук во время передвижения четвероногого человека у робота-гуманоида: подход динамической системы» (PDF) . Группа биологически вдохновленной робототехники. 2007.
- ^ «Распределенная адаптация в многороботном поиске с использованием оптимизации роя частиц» . Группа Swarm-Intelligent Systems. 2008.
- ^ «Сборка конфигураций в сетевой роботизированной системе: пример реконфигурируемой интерактивной настольной лампы» (PDF) . ДИСАЛ - Лаборатория распределенных интеллектуальных систем и алгоритмов. 2008.
- ^ Луи-Эммануэль Мартине, Денис Шейнихович, Карим Бенченан и Анджело Арлео (2011) Пространственное обучение и планирование действий в модели префронтальной кортикальной сети, PLoS Comput Biol 7 (5): e1002045. дои : 10.1371/journal.pcbi.1002045
- ^ Маннелла Ф., Миролли М., Бальдассар Г., Вычислительная модель роли ядер миндалевидного тела в кондиционировании второго порядка. В M. Asada et al. (ред.), От животных к аниматам 10: Материалы Десятой Международной конференции по моделированию адаптивного поведения (SAB2008), стр. 321-330. LNAI 5040 Берлин: Шпрингер.
- ^ «Механизм активного подключения модульных самореконфигурируемых робототехнических систем на основе физической фиксации» (PDF) . Группа биологически вдохновленной робототехники. 2008.
- ^ «Aibo и веб-боты: моделирование, беспроводное дистанционное управление и передача контроллера» (PDF) . Группа биологически вдохновленной робототехники. 2006.
- ^ Биолоид
Внешние ссылки
[ редактировать ]