4 Motion Planning for Self-Driving Cars 课程习题编程解答及笔记

自动驾驶课程 - The 4th 运动规划 - 课后答案及部分解释

  • Module 1 Graded Quiz
  • Module 3 Graded Quiz
  • Module 4 Graded Quiz
  • Module 5 Graded Quiz
  • Module 6 Graded Quiz
  • Course 4 Final Project

前言:这真的是很难得全方位介绍自动驾驶的组成到实现(理论上),专注于无人驾驶方向的课程算是头一个了(其他课程好像花钱的挺贵,Coursera真心算是为想自学的人提供了一个便捷的方法——可以通过15天的申请申请全部课程)
我建议大家还是申请官方的课程编程作业和自动驾驶仿真真的很有必要入一下,做一下,才能理解一些运动模型的建立过程,代码的实现吧。

  1. Coursera官方链接
  2. b站搬运不是很高清的 CC英文字幕 但是UP主有建github 下载了视频和课件可以去看看评论区获取吧。

尽管这样,我还是想强调一遍直接在Coursera申请助学金来听课是效果最好的,一来能督促自己(因为申请的课程是必须要通过的 不通过下次就不能申请其他课程了),二来编程作业只能通过会员/申请/付费来解锁。

希望这以下笔记,和解题答案思路等能给大家领个头,也一起共同学习进步,毕竟国内似乎还没有专门这么针对无人驾驶的课程专项。(为多伦多大学打call)

Module 1 Graded Quiz

1.Which are examples of common scenarios in the autonomous driving motion planning problem?
D

2.What are some examples of dynamic obstacles?
E

3.True or false, the autonomous driving mission takes pedestrian behaviour into consideration.
False

4.True or false, “Staying Stopped” is a maneuver that is useful for handling traffic light controlled intersections.
True

!5.Which of these are reasons for decomposing motion planning into a hierarchy of optimization problems?
Can tailor each optimization problem to specific level of abstraction
More computationally efficient

6.True or false, instantaneous curvature is the inverse of the instantaneous turning radius at a point on a curve.
True

7.Static obstacles constrain…
The locations the car can occupy

8.A leading vehicle in the ego vehicle’s lane constrains…
The car’s longitudinal velocity

9.True or false, the time gap is the amount of time that it would take for the ego vehicle to reach the current position of its leading vehicle.
True

!10.True or false, the friction ellipse is always a tighter constraint than the comfort rectangle.
False

11.To generate the shortest path to a point, we need to minimize…
Arc length

12.The integral of difference (IOD) term in a planning objective function can be used to…
D

13.True or false, jerk is the derivative of acceleration with respect to time.
True

14.True or false, maximizing jerk increases the comfort of our planned trajectory.
False

15.The _____ at each point in the path constrains the velocity that can be driven at that point, due to the lateral acceleration constraints.
Curvature

!16.True or false, mission planning focuses on map-level navigation from the ego vehicle’s current position to a final destination.
True

17.What are some examples of the inputs a finite state machine might take in the context of behaviour planning for autonomous driving?
Pedestrain locations
Traffic
Vehicle positions

18.True or false, reinforcement learning relies on interacting with an environment during the learning process.
True

19.What is a drawback of using a sampling-based method for path planning?
If run for a minimal number of iterations, it can generate poor quality paths

20.True or false, a conformal lattice planner selects goal points ahead of the car that are laterally offset from the centerline of the road, plans paths to each goal point, then selects the best collision-free path according to some objective function.
True

Module 3 Graded Quiz

1.Which best describes the mission underlying an autonomous vehicle’s mission planner?
Navigate a road network to the desired destination from the ego vehicle’s position

2.Which of these are examples of good values to optimize in a mission planner’s objective function?
Time to destination
Distance travelled

3.What is a graph in the mission planning context?
A discrete mathematical structure used for representing the road network

!4.True or false, Breadth-First Search (BFS) will explore the graph using a “last-in-first-out” data structure known as a stack.
False

5.True or false, Breadth-First Search (BFS) will always find the optimal (shortest) path in an unweighted graph.
True

6.True or false, Breadth-First Search (BFS) will always find the optimal (shortest) path in a weighted graph.
False

7.In these graph search algorithms, what is the main purpose of keeping track of a “closed” set of graph vertices?
It allows us to avoid getting stuck in cycles

8.What is a min heap data structure?
A data structure that stores keys and values, and sorts the keys in terms of their associated values, from smallest to largest.

9.True or false, in a min heap, the root of the heap (the first element) contains the node with the smallest value.
True

10.In Dijkstra’s algorithm, suppose during the process of adding vertices to the open set, we come across a vertex that has already been added to the open set. However, this time we have found a lower cost to reach this vertex than is presently stored in the open set’s min heap. What should be done?
Update the cost of that vertex in the open set’s min heap

11.What is a search heuristic in the context of mission planning?
An estimate of the remaining cost to reach the destination

12.Suppose I have a vertex at location (2.0, 3.0) and another at location (4.0, 5.0). What is the Euclidean distance between these two points (to three decimal places)?
2.828

13.True or false, an admissable heuristic to the A* search algorithm will never underestimate the cost to reach the goal vertex.
False

14.Is the heuristic function h(v) = 0 an admissible heuristic?
Yes, and in this case A* degenerates in DIjkstra’s

15.True or false, the min heap in A* contains the sum of the cost to reach each vertex plus the estimate of the cost to reach the destination from said vertex, according to the search heuristic.
True

Module 4 Graded Quiz

1.Which of the following best describes an example of a maneuver-based prediction assumption for motion prediction?
The operating domain of a vehicle restricts the number of feasible or probable maneuvers it can take

2.Which of the following best describes an example of an interactions-aware prediction assumption for motion prediction?
The behaviour of other agents on the road reduces the space of potential actions

3.Which of the following are aspects of pedestrian motion?
Potential to leave designated areas unpredictably
Low top speed, but rapid changes in direction and speed are possible

4.Which of the following are scenarios for which constant velocity estimation provides a useful estimate?
Straight roads

5.Which of the following are issues with constant velocity prediction?
Ignores the shape of the road
Doesn’t fully account for vehicle kinodynamics
Ignores regulatory elements

6.Which of the following are position-based assumptions for map-aware prediction algorithms?
Vehicles driving down a lane are likely to follow that lane
Lane changes can be predicted based on the state of the blinker light of a vehicle

7.Which of the following are velocity-based assumptions for map-aware prediction algorithms?
A yellow light will cause vehicles to reduce their velocity as they approach an intersection
Stop signs will cause vehicles to decelerate to a complete stop
A high-curvature road segment necessitates a slower vehicle speed

8.True or false, the more constraints added to our prediction model, the less generalizable it is to all possible traffic scenarios.
True

9.True or false, in the case of the multi-hypothesis prediction approach, the most likely nominal behaviour of a dynamic obstacle based on its state, appearance, and track information is taken as the object’s predicted motion.
False

10.Which of the following are properties of multi-hypothesis prediction approaches?
Can result in ambiguous predictions
Offers alternative predictions, allowing for fast replanning in case new information arises
Provides a probability distribution over nominal predictions based on the state of the environment.

11.At a high level, what best describes the two fundamental steps in computing time to collision?
Compute the location of a collision point along the predicted paths of the dynamic objects, then compute the amount of time to reach said collision point

12.True or false, the simulation based approach propogates the movement of every vehicle in the scene over a given time horizon into the future, where the state is computed at multiple time steps along the horizon.
True

13.In estimation-based approaches, which of the following are some of the common simplifying assumptions used in the swath intersection computation?
Assuming a constant speed profile along an object’s predicted path
Identifying collision points based on path intersection points
Estimating spatial occupancy using simple geometric primitives

14.Suppose two vehicles are approximated with a single circle each. The center of one circle is at (1.0 m, 3.0 m) and the other is at (4.0 m, 2.0 m). If the radius of both collision checking circles is 1.5 m, will a collision be detected?
No

15.Suppose two vehicles, a leading vehicle and a following vehicle, are moving along a straight line. The center of the leading vehicle is 20 m ahead of the center of the following vehicle. The leading vehicle is moving at 15 m/s, and the following vehicle is moving at 20 m/s. The distance from the center to the front bumper of both vehicles is 2.5 m, and the distance from the center to the rear bumper of both vehicles is 2.5 m. What is the time to collision in this scenario?
3

Module 5 Graded Quiz

1.True or false, behavioural planning does not need to take dynamic obstacles into consideration, as it is too low level and should be handled by the local planner.
False

2.As an autonomous vehicle approaches an intersection, which of the following best describes the role of a behavioural planner?
Plan when and where to stop, how long to stay stopped for, and when to proceed through the intersection

3.What is the primary output of a behavioural planning module?
The driving maneuver to be executed in the current environment

4.Which of the following are common inputs to the behavioural planner?
A mission plan
High definition roadmap
Localization information

5.Which of the following are a disadvantage of using finite state machines for behavioural planning?
As the number of states increases, it becomes increasingly complicated to define all possible transition conditions

6.Which portion of the intersection best describes when the ego vehicle is on the intersection?
The interior of the intersection

7.Which of the following can increase the size of the “approaching”, “at”, and “on” zones of an intersection?
The speed of the ego vehicle
The size of the intersection

8.For a 2-lane, 4-way intersection, which of the following maneuvers are absolutely required?
Stop
Track speed
Decelerate to stop

9.For this question, let us use our finite state machine discussed in Module 5 Lesson 2. Suppose the car has entered the “Stop” state while at the intersection. Which of the following is the correct transition condition for the vehicle to enter the “Track Speed” state?
Ego.StopTime >= 3.0 sec

10.For this question, let us use our finite state machine discussed in Module 5 Lesson 2. Suppose the car has entered the “Track speed” state before reaching any zone of the intersection. Which of the following is the correct transition condition for the vehicle to enter the “Decelerate to Stop” state?
Ego.Position == Approaching

11.Which of the following are the key aspects of dynamic objects that we focus upon in behavioural planning?
Distance to collision point
Distance to dynamic object
Time to collision

12.Which of the following best describes the “Follow Leader” maneuver?
Follow the speed of, and maintain a safe distance from the lead vehicle

13.True or false, using the state machine developed in L3, when the ego vehicle is in the “Stop” state when in the presence of dynamic obstacles, it should transition to the “Track Speed” state after 3 seconds have elapsed.
False

14.True or false, using the state machine developed in L3, suppose the ego vehicle is “at” the intersection, and is currently in the “Stop” state and 3 seconds have elapsed. Suppose the only dynamic obstacle is “on” the intersection has a heading of 180 degrees relative to the ego heading, and suppose the ego vehicle intends to drive straight. Which state will the state machine transition to?
Track Speed

15.True or false, using the state machine developed in L3, suppose the ego vehicle is “at” the intersection, and is currently in the “Stop” state and 3 seconds have elapsed. Suppose the only dynamic obstacle is “on” the intersection has a heading of 180 degrees relative to the ego heading, and suppose the ego vehicle intends to turn left. Which state will the state machine transition to?
Stop

16.Which of the following are disadvantages of using a single state machine to handle multiple scenarios?
The amount of computation time required at each step
Complicated to create and maintain all possible cases
Rule explosion when adding new scenarios to the state machine

17.True or false, an example of a hierarchical state machine in the behavioural planning context involves superstates representing each potential scenario and substates representing the maneuvers to be handled in each scenario.
True

18.Following the hierarchical state machine introduced in Module 5 Lesson 4, if we are exiting the intersection and we are currently in the “Intersection Scenario” superstate, which substates of the “Intersection Scenario” will allow us to change to a different superstate?
Track Speed
Follow Leader

19.True or false, the hierarchical state machine is immune to the effects of rule explosion.
False

20.True or false, the hierarchical state machine limits the amount of computation time at each time step by restructuring the search space more efficiently.
True

21.Which of the following are some issues with the state machine approaches presented in Lessons 1-4?
The state machines discussed are only able to handle noise in very limited situations
State machines are unlikely to handle situations that have not been explicitly programmed
The number of hyperparameters required increases as the behaviours get more complex, and inputs get more noisy

22.What is an advantage of rule based systems over state machines?
Rule based systems do not duplicate transitions, as rules can apply throughout significant portions (or all of) the ODD

23.True or false, fuzzy logic systems are more robust to environmental noise than traditional discrete systems, such as a finite state machine.
True

24.True or false, reinforcement learning involves clustering unlabeled data to inform the behavioural planner on the best course of action in each scenario.
False
解释:Please refer to Lesson 5 of Module 5 on Advanced Methods of Behaviour Planning to review this material.

25.Which of the following are some of the shortcomings of reinforcement learning approaches for behavioural planning?
The model simplicity used for reinforcement learning means the results transfer poorly to real-world scenarios
It is challenging to perform rigorous safety assessment or safety guarantees of learned systems, as they are largely black boxes

Module 6 Graded Quiz

1.True or false, a kinematic model gives the equations of motion for our robot, while disregarding the impacts of mass and inertia.
True

2.True or false, a dynamic model is a model used exclusively for rotating robots.
False

3.For the bicycle model, the state of the robot contains which of the following values?
Heading
Y Position
X Position

4.For this image, assuming each path is of equal length, what input parameter to the bicycle model is being varied across each path?
Steering Angle

5.True or false, implementing trajectory propagation recursively is slower than computing the entire sum at each step.
False

6.Why is collision checking computationally challenging in exact form?
All of the above

7.What is the swath of an autonomous vehicle as it drives along a path?
The union of all sets of space occupied by the autonomous vehicle as it traverses the path

!8.Suppose the ego vehicle is currently at the origin, (0.0, 0.0, 0.0), and one of the points in its footprint is at (0.5, 0.5). One point along the ego vehicle’s path is (3.0, 2.0, pi/4). After performing rotation and translation on this footprint point relative to this path point, what is the footprint point’s corresponding position?
(3.0, 2.707)

9.True or false, swath-based collision checking sweeps the ego vehicle’s footprint along its path, and checks to see if any obstacles lie within this set of space.
True

10.Which of the following is not true about circle based collision checking?
It uses the friction circle to estimate how close the ego vehicle can be to nearby obstacles

11.To generate a set of arcs in the trajectory rollout algorithm, which input needs to be varied in our bicycle model?
Steering Angle

12.What is the objective function used in the trajectory rollout algorithm for determining which trajectory to select from the trajectory set?
Minimize the distance from end of trajectoryy to goal

13.True or false, for a fixed velocity, larger steering angles will result in larger curvatures in our bicycle model.
True

14.True or false, the trajectory rollout algorithm finds an optimal path to the goal state according to the kinematic model.
False

15.True or false, the trajectory rollout planner is always able to find a path to the goal state, if one exists.
False

16.True or false, linear velocity is a higher-order term in the kinematic bicycle model.
False

17.What is the purpose of dynamic windowing?
To ensure the angular acceleration and linear acceleration lie below a set threshold

18.Suppose we have a bicycle model travelling at constant velocity v = 1.0 m/s, and length L = 1.0 m. If the time between planning cycles is 0.1 seconds, the previous steering angle delta_ 1 was 0.0 rad, and the current steering angle is 0.5 rad, what is the approximate angular acceleration?
5 x
50 x
0.087 x
0.8 x
0.09 x

19.Suppose we have a bicycle model travelling at constant velocity v = 1.0 m/s, and length L = 1.0 m. If the time between planning cycles is 0.1 seconds, and the previous steering angle delta_ 1 was 0.0 rad. If the maximum angular acceleration is 2.5 rad/s^2, can a path with delta_2 = 0.2 rad be selected this iteration? A. Yes B. No
Yes

20.Suppose we have a bicycle model travelling at constant steering angle delta = 0.0 rad, and length L = 1.0 m. If the time between planning cycles is 0.1 seconds, the previous velocity was 20.0 m/s, and the current velocity is 20.5 m/s, what is the approximate linear acceleration?
5

Course 4 Final Project

你可能感兴趣的:(Self-Driving,无人驾驶,无人驾驶课程)