diff --git a/Bilder/Sensoren.jpg b/Bilder/Sensoren.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..89810e33d2e9cf7bbceac6c67860d495138f2c3e
Binary files /dev/null and b/Bilder/Sensoren.jpg differ
diff --git a/Bilder/explosionsdarstellung.wmv b/Bilder/explosionsdarstellung.wmv
new file mode 100644
index 0000000000000000000000000000000000000000..747b3b68f10f383ba474123624c236847bec4276
Binary files /dev/null and b/Bilder/explosionsdarstellung.wmv differ
diff --git a/Bilder/sensoreinhausung.jpg b/Bilder/sensoreinhausung.jpg
index e24bca6346dfe342c942438ada59c9774ab591ab..efa73f393bc50f75ad90c702a21b47790e46afde 100644
Binary files a/Bilder/sensoreinhausung.jpg and b/Bilder/sensoreinhausung.jpg differ
diff --git a/Bilder/sensoreinhausung_offen.jpg b/Bilder/sensoreinhausung_offen.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..51f0f050d1aa261888c2d89c1be0f5caafb539cb
Binary files /dev/null and b/Bilder/sensoreinhausung_offen.jpg differ
diff --git a/Code/Pico(Micropython)/sensor_bridge_1.py b/Code/Pico(Micropython)/sensor_bridge_1.py
new file mode 100644
index 0000000000000000000000000000000000000000..fde81a221d1e9dd22ef983e91a28e60bd05609f1
--- /dev/null
+++ b/Code/Pico(Micropython)/sensor_bridge_1.py
@@ -0,0 +1,31 @@
+# Skript in Micropython für den Raspberry Pi Pico
+# Liest die Sensorwerte zweier Liniensensoren aus und
+# gibt die Ergebnisse über USB (seriellen Ausgang) aus
+
+
+from machine import Pin
+from time import sleep
+import sys
+
+# Pin-Nummern für die Sensoren
+LEFT_PIN = 7  # GPIO7 für linken Sensor
+RIGHT_PIN = 8  # GPIO8 für rechten Sensor
+
+# Initialisiere die Pins für die Sensoren
+left_sensor = Pin(LEFT_PIN, Pin.IN)
+right_sensor = Pin(RIGHT_PIN, Pin.IN)
+
+try:
+    while True:
+        # Sensor-Werte auslesen
+        left_value = left_sensor.value()
+        right_value = right_sensor.value()
+
+        # Daten als JSON-ähnliches Format senden
+        sys.stdout.write(f"{left_value},{right_value}\n")
+
+        # Verzögerung, um Daten lesbar zu machen
+        sleep(0.1)
+
+except KeyboardInterrupt:
+    print("Programm beendet")
\ No newline at end of file
diff --git a/Code/Pico(Micropython)/sensor_bridge_2.py b/Code/Pico(Micropython)/sensor_bridge_2.py
new file mode 100644
index 0000000000000000000000000000000000000000..99ad27a775bda84ce682ffa29878c5a1f7ac973f
--- /dev/null
+++ b/Code/Pico(Micropython)/sensor_bridge_2.py
@@ -0,0 +1,61 @@
+# Skript in Micropython für den Raspberry Pi Pico
+# Liest die Sensorwerte von fünf Liniensensoren und dem HC-SR 04 aus und
+# gibt die Ergebnisse über USB (seriellem Ausgang) aus
+
+from machine import Pin, time_pulse_us
+from time import sleep
+import sys
+
+# Pin-Nummern für die Sensoren
+SENSOR_PINS = [13,8,11,7,4]  # OUT-Pins der fünf Liniensensoren in der Reihenfolge von rechts nach links
+TRIG_PIN = 26
+ECHO_PIN = 19
+
+
+# Sensoren initialisieren
+sensors = [Pin(pin, Pin.IN) for pin in SENSOR_PINS]
+
+trig = Pin(TRIG_PIN, Pin.OUT)
+echo = Pin(ECHO_PIN, Pin.IN)
+
+
+def measure_distance():
+    # Sende ein 10 µs langes HIGH-Signal über den Trigger
+    trig.low()
+    sleep(0.02)  # Sicherstellen, dass Trigger vorher LOW war
+    trig.high()
+    sleep(0.00001)  # 10 µs
+    trig.low()
+
+    # Warte auf das HIGH-Signal vom Echo und messe die Dauer
+    pulse_duration = time_pulse_us(echo, 1, 30000)  # Timeout nach 30 ms (30000 µs)
+
+    # Berechne die Distanz (Schallgeschwindigkeit: 34300 cm/s)
+    distance = (pulse_duration / 2) * 0.0343  # Hin- und Rückweg berücksichtigen
+
+    return distance
+
+try:
+    while True:
+        messung = ""
+        
+        distance = measure_distance()
+        
+        for i, sensor in enumerate(sensors):
+            value = sensor.value()
+            messung += str(value)
+            messung += ","
+        
+        messung += str(distance)
+        messung += "\n"
+        
+        # print(messung)
+        
+        sys.stdout.write(messung)
+        
+        # Verzögerung für bessere Lesbarkeit
+        sleep(0.05)
+
+except KeyboardInterrupt:
+    print("Programm beendet")
+
diff --git a/Code/Pico(Micropython)/usb_communication.py b/Code/Pico(Micropython)/usb_communication.py
deleted file mode 100644
index 47a6b3ed6b3c988942b51b549ea075217707b08b..0000000000000000000000000000000000000000
--- a/Code/Pico(Micropython)/usb_communication.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Skript in Micropython für den Raspberry Pi Pico
-# Liest die Sensorwerte zweier Liniensensoren aus und
-# gibt die Ergebnisse über USB (seriellen Ausgang) aus
-
-
-import machine
-import utime
-import sys
-
-# Pins für die Sensoren (OUT-Pins der HW-006)
-left_sensor = machine.Pin(15, machine.Pin.IN)  # GPIO15 für linken Sensor
-right_sensor = machine.Pin(14, machine.Pin.IN)  # GPIO14 für rechten Sensor
-
-while True:
-    # Sensordaten auslesen
-    left_value = left_sensor.value()
-    right_value = right_sensor.value()
-
-    # Daten formatieren
-    data = f"{left_value},{right_value}\n"
-
-    # Über USB senden
-    sys.stdout.write(data)
-
-    # Kurze Verzögerung
-    utime.sleep(0.2)
diff --git a/Code/ROS_Nodes/line_follower_pkg/line_follower_pkg/__init__.py b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/line_follower_pkg/__init__.py
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/line_follower_pkg/__init__.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/line_follower_pkg/__init__.py
diff --git a/Code/ROS_Nodes/line_follower_pkg/line_follower_pkg/line_follower_node.py b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/line_follower_pkg/line_follower_node.py
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/line_follower_pkg/line_follower_node.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/line_follower_pkg/line_follower_node.py
diff --git a/Code/ROS_Nodes/line_follower_pkg/package.xml b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/package.xml
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/package.xml
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/package.xml
diff --git a/Code/ROS_Nodes/line_follower_pkg/resource/line_follower_pkg b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/resource/line_follower_pkg
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/resource/line_follower_pkg
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/resource/line_follower_pkg
diff --git a/Code/ROS_Nodes/line_follower_pkg/setup.cfg b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/setup.cfg
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/setup.cfg
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/setup.cfg
diff --git a/Code/ROS_Nodes/line_follower_pkg/setup.py b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/setup.py
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/setup.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/setup.py
diff --git a/Code/ROS_Nodes/line_follower_pkg/test/test_copyright.py b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/test/test_copyright.py
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/test/test_copyright.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/test/test_copyright.py
diff --git a/Code/ROS_Nodes/line_follower_pkg/test/test_flake8.py b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/test/test_flake8.py
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/test/test_flake8.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/test/test_flake8.py
diff --git a/Code/ROS_Nodes/line_follower_pkg/test/test_pep257.py b/Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/test/test_pep257.py
similarity index 100%
rename from Code/ROS_Nodes/line_follower_pkg/test/test_pep257.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/line_follower_pkg/test/test_pep257.py
diff --git a/Code/ROS_Nodes/pico_reader_pkg/package.xml b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/package.xml
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/package.xml
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/package.xml
diff --git a/Code/ROS_Nodes/pico_reader_pkg/pico_reader_pkg/__init__.py b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/pico_reader_pkg/__init__.py
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/pico_reader_pkg/__init__.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/pico_reader_pkg/__init__.py
diff --git a/Code/ROS_Nodes/pico_reader_pkg/pico_reader_pkg/pico_reader_node.py b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/pico_reader_pkg/pico_reader_node.py
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/pico_reader_pkg/pico_reader_node.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/pico_reader_pkg/pico_reader_node.py
diff --git a/Code/ROS_Nodes/pico_reader_pkg/resource/pico_reader_pkg b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/resource/pico_reader_pkg
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/resource/pico_reader_pkg
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/resource/pico_reader_pkg
diff --git a/Code/ROS_Nodes/pico_reader_pkg/setup.cfg b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/setup.cfg
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/setup.cfg
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/setup.cfg
diff --git a/Code/ROS_Nodes/pico_reader_pkg/setup.py b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/setup.py
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/setup.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/setup.py
diff --git a/Code/ROS_Nodes/pico_reader_pkg/test/test_copyright.py b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/test/test_copyright.py
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/test/test_copyright.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/test/test_copyright.py
diff --git a/Code/ROS_Nodes/pico_reader_pkg/test/test_flake8.py b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/test/test_flake8.py
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/test/test_flake8.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/test/test_flake8.py
diff --git a/Code/ROS_Nodes/pico_reader_pkg/test/test_pep257.py b/Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/test/test_pep257.py
similarity index 100%
rename from Code/ROS_Nodes/pico_reader_pkg/test/test_pep257.py
rename to Code/ROS_Nodes_fuer_2_Sensoren/pico_reader_pkg/test/test_pep257.py
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/line_follower_pkg/__init__.py b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/line_follower_pkg/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/line_follower_pkg/line_follower_node.py b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/line_follower_pkg/line_follower_node.py
new file mode 100644
index 0000000000000000000000000000000000000000..f8af560169df342317ff8ee4f21c06ee6364f6fc
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/line_follower_pkg/line_follower_node.py
@@ -0,0 +1,143 @@
+import rclpy
+from rclpy.node import Node
+from geometry_msgs.msg import Twist
+from std_msgs.msg import String
+
+
+class LineFollowerNode(Node):
+    def __init__(self):
+        super().__init__('line_follower_node')
+
+        # Publisher für die Steuerung des TurtleBot
+        self.cmd_vel_publisher = self.create_publisher(Twist, '/cmd_vel', 1)
+
+        # Subscriber für die Liniensensor-Daten
+        self.create_subscription(
+            String,
+            'line_sensor_data',
+            self.line_sensor_callback,
+            1
+        )
+
+        # Subscriber für die Frontkollision-Daten
+        self.create_subscription(
+            String,
+            'front_collision_data',
+            self.front_collision_callback,
+            1
+        )
+
+        # Initialisiere Variablen
+        self.line_sensor_data = [0, 0, 0, 0, 0]
+        self.front_collision_distance = float('inf')  # Unendlich groß, kein Hindernis
+
+        # Schwellenwert für die Hinderniserkennung (in cm)
+        self.collision_threshold = 10.0
+
+        self.get_logger().info('Line Follower Node started')
+
+    def line_sensor_callback(self, msg):
+        try:
+            # Liniensensor-Daten als Liste von 1/0 verarbeiten
+            self.line_sensor_data = [int(x) for x in msg.data.split(',')]
+            self.get_logger().info(f'Line sensor data: {self.line_sensor_data}')
+            self.control_robot()
+        except ValueError as e:
+            self.get_logger().error(f'Error parsing line sensor data: {e}')
+
+    def front_collision_callback(self, msg):
+        try:
+            # Abstandswert aus der Nachricht extrahieren
+            self.front_collision_distance = float(msg.data)
+            self.get_logger().info(f'Front collision distance: {self.front_collision_distance}')
+        except ValueError as e:
+            self.get_logger().error(f'Error parsing collision data: {e}')
+
+    def control_robot(self):
+        # Erstelle die Steuerungsnachricht
+        twist = Twist()
+
+        # Hindernisvermeidung
+        if self.front_collision_distance < self.collision_threshold and self.front_collision_distance > 0.0:
+            self.get_logger().warn('Obstacle detected! Stopping...')
+            twist.linear.x = 0.0
+            twist.angular.z = 0.0
+            self.cmd_vel_publisher.publish(twist)
+            return
+
+        # Linienverfolgungslogik basierend auf den Liniensensoren
+        # Sensoren: [rechts, mittig-rechts, mittig, mittig-links, links]
+                # Linienverfolgungslogik basierend auf den Liniensensoren
+        # Sensoren: [rechts, mittig-rechts, mittig, mittig-links, links]
+        if self.line_sensor_data == [0, 0, 1, 0, 0]:
+            # Geradeaus
+            twist.linear.x = 0.2
+            twist.angular.z = 0.0
+        elif self.line_sensor_data == [1, 0, 0, 0, 0]:
+            # Voll nach rechts
+            twist.linear.x = 0.1
+            twist.angular.z = -0.7
+        elif self.line_sensor_data == [0, 0, 0, 0, 1]:
+            # Voll nach links
+            twist.linear.x = 0.1
+            twist.angular.z = 1.0
+            
+        elif self.line_sensor_data == [1, 1, 0, 0, 0]:
+            # Medium rechts
+            twist.linear.x = 0.1
+            twist.angular.z = -1.0
+        elif self.line_sensor_data == [0, 0, 0, 1, 1]:
+            # Medium links
+            twist.linear.x = 0.1
+            twist.angular.z = 1.0
+        elif self.line_sensor_data == [0, 1, 0, 0, 0]:
+            # Linie leicht nach rechts
+            twist.linear.x = 0.1
+            twist.angular.z = -1.0
+        elif self.line_sensor_data == [0, 0, 0, 1, 0]:
+            # Linie leicht nach links
+            twist.linear.x = 0.1
+            twist.angular.z = 1.0
+        elif self.line_sensor_data == [0, 1, 1, 1, 0]:
+            # Linie breit mittig erkannt
+            twist.linear.x = 0.1
+            twist.angular.z = 0.0
+        elif self.line_sensor_data == [1, 1, 1, 0, 0]:
+            # Breite Linie nach rechts
+            twist.linear.x = 0.1
+            twist.angular.z = -0.2
+        elif self.line_sensor_data == [0, 0, 1, 1, 1]:
+            # Breite Linie nach links
+            twist.linear.x = 0.1
+            twist.angular.z = 0.2
+        elif self.line_sensor_data == [1, 1, 1, 1, 1]:
+            # Komplett schwarze Linie, vermutlich Kreuzung
+            twist.linear.x = 0.0
+            twist.angular.z = 0.0
+        else:
+            # Langsam weiter
+            twist.linear.x = 0.05
+            twist.angular.z = 0.0
+        # else:
+            # # Linie verloren, leichte Drehung zur Suche
+            # self.get_logger().warn('Line lost, performing search...')
+            # twist.linear.x = 0.0
+            # twist.angular.z = 0.2  # Leicht drehen, um die Linie zu suchen
+            
+
+
+        # Steuerungsbefehle veröffentlichen
+        self.cmd_vel_publisher.publish(twist)
+
+def main(args=None):
+    rclpy.init(args=args)
+    node = LineFollowerNode()
+    try:
+        rclpy.spin(node)
+    except KeyboardInterrupt:
+        node.get_logger().info('Node stopped by user')
+    finally:
+        rclpy.shutdown()
+
+if __name__ == '__main__':
+    main()
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/package.xml b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/package.xml
new file mode 100644
index 0000000000000000000000000000000000000000..80bce246184f93e3a77a395e4f0c5fedae37af48
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/package.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
+<package format="3">
+  <name>line_follower_pkg</name>
+  <version>0.0.0</version>
+  <description>TODO: Package description</description>
+  <maintainer email="turtlebot@todo.todo">turtlebot</maintainer>
+  <license>TODO: License declaration</license>
+
+  <depend>rclpy</depend>
+  <depend>std_msgs</depend>
+
+  <test_depend>ament_copyright</test_depend>
+  <test_depend>ament_flake8</test_depend>
+  <test_depend>ament_pep257</test_depend>
+  <test_depend>python3-pytest</test_depend>
+
+  <export>
+    <build_type>ament_python</build_type>
+  </export>
+</package>
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/resource/line_follower_pkg b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/resource/line_follower_pkg
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/setup.cfg b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/setup.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..2d13ad284e4de749091d311ddbcaea95d8091d40
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/setup.cfg
@@ -0,0 +1,4 @@
+[develop]
+script_dir=$base/lib/line_follower_pkg
+[install]
+install_scripts=$base/lib/line_follower_pkg
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/setup.py b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..26d6a4fda441ceb52684a010d8a7fd309424231b
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/setup.py
@@ -0,0 +1,26 @@
+from setuptools import find_packages, setup
+
+package_name = 'line_follower_pkg'
+
+setup(
+    name=package_name,
+    version='0.0.0',
+    packages=find_packages(exclude=['test']),
+    data_files=[
+        ('share/ament_index/resource_index/packages',
+            ['resource/' + package_name]),
+        ('share/' + package_name, ['package.xml']),
+    ],
+    install_requires=['setuptools'],
+    zip_safe=True,
+    maintainer='turtlebot',
+    maintainer_email='turtlebot@todo.todo',
+    description='TODO: Package description',
+    license='TODO: License declaration',
+    tests_require=['pytest'],
+    entry_points={
+        'console_scripts': [
+		'line_follower_node = line_follower_pkg.line_follower_node:main',
+        ],
+    },
+)
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_copyright.py b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_copyright.py
new file mode 100644
index 0000000000000000000000000000000000000000..97a39196e84db97954341162a6d2e7f771d938c0
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_copyright.py
@@ -0,0 +1,25 @@
+# Copyright 2015 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_copyright.main import main
+import pytest
+
+
+# Remove the `skip` decorator once the source file(s) have a copyright header
+@pytest.mark.skip(reason='No copyright header has been placed in the generated source file.')
+@pytest.mark.copyright
+@pytest.mark.linter
+def test_copyright():
+    rc = main(argv=['.', 'test'])
+    assert rc == 0, 'Found errors'
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_flake8.py b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_flake8.py
new file mode 100644
index 0000000000000000000000000000000000000000..27ee1078ff077cc3a0fec75b7d023101a68164d1
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_flake8.py
@@ -0,0 +1,25 @@
+# Copyright 2017 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_flake8.main import main_with_errors
+import pytest
+
+
+@pytest.mark.flake8
+@pytest.mark.linter
+def test_flake8():
+    rc, errors = main_with_errors(argv=[])
+    assert rc == 0, \
+        'Found %d code style errors / warnings:\n' % len(errors) + \
+        '\n'.join(errors)
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_pep257.py b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_pep257.py
new file mode 100644
index 0000000000000000000000000000000000000000..b234a3840f4c5bd38f043638c8622b8f240e1185
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/line_follower_pkg/test/test_pep257.py
@@ -0,0 +1,23 @@
+# Copyright 2015 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_pep257.main import main
+import pytest
+
+
+@pytest.mark.linter
+@pytest.mark.pep257
+def test_pep257():
+    rc = main(argv=['.', 'test'])
+    assert rc == 0, 'Found code style errors / warnings'
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/package.xml b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/package.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f09c1359b3def53e576397710d621e114721a6e7
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/package.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
+<package format="3">
+  <name>pico_reader_pkg</name>
+  <version>0.0.0</version>
+  <description>TODO: Package description</description>
+  <maintainer email="turtlebot@todo.todo">turtlebot</maintainer>
+  <license>TODO: License declaration</license>
+
+  <test_depend>ament_copyright</test_depend>
+  <test_depend>ament_flake8</test_depend>
+  <test_depend>ament_pep257</test_depend>
+  <test_depend>python3-pytest</test_depend>
+
+  <export>
+    <build_type>ament_python</build_type>
+  </export>
+</package>
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/pico_reader_pkg/__init__.py b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/pico_reader_pkg/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/pico_reader_pkg/pico_reader_node.py b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/pico_reader_pkg/pico_reader_node.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e155b53a026c10d1b5095399aad2cbf774a6ada
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/pico_reader_pkg/pico_reader_node.py
@@ -0,0 +1,72 @@
+import rclpy
+from rclpy.node import Node
+from std_msgs.msg import String
+import serial
+
+class PicoReaderNode(Node):
+    def __init__(self):
+        super().__init__('pico_reader_node')
+        self.declare_parameter('serial_port', '/dev/ttyACM0')  # Neue serielle Schnittstelle
+        self.declare_parameter('baud_rate', 9600)  # Neue Baudrate
+        
+        serial_port = self.get_parameter('serial_port').get_parameter_value().string_value
+        baud_rate = self.get_parameter('baud_rate').get_parameter_value().integer_value
+        
+        try:
+            self.serial_conn = serial.Serial(serial_port, baud_rate, timeout=1)
+            self.get_logger().info(f'Connected to serial port: {serial_port}')
+        except Exception as e:
+            self.get_logger().error(f'Failed to connect to serial port: {e}')
+            rclpy.shutdown()
+
+        self.line_sensor_publisher = self.create_publisher(String, 'line_sensor_data', 1)
+        self.front_collision_publisher = self.create_publisher(String, 'front_collision_data', 1)
+        
+        self.timer = self.create_timer(0.05, self.read_from_pico)  # 20 Hz Update-Rate (0.05 Sekunden)
+
+    def read_from_pico(self):
+        try:
+            if self.serial_conn.in_waiting > 0:
+                data = self.serial_conn.readline().decode('utf-8').strip()
+                self.process_sensor_data(data)
+        except Exception as e:
+            self.get_logger().error(f'Error reading from serial: {e}')
+
+    def process_sensor_data(self, data):
+        try:
+            # Erwartetes Datenformat: "0,1,1,0,1,25.6"
+            parts = data.split(',')
+            if len(parts) == 6:
+                # Liniensensoren
+                line_sensor_values = parts[:5]
+                line_sensor_msg = String()
+                line_sensor_msg.data = ','.join(line_sensor_values)
+                self.line_sensor_publisher.publish(line_sensor_msg)
+
+                # HC-SR04 (Entfernung)
+                distance_value = parts[5]
+                collision_msg = String()
+                collision_msg.data = distance_value
+                self.front_collision_publisher.publish(collision_msg)
+
+                self.get_logger().info(f'Published line sensor data: {line_sensor_msg.data}')
+                self.get_logger().info(f'Published front collision data: {collision_msg.data}')
+            else:
+                self.get_logger().warn(f'Unexpected data format: {data}')
+        except Exception as e:
+            self.get_logger().error(f'Error processing sensor data: {e}')
+
+def main(args=None):
+    rclpy.init(args=args)
+    node = PicoReaderNode()
+    try:
+        rclpy.spin(node)
+    except KeyboardInterrupt:
+        node.get_logger().info('Node stopped by user')
+    finally:
+        if node.serial_conn:
+            node.serial_conn.close()
+        rclpy.shutdown()
+
+if __name__ == '__main__':
+    main()
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/resource/pico_reader_pkg b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/resource/pico_reader_pkg
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/setup.cfg b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/setup.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..3609d04a475e25ff64b5f0f2098d834ff658a4b0
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/setup.cfg
@@ -0,0 +1,4 @@
+[develop]
+script_dir=$base/lib/pico_reader_pkg
+[install]
+install_scripts=$base/lib/pico_reader_pkg
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/setup.py b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d58152e10050bb5c6b8eb9e3b919a5ffc19037d
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/setup.py
@@ -0,0 +1,27 @@
+from setuptools import find_packages, setup
+
+package_name = 'pico_reader_pkg'
+
+setup(
+    name=package_name,
+    version='0.0.0',
+    packages=find_packages(exclude=['test']),
+    data_files=[
+        ('share/ament_index/resource_index/packages',
+         ['resource/' + package_name]),
+        ('share/' + package_name, ['package.xml']),
+    ],
+    install_requires=['setuptools'],
+    zip_safe=True,
+    maintainer='turtlebot',
+    maintainer_email='turtlebot@todo.todo',
+    description='ROS 2 Package for reading data from a Raspberry Pi Pico via USB',
+    license='Apache License 2.0',
+    tests_require=['pytest'],
+    entry_points={
+        'console_scripts': [
+            'pico_reader_node = pico_reader_pkg.pico_reader_node:main',
+        ],
+    },
+)
+
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_copyright.py b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_copyright.py
new file mode 100644
index 0000000000000000000000000000000000000000..97a39196e84db97954341162a6d2e7f771d938c0
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_copyright.py
@@ -0,0 +1,25 @@
+# Copyright 2015 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_copyright.main import main
+import pytest
+
+
+# Remove the `skip` decorator once the source file(s) have a copyright header
+@pytest.mark.skip(reason='No copyright header has been placed in the generated source file.')
+@pytest.mark.copyright
+@pytest.mark.linter
+def test_copyright():
+    rc = main(argv=['.', 'test'])
+    assert rc == 0, 'Found errors'
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_flake8.py b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_flake8.py
new file mode 100644
index 0000000000000000000000000000000000000000..27ee1078ff077cc3a0fec75b7d023101a68164d1
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_flake8.py
@@ -0,0 +1,25 @@
+# Copyright 2017 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_flake8.main import main_with_errors
+import pytest
+
+
+@pytest.mark.flake8
+@pytest.mark.linter
+def test_flake8():
+    rc, errors = main_with_errors(argv=[])
+    assert rc == 0, \
+        'Found %d code style errors / warnings:\n' % len(errors) + \
+        '\n'.join(errors)
diff --git a/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_pep257.py b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_pep257.py
new file mode 100644
index 0000000000000000000000000000000000000000..b234a3840f4c5bd38f043638c8622b8f240e1185
--- /dev/null
+++ b/Code/ROS_Nodes_fuer_5_Sensoren/pico_reader_pkg/test/test_pep257.py
@@ -0,0 +1,23 @@
+# Copyright 2015 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_pep257.main import main
+import pytest
+
+
+@pytest.mark.linter
+@pytest.mark.pep257
+def test_pep257():
+    rc = main(argv=['.', 'test'])
+    assert rc == 0, 'Found code style errors / warnings'
diff --git "a/Dokumentation/Einf\303\274hrung_&_Infos.md" "b/Dokumentation/Einf\303\274hrung_&_Infos.md"
deleted file mode 100644
index f028d644b8c058fd127dcb8ba4e82114f2271949..0000000000000000000000000000000000000000
--- "a/Dokumentation/Einf\303\274hrung_&_Infos.md"
+++ /dev/null
@@ -1,26 +0,0 @@
-1. [Einführung & Infos](Dokumentation/Einführung_&_Infos.md)
-2. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
-3. [ROS2 Basics](ROS2_Basics.md)
-4. [Sensoren](Dokumentation/Sensoren.md)
-5. [Navigation](Dokumentation/Navigation.md)
-
----
-# Einführung & Infos
-
-
-![Turtlebot](../Bilder/Turtlebot4.png)
-
-*Turtlebot 4*
-
-Ein **TurtleBot 4** ist ein robuster und vielseitiger mobiler Roboter, der speziell für Forschung, Lehre und Entwicklung im Bereich Robotik konzipiert wurde. Es handelt sich um eine der neuesten Versionen der TurtleBot-Serie, die auf dem ROS (Robot Operating System) basiert und für die Verwendung mit **ROS 2 Humble** optimiert ist. Der TurtleBot 4 ist auf einem **Raspberry Pi 4** aufgebaut und bietet eine Plattform für Experimente und Anwendungen in der Robotik.
-# Hilfreiche Links
-- [Offizielle Tutlebot 4 Dokumentation](https://turtlebot.github.io/turtlebot4-user-manual/)
-- [Offizielle Create 3 Dokumentation](https://iroboteducation.github.io/create3_docs/)
-- [Offizielle ROS2 Humble Dokumentation](https://docs.ros.org/en/humble/index.html)
-
-# Komponenten des Turtlebot 4
-- Create 3
-- Raspberry Pi 4
-- OAK-D Pro
-- RPLIDAR
-- etc.
diff --git a/Dokumentation/Inbetriebnahme_Turtlebot_4.md b/Dokumentation/Inbetriebnahme_Turtlebot_4.md
index 6c9304aef1d9140f5b62925c8083a27be2d24a50..98ae2d34214a722d16746c5b8b4641b9d841dab6 100644
--- a/Dokumentation/Inbetriebnahme_Turtlebot_4.md
+++ b/Dokumentation/Inbetriebnahme_Turtlebot_4.md
@@ -1,8 +1,7 @@
-1. [Einführung & Infos](Dokumentation/Einführung_&_Infos.md)
-2. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
-3. [ROS2 Basics](ROS2_Basics.md)
-4. [Sensoren](Dokumentation/Sensoren.md)
-5. [Navigation](Dokumentation/Navigation.md)
+1. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
+2. [ROS Basics](Dokumentation/ROS2_Basics.md)
+3. [Sensoren](Dokumentation/Sensoren.md)
+4. [Navigation](Dokumentation/Navigation.md)
 
 ---
 # Inbetriebnahme Turtlebot 4
diff --git a/Dokumentation/Navigation.md b/Dokumentation/Navigation.md
index 13dbd8df6780ff0938bd5e31e6496e0d1778b830..8b7384c12e99e275883a4e4329c8d57c95e74f28 100644
--- a/Dokumentation/Navigation.md
+++ b/Dokumentation/Navigation.md
@@ -1,8 +1,7 @@
-1. [Einführung & Infos](Dokumentation/Einführung_&_Infos.md)
-2. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
-3. [ROS2 Basics](ROS2_Basics.md)
-4. [Sensoren](Dokumentation/Sensoren.md)
-5. [Navigation](Dokumentation/Navigation.md)
+1. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
+2. [ROS Basics](Dokumentation/ROS2_Basics.md)
+3. [Sensoren](Dokumentation/Sensoren.md)
+4. [Navigation](Dokumentation/Navigation.md)
 
 ---
 # Navigation
diff --git a/Dokumentation/README.md b/Dokumentation/README.md
index baad61c3baeadd0b2b39de7b66c075b260179398..0c97677f47c17e3c1c1c5cb4a7468f9dc1797e60 100644
--- a/Dokumentation/README.md
+++ b/Dokumentation/README.md
@@ -1,5 +1,4 @@
-1. [Einführung & Infos](Dokumentation/Einführung_&_Infos.md)
-2. [Inbetriebnahme Turtlebot 4](Inbetriebnahme_Turtlebot_4.md)
-3. [ROS2 Basics](ROS2_Basics.md)
-4. [Sensoren](Sensoren.md)
-5. [Navigation](Navigation.md)
\ No newline at end of file
+1. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
+2. [ROS Basics](Dokumentation/ROS2_Basics.md)
+3. [Sensoren](Dokumentation/Sensoren.md)
+4. [Navigation](Dokumentation/Navigation.md)
\ No newline at end of file
diff --git a/Dokumentation/ROS2_Basics.md b/Dokumentation/ROS2_Basics.md
index f80a8ff26dc721466abe2e3d742373244d48fb07..055d9d83d4581246ba02611345b0a481d2a7a032 100644
--- a/Dokumentation/ROS2_Basics.md
+++ b/Dokumentation/ROS2_Basics.md
@@ -1,8 +1,7 @@
-1. [Einführung & Infos](Dokumentation/Einführung_&_Infos.md)
-2. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
-3. [ROS2 Basics](ROS2_Basics.md)
-4. [Sensoren](Dokumentation/Sensoren.md)
-5. [Navigation](Dokumentation/Navigation.md)
+1. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
+2. [ROS Basics](Dokumentation/ROS2_Basics.md)
+3. [Sensoren](Dokumentation/Sensoren.md)
+4. [Navigation](Dokumentation/Navigation.md)
 
 ---
 # ROS2 Basics
@@ -16,6 +15,7 @@ Wir verwenden die Version ROS2 Humble*
 - Liste aller Topics anzeigen lassen: `ros2 topic list`
 - Topic-Details anzeigen: `ros2 topic info /hazard_detection`
 - Message-Typ eines Topics anzeigen: `ros2 topic type /hazard_detection`
+- Nachrichten eines Topics auslesen: `ros2 topic echo /topic`
 - Checken welche Workspaces geladen sind: `ros2 pkg list`
 - Das Shell-Skript [check_battery.sh](../Code/check_battery.sh) greift über ROS den Batterieladestand ab und zeigt diesen an
 
@@ -40,7 +40,7 @@ Wir verwenden die Version ROS2 Humble*
 #### Das Workspace bauen
 - Zurück ins Stammverzeichnis des Workspaces wechseln: ```cd ~/turtlebot4_ws```
 - Den Workspace bauen: ```colcon build```
-- Den Workspace für ROS auffindbar machen: ```source install/setup.bash```
+- Den Workspace für ROS auffindbar machen: ```source install/setup.bash``` **Das muss für jede Terminal Instanz separat gemacht werden.**
 
 #### Eine Node ausführen
 - Allgemein: ```ros2 run paketname nodename```
diff --git a/Dokumentation/Sensoren.md b/Dokumentation/Sensoren.md
index 580cf5e8c084e99264e66c3c40be40de70d0b8cc..c96f5be3abae24d4f3e8db2bf5d4d652ff82898f 100644
--- a/Dokumentation/Sensoren.md
+++ b/Dokumentation/Sensoren.md
@@ -1,8 +1,7 @@
-1. [Einführung & Infos](Dokumentation/Einführung_&_Infos.md)
-2. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
-3. [ROS2 Basics](ROS2_Basics.md)
-4. [Sensoren](Dokumentation/Sensoren.md)
-5. [Navigation](Dokumentation/Navigation.md)
+1. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
+2. [ROS Basics](Dokumentation/ROS2_Basics.md)
+3. [Sensoren](Dokumentation/Sensoren.md)
+4. [Navigation](Dokumentation/Navigation.md)
 
 ---
 # Boards
@@ -231,4 +230,4 @@ percentage: 0.85
 Um nicht die GPIO Pins des verbauten Pi belegen zu müssen bietet es sich an die externen Sensoren an einen Pico anzuschließen und diesen über USB mit dem Pi kommunizieren zu lassen.
 
 #### Beispiel: zwei Liniensensoren auslesen und anzeigen
-Mit [usb_communication.py](../Code/Pico(Micropython)/usb_communication.py) werden zwei Liniensensoren auf dem Pico ausgelesen und über die serielle USB Schnittstelle an den Pi weitergegeben. Damit dieser Code automatisch ausgeführt wird muss er allerdings als main.py auf dem Pico gespeichert werden. Mit [read_pico.py](../Code/RPi4(Python)/read_pico.py) lässt sich auf Seite des Pis das Signal dann auslesen.
+Mit [sensor_bridge_1.py](../Code/Pico(Micropython)/sensor_bridge_1.py) werden zwei Liniensensoren auf dem Pico ausgelesen und über die serielle USB Schnittstelle an den Pi weitergegeben. Damit dieser Code automatisch ausgeführt wird muss er allerdings als main.py auf dem Pico gespeichert werden. Mit [read_pico.py](../Code/RPi4(Python)/read_pico.py) lässt sich auf Seite des Pis das Signal dann auslesen.
diff --git a/Komponenten/README.md b/Komponenten/README.md
index 15cfa5a53fbb1479330dece8177b3da916e55f3f..5ca58a7f973bc32fefc429a161b16a076bdaf1ef 100644
--- a/Komponenten/README.md
+++ b/Komponenten/README.md
@@ -2,6 +2,8 @@
 - [*Tutlebot4*](https://github.com/turtlebot/turtlebot4-hardware/tree/master)
 - [*HC-SR04* Ultraschall Sensor](https://grabcad.com/library/hc-sr04-13)
 - [*HW-006-v1.3* Liniensensor](https://grabcad.com/library/reference-board-assembly-for-tcrt5000-infrarot-line-tracking-modul-hw-006-v1-3-1)
-- [*TCRT5000 Liniensensor*](https://grabcad.com/library/tcrt5000-infrared-tracking-sensor-module-1) *Vorsicht, die Dimensionen des Modells haben mit unserem Sensor teilweise nicht übereingestimmt*
+- [*TCRT5000 Liniensensor*](https://grabcad.com/library/tcrt5000-2) 
 - [*Raspberry Pi Pico*](https://grabcad.com/library/raspberry-pi-pico-r3-1)
 - [*HLK-LD2450* Radar Sensor](https://grabcad.com/library/radar-sensor-module-hlk-ld2450-human-presence-motion-1)
+
+##### Im Verzeichnis Sensorgehäuse findet sich das von uns entworfene Gehäuse für die Sensoren und eine entsprechende Halterung
\ No newline at end of file
diff --git "a/Komponenten/Sensorgeh\303\244use/README.md" "b/Komponenten/Sensorgeh\303\244use/README.md"
index 177189672d1e25a8eadc3a91f45317cac62ba289..a7c8f45c284520e6fe5fe01e9619afbd2682e190 100644
--- "a/Komponenten/Sensorgeh\303\244use/README.md"
+++ "b/Komponenten/Sensorgeh\303\244use/README.md"
@@ -9,8 +9,13 @@ Ziel ist es die fünf Liniensensoren und einen Ultraschallsensor mit einem Raspb
 
 Platz finden. Dieses wird vorne an den Turtlebot angebracht. Der USB Port des Picos muss zugänglich bleiben.
 
+![Explosionsdarstellung](/Bilder/explosionsdarstellung.wmv)
+
+
 #### **Komponenten und Funktionen**
 
+<img src="/Bilder/Sensoren.jpg" alt="Sensoren" width="600">
+
 ##### **1. Liniensensoren (TCRT5000)**
 
 - Der Vorbau beherbergt **fünf TCRT5000-Liniensensoren**, die gleichmäßig im unteren Bereich positioniert sind.
diff --git "a/Komponenten/Sensorgeh\303\244use/arm 2.ipt" "b/Komponenten/Sensorgeh\303\244use/arm 2.ipt"
new file mode 100644
index 0000000000000000000000000000000000000000..8d587c30512ca698bf9d813dd82fc872438276d1
Binary files /dev/null and "b/Komponenten/Sensorgeh\303\244use/arm 2.ipt" differ
diff --git "a/Komponenten/Sensorgeh\303\244use/arm.ipt" "b/Komponenten/Sensorgeh\303\244use/arm.ipt"
new file mode 100644
index 0000000000000000000000000000000000000000..19eb25c04ed9ca1d8a63a66b0151bc9647aef6ad
Binary files /dev/null and "b/Komponenten/Sensorgeh\303\244use/arm.ipt" differ
diff --git "a/Komponenten/Sensorgeh\303\244use/base.ipt" "b/Komponenten/Sensorgeh\303\244use/base.ipt"
new file mode 100644
index 0000000000000000000000000000000000000000..0fc24c100a38caf09e5e294b55b9731bb2cbe1b5
Binary files /dev/null and "b/Komponenten/Sensorgeh\303\244use/base.ipt" differ
diff --git "a/Komponenten/Sensorgeh\303\244use/deckel.ipt" "b/Komponenten/Sensorgeh\303\244use/deckel.ipt"
new file mode 100644
index 0000000000000000000000000000000000000000..e9dfa83d9d4bb590cdcc8f44c017e579395fc241
Binary files /dev/null and "b/Komponenten/Sensorgeh\303\244use/deckel.ipt" differ
diff --git "a/Komponenten/Sensorgeh\303\244use/spacer.ipt" "b/Komponenten/Sensorgeh\303\244use/spacer.ipt"
new file mode 100644
index 0000000000000000000000000000000000000000..6fbb296799e776df24684f1d1618e7b954004ce0
Binary files /dev/null and "b/Komponenten/Sensorgeh\303\244use/spacer.ipt" differ
diff --git a/README.md b/README.md
index 0fcf440cb352be2b1f306815d9c6acb19a93659f..a3879f8b15e74942dc875c999b99e8119d3b9deb 100644
--- a/README.md
+++ b/README.md
@@ -6,11 +6,24 @@
 Inbetriebnahme eines Turtlebot4 mit ROS2 Humble auf einem Ubuntu 22.04, Implementierung externer Sensoren und Ausführen eines Navigationsszenarios. Dieses Repository soll der Dokumentation unserer Arbeit dienen und sie für andere zugänglich machen.
 
 ### Struktur der Dokumentation
-1. [Einführung & Infos](Dokumentation/Einführung_&_Infos.md)
-2. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
-3. [ROS Basics](Dokumentation/ROS2_Basics.md)
-4. [Sensoren](Dokumentation/Sensoren.md)
-5. [Navigation](Dokumentation/Navigation.md)
+1. [Inbetriebnahme Turtlebot 4](Dokumentation/Inbetriebnahme_Turtlebot_4.md)
+2. [ROS Basics](Dokumentation/ROS2_Basics.md)
+3. [Sensoren](Dokumentation/Sensoren.md)
+4. [Navigation](Dokumentation/Navigation.md)
+
+### Der Turtlebot 4
+
+
+![Turtlebot](/Bilder/Turtlebot4.png)
+
+*Turtlebot 4*
+
+Ein **TurtleBot 4** ist ein robuster und vielseitiger mobiler Roboter, der speziell für Forschung, Lehre und Entwicklung im Bereich Robotik konzipiert wurde. Es handelt sich um eine der neuesten Versionen der TurtleBot-Serie, die auf dem ROS (Robot Operating System) basiert und für die Verwendung mit **ROS 2 Humble** optimiert ist. Der TurtleBot 4 ist auf einem **Raspberry Pi 4** aufgebaut und bietet eine Plattform für Experimente und Anwendungen in der Robotik.
 
 ### GPT zu dieser Projektarbeit
-ChatGPT ist sehr hilfreich bei der Arbeit mit dem Turtlebot. Wir haben ein GPT-Modell mit allen zu unserer Projektarbeit relevanten Daten trainiert und stellen das hier zur Verfügung: [Navigation mit dem Turtlebot 4](https://chatgpt.com/g/g-6768182420c0819180e9cc092e1ed888-navigation-mit-dem-turtlebot-4).
\ No newline at end of file
+ChatGPT ist sehr hilfreich bei der Arbeit mit dem Turtlebot. Wir haben ein GPT-Modell mit allen zu unserer Projektarbeit relevanten Daten trainiert und stellen das hier zur Verfügung: [Navigation mit dem Turtlebot 4](https://chatgpt.com/g/g-6768182420c0819180e9cc092e1ed888-navigation-mit-dem-turtlebot-4).
+
+### Hilfreiche Links
+- [Offizielle Tutlebot 4 Dokumentation](https://turtlebot.github.io/turtlebot4-user-manual/)
+- [Offizielle Create 3 Dokumentation](https://iroboteducation.github.io/create3_docs/)
+- [Offizielle ROS2 Humble Dokumentation](https://docs.ros.org/en/humble/index.html)