diff --git a/.gitignore b/.gitignore
index 652a2fa..eb0f44a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
-/scripts/qt_pi/*.pyc
+*.pyc
+.ccls-cache
+compile_commands.json
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e3f3bad..191ccf8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,21 +1,3 @@
-cmake_minimum_required(VERSION 2.8.3)
-project(qt_pi)
-find_package(catkin REQUIRED)
-
-catkin_python_setup()
-catkin_package(DEPENDS)
-
-include_directories(
-)
-
-install(DIRECTORY config
- DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
-)
-
-install(DIRECTORY launch
- DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
-)
-
-install(DIRECTORY nodes
- DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
-)
+cmake_minimum_required(VERSION 3.5)
+ADD_SUBDIRECTORY( qt_pi )
+ADD_SUBDIRECTORY( gazebo_sim )
diff --git a/gazebo_sim/CMakeLists.txt b/gazebo_sim/CMakeLists.txt
new file mode 100644
index 0000000..94fdf7d
--- /dev/null
+++ b/gazebo_sim/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 2.8.3)
+project(qt_pi_gazebo_sim)
+
+set(CMAKE_CXX_FLAGS "-fpermissive -std=c++0x")
+
+find_package(catkin REQUIRED)
+
+catkin_package(DEPENDS)
diff --git a/config/base_local_planner_params.yaml b/gazebo_sim/config/base_local_planner_params.yaml
similarity index 100%
rename from config/base_local_planner_params.yaml
rename to gazebo_sim/config/base_local_planner_params.yaml
diff --git a/gazebo_sim/config/costmap_common_params.yaml b/gazebo_sim/config/costmap_common_params.yaml
new file mode 100644
index 0000000..d569971
--- /dev/null
+++ b/gazebo_sim/config/costmap_common_params.yaml
@@ -0,0 +1,9 @@
+obstacle_range: 100
+raytrace_range: 100
+footprint: [[0.2, 0.3], [0.2, -0.3], [-0.2, -0.3], [-0.2, 0.3]]
+#robot_radius: ir_of_robot
+inflation_radius: 0.5
+
+observation_sources: laser_scan_kinect
+
+laser_scan_kinect: {sensor_frame: qt_pi/laser, data_type: LaserScan, topic: /qt_pi/scan, marking: true, clearing: true}
diff --git a/gazebo_sim/config/global_costmap_params.yaml b/gazebo_sim/config/global_costmap_params.yaml
new file mode 100644
index 0000000..090b274
--- /dev/null
+++ b/gazebo_sim/config/global_costmap_params.yaml
@@ -0,0 +1,8 @@
+global_costmap:
+ global_frame: map
+ robot_base_frame: qt_pi/base_link
+ update_frequency: 5.0
+ static_map: false
+ rolling_window: true
+ width: 100
+ height: 100
diff --git a/gazebo_sim/config/local_costmap_params.yaml b/gazebo_sim/config/local_costmap_params.yaml
new file mode 100644
index 0000000..a6f3c45
--- /dev/null
+++ b/gazebo_sim/config/local_costmap_params.yaml
@@ -0,0 +1,10 @@
+local_costmap:
+ global_frame: qt_pi/odom
+ robot_base_frame: qt_pi/base_link
+ update_frequency: 5.0
+ publish_frequency: 2.0
+ static_map: false
+ rolling_window: true
+ width: 15.0
+ height: 15.0
+ resolution: 0.05
diff --git a/gazebo_sim/launch/depth_to_laser.launch b/gazebo_sim/launch/depth_to_laser.launch
new file mode 100644
index 0000000..ac1b042
--- /dev/null
+++ b/gazebo_sim/launch/depth_to_laser.launch
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gazebo_sim/launch/gazebo_sim.launch b/gazebo_sim/launch/gazebo_sim.launch
new file mode 100644
index 0000000..64b5ae2
--- /dev/null
+++ b/gazebo_sim/launch/gazebo_sim.launch
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/gazebo_sim/launch/gmapping.launch b/gazebo_sim/launch/gmapping.launch
new file mode 100644
index 0000000..03482e0
--- /dev/null
+++ b/gazebo_sim/launch/gmapping.launch
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gazebo_sim/launch/move_base_amcl.launch b/gazebo_sim/launch/move_base_amcl.launch
new file mode 100644
index 0000000..573d3ee
--- /dev/null
+++ b/gazebo_sim/launch/move_base_amcl.launch
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gazebo_sim/launch/move_base_gmapping.launch b/gazebo_sim/launch/move_base_gmapping.launch
new file mode 100644
index 0000000..f138dcf
--- /dev/null
+++ b/gazebo_sim/launch/move_base_gmapping.launch
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gazebo_sim/launch/static_tf.launch b/gazebo_sim/launch/static_tf.launch
new file mode 100644
index 0000000..1735590
--- /dev/null
+++ b/gazebo_sim/launch/static_tf.launch
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/gazebo_sim/launch/teleop.launch b/gazebo_sim/launch/teleop.launch
new file mode 100644
index 0000000..58d8b2f
--- /dev/null
+++ b/gazebo_sim/launch/teleop.launch
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/gazebo_sim/map/frames.gv b/gazebo_sim/map/frames.gv
new file mode 100644
index 0000000..8108a1a
--- /dev/null
+++ b/gazebo_sim/map/frames.gv
@@ -0,0 +1,8 @@
+digraph G {
+"qt_pi/odom" -> "qt_pi/base_link"[label="Broadcaster: /gazebo\nAverage rate: 30.199 Hz\nMost recent transform: 604.007 ( 0.018 sec old)\nBuffer length: 4.967 sec\n"];
+"qt_pi/base_link" -> "qt_pi/laser"[label="Broadcaster: /laser_frame\nAverage rate: 30.419 Hz\nMost recent transform: 604.039 ( -0.014 sec old)\nBuffer length: 4.964 sec\n"];
+edge [style=invis];
+ subgraph cluster_legend { style=bold; color=black; label ="view_frames Result";
+"Recorded at time: 604.025"[ shape=plaintext ] ;
+ }->"qt_pi/odom";
+}
\ No newline at end of file
diff --git a/gazebo_sim/map/frames.pdf b/gazebo_sim/map/frames.pdf
new file mode 100644
index 0000000..dc087d8
Binary files /dev/null and b/gazebo_sim/map/frames.pdf differ
diff --git a/gazebo_sim/map/playground.pgm b/gazebo_sim/map/playground.pgm
new file mode 100644
index 0000000..f4af84d
Binary files /dev/null and b/gazebo_sim/map/playground.pgm differ
diff --git a/gazebo_sim/map/playground.yaml b/gazebo_sim/map/playground.yaml
new file mode 100644
index 0000000..bd22da1
--- /dev/null
+++ b/gazebo_sim/map/playground.yaml
@@ -0,0 +1,6 @@
+image: playground.pgm
+resolution: 0.050000
+origin: [-4.000000, -13.000000, 0.000000]
+negate: 0
+occupied_thresh: 0.65
+free_thresh: 0.196
diff --git a/gazebo_sim/package.xml b/gazebo_sim/package.xml
new file mode 100644
index 0000000..7486499
--- /dev/null
+++ b/gazebo_sim/package.xml
@@ -0,0 +1,17 @@
+
+ qt_pi_gazebo_sim
+ 0.0.0
+ The qt_pi_gazebo_sim package
+ Rishabh Kundu
+ MIT
+ catkin
+ gmapping
+ amcl
+ move_base
+ depthimage_to_laserscan
+ map_server
+ static_transform_publisher
+ teleop_twist_keyboard
+
+
+
diff --git a/gazebo_sim/worlds/playground.world b/gazebo_sim/worlds/playground.world
new file mode 100644
index 0000000..5a5f919
--- /dev/null
+++ b/gazebo_sim/worlds/playground.world
@@ -0,0 +1,2046 @@
+
+
+
+ 1
+ 0 0 10 0 -0 0
+ 0.8 0.8 0.8 1
+ 0.2 0.2 0.2 1
+
+ 1000
+ 0.9
+ 0.01
+ 0.001
+
+ -0.5 0.1 -0.9
+
+
+ 1
+
+
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+ 100
+ 50
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+ 0
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 0 0 -9.8
+ 6e-06 2.3e-05 -4.2e-05
+
+
+ 0.001
+ 1
+ 1000
+
+
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ 1
+
+
+
+ EARTH_WGS84
+ 0
+ 0
+ 0
+ 0
+
+
+ 0.193814 -0.057177 0 0 -0 0
+
+
+
+
+ 26.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 26.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0.007886 -3.91706 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 8 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 8 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 13.3079 0.007941 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 26.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 26.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0.007886 3.93294 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+ -9.18476 0.019386 0 0 0 -1.5708
+
+ -3.12221 0 1.25 0 -0 0
+
+
+ 1.75558 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 1.75558 0.15 2.5
+
+
+ -3.12221 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.438191 0 1.25 0 -0 0
+
+
+ 3.56521 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.56521 0.15 2.5
+
+
+ 0.438191 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3.5604 0 1.25 0 -0 0
+
+
+ 0.879203 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.879203 0.15 2.5
+
+
+ 3.5604 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -1.79442 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ -1.79442 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.6708 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 2.6708 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ -11.2579 -1.35252 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+ -6.89009 -0.019386 0 0 0 -1.5708
+
+ -2.05546 0 1.25 0 -0 0
+
+
+ 3.88908 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.88908 0.15 2.5
+
+
+ -2.05546 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.39454 0 1.25 0 -0 0
+
+
+ 3.21092 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.21092 0.15 2.5
+
+
+ 2.39454 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.339077 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.339077 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ -2.84009 1.17017 0 0 -0 0
+
+ -2.27097 0 1.25 0 -0 0
+
+
+ 3.70805 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.70805 0.15 2.5
+
+
+ -2.27097 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.30403 0 1.25 0 -0 0
+
+
+ 3.64195 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.64195 0.15 2.5
+
+
+ 2.30403 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.033055 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.033055 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 1.21568 0.006434 0 0 -0 1.5708
+
+ -2.30688 0 1.25 0 -0 0
+
+
+ 3.38624 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.38624 0.15 2.5
+
+
+ -2.30688 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.14312 0 1.25 0 -0 0
+
+
+ 3.71376 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.71376 0.15 2.5
+
+
+ 2.14312 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -0.163762 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ -0.163762 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 3.62057 -1.58539 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+ 6.04557 -2.76039 0 0 0 -1.5708
+
+ -0.84415 0 1.25 0 -0 0
+
+
+ 0.811701 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.811701 0.15 2.5
+
+
+ -0.84415 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.85585 0 1.25 0 -0 0
+
+
+ 0.788299 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.788299 0.15 2.5
+
+
+ 0.85585 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.011701 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.011701 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 3.40806 1.10972 0 0 -0 1.5708
+
+ -2.20336 0 1.25 0 -0 0
+
+
+ 1.09329 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 1.09329 0.15 2.5
+
+
+ -2.20336 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.181127 0 1.25 0 -0 0
+
+
+ 1.87567 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 1.87567 0.15 2.5
+
+
+ 0.181127 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.38448 0 1.25 0 -0 0
+
+
+ 0.731036 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.731036 0.15 2.5
+
+
+ 2.38448 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -1.20671 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ -1.20671 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.56896 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 1.56896 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 5.60318 1.67301 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+ 7.77818 2.72301 0 0 -0 1.5708
+
+ -0.729206 0 1.25 0 -0 0
+
+
+ 0.791587 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.791587 0.15 2.5
+
+
+ -0.729206 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.845794 0 1.25 0 -0 0
+
+
+ 0.558413 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.558413 0.15 2.5
+
+
+ 0.845794 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.116587 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.116587 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 10.5278 0.085507 0 0 0 -0.523599
+
+ -0.945166 0 1.25 0 -0 0
+
+
+ 4.60967 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 4.60967 0.15 2.5
+
+
+ -0.945166 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.75483 0 1.25 0 -0 0
+
+
+ 0.990333 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.990333 0.15 2.5
+
+
+ 2.75483 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.80967 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 1.80967 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 10.3472 -1.82517 0 0 0 -1.5708
+
+ -0.985004 0 1.25 0 -0 0
+
+
+ 2.27999 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 2.27999 0.15 2.5
+
+
+ -0.985004 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.59 0 1.25 0 -0 0
+
+
+ 1.07001 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 1.07001 0.15 2.5
+
+
+ 1.59 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.604992 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.604992 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 8 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 8 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ -13.2921 0.007941 0 0 0 -1.5708
+ 0
+ 0
+ 0
+
+ 1
+
+
+
+ 0 0 0.1 0 -0 0
+
+ 20
+ 0.1 0 -0.05 0 -0 0
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+
+
+
+ 0.4 0.2 0.1
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.4 0.2 0.1
+
+
+
+
+ 0.15 0 -0.05 0 -0 0
+
+
+ 0.05
+
+
+
+
+ 0
+ 0.01
+
+
+
+ 0
+ 0.001
+
+
+
+
+ 0
+ 0
+ 1
+ 1
+
+
+
+
+
+
+ 10
+
+
+ 0.15 0 -0.05 0 -0 0
+
+
+ 0.05
+
+
+
+ 0
+ 0
+ 0
+
+
+ -0.1 0.2 0.1 0 -0 0
+
+ 5
+ 0 0 0 0 -0 0
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+
+
+
+
+ 10
+ 10
+
+
+
+
+
+
+ 0
+ 0.01
+
+
+
+ 0
+ 0.001
+
+
+
+
+
+ 0.1
+
+
+ 10
+
+
+
+
+ 0.1
+
+
+
+ 0
+ 0
+ 0
+
+
+ -0.1 -0.2 0.1 0 -0 0
+
+ 5
+ 0 0 0 0 -0 0
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+
+
+
+
+ 10
+ 10
+
+
+
+
+
+
+ 0
+ 0.01
+
+
+
+ 0
+ 0.001
+
+
+
+
+
+ 0.1
+
+
+ 10
+
+
+
+
+ 0.1
+
+
+
+ 0
+ 0
+ 0
+
+
+ 0 0 0 0 -0 0
+ left_wheel
+ chassis
+
+ 0 1 0
+ 0
+
+ -1e+16
+ 1e+16
+
+
+ 0
+ 0
+
+
+
+
+ 0 0 0 0 -0 0
+ right_wheel
+ chassis
+
+ 0 1 0
+ 0
+
+ -1e+16
+ 1e+16
+
+
+ 0
+ 0
+
+
+
+
+
+ 0.1
+ 0 0 0 0 -0 0
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+
+
+
+ 0.073 0.276 0.072
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ model://kinect/meshes/kinect.dae
+
+
+
+
+ 15
+
+ 1.2215
+
+ 640
+ 480
+ R8G8B8
+
+
+ 0.05
+ 100
+
+
+
+ qt_pi
+ 0.2
+ 1
+ 15
+ camera_ir
+ /qt_pi/camera_ir/color/image_raw
+ /qt_pi/camera_ir/color/camera_info
+ /qt_pi/camera_ir/depth/image_raw
+ /camera_ir/depth/camera_info
+ /qt_pi/camera_ir/depth/points
+ camera_link
+ 100
+ 0.05
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 0.2 0 0.2 0 -0 0
+ 0
+ 0
+ 0
+
+
+ kinect::link
+ chassis
+
+
+ 1
+ 30
+ left_wheel_hinge
+ qt_pi
+ right_wheel_hinge
+ 0.4
+ 0.2
+ 0
+ 5
+ cmd_vel
+ odom
+ base_link
+ odom
+ 1
+ 1
+ 1
+ 0
+ 0
+
+ 2.20517 -4.60502 0 0 -0 0
+
+
+ 47 5000000
+ 47 576261785
+ 1554061633 217805104
+ 47005
+
+ 0 0 0 0 -0 0
+ 1 1 1
+
+ 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
+ 1 1 1
+
+ 0.007886 -3.91706 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 13.3079 0.007941 0 0 -0 1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 0.007886 3.93294 0 0 -0 3.14159
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -9.18476 0.019386 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -11.2579 -1.35252 0 0 -0 3.14159
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.89009 -0.019386 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -2.84009 1.17017 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 1.21568 0.006434 0 0 -0 1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 3.62057 -1.58539 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 6.04557 -2.76039 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 3.40806 1.10972 0 0 -0 1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 5.60318 1.67301 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 7.77818 2.72301 0 0 -0 1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 10.5278 0.085507 0 0 0 -0.523599
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 10.3472 -1.82517 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -13.2921 0.007941 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 0 0 0 0 0 0
+ 1 1 1
+
+ 0 0 0.1 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+
+
+ 0.2 0 0.2 0 0 0
+ 0 -0 0 0 0 0
+ -0 0 0 0 0 0
+ -0 0 0 0 0 0
+
+
+ -0.1 0.2 0.1 0 0 0
+ 0 -0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+
+
+ -0.1 -0.2 0.1 0 0 0
+ -0 0 0 0 0 0
+ 0 0 0 0 0 0
+ -0 0 0 0 0 0
+
+
+
+ 0 0 10 0 0 0
+
+
+
+
+ 6.80207 -4.04261 25.2995 -4.6e-05 1.5698 1.10815
+ orbit
+ perspective
+
+
+
+
\ No newline at end of file
diff --git a/gazebo_sim/worlds/qt_pi_laser.world b/gazebo_sim/worlds/qt_pi_laser.world
new file mode 100644
index 0000000..be5f509
--- /dev/null
+++ b/gazebo_sim/worlds/qt_pi_laser.world
@@ -0,0 +1,2061 @@
+
+
+
+ 1
+ 0 0 10 0 -0 0
+ 0.8 0.8 0.8 1
+ 0.2 0.2 0.2 1
+
+ 1000
+ 0.9
+ 0.01
+ 0.001
+
+ -0.5 0.1 -0.9
+
+
+ 1
+
+
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+ 100
+ 50
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+ 0
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 0 0 -9.8
+ 6e-06 2.3e-05 -4.2e-05
+
+
+ 0.001
+ 1
+ 1000
+
+
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ 1
+
+
+
+ EARTH_WGS84
+ 0
+ 0
+ 0
+ 0
+
+
+ -1.25415 -0.788564 0 0 -0 0
+
+
+
+
+ 26.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 26.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0.007886 -3.91706 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 8 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 8 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 13.3079 0.007941 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 26.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 26.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0.007886 3.93294 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+ -9.18476 0.019386 0 0 0 -1.5708
+
+ -3.12221 0 1.25 0 -0 0
+
+
+ 1.75558 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 1.75558 0.15 2.5
+
+
+ -3.12221 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.438191 0 1.25 0 -0 0
+
+
+ 3.56521 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.56521 0.15 2.5
+
+
+ 0.438191 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3.5604 0 1.25 0 -0 0
+
+
+ 0.879203 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.879203 0.15 2.5
+
+
+ 3.5604 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -1.79442 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ -1.79442 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.6708 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 2.6708 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ -11.2579 -1.35252 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+ -6.89009 -0.019386 0 0 0 -1.5708
+
+ -2.05546 0 1.25 0 -0 0
+
+
+ 3.88908 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.88908 0.15 2.5
+
+
+ -2.05546 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.39454 0 1.25 0 -0 0
+
+
+ 3.21092 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.21092 0.15 2.5
+
+
+ 2.39454 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.339077 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.339077 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ -2.84009 1.17017 0 0 -0 0
+
+ -2.27097 0 1.25 0 -0 0
+
+
+ 3.70805 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.70805 0.15 2.5
+
+
+ -2.27097 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.30403 0 1.25 0 -0 0
+
+
+ 3.64195 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.64195 0.15 2.5
+
+
+ 2.30403 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.033055 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.033055 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 1.21568 0.006434 0 0 -0 1.5708
+
+ -2.30688 0 1.25 0 -0 0
+
+
+ 3.38624 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.38624 0.15 2.5
+
+
+ -2.30688 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.14312 0 1.25 0 -0 0
+
+
+ 3.71376 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 3.71376 0.15 2.5
+
+
+ 2.14312 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -0.163762 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ -0.163762 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 3.62057 -1.58539 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+ 6.04557 -2.76039 0 0 0 -1.5708
+
+ -0.84415 0 1.25 0 -0 0
+
+
+ 0.811701 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.811701 0.15 2.5
+
+
+ -0.84415 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.85585 0 1.25 0 -0 0
+
+
+ 0.788299 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.788299 0.15 2.5
+
+
+ 0.85585 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.011701 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.011701 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 3.40806 1.10972 0 0 -0 1.5708
+
+ -2.20336 0 1.25 0 -0 0
+
+
+ 1.09329 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 1.09329 0.15 2.5
+
+
+ -2.20336 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.181127 0 1.25 0 -0 0
+
+
+ 1.87567 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 1.87567 0.15 2.5
+
+
+ 0.181127 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.38448 0 1.25 0 -0 0
+
+
+ 0.731036 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.731036 0.15 2.5
+
+
+ 2.38448 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -1.20671 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ -1.20671 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.56896 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 1.56896 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 5.60318 1.67301 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+ 7.77818 2.72301 0 0 -0 1.5708
+
+ -0.729206 0 1.25 0 -0 0
+
+
+ 0.791587 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.791587 0.15 2.5
+
+
+ -0.729206 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.845794 0 1.25 0 -0 0
+
+
+ 0.558413 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.558413 0.15 2.5
+
+
+ 0.845794 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.116587 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.116587 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 10.5278 0.085507 0 0 0 -0.523599
+
+ -0.945166 0 1.25 0 -0 0
+
+
+ 4.60967 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 4.60967 0.15 2.5
+
+
+ -0.945166 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.75483 0 1.25 0 -0 0
+
+
+ 0.990333 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.990333 0.15 2.5
+
+
+ 2.75483 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.80967 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 1.80967 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 10.3472 -1.82517 0 0 0 -1.5708
+
+ -0.985004 0 1.25 0 -0 0
+
+
+ 2.27999 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 2.27999 0.15 2.5
+
+
+ -0.985004 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.59 0 1.25 0 -0 0
+
+
+ 1.07001 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 1.07001 0.15 2.5
+
+
+ 1.59 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.604992 0 2.25 0 -0 0
+
+
+ 0.9 0.15 0.5
+
+
+
+
+ 1 1 1 1
+
+
+
+
+
+ 0.9 0.15 0.5
+
+
+ 0.604992 0 2.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 8 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 8 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ -13.2921 0.007941 0 0 0 -1.5708
+ 0
+ 0
+ 0
+
+ 1
+
+
+
+ 0 0 0.1 0 -0 0
+
+ 20
+ 0.1 0 -0.05 0 -0 0
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+
+
+
+ 0.4 0.2 0.1
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.4 0.2 0.1
+
+
+
+
+ 0.15 0 -0.05 0 -0 0
+
+
+ 0.05
+
+
+
+
+ 0
+ 0.01
+
+
+
+ 0
+ 0.001
+
+
+
+
+ 0
+ 0
+ 1
+ 1
+
+
+
+
+
+
+ 10
+
+
+ 0.15 0 -0.05 0 -0 0
+
+
+ 0.05
+
+
+
+ 0
+ 0
+ 0
+
+
+ -0.1 0.2 0.1 0 -0 0
+
+ 5
+ 0 0 0 0 -0 0
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+
+
+
+
+ 10
+ 10
+
+
+
+
+
+
+ 0
+ 0.01
+
+
+
+ 0
+ 0.001
+
+
+
+
+
+ 0.1
+
+
+ 10
+
+
+
+
+ 0.1
+
+
+
+ 0
+ 0
+ 0
+
+
+ -0.1 -0.2 0.1 0 -0 0
+
+ 5
+ 0 0 0 0 -0 0
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+
+
+
+
+ 10
+ 10
+
+
+
+
+
+
+ 0
+ 0.01
+
+
+
+ 0
+ 0.001
+
+
+
+
+
+ 0.1
+
+
+ 10
+
+
+
+
+ 0.1
+
+
+
+ 0
+ 0
+ 0
+
+
+ 0 0 0 0 -0 0
+ left_wheel
+ chassis
+
+ 0 1 0
+ 0
+
+ -1e+16
+ 1e+16
+
+
+ 0
+ 0
+
+
+
+
+ 0 0 0 0 -0 0
+ right_wheel
+ chassis
+
+ 0 1 0
+ 0
+
+ -1e+16
+ 1e+16
+
+
+ 0
+ 0
+
+
+
+
+
+ 0.1
+ 0 0 0 0 -0 0
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+
+
+
+ model://hokuyo/meshes/hokuyo.dae
+
+
+
+
+ 0 0 -0.0145 0 -0 0
+
+
+ 0.05 0.05 0.041
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.0205 0 -0 0
+
+
+ 0.021
+ 0.029
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.01 0 0.0175 0 -0 0
+
+
+
+ 640
+ 1
+ -2.26889
+ 2.2689
+
+
+ 1
+ 0
+ 0
+
+
+
+ 0.08
+ 10
+ 0.01
+
+
+
+ scan
+ laser
+ 1
+ qt_pi
+ 15
+
+ 15
+ 1
+
+ 0.2 0 0.2 0 -0 0
+ 0
+ 0
+ 0
+
+
+ hokuyo::link
+ chassis
+
+
+ 1
+ 30
+ left_wheel_hinge
+ qt_pi
+ right_wheel_hinge
+ 0.4
+ 0.2
+ 0
+ 5
+ cmd_vel
+ odom
+ base_link
+ odom
+ 1
+ 1
+ 1
+ 0
+ 0
+
+ -0.306574 -6.64995 0 0 -0 0
+
+
+ 65 341000000
+ 65 969333035
+ 1554402610 693687615
+ 65341
+
+ 0 0 0 0 -0 0
+ 1 1 1
+
+ 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
+ 1 1 1
+
+ 0.007886 -3.91706 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 13.3079 0.007941 0 0 -0 1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 0.007886 3.93294 0 0 -0 3.14159
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -9.18476 0.019386 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -11.2579 -1.35252 0 0 -0 3.14159
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.89009 -0.019386 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -2.84009 1.17017 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 1.21568 0.006434 0 0 -0 1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 3.62057 -1.58539 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 6.04557 -2.76039 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 3.40806 1.10972 0 0 -0 1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 5.60318 1.67301 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 7.77818 2.72301 0 0 -0 1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 10.5278 0.085507 0 0 0 -0.523599
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 10.3472 -1.82517 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -13.2921 0.007941 0 0 0 -1.5708
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -0 0 0 0 0 0
+ 1 1 1
+
+ 0 0 0.1 0 0 0
+ 0 -0 -0 0 0 0
+ 0 -0 -0 0 -0 0
+ 0 -0 -0 0 -0 0
+
+
+ 0.2 0 0.2 0 0 0
+ 0 -0 -0 0 0 0
+ 0 -0 0 0 -0 0
+ 0 -0 0 0 -0 0
+
+
+ -0.1 0.2 0.1 0 0 0
+ 0 -0 0 0 0 0
+ 0 -0 -0 0 -0 0
+ 0 -0 -0 0 -0 0
+
+
+ -0.1 -0.2 0.1 0 0 0
+ -0 -0 -0 0 -0 0
+ -0 -0 -0 0 -0 0
+ -0 -0 -0 0 -0 0
+
+
+
+ 0 0 10 0 -0 0
+
+
+
+
+ -4.72192 -0.583216 33.7134 -0 1.5418 0.060154
+ orbit
+ perspective
+
+
+
+
\ No newline at end of file
diff --git a/include/qt_pi/serial_driver.h b/include/qt_pi/serial_driver.h
deleted file mode 100644
index e30c957..0000000
--- a/include/qt_pi/serial_driver.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "commands.h"
-#include "payload_specs.h"
diff --git a/package.xml b/package.xml
deleted file mode 100644
index 407d1a7..0000000
--- a/package.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
- qt_pi
- 0.0.0
- The qt_pi package
- Rishabh Kundu
- MIT
- catkin
-
- rospy
- std_msgs
- geometry_msgs
- nav_msgs
- tf
- python-serial
-
-
-
diff --git a/qt_pi/CMakeLists.txt b/qt_pi/CMakeLists.txt
new file mode 100644
index 0000000..d858d67
--- /dev/null
+++ b/qt_pi/CMakeLists.txt
@@ -0,0 +1,68 @@
+cmake_minimum_required(VERSION 2.8.3)
+project(qt_pi)
+
+set(CMAKE_CXX_FLAGS "-std=c++0x")
+#-fpermissive
+#ros setup
+find_package(catkin REQUIRED COMPONENTS
+qt_build
+roscpp
+roslib
+)
+
+catkin_python_setup()
+catkin_package(DEPENDS)
+
+#Qt setup and MOC generation
+find_package(Qt5 REQUIRED COMPONENTS Core Gui OpenGL)
+set(MOC include/speller/speller.h include/mapview/mapview.h)
+set(HPP include/mapview/vertex.h)
+set(SRCS src/speller.cpp src/mapview.cpp )
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+qt5_wrap_cpp(MOC_HPP ${MOC})
+qt5_add_resources(RCC resources/resources.qrc)
+
+
+
+
+
+#Mcrypt library includes
+find_package(PkgConfig REQUIRED)
+find_path(Mcrypt_INCLUDE_DIR mcrypt.h PATHS /usr/include)
+set(Mcrypt_LIB_PATHS /usr/lib)
+find_library(Mcrypt_LIBS NAMES mcrypt rtfilter PATHS ${Mcrypt_LIB_PATHS})
+include_directories(${Mcrypt_INCLUDE_DIRS})
+link_directories(${Mcrypt_LIBS})
+
+#Gattlib includes
+pkg_search_module(GATTLIB REQUIRED gattlib)
+pkg_search_module(GLIB REQUIRED glib-2.0)
+include_directories(${GLIB_INCLUDE_DIRS})
+
+
+include_directories(include
+ ${catkin_INCLUDE_DIRS}
+)
+
+#ble_connect library generation
+add_library(ble_connect include/ble_connect/ble_connect.h src/ble_connect.c)
+target_link_libraries(ble_connect ${GATTLIB_LIBRARIES} ${GATTLIB_LDFLAGS} ${GLIB_LDFLAGS} pthread ${Mcrypt_LIBS})
+
+#speller library generation
+add_library(speller ${SRCS} ${FORMS_HPP} ${MOC_HPP} ${RCC} ${HPP})
+target_link_libraries(speller Qt5::Widgets Qt5::Core Qt5::OpenGL Qt5::Gui ${catkin_LIBRARIES} ble_connect)
+
+
+#ble_connect_test executable generation
+add_executable(ble_connect_test tests/ble_test.cpp)
+target_link_libraries(ble_connect_test ble_connect)
+
+#QImage view test executable generation
+add_executable(map_load_test tests/map_load_test.cpp)
+target_link_libraries(map_load_test speller)
+
+
+
+#main executable generation
+add_executable(speller_ui src/main.cpp)
+target_link_libraries(speller_ui speller)
diff --git a/README.md b/qt_pi/README.md
similarity index 100%
rename from README.md
rename to qt_pi/README.md
diff --git a/qt_pi/config/70-emotiv.rules b/qt_pi/config/70-emotiv.rules
new file mode 100644
index 0000000..a6c4e05
--- /dev/null
+++ b/qt_pi/config/70-emotiv.rules
@@ -0,0 +1,7 @@
+SUBSYSTEM=="hidraw", ACTION=="add", SUBSYSTEMS=="hid", DRIVERS=="generic-usb", KERNEL=="hidraw*", GROUP="username", MODE="0666"
+
+SUBSYSTEM=="hidraw", ACTION=="add", SUBSYSTEMS=="usb", DRIVERS=="usbhid", GROUP="username", MODE="0666"
+
+SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1234", ATTR{idProduct}=="ed02", GROUP="username", MODE="0666"
+
+SUBSYSTEM=="usb", ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d6b", GROUP="username", MODE="0666"
diff --git a/qt_pi/config/base_local_planner_params.yaml b/qt_pi/config/base_local_planner_params.yaml
new file mode 100644
index 0000000..3eadf53
--- /dev/null
+++ b/qt_pi/config/base_local_planner_params.yaml
@@ -0,0 +1,11 @@
+TrajectoryPlannerROS:
+ max_vel_x: 0.45
+ min_vel_x: 0.1
+ max_vel_theta: 1.0
+ min_in_place_vel_theta: 0.4
+
+ acc_lim_theta: 3.2
+ acc_lim_x: 2.5
+ acc_lim_y: 2.5
+
+ holonomic_robot: true
diff --git a/config/costmap_common_params.yaml b/qt_pi/config/costmap_common_params.yaml
similarity index 100%
rename from config/costmap_common_params.yaml
rename to qt_pi/config/costmap_common_params.yaml
diff --git a/config/global_costmap_params.yaml b/qt_pi/config/global_costmap_params.yaml
similarity index 100%
rename from config/global_costmap_params.yaml
rename to qt_pi/config/global_costmap_params.yaml
diff --git a/config/local_costmap_params.yaml b/qt_pi/config/local_costmap_params.yaml
similarity index 100%
rename from config/local_costmap_params.yaml
rename to qt_pi/config/local_costmap_params.yaml
diff --git a/config/qt_pi_arduino_params.yaml b/qt_pi/config/qt_pi_arduino_params.yaml
similarity index 100%
rename from config/qt_pi_arduino_params.yaml
rename to qt_pi/config/qt_pi_arduino_params.yaml
diff --git a/qt_pi/doc/Connecting on debian.md b/qt_pi/doc/Connecting on debian.md
new file mode 100644
index 0000000..187a3f2
--- /dev/null
+++ b/qt_pi/doc/Connecting on debian.md
@@ -0,0 +1,80 @@
+## Connecting Emotiv device via USB dongle on Ubuntu 16.04 and Debian 8.3
+
+### Install HID configure for Emotiv USB dongle
+```shell
+sudo cp etc/udev/rules.d/70-emotiv.rules /etc/udev/rules.d/
+sudo service udev restart
+```
+
+Then plugin the USB dongle, you should see the flashing green light and it is ready to be connected to an Emotiv headset.
+
+## Connecting Emotiv device via BTLE on Ubuntu 16.04 and Debian 8.3 with BlueZ library
+### Install and configure latest bluez
+#### Build bluez
+```shell
+sudo apt-get update
+sudo apt-get install libglib2.0-dev libdbus-1-dev libudev-dev libical-dev libreadline-dev
+mkdir -p ~/tmp/bluez && cd ~/tmp/bluez
+wget -c https://www.kernel.org/pub/linux/bluetooth/bluez-5.37.tar.gz
+tar -xvzf bluez-5.37.tar.gz
+cd bluez-5.37/
+./configure --disable-systemd --enable-threads --enable-library
+make
+```
+
+#### Configure
+ * Add `EnableGatt = true` to file `/etc/bluetooth/main.conf`
+ * Backup then edit file `/etc/dbus-1/system.d/bluetooth.conf`, remove `1` from all the lines, such as:
+
+ `` to ``
+
+ `` to ``
+
+### Run bluez service and test connection
+#### Stop old bluez service
+`sudo /etc/init.d/bluetooth stop`
+
+#### Start new bluez
+`sudo ./src/bluetoothd -n -E --plugin=audio`
+
+#### Test connection
+Open other terminal and run `bluetoothctl`. Use following commands to test connection:
+* List available Bluetooth adapters
+
+ `[bluetooth]#list`
+
+* Power on Bluetooth adapter
+
+ `[bluetooth]#power on`
+
+* Set Bluetooth adapter discoverable
+
+ `[bluetooth]#discoverable on`
+
+* Set Bluetooth adapter pairable
+
+ `[bluetooth]#pairable on`
+
+* Tell Bluetooth adapter to scan Bluetooth devices
+
+ `[bluetooth]#scan on`
+
+#### List and connect to device
+* List all available bluetooth devices
+
+ `[bluetooth]#devices`
+
+* Get device info
+
+ `[bluetooth]#info [MAC_Address]`
+
+ > Each Emotiv device has a specific service UUID `81072f40-9f3d-11e3-a9dc-0002a5d5c51b`
+
+* Connect to an Emotiv device
+
+ `[bluetooth]#connect [MAC Address]`
+
+Now you can run the SDK or app on Ubuntu - enjoy!
+
+#### Using graphical view
+To use the graphical view instead of command line, run `d-feet &` then select `/org.bluez/hci0/[MAC_Address]`
diff --git a/qt_pi/include/ble_connect/ble_connect.h b/qt_pi/include/ble_connect/ble_connect.h
new file mode 100644
index 0000000..d200262
--- /dev/null
+++ b/qt_pi/include/ble_connect/ble_connect.h
@@ -0,0 +1,33 @@
+#ifndef BLE_CONNECT
+#define BLE_CONNECT
+#include "gattlib.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+enum Channels { AF3 = 0, T7 = 1, Pz = 2, T8 = 3, AF4 = 4 };
+
+struct insight_data {
+ double uV[5];
+ struct timespec ts;
+};
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern int insight_init(const char *a, const char *b);
+extern int insight_destroy();
+extern int insight_get_status();
+extern int insight_start_notif();
+extern int insight_stop_notif();
+extern int insight_write_to_buffer(int len, struct insight_data *buf);
+extern int insight_buffer_status();
+extern int insight_stop_write_to_buffer();
+extern int insight_version();
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/qt_pi/include/mapview/mapview.h b/qt_pi/include/mapview/mapview.h
new file mode 100644
index 0000000..c5ccaec
--- /dev/null
+++ b/qt_pi/include/mapview/mapview.h
@@ -0,0 +1,71 @@
+#ifndef MAPVIEW
+#define MAPVIEW
+
+#include "vertex.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+class QOpenGLShaderProgram;
+
+class MapView : public QOpenGLWindow, protected QOpenGLFunctions_3_1 {
+ Q_OBJECT
+public:
+ explicit MapView(QWidget *parent = 0);
+ ~MapView();
+
+ void start_blinking();
+ void stop_blinking();
+ void toggle_blinking();
+
+protected:
+ GLsizei count;
+ GLint startingElements[4] = {0, 4, 8, 12};
+ GLsizei counts[4] = {4, 4, 4, 4};
+
+ void initializeGL() override;
+ void paintGL() override;
+ void resizeGL(int, int) override;
+ void teardownGL();
+ void printContextInformation();
+
+private:
+ QOpenGLBuffer m_vertex;
+ QOpenGLVertexArrayObject m_object;
+ QOpenGLShaderProgram *m_program;
+
+ QOpenGLBuffer map_vertex;
+ QOpenGLVertexArrayObject map_object;
+ QOpenGLShaderProgram *map_program;
+ QOpenGLTexture *map_texture;
+ Vertex *vertices;
+ int vertices_len;
+
+ volatile int sleep_control = 1;
+ volatile int blinking;
+ int map_redraw;
+
+ std::thread *t;
+
+ void run();
+ void keyPressEvent(QKeyEvent *key) override;
+ void mousePressEvent(QMouseEvent *event) override;
+signals:
+ void update_GUI();
+ void keyPress(QKeyEvent *key);
+ void map_loaded();
+ void mouse_press(QMouseEvent *);
+private slots:
+ void load_texture(int, Vertex *, QImage *);
+};
+
+#endif
diff --git a/qt_pi/include/mapview/vertex.h b/qt_pi/include/mapview/vertex.h
new file mode 100644
index 0000000..7b5f2dd
--- /dev/null
+++ b/qt_pi/include/mapview/vertex.h
@@ -0,0 +1,88 @@
+#ifndef VERTEX_H
+#define VERTEX_H
+
+#include
+#include
+#include
+
+class Vertex {
+public:
+ // Constructors
+ Q_DECL_CONSTEXPR Vertex();
+ Q_DECL_CONSTEXPR explicit Vertex(const QVector3D &position);
+ Q_DECL_CONSTEXPR Vertex(const QVector3D &position, const QVector4D &color);
+ Q_DECL_CONSTEXPR Vertex(const QVector3D &position, const QVector4D &color,
+ const QVector2D &texCoord);
+
+ // Accessors / Mutators
+ Q_DECL_CONSTEXPR const QVector3D &position() const;
+ Q_DECL_CONSTEXPR const QVector4D &color() const;
+ Q_DECL_CONSTEXPR const QVector2D &texCoord() const;
+ void setPosition(const QVector3D &position);
+ void setColor(const QVector4D &color);
+ void setTexCoord(const QVector2D &texCoord);
+
+ // OpenGL Helpers
+ static const int PositionTupleSize = 3;
+ static const int ColorTupleSize = 4;
+ static const int TexCoordTupleSize = 2;
+ static Q_DECL_CONSTEXPR int positionOffset();
+ static Q_DECL_CONSTEXPR int colorOffset();
+ static Q_DECL_CONSTEXPR int texCoordOffset();
+ static Q_DECL_CONSTEXPR int stride();
+
+private:
+ QVector3D m_position;
+ QVector4D m_color;
+ QVector2D m_texCoord;
+};
+
+/*******************************************************************************
+ * Inline Implementation
+ ******************************************************************************/
+
+// Note: Q_MOVABLE_TYPE means it can be memcpy'd.
+Q_DECLARE_TYPEINFO(Vertex, Q_MOVABLE_TYPE);
+
+// Constructors
+Q_DECL_CONSTEXPR inline Vertex::Vertex() {}
+Q_DECL_CONSTEXPR inline Vertex::Vertex(const QVector3D &position)
+ : m_position(position) {}
+Q_DECL_CONSTEXPR inline Vertex::Vertex(const QVector3D &position,
+ const QVector4D &color)
+ : m_position(position), m_color(color) {}
+Q_DECL_CONSTEXPR inline Vertex::Vertex(const QVector3D &position,
+ const QVector4D &color,
+ const QVector2D &texCoord)
+ : m_position(position), m_color(color), m_texCoord(texCoord) {}
+
+// Accessors / Mutators
+Q_DECL_CONSTEXPR inline const QVector3D &Vertex::position() const {
+ return m_position;
+}
+Q_DECL_CONSTEXPR inline const QVector4D &Vertex::color() const {
+ return m_color;
+}
+Q_DECL_CONSTEXPR inline const QVector2D &Vertex::texCoord() const {
+ return m_texCoord;
+}
+void inline Vertex::setPosition(const QVector3D &position) {
+ m_position = position;
+}
+void inline Vertex::setColor(const QVector4D &color) { m_color = color; }
+void inline Vertex::setTexCoord(const QVector2D &texCoord) {
+ m_texCoord = texCoord;
+}
+// OpenGL Helpers
+Q_DECL_CONSTEXPR inline int Vertex::positionOffset() {
+ return offsetof(Vertex, m_position);
+}
+Q_DECL_CONSTEXPR inline int Vertex::colorOffset() {
+ return offsetof(Vertex, m_color);
+}
+Q_DECL_CONSTEXPR inline int Vertex::texCoordOffset() {
+ return offsetof(Vertex, m_texCoord);
+}
+Q_DECL_CONSTEXPR inline int Vertex::stride() { return sizeof(Vertex); }
+
+#endif // VERTEX_H
diff --git a/qt_pi/include/speller/speller.h b/qt_pi/include/speller/speller.h
new file mode 100644
index 0000000..bad4d9a
--- /dev/null
+++ b/qt_pi/include/speller/speller.h
@@ -0,0 +1,72 @@
+#ifndef SPELLER
+#define SPELLER
+
+#include "ble_connect/ble_connect.h"
+#include "mapview/mapview.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include