MODELING AUTONOMOUS MOBILE ROBOT SYSTEM WITH AN
OBJECT ORIENTED APPROACH
Jun Okamoto Junior
Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos
Escola Politécnica da Universidade de São Paulo
Av. Prof. Mello Moraes, 2231
05508-900 São Paulo, SP, Brazil
jokamoto@usp.br
Valdir Grassi Junior
Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos
Escola Politécnica da Universidade de São Paulo
Av. Prof. Mello Moraes, 2231
05508-900 São Paulo, SP, Brazil
vgrassi@usp.br
Fabiano Rogério Correa
Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos
Escola Politécnica da Universidade de São Paulo
Av. Prof. Mello Moraes, 2231
05508-900 São Paulo, SP, Brazil
fabiano.correa@poli.usp.br
Abstract. Object oriented approach has proved its benefits in software development and systems organization. Researchers are
envisioning new areas that can benefit also from the application of this approach. In the robot control field there are some projects
around the world that are bringing together robot control structures modeled by object oriented approach. This paper will present
the modeling process of an autonomous mobile robot with an object oriented approach. The robot task is modeled by a Business
Process Modeler that links to the robot control structure modeled by UML. The realization of the control algorithms is extracted
directly form the object oriented model. The implementation of this model can be achieved by distributed objects implemented using
CORBA or other equivalent mechanism. This approach will take the development of mobile robot control systems to benefit from a
general distributed control system.
Keywords: Object-Oriented Programming, UML, Mobile Robot Navigation.
1. Introduction
Object oriented approach has proved its benefits in software development and systems organization. Researchers
are envisioning new areas that can benefit also from the application of this approach. In the robot control field there are
some projects around the world that are bringing together robot control structures modeled by object oriented approach.
The aim of these projects is mainly build a modular control structure composed of specialized components for each
different function in the robot system. Each component has a well-defined role and interface. One software component
is not coupled with another one. For this reason, as independent part of the system, each software component act as a
building block to construct the robot control structure to solve the task of interest. This modularity approach makes a
software component reusable and it lets that one component be replaced with a different one with the same interface and
function in the system. For example, consider two different robots. Despite each robot may have physical differences
that reflect in a particular way to control its movement, both could receive commands to move to a particular direction
with a heading velocity. For this reason they could be represented as software components with the same interface, and
one robot could be easily replaced by another one without deeper changes in the control software. The different ways
each robot control its movements are encapsulated inside the component.
The Open Robot Control Software (OROCOS) project described by Bruyninckx (2001) aims to develop a general-
purpose and open robot control software package based on components. This project benefits from two of the major
evolutions in software engineering: object-orientation and software patterns. The modularity and flexibility in the
software package being developed in OROCOS project would allow building complex robot systems integrating
components for kinematics, dynamics, planning, control, hardware interface, etc. Each of these components would be a
software object that would be added or removed from a network and would offer its services through a neutral,
programming language interface such as CORBA’s Interface Description Language IDL. This would allow
interoperability between components even if the components were written using different programming language or
were run on machines with different operational systems. The package resulting of the OROCOS project will help to
meet a need in robotic research for reusable functional components to build and test robot control systems.
Other researchers also made use of object-oriented concepts applied to robotics. Hori et al (1999) proposed an
approach to networked robot system. They consider networked robots as distributed objects and introduce a distributed
object computing approach to them. The authors use CORBA as middleware to allow communication and
interoperability between the different robots. Murphy (2000) also mentions examples in her book of how a reactive
ABCM Symposium Series in Mechatronics - Vol. 1 - pp.25-32
Copyright © 2004 by ABCM