Minor changes

- Add comments
- Fix path to map files
master
matssteinweg 2020-08-13 17:56:52 +02:00
parent 3e6f27827d
commit bc74df9448
4 changed files with 17 additions and 17 deletions

View File

@ -156,7 +156,7 @@ class Map:
if __name__ == '__main__': if __name__ == '__main__':
map = Map('real_map.png') map = Map('maps/real_map.png')
# map = Map('sim_map.png') # map = Map('maps/sim_map.png')
plt.imshow(np.flipud(map.data), cmap='gray') plt.imshow(np.flipud(map.data), cmap='gray')
plt.show() plt.show()

View File

@ -118,7 +118,7 @@ class ReferencePath:
# Number of waypoints # Number of waypoints
n_wp = [int(np.sqrt((wp_x[i + 1] - wp_x[i]) ** 2 + n_wp = [int(np.sqrt((wp_x[i + 1] - wp_x[i]) ** 2 +
(wp_y[i + 1] - wp_y[i]) ** 2) / (wp_y[i + 1] - wp_y[i]) ** 2) /
self.resolution) for i in range(len(wp_x) - 1)] self.resolution) for i in range(len(wp_x) - 1)]
# Construct waypoints with specified resolution # Construct waypoints with specified resolution
gp_x, gp_y = wp_x[-1], wp_y[-1] gp_x, gp_y = wp_x[-1], wp_y[-1]
@ -656,7 +656,7 @@ if __name__ == '__main__':
if path == 'Sim_Track': if path == 'Sim_Track':
# Load map file # Load map file
map = Map(file_path='sim_map.png', origin=[-1, -2], resolution=0.005) map = Map(file_path='maps/sim_map.png', origin=[-1, -2], resolution=0.005)
# Specify waypoints # Specify waypoints
wp_x = [-0.75, -0.25, -0.25, 0.25, 0.25, 1.25, 1.25, 0.75, 0.75, 1.25, wp_x = [-0.75, -0.25, -0.25, 0.25, 0.25, 1.25, 1.25, 0.75, 0.75, 1.25,
@ -687,7 +687,7 @@ if __name__ == '__main__':
elif path == 'Real_Track': elif path == 'Real_Track':
# Load map file # Load map file
map = Map(file_path='real_map.png', origin=(-30.0, -24.0), map = Map(file_path='maps/real_map.png', origin=(-30.0, -24.0),
resolution=0.06) resolution=0.06)
# Specify waypoints # Specify waypoints
@ -727,8 +727,9 @@ if __name__ == '__main__':
print('Invalid path!') print('Invalid path!')
exit(1) exit(1)
ub, lb, border_cells = reference_path.update_path_constraints(0, ub, lb, border_cells = \
reference_path.n_waypoints, 0.1, 0.01) reference_path.update_path_constraints(0, reference_path.n_waypoints,
0.1, 0.01)
SpeedProfileConstraints = {'a_min': -0.1, 'a_max': 0.5, SpeedProfileConstraints = {'a_min': -0.1, 'a_max': 0.5,
'v_min': 0, 'v_max': 1.0, 'ay_max': 4.0} 'v_min': 0, 'v_max': 1.0, 'ay_max': 4.0}
reference_path.compute_speed_profile(SpeedProfileConstraints) reference_path.compute_speed_profile(SpeedProfileConstraints)

View File

@ -17,7 +17,8 @@ if __name__ == '__main__':
if sim_mode == 'Sim_Track': if sim_mode == 'Sim_Track':
# Load map file # Load map file
map = Map(file_path='sim_map.png', origin=[-1, -2], resolution=0.005) map = Map(file_path='maps/sim_map.png', origin=[-1, -2],
resolution=0.005)
# Specify waypoints # Specify waypoints
wp_x = [-0.75, -0.25, -0.25, 0.25, 0.25, 1.25, 1.25, 0.75, 0.75, 1.25, wp_x = [-0.75, -0.25, -0.25, 0.25, 0.25, 1.25, 1.25, 0.75, 0.75, 1.25,
@ -34,7 +35,7 @@ if __name__ == '__main__':
circular=True) circular=True)
# Add obstacles # Add obstacles
use_obstacles = False use_obstacles = True
if use_obstacles: if use_obstacles:
obs1 = Obstacle(cx=0.0, cy=0.0, radius=0.05) obs1 = Obstacle(cx=0.0, cy=0.0, radius=0.05)
obs2 = Obstacle(cx=-0.8, cy=-0.5, radius=0.08) obs2 = Obstacle(cx=-0.8, cy=-0.5, radius=0.08)
@ -50,14 +51,14 @@ if __name__ == '__main__':
# Instantiate motion model # Instantiate motion model
car = BicycleModel(length=0.12, width=0.06, car = BicycleModel(length=0.12, width=0.06,
reference_path=reference_path, Ts=0.05) reference_path=reference_path, Ts=0.05)
# Real-World Environment. Track used for testing the algorithm on a 1:12 # Real-World Environment. Track used for testing the algorithm on a 1:12
# RC car. # RC car.
elif sim_mode == 'Real_Track': elif sim_mode == 'Real_Track':
# Load map file # Load map file
map = Map(file_path='real_map.png', origin=(-30.0, -24.0), map = Map(file_path='maps/real_map.png', origin=(-30.0, -24.0),
resolution=0.06) resolution=0.06)
# Specify waypoints # Specify waypoints
@ -132,18 +133,18 @@ if __name__ == '__main__':
# Until arrival at end of path # Until arrival at end of path
while car.s < reference_path.length: while car.s < reference_path.length:
# get control signals # Get control signals
u = mpc.get_control() u = mpc.get_control()
# drive car # Simulate car
car.drive(u) car.drive(u)
# log # Log car state
x_log.append(car.temporal_state.x) x_log.append(car.temporal_state.x)
y_log.append(car.temporal_state.y) y_log.append(car.temporal_state.y)
v_log.append(u[0]) v_log.append(u[0])
# Increase simulation time # Increment simulation time
t += car.Ts t += car.Ts
# Plot path and drivable area # Plot path and drivable area

View File

@ -1,13 +1,11 @@
import numpy as np import numpy as np
from abc import abstractmethod from abc import abstractmethod
try: try:
from abc import ABC from abc import ABC
except: except:
# for Python 2.7 # for Python 2.7
from abc import ABCMeta from abc import ABCMeta
class ABC(object): class ABC(object):
__metaclass__ = ABCMeta __metaclass__ = ABCMeta
pass pass