Question

I would like to make a list of remarkable robot simulation environments including advantages and disadvantages of them. Some examples I know of are Webots and Player/Stage.

Was it helpful?

Solution

This made me remember the breve project.

breve is a free, open-source software package which makes it easy to build 3D simulations of multi-agent systems and artificial life.

There is also a wikipage listing Robotics simulators

OTHER TIPS

ROS will visualize your robot and any data you've recorded from it.

Packages to check out would rviz and nav_view

It all depends on what you want to do with the simulation. I do legged robot simulation, I am coming from a perspective that is different than mobile robotics, but...

If you are interested in dynamics, then the one of the oldest but most difficult to use is sd/fast. The company that originally made it was acquired by a large cad outfit. You might try heading to : http://www.sdfast.com/
It will cost you a bit of money, but I trust the accuracy of the simulation. There is no contact or collision model, so you have to roll you own. I have used it to simulate bipeds, swimming fish, etc.. There is also no visualization. So, it is for the hardcore programmer. However, it is well respected among us old folk.

OpenDynamics engine is used by people http://www.ode.org/ for "easier" simulation. It comes with an integrator and a primitive visualization package. There are python binding (Hurray for python!).

The build in friction model.. is ... well not very well documented. And did not make sense. Also, the simulations can suddenly "fly apart" for no apparent reason. The simulations may or may not be accurate.

Now, MapleSoft (in beautiful Waterloo Canada) has come out with maplesim. It will set you back a bit of money but here is what I like about it:

It goes beyond just robotics. You can virtually anything. I am sure you can simulate the suspension system on a car, gears, engines... I think it even interfaces with electrical circuit simulation. So, if you are building a high performance product, than MapleSim is a strong contender. Goto www.maplesoft.com and search for it.

They are pretty nice about giving you an eval copy for 30 days.

Of course, you can go home brew. You can solve the Lagrange-Euler equations of motion for most simple robots using a symbolic computation program like maple or mathematica. EDIT: Have not be able to elegantly do certain derivatives in Maple. I have to resort to a hack.

However, be aware of speed issue.

Finally for more biologically motivated work, you might want to look at opensim (not to be confused with OpenSimulator).

EDIT: OpenSim shares a team member with SD/Fast.

There a lots of other specialized simulators. But, beware.

In sum here are the evaluation criteria for a simulator for robot oriented work:

(1) What kind of collision model do you have ? If it is a very stiff elastic collision, you may have problem in numerical stability during collisions (2) Visualization- Can you add different terrains, etc.. (3) Handy graphical building tools so you don't have to code then see-what-you-get. Handling complex system (say a full scale humanoid) is hard to think about in your head.

(4) What is the complexity of the underlying simulation algorithm. If it is O(N) then that is great. But it could be O(N^4) as would be the case for a straight Lagrange-Euler derivation... then your system just will not scale no matter how fast your machine.

(5) How accurate is it and do you care? (6) Does it help you integrate sensors. For mobile robots you need to have a "robot-eyes view" (7) If it does visualization, can it you do things like automatically follow the object as it is moving or do you have to chase it around?

Hope that helps!

It's not as impressive looking as Webots, but RobotBasic is free, easy to learn, and useful for prototyping simple robot movement algorithms. You can also program a BasicStamp from the IDE.

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.

ABB has a quite a solution called RobotStudio for simulating their huge industrial robots. I don't think it's free and I don't guess you'll get much fun out of it but it's quite impressive. Here's a page about it

I have been working with Carmen http://carmen.sourceforge.net/ and find it useful.

One of the disadvantages with Carmen is the documentation with all respect I think the webpage is a bit outdated and insufficient. So I like to hear from other people with experience in working with Carmen, or student reports/projects dealing with Carmen.

You can find a great list with simulation environments http://www.intorobotics.com/robotics-simulation-softwares-with-3d-modeling-and-programming-support/

MRDS is one of the best and it's free. Also LabView is good to be used in robotcs

National Instruments' LabView is a graphical programming environment for developing measurement, test, and control systems. It could be used for 3D control simulation with SolidWorks.

MRDS is free and is one of the best simulation environment for robotics. Workspace also can be used, and please check this link if you want a complete list with robotics simulation software

Trik Studio has a nice and clear 2D model simulator and also visual and textual programming programming environments for them. They also soon will support 3D modeling tools based on Morse simulator. Also it is free and opensource and has multi-language interface.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top