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版本,建议安装最新版本。
2.配置ubuntu的软件和更新
配置ubuntu的软件和更新,允许安装不经认证的软件。
首先打开“软件和更新”对话框,具体可以在 Ubuntu 搜索按钮中搜索。
打开后按照下图进行配置(确保勾选了"restricted", “universe,” 和 “multiverse.”)
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:80
为 hkp://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、rqt、rviz、机器人通用库、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
出现错误
重复多次安装一下,可能是因为网络的原因。
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 之前,需要初始化 rosdep
。rosdep
能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖。
避免后面出现sudo rosdep:找不到命令提示,需要执行如下命令
sudo apt install python3-rosdep
初始化rosdep
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
相关的内容,调用命令:
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
即可。
修改完毕,再重新执行命令:
sudo rosdep init
rosdep update
就可以正常实现 rosdep 的初始化与更新了。
9.测试 ROS——运行小海龟
- 首先启动三个终端(ctrl + alt + T)
- 第一个终端运行命令:
roscore
- 第二个终端运行命令:
rosrun turtlesim turtlesim_node
此时会弹出图形化界面
- 第三个终端运行命令:
rosrun turtlesim turtle_teleop_key
在3中可以通过上下左右控制2中乌龟的运动
注:
有时候下载任务不小心被 CTRL+Z暂停了
使用: jobs 命令查看已有进程 使用fg %x恢复执行
fg %x