展开全部

主编推荐语

本书以案例形式深入浅出地介绍了ROS开发相关知识和具体流程。

内容简介

本书是针对ROS(机器人操作系统)初学者的入门教程,内容聚焦于ROS的使用和开发。全书以Ubuntu操作系统安装和使用为起点,依次介绍了ROS安装、实体/仿真机器人搭建、机器视觉、SLAM建图、导航、多机器人系统等知识,最终引导读者独立完成机器人应用开发的任务。

书中的实验环境和代码基于ROS的Noetic版本。

目录

  • 版权信息
  • 前言
  • 二维码清单
  • 第1章 学习ROS必备的Linux知识
  • 1.1 Linux操作系统介绍
  • 1.1.1 Linux的诞生
  • 1.1.2 Linux、UNIX、系统、内核和发行版
  • 1.2 Ubuntu环境搭建
  • 1.2.1 VMWare的安装使用
  • 1.2.2 安装Ubuntu系统
  • 1.3 Ubuntu桌面使用
  • 1.3.1 Ubuntu的桌面布局
  • 1.3.2 安装VMware Tools工具
  • 1.4 shell和常用命令
  • 1.4.1 shell、终端和命令
  • 1.4.2 常用shell命令
  • 1.5 Ubuntu安装和卸载软件
  • 1.5.1 使用国内软件源提升下载速度
  • 1.5.2 通过apt管理软件
  • 1.5.3 通过应用商店安装卸载软件
  • 1.6 vim编辑器使用
  • 1.7 Linux文件系统
  • 1.7.1 Linux文件系统结构
  • 1.7.2 目录内容存放规则
  • 1.8 root用户和权限管理
  • 1.8.1 Linux中的权限概念
  • 1.8.2 文件/目录权限查看和修改
  • 1.8.3 启用root用户
  • 1.9 嵌入式单板计算机和Linux
  • 第2章 认识ROS
  • 2.1 ROS是什么
  • 2.1.1 ROS从何而来
  • 2.1.2 为什么要使用ROS
  • 2.2 如何安装ROS
  • 2.3 ROS通信结构
  • 2.3.1 节点和主节点
  • 2.3.2 话题(Topic)
  • 2.3.3 服务(Service)
  • 2.3.4 动作(Action)
  • 2.3.5 参数服务器
  • 2.4 ROS常用shell命令
  • 2.5 ROS常用图形工具
  • 2.5.1 rqt工具箱
  • 2.5.2 rviz
  • 2.6 ROS坐标系和tf变换
  • 2.6.1 ROS中的坐标定义
  • 2.6.2 ROS中的tf变换
  • 2.7 ROS工作空间
  • 2.7.1 ROS工作空间是什么
  • 2.7.2 创建并使用一个工作空间
  • 第3章 ROS编程基础
  • 3.1 ROS开发环境搭建
  • 3.1.1 Ubuntu下安装VSCode
  • 3.1.2 VSCode常用插件安装
  • 3.2 新建一个ROS功能包
  • 3.3 编写一对发布订阅节点(C++)
  • 3.3.1 编写发布节点(C++)
  • 3.3.2 编写订阅节点(C++)
  • 3.4 编写一对发布订阅节点(Python)
  • 3.4.1 编写发布节点(Python)
  • 3.4.2 编写订阅节点(Python)
  • 3.5 编写launch文件用于启动节点
  • 3.5.1 通过launch文件启动C++编译的节点
  • 3.5.2 通过launch文件启动Python节点
  • 3.5.3 在launch文件中调用launch文件
  • 3.6 创建新消息类型并编写节点发布消息
  • 3.6.1 编写自定义消息
  • 3.6.2 验证消息正常产生
  • 3.6.3 编写节点发布自定义消息类型(C++)
  • 3.6.4 编写节点订阅自定义消息类型(Python)
  • 3.7 创建一个服务类型并编写服务端/客户端节点
  • 3.7.1 定义并编写一个自定义服务
  • 3.7.2 通过rossrv验证服务产生
  • 3.7.3 编写自定义服务的服务端(C++)
  • 3.7.4 编写自定义服务的服务端(Python)
  • 3.7.5 编写自定义服务的客户端(C++)
  • 3.7.6 编写自定义服务的客户端(Python)
  • 3.8 tf变换编程入门
  • 3.8.1 通过static_transform_publisher发布静态坐标变换
  • 3.8.2 编写节点实现动态tf变换(Python)
  • 3.8.3 编写节点实现动态tf变换(C++)
  • 第4章 ROS机器人平台搭建
  • 4.1 机器人系统的典型构成
  • 4.2 几种常见的机器人底盘运动学模型
  • 4.2.1 差速转向结构
  • 4.2.2 阿克曼转向结构
  • 4.2.3 全向运动结构
  • 4.3 驱动和电池系统
  • 4.3.1 驱动系统——电动机
  • 4.3.2 电池系统
  • 4.4 控制系统—底盘控制器
  • 4.5 控制系统—车载计算机
  • 4.5.1 车载计算机需要实现的功能
  • 4.5.2 车载计算机的选择
  • 4.5.3 将车载计算机和底盘控制器连接起来
  • 4.6 机器人上常用的传感器
  • 4.6.1 获取机器人运动状态——编码器和IMU
  • 4.6.2 让机器人看见世界——摄像头
  • 4.6.3 让机器人感知世界的“深浅”——立体相机
  • 4.6.4 让机器人具备全向感知能力——激光雷达
  • 4.7 远程连接车载计算机
  • 4.7.1 路由模式和WiFi模式
  • 4.7.2 SSH远程登录
  • 4.7.3 使用远程桌面连接机器人
  • 4.8 底盘启动和控制
  • 4.8.1 启动底盘驱动节点
  • 4.8.2 控制机器人运动
  • 4.8.3 向launch文件中传入变量
  • 4.9 机器人底盘ROS节点源码解析
  • 4.9.1 base_control功能包文件结构
  • 4.9.2 base_control.launch文件解读
  • 4.9.3 base_control.py源码解读
  • 4.9.4 bash脚本与udev规则
  • 4.10 ROS分布式通信配置
  • 4.10.1 分布式通信配置条件检查
  • 4.10.2 分布式通信配置和测试验证
  • 第5章 机器人仿真环境搭建
  • 5.1 为什么要有机器人仿真环境
  • 5.1.1 机器人仿真主要解决的问题
  • 5.1.2 仿真环境中的机器人和真实机器人的联系
  • 5.2 在Stage仿真器中创建机器人
  • 5.2.1 Stage仿真器简介
  • 5.2.2 创建Stage仿真器地图和机器人模型
  • 5.2.3 控制Stage仿真器中的机器人
  • 5.3 在Gazebo仿真器中创建机器人
  • 5.3.1 Gazebo仿真器简介
  • 5.3.2 Gazebo仿真器中的环境模型
  • 5.4 机器人模型和URDF文件
  • 5.4.1 URDF文件
  • 5.4.2 xacro文件和Gazebo插件
  • 5.4.3 通过Solidworks创建机器人模型
  • 第6章 ROS中的OpenCV和机器视觉
  • 6.1 摄像头的驱动和图像话题订阅
  • 6.1.1 启动摄像头
  • 6.1.2 订阅摄像头图像并显示
  • 6.1.3 摄像头参数标定
  • 6.2 连接ROS和OpenCV
  • 6.2.1 ROS图像话题和OpenCV图像格式差异
  • 6.2.2 运行OpenCV官方ROS例程
  • 6.2.3 opencv_apps的二进制包和源码包
  • 6.3 实例—基于OpenCV的机器人巡线
  • 6.3.1 机器人巡线环境搭建和应用启动
  • 6.3.2 机器人巡线代码分析
  • 6.3.3 调整机器人的巡线颜色
  • 第7章 激光雷达SLAM建图和自主导航
  • 7.1 启动激光雷达和数据查看
  • 7.1.1 启动机器人上的激光雷达
  • 7.1.2 rviz中查看激光雷达数据
  • 7.1.3 激光雷达使用注意事项
  • 7.2 机器人运行激光SLAM
  • 7.2.1 启动机器人激光SLAM应用
  • 7.2.2 控制机器人进行建图
  • 7.2.3 切换其他SLAM算法
  • 7.3 机器人运行激光雷达导航和避障
  • 7.3.1 启动激光雷达导航应用
  • 7.3.2 环境中新增障碍物条件下的导航
  • 7.3.3 路径规划算法的切换
  • 7.4 机器人导航的应用
  • 7.4.1 工厂AGV—多目标点导航
  • 7.4.2 巡逻机器人—多点全自动巡航
  • 7.4.3 无地图条件下导航
  • 第8章 ROS多机器人系统
  • 8.1 ROS多机器人系统概述
  • 8.1.1 多机器人系统概述
  • 8.1.2 ROS和多机器人系统
  • 8.2 ROS多机器人系统搭建
  • 8.2.1 ROS多机器人系统通信和时间配置
  • 8.2.2 实体机器人多机器人系统测试
  • 8.2.3 Gazebo仿真环境中的多机器人
  • 8.3 多机器人系统的控制
  • 8.3.1 独立控制系统内的任一机器人
  • 8.3.2 同步控制系统内的所有机器人
  • 8.4 多机器人导航
  • 8.4.1 多机器人导航问题分析
  • 8.4.2 运行多机器人导航
  • 第9章 自己编写程序控制机器人
  • 9.1 机器人控制例程开发
  • 9.1.1 控制机器人做圆周运动
  • 9.1.2 实现机器人前进1m-后退1m循环动作
  • 9.1.3 在rviz中显示机器人运动轨迹
  • 9.2 激光雷达跟随功能开发
  • 9.2.1 激光雷达跟随功能需求分析
  • 9.2.2 编写代码实现激光雷达跟随功能
  • 9.3 将编写的代码传输到机器人上
  • 参考文献
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。