views:

512

answers:

6

Which is the best robotics simulator ?

  1. Player Project (#) (simulator + control interface)
  2. Microsoft Robotics Studio (simulator + control interface)
  3. KiKS (in Matlab, only for Khepera + control interface)
  4. MobotSim (for point like robots, more of algorithm implementation )
  5. ROS (currently the largest integration of such platforms)
  6. URBI (#)
  7. Karel (Pretty Kiddish, I guess it is Pascal/Logo like)
  8. Peekabot (Looks really cool ! )
  9. MRPT (looks very nice, will try it soon)
  10. Carmen (Robot Vision etc is easy to implement in it (?))
  11. Webbot
  12. ORCOS (Don't know anything about it !)

(#) : A part of ROS

As of now, I am just looking to get simple simulations of Potential Field method, Bug Algorithms, A* Algorithm etc !

This article gives a number of such softwares etc, however I was looking for a first hand view from fellow coders. Anyone who has worked with any other software etc is most welcome to share his/her experience !

UPDATE : Wonderful paper, Development environments for autonomous mobile robots: A survey

+1  A: 

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

Ben
@Ben: Cool ! ..... and if you may please kindly inform me about 3D simulators ... (I guess Gazebo is one of them) ...
Arkapravo
+3  A: 

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.

Tom
@Tom : Cool ! ..... I guess stackoverflow needed another robot fanatic ! ... :D
Arkapravo
@Tom : For ROS + Gazebo , which OS gets it working ?
Arkapravo
@Arkapravo: I've been using ROS and Gazebo with Ubuntu 9.10 and now 10.04 with good results.
Eric Perko
@Eric Perko : Thanks ! .... Well, I have been pretty unfortunate in installing Gazebo ......tried for about a week in Ubuntu 9.04 ... and as a consequence I lost my Stage (Player/Stage) installations, some libboost (1.35/1.38/1.40) issues ! ..... I am back again, but only on Player-Stage ! ..
Arkapravo
Eric Perko
@Eric Perko: Thanks, I will do so.
Arkapravo
@Eric Perko : One last question ! :) ..... I do not need to install Gazebo separately if I follow ROS installation instructions (i.e. Gazebo is a part of the ROS svn, eh ? ) .... ?
Arkapravo
@Arkapravo: Correct, one of ROS binary packages should include the Gazebo simulator (probably ros-cturtle-simulator-gazebo). I believe the ROS developers basically vendor a certain version of Gazebo they have found to be stable, updating and patching as appropriate every so often. See this wiki page for some details on using it http://www.ros.org/wiki/simulator_gazebo .
Eric Perko
@Eric Perko : COOL ! ... Many Thanks ! ... that is a very valuable piece of information (otherwise Gazebo installation had nearly killed me).... I will install ROS in about a fortnight ! .... somewhat busy with Player-Stage ! ... :)
Arkapravo
@Eric Perko: Hi, can you do me a favour. Can you send me some screenshots of simple ROS simulaion at my e-mail ? arkapravobhaumik at gmail.com .... much appreciated !
Arkapravo
@Eric Perko: Thanks
Arkapravo
@Tom : are you still working with ROS ?
Arkapravo
@Eric Perko : I am working with ROS-box turtle .... and gazebo works good ! :) .... Thank you once again !
Arkapravo
+2  A: 

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.

Drew Noakes
@Drew Noakes : Nice to know, do you have any blog/website ? Any screenshots vids etc ? :)
Arkapravo
@Arkapravo -- I edited my answer to provide some links for you.
Drew Noakes
@Drew Noakes : Many thanks, an open source robot enthusiast sure needs help and support as this ! :-)
Arkapravo
@Drew Noakes : Your project looks great, very interesting. However, I am simply too focused on Player-Stage, will try to come back to this one. :-)
Arkapravo
@Arkapravo -- what do you mean by player stage? Is that an application itself, or do you mean that you want a higher level abstraction of the agent itself? If the latter is the case, then you might check the 2D soccer simulation league.
Drew Noakes
@Drew Noakes : Player-Stage is a part of Player Project, (2D / 2.5 D) simulation. http://playerstage.sourceforge.net/
Arkapravo
@Drea Noakes : Which version of ODE does SimSpark use ?
Arkapravo
According to the Wiki _0.5 or higher, 0.9 strongly recommended_ (http://simspark.sourceforge.net/wiki/index.php/Installation_on_Linux#Installing_ODE)
Drew Noakes
@Drew Noakes : Do you have any published work on these topics ?
Arkapravo
@Arkapravo, I'm a relatively new enthusiast for robotics simulation and haven't published anything apart from the wiki documentation for the TinMan open source project I created.
Drew Noakes
+1  A: 

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

iamgopal
As an aside, ODE is used by SimSpark (the platform on which RoboCup 3D is run): http://stackoverflow.com/questions/2533321/robotics-simulator/3068782#3068782
Drew Noakes
@iamgopal : Thanks, didn't know of that one !
Arkapravo
@iamgopal : Which version of ode are you using ?
Arkapravo
last i have used is 0.9 , that is with this http://alleg.sourceforge.net/ excellent library on vc++ 6. ode is active on sourceforge, but its website or doc may be little old.
iamgopal
@iamgopal : Installed ode 0.11.1 on Ubuntu 9.04 .... it is working cool ! .. pretty nice ! ...then again it is not really a ROBOT SIMULATOR ..... it is a physics engine !
Arkapravo
@iamgopal : Is your micromouse project an open source project ?
Arkapravo
+1  A: 

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.

Staffan
@Staffan : Thanks, I have never worked on peekabot and MRPT, hence this question :). I agree Gazebo is still not mature and neither stable ( ver-0.10.0). ODE is cool, still learning it ..... as of now I am somewhat good with Player-Stage the new Stage allows for 2.5 Dimension (projections in 3D). I was just trying to find what is the popular opinion regarding robot simulators. :)
Arkapravo
@Arkapravo: Don't be fooled into thinking that a 0.x version necessarily means immature and unstable, though :)
Staffan
@Staffan : well ... I had my sour experience with Gazebo 0.10.0 .. :(
Arkapravo
+1  A: 

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!

Seg
@Seg : Thanks, I have updated that info
Arkapravo