B.Sc. Thesis – Marco Schwarz: Development of a generic ROS2 Device Interface based on Micro-ROS on a ESP32

image_pdfimage_print

Supervisor: DI Nikolaus Feith;
Konrad Bartsch;
Univ.-Prof. Dr Elmar Rückert
Start date: 8th Februar 2023

 

Theoretical difficulty: low
Practical difficulty: high

Abstract

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).

Related Work

[R1] Dauphin, L., Baccelli, E., & Adjih, C. (2018, September). RIOT-ROS2: low-cost robots in IoT controlled via information-centric networking. In 2018 IFIP/IEEE International Conference on Performance Evaluation and Modeling in Wired and Wireless Networks (PEMWN) (pp. 1-6). IEEE.

[R2] Barciś, M., Barciś, A., Tsiogkas, N., & Hellwagner, H. (2021). Information Distribution in Multi-Robot Systems: Generic, Utility-Aware Optimization Middleware. Frontiers in Robotics and AI8, 685105.

[R3] Jo, W., Kim, J., Wang, R., Pan, J., Senthilkumaran, R. K., & Min, B. C. (2022). Smartmbot: A ros2-based low-cost and open-source mobile robot platform. arXiv preprint arXiv:2203.08903.

Tutorials and Documentations

[1] ESP32 Tutorials, last visited 09.02.2023, https://randomnerdtutorials.com/getting-started-with-esp32/

[2] ESP32 Tutorials, last visited 09.02.2023, https://www.az-delivery.de/en/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-das-multitalent

[3] MAC OS Serial Driver, last visited 09.02.2023, https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver

[4] ESP32 Datasheet, last visited 09.02.2023, https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

[5] ROS2 Documentation, last visited 09.02.2023, https://docs.ros.org/en/humble

Thesis