Newtank

个人站

欢迎来到我的个人站~


ROS的安装

目录

ROS是什么

wiki:

ROS(Robot Operating System,下文简称“ROS”)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。

ROS的安装过程

初始环境:Linux ubuntu 20.04LTS,更换软件源为清华源

添加ROS软件源

由于ROS使用了自己组建的软件源,我们需要将该软件源添加到apt的源列表中

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 update

安装ROS对应版本

每个Ubuntu发行版都有对应的ROS版本,我们根据自己的版本来安装

sudo apt install ros-noetic-desktop-full

设置环境变量

将ROS需要的环境变量进行导入

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

安装ROS的安装组件

ros使用一系列安装器来从网上下载组件,我们需要安装它们

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

对于noetic版ROS,使用的是python3.一些早期版本会使用python2.

调整Github的访问

ROS的init和update需要访问raw.githubusercontent.com,而国内较难完成。一个可行的方式是用ghproxy.com进行代理。

我们只需要将下载资源的脚本中所有对raw.githubusercontent.com的访问换为对ghproxy.com的访问,

只需要在这些url前面添加https://ghproxy.com的前缀即可。

首先修改rosdep下载资源的脚本文件:/usr/lib/python3/dist-packages/rosdep2/sources_list.py,在download_rosdep_data()方法开头添加以下语句

url="https://ghproxy.com/"+url

然后rosdep2和rosdistro两个文件夹下在使用了https://raw.githubusercontent.com/这个url的地方的前面添加”https://raw.githubusercontent.com/”

我们可以使用grep命令查找/usr/lib/python3/dist-packages中rosdep2和rosdistro两个文件夹下的所有python文件中的https://raw.githubusercontent.com/字符串,并且可以用sed命令进行字符串替换

最后,在 /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py的最后一个方法开头添加以下代码:

gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url

即可完成代理。

更新Rosdep

sudo rosdep init
sudo rosdep update

启动demo

roscore

输入以上命令后,ctrl+shift+T唤出第二个控制台,输入

rosrun turtlesim turtlesim_node

此时小乌龟已经出现了,但我们还不能控制它。

ctrl+shift+T唤出第三个控制台,输入

rosrun turtlesim turtle_teleop_key

就可以控制小乌龟了。鼠标点入第三个控制台,然后键盘输入上下左右就能让小乌龟移动了。

(不要停下来啊!)