MobileBaseVelocityControl_nws_ros
: A device which allows a client application to control the velocity of a mobile base from ROS. The device opens a topic of type yarp::rosmsg::geometry_msgs::Twist
to receive user commands
More...
#include <mobileBaseVelocityControl_nws_ros/MobileBaseVelocityControl_nws_ros.h>
Public Member Functions | |
void | init (yarp::dev::Nav2D::INavigation2DVelocityActions *m_iNavVel) |
void | deinit () |
~commandSubscriber () | |
commandSubscriber () | |
virtual void | onRead (yarp::rosmsg::geometry_msgs::Twist &v) override |
![]() | |
Subscriber (const std::string &name="") | |
Constructor. More... | |
virtual | ~Subscriber () |
Destructor. More... | |
bool | topic (const std::string &name) |
Set topic to subscribe to. More... | |
bool | open (const std::string &name) override |
Start port operation, with a specific name, with automatically-chosen network parameters. More... | |
bool | open (const Contact &contact, bool registerName=true) override |
Start port operation with user-chosen network parameters. More... | |
void | close () override |
Stop port activity. More... | |
void | interrupt () override |
Interrupt any current reads or writes attached to the port. More... | |
void | resume () override |
Put the port back in an operative state after interrupt() has been called. More... | |
void | setReader (PortReader &reader) override |
Set an external reader for port data. More... | |
yarp::rosmsg::geometry_msgs::Twist * | read (bool shouldWait=true) |
Read a message from the port. More... | |
bool | read (PortReader &reader, bool willReply=false) override |
Read an object from the port. More... | |
Port & | asPort () override |
Get the concrete Port being used for communication. More... | |
const Port & | asPort () const override |
Get the concrete Port being used for communication, const version. More... | |
void | onRead (yarp::rosmsg::geometry_msgs::Twist &datum) override |
Callback method. More... | |
void | useCallback (TypedReaderCallback< yarp::rosmsg::geometry_msgs::Twist > &callback) |
void | useCallback () |
void | disableCallback () |
void | setStrict (bool strict=true) |
![]() | |
virtual Port & | asPort ()=0 |
Get the concrete Port being used for communication. More... | |
virtual const Port & | asPort () const =0 |
Get the concrete Port being used for communication, const version. More... | |
bool | open (const std::string &name) override |
Start port operation, with a specific name, with automatically-chosen network parameters. More... | |
bool | open (const Contact &contact, bool registerName=true) override |
Start port operation with user-chosen network parameters. More... | |
bool | addOutput (const std::string &name) override |
Add an output connection to the specified port. More... | |
bool | addOutput (const std::string &name, const std::string &carrier) override |
Add an output connection to the specified port, using a specified carrier. More... | |
bool | addOutput (const Contact &contact) override |
Add an output connection to the specified port, using specified network parameters. More... | |
void | close () override |
Stop port activity. More... | |
void | interrupt () override |
Interrupt any current reads or writes attached to the port. More... | |
void | resume () override |
Put the port back in an operative state after interrupt() has been called. More... | |
Contact | where () const override |
Returns information about how this port can be reached. More... | |
std::string | getName () const override |
Get name of port. More... | |
bool | setEnvelope (PortWriter &envelope) override |
Set an envelope (e.g., a timestamp) to the next message which will be sent. More... | |
bool | getEnvelope (PortReader &envelope) override |
Get the envelope information (e.g., a timestamp) from the last message received on the port. More... | |
int | getInputCount () override |
Determine how many connections are arriving into this port. More... | |
int | getOutputCount () override |
Determine how many output connections this port has. More... | |
void | getReport (PortReport &reporter) override |
Get information on the state of the port - connections etc. More... | |
void | setReporter (PortReport &reporter) override |
Set a callback to be called upon any future connections and disconnections to/from the port. More... | |
void | resetReporter () override |
Remove the callback which is called upon any future connections and disconnections to/from the port. More... | |
bool | isWriting () override |
Report whether the port is currently writing data. More... | |
void | setReader (PortReader &reader) override |
Set an external reader for port data. More... | |
void | setAdminReader (PortReader &reader) override |
Set an external reader for unrecognized administrative port messages. More... | |
void | setInputMode (bool expectInput) override |
Configure the port to allow or forbid inputs. More... | |
void | setOutputMode (bool expectOutput) override |
Configure the port to allow or forbid outputs. More... | |
void | setRpcMode (bool expectRpc) override |
Configure the port to be RPC only. More... | |
Type | getType () override |
Get the type of data the port has committed to send/receive. More... | |
void | promiseType (const Type &typ) override |
Commit the port to a particular type of data. More... | |
Property * | acquireProperties (bool readOnly) override |
Access unstructured port properties. More... | |
void | releaseProperties (Property *prop) override |
End access unstructured port properties. More... | |
bool | write (const PortWriter &writer, const PortWriter *callback=nullptr) const override |
Write an object to the port. More... | |
bool | write (const PortWriter &writer, PortReader &reader, const PortWriter *callback=nullptr) const override |
Write an object to the port, then expect one back. More... | |
bool | read (PortReader &reader, bool willReply=false) override |
Read an object from the port. More... | |
bool | reply (PortWriter &writer) override |
Send an object as a reply to an object read from the port. More... | |
bool | replyAndDrop (PortWriter &writer) override |
Same as reply(), but closes connection after reply. More... | |
void | includeNodeInName (bool flag) override |
Choose whether to prepend a node name (if one is available) to the port's name. More... | |
bool | setCallbackLock (yarp::os::Mutex *mutex) override |
Add a lock to use when invoking callbacks. More... | |
bool | setCallbackLock (std::mutex *mutex=nullptr) override |
Add a lock to use when invoking callbacks. More... | |
bool | removeCallbackLock () override |
Remove a lock on callbacks added with setCallbackLock() More... | |
bool | lockCallback () override |
Lock callbacks until unlockCallback() is called. More... | |
bool | tryLockCallback () override |
Try to lock callbacks until unlockCallback() is called. More... | |
void | unlockCallback () override |
Unlock callbacks. More... | |
virtual bool | write (const PortWriter &writer, const PortWriter *callback=nullptr) const =0 |
Write an object to the port. More... | |
virtual bool | write (const PortWriter &writer, PortReader &reader, const PortWriter *callback=nullptr) const =0 |
Write an object to the port, then expect one back. More... | |
virtual bool | read (PortReader &reader, bool willReply=false)=0 |
Read an object from the port. More... | |
virtual bool | reply (PortWriter &writer)=0 |
Send an object as a reply to an object read from the port. More... | |
virtual bool | replyAndDrop (PortWriter &writer)=0 |
Same as reply(), but closes connection after reply. More... | |
![]() | |
virtual | ~Contactable () |
Destructor. More... | |
virtual bool | open (const std::string &name)=0 |
Start port operation, with a specific name, with automatically-chosen network parameters. More... | |
virtual bool | open (const Contact &contact, bool registerName=true)=0 |
Start port operation with user-chosen network parameters. More... | |
virtual bool | addOutput (const std::string &name)=0 |
Add an output connection to the specified port. More... | |
virtual bool | addOutput (const std::string &name, const std::string &carrier)=0 |
Add an output connection to the specified port, using a specified carrier. More... | |
virtual bool | addOutput (const Contact &contact)=0 |
Add an output connection to the specified port, using specified network parameters. More... | |
virtual void | close ()=0 |
Stop port activity. More... | |
virtual void | interrupt ()=0 |
Interrupt any current reads or writes attached to the port. More... | |
virtual void | resume ()=0 |
Put the port back in an operative state after interrupt() has been called. More... | |
virtual Contact | where () const =0 |
Returns information about how this port can be reached. More... | |
virtual std::string | getName () const |
Get name of port. More... | |
virtual bool | setEnvelope (PortWriter &envelope)=0 |
Set an envelope (e.g., a timestamp) to the next message which will be sent. More... | |
virtual bool | getEnvelope (PortReader &envelope)=0 |
Get the envelope information (e.g., a timestamp) from the last message received on the port. More... | |
virtual int | getInputCount ()=0 |
Determine how many connections are arriving into this port. More... | |
virtual int | getOutputCount ()=0 |
Determine how many output connections this port has. More... | |
virtual void | getReport (PortReport &reporter)=0 |
Get information on the state of the port - connections etc. More... | |
virtual void | setReporter (PortReport &reporter)=0 |
Set a callback to be called upon any future connections and disconnections to/from the port. More... | |
virtual void | resetReporter ()=0 |
Remove the callback which is called upon any future connections and disconnections to/from the port. More... | |
virtual bool | isWriting ()=0 |
Report whether the port is currently writing data. More... | |
virtual void | setReader (PortReader &reader)=0 |
Set an external reader for port data. More... | |
virtual void | setAdminReader (PortReader &reader)=0 |
Set an external reader for unrecognized administrative port messages. More... | |
virtual void | setInputMode (bool expectInput)=0 |
Configure the port to allow or forbid inputs. More... | |
virtual void | setOutputMode (bool expectOutput)=0 |
Configure the port to allow or forbid outputs. More... | |
virtual void | setRpcMode (bool expectRpc)=0 |
Configure the port to be RPC only. More... | |
virtual Type | getType ()=0 |
Get the type of data the port has committed to send/receive. More... | |
virtual void | promiseType (const Type &typ)=0 |
Commit the port to a particular type of data. More... | |
virtual Property * | acquireProperties (bool readOnly)=0 |
Access unstructured port properties. More... | |
virtual void | releaseProperties (Property *prop)=0 |
End access unstructured port properties. More... | |
virtual void | includeNodeInName (bool flag)=0 |
Choose whether to prepend a node name (if one is available) to the port's name. More... | |
void | setReadOnly () |
Shorthand for setInputMode(true), setOutputMode(false), setRpcMode(false) More... | |
void | setWriteOnly () |
Shorthand for setInputMode(false), setOutputMode(true), setRpcMode(false) More... | |
void | setRpcServer () |
Shorthand for setInputMode(true), setOutputMode(false), setRpcMode(true) More... | |
void | setRpcClient () |
Shorthand for setInputMode(false), setOutputMode(true), setRpcMode(true) More... | |
virtual bool | setCallbackLock (yarp::os::Mutex *mutex)=0 |
Add a lock to use when invoking callbacks. More... | |
virtual bool | setCallbackLock (std::mutex *mutex=nullptr)=0 |
Add a lock to use when invoking callbacks. More... | |
virtual bool | removeCallbackLock ()=0 |
Remove a lock on callbacks added with setCallbackLock() More... | |
virtual bool | lockCallback ()=0 |
Lock callbacks until unlockCallback() is called. More... | |
virtual bool | tryLockCallback ()=0 |
Try to lock callbacks until unlockCallback() is called. More... | |
virtual void | unlockCallback ()=0 |
Unlock callbacks. More... | |
![]() | |
virtual | ~TypedReaderCallback () |
Destructor. More... | |
virtual void | onRead (yarp::rosmsg::geometry_msgs::Twist &datum) |
Callback method. More... | |
virtual void | onRead (yarp::rosmsg::geometry_msgs::Twist &datum, const yarp::os::TypedReader< yarp::rosmsg::geometry_msgs::Twist > &reader) |
Callback method. More... | |
Public Attributes | |
yarp::dev::Nav2D::INavigation2DVelocityActions * | m_iNavVel = nullptr |
MobileBaseVelocityControl_nws_ros
: A device which allows a client application to control the velocity of a mobile base from ROS. The device opens a topic of type yarp::rosmsg::geometry_msgs::Twist
to receive user commands
Parameters required by this device are:
Parameter name | SubParameter | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|---|
node_name | - | string | - | /mobileBase_VelControl_nws_ros | No | Full name of the opened ROS node | |
topic_name | - | string | - | /velocity_input | No | Full name of the opened ROS topic | |
subdevice | - | string | - | - | No | name of the subdevice to instantiate | when used, parameters for the subdevice must be provided as well |
Definition at line 40 of file MobileBaseVelocityControl_nws_ros.h.
commandSubscriber::~commandSubscriber | ( | ) |
Definition at line 43 of file MobileBaseVelocityControl_nws_ros.cpp.
commandSubscriber::commandSubscriber | ( | ) |
Definition at line 39 of file MobileBaseVelocityControl_nws_ros.cpp.
void commandSubscriber::deinit | ( | ) |
Definition at line 34 of file MobileBaseVelocityControl_nws_ros.cpp.
void commandSubscriber::init | ( | yarp::dev::Nav2D::INavigation2DVelocityActions * | m_iNavVel | ) |
Definition at line 29 of file MobileBaseVelocityControl_nws_ros.cpp.
|
overridevirtual |
Definition at line 48 of file MobileBaseVelocityControl_nws_ros.cpp.
yarp::dev::Nav2D::INavigation2DVelocityActions* commandSubscriber::m_iNavVel = nullptr |
Definition at line 49 of file MobileBaseVelocityControl_nws_ros.h.