{
  "id": 215739,
  "title": "Kalman filter to the rescue",
  "url": "/competitions/indoor-location-navigation/discussion/215739",
  "author_name": "SuryaJR_Rafl",
  "post_date": "2021-01-31T03:52:00.354000",
  "votes": 8,
  "comment_count": 0,
  "views": 0,
  "content": "<p>Hi,</p>\n<p>Excited for the new competition. Indoor localisation is a typical problem in Sensor fusion and non linear filtering and Kalman filters is one of the baseline frameworks used to solve such problems.</p>\n<p>Kalman filter is a bayesian estimation technique, which enables us to fuse noisy data from different sensors to get a better estimate of the pose of the object. By pose, we refer to the position and orientation of the object (x,y position w.r.t some reference point in meters, and orientation in degrees). This is often referred to as the state vector. The uncertainty the state vector is called covariance matrix. (3x3 matrix). These techniques depend on Gaussian approximation of the different error sources</p>\n<p><a href=\"https://www.google.com/url?sa=i&amp;url=https%3A%2F%2Fwww.mathworks.com%2Fvideos%2Funderstanding-kalman-filters-part-3-optimal-state-estimator--1490710645421.html&amp;psig=AOvVaw0CHJ0agJuYSCN_SHBl6P4O&amp;ust=1612150975232000&amp;source=images&amp;cd=vfe&amp;ved=0CAIQjRxqFwoTCNCZs_egxe4CFQAAAAAdAAAAABAD\" target=\"_blank\">Kalman filter idea, source : Mathworks website</a></p>\n<p>Bayesian filters usually consists of two step - prediction and update step.</p>\n<ol>\n<li><p>Prediction step - Based on the current state and a suitable physics-based model, you predict the next state (kinda extrapolation). The physics based model is based on the object (bicycle model for cars, unicycle model for certain wheeled bots, random walk etc). Since the model itself is not always perfect, the uncertainty in state increases when you predict the next state </p></li>\n<li><p>Update step - This step corresponds to updating our state vector based on measurement from a sensor. The sensor itself has an inherent uncertainty in measurement (often got from specsheet of the sensors). The update step usually reduces the uncertainty, but it depends relative to accuracy of the measuring sensor and prediction model.</p></li>\n</ol>\n<p>In simple words, Kalman filter is like taking Bayeisan weighted averaging of different sensor data which is typically approximated by Gaussian distributions.</p>\n<p>References for Kalman filter</p>\n<ol>\n<li><a href=\"https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/\" target=\"_blank\">Wonderful blog post on Kalman filters</a></li>\n<li><a href=\"https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python\" target=\"_blank\">rlabbe's wonderful pykalman library</a></li>\n<li><a href=\"https://www.edx.org/course/sensor-fusion-and-non-linear-filtering-for-automot\" target=\"_blank\">edX course by Chalmers University</a></li>\n<li><a href=\"https://www.udacity.com/course/artificial-intelligence-for-robotics--cs373\" target=\"_blank\">AI for robotics course Udacity</a></li>\n</ol>",
  "messages": [
    {
      "id": 1178643,
      "postDate": "2021-01-31T03:52:00.353Z",
      "content": "<p>Hi,</p>\n<p>Excited for the new competition. Indoor localisation is a typical problem in Sensor fusion and non linear filtering and Kalman filters is one of the baseline frameworks used to solve such problems.</p>\n<p>Kalman filter is a bayesian estimation technique, which enables us to fuse noisy data from different sensors to get a better estimate of the pose of the object. By pose, we refer to the position and orientation of the object (x,y position w.r.t some reference point in meters, and orientation in degrees). This is often referred to as the state vector. The uncertainty the state vector is called covariance matrix. (3x3 matrix). These techniques depend on Gaussian approximation of the different error sources</p>\n<p><a href=\"https://www.google.com/url?sa=i&amp;url=https%3A%2F%2Fwww.mathworks.com%2Fvideos%2Funderstanding-kalman-filters-part-3-optimal-state-estimator--1490710645421.html&amp;psig=AOvVaw0CHJ0agJuYSCN_SHBl6P4O&amp;ust=1612150975232000&amp;source=images&amp;cd=vfe&amp;ved=0CAIQjRxqFwoTCNCZs_egxe4CFQAAAAAdAAAAABAD\" target=\"_blank\">Kalman filter idea, source : Mathworks website</a></p>\n<p>Bayesian filters usually consists of two step - prediction and update step.</p>\n<ol>\n<li><p>Prediction step - Based on the current state and a suitable physics-based model, you predict the next state (kinda extrapolation). The physics based model is based on the object (bicycle model for cars, unicycle model for certain wheeled bots, random walk etc). Since the model itself is not always perfect, the uncertainty in state increases when you predict the next state </p></li>\n<li><p>Update step - This step corresponds to updating our state vector based on measurement from a sensor. The sensor itself has an inherent uncertainty in measurement (often got from specsheet of the sensors). The update step usually reduces the uncertainty, but it depends relative to accuracy of the measuring sensor and prediction model.</p></li>\n</ol>\n<p>In simple words, Kalman filter is like taking Bayeisan weighted averaging of different sensor data which is typically approximated by Gaussian distributions.</p>\n<p>References for Kalman filter</p>\n<ol>\n<li><a href=\"https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/\" target=\"_blank\">Wonderful blog post on Kalman filters</a></li>\n<li><a href=\"https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python\" target=\"_blank\">rlabbe's wonderful pykalman library</a></li>\n<li><a href=\"https://www.edx.org/course/sensor-fusion-and-non-linear-filtering-for-automot\" target=\"_blank\">edX course by Chalmers University</a></li>\n<li><a href=\"https://www.udacity.com/course/artificial-intelligence-for-robotics--cs373\" target=\"_blank\">AI for robotics course Udacity</a></li>\n</ol>",
      "rawMarkdown": "Hi,\n\nExcited for the new competition. Indoor localisation is a typical problem in Sensor fusion and non linear filtering and Kalman filters is one of the baseline frameworks used to solve such problems.\n\nKalman filter is a bayesian estimation technique, which enables us to fuse noisy data from different sensors to get a better estimate of the pose of the object. By pose, we refer to the position and orientation of the object (x,y position w.r.t some reference point in meters, and orientation in degrees). This is often referred to as the state vector. The uncertainty the state vector is called covariance matrix. (3x3 matrix). These techniques depend on Gaussian approximation of the different error sources\n\n\n[Kalman filter idea, source : Mathworks website](https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.mathworks.com%2Fvideos%2Funderstanding-kalman-filters-part-3-optimal-state-estimator--1490710645421.html&psig=AOvVaw0CHJ0agJuYSCN_SHBl6P4O&ust=1612150975232000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCNCZs_egxe4CFQAAAAAdAAAAABAD)\n\nBayesian filters usually consists of two step - prediction and update step.\n\n1. Prediction step - Based on the current state and a suitable physics-based model, you predict the next state (kinda extrapolation). The physics based model is based on the object (bicycle model for cars, unicycle model for certain wheeled bots, random walk etc). Since the model itself is not always perfect, the uncertainty in state increases when you predict the next state \n\n2. Update step - This step corresponds to updating our state vector based on measurement from a sensor. The sensor itself has an inherent uncertainty in measurement (often got from specsheet of the sensors). The update step usually reduces the uncertainty, but it depends relative to accuracy of the measuring sensor and prediction model.\n\nIn simple words, Kalman filter is like taking Bayeisan weighted averaging of different sensor data which is typically approximated by Gaussian distributions.\n\nReferences for Kalman filter\n\n1. [Wonderful blog post on Kalman filters](https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/)\n2. [rlabbe's wonderful pykalman library](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python)\n3. [edX course by Chalmers University](https://www.edx.org/course/sensor-fusion-and-non-linear-filtering-for-automot)\n4. [AI for robotics course Udacity](https://www.udacity.com/course/artificial-intelligence-for-robotics--cs373)",
      "votes": 8
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "1178643": "Hi,\n\nExcited for the new competition. Indoor localisation is a typical problem in Sensor fusion and non linear filtering and Kalman filters is one of the baseline frameworks used to solve such problems.\n\nKalman filter is a bayesian estimation technique, which enables us to fuse noisy data from different sensors to get a better estimate of the pose of the object. By pose, we refer to the position and orientation of the object (x,y position w.r.t some reference point in meters, and orientation in degrees). This is often referred to as the state vector. The uncertainty the state vector is called covariance matrix. (3x3 matrix). These techniques depend on Gaussian approximation of the different error sources\n\n\n[Kalman filter idea, source : Mathworks website](https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.mathworks.com%2Fvideos%2Funderstanding-kalman-filters-part-3-optimal-state-estimator--1490710645421.html&psig=AOvVaw0CHJ0agJuYSCN_SHBl6P4O&ust=1612150975232000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCNCZs_egxe4CFQAAAAAdAAAAABAD)\n\nBayesian filters usually consists of two step - prediction and update step.\n\n1. Prediction step - Based on the current state and a suitable physics-based model, you predict the next state (kinda extrapolation). The physics based model is based on the object (bicycle model for cars, unicycle model for certain wheeled bots, random walk etc). Since the model itself is not always perfect, the uncertainty in state increases when you predict the next state \n\n2. Update step - This step corresponds to updating our state vector based on measurement from a sensor. The sensor itself has an inherent uncertainty in measurement (often got from specsheet of the sensors). The update step usually reduces the uncertainty, but it depends relative to accuracy of the measuring sensor and prediction model.\n\nIn simple words, Kalman filter is like taking Bayeisan weighted averaging of different sensor data which is typically approximated by Gaussian distributions.\n\nReferences for Kalman filter\n\n1. [Wonderful blog post on Kalman filters](https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/)\n2. [rlabbe's wonderful pykalman library](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python)\n3. [edX course by Chalmers University](https://www.edx.org/course/sensor-fusion-and-non-linear-filtering-for-automot)\n4. [AI for robotics course Udacity](https://www.udacity.com/course/artificial-intelligence-for-robotics--cs373)"
  }
}