<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Embedded AI | Christopher Knievel</title><link>http://www-home.htwg-konstanz.de/~cknievel/tags/embedded-ai/</link><atom:link href="http://www-home.htwg-konstanz.de/~cknievel/tags/embedded-ai/index.xml" rel="self" type="application/rss+xml"/><description>Embedded AI</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 16 Oct 2023 11:13:50 +0100</lastBuildDate><image><url>http://www-home.htwg-konstanz.de/~cknievel/media/icon_hu_eee4a95885829ab2.png</url><title>Embedded AI</title><link>http://www-home.htwg-konstanz.de/~cknievel/tags/embedded-ai/</link></image><item><title>Connect Four Robot: Reinforcement Learning on Embedded Hardware</title><link>http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/</link><pubDate>Mon, 16 Oct 2023 11:13:50 +0100</pubDate><guid>http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/</guid><description>&lt;p&gt;The Connect Four robot is a physical demonstrator for reinforcement learning. It was originally developed as a master&amp;rsquo;s project in the EIM program (Electrical Engineering and Information Technology) by the students Alexander Bernhardt, Christian Bernhardt, Raphael Carli and Manuel Reichelt.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Setup of the Connect Four robot"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/overview_hu_6302f84ab639ce76.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/overview_hu_d70eb7eb37f0e22a.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/overview_hu_eaab465eea86fe87.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/overview_hu_6302f84ab639ce76.webp"
width="760"
height="505"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;In addition to a DQN agent, a Monte Carlo Tree Search (MCTS) agent and AlphaZero were implemented. All algorithms were parameterized to run in real time on a Raspberry Pi 4. Different difficulty levels can be selected via a touch display. At the highest level, winning against the AI is nearly impossible.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Human-machine interface"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/hmi_hu_a3abbf9a17ce075a.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/hmi_hu_6ccda9531ce544d7.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/hmi_hu_f02902f9b4ea176f.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/hmi_hu_a3abbf9a17ce075a.webp"
width="760"
height="505"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Alongside the software, an open-source robot arm was built with a 3D printer, a sensor system was set up on a real game board, and a magazine was designed from which the robot arm picks up the game pieces.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Robot arm in action"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/featured_hu_55a4343b59958985.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/featured_hu_9c837d8b56ead362.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/featured_hu_da67298e541e759e.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/4gewinnt_roboter/featured_hu_55a4343b59958985.webp"
width="760"
height="505"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The robot attracted the interest of local media, who visited the project at HTWG in autumn 2023. A Regio TV report about the project is available in the media library:
(in German)&lt;/p&gt;
&lt;p&gt;An article was also published in the Südkurier:
(in German)&lt;/p&gt;
&lt;h2 id="current-work"&gt;Current work&lt;/h2&gt;
&lt;p&gt;The setup is currently being extended with a Dobot Magician E6, a six-axis collaborative robot arm.&lt;/p&gt;</description></item><item><title>Safety Assistance Systems for Bicycles</title><link>http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/</link><pubDate>Wed, 15 Dec 2021 11:13:50 +0100</pubDate><guid>http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/</guid><description>&lt;p&gt;With the increasing spread of e-bikes, the number of accidents is also rising. An increase of more than 50% compared to last year, to over 2900 accidents, can be observed
. Many accidents occur due to excessive speed and/or riding into oncoming traffic (oncoming cyclists).
A similar development was observed with the introduction of the automobile. Step by step, more and more active safety features (ESP, Emergency Brake Warning, ACC, &amp;hellip;) were introduced in addition to passive ones (seat belts, airbags).
In the bicycle sector, besides passive safety functions such as safety vests and helmets, active safety functions are not yet widespread.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;In this project, a warning system for cyclists shall be developed. The system shall consist of affordable components, exteroceptive sensors (e.g. camera, ultrasonic sensors) as well as proprioceptive sensors (e.g. accelerometer, gyroscope), be energy-efficient and compact in design so that it can be mounted unobtrusively on an e-bike.
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Bicycle setup"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/fahrrad_hu_850127f0aab6dd20.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/fahrrad_hu_3af9d6e349caa70f.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/fahrrad_hu_bd4385d414433b11.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/fahrrad_hu_850127f0aab6dd20.webp"
width="760"
height="253"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Project shall be extended to various usecases such as&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scene interpretation with respect to other cyclists and/or pedestrians&lt;/li&gt;
&lt;li&gt;Classification of unsafe/unstable driving behavior&lt;/li&gt;
&lt;li&gt;Recognition of potential hazards in the environment, e.g. potholes, high curbs,&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This project is kindly supported by Kettler Alu-Rad GmbH.&lt;/p&gt;
&lt;h2 id="kettler-alu-rad-gmbh"&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Kettler Alu-Rad GmbH"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/kettler_hu_fda9400aeb41c4de.webp 178w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/kettler_hu_fda9400aeb41c4de.webp"
width="178"
height="397"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/h2&gt;
&lt;h2 id="completed-thesis"&gt;Completed thesis&lt;/h2&gt;
&lt;p&gt;(click titles for more information)&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Details&lt;/summary&gt;
&lt;p&gt;Details to be added.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Details&lt;/summary&gt;
&lt;p&gt;The aim of this thesis is to implement different deep learning methods and evaluate if they can be used to accurately estimate the 6-D pose of a bicycle, based on IMU measurements of a 6-DOF IMU.&lt;/p&gt;
&lt;p&gt;The following requirements must be met by the algorithm:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accounting for sensor noise and biases&lt;/li&gt;
&lt;li&gt;Fusing of measurements data from multiple IMUs&lt;/li&gt;
&lt;li&gt;Capable of real-time computation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A video-SLAM algorithm has been implemented to
serve as a state-of-the-art comparison and showed a
good performance.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="VSLAM ORB3"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/orb3_slam_hu_dfc2ba9d68428163.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/orb3_slam_hu_12efb79a361f5191.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/orb3_slam_hu_6032cc1a2ae017b2.webp 681w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/orb3_slam_hu_dfc2ba9d68428163.webp"
width="681"
height="241"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Details&lt;/summary&gt;
&lt;p&gt;This thesis focused on the development of a neural network-based classification of cyclists, pedestrians, cars, and trucks. Two popular datasets have been used for the training, namely the KITTI Vision Benchmark Suite and the Tsinghua-Daimler Cyclist Detection Benchmark Dataset. While the accuracy of the classification of cars was as expected, the accuracy to detect cyclist was unexpectedly poor. A deeper analysis of the datasets revealed that the number of cyclists labels are insufficient. Nevertheless, the potential of detection performance could be highlighted with self-recorded videos.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Object Detection"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/thesis_dist_label_hu_782051c14c020413.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/thesis_dist_label_hu_89fed2a4ebf4029.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/thesis_dist_label_hu_c9d32709631ab28e.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/thesis_dist_label_hu_782051c14c020413.webp"
width="760"
height="280"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Details&lt;/summary&gt;
&lt;p&gt;In this thesis, an efficient object detection algorithm has been implemented to detect cyclist and a criticality metric has been investigated for its real-time capability using a monocular camera running on a Raspberry Pi 3b. Specifically, a machine learning algorithm had to identify relevant features per cyclist and tracked these features over time via the optical flow.
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Feature tracking"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/feature_tracking_hu_66a88cf483e658c2.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/feature_tracking_hu_794a9812043b4d87.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/feature_tracking_hu_6625ebba4e389bb5.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/feature_tracking_hu_66a88cf483e658c2.webp"
width="760"
height="349"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
As both, detected cyclist and moving, the consistent identification and tracking of relevant features is a challenge, especially in scenarios with high background noise. As a result, a feature outlier detection is of importance. Various algorithms have been investigated and analyzed for the real-time capability running on a Raspberry Pi 3b.
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Outlier detection"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/outlier_detection_hu_79a06ea75fed3e44.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/outlier_detection_hu_3872022fad3e324a.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/outlier_detection_hu_14d6d0a9e3450848.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/outlier_detection_hu_79a06ea75fed3e44.webp"
width="760"
height="294"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
Based on the scaling of the detected features, a time-to-collision (TTC) can be well estimated. As the results show, the TTC is accurate up to 3 seconds, which is sufficient for the system to warn the cyclist of an upcoming critical situation.
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="TTC estimation"
srcset="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/ttc_estimation_hu_61f4c23df24d46ac.webp 320w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/ttc_estimation_hu_521f0cf2543e16.webp 480w, http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/ttc_estimation_hu_784f29ebb4b9aaa3.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="http://www-home.htwg-konstanz.de/~cknievel/projects/ebike_assistance_systems/ttc_estimation_hu_61f4c23df24d46ac.webp"
width="760"
height="348"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;p&gt;More information can be found in the
.&lt;/p&gt;</description></item></channel></rss>