| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- @author: huiming zhou
- """
- import env
- import tools
- import motion_model
- import numpy as np
- import copy
- class Value_iteration:
- def __init__(self, x_start, x_goal):
- self.u_set = motion_model.motions # feasible input set
- self.xI, self.xG = x_start, x_goal
- self.T = 500
- self.gamma = 0.9
- self.obs = env.obs_map() # position of obstacles
- self.lose = env.lose_map()
- self.name = "value_iteration, T=" + str(self.T) + ", gamma=" + str(self.gamma)
- env.show_map(self.xI, self.xG, self.obs, self.lose, self.name)
- def iteration(self):
- value_table = {}
- policy = {}
- for i in range(env.x_range):
- for j in range(env.y_range):
- if (i, j) not in self.obs:
- value_table[(i, j)] = 0
- for k in range(self.T):
- value_table_update = copy.deepcopy(value_table)
- for key in value_table:
-
- if __name__ == '__main__':
- x_Start = (5, 5) # Starting node
- x_Goal = (49, 5) # Goal node
- VI = Value_iteration(x_Start, x_Goal)
|