vision
Loading...
Searching...
No Matches
RgbdDetection.hpp
1// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
2
3#ifndef __RGBD_DETECTION_HPP__
4#define __RGBD_DETECTION_HPP__
5
6#include <yarp/os/Bottle.h>
7#include <yarp/os/BufferedPort.h>
8#include <yarp/os/RFModule.h>
9
10#include <yarp/dev/PolyDriver.h>
11#include <yarp/dev/IRGBDSensor.h>
12
13#include <yarp/sig/Image.h>
14#include <yarp/sig/IntrinsicParams.h>
15
16#ifdef HAVE_ROS
17# include <rclcpp/rclcpp.hpp>
18# include <geometry_msgs/msg/point.hpp>
19#endif // HAVE_ROS
20
21#include "IDetector.hpp"
22#include "YarpCropCallback.hpp"
23
24namespace roboticslab
25{
26
31class RgbdDetection : public yarp::os::RFModule
32{
33public:
34 ~RgbdDetection() override
35 { close(); }
36
37 bool configure(yarp::os::ResourceFinder &rf) override;
38 double getPeriod() override;
39 bool updateModule() override;
40 bool interruptModule() override;
41 bool close() override;
42
43private:
44 yarp::dev::PolyDriver sensorDevice;
45 yarp::dev::IRGBDSensor * iRGBDSensor;
46 yarp::sig::IntrinsicParams depthIntrinsicParams;
47
48 yarp::dev::PolyDriver detectorDevice;
49 IDetector * iDetector;
50
51 yarp::os::BufferedPort<yarp::os::Bottle> statePort;
52 yarp::os::BufferedPort<yarp::sig::ImageOf<yarp::sig::PixelRgb>> imagePort;
53 yarp::os::BufferedPort<yarp::os::Bottle> cropPort;
54 YarpCropCallback cropCallback;
55
56#ifdef HAVE_ROS
57 rclcpp::Node::SharedPtr node;
58 rclcpp::Publisher<geometry_msgs::msg::Point>::SharedPtr publisher;
59#endif
60
61 double period;
62};
63
64} // namespace roboticslab
65
66#endif // __RGBD_DETECTION_HPP__
Interface for object detection.
Definition IDetector.hpp:17
2.5D detection.
Definition RgbdDetection.hpp:32
Definition YarpCropCallback.hpp:23
The main, catch-all namespace for Robotics Lab UC3M.
Definition groups.dox:5