Robotics Tracking and Localization
In this project, we talk about the Bayesian based localization method, Kalman filtering, particle filtering and path planning using A* and Breath First Search to find the minimum path. In the end, we delve into simultaneous localization and mapping method.
Kalman filtering
  Kalman filtering is a linear quadratic estimation, an algorithm that uses a series of measurements observed over time, containing statistical noise and other inaccuracies, and produce estimates of unkown variables that tend to be more accurate than those based on single measurement along. It can be divided into two parts, prediction and measurement.
Prediction update
Measurement update
![](https://Rui-Ren.github.io/img2/1.gif)
Particle filtering
Particle filter is a set of Monte Carlo algorithms used to solve filtering problems arising in signal processing and Bayesian statistical inference. It still has the prediction and measurement updates,
The goal of this project is to practice implementing a particle filter used to localize a robotic glider that does not have access to terrestrial based GPS satellites. The glider is released from a spacecraft over the surface of mars, and receives a distance to ground measurement from a downward facing radar, as well as an altitude estimate from a barometric pressure sensor. The glider has an on-board map of the area it is being dropped into. The map covers an area 10 km on a side (100 km2), and the robot is supposed to be dropped somewhere near (0,0). The map was generated by radar from the mars surveyor satellite mission, and has a 1x1 meter resolution. Dimensions in the map range from -5,000m to 5,000m.
![](https://Rui-Ren.github.io/img2/surface.png)
Fig.2 The map of the surface on the Mars.
The glider will be dropped somewhere within the mapped area hopefully near (0,0), but possibly as far off as +/- 500m in both X and Y. It will pop out of the reentry craft approximately 5,000 meters (+/- 50m) above “sea level”. You also have up to 4500 seconds of “glide time” before the glider risks hitting the surface, but would need to steer the glider to keep it within the boundaries of your known map.This is a typical particle filter problems, we can locate the glider location, by the following simulation
![](https://Rui-Ren.github.io/img2/3.gif)
Fig.3 The localization for mars glider using particle filtering.
PID controller
All rockets need precise control of the pressure for the feed system of liquid oxidizer and fuel into the engine turbopumps. A failure of engine turbo-pumps to supply the pressure to meet feed demands of the engine could force an abort of the launch or a disaster after liftoff. The problem of maintaining the fuel mixture pressure supplied by the rocket’s turbopumps. In order for the rocket to leave the launchpad, the pumps must be pressurized up to their max level of 100 as quickly as possible. Once there, they must be maintained for the duration of the launch. Therefore, the goal will be to create a simple PD based controller that can make adjustments to the pump’s output in order to meet pressure demands.
Fig.3 PID controller for pump pressure.
  The second part of the assignment is a slightly more difficult adaption of the PID controller for controlling a rocket launch and reentry. It requires your controller be able to control the output of rocket engines on a simulated rocket ship such that it is able to successfully maintain speeds through different atmospheric flight regimes and as parameters such as thrust, weight, and air drag are constantly changing.
![](https://Rui-Ren.github.io/img2/pid2.png)
Fig.4 PID controller for controlling a rocket launch and reentry.
Pathing planning
In the first part, we will represent the warehouse as a grid in the manner of the planning problems from the Search lesson, and the robot and target packages will have rigid, blocky representations in this “gridworld.” In the second part, the warehouse will have a continuous instead of a discrete representation, and the robot will have to navigate carefully around corners to avoid crashing into them. In the end, the robot will pick up all the package for the warehouse.
![](https://Rui-Ren.github.io/img2/partB_case1.gif)
Fig.5 Robotic pathing planning for picking up packages.