This package provides different sensor fusion algorithms like Extended Kalman Filter (EKF) to estimate orientation.
Project description
imumaster
This library currently supports attitude estimation for inertial sensors in a common coordinate system. It utilizes the Extended Kalman Filter (EKF) algorithm to estimate orientation based on sensor data from a nine-axis sensor (accelerometer, gyroscope, magnetometer), providing the result of attitude estimation during the motion process of inertial sensors in the form of Euler angles and quaternions.
The IMU sensor and the ground coordinate system are both right-handed coordinate systems.
IMU sensor coordinate system definition: the x-axis points forward, the y-axis points left, and the z-axis points upward. Ground coordinate system definition: the x-axis points north, the y-axis points west, and the z-axis points upward.
The IMU sensor and the ground coordinate system are defined as follows:
IMU sensor coordinate system (xyz points towards):
NWU (North, West, Up): x-axis points north, y-axis points west, and z-axis points upward.
NED (North, East, Down): x-axis points north, y-axis points east, and z-axis points downward.
ENU (East, North, Up): x-axis points east, y-axis points north, and z-axis points upward.
Euler angle definition:
Roll: rotation around the x-axis.
Pitch: rotation around the y-axis.
Yaw: rotation around the z-axis.
Additionally, it provides general quaternion calculation functions such as addition, subtraction, multiplication, conjugation, inversion, norm calculation, and normalization.
Attitude Estimation
1.download
pip install imumaster
2.import
import imumaster
3.example。
>>> orientation = imumaster.Orientation(sample_rate=100, frame='ENU', method='EKF')
>>> accel_data = np.array([0.06, 0.03, 0.99])
>>> gyro_data = np.array([0.1, 0.2, 0.3])
>>> mag_data = np.array([0.3, 0.1, 0.2])
>>> q_estimation = orientation.EKF(accel_data, gyro_data, mag_data)
>>> eulerangle = orientation.eulerangle(q_estimation)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file imumaster-0.0.2.tar.gz.
File metadata
- Download URL: imumaster-0.0.2.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3ac06ca34f672248b267b19d0cfa97137f93861c05e57a8269d0a93ae286cc0
|
|
| MD5 |
99be3f8440c8b3887ed9ab2466fcdbb1
|
|
| BLAKE2b-256 |
362cc0b3a835a4745cc777a0d0beaf80c0928b8b14ecc976569434d65627648d
|
File details
Details for the file imumaster-0.0.2-py3-none-any.whl.
File metadata
- Download URL: imumaster-0.0.2-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
945e9e883b7e05664fe9237cd7189c1adc33effc99da838530418b3184265047
|
|
| MD5 |
8f3442050bee6aa12aa369488b8476f3
|
|
| BLAKE2b-256 |
f3b8649c9df637ff1507af8024cd69e8ea69e601b23e3370b1ab969e933057aa
|