您好,欢迎光临有路网!
开源机器人操作系统-ROS-(含光盘)
QQ咨询:
有路璐璐:

开源机器人操作系统-ROS-(含光盘)

  • 作者:张建伟
  • 出版社:科学出版社
  • ISBN:9787030354341
  • 出版日期:2012年09月01日
  • 页数:304
  • 定价:¥88.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    • 出版社
    • ISBN
      9787030354341
    • 作者
    • 页数
      304
    • 出版时间
      2012年09月01日
    • 定价
      ¥88.00
    • 所属分类
    内容提要
    目前,ROS(robot operating
    system)逐步成为机器人研发领域的通用性软件平台。由张建伟、张立伟、胡颖、张俊编著的《开源机器人操作系统——ROS(
    附光盘)》是国内**本全面介绍ROS的中文版图书。
    ROS是开源的用于机器人的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。
    本书附光盘一张,内容包括书中的部分例子源代码和Diamondback及
    Electric版本安装后在本地硬盘上的全部程序,以便于读者对照自己的安装版本进行调试。
    《开源机器人操作系统--ROS(附光盘)》可作为机器人研究者以及机器人爱好者应用ROS构建机器人软件系统的参考手册。 开源机器人操作系统-ROS-(含光盘)_张建伟_科学出版社_
    文章节选
    **章 ROS 简介
    1.1 ROS 简介
    随着机器人领域的快速发展和复杂化,代码复用和模块化的需求越来越强烈,而已有的开源机器人系统又不能很好地适应该需求。2010 年WillowGarage[1] 公司发布了开源机器人操作系统ROS(robot operating system),很快在机器人研究领域展开了学习和使用ROS 的热潮。
    ROS[2] 是用于机器人的一种开源的后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。ROS 还提供了库和工具来帮助软件***创建机器人的应用程序。
    ROS 的主要设计目标是便于机器人研发过程中的代码复用。因此ROS 是一种分布式的进程框架,使得执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功能包集的方式分组,因而可以容易地分享和发布。ROS 也支持代码库的系统联合。
    ROS 执行若干种类型的通信,包括基于服务的同步RPC 的通信、基于主题的异步数据流及参数服务器上的数据存储。虽然ROS集成了实时的代码,但它本身并不具有实时性。
    ROS 的主要特点可以归结为以下几条:
    (1) 点对点设计。ROS 通过点对点设计以及服务和节点管理器等机制可以分散由于计算机视觉和语音识别等功能带来的实时计算压力,这种设计能够适应服务机器人遇到的挑战。
    (2) 不依赖编程语言。ROS 支持多种现代编程语言。C++、Python 和Lisp语言已经在ROS 中实现编译,并得到应用,Octave 和Java 的测试库也已经实现。为了支持多语言编程,ROS 采用了一种语言中立的接口定义语言(languageneutral
    interface definition language,IDL) 来实现各模块之间的消息传送。
    (3) 精简与集成。ROS 不修改用户的main() 函数。所以代码可以被其他的机器人软件使用。其优点是ROS 很容易和其他的器人软件平台集成。在计算机视觉算法方面,ROS 已经与OpenCV 实现集成。在驱动、导航和模拟器方面,ROS 已经与Player 系统实现集成。在规划算法方面,ROS 已经与OpenRAVE[3]系统实现集成。
    (4) ROS-agnostic 库:**的开发模型是带有清除功能的接口实现的ROSagnostic库。
    (5) 便于测试。ROS 拥有一个名为rostest 的内建单元/集成测试平台,它很容易集成调试和分解调试。
    (6) 规模。ROS 适用于大型运行系统和大型程序开发。
    (7) 开源。ROS 遵从BSD 协议,对个人及商业应用及修改完全免费。
    ROS 在某些程度上和下列机器人架构有些相似之处:Player[4]、YARP[5]、Orocos[6]、CARMEN[7]、Orca[8]、MOOS[9] 和Microsoft Robotics Studio[10]。对于简单的无机械手的移动平台机器人来说,Player 是非常不错的选择。ROS 则不同,它被设计为适用于有机械臂和运动传感器的移动平台(倾角激光、云台、机械臂传感器)。与Player 相比,ROS 更有利于分布式计算环境。当然,Player提供了较多的硬件驱动程序,ROS 则在高层架构上提供了更多的算法应用(如集成OpenCV 的视觉算法)。
    ROS 系统*早源于2007 年斯坦福大学人工智能实验室的STAIR 项目与机器人技术公司Willow Garage 的个人机器人项目(Personal Robotics Program) 之间的合作,2008 年之后由Willow Garage 公司推动其发展。目前稳定版本情况如下:
    ROS Fuerte Turtle。2012 年4 月23 日发布(见图1.1)。
    ROS Electric Emys。2011 年8 月30 日发布(见图1.2)。
    ROS Diamondback。2011 年3 月2 日发布(见图1.3)。
    ROS C Turtle。2010 年8 月2 日发布(见图1.4)。
    ROS Box Turtle。2010 年3 月2 日发布(见图1.5)。
    1.2 ROS 安装
    ROS 目前支持的操作系统有:Ubuntu、OS X、Arch、Federa、Gentoo、OpenSUSE、Slackware、Debian。另外,还可以在Windows 和FreeBSD 上安装部分功能。由于ROS 主要支持Ubuntu 操作系统,因此,本书以Ubuntu 操作系统下的安装及使用为例,详细描述ROS 的主要框架及使用方法。
    本书在成书过程中,ROS 的稳定版本为Diamondback,第六章中抓取任务的部分程序涉及ROS Electric Emys 版本,因此书中如无说明,所有程序测试以Diamondback 版本为主。
    本小节以Diamondback 在Ubuntu 10.04 LTS[11, 12] 上面安装为例,介绍
    ROS 安装过程。
    1. 配置Ubuntu 系统
    配置Ubuntu repositories 为“restricted”,“universe” 和“multiverse”。
    2. 配置sources.list
    设置计算机使得可以从ROS.org 接收软件。
    (1) Ubuntu 10.04 (Lucid)。
    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu lucid
    main" >/etc/apt/sources.list.d/ros-latest.list'
    (2) Ubuntu 10.10 (Maverick)。
    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu
    maverick main" >/etc/apt/sources.list.d/ros-latest.list'
    (3) Ubuntu 11.04 (Natty)。
    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu natty
    main" >/etc/apt/sources.list.d/ros-latest.list'
    3. 设置keys
    wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
    4. 安装
    重新定向ROS 服务器:sudo apt-get update
    下面提供四种版本的安装命令:
    (1) 桌面完全版安装(**安装):ROS、rx、rviz、robot-generic 库、2D/3D
    simulators、navigation 和2D/3D perception。
    sudo apt-get install ros-diamondback-desktop-full
    (2) 桌面版安装:ROS、rx、rviz 和robot-generic 库。
    sudo apt-get install ros-diamondback-desktop
    (3) ROS-Base:ROS 主要功能包、build 和communication 库。不安装GUI工具。
    sudo apt-get install ros-diamondback-ros-base
    (4) 独立的功能包集:用户也可以安装特定的ROS 功能包集。
    sudo apt-get install ros-diamondback-STACK
    例子:
    sudo apt-get install ros-diamondback-slam-gmapping
    5. 环境设置
    环境变量设置是为了每次一个新的shell 被调用的时候,ROS 的环境变量自动被加入到用户的bash session 中。
    echo "source /opt/ros/diamondback/setup.bash" >>~/.bashrc
    . ~/.bashrc
    如果安装了不止一个版本的ROS,~/.bashrc 必须是当前使用版本的**源setup.bash。
    如果需要修改当前shell 的环境,可以使用下面命令:
    source /opt/ros/diamondback/setup.bash
    1.3 ROS 支持的机器人
    ROS 官方网站上列出的支持的机器人系统如下:
    AscTec Pelican/Hummingbird
    Care-O-bot
    Erratic
    Lego NXT
    TurtleBot
    PR2
    Shadow Robot
    1.4 ROS 网上资源
    ROS 官方网站给出了详细的资料:http://www.ros.org/。
    目录
    前言
    术语列表
    **章 ROS简介
    1.1 ROS简介
    1.2 ROS安装
    1.3 ROS支持的机器人
    1.4 ROS网上资源
    第二章 ROS总体框架及基本命令
    2.1 ROS总体框架
    2.1.1 文件系统级
    2.1.2 计算图级
    2.1.3 社区级
    2.1.4 更高层概念
    2.1.5 名称
    2.2 ROS基本命令
    2.2.1 ROS文件系统命令
    2.2.2 ROS核心命令
    2.3 工具
    2.3.1 3D可视化工具:rviz
    2.3.2 传感器数据记录与可视化工具:rosbag和rxbag
    2.3.3 画图工具:rxplot
    2.3.4 系统可视化工具:rxgraph
    2.3.5 rxcoole
    2.3.6 tf命令
    2.4 例子
    2.4.1 创建ROS消息和服务
    2.4.2 记录和回放数据
    2.4.3 手工创建ROS功能包
    2.4.4 人项目上运行roslaunch
    2.4.5 在多台机器上运行ROS系统
    2.4.6 定义客户消息
    第三章 ROS客户端库
    3.1 概述
    3.2 roscpp客户端库
    3.2.1 简单的主题发布者和主题订阅者
    3.2.2 简单的服务器端和客户端
    3.2.3 roscpp中参数的使用
    3.2.4 从节点句柄存取私有名称
    3.2.5 用类方法订阅和回调服务
    3.2.6 计时器
    3.2.7 带动态町重配置及参数服务器的主题发布者订阅者节点(C++)
    3.2.8 带动态可重配置及参数服务器的主题发布者订阅者节点(Pytl]on)
    3.2.9 组合c++Pytlion主题发布者订阅者节点
    3.3 rospy客户端库
    3.3.1 简单的主题发布者订阅者
    3.3.2 简单的服务端和客户端
    3.3.3 rospy中参数的使用
    3.3.4 rospy中numpy的使用
    3.3.5 rospy运行日志
    3.3.6 ROSPythonMakefile文件
    3.3.7 设置PYTHONPATH
    3.3.8 发布消息
    3.4 roslisp客户端库
    3.5 实验阶段的客户端库
    3.5.1 rosjava
    3.5.2 roslua
    第四章 openCV
    4.1 image_common功能包集
    4.1.1 image_raport功能包
    4.1.2 camera_calibration.pae功能包
    4.1.3 camera_jnfo_znanager功能包
    4.1.4 polled_camera功能包
    4.2 image_pipeline功能包集
    4.3 vision_opencv功能包集
    4.3.1 opencv2
    4.3.2 cv_bridge
    4.3.3 image_geometry
    4.4 投影tf坐标系到图像(C++)
    4.5 演示例子
    4.5.1 使用颜色追踪物体
    4.5.2 识别物体
    第五章 SLAM和导航
    5.1 使用tf配置机器人
    5.2 通过ROS发布里程计信息
    5.3 通过ROS发布传感器数据流
    5.4 SLAM
    5.4.1 SLAM简介
    5.4.2 slam_gmapping功能包
    5.4.3 使用记录的数据建立地图
    5.4.4 模拟器中建立地图
    5.4.5 模拟器中使用客户定制地图
    5.5 配置和使用导航功能包集
    5.5.1 导航功能包集摹本操作
    5.5.2 在机器人上设置和配置导航功能包集
    5.5.3 rviz与导航功能包集配合使用
    5.5.4 发送目标到导航功能包集
    第六章 抓取操作
    6.1 机器人手臂的运动规划
    6.1.1 安装和配置
    6.1.2 编译于臂导航功能包集
    6.1.3 启动模拟器和仿真环境
    6.1.4 启动相关节点
    6.1.5 控制于臂运动
    6.2 运动规划的环境表示
    6.2.1 基于白滤波数据构建碰撞地图
    6.2.2 检测关节轨迹碰撞
    6.2.3 给定机器人状态下的碰撞检测
    6.2.4 添加已知点到运动规划环境
    6.2.5 添加物体到机器人本体
    6.3 用于PR2机器人手臂的运动学
    6.3.1 从PR2运动学开始
    6.3.2 从运动学节点获取运动学求解器信息
    6.3.3 PR2手臂运动学正解
    6.3.4 PR2手臂运动学逆解
    6.3.5 PR2于臂无碰撞运动学逆解
    6.4 用于PR2机器人手臂的**轨迹控制
    6.5 使用轨迹滤波节点进行轨迹滤波
    6.5.1 生成无碰撞三次样条轨迹
    6.5.2 使用轨迹滤波服务器对关节轨迹进行滤波
    6.5.3 学习如何创建自己的轨迹滤波
    6.6 机器人状态和轨迹可视化
    第七章 Kinect
    7.1 Kinect简介
    7.2 安装驱动
    7.2.1 Ubuntu系统上安装Kinect
    7.2.2 基十源的安装
    7.3 测试
    7.3.1 测试Kinect彩色摄像机
    7.3.2 测试Kinect深度摄像机
    7.3.3 测试Kinect马达
    7.4 opennicamera
    7.5 opennitracker
    第八章 点云库
    8.1 PCL简介
    8.1.1 PCL架构
    8.1.2 PCL数据结构
    8.1.3 PCl与ROS的集成
    8.2 PCL可视化库
    8.3 PCL与Kinect连接
    8.4 例子
    第九章 综合演示示例
    9.1 实验一:SLAM(即时定位与地图构建)
    9.2 实验二:机器人导航-
    9.3 实验三:识别并抓取物体
    参考文献
    彩图
    编辑推荐语
    《开源机器人操作系统:ROS》是国内**本全面介绍ROS的中文版图书。全书内容共分九章,覆盖了ROS基本编程的大部分内容。利用现有的因特网上*新资料为蓝本,深入浅出地介绍了ROS的总体架构和涉及的主要领域,全面地对ROS安装及使用过程中常见问题给出了解答。

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外