├── .colcon └── defaults.yaml ├── .devcontainer ├── Dockerfile ├── devcontainer.json ├── docker-compose.yml └── setup_container.bash ├── .github └── workflows │ └── build_dev_container.yml ├── .gitignore ├── .vscode ├── c_cpp_properties.json ├── keybindings.json ├── scripts │ ├── build.sh │ ├── day2.sh │ ├── day3.sh │ ├── day4.sh │ └── day5.sh ├── settings.json └── tasks.json ├── LICENSE ├── README.md ├── course ├── Start Creating Robots - Course Cheat Sheet.pdf ├── day1.md ├── day2.md ├── day3.md ├── day4.md └── day5.md └── src └── start_creating_robots ├── LICENSE ├── config ├── mapping.yaml ├── nav.rviz ├── navigation.yaml └── vis.rviz ├── launch ├── gazebo.launch.py ├── mapping.launch.py └── navigation.launch.py ├── package.xml ├── resource └── start_creating_robots ├── setup.cfg ├── setup.py └── worlds_and_models ├── Cafe ├── materials │ └── textures │ │ ├── __auto_10.jpg │ │ ├── __auto_2.jpg │ │ ├── __auto_21.jpg │ │ ├── __auto_22.jpg │ │ ├── __auto_23.jpg │ │ ├── __auto_24.jpg │ │ ├── __auto_25.jpg │ │ ├── __auto_26.jpg │ │ ├── __auto_28.jpg │ │ ├── __auto_29.jpg │ │ ├── __auto_30.jpg │ │ ├── __auto_31.jpg │ │ ├── __auto_34.jpg │ │ ├── __auto_35.jpg │ │ └── __auto_37.jpg ├── meshes │ └── cafe.dae ├── model.config └── model.sdf ├── cafe.sdf └── krytn ├── inertial.xacro ├── krytn.urdf.xacro ├── lidar_2d_v1.urdf.xacro ├── magni.urdf.xacro ├── materials ├── scripts │ └── model.material └── textures │ ├── RealSense_Albedo.png │ ├── RealSense_Metalness.png │ ├── RealSense_Normal.png │ ├── RealSense_Roughness.png │ └── lidar_2d_v1.jpg ├── meshes ├── caster_wheel.dae ├── front_wheel.dae ├── lidar_2d_v1.dae ├── magni_body.dae ├── magni_shell.dae └── realsense.dae └── realsense_d435.urdf.xacro /.colcon/defaults.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "build": 3 | { 4 | "merge-install": true, 5 | "symlink-install": true, 6 | "event-handlers": ["console_direct+", "status+", "summary+"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM osrf/ros:humble-desktop 2 | WORKDIR /workspace 3 | COPY . /workspace/.devcontainer/ 4 | RUN bash .devcontainer/setup_container.bash 5 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Start Creating Robots WSL Dev Container", 3 | "dockerComposeFile": [ 4 | "docker-compose.yml" 5 | ], 6 | "service": "humble-desktop-full", 7 | "workspaceFolder": "/workspace/", 8 | "customizations": { 9 | "vscode": { 10 | "extensions": [ 11 | "betwo.b2-catkin-tools", 12 | "DotJoshJohnson.xml", 13 | "ms-azuretools.vscode-docker", 14 | "ms-iot.vscode-ros", 15 | "ms-python.python", 16 | "ms-vscode.cpptools", 17 | "redhat.vscode-yaml", 18 | "smilerobotics.urdf", 19 | "streetsidesoftware.code-spell-checker", 20 | "twxs.cmake", 21 | "yzhang.markdown-all-in-one", 22 | "jaehyunshim.vscode-ros2", 23 | "llvm-vs-code-extensions.vscode-clangd", 24 | "ms-python.vscode-pylance", 25 | "ms-iot.vscode-ros" 26 | ], 27 | "settings": { 28 | "terminal.integrated.profiles.linux": { 29 | "bash": { 30 | "path": "/bin/bash" 31 | } 32 | }, 33 | "terminal.integrated.defaultProfile.linux": "bash", 34 | "python.languageServer": "Pylance", 35 | "python.formatting.provider": "black", 36 | "editor.formatOnSave": true, 37 | "C_Cpp.clang_format_path": "clang-format", 38 | "C_Cpp.clang_format_fallbackStyle": "Google", 39 | "C_Cpp.formatting": "default", 40 | "ros.distro": "humble", 41 | "ros.packagePath": "/opt/ros/humble/share/" 42 | } 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /.devcontainer/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | humble-desktop-full: 4 | image: johnny555/stc:v1.01 5 | user: ros 6 | volumes: 7 | - ../:/workspace:cached 8 | - /tmp/.X11-unix:/tmp/.X11-unix 9 | - /mnt/wslg:/mnt/wslg 10 | - /usr/lib/wsl:/usr/lib/wsl 11 | 12 | environment: 13 | - DISPLAY=:0 14 | - WAYLAND_DISPLAY 15 | - XDG_RUNTIME_DIR 16 | - PULSE_SERVER 17 | 18 | command: /bin/sh -c "while sleep 1000; do :; done" 19 | -------------------------------------------------------------------------------- /.devcontainer/setup_container.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Add kisak-mesa for gazebo hotfixes. https://github.com/gazebosim/gz-sim/issues/920 4 | add-apt-repository ppa:kisak/kisak-mesa 5 | 6 | apt-get update 7 | apt-get upgrade -y 8 | apt install -y mesa-utils 9 | 10 | # ------------------------------------------------------ 11 | # Now download and install openvdb so STVL plugin works. 12 | # https://github.com/SteveMacenski/spatio_temporal_voxel_layer/issues/232 13 | # ------------------------------------------------------ 14 | mkdir openvdb 15 | cd openvdb 16 | 17 | wget https://github.com/wyca-robotics/openvdb/releases/download/v8.2.0-debian/libopenvdb-dev_8.2.0-1-wyca_amd64.deb 18 | wget https://github.com/wyca-robotics/openvdb/releases/download/v8.2.0-debian/libopenvdb-doc_8.2.0-1-wyca_all.deb 19 | wget https://github.com/wyca-robotics/openvdb/releases/download/v8.2.0-debian/libopenvdb-tools_8.2.0-1-wyca_amd64.deb 20 | wget https://github.com/wyca-robotics/openvdb/releases/download/v8.2.0-debian/libopenvdb8.2_8.2.0-1-wyca_amd64.deb 21 | wget https://github.com/wyca-robotics/openvdb/releases/download/v8.2.0-debian/python3-openvdb_8.2.0-1-wyca_amd64.deb 22 | 23 | dpkg -i libopenvdb8.2_8.2.0-1-wyca_amd64.deb 24 | dpkg -i libopenvdb-dev_8.2.0-1-wyca_amd64.deb 25 | dpkg -i libopenvdb-tools_8.2.0-1-wyca_amd64.deb 26 | dpkg -i python3-openvdb_8.2.0-1-wyca_amd64.deb 27 | dpkg -i libopenvdb-doc_8.2.0-1-wyca_all.deb 28 | 29 | cd .. 30 | 31 | # ----------------------------------------------------- 32 | 33 | # Now install Gazebo ign 34 | apt-get install -y ros-humble-ros-gz 35 | 36 | source /opt/ros/humble/local_setup.bash 37 | rosdep update 38 | rosdep install --from-paths src --ignore-src -y -r 39 | 40 | # Create user ros, and allow it to install stuff. 41 | adduser --disabled-password --gecos "docker user" ros 42 | echo 'ros ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/ros && chmod 0440 /etc/sudoers.d/ros 43 | chown -R ros /workspace 44 | 45 | # Install some extra stuff 46 | 47 | apt-get install -y ros-humble-rqt-robot-steering ros-humble-slam-toolbox ros-humble-navigation2 ros-humble-nav2-bringup 48 | 49 | # Do an initial build 50 | 51 | colcon build --symlink-install 52 | 53 | # Get python deps 54 | 55 | sudo apt install python3-pip 56 | pip install black 57 | 58 | # Make it so that sourcing happens automatically 59 | echo "source /opt/ros/humble/setup.bash" >> /home/ros/.bashrc 60 | echo "source /workspace/install/setup.bash" >> /home/ros/.bashrc 61 | 62 | # Suppress deprecated setuptools warning 63 | echo "PYTHONWARNINGS=\"ignore:setup.py install is deprecated::setuptools.command.install,ignore:easy_install command is deprecated::setuptools.command.easy_install\"; export PYTHONWARNINGS" >> /home/ros/.bashrc 64 | 65 | # Add GAZEBO path so we can easily include models 66 | echo "export IGN_GAZEBO_RESOURCE_PATH=/workspace/install/start_creating_robots/share/start_creating_robots/worlds_and_models/" >> /home/ros/.bashrc 67 | -------------------------------------------------------------------------------- /.github/workflows/build_dev_container.yml: -------------------------------------------------------------------------------- 1 | name: "build" 2 | on: # rebuild any PRs and main branch changes 3 | pull_request: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout (GitHub) 13 | uses: actions/checkout@v3 14 | 15 | - name: Build dev container task 16 | uses: devcontainers/ci@v0.3 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | install 3 | log 4 | *Zone.Identifier* 5 | -------------------------------------------------------------------------------- /.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "browse": { 5 | "databaseFilename": "${default}", 6 | "limitSymbolsToIncludedHeaders": false 7 | }, 8 | "includePath": [ 9 | "/opt/ros/humble/include/**", 10 | "/usr/include/**" 11 | ], 12 | "name": "ROS", 13 | "intelliSenseMode": "gcc-x64", 14 | "compilerPath": "/usr/bin/gcc", 15 | "cStandard": "gnu11", 16 | "cppStandard": "c++14" 17 | } 18 | ], 19 | "version": 4 20 | } -------------------------------------------------------------------------------- /.vscode/keybindings.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "key": "ctrl+alt+2", 4 | "command": "workbench.action.tasks.runTask", 5 | "args": "Day 2" 6 | }, 7 | { 8 | "key": "ctrl+alt+3", 9 | "command": "workbench.action.tasks.runTask", 10 | "args": "Day 3" 11 | }, 12 | { 13 | "key": "ctrl+alt+4", 14 | "command": "workbench.action.tasks.runTask", 15 | "args": "Day 4" 16 | }, 17 | { 18 | "key": "ctrl+alt+5", 19 | "command": "workbench.action.tasks.runTask", 20 | "args": "Day 5" 21 | } 22 | ] -------------------------------------------------------------------------------- /.vscode/scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source /opt/ros/humble/local_setup.bash 3 | source install/setup.bash 4 | PYTHONWARNINGS="ignore:setup.py install is deprecated::setuptools.command.install,ignore:easy_install command is deprecated::setuptools.command.easy_install"; 5 | export PYTHONWARNINGS 6 | 7 | colcon build 8 | -------------------------------------------------------------------------------- /.vscode/scripts/day2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | bash .vscode/scripts/build.sh 3 | 4 | source install/setup.bash 5 | ign gazebo shapes.sdf -------------------------------------------------------------------------------- /.vscode/scripts/day3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | bash .vscode/scripts/build.sh 3 | 4 | source install/setup.bash 5 | ros2 launch start_creating_robots gazebo.launch.py 6 | 7 | -------------------------------------------------------------------------------- /.vscode/scripts/day4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | bash .vscode/scripts/build.sh 3 | 4 | source install/setup.bash 5 | ros2 launch start_creating_robots mapping.launch.py 6 | -------------------------------------------------------------------------------- /.vscode/scripts/day5.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | bash .vscode/scripts/build.sh 3 | 4 | source install/setup.bash 5 | ros2 launch start_creating_robots navigation.launch.py 6 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.autoComplete.extraPaths": [ 3 | "/opt/ros/humble/lib/python3.10/site-packages", 4 | "/opt/ros/humble/local/lib/python3.10/dist-packages" 5 | ], 6 | "python.analysis.extraPaths": [ 7 | "/opt/ros/humble/lib/python3.10/site-packages", 8 | "/opt/ros/humble/local/lib/python3.10/dist-packages" 9 | ], 10 | "[python]": { 11 | "editor.defaultFormatter": "ms-python.black-formatter" 12 | }, 13 | "python.formatting.provider": "none", 14 | "ros.rosSetupScript": "/workspace/install/setup.bash", 15 | "ros.distro": "humble" 16 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | // Build tasks 5 | { 6 | "label": "build", 7 | "detail": "Build workspace (default)", 8 | "type": "shell", 9 | "command": "bash .vscode/scripts/build.sh", 10 | "group": { 11 | "kind": "build", 12 | "isDefault": true 13 | }, 14 | "problemMatcher": "$gcc", 15 | "presentation": { 16 | "echo": true, 17 | "reveal": "always", 18 | "focus": false, 19 | "panel": "shared", 20 | "showReuseMessage": true, 21 | "clear": false 22 | } 23 | }, 24 | { 25 | "label": "Day 2", 26 | "detail": "Test that Gazebo works!", 27 | "type": "shell", 28 | "command": "bash .vscode/scripts/day2.sh", 29 | "problemMatcher": [] 30 | }, 31 | { 32 | "label": "Day 3", 33 | "detail": "Teleoperate a robot", 34 | "type": "shell", 35 | "command": "bash .vscode/scripts/day3.sh", 36 | "problemMatcher": [] 37 | }, 38 | { 39 | "label": "Day 4", 40 | "detail": "Create your first map", 41 | "type": "shell", 42 | "command": "bash .vscode/scripts/day4.sh", 43 | "problemMatcher": [] 44 | }, 45 | { 46 | "label": "Day 5", 47 | "detail": "Let your robot drive itself", 48 | "type": "shell", 49 | "command": "bash .vscode/scripts/day5.sh", 50 | "problemMatcher": [] 51 | } 52 | ] 53 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # start-creating-robots-email 2 | Repo To Go With Start Creating Robots email course at startcreatingrobots.com 3 | -------------------------------------------------------------------------------- /course/Start Creating Robots - Course Cheat Sheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/course/Start Creating Robots - Course Cheat Sheet.pdf -------------------------------------------------------------------------------- /course/day1.md: -------------------------------------------------------------------------------- 1 | # Welcome to the 5 Day Start Creating Robots course 2 | 3 | I'm John Vial, I've got a PhD in Robotics and currently work in Perth, Australia doing industrial robots. But don't worry, you won't need a PhD or to live in Australia to do this course. 4 | 5 | If you're like me, you've probably spent way too much time trying to figure out how to get started building robots with the Robotics Operating System (ROS). You've been tempted to install linux or try a VM but every guide quickly goes off the rails and you're left trying to debug some obscure error. As I went through this process I wished that there was an easier way. 6 | 7 | This course is my attempt at making an easy path for you. 8 | 9 | Read on or check out this video : 10 | 11 | [Day1](https://youtu.be/PLi3HtUg5Zg) 12 | 13 | # Who is this course for? 14 | 15 | Not everyone is suitable for this course. Hopefully you: 16 | 17 | - Are just getting started in robotics, and want to know if ROS is right for you. 18 | - Want to experiment with robotics. This course won't teach you fundamentals, rather its focus is getting you setup so you have a robotics test bed that could be shifted onto a real robot. 19 | - Have a Windows 11 computer. ROS runs best on Linux, but I'm assuming that you aren't yet ready to invest in a dual boot setup. 20 | 21 | Each day I'll send you a quick email with the steps you'll need to follow to get it working. 22 | 23 | # Here is a quick overview of what we are going to do together: 24 | 25 | Day 1 (Today) 26 | : Download Your Tools All we are going to do today is just download windows tools. 27 | 28 | Day 2 29 | : Setup your environment We will setup a docker, VS Code dev container environment. It will end with a check that you have the Robotics simulation environment Gazebo working. 30 | 31 | Day 3 32 | : TeleoperationToday will be doing robot teleoperation, getting a feel for how the simulator works. 33 | 34 | Day 4 35 | : Sensors & Mapping Every robot needs sensors, and these sensors are used to make a map of the environment. 36 | 37 | Day 5 38 | : Autonomous Navigation What everyone really wants is an autonomous robot. In the final day we will setup an autonomous robot system. 39 | 40 | # Todays Work 41 | 42 | All you need to do today is to download and install the following windows programs. 43 | 44 | ## Windows Subsystem for Linux (WSL) v2, Ubuntu 22.04 45 | 46 | You can get it from the windows app store here: https://apps.microsoft.com/store/detail/ubuntu-22042-lts/9PN20MSR04DW 47 | 48 | ## Windows Terminal App 49 | https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701 50 | 51 | ## Docker Desktop for Windows 52 | 53 | Download from: https://www.docker.com/products/docker-desktop/ 54 | 55 | ## VS Code 56 | 57 | Download from: https://code.visualstudio.com 58 | 59 | 60 | See you tomorrow! 61 | -------------------------------------------------------------------------------- /course/day2.md: -------------------------------------------------------------------------------- 1 | # Welcome to Day 2 of Start Creating Robots 2 | 3 | Today we are going to download and setup our environment. 4 | 5 | All the tools you downloaded yesterday are going to work together to make getting your simulation setup really easy. However, we still need to configure them. Lets get into it! 6 | 7 | 1. Set up Windows Subsystem for Linux (WSL) 8 | 9 | In 2010 when I was getting into robotics, it was nearly impossible to start doing Robotics Operating System work without using Linux. But today thanks to WSL we can install an entire operating system as easily as downloading an app. However, there are two versions of WSL, to make sure we have the right one, open an admin terminal in the Windows Terminal app from Day 1 and each line below (hitting enter after it): 10 | 11 | ``` 12 | wsl.exe --set-version Ubuntu 2 13 | wsl.exe --update 14 | wsl.exe --install 15 | ``` 16 | 17 | (you will be prompted to create a username and password for your linux system. You'll need the username for the next step. If you've already created a username, you'll see it written before an @ symbol. On my computer it looks like john@leatherman , and my username is john ) 18 | 19 | 2. Copy The Course To Your Computer 20 | 21 | In the terminal type `ubuntu` to open an ubuntu shell. 22 | 23 | clone the repo by typing: 24 | 25 | ``` 26 | git clone https://github.com/johnny555/start-creating-robots-email.git 27 | ``` 28 | 29 | Next we will enter the directory and start vs code. 30 | 31 | ``` 32 | cd start-creating-robots-email 33 | code . 34 | ``` 35 | 36 | You should see vs code start up in your computer. Trust the repo.When VS Code opens up, hit Ctrl+Shift+X to open the extensions sidebar. 37 | 38 | Now start docker desktop. (Make sure its using the Ubuntu distro in the background). 39 | 40 | 3. Open VS Code And Install Dev Container Extension 41 | 42 | Search for "Dev Containers" and install the Dev Container extension. (Click the blue install button, or do nothing if its not there because Dev containers is already installed). 43 | 44 | Now press Ctrl+Shift+P and type search for an option "Dev Containers: Open Folder In Container". Make sure docker desktop is running in the background and hit enter. It will ask you to choose a folder. Choose the course folder (that is, the one that is called "start-creating-robot-email")If it asks you about dev container config files, choose "from docker-compose.yaml" 45 | 46 | If it asks you to install any extra services - don't, you won't need them. This will now setup and download a working version of ROS straight to your computer! 47 | 48 | 4. Run Gazebo 49 | 50 | It will take some time to download the docker image, but when it is finished you should see a blue box in the bottom left corner of the VS Code windows which says "Dev Container: Start Creating Robots". 51 | 52 | Press Ctrl+Shift+P and search for Run Task. Next choose "Day 2". 53 | 54 | All going well you should see a gazebo simulation with some balls. Feel free to zoom around and admire your handy-work! Take note of the orange play button, you can use that to start the simulation. 55 | 56 | Congrats, you just setup a ROS 2 humble system with a gazebo simulation. 57 | 58 | That's it for Day 2. 59 | 60 | # Things To Do For Extra Credit 61 | 62 | We are finished for today, but if you feel like it, play around with the gazebo tools. 63 | 64 | After you have hit play the physics simulation will run. You can use the toolbars to spawn in objects, or use the cross-hairs to translate an object and drop it. 65 | 66 | Gazebo also has a lot of plugins, if you click the three dots to the right you will be able to see a list of plugins you can download. Feel free to play with them and see what they do. 67 | 68 | You can zoom in and out using your mouses scroll wheel, you can rotate by holding shift while dragging. 69 | 70 | Play with the controls to get a feel for how to move around. 71 | 72 | 73 | -------------------------------------------------------------------------------- /course/day3.md: -------------------------------------------------------------------------------- 1 | # Welcome to Day 3 of Start Creating Robots 2 | If you have got this far, congrats! 3 | 4 | The hard part is over, now we get to start playing with robots. We will first start by teleoperation. 5 | 6 | # Start the simulation 7 | 8 | Make sure Docker Desktop is running and then open VS Code. Look in the bottom left to make sure VS code says "Dev Container: Start Creating Robots Email" in the bottom left. If it doesn't, hit ctrl-shift-p to search and run the "Open Folder In Container Command". 9 | 10 | Now hit ctrl-shift-p and search for "Run Task". This time choose task named "Day 3". 11 | 12 | You should be presented with two windows. One window is a simulation of a coffee shop world with a blue robot in the middle. The other window is a controller for driving the robot. 13 | 14 | Gazebo is like the world, and this robot is now like a remote controlled car. You can zoom in and out in Gazebo with your controls and use the teleoperation window for driving the robot. 15 | 16 | ## Take some time to play with the simulation. 17 | 18 | Notice the number in the bottom right of the screen, this number is the real-time percentage of your simulation. 19 | 20 | If its at or near 100% this means that the simulation is running at realtime, if its less than 100% 21 | then the simulation is running slower than real time. For example, 30% means every 3 real world seconds, only 1 second elapses in the simulated world. It should be running pretty fast right now, but tomorrow it will be different. 22 | 23 | That's all I wanted to show you today, but if you want to dive a little deeper, there are two other things I'd like to highlight. 24 | 25 | # Launching Your Robot System 26 | 27 | If you want to see how this system is running, check out the file: 28 | 29 | `src/start_creating_robots/launch/gazebo.launch.py` 30 | 31 | This is a ROS 2 launch file, and it describes the nodes that are currently running this simulation. Over the next 3 days we will be running a different launch file, but they all build upon each other, so checking them out will give you a glimpse of what is needed to get a robot simulation running. 32 | The Day 2 run task, simply builds the system and then runs this launch file. If you want to check out the script it runs, you can find it in /workspace/.vscode/scripts/day3.sh 33 | 34 | # Describing your robot 35 | 36 | ROS and Gazebo use several different modelling languages to describe their worlds and robots. For our simulation they are in the folder: 37 | 38 | `src/start_creating_robots/worlds_and_models/` 39 | 40 | Our robot is described by the file: 41 | 42 | `src/start_creating_robots/worlds_and_models/krytn/krytn.urdf.xacro` 43 | 44 | If you're abit more experienced you might note that krytn.urdf.xacro has an option to disable sensors. See if you can find where this option is called in the gazebo.launch.py file. 45 | 46 | 47 | 48 | See you tomorrow! 49 | 50 | John 51 | -------------------------------------------------------------------------------- /course/day4.md: -------------------------------------------------------------------------------- 1 | # Welcome to Day 4 of Start Creating Robots 2 | 3 | 4 | Today we are going to explore sensors and mapping. 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Just like yesterday you need to turn on Docker and make sure you have started VS Code within the Dev Container. 15 | 16 | Now type Ctrl+Shift+P search an run "Run Task", and now choose "Day 4". 17 | 18 | # RViz - Your Robots Perspective 19 | 20 | Today we are taking a look through the robots eyes. 21 | 22 | In this new simulation, the robot has been equipped with a forward facing laser scanner and very small depth camera. You'll also notice a new window has opened on your computer titled RViz2. This is the ROS visualization software, and it lets you see what the robot is seeing. 23 | 24 | Zoom around in the RViz interface, you should notice red dots representing lidar returns and some small pixels representing colourized depth measurements. 25 | Teleoperate the robot around looking only at RViz and the teleoperation window. Occasionally peak at Gazebo if you get stuck. This will simulate how driving a robot in the real world will be. Most of the time you'll either be looking through its sensors, or actually looking at it to figure out if what you are seeing on the sensors makes sense. 26 | 27 | # Visualise the map 28 | 29 | While you have been driving around, the robot has been secretly making a map of its environment using the lidar. You can add this map to the visual by clicking on the add button in the bottom of the left-hand panel of RVIZ. 30 | 31 | A popup window should appear, choose the "By Topic" tab to select a visualisation by topic. Next find the topic /map and select the grey icon below it that says "Map". 32 | Congratulations, you have created visualised the map. 33 | 34 | # Changing to the map coordinate frame 35 | 36 | Drive the robot around and what what happens to the map. You should see that the robot is always in the centre of the map, and the map will update around the robot. This is pretty weird, and not at all how we think about maps. 37 | 38 | This is happening because RViz is setup for showing the work with respect to the robots frame of reference. To get the map to behave abit more sensibly, go to the top of the left pane and look for "Global Options". Below it you see a field "Fixed Frame", change this field to "/map". 39 | 40 | Now drive the robot around, you should find that the robot moves in the map, and as the map updates the robots location snaps to where it should be. 41 | Also compare what you see in Gazebo to the map of the world. Is it accurate? 42 | 43 | Ok that's it for Day 4. 44 | 45 | # Extra Credit - Under The Hood 46 | 47 | If you want to understand whats going on abit deeper, look into the new launch file: 48 | /workspace/src/start_creating_robots/launch/mapping.launch.py 49 | This launch file includes the gazebo.launch.py from yesterday, but has some substantial changes. Most notably we are bridging alot more data from gazebo with the extended_bridge node. This allows us to get all of the sensor data as well as the transformations published by the gazebo motor controller. These transforms help ROS to know where all the parts of the robot are. 50 | 51 | We are also launching the slam_toobox to provide the mapping and a node to start RViz. 52 | 53 | # Go Even Deeper - Looking at Parameters 54 | 55 | The SLAM Toolbox node is very complicated, and takes lots of parameters. 56 | 57 | Rather than describe them all in the python file, they are loaded in from the file: 58 | /workspace/src/start_creating_robots/config/mapping.yaml 59 | You don't need to know what they do, but it's good to know where your parameters live if you ever want to change them. 60 | Creating Robots First Step - Modify Your Sensors 61 | You might be thinking, "Why is my camera so small?" or "I wish my lidar had more dots!". 62 | Thanks to the wonders of simulation, you can change the sensor parameters. If you want to change the field of view of the depth camera, try changing the tag in: 63 | /worspace/src/start_creating_robots/worlds_and_models/krytn/realsense_d435.urdf.xacro 64 | Alternatively, look at lidar_2d_v1.urdf.xacro in the same folder and change the parameters within the tag to change your lidar scan. 65 | Hit ctrl-c in the terminal that opened when you ran todays task, and then re-run the Day 4 task to regenerate your robot model with the upgraded sensors. 66 | Just watch out though, more sensor data means your simulation will run slower. Keep an eye on the real time speed percentage we looked at in Day 3 to know if its running slow. I prefer to keep my simulations above 30% if possible. 67 | 68 | See you tomorrow! 69 | 70 | 71 | John 72 | 73 | 74 | -------------------------------------------------------------------------------- /course/day5.md: -------------------------------------------------------------------------------- 1 | Welcome to Day 5 of Start Creating Robots 2 | 3 | It's time to build an autonomous robot! 4 | 5 | 6 | 7 | Open VS Code, make sure docker is running and open the dev container. Look for a blue box in the bottom left that says "Dev Container: Start Creating Robots" to know you are good to go. If it doesn't say that hit Ctrl+Shift+P and run open folder in dev container. 8 | 9 | Ok, lets run the day 5 code. Hit Ctrl+Shift+P and search for Run Task. Execute that and run Day 5. 10 | 11 | # You First Need A Map 12 | 13 | Lets do a quick repeat of yesterday and teleoperate around. 14 | 15 | This should fill out the map alittle bit. You don't actually need a complete map, but its much nicer if the map is somewhat complete. 16 | 17 | A Costmap Is Used To Help Your Robot Plan 18 | 19 | Today's RViz is already setup with several maps. In the left pane you should see three. The Map, a Local Costmap and a Global Costmap. 20 | 21 | Try clicking the check-box next to each map on and off separately to see what they look like. You should find that: 22 | 23 | - The Map is just the map. With thin black lines indicating the walls. 24 | - The Global Cost map looks just like the Map, but every wall has been expanded to be a bigger region. 25 | - The Local Cost map is just a really small square around the robot. 26 | 27 | Try driving the robot towards a wall and watch what happens to the Local cost map. 28 | 29 | The big idea with the costmap is that when you are planning a path through the world, you want the robot to try to avoid hitting the walls. So the costmaps inflate the size of obstacles to help avoid that. Also, the global costmap allows a planner to work out the high level path, whereas the local planner allows the robot to make minor course corrections along the way, and deal with any unexpected obstacles. 30 | 31 | Alright, we are ready to start autonomously driving, first make sure to stop your robot so it doesn't get conflicting drive commands! 32 | 33 | # Give Your Robot A Command 34 | 35 | In the top of RViz you should see a button that says "2D Goal Pose". 36 | 37 | Click that button and then select somewhere on the map. You should see a green line formed between your robot and the target goal. The robot will now slowly drive to that location. Try asking it to go to different parts of the cafe. You should see it attempt to navigate around obstacles. 38 | 39 | Congratulations! You have successfully built an autonomous robot simulation. 40 | You're Now Ready To Start Creating ROBOTS! 41 | 42 | It might seem like all you've done is click some buttons, but you actually have something very rare on your computer right now. 43 | 44 | A fully setup ROS simulation that you can change and modify to create any kind of robot. Feel free to dig into the launch files, the URDF and anything else. If you ever get stuck or break something, don't worry. You can always re-clone this repo and come back to this starting position. 45 | 46 | Good luck and please share what you build with me on LinkedIn (​https://www.linkedin.com/in/johnvial/​) and X/Twitter (​https://twitter.com/JohnVial​). 47 | 48 | 49 | # Extra Credit: Look under the hood 50 | 51 | Todays work relies purely on the ROS2 Nav2 software. 52 | 53 | Looking into the launch file at /workspace/src/start_creating_robots/launch/navigation.launch.py you should see that there isn't much to it. We just include everything from the mapping system and start the navigation system. This hides complexity, as the ROS2 Navigation stack is very sophisticated. 54 | 55 | You can get a sense of this by checking out the config file at /workspace/src/start_creating_robots/config/navigation.yaml 56 | 57 | # Want to keep creating robots? Let me know what you need to know next! 58 | 59 | Congratulations for getting this far. Most people give up waay before they get a working ROS system. 60 | 61 | I'd love to help you more, I'm putting together a book and online course, and if that's something your interested in I'd love to have you in the course. Please fill out this survey (​https://forms.gle/k7LZZSrbK55YwbwR8​) to let me know what you would like to learn about next! 62 | 63 | I'm also running a 4 week robotics simulation challenge. If that's sounds fun to you, you can sign up here: 64 | 65 | https://start-creating-robots.ck.page/products/4-week-robotics-challenge 66 | 67 | 68 | 69 | Cheers! 70 | 71 | John 72 | -------------------------------------------------------------------------------- /src/start_creating_robots/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2023, John Vial 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 | 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. 7 | 8 | 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 OWNER 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. -------------------------------------------------------------------------------- /src/start_creating_robots/config/mapping.yaml: -------------------------------------------------------------------------------- 1 | slam_toolbox: 2 | ros__parameters: 3 | # Plugin params 4 | solver_plugin: solver_plugins::CeresSolver 5 | ceres_linear_solver: SPARSE_NORMAL_CHOLESKY 6 | ceres_preconditioner: SCHUR_JACOBI 7 | ceres_trust_strategy: LEVENBERG_MARQUARDT 8 | ceres_dogleg_type: TRADITIONAL_DOGLEG 9 | ceres_loss_function: None 10 | 11 | # ROS Parameters 12 | odom_frame: odom 13 | map_frame: map 14 | base_frame: base_footprint 15 | scan_topic: /lidar 16 | use_map_saver: true 17 | mode: mapping #localization 18 | use_sim_time: true 19 | 20 | # if you'd like to immediately start continuing a map at a given pose 21 | # or at the dock, but they are mutually exclusive, if pose is given 22 | # will use pose 23 | #map_file_name: test_steve 24 | # map_start_pose: [0.0, 0.0, 0.0] 25 | #map_start_at_dock: true 26 | 27 | debug_logging: false 28 | throttle_scans: 1 29 | transform_publish_period: 0.02 #if 0 never publishes odometry 30 | map_update_interval: 5.0 31 | resolution: 0.05 32 | max_laser_range: 20.0 #for rastering images 33 | minimum_time_interval: 0.5 34 | transform_timeout: 0.2 35 | tf_buffer_duration: 30.0 36 | stack_size_to_use: 40000000 #// program needs a larger stack size to serialize large maps 37 | enable_interactive_mode: true 38 | 39 | # General Parameters 40 | use_scan_matching: true 41 | use_scan_barycenter: true 42 | minimum_travel_distance: 0.5 43 | minimum_travel_heading: 0.5 44 | scan_buffer_size: 10 45 | scan_buffer_maximum_scan_distance: 10.0 46 | link_match_minimum_response_fine: 0.1 47 | link_scan_maximum_distance: 1.5 48 | loop_search_maximum_distance: 3.0 49 | do_loop_closing: true 50 | loop_match_minimum_chain_size: 10 51 | loop_match_maximum_variance_coarse: 3.0 52 | loop_match_minimum_response_coarse: 0.35 53 | loop_match_minimum_response_fine: 0.45 54 | 55 | # Correlation Parameters - Correlation Parameters 56 | correlation_search_space_dimension: 0.5 57 | correlation_search_space_resolution: 0.01 58 | correlation_search_space_smear_deviation: 0.1 59 | 60 | # Correlation Parameters - Loop Closure Parameters 61 | loop_search_space_dimension: 8.0 62 | loop_search_space_resolution: 0.05 63 | loop_search_space_smear_deviation: 0.03 64 | 65 | # Scan Matcher Parameters 66 | distance_variance_penalty: 0.5 67 | angle_variance_penalty: 1.0 68 | 69 | fine_search_angle_offset: 0.00349 70 | coarse_search_angle_offset: 0.349 71 | coarse_angle_resolution: 0.0349 72 | minimum_angle_penalty: 0.9 73 | minimum_distance_penalty: 0.5 74 | use_response_expansion: true 75 | -------------------------------------------------------------------------------- /src/start_creating_robots/config/nav.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz_common/Displays 3 | Help Height: 78 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /Global Options1 8 | - /Status1 9 | - /RobotModel1/Description Topic1 10 | - /TF1/Tree1 11 | - /Map1/Status1 12 | Splitter Ratio: 0.6234042644500732 13 | Tree Height: 607 14 | - Class: rviz_common/Selection 15 | Name: Selection 16 | - Class: rviz_common/Tool Properties 17 | Expanded: 18 | - /2D Goal Pose1 19 | - /Publish Point1 20 | Name: Tool Properties 21 | Splitter Ratio: 0.5886790156364441 22 | - Class: rviz_common/Views 23 | Expanded: 24 | - /Current View1 25 | Name: Views 26 | Splitter Ratio: 0.5 27 | - Class: rviz_common/Time 28 | Experimental: false 29 | Name: Time 30 | SyncMode: 0 31 | SyncSource: LaserScan 32 | Visualization Manager: 33 | Class: "" 34 | Displays: 35 | - Alpha: 0.5 36 | Cell Size: 1 37 | Class: rviz_default_plugins/Grid 38 | Color: 160; 160; 164 39 | Enabled: true 40 | Line Style: 41 | Line Width: 0.029999999329447746 42 | Value: Lines 43 | Name: Grid 44 | Normal Cell Count: 0 45 | Offset: 46 | X: 0 47 | Y: 0 48 | Z: 0 49 | Plane: XY 50 | Plane Cell Count: 10 51 | Reference Frame: 52 | Value: true 53 | - Alpha: 1 54 | Autocompute Intensity Bounds: true 55 | Autocompute Value Bounds: 56 | Max Value: 10 57 | Min Value: -10 58 | Value: true 59 | Axis: Z 60 | Channel Name: intensity 61 | Class: rviz_default_plugins/LaserScan 62 | Color: 255; 255; 255 63 | Color Transformer: Intensity 64 | Decay Time: 0 65 | Enabled: true 66 | Invert Rainbow: false 67 | Max Color: 255; 255; 255 68 | Max Intensity: 0 69 | Min Color: 0; 0; 0 70 | Min Intensity: 0 71 | Name: LaserScan 72 | Position Transformer: XYZ 73 | Selectable: true 74 | Size (Pixels): 3 75 | Size (m): 0.10000000149011612 76 | Style: Flat Squares 77 | Topic: 78 | Depth: 5 79 | Durability Policy: Volatile 80 | Filter size: 10 81 | History Policy: Keep Last 82 | Reliability Policy: Reliable 83 | Value: /lidar 84 | Use Fixed Frame: true 85 | Use rainbow: true 86 | Value: true 87 | - Alpha: 1 88 | Autocompute Intensity Bounds: true 89 | Autocompute Value Bounds: 90 | Max Value: 10 91 | Min Value: -10 92 | Value: true 93 | Axis: Z 94 | Channel Name: intensity 95 | Class: rviz_default_plugins/PointCloud2 96 | Color: 255; 255; 255 97 | Color Transformer: RGB8 98 | Decay Time: 0 99 | Enabled: true 100 | Invert Rainbow: false 101 | Max Color: 255; 255; 255 102 | Max Intensity: 4096 103 | Min Color: 0; 0; 0 104 | Min Intensity: 0 105 | Name: DepthCameraPoints 106 | Position Transformer: XYZ 107 | Selectable: true 108 | Size (Pixels): 3 109 | Size (m): 0.05000000074505806 110 | Style: Flat Squares 111 | Topic: 112 | Depth: 5 113 | Durability Policy: Volatile 114 | Filter size: 10 115 | History Policy: Keep Last 116 | Reliability Policy: Reliable 117 | Value: /realsense/points 118 | Use Fixed Frame: true 119 | Use rainbow: true 120 | Value: true 121 | - Alpha: 1 122 | Class: rviz_default_plugins/RobotModel 123 | Collision Enabled: false 124 | Description File: "" 125 | Description Source: Topic 126 | Description Topic: 127 | Depth: 5 128 | Durability Policy: Volatile 129 | History Policy: Keep Last 130 | Reliability Policy: Reliable 131 | Value: /robot_description 132 | Enabled: true 133 | Links: 134 | All Links Enabled: true 135 | Expand Joint Details: false 136 | Expand Link Details: false 137 | Expand Tree: false 138 | Link Tree Style: Links in Alphabetic Order 139 | base_footprint: 140 | Alpha: 1 141 | Show Axes: false 142 | Show Trail: false 143 | base_link: 144 | Alpha: 1 145 | Show Axes: false 146 | Show Trail: false 147 | Value: true 148 | left_caster_wheel: 149 | Alpha: 1 150 | Show Axes: false 151 | Show Trail: false 152 | Value: true 153 | left_wheel: 154 | Alpha: 1 155 | Show Axes: false 156 | Show Trail: false 157 | Value: true 158 | lidar_2d_v1: 159 | Alpha: 1 160 | Show Axes: false 161 | Show Trail: false 162 | Value: true 163 | realsense_d435: 164 | Alpha: 1 165 | Show Axes: false 166 | Show Trail: false 167 | Value: true 168 | right_caster_wheel: 169 | Alpha: 1 170 | Show Axes: false 171 | Show Trail: false 172 | Value: true 173 | right_wheel: 174 | Alpha: 1 175 | Show Axes: false 176 | Show Trail: false 177 | Value: true 178 | Mass Properties: 179 | Inertia: false 180 | Mass: false 181 | Name: RobotModel 182 | TF Prefix: "" 183 | Update Interval: 0 184 | Value: true 185 | Visual Enabled: true 186 | - Class: rviz_default_plugins/TF 187 | Enabled: true 188 | Frame Timeout: 15 189 | Frames: 190 | All Enabled: true 191 | base_footprint: 192 | Value: true 193 | base_link: 194 | Value: true 195 | krytn/base_footprint: 196 | Value: true 197 | krytn/base_footprint/realsense_d435: 198 | Value: true 199 | left_caster_wheel: 200 | Value: true 201 | left_wheel: 202 | Value: true 203 | lidar_2d_v1: 204 | Value: true 205 | map: 206 | Value: true 207 | odom: 208 | Value: true 209 | realsense_d435: 210 | Value: true 211 | right_caster_wheel: 212 | Value: true 213 | right_wheel: 214 | Value: true 215 | Marker Scale: 1 216 | Name: TF 217 | Show Arrows: true 218 | Show Axes: true 219 | Show Names: false 220 | Tree: 221 | map: 222 | {} 223 | odom: 224 | krytn/base_footprint: 225 | base_footprint: 226 | base_link: 227 | left_caster_wheel: 228 | {} 229 | left_wheel: 230 | {} 231 | right_caster_wheel: 232 | {} 233 | right_wheel: 234 | {} 235 | lidar_2d_v1: 236 | {} 237 | realsense_d435: 238 | krytn/base_footprint/realsense_d435: 239 | {} 240 | Update Interval: 0 241 | Value: true 242 | - Alpha: 0.699999988079071 243 | Class: rviz_default_plugins/Map 244 | Color Scheme: map 245 | Draw Behind: false 246 | Enabled: true 247 | Name: Map 248 | Topic: 249 | Depth: 5 250 | Durability Policy: Volatile 251 | Filter size: 10 252 | History Policy: Keep Last 253 | Reliability Policy: Reliable 254 | Value: /map 255 | Update Topic: 256 | Depth: 5 257 | Durability Policy: Volatile 258 | History Policy: Keep Last 259 | Reliability Policy: Reliable 260 | Value: /map_updates 261 | Use Timestamp: false 262 | Value: true 263 | - Alpha: 0.699999988079071 264 | Class: rviz_default_plugins/Map 265 | Color Scheme: map 266 | Draw Behind: false 267 | Enabled: true 268 | Name: Local Costmap 269 | Topic: 270 | Depth: 5 271 | Durability Policy: Volatile 272 | Filter size: 10 273 | History Policy: Keep Last 274 | Reliability Policy: Reliable 275 | Value: /local_costmap/costmap 276 | Update Topic: 277 | Depth: 5 278 | Durability Policy: Volatile 279 | History Policy: Keep Last 280 | Reliability Policy: Reliable 281 | Value: /local_costmap/costmap_updates 282 | Use Timestamp: false 283 | Value: true 284 | - Alpha: 0.699999988079071 285 | Class: rviz_default_plugins/Map 286 | Color Scheme: map 287 | Draw Behind: false 288 | Enabled: true 289 | Name: Global Costmap 290 | Topic: 291 | Depth: 5 292 | Durability Policy: Volatile 293 | Filter size: 10 294 | History Policy: Keep Last 295 | Reliability Policy: Reliable 296 | Value: /global_costmap/costmap 297 | Update Topic: 298 | Depth: 5 299 | Durability Policy: Volatile 300 | History Policy: Keep Last 301 | Reliability Policy: Reliable 302 | Value: /global_costmap/costmap_updates 303 | Use Timestamp: false 304 | Value: true 305 | - Alpha: 1 306 | Buffer Length: 1 307 | Class: rviz_default_plugins/Path 308 | Color: 25; 255; 0 309 | Enabled: true 310 | Head Diameter: 0.30000001192092896 311 | Head Length: 0.20000000298023224 312 | Length: 0.30000001192092896 313 | Line Style: Lines 314 | Line Width: 0.029999999329447746 315 | Name: Local Plan 316 | Offset: 317 | X: 0 318 | Y: 0 319 | Z: 0 320 | Pose Color: 255; 85; 255 321 | Pose Style: None 322 | Radius: 0.029999999329447746 323 | Shaft Diameter: 0.10000000149011612 324 | Shaft Length: 0.10000000149011612 325 | Topic: 326 | Depth: 5 327 | Durability Policy: Volatile 328 | Filter size: 10 329 | History Policy: Keep Last 330 | Reliability Policy: Reliable 331 | Value: /local_plan 332 | Value: true 333 | - Alpha: 1 334 | Buffer Length: 1 335 | Class: rviz_default_plugins/Path 336 | Color: 25; 255; 0 337 | Enabled: true 338 | Head Diameter: 0.30000001192092896 339 | Head Length: 0.20000000298023224 340 | Length: 0.30000001192092896 341 | Line Style: Lines 342 | Line Width: 0.029999999329447746 343 | Name: Global Plan 344 | Offset: 345 | X: 0 346 | Y: 0 347 | Z: 0 348 | Pose Color: 255; 85; 255 349 | Pose Style: None 350 | Radius: 0.029999999329447746 351 | Shaft Diameter: 0.10000000149011612 352 | Shaft Length: 0.10000000149011612 353 | Topic: 354 | Depth: 5 355 | Durability Policy: Volatile 356 | Filter size: 10 357 | History Policy: Keep Last 358 | Reliability Policy: Reliable 359 | Value: /received_global_plan 360 | Value: true 361 | Enabled: true 362 | Global Options: 363 | Background Color: 48; 48; 48 364 | Fixed Frame: map 365 | Frame Rate: 30 366 | Name: root 367 | Tools: 368 | - Class: rviz_default_plugins/Interact 369 | Hide Inactive Objects: true 370 | - Class: rviz_default_plugins/MoveCamera 371 | - Class: rviz_default_plugins/Select 372 | - Class: rviz_default_plugins/FocusCamera 373 | - Class: rviz_default_plugins/Measure 374 | Line color: 128; 128; 0 375 | - Class: rviz_default_plugins/SetInitialPose 376 | Covariance x: 0.25 377 | Covariance y: 0.25 378 | Covariance yaw: 0.06853891909122467 379 | Topic: 380 | Depth: 5 381 | Durability Policy: Volatile 382 | History Policy: Keep Last 383 | Reliability Policy: Reliable 384 | Value: /initialpose 385 | - Class: rviz_default_plugins/SetGoal 386 | Topic: 387 | Depth: 5 388 | Durability Policy: Volatile 389 | History Policy: Keep Last 390 | Reliability Policy: Reliable 391 | Value: /goal_pose 392 | - Class: rviz_default_plugins/PublishPoint 393 | Single click: true 394 | Topic: 395 | Depth: 5 396 | Durability Policy: Volatile 397 | History Policy: Keep Last 398 | Reliability Policy: Reliable 399 | Value: /clicked_point 400 | Transformation: 401 | Current: 402 | Class: rviz_default_plugins/TF 403 | Value: true 404 | Views: 405 | Current: 406 | Class: rviz_default_plugins/Orbit 407 | Distance: 16.959836959838867 408 | Enable Stereo Rendering: 409 | Stereo Eye Separation: 0.05999999865889549 410 | Stereo Focal Distance: 1 411 | Swap Stereo Eyes: false 412 | Value: false 413 | Focal Point: 414 | X: 1.2313710451126099 415 | Y: 9.090771675109863 416 | Z: -1.1091214418411255 417 | Focal Shape Fixed Size: true 418 | Focal Shape Size: 0.05000000074505806 419 | Invert Z Axis: false 420 | Name: Current View 421 | Near Clip Distance: 0.009999999776482582 422 | Pitch: 1.1353975534439087 423 | Target Frame: 424 | Value: Orbit (rviz) 425 | Yaw: 3.0217502117156982 426 | Saved: ~ 427 | Window Geometry: 428 | Displays: 429 | collapsed: false 430 | Height: 898 431 | Hide Left Dock: false 432 | Hide Right Dock: false 433 | QMainWindow State: 000000ff00000000fd0000000400000000000001d8000002e8fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000002e8000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002e8fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b000002e8000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005b10000003efc0100000002fb0000000800540069006d00650100000000000005b10000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000002be000002e800000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 434 | Selection: 435 | collapsed: false 436 | Time: 437 | collapsed: false 438 | Tool Properties: 439 | collapsed: false 440 | Views: 441 | collapsed: false 442 | Width: 1457 443 | X: 424 444 | Y: 65 445 | -------------------------------------------------------------------------------- /src/start_creating_robots/config/navigation.yaml: -------------------------------------------------------------------------------- 1 | bt_navigator: 2 | ros__parameters: 3 | use_sim_time: True 4 | global_frame: map 5 | robot_base_frame: base_footprint 6 | odom_topic: /odom 7 | bt_loop_duration: 10 8 | default_server_timeout: 20 9 | # 'default_nav_through_poses_bt_xml' and 'default_nav_to_pose_bt_xml' are use defaults: 10 | # nav2_bt_navigator/navigate_to_pose_w_replanning_and_recovery.xml 11 | # nav2_bt_navigator/navigate_through_poses_w_replanning_and_recovery.xml 12 | # They can be set here or via a RewrittenYaml remap from a parent launch file to Nav2. 13 | plugin_lib_names: 14 | - nav2_compute_path_to_pose_action_bt_node 15 | - nav2_compute_path_through_poses_action_bt_node 16 | - nav2_smooth_path_action_bt_node 17 | - nav2_follow_path_action_bt_node 18 | - nav2_spin_action_bt_node 19 | - nav2_wait_action_bt_node 20 | - nav2_assisted_teleop_action_bt_node 21 | - nav2_back_up_action_bt_node 22 | - nav2_drive_on_heading_bt_node 23 | - nav2_clear_costmap_service_bt_node 24 | - nav2_is_stuck_condition_bt_node 25 | - nav2_goal_reached_condition_bt_node 26 | - nav2_goal_updated_condition_bt_node 27 | - nav2_globally_updated_goal_condition_bt_node 28 | - nav2_is_path_valid_condition_bt_node 29 | - nav2_initial_pose_received_condition_bt_node 30 | - nav2_reinitialize_global_localization_service_bt_node 31 | - nav2_rate_controller_bt_node 32 | - nav2_distance_controller_bt_node 33 | - nav2_speed_controller_bt_node 34 | - nav2_truncate_path_action_bt_node 35 | - nav2_truncate_path_local_action_bt_node 36 | - nav2_goal_updater_node_bt_node 37 | - nav2_recovery_node_bt_node 38 | - nav2_pipeline_sequence_bt_node 39 | - nav2_round_robin_node_bt_node 40 | - nav2_transform_available_condition_bt_node 41 | - nav2_time_expired_condition_bt_node 42 | - nav2_path_expiring_timer_condition 43 | - nav2_distance_traveled_condition_bt_node 44 | - nav2_single_trigger_bt_node 45 | - nav2_goal_updated_controller_bt_node 46 | - nav2_is_battery_low_condition_bt_node 47 | - nav2_navigate_through_poses_action_bt_node 48 | - nav2_navigate_to_pose_action_bt_node 49 | - nav2_remove_passed_goals_action_bt_node 50 | - nav2_planner_selector_bt_node 51 | - nav2_controller_selector_bt_node 52 | - nav2_goal_checker_selector_bt_node 53 | - nav2_controller_cancel_bt_node 54 | - nav2_path_longer_on_approach_bt_node 55 | - nav2_wait_cancel_bt_node 56 | - nav2_spin_cancel_bt_node 57 | - nav2_back_up_cancel_bt_node 58 | - nav2_assisted_teleop_cancel_bt_node 59 | - nav2_drive_on_heading_cancel_bt_node 60 | - nav2_is_battery_charging_condition_bt_node 61 | 62 | bt_navigator_navigate_through_poses_rclcpp_node: 63 | ros__parameters: 64 | use_sim_time: True 65 | 66 | bt_navigator_navigate_to_pose_rclcpp_node: 67 | ros__parameters: 68 | use_sim_time: True 69 | 70 | controller_server: 71 | ros__parameters: 72 | use_sim_time: True 73 | controller_frequency: 20.0 74 | min_x_velocity_threshold: 0.001 75 | min_y_velocity_threshold: 0.5 76 | min_theta_velocity_threshold: 0.001 77 | failure_tolerance: 0.3 78 | progress_checker_plugin: "progress_checker" 79 | goal_checker_plugins: ["general_goal_checker"] # "precise_goal_checker" 80 | controller_plugins: ["FollowPath"] 81 | 82 | # Progress checker parameters 83 | progress_checker: 84 | plugin: "nav2_controller::SimpleProgressChecker" 85 | required_movement_radius: 0.5 86 | movement_time_allowance: 10.0 87 | # Goal checker parameters 88 | #precise_goal_checker: 89 | # plugin: "nav2_controller::SimpleGoalChecker" 90 | # xy_goal_tolerance: 0.25 91 | # yaw_goal_tolerance: 0.25 92 | # stateful: True 93 | general_goal_checker: 94 | stateful: True 95 | plugin: "nav2_controller::SimpleGoalChecker" 96 | xy_goal_tolerance: 0.25 97 | yaw_goal_tolerance: 0.25 98 | # DWB parameters 99 | FollowPath: 100 | plugin: "dwb_core::DWBLocalPlanner" 101 | debug_trajectory_details: True 102 | min_vel_x: 0.0 103 | min_vel_y: 0.0 104 | max_vel_x: 0.26 105 | max_vel_y: 0.0 106 | max_vel_theta: 1.0 107 | min_speed_xy: 0.0 108 | max_speed_xy: 0.26 109 | min_speed_theta: 0.0 110 | # Add high threshold velocity for turtlebot 3 issue. 111 | # https://github.com/ROBOTIS-GIT/turtlebot3_simulations/issues/75 112 | acc_lim_x: 2.5 113 | acc_lim_y: 0.0 114 | acc_lim_theta: 3.2 115 | decel_lim_x: -2.5 116 | decel_lim_y: 0.0 117 | decel_lim_theta: -3.2 118 | vx_samples: 20 119 | vy_samples: 5 120 | vtheta_samples: 20 121 | sim_time: 1.7 122 | linear_granularity: 0.05 123 | angular_granularity: 0.025 124 | transform_tolerance: 0.2 125 | xy_goal_tolerance: 0.25 126 | trans_stopped_velocity: 0.25 127 | short_circuit_trajectory_evaluation: True 128 | stateful: True 129 | critics: 130 | [ 131 | "RotateToGoal", 132 | "Oscillation", 133 | "BaseObstacle", 134 | "GoalAlign", 135 | "PathAlign", 136 | "PathDist", 137 | "GoalDist", 138 | ] 139 | BaseObstacle.scale: 0.02 140 | PathAlign.scale: 32.0 141 | PathAlign.forward_point_distance: 0.1 142 | GoalAlign.scale: 24.0 143 | GoalAlign.forward_point_distance: 0.1 144 | PathDist.scale: 32.0 145 | GoalDist.scale: 24.0 146 | RotateToGoal.scale: 32.0 147 | RotateToGoal.slowing_factor: 5.0 148 | RotateToGoal.lookahead_time: -1.0 149 | 150 | local_costmap: 151 | local_costmap: 152 | ros__parameters: 153 | update_frequency: 5.0 154 | publish_frequency: 2.0 155 | global_frame: odom 156 | robot_base_frame: base_footprint 157 | use_sim_time: True 158 | rolling_window: true 159 | width: 3 160 | height: 3 161 | resolution: 0.05 162 | footprint: "[[0.13, 0.24], [0.13, -0.24], [-0.37, -0.24], [-0.37, 0.24]]" 163 | plugins: ["voxel_layer", "inflation_layer"] 164 | inflation_layer: 165 | plugin: "nav2_costmap_2d::InflationLayer" 166 | cost_scaling_factor: 3.0 167 | inflation_radius: 0.55 168 | voxel_layer: 169 | plugin: "nav2_costmap_2d::VoxelLayer" 170 | enabled: True 171 | publish_voxel_map: True 172 | origin_z: 0.0 173 | z_resolution: 0.05 174 | z_voxels: 16 175 | max_obstacle_height: 2.0 176 | mark_threshold: 0 177 | observation_sources: scan 178 | scan: 179 | topic: /lidar 180 | max_obstacle_height: 2.0 181 | clearing: True 182 | marking: True 183 | data_type: "LaserScan" 184 | raytrace_max_range: 3.0 185 | raytrace_min_range: 0.0 186 | obstacle_max_range: 2.5 187 | obstacle_min_range: 0.0 188 | static_layer: 189 | plugin: "nav2_costmap_2d::StaticLayer" 190 | map_subscribe_transient_local: True 191 | always_send_full_costmap: True 192 | 193 | global_costmap: 194 | global_costmap: 195 | ros__parameters: 196 | update_frequency: 1.0 197 | publish_frequency: 1.0 198 | global_frame: map 199 | robot_base_frame: base_footprint 200 | use_sim_time: True 201 | robot_radius: 0.3 202 | resolution: 0.05 203 | track_unknown_space: true 204 | plugins: ["static_layer", "obstacle_layer", "inflation_layer"] 205 | obstacle_layer: 206 | plugin: "nav2_costmap_2d::ObstacleLayer" 207 | enabled: True 208 | observation_sources: scan 209 | scan: 210 | topic: /lidar 211 | max_obstacle_height: 2.0 212 | clearing: True 213 | marking: True 214 | data_type: "LaserScan" 215 | raytrace_max_range: 3.0 216 | raytrace_min_range: 0.0 217 | obstacle_max_range: 2.5 218 | obstacle_min_range: 0.0 219 | static_layer: 220 | plugin: "nav2_costmap_2d::StaticLayer" 221 | map_subscribe_transient_local: True 222 | inflation_layer: 223 | plugin: "nav2_costmap_2d::InflationLayer" 224 | cost_scaling_factor: 3.0 225 | inflation_radius: 0.55 226 | always_send_full_costmap: True 227 | 228 | map_server: 229 | ros__parameters: 230 | use_sim_time: True 231 | # Overridden in launch by the "map" launch configuration or provided default value. 232 | # To use in yaml, remove the default "map" value in the tb3_simulation_launch.py file & provide full path to map below. 233 | yaml_filename: "" 234 | 235 | map_saver: 236 | ros__parameters: 237 | use_sim_time: True 238 | save_map_timeout: 5.0 239 | free_thresh_default: 0.25 240 | occupied_thresh_default: 0.65 241 | map_subscribe_transient_local: True 242 | 243 | planner_server: 244 | ros__parameters: 245 | expected_planner_frequency: 20.0 246 | use_sim_time: True 247 | planner_plugins: ["GridBased"] 248 | GridBased: 249 | plugin: "nav2_navfn_planner/NavfnPlanner" 250 | tolerance: 0.5 251 | use_astar: false 252 | allow_unknown: true 253 | 254 | smoother_server: 255 | ros__parameters: 256 | use_sim_time: True 257 | smoother_plugins: ["simple_smoother"] 258 | simple_smoother: 259 | plugin: "nav2_smoother::SimpleSmoother" 260 | tolerance: 1.0e-10 261 | max_its: 1000 262 | do_refinement: True 263 | 264 | behavior_server: 265 | ros__parameters: 266 | costmap_topic: local_costmap/costmap_raw 267 | footprint_topic: local_costmap/published_footprint 268 | cycle_frequency: 10.0 269 | behavior_plugins: 270 | ["spin", "backup", "drive_on_heading", "assisted_teleop", "wait"] 271 | spin: 272 | plugin: "nav2_behaviors/Spin" 273 | backup: 274 | plugin: "nav2_behaviors/BackUp" 275 | drive_on_heading: 276 | plugin: "nav2_behaviors/DriveOnHeading" 277 | wait: 278 | plugin: "nav2_behaviors/Wait" 279 | assisted_teleop: 280 | plugin: "nav2_behaviors/AssistedTeleop" 281 | global_frame: odom 282 | robot_base_frame: base_footprint 283 | transform_tolerance: 0.1 284 | use_sim_time: True 285 | simulate_ahead_time: 2.0 286 | max_rotational_vel: 1.0 287 | min_rotational_vel: 0.4 288 | rotational_acc_lim: 3.2 289 | 290 | robot_state_publisher: 291 | ros__parameters: 292 | use_sim_time: True 293 | 294 | waypoint_follower: 295 | ros__parameters: 296 | use_sim_time: True 297 | loop_rate: 20 298 | stop_on_failure: false 299 | waypoint_task_executor_plugin: "wait_at_waypoint" 300 | wait_at_waypoint: 301 | plugin: "nav2_waypoint_follower::WaitAtWaypoint" 302 | enabled: True 303 | waypoint_pause_duration: 200 304 | 305 | velocity_smoother: 306 | ros__parameters: 307 | use_sim_time: True 308 | smoothing_frequency: 20.0 309 | scale_velocities: False 310 | feedback: "OPEN_LOOP" 311 | max_velocity: [0.26, 0.0, 1.0] 312 | min_velocity: [-0.26, 0.0, -1.0] 313 | max_accel: [2.5, 0.0, 3.2] 314 | max_decel: [-2.5, 0.0, -3.2] 315 | odom_topic: "odom" 316 | odom_duration: 0.1 317 | deadband_velocity: [0.0, 0.0, 0.0] 318 | velocity_timeout: 1.0 319 | -------------------------------------------------------------------------------- /src/start_creating_robots/config/vis.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz_common/Displays 3 | Help Height: 78 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /Global Options1 8 | - /Status1 9 | - /RobotModel1/Status1 10 | - /RobotModel1/Description Topic1 11 | - /TF1/Frames1 12 | - /PointCloud21/Status1 13 | - /PointCloud21/Topic1 14 | - /PointCloud22 15 | - /PointCloud22/Status1 16 | - /Image1 17 | Splitter Ratio: 0.5 18 | Tree Height: 455 19 | - Class: rviz_common/Selection 20 | Name: Selection 21 | - Class: rviz_common/Tool Properties 22 | Expanded: 23 | - /2D Goal Pose1 24 | - /Publish Point1 25 | Name: Tool Properties 26 | Splitter Ratio: 0.5886790156364441 27 | - Class: rviz_common/Views 28 | Expanded: 29 | - /Current View1 30 | Name: Views 31 | Splitter Ratio: 0.5 32 | - Class: rviz_common/Time 33 | Experimental: false 34 | Name: Time 35 | SyncMode: 0 36 | SyncSource: "" 37 | Visualization Manager: 38 | Class: "" 39 | Displays: 40 | - Alpha: 0.5 41 | Cell Size: 1 42 | Class: rviz_default_plugins/Grid 43 | Color: 160; 160; 164 44 | Enabled: true 45 | Line Style: 46 | Line Width: 0.029999999329447746 47 | Value: Lines 48 | Name: Grid 49 | Normal Cell Count: 0 50 | Offset: 51 | X: 0 52 | Y: 0 53 | Z: 0 54 | Plane: XY 55 | Plane Cell Count: 10 56 | Reference Frame: 57 | Value: true 58 | - Alpha: 1 59 | Class: rviz_default_plugins/RobotModel 60 | Collision Enabled: false 61 | Description File: "" 62 | Description Source: Topic 63 | Description Topic: 64 | Depth: 5 65 | Durability Policy: Volatile 66 | History Policy: Keep Last 67 | Reliability Policy: Reliable 68 | Value: /robot_description 69 | Enabled: true 70 | Links: 71 | All Links Enabled: true 72 | Expand Joint Details: false 73 | Expand Link Details: false 74 | Expand Tree: false 75 | Link Tree Style: Links in Alphabetic Order 76 | base_footprint: 77 | Alpha: 1 78 | Show Axes: false 79 | Show Trail: false 80 | base_link: 81 | Alpha: 1 82 | Show Axes: false 83 | Show Trail: false 84 | Value: true 85 | left_caster_wheel: 86 | Alpha: 1 87 | Show Axes: false 88 | Show Trail: false 89 | Value: true 90 | left_wheel: 91 | Alpha: 1 92 | Show Axes: false 93 | Show Trail: false 94 | Value: true 95 | lidar_2d_v1: 96 | Alpha: 1 97 | Show Axes: false 98 | Show Trail: false 99 | Value: true 100 | realsense_d435: 101 | Alpha: 1 102 | Show Axes: false 103 | Show Trail: false 104 | Value: true 105 | right_caster_wheel: 106 | Alpha: 1 107 | Show Axes: false 108 | Show Trail: false 109 | Value: true 110 | right_wheel: 111 | Alpha: 1 112 | Show Axes: false 113 | Show Trail: false 114 | Value: true 115 | Mass Properties: 116 | Inertia: false 117 | Mass: false 118 | Name: RobotModel 119 | TF Prefix: "" 120 | Update Interval: 0 121 | Value: true 122 | Visual Enabled: true 123 | - Class: rviz_default_plugins/TF 124 | Enabled: false 125 | Frame Timeout: 15 126 | Frames: 127 | All Enabled: true 128 | Marker Scale: 1 129 | Name: TF 130 | Show Arrows: true 131 | Show Axes: true 132 | Show Names: false 133 | Tree: 134 | {} 135 | Update Interval: 0 136 | Value: false 137 | - Alpha: 1 138 | Autocompute Intensity Bounds: true 139 | Autocompute Value Bounds: 140 | Max Value: 10 141 | Min Value: -10 142 | Value: true 143 | Axis: Z 144 | Channel Name: intensity 145 | Class: rviz_default_plugins/PointCloud2 146 | Color: 255; 255; 255 147 | Color Transformer: "" 148 | Decay Time: 0 149 | Enabled: true 150 | Invert Rainbow: false 151 | Max Color: 255; 255; 255 152 | Max Intensity: 4096 153 | Min Color: 0; 0; 0 154 | Min Intensity: 0 155 | Name: PointCloud2 156 | Position Transformer: "" 157 | Selectable: true 158 | Size (Pixels): 3 159 | Size (m): 0.009999999776482582 160 | Style: Flat Squares 161 | Topic: 162 | Depth: 5 163 | Durability Policy: Volatile 164 | Filter size: 10 165 | History Policy: Keep Last 166 | Reliability Policy: Reliable 167 | Value: /lidar/scan/points 168 | Use Fixed Frame: true 169 | Use rainbow: true 170 | Value: true 171 | - Alpha: 1 172 | Autocompute Intensity Bounds: true 173 | Autocompute Value Bounds: 174 | Max Value: 10 175 | Min Value: -10 176 | Value: true 177 | Axis: Z 178 | Channel Name: intensity 179 | Class: rviz_default_plugins/PointCloud2 180 | Color: 255; 255; 255 181 | Color Transformer: "" 182 | Decay Time: 0 183 | Enabled: true 184 | Invert Rainbow: false 185 | Max Color: 255; 255; 255 186 | Max Intensity: 4096 187 | Min Color: 0; 0; 0 188 | Min Intensity: 0 189 | Name: PointCloud2 190 | Position Transformer: "" 191 | Selectable: true 192 | Size (Pixels): 3 193 | Size (m): 0.009999999776482582 194 | Style: Flat Squares 195 | Topic: 196 | Depth: 5 197 | Durability Policy: Volatile 198 | Filter size: 10 199 | History Policy: Keep Last 200 | Reliability Policy: Reliable 201 | Value: /realsense/points 202 | Use Fixed Frame: true 203 | Use rainbow: true 204 | Value: true 205 | - Class: rviz_default_plugins/Image 206 | Enabled: true 207 | Max Value: 1 208 | Median window: 5 209 | Min Value: 0 210 | Name: Image 211 | Normalize Range: true 212 | Topic: 213 | Depth: 5 214 | Durability Policy: Volatile 215 | History Policy: Keep Last 216 | Reliability Policy: Reliable 217 | Value: /realsense/image 218 | Value: true 219 | - Alpha: 1 220 | Auto Size: 221 | Auto Size Factor: 1 222 | Value: true 223 | Autocompute Intensity Bounds: true 224 | Autocompute Value Bounds: 225 | Max Value: 10 226 | Min Value: -10 227 | Value: true 228 | Axis: Z 229 | Channel Name: intensity 230 | Class: rviz_default_plugins/DepthCloud 231 | Color: 255; 255; 255 232 | Color Image Topic: "" 233 | Color Transformer: "" 234 | Color Transport Hint: raw 235 | Decay Time: 0 236 | Depth Map Topic: /realsense/depth 237 | Depth Map Transport Hint: raw 238 | Enabled: true 239 | Invert Rainbow: false 240 | Max Color: 255; 255; 255 241 | Max Intensity: 4096 242 | Min Color: 0; 0; 0 243 | Min Intensity: 0 244 | Name: DepthCloud 245 | Occlusion Compensation: 246 | Occlusion Time-Out: 30 247 | Value: false 248 | Position Transformer: "" 249 | Queue Size: 5 250 | Selectable: true 251 | Size (Pixels): 3 252 | Style: Flat Squares 253 | Topic Filter: true 254 | Use Fixed Frame: true 255 | Use rainbow: true 256 | Value: true 257 | Enabled: true 258 | Global Options: 259 | Background Color: 48; 48; 48 260 | Fixed Frame: base_footprint 261 | Frame Rate: 30 262 | Name: root 263 | Tools: 264 | - Class: rviz_default_plugins/Interact 265 | Hide Inactive Objects: true 266 | - Class: rviz_default_plugins/MoveCamera 267 | - Class: rviz_default_plugins/Select 268 | - Class: rviz_default_plugins/FocusCamera 269 | - Class: rviz_default_plugins/Measure 270 | Line color: 128; 128; 0 271 | - Class: rviz_default_plugins/SetInitialPose 272 | Covariance x: 0.25 273 | Covariance y: 0.25 274 | Covariance yaw: 0.06853891909122467 275 | Topic: 276 | Depth: 5 277 | Durability Policy: Volatile 278 | History Policy: Keep Last 279 | Reliability Policy: Reliable 280 | Value: /initialpose 281 | - Class: rviz_default_plugins/SetGoal 282 | Topic: 283 | Depth: 5 284 | Durability Policy: Volatile 285 | History Policy: Keep Last 286 | Reliability Policy: Reliable 287 | Value: /goal_pose 288 | - Class: rviz_default_plugins/PublishPoint 289 | Single click: true 290 | Topic: 291 | Depth: 5 292 | Durability Policy: Volatile 293 | History Policy: Keep Last 294 | Reliability Policy: Reliable 295 | Value: /clicked_point 296 | Transformation: 297 | Current: 298 | Class: rviz_default_plugins/TF 299 | Value: true 300 | Views: 301 | Current: 302 | Class: rviz_default_plugins/Orbit 303 | Distance: 8.33320140838623 304 | Enable Stereo Rendering: 305 | Stereo Eye Separation: 0.05999999865889549 306 | Stereo Focal Distance: 1 307 | Swap Stereo Eyes: false 308 | Value: false 309 | Focal Point: 310 | X: 0 311 | Y: 0 312 | Z: 0 313 | Focal Shape Fixed Size: true 314 | Focal Shape Size: 0.05000000074505806 315 | Invert Z Axis: false 316 | Name: Current View 317 | Near Clip Distance: 0.009999999776482582 318 | Pitch: 0.7847968339920044 319 | Target Frame: 320 | Value: Orbit (rviz) 321 | Yaw: 1.0754036903381348 322 | Saved: ~ 323 | Window Geometry: 324 | Displays: 325 | collapsed: false 326 | Height: 948 327 | Hide Left Dock: false 328 | Hide Right Dock: false 329 | Image: 330 | collapsed: false 331 | QMainWindow State: 000000ff00000000fd0000000400000000000001560000031afc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000250000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650100000291000000c40000002800ffffff000000010000010f0000031afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b0000031a000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005c00000003efc0100000002fb0000000800540069006d00650100000000000005c00000025300fffffffb0000000800540069006d006501000000000000045000000000000000000000034f0000031a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 332 | Selection: 333 | collapsed: false 334 | Time: 335 | collapsed: false 336 | Tool Properties: 337 | collapsed: false 338 | Views: 339 | collapsed: false 340 | Width: 1472 341 | X: 28 342 | Y: 28 343 | -------------------------------------------------------------------------------- /src/start_creating_robots/launch/gazebo.launch.py: -------------------------------------------------------------------------------- 1 | from launch import LaunchDescription 2 | from launch.actions import IncludeLaunchDescription, ExecuteProcess, DeclareLaunchArgument 3 | from launch.launch_description_sources import get_launch_description_from_python_launch_file 4 | from launch_ros.actions import Node 5 | from ament_index_python.packages import get_package_share_directory 6 | from os.path import join 7 | from launch.substitutions import LaunchConfiguration, Command 8 | 9 | import xacro 10 | 11 | 12 | def generate_launch_description(): 13 | 14 | # This allows us to have the with_sensors as an argument on the command line 15 | with_sensors_arg = DeclareLaunchArgument( 16 | 'with_sensors', default_value="false" 17 | ) 18 | # This allows us to use the with_sensors variable in substitutions in this launch description. 19 | with_sensors = LaunchConfiguration('with_sensors', default="false") 20 | 21 | models_path = join(get_package_share_directory("start_creating_robots"), "worlds_and_models") 22 | 23 | # Start a simulation with the cafe world 24 | cafe_world_uri = join(models_path,"cafe.sdf") 25 | path = join(get_package_share_directory("ros_gz_sim"), "launch", "gz_sim.launch.py") 26 | 27 | gazebo_sim = IncludeLaunchDescription(path, 28 | launch_arguments=[("gz_args", '-r ' + cafe_world_uri)]) 29 | 30 | # Create a robot in the world. 31 | # Steps: 32 | # 1. Process a file using the xacro tool to get an xml file containing the robot description. 33 | # 2. Publish this robot description using a ros topic so all nodes can know about the joints of the robot. 34 | # 3. Spawn a simulated robot in the gazebo simulation using the published robot description topic. 35 | 36 | # Step 1. Process robot file. 37 | robot_file = join(models_path, "krytn","krytn.urdf.xacro") 38 | robot_xml = Command(["xacro ",robot_file," with_sensors:=",with_sensors]) 39 | 40 | #Step 2. Publish robot file to ros topic /robot_description 41 | robot_state_publisher = Node( 42 | package='robot_state_publisher', 43 | executable='robot_state_publisher', 44 | name='robot_state_publisher', 45 | output='both', 46 | parameters=[{'robot_description':robot_xml, 47 | 'use_sim_time':True}], 48 | ) 49 | 50 | # Step 3. Spawn a robot in gazebo by listening to the published topic. 51 | robot = ExecuteProcess( 52 | cmd=["ros2", "run", "ros_gz_sim", "create", "-topic", "robot_description", "-z", "0.5"], 53 | name="spawn robot", 54 | output="both" 55 | ) 56 | 57 | # Gazebo Bridge: This allows ROS to send messages to drive the robot in simulation. 58 | bridge = Node( 59 | package='ros_gz_bridge', 60 | executable='parameter_bridge', 61 | arguments=['/model/krytn/cmd_vel@geometry_msgs/msg/Twist@gz.msgs.Twist'], 62 | output='screen', 63 | remappings=[('/model/krytn/cmd_vel','/cmd_vel')] 64 | ) 65 | 66 | # A gui tool for easy tele-operation. 67 | robot_steering = Node( 68 | package="rqt_robot_steering", 69 | executable="rqt_robot_steering", 70 | ) 71 | 72 | return LaunchDescription([gazebo_sim, bridge, robot, robot_steering, robot_state_publisher, with_sensors_arg]) -------------------------------------------------------------------------------- /src/start_creating_robots/launch/mapping.launch.py: -------------------------------------------------------------------------------- 1 | from launch import LaunchDescription 2 | from launch.actions import IncludeLaunchDescription, DeclareLaunchArgument, SetLaunchConfiguration 3 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 4 | from launch_ros.actions import Node 5 | from launch_ros.substitutions import FindPackageShare 6 | from ament_index_python.packages import get_package_share_directory 7 | from launch.event_handlers import OnExecutionComplete 8 | 9 | from os.path import join 10 | 11 | 12 | def generate_launch_description(): 13 | # This allows us to have the with_sensors as an argument on the command line 14 | rviz_config_arg = DeclareLaunchArgument( 15 | 'rviz_config', default_value="mapping.yaml" 16 | ) 17 | # This allows us to use the with_sensors variable in substitutions in this launch description. 18 | rviz_config = LaunchConfiguration('rviz_config', default="vis.rviz") 19 | 20 | base_path = get_package_share_directory("start_creating_robots") 21 | 22 | # We will include everything from the gazebo launch file, making sure that sensors are now enabled however. 23 | 24 | with_sensors_true = SetLaunchConfiguration("with_sensors","true") 25 | gazebo = IncludeLaunchDescription(join(base_path, "launch","gazebo.launch.py"), 26 | launch_arguments=[('with_sensors','true')]) 27 | 28 | # Extended Gazebo Bridge: To do mapping requires alot more info from the simulation. We need sensor data and estimates of the robot joint positions. 29 | extended_bridge = Node( package='ros_gz_bridge', name="extended_gazebo_bridge", executable='parameter_bridge', 30 | arguments=['/model/krytn/odometry@nav_msgs/msg/Odometry[gz.msgs.Odometry', 31 | '/model/krytn/tf@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V', 32 | 33 | '/lidar@sensor_msgs/msg/LaserScan@gz.msgs.LaserScan', 34 | '/lidar/points@sensor_msgs/msg/PointCloud2[gz.msgs.PointCloudPacked', 35 | 36 | '/realsense/image@sensor_msgs/msg/Image[gz.msgs.Image', 37 | '/realsense/depth@sensor_msgs/msg/Image[gz.msgs.Image', 38 | '/realsense/points@sensor_msgs/msg/PointCloud2[gz.msgs.PointCloudPacked', 39 | 40 | '/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock', 41 | 42 | '/joint_states@sensor_msgs/msg/JointState[gz.msgs.Model'], 43 | output='screen', remappings=[('/model/krytn/odometry','/odom'), 44 | ('/model/krytn/tf','/tf')] 45 | ) 46 | 47 | # Gazebo fortress has a bug that won't respect our frame_id tags. So we have to publish a transform 48 | depth_cam_link_tf = Node(package='tf2_ros', 49 | executable='static_transform_publisher', 50 | name='depthCamLinkTF', 51 | output='log', 52 | arguments=['0.0', '0.0', '0.0', '0.0', '0.0', '0.0', 53 | 'realsense_d435', 'krytn/base_footprint/realsense_d435']) 54 | 55 | krytn_base_fp_link_tf = Node(package='tf2_ros', 56 | executable='static_transform_publisher', 57 | name='base_fp_linkTF', 58 | output='log', 59 | arguments=['0.0', '0.0', '0.0', '0.0', '0.0', '0.0', 'krytn/base_footprint', 'base_footprint']) 60 | 61 | # SLAM Toolbox for mapping 62 | slam_toolbox = Node( package='slam_toolbox', 63 | executable='async_slam_toolbox_node', 64 | parameters=[ 65 | get_package_share_directory('start_creating_robots') + '/config/mapping.yaml' 66 | ], output='screen' 67 | ) 68 | 69 | rviz = Node( 70 | package='rviz2', 71 | executable='rviz2', 72 | arguments=[ 73 | '-d', 74 | PathJoinSubstitution([base_path, 'config', rviz_config]) 75 | ] 76 | ) 77 | 78 | 79 | return LaunchDescription([with_sensors_true, 80 | gazebo, 81 | extended_bridge, 82 | depth_cam_link_tf, 83 | krytn_base_fp_link_tf, 84 | slam_toolbox, 85 | rviz, 86 | rviz_config_arg]) -------------------------------------------------------------------------------- /src/start_creating_robots/launch/navigation.launch.py: -------------------------------------------------------------------------------- 1 | """ This launch file starts: 2 | - Navigation stack 3 | - VSTL 4 | - slam_toolbox localization 5 | """ 6 | 7 | from launch import LaunchDescription 8 | from launch_ros.actions import Node 9 | from ament_index_python.packages import get_package_share_directory 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.actions import IncludeLaunchDescription 13 | from os.path import join 14 | 15 | def generate_launch_description(): 16 | 17 | base_path = get_package_share_directory("start_creating_robots") 18 | 19 | # We will include everything from the mapping launch file, making sure that sensors are now enabled and setting up RVIZ for navigation. 20 | gazebo_and_mapping = IncludeLaunchDescription(join(base_path, "launch","mapping.launch.py"), 21 | launch_arguments=[("with_sensors","true"), ("rviz_config","nav.rviz")]) 22 | 23 | # Nav2 bringup for navigation 24 | navigation = IncludeLaunchDescription( 25 | PythonLaunchDescriptionSource([get_package_share_directory('nav2_bringup'), '/launch/navigation_launch.py']), 26 | launch_arguments={ 27 | 'map_subscribe_transient_local': 'true', 28 | 'use_sim_time': 'true', 29 | 'params_file': get_package_share_directory('start_creating_robots') + '/config/navigation.yaml' 30 | }.items() 31 | ) 32 | 33 | return LaunchDescription([ 34 | gazebo_and_mapping, navigation 35 | ]) -------------------------------------------------------------------------------- /src/start_creating_robots/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | start_creating_robots 5 | 0.0.0 6 | TODO: Package description 7 | ros 8 | BSD-2.0 9 | 10 | rclcpp 11 | rclpy 12 | rqt_robot_steering 13 | slam_toolbox 14 | navigation2 15 | nav2-bringup 16 | 17 | 18 | ament_copyright 19 | ament_flake8 20 | ament_pep257 21 | python3-pytest 22 | 23 | 24 | ament_python 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/start_creating_robots/resource/start_creating_robots: -------------------------------------------------------------------------------- 1 | This file in needed so ROS knows about our package when we run 2 | colcon build -------------------------------------------------------------------------------- /src/start_creating_robots/setup.cfg: -------------------------------------------------------------------------------- 1 | [develop] 2 | script_dir=$base/lib/start_creating_robots 3 | [install] 4 | install_scripts=$base/lib/start_creating_robots 5 | -------------------------------------------------------------------------------- /src/start_creating_robots/setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import find_packages, setup 2 | from os.path import join 3 | from glob import glob, iglob 4 | 5 | package_name = "start_creating_robots" 6 | 7 | setup( 8 | name=package_name, 9 | version="0.0.0", 10 | packages=find_packages(exclude=["test"]), 11 | data_files=[ 12 | ("share/" + package_name, ["package.xml"]), 13 | 14 | ("share/ament_index/resource_index/packages", ["resource/" + package_name]), 15 | 16 | (join('share', package_name, 'launch'), glob('launch/*launch.py')), 17 | 18 | (join('share', package_name, 'config'), glob('config/*.yaml')), 19 | (join('share', package_name, 'config'), glob('config/*.rviz')), 20 | 21 | (join('share', package_name, 'worlds_and_models'), glob('worlds_and_models/*.*')), 22 | 23 | (join('share', package_name, 'worlds_and_models/Cafe'), glob('worlds_and_models/Cafe/*.*')), 24 | (join('share', package_name, 'worlds_and_models/Cafe/materials/textures'), 25 | glob('worlds_and_models/Cafe/materials/textures/*.jpg')), 26 | (join('share', package_name, 'worlds_and_models/Cafe/meshes'), 27 | glob('worlds_and_models/Cafe/meshes/*.dae')), 28 | 29 | (join('share', package_name, 'worlds_and_models/krytn'), glob('worlds_and_models/krytn/*.*')), 30 | (join('share', package_name, 'worlds_and_models/krytn/materials/textures'), 31 | glob('worlds_and_models/krytn/materials/textures/*.jpg')), 32 | (join('share', package_name, 'worlds_and_models/krytn/materials/scripts'), 33 | glob('worlds_and_models/krytn/materials/scripts/*.material')), 34 | (join('share', package_name, 'worlds_and_models/krytn/meshes'), 35 | glob('worlds_and_models/krytn/meshes/*.dae')), 36 | 37 | 38 | 39 | ], 40 | install_requires=["setuptools"], 41 | zip_safe=True, 42 | maintainer="ros", 43 | maintainer_email="john@soundelve.com", 44 | description="Example Robot System", 45 | license="Apache-2.0", 46 | tests_require=["pytest"], 47 | entry_points={ 48 | "console_scripts": [], 49 | }, 50 | ) 51 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_10.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_2.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_21.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_22.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_23.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_24.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_25.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_26.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_28.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_28.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_29.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_30.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_31.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_31.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_34.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_35.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_35.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_37.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/Cafe/materials/textures/__auto_37.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/model.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cafe 5 | 1.0 6 | model.sdf 7 | 8 | 9 | Nate Koenig 10 | nate@osrfoundation.org 11 | 12 | 13 | 14 | A model of a cafe. 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/Cafe/model.sdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | 6 | 7 | -0.4 -0.75 0.0948 0 0 0 8 | 9 | 10 | 9.38 22.63 0.19 11 | 12 | 13 | 14 | 15 | 16 | -5.03 0.53 1.415 0 0 0 17 | 18 | 19 | .12 23.16 2.83 20 | 21 | 22 | 23 | 24 | 25 | 4.24 -.31 1.415 0 0 0 26 | 27 | 28 | .12 21.48 2.83 29 | 30 | 31 | 32 | 33 | 34 | -1.48 7.43 1.415 0 0 0 35 | 36 | 37 | 7.2 0.12 2.83 38 | 39 | 40 | 41 | 42 | 43 | 2.09 8.9 1.435 0 0 0 44 | 45 | 46 | 0.12 3.05 2.87 47 | 48 | 49 | 50 | 51 | 52 | 3.155 10.4 1.435 0 0 0 53 | 54 | 55 | 2.13 0.12 2.87 56 | 57 | 58 | 59 | 60 | 61 | 0.615 -10.98 1.415 0 0 0 62 | 63 | 64 | 7.36 0.15 2.83 65 | 66 | 67 | 68 | 69 | 70 | -4.62 -10.98 1.415 0 0 0 71 | 72 | 73 | 0.93 0.15 2.83 74 | 75 | 76 | 77 | 78 | 79 | -3.61 -10.98 2.69 0 0 0 80 | 81 | 82 | 1.09 0.15 0.28 83 | 84 | 85 | 86 | 87 | 88 | -4.385 0.26 .95 0 0 0 89 | 90 | 91 | 1.03 1.03 1.52 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | model://Cafe/meshes/cafe.dae 100 | 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/cafe.sdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | true 7 | true 8 | 9 | 10 | 11 | model://Cafe 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/inertial.xacro: -------------------------------------------------------------------------------- 1 | 2 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/krytn.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | ogre2 25 | 26 | 27 | 28 | 29 | 32 | joint_states 33 | 34 | 35 | 36 | 39 | 40 | left_wheel_joint 41 | 42 | right_wheel_joint 43 | 44 | odom 45 | 0.326 46 | 0.128 47 | 20 48 | 1 49 | -1 50 | 2 51 | -2 52 | 0.5 53 | -0.5 54 | 1 55 | -1 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/lidar_2d_v1.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 0 0 0.0175015175 0 0 0 13 | 14 | 15 | 16 | 17 | 18 | 0 0 0.0525045525 0 0 0 19 | 20 | 21 | 22 | 23 | 24 | 0 0 0 0 0 1.5707 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | lidar 42 | lidar_2d_v1 43 | 0 0 0.0525045525 0 0 0 44 | 45 | 46 | 47 | 90 48 | 1 49 | -1.41 50 | 1.41 51 | 52 | 53 | 54 | 0.060 55 | 10 56 | 0.04 57 | 58 | 59 | gaussian 60 | 0.0 61 | 0.001 62 | 63 | 64 | 0 65 | 20 66 | false 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/magni.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0.1 11 | 0.1 12 | 0.1 13 | 0 14 | 0 15 | 16 | 17 | 18 | 19 | 0.5 20 | 0.5 21 | 0.5 22 | 0.005 23 | 1e8 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 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 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 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/materials/scripts/model.material: -------------------------------------------------------------------------------- 1 | 2 | material UrbanTile/RealSense_Diffuse 3 | { 4 | technique 5 | { 6 | pass 7 | { 8 | texture_unit 9 | { 10 | texture RealSense_Albedo.png 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/materials/textures/RealSense_Albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/krytn/materials/textures/RealSense_Albedo.png -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/materials/textures/RealSense_Metalness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/krytn/materials/textures/RealSense_Metalness.png -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/materials/textures/RealSense_Normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/krytn/materials/textures/RealSense_Normal.png -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/materials/textures/RealSense_Roughness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/krytn/materials/textures/RealSense_Roughness.png -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/materials/textures/lidar_2d_v1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnny555/start-creating-robots-email/27052133315d465304737ec625153aca20d49113/src/start_creating_robots/worlds_and_models/krytn/materials/textures/lidar_2d_v1.jpg -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/meshes/realsense.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | FBX COLLADA exporter 7 | 8 | 9 | 2020-07-13T22:31:05Z 10 | 11 | 2020-07-13T22:31:05Z 12 | 13 | 14 | 15 | <unit meter="0.010000" name="centimeter"/> 16 | <up_axis>Z_UP</up_axis> 17 | </asset> 18 | <library_images> 19 | <image id="MapFBXASC032FBXASC0352-image" name="MapFBXASC032FBXASC0352"> 20 | <init_from>../materials/textures/RealSense_Albedo.png</init_from> 21 | </image> 22 | </library_images> 23 | <library_materials> 24 | <material id="RealSense_ncl1_1" name="RealSense_ncl1_1"> 25 | <instance_effect url="#RealSense_ncl1_1-fx"/> 26 | </material> 27 | </library_materials> 28 | <library_effects> 29 | <effect id="RealSense_ncl1_1-fx" name="RealSense_ncl1_1"> 30 | <profile_COMMON> 31 | <technique sid="standard"> 32 | <phong> 33 | <emission> 34 | <color sid="emission">0.000000 0.000000 0.000000 1.000000</color> 35 | </emission> 36 | <ambient> 37 | <color sid="ambient">0.588235 0.588235 0.588235 1.000000</color> 38 | </ambient> 39 | <diffuse> 40 | <texture texture="MapFBXASC032FBXASC0352-image" texcoord="CHANNEL0"> 41 | <extra> 42 | <technique profile="MAYA"> 43 | <wrapU sid="wrapU0">TRUE</wrapU> 44 | <wrapV sid="wrapV0">TRUE</wrapV> 45 | <blend_mode>ADD</blend_mode> 46 | </technique> 47 | </extra> 48 | </texture> 49 | </diffuse> 50 | <specular> 51 | <color sid="specular">0.000000 0.000000 0.000000 1.000000</color> 52 | </specular> 53 | <shininess> 54 | <float sid="shininess">2.000000</float> 55 | </shininess> 56 | <reflective> 57 | <color sid="reflective">0.000000 0.000000 0.000000 1.000000</color> 58 | </reflective> 59 | <reflectivity> 60 | <float sid="reflectivity">1.000000</float> 61 | </reflectivity> 62 | <transparent opaque="RGB_ZERO"> 63 | <color sid="transparent">1.000000 1.000000 1.000000 1.000000</color> 64 | </transparent> 65 | <transparency> 66 | <float sid="transparency">0.000000</float> 67 | </transparency> 68 | </phong> 69 | </technique> 70 | </profile_COMMON> 71 | </effect> 72 | </library_effects> 73 | <library_geometries> 74 | <geometry id="RealSense-lib" name="RealSenseMesh"> 75 | <mesh> 76 | <source id="RealSense-POSITION"> 77 | <float_array id="RealSense-POSITION-array" count="576"> 78 | 4.079306 0.478801 2.506400 79 | 3.927125 0.677126 2.506400 80 | 3.728799 0.829306 2.506400 81 | 3.497845 0.924971 2.506400 82 | 3.250000 0.957600 2.506400 83 | 3.250000 -0.957600 2.506400 84 | 3.497845 -0.924970 2.506400 85 | 3.728800 -0.829306 2.506400 86 | 3.927125 -0.677125 2.506400 87 | 4.079306 -0.478800 2.506400 88 | 4.174971 -0.247845 2.506400 89 | 4.207600 0.000000 2.506400 90 | 4.174970 0.247846 2.506400 91 | 4.300258 -0.281416 2.046174 92 | 4.337307 0.000000 2.046174 93 | 4.191635 -0.543653 2.046174 94 | 4.018842 -0.768842 2.046174 95 | 3.793653 -0.941635 2.046174 96 | 3.531416 -1.050258 2.046174 97 | 3.250000 -1.087307 2.046174 98 | 3.531415 1.050258 2.046174 99 | 3.250000 1.087307 2.046174 100 | 3.793653 0.941636 2.046174 101 | 4.018842 0.768843 2.046174 102 | 4.191635 0.543654 2.046174 103 | 4.300258 0.281417 2.046174 104 | 4.415135 -0.312197 1.374618 105 | 4.456236 0.000000 1.374618 106 | 4.294631 -0.603118 1.374618 107 | 4.102938 -0.852938 1.374619 108 | 3.853118 -1.044631 1.374619 109 | 3.562197 -1.165135 1.374619 110 | 3.250000 -1.206236 1.374619 111 | 3.562196 1.165135 1.374618 112 | 3.249999 1.206237 1.374618 113 | 3.853118 1.044632 1.374618 114 | 4.102937 0.852939 1.374618 115 | 4.294631 0.603119 1.374618 116 | 4.415135 0.312198 1.374618 117 | 4.103987 0.000000 -0.000001 118 | 4.074888 -0.221028 -0.000001 119 | 3.989574 -0.426993 -0.000001 120 | 3.853860 -0.603860 -0.000001 121 | 3.676993 -0.739575 -0.000001 122 | 3.471028 -0.824888 -0.000001 123 | 3.250000 -0.853987 -0.000001 124 | 3.250000 0.853987 -0.000001 125 | 3.471028 0.824888 -0.000001 126 | 3.676993 0.739574 -0.000001 127 | 3.853860 0.603860 -0.000001 128 | 3.989574 0.426994 -0.000001 129 | 4.074888 0.221029 -0.000001 130 | 4.470291 -0.326976 0.439252 131 | 4.513338 0.000000 0.439252 132 | 4.344083 -0.631669 0.439252 133 | 4.143315 -0.893314 0.439252 134 | 3.881669 -1.094083 0.439252 135 | 3.576976 -1.220291 0.439252 136 | 3.250000 -1.263338 0.439252 137 | 3.576975 1.220291 0.439252 138 | 3.249999 1.263338 0.439252 139 | 3.881668 1.094083 0.439252 140 | 4.143314 0.893315 0.439252 141 | 4.344082 0.631670 0.439252 142 | 4.470290 0.326977 0.439252 143 | 4.386469 -0.304516 0.243859 144 | 4.426559 0.000000 0.243859 145 | 4.268930 -0.588279 0.243859 146 | 4.081953 -0.831953 0.243860 147 | 3.838279 -1.018930 0.243860 148 | 3.554516 -1.136469 0.243860 149 | 3.250000 -1.176559 0.243860 150 | 3.554515 1.136469 0.243859 151 | 3.250000 1.176559 0.243859 152 | 3.838279 1.018930 0.243859 153 | 4.081952 0.831954 0.243859 154 | 4.268930 0.588280 0.243859 155 | 4.386469 0.304517 0.243859 156 | 4.314108 0.000000 0.106881 157 | 4.277849 -0.275411 0.106881 158 | 4.171544 -0.532054 0.106881 159 | 4.002438 -0.752438 0.106882 160 | 3.782054 -0.921544 0.106881 161 | 3.525411 -1.027849 0.106881 162 | 3.250000 -1.064108 0.106881 163 | 3.250000 1.064108 0.106881 164 | 3.525411 1.027849 0.106881 165 | 3.782054 0.921545 0.106881 166 | 4.002437 0.752439 0.106881 167 | 4.171544 0.532055 0.106881 168 | 4.277849 0.275412 0.106881 169 | 2.805507 -1.087308 2.046174 170 | 2.945590 -1.206238 1.374618 171 | 3.071594 -1.251081 0.640356 172 | 2.715486 -1.160450 1.633167 173 | 2.854028 -1.170402 1.576972 174 | 2.926179 -1.189758 1.467675 175 | 2.945590 -1.251100 1.374618 176 | 2.715486 -1.251100 1.633167 177 | 2.926179 -1.251100 1.467675 178 | 2.854028 -1.251100 1.576972 179 | -4.174971 -0.247845 2.506400 180 | -4.079306 -0.478800 2.506400 181 | -3.927125 -0.677125 2.506400 182 | -3.728800 -0.829306 2.506400 183 | -3.497845 -0.924970 2.506400 184 | -3.250000 -0.957600 2.506400 185 | -3.250000 0.957600 2.506400 186 | -3.497845 0.924971 2.506400 187 | -3.728800 0.829306 2.506400 188 | -3.927125 0.677126 2.506400 189 | -4.079306 0.478801 2.506400 190 | -4.207600 0.000000 2.506400 191 | -4.174970 0.247846 2.506400 192 | -4.337307 0.000000 2.046174 193 | -4.300258 -0.281416 2.046174 194 | -4.191636 -0.543653 2.046174 195 | -4.018842 -0.768842 2.046174 196 | -3.793653 -0.941635 2.046174 197 | -3.531416 -1.050258 2.046174 198 | -3.250000 -1.087307 2.046174 199 | -3.250000 1.087307 2.046174 200 | -3.531415 1.050258 2.046174 201 | -3.793653 0.941636 2.046174 202 | -4.018842 0.768843 2.046174 203 | -4.191635 0.543654 2.046174 204 | -4.300258 0.281417 2.046174 205 | -4.456236 0.000000 1.374618 206 | -4.415135 -0.312197 1.374618 207 | -4.294631 -0.603118 1.374618 208 | -4.102938 -0.852938 1.374619 209 | -3.853118 -1.044631 1.374619 210 | -3.562197 -1.165135 1.374619 211 | -3.250000 -1.206236 1.374619 212 | -3.250000 1.206237 1.374618 213 | -3.562196 1.165135 1.374618 214 | -3.853117 1.044632 1.374618 215 | -4.102937 0.852939 1.374618 216 | -4.294631 0.603119 1.374618 217 | -4.415134 0.312198 1.374618 218 | -3.471027 0.824888 -0.000001 219 | -3.250000 0.853987 -0.000001 220 | -3.250000 -0.853987 -0.000001 221 | -3.471028 -0.824888 -0.000001 222 | -3.576976 -1.220291 0.439252 223 | -3.576975 1.220291 0.439252 224 | -3.250000 1.263338 0.439252 225 | -3.554516 -1.136469 0.243860 226 | -3.250000 -1.176559 0.243860 227 | -3.250000 1.176559 0.243859 228 | -3.554515 1.136469 0.243859 229 | -3.525412 -1.027849 0.106881 230 | -3.250000 -1.064108 0.106881 231 | -3.525411 1.027849 0.106881 232 | -3.250000 1.064108 0.106881 233 | -2.805508 -1.087308 2.046174 234 | -3.250000 -1.263338 0.439252 235 | -3.071593 -1.251081 0.640356 236 | -2.945590 -1.206238 1.374618 237 | -2.854028 -1.170402 1.576972 238 | -2.715486 -1.160450 1.633167 239 | -2.926179 -1.189758 1.467675 240 | -2.945590 -1.251100 1.374618 241 | -2.854028 -1.251100 1.576972 242 | -2.926179 -1.251100 1.467675 243 | -2.715486 -1.251100 1.633167 244 | -3.870990 -1.075586 0.789109 245 | -3.584680 -1.194180 0.789109 246 | -4.128212 -0.878212 0.789109 247 | -4.325586 -0.620990 0.789109 248 | -4.449661 -0.321448 0.789109 249 | -4.491980 0.000000 0.789109 250 | -4.128212 0.878213 0.789109 251 | -3.870989 1.075586 0.789109 252 | -3.584680 1.194180 0.789109 253 | -4.449660 0.321449 0.789109 254 | -4.325586 0.620991 0.789109 255 | -3.584680 -1.217100 0.439252 256 | -3.584680 -0.777812 -0.000001 257 | -3.584680 -1.123975 0.243860 258 | -3.584680 -1.003300 0.106881 259 | -3.584680 1.217099 0.439252 260 | -3.584680 0.777812 -0.000001 261 | -3.584680 1.123974 0.243859 262 | -3.584680 1.003299 0.106881 263 | -3.250000 -0.000000 -0.000001 264 | -3.584680 -0.000000 -0.000001 265 | -3.471028 -0.000000 -0.000001 266 | 3.250000 -0.000000 -0.000001 267 | 3.250000 0.000000 2.506400 268 | -3.250000 0.000000 2.506400 269 | -4.325586 0.000001 0.789109 270 | </float_array> 271 | <technique_common> 272 | <accessor source="#RealSense-POSITION-array" count="192" stride="3"> 273 | <param name="X" type="float"/> 274 | <param name="Y" type="float"/> 275 | <param name="Z" type="float"/> 276 | </accessor> 277 | </technique_common> 278 | </source> 279 | <source id="RealSense-Normal0"> 280 | <float_array id="RealSense-Normal0-array" count="3420"> 281 | 0.929708 -0.249114 0.271266 282 | 0.975000 0.000000 0.222206 283 | 0.962505 0.000000 0.271266 284 | 0.975000 0.000000 0.222206 285 | 0.929708 -0.249114 0.271266 286 | 0.941777 -0.252348 0.222206 287 | 0.833553 -0.481252 0.271266 288 | 0.941777 -0.252348 0.222206 289 | 0.929708 -0.249114 0.271266 290 | 0.941777 -0.252348 0.222206 291 | 0.833553 -0.481252 0.271266 292 | 0.844374 -0.487500 0.222206 293 | 0.680593 -0.680594 0.271266 294 | 0.844374 -0.487500 0.222206 295 | 0.833553 -0.481252 0.271266 296 | 0.844374 -0.487500 0.222206 297 | 0.680593 -0.680594 0.271266 298 | 0.689429 -0.689429 0.222206 299 | 0.481252 -0.833553 0.271266 300 | 0.487500 -0.844374 0.222206 301 | 0.680593 -0.680594 0.271266 302 | 0.680593 -0.680594 0.271266 303 | 0.487500 -0.844374 0.222206 304 | 0.689429 -0.689429 0.222206 305 | 0.249115 -0.929708 0.271266 306 | 0.252348 -0.941777 0.222206 307 | 0.481252 -0.833553 0.271266 308 | 0.481252 -0.833553 0.271266 309 | 0.252348 -0.941777 0.222206 310 | 0.487500 -0.844374 0.222206 311 | 0.063683 -0.960551 0.270716 312 | 0.063662 -0.972920 0.222204 313 | 0.249115 -0.929708 0.271266 314 | 0.249115 -0.929708 0.271266 315 | 0.063662 -0.972920 0.222204 316 | 0.252348 -0.941777 0.222206 317 | 0.249114 0.929708 0.271266 318 | 0.063660 0.972920 0.222204 319 | 0.063682 0.960551 0.270715 320 | 0.063660 0.972920 0.222204 321 | 0.249114 0.929708 0.271266 322 | 0.252348 0.941777 0.222207 323 | 0.481252 0.833554 0.271266 324 | 0.252348 0.941777 0.222207 325 | 0.249114 0.929708 0.271266 326 | 0.252348 0.941777 0.222207 327 | 0.481252 0.833554 0.271266 328 | 0.487499 0.844375 0.222206 329 | 0.680593 0.680594 0.271266 330 | 0.487499 0.844375 0.222206 331 | 0.481252 0.833554 0.271266 332 | 0.487499 0.844375 0.222206 333 | 0.680593 0.680594 0.271266 334 | 0.689428 0.689429 0.222206 335 | 0.833553 0.481253 0.271266 336 | 0.844374 0.487500 0.222206 337 | 0.680593 0.680594 0.271266 338 | 0.680593 0.680594 0.271266 339 | 0.844374 0.487500 0.222206 340 | 0.689428 0.689429 0.222206 341 | 0.929708 0.249115 0.271266 342 | 0.941777 0.252349 0.222206 343 | 0.833553 0.481253 0.271266 344 | 0.833553 0.481253 0.271266 345 | 0.941777 0.252349 0.222206 346 | 0.844374 0.487500 0.222206 347 | 0.962505 0.000000 0.271266 348 | 0.975000 0.000000 0.222206 349 | 0.929708 0.249115 0.271266 350 | 0.929708 0.249115 0.271266 351 | 0.975000 0.000000 0.222206 352 | 0.941777 0.252349 0.222206 353 | 0.993097 0.000000 0.117299 354 | 0.975000 0.000000 0.222206 355 | 0.941777 -0.252348 0.222206 356 | 0.941777 -0.252348 0.222206 357 | 0.959258 -0.257032 0.117299 358 | 0.993097 0.000000 0.117299 359 | 0.959258 -0.257032 0.117299 360 | 0.941777 -0.252348 0.222206 361 | 0.844374 -0.487500 0.222206 362 | 0.844374 -0.487500 0.222206 363 | 0.860047 -0.496548 0.117299 364 | 0.959258 -0.257032 0.117299 365 | 0.860047 -0.496548 0.117299 366 | 0.844374 -0.487500 0.222206 367 | 0.689429 -0.689429 0.222206 368 | 0.689429 -0.689429 0.222206 369 | 0.702225 -0.702225 0.117299 370 | 0.860047 -0.496548 0.117299 371 | 0.689429 -0.689429 0.222206 372 | 0.496548 -0.860047 0.117299 373 | 0.702225 -0.702225 0.117299 374 | 0.496548 -0.860047 0.117299 375 | 0.689429 -0.689429 0.222206 376 | 0.487500 -0.844374 0.222206 377 | 0.487500 -0.844374 0.222206 378 | 0.257032 -0.959258 0.117299 379 | 0.496548 -0.860047 0.117299 380 | 0.257032 -0.959258 0.117299 381 | 0.487500 -0.844374 0.222206 382 | 0.252348 -0.941777 0.222206 383 | 0.252348 -0.941777 0.222206 384 | 0.064811 -0.990975 0.117335 385 | 0.257032 -0.959258 0.117299 386 | 0.064811 -0.990975 0.117335 387 | 0.252348 -0.941777 0.222206 388 | 0.063662 -0.972920 0.222204 389 | 0.064805 0.990976 0.117329 390 | 0.063660 0.972920 0.222204 391 | 0.252348 0.941777 0.222207 392 | 0.252348 0.941777 0.222207 393 | 0.257032 0.959258 0.117298 394 | 0.064805 0.990976 0.117329 395 | 0.257032 0.959258 0.117298 396 | 0.252348 0.941777 0.222207 397 | 0.487499 0.844375 0.222206 398 | 0.487499 0.844375 0.222206 399 | 0.496548 0.860047 0.117298 400 | 0.257032 0.959258 0.117298 401 | 0.496548 0.860047 0.117298 402 | 0.487499 0.844375 0.222206 403 | 0.689428 0.689429 0.222206 404 | 0.689428 0.689429 0.222206 405 | 0.702225 0.702226 0.117299 406 | 0.496548 0.860047 0.117298 407 | 0.689428 0.689429 0.222206 408 | 0.860047 0.496549 0.117299 409 | 0.702225 0.702226 0.117299 410 | 0.860047 0.496549 0.117299 411 | 0.689428 0.689429 0.222206 412 | 0.844374 0.487500 0.222206 413 | 0.844374 0.487500 0.222206 414 | 0.959258 0.257033 0.117299 415 | 0.860047 0.496549 0.117299 416 | 0.959258 0.257033 0.117299 417 | 0.844374 0.487500 0.222206 418 | 0.941777 0.252349 0.222206 419 | 0.941777 0.252349 0.222206 420 | 0.993097 0.000000 0.117299 421 | 0.959258 0.257033 0.117299 422 | 0.993097 0.000000 0.117299 423 | 0.941777 0.252349 0.222206 424 | 0.975000 0.000000 0.222206 425 | 0.065045 0.242751 -0.967906 426 | -0.000000 -0.000000 -1.000000 427 | 0.016497 0.242168 -0.970094 428 | 0.959258 -0.257032 0.117299 429 | 0.984711 0.000000 -0.174197 430 | 0.993097 0.000000 0.117299 431 | 0.984711 0.000000 -0.174197 432 | 0.959258 -0.257032 0.117299 433 | 0.951158 -0.254862 -0.174197 434 | 0.860047 -0.496548 0.117299 435 | 0.951158 -0.254862 -0.174197 436 | 0.959258 -0.257032 0.117299 437 | 0.951158 -0.254862 -0.174197 438 | 0.860047 -0.496548 0.117299 439 | 0.852784 -0.492355 -0.174197 440 | 0.702225 -0.702225 0.117299 441 | 0.852784 -0.492355 -0.174197 442 | 0.860047 -0.496548 0.117299 443 | 0.852784 -0.492355 -0.174197 444 | 0.702225 -0.702225 0.117299 445 | 0.696296 -0.696295 -0.174197 446 | 0.496548 -0.860047 0.117299 447 | 0.492356 -0.852784 -0.174196 448 | 0.702225 -0.702225 0.117299 449 | 0.702225 -0.702225 0.117299 450 | 0.492356 -0.852784 -0.174196 451 | 0.696296 -0.696295 -0.174197 452 | 0.257032 -0.959258 0.117299 453 | 0.254862 -0.951158 -0.174196 454 | 0.496548 -0.860047 0.117299 455 | 0.496548 -0.860047 0.117299 456 | 0.254862 -0.951158 -0.174196 457 | 0.492356 -0.852784 -0.174196 458 | 0.064811 -0.990975 0.117335 459 | 0.063813 -0.982400 -0.175549 460 | 0.257032 -0.959258 0.117299 461 | 0.257032 -0.959258 0.117299 462 | 0.063813 -0.982400 -0.175549 463 | 0.254862 -0.951158 -0.174196 464 | 0.257032 0.959258 0.117298 465 | 0.063799 0.982403 -0.175537 466 | 0.064805 0.990976 0.117329 467 | 0.063799 0.982403 -0.175537 468 | 0.257032 0.959258 0.117298 469 | 0.254862 0.951158 -0.174198 470 | 0.496548 0.860047 0.117298 471 | 0.254862 0.951158 -0.174198 472 | 0.257032 0.959258 0.117298 473 | 0.254862 0.951158 -0.174198 474 | 0.496548 0.860047 0.117298 475 | 0.492355 0.852785 -0.174197 476 | 0.702225 0.702226 0.117299 477 | 0.492355 0.852785 -0.174197 478 | 0.496548 0.860047 0.117298 479 | 0.492355 0.852785 -0.174197 480 | 0.702225 0.702226 0.117299 481 | 0.696295 0.696296 -0.174197 482 | 0.860047 0.496549 0.117299 483 | 0.852784 0.492356 -0.174197 484 | 0.702225 0.702226 0.117299 485 | 0.702225 0.702226 0.117299 486 | 0.852784 0.492356 -0.174197 487 | 0.696295 0.696296 -0.174197 488 | 0.959258 0.257033 0.117299 489 | 0.951158 0.254862 -0.174197 490 | 0.860047 0.496549 0.117299 491 | 0.860047 0.496549 0.117299 492 | 0.951158 0.254862 -0.174197 493 | 0.852784 0.492356 -0.174197 494 | 0.993097 0.000000 0.117299 495 | 0.984711 0.000000 -0.174197 496 | 0.959258 0.257033 0.117299 497 | 0.959258 0.257033 0.117299 498 | 0.984711 0.000000 -0.174197 499 | 0.951158 0.254862 -0.174197 500 | 0.984711 0.000000 -0.174197 501 | 0.825043 -0.221070 -0.520031 502 | 0.854148 0.000000 -0.520031 503 | 0.825043 -0.221070 -0.520031 504 | 0.984711 0.000000 -0.174197 505 | 0.951158 -0.254862 -0.174197 506 | 0.951158 -0.254862 -0.174197 507 | 0.739713 -0.427074 -0.520031 508 | 0.825043 -0.221070 -0.520031 509 | 0.739713 -0.427074 -0.520031 510 | 0.951158 -0.254862 -0.174197 511 | 0.852784 -0.492355 -0.174197 512 | 0.603974 -0.603973 -0.520031 513 | 0.852784 -0.492355 -0.174197 514 | 0.696296 -0.696295 -0.174197 515 | 0.852784 -0.492355 -0.174197 516 | 0.603974 -0.603973 -0.520031 517 | 0.739713 -0.427074 -0.520031 518 | 0.696296 -0.696295 -0.174197 519 | 0.492356 -0.852784 -0.174196 520 | 0.603974 -0.603973 -0.520031 521 | 0.492356 -0.852784 -0.174196 522 | 0.427074 -0.739713 -0.520031 523 | 0.603974 -0.603973 -0.520031 524 | 0.492356 -0.852784 -0.174196 525 | 0.254862 -0.951158 -0.174196 526 | 0.427074 -0.739713 -0.520031 527 | 0.254862 -0.951158 -0.174196 528 | 0.221070 -0.825043 -0.520030 529 | 0.427074 -0.739713 -0.520031 530 | 0.254862 -0.951158 -0.174196 531 | 0.063813 -0.982400 -0.175549 532 | 0.221070 -0.825043 -0.520030 533 | 0.063813 -0.982400 -0.175549 534 | 0.055696 -0.851305 -0.521706 535 | 0.221070 -0.825043 -0.520030 536 | 0.063799 0.982403 -0.175537 537 | 0.221069 0.825043 -0.520031 538 | 0.055696 0.851305 -0.521707 539 | 0.221069 0.825043 -0.520031 540 | 0.063799 0.982403 -0.175537 541 | 0.254862 0.951158 -0.174198 542 | 0.254862 0.951158 -0.174198 543 | 0.427073 0.739714 -0.520031 544 | 0.221069 0.825043 -0.520031 545 | 0.427073 0.739714 -0.520031 546 | 0.254862 0.951158 -0.174198 547 | 0.492355 0.852785 -0.174197 548 | 0.603973 0.603974 -0.520031 549 | 0.492355 0.852785 -0.174197 550 | 0.696295 0.696296 -0.174197 551 | 0.492355 0.852785 -0.174197 552 | 0.603973 0.603974 -0.520031 553 | 0.427073 0.739714 -0.520031 554 | 0.696295 0.696296 -0.174197 555 | 0.852784 0.492356 -0.174197 556 | 0.603973 0.603974 -0.520031 557 | 0.852784 0.492356 -0.174197 558 | 0.739713 0.427074 -0.520031 559 | 0.603973 0.603974 -0.520031 560 | 0.852784 0.492356 -0.174197 561 | 0.951158 0.254862 -0.174197 562 | 0.739713 0.427074 -0.520031 563 | 0.951158 0.254862 -0.174197 564 | 0.825043 0.221070 -0.520031 565 | 0.739713 0.427074 -0.520031 566 | 0.951158 0.254862 -0.174197 567 | 0.984711 0.000000 -0.174197 568 | 0.825043 0.221070 -0.520031 569 | 0.984711 0.000000 -0.174197 570 | 0.854148 0.000000 -0.520031 571 | 0.825043 0.221070 -0.520031 572 | 0.614906 -0.164764 -0.771196 573 | 0.242751 -0.065045 -0.967906 574 | 0.636598 0.000000 -0.771196 575 | 0.242751 -0.065045 -0.967906 576 | 0.251314 0.000000 -0.967906 577 | 0.636598 0.000000 -0.771196 578 | 0.242751 -0.065045 -0.967906 579 | 0.551309 -0.318299 -0.771196 580 | 0.217644 -0.125658 -0.967906 581 | 0.551309 -0.318299 -0.771196 582 | 0.242751 -0.065045 -0.967906 583 | 0.614906 -0.164764 -0.771196 584 | 0.217644 -0.125658 -0.967906 585 | 0.450143 -0.450143 -0.771196 586 | 0.177706 -0.177707 -0.967905 587 | 0.450143 -0.450143 -0.771196 588 | 0.217644 -0.125658 -0.967906 589 | 0.551309 -0.318299 -0.771196 590 | 0.177706 -0.177707 -0.967905 591 | 0.318299 -0.551309 -0.771196 592 | 0.125658 -0.217644 -0.967905 593 | 0.318299 -0.551309 -0.771196 594 | 0.177706 -0.177707 -0.967905 595 | 0.450143 -0.450143 -0.771196 596 | 0.125658 -0.217644 -0.967905 597 | 0.164764 -0.614906 -0.771196 598 | 0.065045 -0.242751 -0.967906 599 | 0.164764 -0.614906 -0.771196 600 | 0.125658 -0.217644 -0.967905 601 | 0.318299 -0.551309 -0.771196 602 | 0.164764 -0.614906 -0.771196 603 | 0.041571 -0.630954 -0.774706 604 | 0.016497 -0.242168 -0.970094 605 | 0.164764 -0.614906 -0.771196 606 | 0.016497 -0.242168 -0.970094 607 | 0.065045 -0.242751 -0.967906 608 | 0.041571 0.630954 -0.774706 609 | 0.065045 0.242751 -0.967906 610 | 0.016497 0.242168 -0.970094 611 | 0.065045 0.242751 -0.967906 612 | 0.041571 0.630954 -0.774706 613 | 0.164763 0.614906 -0.771196 614 | 0.164763 0.614906 -0.771196 615 | 0.125657 0.217644 -0.967906 616 | 0.065045 0.242751 -0.967906 617 | 0.125657 0.217644 -0.967906 618 | 0.164763 0.614906 -0.771196 619 | 0.318298 0.551310 -0.771196 620 | 0.450142 0.450143 -0.771196 621 | 0.125657 0.217644 -0.967906 622 | 0.318298 0.551310 -0.771196 623 | 0.125657 0.217644 -0.967906 624 | 0.450142 0.450143 -0.771196 625 | 0.177706 0.177706 -0.967906 626 | 0.551309 0.318299 -0.771196 627 | 0.177706 0.177706 -0.967906 628 | 0.450142 0.450143 -0.771196 629 | 0.177706 0.177706 -0.967906 630 | 0.551309 0.318299 -0.771196 631 | 0.217644 0.125657 -0.967906 632 | 0.614906 0.164764 -0.771196 633 | 0.217644 0.125657 -0.967906 634 | 0.551309 0.318299 -0.771196 635 | 0.217644 0.125657 -0.967906 636 | 0.614906 0.164764 -0.771196 637 | 0.242751 0.065045 -0.967906 638 | 0.636598 0.000000 -0.771196 639 | 0.242751 0.065045 -0.967906 640 | 0.614906 0.164764 -0.771196 641 | 0.242751 0.065045 -0.967906 642 | 0.636598 0.000000 -0.771196 643 | 0.251314 0.000000 -0.967906 644 | 0.854148 0.000000 -0.520031 645 | 0.825043 -0.221070 -0.520031 646 | 0.614906 -0.164764 -0.771196 647 | 0.854148 0.000000 -0.520031 648 | 0.614906 -0.164764 -0.771196 649 | 0.636598 0.000000 -0.771196 650 | 0.825043 -0.221070 -0.520031 651 | 0.739713 -0.427074 -0.520031 652 | 0.551309 -0.318299 -0.771196 653 | 0.551309 -0.318299 -0.771196 654 | 0.614906 -0.164764 -0.771196 655 | 0.825043 -0.221070 -0.520031 656 | 0.551309 -0.318299 -0.771196 657 | 0.603974 -0.603973 -0.520031 658 | 0.450143 -0.450143 -0.771196 659 | 0.603974 -0.603973 -0.520031 660 | 0.551309 -0.318299 -0.771196 661 | 0.739713 -0.427074 -0.520031 662 | 0.603974 -0.603973 -0.520031 663 | 0.318299 -0.551309 -0.771196 664 | 0.450143 -0.450143 -0.771196 665 | 0.318299 -0.551309 -0.771196 666 | 0.603974 -0.603973 -0.520031 667 | 0.427074 -0.739713 -0.520031 668 | 0.221070 -0.825043 -0.520030 669 | 0.318299 -0.551309 -0.771196 670 | 0.427074 -0.739713 -0.520031 671 | 0.318299 -0.551309 -0.771196 672 | 0.221070 -0.825043 -0.520030 673 | 0.164764 -0.614906 -0.771196 674 | 0.055696 -0.851305 -0.521706 675 | 0.164764 -0.614906 -0.771196 676 | 0.221070 -0.825043 -0.520030 677 | 0.164764 -0.614906 -0.771196 678 | 0.055696 -0.851305 -0.521706 679 | 0.041571 -0.630954 -0.774706 680 | 0.055696 0.851305 -0.521707 681 | 0.221069 0.825043 -0.520031 682 | 0.164763 0.614906 -0.771196 683 | 0.055696 0.851305 -0.521707 684 | 0.164763 0.614906 -0.771196 685 | 0.041571 0.630954 -0.774706 686 | 0.221069 0.825043 -0.520031 687 | 0.427073 0.739714 -0.520031 688 | 0.318298 0.551310 -0.771196 689 | 0.318298 0.551310 -0.771196 690 | 0.164763 0.614906 -0.771196 691 | 0.221069 0.825043 -0.520031 692 | 0.450142 0.450143 -0.771196 693 | 0.427073 0.739714 -0.520031 694 | 0.603973 0.603974 -0.520031 695 | 0.427073 0.739714 -0.520031 696 | 0.450142 0.450143 -0.771196 697 | 0.318298 0.551310 -0.771196 698 | 0.603973 0.603974 -0.520031 699 | 0.739713 0.427074 -0.520031 700 | 0.551309 0.318299 -0.771196 701 | 0.603973 0.603974 -0.520031 702 | 0.551309 0.318299 -0.771196 703 | 0.450142 0.450143 -0.771196 704 | 0.825043 0.221070 -0.520031 705 | 0.551309 0.318299 -0.771196 706 | 0.739713 0.427074 -0.520031 707 | 0.551309 0.318299 -0.771196 708 | 0.825043 0.221070 -0.520031 709 | 0.614906 0.164764 -0.771196 710 | 0.854148 0.000000 -0.520031 711 | 0.614906 0.164764 -0.771196 712 | 0.825043 0.221070 -0.520031 713 | 0.614906 0.164764 -0.771196 714 | 0.854148 0.000000 -0.520031 715 | 0.636598 0.000000 -0.771196 716 | 0.000001 -0.974795 0.223101 717 | -0.063683 -0.960551 0.270716 718 | -0.000001 -0.974795 0.223101 719 | 0.063683 -0.960551 0.270716 720 | -0.063683 -0.960551 0.270716 721 | 0.000001 -0.974795 0.223101 722 | 0.000000 0.000000 1.000000 723 | 0.000000 0.000000 1.000000 724 | 0.000000 0.000000 1.000000 725 | 0.000000 0.000000 1.000000 726 | 0.000000 0.000000 1.000000 727 | 0.000000 0.000000 1.000000 728 | 0.063660 0.972920 0.222204 729 | -0.063682 0.960551 0.270715 730 | 0.063682 0.960551 0.270715 731 | -0.063682 0.960551 0.270715 732 | 0.063660 0.972920 0.222204 733 | -0.063660 0.972920 0.222204 734 | 0.064805 0.990976 0.117329 735 | -0.063660 0.972920 0.222204 736 | 0.063660 0.972920 0.222204 737 | -0.063660 0.972920 0.222204 738 | 0.064805 0.990976 0.117329 739 | -0.064805 0.990976 0.117329 740 | 0.063799 0.982403 -0.175537 741 | -0.064805 0.990976 0.117329 742 | 0.064805 0.990976 0.117329 743 | -0.064805 0.990976 0.117329 744 | 0.063799 0.982403 -0.175537 745 | -0.063799 0.982403 -0.175537 746 | 0.055696 0.851305 -0.521707 747 | -0.055696 0.851305 -0.521707 748 | 0.063799 0.982403 -0.175537 749 | -0.063799 0.982403 -0.175537 750 | 0.063799 0.982403 -0.175537 751 | -0.055696 0.851305 -0.521707 752 | 0.041571 0.630954 -0.774706 753 | -0.041571 0.630954 -0.774706 754 | 0.055696 0.851305 -0.521707 755 | -0.055696 0.851305 -0.521707 756 | 0.055696 0.851305 -0.521707 757 | -0.041571 0.630954 -0.774706 758 | 0.016497 0.242168 -0.970094 759 | -0.041571 0.630954 -0.774706 760 | 0.041571 0.630954 -0.774706 761 | -0.041571 0.630954 -0.774706 762 | 0.016497 0.242168 -0.970094 763 | -0.016497 0.242168 -0.970094 764 | 0.000000 -0.000000 -1.000000 765 | 0.016497 0.242168 -0.970094 766 | -0.000000 -0.000000 -1.000000 767 | 0.016497 0.242168 -0.970094 768 | 0.000000 -0.000000 -1.000000 769 | -0.016497 0.242168 -0.970094 770 | -0.041571 -0.630954 -0.774706 771 | 0.016497 -0.242168 -0.970094 772 | 0.041571 -0.630954 -0.774706 773 | 0.016497 -0.242168 -0.970094 774 | -0.041571 -0.630954 -0.774706 775 | -0.016497 -0.242168 -0.970094 776 | -0.055696 -0.851305 -0.521706 777 | 0.041571 -0.630954 -0.774706 778 | 0.055696 -0.851305 -0.521706 779 | 0.041571 -0.630954 -0.774706 780 | -0.055696 -0.851305 -0.521706 781 | -0.041571 -0.630954 -0.774706 782 | -0.063813 -0.982400 -0.175549 783 | 0.055696 -0.851305 -0.521706 784 | 0.063813 -0.982400 -0.175549 785 | 0.055696 -0.851305 -0.521706 786 | -0.063813 -0.982400 -0.175549 787 | -0.055696 -0.851305 -0.521706 788 | 0.064811 -0.990975 0.117335 789 | 0.009476 -0.998757 0.048936 790 | 0.063813 -0.982400 -0.175549 791 | 0.356623 -0.729085 0.584170 792 | 0.063662 -0.972920 0.222204 793 | 0.000001 -0.974795 0.223101 794 | 0.356623 -0.729085 0.584170 795 | 0.000001 -0.974795 0.223101 796 | 0.112550 -0.692331 0.712748 797 | 0.698575 -0.703116 0.132745 798 | -0.698575 -0.703116 0.132745 799 | -0.009476 -0.998757 0.048936 800 | 0.698575 -0.703116 0.132745 801 | -0.009476 -0.998757 0.048936 802 | 0.009476 -0.998757 0.048936 803 | -0.112550 -0.692331 0.712748 804 | 0.000001 -0.974795 0.223101 805 | -0.000001 -0.974795 0.223101 806 | 0.000001 -0.974795 0.223101 807 | -0.112550 -0.692331 0.712748 808 | 0.112550 -0.692331 0.712748 809 | 0.687663 -0.667181 0.286338 810 | -0.687663 -0.667181 0.286337 811 | -0.698575 -0.703116 0.132745 812 | 0.687663 -0.667181 0.286338 813 | -0.698575 -0.703116 0.132745 814 | 0.698575 -0.703116 0.132745 815 | 0.581410 -0.717995 0.382681 816 | 0.695358 -0.684495 0.218963 817 | 0.064811 -0.990975 0.117335 818 | -0.009476 -0.998757 0.048936 819 | 0.063813 -0.982400 -0.175549 820 | 0.009476 -0.998757 0.048936 821 | 0.063813 -0.982400 -0.175549 822 | -0.009476 -0.998757 0.048936 823 | -0.063813 -0.982400 -0.175549 824 | 0.009476 -0.998757 0.048936 825 | 0.695358 -0.684495 0.218963 826 | 0.698575 -0.703116 0.132745 827 | 0.687663 -0.667181 0.286338 828 | 0.695358 -0.684495 0.218963 829 | 0.581410 -0.717995 0.382681 830 | 0.695358 -0.684495 0.218963 831 | 0.687663 -0.667181 0.286338 832 | 0.698575 -0.703116 0.132745 833 | 0.483694 -0.646067 0.590455 834 | 0.581410 -0.717995 0.382681 835 | 0.356623 -0.729085 0.584170 836 | 0.581410 -0.717995 0.382681 837 | 0.483694 -0.646067 0.590455 838 | 0.687663 -0.667181 0.286338 839 | 0.112550 -0.692331 0.712748 840 | 0.142759 -0.666441 0.731762 841 | 0.356623 -0.729085 0.584170 842 | 0.356623 -0.729085 0.584170 843 | 0.142759 -0.666441 0.731762 844 | 0.483694 -0.646067 0.590455 845 | -0.142759 -0.666441 0.731762 846 | 0.112550 -0.692331 0.712748 847 | -0.112550 -0.692331 0.712748 848 | 0.112550 -0.692331 0.712748 849 | -0.142759 -0.666441 0.731762 850 | 0.142759 -0.666441 0.731762 851 | 0.000000 0.000000 1.000000 852 | 0.000000 0.000000 1.000000 853 | 0.000000 0.000000 1.000000 854 | -0.929708 -0.249115 0.271266 855 | -0.975000 0.000000 0.222206 856 | -0.941777 -0.252349 0.222206 857 | -0.975000 0.000000 0.222206 858 | -0.929708 -0.249115 0.271266 859 | -0.962505 0.000000 0.271266 860 | -0.941777 -0.252349 0.222206 861 | -0.833553 -0.481252 0.271266 862 | -0.929708 -0.249115 0.271266 863 | -0.833553 -0.481252 0.271266 864 | -0.941777 -0.252349 0.222206 865 | -0.844374 -0.487500 0.222207 866 | -0.844374 -0.487500 0.222207 867 | -0.680593 -0.680593 0.271266 868 | -0.833553 -0.481252 0.271266 869 | -0.680593 -0.680593 0.271266 870 | -0.844374 -0.487500 0.222207 871 | -0.689429 -0.689429 0.222206 872 | -0.487500 -0.844374 0.222206 873 | -0.481252 -0.833553 0.271266 874 | -0.680593 -0.680593 0.271266 875 | -0.680593 -0.680593 0.271266 876 | -0.689429 -0.689429 0.222206 877 | -0.487500 -0.844374 0.222206 878 | -0.252348 -0.941777 0.222206 879 | -0.249115 -0.929708 0.271266 880 | -0.481252 -0.833553 0.271266 881 | -0.481252 -0.833553 0.271266 882 | -0.487500 -0.844374 0.222206 883 | -0.252348 -0.941777 0.222206 884 | -0.063662 -0.972920 0.222204 885 | -0.063683 -0.960551 0.270716 886 | -0.249115 -0.929708 0.271266 887 | -0.249115 -0.929708 0.271266 888 | -0.252348 -0.941777 0.222206 889 | -0.063662 -0.972920 0.222204 890 | -0.249114 0.929708 0.271265 891 | -0.063660 0.972920 0.222204 892 | -0.252348 0.941777 0.222206 893 | -0.063660 0.972920 0.222204 894 | -0.249114 0.929708 0.271265 895 | -0.063682 0.960551 0.270715 896 | -0.252348 0.941777 0.222206 897 | -0.481252 0.833554 0.271265 898 | -0.249114 0.929708 0.271265 899 | -0.481252 0.833554 0.271265 900 | -0.252348 0.941777 0.222206 901 | -0.487499 0.844375 0.222206 902 | -0.487499 0.844375 0.222206 903 | -0.680593 0.680594 0.271266 904 | -0.481252 0.833554 0.271265 905 | -0.680593 0.680594 0.271266 906 | -0.487499 0.844375 0.222206 907 | -0.689428 0.689429 0.222206 908 | -0.844374 0.487500 0.222206 909 | -0.833553 0.481253 0.271266 910 | -0.680593 0.680594 0.271266 911 | -0.680593 0.680594 0.271266 912 | -0.689428 0.689429 0.222206 913 | -0.844374 0.487500 0.222206 914 | -0.941777 0.252349 0.222206 915 | -0.929708 0.249115 0.271266 916 | -0.833553 0.481253 0.271266 917 | -0.833553 0.481253 0.271266 918 | -0.844374 0.487500 0.222206 919 | -0.941777 0.252349 0.222206 920 | -0.975000 0.000000 0.222206 921 | -0.962505 0.000000 0.271266 922 | -0.929708 0.249115 0.271266 923 | -0.929708 0.249115 0.271266 924 | -0.941777 0.252349 0.222206 925 | -0.975000 0.000000 0.222206 926 | -0.975000 0.000000 0.222206 927 | -0.993097 0.000000 0.117299 928 | -0.941777 -0.252349 0.222206 929 | -0.941777 -0.252349 0.222206 930 | -0.993097 0.000000 0.117299 931 | -0.959258 -0.257032 0.117299 932 | -0.941777 -0.252349 0.222206 933 | -0.959258 -0.257032 0.117299 934 | -0.844374 -0.487500 0.222207 935 | -0.844374 -0.487500 0.222207 936 | -0.959258 -0.257032 0.117299 937 | -0.860047 -0.496548 0.117299 938 | -0.844374 -0.487500 0.222207 939 | -0.860047 -0.496548 0.117299 940 | -0.689429 -0.689429 0.222206 941 | -0.689429 -0.689429 0.222206 942 | -0.860047 -0.496548 0.117299 943 | -0.702225 -0.702226 0.117298 944 | -0.689429 -0.689429 0.222206 945 | -0.496548 -0.860047 0.117299 946 | -0.487500 -0.844374 0.222206 947 | -0.496548 -0.860047 0.117299 948 | -0.689429 -0.689429 0.222206 949 | -0.702225 -0.702226 0.117298 950 | -0.487500 -0.844374 0.222206 951 | -0.257032 -0.959258 0.117299 952 | -0.252348 -0.941777 0.222206 953 | -0.257032 -0.959258 0.117299 954 | -0.487500 -0.844374 0.222206 955 | -0.496548 -0.860047 0.117299 956 | -0.252348 -0.941777 0.222206 957 | -0.064811 -0.990975 0.117335 958 | -0.063662 -0.972920 0.222204 959 | -0.064811 -0.990975 0.117335 960 | -0.252348 -0.941777 0.222206 961 | -0.257032 -0.959258 0.117299 962 | -0.063660 0.972920 0.222204 963 | -0.064805 0.990976 0.117329 964 | -0.252348 0.941777 0.222206 965 | -0.252348 0.941777 0.222206 966 | -0.064805 0.990976 0.117329 967 | -0.257032 0.959258 0.117298 968 | -0.252348 0.941777 0.222206 969 | -0.257032 0.959258 0.117298 970 | -0.487499 0.844375 0.222206 971 | -0.487499 0.844375 0.222206 972 | -0.257032 0.959258 0.117298 973 | -0.496548 0.860047 0.117298 974 | -0.487499 0.844375 0.222206 975 | -0.496548 0.860047 0.117298 976 | -0.689428 0.689429 0.222206 977 | -0.689428 0.689429 0.222206 978 | -0.496548 0.860047 0.117298 979 | -0.702225 0.702226 0.117298 980 | -0.689428 0.689429 0.222206 981 | -0.860047 0.496549 0.117299 982 | -0.844374 0.487500 0.222206 983 | -0.860047 0.496549 0.117299 984 | -0.689428 0.689429 0.222206 985 | -0.702225 0.702226 0.117298 986 | -0.844374 0.487500 0.222206 987 | -0.959258 0.257033 0.117299 988 | -0.941777 0.252349 0.222206 989 | -0.959258 0.257033 0.117299 990 | -0.844374 0.487500 0.222206 991 | -0.860047 0.496549 0.117299 992 | -0.941777 0.252349 0.222206 993 | -0.993097 0.000000 0.117299 994 | -0.975000 0.000000 0.222206 995 | -0.993097 0.000000 0.117299 996 | -0.941777 0.252349 0.222206 997 | -0.959258 0.257033 0.117299 998 | -0.257032 -0.959258 0.117299 999 | -0.063813 -0.982400 -0.175549 1000 | -0.064811 -0.990975 0.117335 1001 | -0.063813 -0.982400 -0.175549 1002 | -0.257032 -0.959258 0.117299 1003 | -0.254861 -0.951158 -0.174196 1004 | -0.257032 0.959258 0.117298 1005 | -0.063799 0.982403 -0.175537 1006 | -0.254861 0.951158 -0.174197 1007 | -0.063799 0.982403 -0.175537 1008 | -0.257032 0.959258 0.117298 1009 | -0.064805 0.990976 0.117329 1010 | -0.221070 -0.825044 -0.520030 1011 | -0.063813 -0.982400 -0.175549 1012 | -0.254861 -0.951158 -0.174196 1013 | -0.063813 -0.982400 -0.175549 1014 | -0.221070 -0.825044 -0.520030 1015 | -0.055696 -0.851305 -0.521706 1016 | -0.063799 0.982403 -0.175537 1017 | -0.221069 0.825043 -0.520031 1018 | -0.254861 0.951158 -0.174197 1019 | -0.221069 0.825043 -0.520031 1020 | -0.063799 0.982403 -0.175537 1021 | -0.055696 0.851305 -0.521707 1022 | -0.164764 -0.614906 -0.771196 1023 | -0.016497 -0.242168 -0.970094 1024 | -0.041571 -0.630954 -0.774706 1025 | -0.016497 -0.242168 -0.970094 1026 | -0.164764 -0.614906 -0.771196 1027 | -0.065045 -0.242751 -0.967905 1028 | -0.016497 0.242168 -0.970094 1029 | -0.164763 0.614906 -0.771196 1030 | -0.041571 0.630954 -0.774706 1031 | -0.164763 0.614906 -0.771196 1032 | -0.016497 0.242168 -0.970094 1033 | -0.065045 0.242751 -0.967906 1034 | -0.055696 -0.851305 -0.521706 1035 | -0.164764 -0.614906 -0.771196 1036 | -0.041571 -0.630954 -0.774706 1037 | -0.164764 -0.614906 -0.771196 1038 | -0.055696 -0.851305 -0.521706 1039 | -0.221070 -0.825044 -0.520030 1040 | -0.055696 0.851305 -0.521707 1041 | -0.164763 0.614906 -0.771196 1042 | -0.221069 0.825043 -0.520031 1043 | -0.164763 0.614906 -0.771196 1044 | -0.055696 0.851305 -0.521707 1045 | -0.041571 0.630954 -0.774706 1046 | -0.063662 -0.972920 0.222204 1047 | -0.064811 -0.990975 0.117335 1048 | -0.356624 -0.729085 0.584170 1049 | -0.356624 -0.729085 0.584170 1050 | -0.064811 -0.990975 0.117335 1051 | -0.581411 -0.717995 0.382681 1052 | -0.581411 -0.717995 0.382681 1053 | -0.064811 -0.990975 0.117335 1054 | -0.695358 -0.684494 0.218963 1055 | -0.009476 -0.998757 0.048936 1056 | -0.698575 -0.703116 0.132745 1057 | -0.695358 -0.684494 0.218963 1058 | -0.581411 -0.717995 0.382681 1059 | -0.695358 -0.684494 0.218963 1060 | -0.687663 -0.667181 0.286337 1061 | -0.687663 -0.667181 0.286337 1062 | -0.695358 -0.684494 0.218963 1063 | -0.698575 -0.703116 0.132745 1064 | -0.483695 -0.646067 0.590454 1065 | -0.356624 -0.729085 0.584170 1066 | -0.581411 -0.717995 0.382681 1067 | -0.483695 -0.646067 0.590454 1068 | -0.581411 -0.717995 0.382681 1069 | -0.687663 -0.667181 0.286337 1070 | -0.112550 -0.692331 0.712748 1071 | -0.356624 -0.729085 0.584170 1072 | -0.142759 -0.666441 0.731762 1073 | -0.356624 -0.729085 0.584170 1074 | -0.483695 -0.646067 0.590454 1075 | -0.142759 -0.666441 0.731762 1076 | -0.702225 -0.702226 0.117298 1077 | -0.499071 -0.864416 0.060934 1078 | -0.496548 -0.860047 0.117299 1079 | -0.499071 -0.864416 0.060934 1080 | -0.702225 -0.702226 0.117298 1081 | -0.705793 -0.705793 0.060934 1082 | -0.702225 -0.702226 0.117298 1083 | -0.864416 -0.499071 0.060934 1084 | -0.705793 -0.705793 0.060934 1085 | -0.864416 -0.499071 0.060934 1086 | -0.702225 -0.702226 0.117298 1087 | -0.860047 -0.496548 0.117299 1088 | -0.860047 -0.496548 0.117299 1089 | -0.964131 -0.258338 0.060934 1090 | -0.864416 -0.499071 0.060934 1091 | -0.964131 -0.258338 0.060934 1092 | -0.860047 -0.496548 0.117299 1093 | -0.959258 -0.257032 0.117299 1094 | -0.959258 -0.257032 0.117299 1095 | -0.998142 0.000001 0.060934 1096 | -0.964131 -0.258338 0.060934 1097 | -0.998142 0.000001 0.060934 1098 | -0.959258 -0.257032 0.117299 1099 | -0.993097 0.000000 0.117299 1100 | -0.702225 0.702226 0.117298 1101 | -0.499071 0.864416 0.060934 1102 | -0.705792 0.705794 0.060934 1103 | -0.499071 0.864416 0.060934 1104 | -0.702225 0.702226 0.117298 1105 | -0.496548 0.860047 0.117298 1106 | -0.959258 0.257033 0.117299 1107 | -0.998142 0.000001 0.060934 1108 | -0.993097 0.000000 0.117299 1109 | -0.998142 0.000001 0.060934 1110 | -0.959258 0.257033 0.117299 1111 | -0.964131 0.258339 0.060934 1112 | -0.860047 0.496549 0.117299 1113 | -0.964131 0.258339 0.060934 1114 | -0.959258 0.257033 0.117299 1115 | -0.964131 0.258339 0.060934 1116 | -0.860047 0.496549 0.117299 1117 | -0.864416 0.499071 0.060934 1118 | -0.702225 0.702226 0.117298 1119 | -0.864416 0.499071 0.060934 1120 | -0.860047 0.496549 0.117299 1121 | -0.864416 0.499071 0.060934 1122 | -0.702225 0.702226 0.117298 1123 | -0.705792 0.705794 0.060934 1124 | -0.375984 -0.907711 -0.186272 1125 | -0.322889 -0.779523 -0.536737 1126 | -0.254861 -0.951158 -0.174196 1127 | -0.322889 -0.779523 -0.536737 1128 | -0.221070 -0.825044 -0.520030 1129 | -0.254861 -0.951158 -0.174196 1130 | -0.000000 -0.000000 -1.000000 1131 | -0.065045 -0.242751 -0.967905 1132 | -0.068682 -0.165811 -0.983763 1133 | -0.068682 -0.165811 -0.983763 1134 | -0.000001 -0.000000 -1.000000 1135 | -0.000000 -0.000000 -1.000000 1136 | -0.228972 -0.552786 -0.801248 1137 | -0.068682 -0.165811 -0.983763 1138 | -0.065045 -0.242751 -0.967905 1139 | -0.228972 -0.552786 -0.801248 1140 | -0.065045 -0.242751 -0.967905 1141 | -0.164764 -0.614906 -0.771196 1142 | -0.228972 -0.552786 -0.801248 1143 | -0.221070 -0.825044 -0.520030 1144 | -0.322889 -0.779523 -0.536737 1145 | -0.221070 -0.825044 -0.520030 1146 | -0.228972 -0.552786 -0.801248 1147 | -0.164764 -0.614906 -0.771196 1148 | -0.254861 -0.951158 -0.174196 1149 | -0.257032 -0.959258 0.117299 1150 | -0.381983 -0.922193 0.060415 1151 | -0.254861 -0.951158 -0.174196 1152 | -0.381983 -0.922193 0.060415 1153 | -0.375984 -0.907711 -0.186272 1154 | -0.257032 0.959258 0.117298 1155 | -0.381983 0.922192 0.060414 1156 | -0.496548 0.860047 0.117298 1157 | -0.496548 0.860047 0.117298 1158 | -0.381983 0.922192 0.060414 1159 | -0.499071 0.864416 0.060934 1160 | -0.254861 0.951158 -0.174197 1161 | -0.322888 0.779523 -0.536738 1162 | -0.375985 0.907710 -0.186274 1163 | -0.322888 0.779523 -0.536738 1164 | -0.254861 0.951158 -0.174197 1165 | -0.221069 0.825043 -0.520031 1166 | -0.065045 0.242751 -0.967906 1167 | -0.228971 0.552787 -0.801248 1168 | -0.164763 0.614906 -0.771196 1169 | -0.228971 0.552787 -0.801248 1170 | -0.065045 0.242751 -0.967906 1171 | -0.068681 0.165810 -0.983763 1172 | -0.228971 0.552787 -0.801248 1173 | -0.322888 0.779523 -0.536738 1174 | -0.221069 0.825043 -0.520031 1175 | -0.221069 0.825043 -0.520031 1176 | -0.164763 0.614906 -0.771196 1177 | -0.228971 0.552787 -0.801248 1178 | -1.000000 0.000000 0.000000 1179 | -1.000000 0.000000 0.000000 1180 | -1.000000 0.000000 0.000000 1181 | -1.000000 0.000000 0.000000 1182 | -1.000000 0.000000 0.000000 1183 | -1.000000 0.000000 0.000000 1184 | 0.000000 0.000000 -1.000000 1185 | 0.000000 0.000000 -1.000000 1186 | 0.000000 0.000000 -1.000000 1187 | 0.000000 0.000000 -1.000000 1188 | 0.000000 0.000000 -1.000000 1189 | 0.000000 0.000000 -1.000000 1190 | -0.000000 -0.000000 -1.000000 1191 | -0.065045 0.242751 -0.967906 1192 | 0.000000 -0.000000 -1.000000 1193 | 0.000000 -0.000000 -1.000000 1194 | -0.065045 0.242751 -0.967906 1195 | -0.016497 0.242168 -0.970094 1196 | 0.065045 0.242751 -0.967906 1197 | 0.125657 0.217644 -0.967906 1198 | -0.000000 -0.000000 -1.000000 1199 | 0.125657 0.217644 -0.967906 1200 | 0.177706 0.177706 -0.967906 1201 | -0.000000 -0.000000 -1.000000 1202 | 0.177706 0.177706 -0.967906 1203 | 0.217644 0.125657 -0.967906 1204 | -0.000000 -0.000000 -1.000000 1205 | 0.217644 0.125657 -0.967906 1206 | 0.242751 0.065045 -0.967906 1207 | -0.000000 -0.000000 -1.000000 1208 | -0.016497 -0.242168 -0.970094 1209 | -0.000000 -0.000000 -1.000000 1210 | 0.016497 -0.242168 -0.970094 1211 | -0.000000 -0.000000 -1.000000 1212 | -0.016497 -0.242168 -0.970094 1213 | 0.000000 -0.000000 -1.000000 1214 | -0.000001 -0.000000 -1.000000 1215 | -0.068681 0.165810 -0.983763 1216 | -0.000000 -0.000000 -1.000000 1217 | -0.000000 -0.000000 -1.000000 1218 | -0.068681 0.165810 -0.983763 1219 | -0.065045 0.242751 -0.967906 1220 | -0.065045 -0.242751 -0.967905 1221 | 0.000000 -0.000000 -1.000000 1222 | -0.016497 -0.242168 -0.970094 1223 | 0.000000 -0.000000 -1.000000 1224 | -0.065045 -0.242751 -0.967905 1225 | -0.000000 -0.000000 -1.000000 1226 | 0.251314 0.000000 -0.967906 1227 | 0.242751 -0.065045 -0.967906 1228 | -0.000000 -0.000000 -1.000000 1229 | -0.000000 -0.000000 -1.000000 1230 | 0.217644 -0.125658 -0.967906 1231 | 0.177706 -0.177707 -0.967905 1232 | -0.000000 -0.000000 -1.000000 1233 | 0.177706 -0.177707 -0.967905 1234 | 0.125658 -0.217644 -0.967905 1235 | -0.000000 -0.000000 -1.000000 1236 | 0.125658 -0.217644 -0.967905 1237 | 0.065045 -0.242751 -0.967906 1238 | -0.000000 -0.000000 -1.000000 1239 | 0.065045 -0.242751 -0.967906 1240 | 0.016497 -0.242168 -0.970094 1241 | 0.242751 0.065045 -0.967906 1242 | 0.251314 0.000000 -0.967906 1243 | -0.000000 -0.000000 -1.000000 1244 | 0.242751 -0.065045 -0.967906 1245 | 0.217644 -0.125658 -0.967906 1246 | -0.000000 -0.000000 -1.000000 1247 | 0.000000 0.000000 1.000000 1248 | 0.000000 0.000000 1.000000 1249 | 0.000000 0.000000 1.000000 1250 | 0.000000 0.000000 1.000000 1251 | 0.000000 0.000000 1.000000 1252 | 0.000000 0.000000 1.000000 1253 | 0.000000 0.000000 1.000000 1254 | 0.000000 0.000000 1.000000 1255 | 0.000000 0.000000 1.000000 1256 | 0.000000 0.000000 1.000000 1257 | 0.000000 0.000000 1.000000 1258 | 0.000000 0.000000 1.000000 1259 | 0.000000 0.000000 1.000000 1260 | 0.000000 0.000000 1.000000 1261 | 0.000000 0.000000 1.000000 1262 | 0.000000 0.000000 1.000000 1263 | 0.000000 0.000000 1.000000 1264 | 0.000000 0.000000 1.000000 1265 | 0.000000 0.000000 1.000000 1266 | 0.000000 0.000000 1.000000 1267 | 0.000000 0.000000 1.000000 1268 | 0.000000 0.000000 1.000000 1269 | 0.000000 0.000000 1.000000 1270 | 0.000000 0.000000 1.000000 1271 | 0.000000 0.000000 1.000000 1272 | 0.000000 0.000000 1.000000 1273 | 0.000000 0.000000 1.000000 1274 | 0.000000 0.000000 1.000000 1275 | 0.000000 0.000000 1.000000 1276 | 0.000000 0.000000 1.000000 1277 | 0.000000 0.000000 1.000000 1278 | 0.000000 0.000000 1.000000 1279 | 0.000000 0.000000 1.000000 1280 | 0.000000 0.000000 1.000000 1281 | 0.000000 0.000000 1.000000 1282 | 0.000000 0.000000 1.000000 1283 | 0.000000 0.000000 1.000000 1284 | 0.000000 0.000000 1.000000 1285 | 0.000000 0.000000 1.000000 1286 | 0.000000 0.000000 1.000000 1287 | 0.000000 0.000000 1.000000 1288 | 0.000000 0.000000 1.000000 1289 | 0.000000 0.000000 1.000000 1290 | 0.000000 0.000000 1.000000 1291 | 0.000000 0.000000 1.000000 1292 | 0.000000 0.000000 1.000000 1293 | 0.000000 0.000000 1.000000 1294 | 0.000000 0.000000 1.000000 1295 | 0.000000 0.000000 1.000000 1296 | 0.000000 0.000000 1.000000 1297 | 0.000000 0.000000 1.000000 1298 | 0.000000 0.000000 1.000000 1299 | 0.000000 0.000000 1.000000 1300 | 0.000000 0.000000 1.000000 1301 | 0.000000 0.000000 1.000000 1302 | 0.000000 0.000000 1.000000 1303 | 0.000000 0.000000 1.000000 1304 | 0.000000 0.000000 1.000000 1305 | 0.000000 0.000000 1.000000 1306 | 0.000000 0.000000 1.000000 1307 | 0.000000 0.000000 1.000000 1308 | 0.000000 0.000000 1.000000 1309 | 0.000000 0.000000 1.000000 1310 | 0.000000 0.000000 1.000000 1311 | 0.000000 0.000000 1.000000 1312 | 0.000000 0.000000 1.000000 1313 | 0.000000 0.000000 1.000000 1314 | 0.000000 0.000000 1.000000 1315 | 0.000000 0.000000 1.000000 1316 | 0.000000 0.000000 1.000000 1317 | 0.000000 0.000000 1.000000 1318 | 0.000000 0.000000 1.000000 1319 | 0.000000 0.000000 1.000000 1320 | 0.000000 0.000000 1.000000 1321 | 0.000000 0.000000 1.000000 1322 | -1.000000 0.000000 0.000000 1323 | -1.000000 0.000000 0.000000 1324 | -1.000000 0.000000 0.000000 1325 | -1.000000 0.000000 0.000000 1326 | -1.000000 0.000000 0.000000 1327 | -1.000000 0.000000 0.000000 1328 | -1.000000 0.000000 0.000000 1329 | -1.000000 0.000000 0.000000 1330 | -1.000000 0.000000 0.000000 1331 | -1.000000 0.000000 0.000000 1332 | -1.000000 0.000000 0.000000 1333 | -1.000000 0.000000 0.000000 1334 | -1.000000 0.000000 0.000000 1335 | -1.000000 0.000000 0.000000 1336 | -1.000000 0.000000 0.000000 1337 | -1.000000 0.000000 0.000000 1338 | -1.000000 0.000000 0.000000 1339 | -1.000000 0.000000 0.000000 1340 | -1.000000 0.000000 0.000000 1341 | -1.000000 0.000000 0.000000 1342 | -1.000000 0.000000 0.000000 1343 | 0.000000 0.000000 -1.000000 1344 | 0.000000 0.000000 -1.000000 1345 | 0.000000 0.000000 -1.000000 1346 | 0.000000 0.000000 -1.000000 1347 | 0.000000 0.000000 -1.000000 1348 | -0.000000 0.000000 -1.000000 1349 | 0.000000 0.000000 -1.000000 1350 | 0.000000 0.000000 -1.000000 1351 | -0.000000 0.000000 -1.000000 1352 | 0.000000 0.000000 -1.000000 1353 | 0.000000 -0.000000 -1.000000 1354 | 0.000000 -0.000000 -1.000000 1355 | 0.000000 -0.000000 -1.000000 1356 | -0.000000 0.000000 -1.000000 1357 | 0.000000 0.000000 -1.000000 1358 | -0.000000 0.000000 -1.000000 1359 | -0.000000 0.000000 -1.000000 1360 | 0.000000 0.000000 -1.000000 1361 | -0.000000 0.000000 -1.000000 1362 | 0.000000 0.000000 -1.000000 1363 | -0.000000 0.000000 -1.000000 1364 | 0.000000 0.000000 -1.000000 1365 | 0.000000 -0.000000 -1.000000 1366 | 0.000000 0.000000 -1.000000 1367 | 0.000000 0.000000 -1.000000 1368 | -0.000000 0.000000 -1.000000 1369 | -0.000000 0.000000 -1.000000 1370 | -0.257032 0.959258 0.117298 1371 | -0.254861 0.951158 -0.174197 1372 | -0.381983 0.922192 0.060414 1373 | -0.381983 0.922192 0.060414 1374 | -0.254861 0.951158 -0.174197 1375 | -0.375985 0.907710 -0.186274 1376 | -0.381983 -0.922193 0.060415 1377 | -0.257032 -0.959258 0.117299 1378 | -0.496548 -0.860047 0.117299 1379 | -0.496548 -0.860047 0.117299 1380 | -0.499071 -0.864416 0.060934 1381 | -0.381983 -0.922193 0.060415 1382 | 0.064811 -0.990975 0.117335 1383 | 0.356623 -0.729085 0.584170 1384 | 0.581410 -0.717995 0.382681 1385 | 0.063662 -0.972920 0.222204 1386 | 0.356623 -0.729085 0.584170 1387 | 0.064811 -0.990975 0.117335 1388 | 0.000001 -0.974795 0.223101 1389 | 0.063662 -0.972920 0.222204 1390 | 0.063683 -0.960551 0.270716 1391 | -0.063683 -0.960551 0.270716 1392 | -0.063662 -0.972920 0.222204 1393 | -0.000001 -0.974795 0.223101 1394 | -0.063662 -0.972920 0.222204 1395 | -0.356624 -0.729085 0.584170 1396 | -0.000001 -0.974795 0.223101 1397 | -0.356624 -0.729085 0.584170 1398 | -0.112550 -0.692331 0.712748 1399 | -0.000001 -0.974795 0.223101 1400 | -0.483695 -0.646067 0.590454 1401 | 0.483694 -0.646067 0.590455 1402 | 0.142759 -0.666441 0.731762 1403 | -0.483695 -0.646067 0.590454 1404 | 0.142759 -0.666441 0.731762 1405 | -0.142759 -0.666441 0.731762 1406 | 0.483694 -0.646067 0.590455 1407 | -0.483695 -0.646067 0.590454 1408 | -0.687663 -0.667181 0.286337 1409 | 0.483694 -0.646067 0.590455 1410 | -0.687663 -0.667181 0.286337 1411 | 0.687663 -0.667181 0.286338 1412 | -0.009476 -0.998757 0.048936 1413 | -0.695358 -0.684494 0.218963 1414 | -0.064811 -0.990975 0.117335 1415 | -0.009476 -0.998757 0.048936 1416 | -0.064811 -0.990975 0.117335 1417 | -0.063813 -0.982400 -0.175549 1418 | 0.064811 -0.990975 0.117335 1419 | 0.695358 -0.684495 0.218963 1420 | 0.009476 -0.998757 0.048936 1421 | </float_array> 1422 | <technique_common> 1423 | <accessor source="#RealSense-Normal0-array" count="1140" stride="3"> 1424 | <param name="X" type="float"/> 1425 | <param name="Y" type="float"/> 1426 | <param name="Z" type="float"/> 1427 | </accessor> 1428 | </technique_common> 1429 | </source> 1430 | <source id="RealSense-UV0"> 1431 | <float_array id="RealSense-UV0-array" count="534"> 1432 | 0.693296 0.687552 1433 | 0.669989 0.767695 1434 | 0.672199 0.684044 1435 | 0.094549 0.611859 1436 | 0.094551 0.517808 1437 | 0.732948 0.517808 1438 | 0.732949 0.611859 1439 | 0.807967 0.803694 1440 | 0.787962 0.798543 1441 | 0.779974 0.436357 1442 | 0.757290 0.426961 1443 | 0.791850 0.767695 1444 | 0.812512 0.767695 1445 | 0.000500 0.000500 1446 | 0.028596 0.000500 1447 | 0.028596 0.047995 1448 | 0.000500 0.047995 1449 | 0.057100 0.000500 1450 | 0.057100 0.047995 1451 | 0.085935 0.000500 1452 | 0.085935 0.047995 1453 | 0.115021 0.000500 1454 | 0.115021 0.047995 1455 | 0.144293 0.000500 1456 | 0.144293 0.047995 1457 | 0.173691 0.000500 1458 | 0.173691 0.047995 1459 | 0.028596 0.123831 1460 | 0.000500 0.123831 1461 | 0.057100 0.123831 1462 | 0.085935 0.123831 1463 | 0.115021 0.123831 1464 | 0.144293 0.123831 1465 | 0.173691 0.123831 1466 | 0.028596 0.201028 1467 | 0.000500 0.201028 1468 | 0.057100 0.201028 1469 | 0.175792 0.412478 1470 | 0.146293 0.412478 1471 | 0.146293 0.365572 1472 | 0.175792 0.365572 1473 | 0.116809 0.412478 1474 | 0.116809 0.365572 1475 | 0.087410 0.412478 1476 | 0.087410 0.365572 1477 | 0.058169 0.412478 1478 | 0.058169 0.365572 1479 | 0.029171 0.412478 1480 | 0.029171 0.365572 1481 | 0.000500 0.412478 1482 | 0.000500 0.365572 1483 | 0.146293 0.298521 1484 | 0.175792 0.298521 1485 | 0.116809 0.298521 1486 | 0.087410 0.298521 1487 | 0.058169 0.298521 1488 | 0.029171 0.298521 1489 | 0.000500 0.298521 1490 | 0.146293 0.210509 1491 | 0.175792 0.210509 1492 | 0.116809 0.210509 1493 | 0.085935 0.201028 1494 | 0.115021 0.201028 1495 | 0.144293 0.201028 1496 | 0.173691 0.201028 1497 | 0.821144 0.000500 1498 | 0.780933 0.047995 1499 | 0.222794 0.047995 1500 | 0.185212 0.185087 1501 | 0.229350 0.093777 1502 | 0.213068 0.100852 1503 | 0.202379 0.123831 1504 | 0.788663 0.123831 1505 | 0.802891 0.185087 1506 | 0.770099 0.093777 1507 | 0.206763 0.114020 1508 | 0.786825 0.114020 1509 | 0.203344 0.113792 1510 | 0.199861 0.123831 1511 | 0.821144 0.201028 1512 | 0.215483 0.105693 1513 | 0.229607 0.101777 1514 | 0.768086 0.101777 1515 | 0.999500 0.000500 1516 | 0.999500 0.047995 1517 | 0.087410 0.210509 1518 | 0.058169 0.210509 1519 | 0.029171 0.210509 1520 | 0.000500 0.210509 1521 | 0.821858 0.365572 1522 | 0.821858 0.412478 1523 | 0.821858 0.298521 1524 | 0.821858 0.210509 1525 | 0.853383 0.365572 1526 | 0.853383 0.412478 1527 | 0.883009 0.365572 1528 | 0.883009 0.412478 1529 | 0.912581 0.365572 1530 | 0.912581 0.412478 1531 | 0.941717 0.365572 1532 | 0.941717 0.412478 1533 | 0.970537 0.365572 1534 | 0.970537 0.412478 1535 | 0.998909 0.365572 1536 | 0.998909 0.412478 1537 | 0.853383 0.298521 1538 | 0.883009 0.298521 1539 | 0.912581 0.298521 1540 | 0.941717 0.298521 1541 | 0.794583 0.837442 1542 | 0.776523 0.827475 1543 | 0.940969 0.658329 1544 | 0.912849 0.646682 1545 | 0.912849 0.435404 1546 | 0.940969 0.423756 1547 | 0.773135 0.866688 1548 | 0.758089 0.852519 1549 | 0.745193 0.889649 1550 | 0.734093 0.872236 1551 | 0.712622 0.904916 1552 | 0.705969 0.885290 1553 | 0.677668 0.912083 1554 | 0.970600 0.047995 1555 | 0.970600 0.000500 1556 | 0.941440 0.047995 1557 | 0.941440 0.000500 1558 | 0.912039 0.047995 1559 | 0.912039 0.000500 1560 | 0.882387 0.047995 1561 | 0.882387 0.000500 1562 | 0.852885 0.047995 1563 | 0.852885 0.000500 1564 | 0.821144 0.047995 1565 | 0.999500 0.123831 1566 | 0.970600 0.123831 1567 | 0.941440 0.123831 1568 | 0.912039 0.123831 1569 | 0.882387 0.123831 1570 | 0.852885 0.123831 1571 | 0.821144 0.123831 1572 | 0.851072 0.201028 1573 | 0.784627 0.098362 1574 | 0.791745 0.112207 1575 | 0.793993 0.123831 1576 | 0.780738 0.105693 1577 | 0.912039 0.182077 1578 | 0.970537 0.298521 1579 | 0.998909 0.298521 1580 | 0.850875 0.210509 1581 | 0.883009 0.239935 1582 | 0.912581 0.239935 1583 | 0.998909 0.239935 1584 | 0.970537 0.239935 1585 | 0.941717 0.239935 1586 | 0.853383 0.239935 1587 | 0.853352 0.210509 1588 | 0.882387 0.182077 1589 | 0.941440 0.182077 1590 | 0.970600 0.182077 1591 | 0.999500 0.182077 1592 | 0.852885 0.182077 1593 | 0.852803 0.201028 1594 | 0.675698 0.891362 1595 | 0.712621 0.630473 1596 | 0.705968 0.650100 1597 | 0.675697 0.644028 1598 | 0.677666 0.623307 1599 | 0.745192 0.645740 1600 | 0.734092 0.663153 1601 | 0.773134 0.668702 1602 | 0.758088 0.682870 1603 | 0.794583 0.697947 1604 | 0.776523 0.707914 1605 | 0.807967 0.731696 1606 | 0.787962 0.736848 1607 | 0.749946 0.789083 1608 | 0.752661 0.767696 1609 | 0.775052 0.767695 1610 | 0.771724 0.794330 1611 | 0.742033 0.808983 1612 | 0.761920 0.819446 1613 | 0.729102 0.826025 1614 | 0.745816 0.841052 1615 | 0.712591 0.839327 1616 | 0.725054 0.858193 1617 | 0.693296 0.847839 1618 | 0.700457 0.869356 1619 | 0.672199 0.851347 1620 | 0.673838 0.874292 1621 | 0.673838 0.661099 1622 | 0.700457 0.666034 1623 | 0.712591 0.696063 1624 | 0.725054 0.677197 1625 | 0.729102 0.709365 1626 | 0.745816 0.694338 1627 | 0.742033 0.726407 1628 | 0.761919 0.715943 1629 | 0.749946 0.746307 1630 | 0.771724 0.741060 1631 | 0.036402 0.644349 1632 | 0.036953 0.623416 1633 | 0.035135 0.661469 1634 | 0.033588 0.684132 1635 | 0.033118 0.767695 1636 | 0.035136 0.873922 1637 | 0.033589 0.851259 1638 | 0.036403 0.891041 1639 | 0.036955 0.911975 1640 | 0.004261 0.910417 1641 | 0.006081 0.889464 1642 | 0.004258 0.624976 1643 | 0.006079 0.645929 1644 | 0.007969 0.872072 1645 | 0.011863 0.849051 1646 | 0.011863 0.686340 1647 | 0.007969 0.663320 1648 | 0.003436 0.910223 1649 | 0.002898 0.888816 1650 | 0.000500 0.844993 1651 | 0.000586 0.767695 1652 | 0.011735 0.767695 1653 | 0.001869 0.870403 1654 | 0.003433 0.625170 1655 | 0.002896 0.646577 1656 | 0.001869 0.664990 1657 | 0.000500 0.690399 1658 | 0.094549 0.423756 1659 | 0.732949 0.423756 1660 | 0.757290 0.608655 1661 | 0.779974 0.599259 1662 | 0.799452 0.584312 1663 | 0.814399 0.564833 1664 | 0.823794 0.542150 1665 | 0.826999 0.517808 1666 | 0.823794 0.493465 1667 | 0.814399 0.470782 1668 | 0.799452 0.451303 1669 | 0.013100 0.470781 1670 | 0.028047 0.451303 1671 | 0.047525 0.436356 1672 | 0.070208 0.426960 1673 | 0.070208 0.608654 1674 | 0.047525 0.599259 1675 | 0.028047 0.584312 1676 | 0.013100 0.564833 1677 | 0.003705 0.542150 1678 | 0.000500 0.517808 1679 | 0.003705 0.493465 1680 | 0.887586 0.627297 1681 | 0.887586 0.454789 1682 | 0.868201 0.541043 1683 | 0.868201 0.602033 1684 | 0.856015 0.572614 1685 | 0.851859 0.541043 1686 | 0.856015 0.509471 1687 | 0.868201 0.480052 1688 | 0.858338 0.887682 1689 | 0.823977 0.650857 1690 | 0.823977 0.885431 1691 | 0.858338 0.648606 1692 | 0.877529 0.657753 1693 | 0.890982 0.669605 1694 | 0.901480 0.691751 1695 | 0.901479 0.844537 1696 | 0.890982 0.866683 1697 | 0.877529 0.878536 1698 | 0.901479 0.768144 1699 | </float_array> 1700 | <technique_common> 1701 | <accessor source="#RealSense-UV0-array" count="267" stride="2"> 1702 | <param name="S" type="float"/> 1703 | <param name="T" type="float"/> 1704 | </accessor> 1705 | </technique_common> 1706 | </source> 1707 | <vertices id="RealSense-VERTEX"> 1708 | <input semantic="POSITION" source="#RealSense-POSITION"/> 1709 | </vertices> 1710 | <triangles count="380" material="RealSense_ncl1_1"> 1711 | <input semantic="VERTEX" offset="0" source="#RealSense-VERTEX"/> 1712 | <input semantic="NORMAL" offset="1" source="#RealSense-Normal0"/> 1713 | <input semantic="TEXCOORD" offset="2" set="0" source="#RealSense-UV0"/> 1714 | <p> 10 0 14 14 1 16 11 2 13 14 3 16 10 4 14 13 5 15 9 6 17 13 7 15 10 8 14 13 9 15 9 10 17 15 11 18 8 12 19 15 13 18 9 14 17 15 15 18 8 16 19 16 17 20 7 18 21 17 19 22 8 20 19 8 21 19 17 22 22 16 23 20 6 24 23 18 25 24 7 26 21 7 27 21 18 28 24 17 29 22 5 30 25 19 31 26 6 32 23 6 33 23 19 34 26 18 35 24 3 36 38 21 37 40 4 38 37 21 39 40 3 40 38 20 41 39 2 42 41 20 43 39 3 44 38 20 45 39 2 46 41 22 47 42 1 48 43 22 49 42 2 50 41 22 51 42 1 52 43 23 53 44 0 54 45 24 55 46 1 56 43 1 57 43 24 58 46 23 59 44 12 60 47 25 61 48 0 62 45 0 63 45 25 64 48 24 65 46 11 66 49 14 67 50 12 68 47 12 69 47 14 70 50 25 71 48 27 72 28 14 73 16 13 74 15 13 75 15 26 76 27 27 77 28 26 78 27 13 79 15 15 80 18 15 81 18 28 82 29 26 83 27 28 84 29 15 85 18 16 86 20 16 87 20 29 88 30 28 89 29 16 90 20 30 91 31 29 92 30 30 93 31 16 94 20 17 95 22 17 96 22 31 97 32 30 98 31 31 99 32 17 100 22 18 101 24 18 102 24 32 103 33 31 104 32 32 105 33 18 106 24 19 107 26 34 108 52 21 109 40 20 110 39 20 111 39 33 112 51 34 113 52 33 114 51 20 115 39 22 116 42 22 117 42 35 118 53 33 119 51 35 120 53 22 121 42 23 122 44 23 123 44 36 124 54 35 125 53 23 126 44 37 127 55 36 128 54 37 129 55 23 130 44 24 131 46 24 132 46 38 133 56 37 134 55 38 135 56 24 136 46 25 137 48 25 138 48 27 139 57 38 140 56 27 141 57 25 142 48 14 143 50 47 144 0 188 145 1 46 146 2 26 147 27 53 148 35 27 149 28 53 150 35 26 151 27 52 152 34 28 153 29 52 154 34 26 155 27 52 156 34 28 157 29 54 158 36 29 159 30 54 160 36 28 161 29 54 162 36 29 163 30 55 164 61 30 165 31 56 166 62 29 167 30 29 168 30 56 169 62 55 170 61 31 171 32 57 172 63 30 173 31 30 174 31 57 175 63 56 176 62 32 177 33 58 178 64 31 179 32 31 180 32 58 181 64 57 182 63 33 183 51 60 184 59 34 185 52 60 186 59 33 187 51 59 188 58 35 189 53 59 190 58 33 191 51 59 192 58 35 193 53 61 194 60 36 195 54 61 196 60 35 197 53 61 198 60 36 199 54 62 200 85 37 201 55 63 202 86 36 203 54 36 204 54 63 205 86 62 206 85 38 207 56 64 208 87 37 209 55 37 210 55 64 211 87 63 212 86 27 213 57 53 214 88 38 215 56 38 216 56 53 217 88 64 218 87 53 219 12 65 220 8 66 221 11 65 222 8 53 223 12 52 224 7 52 225 7 67 226 110 65 227 8 67 228 110 52 229 7 54 230 109 68 231 116 54 232 109 55 233 115 54 234 109 68 235 116 67 236 110 55 237 115 56 238 117 68 239 116 56 240 117 69 241 118 68 242 116 56 243 117 57 244 119 69 245 118 57 246 119 70 247 120 69 248 118 57 249 119 58 250 121 70 251 120 58 252 121 71 253 162 70 254 120 60 255 166 72 256 164 73 257 165 72 258 164 60 259 166 59 260 163 59 261 163 74 262 168 72 263 164 74 264 168 59 265 163 61 266 167 75 267 170 61 268 167 62 269 169 61 270 167 75 271 170 74 272 168 62 273 169 63 274 171 75 275 170 63 276 171 76 277 172 75 278 170 63 279 171 64 280 173 76 281 172 64 282 173 77 283 174 76 284 172 64 285 173 53 286 12 77 287 174 53 288 12 66 289 11 77 290 174 79 291 178 40 292 175 78 293 177 40 294 175 39 295 176 78 296 177 40 297 175 80 298 180 41 299 179 80 300 180 40 301 175 79 302 178 41 303 179 81 304 182 42 305 181 81 306 182 41 307 179 80 308 180 42 309 181 82 310 184 43 311 183 82 312 184 42 313 181 81 314 182 43 315 183 83 316 186 44 317 185 83 318 186 43 319 183 82 320 184 83 321 186 84 322 188 45 323 187 83 324 186 45 325 187 44 326 185 85 327 189 47 328 0 46 329 2 47 330 0 85 331 189 86 332 190 86 333 190 48 334 191 47 335 0 48 336 191 86 337 190 87 338 192 88 339 194 48 340 191 87 341 192 48 342 191 88 343 194 49 344 193 89 345 196 49 346 193 88 347 194 49 348 193 89 349 196 50 350 195 90 351 198 50 352 195 89 353 196 50 354 195 90 355 198 51 356 197 78 357 177 51 358 197 90 359 198 51 360 197 78 361 177 39 362 176 66 363 11 65 364 8 79 365 178 66 366 11 79 367 178 78 368 177 65 369 8 67 370 110 80 371 180 80 372 180 79 373 178 65 374 8 80 375 180 68 376 116 81 377 182 68 378 116 80 379 180 67 380 110 68 381 116 82 382 184 81 383 182 82 384 184 68 385 116 69 386 118 70 387 120 82 388 184 69 389 118 82 390 184 70 391 120 83 392 186 71 393 162 83 394 186 70 395 120 83 396 186 71 397 162 84 398 188 73 399 165 72 400 164 86 401 190 73 402 165 86 403 190 85 404 189 72 405 164 74 406 168 87 407 192 87 408 192 86 409 190 72 410 164 88 411 194 74 412 168 75 413 170 74 414 168 88 415 194 87 416 192 75 417 170 76 418 172 89 419 196 75 420 170 89 421 196 88 422 194 77 423 174 89 424 196 76 425 172 89 426 196 77 427 174 90 428 198 66 429 11 90 430 198 77 431 174 90 432 198 66 433 11 78 434 177 91 435 67 106 436 65 155 437 66 5 438 25 106 439 65 91 440 67 189 441 4 190 442 5 106 443 6 189 444 4 106 445 6 5 446 3 21 447 40 107 448 90 4 449 37 107 450 90 21 451 40 121 452 89 34 453 52 121 454 89 21 455 40 121 456 89 34 457 52 134 458 91 60 459 59 134 460 91 34 461 52 134 462 91 60 463 59 146 464 92 73 465 165 149 466 199 60 467 166 146 468 200 60 469 166 149 470 199 85 471 189 154 472 201 73 473 165 149 474 199 73 475 165 154 476 201 46 477 2 154 478 201 85 479 189 154 480 201 46 481 2 141 482 202 185 483 203 46 484 2 188 485 1 46 486 2 185 487 203 141 488 202 152 489 204 45 490 187 84 491 188 45 492 187 152 493 204 142 494 205 148 495 206 84 496 188 71 497 162 84 498 188 148 499 206 152 500 204 156 501 207 71 502 162 58 503 121 71 504 162 156 505 207 148 506 206 32 507 33 93 508 68 58 509 64 95 510 70 19 511 26 91 512 67 95 513 70 91 514 67 94 515 69 97 516 71 162 517 72 157 518 73 97 519 71 157 520 73 93 521 68 160 522 74 91 523 67 155 524 66 91 525 67 160 526 74 94 527 69 99 528 75 164 529 76 162 530 72 99 531 75 162 532 72 97 533 71 96 534 77 92 535 78 32 536 33 157 537 73 58 538 64 93 539 68 58 540 64 157 541 73 156 542 79 93 543 68 92 544 78 97 545 71 99 546 75 92 547 78 96 548 77 92 549 78 99 550 75 97 551 71 100 552 80 96 553 77 95 554 70 96 555 77 100 556 80 99 557 75 94 558 69 98 559 81 95 560 70 95 561 70 98 562 81 100 563 80 165 564 82 94 565 69 160 566 74 94 567 69 165 568 82 98 569 81 109 570 9 190 571 5 108 572 10 101 573 123 114 574 84 115 575 122 114 576 84 101 577 123 112 578 83 115 579 122 102 580 125 101 581 123 102 582 125 115 583 122 116 584 124 116 585 124 103 586 127 102 587 125 103 588 127 116 589 124 117 590 126 118 591 128 104 592 129 103 593 127 103 594 127 117 595 126 118 596 128 119 597 130 105 598 131 104 599 129 104 600 129 118 601 128 119 602 130 120 603 132 106 604 65 105 605 131 105 606 131 119 607 130 120 608 132 108 609 94 121 610 89 122 611 93 121 612 89 108 613 94 107 614 90 122 615 93 109 616 96 108 617 94 109 618 96 122 619 93 123 620 95 123 621 95 110 622 98 109 623 96 110 624 98 123 625 95 124 626 97 125 627 99 111 628 100 110 629 98 110 630 98 124 631 97 125 632 99 126 633 101 113 634 102 111 635 100 111 636 100 125 637 99 126 638 101 114 639 103 112 640 104 113 641 102 113 642 102 126 643 101 114 644 103 114 645 84 127 646 133 115 647 122 115 648 122 127 649 133 128 650 134 115 651 122 128 652 134 116 653 124 116 654 124 128 655 134 129 656 135 116 657 124 129 658 135 117 659 126 117 660 126 129 661 135 130 662 136 117 663 126 131 664 137 118 665 128 131 666 137 117 667 126 130 668 136 118 669 128 132 670 138 119 671 130 132 672 138 118 673 128 131 674 137 119 675 130 133 676 139 120 677 132 133 678 139 119 679 130 132 680 138 121 681 89 134 682 91 122 683 93 122 684 93 134 685 91 135 686 105 122 687 93 135 688 105 123 689 95 123 690 95 135 691 105 136 692 106 123 693 95 136 694 106 124 695 97 124 696 97 136 697 106 137 698 107 124 699 97 138 700 108 125 701 99 138 702 108 124 703 97 137 704 107 125 705 99 139 706 146 126 707 101 139 708 146 125 709 99 138 710 108 126 711 101 127 712 147 114 713 103 127 714 147 126 715 101 139 716 146 132 717 138 156 718 79 133 719 139 156 720 79 132 721 138 144 722 140 135 723 105 146 724 92 145 725 148 146 726 92 135 727 105 134 728 91 147 729 209 156 730 207 144 731 208 156 732 207 147 733 209 148 734 206 146 735 200 150 736 211 145 737 210 150 738 211 146 739 200 149 740 199 151 741 212 142 742 205 152 743 204 142 744 205 151 745 212 143 746 213 141 747 202 153 748 215 154 749 201 153 750 215 141 751 202 140 752 214 148 753 206 151 754 212 152 755 204 151 756 212 148 757 206 147 758 209 149 759 199 153 760 215 150 761 211 153 762 215 149 763 199 154 764 201 120 765 132 133 766 139 159 767 141 159 768 141 133 769 139 161 770 142 161 771 142 133 772 139 158 773 143 157 774 73 162 775 72 158 776 143 161 777 142 158 778 143 164 779 76 164 780 76 158 781 143 162 782 72 163 783 144 159 784 141 161 785 142 163 786 144 161 787 142 164 788 76 160 789 74 159 790 141 165 791 82 159 792 141 163 793 144 165 794 82 130 795 136 166 796 156 131 797 137 166 798 156 130 799 136 168 800 145 130 801 136 169 802 157 168 803 145 169 804 157 130 805 136 129 806 135 129 807 135 170 808 158 169 809 157 170 810 158 129 811 135 128 812 134 128 813 134 171 814 159 170 815 158 171 816 159 128 817 134 127 818 133 137 819 107 173 820 149 172 821 150 173 822 149 137 823 107 136 824 106 139 825 146 171 826 151 127 827 147 171 828 151 139 829 146 175 830 152 138 831 108 175 832 152 139 833 146 175 834 152 138 835 108 176 836 153 137 837 107 176 838 153 138 839 108 176 840 153 137 841 107 172 842 150 177 843 216 179 844 217 144 845 208 179 846 217 147 847 209 144 848 208 187 849 220 143 850 213 178 851 218 178 852 218 186 853 219 187 854 220 180 855 221 178 856 218 143 857 213 180 858 221 143 859 213 151 860 212 180 861 221 147 862 209 179 863 217 147 864 209 180 865 221 151 866 212 144 867 140 132 868 138 167 869 160 144 870 140 167 871 160 177 872 161 135 873 105 174 874 154 136 875 106 136 876 106 174 877 154 173 878 149 145 879 210 183 880 223 181 881 222 183 882 223 145 883 210 150 884 211 140 885 214 184 886 224 153 887 215 184 888 224 140 889 214 182 890 225 184 891 224 183 892 223 150 893 211 150 894 211 153 895 215 184 896 224 167 897 258 174 898 257 181 899 259 167 900 258 181 901 259 177 902 256 167 903 111 173 904 113 174 905 114 173 906 113 167 907 111 166 908 112 187 909 220 140 910 214 185 911 203 185 912 203 140 913 214 141 914 202 47 915 0 48 916 191 188 917 1 48 918 191 49 919 193 188 920 1 49 921 193 50 922 195 188 923 1 50 924 195 51 925 197 188 926 1 142 927 205 188 928 1 45 929 187 188 930 1 142 931 205 185 932 203 186 933 219 182 934 225 187 935 220 187 936 220 182 937 225 140 938 214 143 939 213 185 940 203 142 941 205 185 942 203 143 943 213 187 944 220 39 945 176 40 946 175 188 947 1 188 948 1 41 949 179 42 950 181 188 951 1 42 952 181 43 953 183 188 954 1 43 955 183 44 956 185 188 957 1 44 958 185 45 959 187 51 960 197 39 961 176 188 962 1 40 963 175 41 964 179 188 965 1 107 966 227 189 967 4 4 968 226 189 969 4 107 970 227 190 971 5 105 972 228 106 973 6 190 974 5 104 975 229 105 976 228 190 977 5 103 978 230 104 979 229 190 980 5 102 981 231 103 982 230 190 983 5 101 984 232 102 985 231 190 986 5 112 987 233 101 988 232 190 989 5 113 990 234 112 991 233 190 992 5 111 993 235 113 994 234 190 995 5 110 996 236 111 997 235 190 998 5 109 999 9 110 1000 236 190 1001 5 190 1002 5 107 1003 227 108 1004 10 0 1005 237 1 1006 238 189 1007 4 1 1008 238 2 1009 239 189 1010 4 2 1011 239 3 1012 240 189 1013 4 3 1014 240 4 1015 226 189 1016 4 5 1017 3 6 1018 241 189 1019 4 6 1020 241 7 1021 242 189 1022 4 7 1023 242 8 1024 243 189 1025 4 8 1026 243 9 1027 244 189 1028 4 9 1029 244 10 1030 245 189 1031 4 10 1032 245 11 1033 246 189 1034 4 11 1035 246 12 1036 247 189 1037 4 12 1038 247 0 1039 237 189 1040 4 186 1041 266 184 1042 261 182 1043 262 180 1044 264 184 1045 261 186 1046 266 180 1047 264 186 1048 266 178 1049 263 183 1050 260 180 1051 264 179 1052 265 180 1053 264 183 1054 260 184 1055 261 177 1056 256 181 1057 259 183 1058 260 177 1059 256 183 1060 260 179 1061 265 173 1062 113 166 1063 112 168 1064 248 173 1065 113 168 1066 248 172 1067 249 168 1068 248 191 1069 250 172 1070 249 191 1071 250 169 1072 251 170 1073 252 170 1074 252 171 1075 253 191 1076 250 171 1077 253 175 1078 254 191 1079 250 176 1080 255 191 1081 250 175 1082 254 168 1083 248 169 1084 251 191 1085 250 191 1086 250 176 1087 255 172 1088 249 135 1089 105 145 1090 148 174 1091 154 174 1092 154 145 1093 148 181 1094 155 167 1095 160 132 1096 138 131 1097 137 131 1098 137 166 1099 156 167 1100 160 32 1101 33 95 1102 70 96 1103 77 19 1104 26 95 1105 70 32 1106 33 91 1107 67 19 1108 26 5 1109 25 106 1110 65 120 1111 132 155 1112 66 120 1113 132 159 1114 141 155 1115 66 159 1116 141 160 1117 74 155 1118 66 163 1119 144 100 1120 80 98 1121 81 163 1122 144 98 1123 81 165 1124 82 100 1125 80 163 1126 144 164 1127 76 100 1128 80 164 1129 76 99 1130 75 157 1131 73 158 1132 143 133 1133 139 157 1134 73 133 1135 139 156 1136 79 32 1137 33 92 1138 78 93 1139 68</p> 1715 | </triangles> 1716 | </mesh> 1717 | </geometry> 1718 | </library_geometries> 1719 | <library_visual_scenes> 1720 | <visual_scene id="realsense" name="realsense"> 1721 | <node name="RealSense" id="RealSense" sid="RealSense"> 1722 | <matrix sid="matrix">1.000000 0.000000 0.000000 0.000000 0.000000 -0.000000 -1.000000 0.000000 0.000000 1.000000 -0.000000 0.000000 0.000000 0.000000 0.000000 1.000000</matrix> 1723 | <instance_geometry url="#RealSense-lib"> 1724 | <bind_material> 1725 | <technique_common> 1726 | <instance_material symbol="RealSense_ncl1_1" target="#RealSense_ncl1_1"/> 1727 | </technique_common> 1728 | </bind_material> 1729 | </instance_geometry> 1730 | <extra> 1731 | <technique profile="FCOLLADA"> 1732 | <visibility>1.000000</visibility> 1733 | </technique> 1734 | </extra> 1735 | </node> 1736 | <extra> 1737 | <technique profile="MAX3D"> 1738 | <frame_rate>30.000000</frame_rate> 1739 | </technique> 1740 | <technique profile="FCOLLADA"> 1741 | <start_time>0.000000</start_time> 1742 | <end_time>3.333333</end_time> 1743 | </technique> 1744 | </extra> 1745 | </visual_scene> 1746 | </library_visual_scenes> 1747 | <scene> 1748 | <instance_visual_scene url="#realsense"/> 1749 | </scene> 1750 | </COLLADA> 1751 | -------------------------------------------------------------------------------- /src/start_creating_robots/worlds_and_models/krytn/realsense_d435.urdf.xacro: -------------------------------------------------------------------------------- 1 | <?xml version="1.0"?> 2 | <robot xmlns:xacro="http://wiki.ros.org/xacro"> 3 | 4 | <link name="realsense_d435"> 5 | <origin xyz="0.2 0 0.2" rpy="0 0 0" /> 6 | <collision name="collision"> 7 | <geometry> 8 | <mesh filename="file://$(find start_creating_robots)/worlds_and_models/krytn/meshes/realsense.dae" /> 9 | </geometry> 10 | </collision> 11 | <visual name= "visual"> 12 | <geometry> 13 | <mesh filename="file://$(find start_creating_robots)/worlds_and_models/krytn/meshes/realsense.dae"> 14 | <submesh> 15 | <name>RealSense</name> 16 | <center>false</center> 17 | </submesh> 18 | </mesh> 19 | </geometry> 20 | </visual> 21 | </link> 22 | 23 | <joint name="depth_camera_joint" type="fixed"> 24 | <parent link="base_footprint" /> 25 | <child link="realsense_d435" /> 26 | <origin rpy="0 0 0" xyz="0 0 0.6"/> 27 | </joint> 28 | 29 | <gazebo reference="realsense_d435"> 30 | 31 | <sensor name="realsense_d435" type="rgbd_camera"> 32 | <topic>realsense</topic> 33 | <ignition_frame_id>realsense_d435</ignition_frame_id> 34 | <update_rate>5</update_rate> 35 | <camera name="camera"> 36 | <horizontal_fov>0.5</horizontal_fov> 37 | <lens> 38 | <intrinsics> 39 | <!-- fx = fy = width / ( 2 * tan (hfov / 2 ) ) --> 40 | <fx>554.25469</fx> 41 | <fy>554.25469</fy> 42 | <!-- cx = ( width + 1 ) / 2 --> 43 | <cx>320.5</cx> 44 | <!-- cy = ( height + 1 ) / 2 --> 45 | <cy>240.5</cy> 46 | <s>0</s> 47 | </intrinsics> 48 | </lens> 49 | <distortion> 50 | <k1>0.0</k1> 51 | <k2>0.0</k2> 52 | <k3>0.0</k3> 53 | <p1>0.0</p1> 54 | <p2>0.0</p2> 55 | <center>0.5 0.5</center> 56 | </distortion> 57 | <image> 58 | <width>160</width> 59 | <height>120</height> 60 | <format>R8G8B8</format> 61 | </image> 62 | <clip> 63 | <near>0.01</near> 64 | <far>10</far> 65 | </clip> 66 | <depth_camera> 67 | <clip> 68 | <near>0.1</near> 69 | <far>10</far> 70 | </clip> 71 | </depth_camera> 72 | <noise> 73 | <type>gaussian</type> 74 | <mean>0</mean> 75 | <stddev>0.007</stddev> 76 | </noise> 77 | </camera> 78 | </sensor> 79 | </gazebo> 80 | 81 | </robot> --------------------------------------------------------------------------------