First let me take the time to thank those working on drcsim and gazebo. It has alot of wonderful features and I have seen the active improvements at work. Thanks for the hard work and countless hours you have spent making these products.
Now, on to my topic of concern. I am wondering why the simulator seems to have such erratic behavior when starting and running the simulation? The following are the problems we are encountering:
- When using roslaunch atlas_utils qual_task_x.launch to launch the simulator, you have to launch it 4-5 times before the simulator actually launches and runs alright. There are a number of issues that happen here.
- The simulator starts and gets stuck displaying no timing or anything on the window. Just a grey window.
- The simulator starts and then writes to the log file and never displays a window.
- The simulator starts and does not write to the log file, does not show a window, and yet thinks that it has fully started and is running.
When the simulator does actually launch, about 60% of the time, as soon the counter starts running and the atlas robot is initialized into the world, the atlas robot will immediately fall to the ground in a totally random direction without having received any input from the user, no input from any controller through rosrun, no input on keyboard or mouse, the atlas robot just falls in a random direction and crunches up.
When the simulator does start, and the atlas robot is successfully standing still waiting for commands, sometimes after using rosrun package_name module_name the atlas robot will stay standing still and not perform any commands at all as though it did not receive the command input. Instead the plugin must be stopped, and re-run and then (without recompiling or making any changes to the code) atlas robot will actually respond to the commands.
Sometimes when controlling the atlas robot using rosrun, atlas will execute a few commands and then stop and refuse to continue executing commands. The same controller plugin is able to be ran again without recompiling or altering the code in any way, and the controller will successfully get atlas to perform all the commands. It is just atlas sometimes randomly decides to stop performing commands.
When executing certain movement based commands, the atlas robot does not perform the same action any two times in a row even though it has been specifically told to perform the same thing it just did last simulation. For example, if you tell atlas to turn by x degrees, and then stand still, atlas might do the following:
- Trial 1) Actually Turn X degrees and Successfully Stand Still
- Trial 2) Actually Turn X degrees and fall to the right
- Trial 3) Actually Turn X degrees and fall forward
- Trial 4) Turn Y Degrees and fall backward
- Trial 5) Turn Y Degrees and fall to the left
I realize that this is the product with which have to work so we need to hope for the best when we run our simulations. I was just wondering:
- Why the erratic behavior on atlas's part?
- Why does the simulation have to run executed 4-5 times before it actually runs once?
- Why does the robot fall over during simulation startup sometimes?
- Why does atlas stop responding to commands sometimes?
- What may I do to fix these problems and prevent them from occurring again?
Originally posted by aqiruse on Gazebo Answers with karma: 48 on 2013-05-03
Post score: 1