• Ubuntu 16.04安装ROS Kinetic详细教程 | Tutorial to Install and Configure ROS Kinetic on Ubuntu 16.04


    本文首发于个人博客https://kezunlin.me/post/e2780b93/,欢迎阅读!

    Tutorial to Install and Configure ROS Kinetic on Ubuntu 16.04.

    ROS release 	  ROS version	      Ubuntu version
    2016.3	     ROS Kinetic Kame	Ubuntu 16.04(Xenial)/Ubuntu 15.10
    

    Install Guide

    quick commands

    sudo sh -c '. /etc/lsb-release && echo "deb [arch=amd64] http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
    
    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
    
    sudo apt-get update
    sudo apt-get install ros-kinetic-desktop-full
    
    sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
    
    sudo rosdep init
    rosdep update
    
    echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    
    # test
    roscore
    

    Notice

    tinghua source

    http://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial
    

    update source

    sudo apt-get update
    

    if we encouter errors when update source, we need to fix.

    e.g remove sougou source to fix errors.

    grep -r kylin .
    ./sources.list.d/sogoupinyin.list.save:deb http://archive.ubuntukylin.com:10006/ubuntukylin xenial main
    ./sources.list.d/sogoupinyin.list:deb http://archive.ubuntukylin.com:10006/ubuntukylin xenial main
    
    rm ./sources.list.d/sogoupinyin.list
    

    Configure ros source

    ros offical(NOT RECOMMEND)

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
    

    NOT RECOMMEND,when apt-get update, error will occur Hash Sum mismatch

    ros china(RECOMMEND)

    sudo sh -c '. /etc/lsb-release && echo "deb [arch=amd64] http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
    

    ros-latest.list

    deb [arch=amd64] http://mirrors.ustc.edu.cn/ros/ubuntu/ xenial main
    

    Install ros

    ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

    sudo apt-get update
    sudo apt-get install ros-kinetic-desktop-full
    
    #sudo apt-get install ros-kinetic-desktop
    #sudo apt-get install ros-kinetic-ros-base
    
    #sudo apt-get install ros-kinetic-<PACKAGE>
    #sudo apt-get install ros-kinetic-slam-gmapping
    
    #apt-cache search ros-kinetic
    

    Initialize rosdep

    Before you can use ROS, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.

    sudo rosdep init
    rosdep update
    

    will output

    reading in sources list data from /etc/ros/rosdep/sources.list.d
    Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
    Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
    Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
    Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
    Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
    Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index.yaml
    Add distro "groovy"
    Add distro "hydro"
    Add distro "indigo"
    Add distro "jade"
    Add distro "kinetic"
    Add distro "lunar"
    updated cache in /home/kezunlin/.ros/rosdep/sources.cache
    

    Environment setup

    echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    

    check ROS

    env | grep ROS
    export | grep ROS
    declare -x ROSLISP_PACKAGE_DIRECTORIES=""
    declare -x ROS_DISTRO="kinetic"
    declare -x ROS_ETC_DIR="/opt/ros/kinetic/etc/ros"
    declare -x ROS_MASTER_URI="http://localhost:11311"
    declare -x ROS_PACKAGE_PATH="/opt/ros/kinetic/share"
    declare -x ROS_ROOT="/opt/ros/kinetic/share/ros"
    

    Dependencies for building packages

    sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
    

    Test install

    roscore
    

    output

    ... logging to /home/kezunlin/.ros/log/b777db6c-ff85-11e8-93c2-80fa5b47928a/roslaunch-ke-17139.log
    Checking log directory for disk usage. This may take awhile.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.
    
    started roslaunch server http://ke:36319/
    ros_comm version 1.12.14
    
    
    SUMMARY
    ========
    
    PARAMETERS
     * /rosdistro: kinetic
     * /rosversion: 1.12.14
    
    NODES
    
    auto-starting new master
    process[master]: started with pid [17162]
    ROS_MASTER_URI=http://ke:11311/
    
    setting /run_id to b777db6c-ff85-11e8-93c2-80fa5b47928a
    process[rosout-1]: started with pid [17175]
    started core service [/rosout]
    ^C[rosout-1] killing on exit
    [master] killing on exit
    shutting down processing monitor...
    ... shutting down processing monitor complete
    done
    

    Create Workspace

    Create

    Let's create and build a catkin workspace:

    mkdir -p ~/catkin_ws/src
    cd ~/catkin_ws/
    catkin_make
    
    ls .
    build dist src
    

    tree src folder

    src/
    └── CMakeLists.txt -> /opt/ros/kinetic/share/catkin/cmake/toplevel.cmake
    
    0 directories, 1 file
    

    tree devel folder

    devel
    ├── env.sh
    ├── lib
    ├── setup.bash
    ├── setup.sh
    ├── _setup_util.py
    └── setup.zsh
    
    1 directory, 5 files
    

    The catkin_make command is a convenience tool for working with catkin workspaces.

    source devel setup

    before source devel/setup.bash

    env | grep ROS
    ROS_ROOT=/opt/ros/kinetic/share/ros
    ROS_PACKAGE_PATH=/opt/ros/kinetic/share
    ROS_MASTER_URI=http://localhost:11311
    ROSLISP_PACKAGE_DIRECTORIES=
    ROS_DISTRO=kinetic
    ROS_ETC_DIR=/opt/ros/kinetic/etc/ros
    

    after source devel/setup.bash

    env | grep ROS
    ROS_ROOT=/opt/ros/kinetic/share/ros
    ROS_PACKAGE_PATH=/home/kezunlin/catkin_ws/src:/opt/ros/kinetic/share
    ROS_MASTER_URI=http://localhost:11311
    ROSLISP_PACKAGE_DIRECTORIES=/home/kezunlin/catkin_ws/devel/share/common-lisp
    ROS_DISTRO=kinetic
    ROS_ETC_DIR=/opt/ros/kinetic/etc/ros
    

    To make sure your workspace is properly overlayed by the setup script, make sure ROS_PACKAGE_PATH environment variable includes the directory you're in.

    echo $ROS_PACKAGE_PATH
    /home/kezunlin/catkin_ws/src:/opt/ros/kinetic/share
    

    Reference

    History

    • 2018/01/04: created.

    Copyright

  • 相关阅读:
    childNodes.length和form.length的不同
    外部样式表声明的样式并不会进入style对象
    js之insertBefore(newElement,oldElement)
    文字不换行,超出部分显示成省略号
    animation和transition做动画的区别
    html中隐藏一个元素的方法
    css常见属性和属性值
    css选择器的优先级
    frameset怎么框架内部跳转
    form表单标签及属性的介绍
  • 原文地址:https://www.cnblogs.com/kezunlin/p/11834670.html
Copyright © 2020-2023  润新知