38 import geometry_msgs.msg
41 if __name__ ==
'__main__':
42 rospy.init_node(
'turtle_tf_listener')
46 rospy.wait_for_service(
'spawn')
47 spawner = rospy.ServiceProxy(
'spawn', turtlesim.srv.Spawn)
50 turtle_vel = rospy.Publisher(
'turtle2/cmd_vel', geometry_msgs.msg.Twist, queue_size=1)
52 rate = rospy.Rate(10.0)
53 while not rospy.is_shutdown():
55 (trans, rot) = listener.lookupTransform(
'/turtle2',
'/turtle1', rospy.Time())
59 angular = 4 * math.atan2(trans[1], trans[0])
60 linear = 0.5 * math.sqrt(trans[0] ** 2 + trans[1] ** 2)
61 msg = geometry_msgs.msg.Twist()
63 msg.angular.z = angular
64 turtle_vel.publish(msg)