PPL API Reference
Overview Core Algorithm Abstractions Utilities Parallel Methods
Modules Class Hierarchy Classes Functions
Todo List Bug List Dead Code
List of all members
ArucoDetectorInterface Class Reference

Public Member Functions

Construction
 ArucoDetectorInterface (XMLNode &_node, const std::string &_ip, const unsigned short _port=4002)
 
virtual ~ArucoDetectorInterface ()
 
SensorInterface overrides
virtual SensorType GetType () const noexcept override
 
virtual void SendCommand (const SensorCommand &_c) override
 Send command to detector to take measurement, save recieved observations. More...
 
virtual std::vector< mathtool::Transformation > GetLastTransformations () override
 Get last detected transformations. More...
 
virtual std::vector< double > GetUncertainty () override
 Get uncertainty of measurements. More...
 
Hardware Properties
virtual HardwareType GetHardwareType () const noexcept override
 
Sensor Interface
bool IsReady () const noexcept
 
size_t GetLastTimestamp () const noexcept
 Get the timestep when the last measurement was completed.
 
virtual std::vector< std::vector< double > > GetLastJointAngles ()
 Get the last joint angle measurements.
 
Construction
 HardwareInterface (const std::string &_name, const std::string &_ip, const unsigned short _port, const double _communicationTime)
 
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< HardwareInterfaceFactory (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.

Todo:
We need a dynamically sizable matrix for this, either dlib or eigen will probably be the choice.
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.
 

Detailed Description

A hardware interface for receiving marker data from a netbook running the aruco detector.

Constructor & Destructor Documentation

◆ ArucoDetectorInterface()

ArucoDetectorInterface::ArucoDetectorInterface ( XMLNode _node,
const std::string &  _ip,
const unsigned short  _port = 4002 
)

Construct hardware interface for aruco detector

Parameters
_nodeXMLNode to construct the marker map from
_ipip address of the netbook running on the aruco detector
_portport to use for the connection

Member Function Documentation

◆ GetType()

SensorInterface::SensorType ArucoDetectorInterface::GetType ( ) const
overridevirtualnoexcept

Indicates the type of sensor.

Returns
The sensor type.

Implements SensorInterface.

◆ SendCommand()

void ArucoDetectorInterface::SendCommand ( const SensorCommand _c)
overridevirtual

Send command to detector to take measurement, save recieved observations.

Implements SensorInterface.

◆ GetLastTransformations()

std::vector< mathtool::Transformation > ArucoDetectorInterface::GetLastTransformations ( )
overridevirtual

Get last detected transformations.

Reimplemented from SensorInterface.

◆ GetUncertainty()

std::vector< double > ArucoDetectorInterface::GetUncertainty ( )
overridevirtual

Get uncertainty of measurements.

Implements SensorInterface.

◆ GetHardwareType()

HardwareInterface::HardwareType SensorInterface::GetHardwareType ( ) const
overridevirtualnoexceptinherited

Implements HardwareInterface.

◆ IsReady()

bool SensorInterface::IsReady ( ) const
noexceptinherited

Check if the sensor has completed its measurement.

Returns
True if measurement ready to read

◆ HardwareInterface()

HardwareInterface::HardwareInterface ( const std::string &  _name,
const std::string &  _ip,
const unsigned short  _port,
const double  _communicationTime 
)
inherited

Construct a hardware interface.

Parameters
_nameThe name of the hardware, such as 'iCreate'.
_ipThe IP address for the on-board controller.
_portThe IP port.
_communicationTimeThe minimum time needed to send a command to the robot.

◆ Factory()

std::unique_ptr< HardwareInterface > HardwareInterface::Factory ( class XMLNode _node)
staticinherited

Create an interface from an XML node.

Parameters
_node
Returns
A dynamically allocated interface.

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