书名:ROS2源代码分析与工程应用
ISBN:9787302527459 定价:42元 出版社:清华大学出版社
书名:ROS机器人理论与实践
ISBN:9787302631026 定价:72元 出版社:清华大学出版社
书名:从ROS1到ROS2无人机编程实战指南
ISBN:9787122427984 定价:198元 出版社:化学工业出版社
书名:ROS 2机器人编程实战:基于现代C++和Python 3
ISBN:787111715504 定价:119元 出版社:机械工业出版社
书名:ROS机械臂开发与实践
ISBN:9787122425928 定价:79元 出版社:化学工业出版社
内容简介
本书针对ROS机器人 作系统的初学者,以理论与实践相结合的设计思想为主线,循序渐进地介绍机器人 作系统,以帮助有志于机器人开发的读者方便快捷地上手ROS。主要内容包括ROS机器人 作系统的基础知识、通信机制、运行管理、机器人系统仿真、实体机器人设计、机器人导航,以及ROS进阶等内容。读者学习完本书后,能够入门ROS机器人 作系统,掌握机器人的相关理论知识、构建属于自己的机器人平台并实现机器人自主导航功能,为基于ROS机器人 作系统的产品开发奠定基础。 本书理论结合实践、深入浅出,适用于各类学校的ROS机器人 作系统课程。
ROS2源代码分析与工程应用 系统介绍ROS2.0结构标准、接口、通信模块,分析ROS2.0 的Ament、eProsima、ros、ros2等部分源代码, 介绍ROS2.0工具包,并 从源代码的层面讲解如何基于ROS2.0实现机械臂运动学正解、逆解,机械臂无碰撞运动学逆解,机器人状态和轨迹可视化,机械臂的驱动开发。
本书全面介绍了ROS机器人操作系统及其在无人机编程中的应用,内容涵盖智能机器人和无人机等从入门到精通所需的技术开发知识要点。本书从ROS基础知识入手,由ROS1过渡到ROS2再到两者的移植与转换,由浅入深、逐级进阶,以无人机的编程应用为平台,就目前流行的机器人SLAM定位算法、深度学习识别算法、基于运动控制学的控制算法以及全局加局部的轨迹规划算法等重点和难点,进行了详细阐述。全书语言通俗易懂,辅以程序案例及注释,并通过仿真的形式,让读者能够轻松地学习ROS及无人机编程。 本书可供智能机器人及无人机等相关行业技术工作者阅读参考,也是ROS爱好者的实战宝典,还可作为高校相关专业师生的参考书。
本书介绍了基于ROS 2编程所需的各方面知识,并通过结合基本概念、设计思想、工程实践、编程调试和应用技巧等多面一体进行阐述,使读者可以更加快速地掌握ROS 2机器人编程的核心思想。书中包含大量的代码和实战案例,同时还会讲述开源项目及其相关规范和注意事项,结合作者实际的工程经验、与时俱进的 ROS 2设计思想和源码案例,读者可以学习到不拘泥于软件版本与软件环境的编程知识。此外,本书的*后一章还给出了ROS 2在实际项目中落地的应用策略和实用建议。书中所有源码都已按照ROS 2的相关规范进行开源,并与读者共同维护。 本书为读者提供了全部案例源代码下载和高清学习视频,读者可以直接扫描二维码观看。 本书适合机械、自动化、机器人、计算机、自动驾驶和人工智能等行业的从业者、学生和研究人员,以及 DIY 爱好者和极客等阅读学习。
本书含ROS 基础以及ROS 机械臂全过程开发和实践等内容,是编著者在结合国内外新方法和技术,总结自己多年机器人开发经验以及教学科研成果的基础上完成的。本书第1~4 章简单概述了机械臂基础和ROS 基础,结合具体实践详细讲解了ROS 通信机制、常用组件、TF2 等进功能;第5~7 章基于机械臂控制系统开发的工程实践,详细讲解了ROS 机械臂建模、MoveIt!基础、MoveIt!的编程;第8、第9 章介绍了机械臂的视觉系统和视觉抓取。 本书理论与实践相结合,与实物相结合,配有开源教学软件和课后题答疑解析,所有教学示例均提供C++和Python 两种编程实现,方便读者更好地理解和实践书中内容。 本书可作为普通高校自动化、机器人工程、人工智能等相关业的教材,也可作为机器人和工程师的技术参考书。
目录
第1章 ROS——智能机器人开端 001
1.1 ROS的节点(node) 001
1.1.1 节点 001
1.1.2 节点管理器 001
1.1.3 与节点有关的指令 002
1.2 ROS命令指令与使用 007
1.2.1 与msg相关的命令 007
1.2.2 与topic相关的命令 009
1.2.3 与service相关的命令 015
1.2.4 消息记录与回放命令 017
1.2.5 故障诊断命令 018
1.3 工作空间与功能包的创建 019
1.3.1 工作空间和功能包的组成 020
1.3.2 工作空间的创建 021
1.3.3 编译工作空间 021
1.3.4 设置环境变量 023
1.3.5 检查环境变量 023
1.3.6 功能包的创建 023
1.3.7 package.xml文件内容 025
1.3.8 CMakeLists.txt文件作用 026
1.4 可视化参数指令(Parameter)的使用 029
1.4.1 Parameter Server的使用 029
1.4.2 通过编程实现参数的静态调节 033
1.4.3 实现参数的动态调节 041
1.5 Visual Studio Code环境搭建与美化 045
1.5.1 环境搭建 045
1.5.2 Visual Studio Code 美化 049
1.6 Docker-ROS安装 050
1.6.1 了解Docker 050
1.6.2 Docker的安装 051
1.6.3 在Docker内安装ROS 054
1.6.4 在Docker内安装vncserver 055
1.6.5 测试Docker中ROS及其GUI界面 055
1.7 ROS搭建VSC调试环境 058
1.7.1 安装插件 058
1.7.2 在VScode中配置ROS环境 058
1.7.3 在VScode中debug代码 059
第2章 ROS编程及插件二次开发 065
2.1 发布者(Publisher)的编程与实现 065
2.1.1 learning_topic功能包的创建 065
2.1.2 ROS中如何实现一个Publisher 066
2.1.3 用C++实现Publisher及代码讲解 066
2.1.4 用Python实现Publisher及代码讲解 069
2.2 订阅者(Subscriber)的编程与实现 071
2.2.1 ROS中如何实现一个Subscriber 072
2.2.2 用C++实现Subscriber及代码讲解 072
2.2.3 用Python实现Subscriber及代码讲解 074
2.3 自定义话题(Topic)实现 076
2.3.1 自定义消息类型的创建 076
2.3.2 编程实现话题(C++) 079
2.3.3 编程实现话题(Python) 082
2.4 客户端(Client)的编程与实现 084
2.4.1 learning_service功能包的创建 085
2.4.2 srv文件的理解 085
2.4.3 ROS中如何实现一个Client 086
2.4.4 用C++实现Client及代码讲解 086
2.4.5 用C++实现Python及代码讲解 088
2.5 服务端(Server)的编程与实现 091
2.5.1 Trigger型文件 091
2.5.2 ROS中如何实现一个Server 092
2.5.3 用C++实现Server及代码讲解 092
2.5.4 用Python实现Server及代码讲解 095
2.6 自定义服务(Service)实现 098
2.6.1 自定义服务类型的创建 098
2.6.2 编程实现服务(C++) 100
2.6.3 编程实现服务(Python) 104
2.7 行为(Action)编程与实现 108
2.7.1 Action的工作机制 108
2.7.2 learning_action功能包的创建 112
2.7.3 编程实现动作(C++) 113
2.7.4 编程实现动作(Python) 121
2.8 多节点启动脚本(launch)文件的编程与实现 123
2.8.1 launch文件 123
2.8.2 launch文件的基本成分 123
2.8.3 launch文件编程 126
2.9 ROS设置plugin插件 128
2.9.1 什么是plugin 128
2.9.2 pluginlib的工作原理 128
2.9.3 实现plugin的步骤 128
2.9.4 plugin的实现 129
2.9.5 在ROS中使用创建的plugin 132
2.10 基于RVIZ的二次开发——plugin 134
2.10.1 plugin的创建 134
2.10.2 补充编译规则 140
2.10.3 实现结果 141
2.11 ROS多消息同步与多消息回调 142
2.11.1 什么是多消息同步与多消息回调 142
2.11.2 实现步骤 142
2.11.3 功能包的创建 143
2.11.4 全局变量形式 :TimeSynchronizer 143
2.11.5 类成员的形式:message_filters::Synchronizer 144
第3章 ROS可视化功能包与拓展 148
3.1 日志输出工具(rqt_console) 148
3.1.1 rqt_console 148
3.1.2 日志的等级 150
3.1.3 rqt_logger_level 151
3.2 数据绘图工具(rqt_plot) 152
3.3 计算图可视化工具(rqt_graph) 155
3.4 图像渲染工具(rqt_image_view) 157
3.5 PlotJuggler 157
3.5.1 PlotJuggler简介 157
3.5.2 ROS系统中安装PlotJuggler 158
3.5.3 初识PlotJuggler 158
3.6 三维可视化工具(rviz) 162
3.6.1 Displays侧边栏 163
3.6.2 Views侧边栏 164
3.6.3 工具栏 165
3.7 三维物理仿真平台(Gazebo) 165
3.7.1 视图界面 165
3.7.2 模型列表 166
3.7.3 模型属性区 167
3.7.4 上工具栏 167
3.7.5 下工具栏 168
3.8 ROS人机交互软件介绍 168
3.8.1 ROS与QT的交互 169
3.8.2 ROS与Web的交互——rosbridge 170
3.8.3 ROS与Java的交互——rosjava 171
3.9 ROS包选择、过滤与裁剪 172
3.9.1 根据topic过滤 172
3.9.2 根据时间过滤 172
3.9.3 同时过滤topic与时间 173
3.9.4 通过rosbag完成ros包操作 173
3.10 常见GUI快速查询 174
3.10.1 rqt_tf_tree 174
3.10.2 rqt_bag 174
3.10.3 rqt_topic 175
3.10.4 rqt_reconfigure 175
3.10.5 rqt_publisher 176
3.10.6 rqt_top 176
3.10.7 rqt_runtime_monitor 177
第4章 ROS2——智能机器人新起点 178
4.1 ROS2的新特性 178
4.1.1 ROS1与ROS2程序书写的不同 178
4.1.2 ROS1与ROS2通信机制的不同 179
4.1.3 ROS1与ROS2功能包、工作空间、环境的不同 180
4.2 ROS2之DDS 180
4.2.1 什么是DDS 181
4.2.2 DDS多机通信 181
4.2.3 中间件RMW 182
4.2.4 DDS调优 183
4.3 Docker—ROS2安装 184
4.3.1 安装 184
4.3.2 安装测试 185
4.3.3 编译并运行示例程序 186
4.3.4 ROS2 docker 安装 187
4.4 ROS2搭建VSC调试环境 191
4.4.1 编译设置 191
4.4.2 Debug设置 192
4.4.3 开启Debug 194
4.5 ROS2工作空间介绍 195
4.5.1 工作空间组成 195
4.5.2 创建一个简单的功能包 196
4.5.3 编译功能包 197
4.6 ROS2的POP和OOP 198
4.6.1 POP和OOP是什么 198
4.6.2 POP与OOP对比 199
4.6.3 小结 199
4.7 发布者(Publisher)的编程与实现 200
4.7.1 ROS2发布者功能确定 200
4.7.2 编写代码(C++实现) 201
4.7.3 编写代码(Python实现) 203
4.7.4 编译代码 204
4.7.5 运行代码 204
4.8 订阅者(Subscriber)的编程与实现 205
4.8.1 ROS2订阅者功能确定 205
4.8.2 编写代码(C++实现) 205
4.8.3 编写代码(Python实现) 207
4.8.4 编译代码 208
4.8.5 运行代码 208
4.9 客户(Client)的编程与实现 209
4.9.1 ROS2服务的简单调用 209
4.9.2 ROS2客户功能确定 210
4.9.3 编写代码(C++实现) 210
4.9.4 编写代码(Python实现) 212
4.9.5 运行代码 213
4.10 服务(Service)的编程与实现 214
4.10.1 ROS2服务任务确定 214
4.10.2 编写代码(C++实现) 214
4.10.3 编写代码(Python实现) 216
4.10.4 运行代码 217
4.11 自定义msg以及srv 218
4.11.1 自定义msg以及srv的意义 218
4.11.2 创建自己的msg、srv文件 218
4.11.3 在其他功能包里引用 219
4.12 ROS2参数(Parameter) 220
4.12.1 参数是什么 220
4.12.2 任务确定 220
4.12.3 程序编写(C++) 220
4.12.4 程序编写(Python) 221
4.12.5 编译并运行代码 222
4.13 ROS2如何一键启动多个脚本 223
4.13.1 ROS2的launch系统 223
4.13.2 在自己的功能包中添加launch文件(C++) 225
4.13.3 在自己的功能包中添加launch文件(Python) 226
4.13.4 编译及运行 227
4.14 Action(server & client)的编程与实现 227
4.14.1 任务确定 228
4.14.2 根据任务创建对应的Action 228
4.14.3 程序编写(C++) 229
4.14.4 程序编写(Python) 233
4.14.5 程序执行 235
4.15 ROS2子节点以及多线程 236
4.15.1 ROS1—Node 和 Nodelets 236
4.15.2 ROS2—统一API 237
4.15.3 component初体验 237
4.15.4 自定义component 239
4.15.5 ROS2中的多线程—callbackgroup 241
4.15.6 多线程的大致流程 242
4.15.7 自定义多线程程序 243
4.16 ROS2中常用命令行工具 243
4.16.1 功能包 243
4.16.2 节点 244
4.16.3 ROS2话题 245
4.16.4 参数(param)命令 247
4.16.5 action命令 248
4.16.6 interface工具 248
4.16.7 doctor工具 250
4.16.8 ROS2可视化GUI与仿真工具 251
发货方式
自动:在特色服务中标有自动发货的商品,拍下后,源码类 软件类 商品会在订单详情页显示来自卖家的商品下载链接,点卡类 商品会在订单详情直接显示卡号密码。
手动:未标有自动发货的的商品,付款后,商品卖家会收到平台的手机短信、邮件提醒,卖家会尽快为您发货,如卖家长时间未发货,买家也可通过订单上的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 女神异闻...