Navigation Bar

Sunday, September 30, 2012

Robotics Projects for Engineering Students

An Introduction to Programming Robots

A robot requires to be programmed; it is basic instructions on what it is supposed to execute. This is because without programming, the robot is considered as a machine without inbuilt intelligence.

What is Robotic Programming?

Robotics programming is basically assigning a set of instructions for the robot to execute. The programming is responsible for the artificial intelligence fed into the robots system.

Robotics Programming Language

Most robots are programmed from scratch while others are embedded with a pre-existing programming framework.


  • RAIL - Considered the best programming language for robotics projects that require manipulation and vision.
  • AML - Acronym for a Manufacturing Language, it was developed by the IBM Corporation. It is a sub-routine and implemented to manage assembly robots and Cartesian arm for hydraulic machines.
  • VAL - Acronym for Variable Assembly Language which is designed with a simple syntax, hence, can be used by anyone.
  • AL - AL robot language is a product of the Stanford University Artificial Lab, hence the initials. Also, based on Pascal, it incorporates a big mainframe computer and several hardware components like memory and a floating processor. 
  • RPL - It was designed by SRI International and can be used by an unskilled programmer because of its simple syntax. It is designed for checking, improving and correcting control algorithms. 
Where to find Robot Programming Code?
Programming code can be bought or comes with a robotics kit from the manufacturer. In some instances, it is embedded in the robot before assembly. In the case of assembly from scratch, software manufacturers offer other simple programs that are also as effective.

Our Robots
Since 1980, we have ventured into expanding our consumer base and product range, while giving back to the educational community. We also venture to supply engineering students and other hobbyists in their various areas of specialty; robotics and solar technology.

Types of Projects Completed by Robotic Engineering Students
Previous models of robots are in our midst; we might not fully realize when the interaction happens, but they have become an integral part of our society today. These robots are the previous brain children of engineering students who worked hard to make our society better and more convenient.
  • Line Follower - This type of robot has a sensor embedded in its system or chassis and it is programmed to seek a predetermined line, hence the name. The line guides the robots to do an iterative job, hence creating a routine. A good example is the Weasel robot.
  • Obstacle Avoidance - This robot employs the phenomena of insect like antennas. These antennas help the robot to avoid obstacles by changing direction. 
  • BEAM Robots -  The acronym BEAM, stands for Biology, Electronics, Aesthetic and Mechanics. They mimic real living creatures; a good example is the Salt Water Fuel Cell Giant Arachnoid Kit.
New Robotic Project Ideas
Engineers can use the existing knowledge on robotics to come up with new types of robots for new applications. Some exquisite ideas include:
  • Voice operated fire detecting and extinguishing robot equipped with a camera and vocal processors that can be controlled offsite. In addition, it should have a sprinkler to extinguish fire based on voice commands.
  • Mobile phone controlled robot; for scheduling tasks like one would by calling home or work. Can use both text or voice calls to receive messages.
We have some of these robots already in the pipeline at www.owirobot.com. Feel free to check them out and experience it yourself!

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 www.owirobot.com. 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!