rebase
This commit is contained in:
@@ -1,100 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import unittest
|
||||
import rospy
|
||||
import PyKDL
|
||||
import tf2_ros
|
||||
import tf2_geometry_msgs
|
||||
from geometry_msgs.msg import TransformStamped, PointStamped, Vector3Stamped, PoseStamped, WrenchStamped
|
||||
|
||||
class GeometryMsgs(unittest.TestCase):
|
||||
def test_transform(self):
|
||||
b = tf2_ros.Buffer()
|
||||
t = TransformStamped()
|
||||
t.transform.translation.x = 1
|
||||
t.transform.rotation.x = 1
|
||||
t.header.stamp = rospy.Time(2.0)
|
||||
t.header.frame_id = 'a'
|
||||
t.child_frame_id = 'b'
|
||||
b.set_transform(t, 'eitan_rocks')
|
||||
out = b.lookup_transform('a','b', rospy.Time(2.0), rospy.Duration(2.0))
|
||||
self.assertEqual(out.transform.translation.x, 1)
|
||||
self.assertEqual(out.transform.rotation.x, 1)
|
||||
self.assertEqual(out.header.frame_id, 'a')
|
||||
self.assertEqual(out.child_frame_id, 'b')
|
||||
|
||||
v = PointStamped()
|
||||
v.header.stamp = rospy.Time(2)
|
||||
v.header.frame_id = 'a'
|
||||
v.point.x = 1
|
||||
v.point.y = 2
|
||||
v.point.z = 3
|
||||
out = b.transform(v, 'b')
|
||||
self.assertEqual(out.point.x, 0)
|
||||
self.assertEqual(out.point.y, -2)
|
||||
self.assertEqual(out.point.z, -3)
|
||||
|
||||
v = PoseStamped()
|
||||
v.header.stamp = rospy.Time(2)
|
||||
v.header.frame_id = 'a'
|
||||
v.pose.position.x = 1
|
||||
v.pose.position.y = 2
|
||||
v.pose.position.z = 3
|
||||
v.pose.orientation.x = 1
|
||||
out = b.transform(v, 'b')
|
||||
self.assertEqual(out.pose.position.x, 0)
|
||||
self.assertEqual(out.pose.position.y, -2)
|
||||
self.assertEqual(out.pose.position.z, -3)
|
||||
|
||||
# Translation shouldn't affect Vector3
|
||||
t = TransformStamped()
|
||||
t.transform.translation.x = 1
|
||||
t.transform.translation.y = 2
|
||||
t.transform.translation.z = 3
|
||||
t.transform.rotation.w = 1
|
||||
v = Vector3Stamped()
|
||||
v.vector.x = 1
|
||||
v.vector.y = 0
|
||||
v.vector.z = 0
|
||||
out = tf2_geometry_msgs.do_transform_vector3(v, t)
|
||||
self.assertEqual(out.vector.x, 1)
|
||||
self.assertEqual(out.vector.y, 0)
|
||||
self.assertEqual(out.vector.z, 0)
|
||||
|
||||
# Rotate Vector3 180 deg about y
|
||||
t = TransformStamped()
|
||||
t.transform.translation.x = 1
|
||||
t.transform.translation.y = 2
|
||||
t.transform.translation.z = 3
|
||||
t.transform.rotation.y = 1
|
||||
|
||||
v = Vector3Stamped()
|
||||
v.vector.x = 1
|
||||
v.vector.y = 0
|
||||
v.vector.z = 0
|
||||
|
||||
out = tf2_geometry_msgs.do_transform_vector3(v, t)
|
||||
self.assertEqual(out.vector.x, -1)
|
||||
self.assertEqual(out.vector.y, 0)
|
||||
self.assertEqual(out.vector.z, 0)
|
||||
|
||||
v = WrenchStamped()
|
||||
v.wrench.force.x = 1
|
||||
v.wrench.force.y = 0
|
||||
v.wrench.force.z = 0
|
||||
v.wrench.torque.x = 1
|
||||
v.wrench.torque.y = 0
|
||||
v.wrench.torque.z = 0
|
||||
|
||||
out = tf2_geometry_msgs.do_transform_wrench(v, t)
|
||||
self.assertEqual(out.wrench.force.x, -1)
|
||||
self.assertEqual(out.wrench.force.y, 0)
|
||||
self.assertEqual(out.wrench.force.z, 0)
|
||||
self.assertEqual(out.wrench.torque.x, -1)
|
||||
self.assertEqual(out.wrench.torque.y, 0)
|
||||
self.assertEqual(out.wrench.torque.z, 0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
import rosunit
|
||||
rospy.init_node('test_tf2_geometry_msgs_python')
|
||||
rosunit.unitrun("test_tf2_geometry_msgs", "test_tf2_geometry_msgs_python", GeometryMsgs)
|
||||
Reference in New Issue
Block a user