本书含ROS 基础以及ROS 机械臂全过程开发和实践等内容,是编著者在结合国内外新方法和技术,总结自己多年机器人开发经验以及教学科研成果的基础上完成的。本书第1~4 章简单概述了机械臂基础和ROS 基础,结合具体实践详细讲解了ROS 通信机制、常用组件、TF2 等进功能;第5~7 章基于机械臂控制系统开发的工程实践,详细讲解了ROS 机械臂建模、MoveIt!基础、MoveIt!的编程;第8、第9 章介绍了机械臂的视觉系统和视觉抓取。
本书理论与实践相结合,与实物相结合,配有开源教学软件和课后题答疑解析,所有教学示例均提供C++和Python 两种编程实现,方便读者更好地理解和实践书中内容。
本书可作为普通高校自动化、机器人工程、人工智能等相关业的教材,也可作为机器人和工程师的技术参考书。
第1章 机械臂基础
1.1 机械臂系统组成 001
1.1.1 机械系统 001
1.1.2 驱动系统 001
1.1.3 感知系统 002
1.1.4 控制系统 002
1.2 机械臂主要技术参数 002
1.2.1 自由度 002
1.2.2 定位度 003
1.2.3 工作空间 003
1.2.4 速度和加速度 004
1.2.5 承载 004
1.3 空间描述和变换 004
1.3.1 位置描述 005
1.3.2 姿态描述 005
1.3.3 机器人位姿 007
1.3.4 坐标变换 007
1.4 机械臂正、逆运动学 008
1.4.1 关节空间和笛卡儿空间 008
1.4.2 正运动学 009
1.4.3 逆运动学 009
1.5 推荐阅读 009
本章小结 009
题1 010
第2章 认识ROS
2.1 什么是ROS 011
2.2 ROS 的安装与测试 011
2.2.1 作系统和ROS 版本选择 011
2.2.2 安装ROS Melodic Morenia 版本 012
2.2.3 测试ROS 015
2.3 ROS 文件系统 015
2.3.1 catkin 工作空间和ROS 功能 015
2.3.2 创建工作空间 017
2.4 教学代码 018
2.4.1 下载安装教学代码 018
2.4.2 Qt Creator 开发环境 019
2.4.3 教学代码简要说明 025
2.5 ROS 的通信架构 026
2.5.1 节点与ROS Master 027
2.5.2 消息 027
2.5.3 话题 027
2.5.4 服务 028
2.5.5 动作 028
2.5.6 话题、服务和动作对比 028
2.5.7 参数服务器 028
2.6 ROS 计算图和命名空间 029
本章小结 029
题2 030
第3章 ROS 基础实践
3.1 消息的定义和使用 031
3.1.1 消息的描述和类型 031
3.1.2 自定义消息类型 033
3.1.3 消息的使用 035
3.2 rospy 和roscpp 客户端 035
3.3 话题通信和编程实现 036
3.3.1 话题的发布节点(Python) 036
3.3.2 话题的订阅节点(Python) 040
3.3.3 话题的发布节点(C++) 042
3.3.4 话题的订阅节点(C++) 046
3.3.5 话题通信测试 049
3.4 服务通信和编程实现 052
3.4.1 服务的定义 052
3.4.2 自定义服务类型 053
3.4.3 服务的服务端节点(Python) 055
3.4.4 服务的客户端节点(Python) 057
3.4.5 服务的服务端节点(C++) 059
3.4.6 服务的客户端节点(C++) 061
3.4.7 服务通信测试 062
3.5 ROS 中的参数 064
3.5.1 rosparam 命令行工具 064
3.5.2 参数服务器(Python) 066
3.5.3 参数服务器(C++) 068
本章小结 071
题3 071
第4章 ROS 进实践
4.1 动作通信和编程实现 073
4.1.1 Action 的定义 073
4.1.2 Action 的服务端节点(Python) 076
4.1.3 Action 的客户端节点(Python) 079
4.1.4 Action 的服务端节点(C++) 081
4.1.5 Action 的客户端节点(C++) 084
4.1.6 Action 通信测试 085
4.2 ROS 常用组件和工具 089
4.2.1 XML 语法规范 089
4.2.2 launch 启动文件 090
4.2.3 RViz 可视化平台 096
4.2.4 rqt 工具箱 101
4.2.5 rosbag 数据记录与回放 101
4.3 动态参数配置 101
4.3.1 编写.cfg 文件 102
4.3.2 设置动态参数节点(Python) 103
4.3.3 设置动态参数节点(C++) 107
4.3.4 测试动态参数配置 108
4.4 ROS 中的坐标系和TF2 110
4.4.1 ROS 中的TF 110
4.4.2 编写TF2 广播节点(Python) 113
4.4.3 编写TF2 监听节点(Python) 117
4.4.4 编写TF2 广播节点(C++) 119
4.4.5 编写TF2 监听节点(C++) 121
4.4.6 TF 测试和常用工具 123
4.5 扩展阅读 126
本章小结 127
题4 127
第5章 ROS 机械臂建模
5.1 URDF 建模原理和语法规范 128
5.1.1 什么是URDF 128
5.1.2 urdf 功能 128
5.1.3 URDF 语法规范 129
5.2 机械臂URDF 建模 133
5.2.1 创建机械臂描述功能 134
5.2.2 创建机械臂URDF 模型 134
5.2.3 添加机械臂夹爪模型 136
5.2.4 URDF 调试工具 139
5.2.5 在RViz 中可视化模型 140
5.3 xacro 语言简化URDF 模型 142
5.3.1 xacro 模型文件常用语法 143
5.3.2 使用xacro 简化机械臂URDF 模型 145
5.3.3 为机械臂添加移动底盘 148
5.4 sw2urdf 件 149
5.4.1 sw2urdf 件简介 150
5.4.2 sw2urdf 件导出的功能 150
5.4.3 XBot-Arm 机械臂的URDF 模型 153
5.5 robot_state_publisher 发布TF 157
5.5.1 robot_state_publisher 原理简介 157
5.5.2 编写/joint_states 话题发布节点 160
本章小结 163
题5 163
第6章 MoveIt!基础
6.1 MoveIt!软件架构 164
6.1.1 move_group 节点 165
6.1.2 运动学求解器 166
6.1.3 运动规划器 166
6.1.4 规划场景 168
6.1.5 碰撞检测 168
6.2 MoveIt!可视化配置 168
6.2.1 安装MoveIt!并启动配置助手 169
6.2.2 生成自碰撞矩阵 170
6.2.3 添加虚拟关节 171
6.2.4 添加规划组 173
6.2.5 添加机器人位姿 176
6.2.6 添加末端执行器 179
6.2.7 添加被动关节 180
6.2.8 ROS 控制 181
6.2.9 Simulation 182
6.2.10 设置3D 传感器 182
6.2.11 添加作者信息 182
6.2.12 自动生成配置文件 182
6.3 使用RViz 快速上手MoveIt! 183
6.3.1 启动Demo 并配置RViz 件 184
6.3.2 使用MotionPlanning 交互 187
6.3.3 设置规划场景测试碰撞检测 189
6.4 MoveIt!配置功能解析 193
6.4.1 SRDF 文件 193
6.4.2 kinematics.yaml 文件 195
6.4.3 joint_limits.yaml 文件 195
6.4.4 ompl_planning.yaml 文件 196
6.4.5 fake_controllers.yaml 文件 196
6.4.6 demo.launch 启动文件 196
6.4.7 move_group.launch 文件 198
6.4.8 setup_assistant.launch 文件 200
6.5 MoveIt!控制真实机械臂 201
6.5.1 通信机制和系统架构 201
6.5.2 添加MoveIt!启动文件 204
6.5.3 真实机械臂测试 205
6.6 使用MoveIt!的命令行工具 206
本章小结 210
题6 210
第7章 MoveIt!的编程
7.1 关节目标和位姿目标规划 211
7.1.1 演示模式下测试 212
7.1.2 关节目标规划示例(Python) 213
7.1.3 关节目标规划示例(C++) 216
7.1.4 位姿目标规划示例(Python) 218
7.1.5 位姿目标规划示例(C++) 222
7.2 笛卡儿路径规划 223
7.2.1 演示模式下测试 224
7.2.2 直线运动示例(Python) 226
7.2.3 直线运动示例(C++) 230
7.2.4 圆弧运动示例(Python) 232
7.2.5 圆弧运动示例(C++) 235
7.3 避障规划 237
7.3.1 演示模式下测试 237
7.3.2 避障规划示例(Python) 240
7.3.3 避障规划示例(C++) 245
7.4 物品抓取与放置 247
7.4.1 演示模式下测试 247
7.4.2 pick 和place 编程接口 250
7.4.3 编程实现物品抓取与放置(Python) 252
7.4.4 编程实现物品抓取与放置(C++) 257
本章小结 260
题7 260
第8章 机械臂的视觉系统
8.1 视觉系统概述 261
8.2 ROS 图像接口和相机驱动 261
8.2.1 使用usb_cam 功能测试USB摄像头 262
8.2.2 Image 和CompressedImage图像消息 264
8.2.3 RealSense 相机的驱动安装和测试 265
8.2.4 PointCloud2 点云消息 269
8.3 相机的标定 270
8.3.1 camera_calibration 简介和安装 270
8.3.2 camera_calibration 的相机标定 270
8.4 cv_bridge 功能 275
8.4.1 cv_bridge 安装和测试 275
8.4.2 cv_bridge 的使用示例(Python) 277
8.4.3 cv_bridge 的使用示例(C++) 279
8.5 颜色检测 282
8.5.1 HSV 颜色检测和测试 282
8.5.2 编程实现HSV 颜色检测(Python) 285
8.5.3 编程实现HSV 颜色检测(C++) 288
8.6 ROS 中的物体检测 289
8.6.1 物体检测简述 289
8.6.2 find_object_2d 节点的测试 291
8.6.3 find_object_3d 节点的测试 293
8.6.4 darknet_ros 的安装和测试 295
本章小结 297
题8 297
第9章 机械臂的视觉抓取
9.1 视觉抓取关键技术分析 298
9.2 AR 标签检测与定位 302
9.2.1 ar_track_alvar 的简介与安装 302
9.2.2 创建AR 标签 303
9.2.3 检测AR 标签 304
9.3 机械臂手眼标定 306
9.3.1 手眼标定的基本原理 306
9.3.2 easy_handeye 的安装和准备工作 308
9.3.3 眼在手外的手眼标定 312
9.3.4 手眼标定结果的发布和使用 318
9.4 基于AR 标签识别的自动抓取 319
9.4.1 应用系统原理 319
9.4.2 应用测试 322
9.4.3 编程实现自动抓取(Python) 324
9.4.4 编程实现自动抓取(C++) 327
本章小结 330
题9 330
参考文献
书名:ROS2源代码分析与工程应用
出版社:清华大学出版社
出版日期:2019
ISBN号:9787302527459
定 :42.00
ROS2源代码分析与工程应用》系统介绍ROS2.0结构标准、接口、通信模块,分析ROS2.0 的Ament、eProsima、ros、ros2等分源代码, 介绍ROS2.0工具,并 从源代码的层面讲解如何基于ROS2.0实现机械臂运动学正解、逆解,机械臂无碰撞运动学逆解,机器人状态和轨迹可视化,机械臂的驱动开发
第1章ROS2简介
1.1ROS2 Ardent Apalone概述
1.2ROS2安装及环境配置
1.2.1安装ROS2
1.2.2运行talker和listener
1.3ROS2的基本命令
1.3.1ROS2核心命令
1.3.2ROS与ROS2交互相关命令
第2章ROS2 Ardent框架及功能的源码分析
2.1ROS2 Ardent总体框架
2.2ROS2 Ardent源代码概述
2.3ament代码分析
2.3.1主要函数解析
2.3.2基于Google Mock的白盒测试
2.4FastCDR代码分析
2.5FastRTPS代码分析
2.5.1FastRTPS主要流程解析
2.5.2FastRTPS主要函数解析
2.6RMW代码分析
2.7robot_model及状态发布代码分析
2.7.1robot_model模块功能
2.7.2机器人状态发布
2.7.3ROS与ROS2的桥接
2.8RCL代码分析
2.9RCLcpp代码分析
第3章第三方工具库
3.1orocos_kinematics_dynamics库
3.2POCO库
3.3URDF
3.3.1URDF语法规范
3.3.2URDF创建机器人模型
3.4PCL库
3.4.1PCL架构
3.4.2PCL数据结构
3.4.3PCL基础
3.5MoveIt
第4章SLAM和导航
4.1SLAM导航简介
4.2GMapping
4.2.1用tf配置机器人
4.2.2发布里程计信息
4.3SLAM实例
4.3.1激光建图
4.3.2导航
4.3.3定位
第5章机械臂控制
5.1六轴机械臂轨迹规划
5.1.1关节空间的轨迹规划
5.1.2笛卡儿空间的轨迹规划
5.2描述机械臂
5.3机械臂实例开发
5.3.1环境下实例开发
5.3.2实际环境下实例开发
第6章机器人视觉
6.1OpenCV图像、视频基础
6.1.1图像处理
6.1.2视频处理
6.1.3可移植的图形工具HighGUI
6.2图像转换
6.3机器人3D视觉
6.3.1libfreenect2简介
6.3.2openni_camera简介
6.3.3openni_tracker简介
6.3.43D视觉设备使用实例
参考文献
书名: ROS机器人理论与实践
出版社: 清华大学出版社
出版日期 2023
ISBN号: 9787302631026
本书针对ROS机器人作系统的初,以理论与实践相结合的设计思想为主线,循序渐进地介绍机器人作系统,以帮助有志于机器人开发的读者方便快捷地上手ROS。主要内容括ROS机器人作系统的基础知识、通信机制、运行管理、机器人系统、实体机器人设计、机器人导航,以及ROS进等内容。读者学完本书后,能够入门ROS机器人作系统,掌握机器人的相关理论知识、构建属于自己的机器人平台并实现机器人自航功能,为基于ROS机器人作系统的产品开发奠定基础。
本书理论结合实践、深入浅出,适用于各类学校的ROS机器人作系统课程。
第1章ROS概述与开发环境搭建1
1.1ROS简介2
1.1.1ROS概要3
1.1.2ROS的设计目标3
1.1.3ROS发展历程4
1.2ROS安装6
1.2.1安装虚拟机软件6
1.2.2虚拟一台主机10
1.2.3安装和化Ubuntu12
1.2.4安装ROS20
1.2.5测试ROS22
1.3ROS快速体验24
1.3.1HelloWorld实现简介24
1.3.2HelloWorld(C++版)25
1.3.3HelloWorld(Python版)26
1.4ROS集成开发环境搭建27
1.4.1安装端27
1.4.2安装VSCode29
1.4.3launch文件演示32
1.5ROS架构32
1.5.1ROS文件系统34
1.5.2ROS文件系统相关命令40
1.5.3ROS计算图41
1.6本章小结42
第2章ROS通信机制43
2.1话题通信43
2.1.1理论模型45
2.1.2基本作(C++)462.1.3基本作(Python)49
2.1.4自定义msg51
2.1.5自定义msg调用(C++)53
2.1.6自定义msg调用(Python)56
2.2服务通信58
2.2.1理论模型58
2.2.2自定义srv59
2.2.3自定义srv调用(C++)61
2.2.4自定义srv调用(Python)65
2.3参数服务器68
2.3.1理论模型68
2.3.2参数作(C++)69
2.3.3参数作(Python)73
2.4常用命令75
2.4.1rosnode75
2.4.2rostopic75
2.4.3rosmsg76
2.4.4rosservice77
2.4.5rossrv78
2.4.6rosparam78
2.5通信机制实79
2.5.1话题发布80
2.5.2话题订阅83
2.5.3服务调用86
2.5.4参数设置89
2.6通信机制比较91
2.7本章小结92
〖3〗ROS机器人理论与实践目录〖3〗第3章ROS通信机制进93
3.1常用API93
3.1.1初始化93
3.1.2话题与服务相关对象94
3.1.3回旋函数99
3.1.4时间99
3.1.5其他函数103
3.2ROS中的头文件与源文件104
3.2.1自定义头文件调用104
3.2.2自定义源文件调用106
3.3Python模块导入107
3.4本章小结108
第4章ROS运行管理109
4.1ROS元功能109
4.2ROS节点运行管理launch文件110
4.2.1
标签111
4.2.2 标签111
4.2.3 标签112
4.2.4 标签112
4.2.5 标签112
4.2.6 标签113
4.2.7 标签113
4.2.8 标签113
4.3ROS工作空间覆盖114
4.4ROS节点重名115
4.4.1rosrun设置命名空间与名称重映射116
4.4.2launch文件设置命名空间与名称重映射117
4.4.3编码设置命名空间与名称重映射117
4.5ROS话题名称设置117
4.5.1rosrun设置话题重映射118
4.5.2launch文件设置话题重映射119
4.5.3编码设置话题名称119
4.6ROS参数名称设置122
4.6.1rosrun设置参数122
4.6.2launch文件设置参数123
4.6.3编码设置参数123
4.7ROS分布式通信125
4.8本章小结126
第5章ROS常用组件127
5.1TF坐标变换128
5.1.1坐标msg消息129
5.1.2静态坐标变换130
5.1.3动态坐标变换136
5.1.4多坐标变换142
5.1.5坐标系关系查看145
5.1.6TF坐标变换实146
5.1.7TF2与TF155
5.1.8小结156
5.2rosbag156
5.2.1在命令行使用rosbag157
5.2.2rosbag的编码实现157
5.3rqt工具箱159
5.3.1rqt安装、启动与基本使用160
5.3.2rqt_graph160
5.3.3rqt_console160
5.3.4rqt_plot161
5.3.5rqt_bag162
5.4本章小结163
第6章ROS机器人系统164
6.1机器人系统概述164
6.1.1机器人系统的概念164
6.1.2机器人系统的作用165
6.1.3相关组件165
6.1.4机器人系统综合说明166
6.2URDF集成RViz基本流程167
6.2.1创建功能并导入依赖168
6.2.2编写URDF文件168
6.2.3在launch文件中集成URDF与RViz168
6.2.4在RViz中显示机器人模型168
6.2.5化RViz启动169
6.3URDF语法详解170
6.3.1robot170
6.3.2link171
6.3.3joint172
6.3.4URDF练176
6.3.5URDF常用工具180
6.4URDF化——Xacro181
6.4.1Xacro快速体验181
6.4.2Xacro语法详解184
6.4.3Xacro完整使用流程示例184
6.4.4Xacro实188
6.5在RViz中控制机器人模型运动190
6.6URDF集成Gazebo193
6.6.1URDF与Gazebo基本集成流程193
6.6.2URDF集成Gazebo相关设置195
6.6.3URDF集成Gazebo实196
6.6.4Gazebo环境搭建202
6.7URDF、Gazebo与RViz综合应用205
6.7.1机器人运动控制以及里程计数据显示205
6.7.2雷达数据以及显示208
6.7.3摄像头数据以及显示211
6.7.4kinect数据以及显示212
6.8本章小结216
第7章环境下的机器人导航218
7.1概述218
7.1.1导航模块简介219
7.1.2导航中的坐标系221
7.1.3导航条件说明221
7.2导航实现222
7.2.1SLAM建图222
7.2.2地图服务225
7.2.3定位227
7.2.4路径规划232
7.2.5导航与SLAM建图238
7.3导航相关消息240
7.3.1地图240
7.3.2里程计241
7.3.3坐标变换241
7.3.4定位242
7.3.5目标点与路径规划242
7.3.6激光雷达243
7.3.7相机244
7.3.8深度图像信息转激光雷达数据245
7.4本章小结249
第8章机器人平台设计250
8.1概述252
8.2Arduino基础252
8.2.1Arduino开发环境搭建253
8.2.2Arduino基本语法257
8.2.3Arduino基本语法展示之一261
8.2.4Arduino基本语法展示之二262
8.2.5Arduino基本语法展示之三263
8.3电机驱动264
8.3.1电机与电机驱动板264
8.3.2电机基本控制实验267
8.3.3电机测速理论268
8.3.4电机测速实现270
8.3.5电机调速PID控制理论272
8.3.6电机调速PID控制实现274
8.4底盘设计277
8.4.1底盘实现概述277
8.4.2Arduino端入口279
8.4.3编码器287
8.4.4Arduino端电机驱动292
8.4.5Arduino端PID控制294
8.5控制系统299
8.5.1树莓派概述300
8.5.2分布式框架302
8.5.3SSH远程连接303
8.5.4安装ros_arduino_bridge305
8.5.5在树莓派上安装ROS307
8.6传感器313
8.6.1激光雷达简介313
8.6.2雷达的使用314
8.6.3相机简介316
8.6.4相机的使用316
8.6.5传感器集成318
8.7本章小结320
第9章实体机器人导航321
9.1概述321
9.2VSCode远程开发322
9.3导航实现324
9.3.1准备工作325
9.3.2SLAM建图329
9.3.3地图服务331
9.3.4定位332
9.3.5路径规划333
9.3.6导航与SLAM建图336
9.4本章小结337
第10章ROS进338
10.1action通信338
10.1.1自定义action文件340
10.1.2自定义action文件调用(C++)342
10.1.3自定义action文件调用(Python)346
10.2动态配置参数349
10.2.1动态配置参数客户端350
10.2.2动态配置参数服务器端(C++)351
10.2.3动态配置参数服务器端(Python)354
10.3pluginlib355
10.4nodelet360
10.4.1使用演示361
10.4.2nodelet实现362
10.5本章小结364
ISBN编号:9787122427984
书名:从ROS1到ROS2无人机编程实战指南本书全面介绍了ROS机器人作系统及其在无人机编程中的应用,内容涵盖智能机器人和无人机等从入门到通所需的技术开发知识要点。本书从ROS基础知识入手,由ROS1过渡到ROS2再到两者的移植与转换,由浅入深、逐级进,以无人机的编程应用为平台,就目前流行的机器人SLAM定位算法、深度学识别算法、基于运动控制学的控制算法以及全局加局的轨迹规划算法等重点和难点,进行了详细阐述。全书语言通俗易懂,辅以程序案例及注释,并通过的形式,让读者能够轻松地学ROS及无人机编程。
本书可供智能机器人及无人机等相关行业技术工作者阅读参考,也是ROS爱好者的实战宝典,还可作为高校相关业师生的参考书。
商品名称: |
ROS 2机器人编程实战:基于现代C++和Python 3 |
作 者: |
徐海望 高佳丽 |
市 场 : |
119.00 |
ISBN 号: |
9787111715504 |
出版日期: |
|
页 数: |
330 |
开 本: |
|
出 版 社: |
机械工业出版社 |
本书介绍了基于ROS 2编程所需的各方面知识,并通过结合基本概念、设计思想、工程实践、编程调试和应用技巧等多面体进行阐述,使读者可以更加快速地掌握ROS 2机器人编程的核思想。书中含大量的代码和实战案例,同时还会讲述开源项目及其相关规范和注意事项,结合作者实际的工程经验、与时俱进的 ROS 2设计思想和源码案例,读者可以学到不拘泥于软件版本与软件环境的编程知识。此外,本书的*后章还给出了ROS 2在实际项目中落地的应用策略和实用建议。书中所有源码已按照ROS 2的相关规范进行开源,并与读者共同维护。
本书为读者提供了全案例源代码下载和高清学视频,读者可以直接扫描二维码观看。
本书适合机械、自动化、机器人、计算机、自动驾驶和人工智能等行业的从业者、学生和研究人员,以及 DIY 爱好者和客等阅读学。
第1章 构建与署ROS 2
1.1 ROS 2的开发环境配置
1.1.1 ROS 2的发行方式
1.1.2 解决依赖问题
1.1.3 从源码安装ROS 2的技巧
1.1.4 便于开发的环境配置
1.2 ROS 2的架构体系
1.2.1 核组件
1.2.2 机器人基础应用组件
1.2.3 可视化组件、示例组件和扩展组件
1.3 ROS 2的构建体系
1.3.1 vcstool的使用
1.3.2 colcon工具链的简介
1.3.3 colcon的构建、测试和查阅
1.4 实战:定制定功能的ROS 2软件堆栈
第2章 模块化的功能和节点
2.1 软件功能的构建
2.1.1 功能的配置方法
2.1.2 功能的构建与测试流程
2.1.3 运行功能中的程序
2.2 节点的构建方法与基本作
2.2.1 节点与节点执行器
2.2.2 建立节点的方法
2.2.3 调试节点的方法
2.2.4 进程、线程与节点的关系
2.3 节点的常见扩展功能
2.3.1 DDS的作用域
2.3.2 ROS的命名空间
2.3.3 生命周期节点
2.4 实战:功能的打与发行
第3章 节点的体系化与扩展
3.1 节点的日志系统
3.1.1 日志的基本分类
3.1.2 收集和查阅日志
3.1.3 日志的应用技巧
3.2 使用启动脚本
3.2.1 构建启动系统
3.2.2 同时运行多个进程
3.2.3 配置启动脚本
3.3 节点的参数系统
3.3.1 为节点加入参数
3.3.2 YAML的基本语法
3.3.3 在launch文件中引入参数
3.4 通用的件系统
3.4.1 建件
3.4.2 动态加载件
3.4.3 件的使用案例
3.5 ROS 2的组件系统
3.5.1 单组件的实现流程
3.5.2 实现自定义的组件
3.5.3 使用组件容器加载多个组件
3.6 实战:RealSense与ROS的桥接
第4章 ROS 2的基础通信
4.1 基于发布订阅模式的topic通信
4.1.1 尝试发布和订阅
4.1.2 调试topic的方法
4.1.3 消息的服务质量
4.1.4 进程内高效通信
4.1.5 尝试共享内存
4.1.6 统计Topic状态
4.2 基于主从式架构的service通信
4.2.1 实现service服务端和客户端
4.2.2 在客户端处理应答
4.2.3 service的局限性
4.3 实战:级联生命周期节点
第5章 ROS 2的扩展通信
5.1 基于主从式架构的action通信
5.1.1 实现action服务端和客户端
5.1.2 在客户端获取反馈、状态和结果
5.1.3 action的占和队列
5.2 接口的使用及其自定义
5.2.1 自定义接口
5.2.2 使用自定义接口
5.2.3 消息编写的基本规范
5.2.4 接口的使用技巧
5.3 基于topic实现的坐标系统
5.3.1 广播静态坐标变换
5.3.2 广播动态坐标变换
5.3.3 监听坐标变换
5.4 实战:模块化的导航功能框架
第6章 面向ROS 2的调试与测试
6.1 调试ROS 2的代码
6.1.1 使用GDB调试
6.1.2 使用ros2_tracing
6.2 使用rosbag2实现持久记录
6.2.1 使用ros2bag录制消息
6.2.2 播放和处理bag文件
6.2.3 在程序中调用rosbag2的API
6.3 实现单元测试
6.3.1 编写简单的单元测试
6.3.2 断言的种类
6.3.3 统计测试覆盖率
第7章 探索ROS 2的扩展功能
7.1 了解开源协议与版权
7.1.1 开源协议介绍
7.1.2 版权信息的重要性
7.1.3 项目中的Notice文件
7.2 构建ROS 2的vendor功能
7.2.1 辨识项目的构建方式
7.2.2 CMake项目的引入
7.2.3 Autoconf项目的引入
7.3 使用ROS 2规范传感器接口
7.3.1 传感器数据的分类
7.3.2 同步多源数据
7.4 实现软硬件诊断系统
7.4.1 更新诊断数据
7.4.2 分析诊断数据
第8章 ROS 2的产品落地指导
8.1 架构设计与硬件选型
8.1.1 硬件平台与外设的选型
8.1.2 软件架构的层次化
8.2 软件实现的注意事项
8.2.1 支持ROS 2的软件平台
8.2.2 原型环境与交付环境
8.2.3 自启动与下电护
8.3 集成与交付
8.3.1 构建环境的可重复署
8.3.2 持续集成与持续交付
8.3.3 开放平台中的CI/CD
发货方式
自动:在特色服务中标有自动发货的商品,拍下后,源码类 软件类 商品会在订单详情页显示来自卖家的商品下载链接,点卡类 商品会在订单详情直接显示卡号密码。
手动:未标有自动发货的的商品,付款后,商品卖家会收到平台的手机短信、邮件提醒,卖家会尽快为您发货,如卖家长时间未发货,买家也可通过订单上的QQ或电话主动联系卖家。
退款说明
1、源码类:商品详情(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、功能不能正常使用等)!有演示站时,与实际源码不一致的(但描述中有"不保证完全一样、可能有少许偏差"类似显著公告的除外);
2、营销推广类:未达到卖家描述标准的;
3、点卡软件类:所售点卡软件无法使用的;
3、发货:手动发货商品,在卖家未发货前就申请了退款的;
4、服务:卖家不提供承诺的售后服务的;(双方提前有商定和描述中有显著声明的除外)
5、其他:如商品或服务有质量方面的硬性常规问题的。未符合详情及卖家承诺的。
注:符合上述任一情况的,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法修改描述!
注意事项
1、在付款前,双方在QQ上所商定的内容,也是纠纷评判依据(商定与商品描述冲突时,以商定为准);
2、源码商品,同时有网站演示与商品详情图片演示,且网站演示与商品详情图片演示不一致的,默认按商品详情图片演示作为纠纷评判依据(卖家有特别声明或有额外商定的除外);
3、点卡软件商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
4、营销推广商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
5、在有"正当退款原因和依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
6、虽然交易产生纠纷的几率很小,卖家也肯定会给买家最完善的服务!但请买卖双方尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于送码网快速介入处理。
送码声明
1、送码网作为第三方中介平台,依据双方交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益;
2、非平台线上交易的项目,出现任何后果均与送码网无关;无论卖家以何理由要求线下交易的(如:要求买家支付宝转账付款的,微信转账付款的等),请联系管理举报,本平台将清退卖家处理。
正版 steam 原子之心 Atomic Heart 国区激活码 cd...
steam 英雄连3 国区激活码CDKEY PC游戏正版 Compan...
【骑砍中文站】PC 中文Steam 骑马与砍杀2 霸主 骑砍2 豪华版...
正版 steam 原子之心 Atomic Heart 国区激活码 cd...
M,日朋礼送男友老公创意实人用星人际机器蓝牙音箱走心情节生礼...
PC中文正版Steam 消逝的光芒2 消失的光芒2 Dying Lig...
Steam 女神异闻录5 皇家版 国区激活码CDKey秒发 Perso...
Steam怪物猎人崛起 曙光DLC 激活码cdkey 怪物猎人曙光 M...
steam 只狼 激活码CDKey 只狼影逝二度 Sekiro: Sh...
steam 女神异闻录5皇家版 国区激活码CDKey P5R 女神异闻...