zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    基于OpenCV的图像强度操作
    统计学习方法笔记(一)-k近邻算法原理及python实现
    机器学习实战-之SVM核函数与案例
    机器学习实战之SVM原理与案例
    JStorm与Storm源码分析(七)--BasicBoltExecutor与装饰模式
    JStorm与Storm源码分析(五)--SpoutOutputCollector与代理模式
    JStorm与Storm源码分析(四)--均衡调度器,EvenScheduler
    JStorm与Storm源码分析(三)--Scheduler,调度器
    JStorm与Storm源码分析(二)--任务分配,assignment
    转。Nas配置。想找原版没找到,全是转载的,也没注出处,无语。
  • 原文地址:https://www.cnblogs.com/kezunlin/p/11834670.html
Copyright © 2011-2022 走看看