Skip to content

This project is supporting code for the book of Robot SLAM Navigation Core Technology and the Actual Combat.

License

Notifications You must be signed in to change notification settings

xiihoo/Books_Robot_SLAM_Navigation

Repository files navigation

《机器人SLAM导航核心技术与实战》张虎 著 (随书源码+课件+习题答案)

温馨提示

  • 配套源码中存在一些bug(主要是各种库版本冲突和配置文件方面的兼容问题)的部分代码还未上传,我正在抓紧修复之后会尽快上传,大家有疑问也可以直接联系我。
  • 基于代号为“miiboo”的机器人项目《自己动手做一台SLAM导航机器人》已经完结。而基于新代号“xiihoo”的机器人项目《机器人SLAM导航:核心技术与实战》正是在项目《自己动手做一台SLAM导航机器人》的基础上衍生而来,今后将主要维护这个xiihoo机器人新项目。而关于旧项目miiboo机器人,想了解详情的话请移步如下链接地址:

关于

资料汇总下载

图书封面

avatar

目录

  • 前言
  • 编程基础篇
  • 第1章 ROS入门必备知识 2
  • 第2章 C++编程范式 29
  • 第3章 OpenCV图像处理 35
  • 硬件基础篇
  • 第4章 机器人传感器 56
  • 第5章 机器人主机 119
  • 第6章 机器人底盘 132
  • SLAM篇
  • 第7章 SLAM中的数学基础 158
  • 第8章 激光SLAM系统 223
  • 第9章 视觉SLAM系统 272
  • 第10章 其他SLAM系统 344
  • 自主导航篇
  • 第11章 自主导航中的数学基础 418
  • 第12章 典型自主导航系统 470
  • 第13章 机器人SLAM导航综合实战 502
  • 附录A Linux与SLAM性能优化的探讨 512
  • 附录B 习题 523

环境要求

  • ubuntu 18.04 LTS
  • ROS melodic

仓库内容说明

  • 1.例程源码
    • chapter_01: ROS入门必备知识
      • topic_example 话题通信
      • service_example 服务通信
      • action_example 动作通信
    • chapter_02: C++编程范式
      • g++_compile 利用g++编译
      • make_compile 利用make编译
      • cmake_compile 利用cmake编译
    • chapter_03: OpenCV图像处理
      • image_from_img 从图片文件中获取图像数据
      • image_from_vid 从视频文件中获取图像数据
      • image_from_cam 从相机设备中获取图像数据
      • calc_hist 直方图均衡
      • xfeatures2d_example 图像特征点提取
      • ikun_opencv_example 图像处理综合实战案例
    • chapter_04: 机器人传感器
      • imu_tk IMU内参标定
      • imu_utils IMU内参标定
      • imu_tools Madgwick姿态融合
      • ManhonyAHRS Manhony姿态融合
    • chapter_05: 机器人主机
    • chapter_06: 机器人底盘
    • chapter_07: SLAM中的数学基础
    • chapter_08: 激光SLAM系统
      • gmapping gmapping激光SLAM系统
      • cartographer cartographer激光SLAM系统
      • loam LOAM激光SLAM系统
    • chapter_09: 视觉SLAM系统
      • orb_slam2 ORB_SLAM2视觉SLAM系统
      • lsd_slam LSD_SLAM视觉SLAM系统
      • svo SVO视觉SLAM系统
    • chapter_10: 其他SLAM系统
      • rtabmap rtabmap激光视觉融合SLAM系统
      • vins VINS视觉惯导融合SLAM系统
      • LeNet-5-tensorflow LeNet-5卷积神经网络
      • CNN_SLAM 基于CNN的SLAM系统
      • DeepVO 基于深度学习的端到端SLAM系统
    • chapter_11: 自主导航中的数学基础
    • chapter_12: 典型自主导航系统
      • ros-navigation
      • riskrrt
      • autoware
    • chapter_13: 机器人SLAM导航综合实战
      • patrol_fsm 多目标点巡逻
    • 更新中......
  • 2.课件
    • 0-先导课:课程大纲.pdf
    • 0-先导课:如何安装Ubuntu系统.pdf
    • 0-先导课:SLAM的应用价值与技术难点.pdf
    • 1-第1季:第0章_SLAM发展综述.pdf
    • 1-第1季:第1章_ROS入门必备知识.pdf
    • 1-第1季:第2章_C++编程范式.pdf
    • 1-第1季:第3章_OpenCV图像处理.pdf
    • 1-第1季:第4章_机器人传感器.pdf
    • 1-第1季:第5章_机器人主机.pdf
    • 1-第1季:第6章_机器人底盘.pdf
    • 1-第1季:第7章_SLAM中的数学基础.pdf
    • 1-第1季:第8章_激光SLAM系统.pdf
    • 1-第1季:第9章_视觉SLAM系统.pdf
    • 更新中......
    • PPT课件下载说明:
  • 3.习题答案
    • 附录B_习题.pdf
    • 更新中......
  • 4.学习思维导图
    • 学习思维导图.png
    • 学习思维导图.xmind
  • 工具软件
    • 三维空间可视化工具XH-3D-VIEW(V1.0.1).zip
  • 自己动手做一台SLAM导航机器人
    • code
    • 概述.pdf
    • 前言.pdf
    • 第1章:Linux基础.pdf
    • 第2章:ROS入门.pdf
    • 第3章:感知与大脑.pdf
    • 第4章:差分底盘设计.pdf
    • 第5章:树莓派3开发环境搭建.pdf
    • 第6章:SLAM建图与自主避障导航.pdf
    • 第7章:语音交互与自然语言处理.pdf
    • 附录A:用于ROS机器人交互的Android手机APP开发.pdf
    • 附录B:用于ROS机器人管理调度的后台服务器搭建.pdf
    • 附录C:如何选择ROS机器人平台进行SLAM导航入门.pdf

知乎专栏教程

视频教程

第三方库引用说明

本项目最终是为了将书本中学习到的理论知识应用到实战,并通过动手实践制作出一台可以实际运行的SLAM导航机器人(也就是“xiihoo”机器人)。实战过程中,除了需要搭建机器人硬件,还需要搭建机器人软件及相应的软件运行环境。系统和软件版本并不是越新越好,够用就行了,大家切记。本项目推荐使用ubuntu18.04操作系统和ROS melodic版本,除此之外还涉及到众多第三方库环境,为了方便大家学习将其整理如下:

About

This project is supporting code for the book of Robot SLAM Navigation Core Technology and the Actual Combat.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published