Lab 05

During this lab, you should learn how to work with factorgraph-based SLAM and how to run it in the simulator.

Relevant lectures: 00_1d_mle.pdf, 00_2d_mle.pdf.

Factorgraph SLAM in action

https://www.youtube.com/live/YCE1Aj0k1UA?feature=share&t=2045

The whole Tartan SLAM Series is a great study material for those who want to dive deep into how SLAM in 3D is done in state-of-the-art robotics.

KF vs Factorgraph SLAM

What is the difference between (E)KF SLAM and Factorgraph SLAM?

(E)KF Factorgraph
State Latest robot position, relative marker positions All robot positions, relative marker positions
Memory Requirements Constant in trajectory length, linear in #markers Linear in trajectory length, linear in #markers
Loop Closures Only help current position estimate and markers Help with whole trajectory estimate and markers

Computing Jacobians for factorgraphs

RUR Challenge Worlds

What would the residuals and Jacobian entries look like?

  • Reasonable factors:
    • Global absolute localization (GNSS, Vicon, RFID): $res_t^{gps} = ?$
      • 2-DOF, 3-DOF
    • Compass: $res_t^{compass} = ?$
    • Absolute pose priors: $res_t^{prior} = ?$
    • Interpolate marker measurement between two poses for better precision: $res_t^{mri} = ?$
    • Motion model (e.g. differential drive model): $res_t^{motion} = ?$
      • How to construct the model if $u_t$ are wheel velocities?
    • Loop closures: $res_t^{loop} = ?$
    • Velocity measurements in body frame: $res_t^{vel} = ?$
    • UWB localization (radio beacons with distance measurement): $res_t^{uwb} = ?$
    • UWB relative marker: $res_t^{uwbm} = ?$
    • Bluetooth detection (radio beacons without distance measurement): $res_t^{bt} = ?$
      • This introduces inequality constraints which are generally not very well handled.
      • You can use a robust loss to approximate the inequality.
      • Or you can pass the inequality bounds to the bounds parameter of least_squares.
    • Marker as LED in camera (cannot tell its distance): $res_t^{led} = ?$
  • Silly factors (RUR Challenge). Figure out a sensor that could use them.
    • Slow light propagation: Marker detections are delayed.
    • Gravity field changing in space (can you try to map it?).
    • Time “speed” distortion changes with position (+ sensor that measures sin(distortion)). (Darius Diebold)
    • Gravitational field that changes rapidly with position on surface (+ sensor that measures sin(||x||)). (Laura G. Hernandez)
    • Wavy gravity field (+ sensor that measures sin(x*x)). (Marc Simon)
    • Mass of drilling robot increases exponentially with depth (+ sensor that measures x*exp(-x)). (Jan Kubis)
    • Space-dependent time distortion (+ sensor that measures x+sin(x+distortion)). (Stanislav Kunst)
    • Gravity depends on sin(x) (+ sensor that observes a landmark and measures sign of gravity). (Michal Meciar)
    • Pose updates with x + sin(x) + u (+ sensor that measures log(1 + x*x)). (Mark Horpynych)
    • Gravity decreases with r^(1.5), (+ sensor that localizes known black holes). (Stefan Kando)
    • Light propagates according to c * log(t) (+ sensor that measures exp(||x||) and angle to markers). (Votjech Klouda)
    • Gravity field is influenced by cosine of position (+ sensor that measures sin(omega * x)). (Matej Mihulka)
    • Strong magnetic field causing observable Faraday rotation (+ sensor that measures 1/x). (Tomas Ort)
    • Magic crystals slowing down time (+ sensor that measures 1/||x-m||). (Valeriia Timonova)
    • Gravity as a sine wave (+ time-delayed sensor that measures sin(x-m)). (Shaawaiz Haider)
    • Teleportation world (+ sensor measuring sine of position). (Theodoros Kokkoris)
    • Time-warping on ash-filled orbit (+ sensor that measures sin(x)). (Muhammad Moeed Zeb)
    • Non-Newtonian fog (+ sensor that measures exp(|x-m|^2)). (Adam Cetlovsky)
    • Time-varying gravity (+ drunken shepherd sensor that measures gravity). (Jozef Gal)
    • World with waving string interaction strength, materials transmuting all the time (+ sensor that measures ln(1 + x)). (Krystof Svejda)
    • Gas giant world (+ sensor measuring (x-m)^2). (Vit Zoubek)
    • Objects with same phases attracted (+ sensor that measures sin(r+phi)). (Patrik Martisko)
    • Friction is inversely proportional to sound level (+ sensor that measures acoustic slip). (Kyaw Htet Lin)

Homework 4 assignment

Read and try to understand the assignment of the homework HW4.

courses/aro/tutorials/lab05.txt · Last modified: 2026/03/30 02:21 by peckama2