1.[How to use the package](#how-to-use-the-package)
1.[How to use the package](#how-to-use-the-package)
1.[In simulation](#in-simulation)
1.[In simulation](#in-simulation)
...
@@ -21,11 +28,46 @@ This repository is a ROS2 package that allows the control of a kobuki robot.
...
@@ -21,11 +28,46 @@ This repository is a ROS2 package that allows the control of a kobuki robot.
1.[Visualization](#visualization)
1.[Visualization](#visualization)
1.[Frequently Asked Questions](#faq)
1.[Frequently Asked Questions](#faq)
---
---
## How it works
### Goal
The goal is to explore a closed area (i.e. an area bounded with obstacles) with the robot while avoiding obstacles. While doing so, we must determine the number and position of green painted bottles.
### Expected behaviour
-The robot moves **continuously** in the area by **avoiding obstacles**
- If there are no obstacles, it moves straight
- If an obstacle is in front, it turns the opposite direction until there's no obstacle left in front.
-Using the **SLAM algorithm** with data from the LiDAR and the odometer, the robot builds a map and localizes itself in it.
-Using a RealSense RGBD camera (D435i), the robot is able to **detect the green bottles**. Messages are sent in topics:
-`detection`:to state the detection
-`bottle_relative_pos`:to tell the position of the bottle relative to the camera
-`bottle_marker`:to mark the position of a bottle on the map
-Experiments can be performed with **2 computers**:
-one on the robot (Control PC) running all the robot, movement and vision nodes
-a second for visualization and human control (Operator PC)
### Additional functionality
-An [**automatic HSV tuner script**](#tune-the-camera-hsv) allows you to calculate the ideal threshold to mask your bottle
-Most configuration variables (robot speeds, bounding boxes, are set as **ROS parameters** so that they can be modified
-The robot stops moving when you press any of the **3 robot buttons**. If you press it again, movement will continue.