forked from XiaojingGeorgeZhang/H-OBCA
-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup.jl
57 lines (52 loc) · 2.3 KB
/
setup.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
###############
# H-OBCA: Hierarchical Optimization-based Collision Avoidance - a path planner for autonomous parking
# Copyright (C) 2018
# Alexander LINIGER [[email protected]; Automatic Control Lab, ETH Zurich]
# Xiaojing ZHANG [[email protected]; MPC Lab, UC Berkeley]
# Atsushi SAKAI [[email protected]; Komatsu Ltd / MPC Lab]
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
###############
# The paper describing the theory can be found here:
# X. Zhang, A. Liniger and F. Borrelli; "Optimization-Based Collision Avoidance"; Technical Report, 2017, [https://arxiv.org/abs/1711.03449]
# X. Zhang, A. Liniger, A. Sakai and F. Borrelli; "Autonomous Parking using Optimization-Based Collision Avoidance"; Technical Report, 2018 [add URL]
###############
###############
# setup.jl: run this file before running main.jl
###############
##############################
# include JuMP -> Optimization modeling tool
# include IPOPT -> Interior point based nonlinear solver
# include PyPlot -> Ploting library (matplotlib python)
##############################
using JuMP, Ipopt, PyPlot, NearestNeighbors, ControlSystems
##############################
# register warm start function
##############################
# register Distance and Signeddistance
# parking optimal control problems
include("ParkingSignedDist.jl")
include("ParkingConstraints.jl")
##############################
# register polytope converter
include("obstHrep.jl")
##############################
# register ploting function
include("plotTraj.jl")
include("hybrid_a_star.jl")
##############################
include("DualMultWS.jl")
include("veloSmooth.jl")
# function that clears terminal output
clear() = run(@static Sys.islinux() ? `clear` : `cmd /c cls`)