Difference between revisions of "Software overview"

From RobotinoWiki
(Matlab)
(rec_robotino_com Library)
Line 54: Line 54:
 
|}
 
|}
  
====rec_robotino_com Library====
+
====[[Image:Robotino_cpp_icon_32.png|link=cpp]] rec_robotino_com Library====
 
This is a C++ library providing the main interface for controlling Robotino. See [[cpp|C++ programming]] for examples how to use this library. The library documentation can be found [http://doc.openrobotino.org/documentation/OpenRobotinoAPI/1/doc/rec_robotino_com/ here].
 
This is a C++ library providing the main interface for controlling Robotino. See [[cpp|C++ programming]] for examples how to use this library. The library documentation can be found [http://doc.openrobotino.org/documentation/OpenRobotinoAPI/1/doc/rec_robotino_com/ here].
  

Revision as of 09:05, 14 February 2011

Introduction

Robotino is an open source robot, i.e. all the software on Robotino and all APIs are open source. This gives developers the maximum flexebility in creating software for Robotino and the certainty that this software is not affected by any open source unfriendly license.

The software available is

  • microcontroller code for Robotinos IO board
  • the code of the daemons running on Robotino interfacing the hardware
  • the main C++ API for communication with Robotino
  • APIs build on top of the C++ API

Components

architecture

The image to the right shows the different software components. Starting with Robotinos hardware there are several daemons interfacing different hardware components. By "Robotino Hardware" we mean Robotino's wheel, motors, motor control board, PC104 and extensions connected to Robotino.

daemons description location
controld The controld is communicating with the motor control board via the PC104's first serial line. The controld is using RTAI in order to be able to receive the data from the motor control board at the necessary speed. /usr/local/OpenRobotinoAPI/1/daemons/controld
gyrod The gyrod is reading data from a gyroscope connected to Robotino. It writes the absolute angle given by the gyroscope to the shared memory segment. This data is then used by the controld to improve Robotino's odometry. /usr/local/OpenRobotinoAPI/1/daemons/gyrod
nstard The nstard reading/writing data from/to a NorthStar sensor connected to Robotino. Data is read/written from/to the shared memory segment. /usr/local/OpenRobotinoAPI/1/daemons/nstard
laserd The laserd is reading data from a laser rangefinder connected to Robotino. The laserd is setting up a TCP server listening at port 8280. The rec_dataexchange_lt library can be used to read/write data from/to this service. /usr/local/OpenRobotinoAPI/1/daemons/laserd
armd The armd is reading/writing data from/to an arm connected to Robotino. The armd is setting up a TCP server listening at port 8180. The rec_dataexchange_lt library can be used to read/write data from/to this service. /usr/local/OpenRobotinoAPI/1/daemons/armd
stated The stated holds a shared memory segment services on Robotino a communicating with. It reads /etc/robotino/robotino.xml to set parameters in this shared memory segment. /usr/local/OpenRobotinoAPI/1/daemons/stated
lcdd The lcdd is Robotino's display driver. It prints messages to the display and reads the displays keys. /usr/local/OpenRobotinoAPI/1/daemons/lcdd
iod The iod is sending sensor readings to and receiving set values from a control program over the network. It is the main service to control Robotino. /usr/local/OpenRobotinoAPI/1/daemons/iod

Robotino cpp icon 32.png rec_robotino_com Library

This is a C++ library providing the main interface for controlling Robotino. See C++ programming for examples how to use this library. The library documentation can be found here.

C Library

A C wrapper library around rec_robotino_com. The library documentation can be found here.

Java Library

A Java wrapper library around rec_robotino_com.

.Net Library

A .Net wrapper library around rec_robotino_com.

ROS

ROS drivers for Robotino using the rec_robotino_com library.

Matlab

Robotino Matlab drivers using the C wrapper library to communicate with Robotino.

LabView

Robotino LabView drivers using the C wrapper library to communicate with Robotino.