新書推薦:
《
小原流花道技法教程
》
售價:HK$
112.7
《
少女映像室 唯美人像摄影从入门到实战
》
售價:HK$
113.9
《
詹姆斯·伍德系列:不负责任的自我:论笑与小说(“美国图书评论奖”入围作品 当代重要文学批评家詹姆斯·伍德对“文学中的笑与喜剧”的精湛研究)
》
售價:HK$
89.7
《
武当内家散手
》
售價:HK$
51.8
《
诛吕:“诸吕之乱”的真相与吕太后时期的权力结构
》
售價:HK$
102.4
《
炙野(全2册)
》
售價:HK$
80.3
《
女人的胜利
》
售價:HK$
57.4
《
数据有道:数据分析+图论与网络+微课+Python编程(鸢尾花数学大系:从加减乘除到机器学习)
》
售價:HK$
273.7
|
內容簡介: |
本书是学习ROS的实用化书籍。从对机器人的介绍开始,由浅入深依次讲解ROS依赖的Linux系统、常用的高级编程语言Python、ROS环境和机器人编程开发实训等内容。在学习ROS开发过程中,本书在实战篇加入了SLAM建图、视觉跟随和物联网控制等前沿知识的介绍,使读者在学习编程技能的同时,能够更加深入地理解最新的机器人控制理论。为了发挥ROS与ROS2各自的优势,本书提出了ROS与ROS2混合编程方法,并给出了翔实的实践案例。 本书可供从事无人驾驶和移动机器人研究的科研工作者、高校教师及相关专业学生使用。
|
關於作者: |
张锐,北京钢铁侠科技有限公司创始人。荣获北京市优秀毕业生、北京市优秀人才(青年骨干)、中关村雏鹰人才、北京市青年人才托举工程、中关村高聚工程领军人才、青岛市拔尖人才,承担过北京市科技重大专项等多项省部级项目。
|
目錄:
|
目 录预 备 篇第1章 绪论11.1 机器人的概念及特点11.1.1 机器人的由来11.1.2 机器人的定义21.1.3 机器人的主要特点31.2 机器人的组成与分类31.2.1 机器人的组成31.2.2 机器人的分类41.3 智能机器人101.3.1 智能机器人的定义101.3.2 脑科学与智能机器人111.3.3 人工智能在机器人中的应用11第2章 Linux基础142.1 Linux简介142.1.1 Linux的发行版142.1.2 Linux应用领域152.2 Linux系统目录结构152.3 Linux用户及用户组管理182.4 Linux文件属性管理202.4.1 查看文件属性202.4.2 文件属性修改212.4.3 文件权限修改222.5 Linux目录管理242.5.1 常用命令242.5.2 文件内容查看指令272.5.3 重定向与追加282.6 Linux包操作29第3章 Python基础313.1 Python简介313.1.1 Python发行版313.1.2 Python特点323.2 Python基础介绍323.2.1 基础导引323.2.2 变量333.2.3 数据类型343.2.4 条件语句353.2.5 循环语句363.2.6 切片操作373.3 数据常用操作方法383.3.1 字符串常见操作383.3.2 列表常见操作433.3.3 字典常见操作463.3.4 集合常见操作513.3.5 元组常见操作523.3.6 逻辑运算543.4 函数543.4.1 函数简介543.4.2 参数(argument-list)553.4.3 局部变量与全局变量573.4.4 返回值583.4.5 递归函数593.4.6 匿名函数593.4.7 列表推导式593.4.8 字典推导式603.4.9 常用内置函数613.5 面向对象643.5.1 面向过程与面向对象643.5.2 类与实例653.5.3 类属性与实例属性653.5.4 类方法与静态方法683.5.5 魔法方法693.5.6 面向对象的三大特性713.6 常用术语介绍74基 础 篇第4章 ROS概述764.1 初识ROS764.2 PC安装ROS794.3 Raspberry 系统下安装ROS的脚本83第5章 ROS基础845.1 文件系统级845.2 计算图级865.3 开源社区级875.4 文件系统工具875.4.1 使用rospack875.4.2 使用roscd885.4.3 使用rosls895.4.4 使用rosed895.4.5 使用roscp895.5 创建工作空间895.5.1 创建工作空间简介905.5.2 工作空间目录解析905.6 功能包的创建与编译915.6.1 catkin功能包的组成915.6.2 创建功能包925.6.3 功能包依赖关系925.6.4 功能包命名规范935.6.5 删除功能包945.6.6 编译功能包945.7 ROS节点965.7.1 启动ROS975.7.2 使用rosnode975.8 ROS主题与节点交互985.8.1 控制turtle移动985.8.2 查看节点信息995.8.3 查看主题信息1005.8.4 使用 rqt_graph1025.9 ROS服务和参数1035.10 创建ROS消息和ROS服务1065.10.1 消息(msg)和服务(srv)介绍1075.10.2 使用 msg1075.10.3 使用 srv1095.11 编写发布器与订阅器1105.11.1 定义msg消息1105.11.2 编写发布器1125.11.3 编写订阅器1145.11.4 启动rqt查看节点信息1155.12 编写服务端和客户端1165.12.1 定义srv服务1165.12.2 编写服务端1185.12.3 编写客户端1205.13 编写launch文件1225.13.1 roslaunch使用方法1225.13.2 编写launch文件介绍125实 战 篇第6章 ARTROBOT机器人移动平台搭建1276.1 三轴全向移动机器人介绍1276.1.1 全向轮结构1276.1.2 底盘结构设计1276.1.3 直流电机的选择1296.1.4 电机驱动板1296.1.5 ROS的主控板1306.2 运动学建模和分析1306.2.1 机器人坐标系系统分析1306.2.2 运动学模型分析1326.2.3 逆运动学模型方程推导1336.2.4 正运动学模型方程推导1356.2.5 航迹推算1366.3 ros_arduino_bridge功能包集1366.3.1 ros_arduino_bridge功能包集简介1376.3.2 安装ros_arduino_bridge功能包集1396.3.3 安装python-serial功能包1396.3.4 串口的操作权限1396.4 下位机Arduino代码详解1406.4.1 ros_arduino_bridge功能简介1406.4.2 创建ros_arduino_bridge项目1416.4.3 mobileBaseArduinoCode.ino1416.4.4 commands.h1476.4.5 encoder_driver.h1476.4.6 encoder_driver.ino1486.4.7 motor_driver.h1516.4.8 motor_driver.ino1516.4.9 omniWheel_controller.h1546.4.10 sensors.h1576.5 上位机ros_arduino_python代码1586.5.1 ros_arduino_python功能简介1586.5.2 arduino.launch1596.5.3 my_arduino_params.yaml1596.5.4 arduino_node.py1606.5.5 base_controller.py161第7章 机器人传感器配置与使用1677.1 惯性测量单元校准和调试1677.1.1 惯性测量单元相关介绍1677.1.2 IMU功能包简介1677.1.3 在ROS环境下复制并编译IMU源码1687.1.4 IMU初始标定1687.1.5 启动IMU测试1687.1.6 单独运行IMU1697.2 雷达调试1707.2.1 雷达选型1707.2.2 下载编译ROS下驱动源码1717.2.3 生成挂载点1727.2.4 启动雷达测试1747.2.5 读取雷达数据1747.3 udev串口配置1777.3.1 udev简介1777.3.2 udev规则1777.3.3 udev内容1797.3.4 udev生效1837.4 ROS中TF变换1847.4.1 TF功能包1857.4.2 TF广播与监听1877.4.3 TF常用工具193第8章 SLAM及导航1988.1 SLAM简介1988.2 常见激光SLAM算法简介1998.3 应用gmapping构建机器人约束条件2008.4 slam_gmapping功能包2018.5 应用gmapping构建二维地图2018.6 SLAM构建地图过程分析2058.6.1 地图分析2058.6.2 SLAM执行过程2068.6.3 gmapping参数设定2078.7 ROS机器人导航简介2098.8 机器人路径规划算法简介2128.9 应用导航功能包实现自主路径规划2148.9.1 路径规划执行过程2148.9.2 导航功能包参数设定215第9章 机器人功能扩展实例2189.1 机器人视觉跟随功能2189.1.1 ROS下摄像头的标定2189.1.2 ROS跟随功能实现2269.1.3 launch启动及效果演示2369.2 机器人+物联网功能2399.2.1 物联网模块介绍2409.2.2 物联网模块硬件接线2409.2.3 物联网模块协议2449.2.4 机器人+物联网功能实现2449.2.5 launch启动及效果演示246第10章 ROS2简介24910.1 从ROS1到ROS224910.1.1 ROS1的局限性25010.1.2 ROS2对ROS1的改进25010.2 ROS2系统架构25110.3 ROS2安装25210.3.1 ROS2在Ubuntu上安装25210.3.2 Ubuntu ROS2测试25310.4 ROS2通信25310.4.1 节点25410.4.2 主题25410.4.3 服务25610.4.4 参数25910.4.5 基本操作26110.5 ROS2编程26210.5.1 工作空间26210.5.2 ROS2功能包26310.5.3 发布者和订阅者26410.5.4 编写简单的服务和客户端节点27010.5.5 创建ROS2消息和服务类型27510.6 ROS1和ROS2之间的桥接通信28310.6.1 ros1_bridge功能包28310.6.2 ros1_bridge之主题通信28310.6.3 ros1_bridge之服务通信285第11章 交叉编译器28611.1 GNU toolchain介绍28611.1.1 gcc和g++28611.1.2 as、ld和ar28711.2 从源码制作gcc编译器28811.3 交叉编译器的制作289
|
|