From 925103bfa7ad197ddc227bf7412f5ad426e74a31 Mon Sep 17 00:00:00 2001
From: Rene Ebeling <rene.ebeling@alumni.fh-aachen.de>
Date: Sat, 10 May 2025 19:48:29 +0200
Subject: [PATCH] Update README.md to enhance project description and add
 installation guide

---
 README.md | 87 ++++++++-----------------------------------------------
 1 file changed, 12 insertions(+), 75 deletions(-)

diff --git a/README.md b/README.md
index 7c2ad63..a5c6565 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,18 @@
 
 ## Robot Sensor Project
 
-This repository contains code for interfacing multiple **VL53L7CX Time-of-Flight (ToF) sensors** with a robot system. The sensors measure distance in a 4x4 grid and communicate through the I2C protocol. The sensor data is collected and formatted into a **JSON object**, which can be used for robot navigation, obstacle detection, or mapping.
+This repository contains code for interfacing multiple **VL53L7CX Time-of-Flight (ToF) sensors** with a robotic system. Each sensor measures distances in an 8x8 grid and communicates via the I2C protocol. The sensor data is collected and formatted into a **JSON object**, which can be decoded in a **ROS2** node and used to generate a PointCloud2 sensor topic for robot navigation, obstacle detection, or mapping.
 
+
+This GIF demonstrates the initial attempts to use two **VL53L5CX Time-of-Flight (ToF) sensors** to capture distance measurements and visualize them in **RViz2**.
 ![Sensor in Action](images/rviz2_screencast_2_vl53l5cx_1512025.gif)
+
+In the following GIF, you can see my first attempt to filter a PointCloud using STL meshes, visualized in **RViz2**, with the robot simulated in **Gazebo Classic**.
 ![Self Colision Detection prove of Conzept](images/self_detection_prove_of_conzept.gif)
+
+
+This GIF illustrates a dense random PointCloud surrounding a UR10 robot simulated in **Gazebo Classic** and visualized in **RViz2**. Initially, the unfiltered PointCloud is displayed, followed by a filtered view highlighting points close to the robot in red.
+
 ![Simulation Self Detection](images/Shows_simulation_that_detects_close_points.gif)
 
 This GIF provides a quick visual representation of the sensor's functionality and its integration with the robot system.
@@ -17,7 +25,6 @@ This GIF provides a quick visual representation of the sensor's functionality an
 - [Features](#features)
 - [Hardware Requirements](#hardware-requirements)
 - [Software Requirements](#software-requirements)
-- [Installation](#installation)
 - [How It Works](#how-it-works)
   - [Sensor Configuration](#sensor-configuration)
   - [Data Collection](#data-collection)
@@ -94,80 +101,10 @@ Make sure to connect the **SCL** and **SDA** lines for I2C communication, as wel
    - **sensor_msgs**: ROS2 message types for sensor data, including PointCloud2.
    - **std_msgs**: Standard ROS2 message types, including Header.
 
-### Step 1: Install Arduino Librarys
-
-You can install the required Arduino libraries from the Arduino Library Manager or by downloading them from GitHub.
-
-### Step 2: Install Python Packages
-
-Navigate to the project directory and install the required Python packages using `pip`:
-
-```bash
-cd robot-sensor
-pip install trimesh rclpy numpy scipy tf2_ros sensor_msgs std_msgs
-```
-
-Make sure you have a compatible version of Python installed (e.g., Python 3.6 or later).
-
-
-## Installation
-
-### Step 1: Clone the Repository
-
-First, clone the repository to your local machine:
-
-```bash
-git clone https://git-ce.rwth-aachen.de/rene.ebeling/robot-sensor.git
-cd robot-sensor
-```
-
-### Step 2: Install Arduino Libraries
-
-Open the Arduino IDE and install the required libraries from the Library Manager:
-
-1. Go to **Sketch** > **Include Library** > **Manage Libraries**.
-2. Search for and install the following libraries:
-   - **Wire**
-   - **ArduinoJson**
-   - **VL53L7CX**
-
-### Step 3: Install Python Packages
-
-Navigate to the project directory and install the required Python packages using `pip`:
-
-```bash
-pip install trimesh rclpy numpy scipy tf2_ros sensor_msgs std_msgs
-```
-
-Make sure you have a compatible version of Python installed (e.g., Python 3.6 or later).
-
-### Step 4: Upload the Code to the Microcontroller
-
-Connect your microcontroller to your computer and upload the provided Arduino sketch:
-
-1. Open the Arduino IDE.
-2. Open the sketch file located in the `arduino` directory of the cloned repository.
-3. Select the appropriate board and port from the **Tools** menu.
-4. Click **Upload** to upload the code to the microcontroller.
-
-### Step 5: Run the ROS2 Node
-
-Once the microcontroller is set up and running, execute the ROS2 node to start collecting and processing sensor data:
-
-```bash
-ros2 run ser_test ser_test_node
-ros2 run ser_test pcl_rob_node
-```
-
-Alternatively, you can execute the following command to launch the UR simulation with Gazebo and MoveIt:
-
-```bash
-ros2 launch ur_simulation_gazebo ur_sim_moveit.launch.py
-```
-
-This will start the simulation environment, allowing you to test the sensor integration in a virtual setup.
-In the launch file are the ser_test_node and the pcl_rob_node included. 
+## Installation Guide
 
+   For detailed installation instructions, please refer to the [Installation Documentation](../Install_Documentation/README.md). This guide provides step-by-step instructions for setting up the hardware, installing the required software, and configuring the system for optimal
+   performance.
 
 ## How It Works
 
-- 
GitLab