Robots programming, tools and frameworks
Many environments and programming tools are competing to program robots. Even Microsoft, the creator of Visual Studio, is interested in this market and offer a product in its line of development tools.
Programming and simulation tools for robotics
Gazebo
OSRF. Free and open source. Linux Only.
Developed by the OSRF (Open Source Robotics Foundation), Gazebo has its own website. It is an interface to a virtual robotic world where you can control a population of robots. It provides a library of components of virtual worlds.
RDS
Microsoft. Free. Windows.
Robotics Developer Studio is produced by Microsoft for several years and became free in May 2010. It was at that time 60,000 active users.
The Visual Programming Language, VPL, allows to create applications by drag and drop of predefined components. A runtime, CCR (Concurrency and Coordination Runtime), operates asynchronously exchanges between equipment, arms, sensors, etc.. and the software that controls it.
The Visual Simulation Environment (VSE) is the strong point of this tool because it allows to experiment in a 3D virtual world robots interaction with objects, walls, and so programming becomes a game.
List of supported robot
- Mindstorms NXT from Lego. Transformable robot .
- Boe-Bot from Parallax.
- and several others.
ROS
Willow Garage and OSRF. Free and open source. Windows, Linux, Mac.
Robot Operating System is a system that controls the robot on which we can implement applications. It runs on Linux and seems rather incomplete on Windows, insofar as it contains many tools running under UNIX.
He wants to centralize existing frameworks into a single software. It is not in itself a real time tool, but you could add a module to do this.
The programming languages used are C and Python, while others are developing.
Meka
Arduino
Free and open source.
Arduino is an electronic platform and open source development environment, based on Processing for all kinds of actuators of robots or automated equipment.
The Arduino language development (based on Wiring) is close to the C language
One develops on Arduino in a textual and non-visual way as with RDS.
LabView
National Instruments. $ 1250.
For industry, it provides an interface to program all sorts of instruments including automated and robotic systems.
Widgets are used to control interfaces to the data. Drivers (such as that of graphics cards) are used to identify different materials. Different languages, graphic, containing objects to combine into patterns are translated into C language to run on various platforms.
Frameworks
Interfaces between robots and software.
- Carmen. Software control of mobile robot.
- Orca. Framework of robotic software components.
- Player. Interface control of robots and sensors. It is a competitor to ROS while other frameworks are incorporated into the latter.
- Moos. Communication library.
JavaScript
- Brain. Neural network easy to use.
Vision and object recognition
- FastCV. Computer vision for augmented reality.
- SimpleCV. Framework to build applications making use of artificial vision.
- LibCCV. Object recognition library.
- OpenCV. Open source computer vision, libraries with multiple interfaces, including C++ and Java. Very popular but is limited.
Machine learning
- Waffles. Machine learning command line toolkit.
- NuPic. Library for intelligent computing, machine learning, in C++, works on Linux/Unix.
- Weka. In Java.