Ratkaistu: / tehtävää

HW4. Triangulation and Temporal Filtering

Due date: 2026-02-13 23:59.
Recommended Resources:

Part 1: Problems Using Visualizer

In the first part of the homework, you will explore trajectory filtering and spatial triangulation for a mobile robot using an interactive visualization tool. Rather than reasoning only analytically, you will observe how sets of sampled trajectories evolve over time under a motion model and how sensor measurements prune those sets via intersections of preimages.
2dPlusTimeFiltering

State Space and Environment

The robot moves in a square planar environment:
E = [-1,1] \times [-1,1] \subset \mathbb{R}^2 . \\\
The robot state includes position, heading, speed, and time:
(x_1, x_2, \theta, s, t) \in X, \quad (x_1, x_2) \in E, \\\
in which:

Time

Time is discretized into measurement stages:
t \in \{0,1,2,3,4\}. \\\
At each time stage:

Initial Conditions

At time 𝑡 = 0, you may set up the initial conditions, resulting in the robot’s initial state being either known or partially/fully unknown. You may set up:
The visualization tool generates an initial set of states by sampling:
If no initial conditions are specified, the resulting samples represent complete uncertainty over the state space, and, therefore, over the possible trajectories. The visualizer only shows the (𝑥₁, 𝑥₂, 𝑡) projections of the trajectories. To visualize the paths that the robot executes, you need to further project the trajectories onto the (𝑥₁, 𝑥₂)-plane.

Motion Model

Each sampled state generates a candidate trajectory evolving over time. Between measurement stages, time can be further discretized into Δ𝑡 intervals, and each trajectory evolves according to:
\begin{bmatrix} x_1 \\ x_2 \\ t \end{bmatrix}_{k+1} = \begin{bmatrix} x_1 \\ x_2 \\ t \end{bmatrix}_{k} + \begin{bmatrix} 𝑠_k \cos \theta_k \\ 𝑠_k \sin \theta_k \\ 1 \end{bmatrix} \Delta t . \\\
with optional bounded changes at each Δ𝑡 for:

Sensors

At each time stage, the following geometric sensors may report measurements.

1. Distance-to-Boundary Sensor

This nondeterministic sensor reports the distance from the robot’s position to the closest boundary of the environment:
h_1(x_1, x_2, \theta, 𝑠, t, d) = \min\{1 - |x_1|, 1 - |x_2|\} + 𝑑, \qquad 𝑑 ∈ [−\varepsilon_1, \varepsilon_1]. \\\
Geometrically, the preimage of this sensor is a thick band parallel to the boundary of the square.

2. Vertical 𝑥₁-Strip Sensor

This sensor constrains the 𝑥₁-coordinate:
h_2(x_1, x_2,\theta,𝑠,t,d) = x_1 + d, \qquad d \in [-\varepsilon_2,\varepsilon_2]. \\\
Its preimage is a vertical strip in the (𝑥₁, 𝑥₂)-plane.

3. Horizontal 𝑥₂-Strip Sensor

This sensor constrains the 𝑥₂-coordinate:
h_3(x_1, x_2,\theta,𝑠,t,d) = x_2 + d, \qquad d \in [-\varepsilon_3,\varepsilon_3]. \\\
The corresponding preimage is a horizontal strip in the (𝑥₁, 𝑥₂)-plane.

Triangulation and Trajectory Filtering

At a given time stage, any subset of sensors may be active.
Let the available measurements at a given time stage 𝑡 be denoted by 𝑦₁, 𝑦₂, and 𝑦₃, corresponding to sensors ℎ₁, ℎ₂, and ℎ₃, respectively. The set of states consistent with all available measurements is given by the intersection of the corresponding preimages:
\Delta(y_1, y_2, y_3) = H_1^{-1}(y_{1}) \, \cap \, H_2^{-1}(y_{2}) \, \cap \, H_3^{-1}(y_{3}). \\\
𝑃ₜ ⊆ E denotes the projection of consistent states at time 𝑡 onto position space. That is, 𝑃ₜ consists of all position pairs (𝑥₁, 𝑥₂) for which there exists a state with position (𝑥₁, 𝑥₂) that lies in the intersection of the preimages. Therefore, 𝑃ₜ represents the region in 𝐸 at time stage 𝑡 consistent with sensing.
A trajectory is kept at time stage 𝑡 if its position (𝑥₁(𝑡), 𝑥₂(𝑡)) lies in 𝑃ₜ. Trajectories that violate any measurement constraint are permanently discarded/filtered out.

Visualization

The visualization tool takes as input a set of parameters that define the initial conditions, sampling resolution, and motion model of the robot. These parameters determine which candidate trajectories are generated and how they evolve over time before being pruned by sensor measurements. The parameters are listed below:

Operating the Visualizer

This helps visually interpret:
Note: Any change to parameters—whether manual or via Reset to Defaultstakes effect only after clicking Initialize.

Question 1

In the visualizer, do not change any default settings except for the initial conditions. In particular:
  • Keep the sampling resolutions, motion model, sensor measurements and tolerance parameters unchanged.
  • Use the default values for everything except the initial conditions 𝑥₁,₀, 𝑥₂,₀, 𝜃₀, 𝑠₀.
Which of the following statements are TRUE? (6 correct statements)
Important note: Keep in mind that the paths that the robot can execute are the projection of the visualized trajectories onto the (𝑥₁, 𝑥₂)-plane.
Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Question 2

In the visualizer, use the default values for everything except the following sampling parameters:
  • number of 𝑥₁/𝑥₂ grid points,
  • number of heading samples,
  • number of speed samples,
  • maximum speed 𝑠ₘₐₓ.
Which of the following statements are TRUE? (7 correct statements)
Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Question 3

In the visualizer, use the default values for everything except the motion model parameters listed below:
  • You may vary the time step Δ𝑡.
  • Heading can change is set to ON, unless otherwise stated.
  • Speed can change is set to ON, unless otherwise stated.
  • You may vary the maximum heading change per step, Δ𝜃/Δ𝑡.
  • You may vary the maximum speed change per step, Δ𝑠/Δ𝑡.
When Heading can change and/or Speed can change are set to ON, during each Δ𝑡 a random change in heading and/or speed (within the specified maximum values) is applied to the trajectory.
Which of the following statements are TRUE? (3 correct statements)
Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Question 4

In this question, consider only the measurements at time 𝑡 = 0.
  • Do not change any default sampling, motion model, or visualization parameters.
  • Ignore trajectory propagation and pruning at later stages.
  • Focus only on the geometric preimages of the sensors at 𝑡 = 0.
Which of the following statements are TRUE? (3 correct statements)
Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Question 5

Use the visualizer with all parameters set to their default values except for the sensor measurements specified below.
Sensor measurements:
  • At 𝑡 = 0: ℎ₂ = −1, ℎ₃ = −1, with tolerances 𝜀₂ = 𝜀₃ = 0.2, defining the region 𝑃₀.
  • At 𝑡 = 4: ℎ₂ = 1, ℎ₃ = 1, with tolerances 𝜀₂ = 𝜀₃ = 0.2, defining the region 𝑃₄.
With the setup above, a path survives if:
  • its initial position lies in 𝑃₀ at time 𝑡 = 0, and
  • its position at time 𝑡 = 4 lies in 𝑃₄.
The questions below ask which changes to the default parameters can likely result in at least one surviving path reaching 𝑃₄.
Which of the following statements are TRUE? (5 correct statements)
Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Question 6

Use the visualizer with all parameters set to their default values except for the following.
  • At 𝑡 = 0:
    • ℎ₂ = −1, ℎ₃ = −1, 𝜀₂ = 𝜀₃ = 0.2, defining 𝑃₀.
  • At intermediate times:
    • 𝑡 = 1: ℎ₁ = 0.3, 𝜀₁ = 0.2.
    • 𝑡 = 2: ℎ₁ = 0.5, 𝜀₁ = 0.2.
    • 𝑡 = 3: ℎ₁ = 0.8, 𝜀₁ = 0.2.
  • At 𝑡 = 4:
    • ℎ₂ = 1, ℎ₃ = 1, 𝜀₂ = 𝜀₃ = 0.2, defining 𝑃₄.
You are not allowed to change these sensor measurements or the default tolerances, but you may change any other parameter in the visualizer.
A path survives if:
  • its initial position lies in 𝑃₀ at 𝑡 = 0, and
  • its position at 𝑡 = 4 lies in 𝑃₄.
Your task is to adjust the visualizer parameters so that at least one path survives at time 𝑡 = 4. Then, submit the complete set of parameter values you used, excluding sensor measurements and tolerances (which must remain unchanged).
Format your answer as shown below:
  • initial 𝑥₁,₀: ___
  • initial 𝑥₂,₀: ___
  • initial heading 𝜃₀: ___
  • initial speed 𝑠₀: ___
  • 𝑥₁/𝑥₂ grid points: ___
  • heading samples: ___
  • speed samples: ___
  • 𝑠ₘₐₓ: ___
  • time step Δ𝑡: ___
  • heading can change: ___
  • speed can change: ___
  • max heading change Δ𝜃/Δ𝑡 (deg): ___
  • max speed change Δ𝑠/Δ𝑡: ___

Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Question 7

Use the visualizer with all parameters set to their default values except for the following sensor measurements and tolerances:
  • 𝑡 = 0: ℎ₂ = -0.9, ℎ₃ = -0.9, 𝜀₂ = 𝜀₃ = 0.4.
  • 𝑡 = 1: ℎ₂ = 0.8, ℎ₃ = -0.8, 𝜀₂ = 𝜀₃ = 0.4.
  • 𝑡 = 2: ℎ₂ = 0.7, ℎ₃ = 0.7, 𝜀₂ = 𝜀₃ = 0.4.
  • 𝑡 = 3: ℎ₂ = -0.6, ℎ₃ = 0.6, 𝜀₂ = 𝜀₃ = 0.4.
  • 𝑡 = 4: ℎ₂ = -0.5, ℎ₃ = -0.5, 𝜀₂ = 𝜀₃ = 0.4.
Similarly to the previous question, your task is to adjust the visualizer parameters so that at least one path survives at time 𝑡 = 4. Then, submit the complete set of parameter values you used, excluding sensor measurements and tolerances (which must remain unchanged).
Format your answer as shown below (put default if you didn't update a value):
  • initial 𝑥₁,₀: ___
  • initial 𝑥₂,₀: ___
  • initial heading 𝜃₀: ___
  • initial speed 𝑠₀: ___
  • 𝑥₁/𝑥₂ grid points: ___
  • heading samples: ___
  • speed samples: ___
  • 𝑠ₘₐₓ: ___
  • time step Δ𝑡: ___
  • heading can change: ___
  • speed can change: ___
  • max heading change Δ𝜃/Δ𝑡 (deg): ___
  • max speed change Δ𝑠/Δ𝑡: ___

Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Part 2: Analytical Problems

Question 8

Consider the state space 𝑋 = ℝ³. Assume there are two beacons:
  • one at 𝑏₁ = (0, 0, 0),
  • another at 𝑏₂ = (0, 0, 6).
Sensors ℎ₁ and ℎ₂ report the Euclidean distance to the first and second beacon, respectively:
h_i(x) = \lVert x - b_i \rVert,\quad i \in \{1,2\}. \\\
Select all correct statements: (6 correct statements)
Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Question 9

Consider an IMU that has a three-axis accelerometer which reports linear acceleration in three canonical directions. The state space is 𝑋 = ℝ⁹, in which the components are 3D position, 3D velocity, and 3D acceleration. The state is 𝑥 = (𝑝, 𝑝̇, 𝑝̈), in which 𝑝 ∈ ℝ³ is position, 𝑝̇ ∈ ℝ³ is velocity, and 𝑝̈ ∈ ℝ³ is acceleration. The accelerometer sensor mapping is ℎ₁(𝑝, 𝑝̇, 𝑝̈) = 𝑝̈. Also, consider a GPS unit that provides position. Thus, ℎ₂(𝑝, 𝑝̇, 𝑝̈) = 𝑝.
Select all correct statements: (6 correct statements)
Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Question 10

Consider the temporal filtering problem shown in the figure. An intruder, modeled as a point, moves around in a 2D environment 𝑋 = 𝐸. There are several beam detection sensors scattered around, each of which is a line segment that connects between two points on the boundary of 𝐸. If the intruder crosses a beam, then the letter that appears by the beam is the sensor observation. It is assumed that if the intruder touches a beam then it must cross it. Furthermore, it cannot touch exactly the intersection point between two beams. The environment 𝐸 contains eight regions, labeled from 𝑅₁ to 𝑅₈. Inside each region, the intruder may move freely without being detected.
Let 𝑿̃ be the set of all possible continuous intruder trajectories of the form 𝑥̃ : [0,100] → 𝐸, in which [0,100] is the time interval. Initially, it is unknown where in 𝐸 the intruder may be, other than assuming it is not placed directly on top of a beam at time 𝑡 = 0.
(5 correct statements)
Varoitus: Et ole kirjautunut sisään. Et voi vastata.

Authors

Anna LaValle, Steven M. LaValle.
?