From 0ab0bec3091e2cb7603df96e34b061759721f1d0 Mon Sep 17 00:00:00 2001 From: apoorva Date: Wed, 29 Mar 2023 12:11:50 +0530 Subject: [PATCH] updated readme --- README.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6736db45..dcfb5d48 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,68 @@ How to install dependencies?? This section explains what each module is responsible for. ## pipe_msgs +This module contains ros msgs for storing information about the detected object's bounding box. +``` +$ cd ros2_ws/ +$ colcon build --packages-select pipe_msgs +$ . install/setup.bash +``` +To check if msgs are built properly, run following command +``` +$ ros2 interface show pipe_msgs/msg/BoundingBox + +The output will be: +float64 probability +int64 xmin +int64 ymin +int64 xmax +int64 ymax +int16 id +string class_id +``` ## find-pose +This ROS module is responsible for determining the position of the detected objects. +The following input/ros topics are needed: +- /rgb_img: RGB Image topic +- /camera_info: Camera calibration parameters topic +- /depth_img: Aligned depth image topic (aligned with rgb image) +- /bboxes: Bounding box of each detected object. (Comes from yolov3 detection module) +Output: +- TF: Transform between camera_link and detected_object frame. +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 +$ ros2 launch find-pose find-pose-node.launch.py +``` +All the topics can be remapped in the launch file. ## yolov3_ros +This ROS module is responsible for detecting the pipes from rgb image topic and also syncing the depth, rgb and camera_info topics. +The following input/ros topics are needed: +- /camera/color/image_raw: RGB Image topic +- /camera/aligned_depth_to_color/image_raw: Aligned depth image topic (aligned with rgb image) +- /camera/color/camera_info: Camera calibration parameters topic + +ROS Paramater Input: +- best_weights: String that is the path to the best weights file of yolov3 detection +Defaults: `'src/pipe_weights.pt'` + +The following are the output topics: +- /detection_image: The RGB Image topic with bounding box drawn on it for visualization and debugging purpose +- /bboxes: Bounding box of each detected object. +- /rgb_img: Time Synced RGB Image topic +- /camera_info: Time Synced Camera calibration parameters topic +- /depth_img: Time Synced Aligned depth image topic (aligned with rgb image) + +How to build and run? +``` +$ colcon build --packages-select yolov3_ros +$ 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. +Launch file is stored in `yolov3_ros/launch/`. ## yolov3 This module contains code for yolov3. This method is being used to train the model to detect pipes in the greenhouse. @@ -85,9 +143,12 @@ pip install -e . rosbags-convert ../single_depth_color_640x480.bag ``` -## pcl_conversions +## perception_pcl -## pcl_ros + +### pcl_conversions + +### pcl_ros ## flann_based