ROS 1 Utilities

ROS 1 utility functions for ROS messages and TF2. These modules must be used inside a ROS 1 workspace.

general_robotics_toolbox.ros_msg

Provides convenience functions for converting between general_robotics_toolbox and ROS geometry_msgs types

general_robotics_toolbox.ros_msg.msg2q(ros_quaternion)

Converts a geometry_msgs/Quaternion message into a 4x1 quaternion vector

Parameters:

ros_quaternion (geometry_msgs.msg.Quaternion) – ROS Quaternion message

Return type:

numpy.array

Returns:

The 4x1 quaternion matrix

general_robotics_toolbox.ros_msg.q2msg(q)

Converts a 4x1 quaternion vector into a geometry_msgs/Quaternion message

Parameters:

q (numpy.array) – 4x1 quaternion matrix

Return type:

geometry_msgs.msg.Quaternion

Returns:

The ROS Quaternion message

general_robotics_toolbox.ros_msg.msg2R(ros_quaternion)

Converts a geometry_msgs/Quaternion message into a 3x3 rotation matrix

Parameters:

ros_quaternion (geometry_msgs.msg.Quaternion) – ROS Quaternion message

Return type:

numpy.array

Returns:

The 3x3 rotation matrix

general_robotics_toolbox.ros_msg.R2msg(R)

Converts a 3x3 rotation matrix into a geometry_msgs/Quaternion message

Parameters:

R (numpy.array) – 3x3 rotation matrix

Return type:

geometry_msgs.msg.Quaternion

Returns:

The ROS Quaternion message

general_robotics_toolbox.ros_msg.msg2p(ros_vector3)

Converts a geometry_msgs/Vector3 message into a 3x1 vector

Parameters:

ros_vector3 (geometry_msgs.msg.Vector3) – ROS Vector3 message

Return type:

numpy.array

Returns:

The 3x1 point vector

general_robotics_toolbox.ros_msg.p2msg(p)

Converts a 3x1 point vector into a geometry_msgs/Vector3 message

Parameters:

p (numpy.array) – 3x1 point matrix

Return type:

geometry_msgs.msg.Point

Returns:

The ROS Point message

general_robotics_toolbox.ros_msg.point_msg2p(ros_point)

Converts a geometry_msgs/Point message into a 3x1 vector

Parameters:

ros_point (geometry_msgs.msg.Point) – ROS Point message

Return type:

numpy.array

Returns:

The 3x1 point vector

general_robotics_toolbox.ros_msg.p2point_msg(p)

Converts a 3x1 point vector into a geometry_msgs/Point message

Parameters:

p (numpy.array) – 3x1 point matrix

Return type:

geometry_msgs.msg.Point

Returns:

The ROS Point message

general_robotics_toolbox.ros_msg.msg2transform(ros_transform)

Converts a geometry_msgs/Pose message into a general_robotics_toolbox.Pose

Parameters:

ros_transform (geometry_msgs.msg.Transform, geometry_msgs.msg.Pose, geometry_msgs.msg.TransformStamped, or geometry_msgs.msg.PoseStamped) – ROS Transform, Pose, TransformStamped, or PoseStamped message

Return type:

general_robotics_toolbox.Pose

Returns:

The Pose class instance

general_robotics_toolbox.ros_msg.transform2msg(transform)

Converts a general_robotics_toolbox.Transform into a geometry_msgs/Transform message

Parameters:

pose (general_robotics_toolbox.Transform) – general_robotics_toolbox.Transform class instance

Return type:

geometry_msgs.msg.Transform

Returns:

The ROS Transform message

general_robotics_toolbox.ros_msg.transform2transform_stamped_msg(transform)

Converts a general_robotics_toolbox.Transform into a geometry_msgs/TransformStamped message

Parameters:

pose (general_robotics_toolbox.Transform) – general_robotics_toolbox.Transform class instance

Return type:

geometry_msgs.msg.TransformStamped

Returns:

The ROS Transform message

general_robotics_toolbox.ros_msg.transform2pose_msg(transform)

Converts a general_robotics_toolbox.Transform into a geometry_msgs/Pose message

Parameters:

pose (general_robotics_toolbox.Transform) – general_robotics_toolbox.Transform class instance

Return type:

geometry_msgs.msg.Pose

Returns:

The ROS Pose message

general_robotics_toolbox.ros_msg.transform2pose_stamped_msg(transform)

Converts a general_robotics_toolbox.Transform into a geometry_msgs/PoseStamped message

Parameters:

pose (general_robotics_toolbox.Transform) – general_robotics_toolbox.Transform class instance

Return type:

geometry_msgs.msg.PoseStamped

:return The ROS Pose message

general_robotics_toolbox.ros_msg.msg2twist(ros_twist)

Converts a geometry_msgs/Twist message into a 6x1 vector

Parameters:

ros_twist (geometry_msgs.msg.Twist) – ROS Twist message

Return type:

numpy.array

Returns:

The 6x1 twist vector

general_robotics_toolbox.ros_msg.twist2msg(twist)

Converts a 6x1 twist vector into a geometry_msgs/Twist message

Parameters:

twist (numpy.array) – 6x1 twist matrix

Return type:

geometry_msgs.msg.Twist

Returns:

The ROS Twist message

general_robotics_toolbox.ros_msg.msg2wrench(ros_wrench)

Converts a geometry_msgs/Wrench message into a 6x1 vector

Parameters:

ros_wrench (geometry_msgs.msg.Wrench) – ROS Wrench message

Return type:

numpy.array

Returns:

The 6x1 wrench vector

general_robotics_toolbox.ros_msg.wrench2msg(wrench)

Converts a 6x1 wrench vector into a geometry_msgs/Twist message

Parameters:

twist (numpy.array) – 6x1 wrench matrix

Return type:

geometry_msgs.msg.Wrench

Returns:

The ROS Wrench message

general_robotics_toolbox.ros_tf

class general_robotics_toolbox.ros_tf.TransformListener

Class to use a ROS TF2 listener and retrieve transforms

All arguments to __init__ are passed to tf.TransformListener

canTransform(self, target_frame, source_frame, time=rospy.Time(0))

Check if transform is available

canTransformFull(self, target_frame, target_time, source_frame, source_time, fixed_frame)

Extended version of canTransform

waitForTransform(self, target_frame, source_frame, time, timeout, polling_sleep_duration=None)

Wait for transform to be available

waitForTransformFull(self, target_frame, target_time, source_frame, source_time, fixed_frame, timeout, polling_sleep_duration=None)

Extended version of waitForTransform

clear(self)

Clear the listener

lookupTransform(self, target_frame, source_frame, time=rospy.Time(0))

Lookup a transform. Returns rox.Transform

lookupTransformFull(self, target_frame, target_time, source_frame, source_time, fixed_frame)

Extended version of lookupTransform