{"id":23346,"date":"2019-08-01T23:10:36","date_gmt":"2019-08-01T15:10:36","guid":{"rendered":"\/blog\/?p=23346"},"modified":"2021-06-08T10:29:43","modified_gmt":"2021-06-08T02:29:43","slug":"installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8","status":"publish","type":"post","link":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/","title":{"rendered":"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8"},"content":{"rendered":"\n<p>Note: This article by Dmitry Maslov originally appeared on&nbsp;<a href=\"https:\/\/www.instructables.com\/id\/ROS-Melodic-on-Raspberry-Pi-4-RPLIDAR\/\">Instructables<\/a><\/p>\n\n\n\n<p>This article will cover the process of installing ROS Melodic Morenia on Raspberry Pi 4 running the latest Debian Buster and how to use <a href=\"https:\/\/www.seeedstudio.com\/RPLiDAR-A1M8-360-Degree-Laser-Scanner-Kit-12M-Range.html\">RPLIDAR AIM8<\/a> with our installation. <\/p>\n\n\n\n<p>Since Debian Buster was officially released just a few weeks ago(as of moment of writing this article), there are no pre-built ROS packages to install with apt-get, which is a preferred method of installation. Hence we will need to build it from source. Trust me, it&#8217;s not that scary as it sounds. The process is described in this&nbsp;<a href=\"http:\/\/wiki.ros.org\/melodic\/Installation\/Source\">official tutorial<\/a>, but to build ROS Melodic on Raspberry Pi we will need to make a few modifications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install Dependecies and Download the Packages<\/h2>\n\n\n\n<p>Let&#8217;s start by setting up the repositories and installing the necessary dependencies<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo sh -c 'echo \"deb http:\/\/packages.ros.org\/ros\/ubuntu $(lsb_release -sc) main\" &gt; \/etc\/apt\/sources.list.d\/ros-latest.list'<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt-key adv --keyserver 'hkp:\/\/keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt-get update<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential  cmake<\/pre>\n\n\n\n<p>Then initialize rosdep and update it<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo rosdep init<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">rosdep update<\/pre>\n\n\n\n<p>When that&#8217;s done let&#8217;s create a dedicated catkin workspace for building ROS and move to that directory.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir ~\/ros_catkin_ws<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">cd ~\/ros_catkin_ws<\/pre>\n\n\n\n<p>Now you have two choices:<\/p>\n\n\n\n<p><strong>ROS-Comm: (Bare Bones)<\/strong>&nbsp;installation &#8211; might be preferred choice for Raspberry Pi, since you probably will be running it headless anyway, if you are using it for a robot. Doesn&#8217;t include RVIZ, which makes installation process shorter and less hassle.<\/p>\n\n\n\n<p><strong>Desktop Install<\/strong>: includes GUI tools, such as rqt, rviz, and robot-generic libraries.<\/p>\n\n\n\n<p>I&#8217;ll go with installing Desktop Install here.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall  <br><br>wstool init -j8 src melodic-desktop-wet.rosinstall<\/pre>\n\n\n\n<p>The command will take a few minutes to download all of the core ROS packages into the src folder.<\/p>\n\n\n\n<p>If wstool init fails or is interrupted, you can resume the download by running:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> wstool update -j 4 -t src<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Fix the Issues<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/cdn.instructables.com\/FH4\/5TQA\/JYOOT7GQ\/FH45TQAJYOOT7GQ.LARGE.jpg\"><img decoding=\"async\" src=\"https:\/\/cdn.instructables.com\/FH4\/5TQA\/JYOOT7GQ\/FH45TQAJYOOT7GQ.LARGE.jpg?auto=webp\" alt=\"Picture of Fix the Issues\"\/><\/a><\/figure>\n\n\n\n<p>Let&#8217;s install the compatible version of Assimp (Open Asset Import Library) to fix collada_urdf dependency problem.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir -p ~\/ros_catkin_ws\/external_src<br>cd ~\/ros_catkin_ws\/external_src<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">wget   <a href=\"http:\/\/sourceforge.net\/projects\/assimp\/files\/assi\"> http:\/\/sourceforge.net\/projects\/assimp\/files<\/a>\/assimp-3.1\/assimp-3.1.1_no_test_models.zip\/download -O assimp-3.1.1_no_test_models.zip<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">unzip assimp-3.1.1_no_test_models.zip<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">cd assimp-3.1.1<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">cmake .<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">make<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo make install<\/pre>\n\n\n\n<p>Let&#8217;s also install OGRE for rviz<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt-get install  libogre-1.9-dev<\/pre>\n\n\n\n<p>Finally we&#8217;ll need to fix the issues with libboost. I&#8217;m using the solution from&nbsp;<a href=\"https:\/\/stackoverflow.com\/a\/53382269\">this post on stackoverflow<\/a>:<\/p>\n\n\n\n<p>&#8220;The errors during compilation are caused by the &#8216;boost::posix_time::milliseconds&#8217; function which&nbsp;<br>in newer boost versions accepts only an integer argument, but the actionlib package in ROS, gives it a float on several places. You can list all files using that function:<\/p>\n\n\n\n<p>find -type f -print0 | xargs -0 grep &#8216;boost::posix_time::milliseconds&#8217; | cut -d: -f1 | sort -u<\/p>\n\n\n\n<p>Open them in your text editor and search for the&nbsp;<br>&#8216;boost::posix_time::milliseconds&#8217; function call.<\/p>\n\n\n\n<p>and replace calls like this:<\/p>\n\n\n\n<p>boost::posix_time::milliseconds(loop_duration.toSec() * 1000.0f));<\/p>\n\n\n\n<p>with:<\/p>\n\n\n\n<p>boost::posix_time::milliseconds(int(loop_duration.toSec() * 1000.0f)));<\/p>\n\n\n\n<p>and these:<\/p>\n\n\n\n<p>boost::posix_time::milliseconds(1000.0f)<\/p>\n\n\n\n<p>with:<\/p>\n\n\n\n<p>boost::posix_time::milliseconds(1000)<\/p>\n\n\n\n<p>I recommend you use nano text editor, which is simpler than VIM \ud83d\ude09 Ctrl+O is saving, Ctrl+X is exiting and Ctrl+W is searching.<\/p>\n\n\n\n<p>Next we use the rosdep tool for installing all the rest of the dependencies:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rosdep install --from-paths src --ignore-src --rosdistro melodic -y<\/pre>\n\n\n\n<p>Add TipAsk QuestionCommentDownload<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Build and Source the Installation<\/h2>\n\n\n\n<p>Once it has completed downloading the packages and resolving the dependencies you are ready to build the catkin packages.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo .\/src\/catkin\/bin\/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space \/opt\/ros\/melodic -j2<\/pre>\n\n\n\n<p>If the compilation process freezes(very likely, if you install the desktop version), you need to increase swap space available. By default it&#8217;s 100 MB, try increasing it to 2048 MB.<\/p>\n\n\n\n<p>Good luck! The whole compilation process takes about 1 hour, so go make some tea.<\/p>\n\n\n\n<p>Now ROS Melodic should be installed on your Raspberry Pi 4. We&#8217;ll source the new installation with following command:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">echo \"source \/opt\/ros\/melodic\/setup.bash\" &gt;&gt; ~\/.bashrc<\/pre>\n\n\n\n<p>Try launching roscore to check if everything was successful.Add TipAsk QuestionCommentDownload<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Install RPLIDAR ROS Package<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/cdn.instructables.com\/FNH\/L33G\/JYOOT7GT\/FNHL33GJYOOT7GT.LARGE.jpg\"><img decoding=\"async\" src=\"https:\/\/cdn.instructables.com\/FNH\/L33G\/JYOOT7GT\/FNHL33GJYOOT7GT.LARGE.jpg?auto=webp\" alt=\"Picture of Install RPLIDAR ROS Package\"\/><\/a><\/figure>\n\n\n\n<p>Let&#8217;s create a separate workspace for other packages, that are not part of core ROS.<\/p>\n\n\n\n<p>From you home folder do:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir -p ~\/catkin_ws\/src<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">cd ~\/catkin_ws\/<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">catkin_make<\/pre>\n\n\n\n<p>and source it to bashrc:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">echo \"source $HOME\/catkin_ws\/devel\/setup.bash\" &gt;&gt; ~\/.bashrc<\/pre>\n\n\n\n<p>Okay, we&#8217;re ready to start installing RPLIDAR ROS package.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd src<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo git clone <a href=\"https:\/\/github.com\/Slamtec\/rplidar_ros.git\"> https:\/\/github.com\/Slamtec\/rplidar_ros.git<\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">catkin_make<\/pre>\n\n\n\n<p>Wait for the package compilation to finish. Try launching the package to see if the compilation was successful:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">roslaunch rplidar_ros rplidar.launch<\/pre>\n\n\n\n<p>If it doesn&#8217;t output any errors, do a quick celebration dance(*optional).<\/p>\n\n\n\n<p>Now only the last piece is missing &#8211; since you are probably running Raspberry Pi 4 in headless mode, we can&#8217;t visualize lidar messages. For that we&#8217;ll need to set-up ROS to run on multiple machines.Add TipAsk QuestionCommentDownload<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Set Up ROS to Run on Multiple Machines<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/cdn.instructables.com\/F9R\/XF3B\/JYOORO4A\/F9RXF3BJYOORO4A.LARGE.jpg\"><img decoding=\"async\" src=\"https:\/\/cdn.instructables.com\/F9R\/XF3B\/JYOORO4A\/F9RXF3BJYOORO4A.LARGE.jpg?auto=webp\" alt=\"Picture of Set Up ROS to Run on Multiple Machines\"\/><\/a><\/figure>\n\n\n\n<p>For this part you will need a Ubuntu 18.04 computer with ROS Melodic installed. Since it&#8217;s Ubuntu ROS can be simply installed using apt-get as described in&nbsp;<a href=\"http:\/\/wiki.ros.org\/melodic\/Installation\/Ubuntu\">this tutorial<\/a>.<\/p>\n\n\n\n<p>After you have working ROS installation both on Raspberry Pi and your desktop machine, check the IP addresses of both machines. They need to be on the same network!<\/p>\n\n\n\n<p>Run roscore on your desktop computer and export ROS_MASTER_URI<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">roscore<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">export ROS_MASTER_URI=http:\/\/[your-desktop-machine-ip]:11311<\/pre>\n\n\n\n<p>Next on Raspberry PI execute<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">export ROS_MASTER_URI=http:\/\/[your-desktop-machine-ip]:11311<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">export ROS_IP=[your-desktop-machine-ip]<\/pre>\n\n\n\n<p>and launch RPILIDAR launch file<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">roslaunch rplidar_ros rplidar.launch<\/pre>\n\n\n\n<p>If it launches successfully, check the topics present on your desktop machine with rostopic list<\/p>\n\n\n\n<p>If you can see \/ scan mesages, everything works as it supposed to work. Then launch RVIZ on your desktop machine, add Laser Scan messages and choose \/scan topic. You will also need to change fixed frame to \/laser.<\/p>\n\n\n\n<p>Voila!Add TipAsk QuestionCommentDownload<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Done!<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/cdn.instructables.com\/F78\/RR6K\/JYOORO49\/F78RR6KJYOORO49.LARGE.jpg\"><img decoding=\"async\" src=\"https:\/\/cdn.instructables.com\/F78\/RR6K\/JYOORO49\/F78RR6KJYOORO49.LARGE.jpg?auto=webp&amp;width=720&amp;crop=3:2\" alt=\"Picture of Done!\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"599\" height=\"556\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif\" alt=\"\" class=\"wp-image-23347\"\/><\/figure>\n\n\n\n<p>This guide can be a first step towards building your ROS robot on top of new Raspberry Pi 4. We have installed ROS Melodic and prepared the installation for running headless and connecting to our desktop machine over wireless network for remote control.<\/p>\n\n\n\n<p>Next steps are dependent on what type of robot you want to build. You can add motors and encoders for odometry, stereo camera for Visual SLAM and all sorts of other exciting and useful things.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><a href=\"https:\/\/www.seeedstudio.com\/RPLiDAR-A1M8-360-Degree-Laser-Scanner-Kit-12M-Range.html\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2019\/08\/\u5c4f\u5e55\u5feb\u7167-2019-08-01-\u4e0b\u534810.50.03.png\" alt=\"\" class=\"wp-image-23348\" width=\"603\" height=\"452\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/\u5c4f\u5e55\u5feb\u7167-2019-08-01-\u4e0b\u534810.50.03.png 804w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/\u5c4f\u5e55\u5feb\u7167-2019-08-01-\u4e0b\u534810.50.03-300x225.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/\u5c4f\u5e55\u5feb\u7167-2019-08-01-\u4e0b\u534810.50.03-768x575.png 768w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Especially we offer Global Free Shipping for <a href=\"https:\/\/www.seeedstudio.com\/RPLiDAR-A1M8-360-Degree-Laser-Scanner-Kit-12M-Range.html\">RPLIDAR A1M8.<\/a> Best time to get started with Lidar, <a href=\"https:\/\/www.seeedstudio.com\/Raspberry-Pi-4-Computer-Model-B-4GB-p-4077.html\">Raspberry Pi 4<\/a> and ROS Programming.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Note: This article by Dmitry Maslov originally appeared on&nbsp;Instructables This article will cover the process<\/p>\n","protected":false},"author":200,"featured_media":23347,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[1450,1083],"class_list":["post-23346","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-raspberry-pi-4","tag-rplidar"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8 - Latest News from Seeed Studio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8 - Latest News from Seeed Studio\" \/>\n<meta property=\"og:description\" content=\"Note: This article by Dmitry Maslov originally appeared on&nbsp;Instructables This article will cover the process\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/\" \/>\n<meta property=\"og:site_name\" content=\"Latest News from Seeed Studio\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-01T15:10:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-08T02:29:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"599\" \/>\n\t<meta property=\"og:image:height\" content=\"556\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Elaine Wu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elaine Wu\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/\",\"name\":\"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8 - Latest News from Seeed Studio\",\"isPartOf\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif\",\"datePublished\":\"2019-08-01T15:10:36+00:00\",\"dateModified\":\"2021-06-08T02:29:43+00:00\",\"author\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#primaryimage\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif\",\"contentUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif\",\"width\":599,\"height\":556,\"caption\":\"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.seeedstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/\",\"name\":\"Latest News from Seeed Studio\",\"description\":\"Emerging IoT, AI and Autonomous Applications on the Edge\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11\",\"name\":\"Elaine Wu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g\",\"caption\":\"Elaine Wu\"},\"description\":\"Head of AI Robotics @seeed Every day holds new magic \u2728 on ne sait jamais\u2601\ufe0f\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/elaine1994\/\"],\"url\":\"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8 - Latest News from Seeed Studio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/","og_locale":"en_US","og_type":"article","og_title":"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8 - Latest News from Seeed Studio","og_description":"Note: This article by Dmitry Maslov originally appeared on&nbsp;Instructables This article will cover the process","og_url":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/","og_site_name":"Latest News from Seeed Studio","article_published_time":"2019-08-01T15:10:36+00:00","article_modified_time":"2021-06-08T02:29:43+00:00","og_image":[{"url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif","width":599,"height":556,"type":"image\/gif"}],"author":"Elaine Wu","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Elaine Wu","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/","url":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/","name":"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8 - Latest News from Seeed Studio","isPartOf":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#primaryimage"},"image":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#primaryimage"},"thumbnailUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif","datePublished":"2019-08-01T15:10:36+00:00","dateModified":"2021-06-08T02:29:43+00:00","author":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11"},"breadcrumb":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#primaryimage","url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif","contentUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif","width":599,"height":556,"caption":"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8"},{"@type":"BreadcrumbList","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/08\/01\/installing-ros-melodic-on-raspberry-pi-4-and-rplidar-a1m8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seeedstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Installing ROS Melodic on Raspberry Pi 4 and RPLIDAR A1M8"}]},{"@type":"WebSite","@id":"https:\/\/www.seeedstudio.com\/blog\/#website","url":"https:\/\/www.seeedstudio.com\/blog\/","name":"Latest News from Seeed Studio","description":"Emerging IoT, AI and Autonomous Applications on the Edge","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11","name":"Elaine Wu","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g","caption":"Elaine Wu"},"description":"Head of AI Robotics @seeed Every day holds new magic \u2728 on ne sait jamais\u2601\ufe0f","sameAs":["https:\/\/www.linkedin.com\/in\/elaine1994\/"],"url":"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/"}]}},"modified_by":"Liyan Gong","views":72913,"featured_image_urls":{"full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",599,556,false],"thumbnail":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4-80x80.gif",80,80,true],"medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4-300x278.gif",300,278,true],"medium_large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",599,556,false],"large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",599,556,false],"1536x1536":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",599,556,false],"2048x2048":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",599,556,false],"visody_icon":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",32,30,false],"magazine-7-slider-full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",599,556,false],"magazine-7-slider-center":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",599,556,false],"magazine-7-featured":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",599,556,false],"magazine-7-medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",409,380,false],"magazine-7-medium-square":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/08\/rplidar-pi4.gif",485,450,false]},"author_info":{"display_name":"Elaine Wu","author_link":"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/"},"category_info":"<a href=\"https:\/\/www.seeedstudio.com\/blog\/category\/news\/\" rel=\"category tag\">News<\/a>","tag_info":"News","comment_count":"9","_links":{"self":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/23346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/users\/200"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=23346"}],"version-history":[{"count":3,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/23346\/revisions"}],"predecessor-version":[{"id":28407,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/23346\/revisions\/28407"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media\/23347"}],"wp:attachment":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=23346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=23346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=23346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}