移动机器人运动规划(一)--概述和课程介绍

某蓝学院开设的机器人运动规划课程,干货很多。本人正好也是做无人驾驶决策规划这方面的工作的,所以记录一下学习心得!如果觉得有用可以去官网支持!

课程一共八节,按照老规矩也分八篇博客来记录,话不多说,开始第一节课!

Introduction

工科思维三问(www):是什么(what)为什么(why)怎们办(how)?本节课和所有的教程课一样,回答了是什么的问题。是一个对课程的整体介绍。
移动机器人运动规划(一)--概述和课程介绍
这门课是一个学院派的风格,一个模块化的机器人开发流程,而不会介绍时下火热的基于端对端的开发。Path finding算法属于“前端”,我们不希望在这上面花费太多的算力和代价,因此往往会把一些高维问题转换为低维问题,找到一个粗略的可行解;Trajectory generation属于“后端”,称之为轨迹生成或者轨迹优化环节,这时候会把它变成一个真正的可行解,满足机器人动力学约束等等的一条轨迹。此外,这门课还包含一些实时软件开发的一些内容。
这门课不包括机器人的动力学建模,机器人的设计(软硬件选型),端对端的方法(工业界不实用),严谨的数学证明。

移动机器人运动规划(一)--概述和课程介绍
本门课程所需要的一些知识技能:线性代数、概率论、Matlab、C++、Linux。这些技能都是机器人行业的必备。
移动机器人运动规划(一)--概述和课程介绍
自主机器人所必备的几个部分:感知规划控制的链路闭环。

移动机器人运动规划(一)--概述和课程介绍
一些常见的机器人应用。

Aerial Robots

移动机器人运动规划(一)--概述和课程介绍
空中机器人:无人机,用来空中探测,空中拍照,喷洒农药。

Ground Robots

移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
地面机器人:灾后重建机器人,扫地机器人,野外越野机器人,还有现在行业内特别火热的无人驾驶。
移动机器人运动规划(一)--概述和课程介绍
总结一下什么是自主机器人:

  1. 首先我们需要状态估计(定位);
  2. 基于此,利用传感器融合人建立一个周围环境的三维地图;
  3. 基于状态估计和感知,运动规划模块被要求在复杂、未知的环境下能够生成安全且动力学可行的移动机器人运动轨迹;
  4. 最后交给控制器实现所生成的轨迹;

移动机器人运动规划(一)--概述和课程介绍
运动规划要具备以下几个基本的要求:

  • 首先就是安全性,也就是可以躲避所有的障碍物;
  • 第二点就是光滑性,这个主要考虑到节约有限的能量,并且保证诸如无人机航拍时的平稳性、无人驾驶的乘客舒适性;
  • 最后是动力学上的可行性;

本门课程遵循的是学院派的风格,也就是把整个规划问题分为前端(路径发现/路径搜索)和后端(轨迹生成/轨迹优化)。在前端,要在一个相对低维的状态空间(通常是离散的),去找一个初始的、安全的、让机器人课通行的一个初始值,解的质量可能不是很好,我们称之为Path,这个路径通常是没有时间信息的并且只局限在低维的信息。之后我们再通过后端的轨迹优化,把这样一个低维的Path转变为可执行的高维的轨迹,会用到很多优化的技巧。

移动机器人运动规划(一)--概述和课程介绍
对于机器人研究的一些建议:如ppt所讲。
移动机器人运动规划(一)--概述和课程介绍
如何做规划方面的工作 :首先要有一个对规划的总体认知,针对不同的场景不同的需求选择合适的算法,并且常常需要设计一些自定义的策略;第二点就是要勇于去做,去调试;最后,因为规划属于一个相对顶层的位置,下面有感知定位控制机械设计等内容,所以要知道整个整个系统的运作才能真正的知道规划的算法是否是有效的。不需要真的去参与到那些部分的开发,但至少要熟悉,达到能够去维护的要求。
移动机器人运动规划(一)--概述和课程介绍
相关领域的课题组推荐。(顶尖的一批)

Course Outline

移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
本次课程的一个提纲:基于搜素的路径规划、基于采样的路径规划、满足机器人动力学要求的规划、轨迹生成、硬约束和软约束的、马尔可夫、模型预测。

Overview

一个简短的概念性介绍,也是经典常见的算法。这里就不赘述了,具体的可以看后面的详细笔记。
移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
Hybird A*要重点提一下,这个是当前很多无人车在用的算法。
移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍

Map Representation

移动机器人运动规划(一)--概述和课程介绍
对于地图,可以把它分为两个重要的模块:其一是存储表示这个地图的数据结构;另一个则是用什么方法去做地图的信息融合算法。
移动机器人运动规划(一)--概述和课程介绍
最常用的是栅格地图表示,具有以下几个特点:最稠密;结构化;直接进行坐标索引查询:复杂度为O(1)O(1)
移动机器人运动规划(一)--概述和课程介绍
八叉树结构:没有障碍物的用一个大的空白方块表示,有障碍物的地方递归切分,直到找到包含障碍物的小方块 ,将其存储到内存中。
特点:稀疏;结构化;非直接的坐标索引查询(树查询)。

移动机器人运动规划(一)--概述和课程介绍
体素哈希(不太好翻译,需要 意会):相当于“字典查询”。
特点:最稀疏的,一般用在三维重建领域;结构化;非直接的坐标索引查询
移动机器人运动规划(一)--概述和课程介绍
点云地图:无序的;无法进行坐标索引查询。点云使用方法:pcl库。
移动机器人运动规划(一)--概述和课程介绍
截断的有符号距离函数(也是不好翻译的)。
移动机器人运动规划(一)--概述和课程介绍
欧式带符号的距离函数。
移动机器人运动规划(一)--概述和课程介绍

移动机器人运动规划(一)--概述和课程介绍

Pre-requirement

移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
移动机器人运动规划(一)--概述和课程介绍
一些必备的技能。

关于课程的ROS demo这里就不再赘述了,都是很基础的一些操作,不熟悉的可以去看官方教程或者看我之前推荐的一些ROS学习资料

本节课到此结束!