Navigation code in Python
- This repo is for my personal study of some navigation concepts
- Jupyter Notebooks have some markdown cells which contain explanations in LaTeX which are sometimes rendered incorrectly by GitHub. So, it is sometimes better to study locally
- Examples in this repo are not ordered
- All code and all examples are prone to all kinds of errors
- Any corrections, suggestions, improvements, etc. are welcome
- /topics/trajectory/trajectory.ipynb
- Draw 2D or 3D trajectories
- Some matplotlib settings for publication
- /topics/scipy_spatial_transform/rotation.ipynb using scipy.spatial.transform.Rotation
- Random rotation generation
- Chain of rotations
- Rotate vectors
- Conversion among quat, matrix, rotvec, euler representations of rotations
- Estimate the rotation between vectors
- Magnitude of a rotation
- /topics/scipy_spatial_transform/slerp.ipynb using scipy.spatial.transform.Slerp
- Interpolation and/or resampling of rotations
- /topics/sensor_characterization/allan.ipynb using allantools
- Read real sensor data from an iPhone7 using pandas
- Plot gyro and accelerometer Allan deviation curves
- /topics/kinematics/kinematics.ipynb
- Some kinematics equations from Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, Second Edition - Paul Groves
- Compare the results with the indicated values from datasheets for /topics/sensor_characterization/allan.ipynb
- Read ARW, VRW, and bias instability values from the plots if possible
- Try to find the iPhone7 or a similar smartphone's IMU specs
- Study ARW and VRW units
- Convert the units correctly
- Study and demonstrate KF basics. Find a popular and stable library if any exists. Implement yourself otherwise
- Study and demonstrate extended KF basics
- Study and demonstrate unscented KF basics
Written by serhatsoyer