Practice of Software Development 2012: Controlling mobile Robots via ROS Middleware

Project topic

Control of mobile robots in mixed Windows-Linux network via ROS middleware


AMFIS (Reconnaissance with mobile and stationary Sensors in a combined System) is a mobile ground control station for monitoring and controlling various sensor carriers and sensor nodes. With AMFIS, different types of unmanned ground, air and underwater vehicles equipped with cameras and other sensors can be linked together, exchange information and be controlled from the ground control station. AMFIS is constantly being improved and expanded to integrate new sensors, sensor carriers and communication systems (wired and wireless). In this project, students are to develop a solution that will enable the system to send commands to and receive information from ROS-based mobile robots or UAVs. ROS (Robot Operating System) is an open source software project that facilitates the development of robotic applications.

Project goals

The main goal of the project is to propose and develop a solution for the integration of mobile ROS robots into the AMFIS system. By the end of the project, the AMFIS system should at least be able to send movement commands to the robots and receive their position and other status information. The implemented solution should be extensible and allow the addition of new messages over time.


  • Identification of information and commands that should be exchanged between AMFIS and a ROS robot
  • Conversion between AMFIS and ROS messages.
    Establishment of a testbed to evaluate progress and results
  • Development of a solution to enable the communication between both systems under Windows and Linux
  • Tests on a real system

If good results are achieved soon, extensions may include the addition of communication primitives to control some of the robot's sensors and actuators and to receive live streaming video.


  •   Good level of English language.
  • Knowledge of the programming language C/C++/C# is recommended


In practice of software development (PDE), a complete software project is carried out according to the state of the art in software technology in a team with 5 to 6 participants. The goal is to apply software design and quality assurance methods in practice, to implement implementation competence, and to work on and cooperate on a project as a team.


The success control is carried out according to § 4 para. 2 No. 3 SPO as graded success control of another kind. The artifacts are graded separately, the proportions of the overall grade are as follows:

  • Specification 10%
  • Draft 30%
  • Implementation 30%
  • Quality assurance 20%
  • Final presentation 10%

Method of operation

In order to ensure that the course runs smoothly and to enable cooperation between research and teaching, students are encouraged to work independently and to communicate the progress of their work regularly.

This includes among other things:

  • Regular project team meetings to discuss problems and tasks
  • Timely preparation of the documents to be submitted, such as specifications, design documentation, implementation plan, etc. The documents should be made available to the supervisors in a draft version in good time in advance.
  • Provision of a version management system (e.g. Subversion, git, Mercurial) for version control of development artifacts (models, source code, configuration, reports, etc.)

The event is divided into five phases. Each phase is concluded by a colloquium in which the groups present their results.


Since the work may be used by Fraunhofer IOSB in whole or in part, a license agreement is required that grants Fraunhofer IOSB unrestricted rights of use.

Supervisor at Fraunhofer IOSB:

  • Eduard Santamaria
  • Igor Tchouchenkov

Reconnaissance with mobile and stationary Sensors in a combined System

KIT: Practice of software development