ROS 笔记(01)— Ubuntu 20.04 ROS 环境搭建

  • ROS 官网: https://www.ros.org/
  • ROS 中文官网:http://wiki.ros.org/cn/

1. 系统和 ROS 版本

不同的 ROS 版本所需的 ubuntu 版本不同,每一版 ROS 都有其对应版本的 Ubuntu ,切记不可随便安装。

具体可看 ROS 官网 https://wiki.ros.org/ROS/Installation

  • 操作系统选择 Ubuntu 20.04
  • ROS 版本 ROS noetic

2. 安装步骤

2.1 配置 ROS 软件源

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

2.2 配置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

2.3 更新系统软件源

sudo apt update

2.4 安装 ROS

在这里可以选择完整版,这样就可以将 ROSrqtrviz、机器人通用库、2D/3D 仿真器、导航、2D/3D 感知等功能一次性安装完成。

sudo apt install ros-noetic-desktop-full

2.5 初始化 rosdep

在开始使用 ROS 之前,还需要安装 rosdeprosdepROS 一些核心组件的运行基础,会在编译 ROS 源码时检查和安装程序包依赖。

sudo rosdep init

执行完成如下图提示命令进行更新

Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

	rosdep update

2.6 配置账户

在当前用户目录下生成 .ros 目录,该目录下保存着日志文件和测试结果文件。

rosdep update

有如下打印说明更新成功

$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
...
updated cache in /home/xxx/.ros/rosdep/sources.cache

如果有以下错误发生

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
ERROR: error loading sources list:
	('The read operation timed out',)

请参考 rosdep update — The read operation timed out 解决方法

2.7 设置环境变量

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

到这里 ROS 的安装已经完成,可以通过下面命令查看 ROS 环境变量。

sudo print env | grep -i ros

2.8 安装依赖包

至此,ROS 的核心程序包就安装好了,为了构建和管理开发者自己的 ROS 工作空间,我们还需要再安装一些 ROS 依赖的包。

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

至此 ROS 的安装已经完成,为了验证安装是否成功,我们接着需要测试一下。

3. 验证安装

3.1 查看安装版本

$ rosversion -d
noetic

3.2 运行 demo

3.2.1 启动 ROS Master

输入命令

$ roscore 

输出打印

... logging to /home/xxx/.ros/log/02ee2bec-e7d5-11ec-b050-00e070ce7d11/roslaunch-jetty-pc-12973.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://jetty-pc:46029/
ros_comm version 1.14.13


SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.14.13

NODES

auto-starting new master
process[master]: started with pid [12993]
ROS_MASTER_URI=http://jetty-pc:11311/

setting /run_id to 02ee2bec-e7d5-11ec-b050-00e070ce7d11
process[rosout-1]: started with pid [13004]
started core service [/rosout]

3.2.2 启动小海龟仿真器

再另外打开一个终端,然后执行如下命令

$ rosrun turtlesim turtlesim_node 

输出打印

[ INFO] [1654766990.824376259]: Starting turtlesim with node name /turtlesim
[ INFO] [1654766990.832467864]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]

此时会出现一个新的窗口,此时的小乌龟是禁止不动的。

3.2.3 启动小海龟控制节点

我们再打开一个终端,执行如下命令

$ rosrun turtlesim turtle_teleop_key

输出打印

Reading from keyboard
---------------------------
Use arrow keys to move the turtle. 'q' to quit.

以上内容的大概意思是我们可以用键盘控制小海龟进行移动,我们在这个终端按键盘上的“上、下、左、右”键,此时发现小海龟也在移动。
ROS 笔记(01)— Ubuntu 20.04 ROS 环境搭建_第1张图片

需要注意的是:鼠标需要选中的是终端的窗口,不是可视化的界面窗口,否则操作不起作用。

3.2.4 查看节点关系图

我们再打开一个终端,运行以下命令,

$ rqt_graph

可以看到 ROS 的图形化界面,展示结点的关系:
ROS 笔记(01)— Ubuntu 20.04 ROS 环境搭建_第2张图片

你可能感兴趣的:(ROS,自动驾驶,ROS)