icub-main - The iCub Main Software Repository

  •        4

See COPYING and AUTHORS for licensing info, authors and copyright holders. The iCub manual contains more details about the structure of the repository and how the code is organized. The manual is available online at: and is the most up to date source of information.



Related Projects

yarp - YARP - Yet Another Robot Platform

  •    C++

YARP is a library and toolkit for communication and device interfaces, used on everything from humanoids to embedded devices. Regular YARP builds use the ACE library. On Linux and macOS, YARP can be compiled without ACE by adding -DSKIP_ACE=TRUE when running cmake.

Artoo - Micro-framework for Robotics using Ruby

  •    Ruby

Artoo is a micro-framework for robotics using Ruby. It provides a simple, yet powerful Domain-Specific Language (DSL) for robotics and physical computing. It provides next generation robotics framework with support for 15 different platforms. Artoo includes a RESTful API to query the status of any robot running within a group, including the connection and device status, and device streaming data via websockets.

CMU Personal Robotics ROS Packages

  •    C++

The CMU personal robotics package offers many robotics algorithms/controllers/drivers that enable robots to perform basic tasks like manipulation and vision. The main infrastructure used is OpenRAVE and Robot Operating System (ROS).

Gobot - ng framework for robotics, drones, and the Internet of Things (IoT)

  •    Go

Gobot is a framework using the Go programming language for robotics, physical computing, and the Internet of Things. It provides a simple, yet powerful way to create solutions that incorporate multiple, different hardware devices at the same time. It provides next generation robotics / IoT framework with support for 30 different platforms.

Cylon.js - JavaScript framework for Robotics, Physical computing, and the Internet of Things

  •    Javascript

Cylon.js is a JavaScript framework for robotics, physical computing, and the Internet of Things (IoT). It provides a simple, but powerful way to create solutions that incorporate multiple, different hardware devices concurrently. It is a next generation robotics framework with support for 43 different platforms.

MRS Service for VEX Robotics


Microsoft Robotics Studio services to interface with the VEX Robots controller

ROS - The Robot Operating System

  •    Python

The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms. ROS was built from the ground up to encourage collaborative robotics software development.

MRDS Samples


The MRDS Samples site hosts a variety of code samples for Microsoft Robotics Developer Studio (RDS).


  •    CSharp

The CoroBot is a PC-class robot by CoroWare, Inc. This project contains the Microsoft Robotics Developer Studio drivers for this hardware, as well as a simulated robot for the Microsoft Robotics Developer Studio simulator.


  •    C++

Fast flexible simulator of spiking neural networks. Easy to use graphical user interface with comprehensive monitoring facilities. Integrates with the NeMo CUDA simulator and the iSpike interface for the iCub robot.

OpenCV / Emgu services for Robotics Developer Studio


This project provides encapsulation of standard OpenCV routines to allow them to be used as services in Microsoft Robotics Developer Studio. The services utilize the EMGU C# wrapper for the OpenCV libraries. The EMGU version is wrapped to provide standard services in RDS

Rice Personal Robotics Packages

  •    C++

The Rice Personal Robotics Package is a collection of libraries that aims to offer methods for personal robotic assistants to operate successfully in indoor environments. These libraries are mostly focused on motion planning tasks.

Experimental Robotics Framework

  •    C

MIARN(Modules for Intelligent Autonomous Robot Navigation) is a project of robotics perception and interaction. We provide a gui for controlling and visualizing sensors and opencv algorithms

Open Robotics Peripheral Platform

  •    Java

An off the shelf solution to robotics. The goal is for someone to be able to build a remotely controlled mobile robot with cheap and easily found hardware.

jetson-reinforcement - Deep reinforcement learning GPU libraries for NVIDIA Jetson with PyTorch, OpenAI Gym, and Gazebo robotics simulator

  •    C++

In this tutorial, we'll be creating artificially intelligent agents that learn from interacting with their environment, gathering experience, and a system of rewards with deep reinforcement learning (deep RL). Using end-to-end neural networks that translate raw pixels into actions, RL-trained agents are capable of exhibiting intuitive behaviors and performing complex tasks. Ultimately, our aim will be to train reinforcement learning agents from virtual robotic simulation in 3D and transfer the agent to a real-world robot. Reinforcement learners choose the best action for the agent to perform based on environmental state (like camera inputs) and rewards that provide feedback to the agent about it's performance. Reinforcement learning can learn to behave optimally in it's environment given a policy, or task - like obtaining the reward.

allwpilib - Official Repository of WPILibJ and WPILibC

  •    C++

Welcome to the WPILib project. This repository contains the HAL, WPILibJ, and WPILibC projects. These are the core libraries for creating robot programs for the roboRIO. The WPILib Mission is to enable FIRST Robotics teams to focus on writing game-specific software rather than focusing on hardware details - "raise the floor, don't lower the ceiling". We work to enable teams with limited programming knowledge and/or mentor experience to be as successful as possible, while not hampering the abilities of teams with more advanced programming capabilities. We support Kit of Parts control system components directly in the library. We also strive to keep parity between major features of each language (Java, C++, and NI's LabVIEW), so that teams aren't at a disadvantage for choosing a specific programming language. WPILib is an open source project, licensed under the BSD 3-clause license. You can find a copy of the license here.


  •    C

MARIE is a robotic development and integration environment focused on software reusability and exploitation of already available APIs and middlewares used in robotics. Its main purpose is to create a rapid-prototyping approach to robotics developments.



Robotics helper libraries.

TUM Personal Robotics packages

  •    Python

The TUM personal robotics package is a collection of libraries that aims to offer methods for personal robotic assistants to operate successfully in indoor environments.

Software Engineering for Robotics


This project covers material for teaching software engineering as applied to robotics. This involves 14 lectures on sw engr and its use in robotics and material related to use of the sw engr with Microsoft Robotics Studio