How to make a Robot: Part 2


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 


Similar Articles