前言
由于我的3B+装的系统是ubuntu16.04 mate ,因此装的是kinetic版的ROS
由于安装过程的顺利与否与网速有很大关系,因此建议,在安装之前换一个最适合自己PC以及网络环境的源:树莓派3B+换源方法可见博客:树莓派换源方法
安装过程
直接按照官网给出的步骤安装即可:
-
首先要允许ubuntu下载其他源的软件以及更新:
进入系统的软件与更新,把一下几个都选中:
最好全部选上! -
执行更新源的命令:sudo apt-get update
-
若是更新没错,开始执行一下命令,若是更新出错,则需要换一个源!
-
添加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 apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
-
开始安装(桌面完整版):
sudo apt-get install ros-kinetic-desktop-full
-
初始化rosdep:
sudo rosdep init
rosdep update
一般错误都会出现在这里,解决办法后面会介绍! -
配置环境:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
-
source ~/.bashrc
-
构建依赖:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
-
到现在就装好了,可以安装一个经典的小乌龟,查看安装是否正常!
-
安装命令小乌龟模拟器:
sudo apt-get install ros-<distro>-ros-tutorials
-
运行master节点:
roscore
(运行ros程序前必须要开启的节点) -
运行小乌龟节点:
rosrun turtlesim turtlesim_node
-
运行键盘节点控制小乌龟:rosrun turtlesim turtle_teleop_key
若是能够控制小乌龟,则表明安装成功!
注:以上命令均需开启新的终端!
初始化遇到的错误
1.sudo rosdep init 时我遇到的错误
- ERROR: unable to process source https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/xxxxx
解决方法:这个问题一般都是被墙了缘故,因此可以通过添加域名的方式解决
执行以下命令:
sudo gedit /etc/resolv.conf
将打开的文件中
将原有的nameserver这一行注释,并添加以下两行:
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
然后保存,退出之后再执行:sudo apt-get update
之后执行:sudo rosdep init
(如果是被墙的问题,这个方法一般就可以解决了,若是这样仍然有错:请看链接(我弄的时候没用)各种方法,我用了没解决)
2.rosdep update 时我遇到的错误
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:
<urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)(或者是error 104)
解决办法:在上一步添加google 域名服务器的基础上,修改hosts:
执行:
sudo gedit /etc/hosts
添加如下行(即添加这个网址的域名):
151.101.84.133 raw.githubusercontent.com
保存后退出!
执行:sudo apt-get update
再执行:rosdep update
若是仍然出错,多执行几遍rosdep update(我执行了3-4次吧)