文轩网图书旗舰店
  • 扫码下单

  • 从ROS1到ROS2无人机编程实战指南 马培立,卞舒豪,陈绍平 等 编 专业科技 文轩网
  • 新华书店正版
    • 作者: 马培立、卞舒豪、陈绍平 主编 戚煜华、潇齐、杨雪 副主编 阿木实验室 组织策划著
    • 出版社: 化学工业出版社
    • 出版时间:2023-05-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    店铺装修中

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    文轩网图书旗舰店

  •      https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: 马培立、卞舒豪、陈绍平 主编 戚煜华、潇齐、杨雪 副主编 阿木实验室 组织策划著
    • 出版社:化学工业出版社
    • 出版时间:2023-05-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2023-04-01
    • 字数:958000
    • 页数:570
    • 开本:16开
    • 装帧:平装
    • ISBN:9787122427984
    • 国别/地区:中国
    • 版权提供:化学工业出版社

    从ROS1到ROS2无人机编程实战指南

    作  者:马培立,卞舒豪,陈绍平 等 编
    定  价:198
    出 版 社:化学工业出版社
    出版日期:2023年05月01日
    页  数:596
    装  帧:平装
    ISBN:9787122427984
    主编推荐

    1.内容讲解从ROS1过渡到ROS2,再到无人机编程应用,层层递进,从基础到实战 2.理论知识辅以程序案例,读者边学边操作,上手快 3.图文并茂,涵盖面广泛,可满足机器人、无人机研发技术人员各个层次的阅读需要

    内容简介

    本书全面介绍了ROS机器人操作系统及其在无人机编程中的应用,内容涵盖智能机器人和无人机等从入门到精通所需的技术开发知识要点。本书从ROS基础知识入手,由ROS1过渡到ROS2再到两者的移植与转换,由浅入深、逐级进阶,以无人机的编程应用为平台,就目前流行的机器人SLAM定位算法、深度学习识别算法、基于运动控制学的控制算法以及全局加局部的轨迹规划算法等重点和难点,进行了详细阐述。全书语言通俗易懂,辅以程序案例及注释,并通过仿真的形式,让读者能够轻松地学习ROS及无人机编程。 本书可供智能机器人及无人机等相关行业技术工作者阅读参考,也是ROS爱好者的实战宝典,还可作为高校相关专业师生的参考书。

    作者简介

    精彩内容

    目录
    第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

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购