Best Robotics Software for Linux

From C-3PO and R2D2 to the ping pong-playing TOPIO, robots have always been those dream machines mankind has been waiting for. Even though they are not a part of our everyday life yet, the future does promise a world run by the untiring arms of robotics. Robotics is no longer an emerging field. In fact, it has become a science that's accessible to everyone thanks to the attention it gets in media, Internet and print.

In an earlier article, we've already talked about how widespread robotics has become with the advent of ready-made robot kits. Having said that, no robot is complete without the right kind of programming. So, whether you're a robotics enthusiast or a super geek who's busy building a giant robot in his/her basement, read on as we've got a list of some of the best and coolest Robotics software out there for Linux.

Player is a network sensor for robot control. With support for a huge amount of robot hardware, Player gives the user/developer a clean and easy to use interface to control the robot's sensors and actuators over the IP Network. By connecting with the client program over a TCP socket, Player reads data from sensors, writes commands to actuators, and configures devices on the fly. Being modular, Player makes it easy for developers to add new hardware without facing any major issues. Released under GPL license, Player is freely available for download.

OpenRDK is an open source framework for robotics applications. It is a modular software framework focused on rapid development of distributed robotic systems. Already being used by the The Intelligent Control Group of Universidad Politécnica of Madrid and the RoCoCo laboratory of the Sapienza University of Rome, OpenRDK is a framework that has successfully been applied in diverse applications with heterogeneous robots. Also, OpenRDK is designed to work with third-party applications like the aforementioned Player/Stage.

Choregraphe is a programming software designed and developed by Aldebaran Robotics. Available for Linux, Windows and Mac, Choregraphe lets designers create and edit movements and interactive behaviors with a simple and easy to use interface. With an intuitive GUI, adding new movements is as easy as dragging and dropping from the library. Primarily used for programming NAO robot, Choregraphe also includes pre-programmed behavior boxes which could be edited using their Curve Editor. Though the program is not free, you can download a free trial from the website.

Fawkes is a software system that provides the infrastructure and building blocks to create and run robotic applications. It provides a robust and small run-time system that can load and unload plug-ins at run-time, thus allowing for a flexible development cycle. Written in C++, Fawkes is developed specially for Linux. It has been tested during numerous RoboCup events where it was used to drive multiple robots like the service robot Caesar, the humanoid robot NAO, or soccer playing middle size league robots. Licensed under GPL v2, Fawkes is freely available for download from the website. If you're on Fedora, you can download a packaged version of the software too.

CARMEN, which stands for Carnegie Mellon Robot Navigation Toolkit, is an open source collection of software used for mobile remote control. Developed by Carnegie Mellon University, this modular software is designed to provide basic navigation features like base and sensor control, logging, obstacle avoidance, localization, path planning and mapping. If you're itching to start, make sure you take a look at the comprehensive guide (found on their website) explaining how to use CARMEN. Available under GPL, CARMEN has to be installed from source, as there are no packages for it yet.

Robot Operating System or ROS is a ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. Licensed under BSD license, ROS provides features like hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. Before installing, do make sure you go though ROS's installation guide that's on the website

On a side note, if you have some disk space to spare, I'd recommend installing Fedora Robotics spin that includes all the important robotics software you’d ever need. This will help save you a lot of time.

Written by: Abhishek, a regular TechSource contributor and a long-time FOSS advocate.


  1. Did not observe any mentions of DAC, ADC, DI or DO while looking through docs.

  2. Have a look at Lejos. A tiny JVM + associated Java framework for programming Lego Mindstorms robots.