#!/usr/bin/env python # poseTurtlesimWithRounding.py round to 4 decimal places import rospy from turtlesim.msg import Pose # self.pose_subscriber = rospy.Subscriber('/turtle1/pose', Pose, self.callback class turtlesim(): def __init__(self): #Creating our node,publisher and subscriber rospy.init_node('turtlebot_controller', anonymous=True) # self.velocity_publisher = rospy.Publisher('/turtle1/cmd_vel', Twist, queue_size=10) self.pose_subscriber = rospy.Subscriber('/turtle1/pose', Pose, self.callback) self.pose = Pose() self.rate = rospy.Rate(.1) rospy.spin() # Continuous printing of time x and y # self.rate.sleep() # Callback function implementing the pose value received def callback(self, data): self.pose = data self.pose.x = round(self.pose.x, 4) self.pose.y = round(self.pose.y, 4) rospy.loginfo('self.pose.x: {}, self.pose.y: {}'.format(self.pose.x,self.pose.y)) # rospy.spin() if __name__ == '__main__': try: #Testing our function x = turtlesim() # rospy.spin() except rospy.ROSInterruptException: pass # [INFO] [1506903472.485273]: self.pose.x: 5.5444, self.pose.y: 5.5444