Skip to content
Snippets Groups Projects
Commit 925103bf authored by René Ebeling's avatar René Ebeling
Browse files

Update README.md to enhance project description and add installation guide

parent 66b6e48b
No related branches found
No related tags found
No related merge requests found
...@@ -3,10 +3,18 @@ ...@@ -3,10 +3,18 @@
## Robot Sensor Project ## 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) ![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) ![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) ![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. 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 ...@@ -17,7 +25,6 @@ This GIF provides a quick visual representation of the sensor's functionality an
- [Features](#features) - [Features](#features)
- [Hardware Requirements](#hardware-requirements) - [Hardware Requirements](#hardware-requirements)
- [Software Requirements](#software-requirements) - [Software Requirements](#software-requirements)
- [Installation](#installation)
- [How It Works](#how-it-works) - [How It Works](#how-it-works)
- [Sensor Configuration](#sensor-configuration) - [Sensor Configuration](#sensor-configuration)
- [Data Collection](#data-collection) - [Data Collection](#data-collection)
...@@ -94,80 +101,10 @@ Make sure to connect the **SCL** and **SDA** lines for I2C communication, as wel ...@@ -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. - **sensor_msgs**: ROS2 message types for sensor data, including PointCloud2.
- **std_msgs**: Standard ROS2 message types, including Header. - **std_msgs**: Standard ROS2 message types, including Header.
### Step 1: Install Arduino Librarys ## Installation Guide
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.
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 ## How It Works
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment