Softwareteknologi DTU - Project No. 0173:  Union Types in ROS
Danmarks Tekniske Universitet DTU
Bachelorprojekt - Softwareteknologi
Project No. 0173:  Union Types in ROS
Aktuelle Tidligere  

Description:

ROS (www.ros.org) is a communication framework which has gained widespread use within robotics, remote control etc. It provides an easy way for software modules to connect with each other dynamically, either via global broadcast channels (known as topics) or through services used in a client/server way. A number of existing modules (like simulators for concrete robots) are readily available for use.

In general channels are typed using ROS types which are mapped to the type system of the target language (eg. C++ or Python). However, the ROS type system does not allow for sending alternative kinds of messages on the same channel. This is typically desired eg. for sending different commands to a robot. A general solution to this is to use union types which allow values with different structures to occur in the same context. Especially discriminated union types where the actual variant is part of the value itself. Such union types are also known as variant records or algebraic data types.

In this project a proposal for extending the ROS type system with union types should be made and implemented. This involves integration with the complex build system applied for the ROS infrastructure.

Prerequisites:  02158 Concurrent Programming and preferably also 02157 Functional Programming

Supervisor(s) Hans Henrik Løvengreen

Sidst opdateret: Nov 20, 2015 af Hans Henrik Løvengreen