├── Gazebo ├── .gitignore ├── CMakeLists.txt ├── IMAV2017_Virtual_Challenge_Guide.pdf ├── README.md ├── launch │ ├── imav_indoor.launch │ └── spawn_quadrotor.launch ├── license.txt ├── meshes │ ├── hokuyo_utm30lx │ │ ├── blender │ │ │ └── hokuyo_utm30lx.blend │ │ ├── hokuyo_utm_30lx.dae │ │ ├── hokuyo_utm_30lx.stl │ │ └── hokuyo_utm_30lxTEST_SELF_FILTER.dae │ ├── kinect_camera │ │ ├── kinect_camera_simple.dae │ │ └── kinect_camera_simple.stl │ ├── quadrotor │ │ ├── blender │ │ │ ├── quadrotor_2.blend │ │ │ ├── quadrotor_2.blend1 │ │ │ ├── quadrotor_3.blend1 │ │ │ ├── quadrotor_CAD.blend │ │ │ ├── quadrotor_CAD2.blend │ │ │ ├── quadrotor_CAD2.blend1 │ │ │ ├── quadrotor_CAD2.blend2 │ │ │ └── quadrotor_base.blend │ │ ├── quadrotor_2.dae │ │ ├── quadrotor_2.stl │ │ ├── quadrotor_3.dae │ │ ├── quadrotor_3.stl │ │ ├── quadrotor_4.dae │ │ ├── quadrotor_4.stl │ │ ├── quadrotor_base.dae │ │ └── quadrotor_base.stl │ ├── sonar_sensor │ │ ├── blender │ │ │ └── max_sonar_ez4.blend │ │ └── max_sonar_ez4.dae │ └── thermaleye_camera │ │ ├── thermaleye_camera_hector_v1.dae │ │ ├── thermaleye_camera_hector_v1.stl │ │ ├── thermaleye_camera_hector_v2.dae │ │ └── thermaleye_camera_hector_v2.stl ├── package.xml ├── plugins │ ├── .kdev4 │ │ └── plugins.kdev4 │ ├── CMakeLists.txt │ ├── include │ │ └── quadrotor_simple_controller.h │ ├── plugins.kdev4 │ └── src │ │ └── quadrotor_simple_controller.cpp ├── run_gzb.sh ├── scripts │ └── ps2cmd_vel.py ├── setup.sh ├── start_uav.sh ├── urdf │ ├── quadrotor.urdf.xacro │ ├── quadrotor_base.urdf.xacro │ ├── quadrotor_simple_controller.urdf.xacro │ ├── sensors │ │ ├── generic_camera.urdf.xacro │ │ ├── hokuyo_utm30lx.urdf.xacro │ │ ├── quadrotor_sensors.urdf.xacro │ │ └── sonar_sensor.urdf.xacro │ └── spawnrobot.sh └── worlds │ ├── ardrone_testworld.world │ └── xacro │ ├── custom.material │ ├── helipad1.jpg │ ├── imav2017_logo_cfp.png │ ├── imav_indoor.world.xacro │ ├── macros.urdf.xacro │ ├── mathworks_logo1.png │ ├── mathworks_logo2.jpg │ ├── qrcode_text.png │ ├── qrcode_url.png │ ├── tree1.dae │ ├── tree1.obj │ ├── wall.dae │ ├── x1.jpg │ └── x1.png └── Simulink ├── .gitignore ├── README.md ├── license.txt ├── manualControl.slx ├── pathFollowing.slx ├── pathFollowingWithObstacleAvoidance.slx ├── pathFollowingWithObstacleAvoidanceDemo1.mkv ├── pathFollowingWithObstacleAvoidanceDemo2.mkv └── simpleMovement.slx /Gazebo/.gitignore: -------------------------------------------------------------------------------- 1 | */build/* 2 | worlds/imav_indoor.world 3 | urdf/qws.urdf 4 | *.swp 5 | *~ 6 | -------------------------------------------------------------------------------- /Gazebo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(imav_2017) 3 | 4 | ## Add support for C++11, supported in ROS Kinetic and newer 5 | # add_definitions(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED) 11 | 12 | ## System dependencies are found with CMake's conventions 13 | # find_package(Boost REQUIRED COMPONENTS system) 14 | 15 | 16 | ## Uncomment this if the package has a setup.py. This macro ensures 17 | ## modules and global scripts declared therein get installed 18 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 19 | # catkin_python_setup() 20 | 21 | ################################################ 22 | ## Declare ROS messages, services and actions ## 23 | ################################################ 24 | 25 | ## To declare and build messages, services or actions from within this 26 | ## package, follow these steps: 27 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 28 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 29 | ## * In the file package.xml: 30 | ## * add a build_depend tag for "message_generation" 31 | ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET 32 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 33 | ## but can be declared for certainty nonetheless: 34 | ## * add a run_depend tag for "message_runtime" 35 | ## * In this file (CMakeLists.txt): 36 | ## * add "message_generation" and every package in MSG_DEP_SET to 37 | ## find_package(catkin REQUIRED COMPONENTS ...) 38 | ## * add "message_runtime" and every package in MSG_DEP_SET to 39 | ## catkin_package(CATKIN_DEPENDS ...) 40 | ## * uncomment the add_*_files sections below as needed 41 | ## and list every .msg/.srv/.action file to be processed 42 | ## * uncomment the generate_messages entry below 43 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 44 | 45 | ## Generate messages in the 'msg' folder 46 | # add_message_files( 47 | # FILES 48 | # Message1.msg 49 | # Message2.msg 50 | # ) 51 | 52 | ## Generate services in the 'srv' folder 53 | # add_service_files( 54 | # FILES 55 | # Service1.srv 56 | # Service2.srv 57 | # ) 58 | 59 | ## Generate actions in the 'action' folder 60 | # add_action_files( 61 | # FILES 62 | # Action1.action 63 | # Action2.action 64 | # ) 65 | 66 | ## Generate added messages and services with any dependencies listed here 67 | # generate_messages( 68 | # DEPENDENCIES 69 | # std_msgs # Or other packages containing msgs 70 | # ) 71 | 72 | ################################################ 73 | ## Declare ROS dynamic reconfigure parameters ## 74 | ################################################ 75 | 76 | ## To declare and build dynamic reconfigure parameters within this 77 | ## package, follow these steps: 78 | ## * In the file package.xml: 79 | ## * add a build_depend and a run_depend tag for "dynamic_reconfigure" 80 | ## * In this file (CMakeLists.txt): 81 | ## * add "dynamic_reconfigure" to 82 | ## find_package(catkin REQUIRED COMPONENTS ...) 83 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 84 | ## and list every .cfg file to be processed 85 | 86 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 87 | # generate_dynamic_reconfigure_options( 88 | # cfg/DynReconf1.cfg 89 | # cfg/DynReconf2.cfg 90 | # ) 91 | 92 | ################################### 93 | ## catkin specific configuration ## 94 | ################################### 95 | ## The catkin_package macro generates cmake config files for your package 96 | ## Declare things to be passed to dependent projects 97 | ## INCLUDE_DIRS: uncomment this if you package contains header files 98 | ## LIBRARIES: libraries you create in this project that dependent projects also need 99 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 100 | ## DEPENDS: system dependencies of this project that dependent projects also need 101 | catkin_package( 102 | # INCLUDE_DIRS include 103 | # LIBRARIES imav_2017 104 | # CATKIN_DEPENDS other_catkin_pkg 105 | # DEPENDS system_lib 106 | ) 107 | 108 | ########### 109 | ## Build ## 110 | ########### 111 | 112 | ## Specify additional locations of header files 113 | ## Your package locations should be listed before other locations 114 | # include_directories(include) 115 | 116 | ## Declare a C++ library 117 | # add_library(${PROJECT_NAME} 118 | # src/${PROJECT_NAME}/imav_2017.cpp 119 | # ) 120 | 121 | ## Add cmake target dependencies of the library 122 | ## as an example, code may need to be generated before libraries 123 | ## either from message generation or dynamic reconfigure 124 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 125 | 126 | ## Declare a C++ executable 127 | ## With catkin_make all packages are built within a single CMake context 128 | ## The recommended prefix ensures that target names across packages don't collide 129 | # add_executable(${PROJECT_NAME}_node src/imav_2017_node.cpp) 130 | 131 | ## Rename C++ executable without prefix 132 | ## The above recommended prefix causes long target names, the following renames the 133 | ## target back to the shorter version for ease of user use 134 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 135 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 136 | 137 | ## Add cmake target dependencies of the executable 138 | ## same as for the library above 139 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 140 | 141 | ## Specify libraries to link a library or executable target against 142 | # target_link_libraries(${PROJECT_NAME}_node 143 | # ${catkin_LIBRARIES} 144 | # ) 145 | 146 | ############# 147 | ## Install ## 148 | ############# 149 | 150 | # all install targets should use catkin DESTINATION variables 151 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 152 | 153 | ## Mark executable scripts (Python etc.) for installation 154 | ## in contrast to setup.py, you can choose the destination 155 | # install(PROGRAMS 156 | # scripts/my_python_script 157 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 158 | # ) 159 | 160 | ## Mark executables and/or libraries for installation 161 | # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node 162 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 163 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 164 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 165 | # ) 166 | 167 | ## Mark cpp header files for installation 168 | # install(DIRECTORY include/${PROJECT_NAME}/ 169 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 170 | # FILES_MATCHING PATTERN "*.h" 171 | # PATTERN ".svn" EXCLUDE 172 | # ) 173 | 174 | ## Mark other files for installation (e.g. launch and bag files, etc.) 175 | # install(FILES 176 | # # myfile1 177 | # # myfile2 178 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 179 | # ) 180 | 181 | ############# 182 | ## Testing ## 183 | ############# 184 | 185 | ## Add gtest based cpp test target and link libraries 186 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_imav_2017.cpp) 187 | # if(TARGET ${PROJECT_NAME}-test) 188 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 189 | # endif() 190 | 191 | ## Add folders to be run by python nosetests 192 | # catkin_add_nosetests(test) 193 | -------------------------------------------------------------------------------- /Gazebo/IMAV2017_Virtual_Challenge_Guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/IMAV2017_Virtual_Challenge_Guide.pdf -------------------------------------------------------------------------------- /Gazebo/README.md: -------------------------------------------------------------------------------- 1 | == IMAV2017 Virtual Challenge == 2 | 3 | Simulation environment using ROS and Gazebo for the IMAV2017 Virtual Challenge. It has been succesfully tested on Ubuntu 16.04 (Xenial) 64bit. 4 | 5 | Please read the PDF file IMAV2017_Virtual_Challenge_Guide.pdf for detailled instructions and installation notes. 6 | 7 | Quick install and run process (using bash, if you use a different shell you may need to adapt some scripts): 8 | - if not done make scripts executable: 9 | chmod +x setup.sh 10 | chmod +x run_gzb.sh 11 | chmod +x start_uav.sh 12 | 13 | - run setup script (this should be done once for a fresh install without ROS or gazebo alreaded installed, in case of error run required commands by hand step by step) 14 | ./setup.sh 15 | 16 | - start gazebo environment simulator and ROS server 17 | ./run_gzb.sh 18 | 19 | - add a robot to the scene with default ID 20 | ./start_uav.sh 21 | 22 | Once ROS/gazebo simulation is running, you can use Simulink or your own system to control the UAV 23 | 24 | -------------------------------------------------------------------------------- /Gazebo/launch/imav_indoor.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Gazebo/launch/spawn_quadrotor.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 27 | 28 | 29 | 35 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Gazebo/license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017, The MathWorks, Inc. 2 | All rights reserved. 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 5 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 6 | 3. In all cases, the software is, and all modifications and derivatives of the software shall be, licensed to you solely for use in conjunction with MathWorks products and service offerings. 7 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 8 | -------------------------------------------------------------------------------- /Gazebo/meshes/hokuyo_utm30lx/blender/hokuyo_utm30lx.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/hokuyo_utm30lx/blender/hokuyo_utm30lx.blend -------------------------------------------------------------------------------- /Gazebo/meshes/hokuyo_utm30lx/hokuyo_utm_30lx.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stefan Kohlbrecher 6 | Blender 2.61.4 r43797 7 | 8 | 2012-02-01T14:19:57 9 | 2012-02-01T14:19:57 10 | 11 | Z_UP 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 0 0 0 1 20 | 21 | 22 | 0.05 0.016 0 1 23 | 24 | 25 | 0.8 0.2668543 0.007142973 1 26 | 27 | 28 | 0.5 0.1875294 0 1 29 | 30 | 31 | 50 32 | 33 | 34 | 1 35 | 36 | 37 | 38 | 39 | 40 | 1 41 | 42 | 43 | 44 | 1 45 | 46 | 47 | 48 | 49 | 50 | 51 | 0 0 0 1 52 | 53 | 54 | 0.1 0.1 0.1 1 55 | 56 | 57 | 0.05496641 0.05496641 0.05496641 1 58 | 59 | 60 | 0.5 0.5 0.5 1 61 | 62 | 63 | 50 64 | 65 | 66 | 1 67 | 68 | 69 | 70 | 71 | 72 | 1 73 | 74 | 75 | 76 | 1 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | -0.24321 -0.149432 -0.2432097 -0.2789493 0.13143 -0.2789489 -0.216749 0.1250717 -0.2167486 -0.2950419 -0.1794006 -0.2950711 -0.3010078 -0.5353779 -0.3010077 -0.2789748 0.3114927 -0.2789742 -0.2789744 0.3114926 0.278975 -0.3010077 -0.5353779 0.3010079 -0.2950711 -0.1794006 0.2950715 -0.2167487 0.1250717 0.2167492 -0.278949 0.13143 0.2789495 -0.2432098 -0.1494321 0.2432101 0.2432101 -0.1494321 0.2432098 0.2789494 0.1314299 0.2789492 0.216749 0.1250717 0.2167488 0.2950714 -0.1794006 0.2950712 0.3010079 -0.5353779 0.3010077 0.2789748 0.3114926 0.2789746 0.2789744 0.3114926 -0.2789747 0.3010076 -0.5353779 -0.3010079 0.2950711 -0.1794006 -0.2950714 0.2167487 0.1250717 -0.2167489 0.2789489 0.13143 -0.2789493 0.2432097 -0.149432 -0.24321 -0.2789642 0.2364665 -0.2789637 -0.2789638 0.2364665 0.2789644 0.2789642 0.2364664 0.278964 0.2789638 0.2364665 -0.2789641 -0.2950713 -0.1794006 0.08274024 -0.2950419 -0.1794006 -0.08274018 -0.2789492 0.13143 0.08274024 -0.2789492 0.13143 -0.08274024 -0.2432099 -0.149432 0.08274024 -0.24321 -0.149432 -0.08274018 -0.2167488 0.1250717 -0.08274024 -0.2167488 0.1250717 0.08274018 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 1 -1.41412e-4 -9.08054e-7 1 -1.41015e-4 -8.54687e-7 1 -1.41299e-4 -8.54687e-7 1 -1.41299e-4 -8.54718e-7 7.47781e-7 -1.4181e-4 1 6.94379e-7 -1.41413e-4 1 6.94379e-7 -1.41583e-4 1 6.41012e-7 -1.41299e-4 1 -1 -1.41412e-4 6.40993e-7 -1 -1.41015e-4 6.94367e-7 -1 -1.41583e-4 6.40993e-7 -8.01226e-7 -1.41412e-4 -1 -7.47825e-7 -1.41015e-4 -1 -7.47825e-7 -1.41299e-4 -1 -6.94461e-7 -1.41015e-4 -1 0 1 0 0 1 0 0 -1 0 0 -1 0 0.5003311 0.8658341 -2.41019e-7 0.5003312 0.8658342 -2.43736e-7 0.4644612 0.7539903 0.4644612 0.3705252 -0.85168 -0.3705252 0.3705252 -0.85168 0.3705252 0.4644612 0.7539903 -0.4644612 0.1016917 -0.994816 -1.92734e-7 0.1016924 -0.9948158 0 0.999861 0.01667422 -5.44471e-7 0.999861 0.01667439 -6.5492e-7 3.95979e-7 0.0166741 0.999861 5.05319e-7 0.01667428 0.999861 0 -0.9948158 0.1016926 0 -0.994816 0.1016916 -0.4644612 0.7539903 0.4644612 -0.3705252 -0.85168 0.3705252 2.52668e-7 0.8658339 0.5003315 3.07667e-7 0.8658342 0.5003311 -0.9998596 0.01675677 2.47486e-7 -3.95979e-7 0.01667451 -0.999861 -5.04236e-7 0.01667469 -0.999861 0 -0.9948158 -0.1016925 -1.76881e-7 -0.9948158 -0.1016933 -0.4645833 0.7539293 -0.4644612 -0.3705252 -0.85168 -0.3705252 -3.06546e-7 0.8658342 -0.5003308 -2.50311e-7 0.8658341 -0.5003314 -0.999861 0.01667445 5.63693e-7 -0.9998628 0.01656538 -1.77368e-4 -0.9998595 0.01675683 2.81852e-7 -1 -1.41299e-4 7.59431e-7 -1 -1.40598e-4 4.55662e-7 -1 -1.4089e-4 5.40274e-7 -0.1016935 -0.9948158 0 -0.101693 -0.9948158 0 -0.500544 0.8657112 2.01265e-7 -0.5005439 0.8657111 2.18105e-7 -0.6313974 -0.5173193 0.5776544 -0.6618244 0.4255501 0.6171453 -0.5003309 0.8658343 4.02754e-7 -0.5003311 0.8658342 4.86025e-7 -0.1016926 -0.9948158 0 -0.1016929 -0.9948158 0 -0.6618549 0.4254586 -0.6171453 -0.6313974 -0.5173193 -0.5776239 0 0 1 3.64087e-7 0 1 -0.9986576 0.05179816 -1.77158e-4 -0.9986625 0.05170381 5.4422e-7 0 0 -1 2.31735e-7 0 -1 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 120 |

13 2 27 2 26 2 13 3 22 3 27 3 10 6 26 6 25 6 10 7 13 7 26 7 1 10 25 10 24 10 22 13 24 13 27 13 22 14 1 14 24 14 13 25 14 25 22 25 14 26 21 26 22 26 10 31 9 31 14 31 10 32 14 32 13 32 22 40 21 40 2 40 22 41 2 41 1 41 30 49 10 49 25 49 1 50 31 50 25 50 31 51 30 51 25 51 2 52 34 52 1 52 1 53 34 53 31 53 9 60 10 60 30 60 9 61 30 61 35 61

121 |
122 | 123 | 124 | 125 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 126 |

26 0 18 0 17 0 26 1 27 1 18 1 25 4 17 4 6 4 25 5 26 5 17 5 24 8 25 8 5 8 5 9 25 9 6 9 27 11 5 11 18 11 27 12 24 12 5 12 5 15 6 15 17 15 5 16 17 16 18 16 4 17 19 17 16 17 4 18 16 18 7 18 12 19 15 19 20 19 12 20 20 20 23 20 12 21 21 22 14 23 12 21 23 24 21 22 15 27 16 27 19 27 15 28 19 28 20 28 8 29 7 29 16 29 8 30 16 30 15 30 11 33 12 21 9 34 9 34 12 21 14 23 11 35 8 35 15 35 11 36 15 36 12 36 3 37 4 37 7 37 20 38 19 38 4 38 20 39 4 39 3 39 21 22 0 42 2 43 0 42 21 22 23 24 3 44 0 44 23 44 3 45 23 45 20 45 8 46 28 46 7 46 28 47 29 47 7 47 29 48 3 48 7 48 0 54 3 54 29 54 0 55 29 55 33 55 9 34 35 56 32 57 9 34 32 57 11 33 8 58 11 58 28 58 11 59 32 59 28 59 0 42 33 62 2 43 33 62 34 63 2 43 28 64 32 64 30 64 32 65 35 65 30 65 28 66 30 66 29 66 30 67 31 67 29 67 29 68 31 68 33 68 33 69 31 69 34 69

127 |
128 |
129 | 1 130 |
131 |
132 | 133 | 134 | 135 | 0 0 0 136 | 0 0 1 1.27222e-14 137 | 0 1 0 1.27222e-14 138 | 1 0 0 90 139 | 0.1027312 0.1027312 0.1027312 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 |
-------------------------------------------------------------------------------- /Gazebo/meshes/hokuyo_utm30lx/hokuyo_utm_30lx.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/hokuyo_utm30lx/hokuyo_utm_30lx.stl -------------------------------------------------------------------------------- /Gazebo/meshes/hokuyo_utm30lx/hokuyo_utm_30lxTEST_SELF_FILTER.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Blender User 6 | Blender 2.62.2 r45133 7 | 8 | 2012-03-29T08:37:49 9 | 2012-03-29T08:37:49 10 | 11 | Z_UP 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1 0 0 1 20 | 21 | 22 | 1 0 0 1 23 | 24 | 25 | 1 0 0 1 26 | 27 | 28 | 1 0 0 1 29 | 30 | 31 | 50 32 | 33 | 34 | 1 35 | 36 | 37 | 38 | 39 | 40 | 1 41 | 42 | 43 | 44 | 1 45 | 46 | 47 | 48 | 49 | 50 | 51 | 0 0 0 1 52 | 53 | 54 | 0 0 0 1 55 | 56 | 57 | 0.05496641 0.05496641 0.05496641 1 58 | 59 | 60 | 0.5 0.5 0.5 1 61 | 62 | 63 | 50 64 | 65 | 66 | 1 67 | 68 | 69 | 70 | 71 | 72 | 1 73 | 74 | 75 | 76 | 1 77 | 78 | 79 | 80 | 81 | 82 | 83 | 0 0 0 1 84 | 85 | 86 | 0 0 0 1 87 | 88 | 89 | 0.06970959 0.06970959 0.06970959 1 90 | 91 | 92 | 0.5 0.5 0.5 1 93 | 94 | 95 | 10 96 | 97 | 98 | 1 99 | 100 | 101 | 102 | 103 | 104 | 1 105 | 106 | 107 | 108 | 1 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | -0.24321 -0.149432 -0.2432097 -0.2789493 0.13143 -0.2789489 -0.216749 0.1250717 -0.2167486 -0.2950419 -0.1794006 -0.2950711 -0.3010078 -0.5353779 -0.3010077 -0.2789748 0.3114927 -0.2789742 -0.2789744 0.3114926 0.278975 -0.3010077 -0.5353779 0.3010079 -0.2950711 -0.1794006 0.2950715 -0.2167487 0.1250717 0.2167492 -0.278949 0.13143 0.2789495 -0.2432098 -0.1494321 0.2432101 0.2432101 -0.1494321 0.2432098 0.2789494 0.1314299 0.2789492 0.216749 0.1250717 0.2167488 0.2950714 -0.1794006 0.2950712 0.3010079 -0.5353779 0.3010077 0.2789748 0.3114926 0.2789746 0.2789744 0.3114926 -0.2789747 0.3010076 -0.5353779 -0.3010079 0.2950711 -0.1794006 -0.2950714 0.2167487 0.1250717 -0.2167489 0.2789489 0.13143 -0.2789493 0.2432097 -0.149432 -0.24321 -0.2789642 0.2364665 -0.2789637 -0.2789638 0.2364665 0.2789644 0.2789642 0.2364664 0.278964 0.2789638 0.2364665 -0.2789641 -0.2950713 -0.1794006 0.08274024 -0.2950419 -0.1794006 -0.08274018 -0.2789492 0.13143 0.08274024 -0.2789492 0.13143 -0.08274024 -0.2432099 -0.149432 0.08274024 -0.24321 -0.149432 -0.08274018 -0.2167488 0.1250717 -0.08274024 -0.2167488 0.1250717 0.08274018 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 1 -1.41412e-4 -9.08054e-7 1 -1.41015e-4 -8.54687e-7 1 -1.41299e-4 -8.54687e-7 1 -1.41299e-4 -8.54718e-7 7.47781e-7 -1.4181e-4 1 6.94379e-7 -1.41413e-4 1 6.94379e-7 -1.41583e-4 1 6.41012e-7 -1.41299e-4 1 -1 -1.41412e-4 6.40993e-7 -1 -1.41015e-4 6.94367e-7 -1 -1.41583e-4 6.40993e-7 -8.01226e-7 -1.41412e-4 -1 -7.47825e-7 -1.41015e-4 -1 -7.47825e-7 -1.41299e-4 -1 -6.94461e-7 -1.41015e-4 -1 0 1 0 0 1 0 0 -1 0 0 -1 0 0.5003311 0.8658341 -2.41019e-7 0.5003312 0.8658342 -2.43736e-7 0.9953861 0.09595102 -9.23822e-7 0.995386 0.09595143 -6.89582e-7 0.1016917 -0.994816 -1.92734e-7 0.1016924 -0.9948158 0 0.999861 0.01667422 -5.44471e-7 0.999861 0.01667439 -6.5492e-7 3.95979e-7 0.0166741 0.999861 5.05319e-7 0.01667428 0.999861 0 -0.9948158 0.1016926 0 -0.994816 0.1016916 6.0986e-7 0.09595084 0.9953861 8.21881e-7 0.09595119 0.995386 2.52668e-7 0.8658339 0.5003315 3.07667e-7 0.8658342 0.5003311 -0.9998596 0.01675677 2.47486e-7 -3.95979e-7 0.01667451 -0.999861 -5.04236e-7 0.01667469 -0.999861 0 -0.9948158 -0.1016925 -1.76881e-7 -0.9948158 -0.1016933 -7.86825e-7 0.09595155 -0.9953861 -6.10963e-7 0.09595125 -0.995386 -3.06546e-7 0.8658342 -0.5003308 -2.50311e-7 0.8658341 -0.5003314 -0.999861 0.01667445 5.63693e-7 -0.9998628 0.01656538 -1.77368e-4 -0.9998595 0.01675683 2.81852e-7 -1 -1.41299e-4 7.59431e-7 -1 -1.40598e-4 4.55662e-7 -1 -1.4089e-4 5.40274e-7 -0.1016935 -0.9948158 0 -0.101693 -0.9948158 0 -0.500544 0.8657112 2.01265e-7 -0.5005439 0.8657111 2.18105e-7 -0.995386 0.09595143 5.53411e-7 -0.9953861 0.09595137 6.64837e-7 -0.5003309 0.8658343 4.02754e-7 -0.5003311 0.8658342 4.86025e-7 -0.1016926 -0.9948158 0 -0.1016929 -0.9948158 0 -0.9953861 0.09595102 2.86204e-7 -0.995386 0.09595137 1.10683e-6 0 0 1 3.64087e-7 0 1 -0.9986576 0.05179816 -1.77158e-4 -0.9986625 0.05170381 5.4422e-7 0 0 -1 2.31735e-7 0 -1 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 152 |

26 0 18 0 17 0 26 1 27 1 18 1 13 2 27 2 26 2 13 3 22 3 27 3 25 4 17 4 6 4 25 5 26 5 17 5 10 6 26 6 25 6 10 7 13 7 26 7 24 8 25 8 5 8 5 9 25 9 6 9 1 10 25 10 24 10 27 11 5 11 18 11 27 12 24 12 5 12 22 13 24 13 27 13 22 14 1 14 24 14 5 15 6 15 17 15 5 16 17 16 18 16 4 17 19 17 16 17 4 18 16 18 7 18 12 19 15 19 20 19 12 20 20 20 23 20 12 21 21 21 14 21 12 22 23 22 21 22 13 23 14 23 22 23 14 24 21 24 22 24 15 25 16 25 19 25 15 26 19 26 20 26 8 27 7 27 16 27 8 28 16 28 15 28 10 29 9 29 14 29 10 30 14 30 13 30 11 31 12 31 9 31 9 32 12 32 14 32 11 33 8 33 15 33 11 34 15 34 12 34 3 35 4 35 7 35 20 36 19 36 4 36 20 37 4 37 3 37 22 38 21 38 2 38 22 39 2 39 1 39 21 40 0 40 2 40 0 41 21 41 23 41 3 42 0 42 23 42 3 43 23 43 20 43 8 44 28 44 7 44 28 45 29 45 7 45 29 46 3 46 7 46 30 47 10 47 25 47 1 48 31 48 25 48 31 49 30 49 25 49 2 50 34 50 1 50 1 51 34 51 31 51 0 52 3 52 29 52 0 53 29 53 33 53 9 54 35 54 32 54 9 55 32 55 11 55 8 56 11 56 28 56 11 57 32 57 28 57 9 58 10 58 30 58 9 59 30 59 35 59 0 60 33 60 2 60 33 61 34 61 2 61 28 62 32 62 30 62 32 63 35 63 30 63 28 64 30 64 29 64 30 65 31 65 29 65 29 66 31 66 33 66 33 67 31 67 34 67

153 |
154 |
155 | 1 156 |
157 |
158 | 159 | 160 | 161 | 0 0 0 162 | 0 0 1 1.27222e-14 163 | 0 1 0 1.27222e-14 164 | 1 0 0 90 165 | 0.1027312 0.1027312 0.1027312 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 |
182 | -------------------------------------------------------------------------------- /Gazebo/meshes/kinect_camera/kinect_camera_simple.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stefan Kohlbrecher 6 | Blender 2.62.1 r44749 7 | 8 | 2012-03-09T23:01:39 9 | 2012-03-09T23:01:39 10 | 11 | Z_UP 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 0 0 0 1 20 | 21 | 22 | 0.01 0.01 0.01 1 23 | 24 | 25 | 0.008869297 0.008869297 0.008869297 1 26 | 27 | 28 | 0.5 0.5 0.5 1 29 | 30 | 31 | 50 32 | 33 | 34 | 1 35 | 36 | 37 | 38 | 39 | 40 | 1 41 | 42 | 43 | 44 | 1 45 | 46 | 47 | 48 | 49 | 50 | 51 | 0.2 0.2 0.2 1 52 | 53 | 54 | 0.3 0.3 0.3 1 55 | 56 | 57 | 0.64 0.64 0.64 1 58 | 59 | 60 | 0.839 0.839 0.839 1 61 | 62 | 63 | 5 64 | 65 | 66 | 1 67 | 68 | 69 | 70 | 71 | 72 | 1 73 | 74 | 75 | 76 | 1 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | -1.497 2.613 0.4524136 -1.497 2.613 -0.4341885 -1.497 -2.613 -0.4341885 -1.497 -2.613 0.4524136 -0.02330875 3.366 0.4524136 -0.02330875 3.366 -0.4341885 -0.02931594 -3.366 -0.4341885 -0.02931594 -3.366 0.4524136 -0.02788293 -1.760094 0 -0.02618807 0.1392521 -0.165674 -0.02624928 0.07062792 0 -0.02637684 -0.07232695 0 -0.02643811 -0.1409515 -0.1656743 -0.02618807 0.1392521 0.1656737 -0.02643811 -0.1409515 0.1656738 -0.02673375 -0.4722999 -0.165674 -0.02679502 -0.5409241 0 -0.02746474 -1.291496 0 -0.02673375 -0.4722999 0.1656737 -0.02752602 -1.360121 -0.1656743 -0.02752602 -1.360121 0.1656738 -0.02782166 -1.691469 0.1656737 -0.02782166 -1.691469 -0.165674 -0.02767384 -1.525795 -0.2342988 -0.02658593 -0.3066257 0.2342985 -0.02658593 -0.3066257 -0.2342988 -0.02767384 -1.525795 0.2342985 -0.02604025 0.3049264 -0.2342988 -0.02604025 0.3049263 0.2342985 -0.02589237 0.4706006 0.1656738 -0.02583116 0.5392251 0 -0.02589237 0.4706006 -0.1656743 -0.1343017 0.5392251 -1.34731e-7 -0.1343017 0.4706006 0.1656738 -0.1343017 0.3049263 0.2342983 -0.1343017 0.4706006 -0.1656745 -0.1343011 0.1392521 0.1656737 -0.1343011 0.3049264 -0.234299 -0.1343017 0.07062768 -1.21696e-7 -0.1343011 0.1392521 -0.165674 -0.1343017 -0.07232695 -1.34731e-7 -0.1343017 -0.1409515 0.1656738 -0.1343017 -0.3066257 0.2342983 -0.1343017 -0.1409515 -0.1656745 -0.1343011 -0.4722999 0.1656737 -0.1343011 -0.3066257 -0.234299 -0.1343017 -0.5409244 -1.21696e-7 -0.1343011 -0.4722999 -0.165674 -0.1343017 -1.291496 -1.34731e-7 -0.1343017 -1.360121 0.1656738 -0.1343017 -1.525795 0.2342983 -0.1343017 -1.360121 -0.1656745 -0.1343011 -1.691469 0.1656737 -0.1343011 -1.525795 -0.234299 -0.1343017 -1.760094 -1.21696e-7 -0.1343011 -1.691469 -0.165674 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | -1 0 0 -0.4550058 0.8904885 0 0.9999996 -8.92333e-4 0 0.9999997 -8.92333e-4 0 0.9999997 -8.92336e-4 0 0.9999997 -8.92334e-4 0 0 0 1 0.9999996 -8.92334e-4 0 0.9999997 -8.92333e-4 0 0.9999996 -8.92336e-4 0 0.9999997 -8.92336e-4 0 0.9999996 -8.92334e-4 0 0.9999995 -8.92334e-4 0 0.9999997 -8.92334e-4 0 0.9999997 -8.92333e-4 0 0.9999996 -8.92334e-4 0 0.9999997 -8.92333e-4 0 0.9999996 -8.92333e-4 0 0.9999996 -8.92331e-4 0 0.9999996 -8.92331e-4 0 0.9999996 -8.92335e-4 0 -0.4564806 -0.8897334 0 0 0 -1 0 0 1 0 -0.9238792 -0.3826842 -9.10222e-7 -0.9238796 0.3826833 -2.15875e-6 -0.3826836 0.9238795 0 0.382686 0.9238785 -2.35517e-6 0.9238793 0.3826841 -2.23774e-6 0.9238793 -0.3826839 1 0 0 1 0 0 1 2.91729e-6 1.20838e-6 1 5.00532e-7 1.20838e-6 1 3.41782e-6 0 1 -8.25134e-6 0 2.16178e-6 -0.3826833 -0.9238796 0 0.3826836 -0.9238794 0 -0.9238792 -0.3826842 -8.66678e-7 -0.9238797 0.3826831 -2.2179e-6 -0.3826835 0.9238795 0 0.382686 0.9238785 -2.60867e-6 0.9238793 0.3826841 -2.50535e-6 0.9238793 -0.3826839 1 0 0 1 0 0 1 2.91729e-6 1.20838e-6 1 5.00532e-7 1.20838e-6 1 3.41782e-6 0 1 -8.25134e-6 0 2.17273e-6 -0.3826834 -0.9238795 0 0.3826836 -0.9238795 0 -0.9238793 -0.3826839 -8.75508e-7 -0.9238798 0.382683 -2.19182e-6 -0.3826834 0.9238796 0 0.382686 0.9238785 -2.14732e-6 0.9238793 0.3826841 -2.0138e-6 0.9238793 -0.3826839 1 0 0 1 0 0 1 2.91729e-6 1.20838e-6 1 2.91729e-6 1.20838e-6 1 0 0 1 -8.25134e-6 0 2.1949e-6 -0.3826834 -0.9238796 0 0.3826836 -0.9238796 -1 0 0 -0.4550058 0.8904885 0 0.9999996 -8.92333e-4 0 0.9999996 -8.92335e-4 0 0.9999996 -8.92335e-4 0 0.9999997 -8.92336e-4 0 0.9999996 -8.92336e-4 0 0.9999996 -8.92335e-4 0 0.9999997 -8.92335e-4 0 0.9999996 -8.92335e-4 0 0.9999996 -8.92334e-4 0 0.9999996 -8.92334e-4 0 0.9999996 -8.92336e-4 0 0.9999996 -8.92336e-4 0 -0.4564806 -0.8897334 0 0 0 -1 0 0 1 0 -0.9238792 -0.3826842 0 -0.9238794 0.3826837 -2.15579e-6 -0.3826836 0.9238795 -2.15874e-6 0.3826848 0.923879 0 0.9238799 0.3826828 0 0.9238799 -0.3826826 0 -0.3826846 -0.9238791 2.16177e-6 0.3826848 -0.9238789 0 -0.9238792 -0.3826842 0 -0.9238795 0.3826836 -2.21485e-6 -0.3826835 0.9238796 -2.16968e-6 0.3826848 0.923879 0 0.9238799 0.3826826 0 0.9238799 -0.3826826 0 -0.3826847 -0.9238791 2.17273e-6 0.3826848 -0.9238789 0 -0.9238794 -0.3826839 0 -0.9238796 0.3826835 -2.18877e-6 -0.3826833 0.9238795 -2.19182e-6 0.3826848 0.923879 0 0.9238798 0.3826829 0 0.9238798 -0.3826829 0 -0.3826846 -0.9238791 2.19489e-6 0.3826848 -0.9238791 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 117 |

2 0 0 0 1 0 1 1 0 1 4 1 31 2 27 2 5 2 5 3 30 3 31 3 5 4 29 4 30 4 4 5 29 5 5 5 23 6 27 6 25 6 7 7 28 7 4 7 7 8 21 8 26 8 9 9 25 9 27 9 28 10 14 10 13 10 19 11 25 11 15 11 24 12 20 12 18 12 23 13 6 13 5 13 23 14 22 14 6 14 6 15 8 15 7 15 18 16 17 16 16 16 17 17 15 17 16 17 13 18 11 18 10 18 11 19 9 19 10 19 7 20 8 20 21 20 3 21 6 21 7 21 6 22 1 22 5 22 7 23 0 23 3 23 32 24 29 24 33 24 31 25 32 25 35 25 27 26 35 26 37 26 9 27 37 27 39 27 10 28 39 28 38 28 36 29 10 29 38 29 33 36 28 36 34 36 34 37 13 37 36 37 40 38 14 38 41 38 12 39 40 39 43 39 25 40 43 40 45 40 15 41 45 41 47 41 16 42 47 42 46 42 44 43 16 43 46 43 41 50 24 50 42 50 42 51 18 51 44 51 48 52 20 52 49 52 19 53 48 53 51 53 23 54 51 54 53 54 22 55 53 55 55 55 8 56 55 56 54 56 52 57 8 57 54 57 49 64 26 64 50 64 50 65 21 65 52 65 0 66 2 66 3 66 1 67 4 67 5 67 29 68 4 68 28 68 27 69 23 69 5 69 28 70 7 70 26 70 25 71 9 71 12 71 14 72 28 72 24 72 25 73 19 73 23 73 20 74 24 74 26 74 8 75 6 75 22 75 17 76 18 76 20 76 15 77 17 77 19 77 11 78 13 78 14 78 9 79 11 79 12 79 6 80 3 80 2 80 1 81 6 81 2 81 0 82 7 82 4 82 29 83 32 83 30 83 32 84 31 84 30 84 35 85 27 85 31 85 37 86 9 86 27 86 39 87 10 87 9 87 10 88 36 88 13 88 28 89 33 89 29 89 13 90 34 90 28 90 14 91 40 91 11 91 40 92 12 92 11 92 43 93 25 93 12 93 45 94 15 94 25 94 47 95 16 95 15 95 16 96 44 96 18 96 24 97 41 97 14 97 18 98 42 98 24 98 20 99 48 99 17 99 48 100 19 100 17 100 51 101 23 101 19 101 53 102 22 102 23 102 55 103 8 103 22 103 8 104 52 104 21 104 26 105 49 105 20 105 21 106 50 106 26 106

118 |
119 | 120 | 121 | 122 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 123 |

32 30 33 30 35 30 33 31 34 31 35 31 34 32 37 32 35 32 34 33 39 33 37 33 34 34 36 34 39 34 36 35 38 35 39 35 40 44 41 44 43 44 41 45 42 45 43 45 42 46 45 46 43 46 42 47 47 47 45 47 42 48 44 48 47 48 44 49 46 49 47 49 48 58 49 58 51 58 49 59 50 59 51 59 50 60 53 60 51 60 50 61 52 61 53 61 52 62 55 62 53 62 52 63 54 63 55 63

124 |
125 |
126 | 1 127 |
128 |
129 | 130 | 131 | 132 | 0 0 0 133 | 0 0 1 0 134 | 0 1 0 0 135 | 1 0 0 0 136 | 0.04101324 0.04101324 0.04101324 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 |
152 | -------------------------------------------------------------------------------- /Gazebo/meshes/kinect_camera/kinect_camera_simple.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/kinect_camera/kinect_camera_simple.stl -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/blender/quadrotor_2.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/blender/quadrotor_2.blend -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/blender/quadrotor_2.blend1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/blender/quadrotor_2.blend1 -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/blender/quadrotor_3.blend1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/blender/quadrotor_3.blend1 -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/blender/quadrotor_CAD.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/blender/quadrotor_CAD.blend -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/blender/quadrotor_CAD2.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/blender/quadrotor_CAD2.blend -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/blender/quadrotor_CAD2.blend1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/blender/quadrotor_CAD2.blend1 -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/blender/quadrotor_CAD2.blend2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/blender/quadrotor_CAD2.blend2 -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/blender/quadrotor_base.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/blender/quadrotor_base.blend -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/quadrotor_2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/quadrotor_2.stl -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/quadrotor_3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/quadrotor_3.stl -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/quadrotor_4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/quadrotor_4.stl -------------------------------------------------------------------------------- /Gazebo/meshes/quadrotor/quadrotor_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/quadrotor/quadrotor_base.stl -------------------------------------------------------------------------------- /Gazebo/meshes/sonar_sensor/blender/max_sonar_ez4.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/sonar_sensor/blender/max_sonar_ez4.blend -------------------------------------------------------------------------------- /Gazebo/meshes/sonar_sensor/max_sonar_ez4.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stefan Kohlbrecher 6 | Blender 2.61.4 r43995 7 | 8 | 2012-02-09T09:19:02 9 | 2012-02-09T09:19:02 10 | 11 | Z_UP 12 | 13 | 14 | 15 | 16 | 17 | 18 | 49.13434 19 | 1.777778 20 | 0.1 21 | 100 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 1 1 1 32 | 1 33 | 0 34 | 0.00111109 35 | 36 | 37 | 38 | 39 | 0.000999987 40 | 0 41 | 1 42 | 1 43 | 1 44 | 1 45 | 1 46 | 2 47 | 0 48 | 1 49 | 1 50 | 1 51 | 1 52 | 1 53 | 0 54 | 2880 55 | 2 56 | 30.002 57 | 1.000799 58 | 0.04999995 59 | 29.99998 60 | 1 61 | 2 62 | 0 63 | 0 64 | 1 65 | 1 66 | 1 67 | 1 68 | 8192 69 | 1 70 | 1 71 | 0 72 | 1 73 | 1 74 | 1 75 | 3 76 | 0 77 | 0 78 | 0 79 | 0 80 | 45 81 | 0 82 | 1 83 | 1 84 | 1 85 | 3 86 | 0.15 87 | 75 88 | 1 89 | 1 90 | 0 91 | 1 92 | 1 93 | 0 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 0 0 0 1 105 | 106 | 107 | 0.05536731 0.2029368 0.01810702 1 108 | 109 | 110 | 0.05536731 0.2029368 0.01810702 1 111 | 112 | 113 | 0.5 0.5 0.5 1 114 | 115 | 116 | 50 117 | 118 | 119 | 1 120 | 121 | 122 | 123 | 124 | 125 | 1 126 | 127 | 128 | 129 | 1 130 | 131 | 132 | 133 | 134 | 135 | 136 | 0 0 0 1 137 | 138 | 139 | 0.02484926 0.02484926 0.02484926 1 140 | 141 | 142 | 0.02484926 0.02484926 0.02484926 1 143 | 144 | 145 | 0.5 0.5 0.5 1 146 | 147 | 148 | 50 149 | 150 | 151 | 1 152 | 153 | 154 | 155 | 156 | 157 | 1 158 | 159 | 160 | 161 | 1 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 0.01099997 0.01099979 0 0.01099991 -0.01100003 0 -0.01100021 -0.01099991 0 -0.01099973 0.01100021 0 -0.01099973 0.01100021 0.002601444 -0.01100021 -0.01099991 0.002601444 0.01099991 -0.01100003 0.002601444 0.01099997 0.01099979 0.002601444 0 0.007999956 0.003145456 0.005656838 0.005656838 0.003145456 0.007999956 0 0.003145456 0.005656838 -0.005656838 0.003145456 0 -0.007999956 0.003145456 -0.005656838 -0.005656838 0.003145456 -0.007999956 0 0.003145456 -0.005656838 0.005656838 0.003145456 0 0.007999956 0.01499998 0.005656838 0.005656838 0.01499998 0.007999956 0 0.01499998 0.005656838 -0.005656838 0.01499998 0 -0.007999956 0.01499998 -0.005656838 -0.005656838 0.01499998 -0.007999956 0 0.01499998 -0.005656838 0.005656838 0.01499998 0 0 0.01499998 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 -0.7070834 0.7070834 0 -0.548967 0.548967 0.6302378 0 0.7763603 0.6302378 0 1 0 -1 0 0 -0.7763603 0 0.6302378 -0.7070834 -0.7070834 0 -0.548967 -0.548967 0.6302378 0 -1 0 0 -0.7763603 0.6302378 0.7070834 -0.7070834 0 0.548967 -0.548967 0.6302378 1 0 0 0.7763603 0 0.6302378 0.7070834 0.7070834 0 0.548967 0.548967 0.6302378 0 0 1 0 0 1 -5.41857e-6 -1 0 -5.41857e-6 -1 0 1 -2.70932e-6 0 1 -2.70932e-6 0 1.89654e-5 1 0 1.89654e-5 1 0 -1 2.16743e-5 0 -1 2.16743e-5 0 0 0 -1 0 0 -1 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 3 3 3 3 3 3 3 3 3 3 3 3 202 |

5 24 7 24 4 24 5 25 6 25 7 25 1 26 5 26 2 26 1 27 6 27 5 27 0 28 6 28 1 28 0 29 7 29 6 29 7 30 0 30 3 30 3 31 4 31 7 31 2 32 4 32 3 32 2 33 5 33 4 33 0 34 2 34 3 34 0 35 1 35 2 35

203 |
204 | 205 | 206 | 207 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 208 |

24 0 17 0 16 0 24 1 18 1 17 1 24 2 19 2 18 2 24 3 20 3 19 3 24 4 21 4 20 4 24 5 22 5 21 5 24 6 23 6 22 6 24 7 16 7 23 7 15 8 23 9 16 10 15 8 16 10 8 11 14 12 22 13 23 9 14 12 23 9 15 8 13 14 21 15 22 13 13 14 22 13 14 12 12 16 20 17 21 15 12 16 21 15 13 14 11 18 19 19 20 17 11 18 20 17 12 16 10 20 18 21 19 19 10 20 19 19 11 18 9 22 17 23 18 21 9 22 18 21 10 20 8 11 16 10 17 23 8 11 17 23 9 22

209 |
210 |
211 | 1 212 |
213 |
214 | 215 | 216 | 217 | 0 0 0 218 | 0 0 1 0 219 | 0 1 0 89.99999 220 | 1 0 0 -7.69819e-6 221 | 1 1 1 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 5.903862 1.005455 -4.076244 233 | 0 0 1 93.30684 234 | 0 1 0 -16.90973 235 | 1 0 0 126.2982 236 | 1 1 1 237 | 238 | 239 | 240 | 5.343667 -6.507638 -7.481132 241 | 0 0 1 90.85168 242 | 0 1 0 43.30489 243 | 1 0 0 154.1435 244 | 1 1 1 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 |
253 | -------------------------------------------------------------------------------- /Gazebo/meshes/thermaleye_camera/thermaleye_camera_hector_v1.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stefan Kohlbrecher 6 | Blender 2.62.1 r44749 7 | 8 | 2012-03-09T20:09:09 9 | 2012-03-09T20:09:09 10 | 11 | Z_UP 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 0 0 0 1 20 | 21 | 22 | 0.1 0.1 0.1 1 23 | 24 | 25 | 0.64 0.64 0.64 1 26 | 27 | 28 | 0.5 0.5 0.5 1 29 | 30 | 31 | 50 32 | 33 | 34 | 1 35 | 36 | 37 | 38 | 39 | 40 | 1 41 | 42 | 43 | 44 | 1 45 | 46 | 47 | 48 | 49 | 50 | 51 | 0 0 0 1 52 | 53 | 54 | 0.1 0.1 0.1 1 55 | 56 | 57 | 0.05597978 0.05597978 0.05597978 1 58 | 59 | 60 | 0.5 0.5 0.5 1 61 | 62 | 63 | 50 64 | 65 | 66 | 1 67 | 68 | 69 | 70 | 71 | 72 | 1 73 | 74 | 75 | 76 | 1 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 0.0169999 0.02078455 -0.01199996 -0.1149998 0.02399992 0 0.0169999 0.02399992 0 0.0169999 0.01082527 -0.006249964 0.0169999 0.01249998 0 0.02399992 0.01082527 -0.006249964 0.02399992 0.01249998 0 0.02399992 0.006249964 -0.01082527 0.0169999 0.01199996 -0.02078455 -0.1149998 0.02078455 -0.01199996 0.0169999 0.006249964 -0.01082527 0.02399992 0 -0.01249998 0.0169999 0 -0.02399992 -0.1149998 0.01199996 -0.02078455 0.0169999 0 -0.01249998 0.02399992 -0.006249964 -0.01082527 0.0169999 -0.01199996 -0.02078455 -0.1149998 0 -0.02399992 0.0169999 -0.006249964 -0.01082527 0.02399992 -0.01082527 -0.006249964 0.0169999 -0.02078455 -0.01199996 -0.1149998 -0.01199996 -0.02078455 0.0169999 -0.01082527 -0.006249964 0.02399992 -0.01249998 0 0.0169999 -0.02399992 0 -0.1149998 -0.02078455 -0.01199996 0.0169999 -0.01249998 0 0.02399992 -0.01082527 0.006249964 0.0169999 -0.02078455 0.01199996 -0.1149998 -0.02399992 0 0.0169999 -0.01082527 0.006249964 0.02399992 -0.006249964 0.01082527 0.0169999 -0.01199996 0.02078455 -0.1149998 -0.02078455 0.01199996 0.0169999 -0.006249964 0.01082527 0.02399992 0 0.01249998 0.0169999 0 0.02399992 -0.1149998 -0.01199996 0.02078455 0.0169999 0 0.01249998 0.02399992 0.006249964 0.01082527 0.0169999 0.01199996 0.02078455 -0.1149998 0 0.02399992 0.0169999 0.006249964 0.01082527 0.02399992 0.01082527 0.006249964 0.0169999 0.02078455 0.01199996 -0.1149998 0.01199996 0.02078455 0.0169999 0.01082527 0.006249964 -0.1149998 0 0 0.02399992 0 0 -0.1149998 0.02078455 0.01199996 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 0.6532182 0.6557207 -0.3785516 -0.6532182 0.7571337 0 0.6532182 0.7571337 0 1 0 0 0.6532182 0.6557207 -0.3785516 0.7702566 0.6377148 0 0.6532182 0.7571337 0 0.6532182 0.3785516 -0.6557207 0.7702566 0.552263 -0.3188574 -0.6532182 0.6557207 -0.3785516 0.6532182 0.3785516 -0.6557207 1 0 0 0.6532182 0 -0.7571337 0.7702566 0.3188574 -0.552263 0.6532182 0 -0.7571337 -0.6532182 0.3785516 -0.6557207 1 0 0 0.6532182 -0.3785516 -0.6557207 0.7702566 0 -0.6377148 0.6532182 -0.3785516 -0.6557207 -0.6532182 0 -0.7571337 1 0 0 0.6532182 -0.6557207 -0.3785516 0.7702566 -0.3188574 -0.552263 0.6532182 -0.6557207 -0.3785516 -0.6532182 -0.3785516 -0.6557207 1 0 0 0.6532182 -0.7571337 0 0.7702566 -0.552263 -0.3188574 0.6532182 -0.7571337 0 -0.6532182 -0.6557207 -0.3785516 1 0 0 0.6532182 -0.6557207 0.3785516 0.7702566 -0.6377148 0 0.6532182 -0.6557207 0.3785516 -0.6532182 -0.7571337 0 1 0 0 0.6532182 -0.3785516 0.6557207 0.7702566 -0.552263 0.3188574 0.6532182 -0.3785516 0.6557207 -0.6532182 -0.6557207 0.3785516 1 0 0 0.6532182 0 0.7571337 0.7702566 -0.3188574 0.552263 0.6532182 0 0.7571337 -0.6532182 -0.3785516 0.6557207 1 0 0 0.6532182 0.3785516 0.6557207 0.7702566 0 0.6377148 0.6532182 0.3785516 0.6557207 -0.6532182 0 0.7571337 1 0 0 0.6532182 0.6557207 0.3785516 0.7702566 0.3188574 0.552263 0.6532182 0.6557207 0.3785516 -0.6532182 0.3785516 0.6557207 1 0 0 -1 0 0 1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 -1 0 0 1 0 0 0.7702566 0.552263 0.3188574 -0.6532182 0.6557207 0.3785516 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 117 |

0 0 1 1 2 2 3 3 2 3 4 3 9 9 0 0 8 10 10 11 0 11 3 11 12 14 13 15 8 10 14 16 8 16 10 16 16 19 17 20 12 14 18 21 12 21 14 21 20 24 21 25 16 19 22 26 16 26 18 26 24 29 25 30 20 24 26 31 20 31 22 31 28 34 29 35 24 29 30 36 24 36 26 36 32 39 33 40 28 34 34 41 28 41 30 41 36 44 37 45 32 39 38 46 32 46 34 46 40 49 41 50 36 44 42 51 36 51 38 51 44 54 45 55 40 49 46 56 40 56 42 56 47 57 1 57 9 57 47 60 9 60 13 60 47 62 13 62 17 62 47 64 17 64 21 64 47 66 21 66 25 66 47 68 25 68 29 68 47 70 29 70 33 70 47 72 33 72 37 72 47 74 37 74 41 74 47 76 41 76 45 76 47 78 45 78 49 78 2 2 49 81 44 54 47 82 49 82 1 82 4 83 44 83 46 83 1 1 0 0 9 9 3 84 0 84 2 84 9 9 8 10 13 15 0 85 10 85 8 85 13 15 12 14 17 20 8 86 14 86 12 86 17 20 16 19 21 25 12 87 18 87 16 87 21 25 20 24 25 30 16 88 22 88 20 88 25 30 24 29 29 35 20 89 26 89 24 89 29 35 28 34 33 40 24 90 30 90 28 90 33 40 32 39 37 45 28 91 34 91 32 91 37 45 36 44 41 50 32 92 38 92 36 92 41 50 40 49 45 55 36 93 42 93 40 93 45 55 44 54 49 81 40 94 46 94 44 94 49 81 2 2 1 1 44 95 4 95 2 95

118 |
119 | 120 | 121 | 122 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 123 |

5 4 4 5 6 6 7 7 3 8 5 4 11 12 10 13 7 7 15 17 14 18 11 12 19 22 18 23 15 17 23 27 22 28 19 22 27 32 26 33 23 27 31 37 30 38 27 32 35 42 34 43 31 37 39 47 38 48 35 42 43 52 42 53 39 47 5 58 6 58 48 58 7 59 5 59 48 59 11 61 7 61 48 61 15 63 11 63 48 63 48 65 19 65 15 65 19 67 48 67 23 67 27 69 23 69 48 69 31 71 27 71 48 71 35 73 31 73 48 73 39 75 35 75 48 75 43 77 39 77 48 77 6 79 43 79 48 79 6 6 46 80 43 52 4 5 5 4 3 8 3 8 7 7 10 13 10 13 11 12 14 18 14 18 15 17 18 23 18 23 19 22 22 28 22 28 23 27 26 33 26 33 27 32 30 38 30 38 31 37 34 43 34 43 35 42 38 48 38 48 39 47 42 53 42 53 43 52 46 80 46 80 6 6 4 5

124 |
125 |
126 | 1 127 |
128 |
129 | 130 | 131 | 132 | 0 0 0 133 | 0 0 1 0 134 | 0 1 0 0 135 | 1 0 0 0 136 | 1 1 1 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 |
152 | -------------------------------------------------------------------------------- /Gazebo/meshes/thermaleye_camera/thermaleye_camera_hector_v1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/thermaleye_camera/thermaleye_camera_hector_v1.stl -------------------------------------------------------------------------------- /Gazebo/meshes/thermaleye_camera/thermaleye_camera_hector_v2.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Blender User 6 | Blender 2.62.2 r45133 7 | 8 | 2012-03-27T13:57:29 9 | 2012-03-27T13:57:29 10 | 11 | Z_UP 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 0 0 0 1 20 | 21 | 22 | 0 0 0 1 23 | 24 | 25 | 0.64 0.64 0.64 1 26 | 27 | 28 | 0.5 0.5 0.5 1 29 | 30 | 31 | 50 32 | 33 | 34 | 1 35 | 36 | 37 | 38 | 39 | 40 | 1 41 | 42 | 43 | 44 | 1 45 | 46 | 47 | 48 | 49 | 50 | 51 | 0 0 0 1 52 | 53 | 54 | 0 0 0 1 55 | 56 | 57 | 0.05597978 0.05597978 0.05597978 1 58 | 59 | 60 | 0.5 0.5 0.5 1 61 | 62 | 63 | 50 64 | 65 | 66 | 1 67 | 68 | 69 | 70 | 71 | 72 | 1 73 | 74 | 75 | 76 | 1 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 0.0169999 0.01082527 -0.006249964 0.0169999 0.01249998 0 0.02399992 0.01082527 -0.006249964 0.02399992 0.01249998 0 0.02399992 0.006249964 -0.01082527 0.0169999 0.006249964 -0.01082527 0.02399992 0 -0.01249998 0.0169999 0 -0.01249998 0.02399992 -0.006249964 -0.01082527 0.0169999 -0.006249964 -0.01082527 0.02399992 -0.01082527 -0.006249964 0.0169999 -0.01082527 -0.006249964 0.02399992 -0.01249998 0 0.0169999 -0.01249998 0 0.02399992 -0.01082527 0.006249964 0.0169999 -0.01082527 0.006249964 0.02399992 -0.006249964 0.01082527 -0.118 0.0205 -0.0205 0.0169999 -0.006249964 0.01082527 0.02399992 0 0.01249998 -0.118 -0.0205 -0.0205 0.0169 -0.0205 -0.0205 0.0169999 0 0.01249998 0.02399992 0.006249964 0.01082527 0.0169 0.0205 -0.0205 -0.118 0.0205 0.0205 0.0169999 0.006249964 0.01082527 0.02399992 0.01082527 0.006249964 -0.118 -0.0205 0.0205 0.0169 -0.0205 0.0205 0.0169999 0.01082527 0.006249964 -0.1149998 0 0 0.02399992 0 0 0.0169 0.0205 0.0205 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 0.6532182 0.6557207 -0.3785516 0 1 0 0.6532182 0.7571337 0 0.6532182 0.3785516 -0.6557207 0 0.8660237 -0.4999848 0.6532182 0 -0.7571337 0 0.4999848 -0.8660237 0.6532182 -0.3785516 -0.6557207 0 0 -1 0.6532182 -0.6557207 -0.3785516 0 -0.4999848 -0.8660237 0.6532182 -0.7571337 0 0 -0.8660237 -0.4999848 0.6532182 -0.6557207 0.3785516 0 -1 0 0.6532182 -0.3785516 0.6557207 0 -0.8660237 0.4999848 0.6532182 0 0.7571337 0 -0.4999848 0.8660237 0.6532182 0.3785516 0.6557207 0 0 1 0.6532182 0.6557207 0.3785516 0 0.4999848 0.8660237 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0.8660237 0.4999848 0 0 -1 0 0 1 0 1 0 -1 0 0 0 -1 0 1 0 0 0 0 -1 0 0 1 0 1 0 -1 0 0 0 -1 0 1 0 0 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 3 3 3 3 3 3 3 3 3 3 3 3 117 |

21 36 17 36 24 36 28 37 33 37 25 37 33 38 17 38 25 38 25 39 20 39 28 39 28 40 21 40 29 40 29 41 24 41 33 41 17 42 21 42 20 42 33 43 28 43 29 43 17 44 33 44 24 44 20 45 25 45 17 45 21 46 28 46 20 46 24 47 29 47 21 47

118 |
119 | 120 | 121 | 122 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 123 |

2 0 1 1 3 2 4 3 0 4 2 0 6 5 5 6 4 3 8 7 7 8 6 5 10 9 9 10 8 7 12 11 11 12 10 9 14 13 13 14 12 11 16 15 15 16 14 13 19 17 18 18 16 15 23 19 22 20 19 17 27 21 26 22 23 19 2 23 3 23 32 23 4 24 2 24 32 24 6 25 4 25 32 25 8 26 6 26 32 26 32 27 10 27 8 27 10 28 32 28 12 28 14 29 12 29 32 29 16 30 14 30 32 30 19 31 16 31 32 31 23 32 19 32 32 32 27 33 23 33 32 33 3 34 27 34 32 34 3 2 30 35 27 21 2 0 0 4 1 1 0 4 4 3 5 6 5 6 6 5 7 8 7 8 8 7 9 10 9 10 10 9 11 12 11 12 12 11 13 14 13 14 14 13 15 16 15 16 16 15 18 18 18 18 19 17 22 20 22 20 23 19 26 22 26 22 27 21 30 35 30 35 3 2 1 1

124 |
125 |
126 | 1 127 |
128 |
129 | 130 | 131 | 132 | 0 0 0 133 | 0 0 1 0 134 | 0 1 0 0 135 | 1 0 0 0 136 | 1 1 1 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 |
-------------------------------------------------------------------------------- /Gazebo/meshes/thermaleye_camera/thermaleye_camera_hector_v2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/meshes/thermaleye_camera/thermaleye_camera_hector_v2.stl -------------------------------------------------------------------------------- /Gazebo/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | imav_2017 4 | 0.0.0 5 | The imav_2017 package 6 | 7 | 8 | 9 | 10 | vince 11 | 12 | 13 | 14 | 15 | 16 | TODO 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 | catkin 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Gazebo/plugins/.kdev4/plugins.kdev4: -------------------------------------------------------------------------------- 1 | [Buildset] 2 | BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x0e\x00p\x00l\x00u\x00g\x00i\x00n\x00s) 3 | 4 | [CMake] 5 | Build Directory Count=1 6 | Current Build Directory Index=0 7 | ProjectRootRelative= 8 | 9 | [CMake][CMake Build Directory 0] 10 | Build Directory Path=file:///home/vince/catkin_ws/src/imav_2017/plugins/build 11 | Build Type= 12 | CMake Binary=file:///usr/bin/cmake 13 | Environment Profile= 14 | Extra Arguments= 15 | Install Directory=file:///usr/local 16 | 17 | [Defines And Includes][Compiler] 18 | Name=GCC 19 | Path=gcc 20 | Type=GCC 21 | 22 | [Project] 23 | VersionControlSupport=kdevgit 24 | -------------------------------------------------------------------------------- /Gazebo/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8 FATAL_ERROR) 2 | 3 | #find_package(gazebo REQUIRED) 4 | #find_package(gazebo_ros REQUIRED) 5 | #find_package(roscpp REQUIRED) 6 | #find_package(std_msgs REQUIRED) 7 | 8 | find_package(catkin REQUIRED COMPONENTS 9 | gazebo_ros 10 | geometry_msgs 11 | image_transport 12 | nav_msgs 13 | roscpp 14 | sensor_msgs 15 | std_msgs 16 | ) 17 | 18 | find_package(gazebo REQUIRED) 19 | 20 | file(GLOB inc_dirs ${CMAKE_SOURCE_DIR}/include) 21 | file(GLOB SOURCES src/*.cpp) 22 | 23 | include_directories( 24 | ${inc_dirs} 25 | ${GAZEBO_INCLUDE_DIRS} 26 | ${roscpp_INCLUDE_DIRS} 27 | ${std_msgs_INCLUDE_DIRS} 28 | ${SDFormat_INCLUDE_DIRS} 29 | ${Boost_INCLUDE_DIRS} 30 | ) 31 | 32 | link_directories( 33 | ${GAZEBO_LIBRARY_DIRS} 34 | ${SDFormat_LIBRARY_DIRS} 35 | ) 36 | 37 | list(APPEND CMAKE_CXX_FLAGS "${GAZEBO_CXX_FLAGS}") 38 | 39 | set(PLUGIN_NAME quadrotor_simple_controller) 40 | add_library(${PLUGIN_NAME} SHARED src/${PLUGIN_NAME}.cpp) 41 | #target_link_libraries(${PLUGIN_NAME} ${GAZEBO_LIBRARIES} ${roscpp_LIBRARIES} ${SDFormat_LIBRARIES} ${Boost_LIBRARIES}) 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /Gazebo/plugins/include/quadrotor_simple_controller.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | // Copyright (c) 2012, Johannes Meyer, TU Darmstadt 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are met: 7 | // * Redistributions of source code must retain the above copyright 8 | // notice, this list of conditions and the following disclaimer. 9 | // * Redistributions in binary form must reproduce the above copyright 10 | // notice, this list of conditions and the following disclaimer in the 11 | // documentation and/or other materials provided with the distribution. 12 | // * Neither the name of the Flight Systems and Automatic Control group, 13 | // TU Darmstadt, nor the names of its contributors may be used to 14 | // endorse or promote products derived from this software without 15 | // specific prior written permission. 16 | 17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 18 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 | // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY 21 | // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 | // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | //================================================================================================= 28 | 29 | /* 30 | * quadrotor motion controller: 31 | * 32 | * This software is a motion control gazebo plugin for the Ardrone simulator 33 | * 34 | * change: 35 | * 1. Noise is add to the callback function: VelocityCallback 36 | * 2. Create a subscriber for rostopic /ardrone/navdata 37 | * 3. An additional force and torque calculation is added base on the robot state information in /ardrone/navdata 38 | * 39 | * Created on: Oct 22, 2012 40 | * Author: Hongrong huang 41 | * 42 | * 43 | */ 44 | 45 | #ifndef HECTOR_GAZEBO_PLUGINS_QUADROTOR_SIMPLE_CONTROLLER_H 46 | #define HECTOR_GAZEBO_PLUGINS_QUADROTOR_SIMPLE_CONTROLLER_H 47 | 48 | #include "sdf/sdf.hh" 49 | #include "gazebo/gazebo.hh" 50 | #include "gazebo/common/Plugin.hh" 51 | 52 | #include 53 | #include 54 | 55 | #include 56 | #include 57 | #include 58 | //#include 59 | 60 | #define UNKNOWN_MODEL 0 61 | #define INITIALIZE_MODEL 1 62 | #define LANDED_MODEL 2 63 | #define FLYING_MODEL 3 64 | #define HOVERING_MODEL 4 65 | #define TESTING_MODEL 5 66 | #define TAKINGOFF_MODEL 6 67 | #define TO_FIX_POINT_MODEL 7 68 | #define LANDING_MODEL 8 69 | #define LOOPING_MODEL 9 70 | 71 | namespace gazebo 72 | { 73 | 74 | class GazeboQuadrotorSimpleController : public ModelPlugin 75 | { 76 | public: 77 | GazeboQuadrotorSimpleController(); 78 | virtual ~GazeboQuadrotorSimpleController(); 79 | 80 | protected: 81 | virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf); 82 | virtual void Update(); 83 | virtual void Reset(); 84 | 85 | private: 86 | /// \brief The parent World 87 | physics::WorldPtr world; 88 | 89 | /// \brief The link referred to by this plugin 90 | physics::LinkPtr link; 91 | 92 | ros::NodeHandle* node_handle_; 93 | ros::CallbackQueue callback_queue_; 94 | ros::Subscriber velocity_subscriber_; 95 | ros::Subscriber imu_subscriber_; 96 | ros::Subscriber state_subscriber_; 97 | 98 | // extra robot navi info subscriber 99 | std::string navdata_topic_; 100 | ros::Subscriber navdata_subscriber_; 101 | unsigned int navi_state; 102 | //*********************************** 103 | 104 | // void CallbackQueueThread(); 105 | // boost::mutex lock_; 106 | // boost::thread callback_queue_thread_; 107 | 108 | geometry_msgs::Twist velocity_command_; 109 | // callback functions for subscribers 110 | void VelocityCallback(const geometry_msgs::TwistConstPtr&); 111 | void ImuCallback(const sensor_msgs::ImuConstPtr&); 112 | void StateCallback(const nav_msgs::OdometryConstPtr&); 113 | // void NavdataCallback(const ardrone_autonomy::NavdataConstPtr& msg); 114 | 115 | ros::Time state_stamp; 116 | math::Pose pose; 117 | math::Vector3 euler, velocity, acceleration, angular_velocity; 118 | 119 | std::string link_name_; 120 | std::string namespace_; 121 | std::string velocity_topic_; 122 | std::string imu_topic_; 123 | std::string state_topic_; 124 | double max_force_; 125 | double motion_small_noise_; 126 | double motion_drift_noise_; 127 | double motion_drift_noise_time_; 128 | 129 | class PIDController { 130 | public: 131 | PIDController(); 132 | virtual ~PIDController(); 133 | virtual void Load(sdf::ElementPtr _sdf, const std::string& prefix = ""); 134 | 135 | double gain_p; 136 | double gain_i; 137 | double gain_d; 138 | double time_constant; 139 | double limit; 140 | 141 | double input; 142 | double dinput; 143 | double output; 144 | double p, i, d; 145 | 146 | double update(double input, double x, double dx, double dt); 147 | void reset(); 148 | }; 149 | 150 | struct Controllers { 151 | PIDController roll; 152 | PIDController pitch; 153 | PIDController yaw; 154 | PIDController velocity_x; 155 | PIDController velocity_y; 156 | PIDController velocity_z; 157 | } controllers_; 158 | 159 | math::Vector3 inertia; 160 | double mass; 161 | 162 | /// \brief save last_time 163 | common::Time last_time; 164 | 165 | // Pointer to the update event connection 166 | event::ConnectionPtr updateConnection; 167 | }; 168 | 169 | } 170 | 171 | #endif // HECTOR_GAZEBO_PLUGINS_QUADROTOR_SIMPLE_CONTROLLER_H 172 | -------------------------------------------------------------------------------- /Gazebo/plugins/plugins.kdev4: -------------------------------------------------------------------------------- 1 | [Project] 2 | Manager=KDevCMakeManager 3 | Name=plugins 4 | -------------------------------------------------------------------------------- /Gazebo/plugins/src/quadrotor_simple_controller.cpp: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | // Copyright (c) 2012, Johannes Meyer, TU Darmstadt 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are met: 7 | // * Redistributions of source code must retain the above copyright 8 | // notice, this list of conditions and the following disclaimer. 9 | // * Redistributions in binary form must reproduce the above copyright 10 | // notice, this list of conditions and the following disclaimer in the 11 | // documentation and/or other materials provided with the distribution. 12 | // * Neither the name of the Flight Systems and Automatic Control group, 13 | // TU Darmstadt, nor the names of its contributors may be used to 14 | // endorse or promote products derived from this software without 15 | // specific prior written permission. 16 | 17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 18 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 | // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY 21 | // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 | // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | //================================================================================================= 28 | 29 | #include 30 | #include "sdf/sdf.hh" 31 | #include "gazebo/common/Events.hh" 32 | #include "gazebo/physics/physics.hh" 33 | 34 | #include 35 | #include 36 | 37 | namespace gazebo { 38 | 39 | GazeboQuadrotorSimpleController::GazeboQuadrotorSimpleController() 40 | { 41 | 42 | } 43 | 44 | //////////////////////////////////////////////////////////////////////////////// 45 | // Destructor 46 | GazeboQuadrotorSimpleController::~GazeboQuadrotorSimpleController() 47 | { 48 | event::Events::DisconnectWorldUpdateBegin(updateConnection); 49 | 50 | node_handle_->shutdown(); 51 | delete node_handle_; 52 | } 53 | 54 | //////////////////////////////////////////////////////////////////////////////// 55 | // Load the controller 56 | void GazeboQuadrotorSimpleController::Load(physics::ModelPtr _model, sdf::ElementPtr _sdf) 57 | { 58 | world = _model->GetWorld(); 59 | 60 | 61 | 62 | // load parameters 63 | if (!_sdf->HasElement("robotNamespace")) 64 | namespace_.clear(); 65 | else 66 | namespace_ = _sdf->GetElement("robotNamespace")->Get("") +"/"; 67 | 68 | 69 | if (!_sdf->HasElement("topicName")) 70 | velocity_topic_ = "cmd_vel"; 71 | else 72 | velocity_topic_ = _sdf->GetElement("topicName")->Get(""); 73 | 74 | 75 | if (!_sdf->HasElement("imuTopic")) 76 | imu_topic_.clear(); 77 | else 78 | imu_topic_ = _sdf->GetElement("imuTopic")->Get(""); 79 | 80 | if (!_sdf->HasElement("stateTopic")) 81 | state_topic_.clear(); 82 | else 83 | state_topic_ = _sdf->GetElement("stateTopic")->Get(""); 84 | 85 | if (!_sdf->HasElement("bodyName")) 86 | { 87 | link = _model->GetLink(); 88 | link_name_ = link->GetName(); 89 | } 90 | else { 91 | link_name_ = _sdf->GetElement("bodyName")->Get(""); 92 | link = boost::dynamic_pointer_cast(world->GetEntity(link_name_)); 93 | } 94 | 95 | if (!link) 96 | { 97 | ROS_FATAL("gazebo_ros_baro plugin error: bodyName: %s does not exist\n", link_name_.c_str()); 98 | return; 99 | } 100 | 101 | if (!_sdf->HasElement("maxForce")) 102 | max_force_ = -1; 103 | else 104 | max_force_ = _sdf->GetElement("maxForce")->Get(""); 105 | 106 | 107 | if (!_sdf->HasElement("motionSmallNoise")) 108 | motion_small_noise_ = 0; 109 | else 110 | motion_small_noise_ = _sdf->GetElement("motionSmallNoise")->Get(""); 111 | 112 | if (!_sdf->HasElement("motionDriftNoise")) 113 | motion_drift_noise_ = 0; 114 | else 115 | motion_drift_noise_ = _sdf->GetElement("motionDriftNoise")->Get(""); 116 | 117 | if (!_sdf->HasElement("motionDriftNoiseTime")) 118 | motion_drift_noise_time_ = 1.0; 119 | else 120 | motion_drift_noise_time_ = _sdf->GetElement("motionDriftNoiseTime")->Get(""); 121 | 122 | 123 | controllers_.roll.Load(_sdf, "rollpitch"); 124 | controllers_.pitch.Load(_sdf, "rollpitch"); 125 | controllers_.yaw.Load(_sdf, "yaw"); 126 | controllers_.velocity_x.Load(_sdf, "velocityXY"); 127 | controllers_.velocity_y.Load(_sdf, "velocityXY"); 128 | controllers_.velocity_z.Load(_sdf, "velocityZ"); 129 | 130 | // Get inertia and mass of quadrotor body 131 | inertia = link->GetInertial()->GetPrincipalMoments(); 132 | mass = link->GetInertial()->GetMass(); 133 | 134 | node_handle_ = new ros::NodeHandle(namespace_); 135 | 136 | // subscribe command: velocity control command 137 | if (!velocity_topic_.empty()) 138 | { 139 | ros::SubscribeOptions ops = ros::SubscribeOptions::create( 140 | velocity_topic_, 1, 141 | boost::bind(&GazeboQuadrotorSimpleController::VelocityCallback, this, _1), 142 | ros::VoidPtr(), &callback_queue_); 143 | velocity_subscriber_ = node_handle_->subscribe(ops); 144 | } 145 | 146 | // subscribe imu 147 | if (!imu_topic_.empty()) 148 | { 149 | ros::SubscribeOptions ops = ros::SubscribeOptions::create( 150 | imu_topic_, 1, 151 | boost::bind(&GazeboQuadrotorSimpleController::ImuCallback, this, _1), 152 | ros::VoidPtr(), &callback_queue_); 153 | imu_subscriber_ = node_handle_->subscribe(ops); 154 | 155 | ROS_INFO_NAMED("quadrotor_simple_controller", "Using imu information on topic %s as source of orientation and angular velocity.", imu_topic_.c_str()); 156 | } 157 | 158 | // subscribe state 159 | if (!state_topic_.empty()) 160 | { 161 | ros::SubscribeOptions ops = ros::SubscribeOptions::create( 162 | state_topic_, 1, 163 | boost::bind(&GazeboQuadrotorSimpleController::StateCallback, this, _1), 164 | ros::VoidPtr(), &callback_queue_); 165 | state_subscriber_ = node_handle_->subscribe(ops); 166 | 167 | ROS_INFO_NAMED("quadrotor_simple_controller", "Using state information on topic %s as source of state information.", state_topic_.c_str()); 168 | } 169 | 170 | // callback_queue_thread_ = boost::thread( boost::bind( &GazeboQuadrotorSimpleController::CallbackQueueThread,this ) ); 171 | 172 | 173 | Reset(); 174 | 175 | // New Mechanism for Updating every World Cycle 176 | // Listen to the update event. This event is broadcast every 177 | // simulation iteration. 178 | updateConnection = event::Events::ConnectWorldUpdateBegin( 179 | boost::bind(&GazeboQuadrotorSimpleController::Update, this)); 180 | } 181 | 182 | //////////////////////////////////////////////////////////////////////////////// 183 | // Callbacks 184 | void GazeboQuadrotorSimpleController::VelocityCallback(const geometry_msgs::TwistConstPtr& velocity) 185 | { 186 | velocity_command_ = *velocity; 187 | 188 | 189 | static common::Time last_sim_time = world->GetSimTime(); 190 | static double time_counter_for_drift_noise = 0; 191 | static double drift_noise[4] = {0.0, 0.0, 0.0, 0.0}; 192 | // Get simulator time 193 | common::Time cur_sim_time = world->GetSimTime(); 194 | double dt = (cur_sim_time - last_sim_time).Double(); 195 | // save last time stamp 196 | last_sim_time = cur_sim_time; 197 | 198 | // generate noise 199 | if(time_counter_for_drift_noise > motion_drift_noise_time_) 200 | { 201 | drift_noise[0] = 2*motion_drift_noise_*(drand48()-0.5); 202 | drift_noise[1] = 2*motion_drift_noise_*(drand48()-0.5); 203 | drift_noise[2] = 2*motion_drift_noise_*(drand48()-0.5); 204 | drift_noise[3] = 2*motion_drift_noise_*(drand48()-0.5); 205 | time_counter_for_drift_noise = 0.0; 206 | } 207 | time_counter_for_drift_noise += dt; 208 | 209 | 210 | velocity_command_.linear.x += drift_noise[0] + 2*motion_small_noise_*(drand48()-0.5); 211 | velocity_command_.linear.y += drift_noise[1] + 2*motion_small_noise_*(drand48()-0.5); 212 | velocity_command_.linear.z += drift_noise[2] + 2*motion_small_noise_*(drand48()-0.5); 213 | velocity_command_.angular.z += drift_noise[3] + 2*motion_small_noise_*(drand48()-0.5); 214 | 215 | } 216 | 217 | void GazeboQuadrotorSimpleController::ImuCallback(const sensor_msgs::ImuConstPtr& imu) 218 | { 219 | pose.rot.Set(imu->orientation.w, imu->orientation.x, imu->orientation.y, imu->orientation.z); 220 | euler = pose.rot.GetAsEuler(); 221 | angular_velocity = pose.rot.RotateVector(math::Vector3(imu->angular_velocity.x, imu->angular_velocity.y, imu->angular_velocity.z)); 222 | } 223 | 224 | void GazeboQuadrotorSimpleController::StateCallback(const nav_msgs::OdometryConstPtr& state) 225 | { 226 | math::Vector3 velocity1(velocity); 227 | 228 | if (imu_topic_.empty()) { 229 | pose.pos.Set(state->pose.pose.position.x, state->pose.pose.position.y, state->pose.pose.position.z); 230 | pose.rot.Set(state->pose.pose.orientation.w, state->pose.pose.orientation.x, state->pose.pose.orientation.y, state->pose.pose.orientation.z); 231 | euler = pose.rot.GetAsEuler(); 232 | angular_velocity.Set(state->twist.twist.angular.x, state->twist.twist.angular.y, state->twist.twist.angular.z); 233 | } 234 | 235 | velocity.Set(state->twist.twist.linear.x, state->twist.twist.linear.y, state->twist.twist.linear.z); 236 | 237 | // calculate acceleration 238 | double dt = !state_stamp.isZero() ? (state->header.stamp - state_stamp).toSec() : 0.0; 239 | state_stamp = state->header.stamp; 240 | if (dt > 0.0) { 241 | acceleration = (velocity - velocity1) / dt; 242 | } else { 243 | acceleration.Set(); 244 | } 245 | } 246 | 247 | //////////////////////////////////////////////////////////////////////////////// 248 | // Update the controller 249 | void GazeboQuadrotorSimpleController::Update() 250 | { 251 | math::Vector3 force, torque; 252 | 253 | // Get new commands/state 254 | callback_queue_.callAvailable(); 255 | 256 | // Get simulator time 257 | common::Time sim_time = world->GetSimTime(); 258 | double dt = (sim_time - last_time).Double(); 259 | if (dt == 0.0) return; 260 | 261 | // Get Pose/Orientation from Gazebo (if no state subscriber is active) 262 | if (imu_topic_.empty()) { 263 | pose = link->GetWorldPose(); 264 | angular_velocity = link->GetWorldAngularVel(); 265 | euler = pose.rot.GetAsEuler(); 266 | } 267 | if (state_topic_.empty()) { 268 | acceleration = (link->GetWorldLinearVel() - velocity) / dt; 269 | velocity = link->GetWorldLinearVel(); 270 | } 271 | 272 | // Get gravity 273 | math::Vector3 gravity_body = pose.rot.RotateVector(world->GetPhysicsEngine()->GetGravity()); 274 | double gravity = gravity_body.GetLength(); 275 | double load_factor = gravity * gravity / world->GetPhysicsEngine()->GetGravity().Dot(gravity_body); // Get gravity 276 | 277 | // Rotate vectors to coordinate frames relevant for control 278 | math::Quaternion heading_quaternion(cos(euler.z/2),0,0,sin(euler.z/2)); 279 | math::Vector3 velocity_xy = heading_quaternion.RotateVectorReverse(velocity); 280 | math::Vector3 acceleration_xy = heading_quaternion.RotateVectorReverse(acceleration); 281 | math::Vector3 angular_velocity_body = pose.rot.RotateVectorReverse(angular_velocity); 282 | 283 | // update controllers 284 | force.Set(0.0, 0.0, 0.0); 285 | torque.Set(0.0, 0.0, 0.0); 286 | double pitch_command = controllers_.velocity_x.update(velocity_command_.linear.x, velocity_xy.x, acceleration_xy.x, dt) / gravity; 287 | double roll_command = -controllers_.velocity_y.update(velocity_command_.linear.y, velocity_xy.y, acceleration_xy.y, dt) / gravity; 288 | torque.x = inertia.x * controllers_.roll.update(roll_command, euler.x, angular_velocity_body.x, dt); 289 | torque.y = inertia.y * controllers_.pitch.update(pitch_command, euler.y, angular_velocity_body.y, dt); 290 | // torque.x = inertia.x * controllers_.roll.update(-velocity_command_.linear.y/gravity, euler.x, angular_velocity_body.x, dt); 291 | // torque.y = inertia.y * controllers_.pitch.update(velocity_command_.linear.x/gravity, euler.y, angular_velocity_body.y, dt); 292 | torque.z = inertia.z * controllers_.yaw.update(velocity_command_.angular.z, angular_velocity.z, 0, dt); 293 | force.z = mass * (controllers_.velocity_z.update(velocity_command_.linear.z, velocity.z, acceleration.z, dt) + load_factor * gravity); 294 | if (max_force_ > 0.0 && force.z > max_force_) force.z = max_force_; 295 | if (force.z < 0.0) force.z = 0.0; 296 | 297 | 298 | link->AddRelativeForce(force); 299 | link->AddRelativeTorque(torque); 300 | 301 | // save last time stamp 302 | last_time = sim_time; 303 | } 304 | 305 | //////////////////////////////////////////////////////////////////////////////// 306 | // Reset the controller 307 | void GazeboQuadrotorSimpleController::Reset() 308 | { 309 | controllers_.roll.reset(); 310 | controllers_.pitch.reset(); 311 | controllers_.yaw.reset(); 312 | controllers_.velocity_x.reset(); 313 | controllers_.velocity_y.reset(); 314 | controllers_.velocity_z.reset(); 315 | 316 | link->SetForce(math::Vector3(0,0,0)); 317 | link->SetTorque(math::Vector3(0,0,0)); 318 | 319 | // reset state 320 | pose.Reset(); 321 | velocity.Set(); 322 | angular_velocity.Set(); 323 | acceleration.Set(); 324 | euler.Set(); 325 | state_stamp = ros::Time(); 326 | } 327 | 328 | //////////////////////////////////////////////////////////////////////////////// 329 | // PID controller implementation 330 | GazeboQuadrotorSimpleController::PIDController::PIDController() 331 | { 332 | } 333 | 334 | GazeboQuadrotorSimpleController::PIDController::~PIDController() 335 | { 336 | } 337 | 338 | void GazeboQuadrotorSimpleController::PIDController::Load(sdf::ElementPtr _sdf, const std::string& prefix) 339 | { 340 | gain_p = 0.0; 341 | gain_d = 0.0; 342 | gain_i = 0.0; 343 | time_constant = 0.0; 344 | limit = -1.0; 345 | 346 | if (!_sdf) return; 347 | 348 | 349 | // _sdf->PrintDescription(_sdf->GetName()); 350 | if (_sdf->HasElement(prefix + "ProportionalGain")) gain_p = _sdf->GetElement(prefix + "ProportionalGain")->Get(""); 351 | if (_sdf->HasElement(prefix + "DifferentialGain")) gain_d = _sdf->GetElement(prefix + "DifferentialGain")->Get(""); 352 | if (_sdf->HasElement(prefix + "IntegralGain")) gain_i = _sdf->GetElement(prefix + "IntegralGain")->Get(""); 353 | if (_sdf->HasElement(prefix + "TimeConstant")) time_constant = _sdf->GetElement(prefix + "TimeConstant")->Get(""); 354 | if (_sdf->HasElement(prefix + "Limit")) limit = _sdf->GetElement(prefix + "Limit")->Get(""); 355 | 356 | } 357 | 358 | double GazeboQuadrotorSimpleController::PIDController::update(double new_input, double x, double dx, double dt) 359 | { 360 | // limit command 361 | if (limit > 0.0 && fabs(new_input) > limit) new_input = (new_input < 0 ? -1.0 : 1.0) * limit; 362 | 363 | // filter command 364 | if (dt + time_constant > 0.0) { 365 | dinput = (new_input - input) / (dt + time_constant); 366 | input = (dt * new_input + time_constant * input) / (dt + time_constant); 367 | } 368 | 369 | // update proportional, differential and integral errors 370 | p = input - x; 371 | d = dinput - dx; 372 | i = i + dt * p; 373 | 374 | // update control output 375 | output = gain_p * p + gain_d * d + gain_i * i; 376 | return output; 377 | } 378 | 379 | void GazeboQuadrotorSimpleController::PIDController::reset() 380 | { 381 | input = dinput = 0; 382 | p = i = d = output = 0; 383 | } 384 | 385 | // Register this plugin with the simulator 386 | GZ_REGISTER_MODEL_PLUGIN(GazeboQuadrotorSimpleController) 387 | 388 | } // namespace gazebo 389 | -------------------------------------------------------------------------------- /Gazebo/run_gzb.sh: -------------------------------------------------------------------------------- 1 | cd ~/catkin_ws/src/IMAV_2017_Virtual_Challenge/urdf 2 | export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:~/catkin_ws/src/IMAV_2017_Virtual_Challenge/plugins/build 3 | roslaunch imav_2017 imav_indoor.launch 4 | -------------------------------------------------------------------------------- /Gazebo/scripts/ps2cmd_vel.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import sys 4 | 5 | import rospy 6 | from std_msgs.msg import String 7 | from geometry_msgs.msg import Twist 8 | from geometry_msgs.msg import Vector3 9 | 10 | from sensor_msgs.msg import Joy 11 | 12 | 13 | 14 | class ps_forward: 15 | 16 | def callback(self,data): 17 | ps_axes = data.axes; 18 | command = Twist(Vector3(ps_axes[3]*self.scaling,ps_axes[2]*self.scaling,ps_axes[1]*self.scaling),Vector3(0,0,ps_axes[0]*self.scaling)) 19 | #print(command) 20 | self.pub.publish(command) 21 | 22 | def __init__(self,id): 23 | 24 | rospy.init_node('ps_forward', anonymous=True) 25 | 26 | self.scaling = 10 27 | rospy.Subscriber("joy", Joy, self.callback) 28 | self.pub = rospy.Publisher('/quadrotor_' + id + '/cmd_vel', Twist, queue_size=10) 29 | 30 | rospy.spin() 31 | 32 | if __name__ == '__main__': 33 | ps_f=ps_forward(sys.argv[1]) 34 | -------------------------------------------------------------------------------- /Gazebo/setup.sh: -------------------------------------------------------------------------------- 1 | mkdir -p ~/catkin_ws/src/IMAV_2017_Virtual_Challenge 2 | cp -r * ~/catkin_ws/src/IMAV_2017_Virtual_Challenge 3 | 4 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 5 | sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 6 | 7 | sudo apt update 8 | sudo apt install ros-kinetic-desktop -y 9 | 10 | sudo rosdep init 11 | rosdep update 12 | 13 | echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc 14 | source ~/.bashrc 15 | 16 | sudo apt install python-rosinstall -y 17 | 18 | cd ~/catkin_ws/ 19 | catkin_make 20 | 21 | echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc 22 | source ~/.bashrc 23 | 24 | sudo apt install ros-kinetic-joy -y 25 | sudo apt install ros-kinetic-image-view -y 26 | 27 | sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list' 28 | wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add - 29 | sudo apt update 30 | 31 | sudo apt install gazebo7 libgazebo7-dev 32 | sudo apt install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control 33 | sudo apt install ros-kinetic-hector-gazebo-plugins ros-kinetic-hector-sensors-description ros-kinetic-hector-gazebo 34 | 35 | cd ~/catkin_ws/src/IMAV_2017_Virtual_Challenge/plugins 36 | mkdir -p build 37 | cd build 38 | cmake .. 39 | make 40 | 41 | cd ~/catkin_ws/ 42 | catkin_make 43 | 44 | cd ~/catkin_ws/src/IMAV_2017_Virtual_Challenge/worlds/xacro 45 | rosrun xacro xacro --inorder imav_indoor.world.xacro > ../imav_indoor.world 46 | 47 | 48 | echo 'export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:~/catkin_ws/src/IMAV_2017_Virtual_Challenge/plugins/build' >> ~/.bashrc 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Gazebo/start_uav.sh: -------------------------------------------------------------------------------- 1 | cd ~/catkin_ws/src/IMAV_2017_Virtual_Challenge/urdf 2 | /bin/bash spawnrobot.sh 1 -------------------------------------------------------------------------------- /Gazebo/urdf/quadrotor.urdf.xacro: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /Gazebo/urdf/quadrotor_base.urdf.xacro: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /Gazebo/urdf/quadrotor_simple_controller.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | true 11 | 0.0 12 | 13 | 14 | 15 | ${robot_name} 16 | /${robot_name}/cmd_vel 17 | 10.0 18 | 5.0 19 | 0.5 20 | 2.0 21 | 1.0 22 | 1.5 23 | 5.0 24 | 1.0 25 | 10 26 | 5.0 27 | 1.0 28 | 2.5 29 | 30 30 | 0.05 31 | 0.03 32 | 5.0 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Gazebo/urdf/sensors/generic_camera.urdf.xacro: -------------------------------------------------------------------------------- 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 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | ${update_rate} 69 | 70 | ${hfov} 71 | 72 | ${res_x} 73 | ${res_y} 74 | ${image_format} 75 | 76 | 77 | 0.01 78 | 0.01 79 | 100 80 | 81 | 82 | 83 | ${robot_name} 84 | ${name} 85 | true 86 | ${update_rate} 87 | image_raw 88 | camera_info 89 | ardrone_base_${name}cam 90 | 91 | 92 | 93 | 94 | PR2/Blue 95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /Gazebo/urdf/sensors/hokuyo_utm30lx.urdf.xacro: -------------------------------------------------------------------------------- 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 | true 38 | ${update_rate} 39 | 0 0 0 0 0 0 40 | false 41 | 42 | 43 | 44 | ${ray_count} 45 | 1 46 | ${min_angle * M_PI/180} 47 | ${max_angle * M_PI/180} 48 | 49 | 50 | 51 | 0.08 52 | 30.0 53 | 0.01 54 | 55 | 56 | 57 | ${robot_name} 58 | 0.005 59 | true 60 | ${update_rate} 61 | /${robot_name}/${ros_topic} 62 | ${name}_frame 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /Gazebo/urdf/sensors/quadrotor_sensors.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | true 9 | 100.0 10 | base_link 11 | ardrone_base_link 12 | /${robot_name}/imu 13 | 0 0 0 14 | 0 0 0 15 | 0 16 | 0.5 0.5 0.5 17 | 0.35 0.35 0.3 18 | 0.0 0.0 0.0 19 | 0.00 0.00 0.00 20 | 0.0 21 | 0.00 22 | 23 | 24 | 25 | true 26 | 10.0 27 | base_link 28 | /${robot_name}/pressure_height 29 | altimeter 30 | 0 31 | 0.1 32 | 0.5 33 | 34 | 35 | 36 | true 37 | 10.0 38 | base_link 39 | /${robot_name}/magnetic 40 | 0 0 0 41 | 0.0 0.0 0.0 42 | 1.3e-2 1.3e-2 1.3e-2 43 | 44 | 45 | 46 | true 47 | 4.0 48 | base_link 49 | /${robot_name}/fix 50 | /${robot_name}/fix_velocity 51 | 5.0 5.0 5.0 52 | 0.1 0.1 0.1 53 | 0 0 0 54 | 0.1 0.1 0.1 55 | 56 | 57 | 58 | true 59 | 100.0 60 | base_link 61 | /${robot_name}/ground_truth/state 62 | 0.0 63 | map 64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /Gazebo/urdf/sensors/sonar_sensor.urdf.xacro: -------------------------------------------------------------------------------- 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 | ${update_rate} 36 | 37 | 38 | ${min_range} 39 | ${max_range} 40 | 0.01 41 | 42 | 43 | 44 | ${ray_count} 45 | -${field_of_view/2} 46 | ${field_of_view/2} 47 | 48 | 49 | ${ray_count} 50 | -${field_of_view/2} 51 | ${field_of_view/2} 52 | 53 | 54 | 55 | 56 | 57 | 0.000 58 | /${sim_name}/${ros_topic} 59 | ${name}_link 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /Gazebo/urdf/spawnrobot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rosrun xacro xacro --inorder quadrotor.urdf.xacro id:=$1 > qws.urdf 4 | rosrun gazebo_ros spawn_model -file qws.urdf -urdf -model quadrotor_$1 -x -2.5 -y 2.5 -z 0.15 5 | -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/custom.material: -------------------------------------------------------------------------------- 1 | material MathWorks_branding 2 | { 3 | technique 4 | { 5 | pass 6 | { 7 | ambient 1.0 1.0 1.0 0.0 8 | diffuse 1.0 1.0 1.0 1.0 9 | specular 0.0 0.0 0.0 1.0 0.5 10 | 11 | texture_unit 12 | { 13 | texture mathworks_logo2.jpg 14 | filtering trilinear 15 | } 16 | } 17 | } 18 | } 19 | 20 | material MathWorks_branding_transp 21 | { 22 | technique 23 | { 24 | pass 25 | { 26 | ambient 0.5 0.5 0.5 1.0 27 | diffuse 1.0 1.0 1.0 1.0 28 | specular 0.0 0.0 0.0 1.0 0.5 29 | 30 | texture_unit 31 | { 32 | texture mathworks_logo1.png 33 | filtering trilinear 34 | } 35 | } 36 | } 37 | } 38 | 39 | material imav_branding 40 | { 41 | technique 42 | { 43 | pass 44 | { 45 | ambient 1.0 1.0 1.0 0.0 46 | diffuse 1.0 1.0 1.0 1.0 47 | specular 0.0 0.0 0.0 1.0 0.5 48 | 49 | texture_unit 50 | { 51 | texture imav2017_logo_cfp.png 52 | filtering trilinear 53 | } 54 | } 55 | } 56 | } 57 | 58 | material Helipad 59 | { 60 | technique 61 | { 62 | pass 63 | { 64 | ambient 0.5 0.5 0.5 1.0 65 | diffuse 1.0 1.0 1.0 1.0 66 | specular 0.0 0.0 0.0 1.0 0.5 67 | 68 | texture_unit 69 | { 70 | texture helipad1.jpg 71 | filtering trilinear 72 | } 73 | } 74 | } 75 | } 76 | 77 | material QR1 78 | { 79 | technique 80 | { 81 | pass 82 | { 83 | ambient 0.5 0.5 0.5 1.0 84 | diffuse 1.0 1.0 1.0 1.0 85 | specular 0.0 0.0 0.0 1.0 0.5 86 | 87 | texture_unit 88 | { 89 | texture qrcode_text.png 90 | filtering trilinear 91 | } 92 | } 93 | } 94 | } 95 | 96 | 97 | material X1 98 | { 99 | technique 100 | { 101 | pass 102 | { 103 | ambient 0.5 0.5 0.5 1.0 104 | diffuse 1.0 1.0 1.0 1.0 105 | specular 0.0 0.0 0.0 1.0 0.5 106 | 107 | texture_unit 108 | { 109 | texture x1.jpg 110 | filtering trilinear 111 | } 112 | } 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/helipad1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/worlds/xacro/helipad1.jpg -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/imav2017_logo_cfp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/worlds/xacro/imav2017_logo_cfp.png -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/imav_indoor.world.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 27 | 28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/macros.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 9 | ${x} ${y} 0 0 0 0 10 | 11 | 12 | 13 | 14 | 0 0 1 15 | ${length} ${width} 16 | 17 | 18 | 19 | 20 | 21 | 100 22 | 50 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 10 31 | 32 | 33 | 0 34 | 35 | 36 | 0 0 1 37 | ${length} ${width} 38 | 39 | 40 | 41 | ${color} 0.5 42 | 43 | 44 | 45 | 0 46 | 0 47 | 48 | 0 49 | 0 50 | 1 51 | 52 | 53 | 54 | 55 | 56 | 57 | 1 58 | ${x} ${y} 0 0 0 0 59 | 60 | 61 | 62 | 63 | 0 0 1 64 | ${length} ${width} 65 | 66 | 67 | 68 | 69 | 70 | 100 71 | 50 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 10 80 | 81 | 82 | 0 83 | 84 | 85 | 0 0 1 86 | ${length} ${width} 87 | 88 | 89 | 90 | 93 | 94 | 95 | 96 | 0 97 | 0 98 | 99 | 0 100 | 0 101 | 1 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 1 110 | 0 10 0 0 0 -${pi/2} 111 | 0.8 0.8 0.8 1 112 | 0.2 0.2 0.2 1 113 | 114 | 1000 115 | 0.9 116 | 0.01 117 | 0.001 118 | 119 | -0.5 0.1 -0.9 120 | 121 | 122 | 123 | 124 | 125 | 126 | 0.001 127 | 1 128 | 1000 129 | 130 | 0 0 -9.8 131 | 132 | 133 | 134 | 135 | ${amb} 136 | ${backg} 137 | 138 | 139 | 12 140 | 141 | 142 | 1 143 | 0 144 | 145 | 146 | 147 | 148 | 149 | 150 | 1.49016 -3.72367 3.62379 -2.88294e-17 0.273797 1.4042 151 | orbit 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | ${x} ${y} ${z} 0 0 0 160 | 161 | 162 | ${w} ${l} ${h} 163 | 164 | 165 | 166 | 167 | 0x02 168 | 169 | 170 | 171 | 172 | ${x} ${y} ${z} 0 0 0 173 | 174 | 175 | ${w} ${l} ${h} 176 | 177 | 178 | 179 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | true 190 | ${x} ${y} ${z} 0 0 0 191 | 192 | 193 | 10000 194 | 195 | 196 | 197 | 198 | 199 | ${w} ${l} ${h} 200 | 201 | 202 | 203 | 204 | 0x02 205 | 206 | 207 | 208 | 209 | 210 | 211 | ${w} ${l} ${h} 212 | 213 | 214 | 215 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | true 229 | ${x} ${y} ${z} 0 0 -1.5708 230 | 231 | 232 | 10000 233 | 234 | 235 | 236 | 237 | 238 | ${w} ${l} ${h} 239 | 240 | 241 | 242 | 243 | 0x02 244 | 245 | 246 | 247 | 248 | 249 | 250 | ${w} ${l} ${h} 251 | 252 | 253 | 254 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 1 269 | ${offset} 0 ${height/2} 0 0 0 270 | 271 | 272 | 273 | 274 | 10000 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 1 303 | ${x} ${y} 0 0 0 -1.5708 304 | 305 | 306 | 10000 307 | 308 | 309 | 310 | 0 0 0 0 0 0 311 | 312 | 313 | file://$(find imav_2017)/worlds/xacro/wall.dae 314 | 0.1 0.1 0.1 315 | 316 | 317 | 318 | 321 | 322 | 323 | 324 | 325 | 0 0 0 0 0 0 326 | 327 | 328 | file://$(find imav_2017)/worlds/xacro/wall.dae 329 | 0.1 0.1 0.1 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | ${x} ${y} ${z} 0 0 0 342 | 343 | 344 | 345 | 346 | ${size} 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | ${size} 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | ${x} ${y} ${z} 0 0 0 365 | 366 | 367 | ${r} 368 | ${h} 369 | 370 | 371 | 372 | 373 | 0x02 374 | 375 | 376 | 377 | 378 | ${x} ${y} ${z} 0 0 0 379 | 380 | 381 | ${r} 382 | ${h} 383 | 384 | 385 | 386 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | true 396 | 397 | 398 | 399 | 400 | 401 | ${r} 402 | ${h} 403 | 404 | 405 | 406 | 407 | 0x02 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | ${r} 416 | ${h} 417 | 418 | 419 | 420 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | ${x} ${y} ${h/2} 0 0 0 435 | 436 | ${l} ${w} 0.1 437 | 438 | ${num} 439 | 440 | ${dist} 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 1 450 | ${x} ${y} ${h/2} 0 0 0 451 | 452 | 453 | 454 | 455 | 10000 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | true 481 | 482 | 483 | 0 0 0 1.5708 0 0 484 | 485 | 486 | file://$(find imav_2017)/worlds/xacro/tree1.dae 487 | 0.01 0.01 0.01 488 | 489 | 490 | 491 | 492 | 493 | 0 0 0 1.5708 0 0 494 | 495 | 496 | file://$(find imav_2017)/worlds/xacro/tree1.dae 497 | 0.01 0.01 0.01 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | ${x} ${y} 0 0 0 0 506 | 507 | ${l} ${w} 0.1 508 | 509 | ${num} 510 | 511 | ${dist} 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | true 523 | 524 | 525 | 0 0 0 1.5708 0 0 526 | 527 | 528 | file://$(find imav_2017)/worlds/xacro/tree1.dae 529 | 0.01 0.004 0.01 530 | 531 | 532 | 533 | 534 | 535 | 0 0 0 1.5708 0 0 536 | 537 | 538 | file://$(find imav_2017)/worlds/xacro/tree1.dae 539 | 0.01 0.004 0.01 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | ${x} ${y} -0.5 0 0 0 548 | 549 | ${l} ${w} 0.1 550 | 551 | ${num} 552 | 553 | ${dist} 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | ${x} ${y} ${z} 0 0 0 563 | 564 | 10 565 | 566 | 567 | 568 | 569 | 570 | ${size} 571 | 572 | 573 | 574 | 575 | 0x02 576 | 577 | 578 | 579 | 580 | 581 | 582 | ${size} 583 | 584 | 585 | 586 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | true 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | ${x} ${y} ${z} 0 0 0 607 | 608 | false 609 | 610 | 611 | 612 | 0 0 0 0 0 0 613 | world 614 | base 615 | 616 | 617 | 618 | 619 | 620 | -${r/2} 0 0 0 0 0 621 | base 622 | arm 623 | 624 | 0 0 1 625 | 626 | 627 | 628 | 629 | ${v} 630 | 1000 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 0 0 0 0 0 0 641 | arm 642 | helipad_link 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | true 653 | 654 | ${x} ${y} ${z} 0 0 0 655 | 656 | 10 657 | 658 | 659 | 660 | 661 | 662 | ${size} 663 | 664 | 665 | 666 | 667 | 0x02 668 | 669 | 670 | 671 | 672 | 673 | 674 | ${size} 675 | 676 | 677 | 678 | 682 | 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | true 692 | 693 | ${x} ${y} ${z} 0 0 0 694 | 695 | 10 696 | 697 | 698 | 699 | 700 | 701 | ${size} 702 | 703 | 704 | 705 | 706 | 0x02 707 | 708 | 709 | 710 | 711 | 712 | 713 | ${size} 714 | 715 | 716 | 717 | 721 | 722 | 723 | 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/mathworks_logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/worlds/xacro/mathworks_logo1.png -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/mathworks_logo2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/worlds/xacro/mathworks_logo2.jpg -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/qrcode_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/worlds/xacro/qrcode_text.png -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/qrcode_url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/worlds/xacro/qrcode_url.png -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/tree1.obj: -------------------------------------------------------------------------------- 1 | # WaveFront *.obj file (generated by CINEMA 4D) 2 | 3 | g tree trunk trunk1 4 | usemtl Mat_1 5 | v 0 0 0 6 | v 0 200 0 7 | v 10.296769 0 -2.759011 8 | v 10.296769 0 -2.759011 9 | v 7.936374 22.222222 -4.279255 10 | v 5.814806 44.444444 -5.174738 11 | v 3.993367 66.666667 -5.703119 12 | v 2.418802 88.888889 -6.088488 13 | v 0.9495 111.111111 -6.482186 14 | v -0.606798 133.333333 -6.935729 15 | v -2.448401 155.555556 -7.388858 16 | v -4.733474 177.777778 -7.67413 17 | v -7.537758 200 -7.537758 18 | v -7.537758 200 -7.537758 19 | v 6.114325 0 -8.732161 20 | v 6.114325 0 -8.732161 21 | v 3.328963 22.222222 -8.379502 22 | v 1.128142 44.444444 -7.701765 23 | v -0.606798 66.666667 -6.935729 24 | v -2.060695 88.888889 -6.218828 25 | v -3.43931 111.111111 -5.57597 26 | v -4.923035 133.333333 -4.923035 27 | v -6.62505 155.555556 -4.086392 28 | v -8.558887 177.777778 -2.836106 29 | v -10.619435 200 -0.92908 30 | v -10.619435 200 -0.92908 31 | v -0.92908 0 -10.619435 32 | v -0.92908 0 -10.619435 33 | v -2.836106 22.222222 -8.558887 34 | v -4.086392 44.444444 -6.62505 35 | v -4.923035 66.666667 -4.923035 36 | v -5.57597 88.888889 -3.43931 37 | v -6.218828 111.111111 -2.060695 38 | v -6.935729 133.333333 -0.606798 39 | v -7.701765 155.555556 1.128142 40 | v -8.379502 177.777778 3.328963 41 | v -8.732161 200 6.114325 42 | v -8.732161 200 6.114325 43 | v -7.537758 0 -7.537758 44 | v -7.537758 0 -7.537758 45 | v -7.67413 22.222222 -4.733474 46 | v -7.388858 44.444444 -2.448401 47 | v -6.935729 66.666667 -0.606798 48 | v -6.482186 88.888889 0.9495 49 | v -6.088488 111.111111 2.418802 50 | v -5.703119 133.333333 3.993367 51 | v -5.174738 155.555556 5.814806 52 | v -4.279255 177.777778 7.936374 53 | v -2.759011 200 10.296769 54 | v -2.759011 200 10.296769 55 | v -10.619435 0 -0.92908 56 | v -10.619435 0 -0.92908 57 | v -8.921343 22.222222 1.306784 58 | v -7.233995 44.444444 2.873882 59 | v -5.703119 66.666667 3.993367 60 | v -4.355316 88.888889 4.894029 61 | v -3.109277 111.111111 5.766514 62 | v -1.801956 133.333333 6.72499 63 | v -0.226394 155.555556 7.780658 64 | v 1.823303 177.777778 8.830267 65 | v 4.505111 200 9.661241 66 | v 4.505111 200 9.661241 67 | v -8.732161 0 6.114325 68 | v -8.732161 0 6.114325 69 | v -5.994161 22.222222 6.735584 70 | v -3.694266 44.444444 6.851444 71 | v -1.801956 66.666667 6.72499 72 | v -0.190544 88.888889 6.548586 73 | v 1.3248 111.111111 6.416011 74 | v 2.942362 133.333333 6.309916 75 | v 4.827882 155.555556 6.105853 76 | v 7.072718 177.777778 5.59238 77 | v 9.661241 200 4.505111 78 | v 9.661241 200 4.505111 79 | v -2.759011 0 10.296769 80 | v -2.759011 0 10.296769 81 | v -0.262244 22.222222 9.012729 82 | v 1.574052 44.444444 7.623139 83 | v 2.942362 66.666667 6.309916 84 | v 4.063385 88.888889 5.138988 85 | v 5.138988 111.111111 4.063385 86 | v 6.309916 133.333333 2.942362 87 | v 7.623139 155.555556 1.574052 88 | v 9.012729 177.777778 -0.262244 89 | v 10.296769 200 -2.759011 90 | v 10.296769 200 -2.759011 91 | v 4.505111 0 9.661241 92 | v 4.505111 0 9.661241 93 | v 5.59238 22.222222 7.072718 94 | v 6.105853 44.444444 4.827882 95 | v 6.309916 66.666667 2.942362 96 | v 6.416011 88.888889 1.3248 97 | v 6.548586 111.111111 -0.190544 98 | v 6.72499 133.333333 -1.801956 99 | v 6.851444 155.555556 -3.694266 100 | v 6.735584 177.777778 -5.994161 101 | v 6.114325 200 -8.732161 102 | v 6.114325 200 -8.732161 103 | v 9.661241 0 4.505111 104 | v 9.661241 0 4.505111 105 | v 8.830267 22.222222 1.823303 106 | v 7.780658 44.444444 -0.226394 107 | v 6.72499 66.666667 -1.801956 108 | v 5.766514 88.888889 -3.109277 109 | v 4.894029 111.111111 -4.355316 110 | v 3.993367 133.333333 -5.703119 111 | v 2.873882 155.555556 -7.233995 112 | v 1.306784 177.777778 -8.921343 113 | v -0.92908 200 -10.619435 114 | v -0.92908 200 -10.619435 115 | 116 | vt 0.5 0.5 0 117 | vt 0.5 0.5 0 118 | vt 0 0.5 0 119 | vt 1 0 0 120 | vt 0 0 0 121 | vt 1 0.111111 0 122 | vt 0 0.111111 0 123 | vt 1 0.222222 0 124 | vt 0 0.222222 0 125 | vt 1 0.333333 0 126 | vt 0 0.333333 0 127 | vt 1 0.444444 0 128 | vt 0 0.444444 0 129 | vt 1 0.555556 0 130 | vt 0 0.555556 0 131 | vt 1 0.666667 0 132 | vt 0 0.666667 0 133 | vt 1 0.777778 0 134 | vt 0 0.777778 0 135 | vt 1 0.888889 0 136 | vt 0 0.888889 0 137 | vt 1 1 0 138 | vt 0 1 0 139 | vt 1 0.5 0 140 | vt 0.116978 0.821394 0 141 | vt 0.111111 0 0 142 | vt 0.111111 0.111111 0 143 | vt 0.111111 0.222222 0 144 | vt 0.111111 0.333333 0 145 | vt 0.111111 0.444444 0 146 | vt 0.111111 0.555556 0 147 | vt 0.111111 0.666667 0 148 | vt 0.111111 0.777778 0 149 | vt 0.111111 0.888889 0 150 | vt 0.111111 1 0 151 | vt 0.883022 0.821394 0 152 | vt 0.413176 0.992404 0 153 | vt 0.222222 0 0 154 | vt 0.222222 0.111111 0 155 | vt 0.222222 0.222222 0 156 | vt 0.222222 0.333333 0 157 | vt 0.222222 0.444444 0 158 | vt 0.222222 0.555556 0 159 | vt 0.222222 0.666667 0 160 | vt 0.222222 0.777778 0 161 | vt 0.222222 0.888889 0 162 | vt 0.222222 1 0 163 | vt 0.586824 0.992404 0 164 | vt 0.75 0.933013 0 165 | vt 0.333333 0 0 166 | vt 0.333333 0.111111 0 167 | vt 0.333333 0.222222 0 168 | vt 0.333333 0.333333 0 169 | vt 0.333333 0.444444 0 170 | vt 0.333333 0.555556 0 171 | vt 0.333333 0.666667 0 172 | vt 0.333333 0.777778 0 173 | vt 0.333333 0.888889 0 174 | vt 0.333333 1 0 175 | vt 0.25 0.933013 0 176 | vt 0.969846 0.67101 0 177 | vt 0.444444 0 0 178 | vt 0.444444 0.111111 0 179 | vt 0.444444 0.222222 0 180 | vt 0.444444 0.333333 0 181 | vt 0.444444 0.444444 0 182 | vt 0.444444 0.555556 0 183 | vt 0.444444 0.666667 0 184 | vt 0.444444 0.777778 0 185 | vt 0.444444 0.888889 0 186 | vt 0.444444 1 0 187 | vt 0.030154 0.67101 0 188 | vt 0.969846 0.32899 0 189 | vt 0.555556 0 0 190 | vt 0.555556 0.111111 0 191 | vt 0.555556 0.222222 0 192 | vt 0.555556 0.333333 0 193 | vt 0.555556 0.444444 0 194 | vt 0.555556 0.555556 0 195 | vt 0.555556 0.666667 0 196 | vt 0.555556 0.777778 0 197 | vt 0.555556 0.888889 0 198 | vt 0.555556 1 0 199 | vt 0.030154 0.32899 0 200 | vt 0.75 0.066987 0 201 | vt 0.666667 0 0 202 | vt 0.666667 0.111111 0 203 | vt 0.666667 0.222222 0 204 | vt 0.666667 0.333333 0 205 | vt 0.666667 0.444444 0 206 | vt 0.666667 0.555556 0 207 | vt 0.666667 0.666667 0 208 | vt 0.666667 0.777778 0 209 | vt 0.666667 0.888889 0 210 | vt 0.666667 1 0 211 | vt 0.25 0.066987 0 212 | vt 0.413176 0.007596 0 213 | vt 0.777778 0 0 214 | vt 0.777778 0.111111 0 215 | vt 0.777778 0.222222 0 216 | vt 0.777778 0.333333 0 217 | vt 0.777778 0.444444 0 218 | vt 0.777778 0.555556 0 219 | vt 0.777778 0.666667 0 220 | vt 0.777778 0.777778 0 221 | vt 0.777778 0.888889 0 222 | vt 0.777778 1 0 223 | vt 0.586824 0.007596 0 224 | vt 0.116978 0.178606 0 225 | vt 0.888889 0 0 226 | vt 0.888889 0.111111 0 227 | vt 0.888889 0.222222 0 228 | vt 0.888889 0.333333 0 229 | vt 0.888889 0.444444 0 230 | vt 0.888889 0.555556 0 231 | vt 0.888889 0.666667 0 232 | vt 0.888889 0.777778 0 233 | vt 0.888889 0.888889 0 234 | vt 0.888889 1 0 235 | vt 0.883022 0.178606 0 236 | 237 | f 15/25 3/3 1/1 238 | f 16/26 17/27 5/7 4/5 239 | f 17/27 18/28 6/9 5/7 240 | f 18/28 19/29 7/11 6/9 241 | f 19/29 20/30 8/13 7/11 242 | f 20/30 21/31 9/15 8/13 243 | f 21/31 22/32 10/17 9/15 244 | f 22/32 23/33 11/19 10/17 245 | f 23/33 24/34 12/21 11/19 246 | f 24/34 25/35 13/23 12/21 247 | f 26/36 2/2 14/24 248 | f 27/37 15/25 1/1 249 | f 28/38 29/39 17/27 16/26 250 | f 29/39 30/40 18/28 17/27 251 | f 30/40 31/41 19/29 18/28 252 | f 31/41 32/42 20/30 19/29 253 | f 32/42 33/43 21/31 20/30 254 | f 33/43 34/44 22/32 21/31 255 | f 34/44 35/45 23/33 22/32 256 | f 35/45 36/46 24/34 23/33 257 | f 36/46 37/47 25/35 24/34 258 | f 38/48 2/2 26/36 259 | f 39/49 27/37 1/1 260 | f 40/50 41/51 29/39 28/38 261 | f 41/51 42/52 30/40 29/39 262 | f 42/52 43/53 31/41 30/40 263 | f 43/53 44/54 32/42 31/41 264 | f 44/54 45/55 33/43 32/42 265 | f 45/55 46/56 34/44 33/43 266 | f 46/56 47/57 35/45 34/44 267 | f 47/57 48/58 36/46 35/45 268 | f 48/58 49/59 37/47 36/46 269 | f 50/60 2/2 38/48 270 | f 51/61 39/49 1/1 271 | f 52/62 53/63 41/51 40/50 272 | f 53/63 54/64 42/52 41/51 273 | f 54/64 55/65 43/53 42/52 274 | f 55/65 56/66 44/54 43/53 275 | f 56/66 57/67 45/55 44/54 276 | f 57/67 58/68 46/56 45/55 277 | f 58/68 59/69 47/57 46/56 278 | f 59/69 60/70 48/58 47/57 279 | f 60/70 61/71 49/59 48/58 280 | f 62/72 2/2 50/60 281 | f 63/73 51/61 1/1 282 | f 64/74 65/75 53/63 52/62 283 | f 65/75 66/76 54/64 53/63 284 | f 66/76 67/77 55/65 54/64 285 | f 67/77 68/78 56/66 55/65 286 | f 68/78 69/79 57/67 56/66 287 | f 69/79 70/80 58/68 57/67 288 | f 70/80 71/81 59/69 58/68 289 | f 71/81 72/82 60/70 59/69 290 | f 72/82 73/83 61/71 60/70 291 | f 74/84 2/2 62/72 292 | f 75/85 63/73 1/1 293 | f 76/86 77/87 65/75 64/74 294 | f 77/87 78/88 66/76 65/75 295 | f 78/88 79/89 67/77 66/76 296 | f 79/89 80/90 68/78 67/77 297 | f 80/90 81/91 69/79 68/78 298 | f 81/91 82/92 70/80 69/79 299 | f 82/92 83/93 71/81 70/80 300 | f 83/93 84/94 72/82 71/81 301 | f 84/94 85/95 73/83 72/82 302 | f 86/96 2/2 74/84 303 | f 87/97 75/85 1/1 304 | f 88/98 89/99 77/87 76/86 305 | f 89/99 90/100 78/88 77/87 306 | f 90/100 91/101 79/89 78/88 307 | f 91/101 92/102 80/90 79/89 308 | f 92/102 93/103 81/91 80/90 309 | f 93/103 94/104 82/92 81/91 310 | f 94/104 95/105 83/93 82/92 311 | f 95/105 96/106 84/94 83/93 312 | f 96/106 97/107 85/95 84/94 313 | f 98/108 2/2 86/96 314 | f 99/109 87/97 1/1 315 | f 100/110 101/111 89/99 88/98 316 | f 101/111 102/112 90/100 89/99 317 | f 102/112 103/113 91/101 90/100 318 | f 103/113 104/114 92/102 91/101 319 | f 104/114 105/115 93/103 92/102 320 | f 105/115 106/116 94/104 93/103 321 | f 106/116 107/117 95/105 94/104 322 | f 107/117 108/118 96/106 95/105 323 | f 108/118 109/119 97/107 96/106 324 | f 110/120 2/2 98/108 325 | f 3/3 99/109 1/1 326 | f 4/4 5/6 101/111 100/110 327 | f 5/6 6/8 102/112 101/111 328 | f 6/8 7/10 103/113 102/112 329 | f 7/10 8/12 104/114 103/113 330 | f 8/12 9/14 105/115 104/114 331 | f 9/14 10/16 106/116 105/115 332 | f 10/16 11/18 107/117 106/116 333 | f 11/18 12/20 108/118 107/117 334 | f 12/20 13/22 109/119 108/118 335 | f 14/24 2/2 110/120 336 | 337 | g tree leaves leaves1 338 | usemtl Mat 339 | v -0.009799 143.79023 -0.015104 340 | v 0.001352 401.741739 0.012038 341 | v -24.443743 385.26814 2.633506 342 | v 20.504319 156.597053 -15.250039 343 | v 9.449681 388.892949 26.099632 344 | v 10.703062 153.39111 -25.955437 345 | v 0.027833 155.778821 -26.214375 346 | v -9.512687 157.136302 -23.315702 347 | v -22.614408 155.639069 -13.513106 348 | v -2.725899 388.591201 -27.30617 349 | v -26.35588 154.589773 6.691995 350 | v 28.940251 390.488245 -2.778643 351 | v -19.017884 154.900016 19.023311 352 | v -9.989157 156.16024 23.929119 353 | v 6.519603 155.336815 25.769515 354 | v -20.631097 387.629321 -16.813916 355 | v 17.183849 158.071173 17.411523 356 | v 25.883582 155.863446 3.816407 357 | v 52.454625 181.158238 -0.42176 358 | v 46.036604 182.183383 -19.104363 359 | v 36.421645 181.406242 -36.894624 360 | v 19.014748 182.242851 -45.949181 361 | v -0.164529 181.332277 -51.582976 362 | v -18.644821 182.676329 -45.146997 363 | v -37.485244 180.773091 -37.025765 364 | v -44.502622 182.864246 -18.627191 365 | v -50.180219 182.014914 0.064546 366 | v -43.021825 183.618118 17.339344 367 | v -34.949307 182.394174 34.941417 368 | v -19.52606 181.430353 47.528834 369 | v -0.050356 182.601568 49.003094 370 | v 18.349298 182.822822 44.728409 371 | v 37.118809 180.982859 36.833452 372 | v 46.969567 181.71711 19.313464 373 | v 45.215175 223.229381 -46.296099 374 | v 23.470738 223.375813 -58.7493 375 | v -0.777913 223.288022 -64.127922 376 | v -23.939311 223.657478 -55.538188 377 | v -43.493469 223.639496 -42.278193 378 | v -59.251671 223.320328 -23.692739 379 | v -67.648514 222.932264 0.695504 380 | v -56.53877 223.549089 24.326589 381 | v -46.427309 223.06012 47.452785 382 | v -24.355982 223.154561 60.75254 383 | v 0.798155 223.375405 63.263179 384 | v 25.841599 223.125078 60.452988 385 | v 45.846831 223.295123 44.74437 386 | v 56.242048 223.652733 22.362768 387 | v 63.21058 223.38072 -0.799386 388 | v 59.092512 223.272453 -25.315023 389 | v -12.487349 271.720699 -71.394243 390 | v -36.949287 271.308923 -57.90018 391 | v -60.99993 271.950745 -42.938715 392 | v -67.886738 271.400715 -15.030764 393 | v -68.651257 271.420427 12.116837 394 | v -56.960058 271.190928 36.402283 395 | v -37.586694 270.992789 53.97625 396 | v -15.123555 271.440103 68.237759 397 | v 12.171309 271.464572 69.054522 398 | v 36.776473 271.271645 57.603168 399 | v 58.411539 271.597716 40.966369 400 | v 65.948638 271.183241 14.518432 401 | v 71.032265 271.681073 -12.438454 402 | v 61.287701 271.734094 -38.920296 403 | v 40.636576 271.538686 -57.978737 404 | v 15.583274 271.635245 -69.976832 405 | v -57.462695 319.396848 -27.585371 406 | v -61.454125 318.751829 -3.283393 407 | v -59.208497 319.112056 20.842804 408 | v -48.873506 319.927489 43.68325 409 | v -26.190825 318.527284 54.843312 410 | v -3.714103 320.061386 65.902319 411 | v 21.647116 319.919594 61.844318 412 | v 41.861821 319.087841 46.66153 413 | v 59.034016 319.918484 28.421934 414 | v 61.472801 318.757327 3.285201 415 | v 59.132082 319.088645 -20.819486 416 | v 47.340449 319.345553 -42.42087 417 | v 28.090356 319.711729 -58.41121 418 | v 3.370561 319.016861 -62.354363 419 | v -22.18726 320.461904 -63.61443 420 | v -44.84598 320.463488 -50.285546 421 | v -45.997319 360.242633 16.812537 422 | v -36.112473 360.322796 33.205724 423 | v -22.387028 362.105676 47.154106 424 | v -2.432776 361.543817 51.170074 425 | v 16.627141 359.815792 45.275249 426 | v 31.335012 358.531691 33.071135 427 | v 46.377596 361.581633 21.875936 428 | v 51.505901 361.607093 2.64892 429 | v 44.657323 359.450543 -16.509217 430 | v 36.662365 360.646638 -33.543959 431 | v 19.577023 359.097533 -42.733406 432 | v 2.345371 360.950274 -50.232185 433 | v -17.594072 362.283526 -49.449945 434 | v -33.666049 360.763532 -36.860854 435 | v -43.320822 359.497951 -19.94759 436 | v -49.21253 360.424467 -2.10237 437 | v 16.353172 386.847643 -20.139618 438 | v -18.182858 389.882327 22.062812 439 | v 20.304502 387.180362 16.542953 440 | v -0.862011 385.553567 24.680624 441 | 442 | vt 0.875 0 0 443 | vt 0.8125 0 0 444 | vt 0.6875 0 0 445 | vt 0.625 0 0 446 | vt 0.5625 0 0 447 | vt 0.4375 0 0 448 | vt 0.3125 0 0 449 | vt 0.25 0 0 450 | vt 0.1875 0 0 451 | vt 0.125 0 0 452 | vt 0 0 0 453 | vt 0.875 1 0 454 | vt 0.75 1 0 455 | vt 0.625 1 0 456 | vt 0.5 1 0 457 | vt 0.375 1 0 458 | vt 0.25 1 0 459 | vt 0.1875 1 0 460 | vt 0.125 1 0 461 | vt 0 1 0 462 | vt 0.9375 0.875 0 463 | vt 0.6875 0.875 0 464 | vt 0 0.875 0 465 | vt 0.125 0.125 0 466 | vt 0.0625 0.125 0 467 | vt 0.9375 0.875 0 468 | vt 0.25 0.875 0 469 | vt 0.1875 0.125 0 470 | vt 0.25 0.125 0 471 | vt 0.3125 0.125 0 472 | vt 0.4375 0.125 0 473 | vt 0.375 0.125 0 474 | vt 0.8125 0.25 0 475 | vt 0.75 0.875 0 476 | vt 0.75 0.125 0 477 | vt 0.6875 0.875 0 478 | vt 0.5625 0.125 0 479 | vt 0.5 0.125 0 480 | vt 0.5625 0.875 0 481 | vt 0.5 0.875 0 482 | vt 0.4375 0.875 0 483 | vt 0.625 0.125 0 484 | vt 0.6875 0.125 0 485 | vt 0.8125 0.125 0 486 | vt 0.75 0.125 0 487 | vt 0.875 0.875 0 488 | vt 0.8125 0.875 0 489 | vt 0.4375 0.875 0 490 | vt 0.875 0.125 0 491 | vt 0.9375 0.125 0 492 | vt 0 0.125 0 493 | vt 1 0.25 0 494 | vt 0 0.25 0 495 | vt 0.0625 0.25 0 496 | vt 0.125 0.25 0 497 | vt 0.1875 0.25 0 498 | vt 0.25 0.25 0 499 | vt 0.3125 0.25 0 500 | vt 0.375 0.25 0 501 | vt 0.4375 0.25 0 502 | vt 0.5 0.25 0 503 | vt 0.5625 0.25 0 504 | vt 0.625 0.25 0 505 | vt 0.6875 0.25 0 506 | vt 0.75 0.25 0 507 | vt 0.8125 0.25 0 508 | vt 0.875 0.25 0 509 | vt 0.9375 0.25 0 510 | vt 1 0.375 0 511 | vt 0 0.375 0 512 | vt 0.0625 0.375 0 513 | vt 0.125 0.375 0 514 | vt 0.1875 0.375 0 515 | vt 0.25 0.375 0 516 | vt 0.3125 0.375 0 517 | vt 0.375 0.375 0 518 | vt 0.4375 0.375 0 519 | vt 0.5 0.375 0 520 | vt 0.5625 0.375 0 521 | vt 0.625 0.375 0 522 | vt 0.6875 0.375 0 523 | vt 0.75 0.375 0 524 | vt 0.8125 0.375 0 525 | vt 0.875 0.375 0 526 | vt 0.9375 0.375 0 527 | vt 1 0.5 0 528 | vt 0 0.5 0 529 | vt 0.0625 0.5 0 530 | vt 0.125 0.5 0 531 | vt 0.1875 0.5 0 532 | vt 0.25 0.5 0 533 | vt 0.3125 0.5 0 534 | vt 0.375 0.5 0 535 | vt 0.4375 0.5 0 536 | vt 0.5 0.5 0 537 | vt 0.5625 0.5 0 538 | vt 0.625 0.5 0 539 | vt 0.6875 0.5 0 540 | vt 0.75 0.5 0 541 | vt 0.8125 0.5 0 542 | vt 0.875 0.5 0 543 | vt 0.9375 0.5 0 544 | vt 0 0.625 0 545 | vt 1 0.625 0 546 | vt 0.5625 0.125 0 547 | vt 0.0625 0.625 0 548 | vt 0.125 0.625 0 549 | vt 0.1875 0.625 0 550 | vt 0.25 0.625 0 551 | vt 0.3125 0.625 0 552 | vt 0.375 0.625 0 553 | vt 0.4375 0.625 0 554 | vt 0.5 0.625 0 555 | vt 0.0625 0 0 556 | vt 0.5625 0.625 0 557 | vt 0.0625 0.125 0 558 | vt 0.125 0.125 0 559 | vt 0.625 0.625 0 560 | vt 0.125 0.125 0 561 | vt 0.3125 0.75 0 562 | vt 0.6875 0.625 0 563 | vt 0.375 0.875 0 564 | vt 0.75 0.625 0 565 | vt 0.3125 1 0 566 | vt 0.0625 0.75 0 567 | vt 0.8125 0.625 0 568 | vt 0.125 0.875 0 569 | vt 0.875 0.625 0 570 | vt 0.5 0 0 571 | vt 0.0625 1 0 572 | vt 0.9375 0.625 0 573 | vt 0.5 0.125 0 574 | vt 0.5625 0.125 0 575 | vt 0.5625 0.25 0 576 | vt 0.6875 1 0 577 | vt 0.375 0 0 578 | vt 0 0.75 0 579 | vt 1 0.75 0 580 | vt 0.0625 0.75 0 581 | vt 0.375 0.125 0 582 | vt 0.4375 0.125 0 583 | vt 0.125 0.75 0 584 | vt 0.4375 0.125 0 585 | vt 0.9375 0.75 0 586 | vt 0.1875 0.75 0 587 | vt 1 0.875 0 588 | vt 0.25 0.75 0 589 | vt 0.9375 1 0 590 | vt 0.8125 0.75 0 591 | vt 0.3125 0.75 0 592 | vt 0.875 0.875 0 593 | vt 0.375 0.75 0 594 | vt 0.8125 1 0 595 | vt 0.5625 0.75 0 596 | vt 0.4375 0.75 0 597 | vt 0.625 0.875 0 598 | vt 0.5 0.75 0 599 | vt 0.9375 0 0 600 | vt 0.5625 1 0 601 | vt 0.9375 0.125 0 602 | vt 1 0.125 0 603 | vt 0.0625 0.125 0 604 | vt 0.5625 0.75 0 605 | vt 1 0.125 0 606 | vt 0.125 0.25 0 607 | vt 0.75 0 0 608 | vt 0.625 0.75 0 609 | vt 0.75 0.125 0 610 | vt 0.8125 0.125 0 611 | vt 0.3125 0.875 0 612 | vt 0.6875 0.75 0 613 | vt 0.8125 0.125 0 614 | vt 0.3125 0.875 0 615 | vt 0.75 0.75 0 616 | vt 0.4375 0.75 0 617 | vt 0.5 0.875 0 618 | vt 0.0625 0.875 0 619 | vt 0.8125 0.75 0 620 | vt 0.4375 1 0 621 | vt 0.0625 0.875 0 622 | vt 0.875 0.75 0 623 | vt 0.6875 0.75 0 624 | vt 0.75 0.875 0 625 | vt 0.5 0.125 0 626 | vt 0.9375 0.75 0 627 | vt 1 0.25 0 628 | vt 0.9375 0.125 0 629 | vt 0.625 0.875 0 630 | vt 0.5625 0.875 0 631 | vt 0.4375 0.25 0 632 | vt 0.375 0.125 0 633 | vt 0.125 0.875 0 634 | vt 0.0625 0.875 0 635 | vt 0.8125 0.875 0 636 | vt 0.375 0.875 0 637 | vt 0.3125 0.875 0 638 | vt 0.1875 0.875 0 639 | vt 0.9375 0.875 0 640 | 641 | f 130/174 129/173 128/171 642 | f 131/175 130/174 114/145 643 | f 132/176 131/175 114/144 644 | f 133/177 132/176 116/148 645 | f 134/178 133/177 117/149 646 | f 135/179 134/178 118/150 647 | f 136/180 135/179 119/152 648 | f 137/181 136/180 119/151 649 | f 138/182 137/181 121/158 650 | f 139/183 138/182 121/157 651 | f 140/184 139/183 123/162 652 | f 141/185 140/184 124/163 653 | f 142/186 141/185 125/165 654 | f 143/187 142/186 125/164 655 | f 144/188 143/187 127/169 656 | f 129/172 144/188 128/170 657 | f 146/191 145/190 129/173 658 | f 147/192 146/191 130/174 659 | f 148/193 147/192 131/175 660 | f 149/194 148/193 132/176 661 | f 150/195 149/194 133/177 662 | f 151/196 150/195 134/178 663 | f 152/197 151/196 135/179 664 | f 153/198 152/197 136/180 665 | f 154/199 153/198 137/181 666 | f 155/200 154/199 138/182 667 | f 156/201 155/200 139/183 668 | f 157/202 156/201 140/184 669 | f 158/203 157/202 141/185 670 | f 159/204 158/203 142/186 671 | f 160/205 159/204 143/187 672 | f 145/189 160/205 144/188 673 | f 162/208 161/207 145/190 674 | f 163/209 162/208 146/191 675 | f 164/210 163/209 147/192 676 | f 165/211 164/210 148/193 677 | f 166/212 165/211 149/194 678 | f 167/213 166/212 150/195 679 | f 168/214 167/213 151/196 680 | f 169/215 168/214 152/197 681 | f 170/216 169/215 153/198 682 | f 171/217 170/216 154/199 683 | f 172/218 171/217 155/200 684 | f 173/219 172/218 156/201 685 | f 174/220 173/219 157/202 686 | f 175/221 174/220 158/203 687 | f 176/222 175/221 159/204 688 | f 161/206 176/222 160/205 689 | f 178/226 177/223 161/207 690 | f 179/227 178/226 162/208 691 | f 180/228 179/227 163/209 692 | f 181/229 180/228 164/210 693 | f 182/230 181/229 165/211 694 | f 183/231 182/230 166/212 695 | f 184/232 183/231 167/213 696 | f 185/233 184/232 168/214 697 | f 186/235 185/233 169/215 698 | f 187/238 186/235 170/216 699 | f 188/241 187/238 171/217 700 | f 189/243 188/241 172/218 701 | f 190/246 189/243 173/219 702 | f 191/248 190/246 174/220 703 | f 192/251 191/248 175/221 704 | f 177/224 192/251 176/222 705 | f 194/259 193/257 177/223 706 | f 195/262 194/259 178/226 707 | f 196/265 195/262 179/227 708 | f 197/267 196/265 180/228 709 | f 198/270 197/267 181/229 710 | f 199/272 198/270 182/230 711 | f 200/275 199/272 183/231 712 | f 201/277 200/275 184/232 713 | f 202/283 201/277 185/233 714 | f 203/287 202/283 186/235 715 | f 204/291 203/287 187/238 716 | f 205/294 204/291 188/241 717 | f 206/298 205/294 189/243 718 | f 207/301 206/298 190/246 719 | f 208/305 207/301 191/248 720 | f 193/258 208/305 192/251 721 | f 210/313 113/143 193/257 722 | f 190/247 206/297 189/245 723 | f 212/317 210/312 195/262 724 | f 115/147 212/317 196/265 725 | f 211/316 115/147 197/267 726 | f 188/242 204/290 187/240 727 | f 122/161 211/315 199/272 728 | f 206/296 126/168 205/295 729 | f 209/309 122/160 201/277 730 | f 200/276 122/159 199/274 731 | f 120/156 209/308 203/287 732 | f 208/303 113/142 207/302 733 | f 126/167 120/154 205/294 734 | f 198/271 211/314 197/269 735 | f 113/141 126/166 207/301 736 | f 196/266 212/318 195/264 737 | f 114/145 128/171 111/131 738 | f 112/140 113/143 210/313 739 | f 186/237 202/282 185/234 740 | f 191/250 207/300 190/247 741 | f 116/148 114/144 111/130 742 | f 112/139 210/312 212/317 743 | f 117/149 116/148 111/129 744 | f 112/138 212/317 115/147 745 | f 118/150 117/149 111/128 746 | f 112/137 115/147 211/316 747 | f 119/152 118/150 111/127 748 | f 189/244 205/293 188/242 749 | f 194/261 210/311 193/256 750 | f 112/136 211/315 122/161 751 | f 121/158 119/151 111/126 752 | f 207/299 126/168 206/296 753 | f 192/253 208/304 191/249 754 | f 112/135 122/160 209/309 755 | f 123/162 121/157 111/125 756 | f 201/279 122/159 200/276 757 | f 124/163 123/162 111/124 758 | f 112/134 209/308 120/156 759 | f 125/165 124/163 111/123 760 | f 193/255 113/142 208/303 761 | f 204/289 120/155 203/286 762 | f 112/133 120/154 126/167 763 | f 127/169 125/164 111/122 764 | f 199/273 211/314 198/271 765 | f 128/170 127/169 111/121 766 | f 112/132 126/166 113/141 767 | f 202/281 209/307 201/278 768 | f 197/268 115/146 196/266 769 | f 114/145 130/174 128/171 770 | f 187/239 203/285 186/236 771 | f 116/148 132/176 114/144 772 | f 117/149 133/177 116/148 773 | f 118/150 134/178 117/149 774 | f 119/152 135/179 118/150 775 | f 195/263 210/310 194/260 776 | f 121/158 137/181 119/151 777 | f 177/225 193/254 192/252 778 | f 123/162 139/183 121/157 779 | f 124/163 140/184 123/162 780 | f 125/165 141/185 124/163 781 | f 205/292 120/153 204/288 782 | f 127/169 143/187 125/164 783 | f 128/170 144/188 127/169 784 | f 203/284 209/306 202/280 785 | f 130/174 146/191 129/173 786 | f 131/175 147/192 130/174 787 | f 132/176 148/193 131/175 788 | f 133/177 149/194 132/176 789 | f 134/178 150/195 133/177 790 | f 135/179 151/196 134/178 791 | f 136/180 152/197 135/179 792 | f 137/181 153/198 136/180 793 | f 138/182 154/199 137/181 794 | f 139/183 155/200 138/182 795 | f 140/184 156/201 139/183 796 | f 141/185 157/202 140/184 797 | f 142/186 158/203 141/185 798 | f 143/187 159/204 142/186 799 | f 144/188 160/205 143/187 800 | f 129/172 145/189 144/188 801 | f 146/191 162/208 145/190 802 | f 147/192 163/209 146/191 803 | f 148/193 164/210 147/192 804 | f 149/194 165/211 148/193 805 | f 150/195 166/212 149/194 806 | f 151/196 167/213 150/195 807 | f 152/197 168/214 151/196 808 | f 153/198 169/215 152/197 809 | f 154/199 170/216 153/198 810 | f 155/200 171/217 154/199 811 | f 156/201 172/218 155/200 812 | f 157/202 173/219 156/201 813 | f 158/203 174/220 157/202 814 | f 159/204 175/221 158/203 815 | f 160/205 176/222 159/204 816 | f 145/189 161/206 160/205 817 | f 162/208 178/226 161/207 818 | f 163/209 179/227 162/208 819 | f 164/210 180/228 163/209 820 | f 165/211 181/229 164/210 821 | f 166/212 182/230 165/211 822 | f 167/213 183/231 166/212 823 | f 168/214 184/232 167/213 824 | f 169/215 185/233 168/214 825 | f 170/216 186/235 169/215 826 | f 171/217 187/238 170/216 827 | f 172/218 188/241 171/217 828 | f 173/219 189/243 172/218 829 | f 174/220 190/246 173/219 830 | f 175/221 191/248 174/220 831 | f 176/222 192/251 175/221 832 | f 161/206 177/224 176/222 833 | f 178/226 194/259 177/223 834 | f 179/227 195/262 178/226 835 | f 180/228 196/265 179/227 836 | f 181/229 197/267 180/228 837 | f 182/230 198/270 181/229 838 | f 183/231 199/272 182/230 839 | f 184/232 200/275 183/231 840 | f 185/233 201/277 184/232 841 | 842 | -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/wall.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2017-07-26T13:08:01.564278 4 | 2017-07-26T13:08:01.564295 5 | Z_UP 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 0.0 0.0 0.0 1.0 14 | 15 | 16 | 0.0 0.0 0.0 1.0 17 | 18 | 19 | 0.7 0.7 0.7 1.0 20 | 21 | 22 | 1 1 1 1.0 23 | 24 | 25 | 0.0 26 | 27 | 28 | 0.0 0.0 0.0 1.0 29 | 30 | 31 | 0.0 32 | 33 | 34 | 0.0 0.0 0.0 1.0 35 | 36 | 37 | 1.0 38 | 39 | 40 | 41 | 42 | 43 | 0 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 0 -1 2.220446e-16 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -0 -0 -1 -0 -0 -1 1 0 -0 1 0 -0 -1 -0 0 -1 -0 0 0 0 1 0 0 1 -1 -0 0 -1 -0 0 0 0 1 0 0 1 1 0 -0 1 0 -0 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 1 0 -0 1 0 -0 -1 -0 0 -1 -0 0 0 0 1 0 0 1 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 -5 -0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 -0 1 -2.220446e-16 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 5.2 0 -0 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -9.8 -5 13 -10 -5 13 -9.963368 -5 11.70681 -14.68605 -5 17.99013 -15.97438 -5 18.10789 -15.93691 -5 17.91144 -19.04508 -5 10.06107 -19.20689 -5 9.943517 -18.3146 -5 8.993331 -18.18712 -5 9.147434 -14.67349 -5 18.18974 -17.1289 -5 8.475865 -17.21405 -5 8.294899 -9.963368 -5 14.29319 -10.15708 -5 14.24345 -19.64888 -5 11.15938 -19.83484 -5 11.08575 -13.39311 -5 17.94549 -13.45492 -5 17.75528 -15.93691 -5 8.088564 -15.97438 -5 7.892106 -12.32087 -5 17.22164 -10.44321 -5 15.50512 -10.61847 -5 15.40877 -19.96057 -5 12.37333 -20.159 -5 12.34827 -11.35516 -5 16.42274 -12.2137 -5 17.39051 -11.20936 -5 16.55964 -14.68605 -5 8.009866 -14.67349 -5 7.810261 -19.96057 -5 13.62667 -20.159 -5 13.65173 -13.45492 -5 8.244717 -13.39311 -5 8.054506 -19.64888 -5 14.84062 -19.83484 -5 14.91425 -12.2137 -5 8.609495 -12.32087 -5 8.77836 -19.20689 -5 16.05648 -19.04508 -5 15.93893 -11.20936 -5 9.440355 -11.35516 -5 9.577264 -18.3146 -5 17.00667 -18.18712 -5 16.85257 -10.61847 -5 10.59123 -10.44321 -5 10.49488 -17.21405 -5 17.7051 -17.1289 -5 17.52414 -10.15708 -5 11.75655 -15.97438 -1.13418e-15 7.892106 -14.67349 -1.152354e-15 7.810261 -13.39311 -1.09812e-15 8.054506 -12.2137 -9.74888e-16 8.609495 -11.20936 -7.904e-16 9.440355 -9.8 0 13 -9.963368 2.871453e-16 14.29319 -10.44321 5.562482e-16 15.50512 -10.44321 -5.562482e-16 10.49488 -11.20936 7.904e-16 16.55964 -9.963368 -2.871453e-16 11.70681 -12.2137 9.74888e-16 17.39051 -13.39311 1.09812e-15 17.94549 -14.67349 1.152354e-15 18.18974 -15.97438 1.13418e-15 18.10789 -17.21405 1.044742e-15 17.7051 -18.3146 8.896592e-16 17.00667 -19.20689 6.786756e-16 16.05648 -19.83484 4.250484e-16 14.91425 -20.159 1.447138e-16 13.65173 -20.159 -1.447138e-16 12.34827 -19.83484 -4.250484e-16 11.08575 -19.20689 -6.786756e-16 9.943517 -18.3146 -8.896592e-16 8.993331 -17.21405 -1.044742e-15 8.294899 -15.93691 -1.090558e-15 8.088564 -13.45492 -1.055885e-15 8.244717 -14.68605 -1.108032e-15 8.009866 -12.32087 -9.373923e-16 8.77836 -11.35516 -7.6e-16 9.577264 -10.15708 2.761012e-16 14.24345 -10 0 13 -10.61847 5.34854e-16 15.40877 -10.61847 -5.34854e-16 10.59123 -11.35516 7.6e-16 16.42274 -10.15708 -2.761012e-16 11.75655 -12.32087 9.373923e-16 17.22164 -13.45492 1.055885e-15 17.75528 -14.68605 1.108032e-15 17.99013 -15.93691 1.090558e-15 17.91144 -17.1289 1.00456e-15 17.52414 -18.18712 8.554415e-16 16.85257 -19.04508 6.525727e-16 15.93893 -19.64888 4.087004e-16 14.84062 -19.96057 1.391478e-16 13.62667 -19.96057 -1.391478e-16 12.37333 -19.64888 -4.087004e-16 11.15938 -19.04508 -6.525727e-16 10.06107 -18.18712 -8.554415e-16 9.147434 -17.1289 -1.00456e-15 8.475865 16 0 18 31 0 18 45 0 25 31 0 8 -2 0 8 -35 0 0 45 0 0 6 0 8 -35 0 25 -2 0 16 6 0 16 16 0 8 -13.45492 1 8.244717 -12.32087 1 8.77836 -11.35516 1 9.577264 -10.15708 1 14.24345 -10 1 13 -10.61847 1 10.59123 -10.15708 1 11.75655 -10.61847 1 15.40877 -11.35516 1 16.42274 -12.32087 1 17.22164 -13.45492 1 17.75528 -14.68605 1 17.99013 -15.93691 1 17.91144 -17.1289 1 17.52414 -18.18712 1 16.85257 -19.04508 1 15.93893 -19.64888 1 14.84062 -19.96057 1 13.62667 -19.96057 1 12.37333 -19.64888 1 11.15938 -19.04508 1 10.06107 -18.18712 1 9.147434 -17.1289 1 8.475865 -15.93691 1 8.088564 -14.68605 1 8.009866 -35 1 0 45 1 0 45 1 25 -35 1 25 6 1 8 6 1 16 -2 1 8 -2 1 16 16 1 18 31 1 18 16 1 8 31 1 8 -15.93691 6 8.088564 -14.68605 6 8.009866 -13.45492 6 8.244717 -12.32087 6 8.77836 -10.15708 6 14.24345 -10 6 13 -11.35516 6 9.577264 -10.61847 6 15.40877 -10.61847 6 10.59123 -11.35516 6 16.42274 -10.15708 6 11.75655 -12.32087 6 17.22164 -13.45492 6 17.75528 -14.68605 6 17.99013 -15.93691 6 17.91144 -17.1289 6 17.52414 -18.18712 6 16.85257 -19.04508 6 15.93893 -19.64888 6 14.84062 -19.96057 6 13.62667 -19.96057 6 12.37333 -19.64888 6 11.15938 -19.04508 6 10.06107 -18.18712 6 9.147434 -17.1289 6 8.475865 -14.67349 1 18.18974 -19.20689 1 9.943517 -18.3146 1 8.993331 -13.39311 1 17.94549 -17.21405 1 8.294899 -19.83484 1 11.08575 -15.97438 1 7.892106 -20.159 1 12.34827 -14.67349 1 7.810261 -20.159 1 13.65173 -19.83484 1 14.91425 -19.20689 1 16.05648 -18.3146 1 17.00667 -17.21405 1 17.7051 -15.97438 1 18.10789 -13.39311 1 8.054506 -12.2137 1 8.609495 -11.20936 1 9.440355 -10.44321 1 10.49488 -9.963368 1 11.70681 -9.8 1 13 -9.963368 1 14.29319 -10.44321 1 15.50512 -11.20936 1 16.55964 -12.2137 1 17.39051 -9.963368 6 11.70681 -9.8 6 13 -15.97438 6 18.10789 -18.3146 6 8.993331 -19.20689 6 9.943517 -14.67349 6 18.18974 -19.83484 6 11.08575 -17.21405 6 8.294899 -9.963368 6 14.29319 -13.39311 6 17.94549 -15.97438 6 7.892106 -20.159 6 12.34827 -10.44321 6 15.50512 -12.2137 6 17.39051 -14.67349 6 7.810261 -11.20936 6 16.55964 -20.159 6 13.65173 -13.39311 6 8.054506 -19.83484 6 14.91425 -12.2137 6 8.609495 -19.20689 6 16.05648 -11.20936 6 9.440355 -18.3146 6 17.00667 -10.44321 6 10.49488 -17.21405 6 17.7051 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |

0 0 1 0 2 0 3 1 4 1 5 1 6 2 7 2 8 2 6 3 8 3 9 3 10 4 4 4 3 4 11 5 8 5 12 5 11 6 9 6 8 6 13 7 14 7 1 7 15 8 16 8 7 8 15 9 7 9 6 9 13 10 1 10 0 10 17 11 3 11 18 11 17 12 10 12 3 12 19 13 12 13 20 13 21 14 17 14 18 14 19 15 11 15 12 15 22 16 23 16 14 16 22 17 14 17 13 17 24 18 25 18 16 18 26 19 23 19 22 19 24 20 16 20 15 20 27 21 21 21 26 21 27 22 17 22 21 22 28 23 26 23 22 23 28 24 27 24 26 24 29 25 20 25 30 25 29 26 19 26 20 26 31 27 32 27 25 27 31 28 25 28 24 28 33 29 30 29 34 29 33 30 29 30 30 30 35 31 36 31 32 31 35 32 32 32 31 32 37 33 33 33 34 33 38 34 33 34 37 34 39 35 36 35 35 35 40 36 39 36 35 36 41 37 42 37 38 37 41 38 38 38 37 38 43 39 39 39 40 39 43 40 40 40 44 40 45 41 42 41 41 41 46 42 45 42 41 42 47 43 43 43 44 43 47 44 44 44 48 44 49 45 45 45 46 45 2 46 49 46 46 46 5 47 47 47 48 47 4 48 47 48 5 48 1 49 49 49 2 49 30 50 20 50 50 50 34 51 51 51 52 51 34 52 30 52 51 52 37 53 52 53 53 53 37 54 53 54 54 54 37 55 34 55 52 55 13 56 55 56 56 56 13 57 0 57 55 57 41 58 37 58 54 58 22 59 56 59 57 59 22 60 13 60 56 60 46 61 54 61 58 61 46 62 41 62 54 62 28 63 57 63 59 63 28 64 22 64 57 64 2 65 58 65 60 65 2 66 60 66 55 66 2 67 46 67 58 67 0 68 2 68 55 68 27 69 59 69 61 69 27 70 28 70 59 70 17 71 61 71 62 71 17 72 27 72 61 72 10 73 62 73 63 73 10 74 63 74 64 74 10 75 17 75 62 75 4 76 10 76 64 76 47 77 64 77 65 77 47 78 4 78 64 78 43 79 65 79 66 79 43 80 66 80 67 80 43 81 47 81 65 81 39 82 43 82 67 82 36 83 67 83 68 83 36 84 39 84 67 84 32 85 36 85 68 85 32 86 68 86 69 86 25 87 32 87 69 87 25 88 69 88 70 88 16 89 25 89 70 89 16 90 70 90 71 90 7 91 71 91 72 91 7 92 16 92 71 92 8 93 72 93 73 93 8 94 7 94 72 94 12 95 73 95 74 95 12 96 74 96 50 96 12 97 8 97 73 97 20 98 12 98 50 98 30 99 50 99 51 99 75 100 19 100 29 100 76 101 77 101 33 101 77 102 29 102 33 102 78 103 76 103 38 103 79 104 78 104 38 104 76 105 33 105 38 105 80 106 81 106 14 106 81 107 1 107 14 107 79 108 38 108 42 108 82 109 80 109 23 109 80 110 14 110 23 110 83 111 79 111 45 111 79 112 42 112 45 112 84 113 82 113 26 113 82 114 23 114 26 114 85 115 83 115 49 115 81 116 85 116 49 116 83 117 45 117 49 117 81 118 49 118 1 118 86 119 84 119 21 119 84 120 26 120 21 120 87 121 86 121 18 121 86 122 21 122 18 122 88 123 87 123 3 123 89 124 88 124 3 124 87 125 18 125 3 125 89 126 3 126 5 126 90 127 89 127 48 127 89 128 5 128 48 128 91 129 90 129 44 129 92 130 91 130 44 130 90 131 48 131 44 131 92 132 44 132 40 132 93 133 92 133 35 133 92 134 40 134 35 134 93 135 35 135 31 135 94 136 93 136 31 136 94 137 31 137 24 137 95 138 94 138 24 138 95 139 24 139 15 139 96 140 95 140 15 140 97 141 96 141 6 141 96 142 15 142 6 142 98 143 97 143 9 143 97 144 6 144 9 144 99 145 98 145 11 145 75 146 99 146 11 146 98 147 9 147 11 147 75 148 11 148 19 148 77 149 75 149 29 149 100 150 101 150 102 150 101 151 103 151 102 151 104 152 105 152 106 152 107 153 104 153 106 153 63 154 102 154 108 154 62 155 102 155 63 155 100 156 102 156 62 156 105 157 73 157 72 157 73 158 105 158 74 158 105 159 72 159 71 159 74 160 105 160 50 160 108 161 105 161 70 161 105 162 71 162 70 162 50 163 105 163 51 163 108 164 70 164 69 164 108 165 69 165 68 165 108 166 68 166 67 166 108 167 67 167 66 167 108 168 66 168 65 168 108 169 65 169 64 169 108 170 64 170 63 170 52 171 51 171 104 171 53 172 52 172 104 172 54 173 53 173 104 173 58 174 54 174 104 174 60 175 58 175 104 175 55 176 60 176 104 176 51 177 105 177 104 177 56 178 55 178 109 178 57 179 56 179 109 179 59 180 57 180 109 180 61 181 59 181 109 181 62 182 61 182 109 182 55 183 104 183 109 183 110 184 107 184 111 184 110 185 111 185 100 185 109 186 110 186 100 186 62 187 109 187 100 187 111 188 107 188 106 188 103 189 111 189 106 189 103 190 106 190 102 190 112 191 77 191 76 191 113 192 112 192 78 192 114 193 113 193 78 193 112 194 76 194 78 194 114 195 78 195 79 195 115 196 116 196 80 196 116 197 81 197 80 197 117 198 114 198 83 198 118 199 117 199 83 199 114 200 79 200 83 200 119 201 115 201 82 201 120 202 119 202 82 202 115 203 80 203 82 203 116 204 118 204 85 204 118 205 83 205 85 205 116 206 85 206 81 206 120 207 82 207 84 207 121 208 120 208 86 208 122 209 121 209 86 209 120 210 84 210 86 210 123 211 122 211 87 211 122 212 86 212 87 212 124 213 123 213 88 213 123 214 87 214 88 214 125 215 124 215 89 215 124 216 88 216 89 216 125 217 89 217 90 217 126 218 125 218 91 218 127 219 126 219 91 219 125 220 90 220 91 220 127 221 91 221 92 221 128 222 127 222 93 222 129 223 128 223 93 223 127 224 92 224 93 224 129 225 93 225 94 225 129 226 94 226 95 226 130 227 129 227 95 227 131 228 130 228 95 228 131 229 95 229 96 229 131 230 96 230 97 230 132 231 131 231 97 231 132 232 97 232 98 232 133 233 132 233 98 233 134 234 133 234 99 234 135 235 134 235 99 235 133 236 98 236 99 236 135 237 99 237 75 237 136 238 135 238 77 238 112 239 136 239 77 239 135 240 75 240 77 240 105 241 137 241 106 241 106 242 137 242 138 242 102 243 138 243 139 243 102 244 106 244 138 244 140 245 137 245 108 245 137 246 105 246 108 246 102 247 140 247 108 247 139 248 140 248 102 248 141 249 107 249 142 249 142 250 107 250 110 250 107 251 143 251 104 251 141 252 143 252 107 252 144 253 104 253 143 253 109 254 104 254 144 254 109 255 144 255 110 255 110 256 144 256 142 256 100 257 145 257 146 257 101 258 100 258 146 258 100 259 147 259 145 259 100 260 111 260 147 260 146 261 148 261 101 261 148 262 103 262 101 262 148 263 147 263 111 263 148 264 111 264 103 264 149 265 135 265 136 265 150 266 149 266 136 266 150 267 136 267 112 267 151 268 150 268 112 268 151 269 112 269 113 269 152 270 151 270 113 270 153 271 154 271 115 271 155 272 152 272 113 272 154 273 116 273 115 273 155 274 113 274 114 274 156 275 153 275 119 275 153 276 115 276 119 276 155 277 114 277 117 277 157 278 155 278 117 278 158 279 156 279 120 279 156 280 119 280 120 280 157 281 117 281 118 281 159 282 157 282 118 282 154 283 159 283 118 283 154 284 118 284 116 284 160 285 158 285 121 285 158 286 120 286 121 286 161 287 160 287 122 287 160 288 121 288 122 288 162 289 161 289 123 289 163 290 162 290 123 290 161 291 122 291 123 291 163 292 123 292 124 292 164 293 163 293 125 293 163 294 124 294 125 294 165 295 164 295 126 295 166 296 165 296 126 296 164 297 125 297 126 297 166 298 126 298 127 298 167 299 166 299 128 299 166 300 127 300 128 300 167 301 128 301 129 301 168 302 167 302 129 302 168 303 129 303 130 303 169 304 168 304 130 304 169 305 130 305 131 305 170 306 169 306 131 306 170 307 131 307 132 307 171 308 170 308 132 308 171 309 132 309 133 309 172 310 171 310 133 310 172 311 133 311 134 311 173 312 172 312 134 312 149 313 173 313 134 313 149 314 134 314 135 314 139 315 138 315 148 315 139 316 146 316 145 316 139 317 148 317 146 317 138 318 137 318 143 318 138 319 143 319 141 319 140 320 139 320 174 320 175 321 176 321 137 321 174 322 139 322 177 322 177 323 139 323 145 323 178 324 137 324 176 324 179 325 175 325 137 325 180 326 137 326 178 326 181 327 137 327 140 327 181 328 179 328 137 328 182 329 137 329 180 329 183 330 181 330 140 330 184 331 183 331 140 331 185 332 184 332 140 332 186 333 185 333 140 333 187 334 186 334 140 334 188 335 187 335 140 335 174 336 188 336 140 336 143 337 182 337 189 337 143 338 189 338 190 338 143 339 190 339 191 339 143 340 191 340 192 340 143 341 192 341 193 341 143 342 193 342 194 342 143 343 137 343 182 343 144 344 194 344 195 344 144 345 195 345 196 345 144 346 196 346 197 346 144 347 197 347 198 347 144 348 198 348 177 348 144 349 143 349 194 349 147 350 141 350 142 350 145 351 147 351 142 351 145 352 142 352 144 352 145 353 144 353 177 353 138 354 147 354 148 354 138 355 141 355 147 355 199 356 159 356 200 356 159 357 154 357 200 357 163 358 201 358 162 358 202 359 203 359 171 359 172 360 202 360 171 360 162 361 201 361 204 361 171 362 203 362 205 362 200 363 154 363 153 363 206 364 202 364 173 364 202 365 172 365 173 365 171 366 205 366 170 366 200 367 153 367 207 367 161 368 162 368 208 368 162 369 204 369 208 369 209 370 206 370 149 370 206 371 173 371 149 371 161 372 208 372 160 372 170 373 205 373 210 373 153 374 156 374 211 374 207 375 153 375 211 375 170 376 210 376 169 376 211 377 156 377 158 377 160 378 208 378 212 378 158 379 160 379 212 379 213 380 209 380 150 380 211 381 158 381 214 381 209 382 149 382 150 382 158 383 212 383 214 383 210 384 215 384 168 384 169 385 210 385 168 385 216 386 213 386 151 386 213 387 150 387 151 387 168 388 215 388 217 388 168 389 217 389 167 389 216 390 151 390 218 390 218 391 151 391 152 391 167 392 217 392 219 392 167 393 219 393 166 393 152 394 155 394 220 394 218 395 152 395 220 395 165 396 166 396 221 396 166 397 219 397 221 397 155 398 157 398 222 398 220 399 155 399 222 399 165 400 221 400 164 400 164 401 221 401 223 401 222 402 157 402 159 402 222 403 159 403 199 403 164 404 223 404 201 404 163 405 164 405 201 405 182 406 180 406 209 406 182 407 209 407 213 407 189 408 182 408 213 408 189 409 213 409 216 409 190 410 189 410 216 410 190 411 216 411 218 411 195 412 200 412 207 412 190 413 218 413 220 413 195 414 194 414 200 414 191 415 190 415 220 415 196 416 207 416 211 416 196 417 195 417 207 417 192 418 191 418 220 418 192 419 220 419 222 419 197 420 211 420 214 420 197 421 196 421 211 421 193 422 192 422 222 422 193 423 222 423 199 423 193 424 199 424 200 424 194 425 193 425 200 425 198 426 214 426 212 426 198 427 197 427 214 427 177 428 212 428 208 428 177 429 198 429 212 429 174 430 208 430 204 430 174 431 204 431 201 431 174 432 177 432 208 432 188 433 174 433 201 433 187 434 201 434 223 434 187 435 188 435 201 435 186 436 223 436 221 436 186 437 221 437 219 437 186 438 187 438 223 438 185 439 186 439 219 439 184 440 219 440 217 440 184 441 185 441 219 441 183 442 184 442 217 442 183 443 217 443 215 443 181 444 183 444 215 444 181 445 215 445 210 445 179 446 181 446 210 446 179 447 210 447 205 447 175 448 179 448 205 448 175 449 205 449 203 449 176 450 175 450 203 450 176 451 203 451 202 451 178 452 176 452 202 452 178 453 202 453 206 453 178 454 206 454 209 454 180 455 178 455 209 455

79 |
80 |
81 |
82 |
83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
105 | -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/x1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/worlds/xacro/x1.jpg -------------------------------------------------------------------------------- /Gazebo/worlds/xacro/x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Gazebo/worlds/xacro/x1.png -------------------------------------------------------------------------------- /Simulink/.gitignore: -------------------------------------------------------------------------------- 1 | # Windows default autosave extension 2 | *.asv 3 | 4 | # OSX / *nix default autosave extension 5 | *.m~ 6 | 7 | # Compiled MEX binaries (all platforms) 8 | *.mex* 9 | 10 | # Simulink Code Generation 11 | slprj/ 12 | 13 | # Session info 14 | octave-workspace 15 | 16 | # Simulink autosave extension 17 | *.autosave 18 | -------------------------------------------------------------------------------- /Simulink/README.md: -------------------------------------------------------------------------------- 1 | # IMAV2017 Simulink models # 2 | 3 | ## Description ## 4 | 5 | The [International Micro Air Vehicle Conference and Competition](http://www.imavs.org) (IMAV) is a yearly event that aims at fostering key technologies for the development of micro-air vehicles that [MathWorks](http://www.mathworks.com/) sponsors. 6 | IMAV combines a scientific conference and a flight competition intended to all research groups around the world. 7 | This project has been developed to provide IMAV with an environment for the virtual competition event, complementing the two real indoor and outdoor competitions. 8 | 9 | ## Contents ## 10 | 11 | This repository contains Simulink control models that connect to the competition environment running on ROS/Gazebo in order to control a drone. This is done by sending ROS topics from Simulink, thanks to the ROS blocks from the Robotics System Toolbox. 12 | 13 | Several example models are available for you to experiment with that and build up a drone control software that will allow to meet the mission elements: 14 | 15 | - **manualControl**: control the drone manually on the X, Y, Z and Yaw axis 16 | - **simpleMovement**: make the drone reach a target (the QR code) by defining a trajectory with the Signal Builder block 17 | - **pathFollowing**: make the drone reach a target using the Pure Pursuit block from the Robotics System Toolbox 18 | - **pathFollowingWithObstacleAvoidance**: make the drone avoid obstacles using the Vector Field Histogram block from the Robotics System Toolbox 19 | 20 | For the moment, these models control the drone with ID 1, but you can change the topics of the *Subscribe* and *Publish* blocks to control another drone. 21 | 22 | ## Instructions ## 23 | 24 | To connect Simulink with the ROS server, follow these steps: 25 | 26 | 1. In MATLAB, execute the `rosinit` function with the IP of the virtual machine 27 | 2. In Simulink, navigate to Tools > Robotics Operating System > Configure Network Addresses 28 | 3. In ROS Master, make sure Network Address is set to Default 29 | 4. In Node Host, make sure Network Address is set to Default 30 | 5. Test the connectivity using the Test button 31 | 32 | Refer to the following links for more information: 33 | 34 | - [Connect to a ROS Network](https://www.mathworks.com/help/robotics/examples/connect-to-a-ros-network.html) 35 | - [Simulink and ROS Interaction](https://www.mathworks.com/help/robotics/ug/simulink-and-ros-interaction.html) 36 | - [Configure ROS Network Addresses](https://www.mathworks.com/help/robotics/ug/configure-ros-network-addresses.html) 37 | 38 | ## Notes ## 39 | 40 | If a model can control the drone but does not receive any data from the drone, make sure you have set the *ROS_IP* environment variable in the VM before running ROS. 41 | -------------------------------------------------------------------------------- /Simulink/license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017, The MathWorks, Inc. 2 | All rights reserved. 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 5 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 6 | 3. In all cases, the software is, and all modifications and derivatives of the software shall be, licensed to you solely for use in conjunction with MathWorks products and service offerings. 7 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 8 | -------------------------------------------------------------------------------- /Simulink/manualControl.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Simulink/manualControl.slx -------------------------------------------------------------------------------- /Simulink/pathFollowing.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Simulink/pathFollowing.slx -------------------------------------------------------------------------------- /Simulink/pathFollowingWithObstacleAvoidance.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Simulink/pathFollowingWithObstacleAvoidance.slx -------------------------------------------------------------------------------- /Simulink/pathFollowingWithObstacleAvoidanceDemo1.mkv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Simulink/pathFollowingWithObstacleAvoidanceDemo1.mkv -------------------------------------------------------------------------------- /Simulink/pathFollowingWithObstacleAvoidanceDemo2.mkv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Simulink/pathFollowingWithObstacleAvoidanceDemo2.mkv -------------------------------------------------------------------------------- /Simulink/simpleMovement.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/quadcopter-simulation-ros-gazebo/889fb2aa937256eea2c512cc7355675b7f91076f/Simulink/simpleMovement.slx --------------------------------------------------------------------------------