搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
基于ROS的机器人理论与应用(第2版)
0.00     定价 ¥ 138.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787030726209
  • 作      者:
    作者:张立伟//何炳蔚//张建伟|责编:任静
  • 出 版 社 :
    科学出版社
  • 出版日期:
    2022-10-01
收藏
内容介绍
ROS是建立在开源操作系统Ubuntu系统之上的开源的机器人操作系统,其主要目标是为机器人研究和开发提供代码复用的支持。它提供了操作系统应有的服务,包括硬件抽象、底层设备控制、共用功能的执行、进程间消息传递,以及包管理。ROS的官方网站也提供了各种支持文档,相关资源构成了一个强大的生态系统,使得学习和使用ROS非常方便。 本书中所有代码以ROS Noetic Ninjemys和ROS Melodic Morenia版本进行调试。作者希望通过介绍ROS和实际机器人为平台,展示机器人主要功能模块涉及的相关理论和应用场景。 本书可作为机器人研究者和爱好者应用ROS构建机器人软件系统的参考手册,也可以做高年级本科生和研究生的参考书。
展开
精彩书摘
第1章ROS简介
  ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统。ROS的主要设计目标是便于机器人研发过程中的代码复用。它提供了操作系统[13–17]应有的服务,包括硬件抽象、底层设备控制、共用功能的执行、进程间消息传递,以及包管理。
  它也提供用于获取、编译、编写和跨计算机运行代码所需的工具和库函数。ROS的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程框架,这些进程被封装在易于被分享和发布的功能包(package)中。ROS支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个项目的开发和实现从文件系统到用户接口完全独立决策。同时,所有的项目都可以与ROS的库和基础工具整合在一起。
  ROS相较于其他机器人操作系统的主要特点有以下几条:
  (1)通道:ROS提供了一种发布–订阅式的通信框架用以简单、快速地构建分布式计算系统。
  (2)仿真和数据可视化工具:ROS提供了大量的仿真和数据可视化工具组合用以配置、启动、自检、调试、可视化、登录、测试、终止系统。
  (3)强大的库:ROS提供了大量的库文件(如roscpp,rospy)实现了自主移动、操作物体、感知环境等功能。
  (4)生态系统:ROS的支持与发展构成了一个强大的生态系统。官方网站提供了各种支持文档,提供了一套“一站式”的方案使得用户得以搜索并学习全球开发者共享的开源程序包。
  1.1ROS的历史
  ROS系统*早源于2007年斯坦福大学人工智能实验室的STAIR项目与机器人技术公司Willow Garage的个人机器人项目(Personal Robotics Program)之间的合作,2008年之后由Willow Garage 公司推动其发展。目前稳定版本情况如下:
  (1)ROS Noetic Ninjemys。2020年5月23日发布(其Logo见图1.1)。
  (2)ROS Melodic Morenia。2018年5月23日发布(其Logo见图1.2)。
  (3)ROS Lunar Loggerhead。2017年5月23日发布(其Logo见图1.3)。
  (4)ROS Kinetic Kame。2016年5月23日发布(其Logo见图1.4)。
  (5)ROS Jade Turtle。2015年5月23日发布(其Logo见图1.5)。
  (6)ROS Indigo Igloo。2014年7月22日发布(其Logo见图1.6)。
  (7)ROS Hydro Medusa。2013年9月4日发布(其Logo见图1.7)。
  (8)ROS Groovy Galapagos。2012年12月31日发布(其Logo见图1.8)。
  (9)ROS Fuerte Turtle。2012年4月23日发布(其Logo见图1.9)。
  (10)ROS Electric Emys。2011年8月30日发布(其Logo见图1.10)。
  (11)ROS Diamondback。2011年3月2日发布(其Logo见图1.11)。
  (12)ROS C Turtle。2010年8月2日发布(其Logo见图1.12)。
  (13)ROS Box Turtle。2010年3月2日发布(其Logo见图1.13)。
  1.2ROS安装
  ROS目前支持的操作系统有:Ubuntu、OSX、Arch、Federa、Gentoo、OpenSUSE、Slackware、Debian。另外,还可以在Windows和FreeBSD上安装部分功能。由于ROS主要支持Ubuntu操作系统,因此,本书以Ubuntu操作系统下的安装及使用为例,详细描述ROS的安装方法。
  1.2.1ROSMelodic安装
  本小节以ROS Melodic Morenia在Ubuntu18.04LTS上面安装为例,介绍ROS安装过程。
  1.配置Ubuntu系统
  配置Ubuntu repositories为“restricted”,“universe”和“multiverse”。
  2.配置sources.list
  设置计算机使得可以从ROS.org接收软件。
  3.设置keys
  4.安装
  重新定向ROS服务器:
  sudoapt-get update
  下面提供四种版本的安装命令:
  (1)桌面完全版安装(推荐安装):ROS、rx、rviz、robot-generic库、2D/3Dsimulators、navigation和2D/3Dperception。
  Sudo apt-get install ros-melodic-desktop-full
  (2)桌面版安装:ROS、rx、rviz和robot-generic库。
  sudoapt-get install ros-melodic-desktop
  (3)ROS-Base:ROS主要功能包、build和communication库。不安装GUI工具。
  sudoapt-getinstallros-melodic-ros-comm
  (4)独立的功能包集:用户也可以安装特定的ROS功能包集。
  Sudo apt-get installros-melodic-STACK
  例子:
  Sudo apt-get install ros-melodic-slam-gmapping
  5.环境设置
  环境变量设置是为了每次一个新的shell被调用的时候,ROS的环境变量自动被加入到用户的bash session中。
  如果安装了不止一个版本的ROS,~/.bashrc必须是当前使用版本的唯一源setup.bash。
  如果需要修改当前shell的环境,可以使用下面命令:
  source/opt/ros/melodic/setup.bash
  1.2.2ROSNoetic安装
  本小节以ROS Noetic Ninjemys在Ubuntu20.04LTS上面的安装为例,介绍ROS安装过程。
  1.配置Ubuntu系统
  配置Ubuntu repositories为“restricted”“universe”和“multiverse”。
  2.配置sources.list
  设置计算机使得可以从ROS.org接收软件。
  3.设置keys
  Sudo apt install curl
  4.安装
  重新定向ROS服务器:
  sudoapt-getupdate
  ROS提供四种版本的安装命令:
  (1)桌面完全版安装(推荐安装):ROS、rx、rviz、robot-generic库、2D/3Dsimulators、navigation和2D/3Dperception。
  sudoapt-get install ros-noetic-desktop-full
  (2)桌面版安装:ROS、rx、rviz和robot-generic库。
  Sudo apt-get install ros-noetic-desktop
  (3)ROS-Base:ROS主要功能包、build和communication库。不安装GUI工具。
  sudoapt-getinstallros-noetic-ros-base
  (4)独立的功能包集:用户也可以安装特定的ROS功能包集。
  Sudo apt-get install ros-noetic-PACKAGE
  例如:
展开
目录
目录 
前言 
第1章 ROS简介 1 
1.1 ROS的历史 1 
1.2 ROS安装 4 
1.2.1 ROS Melodic安装 4 
1.2.2 ROS Noetic安装 5 
第2章 ROS框架 8 
2.1 ROS总体框架 8 
2.1.1 文件系统级 8 
2.1.2 计算图级 9 
2.1.3 社区级 11 
2.2 ROS功能包 11 
2.2.1 下载已有功能包并编译运行 14 
2.2.2 创建功能包并编译运行 15 
2.3 ROS基本命令 18 
2.3.1 ROS文件系统命令 18 
2.3.2 ROS核心命令 22 
2.4 坐标变换工具TF 31 
2.5 数据记录和回放工具rosbag 34 
第3章 可视化工具RViz与仿真工具Gazebo 38 
3.1 RViz 38 
3.1.1 RViz安装 38 
3.1.2 RViz使用 38 
3.2 Gazebo 41 
3.2.1 运行Gazebo 41 
3.2.2 Gazebo的组成 43 
3.2.3 URDF模型 45 
3.2.4 Solidworks导出URDF模型 61 
3.2.5 SDF模型 68
3.3 Gazebo示例:创建并使用Velodyne激光传感器 69 
3.3.1 创建Velodyne模型 69 
3.3.2 添加Velodyne模型外观信息 79 
3.3.3 添加Velodyne模型控制插件 87 
3.3.4 安装Velodyne至机器人并测试 91 
3.4 Gazebo示例:搭建移动机器人 92 
3.4.1 搭建Robot模型 92 
3.4.2 添加mesh效果 99 
3.4.3 添加sensor传感器 102 
第4章 语音识别及语音合成 104 
4.1 语音识别原理简介 104 
4.2 语音合成原理简介 105 
4.3 应用实例 106 
4.3.1 CMU Sphinx英文语音识别 106 
4.3.2 CMU Festival英文语音合成 116 
4.3.3 家度机器人中文语音交互 120 
第5章 视觉系统 132 
5.1 OpenCV库 132 
5.1.1 OpenCV库简介 132 
5.1.2 OpenCV库与ROS的接口 133 
5.2 Point Cloud点云及处理流程 136 
5.3 PCL库 139 
5.3.1 PCL库简介 139 
5.3.2 PCD文件 142 
5.3.3 PCL库与ROS的接口 144 
5.4 体感相机在TurtleBot2上的应用 145 
5.4.1 体感相机简介 145 
5.4.2 OpenCV人脸检测 148 
5.4.3 PCL点云滤波 154 
第6章 导航定位 158 
6.1 SLAM 158 
6.1.1 SLAM问题的概率模型 158 
6.1.2 EKF SLAM方法 161 
6.1.3 Particle Filters SLAM方法 163 
6.1.4 基于图论的SLAM方法 165
6.1.5 地图表示方法 167 
6.1.6 基于TurtleBot3平台的仿真SLAM实验 171 
6.1.7 基于TurtleBot2平台的真实SLAM实验 175 
6.2 导航 182 
6.2.1 简介 182 
6.2.2 已知地图的导航实验 183 
第7章 运动规划 188 
7.1 背景与动机 188 
7.2 MoveIt!介绍 188 
7.2.1 MoveIt!结构 188 
7.2.2 MoveIt!安装 190 
7.2.3 MoveIt!运动规划 190 
7.2.4 MoveIt!场景规划 191 
7.2.5 MoveIt!运动学求解器 191 
7.2.6 MoveIt!碰撞检测 191 
7.3 创建MoveIt!功能包 191 
7.3.1 使用安装向导工具生成ROS Noetic Panda单臂MoveIt!配置文件包 192 
7.3.2 使用安装向导工具生成ROSIndigoPR2双臂MoveIt!配置文件包 205 
7.4 使用RViz插件测试MoveIt!功能包 214 
7.4.1 MoveIt!的RViz插件 214 
7.4.2 路径规划 216 
7.5 使用命令行测试MoveIt!功能包 . 218 
7.6 使用MoveIt!API接口实现路径规划 220 
参考文献 231
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证