First, history
With the rapid development and complication of the robot field, the requirement of reuse and modularization of the code is more and more strong, and some open source robot system can not adapt to the demand very well. 2010 Willow Garage released the open source robotic operating system Ros (robot operating system), and soon began learning and using ROS in robotics research.
The ROS system is a collaboration between the project of the 2007 Stanford Artificial Intelligence Laboratory and the robot technology company Willow Garage's personal Robot Project (Personal), 2008 years later by Willow Garage to carry out the promotion. It's been more than four years (video). As PR2 's incredible performance, such as folding clothes, plugging in sockets, making breakfast, Ros also gets more and more attention. Willow Garage Company also expressed the hope to use the power of open source to make PR2 become "omnipotent" robot.
PR2 Price is high, 2011 retail price as high as 400,000 dollars. PR2 is mainly used for research. PR2 has two arms, seven joints for each arm, and a pair of pliers that can be Zhang He at the end of the arm. PR2 relies on the bottom of the four wheels to move. High-resolution cameras, laser rangefinder, inertial measurement units, tactile sensors, and a wide range of sensor devices are installed on the head, chest, elbows and pliers of PR2. At the bottom of the PR2, there are two 8-core computers that are the control and communication hub of the robot's hardware. Two computers are installed with Ubuntu and Ros.
Second, design objectives
Ros is open source, a post operating system for robots, or a secondary operating system. It provides functionality similar to the operating system, including hardware abstraction descriptions, low-level driver management, execution of shared functionality, message delivery between programs, and program release package management, and it also provides tools and libraries for acquiring, building, writing, and running multiple machine integration programs.
The primary design goal of ROS is to improve the code reuse rate in the field of robotics research and development. Ros is a distributed processing framework (also known as nodes). This allows executable files to be designed individually and loosely coupled at run time. These procedures can be encapsulated into packets (Packages) and stacks (Stacks) for easy sharing and distribution. Ros also supports a federated system of code libraries. So that collaboration can also be distributed. This design from the file system level to the community level makes it possible to independently determine the development and implementation of the work. All of these functions can be implemented by the basic tools of ROS.