WUT Velma robot API
odom_localization.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 import roslib; roslib.load_manifest('velma_common')
4 
5 import rospy
6 import tf
7 
8 def lookupTransformStamped(tf_listener, target_frame, source_frame, time):
9  msg = tf_listener._buffer.lookup_transform(tf.listener.strip_leading_slash(target_frame), tf.listener.strip_leading_slash(source_frame), time)
10  t = msg.transform.translation
11  r = msg.transform.rotation
12  return msg.header.stamp, [t.x, t.y, t.z], [r.x, r.y, r.z, r.w]
13 
14 if __name__ == "__main__":
15  rospy.init_node('odom_localization', anonymous=False)
16  rospy.sleep(0.5)
17 
18  tf_listener = tf.TransformListener()
19  br = tf.TransformBroadcaster()
20  while not rospy.is_shutdown():
21  try:
22  time, pos, rot = lookupTransformStamped(tf_listener, 'odom', 'world', rospy.Time(0))
23  except:
24  time = None
25 
26  if not time is None:
27  br.sendTransform(pos,
28  rot,
29  time,
30  'torso_base',
31  'world')
32  rospy.sleep(0.05)
33 
34  exit(0)
def lookupTransformStamped(tf_listener, target_frame, source_frame, time)