Robotics links

  1. RACK, the Robotics Application Constructions Kit provides a middleware to ease and standardise the development of industrial and academic control software for robots. Specifically, it aims at supporting mobile service robot scenarios. RACK's real-time components are implemented in C++ and make use of the real-time services provided by Xenomai. Non-real-time components concentrate on GUI elements which are implemented in Java, and extending this support to Linux C/C++ applications is planned. RACK comes with its own interprocess communication mechanism called TiMS (Tiny Messaging Service). TiMS supports both hard RT and non-RT communication via a mailbox mechanism, locally or distributed via RTnet or standard TCP/IP. Specifically TiMS' local exchange of larger message chunks is optimised for both determinism and throughput.
  2. Player.
    “Player is a device server that provides a powerful, flexible interface to a variety of sensors and actuators (e.g., robots). Because Player uses a client/server model, robot control programs can be written in any programming language and can execute on any computer with network connectivity to the robot. In addition, Player supports multiple concurrent client connections to devices, creating new possibilities for distributed and collaborative sensing and control.”
    Complementary projects: Stage and Gazebo.
  3. Marie is a robotic development and integration environment focused on software reusability and exploitation of already available APIs and middlewares frequently used in robotics.
  4. CORBA-based communication libraries for robotics and non-robotics applications: Qedo (QoS Enabled Distributed Objects), Miro.
    Orca is a bit more than just a communication library: it's a suite of tools for developing component-based mobile robotic systems. It provides a framework for defining and developing components which can be pieced together to form arbitrarily complex robotic systems, from single vehicles to distributed sensor networks. In addition it provides a repository of pre-made components which can be reused to quickly assemble a working robotic system.
    SmartSoft is a framework for component based software engineering in robotics. It introduces a small set of communication patterns as basis for all component interactions. Generic communication patterns enforce decoupling of components and ensure composability by restricting the diversity of interfaces. This is the key towards composability and component reuse.
  5. LAAS Open Software for Autonomous Systems, a very nice set of software tools, being part of the software infrastructure with which LAAS has built impressive robotics applications.
  6. Chai3D, libraries for computer haptics, visualization and interactive real-time simulation. It has, among other things, support for commercial devices such as the Phantom.
  7. CAS Robot Navigation Toolbox, a Matlab toolbox for robot localization and mapping (SLAM).
  8. SceneLib, a C++ visual SLAM library.
  9. Morob, the Modular Educational Robotic Toolbox.
  10. Robotics Toolbox. The Robotics Toolbox for Matlab is a free, mature and tested implementation of standard algorithms for serial link manipulators. It can perform forward and inverse kinematics and dynamics given the standard or modified Denavit-Hartenberg parameters. It also supports graphical animation and provides functions for manipulating and converting datatypes such as vectors, homogeneous transformations and unit-quaternions. Version 7 was released in April 2002 and provides portable source code for MEX files to speed up inverse dynamics calculation as well as Simulink block diagram components.
  11. Enki, a 2D robot simulator.
  12. Carmen, “an open-source collection of software for mobile robot control. CARMEN is modular software designed to provide basic navigation primatives including: base and sensor control, obstacle avoidance, localization, path planning, people-tracking, and mapping.”
  13. Dave's Robotic Operating System (DROS). David Austin's project "to re-use the good parts of all of the [robot] software systems that I have been involved with over the years."
  14. OpenSim, a 3D Simulator for autonomous robots.
  15. Some of John Lloyd's software: LIbrary for MAnipulation package (LIMA), and Robot Control C Library (RCCL).
  16. Modular Controller Architecture: “A modular, network transparent and realtime capable C/C++ framework for controlling robots and other kind of hardware. The main plattform is Linux/RTLinux, support for Win32 and Solaris also exists.”
  17. RobotCub, an open framework for research in embodied cognition.
  18. RobotFlow.
  19. Tekkotsu, a development platform for the Aibo robots.
  20. URBI (Universal Real-time Behavior Interface), a middleware to program robots (Aibo, Webot, …) via TCP/IP. (Hence, the “real-time” properties mentioned in the project name should be taken with a grain of salt.)
  21. Python Robotics (Pyro) "is a library, environment, graphical user interface, and low-level drivers to explore AI and robotics using the Python language."
  22. RoboML (Robotic Markup Language) for standardized representation of robotics-related data, especially (1) support communication language between human-robot interface agents, as well as between robot-hosted processes and between interface processes, and (2) provide a format for archived data used by human-robot interface agents.
  23. TeamBots. Some CMU software for autonomous robots, such as the Cye.
  24. ROBOOP.
    "A robotics object oriented package in C++". JRoboOp is a Java package inspired by ROBOOP.
  25. RoboCup Soccer Simulator, software for simulation of robot soccer games.
  26. Rossum is a programming and simulation environment for mobile robots.