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