图书目录

目录

第1章树莓派概述

1.1树莓派

1.1.1树莓派发展历史

1.1.2树莓派家族

1.2树莓派扩展板

1.2.1HiFi DAC扩展板

1.2.2树莓派瑞士军刀扩展板

1.2.3其他扩展板

1.3操作系统的选择与安装

1.3.1Raspberry Pi OS

1.3.2NOOBS

1.3.3Ubuntu MATE

1.3.4Snappy Ubuntu Core

1.3.5DietPi

1.3.6RISC OS

1.3.7Windows 10 IoT

1.3.8系统的安装

1.4操作系统初始化

1.4.1显示设置

1.4.2更改区域

1.4.3修改密码

1.4.4其他工作

1.4.5关闭树莓派

第2章树莓派的网络连接

2.1有线网络配置

2.1.1有线连接路由器

2.1.2直连计算机

2.2无线网络配置

2.2.1通过图形化用户界面配置

2.2.2通过修改配置文件连接WiFi

2.3树莓派静态IP地址配置

2.3.1通过图形化界面设置静态IP地址

2.3.2通过修改网络接口文件设置静态IP地址

2.4利用SSH远程控制树莓派

2.4.1SSH简介

2.4.2SSH认证

2.4.3无显示屏启用SSH

2.4.4使用图形化用户界面启用SSH

2.4.5使用终端启用SSH

2.4.6PuTTY通过密码建立SSH连接

2.4.7PuTTY通过SSH key建立SSH连接

2.5利用VNC远程控制树莓派

2.5.1VNC简介

2.5.2安装VNC

2.5.3开启VNC

2.5.4使用VNC远程登录树莓派

2.5.5无法显示桌面的问题

第3章树莓派的基本操作

3.1系统目录

3.2常用的Linux终端快捷键

3.3磁盘管理

3.3.1df命令

3.3.2fdisk命令

3.3.3du命令

3.4文件管理

3.4.1SSH远程连接下的文件管理

3.4.2VNC远程连接下的文件管理

3.5配置NFS服务端

3.5.1NFS简介

3.5.2NFS的工作原理

3.5.3安装NFS服务器组件

3.5.4启动NFS服务

3.6配置NFS客户端

3.6.1安装NFS客户端组件

3.6.2从服务端挂载共享文件

3.6.3卸载文件

第4章树莓派编程环境

4.1Python概述

4.1.1什么是Python

4.1.2Python的特点

4.2Python程序开发

4.2.1部分控制语句

4.2.2迭代器和生成器

4.2.3表达式

4.2.4对象的方法

4.3运行Python程序

4.3.1Thonny Python的界面 

4.3.2Thonny的View选项

4.3.3Thonny的Options选项

4.3.4编写Python程序

第5章WinSCP

5.1WinSCP的安装

5.2导入文件至树莓派

5.3从树莓派中导出文件

第6章树莓派的串口通信

6.1什么是串口通信

6.1.1串口通信的原理

6.1.2串口通信的方式

6.1.3串口通信接口标准

6.2树莓派串口

6.3利用串口与计算机通信

第7章K210芯片和YOLO v3简介

7.1K210

7.1.1K210简介

7.1.2基于K210芯片的开发环境搭建

7.1.3K210芯片的基础功能

7.1.4K210芯片的高级功能

7.2YOLO v3

7.2.1YOLO v3简介

7.2.2训练YOLO v3模型

第8章ROS简介与基础

8.1初识ROS

8.1.1ROS简介

8.1.2ROS的历史

8.1.3ROS的特点

8.2ROS的安装与配置

8.3ROS架构

8.3.1ROS架构简介

8.3.2文件系统

8.3.3计算图

8.3.4开源社区

8.4通信机制

8.4.1话题通信机制

8.4.2服务通信机制

8.4.3参数管理机制

8.4.4话题和服务的区别

8.5ROS开发基础

8.5.1小乌龟例程

8.5.2创建工作空间和功能包

8.5.3自定义软件包

8.5.4深入工作空间

8.5.5创建自定义的ROS消息和服务

8.5.6话题通信的开发

8.5.7服务通信的开发

第9章ROS常用组件

9.1rosbag数据记录与回放

9.1.1录制数据(创建.bag文件)

9.1.2录制所有发布的话题

9.1.3检查并回放.bag文件

9.1.4录制数据子集

9.1.5rosbag录制和回放的局限性

9.2launch文件

9.2.1介绍

9.2.2命令用法

9.2.3传递参数

9.2.4解析 launch 文件

9.3TF

9.3.1TF的作用

9.3.2TF示例

9.3.3TF的使用方法

9.4rqt工具箱

9.4.1日志输出工具(rqt_console)

9.4.2计算图可视化工具(rqt_graph)

9.4.3数据绘图工具(rqt_plot)

9.4.4参数动态配置工具

9.5RViz三维可视化工具

9.5.1安装并运行RViz

9.5.2数据可视化

9.5.3插件扩展机制

第10章机器人平台

10.1机器人的定义与组成

10.1.1机器人的定义

10.1.2机器人的组成

10.2激光雷达

10.2.1激光雷达简介

10.2.2激光雷达的参数

10.3深度相机

10.3.1深度相机简介

10.3.2深度相机分类

10.4机器人教学平台介绍

10.5运行机器人

10.5.1配置环境变量

10.5.2远程连接机器人

10.5.3验证配置

10.5.4键盘控制机器人移动

第11章SLAM建图与自主导航

11.1基础理论

11.1.1SLAM简介

11.1.2传感器简介

11.2准备工作

11.3传感器信息

11.3.1环境深度信息

11.3.2里程计信息

11.4SLAM建图算法

11.4.1GMapping算法 

11.4.2Hector算法

11.4.3cartographer

11.5机器人导航

11.5.1导航功能包

11.5.2机器人的导航配置

11.5.3机器人导航实践

11.5.4多点连续导航

第12章机器人视觉

12.1摄像头标定

12.2ROS图像数据

12.2.1机器人的二维图像数据

12.2.2三维点云数据

12.3OpenCV库

12.3.1OpenCV安装

12.3.2机器人中的文件结构

12.3.3OpenCV 图像处理示例

12.4二维码识别

12.4.1识别功能包

12.4.2生成二维码标签 

12.4.3摄像头识别二维码

12.5视觉目标追踪

12.5.1KCF算法简介

12.5.2KCF物体跟踪算法使用

12.6深度相机与VSLAM

12.6.1深度相机模拟激光雷达

12.6.2ORBSLAM

12.6.3ORBSLAM 2

12.7RTABSLAM三维建图

12.7.1RTABSLAM介绍

12.7.2机器人RTAB建图

12.7.3机器人RTAB导航

第13章语音功能

13.1语音识别框架

13.2TTS文字转语音

13.2.1获取科大讯飞公司授权ID

13.2.2配置xtark_audio功能包

13.2.3运行xtark_audio功能包

13.3配置语音识别功能包

13.3.1下载SDK

13.3.2替换资源

13.3.3配置语音参数

13.4语音识别功能包

13.4.1功能介绍

13.4.2使用语音识别功能包

13.4.3语音识别功能包使用技巧

第14章综合应用——多机器人系统

14.1网络配置

14.2软件包部署

14.3文件说明

14.4软件包应用

14.4.1多机器人驱动

14.4.2多机器人通信示例

14.4.3多机器人独立控制/同时控制

14.4.4多机器人导航框架

参考文献