{"id":6349,"date":"2022-05-31T09:25:21","date_gmt":"2022-05-31T01:25:21","guid":{"rendered":"https:\/\/blog.iyatt.com\/?p=6349"},"modified":"2024-05-05T14:18:54","modified_gmt":"2024-05-05T06:18:54","slug":"%e4%b9%90%e8%a7%86%e4%bd%93%e6%84%9f%e7%9b%b8%e6%9c%ba","status":"publish","type":"post","link":"https:\/\/blog.iyatt.com\/?p=6349","title":{"rendered":"Jetson Nano + ROS + \u4e50\u89c6\u4f53\u611f\u76f8\u673a\u89c6\u89c9 SLAM"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">\u76ee\u5f55<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blog.iyatt.com\/?p=6349\/#%E7%82%B9%E4%BA%91%E5%9B%BE\" >\u70b9\u4e91\u56fe<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blog.iyatt.com\/?p=6349\/#SLAM\" >SLAM<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>\u6d4b\u8bd5\u73af\u5883\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Jetson Nano - JP 4.6 (Ubuntu 18.04 arm64)\n\u4e50\u89c6\u4e09\u5408\u4e00\u4f53\u611f\u6444\u50cf\u5934 LeTMC-520\uff08\u5bf9\u7b49 Orbbec 3D Astra Pro \u76f8\u673a\uff09<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"914\" height=\"899\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-40.png\" alt=\"\" class=\"wp-image-6638 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-40.png 914w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-40-300x295.png 300w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-40-768x755.png 768w\" data-sizes=\"(max-width: 914px) 100vw, 914px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 914px; --smush-placeholder-aspect-ratio: 914\/899;\" \/><\/figure>\n\n\n\n<p>1.\u5b89\u88c5 ROS\uff0c\u7167\u7740\u5b98\u65b9\u6559\u7a0b\u8d70\u5c31\u884c\uff1a<a rel=\"noreferrer noopener\" href=\"http:\/\/wiki.ros.org\/cn\/melodic\/Installation\/Ubuntu\" target=\"_blank\">http:\/\/wiki.ros.org\/cn\/melodic\/Installation\/Ubuntu<\/a>\uff08\u5b89\u88c5\u684c\u9762\u5b8c\u6574\u7248\uff09<\/p>\n\n\n\n<p>2.\u5b89\u88c5\u76f8\u673a\u9a71\u52a8 astra_camera_ros\uff0c\u8ddf\u7740\u9879\u76ee\u4e3b\u9875\u7684\u8bf4\u660e\u64cd\u4f5c\uff1a<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/orbbec\/ros_astra_camera\" target=\"_blank\">https:\/\/github.com\/orbbec\/ros_astra_camera<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E7%82%B9%E4%BA%91%E5%9B%BE\"><\/span>\u70b9\u4e91\u56fe<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>1.\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6<\/p>\n\n\n\n<p>\u5c06\u76f8\u673a\u63d2\u5230 Jetson Nano\u4e0a\uff0c\u6267\u884c\u547d\u4ee4\u67e5\u8be2\u8bbe\u5907\u53f7<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">lsusb<\/pre>\n\n\n\n<p>502 \u662f\u5f69\u8272\u76f8\u673a\uff08\u8bb0\u4f4f\uff09\uff0c403 \u662f\u6df1\u5ea6\u76f8\u673a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"518\" height=\"228\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-96.png\" alt=\"\" class=\"wp-image-6374 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-96.png 518w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-96-300x132.png 300w\" data-sizes=\"(max-width: 518px) 100vw, 518px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 518px; --smush-placeholder-aspect-ratio: 518\/228;\" \/><\/figure>\n\n\n\n<p>\u7f16\u8f91 <strong>~\/catkin_ws\/src\/ros_astra_camera\/launch\/astrapro.launch<\/strong>\uff0c\u627e\u5230 <strong>name=&#8221;product&#8221;<\/strong> \u7684\u4f4d\u7f6e\uff0c\u5c06 value \u6539\u4e3a\u4e0a\u9762\u67e5\u8be2\u5230\u7684\u5f69\u8272\u76f8\u673a\u7684\u8bbe\u5907\u53f7<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"410\" height=\"187\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-97.png\" alt=\"\" class=\"wp-image-6375 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-97.png 410w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-97-300x137.png 300w\" data-sizes=\"(max-width: 410px) 100vw, 410px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 410px; --smush-placeholder-aspect-ratio: 410\/187;\" \/><\/figure>\n\n\n\n<p>\u7136\u540e\u521b\u5efa\u70b9\u4e91\u56fe\u914d\u7f6e\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir -p ~\/catkin_ws\/src\/rviz\ntouch ~\/catkin_ws\/src\/rviz\/depth_camera.rviz<\/pre>\n\n\n\n<p>\u7f16\u8f91 <strong>~\/catkin_ws\/src\/rviz\/depth_camera.rviz<\/strong>\uff0c\u5199\u5165\u5982\u4e0b\u5185\u5bb9<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Panels:\n  - Class: rviz\/Displays\n    Help Height: 88\n    Name: Displays\n    Property Tree Widget:\n      Expanded:\n        - \/Global Options1\n        - \/Status1\n        - \/Grid1\n        - \/PointCloud21\n      Splitter Ratio: 0.5\n    Tree Height: 453\n  - Class: rviz\/Selection\n    Name: Selection\n  - Class: rviz\/Tool Properties\n    Expanded:\n      - \/2D Pose Estimate1\n      - \/2D Nav Goal1\n      - \/Publish Point1\n    Name: Tool Properties\n    Splitter Ratio: 0.588679016\n  - Class: rviz\/Views\n    Expanded:\n      - \/Current View1\n    Name: Views\n    Splitter Ratio: 0.5\n  - Class: rviz\/Time\n    Experimental: false\n    Name: Time\n    SyncMode: 0\n    SyncSource: PointCloud2\nVisualization Manager:\n  Class: \"\"\n  Displays:\n    - Alpha: 0.5\n      Cell Size: 1\n      Class: rviz\/Grid\n      Color: 159; 147; 147\n      Enabled: true\n      Line Style:\n        Line Width: 0.0299999993\n        Value: Lines\n      Name: Grid\n      Normal Cell Count: 0\n      Offset:\n        X: 0\n        Y: 0\n        Z: 0\n      Plane: XZ\n      Plane Cell Count: 10\n      Reference Frame: camera_depth_optical_frame\n      Value: true\n    - Alpha: 1\n      Autocompute Intensity Bounds: true\n      Autocompute Value Bounds:\n        Max Value: 8.875\n        Min Value: 1.28500009\n        Value: true\n      Axis: X\n      Channel Name: intensity\n      Class: rviz\/PointCloud2\n      Color: 255; 255; 255\n      Color Transformer: AxisColor\n      Decay Time: 0\n      Enabled: true\n      Invert Rainbow: false\n      Max Color: 255; 255; 255\n      Max Intensity: 4096\n      Min Color: 0; 0; 0\n      Min Intensity: 0\n      Name: PointCloud2\n      Position Transformer: XYZ\n      Queue Size: 10\n      Selectable: true\n      Size (Pixels): 3\n      Size (m): 0.00999999978\n      Style: Squares\n      Topic: \/camera\/depth\/points\n      Unreliable: false\n      Use Fixed Frame: true\n      Use rainbow: true\n      Value: true\n  Enabled: true\n  Global Options:\n    Background Color: 48; 48; 48\n    Default Light: true\n    Fixed Frame: camera_depth_frame\n    Frame Rate: 30\n  Name: root\n  Tools:\n    - Class: rviz\/Interact\n      Hide Inactive Objects: true\n    - Class: rviz\/MoveCamera\n    - Class: rviz\/Select\n    - Class: rviz\/FocusCamera\n    - Class: rviz\/Measure\n    - Class: rviz\/SetInitialPose\n      Topic: \/initialpose\n    - Class: rviz\/SetGoal\n      Topic: \/move_base_simple\/goal\n    - Class: rviz\/PublishPoint\n      Single click: true\n      Topic: \/clicked_point\n  Value: true\n  Views:\n    Current:\n      Class: rviz\/Orbit\n      Distance: 7.51409006\n      Enable Stereo Rendering:\n        Stereo Eye Separation: 0.0599999987\n        Stereo Focal Distance: 1\n        Swap Stereo Eyes: false\n        Value: false\n      Focal Point:\n        X: 2.80641723\n        Y: -0.0263374168\n        Z: -0.295807391\n      Focal Shape Fixed Size: true\n      Focal Shape Size: 0.0500000007\n      Invert Z Axis: false\n      Name: Current View\n      Near Clip Distance: 0.00999999978\n      Pitch: 0.305203468\n      Target Frame: &lt;Fixed Frame>\n      Value: Orbit (rviz)\n      Yaw: 3.89040422\n    Saved: ~\nWindow Geometry:\n  Displays:\n    collapsed: false\n  Height: 744\n  Hide Left Dock: false\n  Hide Right Dock: true\n  QMainWindow State: 000000ff00000000fd00000004000000000000016a0000025efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f0070006500720074006900650073020000019b000001b500000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c00610079007301000000280000025e000000d700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000001a9000001430000000000000000000000010000010f000002c4fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000028000002c4000000ad00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005150000003efc0100000002fb0000000800540069006d00650100000000000005150000030000fffffffb0000000800540069006d00650100000000000004500000000000000000000003a50000025e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000\n  Selection:\n    collapsed: false\n  Time:\n    collapsed: false\n  Tool Properties:\n    collapsed: false\n  Views:\n    collapsed: true\n  Width: 1301\n  X: 65\n  Y: 24<\/pre>\n\n\n\n<p>2.\u67e5\u770b\u70b9\u4e91\u56fe<\/p>\n\n\n\n<p>\u542f\u52a8\u76f8\u673a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u5237\u65b0\u73af\u5883\necho \"source ~\/catkin_ws\/devel\/setup.bash\" >> ~\/.bashrc\nsource ~\/.bashrc\n\n# \u542f\u52a8\nroslaunch astra_camera astrapro.launch<\/pre>\n\n\n\n<p>\u53e6\u5916\u6253\u5f00\u4e00\u4e2a\u7ec8\u7aef\u542f\u52a8 rviz<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">rosrun rviz rviz -d \/home\/yx\/catkin_ws\/src\/rviz\/depth_camera.rviz<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"760\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-98-1024x760.png\" alt=\"\" class=\"wp-image-6376 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-98-1024x760.png 1024w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-98-300x223.png 300w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-98-768x570.png 768w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-98.png 1071w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/760;\" \/><\/figure>\n\n\n\n<p>\u73b0\u5728\u663e\u793a\u7684\u5c31\u662f\u626b\u63cf\u7684\u70b9\u4e91\u56fe\uff08\u6df1\u5ea6\u76f8\u673a\u91c7\u96c6\u7684\u6570\u636e\uff09\uff0c\u8fd9\u91cc\u518d\u6dfb\u52a0\u4e00\u4e0b\u5f69\u8272\u76f8\u673a\u56fe<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"536\" height=\"333\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-99.png\" alt=\"\" class=\"wp-image-6377 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-99.png 536w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-99-300x186.png 300w\" data-sizes=\"(max-width: 536px) 100vw, 536px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 536px; --smush-placeholder-aspect-ratio: 536\/333;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"514\" height=\"539\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-100.png\" alt=\"\" class=\"wp-image-6378 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-100.png 514w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-100-286x300.png 286w\" data-sizes=\"(max-width: 514px) 100vw, 514px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 514px; --smush-placeholder-aspect-ratio: 514\/539;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"959\" height=\"774\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-101.png\" alt=\"\" class=\"wp-image-6379 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-101.png 959w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-101-300x242.png 300w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/image-101-768x620.png 768w\" data-sizes=\"(max-width: 959px) 100vw, 959px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 959px; --smush-placeholder-aspect-ratio: 959\/774;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"560\" height=\"328\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/05\/202205322116.gif\" alt=\"\" class=\"wp-image-6383 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 560px; --smush-placeholder-aspect-ratio: 560\/328;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"SLAM\"><\/span>SLAM<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u6ce8\uff1a\u51c6\u5907\u597d\u79d1\u5b66\u4e0a\u7f51<\/p>\n\n\n\n<p>1.\u5b89\u88c5\u4f9d\u8d56<\/p>\n\n\n\n<p>\u5b89\u88c5 OpenCV 3.2.0<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libgtk2.0-dev libjpeg-dev libpng-dev libgtk-3-dev libdc1394-22-dev libtesseract-dev libtiff-dev libatlas-base-dev libdw-dev libunwind-dev libgmp-dev libgsl-dev libgslcblas0 flex bison libgst-dev libcap-dev build-essential cmake git pkg-config ffmpeg libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvulkan-dev libvulkan1 mesa-vulkan-drivers\n\ncd ~\/catkin_ws\/src\n\ngit clone https:\/\/github.com\/opencv\/opencv.git --branch 3.2.0 --depth=1\n\ncd oepncv\n\ngit clone https:\/\/github.com\/opencv\/opencv_contrib.git --branch 3.2.0 --depth=1\n\n### \u4ee5 root \u6743\u9650\u7f16\u8f91 \/usr\/include\/c++\/7\/cstdlib\uff0c\u5728 75 \u884c\u627e\u5230 \u201c#include_next &lt;stdlib.h>\u201d\uff0c\u6539\u4e3a \u201c#include &lt;stdlib.h>\u201d\n\n### \u4ee5 root \u6743\u9650\u7f16\u8f91 \/usr\/include\/c++\/7\/bits\/std_abs.h\uff0c\u5728 38 \u884c\u627e\u5230 \u201c#include_next &lt;stdlib.h>\u201d\uff0c\u6539\u4e3a \u201c#include &lt;stdlib.h>\u201d\n\n### \u4ee5 root \u6743\u9650\u7f16\u8f91 \/usr\/include\/c++\/7\/cmath\uff0c\u5728 45 \u884c\u627e\u5230 \u201c#include_next &lt;math.h>\u201d\uff0c\u6539\u4e3a \u201c#include &lt;math.h>\u201d\n\nmkdir build &amp;&amp; cd build\n\ncmake -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_opencv_python2=ON -DBUILD_opencv_python3=ON -DOPENCV_ENABLE_NONFREE=ON -DBUILD_TESTS=OFF -DBUILD_FAT_JAVA_LIB=OFF -DBUILD_EXAMPLES=OFF -DOPENCV_EXTRA_MODULES_PATH=..\/opencv_contrib\/modules -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=OFF ..\n\nsudo make install -j4<\/pre>\n\n\n\n<p>\u5b89\u88c5 Pangolin 0.8<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd ~\/catkin_ws\/src\n\ngit clone --recursive https:\/\/github.com\/stevenlovegrove\/Pangolin.git  --depth=1 --branch=v0.8\n\ncd Pangolin\n\n.\/scripts\/install_prerequisites.sh recommended\n\nmkdir build &amp;&amp; cd build\n\ncmake ..\n\nmake -j4<\/pre>\n\n\n\n<p>\u5b89\u88c5\u5176\u5b83\u4f9d\u8d56<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install -y libeigen3-dev<\/pre>\n\n\n\n<p>2.\u5b89\u88c5 ORB_SLAM3<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd ~\/catkin_ws\/src\n\ngit clone https:\/\/github.com\/UZ-SLAMLab\/ORB_SLAM3.git --depth=1 --branch=v1.0-release\n\ncd ORB_SLAM3\n\n### \u7f16\u8f91 build.sh\uff0c\u51e1\u662f\u51fa\u73b0 \u201cmake -j\u201d \u7684\u5730\u65b9\u90fd\u66ff\u6362\u4e3a \u201cmake -j1\u201d\uff0c\u907f\u514d\u5185\u5b58\u4e0d\u591f\u4e14\u56e0\u4e3a\u5360\u7528\u8fc7\u9ad8\u88ab\u7cfb\u7edf\u6740\u6b7b\u3002\uff08\u4e0d\u5efa\u8bae\u52a0\u4ea4\u6362\u5206\u533a\uff0cJetson Nano \u7684\u201c\u78c1\u76d8\u201d\u662f\u5916\u7f6e\u5185\u5b58\u5361\uff0c\u628a\u5185\u5b58\u865a\u62df\u5728\u5185\u5b58\u5361\u4e0a\u901f\u5ea6\u6162\u5f97\u8981\u547d\uff0c\u4e0d\u5982\u964d\u4f4e\u7f16\u8bd1\u7ebf\u7a0b\uff0c\u8bf4\u4e0d\u5b9a\u66f4\u5feb\uff09\n\n### \u7f16\u8f91 CMakeLists.txt\uff0c\u627e\u5230 \u201cfind_package(OpenCV 4.4)\u201d\uff0c\u6539\u4e3a \u201cfind_package(OpenCV 3.2)\u201d\n\n.\/build.sh\n\ncd Examples_old\/ROS\/ORB_SLAM3\n\n### \u7f16\u8f91 CMakeLists.txt,\u627e\u5230 \u201cfind_package(OpenCV 3.0 QUIET)\u201d \u6539\u4e3a \u201cfind_package(OpenCV 3.2 QUIET)\u201d\n\n### \u7f16\u8f91 src\/AR\/ros_mono_ar.cc\uff0c\u627e\u5230 151 \u884c\u7684 \u201ccv::Mat Tcw = mpSLAM->TrackMonocular(cv_ptr->image,cv_ptr->header.stamp.toSec());\u201d \u6539\u4e3a:\n\u201c\ncv::Mat Tcw;\nSophus::SE3f Tcw_SE3f = mpSLAM->TrackMonocular(cv_ptr->image,cv_ptr->header.stamp.toSec());\nEigen::Matrix4f Tcw_Matrix = Tcw_SE3f.matrix();\ncv::eigen2cv(Tcw_Matrix, Tcw);\n\u201d\n\u7136\u540e\u5728\u5f00\u5934\u5f15\u5165\u5934\u6587\u4ef6\u7684\u5730\u65b9\u6dfb\u52a0\u5305\u542b\u4e0b\u9762\u4e24\u4e2a\u5934\u6587\u4ef6\uff1a\n\u201c\n#include &lt;Eigen\/Dense>\n#include &lt;opencv2\/core\/eigen.hpp>\n\u201d\n\n### \u7f16\u8f91 src\/AR\/ViewerAR.cc\uff0c\u5728 530 \u884c\u627e\u5230 \u201ccv::Mat Xw = pMP->GetWorldPos();\u201d\uff0c\u6539\u4e3a\uff1a\n\u201c\ncv::Mat Xw;\ncv::eigen2cv(pMP->GetWorldPos(), Xw);\n\u201d\n\u7136\u540e\u5728\u5f00\u5934\u5f15\u5165\u5934\u6587\u4ef6\u7684\u5730\u65b9\u6dfb\u52a0\u5305\u542b\u4e0b\u9762\u4e24\u4e2a\u5934\u6587\u4ef6\uff1a\n\u201c\n#include &lt;Eigen\/Dense>\n#include &lt;opencv2\/core\/eigen.hpp>\n\u201d\n\u5728 407 \u884c\u5de6\u53f3\u7684\u4f4d\u7f6e\u627e\u5230 \n\u201c\nvPoints.push_back(pMP->GetWorldPos());\nvPointMP.push_back(pMP);\n\u201d\uff0c\u6539\u4e3a\uff1a\n\u201c\ncv::Mat WorldPos;\ncv::eigen2cv(pMP->GetWorldPos(), WorldPos);\nvPoints.push_back(WorldPos);\n\u201d\n\nmkdir -p build &amp;&amp; cd build\n\ncmake ..\n\nmake<\/pre>\n\n\n\n<p>3.\u8fd0\u884c SLAM \u7a0b\u5e8f<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u6253\u5f00\u4e00\u4e2a\u7ec8\u7aef\u6267\u884c\u547d\u4ee4\u542f\u52a8\u76f8\u673a\nroslaunch astra_camera astrapro.launch\n\n# \u518d\u6253\u5f00\u4e00\u4e2a\u7ec8\u7aef\u8fd0\u884c SLAM \u7a0b\u5e8f\nrosrun ORB_SLAM3 RGBD ~\/catkin_ws\/src\/ORB_SLAM3\/Vocabulary\/ORBvoc.txt ~\/catkin_ws\/src\/ORB_SLAM3\/Examples_old\/ROS\/ORB_SLAM3\/Asus.yaml <\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"597\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-39-1024x597.png\" alt=\"\" class=\"wp-image-6636 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-39-1024x597.png 1024w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-39-300x175.png 300w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-39-768x448.png 768w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-39-1536x896.png 1536w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/06\/image-39.png 1607w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/597;\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u6d4b\u8bd5\u73af\u5883\uff1a 1.\u5b89\u88c5 ROS\uff0c\u7167\u7740\u5b98\u65b9\u6559\u7a0b\u8d70\u5c31\u884c\uff1ahttp:\/\/wiki.ros.org\/cn\/melodic [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"zakra_page_container_layout":"customizer","zakra_page_sidebar_layout":"customizer","zakra_remove_content_margin":false,"zakra_sidebar":"customizer","zakra_transparent_header":"customizer","zakra_logo":0,"zakra_main_header_style":"default","zakra_menu_item_color":"","zakra_menu_item_hover_color":"","zakra_menu_item_active_color":"","zakra_menu_active_style":"","zakra_page_header":true,"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[1,605],"tags":[],"class_list":["post-6349","post","type-post","status-publish","format-standard","hentry","category-all","category-jetson"],"modified_by":"IYATT-yx","_links":{"self":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts\/6349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6349"}],"version-history":[{"count":0,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts\/6349\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}