一、Ubuntu下ROS 的安装和测试

在Ubuntu下选择合适的ROS版本

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

配置ubuntu的软件和更新

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

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

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

设置安装源

官方默认安装源:

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

或来自国内清华的安装源

1
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'

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

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

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

设置key

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

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

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

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

安装ROS

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

1
sudo apt update

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

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

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

Ubuntu18.04下安装ROS Melodic 命令:

1
sudo apt install ros-melodic-desktop-full

Ubuntu20.04下安装ROS Noetic 命令:

1
sudo apt install ros-noetic-desktop-full

出现错误

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

配置ROS坏境

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

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

ROS卸载

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

1
sudo apt remove ros-noetic-*

初始化 rosdep

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

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

1
sudo apt install python3-rosdep

初始化rosdep

1
2
sudo rosdep init
rosdep update

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

问题:

原因:

境外资源被屏蔽。

解决:

百度或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)。

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

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

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即可。

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

1
2
sudo rosdep init
rosdep update

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

测试 ROS——运行小海龟

  1. 首先启动三个终端(ctrl + alt + T)

  2. 第一个终端运行命令:

    1
    roscore
  3. 第二个终端运行命令:

    1
    rosrun turtlesim turtlesim_node

    此时会弹出图形化界面

  4. 第三个终端运行命令:

    1
    rosrun turtlesim turtle_teleop_key

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

注:

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

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

1
fg %x

参考文件:

1
2
https://blog.csdn.net/qq_44830040/article/details/106049992
https://blog.csdn.net/weixin_43159148/article/details/83375218