Thursday, January 27, 2011

Software Programming of Autonomous Robots

Software systems for autonomous robots consist of different kinds of components software. The robots sensors enable to retrieve information from their environments. In contrast, actuators are used to interact with the environment. These components are normally located on the robot directly. They resemble device drivers that need to be tightly coupled with software. Robotic systems typically comprise components for modeling world, behavior reasoning, self localization, or path planning, which realize the artificial intelligence part of the system. These components can be located on the robot directly or realized self contained modules located o remote systems as well.

[b]Android Programming[/b]

Modularity has shown to be advantageous for complex and large software systems and is a fundamental design principle for distributed applications. This is not always only the objective of abstract design. Often it is necessity implied by specific characteristic systems of modular robotic. Image processing has to be implemented mainly with efficiency. This is requiring programming languages which introduce minimal in computations like C+ or C.

For less computation intensive tasks or for programs in a very portable way, other programming language like Java or C# may be preferable. Different platforms or programming languages normally imply using separate processes as well. Finally, third party modules integration is facilitated by a modular architecture with simple and clear interfaces.

Modularity also involves complication to some degree such as interaction between modules has to overcome boundaries. A very fast and flexible inter-process communication (IPC) scheme is socket communication. It allows a module to communicate with other module in remote or same systems. Socket interfaces are available on all common software platforms and facilitate portability as well. Socket communication is stream-based or message, so data exchanged between modules have to be serialized before transmission and de-serialized after reception. A developer defines interfaces of module communication with data management capabilities as well as communication protocols tailored to mobile ad hoc interaction schemes.

Software Programming of Autonomous Robots

How to JSF Framework Grails Guide

No comments:

Post a Comment