What is a robot simulation software? It can be any software that simulates partially your robot, sometimes with its environment.
While most major software will propose a graphical interface to build a 3D world in which you can see your robot, it's not really needed. Sometimes, you just want an interface where you can manually control sensor inputs to test your robot's reactions. In that case a simple window or even a command line interface is enough.
The goal of a robot simulation software is to speed up testing of program and robot prototypes. You can often run simulations 10 times faster than real-time, thus saving a lot of time. You can also create 3D models of your robot, and put through tests with different parameters, and different challenges and see which version works best.
As I said, a robot simulation software is a great tool to test algorithms and new hardware. In my research laboratory, we use it for all kind of purposes.
The hardware team often test their new actuators and their control algorithms in simulation before actually building the new design. Each actuator prototype can be quite expensive, so if they see a big design flow (like 1 piece is too big and blocks the whole system), you'd better correct it in advance.
The people working on making humanoid robots walk use simulation all the time. Using the robot means you need 30 minutes just to set up. Plus, the HRP-4 robot is worth at least US$200'000, so you don't want to take any risk with it.
In my lab, we also created a musculo-skeletal simulator for the human body: we use motion capture and EMGs (muscle activity sensor) and we then visualize the results in a 3D interface. Every year, the team finds new ways to use better models for the muscles, or faster calculations, to create a very accurate model of the human body.
But if you just try to simulate a humanoid robot in program, how do you know it works in reality. You need to be sure that the robot model is physically consistent, that the balance is right, that the impact between the foot and the ground is well designed... That is what makes the difference between a good simulator and a bad one.
For HRP-4, Kawada Industries (the maker) provides a simulator called OpenHRP. It is really accurate and the people who work on it know that if it works in simulation, it will work on the robot. But I think it only works with the HRP-2 and 4 robots, since you need a very accurate model of the robot's hardware and weight.
If you want a good software that is compatible with many robots, can be programmed in many languages and all, I think Webots (not free) is a good choice.
For professionals who want to test automated factory lines and all, I just don't know.
Other pages that may interest you:
Learn the basics of robot programming. What's the difference between a PC and microcontroller? How can you structure the AI of your robot like a pro? The answer is here.
A list of useful robotic sensors for your projects. You'll also learn some ideas on how to use them for your projects. Sometimes, you just need to know what sensors exist to inspire new projects.