ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Fast headless robot simulator

asked 2014-04-17 11:00:56 -0600

updated 2014-04-17 12:30:18 -0600

It seems that Gazebo ( Stage ( and STDR ( can run in headless mode.

I'm looking to sample, as fast as possible, the outcome of some policy for a mobile robot.

This is a reinforcement learning project and it would be prohibitive to have a episode run for say 30 secs.

The presence of noise is preferable but physical realism is not required. Ideally, I would want to deploy my experiment over Amazon EC2. At the abstract level, I'd want to simulator to take an initial state and policy and return the trajectory that the system followed. I would almost use it as a "local planner".

Ideally, I could simulate multiple episodes in parallel across different processes. I can see this as a being a problem due to the client/server architecture.

What would you recommend among Gazebo, Stage or STDR ?

Would OpenRAVE be a better fit ?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2014-04-17 11:27:11 -0600

If you only require simplified 2d motion capabilities for your scenario, Stage or STDR would be the best choice due to much lower runtime requirements. Gazebo provides higher fidelity (full 3d simulation) and with CloudSim, a cloud interface for it is already available (not sure how mature that is for arbitrary applications, though). There are also other potential options like MORSE or VREP that might be interesting for your use case. A little more info on what you want to simulate (sensors, motion modalities, noise etc.) would help (you can edit your original post to add info).

edit flag offensive delete link more


Thanks for the suggestions. In terms of sensors, I'd be pretty basic: laser, odometry, no camera.

pierrelux gravatar image pierrelux  ( 2014-04-17 12:31:09 -0600 )edit

answered 2014-04-17 13:50:30 -0600

ahendrix gravatar image

It may be worth looking into which simulators support running faster than real-time. This allows you do to things like simulating a 30-second run in a fraction of that time, assuming you have a fast enough CPU.

In ROS, this means setting the use_sim_time parameter to true, and then having the simulator publish the /clock topic. I believe Gazebo does this, and you may either be able to it in STDR, or you may be able to publish your own /clock topic and have STDR use it seamlessly. I don't have enough experience with the other simulators to know if they support something similar.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-04-17 11:00:56 -0600

Seen: 1,032 times

Last updated: Apr 17 '14