Difference between revisions of "Software overview"

From RobotinoWiki
(link=MRDS Microsoft Robotics Developer Studio)
(Components)
Line 9: Line 9:
  
 
==Components==
 
==Components==
[[Image:sw_architecture_v1.png|right|thumb|200px|architecture]]
+
[[Image:Software_components]]
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.
 
  
{| border="1"
 
!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
 
|-
 
|
 
|
 
|
 
|}
 
  
 
====[[Image:Robotino_cpp_icon_32.png|link=cpp]] rec_robotino_com Library====
 
====[[Image:Robotino_cpp_icon_32.png|link=cpp]] rec_robotino_com Library====

Revision as of 15:27, 2 February 2012

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

File:Software components


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.

Robotino c icon 32.png C Library

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

Robotino java icon 32.png Java Library

A Java wrapper library around rec_robotino_com.

Robotino dotnet icon 32.png .Net Library

A .Net wrapper library around rec_robotino_com.

Robotino ros icon 32.png ROS

ROS drivers for Robotino using the rec_robotino_com library.

Robotino matlab icon 32.png Matlab

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

Robotino labview icon 32.png LabView

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

Robotino mrds4 icon 32.png Microsoft Robotics Developer Studio

Robotino driver for MRDS4 build upon the .Net wrapper for API2.