Ubuntu下ROS安装与测试

  • 1.在Ubuntu下选择合适的ROS版本
  • 2.配置ubuntu的软件和更新
  • 3.设置安装源
  • 4.设置key
  • 5.安装ROS
  • 6.配置ROS坏境
  • 7.ROS卸载
  • 8.初始化 rosdep
  • 9.测试 ROS——运行小海龟


1.在Ubuntu下选择合适的ROS版本

ubuntu ros里面有opencv吗_初始化

根据自己的Ubuntu坏境选择ROS版本,建议安装最新版本。

2.配置ubuntu的软件和更新

配置ubuntu的软件和更新,允许安装不经认证的软件。

首先打开“软件和更新”对话框,具体可以在 Ubuntu 搜索按钮中搜索。

打开后按照下图进行配置(确保勾选了"restricted", “universe,” 和 “multiverse.”)

ubuntu ros里面有opencv吗_ubuntu_02

3.设置安装源

官方默认安装源:

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.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

或来自国内中科大的安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://m

尽量使用国内安装源,安装的数度会快一些

4.设置key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu

若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80hkp://pgp.mit.edu:80

也可以使用curl命令替换apt-key命令,这在使用代理服务器的情况下比较有用:

curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

5.安装ROS

①、使用以下命令,确保Ubuntu软件包索引是最新的:

sudo apt update

②、安装完整桌面版的ROS,完整版包含了 ROS、rqtrviz、机器人通用库、2D/3D 模拟器、导航以及 2D/3D 感知包。

Ubuntu16.04下安装ROS Kinetic Kame 命令:

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

Ubuntu18.04下安装ROS Melodic 命令:

sudo apt install ros-melodic-desktop-full

Ubuntu20.04下安装ROS Noetic 命令:

sudo apt install ros-noetic-desktop-full

出现错误

ubuntu ros里面有opencv吗_linux_03

重复多次安装一下,可能是因为网络的原因。

6.配置ROS坏境

配置环境变量,方便在任意 终端中使用 ROS。

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

7.ROS卸载

如果需要卸载ROS可以调用如下命令:

sudo apt remove ros-kinetic-*
sudo apt remove ros-melodic-*
sudo apt remove ros-noetic-*

8.初始化 rosdep

在使用 ROS 之前,需要初始化 rosdeprosdep 能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖。

避免后面出现sudo rosdep:找不到命令提示,需要执行如下命令

sudo apt install python3-rosdep

初始化rosdep

sudo rosdep init
rosdep update

ubuntu ros里面有opencv吗_ubuntu_04

但是,在 rosdep 初始化时,多半会抛出异常。

问题:

ubuntu ros里面有opencv吗_linux_05


原因:

境外资源被屏蔽。

解决:

百度或google搜索,解决方式有多种(https://github.com/ros/rosdistro/issues/9721),可惜在 ubuntu20.04 下,集体失效。

新思路:将相关资源备份到 gitee,修改 rosdep 源码,重新定位资源。

实现:

1.先打开资源备份路径:https://gitee.com/zhao-xuzuo/rosdistro,打开 rosdistro/rosdep/sources.list.d/20-default.list文件留作备用(主要是复用URL的部分内容:gitee.com/zhao-xuzuo/rosdistro/raw/master)。

ubuntu ros里面有opencv吗_ubuntu_06


2.进入"/usr/lib/python3/dist-packages/" 查找rosdep中和raw.githubusercontent.com相关的内容,调用命令:

find . -type f | xargs grep "raw.githubusercontent"

ubuntu ros里面有opencv吗_初始化_07

3.修改相关文件,主要有: ./rosdistro/init.py、./rosdep2/gbpdistro_support.py、./rosdep2/sources_list.py 、./rosdep2/rep3.py。可以使用sudo gedit命令修改文件:

文件中涉及的 URL 内容,如果是:raw.githubusercontent.com/ros/rosdistro/master都替换成步骤1中准备的gitee.com/zhao-xuzuo/rosdistro/raw/master即可。

修改完毕,再重新执行命令:

sudo rosdep init
rosdep update

就可以正常实现 rosdep 的初始化与更新了。

9.测试 ROS——运行小海龟

  1. 首先启动三个终端(ctrl + alt + T)
  2. 第一个终端运行命令:
roscore
  1. 第二个终端运行命令:
rosrun turtlesim turtlesim_node

此时会弹出图形化界面

  1. 第三个终端运行命令:
rosrun turtlesim turtle_teleop_key

在3中可以通过上下左右控制2中乌龟的运动

ubuntu ros里面有opencv吗_linux_08

注:

有时候下载任务不小心被 CTRL+Z暂停了

使用: jobs 命令查看已有进程 使用fg %x恢复执行

fg %x