Repo symbol

ros2_leg_detector repository

Repo symbol

ros2_leg_detector repository

Repo symbol

ros2_leg_detector repository

Repo symbol

ros2_leg_detector repository

Repository Summary

Description leg detection with ros2
Checkout URI https://github.com/mowito/ros2_leg_detector.git
VCS Type git
VCS Version main
Last Updated 2021-01-15
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
leg_detector 0.0.0
leg_detector_msgs 0.0.0

README

ros2_leg_detector

This repository is developed for Mowito Obstacle Detection and Human Detection module in ROS2 Foxy Foxtrot.

To run Leg detector in ROS2 ensure you have OpenCV 3.4.12 installed

Here are the steps to Run leg_detector in ros2

  1. clone the repository
  2. build the code with the following command

    $> colcon build

  3. source the newly buit package

    $> source <path to ros2_leg_detector>/install/setup.bash

  4. run the code with the launch file using the following command

    $> ros2 launch leg_detector demo_stationary_simple_environment.launch.py

Subsribed topics

  • /scan

    2D Lidar scan points.

  • /tf

    TF transforms between LiDAR and other frames.

All subscribed topics can be changed in the launch file

Published topics

  • /people_tracked

    Message of the type PersonArray containing the positions and velocities of the tracked people.

  • /visualization_marker

    Markers for the tracked people, other tracked objects and the centroids of the detected clusters.

Important parameters

  • scan_topic

    Laser scan topic

  • scan_frequency

    Right now, it’s only been tuned for 7.5, 10 or 15Hz laser scanners. If you’re using something faster than this, I would recommend downsampling to one of these frequencies.

  • fixed_frame

  • publish_people_frame

Other parameters

  • max_detected_clusters

    If the program is running slow because there are a lot of objects to be tracked, you can set this so it only tracks the “max_detected_clusters” closest objects. Default: -1 (i.e., unlimited).

  • forest_file

    where to find the configuration file for the OpenCV random forest which has been trained to determine the probability of a scan cluster being a human leg based on its shape.

  • detection_threshold

    Confidence threshold in leg shape to publish detect clusters. We found be results publishing and tracking all clusters, regardless of confidence in leg shape. Default: -1 (i.e., no threshold).

  • cluster_dist_euclid

    Euclidian distance for clustering of laser scan points. Any two laser scan points which are closer than this distance will be clustered together. If you change this, you might want to re-train the leg detector. Default: 0.13 (m).

  • min_points_per_cluster

    Minimum scan points for a cluster to be valid. If a cluster has less than this, then we assume it’s noise and delete it. Default: 3.

  • max_detect_distance

    Maximum distance from laser scanner to consider detected clusters. Farther is better but decreases run speed. Default: 10.0 (m).

  • max_leg_pairing_dist

    Maximum separation of legs. Legs further apart than this distance will not be matched. Default: 0.8 (m).

  • confidence_threshold_to_maintain_track

    How high the confidence needs to be of the current track’s leg shape to initiate and maintain a person track. Higher values will yield lower false positive people tracks and lower values higher false negatives. Will likely need re-tuning if you retrain the leg detector. Default: 0.1.

  • publish_occluded

File truncated at 100 lines see the full file

Repo symbol

ros2_leg_detector repository

Repo symbol

ros2_leg_detector repository

Repo symbol

ros2_leg_detector repository

Repo symbol

ros2_leg_detector repository