The thing that most people don't appreciate is that ROS was co-designed with the PR2, which had a very idiosyncratic architecture: two separate computers in the base, ethercat for comms, not at all modular, and very high end parts (for 2010ish). Most of the weirdness of ROS looks less weird in light of the design of the PR2, and most of the evolution of ROS was to get away from the PR2 model for more general platforms.
If you were in robotics prior to 2010, you probably would have used something called Player/Stage (by some of the same people who developed ROS). Believe it or not, another big motivation for ROS was solving the (many) problems that popped up as people tried to get Player/Stage running with robots like the Pioneer 3-DX.
The thing that most people don't appreciate is that ROS was co-designed with the PR2, which had a very idiosyncratic architecture: two separate computers in the base, ethercat for comms, not at all modular, and very high end parts (for 2010ish). Most of the weirdness of ROS looks less weird in light of the design of the PR2, and most of the evolution of ROS was to get away from the PR2 model for more general platforms.
If you were in robotics prior to 2010, you probably would have used something called Player/Stage (by some of the same people who developed ROS). Believe it or not, another big motivation for ROS was solving the (many) problems that popped up as people tried to get Player/Stage running with robots like the Pioneer 3-DX.