6#ifndef LASER_FROM_ROS_TOPIC_H
7#define LASER_FROM_ROS_TOPIC_H
46 std::mutex m_port_mutex;
54 m_lastScan(alt.m_lastScan),
55 m_lastStamp(alt.m_lastStamp),
56 m_contains_data(alt.m_contains_data)
104 bool close()
override;
define control board standard interfaces
contains the definition of a Vector type
laserFromRosTopic: Documentation to be added
std::vector< yarp::dev::LaserScan2D > m_last_scan_data
bool close() override
Close the DeviceDriver.
std::vector< InputPortProcessor > m_input_ports
bool setDistanceRange(double min, double max) override
set the device detection range.
bool open(yarp::os::Searchable &config) override
Open the DeviceDriver.
std::vector< yarp::os::Stamp > m_last_stamp
void calculate(yarp::dev::LaserScan2D scan, yarp::sig::Matrix m)
std::vector< std::string > m_port_names
bool setHorizontalResolution(double step) override
get the angular step between two measurements (if available)
void run() override
Loop function.
yarp::os::Node * m_ros_node
yarp::dev::PolyDriver m_tc_driver
LaserFromRosTopic(double period=0.01)
bool setScanLimits(double min, double max) override
set the scan angular range.
bool threadInit() override
Initialization method.
yarp::sig::Vector m_empty_laser_data
bool acquireDataFromHW() override final
This method should be implemented by the user, and contain the logic to grab data from the hardware.
void threadRelease() override
Release method.
std::vector< std::string > m_src_frame_id
yarp::dev::IFrameTransform * m_iTc
std::string m_dst_frame_id
bool m_option_override_limits
bool setScanRate(double rate) override
set the scan rate (scans per seconds)
Interface implemented by all device drivers.
The Lidar2DDeviceBase class.
A container for a device driver.
An abstraction for a periodic thread.
PeriodicThread(double period, ShouldUseSystemClock useSystemClock=ShouldUseSystemClock::No, PeriodicThreadClock clockAccuracy=PeriodicThreadClock::Relative)
Constructor.
void step()
Call this to "step" the thread rather than starting it.
A base class for nested structures that can be searched.
An abstraction for a time stamp and/or sequence number.
A port specialized for reading data of a constant type published on a topic.
Subscriber(const std::string &name="")
Constructor.
yarp::rosmsg::sensor_msgs::LaserScan LaserScan
The main, catch-all namespace for YARP.