PPL API Reference |
|
---|
Public Member Functions | |
Construction | |
virtual | ~SensorInterface () |
HardwareInterface (const std::string &_name, const std::string &_ip, const unsigned short _port, const double _communicationTime) | |
Hardware Properties | |
virtual HardwareType | GetHardwareType () const noexcept override |
Sensor Interface | |
virtual SensorType | GetType () const noexcept=0 |
virtual void | SendCommand (const SensorCommand &_c)=0 |
Instruct the sensor to take a measurement. More... | |
bool | IsReady () const noexcept |
size_t | GetLastTimestamp () const noexcept |
Get the timestep when the last measurement was completed. | |
virtual std::vector< mathtool::Transformation > | GetLastTransformations () |
Get the last transformation measurements. More... | |
virtual std::vector< std::vector< double > > | GetLastJointAngles () |
Get the last joint angle measurements. | |
virtual std::vector< double > | GetUncertainty ()=0 |
Hardware Properties | |
Get and set the robot's name, IP, port, and communication time. | |
const std::string & | GetName () const noexcept |
Get robot's name. | |
void | SetName (const std::string &_name) noexcept |
Set robot's name. | |
const std::string & | GetIP () const noexcept |
Get IP address for hardware controller. | |
void | SetIP (const std::string &_ip) noexcept |
Set IP address for hardware controller. | |
unsigned short | GetPort () const noexcept |
Get IP port for connection. | |
void | SetPort (const unsigned short _port) noexcept |
Set IP port for connection. | |
double | GetCommunicationTime () const noexcept |
Get minimum time in seconds to send command. | |
void | SetCommunicationTime (const double _t) noexcept |
Set minimum time in seconds to send command. | |
Static Public Member Functions | |
Construction | |
static std::unique_ptr< HardwareInterface > | Factory (class XMLNode &_node) |
Public Types | |
Local Types | |
enum | SensorType { Transformation , JointAngle } |
The supported sensor types. | |
enum | HardwareType |
The types of supported hardware. | |
Protected Attributes | |
Internal State | |
Get the measurement transformation matrix H such that a configuration c produces a measurement y = Hc.
| |
std::atomic< bool > | m_ready {false} |
Is the measurement is ready to read? | |
std::atomic< size_t > | m_timestamp {0} |
Timestep of last completed measurement. | |
Internal State | |
std::string | m_name |
The hardware type. | |
std::string | m_ip |
The IP address for the hardware's controller. | |
unsigned short | m_port |
The IP port for the controller connection. | |
double | m_communicationTime {0.} |
The minimum time in seconds needed to send a command to the hardware. | |
An abstract interface for a hardware sensor that measures the robot's world state (either base transformation and/or joint angles).
|
overridevirtualnoexcept |
Implements HardwareInterface.
|
pure virtualnoexcept |
|
pure virtual |
Instruct the sensor to take a measurement.
Implemented in ArucoDetectorInterface.
|
noexcept |
Check if the sensor has completed its measurement.
|
virtual |
Get the last transformation measurements.
Reimplemented in ArucoDetectorInterface.
|
pure virtual |
Get the measurement uncertainty.
Implemented in ArucoDetectorInterface.
HardwareInterface::HardwareInterface | ( | const std::string & | _name, |
const std::string & | _ip, | ||
const unsigned short | _port, | ||
const double | _communicationTime | ||
) |
Construct a hardware interface.
_name | The name of the hardware, such as 'iCreate'. |
_ip | The IP address for the on-board controller. |
_port | The IP port. |
_communicationTime | The minimum time needed to send a command to the robot. |
|
staticinherited |
Create an interface from an XML node.
_node |