当前位置: 代码迷 >> 综合 >> 树莓派3B+下安装ROS kinetic
  详细解决方案

树莓派3B+下安装ROS kinetic

热度:58   发布时间:2024-02-04 17:02:38.0

前言

由于我的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次吧)

  相关解决方案