ROS机器人操作系统的安装、配置与初级教程

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

本课程以ROS官网的安装、入门以及初级教程为模版制作(原滋原味,一脉相承),包括安装ROS、学习并理解相关概念以及技术要点等;结合初级教程,提供每一步详细操作命令,以达到边学边练的效果。 

本教程由易科机器人实验室的zhangrelay博士发布在实验楼,共包含20个章节,下面带来的是是课程第一节的内容。


此课程为ROS配置与使用介绍,如果为已经并安装配置好的环境,本课程可作为ROS基础知识进行学习和掌握,不用重新进行配置。实验楼已经为你配置好在线环境。

ROS中文维基 ROS中文教程

博客 优酷

实验楼已经为你配置好在线环境

学习须知:

在进入ROS机器人操作系统课程之前,需要熟练掌握下列基础(在实验楼都有免费对应课程,需先完成这类课程,才能更好的学习和使用ROS):

  1. 新手指南之玩转实验楼
  2. Linux基础入门
  3. Vim编辑器
  4. Git实战教程
  5. GDB简明教程
  6. 跟我一起来玩转Makefile
  7. 数据结构(新版)
  8. C语言入门
  9. Python语言入门

1 系统更新

2 安装 ROS

依据网页:http://wiki.ros.org/cn/indigo/Installation/Ubuntu 进行配置,具体步骤如下:

2.1 添加 sources.list

2.2 添加 keys

$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

2.3 安装

2.4 初始化 rosdep

在开始使用ROS之前你还需要初始化rosdep。rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。

$ sudo rosdep init

$ rosdep update

2.5 环境设置

如果每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中),那将会方便得多:

$ echo "source /opt/ros/indigo/setup.zsh" >> ~/.zshrc

$ source ~/.zshrc

2.6 安装 rosinstall

rosinstall 是ROS中一个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给某个ROS软件包下载很多源码树。要在ubuntu上安装这个工具,请运行:

$ sudo apt-get install python-rosinstall

上述过程已经在镜像中配置好,无需重复配置

3 ROS测试

测试已经安装好的ROS是否可以正常使用。

3.1 测试 roscore

打开一个终端测试roscore是否能正常启动,使用ROS必须保证roscore运行:

$ roscore

3.2 启动 turtlesim

启动一个turtlesim节点并通过键盘控制其运动,新开启一个终端,执行以下命令:

$ rosrun turtlesim turtlesim_node

然后,再开启一个终端:

$ rosrun turtlesim turtle_teleop_key

3.3 启动 rviz

新开启一个终端输入:

$ rviz

3.4 启动 Gazebo

新开启一个终端输入:

$ gazebo

这时就可以正常使用ROS了。测试完毕。

4 学习ROS

根据你的学习风格和偏好,你可以采用两种方式来学习ROS:

开始学习教程 - 立刻进入和开始使用ROS http://wiki.ros.org/cn/ROS/Tutorials 。

概览 - 通读ROS和它的功能的这个概览 http://wiki.ros.org/cn/ROS/Introduction 。

有关ROS架构的更多详细信息,请参考ROS核心文档 http://wiki.ros.org/cn/ROS 。

如果你不能找到你的问题的解决方法,就尝试搜索 http://answers.ros.org 或者邮件列表归档。或者在 http://answers.ros.org/questions/ask/ 上提出问题。

查看支持页面获取更多信息 http://wiki.ros.org/Support 。

你也可以通过浏览公开的ROS代码库的这个列表来寻找做相似工作的群组 http://wiki.ros.org/RecommendedRepositoryUsage/CommonGitHubOrganizations 。

5 ROS机器人操作系统官方教程使用说明

5.1 功能包配置

全部示例功能包源码文件夹:

/opt/row_ws/src

5.2 环境配置(依赖安装)

在row_ws目录下输入:

$ rosdep install --from-paths src -iy

所有配置完成后显示如下:

#All required rosdeps installed successfully

5.3 编译功能包

在ros_ws目录下输入:

$ catkin_make -j1 -l1

如果没有遇到错误,就可以使用功能包中的教程进行实验了。

在.zshrc中添加:

source /opt/ros_ws/devel/setup.zsh

或者使用:

$ echo "source /opt/ros_ws/devel/setup.zsh" >> ~/.zshrc

5.4 测试

5.4.1 turtlesim绘制五边形

示例源码在/opt/ros_ws/src/common_tutorials/。

分别在不同的终端打开:

$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtle_actionlib shape_server
$ rosrun turtle_actionlib shape_client

5.4.2 TF2

示例源码在/opt/ros_ws/src/geometry_tutorials/。

$ roslaunch turtle_tf2 turtle_tf2_demo.launch
$ rviz

注意:rviz需要正确配置

5.4.3 URDF

示例源码在/opt/ros_ws/src/urdf_tutorials/。

$ roslaunch urdf_tutorial display.launch

5.4.4 Rviz 可视化

示例源码在/opt/ros_ws/src/visualization_tutorials/。

$ roscore
$ rosrun visualization_marker_tutorials points_and_lines
$ rviz

注意:rviz需要正确配置

$ roscore
$ rosrun interactive_marker_tutorials pong
$ rviz

注意:rviz需要正确配置

5.4.5 导航 navigation

示例源码在/opt/ros_ws/src/navigation_tutorials/。

6 总结

本节介绍了ROS的安装与测试,并补充了丰富的示例功能包用于学习ROS教程,下面我们就以ros_tutorials为例,一步一步进入ROS机器人系统的奇妙世界,其他功能请探索实现,进阶教程正在制作之中,稍后补充。


做到这里,课程的第一个章节已经结束,相信你已学到了ROS的安装及一些简单功能。

完整教程、代码及在线练习地址:ROS机器人操作系统的安装、配置与初级教程(更多课程请查看全部 - 课程 - 实验楼