YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches

Map2D_nws_ros2: A device capable of read/save collections of maps from disk, and make them accessible to any Map2DClient device. More...

#include </home/runner/work/yarp-documentation/yarp-documentation/yarp/opt-modules/yarp-devices-ros2/src/devices/map2D_nws_ros2/Map2D_nws_ros2.h>

+ Inheritance diagram for Map2D_nws_ros2:

Public Member Functions

 Map2D_nws_ros2 ()
 
 ~Map2D_nws_ros2 () override=default
 
bool attach (yarp::dev::PolyDriver *driver) override
 Attach to another object.
 
bool detach () override
 Detach the object (you must have first called attach).
 
bool open (yarp::os::Searchable &config) override
 Open the DeviceDriver.
 
bool close () override
 Close the DeviceDriver.
 
bool read (yarp::os::ConnectionReader &connection) override
 Read this object from a network connection.
 
void getMapCallback (const std::shared_ptr< rmw_request_id_t > request_header, const std::shared_ptr< nav_msgs::srv::GetMap::Request > request, std::shared_ptr< nav_msgs::srv::GetMap::Response > response)
 
void getMapByNameCallback (const std::shared_ptr< rmw_request_id_t > request_header, const std::shared_ptr< map2d_nws_ros2_msgs::srv::GetMapByName::Request > request, std::shared_ptr< map2d_nws_ros2_msgs::srv::GetMapByName::Response > response)
 
void rosCmdParserCallback (const std::shared_ptr< rmw_request_id_t > request_header, const std::shared_ptr< test_msgs::srv::BasicTypes::Request > request, std::shared_ptr< test_msgs::srv::BasicTypes::Response > response)
 
bool updateVizMarkers ()
 
void run () override
 Main body of the new thread.
 
- Public Member Functions inherited from yarp::os::Thread
 Thread ()
 Constructor.
 
virtual ~Thread ()
 Destructor.
 
virtual void onStop ()
 Call-back, called while halting the thread (before join).
 
bool start ()
 Start the new thread running.
 
bool stop ()
 Stop the thread.
 
virtual void beforeStart ()
 Called just before a new thread starts.
 
virtual void afterStart (bool success)
 Called just after a new thread starts (or fails to start), this is executed by the same thread that calls start().
 
virtual bool threadInit ()
 Initialization method.
 
virtual void threadRelease ()
 Release method.
 
bool isStopping ()
 Returns true if the thread is stopping (Thread::stop has been called).
 
bool isRunning ()
 Returns true if the thread is running (Thread::start has been called successfully and the thread has not stopped).
 
long int getKey ()
 Get a unique identifier for the thread.
 
int setPriority (int priority, int policy=-1)
 Set the priority and scheduling policy of the thread, if the OS supports that.
 
int getPriority ()
 Query the current priority of the thread, if the OS supports that.
 
int getPolicy ()
 Query the current scheduling policy of the thread, if the OS supports that.
 
bool join (double seconds=-1)
 The function returns when the thread execution has completed.
 
void setOptions (int stackSize=0)
 Set the stack size for the new thread.
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 DeviceDriver ()
 
 DeviceDriver (const DeviceDriver &other)=delete
 
 DeviceDriver (DeviceDriver &&other) noexcept=delete
 
DeviceDriveroperator= (const DeviceDriver &other)=delete
 
DeviceDriveroperator= (DeviceDriver &&other) noexcept=delete
 
virtual ~DeviceDriver ()
 
virtual std::string id () const
 Return the id assigned to the PolyDriver.
 
virtual void setId (const std::string &id)
 Set the id for this device.
 
template<class T >
bool view (T *&x)
 Get an interface to the device driver.
 
virtual DeviceDrivergetImplementation ()
 Some drivers are bureaucrats, pointing at others.
 
- Public Member Functions inherited from yarp::os::PortReader
virtual ~PortReader ()
 Destructor.
 
virtual Type getReadType () const
 
- Public Member Functions inherited from yarp::dev::WrapperSingle
 ~WrapperSingle () override
 Destructor.
 
bool attachAll (const yarp::dev::PolyDriverList &drivers) final
 Attach to a list of objects.
 
bool detachAll () final
 Detach the object (you must have first called attach).
 
- Public Member Functions inherited from yarp::dev::IWrapper
virtual ~IWrapper ()
 Destructor.
 
- Public Member Functions inherited from yarp::dev::IMultipleWrapper
virtual ~IMultipleWrapper ()
 Destructor.
 

Additional Inherited Members

- Static Public Member Functions inherited from yarp::os::Thread
static int getCount ()
 Check how many threads are running.
 
static long int getKeyOfCaller ()
 Get a unique identifier for the calling thread.
 
static void yield ()
 Reschedule the execution of current thread, allowing other threads to run.
 
static void setDefaultStackSize (int stackSize)
 Set the default stack size for all threads created after this point.
 

Detailed Description

Map2D_nws_ros2: A device capable of read/save collections of maps from disk, and make them accessible to any Map2DClient device.

Map2D_nws_ros2

Parameters required by this device are:

Parameter name SubParameter Type Units Default Value Required Description Notes
name - string - map2D_nws_ros No Device name prefix
getmap - string - getMap No The "GetMap" ROS service name For the moment being the service always responds with an empty map
getmapbyname - string - getMapByName No The "GetMapByName" ROS2 custom service name The map returned by this service is also available via publisher named "getmapbyname value"/pub
roscmdparser - string - rosCmdParser No The "BasicTypes" ROS service name This is used to send commands to the nws via ros2 BasicTypes service
markers_pub - string - locationServerMarkers No The visual markers array publisher name
node_name - string - - No The ROS2 node name. If absent, the device name will be used

Definition at line 71 of file Map2D_nws_ros2.h.

Constructor & Destructor Documentation

◆ Map2D_nws_ros2()

Map2D_nws_ros2::Map2D_nws_ros2 ( )

Definition at line 40 of file Map2D_nws_ros2.cpp.

◆ ~Map2D_nws_ros2()

Map2D_nws_ros2::~Map2D_nws_ros2 ( )
overridedefault

Member Function Documentation

◆ attach()

bool Map2D_nws_ros2::attach ( yarp::dev::PolyDriver driver)
overridevirtual

Attach to another object.

Parameters
driverthe polydriver that you want to attach to.
Returns
true/false on success failure.

Implements yarp::dev::IWrapper.

Definition at line 43 of file Map2D_nws_ros2.cpp.

◆ close()

bool Map2D_nws_ros2::close ( )
overridevirtual

Close the DeviceDriver.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 151 of file Map2D_nws_ros2.cpp.

◆ detach()

bool Map2D_nws_ros2::detach ( )
overridevirtual

Detach the object (you must have first called attach).

Returns
true/false on success failure.

Implements yarp::dev::IWrapper.

Definition at line 62 of file Map2D_nws_ros2.cpp.

◆ getMapByNameCallback()

void Map2D_nws_ros2::getMapByNameCallback ( const std::shared_ptr< rmw_request_id_t request_header,
const std::shared_ptr< map2d_nws_ros2_msgs::srv::GetMapByName::Request >  request,
std::shared_ptr< map2d_nws_ros2_msgs::srv::GetMapByName::Response >  response 
)

Definition at line 295 of file Map2D_nws_ros2.cpp.

◆ getMapCallback()

void Map2D_nws_ros2::getMapCallback ( const std::shared_ptr< rmw_request_id_t request_header,
const std::shared_ptr< nav_msgs::srv::GetMap::Request >  request,
std::shared_ptr< nav_msgs::srv::GetMap::Response >  response 
)

Definition at line 268 of file Map2D_nws_ros2.cpp.

◆ open()

bool Map2D_nws_ros2::open ( yarp::os::Searchable config)
overridevirtual

Open the DeviceDriver.

Parameters
configis a list of parameters for the device. Which parameters are effective for your device can vary. See device invocation examples. If there is no example for your device, you can run the "yarpdev" program with the verbose flag set to probe what parameters the device is checking. If that fails too, you'll need to read the source code (please nag one of the yarp developers to add documentation for your device).
Returns
true/false upon success/failure

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 68 of file Map2D_nws_ros2.cpp.

◆ read()

bool Map2D_nws_ros2::read ( yarp::os::ConnectionReader reader)
overridevirtual

Read this object from a network connection.

Override this for your particular class.

Parameters
readeran interface to the network connection for reading
Returns
true iff the object is successfully read

Implements yarp::os::PortReader.

Definition at line 159 of file Map2D_nws_ros2.cpp.

◆ rosCmdParserCallback()

void Map2D_nws_ros2::rosCmdParserCallback ( const std::shared_ptr< rmw_request_id_t request_header,
const std::shared_ptr< test_msgs::srv::BasicTypes::Request >  request,
std::shared_ptr< test_msgs::srv::BasicTypes::Response >  response 
)

Definition at line 279 of file Map2D_nws_ros2.cpp.

◆ run()

void Map2D_nws_ros2::run ( )
overridevirtual

Main body of the new thread.

Override this method to do what you want. After Thread::start is called, this method will start running in a separate thread. It is important that this method either keeps checking Thread::isStopping to see if it should stop, or you override the Thread::onStop method to interact with it in some way to shut the new thread down. There is no really reliable, portable way to stop a thread cleanly unless that thread cooperates.

Implements yarp::os::Thread.

Definition at line 141 of file Map2D_nws_ros2.cpp.

◆ updateVizMarkers()

bool Map2D_nws_ros2::updateVizMarkers ( )

Definition at line 192 of file Map2D_nws_ros2.cpp.


The documentation for this class was generated from the following files: