Navigation Bar

Saturday, September 15, 2012

Introduction to Programming Robots

What is Robotics programming?

When the average person thinks of robotics or robotics programming, images of science fiction mechanized androids like C3P0 or R2D2 tend to come to mind. Robotics, however, is a highly specialized hobby and area of study, and brings together the varied disciplines of mechanical engineering, manufacturing, electronics and computer science in fascinating and exciting ways. Robotics programming is the use of various programming languages and programmable devices to design the complex algorithms which control a robot's behavior, resourcefullness, and automation abilities. This code is often transferred to microcontrollers which offer a small and portable way to run the code without having to attach a large, power-dependent controller like a personal computer or a laptop.

Robotics programming languages

There are several options when it comes to the language used to program a robotic device, from the most basic to advanced, specific forms of well-known programming languages. The choice of programming language depends on several factors, the most important of which are one's goals in creating a robot and any previous familiarity one might have with a language. For example, for an experienced C programmer, C would be a good choice. If he or she is planning to create a simple robot, coding in Assembly would be excessively complicated for very little gain.

Assembly: Assembly is the most basic of all programming languages, and involves the programmer telling the machine directly what to do. The tools available to the programmer are only the most basic arithmetic operations and a few others. Advanced input and output functions or control loops have to be created by hand. This language give the programmer a lot of power and leads to code that is small in size and extremely efficient, but it is very difficult to learn and master.

C: C is much easier to learn and use than Assembly, but still offers considerable power and portability for robot applications. Considering the wide usage of C code in all manner of technical and computing areas, there is a wealth of resources available online and in print for learning to program in C.

Basic: Basic is another popular programming language, which was built with an extensive focus on ease of use. Robotics programming using Basic can therefore be considerably faster and easier than using other programming languages, but the tradeoff is that microcontrollers programmed with Basic are somewhat less powerful than their C or Assembly counterparts.

Where to find robot programming code

For some programming code that's readily available on the internet, it would be a good idea to check our the CLARAty Project, a system of recyclable robotics software. The project is a collaborative work between the Universities of Minnesota and Carnegie Mellon, as well as NASA's Ames Research Center and the Jet Propulsion Laboratory. A wide variety of advanced modules are available for public download.

Another great choice for getting started is to utilize the Microsoft Robotics Developer Studio platform, a well-supported and well-maintained framework for creating a wide range of robots. Microsoft provides an extensive library of tutorials and sample code, and the latest build even includes support for building robots that utilize a Kinect sensor!

Robotics from OWI Robot
Anybody who is interested in computer engineering should consider robotics programming - a rewarding lifetime hobby might even come of it! Even those experienced with robotics programming should consider finding their next robotics kit at We offer a wide selection of robots in a variety of sizes, styles and functions all at affordable prices, and we're sure to offer something that will be a blast to program!

No comments:

Post a Comment