logo资料库

ros《机器人操作系统入门》 课 程讲义.pdf

第1页 / 共236页
第2页 / 共236页
第3页 / 共236页
第4页 / 共236页
第5页 / 共236页
第6页 / 共236页
第7页 / 共236页
第8页 / 共236页
资料共236页,剩余部分请下载后查看
前言
第一章 ROS简介
机器人时代的到来
ROS发展历程
什么是ROS
安装ROS
安装ROS-Academy-for-Beginners教学包
二进制与源码包
安装RoboWare Studio
单元测试一
第二章 ROS文件系统
Catkin编译系统
Catkin工作空间
Package软件包
CMakeLists.txt
package.xml
Metapacakge软件元包
其他常见文件类型
单元测试二
第三章 ROS通信架构(一)
Node & Master
Launch文件
Topic
Msg
常见msg类型
单元测试三
第四章 ROS通信架构(二)
Service
Srv
Parameter server
Action
常见srv类型
常见action类型
单元测试四
第五章 常用工具
Gazebo
RViz
Rqt
Rosbag
Rosbridge
moveit!
单元测试五
第六章 roscpp
Client Library与roscpp
节点初始、关闭与NodeHandle
Topic in roscpp
Service in roscpp
Param in roscpp
时钟
日志与异常
第七章 rospy
Rospy与主要接口
Topic in rospy
Service in rospy
Param与Time
第八章 TF与URDF
认识TF
TF消息
tf in c++
tf in python
统一机器人描述格式
附录:TF数学基础
三维空间刚体运动---旋转矩阵
三维空间刚体运动---欧拉角
三维空间刚体运动---四元数
第九章 SLAM
地图
Gmapping
Karto
Hector
第十章 Navigation
Navigation Stack
move_base
costmap
Map_server & Amcl
附录:Navigation工具包说明
amcl
local_base_planner
carrot_planner
clear_costmap_recovery
costmap_2d
dwa_local_planner
fake_localization
global_planner
map_server
move_base_msg
move_base
move_slow_and_clear
navfn
nav_core
robot_pose_ekf
rotate_recovery
目錄 前言 第一章 ROS简介 机器人时代的到来 ROS发展历程 什么是ROS 安装ROS 安装ROS-Academy-for-Beginners教学包 二进制与源码包 安装RoboWare Studio 单元测试一 第二章 ROS文件系统 Catkin编译系统 Catkin工作空间 Package软件包 CMakeLists.txt package.xml Metapacakge软件元包 其他常见文件类型 单元测试二 第三章 ROS通信架构(一) Node & Master Launch文件 Topic Msg 常见msg类型 单元测试三 第四章 ROS通信架构(二) Service Srv Parameter server 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.5 1.5.1 1.5.2 1.5.3 1
Action 常见srv类型 常见action类型 单元测试四 第五章 常用工具 Gazebo RViz Rqt Rosbag Rosbridge moveit! 单元测试五 第六章 roscpp Client Library与roscpp 节点初始、关闭与NodeHandle Topic in roscpp Service in roscpp Param in roscpp 时钟 日志与异常 第七章 rospy Rospy与主要接口 Topic in rospy Service in rospy Param与Time 第八章 TF与URDF 认识TF TF消息 tf in c++ tf in python 统一机器人描述格式 附录:TF数学基础 三维空间刚体运动---旋转矩阵 三维空间刚体运动---欧拉角 1.5.4 1.5.5 1.5.6 1.5.7 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.6.1 1.9.6.2 2
三维空间刚体运动---四元数 第九章 SLAM 地图 Gmapping Karto Hector 第十章 Navigation Navigation Stack move_base costmap Map_server & Amcl 附录:Navigation工具包说明 amcl local_base_planner carrot_planner clear_costmap_recovery costmap_2d dwa_local_planner fake_localization global_planner map_server move_base_msg move_base move_slow_and_clear navfn nav_core robot_pose_ekf rotate_recovery 1.9.6.3 1.10 1.10.1 1.10.2 1.10.3 1.10.4 1.11 1.11.1 1.11.2 1.11.3 1.11.4 1.12 1.12.1 1.12.2 1.12.3 1.12.4 1.12.5 1.12.6 1.12.7 1.12.8 1.12.9 1.12.10 1.12.11 1.12.12 1.12.13 1.12.14 1.12.15 1.12.16 3
前言 中国大学MOOC---《机器人操作系统入门》课 程讲义 前言 欢迎来到中国大学MOOC---《机器人操作系统入门》课程,本书是课程的配套讲义,由中科 院软件所和重德智能公司共同推出,课程分为十个章节,与视频课程相对应,介绍ROS的基 本原理和用法。欢迎各位朋友在中国大学MOOC平台上选修这门课程。 本讲义希望带给读者最准确、生动、易懂的ROS入门指导,为了方便读者操作练习,我们同 时附有配套的教学代码示例,欢迎各位下载、学习和分享。 本讲义将长期维护,永久公开。如果你有任何问题,可在Github的issues里提出,也可以直接 联系我们的邮箱。由于我们课程团队的精力实在有限,本书难免存在错误和瑕疵,欢迎各位 朋友拍砖,我们将不断更新,一直努力。 出品 4
前言 作者 柴长坤 chaichangkun@droid.ac.cn 武延军 yanjun@iscas.ac.cn 常先明 cxm@droid.ac.cn 致谢 安传旭 1179735683@qq.com 韩昊旻 hanhaomin008@126.com 韩锦飞 hanjf_robin@163.com 5
第一章 ROS简介 第一章 ROS简介 本章简介 机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作 方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。 因此自ROS诞生以来, 受到了学术界和工业界的欢迎,如今已经广泛应用于机械臂、移动底盘、无人机、无人车等 许多种类的机器人上。 本章介绍ROS的产生、发展、特点和安装方法,带给你一个简单直观的ROS介绍。 6
机器人时代的到来 1.1 机器人时代的到来 机器人时代与ROS诞生 他们速度很快,具有非凡智慧与致命力量;他们不受生命周期桎梏,是未来科技的希望。机 器人和仿生机器,正要从实验室的襁褓中迸裂而出,投入市场的广阔天地,运算能力的大幅 进步加上最新的机器人脑部设计,为机器人科技带来前所未有的改革,毋庸置疑,机器人即 将改变人类工作场所及生活状态。神爱世人,人亦钟情所造之物,如今有幸跟随时代步伐, 一起创造世界,借不灭之躯,走遍险远之地,看尽世之奇伟瑰怪。 曾经,机器人创新的门槛非常高。如果你想在任何应用领域开发出有分量的产品,你需要建 立一整套能够实现你想法的系统:包括硬件设备,当然还有控制系统,界面接口,以及让机 器人运行并作为测试平台的检测工具。“没有什么是现成的设备,除了一些很差,闭源的东西 外。” 随着机器人领域的快速发展和复杂化,代码复用和模块化的需求日益强烈,已有的开源系统 已不能很好地适应需求,2010年Willow Garage公司发布了开源机器人操作系统ROS。 7
ROS发展历程 1.2 ROS发展历程 1.2.1 ROS起源与发展 本世纪开始,关于人工智能的研究进入了大发展阶段,包括全方位的具体的AI,例如斯坦福大 学人工智能实验室STAIR(Stanford Artificial Intelligence Robot)项目,该项目组创建了灵活 的、动态的软件系统的原型,用于机器人技术。在2007年,机器人公司Willow Garage和该项 目组合作,他们十分具有前瞻性的,提供了大量资源进一步扩展了这些概念,经过具体的研 究测试实现之后,无数的研究人员将他们的专业性研究贡献到ROS核心概念和其基础软件 包,这期间积累了众多的科学研究成果。ROS软件的开发自始至终采用开放的BSD协议,在 机器人技术研究领域逐渐成为一个被广泛使用的平台。 Willow Garage公司和斯坦福大学人工智能实验室合作以后,在2009年初推出了ROS0.4,这 是一个测试版的ROS,现在所用的系统框架在这个版本中已经具有了初步的雏形。之后的版 本才正式开启了ROS的发展成熟之路。 1.2.2 历代ROS版本 ROS1.0版本发布于2010年,基于PR2机器人开发了一系列机器人相关的基础软件包。随后 ROS版本迭代频繁,目前已经发布到了Lunar。 目前使用人数最多的是Kinetic和Indigo这两个 Long Term Support版本。 ROS版本 Lunar Loggerhead Kinetic Kame Jade Turtle Indigo lgloo Hydro Medusa Groovy Galapagos Fuerte Turtle Electric Emys Diamondback C Turtle Box TurtleBox Turtle 发布时间 2017.5 2016.5 2015.5 2014.7 2013.9 2012.12 2012.4 2011.8 2011.3 2010.8 2010.3 8
分享到:
收藏