Rodney Brooks (Robust.ai Co-founder) – The Great Robot Migration from Embedded Isles to Unix-ville | Nokie Bell Labs (Oct 2019)
Chapters
00:02:08 Unix and Robotics: A Historical Perspective and Future Trends
Unix Adoption in Robotics: In 1987, approximately one robot ran Unix, increasing to tens by 1997 and thousands by 2007. Today, millions of robots run a version of Unix, with an estimated 2 million out of 30-40 million robots worldwide using Unix. The trend indicates that most robots will run Unix in the future, with some holdouts due to specific reasons.
Challenges in Unix Adoption by Robots: The author discusses the reasons behind the slow adoption of Unix in robotics.
Definition of Robots: There are various definitions of robots. Traditional factory robots, often found in automobile factories, are isolated from human interaction. Robot toys, such as Furby and Pleo, have limited actuation capabilities. Robot vacuum cleaners are another category of robots.
Challenges in Bringing Computers to Robotics: Industrial robots, like the Unimate series, were introduced in the 1960s. Early robots did not use computers due to their high cost, lack of mass production, and inability to perform the necessary floating-point operations for complex control systems.
Showmanship and Early International Expansion: Joe Engelberger, the business mastermind behind Unimate robots, showcased their capabilities on shows like Johnny Carson, demonstrating tasks like conducting an orchestra and pouring beer. To expand internationally, Engelberger partnered with companies like Nokia and Kawasaki Heavy Industries, leading to the establishment of industrial robotics in Finland and Japan.
Technology Limitations: Early computers like the PDP-7 were expensive, delicate, and not suited for factory environments. Robots required mass-produced, cost-effective computers capable of performing at least 100,000 floating-point operations per second for sophisticated control systems.
Analog Circuits in Early Robots: Instead of computers, early robots relied on analog circuits for control, resulting in limited flexibility and cruddy control systems. These robots were primarily capable of simple tasks like picking up castings due to their limited capabilities.
00:11:31 Computational Complexity of Robot Control
Computation Requirements for Robot Movement: Rodney Brooks emphasizes the substantial computational requirements for robot movement, even without considering world sensing. The complexity arises due to the need for precise control of multiple joints and their orientation in space.
Forward Kinematics: Forward kinematics involves calculating the position of the robot’s end point (x, y, z) given the angles of its joints (theta 1, theta 2, theta 3). This calculation involves trigonometric functions (cosines and sines) and various constants related to the robot’s link lengths.
Inverse Kinematics: Inverse kinematics is the opposite of forward kinematics. It involves calculating the joint angles (theta 1, theta 2, theta 3) required to move the robot’s end point to a desired position (x, y, z). This calculation is more complex than forward kinematics and requires additional mathematical operations.
Trajectory Control: To move the robot along a desired trajectory, one must consider the joint velocities and accelerations. Controlling the velocity of the joints ensures smooth movement and avoids abrupt changes in direction. This involves differentiating the forward kinematics equations and calculating the Jacobian matrix, which is a function of the joint angles.
Computational Complexity: Brooks emphasizes that the computational requirements for robot movement are significant, even when considering only three degrees of freedom (x, y, z) instead of the typical six degrees of freedom in industrial robots. The calculations involve matrix inversion and differentiation, requiring substantial processing power.
00:15:25 Evolution of Real-Time Operating Systems in Robotics
Early Challenges in Robot Control: Traditional kinematics methods for controlling robots are limited as they don’t account for mass and forces. Incorporating dynamics and torque into the equations significantly increases computational complexity.
Computational Demands of Robot Control: Early robot arms required extensive computations, consuming all available processing power. Hard real-time constraints demanded precise timing for computations. Embedded processors with fixed processing loops were commonly used.
Unix-Based Operating Systems in Robotics: Early Unix-based operating systems, such as Meglos, were used in robotics research. Meglos offered low-latency communication and real-time guarantees. Satellite processors were employed to handle file IO and network communication.
Limitations of Early Unix Systems: Commercial Unix systems lacked support for security, failure handling, and availability. Computational limitations hindered real-time perception tasks. Custom chips were developed to improve perception performance. Rolling shutter cameras presented additional challenges.
Notable Contributions: Russell Anderson developed a ping pong playing robot using the Megalos system. Neil Westy’s group designed a custom chip for real-time perception.
00:21:35 Evolution of Robotics in the 1980s and 199
Russ’s Ping-Pong Playing Robot: In 1987, Russ built a robot that could play ping-pong. The robot used custom vision hardware and a VAX computer for control. It could compensate for the rolling shutter effect and estimate the spin and bounce of the ball. This was the first robot to play ping-pong against a human.
Unix on Robots and Real-Time Semantics: Modern robots use Unix for real-time control and high-level task planning. This approach allows for fast and efficient execution of real-time tasks while providing a high-level interface for human interaction.
Genghis: A Walking Robot with Limited Computation: In 1988, Rodney Brooks built Genghis, a walking robot with limited computation. Genghis used four 8-bit Hitachi processors with a total of 1 kilobyte of RAM. It could walk over rough terrain and sense its environment with whiskers.
Kismet: A Robot with Emotional Expression: In the 1990s, Cynthia Brazil built Kismet, a robot that could express emotions. Kismet used 100 megahertz PCs and 6807 processors running Lisp. It could understand the prosody in people’s voices and speak English phonemes with prosody.
Challenges in Commercializing AI Robots: Commercializing AI robots was challenging due to the high cost of computation and the need for specialized hardware and software. Despite these challenges, Rodney Brooks and his colleagues continued to push the boundaries of AI and robotics, laying the foundation for modern AI-powered robots.
00:26:44 Evolution of Real-Time Operating Systems in Robotics
Early Robotic Platforms: The speaker, Rodney Brooks, describes the development of early robotic platforms that lacked force feedback, making it difficult to control robots precisely. The introduction of force feedback technology significantly improved the robot’s ability to interact with its environment. Researchers began to develop software frameworks for robotics, such as YARP, to facilitate the programming and control of robots. Real-time operating systems (RTOS) were used to ensure the timely execution of robotic tasks.
Processor Architectures: Over time, computation became cheaper, leading to the emergence of two classes of processors in robotics: 1. Small embedded processors for real-time control of motors and sensors. 2. Master processors running RTOS for high-level processes and communication.
Embedded Processors: Due to cost constraints, consumer robots relied heavily on embedded processors. Brooks visited companies in Asia, such as TSMC, to find low-cost and suitable processors for use in consumer robots. Stripped-down versions of processors like the 6502, originally used in Apple IIs, were employed in consumer robots.
Consumer Robot Example: Brooks showcased a robot doll, nicknamed “my real baby,” that utilized two stripped-down 6502 processors and a network between them. The robot doll featured a limited amount of RAM and multiple threads running concurrently. Despite its unique features, such as the ability to sense and simulate certain behaviors, the robot doll ultimately failed as a commercial product.
Early Home Robots: Price-driven design: Vacuum cleaner robot prototype in 1992 had multiple chips, but commercial release in 2002 required a budget of $200, leading to a cost of goods sold of $50. Limited computation: Even in 2002, RAM was expensive on a single chip, resulting in very limited computational capabilities for early robots.
Transition to Unix-Based Robots: Millions of robots now run a version of Unix due to significant changes in the last decade and a half.
ROS (Robot Operating System): ROS is not an operating system but a layer of libraries and tools for building robot applications. ROS has become popular in academia and is trickling out into real-world applications. ROS is not the first such framework but has emerged as the winning one.
Alternative Frameworks: Over the years, there have been numerous attempts to develop general-purpose robot frameworks. YARP, developed at Rodney Brooks’ lab, is one such framework that powers research in Europe with the iCub robot. Other active platforms also exist, but most modern robots run on top of Unix, typically Ubuntu.
iRobot’s Military Robots: iRobot developed robots for military use in Afghanistan and Iraq, utilizing the Mobility framework on Linux and dedicated motor control boards. These robots were relatively expensive due to their military purpose and had tele-operated arms that moved slower than in industrial settings, requiring less real-time computation.
Fukushima Disaster and iRobot’s Response: iRobot’s failed business model of nuclear power plant inspection robots in the mid-90s led to a call for assistance in 2011 after the Fukushima disaster in Japan. iRobot trained TEPCO employees to operate their robots in the highly radioactive areas of the power plant, which lacked digital controls and had analog dials. The robots were used to create Wi-Fi hotspots, transmit digital information from high radiation areas, and operate certain functions under tele-op control, aiding in the shutdown of the power plant. Brooks reflects on the lessons learned from the disaster, emphasizing the importance of digital channels in power plants and avoiding locations prone to tsunamis.
ROS: The Ascendant Robot Operating System: Despite various iterations, ROS (Robot Operating System) has become the dominant choice for research labs worldwide. While not yet a полноценный operating system, ROS runs primarily on Ubuntu and is gaining traction in the industrial robot and high-end consumer markets. Examples of companies using ROS include Universal Robots (owned by Teradyne) and Brooks’ own company (which eventually failed) that ran ROS on Ubuntu.
00:36:52 Modern Robotic Technologies and Real-Time Computing
Sawyer Black: Rethink Robotics’ Sawyer robot is being relaunched as Sawyer Black, with a new black color scheme and possibly built in Germany.
Teach by Demonstration and Behavior Trees: Rethink Robotics introduced a teach-by-demonstration programming method, which automatically generates behavior trees. Behavior trees are commonly used in video game programming, making them accessible to many developers.
Multi-Core Utilization and Real-Time Control: Rethink Robotics utilizes multi-core processors to achieve real-time control in their robots. Certain threads are locked down on specific cores, providing real-time comfort for critical tasks.
Force-Controlled Robotics: Rethink Robotics’ robots incorporate force sensing, allowing them to interact with objects and perform tasks in a more human-like manner. This enables tasks such as insertion and assembly to be performed with precision and safety.
Multi-Level Control Loops: Rethink Robotics’ robots employ multiple control loops running at different frequencies. High-level control loops handle dynamics and trajectory planning, while embedded processes manage position and force control at a kilohertz or two kilohertz. Motor commutation and current control are handled at an even higher frequency of 30 kilohertz.
Unix and Linux Adoption in Robotics: Unix and Linux are becoming increasingly popular operating systems for robots. The higher-end Roombas now run on Linux, highlighting the trend of adopting open-source software in robotics.
00:41:52 Ubiquitous Linux in Robotics: From Vacuum Cleaners to Drones
Unix in Robots Today: Robots like the M6, S9, and i7 now run Linux on 32-bit ARM processors. Vacuuming robots, which used to be simple, now have more computing power and capabilities. Self-driving cars typically use Linux with ROS (Robot Operating System).
Unix in Drones: Drones have high mass and power requirements. Flight software stack in drones is still fully embedded. Add-on Unix boxes can be used for specific applications like simultaneous localization and mapping with vision. Some drone users prefer to keep Unix off for battery life reasons.
Unix Adoption in Robotics: Low-cost, low-power, and ultra-high-performance applications may not adopt Unix. However, most robots can be adapted to run on Unix. Rodney Brooks predicts that in the future, most robots will run Unix.
00:43:59 Future of Robotics: Manipulation and Movement
Major Steps in Robotics: Rodney Brooks highlights two major areas for advancement in robotics: manipulation and three-dimensional space movement.
Manipulation: He expresses disappointment with the current hype surrounding manipulation, particularly the example of a robot hand solving a Rubik’s Cube. Brooks emphasizes that true human-level manipulation involves effortless switching between different hand movements and tasks, something current robots lack. He acknowledges that reinforcement learning shows promise for improving manipulation, but there is still a long way to go.
Three-Dimensional Space Movement: Brooks does not explicitly discuss this aspect in the provided text.
Automation and Job Displacement: Brooks agrees that better manipulation in robots could lead to legitimate concerns about automation taking away jobs. He highlights the evolutionary advantage humans have in physical manipulation tasks, making it challenging to replicate through programming.
Conclusion: Rodney Brooks emphasizes the need for significant advancements in manipulation and three-dimensional space movement for robotics to reach its full potential.
00:46:38 Advances in SLAM Technology and Its Potential in Robotics
SLAM Technology: SLAM (simultaneous localization and mapping) allows robots to simultaneously navigate and build a map of their environment. SLAM technology has advanced significantly in recent years, thanks to research and development efforts by Google and others. SLAM is now considered to be a mature and reliable technology that can be used in commercial robotic applications.
Potential Applications of SLAM in Robotics: SLAM technology can be used in a variety of robotic applications, including: Surveillance Exploration Delivery Inspection SLAM can be particularly valuable in environments that are unstructured or changing, such as warehouses, construction sites, and natural disasters.
Challenges to Widespread Adoption of SLAM in Robotics: Despite its potential, SLAM technology has not yet been widely adopted in commercial robotics. One challenge is the need for robust and reliable SLAM algorithms that can operate in a variety of environments. Another challenge is the need for business models that make sense for robotic applications.
Surveillance as a Potential Early Application: Surveillance is one potential application for SLAM-based robots that could lead to widespread adoption. However, it is important to address concerns about privacy and creepiness in order to ensure that surveillance robots are accepted by the public.
Conclusion: SLAM technology has the potential to revolutionize robotics, enabling a wide range of new applications. However, there are still challenges that need to be addressed before SLAM can be widely adopted in commercial robotics. Surveillance is one potential early application for SLAM-based robots, but it is important to address concerns about privacy and creepiness.
00:49:11 Real-Time Systems and the Evolution of Operating Systems in Robotics
Historical Comparison of Digitizing Speech and Current OS Usage: Digitizing speech also had real-time requirements, similar to the current situation with operating systems. Today, page faults while digitizing speech would be catastrophic, but modern cell phones handle it seamlessly. The use of an operating system for real-time tasks has diminished due to increased comfort levels.
Human Response Time as a Boundary Condition: The need for real-time guarantees arises when the system’s response time must be faster than human perception. This boundary condition is determined by human response time needs, such as frames per second or actions per second. Below this threshold, a dedicated processor or OS running on a dedicated core can handle the task without noticeable delays.
Speech Sampling Rates and Deep Learning’s Impact: Speech sampling rates are much higher than 200 hertz, requiring specialized processing. Deep learning has had a significant impact on far-field speech recognition, as seen in devices like Alexa and Google Home.
Linux and Unix: A Distinction: The question of whether Linux is Unix was left unanswered, highlighting the need for clarification.
Unix Dominance in Robotics: Currently, about 2 million out of 40 million robots run Unix. In the next 10 years, almost every robot is expected to run Unix, except for very low-cost models. This trend is driven by the increasing adoption of ROS (Robot Operating System) and the convenience of Unix for robotics applications.
Abstract
The Evolution of Robotics: From Unix Adoption to Modern Challenges and Innovations
In the world of robotics, the adoption of Unix has marked a significant evolution, with millions of robots now running on this operating system, a stark contrast to the lone Unix-based robot in 1987. Rodney Brooks, a notable figure in this field, has contributed to the development of diverse robotic forms, from factory robots to innovative models like the Sawyer robot. His insights shed light on the progression from early industrial robots, like Unimate, to modern advancements in kinematics, dynamics, and real-time control systems. This article delves into the pivotal developments in robotics, examining key aspects such as computational challenges, Unix’s role in real-time systems, consumer robots, and the future of human-robot interaction.
—
Unix Adoption in Robotics:
In the span of three decades, the robotics industry witnessed a dramatic shift, with Unix evolving from a rarity in 1987 to a standard in millions of robots today. This trend, mirroring the progression of computing power and sophistication in robotic systems, signifies a crucial step in the field’s evolution. Robots like the M6, S9, and i7 now run Linux on 32-bit ARM processors. Vacuuming robots, which used to be simple, now have more computing power and capabilities. Additionally, self-driving cars typically use Linux with ROS (Robot Operating System).
The trend indicates that most robots will run Unix in the future, with some holdouts due to specific reasons. For instance, low-cost, low-power, and ultra-high-performance applications may not adopt Unix. However, most robots can be adapted to run on Unix, leading to Rodney Brooks’ prediction that most robots will eventually operate on this platform. Currently, about 2 million out of 40 million robots run Unix, but in the next 10 years, almost every robot is expected to run Unix, except for very low-cost models. This trend is driven by the increasing adoption of ROS (Robot Operating System) and the convenience of Unix for robotics applications.
Industrial and Consumer Robotics:
The journey from Unimate, the first industrial robot, to modern consumer robots highlights the diversification in robotics. While early robots like Unimate were controlled by analog circuits for simple tasks, today’s robots, such as autonomous vacuum cleaners, demonstrate significant advancements in autonomy and complexity.
Industrial robots, like the Unimate series, were introduced in the 1960s. These robots were designed for specific tasks in manufacturing environments, such as welding, painting, and assembly. They were isolated from human interaction due to safety concerns.
Consumer robots, on the other hand, are designed for use in homes and other public spaces. Examples include robot vacuum cleaners, robot toys like Furby and Pleo, and service robots used in healthcare and retail. These robots interact with humans and are often equipped with sensors and AI capabilities.
Computational Evolution in Robotics:
The transition from analog to digital control systems in robotics marked a new era of flexibility and programmability, allowing robots to undertake complex tasks. This shift was necessary as the increasing sophistication of robots demanded more computing power, previously hindered by the cost and delicacy of computers.
The shift to digital control systems occurred in the 1970s with the introduction of microprocessors. These microprocessors were more affordable, reliable, and capable of performing complex calculations, enabling robots to perform more sophisticated tasks.
Kinematics and Dynamics in Robotics:
Understanding robot movement, from basic kinematics to the more complex dynamics, has been central to the advancement of robotics. Forward and inverse kinematics calculations facilitate precise movement control, while dynamics introduces the challenge of real-time computation of forces and torques, a feat initially beyond the capabilities of early robots.
Unix in Real-Time Systems:
The integration of Unix in real-time systems revolutionized robotics, with early attempts in the 1980s leading to successful implementations in systems like Meglos. These advancements enabled complex tasks like vision processing and trajectory control in real-time, as demonstrated by Russell Anderson’s ping pong playing robot.
Unix-based real-time systems provide the necessary stability, reliability, and software tools for robotic applications. However, the use of an operating system for real-time tasks has diminished due to increased comfort levels. The need for real-time guarantees arises when the system’s response time must be faster than human perception. This boundary condition is determined by human response time needs, such as frames per second or actions per second. Below this threshold, a dedicated processor or OS running on a dedicated core can handle the task without noticeable delays. Digitizing speech also had real-time requirements, similar to the current situation with operating systems. Today, page faults while digitizing speech would be catastrophic, but modern cell phones handle it seamlessly.
Consumer Robotics and Challenges:
The journey of consumer robots, exemplified by Rodney Brooks’ ventures, reveals the challenges in balancing cost and capabilities. His experiences with iRobot’s failed business models underscore the difficulties in developing successful consumer robots, highlighting the need for affordable yet capable computing solutions.
The challenges of developing successful consumer robots and achieving more human-like manipulation capabilities remain at the forefront, promising a dynamic and innovative landscape in the world of robotics.
ROS and Unix in Modern Robotics:
The widespread adoption of Unix, particularly in conjunction with ROS (Robot Operating System), has become a cornerstone in contemporary robotics. This combination, embraced by companies like Universal Robots and Rodney Brooks’ own ventures, has facilitated the development of more capable and user-friendly robots, such as the Sawyer robot.
ROS provides a comprehensive set of software tools and libraries specifically designed for robotics applications. The combination of Unix and ROS has enabled the development of more sophisticated and user-friendly robots.
Forward-Looking Perspectives in Robotics:
As robotics continues to evolve, the focus on manipulation, surveillance, and real-time requirements remains prominent. Rodney Brooks emphasizes the need for more versatile and efficient manipulation capabilities, while also considering the potential commercial applications of robotics in areas like surveillance. Additionally, the shift towards Unix-based systems in robotics is anticipated to continue, driven by their stability, reliability, and the breadth of available software tools.
Rodney Brooks revolutionized AI and robotics by focusing on behavior-based systems and challenging traditional representations of intelligence. He co-founded Lucid and iRobot, making significant contributions to the field and bringing robotics into everyday homes....
Robots have evolved from simple machines to sophisticated entities capable of navigating complex environments, and Unix-based operating systems have become the dominant platform for robot control due to their versatility and computational power....
Rodney Brooks, a pioneer in robotics and AI, expects gradual introduction of self-driving cars with limited capabilities and downplays fears of super AI, emphasizing the need for robots in various sectors to address labor shortages....
Rodney Brooks discussed the challenges and possibilities in AI and robotics, predicting AGI by 2300 and ASI by 2400. He emphasized the importance of physical interaction and understanding of the world in robotics, advocating for a learning approach that goes beyond mere human interaction....
Rodney Brooks offers a balanced perspective on robotics, highlighting their potential benefits while urging caution regarding ethical implications and AI overestimations. He emphasizes the importance of a measured approach, continued exploration, innovation, and ethical vigilance in the field of robotics....
Rodney Brooks' contributions redefined robotics, focusing on adaptable and user-friendly robots like Baxter for industrial automation and GestoNurse for healthcare assistance. Robotics trends include collaborative robots, localized manufacturing, and addressing socioeconomic challenges in aging populations....
Advancements in robotics, led by figures like Rodney Brooks, are making robots more accessible and user-friendly, transforming industries and everyday life. Baxter, a new class of industrial robot, is designed to be easily installable, programmable, and collaborative, revolutionizing manufacturing practices....