avidbots / flatland

A 2D robot simulator for ROS
BSD 3-Clause "New" or "Revised" License
104 stars 66 forks source link

Question: Need for flatland? #39

Closed naveedhd closed 6 years ago

naveedhd commented 6 years ago

I am currently considering picking up one 2 (2.5D) simulator and would like to ask what specific use case led you to build this package as opposed to using existing solutions such as stage or stdr?

Watched the ROSCon ligthning talk but missed this comparison.

josephduchesne commented 6 years ago

Hey, I deliberately didn't try to bring up a comparison at the ROSCon lightning talk, since given the short amount of time, I didn't want to come across as badmouthing other community members. Stage and STDR are both reasonable simulators if they fit your needs. Here's my attempt to compare them. Feel free to correct me if I'm mistaken about any of the other simulators.

Here's a breakdown of reasons why you might want Flatland vrs. other options:

STDR vrs. Flatland

Player / Stage vrs. Flatland:

Both vrs. Flatland:

Flatland vrs. Gazebo:

Hopefully that illuminates some of the differences between your options. There are certainly areas where each of the simulators shine, but the reasons I highlighted here are the primary ones that caused us at Avidbots to spend the time writing our own.

We have the need to simulate large numbers of complex, dynamic environments, and the simulation speed in Gazebo (which we used, and still use) proved a major road block. What we really wanted was a fast, lightweight, 2.5D version of Gazebo that could allow us to easily simulate people walking through areas as the robot was in operation, doors opening and closing, multiple robots interacting with each-other, dynamic environments that change frequently, very large worlds (since our robots clean malls, airports, and other similar large spaces around the world).

If you have any other questions, or are able to explain your use-case in more detail I'd be happy to help.

naveedhd commented 6 years ago

That is very good and detailed explanation, and illustrates a lot of good points (y)

Thanks!