FIGURE 6. ArmControl
widget displaying the
current real position of
the arm.

fix) to set waypoints in a
local map relative to the
robot’s starting point,
upload them, and visualize
the robot’s path.

ArmControl
Widget

• Digilent PmodRS232

• NetMedia 4x16 Serial LCD (or Digilent PmodCLS)

• Digilent 5V VRM (Voltage Regulator Module)

Control Station
Application

The ArmControl
widget represents the
software interface
between the operator and
the robotic arm. It consists
of an OpenGL (www.
opengl.org) based
animation of the robotic arm and provides a means to
control the arm using the wheel mouse. Its functionality is
achieved by employing an inverse kinematics algorithm
which determines the arm’s position. Inverse kinematics is
the process of determining the parameters of a jointed
flexible object (a kinematics chain) in order to achieve a
desired position.

The robot’s operator controls the system through a
GUI application which offers the possibility to set up and
visualize all the features offered by the rover. The
application was designed with the aid of the C++
programming language and the Qt UI Framework.
We chose Qt ( http://qt.nokia.com) because it is free,
simple, multi-platform, and very well documented.

The GUI application presents a user-friendly interface
which is composed of a main menu, a central panel, and a
series of floating widgets which offer the possibility to
configure and visualize the results of the robot’s features.

One of the most exciting widgets is the Local Map
widget which allows the operator (in the absence of a GPS

Hardware Design

The following hardware parts were used to design
the robot:
• Digilent Cerebot32MX4

FIGURE 7.
Robot block
diagram.

A classic four wheel drive
differential drive system was
chosen. The aluminum chassis
houses four DC gearhead