min_u = -0.2 * grav sys_params['max_u'] = max_u sys_params['min_u'] = min_u dynamics = partial(double_integrator, **sys_params) #model 2 (modified thrust) sys_params = {} # parameters of dynamical system max_u = 0.8 * grav min_u = -0.8 * grav sys_params['max_u'] = max_u sys_params['min_u'] = min_u dynamics_2 = partial(double_integrator, **sys_params) # Construct avoid region, system should stay within hypercube cube_lims = np.array([[0, -3], [4, 3]]) avoid_func = lambda x: hypercube_int(x, cube_lims=cube_lims) # Make MDP lamb = 0.1 #lambda my_world = Avoid(num_nodes, s_lims, num_nodes_a, a_lims, dynamics, avoid_func, lamb=lamb) my_world_2 = Avoid(num_nodes, s_lims, num_nodes_a, a_lims,
grav = 9.81 # gravity sys_params = {} # parameters of dynamical system max_u = 0.2 * grav min_u = -0.2 * grav sys_params['max_u'] = max_u sys_params['min_u'] = min_u dynamics = partial(double_integrator, **sys_params) # Construct avoid region, system should stay within hypercube cube_lims = np.array([[0, -3], [4, 3]]) nose_lims = np.array([[1.75, -0.25], [2.25, 0.25]]) lips_lims = np.array([[0, -3], [4, -2.5]]) left_eye_center = np.array([0.75, 2]) right_eye_center = np.array([3.25, 2]) radius = 0.25 avoid_func = lambda x: hypercube_int(x, cube_lims=cube_lims) face_func = lambda x: hypersphere_ext(x, np.array([2, 0]), 4) lip_func = lambda x: -hypercube_int(x, lips_lims) nose_func = lambda x: -hypercube_int(x, nose_lims) left_eye_func = lambda x: hypersphere_ext(x, left_eye_center, radius) right_eye_func = lambda x: hypersphere_ext(x, right_eye_center, radius) union_func = union(shapes=[left_eye_func, right_eye_func]) # With discounting lamb = 0.1 # lambda my_world = Avoid(num_nodes, s_lims, num_nodes_a, a_lims, dynamics,