From 9eea08eaaa0e9d5e630c50aa212a48bd26172660 Mon Sep 17 00:00:00 2001 From: apoorva Date: Wed, 29 Mar 2023 12:38:27 +0530 Subject: [PATCH] more updates to readme --- README.md | 51 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index dcfb5d48..4fee3835 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,26 @@ This repository contains code for detecting heat pipes in the greenhouse as well 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. +## 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 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. ``` $ colcon build --packages-select find-pose +$ . install/setup.bash $ ros2 launch find-pose find-pose-node.launch.py ``` 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? ``` $ colcon build --packages-select yolov3_ros +$ . install/setup.bash $ 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. @@ -143,14 +159,6 @@ pip install -e . rosbags-convert ../single_depth_color_640x480.bag ``` -## perception_pcl - - -### pcl_conversions - -### pcl_ros - - ## flann_based 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 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. \ No newline at end of file