Software used to make Robot
In my earlier article we have gone through
almost all the Hardware components which are used to build a robot. Now we will
throw some light on the software which is used in its designing. We will study
about Robot Software. We have also studied about some robots in which feedback
system is used, those kinds of robotic system does not come in the category of
intelligent device as such.
Why we need Robot software??
Programming a robot is not an easy task. So
many software systems have been introduced to make programming any robot
simpler. Robot Software is the coded commands that instruct robots to perform
tasks; these are programs for controlling its action Robot.
Robot software is
actually set of instructions that control a robot's actions. It contains
information about the tasks robot has to perform.
Robot software actually
automates tasks which are to be performed. Some robot software is designed to
develop a smart mechanical device. Software is used to control the movement of
the Robot.
Software gives commands to hardware and then under those commands
they perform actions. Software is something which makes Robot to act like a
human being.
Types of Robotic Software:
There are many types of
software for Robots; every software has its own specific task.One of them is
Open Robot Control Software, OROCOS.This is an open sourced software
i.e.; we do not need any license to use this software.
This open source software
is developed to Libraries related to robot control software for
different-different purposes of robots.
These libraries are sharable.
There are
three types of this open source software for robot. They are freely distributed
software and have very wide application in robotic world.
Dataflow Language: Data flow Programming Techniques are very commonly used. It
is based on the concept that if value of one variable changes, the value of
other variables should also change.
Dataflow language incorporates dataflow
principles, not only this it also incorporates functional concepts as well. A
very important thing which we have to keep in our consideration is state of the
program.
It gives information about the various condition of any specific
instant. State information is essential for any programming language to function
properly. Programmer is not able to see this information it is hidden.
Runtime: Runtime is also a key concept which is related with any type of Robot
programming. When a programming is executing, it is said to be in runtime. It is
actually a short term used for a library of code instructions. It can be used by
any computer language to organize a program written in that language, or to
specify if errors in any program occur. For example, if the robot we have
designed meant to move forward will start moving backward then it would be a
Runtime error.
Software component: A software component is a piece of
software. We also require a component-oriented frame work for programming robot.
These frameworks actually provide way to design software components.
They help
in integrating them hierarchical manner.
The framework also provides
the essential infrastructure to support the concept of component software and
the inter communication between them by data paths means.
CoolBot is a kind of a
component oriented C++ framework in which we can see software that controls the
system as a unit dynamic network of execution, interconnected by means of data
path.The components can be used as many times as required.
Software Architecture:
Software architecture is actually a set of structures which
consists of software elements, relation among them and properties of both.Documentation is also done for software architecture; it helps in reusing
designing components and patterns. Software architecture of a system consists of
the various software components used to design and operate the software.Software architecture discipline is reduces complexity through abstraction and
separation.
All programming methods rely on software architecture as a method of
organizing a software system since it not only provides communication support
but is also a critical component in hardware and software interfaces.
To
describe software architectures,several architectural descriptive languages,
ADLs are used. Some eg. Of ADLs are AADL, Acme etc.
Flow chart to show software architecture
Programming in C #:
Programming for Robots in c# is very popular nowadays, It is
good to know that programming whether done in c# or visual basic or .net does
not change the basic functionality of our robot. but to do this one should have
knowledge of Microsoft robotics studio.
What we need to do we just have to open
command prompt and then run the following command, here we are talking about
Microsoft studio program group (1.5). So the command will be dssnewservice/service:LigoTriBot
This will generate a folder
with several items.
Now open the LigoTriBot.sln
file in Microsoft C# 2005Open the generated LegoTriBot.sln file in
Microsoft C# 2005, you will see that several files will be generated.
Now add
the following code to the top of the file.
using bumper = Microsoft.Robotics.Services.ContactSensor.Proxy;
using drive = Microsoft.Robotics.Services.Drive.Proxy;
using gamepad = Microsoft.Robotics.Services.Sample.XInputGamepad.Proxy;
screen showing Robotic arm in c#
ORCA:
ORCA is an open source framework for developing
component-based robotic system. It is used in designing building blocks which is
then collected together to form a complex Robotic system.
It is a kind of
software for controlling motion of Robotic arm. ORCA NT software is one of the
examples of recently designed software. It provides graphical user interfacing
for developing robotic application.
Open source framework
ORCA naming conventions