sas
Modularised monitoring, logging, and control of robots.
Loading...
Searching...
No Matches
sas_conversions.DQ_geometry_msgs_conversions Namespace Reference

Functions

 _add_header (msg, Node node=None)
 Add a ROS2 std_msgs/Header with the current time to msg.
 geometry_msgs_point_to_dq (msg)
 Convert a geometry_msgs.msg.Point into a dqrobotics DQ translation.
 dq_to_geometry_msgs_point (t)
 Convert a dqrobotics DQ translation into a geometry_msgs.msg.Point.
 geometry_msgs_quaternion_to_dq (msg)
 Convert a geometry_msgs.msg.Quaternion into a normalized rotation DQ.
 dq_to_geometry_msgs_quaternion (r)
 Convert a dqrobotics rotation DQ into geometry_msgs.msg.Quaternion.
 geometry_msgs_pose_to_dq (msg)
 Convert a geometry_msgs.msg.Pose into a dqrobotics DQ pose.
 dq_to_geometry_msgs_pose (dq)
 Convert a dqrobotics DQ pose into a geometry_msgs.msg.Pose.
 dq_to_geometry_msgs_pose_stamped (dq, Node node=None)
 Convert a dqrobotics DQ into a geometry_msgs.msg.PoseStamped.
 geometry_msgs_pose_stamped_to_dq (ps)
 Convert a geometry_msgs.msg.PoseStamped into a dqrobotics DQ.
 geometry_msgs_wrench_to_dq (msg)
 Convert a geometry_msgs.msg.Wrench into force and torque DQs.
 dq_to_geometry_msgs_wrench (force, torque)
 Convert force and torque DQs into a geometry_msgs.msg.Wrench.
 geometry_msgs_wrench_stamped_to_dq (msg)
 Convert a geometry_msgs.msg.WrenchStamped into force and torque pure quaternion DQs.
 dq_to_geometry_msgs_wrench_stamped (force, torque, Node node=None)
 Convert force and torque DQs into a geometry_msgs.msg.WrenchStamped.
 geometry_msgs_twist_to_dq (msg)
 Convert a geometry_msgs.msg.Twist into pure quaternion linear and angular DQs.
 dq_to_geometry_msgs_twist (linear, angular)
 Convert linear and angular DQs into a geometry_msgs.msg.Twist.

Detailed Description

# Copyright (c) 2012-2026 Murilo Marques Marinho
#
#    This file is part of sas_conversions.
#
#    sas_conversions is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Lesser General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    sas_conversions is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Lesser General Public License for more details.
#
#    You should have received a copy of the GNU Lesser General Public License
#    along with sas_conversions.  If not, see <https://www.gnu.org/licenses/>.
#
# ################################################################
#
#   Author: Murilo M. Marinho, email: murilomarinho@ieee.org
#
# ################################################################

Function Documentation

◆ _add_header()

_add_header ( msg,
Node node = None )
protected

Add a ROS2 std_msgs/Header with the current time to msg.

If node is provided the function will set msg.header and populate the timestamp. If node is None, the function does nothing.

Parameters
msgROS2 message with a .header attribute to populate.
nodeOptional rclpy.node.Node used to obtain the current time.
Returns
None

◆ dq_to_geometry_msgs_point()

dq_to_geometry_msgs_point ( t)

Convert a dqrobotics DQ translation into a geometry_msgs.msg.Point.

Expects t to be a pure quaternion DQ.

Parameters
tdqrobotics.DQ instance encoding a translation.
Returns
geometry_msgs.msg.Point The corresponding ROS2 Point message.

◆ dq_to_geometry_msgs_pose()

dq_to_geometry_msgs_pose ( dq)

Convert a dqrobotics DQ pose into a geometry_msgs.msg.Pose.

Parameters
dqdqrobotics.DQ pose to convert.
Returns
geometry_msgs.msg.Pose The corresponding ROS2 Pose message.

◆ dq_to_geometry_msgs_pose_stamped()

dq_to_geometry_msgs_pose_stamped ( dq,
Node node = None )

Convert a dqrobotics DQ into a geometry_msgs.msg.PoseStamped.

If node is provided the resulting message will include a populated header.stamp using the node's clock.

Parameters
dqdqrobotics.DQ pose to convert.
nodeOptional rclpy.node.Node for timestamping the header.
Returns
geometry_msgs.msg.PoseStamped The stamped Pose message.

◆ dq_to_geometry_msgs_quaternion()

dq_to_geometry_msgs_quaternion ( r)

Convert a dqrobotics rotation DQ into geometry_msgs.msg.Quaternion.

Parameters
rdqrobotics.DQ rotation quaternion).
Returns
geometry_msgs.msg.Quaternion The corresponding ROS2 Quaternion message.

◆ dq_to_geometry_msgs_twist()

dq_to_geometry_msgs_twist ( linear,
angular )

Convert linear and angular DQs into a geometry_msgs.msg.Twist.

Parameters
lineardqrobotics.DQ encoding linear velocity vector.
angulardqrobotics.DQ encoding angular velocity vector.
Returns
geometry_msgs.msg.Twist The corresponding ROS2 Twist message.

◆ dq_to_geometry_msgs_wrench()

dq_to_geometry_msgs_wrench ( force,
torque )

Convert force and torque DQs into a geometry_msgs.msg.Wrench.

Both force and torque are expected to be pure quaternion DQ objects.

Parameters
forcedqrobotics.DQ representing the force.
torquedqrobotics.DQ representing the torque.
Returns
geometry_msgs.msg.Wrench The corresponding ROS2 Wrench message.

◆ dq_to_geometry_msgs_wrench_stamped()

dq_to_geometry_msgs_wrench_stamped ( force,
torque,
Node node = None )

Convert force and torque DQs into a geometry_msgs.msg.WrenchStamped.

Optionally populates the header timestamp when node is provided.

Parameters
forcedqrobotics.DQ encoding force vector.
torquedqrobotics.DQ encoding torque vector.
nodeOptional rclpy.node.Node for header timestamping.
Returns
geometry_msgs.msg.WrenchStamped The stamped Wrench message.

◆ geometry_msgs_point_to_dq()

geometry_msgs_point_to_dq ( msg)

Convert a geometry_msgs.msg.Point into a dqrobotics DQ translation.

The returned DQ encodes the translation vector (x, y, z) as a pure quaternion.

Parameters
msggeometry_msgs.msg.Point to convert.
Returns
dqrobotics.DQ Pure quaternion representing the translation.

◆ geometry_msgs_pose_stamped_to_dq()

geometry_msgs_pose_stamped_to_dq ( ps)

Convert a geometry_msgs.msg.PoseStamped into a dqrobotics DQ.

Parameters
psgeometry_msgs.msg.PoseStamped to convert.
Returns
dqrobotics.DQ Dual quaternion representing the pose.

◆ geometry_msgs_pose_to_dq()

geometry_msgs_pose_to_dq ( msg)

Convert a geometry_msgs.msg.Pose into a dqrobotics DQ pose.

Parameters
msggeometry_msgs.msg.Pose to convert.
Returns
dqrobotics.DQ Dual quaternion representing the pose.

◆ geometry_msgs_quaternion_to_dq()

geometry_msgs_quaternion_to_dq ( msg)

Convert a geometry_msgs.msg.Quaternion into a normalized rotation DQ.

Parameters
msggeometry_msgs.msg.Quaternion to convert.
Returns
dqrobotics.DQ Normalized rotation quaternion.

◆ geometry_msgs_twist_to_dq()

geometry_msgs_twist_to_dq ( msg)

Convert a geometry_msgs.msg.Twist into pure quaternion linear and angular DQs.

Parameters
msggeometry_msgs.msg.Twist to convert.
Returns
tuple(dqrobotics.DQ, dqrobotics.DQ) (linear, angular)

◆ geometry_msgs_wrench_stamped_to_dq()

geometry_msgs_wrench_stamped_to_dq ( msg)

Convert a geometry_msgs.msg.WrenchStamped into force and torque pure quaternion DQs.

Parameters
msggeometry_msgs.msg.WrenchStamped to convert.
Returns
tuple(dqrobotics.DQ, dqrobotics.DQ) (force, torque)

◆ geometry_msgs_wrench_to_dq()

geometry_msgs_wrench_to_dq ( msg)

Convert a geometry_msgs.msg.Wrench into force and torque DQs.

Returns a tuple (force, torque) where each element is pure quaternion DQ.

Parameters
msggeometry_msgs.msg.Wrench to convert.
Returns
tuple(dqrobotics.DQ, dqrobotics.DQ) (force, torque)