Why did I choose and advocate the development of robots with ROS?

If we want to develop a robot now, which operating system should I choose? In fact, there are very few operating systems that we usually come across, Windows, MacOS, Linux, iOS, Andoird. Although ROS is the full name of the Robot Operating System, it is not an operating system in nature. It is a Middleware for developing robots under the Linux distribution Ubuntu. There is nothing to argue about. Android means humanoid robots, but I think this is just a name. Is Andy Rubin really trying to explore intelligent robots through smart phones? Moreover, the humanoid robot in robotics is generally written as Humanoid. In order to avoid the ambiguity caused by the "operating system", in this paper we discuss what kind of "environmental configuration" is needed to develop a robot? So many concepts do not distinguish whether it is called the operating system.

There are a few points that we must first understand when choosing the environment configuration. First we need to know if real-time is necessary. To put it simply, if it is a key variable in the system, the system needs real-time. For example, the biped robot dynamic walking system must be in real time, but static walking is not real-time. If real-time is a must, we can choose Windows + VxWorks, a very common combination in the traditional motion control field. You can also choose the QNX operating system, or LabView, but I don't have much experience with these two real-time ones. My first real-time operating system was Windows + Ardence RTX, which should later be renamed to IntervalZero. Is there a system that needs to be real-time overall? When we were doing a biped robot, the motion control used RTX, but the image processing did not. Later, we moved the motion control part to an ARM7 lower computer. The Windows of the upper computer only needs to send the action instruction. So, even if real-time is needed, the architecture is very flexible. The upper computer is not in strong demand for real-time.

为什么我选择并且推崇用ROS开发机器人?

When we want to increase the complexity of the robot a little, we will find another problem to consider, inter-process communication. When we use Windows + RTX, interprocess communication uses the shared memory provided by RTX, but all of the slower image processing processes write data to shared memory, and the decision and motion control processes read the data. Shared memory is obviously not a good way to communicate, so there is no more discussion here. ROS uses a good communication architecture and is a foundation of ROS's entire framework (regardless of the basic concepts of topic, service, plugin, actionlib, etc. in ROS, or rviz, navigation package, etc.) Pay more attention to @Top Liu), so many people simply understand that ROS is just a communication architecture. I must say that interprocess communication is not the main reason why ROS can occupy the robot development environment. In 2010, when we developed a large humanoid military robot like Atlas, we used the interprocess communication tool IPC. IPC is Inter ProCESs Communication, and the developer is CMU's Reid Simmons, which should have appeared around 2000. Later, I used Nao's operating system NAOqi to help undergraduates participate in the RoboCup Standard Platform League. This system probably appeared in 2006. In NAOqi, the architecture of the whole communication is very similar to ROS. The Node in ROS is called a broker in NAOqi, which is the port that occupies a system. Therefore, when ROS officially released Box turtle in 2010, the communication architecture was not subversive. The mechanism of Android's interprocess communication is very powerful as far as I understand it. According to a lecture by @邵天兰, I also learned that the communication mechanism of ROS is actually a bit outdated. Therefore, it is of little significance to evaluate ROS only from the communication mechanism. Moreover, the communication mechanism in ROS is not to say that it cannot be bypassed. The program is essentially C++ and Python.

I think the biggest contribution of ROS is to develop a unified interface standard for robot development. Because Willow Garage was a mobile service robot that year, these standards were first unified in the mobile robot community. Therefore, the meaning of ROS, when I generalize it is six words, "the same text, the same car," greatly accelerated communication and progress. It is also because of this, the robotics community is slowly able to form some BenchMarking, which can form a trend in the open source community, so that you can no longer be trapped in the dilemma of building hardware and rebuilding the wheel of software. In fact, the most important thing is the message of ROS. It seems to be just some header files, but it allows us to easily replace various sensors and actuators, replace the various algorithms in the software, and now build the robot in our eyes, just like playing high blocks. Assemble a computer.

Of course, as a development tool, just doing it here is not enough. I have seen LabView's development tools, support a lot of hardware, and the standard should be very good. Microsoft Robotics Developer Studio is a good development tool, but unfortunately it has been around for a while. For robot development, ROS provides a good tool for visualization, simulation and debugging. Professionally, it is very developer friendly, which is why many people say why ROS is suitable for learning and research and development. However, I don't think this can support the idea that ROS is not suitable for product development, because after the product is formed, these debugging tools can usually be removed. About the visualization tool Rviz, the simulation of Gazebo, the Debug's log level, and the online rosparam and rqt, the ROS Sparks program has a detailed explanation.

Finally, it is necessary to talk about genetics, community, support and talent issues. The ROS gene is a mobile service robot, LabView's gene is NI, and Android's genes are Google and smartphones. The ROS community is still active. Although there are many high-end robots, the total number of developers is estimated to be in the order of 100,000 (the ROS answer registered users is also 30,000). The total amount cannot be compared with the Android. It is also behind the gap between OSRF and Google. I have talked many times on different occasions. Silicon Valley robot startups are based on ROS development (relative to the domestic, the specific proportion is not clear, from RosCon support manufacturers can see some clues), but domestic use Android The company clearly has the upper hand in terms of quantity.

So in the end, we must support this argument. We do not discuss industrial robots (and medical robots like industrial robots, with control as the core), and we have subdivided the remaining robot categories. First of all, educational robots (here, the kit for learning robots, etc., not the dialogue robot used to learn English or Tang poetry, this belongs to the emotional accompanying class), mainly for students of k-12, that is, students before higher education in China, Most of them are scratch+ microcontrollers, no system is needed. However, I think this situation will change in the near future, mainly because the education robot industry has found that the disconnect between robot education and robot development is a problem, then it is a business opportunity, but it is necessary to wait until the industry is big enough. Toy robots do not require a development environment, so they are playing various microcontrollers. These are not the directions that support robots can be a disruptive technology. So the following main analysis of robots developed with Android and ROS.

Emotional companion robot, academically speaking, is a social robotics. It is also a long-term research direction. However, as a point of the robot industry in the past two years, it is the consumer service robot mentioned by Dr. Robot Kong. I am in 2014. I never thought of it before the year. Because on the whole, the intelligence of the robot is not enough to support the concept of emotional escort. However, with the development of smart phones, especially smart phones that integrate a large number of sensors, Android supports hardware such as cameras, IMUs, microphones, communication components, etc. Secondly, it has been working to change the way of human-computer interaction. The giants have made a lot of amazing contributions, and the speech dialogue has made breakthrough progress (if there is no voice, touch screen interaction or touch interaction can also be down. On the point of interaction, Linux-based ROS is very disadvantageous); Because of the development of some affiliated products of Android system, Android tablet, smart home products, story machine, etc., the whole industry chain of children's accompanying robots is perfect from hardware to content, and everything has created a robotic outbreak of children's emotional accompanying robots. In fact, from the perspective of demand and market, the robots of the old age should be the bigger cake in the future. In any case, in the past two years to do emotional support robots, Android should be Donimating (to use dota dubbing to read!).

However, if you want to enter the robot industry, taking advantage of the explosion of the robot industry, flying robots as a lifelong career, it is not enough to use Android.

First of all, due to the genes of Android, we found that the versatility of emotional escort robots can be realized by mobile phones and tablets. Although more sensors are integrated, the passive devices such as mobile phones have improved in initiative, but the implementation is complicated. The function is not enough compared with ROS, which also leads to product homogenization. Second, the emotional accompanying robots have grown very fast in the past two years. It is a very large volume in the robot industry, but what if it counts in the Android camp? The robot industry as a whole is very small. The sales volume of China's service robot market in 2016 is about 10 billion yuan. The majority of the robots are sweeping robots. Huawei's 2016 consumer business sales are 178 billion yuan. I understand that it is mainly the Android mobile phone business. Therefore, as a derivative of Anroid, the emotional accompanying robot has a small share in this stock market. Can it subvert this market? Unknown. Finally, the service robot for the industry, the algorithm I shared a few days ago does not determine everything! Xu Hao, the founder of Thunder, talked about domestic robot entrepreneurship. Some of them talked about the fact that the robots of To B in the short-term are easier to implement. The implied meaning of To B's robots will be erupted in a short period of time (investors think it is suitable for entrepreneurship, it must be Outbreak). Let's take a look at the companies that do To B's service robots at home and abroad, do Savioke and Cloud Trace technology for hotel transportation, Fetch Robotics and Blue Fatty for Mobile Manipulation, Baxter for robotic arms, and some logistics robots. the company. What these companies have in common is that products are directly applied to the secondary and tertiary industries. The goal is to directly drive productivity. If the cost is really reduced, it is undoubtedly rigid demand. These robots are technically difficult and follow the development of robotics. The development of ROS has great advantages.

For the robot industry, there needs to be enough developers and a small number of elite researchers to make technological breakthroughs. For robot developers, not only must choose a development system and environment, but also need to understand the principle of robot operation through the whole system. Even if the most mainstream robot operating system in the future is not ROS, there will be a deep brand of ROS.

Mono Solar Cell

Wuxi Doton Power , https://www.dotonpower.com

This entry was posted in on