os.symlink(dir_path, dir_dir + 'tmp') os.rename(dir_dir + 'tmp', dir_dir + 'latest-dir') # use replace() in Python 3 wandb.init(entity='sailbot', project='stats', dir=dir_path, name=run_name) # Log parameters params = {name: rospy.get_param(name) for name in rospy.get_param_names()} params['updatePeriodSeconds'] = UPDATE_TIME_SECONDS wandb.config.update(params) while not rospy.is_shutdown(): # Update states log_closest_obstacle.find_closest_ship() path_storer.store_path() collision_checker.check_for_collisions() collision_checker.check_for_warnings() sailbot_gps_data.StoreSailbotGPS() boatState = sailbot.getCurrentState() # Store logs validDataReady = len(path_storer.pathCosts) > 0 and len( path_storer.pathCostBreakdowns) > 0 if validDataReady: log = {} # Most logs general = { 'Number of Collisions': collision_checker.get_times_collided(), 'Number of Near Collisions':