sas
Modularised monitoring, logging, and control of robots.
Loading...
Searching...
No Matches
sas::RobotKinematicsClient Class Reference

Client for robot kinematics. More...

#include <sas_robot_kinematics_client.hpp>

Inheritance diagram for sas::RobotKinematicsClient:
sas::Object

Public Member Functions

 RobotKinematicsClient (const RobotKinematicsClient &)=delete
 RobotKinematicsClient (const std::shared_ptr< Node > &node, const std::string &topic_prefix)
 Construct a RobotKinematicsClient.
bool is_enabled () const
 Check whether the client is enabled (subscribers/publishers active).
DQ get_pose () const
 Get the last received robot pose.
DQ get_reference_frame () const
 Get the last received reference frame pose.
void send_desired_pose (const DQ &desired_pose) const
 Publish a desired pose for the robot.
void send_desired_interpolator_speed (const double &interpolator_speed) const
 Publish a desired interpolator speed value.

Detailed Description

Client for robot kinematics.

Subscribes to the robot's current pose and reference frame, and provides methods to publish desired poses and desired interpolator speeds. The client tracks the most recently received pose and reference frame and exposes simple accessors to retrieve them.

Constructor & Destructor Documentation

◆ RobotKinematicsClient()

sas::RobotKinematicsClient::RobotKinematicsClient ( const std::shared_ptr< Node > & node,
const std::string & topic_prefix )

Construct a RobotKinematicsClient.

Parameters
nodeShared pointer to the ROS2 node used for creating publishers/subscribers.
topic_prefixTopic name prefix used for subscriptions and publications.

Member Function Documentation

◆ get_pose()

DQ sas::RobotKinematicsClient::get_pose ( ) const

Get the last received robot pose.

Returns
Current pose as a dual quaternion (DQ).

◆ get_reference_frame()

DQ sas::RobotKinematicsClient::get_reference_frame ( ) const

Get the last received reference frame pose.

Returns
Reference frame as a dual quaternion (DQ).

◆ is_enabled()

bool sas::RobotKinematicsClient::is_enabled ( ) const

Check whether the client is enabled (subscribers/publishers active).

Returns
true if enabled, false otherwise.

◆ send_desired_interpolator_speed()

void sas::RobotKinematicsClient::send_desired_interpolator_speed ( const double & interpolator_speed) const

Publish a desired interpolator speed value.

Parameters
interpolator_speedDesired interpolator speed (units depend on the consumer of this topic).

◆ send_desired_pose()

void sas::RobotKinematicsClient::send_desired_pose ( const DQ & desired_pose) const

Publish a desired pose for the robot.

Parameters
desired_poseDesired pose to publish (as DQ).

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