Rodney Brooks (Robust.ai Co-founder) – Unix50 – The Great Robot Migration from Embedded Isles to Unix-ville (Oct 2019)


Chapters

00:00:25 Evolution of Robots and Their Adoption of Unix
00:03:27 Mathematical Complexity of Robot Movement
00:11:08 Inverse Kinematics, Jacobian, and Robotic Dynamics
00:13:54 Early Unix Operating Systems for Robot Control
00:20:34 Evolution of Robotics Technology
00:24:17 From Embedded Systems to ROS: The Evolution of Robot Software Platforms
00:32:57 ROS and the Future of Robotics
00:37:01 Unix: The Future Operating System for Robots

Abstract

The Evolution of Robotics: From Simple Beginnings to Complex Control Systems

Abstract

The world of robotics has undergone a profound evolution in recent decades. This article traces the journey of robotics, focusing on key milestones, challenges, and the increasing prominence of Unix-based systems in controlling robots. Notable developments include the proliferation of robots operating on Unix, the rise of the Robot Operating System (ROS), and the shift towards more powerful and versatile control systems. The remarkable strides made in this field have transformed robotic systems from simple, single-task machines to multi-faceted, intelligent entities capable of navigating complex environments.

Rodney Brooks’ Takeaways: The Proliferation of Robots

Rodney Brooks, a prominent figure in robotics, has observed a significant increase in the number of robots running Unix over the years. He predicts that most future robots will operate on Unix. This growth reflects the evolution of robots from basic factory machines to sophisticated entities like military robots, autonomous cars, and even toy robots like Furby and Pleo.

Understanding the Basics: What is a Robot?

Defining a robot can be complex, as they serve diverse purposes ranging from industrial tasks in factories to playful interactions as toy robots. The common thread among all robots is their ability to perform tasks autonomously or semi-autonomously. Today, robots have penetrated various sectors, including domestic cleaning with iRobot’s Roomba, military applications, and the automotive industry, where cars increasingly resemble robots with their advanced sensors and actuators.

The Dawn of Industrial Robots: Unimate and Beyond

The journey of robotics began with Unimate, the first industrial robot, introduced in a GM factory in Trenton, New Jersey, in 1959. These early robots were controlled by analog circuits and lacked the computational power and real-time capabilities of modern computers like Unix. The introduction of real-time operating systems and Unix-based systems has revolutionized the field of robotics, enabling the development of more sophisticated and capable robots.

Computational Requirements for Robot Movement

Robot movement is a complex interplay of computational processes, including forward and inverse kinematics, trajectory control, and applying desired forces. Each of these processes requires significant computational power, making the control of robots a challenging task, especially in real-time environments with uncertainties and disturbances.

Challenges in Robot Control

The complexity of robot control stems from the multi-dimensional nature of their movements and the need for real-time control. Early robots struggled with these challenges, limited by their computational capabilities. The advent of real-time operating systems like Meglos and the use of Unix-based operating systems have provided the necessary computational power and real-time capabilities to overcome these challenges.

The Legacy of Early Real-Time Operating Systems

The mid-1980s marked a turning point in robotics with the advent of real-time operating systems like Meglos. Meglos, designed for real-time applications, ran on a DEC VAX with multiple Motorola 68000 processors. It facilitated low-latency communication and handled real-time tasks effectively, despite limitations in computational speed due to hardware constraints. This breakthrough paved the way for the development of more sophisticated robotic systems.

Russell Anderson’s Ping Pong Playing Robot: A Milestone

A notable application of the Meglos system was in Russell Anderson’s ping pong playing robot, which used custom chips and vision boards to process images in real time. This robot was a significant milestone, demonstrating the potential of real-time capabilities in robotics. The robot’s ability to play ping pong showcased the advanced perception and control capabilities that could be achieved with the use of real-time operating systems.

Rodney Brooks’ Journey: From Genghis to Kismet

Rodney Brooks’ work in robotics, particularly with Genghis and Kismet, showcased the evolution of computational capabilities in robots. Genghis, with its limited resources, could traverse rough terrain, while Kismet, with more advanced computational power, demonstrated basic human communication. These robots highlighted the potential for robots to operate in complex environments and interact with humans in rudimentary ways.

The Rise of ROS and Unix in Robotics

The Robot Operating System (ROS) has become a dominant platform in robotics, facilitating the development of complex robotic applications. It provides software libraries and tools for building robot applications, including drivers and development tools. The increasing use of Unix-based operating systems, particularly Ubuntu, in modern robots highlights the shift towards more powerful and versatile control systems. Unix-based operating systems offer a stable and reliable platform for running complex robotic applications, enabling the development of more capable and sophisticated robots.

Lessons from Failed Business Models and Success Stories

The journey of robotics is also marked by failures and successes. iRobot’s failed ventures, like the nuclear power plant inspection robots and “My Real Baby,” contrast with their successful deployment in challenging environments like Afghanistan, Iraq, and the Fukushima nuclear disaster. These experiences underscore the importance of digital channels and proper planning for natural disasters in power plants.

ROS: The Backbone of Modern Robotics

Today, ROS is integral to various robotic applications, from autonomous driving systems to high-end consumer robots. Its intuitive programming through behavior trees, real-time force sensing capabilities, and user-friendly interface have made it the go-to choice for many developers. ROS has become the de facto standard for research labs and is beginning to see widespread adoption in real-world applications.

The Future of Robotics: Unix Dominance and Beyond

The future of robotics seems firmly tied to Unix, thanks to its versatility and multi-core capabilities. While low-cost, low-power applications may still pose challenges, most robotic applications can be adapted to run on Unix, solidifying its position as a dominant force. The increasing use of multi-core processors, real-time control loops, and Unix-based operating systems is shaping the future of robotics, enabling the development of more capable, reliable, and versatile robots for a wide range of applications.

Early Developments in Real-Time Operating Systems and Robots

In the early days of robotics, robot arms lacked computational power and operating systems, focusing solely on arithmetic computations. Commercial robot arms used embedded processes with fixed processing loops for real-time control. The introduction of real-time operating systems like Meglos in the mid-1980s marked a turning point, enabling the development of more sophisticated robots. Meglos, running on a DEC VAX with Motorola 68000 processors, provided low-latency communication and handled real-time tasks effectively, despite limitations in computational speed. This breakthrough paved the way for the development of more capable robotic systems.

The Evolution of Robots from Genghis to COG

Rodney Brooks’ work in robotics, particularly with Genghis and Kismet, showcased the evolution of computational capabilities in robots. Genghis, with its limited resources, could traverse naturally occurring rough terrain using its whiskers as sensors and adjust its gait to handle challenging obstacles. Kismet, on the other hand, with more advanced computational power, could engage in rudimentary interactions with humans, such as responding to prosody in their voices and generating speech-like sounds with appropriate intonation. These robots highlighted the potential for robots to operate in complex environments and interact with humans in rudimentary ways.

The Evolution of Robot Platforms: From Real-Time Operating Systems to Unix-Based Robots

The first robot platforms were built on real-time operating systems (RTOS). These systems were designed for embedded systems, such as toys and consumer robots, where low price was the driving factor. As computation became cheaper, robots began to incorporate more powerful processors, enabling the use of Unix-based operating systems, which provided a more flexible and powerful environment for developing robot applications. The Robot Operating System (ROS) emerged as a popular framework for developing robot applications, offering software libraries and tools to facilitate the building of complex robotic systems. Today, Unix-based operating systems and ROS have become the dominant platforms for robotics, providing the necessary computational power and flexibility to develop advanced robotic applications.


Notes by: Simurgh