[ros-users] [Discourse.ros.org] [General] Why don't we use ROS?

David Crawley ros.discourse at gmail.com
Sun Nov 12 23:05:15 UTC 2017

Well we here at Ubiquity Robotics base all our robots around ROS. Our robots will, it seems, be less expensive than the pulurobotics robots and on almost all fronts have greater capability.

Why did we choose ROS? Well its simply a case of enabling a great user experience and development speed for the user. Before we built ROS based robots we built monolithic designs like the pulurobotics robot. We built an application called party-bot that looks around the room and uses face detection to find people to serve drinks to (see the video on our website https://ubiquityrobotics.com/#applications). With the monolithic design we had a team of 5 people working on it for several days to get a first prototype. Then it took us ages to tune it and it never really worked very well.

With the ROS design, it took 1 person 6.5 hours to get to the first prototype. We tuned it in 1.5 hours using the many ROS tools and it worked well fast. 

Yes ROS has a steep learning curve - that's something we as a community do need to solve. Yes it takes a long time to make all the parts of your robot work properly with ROS - that's something that is a result of the fact that ROS forces you to think properly about the architecture of your robot. 

To claim though that ROS is too heavy weight, just ain't so! We too run our entire ROS stack on a raspberry Pi 3. In fact you can download our ROS image for the Raspberry Pi 3 here. https://ubiquityrobotics.com/#software. Our software and stack is great for running robots, but also great for just hooking up say a camera or other peripherals. We get terrific performance with ROS on a Raspberry Pi 3, but the best bit is that if the performance isn't enough its easy to make use of additional compute infrastructure because you can make it all work together with ROS.

To claim that shoving everything on to one central processor solves all problems with timing ain't so either nor is it particularly true that you must implement heavy weight timing synchronization mechanisms for every peripheral.

Personally I love ROS just like I love my car. Now if I am more familiar with a horse and buggy, it might seem a lot easier to use and a reasonable choice, because its true that cars have their own set of problems. However in the end the advantages of my car over more traditional modes of transport are just overwhelming and any problems that currently exist with cars are being worked on by a vast worldwide group of talented engineers. I don't see that kind of engineering happening with my horse and buggy approach.

[Visit Topic](https://discourse.ros.org/t/why-dont-we-use-ros/3161/10) or reply to this email to respond.

More information about the ros-users mailing list