Open-sourcing PyRobot to accelerate AI robotics research

3 min read
Curated from ai.facebook.com →

Frameworks such as PyTorch have dramatically accelerated the progress of research in AI subfields such as computer vision and natural language processing. These tools provide a level of abstraction that makes it easier to build off of state-of-the-art systems, use shared libraries and tools, and optimize performance. To provide similar utility in AI robotics research, we’ve collaborated with researchers at Carnegie Mellon University to build PyRobot.

PyRobot is a framework and ecosystem that enables AI researchers and students to get up and running with a robot in just a few hours, without specialized knowledge of the hardware or of details such as device drivers, control, and planning. PyRobot will help Facebook AI advance our long-term robotics research, which aims to develop embodied AI systems that can learn efficiently by interacting with the physical world. We are now open-sourcing PyRobot to help others in the AI and robotics community as well.

PyRobot is a lightweight, high-level interface on top of the robot operating system (ROS). It provides a consistent set of hardware-independent midlevel APIs to control different robots. PyRobot abstracts away details about low-level controllers and interprocess communication, so machine learning (ML) experts and others can simply focus on building high-level AI robotics applications.

PyRobot will make it easier for the research community to use robotics data sets, algorithm implementations, and models, and also help them set benchmarks, compare their work, and build on each others’ results. When paired with low-cost robot platforms such as LoCoBot, PyRobot will reduce the entry barrier into robotics and help democratize robotics research. In addition to open-sourcing PyRobot, we are also announcing a request for proposals focused on using PyRobot with LoCoBot, with winners receiving a LoCoBot for use in their research.

Just setting up a robot and making it wave its arm can often take several days or even a week of tinkering with native robotics software. A common joke in the robotics community says you add one year for every robot you touch in your PhD thesis. PyRobot addresses this challenge by providing a common API across multiple robots and simulators. Using a robot is as simple as writing a “from pyrobot import Robot; bot = Robot(‘locobot’)” command. Moreover, the same high-level code works on any robot supported by the PyRobot framework. (To start, this includes LoCoBot and Sawyer, and support for additional robots will be added.)

PyRobot has common utility functions for all robots, such as joint position control, joint velocity control, joint torque control, Cartesian path planning, forward kinematics and inverse kinematics (based on the robot URDF file), path planning, and visual SLAM, among other features. Though it abstracts away the complexity of the underlying software stack, users still have the flexibility to use components at varying levels of the hierarchy, such as bypassing a planner in order to command low-level velocities and torques. PyRobot can be used to implement a variety of high-level AI applications.

Continue Reading

Enjoyed this summary? Read the complete article at the source:

Continue at ai.facebook.com →

Yves Mulkers

Yves Mulkers is the founder of 7wData and a widely followed voice in the data and AI community. He curates the 7wData and AI Beat newsletters, reaching hundreds of thousands of data and AI professionals, and writes on data strategy, analytics, AI, and the evolving data ecosystem.