Supervisor: DI Nikolaus Feith;
Univ.-Prof. Dr Elmar Rückert
Start date: 8th Februar 2023
Theoretical difficulty: low
Practical difficulty: high
Modern IoT devices are powerful elements in complex Cyber-Physical-Systems (CPS).
However, communicating with such microcontrollers can be challenging and often requires custom software and hardware interfaces. When working with many different devices, this can quickly become overwhelming.
The goal of this thesis is to develop a generic hardware interface for the ESP32 microcontroller.
Individual hardware devices, sensors, and actuators can be integrated into a CPS through configuration files. Adjusting these files does not require in-depth hardware or software knowledge and allows rapid IoT development and integration via ROS 2.
The power of the generic ROS2 device interface is demonstrated in multiple use cases, e.g., the sensor glove with flex sensors, vibration motors and an IMU, or an ODrive motor controller board for mobile robots.
Tentative Work Plan
To achieve our objective, the following concrete tasks will be focused on:
- Assess the hardware and software requirements for the interfaces.
- Literature research on related or existing generic ROS2 solutions.
- Development of the generic software program.
- Use case evaluation of the interface for various devices. Assessment of the performance and limitations.
- Software documentation in the wiki of the git repository.
- B.Sc. thesis writing
- Research paper contribution with figures, results (optional).
Tutorials and Documentations
 ESP32 Tutorials, last visited 09.02.2023, https://randomnerdtutorials.com/getting-started-with-esp32/ ESP32 Tutorials, last visited 09.02.2023, https://www.az-delivery.de/en/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-das-multitalent MAC OS Serial Driver, last visited 09.02.2023, https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver ESP32 Datasheet, last visited 09.02.2023, https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf ROS2 Documentation, last visited 09.02.2023, https://docs.ros.org/en/humble