Ubuntu16下ROS的安装
-
添加ROS源
#官方源: $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' #中科大源: $ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
-
添加密钥
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
缺失这一步时,则更新源时会报GPG ERROR
-
更新源
$ sudo apt-get update
万一在update的时候,出现
0% [正在等待报头]
的错误请尝试以下命令后,重新update
$ sudo apt-get clean
-
安装ROS
$ sudo apt-get install ros-kinetic-desktop-full
-
安装参数
- -desktop-full:完全版
- -desktop:精简版(去除了机器人功能包和部分工具)
- -ros-base:基础版(仅核心功能,构建和通信)
-
安装版本
- kinetic -> ubuntu16
- indigo -> ubuntu18
以上部分都没有安装ROS社区内所有功能包,后期可以使用指令安装独立功能包
$ sudo apt-get install ros-kinetic-PACKAGE #例如: $ sudo apt-get install ros-kinetic-slam-gmapping
使用命令查看可使用的包
$ apt-cache search ros-kinetic
-
-
初始化rosdep
$ sudo rosdep init $ rosdep update
若执行init时遇到以下报错
ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.
按以下方法解决:
#修改host文件 $ sudo gedit /etc/hosts #在域名ip项目尾部添加以下内容内容 151.101.84.133 raw.githubusercontent.com
-
初始化环境变量
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc $ source ~/.bashrc
需要注意,若使用的是zsh,则改为
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.zshrc $ source ~/.zshrc
其他shell类似
开发过程中,有时候找不到 Package,找不到node,很多情况下都是没有添加source导致的
在安装多个ROS版本时,会默认使用bash,zsh配置文件中设置的环境变量,需要永久修改时,需要去修改~/.bashrc或~/.zshrc文件内容
-
测试
打开一个terminal,输入
$ roscore
再打开另一个terminal,输入
$ rosrun turtlesim turtlesim_node
会运行乌龟运动程序
比较搞笑的是,会有各种奇怪的乌龟,每次随机出现,这是出现了一只三头乌龟