Все зависит от того, что вы хотите сделать с помощью симуляции.
Я занимаюсь симуляцией роботов на ножках, я иду с точки зрения, которая отличается от мобильной робототехники, но ...
Если вас интересует динамика, то одним из самых старых, но наиболее сложных в использовании является SD / Fast. Компания, которая первоначально сделала это, была приобретена большим нарядом cad.
Вы можете попробовать перейти к: http://www.sdfast.com/
Это будет стоить вам немного денег, но я верю в точность симуляции. Здесь нет модели контакта или столкновения, поэтому вы должны сами катиться. Я использовал его для симуляции двуногих, плавающих рыб и т. Д. Там также нет визуализации. Итак, это для хардкорного программиста. Тем не менее, это хорошо уважаемый среди нас, старых людей.
Движок OpenDynamics используется людьми http://www.ode.org/ для "более простого" моделирования. Он поставляется с интегратором и примитивным пакетом визуализации. Есть привязка к python (Ура для python!).
Встроенная модель трения ... ну ... не очень хорошо документирована. И не имеет смысла. Кроме того, симуляции могут внезапно «разлететься» без видимой причины. Моделирование может быть или не быть точным.
Теперь MapleSoft (в прекрасной Канаде Ватерлоо) выпустила Maplesim. Это вернет вам немного денег, но вот что мне нравится в этом:
Это выходит за рамки только робототехники. Вы можете практически все. Я уверен, что вы можете смоделировать систему подвески на автомобиле, шестернях, двигателях ... Я думаю, что это даже связано с моделированием электрических цепей. Итак, если вы создаете продукт с высокой производительностью, то MapleSim является сильным соперником. Зайдите на сайт www.maplesoft.com и найдите его.
Они очень рады предоставить вам пробную копию на 30 дней.
Конечно, вы можете пойти домой варить. Вы можете решить уравнения движения Лагранжа-Эйлера для большинства простых роботов, используя символическую вычислительную программу, такую как maple или mathematica.
РЕДАКТИРОВАТЬ: не быть в состоянии элегантно делать определенные производные в Maple. Я должен прибегнуть к взлому.
Однако помните о скорости.
Наконец, для более биологически мотивированной работы вы можете взглянуть на opensim (не путать с OpenSimulator).
РЕДАКТИРОВАТЬ: OpenSim делит члена команды с SD / Fast.
Там много других специализированных симуляторов. Но будьте осторожны.
В сумме вот критерии оценки для симулятора для работы, ориентированной на робота:
(1) Какая у вас модель столкновения? Если это очень жесткое упругое столкновение, у вас могут возникнуть проблемы с числовой устойчивостью во время столкновений.
(2) Визуализация - Можете ли вы добавить различные ландшафты и т. Д ..
(3) Удобные инструменты для графического построения, чтобы вам не приходилось кодировать, а потом посмотреть, что вы получите.
Управлять сложной системой (скажем, полномасштабным гуманоидом) сложно в голове.
(4) Какова сложность базового алгоритма моделирования. Если это O (N), то это здорово. Но это может быть O (N ^ 4), как в случае прямого вывода Лагранжа-Эйлера ... тогда ваша система просто не будет масштабироваться, независимо от того, насколько быстро ваша машина.
(5) Насколько это точно и вас волнует?
(6) Помогает ли вам интегрировать датчики. Для мобильных роботов вам нужно иметь «взгляд робота глазами»
(7) Если он выполняет визуализацию, можете ли вы выполнять такие действия, как автоматическое следование за объектом во время его движения, или вам приходится его преследовать?
Надеюсь, это поможет!