C#7.0本质论

C#7.0本质论
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: (Mark Michaelis) ,
2019-06
ISBN: 9787111625681
定价: 199.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 690页
51人买过
  • 本书共分为六部分。部分介绍了如何编写ROS节点和ROS工具,也覆盖了消息、类和服务器。第二部分是用ROS进行模拟和可视化,其中包括坐标转换。第三部分讨论了ROS的感知过程。第四部分介绍了ROS中的移动机器人控制和导航。第五部分介绍了ROS机器人臂的相关知识。第六部分涉及系统集成和更高级别的控制,包括基于感知的移动操作。 译者序 

    前言 

    第一部分 ROS基础 / 1 

    第1章 概述:ROS工具和节点 / 2 

    1.1 ROS基础概念 / 2 

    1.2 编写ROS节点 / 5 

    1.2.1 创建ROS程序包 / 5 

    1.2.2 编写一个最小的ROS发布器 / 8 

    1.2.3 编译ROS节点 / 11 

    1.2.4 运行ROS节点 / 12 

    1.2.5 检查运行中的最小发布器节点 / 13 

    1.2.6 规划节点时间 / 15 

    1.2.7 编写一个最小ROS订阅器 / 17 

    1.2.8 编译和运行最小订阅器 / 19 

    1.2.9 总结最小订阅器和发布器节点 / 21 

    1.3 更多的ROS工具:catkin_simple、roslaunch、rqt_console和rosbag / 21 

    1.3.1 用catkin_simple简化CMakeLists.txt / 21 

    1.3.2 自动启动多个节点 / 23 

    1.3.3 在ROS控制台观察输出 / 25 

    1.3.4 使用rosbag记录并回放数据 / 26 

    1.4 最小仿真器和控制器示例 / 28 

    1.5 小结 / 32 

    第2章 消息、类和服务器 / 33 

    2.1 定义自定义消息 / 33 

    2.1.1 定义一条自定义消息 / 34 

    2.1.2 定义一条变长的消息 / 38 

    2.2 ROS服务介绍 / 43 

    2.2.1 服务消息 / 43 

    2.2.2 ROS服务节点 / 45 

    2.2.3 与ROS服务手动交互 / 47 

    2.2.4 ROS服务客户端示例 / 48 

    2.2.5 运行服务和客户端示例 / 50 

    2.3 在ROS中使用C++类 / 51 

    2.4 在ROS中创建库模块 / 56 

    2.5 动作服务器和动作客户端介绍 / 61 

    2.5.1 创建动作服务器包 / 62 

    2.5.2 定义自定义动作服务器消息 / 62 

    2.5.3 设计动作客户端 / 68 

    2.5.4 运行示例代码 / 71 

    2.6 参数服务器介绍 / 80 

    2.7 小结 / 84 

    第二部分 ROS中的仿真和可视化 / 85 

    第3章 ROS中的仿真 / 86 

    3.1 简单的2维机器人仿真器 / 86 

    3.2 动力学仿真建模 / 93 

    3.3 统一的机器人描述格式 / 95 

    3.3.1 运动学模型 / 95 

    3.3.2 视觉模型 / 98 

    3.3.3 动力学模型 / 99 

    3.3.4 碰撞模型 / 102 

    3.4 Gazebo介绍 / 104 

    3.5 最小关节控制器 / 112 

    3.6 使用Gazebo插件进行关节伺服控制 / 118 

    3.7 构建移动机器人模型 / 124 

    3.8 仿真移动机器人模型 / 132 

    3.9 组合机器人模型 / 136 

    3.10 小结 / 139 

    第4章 ROS中的坐标变换 / 141 

    4.1 ROS中的坐标变换简介 / 141 

    4.2 转换侦听器 / 149 

    4.3 使用Eigen库 / 156 

    4.4 转换ROS数据类型 / 161 

    4.5 小结 / 163 

    第5章 ROS中的感知与可视化 / 164 

    5.1 rviz中的标记物和交互式标记物 / 168 

    5.1.1 rviz中的标记物 / 168 

    5.1.2 三轴显示示例 / 172 

    5.1.3 rviz中的交互式标记物 / 176 

    5.2 在rviz中显示传感器值 / 183 

    5.2.1 仿真和显示激光雷达 / 183 

    5.2.2 仿真和显示彩色相机数据 / 189 

    5.2.3 仿真和显示深度相机数据 / 193 

    5.2.4 rviz中点的选择 / 198 

    5.3 小结 / 201 

    第三部分 ROS中的感知处理 / 203 

    第6章 在ROS中使用相机 / 204 

    6.1 相机坐标系下的投影变换 / 204 

    6.2 内置相机标定 / 206 

    6.3 标定立体相机内参 / 211 

    6.4 在ROS中使用OpenCV / 217 

    6.4.1 OpenCV示例:寻找彩色像素 / 218 

    6.4.2 OpenCV示例:查找边缘 / 223 

    6.5 小结 / 224 

    第7章 深度图像与点云信息 / 225 

    7.1 从扫描LIDAR中获取深度信息 / 225 

    7.2 立体相机的深度信息 / 230 

    7.3 深度相机 / 236 

    7.4 小结 / 237 

    第8章 点云数据处理 / 238 

    8.1 简单的点云显示节点 / 238 

    8.2 从磁盘加载和显示点云图像 / 244 

    8.3 将发布的点云图像保存到磁盘 / 246 

    8.4 用PCL方法解释点云图像 / 248 

    8.5 物体查找器 / 257 

    8.6 小结 / 261 

    第四部分 ROS中的移动机器人 / 263 

    第9章 移动机器人的运动控制 / 264 

    9.1 生成期望状态 / 264 

    9.1.1 从路径到轨迹 / 264 

    9.1.2 轨迹构建器库 / 268 

    9.1.3 开环控制 / 273 

    9.1.4 发布期望状态 / 274 

    9.2 机器人状态估计 / 282 

    9.2.1 从Gazebo获得模型状态 / 282 

    9.2.2 里程计 / 286 

    9.2.3 混合里程计、GPS和惯性传感器 / 292 

    9.2.4 混合里程计和LIDAR / 297 

    9.3 差分驱动转向算法 / 302 

    9.3.1 机器人运动模型 / 303 

    9.3.2 线性机器人的线性转向 / 304 

    9.3.3 非线性机器人的线性转向 / 306 

    9.3.4 非线性机器人的非线性转向 / 308 

    9.3.5 仿真非线性转向算法 / 309 

    9.4 相对于地图坐标系的转向 / 312 

    9.5 小结 / 317 

    第10章 移动机器人导航 / 318 

    10.1 构建地图 / 318 

    10.2 路径规划 / 323 

    10.3 move_base客户端示例 / 328 

    10.4 修改导航栈 / 331 

    10.5 小结 / 335 

    第五部分 ROS中的机械臂 / 337 

    第11章 底层控制 / 338 

    11.1 单自由度移动关节机器人模型 / 338 

    11.2 位置控制器示例 / 339 

    11.3 速度控制器示例 / 342 

    11.4 力控制器示例 / 344 

    11.5 机械臂的轨迹消息 / 349 

    11.6 7自由度臂的轨迹插值动作服务器 / 353 

    11.7 小结 / 354 

    第12章 机械臂运动学 / 355 

    12.1 正向运动学 / 356 

    12.2 逆向运动学 / 360 

    12.3 小结 / 365 

    第13章 手臂运动规划 / 366 

    13.1 笛卡儿运动规划 / 36
  • 内容简介:
    本书共分为六部分。部分介绍了如何编写ROS节点和ROS工具,也覆盖了消息、类和服务器。第二部分是用ROS进行模拟和可视化,其中包括坐标转换。第三部分讨论了ROS的感知过程。第四部分介绍了ROS中的移动机器人控制和导航。第五部分介绍了ROS机器人臂的相关知识。第六部分涉及系统集成和更高级别的控制,包括基于感知的移动操作。
  • 目录:
    译者序 

    前言 

    第一部分 ROS基础 / 1 

    第1章 概述:ROS工具和节点 / 2 

    1.1 ROS基础概念 / 2 

    1.2 编写ROS节点 / 5 

    1.2.1 创建ROS程序包 / 5 

    1.2.2 编写一个最小的ROS发布器 / 8 

    1.2.3 编译ROS节点 / 11 

    1.2.4 运行ROS节点 / 12 

    1.2.5 检查运行中的最小发布器节点 / 13 

    1.2.6 规划节点时间 / 15 

    1.2.7 编写一个最小ROS订阅器 / 17 

    1.2.8 编译和运行最小订阅器 / 19 

    1.2.9 总结最小订阅器和发布器节点 / 21 

    1.3 更多的ROS工具:catkin_simple、roslaunch、rqt_console和rosbag / 21 

    1.3.1 用catkin_simple简化CMakeLists.txt / 21 

    1.3.2 自动启动多个节点 / 23 

    1.3.3 在ROS控制台观察输出 / 25 

    1.3.4 使用rosbag记录并回放数据 / 26 

    1.4 最小仿真器和控制器示例 / 28 

    1.5 小结 / 32 

    第2章 消息、类和服务器 / 33 

    2.1 定义自定义消息 / 33 

    2.1.1 定义一条自定义消息 / 34 

    2.1.2 定义一条变长的消息 / 38 

    2.2 ROS服务介绍 / 43 

    2.2.1 服务消息 / 43 

    2.2.2 ROS服务节点 / 45 

    2.2.3 与ROS服务手动交互 / 47 

    2.2.4 ROS服务客户端示例 / 48 

    2.2.5 运行服务和客户端示例 / 50 

    2.3 在ROS中使用C++类 / 51 

    2.4 在ROS中创建库模块 / 56 

    2.5 动作服务器和动作客户端介绍 / 61 

    2.5.1 创建动作服务器包 / 62 

    2.5.2 定义自定义动作服务器消息 / 62 

    2.5.3 设计动作客户端 / 68 

    2.5.4 运行示例代码 / 71 

    2.6 参数服务器介绍 / 80 

    2.7 小结 / 84 

    第二部分 ROS中的仿真和可视化 / 85 

    第3章 ROS中的仿真 / 86 

    3.1 简单的2维机器人仿真器 / 86 

    3.2 动力学仿真建模 / 93 

    3.3 统一的机器人描述格式 / 95 

    3.3.1 运动学模型 / 95 

    3.3.2 视觉模型 / 98 

    3.3.3 动力学模型 / 99 

    3.3.4 碰撞模型 / 102 

    3.4 Gazebo介绍 / 104 

    3.5 最小关节控制器 / 112 

    3.6 使用Gazebo插件进行关节伺服控制 / 118 

    3.7 构建移动机器人模型 / 124 

    3.8 仿真移动机器人模型 / 132 

    3.9 组合机器人模型 / 136 

    3.10 小结 / 139 

    第4章 ROS中的坐标变换 / 141 

    4.1 ROS中的坐标变换简介 / 141 

    4.2 转换侦听器 / 149 

    4.3 使用Eigen库 / 156 

    4.4 转换ROS数据类型 / 161 

    4.5 小结 / 163 

    第5章 ROS中的感知与可视化 / 164 

    5.1 rviz中的标记物和交互式标记物 / 168 

    5.1.1 rviz中的标记物 / 168 

    5.1.2 三轴显示示例 / 172 

    5.1.3 rviz中的交互式标记物 / 176 

    5.2 在rviz中显示传感器值 / 183 

    5.2.1 仿真和显示激光雷达 / 183 

    5.2.2 仿真和显示彩色相机数据 / 189 

    5.2.3 仿真和显示深度相机数据 / 193 

    5.2.4 rviz中点的选择 / 198 

    5.3 小结 / 201 

    第三部分 ROS中的感知处理 / 203 

    第6章 在ROS中使用相机 / 204 

    6.1 相机坐标系下的投影变换 / 204 

    6.2 内置相机标定 / 206 

    6.3 标定立体相机内参 / 211 

    6.4 在ROS中使用OpenCV / 217 

    6.4.1 OpenCV示例:寻找彩色像素 / 218 

    6.4.2 OpenCV示例:查找边缘 / 223 

    6.5 小结 / 224 

    第7章 深度图像与点云信息 / 225 

    7.1 从扫描LIDAR中获取深度信息 / 225 

    7.2 立体相机的深度信息 / 230 

    7.3 深度相机 / 236 

    7.4 小结 / 237 

    第8章 点云数据处理 / 238 

    8.1 简单的点云显示节点 / 238 

    8.2 从磁盘加载和显示点云图像 / 244 

    8.3 将发布的点云图像保存到磁盘 / 246 

    8.4 用PCL方法解释点云图像 / 248 

    8.5 物体查找器 / 257 

    8.6 小结 / 261 

    第四部分 ROS中的移动机器人 / 263 

    第9章 移动机器人的运动控制 / 264 

    9.1 生成期望状态 / 264 

    9.1.1 从路径到轨迹 / 264 

    9.1.2 轨迹构建器库 / 268 

    9.1.3 开环控制 / 273 

    9.1.4 发布期望状态 / 274 

    9.2 机器人状态估计 / 282 

    9.2.1 从Gazebo获得模型状态 / 282 

    9.2.2 里程计 / 286 

    9.2.3 混合里程计、GPS和惯性传感器 / 292 

    9.2.4 混合里程计和LIDAR / 297 

    9.3 差分驱动转向算法 / 302 

    9.3.1 机器人运动模型 / 303 

    9.3.2 线性机器人的线性转向 / 304 

    9.3.3 非线性机器人的线性转向 / 306 

    9.3.4 非线性机器人的非线性转向 / 308 

    9.3.5 仿真非线性转向算法 / 309 

    9.4 相对于地图坐标系的转向 / 312 

    9.5 小结 / 317 

    第10章 移动机器人导航 / 318 

    10.1 构建地图 / 318 

    10.2 路径规划 / 323 

    10.3 move_base客户端示例 / 328 

    10.4 修改导航栈 / 331 

    10.5 小结 / 335 

    第五部分 ROS中的机械臂 / 337 

    第11章 底层控制 / 338 

    11.1 单自由度移动关节机器人模型 / 338 

    11.2 位置控制器示例 / 339 

    11.3 速度控制器示例 / 342 

    11.4 力控制器示例 / 344 

    11.5 机械臂的轨迹消息 / 349 

    11.6 7自由度臂的轨迹插值动作服务器 / 353 

    11.7 小结 / 354 

    第12章 机械臂运动学 / 355 

    12.1 正向运动学 / 356 

    12.2 逆向运动学 / 360 

    12.3 小结 / 365 

    第13章 手臂运动规划 / 366 

    13.1 笛卡儿运动规划 / 36
查看详情
12
系列丛书 / 更多
C#7.0本质论
算法心得:高效算法的奥秘(原书第2版)
[美]Henry S.、Jr. 著;爱飞翔 译
C#7.0本质论
侯门新妇-嫤语书年
海青拿天鹅 著
C#7.0本质论
名家经典系列:Windows 运行时编程权威指南
[美]瑞奇特(Jeffrey Richter)、[美]布什彼特(Maarten van de Bospoort) 著;段菲、周靖 译
C#7.0本质论
修改代码的艺术
[美]Michael C. Feathers 著;侯伯薇 译
C#7.0本质论
服务设计模式:SOAP/WSDL与RESTful Web服务设计解决方案
[美]Robert Daigneau 著;姚军 译
相关图书 / 更多
C#7.0本质论
C#从入门到精通(第7版)
明日科技
C#7.0本质论
C#程序设计实验指导与习题测试(第4版)
余青松;江红
C#7.0本质论
C#程序设计
路炜
C#7.0本质论
C#编程开发实战(微课视频版)
郭佳佳;涂振;陈林
C#7.0本质论
C#可视化程序设计案例教程 第5版
刘培林 史荧中 刘贵锋
C#7.0本质论
C#与.NET 6开发从入门到实践
敖瑞
C#7.0本质论
C#高级编程(第12版)
[奥地利]克里斯琴·内格尔(Chrisitian Nagel) 著;李铭 译
C#7.0本质论
C#面向对象程序设计教程(微课视频版)
夏磊;仲宝才;张翀
C#7.0本质论
C#程序设计案例教程
李攀
C#7.0本质论
C#函数式编程(第2版)
[美]恩里科·博南诺(Enrico Buonanno) 著;张骏温 译
C#7.0本质论
C#.NET项目开发案例教程(微课视频版)
陈建国;王莹;张锦;王如龙
C#7.0本质论
C#程序设计(第2版)
刘君瑞;姜学锋
您可能感兴趣 / 更多
C#7.0本质论
齐波的植物图集
马克·让松
C#7.0本质论
就要付出一切(全面了解攀岩文化与精神,《徒手攀岩》主角传记)
马克·辛诺特 著;新经典 出品
C#7.0本质论
胸外科疑难病症诊断决策(第4版)
马克·K.弗格森
C#7.0本质论
算法社会:技术、权力和知识(法律与科技译丛)
马克·舒伦伯格(Marc Schuilenburg)
C#7.0本质论
天猫文库:汤姆·索亚历险记:法国百年艺术出版社甄选(小学六年级上 快乐读书吧)
马克·吐温 著;张友松 译
C#7.0本质论
纯粹·盗贼之家
马克·特雷尼克 纯粹 Pura 出品
C#7.0本质论
非地点:超现代性人类学导论
马克·奥热
C#7.0本质论
人工智能伦理学
马克·考科尔伯格
C#7.0本质论
灵工经济--批判性导论
马克·格雷厄姆 著;董志强 译;[英]杰米·伍德考克
C#7.0本质论
战争回忆录:1914—1915
马克·布洛赫
C#7.0本质论
飞跃百年:百架最佳飞行器
马克·菲尔普斯(Mark Phelps;罗伯特·高耶尔(Robert Goyer)
C#7.0本质论
第二语言习得中的形式—意义联结
马克·奥弗斯特里特 主编;欧阳敏姿 译;[美]比尔·范帕腾;杰西卡·威廉姆斯;苏珊娜·罗特;杨燕锋;张晓帅