DataGenerator/DirectedContinuousNonZero.py [33:69]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	goal = -start_states[goal_array_dataset[i]]

	reset_counter = 0
	for t in range(number_timesteps-1):

		# GET B
		if t>0:
			# b_array[t] = np.random.binomial(1,prob_b_given_x)
			# b_array_dataset[i,t] = np.random.binomial(1,pb_x[0,x_array_dataset[i,t]])

			# If 3,4,5 timesteps have passed, terminate. 
			if reset_counter>=3 and reset_counter<5:
				b_array_dataset[i,t] = np.random.binomial(1,0.33)
			elif reset_counter==5:
				b_array_dataset[i,t] = 1

		# GET Y
		if b_array_dataset[i,t]:			

			axes = -goal/abs(goal)
			step1 = 30*np.ones((2))-axes*np.abs(x_array_dataset[i,t]-x_array_dataset[i,0])
			# baseline = t*20*np.sqrt(2)/20
			baseline = t
			step2 = step1-baseline
			step3 = step2/step2.sum()
			y_array_dataset[i,t] = np.random.choice(valid_options[goal_array_dataset[i][0]])

			reset_counter = 0
		else:
			reset_counter+=1
			y_array_dataset[i,t] = y_array_dataset[i,t-1]

		# GET A
		a_array_dataset[i,t] = action_map[y_array_dataset[i,t]]-0.05+0.1*np.random.random((2))  		

		# GET X
		x_array_dataset[i,t+1] = x_array_dataset[i,t]+a_array_dataset[i,t]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



DataGenerator/DirectedContinuousTrajs.py [32:68]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	goal = -start_states[goal_array_dataset[i]]

	reset_counter = 0
	for t in range(number_timesteps-1):

		# GET B
		if t>0:
			# b_array[t] = np.random.binomial(1,prob_b_given_x)
			# b_array_dataset[i,t] = np.random.binomial(1,pb_x[0,x_array_dataset[i,t]])

			# If 3,4,5 timesteps have passed, terminate. 
			if reset_counter>=3 and reset_counter<5:
				b_array_dataset[i,t] = np.random.binomial(1,0.33)
			elif reset_counter==5:
				b_array_dataset[i,t] = 1

		# GET Y
		if b_array_dataset[i,t]:			

			axes = -goal/abs(goal)
			step1 = 30*np.ones((2))-axes*np.abs(x_array_dataset[i,t]-x_array_dataset[i,0])
			# baseline = t*20*np.sqrt(2)/20
			baseline = t
			step2 = step1-baseline
			step3 = step2/step2.sum()
			y_array_dataset[i,t] = np.random.choice(valid_options[goal_array_dataset[i][0]])

			reset_counter = 0
		else:
			reset_counter+=1
			y_array_dataset[i,t] = y_array_dataset[i,t-1]

		# GET A
		a_array_dataset[i,t] = action_map[y_array_dataset[i,t]]-0.05+0.1*np.random.random((2))  		

		# GET X
		x_array_dataset[i,t+1] = x_array_dataset[i,t]+a_array_dataset[i,t]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



