Map2D_nws_ros2
: A device capable of read/save collections of maps from disk, and make them accessible to any Map2DClient device.
More...
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 | |
DeviceDriver & | operator= (const DeviceDriver &other)=delete |
DeviceDriver & | operator= (DeviceDriver &&other) noexcept=delete |
~DeviceDriver () override | |
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 DeviceDriver * | getImplementation () |
Some drivers are bureaucrats, pointing at others. | |
Public Member Functions inherited from yarp::os::IConfig | |
virtual | ~IConfig () |
Destructor. | |
virtual bool | configure (Searchable &config) |
Change online parameters. | |
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. | |
Map2D_nws_ros2
: A device capable of read/save collections of maps from disk, and make them accessible to any Map2DClient device.
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.
Map2D_nws_ros2::Map2D_nws_ros2 | ( | ) |
Definition at line 40 of file Map2D_nws_ros2.cpp.
|
overridedefault |
|
overridevirtual |
Attach to another object.
driver | the polydriver that you want to attach to. |
Implements yarp::dev::IWrapper.
Definition at line 43 of file Map2D_nws_ros2.cpp.
|
overridevirtual |
Close the DeviceDriver.
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 151 of file Map2D_nws_ros2.cpp.
|
overridevirtual |
Detach the object (you must have first called attach).
Implements yarp::dev::IWrapper.
Definition at line 62 of file Map2D_nws_ros2.cpp.
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.
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.
|
overridevirtual |
Open the DeviceDriver.
config | is 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). |
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 68 of file Map2D_nws_ros2.cpp.
|
overridevirtual |
Read this object from a network connection.
Override this for your particular class.
reader | an interface to the network connection for reading |
Implements yarp::os::PortReader.
Definition at line 159 of file Map2D_nws_ros2.cpp.
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.
|
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.
bool Map2D_nws_ros2::updateVizMarkers | ( | ) |
Definition at line 192 of file Map2D_nws_ros2.cpp.