diff --git a/models/optical_flow/model.config b/models/optical_flow/model.config
new file mode 100644
index 00000000..304e8668
--- /dev/null
+++ b/models/optical_flow/model.config
@@ -0,0 +1,11 @@
+
+
+ optical_flow
+ 1.0
+ model.sdf
+
+ Jacob Dahl
+ jake@arkelectron.com
+
+ Optical Flow
+
diff --git a/models/optical_flow/model.sdf b/models/optical_flow/model.sdf
new file mode 100644
index 00000000..017eaff5
--- /dev/null
+++ b/models/optical_flow/model.sdf
@@ -0,0 +1,79 @@
+
+
+
+ 0 0 0 0 0 0
+ false
+ false
+
+
+ 0 0 -0.005 0 0 0
+ 0.050
+
+ 0.00004
+ 0
+ 0
+ 0.00004
+ 0
+ 0.00004
+
+
+
+
+
+ 0.034 0.034 0.01
+
+
+
+ 0.1 0.1 0.1 1
+ 0.1 0.1 0.1 1
+ 0.01 0.01 0.01 1
+
+
+
+ 0 0 -0.005 0 0 0
+
+
+ 0.006
+ 0.005
+
+
+
+
+ 0 0 -0.0075 0 0 0
+
+
+ 0.0059
+
+
+
+ .4 .4 .5 .95
+ .4 .4 .5 .95
+ 1 1 1 1
+ 0 0 0 1
+
+
+
+ 0 0 0 0 1.5707 0
+
+ 0.733038
+
+ 100
+ 100
+
+
+ 0.1
+ 30
+
+
+ 1
+ 50
+ true
+
+
+ 1
+ 50
+ true
+
+
+
+
diff --git a/models/x500_flow/model.config b/models/x500_flow/model.config
new file mode 100644
index 00000000..164fd23b
--- /dev/null
+++ b/models/x500_flow/model.config
@@ -0,0 +1,11 @@
+
+
+ x500_flow
+ 1.0
+ model.sdf
+
+ Jacob Dahl
+ jake@arkelectron.com
+
+ An x500 with distance sesnor and camera for optical flow
+
diff --git a/models/x500_flow/model.sdf b/models/x500_flow/model.sdf
new file mode 100644
index 00000000..f5113f2e
--- /dev/null
+++ b/models/x500_flow/model.sdf
@@ -0,0 +1,72 @@
+
+
+
+ false
+
+ x500
+
+
+ model://optical_flow
+ 0.03 0 -0.1 0 0 0
+
+
+ model://LW20
+ 0 0 -0.079 0 1.57 0
+
+
+ base_link
+ flow_link
+ 0 0 -0.1 0 1.5707 0
+
+
+ base_link
+ lw20_link
+ -0 0 0 0 0 0
+
+
+ base_link
+ lidar_sensor_link
+
+
+ 0 0 -0.05 0 1.57 0
+
+ 0.001
+
+ 0.00001
+ 0.00001
+ 0.00001
+ 0.0
+ 0.0
+ 0.0
+
+
+
+ 0 0 0 3.14 0 0
+ 50
+
+
+
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 1
+ 0
+ 0
+
+
+
+ 0.1
+ 100.0
+ 0.01
+
+
+ 1
+ true
+
+
+
+
diff --git a/worlds/forest.sdf b/worlds/forest.sdf
new file mode 100644
index 00000000..78d133e1
--- /dev/null
+++ b/worlds/forest.sdf
@@ -0,0 +1,382 @@
+
+
+
+
+ 0.004
+ 1.0
+ 250
+
+
+
+
+
+
+
+
+
+
+
+ ogre2
+
+
+
+
+
+
+
+
+ 3D View
+ false
+ docked
+
+ ogre2
+ scene
+ 0.4 0.4 0.4
+ 0.8 0.8 0.8
+ -6 0 6 0 0.5 0
+
+ 0.25
+ 25000
+
+
+
+
+
+ floating
+ 5
+ 5
+ false
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+ World control
+ 0
+ 0
+ 72
+ 121
+ 1
+ floating
+
+
+
+
+
+ 1
+ 1
+ 1
+
+
+
+ World stats
+ 0
+ 0
+ 110
+ 290
+ 1
+ floating
+
+
+
+
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+ 0 0 -9.8
+ 6e-06 2.3e-05 -4.2e-05
+
+
+ false
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ true
+
+
+ https://fuel.ignitionrobotics.org/1.0/hexarotor/models/grasspatch
+ grasspatch
+ 2.71574 -2.80395 0 0 -0 0.006057
+
+
+ https://fuel.ignitionrobotics.org/1.0/hexarotor/models/grasspatch
+ grasspatch_0
+ -12.2297 -2.64582 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/hexarotor/models/grasspatch
+ grasspatch_1
+ 2.62754 12.1062 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/hexarotor/models/grasspatch
+ grasspatch_2
+ -12.0931 11.9289 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/hexarotor/models/grasspatch
+ grasspatch_3
+ 16.9776 12.1962 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/hexarotor/models/grasspatch
+ grasspatch_4
+ 2.28684 26.938 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/hexarotor/models/grasspatch
+ grasspatch_5
+ 16.5899 26.9995 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_11
+ 10.0031 4.69601 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Pine Tree
+ Pine Tree_12
+ 9.38057 2.24489 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_13
+ 8.95187 -2.43736 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Pine Tree
+ Pine Tree_14
+ 9.54099 -5.29967 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_15
+ 8.56424 -7.36834 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Pine Tree
+ Pine Tree_16
+ 7.04987 -9.30259 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_17
+ 4.64341 -9.56548 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Pine Tree
+ Pine Tree_18
+ 2.39497 -9.53658 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19
+ -0.978211 -9.12685 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Pine Tree
+ Pine Tree_20
+ -6.60386 -9.4906 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_21
+ -11.7872 -9.60952 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_1
+ -17.6272 5.0484 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_2
+ -18.7952 -4.79736 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_3
+ -18.6571 13.5589 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_4
+ -13.7446 18.3234 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_5
+ 20.1207 7.17708 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_6
+ -3.71164 21.6207 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_7
+ -7.45162 17.9798 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_8
+ -3.88653 25.1364 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_9
+ -4.09489 29.0163 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_10
+ 21.3008 12.6766 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_11
+ 20.1494 19.5156 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_12
+ 13.1837 8.1871 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_13
+ 20.0557 23.4209 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_14
+ 20.8101 27.2073 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_15
+ 18.508 32.5244 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_16
+ 12.3362 33.1989 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_17
+ 7.92068 33.4253 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_18
+ 4.19562 33.3749 0 0 -0 0
+
+
+ https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Oak Tree
+ Pine Tree_19_19
+ -3.1997 32.8927 0 0 -0 0
+
+
+ 0 0 500 0 -0 0
+ true
+ 1
+ 0.001 0.625 -0.78
+ 0.904 0.904 0.904 1
+ 0.271 0.271 0.271 1
+
+ 2000
+ 0
+ 1
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+
+ EARTH_WGS84
+ ENU
+ 47.397971057728974
+ 8.546163739800146
+ 0
+
+
+