{"id":875,"date":"2022-02-07T08:35:36","date_gmt":"2022-02-07T07:35:36","guid":{"rendered":"https:\/\/med.upc.edu\/team4-2021\/?page_id=875"},"modified":"2022-05-18T10:00:47","modified_gmt":"2022-05-18T09:00:47","slug":"navigation-without-gps","status":"publish","type":"page","link":"https:\/\/med.upc.edu\/team4-2021\/navigation-without-gps\/","title":{"rendered":"Navigation without GPS"},"content":{"rendered":"\n<p class=\"has-text-align-center has-white-color has-vivid-cyan-blue-background-color has-text-color has-background has-large-font-size wp-block-paragraph\">Introduction<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this section we will talk about navigation systems based on optical technology as a source for positioning and navigation. This type of navigation is useful for those places where the satellite signal is not possible. In this work we will use two cameras, the Intel RealSense T256 and the Intel D435. Our group will use the D435, and as its name suggests, it uses RealSense technology. This tecnology uses three separate optical scanners, a 1080p high-definition optical camera, an infrared camera and an infrared laser projector, to read the environment around you. Working together, these three optical scanners can detect depth, detect human movement, and scan 3D objects with accuracy and precision. To meet diverse needs and use cases, this technology is further offered in two different applications: short-range and long-range.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">RealSense Short Range Camera \u2013 The RealSense Short Range Camera is ideal for home and office applications. It detects hand gestures and facial features, and can scan objects close to the camera. The RealSense Short Range Camera is best suited for indoor use at close range, making it perfect for the individual user who wants to explore new ways to interact with their device.<br>RealSense Long Range Camera \u2013 While the RealSens Short Range Camera is designed for indoor use at close range, the RealSense Long Range Camera is ideal for outdoor and indoor use at greater distances<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/image.jpeg\" alt=\"\" class=\"wp-image-889\" width=\"542\" height=\"232\" srcset=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/image.jpeg 343w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/image-300x129.jpeg 300w\" sizes=\"(max-width: 542px) 100vw, 542px\" \/><figcaption>Intel RealSense D435<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Protection against vibrations.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-fb5a17a1-86ce-413a-af09-7f03305544ef_WNoIDYDt17167-576x1024.jpeg\" alt=\"\" class=\"wp-image-1100\" width=\"439\" height=\"780\" srcset=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-fb5a17a1-86ce-413a-af09-7f03305544ef_WNoIDYDt17167-576x1024.jpeg 576w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-fb5a17a1-86ce-413a-af09-7f03305544ef_WNoIDYDt17167-169x300.jpeg 169w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-fb5a17a1-86ce-413a-af09-7f03305544ef_WNoIDYDt17167-768x1365.jpeg 768w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-fb5a17a1-86ce-413a-af09-7f03305544ef_WNoIDYDt17167-864x1536.jpeg 864w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-fb5a17a1-86ce-413a-af09-7f03305544ef_WNoIDYDt17167-1152x2048.jpeg 1152w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-fb5a17a1-86ce-413a-af09-7f03305544ef_WNoIDYDt17167-scaled.jpeg 1440w\" sizes=\"(max-width: 439px) 100vw, 439px\" \/><figcaption>We have decided to put a foam protector between the camera and the drone chassis and fasten it with a cable tie. The ideal would be to be able to manufacture with a 3D printer a protective case for the camera.<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Best location of the camera and protection against brivations.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-ffdd72a1-87d3-4538-adb1-0361a9243116_hKRO1tKy17166-1024x576.jpeg\" alt=\"\" class=\"wp-image-1099\" srcset=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-ffdd72a1-87d3-4538-adb1-0361a9243116_hKRO1tKy17166-1024x576.jpeg 1024w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-ffdd72a1-87d3-4538-adb1-0361a9243116_hKRO1tKy17166-300x169.jpeg 300w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-ffdd72a1-87d3-4538-adb1-0361a9243116_hKRO1tKy17166-768x432.jpeg 768w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-ffdd72a1-87d3-4538-adb1-0361a9243116_hKRO1tKy17166-1536x864.jpeg 1536w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/05\/processed-ffdd72a1-87d3-4538-adb1-0361a9243116_hKRO1tKy17166-2048x1152.jpeg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>@Francesc Sancho Capdevila, Final setup of the camera.<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-center has-white-color has-vivid-cyan-blue-background-color has-text-color has-background has-large-font-size wp-block-paragraph\">Objectives<\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-medium-font-size wp-block-paragraph\"><strong>1.Analysis of the location of the camera on the drone.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"tw-target-text\">As we have previously mentioned, the model we use in our project is the Hexsoon EDU450, this model is a quadcopter drone. This drone has been assembled in our classrooms and there is a link on our blog where you can find the assembly description.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/med.upc.edu\/team4-2021\/assembly\/\" data-type=\"URL\" data-id=\"https:\/\/med.upc.edu\/team4-2021\/assembly\/\">.https:\/\/med.upc.edu\/team4-2021\/assembly\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>HEXSOON EDU450<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/04\/image.jpeg\" alt=\"\" class=\"wp-image-974\" width=\"450\" height=\"253\" \/><figcaption><br><a href=\"https:\/\/rotorbuilds.com\/build\/24081\">https:\/\/rotorbuilds.com\/build\/24081<\/a><\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">It is important to note that we will use the camera for indoor navigation (distance detection) traking the objects and the depth of the frame (x,y and z position axis) and getting the objtect in 3D. Therefore seeing as much of the scene as possible is vitally important. With a range up to 10m the main problems we will face will be vibrations and interference from the drone&#8217;s propellers and chassis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"tw-target-text\">We believe that the best place to mount the camera on this particular drone is <strong>on the bottom<\/strong>, away from the propellers and out of the field of view of the chassis. Likewise, it would be interesting to be able to isolate the camera from vibrations by<strong> putting some kind of foam between the camera and the chassis to attenuate vibrations.<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/04\/image-9.png\" alt=\"\" class=\"wp-image-992\" width=\"284\" height=\"254\" srcset=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/04\/image-9.png 766w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/04\/image-9-300x268.png 300w\" sizes=\"(max-width: 284px) 100vw, 284px\" \/><figcaption>Camera at bottom of the central chassis<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-medium-font-size wp-block-paragraph\"><strong>2 Study of the state of the art on the use of the Intel RealSense T265\/D435 camera for navigation in drone applications<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Creation of a database with links to scientific articles, works, algorithms that can be used, videos\u2026etc.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>INDEX of articles, works and algorithms.<\/th><\/tr><\/thead><tbody><tr><td><strong>1.Article:Evaluation of the Intel RealSwesne T265&nbsp;for tracking natural human head motion<\/strong><\/td><\/tr><tr><td><strong>2.Article: Low cost indoor navigation system for drones<\/strong><\/td><\/tr><tr><td><strong>3.What is SLAM<\/strong>?<\/td><\/tr><tr><td><strong>4.SLAM Visual<\/strong><\/td><\/tr><tr><td><strong>5.SLAM with LIDAR<\/strong><\/td><\/tr><tr><td><strong>6.Algorithms<\/strong><\/td><\/tr><tr><td>              Kalman Filter<br>              Particle filters<br>              Covariance intersection<\/td><\/tr><tr><td><strong>7.Intel Movidius Myriad Vision Processing Unit<\/strong><\/td><\/tr><tr><td><strong>8.What is VPU?<\/strong><\/td><\/tr><tr><td><strong>9.How to install D435 camera, Windows and Linux. (Video)<\/strong><\/td><\/tr><tr><td><\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1.Article: Evaluation of the Intel RealSense T265&nbsp;for tracking natural human head motion<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Peter Hausamann, Christian B. Sinnott, Martin Daumer, Paul R. MacNeilageSci Rep.&nbsp;2021;&nbsp;11: 12486.&nbsp;Published online 2021 Jun 14.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><p><strong>.<\/strong>&#8220;<em>Accurate and robust tracking of natural human head motion in natural environments is important for a number of applications including virtual and augmented reality, clinical diagnostics, as well as basic scientific research. IMU provide a versatile solution for recording inertial data including linear acceleration and angular velocity, but reconstructing head position is difficult or impossible. This problem can be solved by incorporating visual data using a technique known as visual-inertial simultaneous localization and mapping (VI-SLAM). A recently released commercial solution, the&nbsp;Intel RealSense T265 , uses a proprietary VI-SLAM algorithm<\/em>&#8230;.&#8221;<\/p><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/?term=10.1038\/s41598-021-91861-5\">https:\/\/www.ncbi.nlm.nih.gov\/pmc\/?term=10.1038\/s41598-021-91861-5<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2.Article:<\/strong> <strong>Low cost indoor navigation system for drones<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GRAU EN ENGINYERIA DE SISTEMES AEROESPACIALS (Pla 2015).Lucas Millan, Sergi.Premi HEMAV 2019 al millor TFM. <strong>Materias<\/strong><a href=\"https:\/\/upcommons.upc.edu\/browse?value=Drone%20aircraft--Control%20systems&amp;type=subject\"> Drone aircraft&#8211;Control systems<\/a>,&nbsp;<a href=\"https:\/\/upcommons.upc.edu\/browse?value=Navigation%20(Aeronautics)&amp;type=subject\">Navigation (Aeronautics)<\/a>,&nbsp;<a href=\"https:\/\/upcommons.upc.edu\/browse?value=Sistema%20de%20posicionament%20global&amp;type=subject\">Sistema de posicionament global<\/a>,&nbsp;<a href=\"https:\/\/upcommons.upc.edu\/browse?value=Avions%20no%20tripulats&amp;type=subject\">Avions no tripulats<\/a>,&nbsp;<a href=\"https:\/\/upcommons.upc.edu\/browse?value=navegacio&amp;type=subject\">navegaci<\/a>\u00f3.<\/p>\n\n\n<p>&#8220;<em>The final degree project is based on the design of a low cost navigation system for indoor environments that is able to use in a drone<\/em>&#8230;&#8221;<\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/upcommons.upc.edu\/handle\/2117\/172816\">https:\/\/upcommons.upc.edu\/handle\/2117\/172816<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3.What is SLAM?<\/strong><\/p>\n\n\n<p><em>&#8220;Simultaneous localization and mapping&nbsp;(SLAM) is the&nbsp;<a title=\"Computational problem\" href=\"https:\/\/en.wikipedia.org\/wiki\/Computational_problem\">computational problem<\/a>&nbsp;of constructing or updating a&nbsp;<a title=\"Map\" href=\"https:\/\/en.wikipedia.org\/wiki\/Map\">map<\/a>&nbsp;of an unknown environment while simultaneously keeping track of an&nbsp;<a title=\"Intelligent agent\" href=\"https:\/\/en.wikipedia.org\/wiki\/Intelligent_agent\">agent<\/a>&#8216;s location within it&#8230;.there are several <a title=\"Algorithm\" href=\"https:\/\/en.wikipedia.org\/wiki\/Algorithm\">algorithms<\/a>&nbsp;known for solving it, at least approximately, in tractable time for certain environments. Popular approximate solution methods include the&nbsp;<a title=\"Particle filter\" href=\"https:\/\/en.wikipedia.org\/wiki\/Particle_filter\">particle filter<\/a>, extended&nbsp;<a title=\"Kalman filter\" href=\"https:\/\/en.wikipedia.org\/wiki\/Kalman_filter\">Kalman filter<\/a>, covariance intersection, and&nbsp;<a title=\"GraphSLAM\" href=\"https:\/\/en.wikipedia.org\/wiki\/GraphSLAM\">GraphSLAM<\/a>. SLAM algorithms are based on concepts in&nbsp;<a title=\"Computational geometry\" href=\"https:\/\/en.wikipedia.org\/wiki\/Computational_geometry\">computational geometry<\/a>&nbsp;and&nbsp;<a title=\"Computer vision\" href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_vision\">computer vision<\/a>, and are used in&nbsp;<a title=\"Robot navigation\" href=\"https:\/\/en.wikipedia.org\/wiki\/Robot_navigation\">robot navigation<\/a>,&nbsp;<a title=\"Robotic mapping\" href=\"https:\/\/en.wikipedia.org\/wiki\/Robotic_mapping\">robotic mapping<\/a>&nbsp;and&nbsp;<a title=\"Odometry\" href=\"https:\/\/en.wikipedia.org\/wiki\/Odometry\">odometry<\/a>&nbsp;for&nbsp;<a title=\"Virtual reality\" href=\"https:\/\/en.wikipedia.org\/wiki\/Virtual_reality\">virtual reality<\/a>&nbsp;or&nbsp;<a title=\"Augmented reality\" href=\"https:\/\/en.wikipedia.org\/wiki\/Augmented_reality\">augmented reality<\/a>.<\/em><\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Simultaneous_localization_and_mapping\">Source: <em>https:\/\/en.wikipedia.org\/wiki\/Simultaneous_localization_and_mapping<\/em><\/a><\/p>\n<p>In other words, SLAM calculates an estimate position&nbsp; of the object and its surroundings by taking data from sensors, in this case the camera. Thanks to the use of a series of algorithms, SLAM obtains estimation data of the posterior probability function for the pose of the drone or robot and for the parameters of the map.<\/p>\n\n\n<p class=\"wp-block-paragraph\"><strong>4.VSLAM, SLAM visual<\/strong><\/p>\n\n\n<p><em>As its name suggests, visual SLAM (or vSLAM) uses images captured by cameras and other image sensors. Visual SLAM can use simple cameras (with wide angle, fisheye and spherical lenses), compound eye cameras (stereoscopic and multi-camera cameras) and RGB-D cameras (TOF and depth cameras).<\/em><\/p>\n<p><em>Visual SLAM can be implemented at low cost with relatively inexpensive cameras. Also, since cameras provide a large volume of information, they can be used to detect landmarks (previously measured positions). Landmark detection can also be combined with graph-based optimization, providing flexibility in SLAM implementation.<\/em><\/p>\n<p><em>We speak of monocular SLAM when vSLAM uses a<strong> single camera as the only sensor,<\/strong> which is a challenge when defining depth. This can be resolved by detecting AR markers, boards, or other known objects in the image for localization, or <strong>by merging the camera information with another sensor,<\/strong> <strong>such as inertial measurement units (IMUs),<\/strong> which can measure physical quantities such as speed and orientation. Technologies related to vSLAM include Structure from Motion (SfM), Visual Odometry, and Packet Tuning.<\/em>&#8220;<\/p>\n\n\n<p class=\"wp-block-paragraph\"><strong>5.SLAM with LIDAR<\/strong><\/p>\n\n\n<p><em>&#8220;LiDAR, light detection and distance, is a method that primarily uses a laser sensor (or distance sensor).Compared to cameras, TOF and other sensors, lasers are significantly more precise and are used for applications in high-speed moving vehicles such as self-driving cars and drones. The output values \u200b\u200bof laser sensors are generally 2D (x, y) or 3D (x, y, z) point cloud data. The laser sensor point cloud provides highly accurate distance measurements and is very effective for SLAM mapping. Motion is typically estimated sequentially by identifying correspondences between point clouds. The calculated movement (distance traveled) is used to locate the vehicle. For the identification of LiDAR point cloud correspondences, registration algorithms such as the Iterative Nearest Point (ICP) and Normal Distribution Transform (NDT) algorithms are used. 2D or 3D point cloud maps can be represented as a grid map or a voxel map<\/em>&#8220;<\/p>\n\n\n<p class=\"wp-block-paragraph\">Source: <a href=\"https:\/\/es.mathworks.com\/discovery\/slam.html\">https:\/\/es.mathworks.com\/discovery\/slam.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6.Algorithms <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;<em>Kalman filtering, also known as&nbsp;linear quadratic estimation&nbsp;(LQE), is an algorithm&nbsp;that uses a series of measurements observed over time, including statistical noise&nbsp;and other inaccuracies, and produces estimates of unknown variables that tend to be more accurate than those based on a single measurement alone, by estimating a joint probability distribution&nbsp;over the variables for each timeframe. The filter is named after&nbsp;Rduolf Kalman, who was one of the primary developers of its theory.<\/em>&#8220;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Source: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Kalman_filter\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Kalman_filter\">https:\/\/en.wikipedia.org\/wiki\/Kalman_filter<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>&#8220;Particle filters,&nbsp;or&nbsp;sequential Monte Carlo&nbsp;methods, are a set of&nbsp;algorithms used to solve&nbsp;filtering problems arising in&nbsp;signal processing&nbsp;and&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Bayesian_inference\">Bayesian statistical inference<\/a>. The filtering problem&nbsp;consists of estimating the internal states in&nbsp;dynamical systems when partial observations are made, and random perturbations are present in the sensors as well as in the dynamical system.&#8221;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Source: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Particle_filter\">https:\/\/en.wikipedia.org\/wiki\/Particle_filter<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;<em>Covariance intersection&nbsp;is an&nbsp;algorithm for combining two or more estimates of state variable&nbsp;in a Kalman filter&nbsp;when the correlation between them is unknow<\/em>&#8220;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Source:<a href=\"https:\/\/en.wikipedia.org\/wiki\/Covariance_intersection\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Covariance_intersection\">https:\/\/en.wikipedia.org\/wiki\/Covariance_intersection<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>7.Intel Movidius Myriad Vision Processing Unit<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Intel Movidius VPUs enables demanding computer vision and edge AI workloads with efficiency. By coupling highly parallel programmable compute with workload-specific hardware acceleration in a unique architecture that minimizes data movement, Movidius VPUs achieve a balance of power efficiency and compute performance. VPU technology enables intelligent cameras, edge servers and AI appliances with&nbsp;deep neural network and computer vision based applications in areas such as visual retail, security and safety, and industrial automation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/image-1.jpeg\" alt=\"\" class=\"wp-image-901\" width=\"375\" height=\"231\" \/><figcaption><a href=\"https:\/\/newsroom.intel.com\/press-kits\/movidius-myriad-x-vpu\/#gs.okh9ml\">https:\/\/newsroom.intel.com\/press-kits\/movidius-myriad-x-vpu\/#gs.okh9ml<\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>8<\/strong>.<strong>What is VPU technology?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A&nbsp;vision processing unit&nbsp;(VPU) is an emerging class of microprocessor; it is a specific type of AI accelerator, designed to accelerate machine vision tasks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>9.How to install D435 camera, Windows and Linux.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"How to setup and install the Intel Realsense Depth Camera?\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/okAsTDcDlpo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption><a href=\"https:\/\/www.youtube.com\/watch?v=okAsTDcDlpo\" data-type=\"URL\" data-id=\"https:\/\/www.youtube.com\/watch?v=okAsTDcDlpo\">https:\/\/www.youtube.com\/watch?v=okAsTDcDlpo<\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-medium-font-size wp-block-paragraph\"><strong>3.Establish communication with the Intel RealSense T265\/D435 camera.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Steps. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To be able to communicate with the cameras, Intel has created a software development kit (SDK), Its name is Intel RealSense 2.0 SDK. From my Virtual Machine (Oracle VM) I have searched the web for the SDK 2.0 software and I have downloaded it into my VMachine (Linux).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/IntelRealSense\/librealsense\">https:\/\/github.com\/IntelRealSense\/librealsense<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/2022-02-10-1024x576.png\" alt=\"\" class=\"wp-image-915\" width=\"404\" height=\"226\" srcset=\"https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/2022-02-10-1024x576.png 1024w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/2022-02-10-300x169.png 300w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/2022-02-10-768x432.png 768w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/2022-02-10-1536x864.png 1536w, https:\/\/med.upc.edu\/team4-2021\/wp-content\/uploads\/sites\/5\/2022\/02\/2022-02-10.png 1920w\" sizes=\"(max-width: 404px) 100vw, 404px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once found and downloaded, we install the python libraries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>&#8220;Python Wrapper for Intel Real Sense 2.0, provides the C++ to python binding required to access the SDK&#8221;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-medium-font-size wp-block-paragraph\"><strong>4. Send the data received from the camera D435 to the controller<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After installing everything required we tried to run the code (dronbot) but it appears that the variable pose is NULL. After researching, we came to this <a href=\"https:\/\/github.com\/IntelRealSense\/librealsense\/issues\/10408\" data-type=\"URL\" data-id=\"https:\/\/github.com\/IntelRealSense\/librealsense\/issues\/10408\">github pos<\/a>t, where it is explained that stream pose is only accessible for T265 cameras, and that it is a mode not supported in 400 series cameras.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># dronbot First import the library\nimport pyrealsense2 as rs\n\n# Create a context object. This object owns the handles to all connected realsense devices\npipe = rs.pipeline()\n\n# Build config object and request pose data\ncfg = rs.config()\ncfg.enable_stream(rs.stream.depth, 1280, 720, rs.format.z16, 6)\n# Start streaming with requested config\npipe.start(cfg)\n\ntry:\n    while True:\n        # Create a pipeline object. This object configures the streaming camera and owns it's handle\n        frames = pipe.wait_for_frames()\n        depth = frames.get_depth_frame()\n        \n        print(depth)\n        pose = frames.get_pose_frame()\n        print(pose)\n        if pose:\n            # Print some of the pose data to the terminal\n            data = pose.get_pose_data()\n            print(\"Frame #{}\".format(pose.frame_number))\n            print(\"Position: {}\".format(data.translation))\n            print(\"Velocity: {}\".format(data.velocity))\n            print(\"Acceleration: {}\\n\".format(data.acceleration))\n            print(\"Rotation: {}\\n\".format(data.rotation))\nfinally:\n    pipe.stop()\n<\/pre>\n\n\n\n<p class=\"has-vivid-red-color has-text-color wp-block-paragraph\"><strong>That is, the variables translocation, velocity, rotation, and so on. Calculations are not available on this camera.<\/strong><\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-medium-font-size wp-block-paragraph\"><strong>5.Configure the controller to navigate without GPS.Adjust the Kalman filter to optimise navigation<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before starting, it is important to review to remember what is the Kalman filter and what problem can we solve with this algorithm.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is a Kalman filter applied to a vehicle and how does it work? A Kalman filter is an algorithm used to estimate the variables of a system based on measurements with noise. What this algorithm does is calculate the different probabilities of the state of the system, subsequently superimposing them with the different measurements taking into account their added noise component. That is why the Kalman filter is perfect for using embedded systems where the sensors, to collect information from the environment, have a lot of noise.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Kalman filter can be separated into two main steps:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>prediction<\/strong> where, based on the previous state of the system and the equations that govern its evolution, we are going to predict the current state.<br>The second part is the <strong>correction<\/strong>, part in which, with the measurement data from the sensors, we correct the first prediction.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this section we will talk about navigation systems based on optical technology as a source for positioning and navigation. This type of navigation is useful for those places where the satellite signal is not possible. In this work we will use two cameras, the Intel RealSense T256 and the Intel D435. Our group [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-875","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/med.upc.edu\/team4-2021\/wp-json\/wp\/v2\/pages\/875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/med.upc.edu\/team4-2021\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/med.upc.edu\/team4-2021\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/med.upc.edu\/team4-2021\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/med.upc.edu\/team4-2021\/wp-json\/wp\/v2\/comments?post=875"}],"version-history":[{"count":51,"href":"https:\/\/med.upc.edu\/team4-2021\/wp-json\/wp\/v2\/pages\/875\/revisions"}],"predecessor-version":[{"id":1101,"href":"https:\/\/med.upc.edu\/team4-2021\/wp-json\/wp\/v2\/pages\/875\/revisions\/1101"}],"wp:attachment":[{"href":"https:\/\/med.upc.edu\/team4-2021\/wp-json\/wp\/v2\/media?parent=875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}