We've grown accustomed to hearing about Python being used for pretty much everything, albeit mostly for data science. It's time to consider it for robotics too.

The same way Python provides a higher level of abstraction over programming concepts, so does PyRobot but for robotics; abstracting away the low-level controls from the high-level motion generation.

It's an open source framework springing out of the collaboration of Facebook's AI Research and the Robotics Institute of Carnegie Mellon University, which aims to make researching for robotics a much easier proposition by providing a much more accessible software development environment.

It's also based on ROS, and while ROS already abstracts many low level controls and encapsulates complex functions, PyRobot ads yet another layer of indirection on top of that, that of Python.

For example you can use PyRobot's Python API's to make the robot grasp objects by using a PyTorch model.This is more important that it sounds. It shows that through PyRobot you can control the robots by using machine learning and not by mere programmatic instructions only!

Another example of using pretrained models comes in the form of teaching the robot's arm inverse kinematics:

The input is state(joint angles of arm) & goal location(x,y,z) and the control action is the change in each joint angles to achieve the desired goal

There's more like this on the project's web page which has examples that demonstrate the potential of the framework, giving way to the idea of bridging AI over Robotics with Python as the intermediary.

To make this integration easier, PyRobot inherently supports two hardware model robots:

LoCoBot, a low cost mobile manipulator robot suitable for both navigation and manipulation





Sawyer, a popular 7DoF manipulator.

Most tutorials on the site use LoCoBot extensively, which is a model also used for teaching CS16-662 Robot Autonomy at Carnegie Mellon University. Thus the plentiful resources and the low price make starting out with LoCoBot an approachable proposition, till more hardware models get supported.

You can find the low-level stack for LoCoBot together with instructions on how to use it with PyRobot on the project's Github page.

More Information

PyRobot

PyRobot on Github

LoCoBot

Related Articles

Dashing Diademata, the Future of ROS



To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, Facebook or Linkedin.







Comments



Make a Comment or View Existing Comments Using Disqus





or email your comment to: comments@i-programmer.info