“PyRobot is a lightweight, high-level interface on top of the Robot Operating System (ROS),” Abhinav Gupta, research manager, and Saurabh Gupta, research scientist at Facebook, explained in a blog post. “It provides a consistent set of hardware-independent midlevel APIs [application programming interfaces] to control different robots. PyRobot abstracts away details about low-level controllers and interprocess communication, so machine learning experts and others can simply focus on building high-level AI robotics applications.” Some of the difficulties with programming robots are a challenge that Facebook wants to take on and fix.
What is PyRobot?
PyRobot is a python package designed for experimental research in robot learning. It is a high-level interface that is on top of the Robot Operating System (ROS). As the name implies it is designed to be programmed in the popular and versatile Python language. This allows researchers to focus on building high level applications using affordable robots and hardware. This effectively lowers the entry barrier into building and customizing robots.
PyRobot abstracts functions like position, velocity and torque to control joints. It also includes path planning, kinematics and visual simultaneous localization and mapping (SLAM). This level of abstraction allows developers to program robots with very few lines of Python code. Facebook will provide pre-trained models of navigation, grasping and pushing algorithms. There are more advanced functions such as IoT, which will shift responsibility to the developers.
In recent times Facebook has expanded its focus into AI and machine learning. In December 2018, Facebook open-sourced the PyText natural language platform. The intent was to make it easier to deploy Natural Language Processing (NLP) systems. During the same month, Facebook also open-sourced DeepFocus, an AI-powered system for more realistic VR images.
Beyond the concept of abstraction, PyRobot is designed to function with a wide range of different robots. There are two robots that PyRobot works with so far. These include LoCoBot, an arm robot that utilizes a base and Sawyer, a single arm commercial robot. PyRobot uses a common API with them that can command both with the same code. The ultimate goal is add additional approved robots over time that will work using the same API. The diversity in robot hardware is a reality in robotics research that creates many challenges.
“The cost of hardware and the complexity of specialized software has limited the scale of robotics research,” Facebook’s AI researchers said. “With lower barriers to entry, researchers can deploy several robots that collect data and learn in parallel, for example. By providing a common framework across different hardware, PyRobot will lead to development of benchmarks in robotics (similar to other areas in AI) and quantify the pace of progress.”
The release and advancement of PyRobot is significant for Facebook because robotics plays a huge part in the battle for dominance in AI. Will Facebook be able to unify a common platform for robots the same way it has for friends? Only time will tell.