Internship | ROS2 Software Architecture for adaptive and autonomous Unmanned Veh

You will investigate, design and develop a software architecture for unmanned (ground, water, and air) vehicles based on the robotic operating system ROS2.


Den Haag

Education type

university (wo)


Internship and graduation project

Hours a week

Fulltime – 40


Apply now


What will you be doing?

You will investigate, design and develop a software (SW) architecture for unmanned (ground, water, and air) vehicles based on the robotic operating system ROS2. The architecture under design must:
  • support a high degree of dynamic adaptation with runtime exchange of SW modules;
  • ease integration of existing and new functionalities, through solid definition of an interface and messaging system;
  • enable intensive and frequent processing within small/critical amount of time;
  • ease system monitoring for verification and self-assessment purposes;
  • allow efficient integration of machine-learning and reasoning engines supporting autonomous decisions at different scopes of control.

The Intelligent Autonomous System(IAS) group at TNO is laying down a technology stack as a backbone for the development of applications with autonomous unmanned vehicles. Think about drones, small self-driving boats, underwater robots, and ground vehicles. This technology stack must be complemented with a solid, model-based SW development methodology and system architecture. IAS' work is closely connected with application developers and end-users of unmanned vehicles, such as the Dutch Marine, Dutch Police and underwater maintenance and monitoring industry. These partners expect reliable, operational systems as the result of our projects. During the course of your assignment you will have close collaborations with other TNO colleagues and other interns working on perception capabilities, software architecting and off-road autonomous functionalities.

Your task will be to design, implement, and assess a generic, modular, and dynamically adaptable SW architecture. The SW architecture should establish a clear and efficient separation of concerns and a hardware-independent software layer. It should enable easy integration and exchange of SW modules between different unmanned platforms.

Your task starts with a suitably scoped research question, which is identified together with you, a team of researchers, system developers, system integrators and the university supervisor. Student and project team will establish together the minimal requirements for the SW architecture and the ways to assess it at the end of the assignment. The focus of work can vary from establishing a model based interface- and component description; designing flexible architectures for use of machine learning and reasoning algorithms; or designing efficient (sensor) data communication inside and between unmanned platforms.

The student will survey the state of the art and thoroughly study the involved tool-sets (e.g. ROS, ROS2) to identify, extend and adapt their capabilities. As a result of this state of the art survey, we expect the student to select and justify design decisions for the architecture, as well as indicate proper ways to evaluate and compare their performance.

The student will also code SW tools, such as code generators, monitors, data communication and/or data storage components and interfaces. These tools will be used to facilitate, guide, or enforce the correct use of modules and architectural practice. The student is expected to provide proper and enough documentation on architecture specifications and developed tools/code. Finally, the student will demonstrate its proposed architecture/methodology on an existing use-case evaluating its performance.

What do we require of you?

We require a background and an interest in SW architecture and model-driven development methodologies. Programming skills on mainstream languages such as Python and C++ will contribute to an efficient execution of the work. You should also be interested in automating the design process, constantly asking yourself how to decrease development time while increasing reliability and performance. Abstract thinking and problem solving are habits you have and enjoy. Our research group is active and social, therefore detailed discussions with colleagues where you explain your ideas are something you like and do not shy away from.

Experience with Linux systems and ROS/ROS2 environments is a nice to have, but can also be acquired or enhanced within the assignment time.

Due to the nature of the location where you will be working, a security screening by the Dutch Government (paid for and organized by TNO) is required. This may take up to 3 months, bear this in mind when applying. Generally speaking, we try to tailor projects as much as possible to the student and the student’s interests and capabilities.

What can you expect of your work situation?

TNO is an independent research organisation whose expertise and research make an important contribution to the competitiveness of companies and organisations, to the economy and to the quality of society as a whole. Innovation with purpose is what TNO stands for. With 3000 people we develop knowledge not for its own sake but for practical application. To create new products that make life more pleasant and valuable and help companies innovate. To find creative answers to the questions posed by society. We work for a variety of customers: governments, companies, service providers and non-governmental organisations. Working together on new knowledge, better products and clear recommendations for policy and processes. In everything we do, impact is the key. Our product and process innovations and recommendations are only worth something if our customers can use them to boost their competitiveness.

You will work in the Intelligent Autonomous Systems group: a young, passionate and creative group of professionals (40 people) specialized in the development of groundbreaking applications in the fields of autonomous systems and intelligent robotics. One third of the group has started working for us in the past two years.

What can TNO offer you?

You want to work on the precursor of your career; a work placement gives you an opportunity to take a good look at your prospective future employer. TNO goes a step further. It’s not just looking that interests us; you and your knowledge are essential to our innovation. That’s why we attach a great deal of value to your personal and professional development. You will, of course, be properly supervised during your work placement and be given the scope for you to get the best out of yourself. Naturally, we provide suitable work placement compensation.

Application process

For this vacancy it is required that the AIVD issues a security clearance after conducting a security screening. Please visit for more information the AIVD website.

Has this vacancy sparked your interest?

Then please feel free to apply on this vacancy! For further questions don’t hesitate to contact us.

Due to Covid-19 and the consequent uncertainties and restrictions, students who are not residing in the Netherlands may currently not be able to start an internship or graduation project at TNO.

Contact: Julio Oliveira Filho, de
Phone number: +31 (0)88-86 63123

Note that applications via email and third party applications are not taken into consideration.


Apply now



Stay up to date with our latest news, activities and vacancies collects and processes data in accordance with the applicable privacy regulations for an optimal user experience and marketing practices.
This data can easily be removed from your temporary profile page at any time.
You can also view our privacy statement or cookie statement.