more updates to readme

This commit is contained in:
Apoorva Gupta 2023-03-29 12:38:27 +05:30
parent 0ab0bec309
commit 9eea08eaaa

View File

@ -4,12 +4,26 @@ This repository contains code for detecting heat pipes in the greenhouse as well
Platform: ROS 2, Humble, Ubuntu 22.04 Platform: ROS 2, Humble, Ubuntu 22.04
How to build the workspace? ## How to build the workspace?
```
$ git clone https://tea.der-space.de/apoorva/greenhouse.git
```
## How to install dependencies??
```
How to install dependencies?? sudo apt-get install ros-humble-$(PACKAGE_NAME)
```
This section explains what each module is responsible for. This section explains what each module is responsible for.
## perception_pcl
This module is responsible for providing `pcl_conversions` and `pcl_ros` modules in `ros 2`.
To build, run the following command:
```
$ cd ros2_ws/
$ colcon build --packages-select perception_pcl
$ . install/setup.bash
```
## pipe_msgs ## pipe_msgs
This module contains ros msgs for storing information about the detected object's bounding box. This module contains ros msgs for storing information about the detected object's bounding box.
@ -45,6 +59,7 @@ How to build and run?
This package is dependent on custom `pcl_conversion` and `pcl_ros` module. Make sure you have built those before building this package. This package is dependent on custom `pcl_conversion` and `pcl_ros` module. Make sure you have built those before building this package.
``` ```
$ colcon build --packages-select find-pose $ colcon build --packages-select find-pose
$ . install/setup.bash
$ ros2 launch find-pose find-pose-node.launch.py $ ros2 launch find-pose find-pose-node.launch.py
``` ```
All the topics can be remapped in the launch file. All the topics can be remapped in the launch file.
@ -70,6 +85,7 @@ The following are the output topics:
How to build and run? How to build and run?
``` ```
$ colcon build --packages-select yolov3_ros $ colcon build --packages-select yolov3_ros
$ . install/setup.bash
$ ros2 launch yolov3_ros pipe_detection.launch.py $ ros2 launch yolov3_ros pipe_detection.launch.py
``` ```
All the topics can be remapped in the launch file. The path to best_weights can also be changed inside the launch file. All the topics can be remapped in the launch file. The path to best_weights can also be changed inside the launch file.
@ -143,14 +159,6 @@ pip install -e .
rosbags-convert ../single_depth_color_640x480.bag rosbags-convert ../single_depth_color_640x480.bag
``` ```
## perception_pcl
### pcl_conversions
### pcl_ros
## flann_based ## flann_based
Module that uses 3D model of the pipe to estimate pose. This method was not successful. Module that uses 3D model of the pipe to estimate pose. This method was not successful.
@ -163,6 +171,23 @@ This module was provides interface to run neural network as rosnodes. The purpos
## darknet_vendor ## darknet_vendor
This module was needed to build darknet_ros2. This module was needed to build darknet_ros2.
# How to run live detection?
Once you have succefully built the ROS Modules specifically, `yolov3_ros` and `find-pose` along with dependencies like `pipe_msgs` and `perception_ros`, `perception_pcl`, you can do the following:
1. Open a terminal.
2. Run `$ cd greenhouse/ros2_ws/` and `$ . install/setup.bash`.
3. Launch node for object detection:
```
$ ros2 launch yolov3_ros pipe_detection.launch.py
```
This node will output two topics: `/bboxes` and `/detection_image`.
4. Launch node for pose estimation:
```
$ ros2 launch find-pose find-pose-node.launch.py
```
This node will output TF topics between `/camera_link` and `/${detected_object_name}`.
5. Open RVIZ by running `$ rviz2`. Change `fixed frame` from `map` to `camera_link`.
5a. Go to `Add` button. Under `By Display type`, select `tf`. Once tf is added, select required frames like `camera_link` and `l_trail` to see the tfs.
5b. To see the current image with detected object, Go to `Add` Button. Under `By Topic`, select topci called `detection_image`.
You can add other topics as per the need and topic names.
6. You can open launch files to update/remap topic name if different camera is being used.
7. You can also update ros parameter from launch file. Currently, the `pipe_weights.pt` file is the one used. This file can be changed and you can update the parameter name `best_weights` inside the `pipe_detection.launch.py` file.