一、Ubuntu下ROS 的安装和测试
一、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:80
为 hkp://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、rqt、rviz、机器人通用库、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 | echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc |
ROS卸载
如果需要卸载ROS可以调用如下命令:
1 | sudo apt remove ros-noetic-* |
初始化 rosdep
在使用 ROS 之前,需要初始化 rosdep
。rosdep
能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖。
避免后面出现sudo rosdep:找不到命令提示,需要执行如下命令
1 | sudo apt install python3-rosdep |
初始化rosdep
1 | sudo rosdep init |
但是,在 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 | sudo rosdep init |
就可以正常实现 rosdep 的初始化与更新了。
测试 ROS——运行小海龟
首先启动三个终端(ctrl + alt + T)
第一个终端运行命令:
1
roscore
第二个终端运行命令:
1
rosrun turtlesim turtlesim_node
此时会弹出图形化界面
第三个终端运行命令:
1
rosrun turtlesim turtle_teleop_key
在3中可以通过上下左右控制2中乌龟的运动
注:
有时候下载任务不小心被 CTRL+Z暂停了
使用: jobs 命令查看已有进程 使用fg %x恢复执行
1 | fg %x |
参考文件:
1 | https://blog.csdn.net/qq_44830040/article/details/106049992 |