Skip to content
View jstiefel's full-sized avatar
πŸ’₯
Developing
πŸ’₯
Developing

Highlights

  • Pro
Block or Report

Block or report jstiefel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jstiefel/README.md

✨ About Me

Hi there, I'm Julian Stiefel πŸ‘‹

I am a Robotics Engineer from Zurich, Switzerland, with 4+ years of experience developing medical software and leading technical projects at a medtech startup. I've graduated from ETH Zurich with a master's degree in Mechanical Engineering, focusing on Robotics. I used to work on multiple projects focusing on robotic perception of the environment, SLAM and kinematic control. I love writing complex algorithms and I mainly do this in C++ and Python.

I have a broad range of interests including robotics, software development, finance, law, literature, triathlon, photography, economy, craftsmanship and being on outdoor adventures. I find my balance by volunteering as a firefighter and contributing to different communities. I have a strong desire to acquire more experience in any area and I am constantly trying to improve myself.

Some of my non-coding projects include building bicycles, crafting furniture or decoration in my own workshop, building fun projects with microcontrollers and working on classic cars. These hands-on projects do not only help me to broaden my horizon, but also give me balance to my daily work.

πŸ”— Connect with Me

Linkedin



πŸ› οΈ My Languages, Tools and Frameworks

C++ Python ROS Qt/Qml Git Github Actions Docker CMake Linux/Ubuntu Snapcraft VSCode InfluxDB Grafana Unity bash/zsh Jira



πŸ“ˆ GitHub Stats

πŸ‘¨β€πŸ’» Some Coding Projects

cad-percept - Precise robot localization in architectural 3D plans
I contributed to this project by implementing algorithms for precise robot localization (SLAM) in inaccurate building models and the detection of building deviations between real-time data and mesh models. The pipeline uses the available 3D LiDAR point cloud data of a mobile robotic platform. The new method consistently outperforms the traditional ICP-based alignment, reducing localization errors by at least 30%.

Special thanks goes to my talented supervisors @gawela and @hermannsblum for sharing their knowledge!

cad-percept Publication



Remote magnetic navigation enables precision telesurgery
At Nanoflex Robotics AG, I implemented and maintained the software stack and algorithms to control magnetic devices following ISO 13485 for the treatment of ischemic stroke. Recently, I was working on a field study to allow a surgeon to remotely control our system from any place in the world. I added the necessary features for remote control, data and video transmission using our pre-clinical system. The technology was successfully tested in a study executed together with the Mayo Clinic in Phoenix over a distance of more than 9000 km. A Round-Trip-Time of less than 200 ms was reached.

Publication

Control of magnetic fields using Mixed Reality
With the release of the HoloLens 2, we had the idea to visualize magnetic fields and control our magnetic field generator using Mixed Reality. I implemented an application using Unity and MRTK. The application was then connected to our existing ROS framework and used with the HoloLens 2.



Real-time logging using InfluxDB and Grafana
Industrial devices usually collect a large amount of sensor data. For critical remote infrastructure, this data should be monitored in real-time to react to issues before they lead to damage. In this project, I implemented a C++ hardware data logger. The data is sent to the real-time, time-series database InfluxDB. The data is then visualized in a Grafana dashboard.



GUI development using Qt and Qml
Although I'm not a user interface designer, I always enjoy creating a GUI once in a while. I designed and developed multiple GUIs for data collection and visualization, but also for device control. I usually use Qt and Qml to separate the design from the backend. In the case shown below, I used Snappy Ubuntu Core and released the complete software as a snap package for the embedded system.



Komoot BLE navigation
The goal of this fun project was to create an inexpensive turn-by-turn-navigation device based on an ESP32 and Komoot's BLE Connect API. Back in 2018, navigation devices for cycling were sparse and expensive.

esp32_komoot_ble



Kinematic control of a 5-DoF intravitreal injection robot
For the startup Ophthorobotics AG, I developed the necessary software and electronics for the kinematic control of their five degree of freedom eye injection robot. As part of this project, I developed several device driver libraries, e.g. for Thorlabs and Maxon. I used inverse kinematics computations to control the end-effector and created a Qt GUI for easier user interaction.

Pinned

  1. ethz-asl/cad-percept ethz-asl/cad-percept Public

    Bringing meshes to robotics.

    C++ 5 1

  2. esp32_komoot_ble esp32_komoot_ble Public

    Using an ESP32 for turn-by-turn navigation with Komoot BLE Connect

    C++ 42 14

  3. asvz_bot asvz_bot Public archive

    ASVZ enrollment bot based on python and selenium

    Python 25 15

  4. lxi_device_control lxi_device_control Public

    Scripts for communication with lab instrumentation and data acquisition systems using LXI over Ethernet.

    Python

  5. qt5_ros_melodic_gui qt5_ros_melodic_gui Public

    A template to create a GUI with Qt5 Widgets and ROS Melodic.

    C++ 22 11

  6. MaxonEPOS2_ROS MaxonEPOS2_ROS Public

    ROS package to control Maxon EPOS2 controller.

    C 9 3