Motion Planning for Self-Driving Cars

所在平台: Coursera

课程主页: https://www.coursera.org/learn/motion-planning-self-driving-cars

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:自动驾驶汽车的运动规划 课程概述:欢迎参加“自动驾驶汽车的运动规划”,这是多伦多大学自动驾驶汽车专业化的第四门课程。本课程将介绍自动驾驶中的主要规划任务,包括任务规划、行为规划和局部规划。通过本课程的学习,您将能够使用 Dijkstra 算法和 A* 算法在图形或道路网络中找到最短路径,利用有限状态机选择安全的执行行为,并设计最佳、平滑的路径和速度曲线,以安全地绕过障碍物并遵守交通法规。您还将构建环境中静态元素的占用网格地图,并学习如何利用这些地图有效地进行碰撞检测。本课程将使您具备构建完整的自动驾驶规划解决方案的能力,从家到工作地点行驶时表现得与普通驾驶相似,并始终保持车辆的安全。 在本课程的最终项目中,您将实现一个分层运动规划器,通过 CARLA 模拟器导航一系列场景,包括避免停靠在车道上的车辆、跟随前方车辆以及安全通过交叉路口。您将面临真实世界的随机性,并需要确保您的解决方案能够应对环境的变化。 此课程为中级课程,适合具有一定机器人学背景的学习者,基于该专业化第一门课程中构建的模型和控制器。成功学习本课程需具备 Python 3.0 编程经验,以及线性代数(矩阵、向量、矩阵乘法、秩、特征值、特征向量和逆)及微积分(常微分方程、积分)的基础知识。 课程大纲: 1. 课程介绍:介绍运动规划课程及补充资料。 2. 规划问题:描述自动驾驶运动规划问题的复杂性和挑战,定义主要驾驶场景、损失函数和约束条件,并介绍层次运动规划优化的通用形式。 3. 规划映射:介绍占用网格作为一种基本数据结构,处理空间离散化,并讨论其计算需求及压缩与过滤三维激光扫描以形成二维地图的方法。 4. 驾驶环境中的任务规划:研究最短路径搜索的概念,使用 Dijkstra 和 A* 算法在驾驶地图中导航。 5. 动态对象互动:引入动态障碍,并评估车辆与行人之间的碰撞时间。 6. 行为规划原理:建立基于规则的行为规划系统,指导更高级别的驾驶决策,如变道、超车和通过交叉路口。 7. 静态环境中的反应规划:开发基于局部信息的反应规划器,以识别无碰撞且可行的路径。 8. 综合应用 - 平滑局部规划:介绍参数曲线及其优化,以制定可满足曲率约束的路径。 本课程将为您提供必要的技能,助力您在自动驾驶领域的深入探索。

课程大纲

Name:Welcome to Course 4: Motion Planning for Self-Driving Cars

Description:This module introduces the motion planning course, as well as some supplementary materials.

Name:Module 1: The Planning Problem

Description:This module introduces the richness and challenges of the self-driving motion planning problem, demonstrating a working example that will be built toward throughout this course. The focus will be on defining the primary scenarios encountered in driving, types of loss functions and constraints that affect planning, as well as a common decomposition of the planning problem into behaviour and trajectory planning subproblems. This module introduces a generic, hierarchical motion planning optimization formulation that is further expanded and implemented throughout the subsequent modules.

Name:Module 2: Mapping for Planning

Description:The occupancy grid is a discretization of space into fixed-sized cells, each of which contains a probability that it is occupied. It is a basic data structure used throughout robotics and an alternative to storing full point clouds. This module introduces the occupancy grid and reviews the space and computation requirements of the data structure. In many cases, a 2D occupancy grid is sufficient; learners will examine ways to efficiently compress and filter 3D LIDAR scans to form 2D maps.

Name:Module 3: Mission Planning in Driving Environments

Description:This module develops the concepts of shortest path search on graphs in order to find a sequence of road segments in a driving map that will navigate a vehicle from a current location to a destination. The modules covers the definition of a roadmap graph with road segments, intersections and travel times, and presents Dijkstra’s and A* search for identification of the shortest path across the road network.

Name:Module 4: Dynamic Object Interactions

Description:This module introduces dynamic obstacles into the behaviour planning problem, and presents learners with the tools to assess the time to collision of vehicles and pedestrians in the environment.

Name:Module 5: Principles of Behaviour Planning

Description:This module develops a basic rule-based behaviour planning system, which performs high level decision making of driving behaviours such as lane changes, passing of parked cars and progress through intersections. The module defines a consistent set of rules that are evaluated to select preferred vehicle behaviours that restrict the set of possible paths and speed profiles to be explored in lower level planning.

Name:Module 6: Reactive Planning in Static Environments

Description:A reactive planner takes local information available within a sensor footprint and a global objective defined in a map coordinate frame to identify a locally feasible path to follow that is collision free and makes progress to a goal. In this module, learners will develop a trajectory rollout and dynamic window planner, which enables path finding in arbitrary static 2D environments. The limits of the approach for true self-driving will also be discussed.

Name:Module 7: Putting it all together - Smooth Local Planning

Description:Parameterized curves are widely used to define paths through the environment for self-driving. This module introduces continuous curve path optimization as a two point boundary value problem which minimized deviation from a desired path while satisfying curvature constraints.

课程评论(0条)

课程详情

Welcome to Motion Planning for Self-Driving Cars, the fourth course in University of Toronto’s Self-Driving Cars Specialization. This course will introduce you to the main planning tasks in autonomous driving, including mission planning, behavior planning and local planning. By the end of this course, you will be able to find the shortest path over a graph or road network using Dijkstra's and the A* algorithm, use finite state machines to select safe behaviors to execute, and design optimal, smooth paths and velocity profiles to navigate safely around obstacles while obeying traffic laws. You'll also build occupancy grid maps of static elements in the environment and learn how to use them for efficient collision checking. This course will give you the ability to construct a full self-driving planning solution, to take you from home to work while behaving like a typical driving and keeping the vehicle safe at all times. For the final project in this course, you will implement a hierarchical motion planner to navigate through a sequence of scenarios in the CARLA simulator, including avoiding a vehicle parked in your lane, following a lead vehicle and safely navigating an intersection. You'll face real-world randomness and need to work to ensure your solution is robust to changes in the environment. This is an intermediate course, intended for learners with some background in robotics, and it builds on the models and controllers devised in Course 1 of this specialization. To succeed in this course, you should have programming experience in Python 3.0, and familiarity with Linear Algebra (matrices, vectors, matrix multiplication, rank, Eigenvalues and vectors and inverses) and calculus (ordinary differential equations, integration).

课程标签

0人关注该课程

主题相关的课程