欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

安装ROS

程序员文章站 2022-06-04 16:09:19
...

一安装ROS

1设置ubuntu镜像源

安装好Ubuntu16.04之后发现,系统默认的软件源不能用,需要更改为国内的镜像源。国内有很多镜像源,这里选用清华大学开源软件镜像站:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

a.备份系统默认源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

b.打开软件源文件

sudo vim /etc/apt/sources.list

c.将以下内容替换,注意在清华网选择合适自己的版本。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

d.更新软件源

sudo apt-get update

e.更新系统所有软件

sudo apt-get dist-upgrade

2,设置网络时间协议

为了缩小PC间通信中的ROS Time的误差,下面我们设置NTP 。设置方法是安装chrony之后用ntpdate命令指定ntp服务器即可。这样一来会表示服务器和当前计算机之间的时间误差,进而会调到服务器的时间。这就是通过给不同的PC指定相同的NTP服务器,将时间误差缩短到最小的方法。

sudo apt-get install -y chrony ntpdate
sudo ntpdate -q ntp.ubuntu.com

3,添加代码列表sources.list

在ros-latest.list添加ROS版本库。打开新终端,输入如下命令。这一步配置将镜像添加到ubuntu系统源列表中,保证下载速度。

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


4,设置公钥keys

为了从ROS存储库下载功能包,公钥请参考wiki网址,发文是下面的命令。

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA1

16

5,更新软件包索引

sudo apt-get update && sudo apt-get upgrade -y

6,安装ROS kinetic

sudo apt-get install ros-kinetic-desktop-full




二.配置ROS

1初始化rosdep

sudo rosdep init && rosdep update

这一步初始化rosdep,rosdep在编译某些源码的时候为其安装一些系统依赖,也是必须用到的工具。


出错看这里:

rosdep init Error

$ sudo rosdep init
ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize

Then you can execute
$ sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
You can continue with
$ sudo rosdep init

rosdep update Error

$ rosdep update
If you get
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
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml]:
<urlopen error timed out> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml)

then you can execute the following command:
$ sudo apt-get update
Then you can continue with
$ rosdep update



2ROS环境配置

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

ROS环境配置,使得每次打开一个新的终端,ROS环境变量都能自动配置好。要用echo语句将双引号中的命令添加到bash会话中。因为source /opt/ros/kinetic/setup.bash只在当前终端有作用,具有单一时效性。

3安装rosinstall

rosinstall是ROS中一个独立分开的常用命令行工具,可以通过一条命令就可以给某个ROS软件包下载很多源码树。在ubuntu上安装这个工具,运行:

sudo apt-get install python-rosinstall

至此,安装结束。

4测试

新开终端,输入代码:

roscore

出现下图则成功。

安装ROS