# 我们为什么不使用ROS？Why don't we use ROS?

1. ROS实际上可以解决我们10％左右的问题。剩下的90％至少会是两倍繁琐的。

ROS would actually solve around 10% of our problems. The rest 90% would get twice as tedious, at least.

2. 我们已经从零开始开发了所有的功能，并且团队通过三个半月达到了相同的实际功能水平，这比一个10人的团队通常需要2 - 3年的时间才能使用ROS（基于市场分析数据得出）。

We have developed everything from scratch, and have reached the same level of actual functionality with a team of three in six months than what it usually takes for a team of ten people to achieve in 2-3 years using ROS (based on what we have seen while analyzing the market).

--------机器翻译--------

# 我们为什么不使用ROS？

## 我们不需要使用ROS

ROS将现有的传感器，执行器等硬件整合在一起，通常难以使​​用，不兼容，通过将其数据流转换成消息总线，在硬件驱动器和计算单元之间具有兼容的数据类型。它也是一组转换接口，用于运行多个外部（即，不开发用于ROS）的开源计算算法。

ROS还提供了一些工具来帮助研究人员测试出去的东西，并购买新的1000美元或5000美元的机器人硬件。因此，ROS是翻译者，ROS是“共同语言”; 机器人部件之间以及机器人设计人员之间。当你像这样陈述时，所有这些听起来都很棒。

1）以综合方式自行开发所有部件是将机器人的价格降低至少十倍的唯一方法。如果我们要用“机器人组件”来构建我们的机器人，就像其他人似乎正在做的那样，我们的总物料成本至少是5000美元（与其他人一样），至少需要15000美元的市场价格事实上比赛开始的地方）。

2.）将复杂的，单独的模块（不是相互兼容的）连接在一起，对开发时间的使用效率低下，即使在使用ROS等中间件时也是如此; 即使是传说中的“别人”做驱动程序和数据转换。

3.）我们不会提供“交换零件，测试每个新的机器人零件”的可能性，这不是我们的产品，也不是我们的商业模式。ROS很擅长为此提供一个平台，如果这是我们的业务，我们会使用它。相反，我们正在构建我们自己的组件，将它们尽可能简单地整合在一起，并尽可能高效地将它们集成在一起，并尝试找到性能最佳的组件，以便我们的客户无需进行低级设计工作。然后，我们为社区提供一个完整的平台; 我们希望能够在这个平台上设计真正的应用程序，让您有一个快速的开始，而不是一直重复变量块之间的必要粘合。当然，因为它是开源的，任何人如果愿意，仍然可以修改这个平台，

ROS实际上可以解决我们10％左右的问题。剩下的90％至少会是两倍繁琐的。

## “ROS方式”效率低下

For our price segment, expensive computers are also out of the question; we need to run everything on a Raspberry Pi 3. And we want our product to be feature-rich, agile, quick, and energy efficient. Even from the environmental point alone, we cannot afford to convert tens of watts of power into heat by running inefficient code, inside the millions of robots we are going to swarm this planet with.

The inefficiency is not only in the cost or power consumption. Having looked at projects utilizing ROS, we have identified that programmers are needed to solve the same problems over and over again: how to "glue" the parts together in the ROS system; how to provide marketable user interfaces instead of demo/research applications.

We have developed everything from scratch, and have reached the same level of actual functionality with a team of three in six months than what it usually takes for a group of ten people to achieve in 2-3 years using ROS (based on what we have seen while analyzing the market). A lot of hard work is still ahead, especially in the software side, but it's great when the demos are actually running on prototypes that have actually manufacturable design inside, with all the CAD/CAM available, with BOM cost compatible with our market price goal even in 10-unit batches.

We never aim to just produce a demonstration using demonstration-specific (expensive, non-manufacturable, or otherwise useless) hardware.

We have developed everything from scratch, and have reached the same level of actual functionality with a team of three in six months than what it usually takes for a team of ten people to achieve in 2-3 years using ROS (based on what we have seen while analyzing the market).

## ROS is not the problem, but neither the answer

Pulu is Finnish and means pigeon, which is everywhere in urban environment

I like to work by identifying a problem, finding the root cause to it, and then either fix it or completely redo it.

With affordable mobile robotics, the problem is easy to identify: expensive, hard to use, often unreliable components, and lack of programming skills, resources or team coordination to build a complete system, usable in real-world "customer cases."

I don't know if the ROS project was thinking precisely along those lines, but at least they are apparently solving the same problem - the right problem. However, they are not fixing the root cause - I guess many "ROS thinkers" actually seem to like the way it is.

The foundation for robotics today is often a system that is way too complex. ROS sits on the top of the complex, expensive system, adding a lot more complexity to it, and somehow succeeds to manage that puzzle; I'm impressed how well it works, having seen some great demos.

In our opinion, answer to the complexity problem must be to remove the complex parts instead of managing them. But if we remove the parts being the foundation of mobile robotics, we have nothing left. So we have no choice but to redo everything from scratch.

While doing everything from scratch sounds like a daunting task, please remember that's exactly what the premise of ROS was: let's design and implement this massive software thing once so that everyone can reuse it later.

In our case, doing the "massive thing once" is made possible by stubborn simplification. We simplify each problem in its most basic form. If something seems complex, instead of adding to that complexity, we must dig deeper until we are at the lowest level possible to fix the cause of that complexity. We want to get the foundation right.

The foundation is in mechanics and electronics. (Including low-level firmware.)

ROS is middleware. This is also why we don't compete with ROS at all. This is why we are not redoing their work, and why I said that 90% of what we do is not answered by ROS. We think we don't need middleware - our "stack" is just timing-critical low level (embedded) and computational high-level.

## We'll be ROS compatible (whatever that means - please tell us!)

Navigating to the future

Finally, what we have found out, is that ROS is a competent system with a large community, and apparently has found its place in many institutions and companies. We encourage everybody to make their own, informed decision. We all have our motives. Never trust any opinion blindly - make technical decisions based on your technical analysis, so that it applies to your business model.

So, naturally, we don't ever want to discourage anyone, and for those fluent in ROS, or getting their inspiration from the "ROS way," we want to help and join the movement.

For this reason, we decided (from day one) to provide a ROS driver for our hardware. On the other hand, we never are very good at trying to fulfill the software needs of others (instead of our own need). We have too little experience in the ROS architecture ourselves, so it's probably a win-win situation if someone in the ROS open source community gets the inspiration to help us - we have already had a few contacts, people apparently want to do that, showing the positive drive in the ROS community.

We are going to publish all the software as open source, without limitations, so I'm 100% sure Pulu products will be a big hit in the ROS community as well, even if we don't use ROS internally right now.

----------------------

zhangrelay CSDN认证博客专家 不合格高校讲师
LoveRobot，Go！！！！人工智能和机器人粉，从事机器人工程专业本科教学和科研工作，研究方向包括多机器人仿真技术，控制与协作，机器人系统软硬件开发等。
05-16 3896

08-29 6万+
01-21 34万+
07-26 2万+
09-12 616
08-21 2688
08-07 465
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie