commit 76d92d2413ef7efee9497c242820124a49ce6e9d
parent 8155bbd4d6cdf2b3f7bde2d8c06f86df892fc532
Author: Andrew Laack <andrew@laack.co>
Date: Sat, 18 Oct 2025 19:26:45 -0500
Took C notes and probabilistic robotics notes
Diffstat:
19 files changed, 162 insertions(+), 17 deletions(-)
diff --git a/docs/Assignments.md b/docs/Assignments.md
@@ -0,0 +1,21 @@
+# Assigments (in C)
+
+**Source:** C Programming Book
+
+**Chapter:** 1.5.1
+
+Assigments in C have a value. This value is the value on the left side of the assigment operator. This can allow for interesting code like
+
+```c
+#include <stdio.h>
+
+int main(){
+ int c;
+ while((c = getchar()) != EOF){
+ putchar(c);
+ }
+}
+
+```
+
+which continually prints the character received when the character received is not equivalent to the symbolic constant 'EOF'.
diff --git a/docs/BayesTheorem.md b/docs/BayesTheorem.md
@@ -2,8 +2,6 @@
L2
-
-
**Definition:** Bayes theroem is $P(A|B) = \frac{P(B|A)P(A)}{P(B)}$
This can be derived by the conditional probability theroem.
diff --git a/docs/BicycleMotion.md b/docs/BicycleMotion.md
@@ -0,0 +1,7 @@
+# Bicycle Motion
+
+**Source:** Probabilistic Robotics
+
+**Chapter:** 5
+
+**Definition:**
diff --git a/docs/C.md b/docs/C.md
@@ -1,4 +1,4 @@
-# C
+/ C
This index tracks c related concepts.
@@ -12,6 +12,8 @@ This index tracks c related concepts.
### Other
- [Escape Characters](EscapeCharacters.md)
+- [Symbolic Constants](SymbolicConstants.md)
+- [Assignments](Assignments.md)
### Types
diff --git a/docs/ComputerScience.md b/docs/ComputerScience.md
@@ -8,6 +8,7 @@ This is the index for my Computer Science related notes.
- [CS 331](CS331.md)
- [Math 310](Math310.md)
- [Computer Security](ComputerSecurity.md)
+- [Probabilistic Robotics](ProbabilisticRobotics.md)
## Personal Interest
diff --git a/docs/Convolution.md b/docs/Convolution.md
@@ -0,0 +1,7 @@
+# Convolution
+
+**Source:** Probabilistic Robotics
+
+**Definition:** A convolution is an operation that shifts one function across the results of another, computing the weighted sum of the results to create a third function.
+
+An example of this is representing the movement of a robot when performing localization. When a robot moves, we can apply a convolution across the previous posterior distribution to make a new prior distribution that takes into account the uncertainty imposed by robot movement.
diff --git a/docs/HistogramFilters.md b/docs/HistogramFilters.md
@@ -0,0 +1,5 @@
+# Historam Filters
+
+**Source:** Probabilistic Robotics
+
+**Definition:** Histogram filters are a binning approach for localization that gives a PMF based on the likelihood an object is at a given location.
diff --git a/docs/KalmanFilters.md b/docs/KalmanFilters.md
@@ -0,0 +1,25 @@
+# Kalman Filters
+
+**Source:** Probabilistic Robotics
+
+**Chapter:** 3
+
+**Definition:** Kalman filters are a continuous, uni-modal approach to localization that combines gaussians to predict position and uncertainty.
+
+## Gaussian Combination
+
+1D Gaussians are defined by the pair $(\sigma^2, mu)$, representing the variance and mean respectively.
+
+With Kalman filters, we want to maintain these two values during our move, sense loop.
+
+To combine two Gaussians we compute the following where we have $(\sigma^2_a, mu_a)$ and $(\sigma^2_b, \mu_b)$:
+
+$\mu_c = \frac{\mu_a * \sigma^2_b + \mu_b * \sigma^2_a}{\sigma^2_a + \sigma^2_b}$
+
+$\sigma^2_c = \frac{1}{\frac{1}{\sigma^2_a} + \frac{1}{\sigma^2_b}}$
+
+## Higher Dimensional Combinations (Multivariate Gaussians)
+
+Higher dimensional gaussians can useful for tracking both position and velocity to improve next step predictions.
+
+Gaussian combination is easy in 1D. The generalization is a bit less so, and uses matrices.
diff --git a/docs/LimitDistribution.md b/docs/LimitDistribution.md
@@ -0,0 +1,7 @@
+# Limit Distribution
+
+**Source:** Probabilistic Robotics
+
+**Definition:** A limit distribution in probabilistic robotics is the probability distribution of a robots location as the number of movements approaches infinity.
+
+If we are losing information during each movement, we converge to the uniform distribution.
diff --git a/docs/Localization.md b/docs/Localization.md
@@ -0,0 +1,30 @@
+# Localization
+
+**Source:** Probabilistic Robotics
+
+**Chapter:** 1
+
+**Definition:** Localization is the problem of determining the coordinates of a robot in an environment.
+
+Localization is a loop of move (lose information) and sense (gain information) steps, entered into with an initial belief.
+
+## Approaches
+
+- [Histogram Filters](HistogramFilters.md)
+
+## Related Ideas
+
+- [Convolution](Convolution.md)
+ - Used during the sensing process of localization
+- [PriorProbability](PriorProbability.md)
+ - Belief after movement or at the start, but before sensing
+- [PosteriorProbability](PosteriorProbability.md)
+ - Belief after sensing
+- [Normalization](Normalization.md)
+ - What we do to find the PMF of histogram filters after sensing and applying our convolution.
+- [LimitDistribution](LimitDistribution.md)
+ - Distribution after infinite movements
+- [Bayes Theorem](BayesTheorem.md)
+ - The essential idea behind the distribution calculation for the sense part of the main loop for histogram filters
+- [Total Probability Theorem](TotalProbabilityTheorem.md)
+ - The probability of a robot being somewhere is the probability of each prior postition times the probability of the transition to the given position
diff --git a/docs/Normalization.md b/docs/Normalization.md
@@ -0,0 +1,5 @@
+# Normalization
+
+**Source:** Probabilistic Robotics
+
+**Definition:** Normalization is the process of transforming values so their relative values remain the same, but their scales may differ.
diff --git a/docs/ParticleFilters.md b/docs/ParticleFilters.md
@@ -0,0 +1,7 @@
+# Particle Filters
+
+**Source:** Probabilistic Robotics
+
+**Chapter:** 4.2
+
+**Definition:**
diff --git a/docs/PosteriorProbability.md b/docs/PosteriorProbability.md
@@ -2,6 +2,4 @@
Ch 1.6
-
-
**Definition:** Posterior probabilities are probabilities after some data has been collected/found/sampled (conditioned probability).
diff --git a/docs/PriorProbability.md b/docs/PriorProbability.md
@@ -2,6 +2,4 @@
Ch 1.6
-
-
**Definition:** Prior probabilities are probabilities prior to a conditional being applied to them (unconditioned probability).
diff --git a/docs/ProbabilisticRobotics.md b/docs/ProbabilisticRobotics.md
@@ -0,0 +1,16 @@
+# Probabilistic Robotics
+
+## Links
+
+### First Semester
+
+- [Localization](Localization.md)
+- [Histogram Filters](HistogramFilters.md)
+ - Discrete, Multi-modal
+- [Kalman Filters](KalmanFilters.md)
+ - Continuous, Uni-modal
+- [Particle Filters](ParticleFilters.md)
+ - Continuous, Multi-modal
+- [Bicycle Motion](BicycleMotion.md)
+
+### Second Semester
diff --git a/docs/StandardBasis.md b/docs/StandardBasis.md
@@ -4,6 +4,4 @@
**Chapter:** 2
-
-
**Definition:** The standard basis is the [Basis Of Subspace](BasisOfSubspace.md) where each vector is made up of all 0's and one 1.
diff --git a/docs/SymbolicConstants.md b/docs/SymbolicConstants.md
@@ -0,0 +1,19 @@
+# Symbolic Constants
+
+**Source:** C Programming Book
+
+**Chapter:** 1.4
+
+**Definition:** Symbolic constants in C are named strings of characters where each occurence of the name, not in quotes or part of another name, is replaced by the string of characters by the preprocessor prior to being sent to the compiler.
+
+## Example
+
+```c
+#include <stdio.h>
+#define PI 3.14
+
+int main(){
+ printf("%3.2f\n", PI);
+}
+
+```
diff --git a/docs/TotalProbabilityTheorem.md b/docs/TotalProbabilityTheorem.md
@@ -2,10 +2,6 @@
L2
-
-
**Definition:** Total probability theorem states that the probability of some event is equal to the summed probability of each possible way for the event to occur.
This is often done in the inverse where we have a bunch of conditions and want to find the probability of a given even occurring.
-
-**Reverses order of conditionals**
diff --git a/docs/printf.md b/docs/printf.md
@@ -10,7 +10,12 @@
The following is a non-exhaustive list of formatting options for printf to print out different data types:
-- %d - Integer
-- %4d - Right aligned integer with a width of 4
-- %f - Float
-- %6.1f - Float with six characters width one of which is on the right of the decimal.
+- %d - Integer
+- %4d - Right aligned integer with a width of 4
+- %f - Float
+- %6.1f - Float with six characters width one of which is on the right of the decimal.
+- %o - Octal
+- %x - Hex
+- %c - Character
+- %s - String
+- %ld - Long