Description: Detects the class of objects from all the cameras of the robot (FLIR & Kinect). The semantic_obstacle_tracking node combines these YOLO detections with the obstacles detected from LIDAR by moving_obstacle_tracking.
Container: base
container. Ubuntu 22.04 - ROS Humble.
Clone this repo and download the required submodules:
git clone git@github.com:harmony-eu/yolo_eth.git yolo_eth -b humble-devel
cd yolo_eth && git submodule update -i
Run the setup script, which sets up the required virtual environment:
cd yolo_eth/yolo_eth_ros && bash setup.sh
Run colcon build
in your workspace.
Place your .pt
and .yaml
model files in the yolo_eth_ros/models
folder. To launch the yolo_ros node:
ros2 launch yolo_eth_ros detector.launch.py
Launch arguments:
- weights: path to the
model.pt
file relative to theyolo_eth_ros
folder - data_yaml: path to the
dataset.yaml
file relative to theyolo_eth_ros
folder - input_topics: list of image topics the node should listen to (the node can use both compressed and raw image topics)
Example:
ros2 launch yolo_eth_ros detector.launch.py weights:=models/ABB.pt data_yaml:=models/abb_model.yaml input_topics:="['/multicam/back/image_color/compressed', '/multicam/back/image_color/compressed', '/multicam/back/image_color/compressed']"
Other launch arguments:
- name: node namespace (node name will be name/yolo_eth_ros) (default is yolov5_eth)
- publish_images: whether to publish annotated images, in addition to the
detections
topic (default is true) - device:
cpu
orcuda
(default iscpu
) - inference_size_w: width of yolo inference size (default is 640)
- inference_size_h: height of yolo inference size (default is 480)
- confidence_threshold (default is 0.75)
- iou_threshold (default is 0.45)
- agnostic_nms (default is true)
This node sources its virtual environment (and yolo dependency) dynamically at startup. It's a bit of an ugly hack, but it allows using ros launch files with a virtual environment. As a consequence, the yolo_eth_ros/setup.sh
script should be run again if the code is moved.
Repository: https://github.com/CaioRovetta15/yolov5_ros
Commit: 050c1bfe9091fbbc8af97dfb2eabeae2406fa625
Clone with submodules
Repository: https://github.com/mats-robotics/detection_msgs
Commit: 6c251ef4eaf4d712722b72923c96a96f1cbea6e8