├── LICENSE ├── README.md ├── oakd_description ├── CMakeLists.txt ├── launch │ └── description.launch ├── meshes │ ├── OAK-D-LITE.dae │ ├── OAK-D-POE.dae │ └── OAK-D.dae ├── package.xml └── urdf │ ├── oakd-lite.urdf.xacro │ ├── oakd-poe.urdf.xacro │ └── oakd.urdf.xacro └── oakd_gazebo ├── CMakeLists.txt ├── launch ├── oakd_empty_world.launch └── oakd_spawn.launch ├── package.xml └── worlds └── empty.world /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2022, Jet Dillo 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # oakd_models 2 | URDF models, materials and Gazebo demo worlds for the Luxonis OAKD v1 Stereo AI Camera. 3 | You will need to run stereo_image_proc along with this model to get disparity images and pointcloud. 4 | 5 | I've validated this model on the Gazebo simulation of my rover, [Tenacity](https://github.com/jetdillo/tenacity_rover), but haven't tested it extensively on other simulations/worlds. \ 6 | This replicates the OAKD B&W cameras as described on the [Luxonis Hardware page about the OAK-D](https://docs.luxonis.com/projects/hardware/en/latest/pages/BW1098OAK.html#depth-perception) along with the center RGB camera. 7 | 8 | You should be able to just drop this into an existing URDF as a xacro macro. 9 | Go check out [Tenacity](https://github.com/jetdillo/tenacity_rover) if you need an example of how to do that. 10 | If you don't know how to work with XACRO The [ROS Wiki](wiki.ros.org) has a good [tutorial](http://wiki.ros.org/urdf/Tutorials/Using%20Xacro%20to%20Clean%20Up%20a%20URDF%20File) on the subject. 11 | 12 | This is an initial release of this model, so there might be bugs, inefficiencies, parameters that could be better specified, etc. 13 | I'm open to feedback, bugs, PRs, etc. 14 | 15 | Thanks, 16 | ----Steve " 'dillo" Okay 17 | -------------------------------------------------------------------------------- /oakd_description/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(oakd_description) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | urdf 6 | xacro 7 | ) 8 | 9 | catkin_package( 10 | CATKIN_DEPENDS 11 | urdf 12 | xacro 13 | ) 14 | 15 | include_directories( 16 | ${catkin_INCLUDE_DIRS} 17 | ) 18 | 19 | install(DIRECTORY launch meshes urdf 20 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 21 | ) 22 | -------------------------------------------------------------------------------- /oakd_description/launch/description.launch: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /oakd_description/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | oakd_description 4 | 0.2.2 5 | Gazebo simulation launch files for the Luxonix OAKD AI Camera 6 | Steve Okay 7 | BSD-3-Clause 8 | https://familiarrobotics.com/ 9 | https://github.com/jetdillo/oakd 10 | https://github.com/jetdillo/oakd/issues 11 | Steve Okay 12 | catkin 13 | 14 | description_ros 15 | description_ros_control 16 | urdf 17 | xacro 18 | roslaunch 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /oakd_description/urdf/oakd-lite.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 0.0 0.0 0.0 0.0 0.0 0.0 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | Gazebo/DarkGrey 70 | 71 | 30.0 72 | 73 | 1.2566 74 | 75 | 1200 76 | 800 77 | L8 78 | 79 | 80 | 81 | 0.3 82 | 35 83 | 84 | 85 | gaussian 86 | 0.0 87 | 0.007 88 | 89 | 90 | 91 | 0 -0.07 0 0 0 0 92 | 1.1.2566 93 | 94 | 1200 95 | 800 96 | L8 97 | 98 | 99 | 100 | 0.3 101 | 35 102 | 103 | 104 | gaussian 105 | 0.0 106 | 0.007 107 | 108 | 109 | 110 | true 111 | 0.0 112 | oakd_lite_${mount_point}/camera 113 | image_raw 114 | camera_info 115 | camera_optical_frame 116 | 117 | 0.075 118 | 0.0 119 | 0.0 120 | 0.0 121 | 0.0 122 | 0.0 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | Gazebo/White 131 | 132 | 30.0 133 | 134 | 1.3962634 135 | 136 | 800 137 | 800 138 | R8G8B8 139 | 140 | 141 | 0.02 142 | 300 143 | 144 | 145 | gaussian 146 | 149 | 0.0 150 | 0.007 151 | 152 | 153 | 154 | true 155 | 0.0 156 | oakd_lite_rgb_${mount_point} 157 | image_raw 158 | camera_info 159 | camera_rgb_link_optical 160 | 163 | 0.0 164 | 0.0 165 | 0.0 166 | 0.0 167 | 0.0 168 | 0.0 169 | 0 170 | 0.0 171 | 0.0 172 | 0.0 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | true 192 | 193 | 194 | 195 | -------------------------------------------------------------------------------- /oakd_description/urdf/oakd-poe.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 0.0 0.0 0.0 0.0 0.0 0.0 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | Gazebo/DarkGrey 73 | 74 | 30.0 75 | 76 | 1.2566 77 | 78 | 1200 79 | 800 80 | L8 81 | 82 | 83 | 84 | 0.3 85 | 35 86 | 87 | 88 | gaussian 89 | 0.0 90 | 0.007 91 | 92 | 93 | 94 | 0 -0.07 0 0 0 0 95 | 1.1.2566 96 | 97 | 1200 98 | 800 99 | L8 100 | 101 | 102 | 103 | 0.3 104 | 35 105 | 106 | 107 | gaussian 108 | 0.0 109 | 0.007 110 | 111 | 112 | 113 | true 114 | 0.0 115 | oakd_poe_${mount_point}/camera 116 | image_raw 117 | camera_info 118 | camera_optical_frame 119 | 120 | 0.075 121 | 0.0 122 | 0.0 123 | 0.0 124 | 0.0 125 | 0.0 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | Gazebo/White 134 | 135 | 30.0 136 | 137 | 1.3962634 138 | 139 | 800 140 | 800 141 | R8G8B8 142 | 143 | 144 | 0.02 145 | 300 146 | 147 | 148 | gaussian 149 | 152 | 0.0 153 | 0.007 154 | 155 | 156 | 157 | true 158 | 0.0 159 | oakd_rgb_${mount_point} 160 | image_raw 161 | camera_info 162 | camera_rgb_link_optical 163 | 166 | 0.0 167 | 0.0 168 | 0.0 169 | 0.0 170 | 0.0 171 | 0.0 172 | 0 173 | 0.0 174 | 0.0 175 | 0.0 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | true 195 | 196 | 197 | 198 | -------------------------------------------------------------------------------- /oakd_description/urdf/oakd.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 0.0 0.0 0.0 0.0 0.0 0.0 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | Gazebo/DarkGrey 70 | 71 | 30.0 72 | 73 | 1.2566 74 | 75 | 1200 76 | 800 77 | L8 78 | 79 | 80 | 81 | 0.3 82 | 35 83 | 84 | 85 | gaussian 86 | 0.0 87 | 0.007 88 | 89 | 90 | 91 | 0 -0.07 0 0 0 0 92 | 1.1.2566 93 | 94 | 1200 95 | 800 96 | L8 97 | 98 | 99 | 100 | 0.3 101 | 35 102 | 103 | 104 | gaussian 105 | 0.0 106 | 0.007 107 | 108 | 109 | 110 | true 111 | 0.0 112 | oakd_${mount_point}/camera 113 | image_raw 114 | camera_info 115 | camera_optical_frame 116 | 117 | 0.075 118 | 0.0 119 | 0.0 120 | 0.0 121 | 0.0 122 | 0.0 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | Gazebo/White 131 | 132 | 30.0 133 | 134 | 1.3962634 135 | 136 | 800 137 | 800 138 | R8G8B8 139 | 140 | 141 | 0.02 142 | 300 143 | 144 | 145 | gaussian 146 | 149 | 0.0 150 | 0.007 151 | 152 | 153 | 154 | true 155 | 0.0 156 | oakd_rgb_${mount_point} 157 | image_raw 158 | camera_info 159 | camera_rgb_link_optical 160 | 163 | 0.0 164 | 0.0 165 | 0.0 166 | 0.0 167 | 0.0 168 | 0.0 169 | 0 170 | 0.0 171 | 0.0 172 | 0.0 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | true 192 | 193 | 194 | 195 | -------------------------------------------------------------------------------- /oakd_gazebo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(oakd_gazebo) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package( 7 | DEPENDS 8 | gazebo_ros 9 | gazebo_ros_control 10 | stereo_image_proc 11 | ) 12 | 13 | install(DIRECTORY launch models worlds 14 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 15 | ) 16 | -------------------------------------------------------------------------------- /oakd_gazebo/launch/oakd_empty_world.launch: -------------------------------------------------------------------------------- 1 | 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 | -------------------------------------------------------------------------------- /oakd_gazebo/launch/oakd_spawn.launch: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /oakd_gazebo/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | oakd_gazebo 4 | 0.2.2 5 | Gazebo simulation launch files for the Luxonix OAKD AI Camera 6 | Steve Okay 7 | BSD-3-Clause 8 | https://familiarrobotics.com/jetdillo/oakd 9 | https://github.com/jetdillo/oakd 10 | https://github.com/jetdillo/oakd/issues 11 | Steve Okay 12 | catkin 13 | oakd_description 14 | gazebo_ros 15 | gazebo_ros_control 16 | xacro 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /oakd_gazebo/worlds/empty.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0.4 0.4 0.4 1 8 | 0.7 0.7 0.7 1 9 | true 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | quick 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | --> 34 | 0.001 35 | 0.02 36 | 100.0 37 | 0.001 38 | 39 | 40 | 41 | 42 | 43 | 44 | model://sun 45 | 46 | 47 | 48 | 49 | model://ground_plane 50 | 51 | 52 | 53 | 56 | 57 | 58 | 59 | --------------------------------------------------------------------------------