def __init__(self, default_port='/dev/ttyUSB0', default_update_rate=30.0): """ @param default_port: default tty port to use for establishing connection to Turtlebot. This will be overriden by ~port ROS param if available. """ self.default_port = default_port self.default_update_rate = default_update_rate self.robot = Turtlebot() self.sensor_handler = None self.sensor_state = TurtlebotSensorState() self.req_cmd_vel = None rospy.init_node('turtlebot') self._init_params() self._init_pubsub() self._pos2d = Pose2D() # 2D pose for odometry self._diagnostics = TurtlebotDiagnostics() if self.has_gyro: from create_node.gyro import TurtlebotGyro self._gyro = TurtlebotGyro() else: self._gyro = None dynamic_reconfigure.server.Server(TurtleBotConfig, self.reconfigure)