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**.  + +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**.  + + +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. +  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