Software overview

From RobotinoWiki
Revision as of 14:14, 24 November 2010 by 93.104.244.228 (talk) (Java Library)

Sw architecture v1.png

Robotino Hardware

By "Robotino Hardware" we mean Robotino's wheel, motors, motor control board, PC104 and extensions connected to Robotino.

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.

Location: /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.

Location: /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.

Location: /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.

Location: /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.

Location: /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.

Location: /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.

Location: /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.

Location: /usr/local/OpenRobotinoAPI/1/daemons/iod

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.

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

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

LabView

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