Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
huckl3b3rry87 committed Jul 1, 2019
0 parents commit 9548653
Show file tree
Hide file tree
Showing 118 changed files with 11,081 additions and 0 deletions.
1 change: 1 addition & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
comment: false
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.jl.cov
*.jl.*.cov
*.jl.mem
45 changes: 45 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Documentation: http://docs.travis-ci.com/user/languages/julia/
language: julia
julia:
- 0.6
sudo: required
os:
- linux
#dist: trusty

notifications:
email: false

addons:
apt_packages:
- gfortran
- liblapack-dev
- libblas-dev
- python-yaml

before_install:
- sudo apt-add-repository -y "deb http://packages.ros.org/ros/ubuntu trusty main"
- wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
- sudo apt-get update
- sudo apt-get -y install ros-indigo-ros-base ros-indigo-common-msgs
- sudo rosdep init
- rosdep update

before_script:
- export PATH=/usr/bin:$PATH
- source /opt/ros/indigo/setup.sh
- roscore &
- sleep 5

script:
- if [[ -a .git/shallow ]]; then git fetch --unshallow; fi
- julia -e 'Pkg.add("PyCall")'
- julia -e 'ENV["PYTHON"]="/usr/bin/python2.7"; Pkg.build("PyCall");'
- julia -e 'Pkg.clone(pwd())'
- julia -e 'Pkg.checkout("NLOptControl")'
- julia -e 'Pkg.test("MichiganAutonomousVehicles")'

after_script:
- killall roscore
- killall python
- sleep 5
22 changes: 22 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
The MAVs.jl package is licensed under the MIT "Expat" License:

> Copyright (c) 2017: Huckleberry Febbo.
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
> in the Software without restriction, including without limitation the rights
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> copies of the Software, and to permit persons to whom the Software is
> furnished to do so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in all
> copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> SOFTWARE.
>
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Michigan Autonomous Vehicles

[![Build Status](https://travis-ci.org/JuliaMPC/MichiganAutonomousVehicles.jl.svg?branch=master)](https://travis-ci.org/JuliaMPC/MichiganAutonomousVehicles.jl)
[![MichiganAutonomousVehicles](http://pkg.julialang.org/badges/MichiganAutonomousVehicles_0.6.svg)](http://pkg.julialang.org/detail/MichiganAutonomousVehicles)

This package uses NLOptControl and VehicleModels to solve NMPC problems.

julia packages:
```
Pkg.add("MichiganAutonomousVehicles.jl")
```

To test:
```
Pkg.test("MichiganAutonomousVehicles")
```
12 changes: 12 additions & 0 deletions REQUIRE
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
julia 0.6-
NLOptControl 0.1.6+
Parameters 0.9.2
DataFrames 0.11
YAML 0.3.2
RobotOS 0.6.3
Parameters 0.9.2
JuMP 0.18.4
Interpolations 0.8.0
OrdinaryDiffEq 3.21.0
DiffEqBase 3.13.3
Plots 0.17.4
34 changes: 34 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
environment:
matrix:
- JULIAVERSION: "julialang/bin/winnt/x86/0.5/julia-0.5-latest-win32.exe"
- JULIAVERSION: "julialang/bin/winnt/x64/0.5/julia-0.5-latest-win64.exe"
- JULIAVERSION: "julianightlies/bin/winnt/x86/julia-latest-win32.exe"
- JULIAVERSION: "julianightlies/bin/winnt/x64/julia-latest-win64.exe"

branches:
only:
- master
- /release-.*/

notifications:
- provider: Email
on_build_success: false
on_build_failure: false
on_build_status_changed: false

install:
# Download most recent Julia Windows binary
- ps: (new-object net.webclient).DownloadFile(
$("http://s3.amazonaws.com/"+$env:JULIAVERSION),
"C:\projects\julia-binary.exe")
# Run installer silently, output to C:\projects\julia
- C:\projects\julia-binary.exe /S /D=C:\projects\julia

build_script:
# Need to convert from shallow to complete for Pkg.clone to work
- IF EXIST .git\shallow (git fetch --unshallow)
- C:\projects\julia\bin\julia -e "versioninfo();
Pkg.clone(pwd(), \"MAVs\"); Pkg.build(\"MAVs\")"

test_script:
- C:\projects\julia\bin\julia -e "Pkg.test(\"MAVs\")"
24 changes: 24 additions & 0 deletions config/case/s1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 200.
yVal: 125.
psi: 1.5701
tol: 15.

X0:
x: 200.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 1
radius: [1.]
length: [5.]
x0: [200]
y0: [50]
vx: [0]
vy: [0]
24 changes: 24 additions & 0 deletions config/case/s10.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 200.
yVal: 125.
psi: 1.5701
tol: 15.

X0:
x: 200.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 1
radius: [1.]
length: [5.]
x0: [210]
y0: [50]
vx: [0]
vy: [0]
24 changes: 24 additions & 0 deletions config/case/s11.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 200.
yVal: 150.
psi: 1.5701
tol: 15.

X0:
x: 200.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 1
radius: [1.]
length: [5.]
x0: [200]
y0: [75]
vx: [0]
vy: [0]
24 changes: 24 additions & 0 deletions config/case/s2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 200.
yVal: 125.
psi: 1.5701
tol: 15.

X0:
x: 200.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 1
radius: [1.]
length: [5.]
x0: [190.]
y0: [50]
vx: [2.]
vy: [0.]
24 changes: 24 additions & 0 deletions config/case/s3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 200.
yVal: 125.
psi: 1.5701
tol: 15.

X0:
x: 200.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 3
radius: [5.,10.,2.]
length: [5.,5.,5.]
x0: [205.,180.,200.]
y0: [50.,75.,65.]
vx: [0.,0.,0.]
vy: [0.,0.,0.]
24 changes: 24 additions & 0 deletions config/case/s4.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 200.
yVal: 125.
psi: 1.5701
tol: 15.

X0:
x: 200.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 3
radius: [5.,4.,2.]
length: [5.,5.,5.]
x0: [205,180,200]
y0: [57,75,63]
vx: [-2,-1,-0.5]
vy: [0,1,6.]
28 changes: 28 additions & 0 deletions config/case/s5.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
goal:
x: 200.
yVal: 125.
psi: 1.5701
tol: 15.

X0:
x: 200.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 7
radius: [1.9,1.9,1.9,1.825,1.5,1.825,1.825]
length: [5.,5.,5.,5.,5.,5.,5.]
x0: [225,225,220,170,220,165,200]
y0: [25,30,45,60,75,95,50]
vx: [-5,-5.5,-6,6,-5,4,-2]
vy: [0,0,0,0,0,0,5]

## NOTE convertable!!
#A: [3.3,3.3,3.3,4.9,2.5,4.9,1.825]
#B: [1.9,1.9,1.9,1.825,1.5,1.825,4.9]
24 changes: 24 additions & 0 deletions config/case/s6.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 200.
yVal: 125.
psi: 1.5701
tol: 15. # NOTE this is a bit redundant with the tolerance fx and fy

X0:
x: 200.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 4
radius: [10.,2.,5.,3.]
length: [5.,5.,5.]
x0: [180,180,220,200]
y0: [75,40,60,100]
vx: [-3,4,-2,0]
vy: [-2,4,2.5,0]
24 changes: 24 additions & 0 deletions config/case/s8.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 18.
yVal: 700.
psi: 1.5701
tol: 15. # NOTE this is a bit redundant with the tolerance fx and fy

X0:
x: 6.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 10
radius: [6.,6.,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735]
length: [5.,5.,5.,5.,5.,5.,5.,5.,5.,5.]
x0: [6.0,18.0,12.,12.,12.,12.,12.,12.,12.,12.]
y0: [281.,393.,0.,25.,50.,75.,100.,125.,150.,175.]
vx: [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
vy: [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
24 changes: 24 additions & 0 deletions config/case/s9.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
goal:
x: 18.
yVal: 700.
psi: 1.5701
tol: 25. # NOTE this is a bit redundant with the tolerance fx and fy

X0:
x: 6.0
yVal: 0.0
v: 0.0
r: 0.0
psi: 1.57079632679
sa: 0.0
ux: 17.0
ax: 0.0

obstacle:
num: 38
radius: [6.,6.,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735,0.38735]
length: [5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.]
x0: [6.0,18.0,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.]
y0: [281.,393.,0.,5.,10.,15.,20.,25.,30.,35.,40.,45.,50.,55.,60.,65.,70.,75.,80.,85.,90.,95.,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,155.,160.,165.,170.,175.]
vx: [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
vy: [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
5 changes: 5 additions & 0 deletions config/empty.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
goal: NaN
misc: NaN
obstacle: NaN
solver: NaN
vehicle: NaN
Loading

0 comments on commit 9548653

Please sign in to comment.