Robotics Simulator [closed]

爷,独闯天下 提交于 2019-12-29 02:21:05

问题


Which is the best robotics simulator ? As of now, I am just looking to get simple simulations of Potential Field method, Bug Algorithms, A* Algorithm etc !

A list of the known robot simulators are;

  1. Player Project (2D simulator - Stage - 3D simulator - Gazebo - and control interface - open source, part of the ROS project)
  2. MORSE (general purpose indoor/outdoor 3D simulator)
  3. Microsoft Robotics Studio (simulator + control interface)
  4. KiKS (Matlab plugin, only for Khepera + control interface)
  5. MobotSim (for point like robots, more of algorithm implementation )
  6. Karel (Pretty Kiddish, I guess it is Pascal/Logo like)
  7. Peekabot (Looks really cool ! )
  8. MRPT (looks very nice, will try it soon)
  9. Carmen (Robot Vision etc is easy to implement in it (?))
  10. Webots (open-source - multiplatform - multilanguage [ROS, Python, Matlab, etc.] - state-of-the-art appearance - web export)
  11. Simbad (2D/3D simulator in Java and Jython)
  12. Robocode (A Java/ .NET suit)
  13. Rossum's Playhouse (C/C++ suit)
  14. V-REP (3D, source available, Lua scripting, APIs for C/C++, Python, Java, Matlab, URBI, 2 physics engines, full kinematic solver, etc.)

Some more generic platforms/middlewares also offer simulation tools:

  1. ROS (currently the largest integration of such platforms)
  2. URBI
  3. YARP
  4. OROCOS (Don't know anything about it !)

Some references on robot simulators :

  1. Development environments for autonomous mobile robots: A survey
  2. Open source robotics toolkits
  3. Updated review of robotics software platforms
  4. Existing Simulators - webpage@laas.fr
  5. List at Asaf Matan's website

回答1:


I would go for a commonly used framework. As you are interested in path planning, pick a framework that already has simulated robots, and just write the planning services you need to generate paths for it.

ROS is very cool, and has quite a large selection of useful perception services, as well as the full PR2 stack. It uses gazebo (part of player/stage) for simulation, and includes a few off the shelf robots (erratic would be ideal for this). Its quite new, but very active.

MRDS has several suitable robots, and frankly better simulated environments then ROS, but not quite as much by way of high level services. The lego robot simulator would be fine for what you want to do, and gives you the choice of validating on real hardware cheaply in the future.

These two have the lions share of developers at the moment. Really the decision boils down to whether you are happier developing in visual studio under windows, or on linux platforms. Both are free for students (MSRS is under ELMS / dreamspark programs), both have a learning curve, both have pretty good community support. For MRDS, go sign up to the forum, for ROS, join the mailing list.




回答2:


It sounds like all you need is a 2D simulator. So i would avoid the overhead and headaches of a 3D simulator. Some notes on your choices:

  1. Player includes a 2D simulator (Stage) and a 3D physics simulator (Gazeebo) which i think uses ODE
  2. MRDS includes a 3D physics simulator by PhysX

  3. ROS is only an architecture and i don't believe it has its own simulator. although it does have some different visualization tools. it also wraps Player.

Another popular simulator / architecture is WeBots. But i think that is only 3D.

That's all i know. Good luck. -Ben




回答3:


I've been programming against SimSpark. It's the open-source simulation engine behind the RoboCup 3D Simulated Soccer League.

It's extensible for different simulations. You can plug in your own sensors, actuators and models using C++, Ruby and/or RSG (Ruby Scene Graph) files.

I don't know if it's the best simulator, but I've enjoyed using it.

EDIT In response to Arkapravo's comment.

I have written a .NET API for writing your own RoboCup 3D agents called TinMan.

There are a bunch of videos on YouTube of simulated 3D soccer matches. This is one of my favourites.

RoboCup 2010 is taking place this week in Singapore, though unfortunately I won't be able to make it.

RoboCup 3D runs on a physical simulation engine called SimSpark. It has a comprehensive Wiki with lots of information explaining how it all works.

My agent is still quite primitive, so I don't have anything published about it just yet. There are plenty of open source agent implementations in different languages if you're interested.




回答4:


peekabot is not a simulator, only a visualization tool, and to some extent a tool to control your robot interactively. It's a good match for use in conjunction with a simulator without its own visualization, though.

MRPT doesn't have a (complete) simulator AFAIK, only algorithms, interfaces, drivers and its own log format. Besides that, it looks neat.

OpenRAVE might be worth checking out if you're interested in planning.

Gazebo wasn't really mature and stable enough last I tried it (~1 year ago). Might be worth to check out though.

Stage is simple to use, provided that you need only a 2D simulator without dynamics.

I've used both ODE and Bullet for robotics simulations, and both worked okay although I would recommend ODE.

To get a more definitive answer you need to refine your requirements -- i.e. are you looking for a simulator only or something more like ROS, do you need a 3D simulator with dynamics or only 2D, how accurate must it be, what sensors do you want to simulate, etc.




回答5:


ODE anyone ? I have used it a lot in my micromouse projects..




回答6:


Urbi is not a simulator. It's a middleware platform, which relies on parallel and event-driven script language. It is now open source and features support for ROS, which means you should use both! Here's some information about Urbi: www.urbiforge.org

And last but not least, it's easy to use for beginners.

Hope all the information you got helps you choose the right simulator for you!




回答7:


I'm working on the development of another robotics simulator, based on Blender. It is called MORSE, and it aims to be a very flexible simulator based on modular components. It provides connectivity to various middlewares, currently YARP, ROS, and sockets. Current applications using it include multiple mobile robot cooperation and human-robot interaction.

You can find more information in the official homepage: http://morse.openrobots.org

It is all open source, and we have mailing lists for users. We'd appreciate it if you can give it a try and give us your comments




回答8:


There are a few that are geared towards humanoid robotics and/or general multibody applications, but they can be used for the purposes of mobile robotics as well:

  1. OpenHRP: Open source, tons of libraries written in C++ included for forward dynamics simulations and visualizations as well. Its a bit of a pain to get up and running though, quite a few dependencies that are very sensitive to the versions.
  2. Robotran: Free for personal use and/or research uses. Operates primarily in the Matlab/Simulink environment. Very easy to get models up and running.
  3. MapleSim: Commercial software but useful for very sophisticated modeling. Exports efficient symbolic multibody dynamics for simulation/visualization in Matlab/Simulink as well.

All of these packages are for simulation/visualization which is useful for general design of robotic applications.




回答9:


A really great option that I recommend is Cogmation's RobotSim. They also have another product RobotBuilder that let's you build any robot you can imagine, and even import your own models.




回答10:


I came across Fawkes online today:

http://www.fawkesrobotics.org/

Fawkes is a component-based Software Framework for Robotic Real-Time Applications for various Platforms and Domains.

Developed and used over four years for cognitive robotics real-time applications like soccer and service robotics. It supports fast information exchange and efficient combination and coordination of different components to suit the needs of mobile robots operating in uncertain environments.

It's open source too (GPL).




回答11:


Breve has been used to simulate robots that have been physically implemented. Breve is driven by ODE.




回答12:


I'd also mention Unity3D, it's really more designed for game development but has good capabilities for 3D graphics, scripting (in javascript or Mono/C#), physics, etc. and can be used as a simulator if you are willing to write or integrate some of the robot-specific functionality yourself (sensors, algorithms, etc).

Plus, it is cross platform, the basic version is free, and it can make some very nice looking demonstrations with minimal effort.



来源:https://stackoverflow.com/questions/2533321/robotics-simulator

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!