ROS, Neato driver, Hecor SLAM on Raspberry Pi 2B – Tutorial

RpiandNeato2

 

In the beginning I had a lot of problems with installing ROS on RPI, and considering that you are reading this, you probably have them now. I hope this helps ­čÖé

 

  1. Installing Raspian Jessie on RPI 2
    It’s usually best to begin everything fresh, so follow this link to reinstall your Raspian OS. On Windows I use SDFormatter┬áand Win32DiskImager.

  2. Installing ROS jade
    Follow installation tutorial on this link and make sure you install ROS Bare Bones.Compiling ROS packages often results in liblog4cxx errors. I found that this command solves that:sudo ln -s /usr/lib/arm-linux-gnueabihf/liblog4cxx.so /usr/lib/liblog4cxx.so

    Also, if getting wierd errors when compiling, try running catkin_make with only one core:

    catkin_make –make-args –j1

    Update:
    I found that installing Jessie and ROS Jade did not work when installed on Kingston class 10 micro SD card. Now I am using SanDisk class 10 and everything works OK. It might just be a problem for that specific card, I’m just putting it out there ­čÖé

  3. Installing Neato driver
    In your workspace/src clone the Neato package
    .
    git clone https://github.com/rohbotics/xv_11_laser_driver.git
    then do:
    sudo ln -s /usr/lib/arm-linux-gnueabihf/liblog4cxx.so /usr/lib/liblog4cxx.so
    cd ..

    catkin_make
    .
    It should not have any problems with compiling
    Neato Connection:
    With RPI you do not need a separate FTDI to connect Neato LIDAR, because you can use onboard serial GPIO pins. Enable them by typing:
    .
    sudo raspi-config
    advanced options->serial->no
    .
    you will have to connect the TX of LIDAR to pin 15 on rasperry
  4. Installing Hector SLAM
    In src/:
    .
    git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git
    .
    And you have to delete hector_compressed_map_transport with:
    .
    cd YOURWS/src/hector_slam
    rm -rf hector_compressed_map_transport
    .
    And then install some dependencies:
    .
    sudo apt-get install qt-sdk ros-jade-laser-geometry ros-jade-tf-conversions
    .
    and then compile with only one core:
    .catkin_make –make-args -j1

 

Share on FacebookShare on LinkedInTweet about this on TwitterEmail this to someone

You may also like...

6 Responses

  1. Etienne says:

    Hi, I couldn’t launch rviz on the RPi2. I followed your tutorial by first installing Raspian and then Ros Jade distro, but I couldn’t make it (don’t remember exactly the errors, I’ll have to try again). So I installed ubuntu 14.04 and finally could install Ros Indigo.
    Then I installed xubuntu-desktop, but when I launch rviz, I got a segmentation fault. Could you successfully launch rviz on rpi2 ?
    Do I really need Jade distro or is Indigo ok ?
    Do I need to retry to install everything with raspian instead of ubuntu ?
    Thanks

    • Janez says:

      No, I never launched rviz on raspberry pi, because it takes too much processing power. What I usually do is share the ROS master (roscore on RPI) over LAN and then launch RVIZ on my computer. Here is a good tutorial on that:
      http://nootrix.com/software/ros-networking/

      ROS-bare-bones jade should work flawlessly on Jessie OS. The thing I would suggest here is that you check the quality of your SD card. I tried to install everything on Kingston card and always failed at ROS. Now I’m on SanDisk class 10 and everything works smoothly.

  2. andrew says:

    rapsberry pi 3 it gives show:
    E: Unable to locate package ros-jade-ros-base
    it costs me one week. I am very tired
    I hope you give me more helping.
    thank you sir.

    • Janez says:

      This could mean anything really. But first make shure you follow the tutorial on ROS website thoroughly and check that every step is a success and does not give you any errors.
      Hope this helps!

  3. andrew says:

    hello,my friend.it shows same errors. oh my god i have no comment. pls help me god.
    root@raspberrypi:/etc/apt/sources.list.d# sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” >/etc/apt/sources.list.d/ros-latest.list’
    root@raspberrypi:/etc/apt/sources.list.d# ls
    raspi.list ros-latest.list
    root@raspberrypi:/etc/apt/sources.list.d# cat -n ros-latest.list
    1 deb http://packages.ros.org/ros/ubuntu jessie main
    root@raspberrypi:/etc/apt/sources.list.d# clear
    root@raspberrypi:/etc/apt/sources.list.d# ls
    raspi.list ros-latest.list
    root@raspberrypi:/etc/apt/sources.list.d# cat ros-latest.list
    deb http://packages.ros.org/ros/ubuntu jessie main
    root@raspberrypi:/etc/apt/sources.list.d# ls
    raspi.list ros-latest.list
    root@raspberrypi:/etc/apt/sources.list.d# apt-key adv –keyserver hkp://pool.sks-keyservers.net –recv-key 0xB01FA116
    Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –homedir /tmp/tmp.rvoCLRXf9J –no-auto-check-trustdb –trust-model always –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver hkp://pool.sks-keyservers.net –recv-key 0xB01FA116
    gpg: requesting key B01FA116 from hkp server pool.sks-keyservers.net
    gpg: key B01FA116: public key “ROS Builder ” imported
    gpg: Total number processed: 1
    gpg: imported: 1
    root@raspberrypi:/etc/apt/sources.list.d# apt update && apt upgrade
    Hit http://mirrordirector.raspbian.org jessie InRelease
    Hit http://mirrordirector.raspbian.org jessie/main armhf Packages
    Hit http://mirrordirector.raspbian.org jessie/contrib armhf Packages
    Get:1 http://packages.ros.org jessie InRelease [4,010 B]
    Hit http://mirrordirector.raspbian.org jessie/non-free armhf Packages
    Get:2 http://packages.ros.org jessie/main armhf Packages [12.2 kB]
    Hit http://mirrordirector.raspbian.org jessie/rpi armhf Packages
    Hit http://archive.raspberrypi.org jessie InRelease
    Hit http://archive.raspberrypi.org jessie/main armhf Packages
    Hit http://archive.raspberrypi.org jessie/ui armhf Packages
    Ign http://packages.ros.org jessie/main Translation-en_GB
    Ign http://packages.ros.org jessie/main Translation-en
    Ign http://archive.raspberrypi.org jessie/main Translation-en_GB
    Ign http://archive.raspberrypi.org jessie/main Translation-en
    Ign http://archive.raspberrypi.org jessie/ui Translation-en_GB
    Ign http://archive.raspberrypi.org jessie/ui Translation-en
    Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en_GB
    Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en
    Ign http://mirrordirector.raspbian.org jessie/main Translation-en_GB
    Ign http://mirrordirector.raspbian.org jessie/main Translation-en
    Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en_GB
    Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en
    Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en_GB
    Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en
    Fetched 16.2 kB in 14s (1,130 B/s)
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    All packages are up to date.
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Calculating upgrade… Done
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    root@raspberrypi:/etc/apt/sources.list.d# apt-get install ros-jade-desktop-full
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package ros-jade-desktop-full
    root@raspberrypi:/etc/apt/sources.list.d#

    • Janez says:

      It seems to me that instead of “sudo”, you are inserting “/etc/apt/sources.list.d#”. This could be the problem. Try following the online tutorial with “sudo” and see if it helps.

Leave a Reply

Your email address will not be published. Required fields are marked *