image_pdfimage_print

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

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

PURE Datenbank

Ansprechperson an der MUL

Publikationen

Vergleich der Publikationen auf unserer Webpage https://cps.unileoben.ac.at/publications/mit den Publikationen in PURE. Fehlende Einträge müssen erstellt werden. 

 

Neuer Eintrag: Contribution to Journal

Etwas verwirrend mag die Kategorisierung sein. Alle unsere Arbeiten sind unter dem Hauptpunkt “Contribution to Journal” angesiedelt. 

  • Conference Article (our peer-reviewed conf., workshop and abstract papers)
  • Article (real journal articles)

Maximilian Pettinger, B.Sc.

Student Assistant at the Montanuniversität Leoben

IMG_E2067[1]

Short bio: Maximilian Pettinger, B.Sc started at CPS in November  2022.

Maximilian Pettinger is a master student in Polymer Engineering and bachelor student in Mechanical Engineering, both Montanuniversity Leoben. Prior to his master program he studied Polymer Engineering at the Montanuniversität Leoben, where he passed his Bachelor defense in January 2022. Furthermore, he is a member of the MotoStudent Team (MontanFactory Racing) of the University of Leoben.

Research Interests

  • Robotics, MicroROS, 

Thesis

Contact

Maximilian Pettinger, B.Sc 
Student Assistent at the Chair of Cyber-Physical-Systems
Montanuniversität Leoben
Franz-Josef-Straße 18, 
8700 Leoben, Austria 

Email:   maximilian.pettinger@stud.unileoben.ac.at

Unitree GO1

The video shows our Unitree GO1 robot at its first steps at CPS. This quadruped robot can locomote in rough terrain, autonomously avoids obstacles like stones or blocking barriers, and provides a large number of sensors for navigation and mapping research projects. 

Links

Videos

  • Research videos using the robot will be presented here. 
 

Publications

  • Publications about the robot as well as related topics will be found here.

Zoll / Imports / Exports

Für Exporte u. Importe aus dem Nicht-EU Ausland

  • Zollvorschriften: https://mydhl.express.dhl/at/de/help-and-support/customs-clearance-advice/customs-regulatory-updates.html
  • HAM. Code check: https://hs.e-to-china.com/

Importe / Exporte über die DHL

Hier sollen alle Daten vorab auf MyDHL+online eingetragen werden.

Hilfe gibte es hier

  • https://dhl-news.com/624-82NYR-FTBW2X-4YH5EJ-1/c.aspx

Ansprechperson MUL

Finanzbuchhaltung: Nadja Schulhofer (nadja.schulhofer@unileoben.ac.at).

Vacations and Work from Home

General Workflows and Agreements

Find below some general descriptions of workflows and agreements for working at our chair.

For any further question, you can always ask the whole CPS team.

Vacation Application Process

Please follow the instructions below, when you apply for any vacation days. 
 
  1. Request my permission via email
    • Please always send me an email first, where you ask for my ok for your vacation plan. Otherwise, I will ignore any notifications from the SAP system.
    • Add Regina cc to the email

  2. Apply for vacations in the online SAP portal (https://ess.unileoben.ac.at/)
    • I will receive an automatic email notification and will approve your application.
    • Without my approval, your application is not granted.

  3. Add your vacation days to our “CPS Events” Calendar
    • All of you have write access to add your vacation days.  

Working from at Home

According to your work contract, you have to come to the office for work.

Exceptions based on eventually valid covid regulations will be communicated via emails from the president of the university.

Understanding the basics of privacy

Important Articles

Companies like Google collect and process your data

Google collects your data from many different sources. Here are some examples:

  • Gmail: Google can read and store information from every email you write and receive, including in the spam, draft, and trash folders.
  • Google Maps: Google saves every location you search, in addition to all the places you physically visit with your devices, even if you aren’t logged in. Are you using Waze instead? Google owns that too. The ubiquity of phones and our constant use of them makes them almost like tracking devices we carry around willingly.
  • Android devices: Because Android phones and tablets run on an operating system built by Google, the company can track which ads you’re shown while using your phone. Google also knows what time, down to the second, you open each app.
  • Google apps: The Google Play store records all your searches and downloads, as well as any rewards cards used. Google also tracks which articles you’ve read through Google News.
  • YouTube: Google acquired YouTube back in 2006. When you’re using YouTube, Google tracks your search history, your watch history, how long you spend watching videos, and all your comments and likes or dislikes.
  • Google Assistant: Every request you make and every question you pose is recorded — you can even listen to the audio playback.
  • G Suite: Your calendar shows where you’ll be and when, and Google Hangouts saves all of your conversations.

If you are interessted in which data Google has collected about you, test Google Takeout.

Recommendations: Browser, Search Engine & Online Docs

In our digital age, we have to be aware of the data collection strategies of all services that we use. However, often, alternatives  developed by the open-source community exist. Here are some recommendations:

 

Recommendations: Messenger & Repositories

  • I personally recommend: Nextcloud’s Talk App.
  • Setup your own repo server using, e.g., Gitea or Gitey.

Final remarks: Stay sensitive to what happens to your data. Nothing is for free.

Digital Competencies – Data Safety, Privacy and Content Search on the net

Getting started with Pytorch using Cuda acceleration

This tutorial gives an instruction on installing Cuda and enabling Cuda acceleration using Pytorch in Win10. Installation in Linux or Mac systems are all possible. An additional .py file will verify whether the current computer configuration uses the Cuda or not. The following instruction assumes that you have already installed Python IDE, e.g., Anaconda, Pycharm, Visual Studio…

Step 1: Check which Cuda version is supported by your current GPUs under this website. From the left figure, we can see that A100 supports Cuda 11.0. It is also reported from other blogs/ forums that A100 can support Cuda 11.1. In this post, we install Cuda 11.1.

Step 2: Download Nvidia Cuda Toolkit 11.1 (the same version as Cuda in Step 1) from the website. In Win10, for instance, we follow up the choice as shown right. The size of exe(local) is around 3.1GB. After downloading, run the .exe and perform installation. It may take some minutes to complete installation.

Step 3: On the homepage of Pytorch, choose the appropriate options as shown in the left figure. IMPORTANT: The cuda version must be the same as in Step 1. It is also recommended to use Stable version. After finishing the , copy the command into Anaconda Powershell Prompt or other command prompt where you install packages for Python. Waiting for the installation, which may require larger than 1GB disk space and takes some minutes for installation. You could also find historical version of Pytorch in that homepage.

Verify your installation with .py file

You could download a cuda-test.py file and run it. If the result shows ‘cuda’, then you can enjoy the Cuda acceleration for training neural networks!

Using Multiple GPUs for further acceleration

Running Pytorch with Multiple GPUs can further increase the efficiency. We have 8 GPU cards and can be used parallely for training. Please refer to (1) (2) (3) for details. 

150.000 MINT – Digital competencies (0.66SH P, WS)

This entry course discusses major competences all students should have to study at the MUL.
 
The Chair of CPS provides tutorials on
  • Data Safety, Privacy and Content Search on the net.
  • Learning Python using online tools.
  • Learning to develop 3D-CAD models using online tools.
  • Using powerful online team working tools including shared documents.
  • Using data repositories and creating your personal webpage.
 

Links and Resources

Location & Time

  • See the MUOnline link. 
  • CPS Presentations are on the: 17.10.2022 at 11.00 in the HS1 Studierendenzentrum.

Posts on Digital Competencies

Integrated CPS Project or B.Sc. Thesis: Mobile Navigation via micro-ROS

Supervisors:

Start date: October 2022

 

Qualifications

  • Interest in controlling and simulating mobile robotics
  • Interest in Programming in Python and ROS or ROS2
 
Keywords: Mobile robot control, robot operating system (ROS), ESP32

Description

The goal of this project or thesis is to develop a control and sensing interface for our mobile robot “RMP220“. The RMP220 has two powerful brush-less motors equipped with two magnetic encoders.

Learn in this project how to read the sensor values and how to control the motors via micro-ros on a ESP32 controller.

Links:

 

Note: This project is also offered as Internship position.

https://www.youtube.com/watch?v=-MfNrxHXwow

Single Person Project or Team Work

You may work on the project alone or in teams of up to 4 persons.

For a team work task, the goals will be extended to control the robot via ROS 2 and to simulate it in Gazebo or RViz.

Interested?

If this project sounds like fun to you, please contact Linus Nwankwo or Elmar Rueckert or simply visit us at our chair in the Metallurgie building, 1st floor.